@camstack/types 1.2.44 → 1.2.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/index.d.ts +18 -3
- package/dist/capabilities/pipeline-analytics.cap.d.ts +1019 -68
- package/dist/capabilities/pipeline-runner.cap.d.ts +6 -0
- package/dist/generated/addon-api.d.ts +77 -0
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/index.js +534 -4
- package/dist/index.mjs +519 -5
- package/dist/interfaces/stream-broker.d.ts +19 -67
- package/dist/{sleep-eiC10_cX.js → sleep-BOI-sVEA.js} +11 -0
- package/dist/{sleep-cC4Fuup8.mjs → sleep-Bf5fBs7u.mjs} +11 -0
- package/dist/types/detection.d.ts +31 -0
- package/dist/types/pipeline-step.d.ts +21 -0
- package/package.json +1 -1
|
@@ -298,6 +298,42 @@ export declare const TrackFlagsSchema: z.ZodObject<{
|
|
|
298
298
|
}>;
|
|
299
299
|
}, z.core.$strip>;
|
|
300
300
|
export type TrackFlags = z.infer<typeof TrackFlagsSchema>;
|
|
301
|
+
/**
|
|
302
|
+
* WHICH tier a label occupies. The slot a label lands in is DECLARED by the
|
|
303
|
+
* step that produced it (`StepDefinition.labelTier`), never inferred from the
|
|
304
|
+
* text or the step's name.
|
|
305
|
+
*
|
|
306
|
+
* - `1` — a SUB-CLASS: finer than the macro class, still a taxonomy token.
|
|
307
|
+
* `animal-type` (`dog`, `bird`), `vehicle-type` (`van`), and the root
|
|
308
|
+
* detector's own raw class when it is finer than the macro it maps to.
|
|
309
|
+
* - `2` — an INSTANCE: the finest thing said about this subject.
|
|
310
|
+
* `species` (`Turdus migratorius`), `identity` (`Alice`), `plate-text`.
|
|
311
|
+
*
|
|
312
|
+
* The macro class itself (`person`, `vehicle`, `animal`, `package`, `face`,
|
|
313
|
+
* `plate`, `audio`) is NOT a tier — it is `className`, and a macro token
|
|
314
|
+
* offered for either label slot is refused (2026-08-07 rule; the refusal is
|
|
315
|
+
* logged as `label tier collapse refused`).
|
|
316
|
+
*/
|
|
317
|
+
export declare const LabelTierSchema: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>;
|
|
318
|
+
export type LabelTier = z.infer<typeof LabelTierSchema>;
|
|
319
|
+
/**
|
|
320
|
+
* WHO decided a label, and when. Carried per tier so a value can be traced to
|
|
321
|
+
* the step and model that produced it — which is what makes the write rule
|
|
322
|
+
* arguable after the fact ("why is 592's label `dog` and not `Canis lupus`?")
|
|
323
|
+
* and what lets a migrated, UNATTRIBUTED value be told apart from a real one.
|
|
324
|
+
*
|
|
325
|
+
* `stepId` is the pipeline step id (`animal-classifier`, `bird-classifier`,
|
|
326
|
+
* `plate-ocr`, `face-embedding`, `object-detection`), or the sentinel
|
|
327
|
+
* `migration:4g` for a value the 4g migration moved from the single-slot era —
|
|
328
|
+
* that value has no provenance, and the write rule lets ANY properly-attributed
|
|
329
|
+
* write of the same tier replace it regardless of score.
|
|
330
|
+
*/
|
|
331
|
+
export declare const LabelAttributionSchema: z.ZodObject<{
|
|
332
|
+
stepId: z.ZodString;
|
|
333
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
334
|
+
decidedAt: z.ZodNumber;
|
|
335
|
+
}, z.core.$strip>;
|
|
336
|
+
export type LabelAttribution = z.infer<typeof LabelAttributionSchema>;
|
|
301
337
|
/** Per-camera slice of a training-export estimate. */
|
|
302
338
|
export declare const TrainingExportDeviceTotalsSchema: z.ZodObject<{
|
|
303
339
|
deviceId: z.ZodNumber;
|
|
@@ -332,10 +368,6 @@ declare const TrackSchema: z.ZodObject<{
|
|
|
332
368
|
}>>;
|
|
333
369
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
334
370
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
335
|
-
trackId: z.ZodString;
|
|
336
|
-
deviceId: z.ZodNumber;
|
|
337
|
-
className: z.ZodString;
|
|
338
|
-
label: z.ZodOptional<z.ZodString>;
|
|
339
371
|
producingDeviceName: z.ZodOptional<z.ZodString>;
|
|
340
372
|
source: z.ZodOptional<z.ZodEnum<{
|
|
341
373
|
sensor: "sensor";
|
|
@@ -397,6 +429,23 @@ declare const TrackSchema: z.ZodObject<{
|
|
|
397
429
|
maxX: z.ZodNumber;
|
|
398
430
|
maxY: z.ZodNumber;
|
|
399
431
|
}, z.core.$strip>>;
|
|
432
|
+
label: z.ZodOptional<z.ZodString>;
|
|
433
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
434
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
435
|
+
stepId: z.ZodString;
|
|
436
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
437
|
+
decidedAt: z.ZodNumber;
|
|
438
|
+
}, z.core.$strip>>;
|
|
439
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
440
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
441
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
442
|
+
stepId: z.ZodString;
|
|
443
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
444
|
+
decidedAt: z.ZodNumber;
|
|
445
|
+
}, z.core.$strip>>;
|
|
446
|
+
trackId: z.ZodString;
|
|
447
|
+
deviceId: z.ZodNumber;
|
|
448
|
+
className: z.ZodString;
|
|
400
449
|
}, z.core.$strip>;
|
|
401
450
|
export type Track = z.infer<typeof TrackSchema>;
|
|
402
451
|
declare const MotionEventSchema: z.ZodObject<{
|
|
@@ -471,15 +520,6 @@ export declare const ZoneCrossingSchema: z.ZodObject<{
|
|
|
471
520
|
}, z.core.$strip>;
|
|
472
521
|
export type ZoneCrossing = z.infer<typeof ZoneCrossingSchema>;
|
|
473
522
|
declare const ObjectEventSchema: z.ZodObject<{
|
|
474
|
-
kind: z.ZodLiteral<"object">;
|
|
475
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
476
|
-
pipeline: "pipeline";
|
|
477
|
-
onboard: "onboard";
|
|
478
|
-
}>>;
|
|
479
|
-
frameId: z.ZodOptional<z.ZodString>;
|
|
480
|
-
trackId: z.ZodOptional<z.ZodString>;
|
|
481
|
-
className: z.ZodString;
|
|
482
|
-
label: z.ZodOptional<z.ZodString>;
|
|
483
523
|
confidence: z.ZodOptional<z.ZodNumber>;
|
|
484
524
|
bbox: z.ZodOptional<z.ZodObject<{
|
|
485
525
|
x: z.ZodNumber;
|
|
@@ -509,6 +549,28 @@ declare const ObjectEventSchema: z.ZodObject<{
|
|
|
509
549
|
keyFrameMediaKey: z.ZodOptional<z.ZodString>;
|
|
510
550
|
mediaUrl: z.ZodOptional<z.ZodString>;
|
|
511
551
|
importance: z.ZodOptional<z.ZodNumber>;
|
|
552
|
+
label: z.ZodOptional<z.ZodString>;
|
|
553
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
554
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
555
|
+
stepId: z.ZodString;
|
|
556
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
557
|
+
decidedAt: z.ZodNumber;
|
|
558
|
+
}, z.core.$strip>>;
|
|
559
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
560
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
561
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
562
|
+
stepId: z.ZodString;
|
|
563
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
564
|
+
decidedAt: z.ZodNumber;
|
|
565
|
+
}, z.core.$strip>>;
|
|
566
|
+
kind: z.ZodLiteral<"object">;
|
|
567
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
568
|
+
pipeline: "pipeline";
|
|
569
|
+
onboard: "onboard";
|
|
570
|
+
}>>;
|
|
571
|
+
frameId: z.ZodOptional<z.ZodString>;
|
|
572
|
+
trackId: z.ZodOptional<z.ZodString>;
|
|
573
|
+
className: z.ZodString;
|
|
512
574
|
id: z.ZodString;
|
|
513
575
|
deviceId: z.ZodNumber;
|
|
514
576
|
timestamp: z.ZodNumber;
|
|
@@ -597,6 +659,337 @@ declare const MediaFileInfoSchema: z.ZodObject<{
|
|
|
597
659
|
sizeBytes: z.ZodNumber;
|
|
598
660
|
}, z.core.$strip>;
|
|
599
661
|
export type MediaFileInfo = z.infer<typeof MediaFileInfoSchema>;
|
|
662
|
+
/**
|
|
663
|
+
* The MACRO tier of an annotation — a CLOSED set.
|
|
664
|
+
*
|
|
665
|
+
* This is what the exported detector predicts, so a typo here is a new class
|
|
666
|
+
* with one example in it. `label` and `subLabel` are open strings by contrast:
|
|
667
|
+
* the whole point of the page is teaching the model things it does not know
|
|
668
|
+
* yet, and constraining that vocabulary would make it useless.
|
|
669
|
+
*
|
|
670
|
+
* A macro class is NEVER a label. The provider refuses a write whose `label` or
|
|
671
|
+
* `subLabel` is one of these values, in any casing, because once `person`
|
|
672
|
+
* exists in both tiers "every person box" stops being answerable without
|
|
673
|
+
* knowing every string anyone ever typed — and the damage is retroactive.
|
|
674
|
+
*/
|
|
675
|
+
export declare const RetrainMacroClassSchema: z.ZodEnum<{
|
|
676
|
+
person: "person";
|
|
677
|
+
vehicle: "vehicle";
|
|
678
|
+
animal: "animal";
|
|
679
|
+
face: "face";
|
|
680
|
+
plate: "plate";
|
|
681
|
+
package: "package";
|
|
682
|
+
}>;
|
|
683
|
+
export type RetrainMacroClass = z.infer<typeof RetrainMacroClassSchema>;
|
|
684
|
+
/** A subject to learn, or a phantom to unlearn (taught by OMISSION). */
|
|
685
|
+
export declare const RetrainAnnotationKindSchema: z.ZodEnum<{
|
|
686
|
+
subject: "subject";
|
|
687
|
+
model_error: "model_error";
|
|
688
|
+
}>;
|
|
689
|
+
/** Did a human draw this box, or did the assist propose it? */
|
|
690
|
+
export declare const RetrainAnnotationSourceSchema: z.ZodEnum<{
|
|
691
|
+
operator: "operator";
|
|
692
|
+
assist: "assist";
|
|
693
|
+
}>;
|
|
694
|
+
/**
|
|
695
|
+
* One annotated subject.
|
|
696
|
+
*
|
|
697
|
+
* `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
|
|
698
|
+
* (letterboxed root / zone-cropped package / subject-cropped classifier) are
|
|
699
|
+
* derived from it at export and never stored — storing them is how one feature
|
|
700
|
+
* space ends up holding two crops of the same subject (D52).
|
|
701
|
+
*/
|
|
702
|
+
export declare const RetrainAnnotationSchema: z.ZodObject<{
|
|
703
|
+
id: z.ZodString;
|
|
704
|
+
trackId: z.ZodString;
|
|
705
|
+
deviceId: z.ZodNumber;
|
|
706
|
+
mediaKey: z.ZodString;
|
|
707
|
+
bbox: z.ZodObject<{
|
|
708
|
+
x: z.ZodNumber;
|
|
709
|
+
y: z.ZodNumber;
|
|
710
|
+
w: z.ZodNumber;
|
|
711
|
+
h: z.ZodNumber;
|
|
712
|
+
}, z.core.$strip>;
|
|
713
|
+
macroClass: z.ZodEnum<{
|
|
714
|
+
person: "person";
|
|
715
|
+
vehicle: "vehicle";
|
|
716
|
+
animal: "animal";
|
|
717
|
+
face: "face";
|
|
718
|
+
plate: "plate";
|
|
719
|
+
package: "package";
|
|
720
|
+
}>;
|
|
721
|
+
label: z.ZodOptional<z.ZodString>;
|
|
722
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
723
|
+
kind: z.ZodEnum<{
|
|
724
|
+
subject: "subject";
|
|
725
|
+
model_error: "model_error";
|
|
726
|
+
}>;
|
|
727
|
+
source: z.ZodEnum<{
|
|
728
|
+
operator: "operator";
|
|
729
|
+
assist: "assist";
|
|
730
|
+
}>;
|
|
731
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
732
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
733
|
+
exportedInBatch: z.ZodOptional<z.ZodString>;
|
|
734
|
+
createdAt: z.ZodNumber;
|
|
735
|
+
}, z.core.$strip>;
|
|
736
|
+
export type RetrainAnnotation = z.infer<typeof RetrainAnnotationSchema>;
|
|
737
|
+
/** The write form — the server owns `id`, `createdAt` and the frame binding. */
|
|
738
|
+
export declare const RetrainAnnotationDraftSchema: z.ZodObject<{
|
|
739
|
+
label: z.ZodOptional<z.ZodString>;
|
|
740
|
+
kind: z.ZodEnum<{
|
|
741
|
+
subject: "subject";
|
|
742
|
+
model_error: "model_error";
|
|
743
|
+
}>;
|
|
744
|
+
source: z.ZodEnum<{
|
|
745
|
+
operator: "operator";
|
|
746
|
+
assist: "assist";
|
|
747
|
+
}>;
|
|
748
|
+
bbox: z.ZodObject<{
|
|
749
|
+
x: z.ZodNumber;
|
|
750
|
+
y: z.ZodNumber;
|
|
751
|
+
w: z.ZodNumber;
|
|
752
|
+
h: z.ZodNumber;
|
|
753
|
+
}, z.core.$strip>;
|
|
754
|
+
macroClass: z.ZodEnum<{
|
|
755
|
+
person: "person";
|
|
756
|
+
vehicle: "vehicle";
|
|
757
|
+
animal: "animal";
|
|
758
|
+
face: "face";
|
|
759
|
+
plate: "plate";
|
|
760
|
+
package: "package";
|
|
761
|
+
}>;
|
|
762
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
763
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
764
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
765
|
+
}, z.core.$strip>;
|
|
766
|
+
export type RetrainAnnotationDraft = z.infer<typeof RetrainAnnotationDraftSchema>;
|
|
767
|
+
/** A track sitting in `staging`, with everything the worklist needs to rank it. */
|
|
768
|
+
export declare const RetrainTrackSchema: z.ZodObject<{
|
|
769
|
+
trackId: z.ZodString;
|
|
770
|
+
deviceId: z.ZodNumber;
|
|
771
|
+
className: z.ZodString;
|
|
772
|
+
label: z.ZodOptional<z.ZodString>;
|
|
773
|
+
firstSeen: z.ZodNumber;
|
|
774
|
+
lastSeen: z.ZodNumber;
|
|
775
|
+
frameCount: z.ZodNumber;
|
|
776
|
+
annotationCount: z.ZodNumber;
|
|
777
|
+
}, z.core.$strip>;
|
|
778
|
+
export type RetrainTrack = z.infer<typeof RetrainTrackSchema>;
|
|
779
|
+
/** A frame the picker may offer — an index row, no blob was read to produce it. */
|
|
780
|
+
export declare const RetrainFrameCandidateSchema: z.ZodObject<{
|
|
781
|
+
mediaKey: z.ZodString;
|
|
782
|
+
kind: z.ZodEnum<{
|
|
783
|
+
snapshot: "snapshot";
|
|
784
|
+
crop: "crop";
|
|
785
|
+
keyFrame: "keyFrame";
|
|
786
|
+
thumbnail: "thumbnail";
|
|
787
|
+
firstFrame: "firstFrame";
|
|
788
|
+
lastFrame: "lastFrame";
|
|
789
|
+
fullFrame: "fullFrame";
|
|
790
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
791
|
+
faceCrop: "faceCrop";
|
|
792
|
+
plateCrop: "plateCrop";
|
|
793
|
+
keyFrameSmall: "keyFrameSmall";
|
|
794
|
+
thumbnailSmall: "thumbnailSmall";
|
|
795
|
+
}>;
|
|
796
|
+
timestamp: z.ZodNumber;
|
|
797
|
+
sizeBytes: z.ZodNumber;
|
|
798
|
+
copied: z.ZodBoolean;
|
|
799
|
+
}, z.core.$strip>;
|
|
800
|
+
export type RetrainFrameCandidate = z.infer<typeof RetrainFrameCandidateSchema>;
|
|
801
|
+
/** A frame the dataset OWNS: bytes copied at selection time. */
|
|
802
|
+
export declare const RetrainFrameSchema: z.ZodObject<{
|
|
803
|
+
frameId: z.ZodString;
|
|
804
|
+
deviceId: z.ZodNumber;
|
|
805
|
+
trackId: z.ZodString;
|
|
806
|
+
sourceMediaKey: z.ZodString;
|
|
807
|
+
sourceKind: z.ZodEnum<{
|
|
808
|
+
snapshot: "snapshot";
|
|
809
|
+
crop: "crop";
|
|
810
|
+
keyFrame: "keyFrame";
|
|
811
|
+
thumbnail: "thumbnail";
|
|
812
|
+
firstFrame: "firstFrame";
|
|
813
|
+
lastFrame: "lastFrame";
|
|
814
|
+
fullFrame: "fullFrame";
|
|
815
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
816
|
+
faceCrop: "faceCrop";
|
|
817
|
+
plateCrop: "plateCrop";
|
|
818
|
+
keyFrameSmall: "keyFrameSmall";
|
|
819
|
+
thumbnailSmall: "thumbnailSmall";
|
|
820
|
+
}>;
|
|
821
|
+
sizeBytes: z.ZodNumber;
|
|
822
|
+
width: z.ZodNumber;
|
|
823
|
+
height: z.ZodNumber;
|
|
824
|
+
copiedAt: z.ZodNumber;
|
|
825
|
+
}, z.core.$strip>;
|
|
826
|
+
export type RetrainFrame = z.infer<typeof RetrainFrameSchema>;
|
|
827
|
+
/** Why a copy-on-select could not be honoured — named, never a silent skip. */
|
|
828
|
+
export declare const RetrainCopyRefusalSchema: z.ZodEnum<{
|
|
829
|
+
"source-missing": "source-missing";
|
|
830
|
+
"unreadable-image": "unreadable-image";
|
|
831
|
+
"write-failed": "write-failed";
|
|
832
|
+
}>;
|
|
833
|
+
export declare const RetrainFrameSelectionSchema: z.ZodObject<{
|
|
834
|
+
copied: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
835
|
+
frameId: z.ZodString;
|
|
836
|
+
deviceId: z.ZodNumber;
|
|
837
|
+
trackId: z.ZodString;
|
|
838
|
+
sourceMediaKey: z.ZodString;
|
|
839
|
+
sourceKind: z.ZodEnum<{
|
|
840
|
+
snapshot: "snapshot";
|
|
841
|
+
crop: "crop";
|
|
842
|
+
keyFrame: "keyFrame";
|
|
843
|
+
thumbnail: "thumbnail";
|
|
844
|
+
firstFrame: "firstFrame";
|
|
845
|
+
lastFrame: "lastFrame";
|
|
846
|
+
fullFrame: "fullFrame";
|
|
847
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
848
|
+
faceCrop: "faceCrop";
|
|
849
|
+
plateCrop: "plateCrop";
|
|
850
|
+
keyFrameSmall: "keyFrameSmall";
|
|
851
|
+
thumbnailSmall: "thumbnailSmall";
|
|
852
|
+
}>;
|
|
853
|
+
sizeBytes: z.ZodNumber;
|
|
854
|
+
width: z.ZodNumber;
|
|
855
|
+
height: z.ZodNumber;
|
|
856
|
+
copiedAt: z.ZodNumber;
|
|
857
|
+
}, z.core.$strip>>>;
|
|
858
|
+
refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
859
|
+
sourceMediaKey: z.ZodString;
|
|
860
|
+
reason: z.ZodEnum<{
|
|
861
|
+
"source-missing": "source-missing";
|
|
862
|
+
"unreadable-image": "unreadable-image";
|
|
863
|
+
"write-failed": "write-failed";
|
|
864
|
+
}>;
|
|
865
|
+
}, z.core.$strip>>>;
|
|
866
|
+
}, z.core.$strip>;
|
|
867
|
+
export type RetrainFrameSelection = z.infer<typeof RetrainFrameSelectionSchema>;
|
|
868
|
+
export declare const RetrainFrameListSchema: z.ZodObject<{
|
|
869
|
+
candidates: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
870
|
+
mediaKey: z.ZodString;
|
|
871
|
+
kind: z.ZodEnum<{
|
|
872
|
+
snapshot: "snapshot";
|
|
873
|
+
crop: "crop";
|
|
874
|
+
keyFrame: "keyFrame";
|
|
875
|
+
thumbnail: "thumbnail";
|
|
876
|
+
firstFrame: "firstFrame";
|
|
877
|
+
lastFrame: "lastFrame";
|
|
878
|
+
fullFrame: "fullFrame";
|
|
879
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
880
|
+
faceCrop: "faceCrop";
|
|
881
|
+
plateCrop: "plateCrop";
|
|
882
|
+
keyFrameSmall: "keyFrameSmall";
|
|
883
|
+
thumbnailSmall: "thumbnailSmall";
|
|
884
|
+
}>;
|
|
885
|
+
timestamp: z.ZodNumber;
|
|
886
|
+
sizeBytes: z.ZodNumber;
|
|
887
|
+
copied: z.ZodBoolean;
|
|
888
|
+
}, z.core.$strip>>>;
|
|
889
|
+
copies: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
890
|
+
frameId: z.ZodString;
|
|
891
|
+
deviceId: z.ZodNumber;
|
|
892
|
+
trackId: z.ZodString;
|
|
893
|
+
sourceMediaKey: z.ZodString;
|
|
894
|
+
sourceKind: z.ZodEnum<{
|
|
895
|
+
snapshot: "snapshot";
|
|
896
|
+
crop: "crop";
|
|
897
|
+
keyFrame: "keyFrame";
|
|
898
|
+
thumbnail: "thumbnail";
|
|
899
|
+
firstFrame: "firstFrame";
|
|
900
|
+
lastFrame: "lastFrame";
|
|
901
|
+
fullFrame: "fullFrame";
|
|
902
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
903
|
+
faceCrop: "faceCrop";
|
|
904
|
+
plateCrop: "plateCrop";
|
|
905
|
+
keyFrameSmall: "keyFrameSmall";
|
|
906
|
+
thumbnailSmall: "thumbnailSmall";
|
|
907
|
+
}>;
|
|
908
|
+
sizeBytes: z.ZodNumber;
|
|
909
|
+
width: z.ZodNumber;
|
|
910
|
+
height: z.ZodNumber;
|
|
911
|
+
copiedAt: z.ZodNumber;
|
|
912
|
+
}, z.core.$strip>>>;
|
|
913
|
+
autoPickMediaKey: z.ZodOptional<z.ZodString>;
|
|
914
|
+
}, z.core.$strip>;
|
|
915
|
+
export type RetrainFrameList = z.infer<typeof RetrainFrameListSchema>;
|
|
916
|
+
/** What the operator asked the assist to look for. */
|
|
917
|
+
export declare const RetrainAssistSubjectSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
918
|
+
kind: z.ZodLiteral<"package">;
|
|
919
|
+
zone: z.ZodOptional<z.ZodObject<{
|
|
920
|
+
x: z.ZodNumber;
|
|
921
|
+
y: z.ZodNumber;
|
|
922
|
+
w: z.ZodNumber;
|
|
923
|
+
h: z.ZodNumber;
|
|
924
|
+
}, z.core.$strip>>;
|
|
925
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
926
|
+
kind: z.ZodLiteral<"objects">;
|
|
927
|
+
modelId: z.ZodString;
|
|
928
|
+
minScore: z.ZodOptional<z.ZodNumber>;
|
|
929
|
+
}, z.core.$strip>], "kind">;
|
|
930
|
+
/**
|
|
931
|
+
* The assist's answer — a discriminated union, because "the model saw nothing"
|
|
932
|
+
* and "this node cannot run that model" lead to different next moves and a
|
|
933
|
+
* nullable result cannot tell them apart.
|
|
934
|
+
*/
|
|
935
|
+
export declare const RetrainAssistResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
936
|
+
kind: z.ZodLiteral<"proposed">;
|
|
937
|
+
modelId: z.ZodString;
|
|
938
|
+
stepId: z.ZodString;
|
|
939
|
+
minScore: z.ZodNumber;
|
|
940
|
+
proposals: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
941
|
+
label: z.ZodOptional<z.ZodString>;
|
|
942
|
+
kind: z.ZodEnum<{
|
|
943
|
+
subject: "subject";
|
|
944
|
+
model_error: "model_error";
|
|
945
|
+
}>;
|
|
946
|
+
source: z.ZodEnum<{
|
|
947
|
+
operator: "operator";
|
|
948
|
+
assist: "assist";
|
|
949
|
+
}>;
|
|
950
|
+
bbox: z.ZodObject<{
|
|
951
|
+
x: z.ZodNumber;
|
|
952
|
+
y: z.ZodNumber;
|
|
953
|
+
w: z.ZodNumber;
|
|
954
|
+
h: z.ZodNumber;
|
|
955
|
+
}, z.core.$strip>;
|
|
956
|
+
macroClass: z.ZodEnum<{
|
|
957
|
+
person: "person";
|
|
958
|
+
vehicle: "vehicle";
|
|
959
|
+
animal: "animal";
|
|
960
|
+
face: "face";
|
|
961
|
+
plate: "plate";
|
|
962
|
+
package: "package";
|
|
963
|
+
}>;
|
|
964
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
965
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
966
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
967
|
+
}, z.core.$strip>>>;
|
|
968
|
+
belowThreshold: z.ZodNumber;
|
|
969
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
970
|
+
kind: z.ZodLiteral<"refused">;
|
|
971
|
+
reason: z.ZodString;
|
|
972
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
973
|
+
}, z.core.$strip>], "kind">;
|
|
974
|
+
export type RetrainAssistResult = z.infer<typeof RetrainAssistResultSchema>;
|
|
975
|
+
/** The outcome of a lifecycle move owned by the retrain page. */
|
|
976
|
+
export declare const RetrainTransitionResultSchema: z.ZodObject<{
|
|
977
|
+
trackId: z.ZodString;
|
|
978
|
+
retrainStatus: z.ZodEnum<{
|
|
979
|
+
none: "none";
|
|
980
|
+
staging: "staging";
|
|
981
|
+
trained: "trained";
|
|
982
|
+
}>;
|
|
983
|
+
changed: z.ZodBoolean;
|
|
984
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
985
|
+
unchanged: "unchanged";
|
|
986
|
+
"unknown-track": "unknown-track";
|
|
987
|
+
"no-frames-copied": "no-frames-copied";
|
|
988
|
+
"not-staging": "not-staging";
|
|
989
|
+
"not-trained": "not-trained";
|
|
990
|
+
}>>;
|
|
991
|
+
}, z.core.$strip>;
|
|
992
|
+
export type RetrainTransitionResult = z.infer<typeof RetrainTransitionResultSchema>;
|
|
600
993
|
declare const RecentTracksQueryInput: z.ZodObject<{
|
|
601
994
|
deviceIds: z.ZodArray<z.ZodNumber>;
|
|
602
995
|
since: z.ZodOptional<z.ZodNumber>;
|
|
@@ -618,10 +1011,6 @@ declare const RecentTracksPageSchema: z.ZodObject<{
|
|
|
618
1011
|
}>>;
|
|
619
1012
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
620
1013
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
621
|
-
trackId: z.ZodString;
|
|
622
|
-
deviceId: z.ZodNumber;
|
|
623
|
-
className: z.ZodString;
|
|
624
|
-
label: z.ZodOptional<z.ZodString>;
|
|
625
1014
|
producingDeviceName: z.ZodOptional<z.ZodString>;
|
|
626
1015
|
source: z.ZodOptional<z.ZodEnum<{
|
|
627
1016
|
sensor: "sensor";
|
|
@@ -683,6 +1072,23 @@ declare const RecentTracksPageSchema: z.ZodObject<{
|
|
|
683
1072
|
maxX: z.ZodNumber;
|
|
684
1073
|
maxY: z.ZodNumber;
|
|
685
1074
|
}, z.core.$strip>>;
|
|
1075
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1076
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1077
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1078
|
+
stepId: z.ZodString;
|
|
1079
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1080
|
+
decidedAt: z.ZodNumber;
|
|
1081
|
+
}, z.core.$strip>>;
|
|
1082
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1083
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1084
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1085
|
+
stepId: z.ZodString;
|
|
1086
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1087
|
+
decidedAt: z.ZodNumber;
|
|
1088
|
+
}, z.core.$strip>>;
|
|
1089
|
+
trackId: z.ZodString;
|
|
1090
|
+
deviceId: z.ZodNumber;
|
|
1091
|
+
className: z.ZodString;
|
|
686
1092
|
}, z.core.$strip>>>;
|
|
687
1093
|
nextCursor: z.ZodNullable<z.ZodString>;
|
|
688
1094
|
}, z.core.$strip>;
|
|
@@ -695,14 +1101,27 @@ declare const KeyEventSchema: z.ZodObject<{
|
|
|
695
1101
|
}>>;
|
|
696
1102
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
697
1103
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
1104
|
+
importance: z.ZodNumber;
|
|
1105
|
+
bestEventId: z.ZodString;
|
|
1106
|
+
windowMs: z.ZodOptional<z.ZodNumber>;
|
|
1107
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1108
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1109
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1110
|
+
stepId: z.ZodString;
|
|
1111
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1112
|
+
decidedAt: z.ZodNumber;
|
|
1113
|
+
}, z.core.$strip>>;
|
|
1114
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1115
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1116
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1117
|
+
stepId: z.ZodString;
|
|
1118
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1119
|
+
decidedAt: z.ZodNumber;
|
|
1120
|
+
}, z.core.$strip>>;
|
|
698
1121
|
id: z.ZodString;
|
|
699
1122
|
trackId: z.ZodString;
|
|
700
1123
|
timestamp: z.ZodNumber;
|
|
701
1124
|
className: z.ZodString;
|
|
702
|
-
label: z.ZodOptional<z.ZodString>;
|
|
703
|
-
importance: z.ZodNumber;
|
|
704
|
-
bestEventId: z.ZodString;
|
|
705
|
-
windowMs: z.ZodOptional<z.ZodNumber>;
|
|
706
1125
|
}, z.core.$strip>;
|
|
707
1126
|
export type KeyEvent = z.infer<typeof KeyEventSchema>;
|
|
708
1127
|
declare const TrackedDetectionSchema: z.ZodObject<{
|
|
@@ -725,15 +1144,6 @@ declare const TrackedDetectionSchema: z.ZodObject<{
|
|
|
725
1144
|
}>;
|
|
726
1145
|
}, z.core.$strip>;
|
|
727
1146
|
export declare const ScoredObjectEventSchema: z.ZodObject<{
|
|
728
|
-
kind: z.ZodLiteral<"object">;
|
|
729
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
730
|
-
pipeline: "pipeline";
|
|
731
|
-
onboard: "onboard";
|
|
732
|
-
}>>;
|
|
733
|
-
frameId: z.ZodOptional<z.ZodString>;
|
|
734
|
-
trackId: z.ZodOptional<z.ZodString>;
|
|
735
|
-
className: z.ZodString;
|
|
736
|
-
label: z.ZodOptional<z.ZodString>;
|
|
737
1147
|
confidence: z.ZodOptional<z.ZodNumber>;
|
|
738
1148
|
bbox: z.ZodOptional<z.ZodObject<{
|
|
739
1149
|
x: z.ZodNumber;
|
|
@@ -763,6 +1173,28 @@ export declare const ScoredObjectEventSchema: z.ZodObject<{
|
|
|
763
1173
|
keyFrameMediaKey: z.ZodOptional<z.ZodString>;
|
|
764
1174
|
mediaUrl: z.ZodOptional<z.ZodString>;
|
|
765
1175
|
importance: z.ZodOptional<z.ZodNumber>;
|
|
1176
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1177
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1178
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1179
|
+
stepId: z.ZodString;
|
|
1180
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1181
|
+
decidedAt: z.ZodNumber;
|
|
1182
|
+
}, z.core.$strip>>;
|
|
1183
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1184
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1185
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1186
|
+
stepId: z.ZodString;
|
|
1187
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1188
|
+
decidedAt: z.ZodNumber;
|
|
1189
|
+
}, z.core.$strip>>;
|
|
1190
|
+
kind: z.ZodLiteral<"object">;
|
|
1191
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
1192
|
+
pipeline: "pipeline";
|
|
1193
|
+
onboard: "onboard";
|
|
1194
|
+
}>>;
|
|
1195
|
+
frameId: z.ZodOptional<z.ZodString>;
|
|
1196
|
+
trackId: z.ZodOptional<z.ZodString>;
|
|
1197
|
+
className: z.ZodString;
|
|
766
1198
|
id: z.ZodString;
|
|
767
1199
|
deviceId: z.ZodNumber;
|
|
768
1200
|
timestamp: z.ZodNumber;
|
|
@@ -822,10 +1254,6 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
822
1254
|
}>>;
|
|
823
1255
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
824
1256
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
825
|
-
trackId: z.ZodString;
|
|
826
|
-
deviceId: z.ZodNumber;
|
|
827
|
-
className: z.ZodString;
|
|
828
|
-
label: z.ZodOptional<z.ZodString>;
|
|
829
1257
|
producingDeviceName: z.ZodOptional<z.ZodString>;
|
|
830
1258
|
source: z.ZodOptional<z.ZodEnum<{
|
|
831
1259
|
sensor: "sensor";
|
|
@@ -887,6 +1315,23 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
887
1315
|
maxX: z.ZodNumber;
|
|
888
1316
|
maxY: z.ZodNumber;
|
|
889
1317
|
}, z.core.$strip>>;
|
|
1318
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1319
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1320
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1321
|
+
stepId: z.ZodString;
|
|
1322
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1323
|
+
decidedAt: z.ZodNumber;
|
|
1324
|
+
}, z.core.$strip>>;
|
|
1325
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1326
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1327
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1328
|
+
stepId: z.ZodString;
|
|
1329
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1330
|
+
decidedAt: z.ZodNumber;
|
|
1331
|
+
}, z.core.$strip>>;
|
|
1332
|
+
trackId: z.ZodString;
|
|
1333
|
+
deviceId: z.ZodNumber;
|
|
1334
|
+
className: z.ZodString;
|
|
890
1335
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
891
1336
|
readonly getTrack: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
892
1337
|
deviceId: z.ZodNumber;
|
|
@@ -899,10 +1344,6 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
899
1344
|
}>>;
|
|
900
1345
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
901
1346
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
902
|
-
trackId: z.ZodString;
|
|
903
|
-
deviceId: z.ZodNumber;
|
|
904
|
-
className: z.ZodString;
|
|
905
|
-
label: z.ZodOptional<z.ZodString>;
|
|
906
1347
|
producingDeviceName: z.ZodOptional<z.ZodString>;
|
|
907
1348
|
source: z.ZodOptional<z.ZodEnum<{
|
|
908
1349
|
sensor: "sensor";
|
|
@@ -964,6 +1405,23 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
964
1405
|
maxX: z.ZodNumber;
|
|
965
1406
|
maxY: z.ZodNumber;
|
|
966
1407
|
}, z.core.$strip>>;
|
|
1408
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1409
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1410
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1411
|
+
stepId: z.ZodString;
|
|
1412
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1413
|
+
decidedAt: z.ZodNumber;
|
|
1414
|
+
}, z.core.$strip>>;
|
|
1415
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1416
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1417
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1418
|
+
stepId: z.ZodString;
|
|
1419
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1420
|
+
decidedAt: z.ZodNumber;
|
|
1421
|
+
}, z.core.$strip>>;
|
|
1422
|
+
trackId: z.ZodString;
|
|
1423
|
+
deviceId: z.ZodNumber;
|
|
1424
|
+
className: z.ZodString;
|
|
967
1425
|
}, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
968
1426
|
/** Historical completed tracks for a device. Queried from the
|
|
969
1427
|
* persisted `pipeline-analytics:tracks` collection; active tracks
|
|
@@ -998,10 +1456,6 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
998
1456
|
}>>;
|
|
999
1457
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
1000
1458
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
1001
|
-
trackId: z.ZodString;
|
|
1002
|
-
deviceId: z.ZodNumber;
|
|
1003
|
-
className: z.ZodString;
|
|
1004
|
-
label: z.ZodOptional<z.ZodString>;
|
|
1005
1459
|
producingDeviceName: z.ZodOptional<z.ZodString>;
|
|
1006
1460
|
source: z.ZodOptional<z.ZodEnum<{
|
|
1007
1461
|
sensor: "sensor";
|
|
@@ -1063,6 +1517,23 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1063
1517
|
maxX: z.ZodNumber;
|
|
1064
1518
|
maxY: z.ZodNumber;
|
|
1065
1519
|
}, z.core.$strip>>;
|
|
1520
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1521
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1522
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1523
|
+
stepId: z.ZodString;
|
|
1524
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1525
|
+
decidedAt: z.ZodNumber;
|
|
1526
|
+
}, z.core.$strip>>;
|
|
1527
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1528
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1529
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1530
|
+
stepId: z.ZodString;
|
|
1531
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1532
|
+
decidedAt: z.ZodNumber;
|
|
1533
|
+
}, z.core.$strip>>;
|
|
1534
|
+
trackId: z.ZodString;
|
|
1535
|
+
deviceId: z.ZodNumber;
|
|
1536
|
+
className: z.ZodString;
|
|
1066
1537
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1067
1538
|
/**
|
|
1068
1539
|
* Batched cluster-wide track listing — ONE call for the events page /
|
|
@@ -1093,10 +1564,6 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1093
1564
|
}>>;
|
|
1094
1565
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
1095
1566
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
1096
|
-
trackId: z.ZodString;
|
|
1097
|
-
deviceId: z.ZodNumber;
|
|
1098
|
-
className: z.ZodString;
|
|
1099
|
-
label: z.ZodOptional<z.ZodString>;
|
|
1100
1567
|
producingDeviceName: z.ZodOptional<z.ZodString>;
|
|
1101
1568
|
source: z.ZodOptional<z.ZodEnum<{
|
|
1102
1569
|
sensor: "sensor";
|
|
@@ -1158,6 +1625,23 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1158
1625
|
maxX: z.ZodNumber;
|
|
1159
1626
|
maxY: z.ZodNumber;
|
|
1160
1627
|
}, z.core.$strip>>;
|
|
1628
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1629
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1630
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1631
|
+
stepId: z.ZodString;
|
|
1632
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1633
|
+
decidedAt: z.ZodNumber;
|
|
1634
|
+
}, z.core.$strip>>;
|
|
1635
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1636
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1637
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1638
|
+
stepId: z.ZodString;
|
|
1639
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1640
|
+
decidedAt: z.ZodNumber;
|
|
1641
|
+
}, z.core.$strip>>;
|
|
1642
|
+
trackId: z.ZodString;
|
|
1643
|
+
deviceId: z.ZodNumber;
|
|
1644
|
+
className: z.ZodString;
|
|
1161
1645
|
}, z.core.$strip>>>;
|
|
1162
1646
|
nextCursor: z.ZodNullable<z.ZodString>;
|
|
1163
1647
|
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
@@ -1204,15 +1688,6 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1204
1688
|
}>>;
|
|
1205
1689
|
classFilter: z.ZodOptional<z.ZodString>;
|
|
1206
1690
|
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1207
|
-
kind: z.ZodLiteral<"object">;
|
|
1208
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
1209
|
-
pipeline: "pipeline";
|
|
1210
|
-
onboard: "onboard";
|
|
1211
|
-
}>>;
|
|
1212
|
-
frameId: z.ZodOptional<z.ZodString>;
|
|
1213
|
-
trackId: z.ZodOptional<z.ZodString>;
|
|
1214
|
-
className: z.ZodString;
|
|
1215
|
-
label: z.ZodOptional<z.ZodString>;
|
|
1216
1691
|
confidence: z.ZodOptional<z.ZodNumber>;
|
|
1217
1692
|
bbox: z.ZodOptional<z.ZodObject<{
|
|
1218
1693
|
x: z.ZodNumber;
|
|
@@ -1242,6 +1717,28 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1242
1717
|
keyFrameMediaKey: z.ZodOptional<z.ZodString>;
|
|
1243
1718
|
mediaUrl: z.ZodOptional<z.ZodString>;
|
|
1244
1719
|
importance: z.ZodOptional<z.ZodNumber>;
|
|
1720
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1721
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1722
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1723
|
+
stepId: z.ZodString;
|
|
1724
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1725
|
+
decidedAt: z.ZodNumber;
|
|
1726
|
+
}, z.core.$strip>>;
|
|
1727
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1728
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1729
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1730
|
+
stepId: z.ZodString;
|
|
1731
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1732
|
+
decidedAt: z.ZodNumber;
|
|
1733
|
+
}, z.core.$strip>>;
|
|
1734
|
+
kind: z.ZodLiteral<"object">;
|
|
1735
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
1736
|
+
pipeline: "pipeline";
|
|
1737
|
+
onboard: "onboard";
|
|
1738
|
+
}>>;
|
|
1739
|
+
frameId: z.ZodOptional<z.ZodString>;
|
|
1740
|
+
trackId: z.ZodOptional<z.ZodString>;
|
|
1741
|
+
className: z.ZodString;
|
|
1245
1742
|
id: z.ZodString;
|
|
1246
1743
|
deviceId: z.ZodNumber;
|
|
1247
1744
|
timestamp: z.ZodNumber;
|
|
@@ -1421,14 +1918,27 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1421
1918
|
}>>;
|
|
1422
1919
|
markForTrain: z.ZodOptional<z.ZodBoolean>;
|
|
1423
1920
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
1921
|
+
importance: z.ZodNumber;
|
|
1922
|
+
bestEventId: z.ZodString;
|
|
1923
|
+
windowMs: z.ZodOptional<z.ZodNumber>;
|
|
1924
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1925
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
1926
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
1927
|
+
stepId: z.ZodString;
|
|
1928
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1929
|
+
decidedAt: z.ZodNumber;
|
|
1930
|
+
}, z.core.$strip>>;
|
|
1931
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
1932
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
1933
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
1934
|
+
stepId: z.ZodString;
|
|
1935
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
1936
|
+
decidedAt: z.ZodNumber;
|
|
1937
|
+
}, z.core.$strip>>;
|
|
1424
1938
|
id: z.ZodString;
|
|
1425
1939
|
trackId: z.ZodString;
|
|
1426
1940
|
timestamp: z.ZodNumber;
|
|
1427
1941
|
className: z.ZodString;
|
|
1428
|
-
label: z.ZodOptional<z.ZodString>;
|
|
1429
|
-
importance: z.ZodNumber;
|
|
1430
|
-
bestEventId: z.ZodString;
|
|
1431
|
-
windowMs: z.ZodOptional<z.ZodNumber>;
|
|
1432
1942
|
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
1433
1943
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
1434
1944
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
@@ -1737,6 +2247,434 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1737
2247
|
}, z.core.$strip>, z.ZodObject<{
|
|
1738
2248
|
url: z.ZodString;
|
|
1739
2249
|
}, z.core.$strip>, "query">;
|
|
2250
|
+
/**
|
|
2251
|
+
* The staging worklist for one camera, or for every camera that has one.
|
|
2252
|
+
*
|
|
2253
|
+
* Fetched ON DEMAND, over the staging set only — the page never scans
|
|
2254
|
+
* history, because making the working set small is the entire purpose of
|
|
2255
|
+
* the mark. Each row carries how many frames the dataset already holds from
|
|
2256
|
+
* the track and how many subjects were annotated on them, so
|
|
2257
|
+
* `frameCount: 0` reads as "still to work" without a second call per track.
|
|
2258
|
+
*
|
|
2259
|
+
* `auth: 'admin'`, unlike the viewer-level mark itself: marking a track is
|
|
2260
|
+
* curation you do while looking at it, but building the training set the
|
|
2261
|
+
* fleet's models are fine-tuned on is not.
|
|
2262
|
+
*/
|
|
2263
|
+
readonly listRetrainStaging: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2264
|
+
deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
2265
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
2266
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2267
|
+
trackId: z.ZodString;
|
|
2268
|
+
deviceId: z.ZodNumber;
|
|
2269
|
+
className: z.ZodString;
|
|
2270
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2271
|
+
firstSeen: z.ZodNumber;
|
|
2272
|
+
lastSeen: z.ZodNumber;
|
|
2273
|
+
frameCount: z.ZodNumber;
|
|
2274
|
+
annotationCount: z.ZodNumber;
|
|
2275
|
+
}, z.core.$strip>>>, "query">;
|
|
2276
|
+
/**
|
|
2277
|
+
* What a track can contribute, and what it already has.
|
|
2278
|
+
*
|
|
2279
|
+
* `candidates` are the track's whole, unannotated frames — index rows only,
|
|
2280
|
+
* so this is cheap. `copies` are the frames already inside the dataset, and
|
|
2281
|
+
* a candidate whose copy exists is marked `copied: true`: selecting it again
|
|
2282
|
+
* is free and CANNOT fail, whatever became of the original.
|
|
2283
|
+
*
|
|
2284
|
+
* A crop, a thumbnail and `fullFrameBoxed` are never candidates. The last
|
|
2285
|
+
* one matters most: it has the model's own rectangle burned into the pixels,
|
|
2286
|
+
* and a detector trained on it learns to find a green line.
|
|
2287
|
+
*/
|
|
2288
|
+
readonly listRetrainFrames: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2289
|
+
trackId: z.ZodString;
|
|
2290
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2291
|
+
candidates: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2292
|
+
mediaKey: z.ZodString;
|
|
2293
|
+
kind: z.ZodEnum<{
|
|
2294
|
+
snapshot: "snapshot";
|
|
2295
|
+
crop: "crop";
|
|
2296
|
+
keyFrame: "keyFrame";
|
|
2297
|
+
thumbnail: "thumbnail";
|
|
2298
|
+
firstFrame: "firstFrame";
|
|
2299
|
+
lastFrame: "lastFrame";
|
|
2300
|
+
fullFrame: "fullFrame";
|
|
2301
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
2302
|
+
faceCrop: "faceCrop";
|
|
2303
|
+
plateCrop: "plateCrop";
|
|
2304
|
+
keyFrameSmall: "keyFrameSmall";
|
|
2305
|
+
thumbnailSmall: "thumbnailSmall";
|
|
2306
|
+
}>;
|
|
2307
|
+
timestamp: z.ZodNumber;
|
|
2308
|
+
sizeBytes: z.ZodNumber;
|
|
2309
|
+
copied: z.ZodBoolean;
|
|
2310
|
+
}, z.core.$strip>>>;
|
|
2311
|
+
copies: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2312
|
+
frameId: z.ZodString;
|
|
2313
|
+
deviceId: z.ZodNumber;
|
|
2314
|
+
trackId: z.ZodString;
|
|
2315
|
+
sourceMediaKey: z.ZodString;
|
|
2316
|
+
sourceKind: z.ZodEnum<{
|
|
2317
|
+
snapshot: "snapshot";
|
|
2318
|
+
crop: "crop";
|
|
2319
|
+
keyFrame: "keyFrame";
|
|
2320
|
+
thumbnail: "thumbnail";
|
|
2321
|
+
firstFrame: "firstFrame";
|
|
2322
|
+
lastFrame: "lastFrame";
|
|
2323
|
+
fullFrame: "fullFrame";
|
|
2324
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
2325
|
+
faceCrop: "faceCrop";
|
|
2326
|
+
plateCrop: "plateCrop";
|
|
2327
|
+
keyFrameSmall: "keyFrameSmall";
|
|
2328
|
+
thumbnailSmall: "thumbnailSmall";
|
|
2329
|
+
}>;
|
|
2330
|
+
sizeBytes: z.ZodNumber;
|
|
2331
|
+
width: z.ZodNumber;
|
|
2332
|
+
height: z.ZodNumber;
|
|
2333
|
+
copiedAt: z.ZodNumber;
|
|
2334
|
+
}, z.core.$strip>>>;
|
|
2335
|
+
autoPickMediaKey: z.ZodOptional<z.ZodString>;
|
|
2336
|
+
}, z.core.$strip>, "query">;
|
|
2337
|
+
/**
|
|
2338
|
+
* COPY-ON-SELECT — the write that makes `trained` safe to evict.
|
|
2339
|
+
*
|
|
2340
|
+
* Selecting a frame copies its bytes into retrain storage immediately: not
|
|
2341
|
+
* a reference, not a lease. Once the copy exists the dataset no longer
|
|
2342
|
+
* depends on the track's media, which is exactly what lets D81 hand a
|
|
2343
|
+
* `trained` track back to retention.
|
|
2344
|
+
*
|
|
2345
|
+
* The order inside is load-bearing and is pinned by a test: an EXISTING
|
|
2346
|
+
* copy is returned without touching the source, so an original that
|
|
2347
|
+
* evaporated blocks the selection of THAT ORIGINAL and never the copy
|
|
2348
|
+
* already taken. Every refusal comes back named — a dropped selection is
|
|
2349
|
+
* never silent, on the wire or in the log.
|
|
2350
|
+
*/
|
|
2351
|
+
readonly selectRetrainFrames: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2352
|
+
deviceId: z.ZodNumber;
|
|
2353
|
+
trackId: z.ZodString;
|
|
2354
|
+
mediaKeys: z.ZodArray<z.ZodString>;
|
|
2355
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2356
|
+
copied: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2357
|
+
frameId: z.ZodString;
|
|
2358
|
+
deviceId: z.ZodNumber;
|
|
2359
|
+
trackId: z.ZodString;
|
|
2360
|
+
sourceMediaKey: z.ZodString;
|
|
2361
|
+
sourceKind: z.ZodEnum<{
|
|
2362
|
+
snapshot: "snapshot";
|
|
2363
|
+
crop: "crop";
|
|
2364
|
+
keyFrame: "keyFrame";
|
|
2365
|
+
thumbnail: "thumbnail";
|
|
2366
|
+
firstFrame: "firstFrame";
|
|
2367
|
+
lastFrame: "lastFrame";
|
|
2368
|
+
fullFrame: "fullFrame";
|
|
2369
|
+
fullFrameBoxed: "fullFrameBoxed";
|
|
2370
|
+
faceCrop: "faceCrop";
|
|
2371
|
+
plateCrop: "plateCrop";
|
|
2372
|
+
keyFrameSmall: "keyFrameSmall";
|
|
2373
|
+
thumbnailSmall: "thumbnailSmall";
|
|
2374
|
+
}>;
|
|
2375
|
+
sizeBytes: z.ZodNumber;
|
|
2376
|
+
width: z.ZodNumber;
|
|
2377
|
+
height: z.ZodNumber;
|
|
2378
|
+
copiedAt: z.ZodNumber;
|
|
2379
|
+
}, z.core.$strip>>>;
|
|
2380
|
+
refused: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2381
|
+
sourceMediaKey: z.ZodString;
|
|
2382
|
+
reason: z.ZodEnum<{
|
|
2383
|
+
"source-missing": "source-missing";
|
|
2384
|
+
"unreadable-image": "unreadable-image";
|
|
2385
|
+
"write-failed": "write-failed";
|
|
2386
|
+
}>;
|
|
2387
|
+
}, z.core.$strip>>>;
|
|
2388
|
+
}, z.core.$strip>, "mutation">;
|
|
2389
|
+
/** Un-select a frame: its annotations go first, then the copy and its blob.
|
|
2390
|
+
* Deliberately destructive and deliberately explicit — it is the only way
|
|
2391
|
+
* a frame leaves the dataset before export. */
|
|
2392
|
+
readonly deselectRetrainFrame: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2393
|
+
deviceId: z.ZodNumber;
|
|
2394
|
+
trackId: z.ZodString;
|
|
2395
|
+
frameId: z.ZodString;
|
|
2396
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2397
|
+
removed: z.ZodBoolean;
|
|
2398
|
+
removedAnnotations: z.ZodNumber;
|
|
2399
|
+
}, z.core.$strip>, "mutation">;
|
|
2400
|
+
/**
|
|
2401
|
+
* The pixels of ONE copied frame, base64.
|
|
2402
|
+
*
|
|
2403
|
+
* Through the cap rather than a data plane because it is genuinely one
|
|
2404
|
+
* frame at a time, on demand, at human speed — the shape D9/D18 permit
|
|
2405
|
+
* (what they forbid is frames crossing a boundary at frame RATE). The
|
|
2406
|
+
* annotation canvas needs the image and its exact dimensions in the same
|
|
2407
|
+
* answer: a canvas that places a normalised box against a size it guessed
|
|
2408
|
+
* draws every box in the wrong place.
|
|
2409
|
+
*/
|
|
2410
|
+
readonly getRetrainFrameImage: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2411
|
+
frameId: z.ZodString;
|
|
2412
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2413
|
+
base64: z.ZodString;
|
|
2414
|
+
width: z.ZodNumber;
|
|
2415
|
+
height: z.ZodNumber;
|
|
2416
|
+
}, z.core.$strip>, "query">;
|
|
2417
|
+
/**
|
|
2418
|
+
* Ask the pipeline what it sees, as a PROPOSAL.
|
|
2419
|
+
*
|
|
2420
|
+
* Runs through `pipelineRunner.runStatelessStep` on the COPIED frame, and
|
|
2421
|
+
* every box comes back as a draft with `source: 'assist'` plus the model and
|
|
2422
|
+
* score that produced it. The operator confirms, edits, adds and deletes;
|
|
2423
|
+
* nothing is stored until `saveRetrainAnnotations`.
|
|
2424
|
+
*
|
|
2425
|
+
* For packages the request is `rfdetr-package` on the ZONE CROP at 0.35 —
|
|
2426
|
+
* never the whole frame, where a package detector at that threshold proposes
|
|
2427
|
+
* furniture. A package request with no zone is REFUSED rather than widened,
|
|
2428
|
+
* because the silent widening would look like a bad model for as long as
|
|
2429
|
+
* nobody checked which rectangle it ran on.
|
|
2430
|
+
*/
|
|
2431
|
+
readonly proposeRetrainAnnotations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2432
|
+
deviceId: z.ZodNumber;
|
|
2433
|
+
trackId: z.ZodString;
|
|
2434
|
+
frameId: z.ZodString;
|
|
2435
|
+
subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
2436
|
+
kind: z.ZodLiteral<"package">;
|
|
2437
|
+
zone: z.ZodOptional<z.ZodObject<{
|
|
2438
|
+
x: z.ZodNumber;
|
|
2439
|
+
y: z.ZodNumber;
|
|
2440
|
+
w: z.ZodNumber;
|
|
2441
|
+
h: z.ZodNumber;
|
|
2442
|
+
}, z.core.$strip>>;
|
|
2443
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2444
|
+
kind: z.ZodLiteral<"objects">;
|
|
2445
|
+
modelId: z.ZodString;
|
|
2446
|
+
minScore: z.ZodOptional<z.ZodNumber>;
|
|
2447
|
+
}, z.core.$strip>], "kind">;
|
|
2448
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
2449
|
+
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
2450
|
+
kind: z.ZodLiteral<"proposed">;
|
|
2451
|
+
modelId: z.ZodString;
|
|
2452
|
+
stepId: z.ZodString;
|
|
2453
|
+
minScore: z.ZodNumber;
|
|
2454
|
+
proposals: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2455
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2456
|
+
kind: z.ZodEnum<{
|
|
2457
|
+
subject: "subject";
|
|
2458
|
+
model_error: "model_error";
|
|
2459
|
+
}>;
|
|
2460
|
+
source: z.ZodEnum<{
|
|
2461
|
+
operator: "operator";
|
|
2462
|
+
assist: "assist";
|
|
2463
|
+
}>;
|
|
2464
|
+
bbox: z.ZodObject<{
|
|
2465
|
+
x: z.ZodNumber;
|
|
2466
|
+
y: z.ZodNumber;
|
|
2467
|
+
w: z.ZodNumber;
|
|
2468
|
+
h: z.ZodNumber;
|
|
2469
|
+
}, z.core.$strip>;
|
|
2470
|
+
macroClass: z.ZodEnum<{
|
|
2471
|
+
person: "person";
|
|
2472
|
+
vehicle: "vehicle";
|
|
2473
|
+
animal: "animal";
|
|
2474
|
+
face: "face";
|
|
2475
|
+
plate: "plate";
|
|
2476
|
+
package: "package";
|
|
2477
|
+
}>;
|
|
2478
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
2479
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
2480
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
2481
|
+
}, z.core.$strip>>>;
|
|
2482
|
+
belowThreshold: z.ZodNumber;
|
|
2483
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2484
|
+
kind: z.ZodLiteral<"refused">;
|
|
2485
|
+
reason: z.ZodString;
|
|
2486
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
2487
|
+
}, z.core.$strip>], "kind">, "mutation">;
|
|
2488
|
+
/** Every annotation on a track, oldest first. */
|
|
2489
|
+
readonly listRetrainAnnotations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2490
|
+
trackId: z.ZodString;
|
|
2491
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2492
|
+
id: z.ZodString;
|
|
2493
|
+
trackId: z.ZodString;
|
|
2494
|
+
deviceId: z.ZodNumber;
|
|
2495
|
+
mediaKey: z.ZodString;
|
|
2496
|
+
bbox: z.ZodObject<{
|
|
2497
|
+
x: z.ZodNumber;
|
|
2498
|
+
y: z.ZodNumber;
|
|
2499
|
+
w: z.ZodNumber;
|
|
2500
|
+
h: z.ZodNumber;
|
|
2501
|
+
}, z.core.$strip>;
|
|
2502
|
+
macroClass: z.ZodEnum<{
|
|
2503
|
+
person: "person";
|
|
2504
|
+
vehicle: "vehicle";
|
|
2505
|
+
animal: "animal";
|
|
2506
|
+
face: "face";
|
|
2507
|
+
plate: "plate";
|
|
2508
|
+
package: "package";
|
|
2509
|
+
}>;
|
|
2510
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2511
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
2512
|
+
kind: z.ZodEnum<{
|
|
2513
|
+
subject: "subject";
|
|
2514
|
+
model_error: "model_error";
|
|
2515
|
+
}>;
|
|
2516
|
+
source: z.ZodEnum<{
|
|
2517
|
+
operator: "operator";
|
|
2518
|
+
assist: "assist";
|
|
2519
|
+
}>;
|
|
2520
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
2521
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
2522
|
+
exportedInBatch: z.ZodOptional<z.ZodString>;
|
|
2523
|
+
createdAt: z.ZodNumber;
|
|
2524
|
+
}, z.core.$strip>>>, "query">;
|
|
2525
|
+
/**
|
|
2526
|
+
* Replace EVERY annotation on one frame with the supplied set.
|
|
2527
|
+
*
|
|
2528
|
+
* Whole-frame replacement, not per-box upsert: the unit of ground truth is
|
|
2529
|
+
* the frame, and "the operator deleted a box" must be the same durable
|
|
2530
|
+
* outcome as "the operator never drew it". A per-box patch would let a frame
|
|
2531
|
+
* keep a box the operator removed on a surface that only knew about the
|
|
2532
|
+
* boxes it sent.
|
|
2533
|
+
*
|
|
2534
|
+
* Refuses a macro class typed into `label` or `subLabel` — the tiers are
|
|
2535
|
+
* separate and the guard is at the WRITE, because a mixed taxonomy cannot
|
|
2536
|
+
* be un-mixed by reading it.
|
|
2537
|
+
*/
|
|
2538
|
+
readonly saveRetrainAnnotations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2539
|
+
deviceId: z.ZodNumber;
|
|
2540
|
+
trackId: z.ZodString;
|
|
2541
|
+
frameId: z.ZodString;
|
|
2542
|
+
annotations: z.ZodArray<z.ZodObject<{
|
|
2543
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2544
|
+
kind: z.ZodEnum<{
|
|
2545
|
+
subject: "subject";
|
|
2546
|
+
model_error: "model_error";
|
|
2547
|
+
}>;
|
|
2548
|
+
source: z.ZodEnum<{
|
|
2549
|
+
operator: "operator";
|
|
2550
|
+
assist: "assist";
|
|
2551
|
+
}>;
|
|
2552
|
+
bbox: z.ZodObject<{
|
|
2553
|
+
x: z.ZodNumber;
|
|
2554
|
+
y: z.ZodNumber;
|
|
2555
|
+
w: z.ZodNumber;
|
|
2556
|
+
h: z.ZodNumber;
|
|
2557
|
+
}, z.core.$strip>;
|
|
2558
|
+
macroClass: z.ZodEnum<{
|
|
2559
|
+
person: "person";
|
|
2560
|
+
vehicle: "vehicle";
|
|
2561
|
+
animal: "animal";
|
|
2562
|
+
face: "face";
|
|
2563
|
+
plate: "plate";
|
|
2564
|
+
package: "package";
|
|
2565
|
+
}>;
|
|
2566
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
2567
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
2568
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
2569
|
+
}, z.core.$strip>>;
|
|
2570
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
2571
|
+
id: z.ZodString;
|
|
2572
|
+
trackId: z.ZodString;
|
|
2573
|
+
deviceId: z.ZodNumber;
|
|
2574
|
+
mediaKey: z.ZodString;
|
|
2575
|
+
bbox: z.ZodObject<{
|
|
2576
|
+
x: z.ZodNumber;
|
|
2577
|
+
y: z.ZodNumber;
|
|
2578
|
+
w: z.ZodNumber;
|
|
2579
|
+
h: z.ZodNumber;
|
|
2580
|
+
}, z.core.$strip>;
|
|
2581
|
+
macroClass: z.ZodEnum<{
|
|
2582
|
+
person: "person";
|
|
2583
|
+
vehicle: "vehicle";
|
|
2584
|
+
animal: "animal";
|
|
2585
|
+
face: "face";
|
|
2586
|
+
plate: "plate";
|
|
2587
|
+
package: "package";
|
|
2588
|
+
}>;
|
|
2589
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2590
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
2591
|
+
kind: z.ZodEnum<{
|
|
2592
|
+
subject: "subject";
|
|
2593
|
+
model_error: "model_error";
|
|
2594
|
+
}>;
|
|
2595
|
+
source: z.ZodEnum<{
|
|
2596
|
+
operator: "operator";
|
|
2597
|
+
assist: "assist";
|
|
2598
|
+
}>;
|
|
2599
|
+
assistModelId: z.ZodOptional<z.ZodString>;
|
|
2600
|
+
assistScore: z.ZodOptional<z.ZodNumber>;
|
|
2601
|
+
exportedInBatch: z.ZodOptional<z.ZodString>;
|
|
2602
|
+
createdAt: z.ZodNumber;
|
|
2603
|
+
}, z.core.$strip>>>, "mutation">;
|
|
2604
|
+
/**
|
|
2605
|
+
* Finish with a track: `staging → trained`. **The only writer of that
|
|
2606
|
+
* state** — D81 shipped the column with it deliberately unreachable.
|
|
2607
|
+
*
|
|
2608
|
+
* Refuses a track the dataset holds no copies from. `trained` un-pins the
|
|
2609
|
+
* track's media, so completing without a copy is a delete order for material
|
|
2610
|
+
* nothing ever extracted anything from; that refusal IS the safety argument
|
|
2611
|
+
* of D81, expressed as a precondition.
|
|
2612
|
+
*/
|
|
2613
|
+
readonly completeRetrainTrack: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2614
|
+
deviceId: z.ZodNumber;
|
|
2615
|
+
trackId: z.ZodString;
|
|
2616
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2617
|
+
trackId: z.ZodString;
|
|
2618
|
+
retrainStatus: z.ZodEnum<{
|
|
2619
|
+
none: "none";
|
|
2620
|
+
staging: "staging";
|
|
2621
|
+
trained: "trained";
|
|
2622
|
+
}>;
|
|
2623
|
+
changed: z.ZodBoolean;
|
|
2624
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
2625
|
+
unchanged: "unchanged";
|
|
2626
|
+
"unknown-track": "unknown-track";
|
|
2627
|
+
"no-frames-copied": "no-frames-copied";
|
|
2628
|
+
"not-staging": "not-staging";
|
|
2629
|
+
"not-trained": "not-trained";
|
|
2630
|
+
}>>;
|
|
2631
|
+
}, z.core.$strip>, "mutation">;
|
|
2632
|
+
/**
|
|
2633
|
+
* The deliberate return: `trained → staging`, for the rare case.
|
|
2634
|
+
*
|
|
2635
|
+
* The generic `setTrackFlags` toggle refuses this in both directions by
|
|
2636
|
+
* design (D81) — re-staging from a checkbox is how the same material gets
|
|
2637
|
+
* annotated twice under two ground truths. Doing it here means the operator
|
|
2638
|
+
* is looking at the annotations that already exist while they decide, and
|
|
2639
|
+
* those annotations are LEFT ALONE: "put this back" must not be a
|
|
2640
|
+
* destructive act wearing a navigational name.
|
|
2641
|
+
*/
|
|
2642
|
+
readonly restageRetrainTrack: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2643
|
+
deviceId: z.ZodNumber;
|
|
2644
|
+
trackId: z.ZodString;
|
|
2645
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2646
|
+
trackId: z.ZodString;
|
|
2647
|
+
retrainStatus: z.ZodEnum<{
|
|
2648
|
+
none: "none";
|
|
2649
|
+
staging: "staging";
|
|
2650
|
+
trained: "trained";
|
|
2651
|
+
}>;
|
|
2652
|
+
changed: z.ZodBoolean;
|
|
2653
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
2654
|
+
unchanged: "unchanged";
|
|
2655
|
+
"unknown-track": "unknown-track";
|
|
2656
|
+
"no-frames-copied": "no-frames-copied";
|
|
2657
|
+
"not-staging": "not-staging";
|
|
2658
|
+
"not-trained": "not-trained";
|
|
2659
|
+
}>>;
|
|
2660
|
+
}, z.core.$strip>, "mutation">;
|
|
2661
|
+
/**
|
|
2662
|
+
* Where to download the ANNOTATED dataset.
|
|
2663
|
+
*
|
|
2664
|
+
* The sibling of `getTrainingExportUrl` and deliberately not the same
|
|
2665
|
+
* archive: that one streams a marked track's stored media verbatim, this one
|
|
2666
|
+
* streams the retrain COPIES plus an `annotations.json` carrying, for every
|
|
2667
|
+
* subject, the canonical full-frame box AND the geometry derived for each
|
|
2668
|
+
* model shape (letterboxed root / zone-cropped package / subject-cropped
|
|
2669
|
+
* classifier). Derived at export, never stored — one box in, three shapes
|
|
2670
|
+
* out, so two crops of the same subject can never end up in one feature
|
|
2671
|
+
* space (D52).
|
|
2672
|
+
*/
|
|
2673
|
+
readonly getRetrainExportUrl: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
2674
|
+
deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
2675
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2676
|
+
url: z.ZodString;
|
|
2677
|
+
}, z.core.$strip>, "query">;
|
|
1740
2678
|
readonly getEventMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
1741
2679
|
eventId: z.ZodString;
|
|
1742
2680
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1866,15 +2804,6 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1866
2804
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
1867
2805
|
minScore: z.ZodDefault<z.ZodNumber>;
|
|
1868
2806
|
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1869
|
-
kind: z.ZodLiteral<"object">;
|
|
1870
|
-
source: z.ZodOptional<z.ZodEnum<{
|
|
1871
|
-
pipeline: "pipeline";
|
|
1872
|
-
onboard: "onboard";
|
|
1873
|
-
}>>;
|
|
1874
|
-
frameId: z.ZodOptional<z.ZodString>;
|
|
1875
|
-
trackId: z.ZodOptional<z.ZodString>;
|
|
1876
|
-
className: z.ZodString;
|
|
1877
|
-
label: z.ZodOptional<z.ZodString>;
|
|
1878
2807
|
confidence: z.ZodOptional<z.ZodNumber>;
|
|
1879
2808
|
bbox: z.ZodOptional<z.ZodObject<{
|
|
1880
2809
|
x: z.ZodNumber;
|
|
@@ -1904,6 +2833,28 @@ export declare const pipelineAnalyticsCapability: {
|
|
|
1904
2833
|
keyFrameMediaKey: z.ZodOptional<z.ZodString>;
|
|
1905
2834
|
mediaUrl: z.ZodOptional<z.ZodString>;
|
|
1906
2835
|
importance: z.ZodOptional<z.ZodNumber>;
|
|
2836
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2837
|
+
labelScore: z.ZodOptional<z.ZodNumber>;
|
|
2838
|
+
labelMeta: z.ZodOptional<z.ZodObject<{
|
|
2839
|
+
stepId: z.ZodString;
|
|
2840
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
2841
|
+
decidedAt: z.ZodNumber;
|
|
2842
|
+
}, z.core.$strip>>;
|
|
2843
|
+
subLabel: z.ZodOptional<z.ZodString>;
|
|
2844
|
+
subLabelScore: z.ZodOptional<z.ZodNumber>;
|
|
2845
|
+
subLabelMeta: z.ZodOptional<z.ZodObject<{
|
|
2846
|
+
stepId: z.ZodString;
|
|
2847
|
+
modelId: z.ZodOptional<z.ZodString>;
|
|
2848
|
+
decidedAt: z.ZodNumber;
|
|
2849
|
+
}, z.core.$strip>>;
|
|
2850
|
+
kind: z.ZodLiteral<"object">;
|
|
2851
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
2852
|
+
pipeline: "pipeline";
|
|
2853
|
+
onboard: "onboard";
|
|
2854
|
+
}>>;
|
|
2855
|
+
frameId: z.ZodOptional<z.ZodString>;
|
|
2856
|
+
trackId: z.ZodOptional<z.ZodString>;
|
|
2857
|
+
className: z.ZodString;
|
|
1907
2858
|
id: z.ZodString;
|
|
1908
2859
|
deviceId: z.ZodNumber;
|
|
1909
2860
|
timestamp: z.ZodNumber;
|