@camstack/types 1.2.7 → 1.2.8

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.
@@ -9315,6 +9315,450 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9315
9315
  meta: object;
9316
9316
  }>;
9317
9317
  }>>;
9318
+ notificationRules: import("@trpc/server").TRPCBuiltRouter<{
9319
+ ctx: TrpcContext;
9320
+ meta: object;
9321
+ errorShape: import("@camstack/types").AugmentedErrorShape;
9322
+ transformer: true;
9323
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
9324
+ listRules: import("@trpc/server").TRPCQueryProcedure<{
9325
+ input: {
9326
+ [x: string]: unknown;
9327
+ };
9328
+ output: {
9329
+ rules: {
9330
+ name: string;
9331
+ enabled: boolean;
9332
+ delivery: "immediate" | "track-end";
9333
+ conditions: {
9334
+ devices?: number[] | undefined;
9335
+ classes?: string[] | undefined;
9336
+ classesExclude?: string[] | undefined;
9337
+ minConfidence?: number | undefined;
9338
+ zones?: {
9339
+ ids: string[];
9340
+ match: "any" | "all";
9341
+ } | undefined;
9342
+ zonesExclude?: string[] | undefined;
9343
+ labelEquals?: string[] | undefined;
9344
+ identities?: string[] | undefined;
9345
+ plates?: {
9346
+ values: string[];
9347
+ maxDistance: number;
9348
+ } | undefined;
9349
+ };
9350
+ targets: {
9351
+ targetId: string;
9352
+ params?: Record<string, unknown> | undefined;
9353
+ }[];
9354
+ media: {
9355
+ attach: "none" | "best" | "keyFrame";
9356
+ };
9357
+ throttle: {
9358
+ cooldownSec: number;
9359
+ scope: "rule" | "rule-device";
9360
+ };
9361
+ priority: number;
9362
+ id: string;
9363
+ createdBy: string;
9364
+ createdAt: number;
9365
+ updatedAt: number;
9366
+ schedule?: {
9367
+ windows: {
9368
+ days: number[];
9369
+ startMinute: number;
9370
+ endMinute: number;
9371
+ }[];
9372
+ timezone?: string | undefined;
9373
+ invert?: boolean | undefined;
9374
+ } | undefined;
9375
+ template?: {
9376
+ title?: string | undefined;
9377
+ body?: string | undefined;
9378
+ } | undefined;
9379
+ }[];
9380
+ };
9381
+ meta: object;
9382
+ }>;
9383
+ getRule: import("@trpc/server").TRPCQueryProcedure<{
9384
+ input: {
9385
+ [x: string]: unknown;
9386
+ ruleId: string;
9387
+ };
9388
+ output: {
9389
+ rule: {
9390
+ name: string;
9391
+ enabled: boolean;
9392
+ delivery: "immediate" | "track-end";
9393
+ conditions: {
9394
+ devices?: number[] | undefined;
9395
+ classes?: string[] | undefined;
9396
+ classesExclude?: string[] | undefined;
9397
+ minConfidence?: number | undefined;
9398
+ zones?: {
9399
+ ids: string[];
9400
+ match: "any" | "all";
9401
+ } | undefined;
9402
+ zonesExclude?: string[] | undefined;
9403
+ labelEquals?: string[] | undefined;
9404
+ identities?: string[] | undefined;
9405
+ plates?: {
9406
+ values: string[];
9407
+ maxDistance: number;
9408
+ } | undefined;
9409
+ };
9410
+ targets: {
9411
+ targetId: string;
9412
+ params?: Record<string, unknown> | undefined;
9413
+ }[];
9414
+ media: {
9415
+ attach: "none" | "best" | "keyFrame";
9416
+ };
9417
+ throttle: {
9418
+ cooldownSec: number;
9419
+ scope: "rule" | "rule-device";
9420
+ };
9421
+ priority: number;
9422
+ id: string;
9423
+ createdBy: string;
9424
+ createdAt: number;
9425
+ updatedAt: number;
9426
+ schedule?: {
9427
+ windows: {
9428
+ days: number[];
9429
+ startMinute: number;
9430
+ endMinute: number;
9431
+ }[];
9432
+ timezone?: string | undefined;
9433
+ invert?: boolean | undefined;
9434
+ } | undefined;
9435
+ template?: {
9436
+ title?: string | undefined;
9437
+ body?: string | undefined;
9438
+ } | undefined;
9439
+ } | null;
9440
+ };
9441
+ meta: object;
9442
+ }>;
9443
+ createRule: import("@trpc/server").TRPCMutationProcedure<{
9444
+ input: {
9445
+ [x: string]: unknown;
9446
+ rule: {
9447
+ name: string;
9448
+ delivery: "immediate" | "track-end";
9449
+ targets: {
9450
+ targetId: string;
9451
+ params?: Record<string, unknown> | undefined;
9452
+ }[];
9453
+ enabled?: boolean | undefined;
9454
+ conditions?: {
9455
+ devices?: number[] | undefined;
9456
+ classes?: string[] | undefined;
9457
+ classesExclude?: string[] | undefined;
9458
+ minConfidence?: number | undefined;
9459
+ zones?: {
9460
+ ids: string[];
9461
+ match?: "any" | "all" | undefined;
9462
+ } | undefined;
9463
+ zonesExclude?: string[] | undefined;
9464
+ labelEquals?: string[] | undefined;
9465
+ identities?: string[] | undefined;
9466
+ plates?: {
9467
+ values: string[];
9468
+ maxDistance?: number | undefined;
9469
+ } | undefined;
9470
+ } | undefined;
9471
+ schedule?: {
9472
+ windows: {
9473
+ days: number[];
9474
+ startMinute: number;
9475
+ endMinute: number;
9476
+ }[];
9477
+ timezone?: string | undefined;
9478
+ invert?: boolean | undefined;
9479
+ } | undefined;
9480
+ media?: {
9481
+ attach?: "none" | "best" | "keyFrame" | undefined;
9482
+ } | undefined;
9483
+ throttle?: {
9484
+ cooldownSec?: number | undefined;
9485
+ scope?: "rule" | "rule-device" | undefined;
9486
+ } | undefined;
9487
+ template?: {
9488
+ title?: string | undefined;
9489
+ body?: string | undefined;
9490
+ } | undefined;
9491
+ priority?: number | undefined;
9492
+ };
9493
+ };
9494
+ output: {
9495
+ rule: {
9496
+ name: string;
9497
+ enabled: boolean;
9498
+ delivery: "immediate" | "track-end";
9499
+ conditions: {
9500
+ devices?: number[] | undefined;
9501
+ classes?: string[] | undefined;
9502
+ classesExclude?: string[] | undefined;
9503
+ minConfidence?: number | undefined;
9504
+ zones?: {
9505
+ ids: string[];
9506
+ match: "any" | "all";
9507
+ } | undefined;
9508
+ zonesExclude?: string[] | undefined;
9509
+ labelEquals?: string[] | undefined;
9510
+ identities?: string[] | undefined;
9511
+ plates?: {
9512
+ values: string[];
9513
+ maxDistance: number;
9514
+ } | undefined;
9515
+ };
9516
+ targets: {
9517
+ targetId: string;
9518
+ params?: Record<string, unknown> | undefined;
9519
+ }[];
9520
+ media: {
9521
+ attach: "none" | "best" | "keyFrame";
9522
+ };
9523
+ throttle: {
9524
+ cooldownSec: number;
9525
+ scope: "rule" | "rule-device";
9526
+ };
9527
+ priority: number;
9528
+ id: string;
9529
+ createdBy: string;
9530
+ createdAt: number;
9531
+ updatedAt: number;
9532
+ schedule?: {
9533
+ windows: {
9534
+ days: number[];
9535
+ startMinute: number;
9536
+ endMinute: number;
9537
+ }[];
9538
+ timezone?: string | undefined;
9539
+ invert?: boolean | undefined;
9540
+ } | undefined;
9541
+ template?: {
9542
+ title?: string | undefined;
9543
+ body?: string | undefined;
9544
+ } | undefined;
9545
+ };
9546
+ };
9547
+ meta: object;
9548
+ }>;
9549
+ updateRule: import("@trpc/server").TRPCMutationProcedure<{
9550
+ input: {
9551
+ [x: string]: unknown;
9552
+ ruleId: string;
9553
+ patch: {
9554
+ name?: string | undefined;
9555
+ enabled?: boolean | undefined;
9556
+ delivery?: "immediate" | "track-end" | undefined;
9557
+ conditions?: {
9558
+ devices?: number[] | undefined;
9559
+ classes?: string[] | undefined;
9560
+ classesExclude?: string[] | undefined;
9561
+ minConfidence?: number | undefined;
9562
+ zones?: {
9563
+ ids: string[];
9564
+ match?: "any" | "all" | undefined;
9565
+ } | undefined;
9566
+ zonesExclude?: string[] | undefined;
9567
+ labelEquals?: string[] | undefined;
9568
+ identities?: string[] | undefined;
9569
+ plates?: {
9570
+ values: string[];
9571
+ maxDistance?: number | undefined;
9572
+ } | undefined;
9573
+ } | undefined;
9574
+ schedule?: {
9575
+ windows: {
9576
+ days: number[];
9577
+ startMinute: number;
9578
+ endMinute: number;
9579
+ }[];
9580
+ timezone?: string | undefined;
9581
+ invert?: boolean | undefined;
9582
+ } | undefined;
9583
+ targets?: {
9584
+ targetId: string;
9585
+ params?: Record<string, unknown> | undefined;
9586
+ }[] | undefined;
9587
+ media?: {
9588
+ attach?: "none" | "best" | "keyFrame" | undefined;
9589
+ } | undefined;
9590
+ throttle?: {
9591
+ cooldownSec?: number | undefined;
9592
+ scope?: "rule" | "rule-device" | undefined;
9593
+ } | undefined;
9594
+ template?: {
9595
+ title?: string | undefined;
9596
+ body?: string | undefined;
9597
+ } | undefined;
9598
+ priority?: number | undefined;
9599
+ };
9600
+ };
9601
+ output: {
9602
+ rule: {
9603
+ name: string;
9604
+ enabled: boolean;
9605
+ delivery: "immediate" | "track-end";
9606
+ conditions: {
9607
+ devices?: number[] | undefined;
9608
+ classes?: string[] | undefined;
9609
+ classesExclude?: string[] | undefined;
9610
+ minConfidence?: number | undefined;
9611
+ zones?: {
9612
+ ids: string[];
9613
+ match: "any" | "all";
9614
+ } | undefined;
9615
+ zonesExclude?: string[] | undefined;
9616
+ labelEquals?: string[] | undefined;
9617
+ identities?: string[] | undefined;
9618
+ plates?: {
9619
+ values: string[];
9620
+ maxDistance: number;
9621
+ } | undefined;
9622
+ };
9623
+ targets: {
9624
+ targetId: string;
9625
+ params?: Record<string, unknown> | undefined;
9626
+ }[];
9627
+ media: {
9628
+ attach: "none" | "best" | "keyFrame";
9629
+ };
9630
+ throttle: {
9631
+ cooldownSec: number;
9632
+ scope: "rule" | "rule-device";
9633
+ };
9634
+ priority: number;
9635
+ id: string;
9636
+ createdBy: string;
9637
+ createdAt: number;
9638
+ updatedAt: number;
9639
+ schedule?: {
9640
+ windows: {
9641
+ days: number[];
9642
+ startMinute: number;
9643
+ endMinute: number;
9644
+ }[];
9645
+ timezone?: string | undefined;
9646
+ invert?: boolean | undefined;
9647
+ } | undefined;
9648
+ template?: {
9649
+ title?: string | undefined;
9650
+ body?: string | undefined;
9651
+ } | undefined;
9652
+ };
9653
+ };
9654
+ meta: object;
9655
+ }>;
9656
+ deleteRule: import("@trpc/server").TRPCMutationProcedure<{
9657
+ input: {
9658
+ [x: string]: unknown;
9659
+ ruleId: string;
9660
+ };
9661
+ output: {
9662
+ success: true;
9663
+ };
9664
+ meta: object;
9665
+ }>;
9666
+ setRuleEnabled: import("@trpc/server").TRPCMutationProcedure<{
9667
+ input: {
9668
+ [x: string]: unknown;
9669
+ ruleId: string;
9670
+ enabled: boolean;
9671
+ };
9672
+ output: {
9673
+ success: true;
9674
+ };
9675
+ meta: object;
9676
+ }>;
9677
+ testRule: import("@trpc/server").TRPCMutationProcedure<{
9678
+ input: {
9679
+ [x: string]: unknown;
9680
+ rule: {
9681
+ name: string;
9682
+ delivery: "immediate" | "track-end";
9683
+ targets: {
9684
+ targetId: string;
9685
+ params?: Record<string, unknown> | undefined;
9686
+ }[];
9687
+ enabled?: boolean | undefined;
9688
+ conditions?: {
9689
+ devices?: number[] | undefined;
9690
+ classes?: string[] | undefined;
9691
+ classesExclude?: string[] | undefined;
9692
+ minConfidence?: number | undefined;
9693
+ zones?: {
9694
+ ids: string[];
9695
+ match?: "any" | "all" | undefined;
9696
+ } | undefined;
9697
+ zonesExclude?: string[] | undefined;
9698
+ labelEquals?: string[] | undefined;
9699
+ identities?: string[] | undefined;
9700
+ plates?: {
9701
+ values: string[];
9702
+ maxDistance?: number | undefined;
9703
+ } | undefined;
9704
+ } | undefined;
9705
+ schedule?: {
9706
+ windows: {
9707
+ days: number[];
9708
+ startMinute: number;
9709
+ endMinute: number;
9710
+ }[];
9711
+ timezone?: string | undefined;
9712
+ invert?: boolean | undefined;
9713
+ } | undefined;
9714
+ media?: {
9715
+ attach?: "none" | "best" | "keyFrame" | undefined;
9716
+ } | undefined;
9717
+ throttle?: {
9718
+ cooldownSec?: number | undefined;
9719
+ scope?: "rule" | "rule-device" | undefined;
9720
+ } | undefined;
9721
+ template?: {
9722
+ title?: string | undefined;
9723
+ body?: string | undefined;
9724
+ } | undefined;
9725
+ priority?: number | undefined;
9726
+ };
9727
+ lookbackMinutes?: number | undefined;
9728
+ };
9729
+ output: {
9730
+ results: {
9731
+ recordId: string;
9732
+ recordKind: "object-event" | "track";
9733
+ deviceId: number;
9734
+ timestamp: number;
9735
+ wouldFire: boolean;
9736
+ failedCondition?: string | undefined;
9737
+ className?: string | undefined;
9738
+ label?: string | undefined;
9739
+ }[];
9740
+ };
9741
+ meta: object;
9742
+ }>;
9743
+ getConditionCatalog: import("@trpc/server").TRPCQueryProcedure<{
9744
+ input: {
9745
+ [x: string]: unknown;
9746
+ };
9747
+ output: {
9748
+ catalog: {
9749
+ id: string;
9750
+ group: "zones" | "label" | "class" | "scope" | "schedule" | "quality";
9751
+ label: string;
9752
+ valueType: "schedule" | "deviceIdList" | "stringList" | "number01" | "zoneSelection" | "zoneIdList" | "plateMatcher";
9753
+ operator: "in" | "notIn" | "anyOf" | "allOf" | "gte" | "fuzzyIn" | "withinSchedule";
9754
+ appliesTo: ("immediate" | "track-end")[];
9755
+ phase: string;
9756
+ description?: string | undefined;
9757
+ }[];
9758
+ };
9759
+ meta: object;
9760
+ }>;
9761
+ }>>;
9318
9762
  notifier: import("@trpc/server").TRPCBuiltRouter<{
9319
9763
  ctx: TrpcContext;
9320
9764
  meta: object;
@@ -10156,7 +10600,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10156
10600
  input: {
10157
10601
  [x: string]: unknown;
10158
10602
  olderThanMs: number;
10159
- reason?: "manual" | "retention" | "quota" | "operator" | undefined;
10603
+ reason?: "manual" | "operator" | "retention" | "quota" | undefined;
10160
10604
  };
10161
10605
  output: {
10162
10606
  motion: number;
@@ -10188,7 +10632,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10188
10632
  at: number;
10189
10633
  domain: "recording" | "events";
10190
10634
  op: "prune" | "manual-delete" | "rescan" | "retention-run";
10191
- reason: "manual" | "retention" | "quota" | "operator";
10635
+ reason: "manual" | "operator" | "retention" | "quota";
10192
10636
  deviceId: number | null;
10193
10637
  nodeId: string;
10194
10638
  itemsAffected: number;
@@ -10202,11 +10646,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10202
10646
  input: {
10203
10647
  [x: string]: unknown;
10204
10648
  eventId: string;
10205
- kind?: "snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall" | undefined;
10649
+ kind?: "snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall" | undefined;
10206
10650
  };
10207
10651
  output: readonly {
10208
10652
  key: string;
10209
- kind: "snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall";
10653
+ kind: "snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall";
10210
10654
  base64: string;
10211
10655
  sizeBytes: number;
10212
10656
  timestamp: number;
@@ -10217,11 +10661,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10217
10661
  input: {
10218
10662
  [x: string]: unknown;
10219
10663
  trackId: string;
10220
- kinds?: ("snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall")[] | undefined;
10664
+ kinds?: ("snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall")[] | undefined;
10221
10665
  };
10222
10666
  output: readonly {
10223
10667
  key: string;
10224
- kind: "snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall";
10668
+ kind: "snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall";
10225
10669
  base64: string;
10226
10670
  sizeBytes: number;
10227
10671
  timestamp: number;
@@ -10621,6 +11065,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10621
11065
  sessionId?: string | undefined;
10622
11066
  plane?: "full" | "frame" | undefined;
10623
11067
  deviceKey?: string | undefined;
11068
+ nativeCropRef?: {
11069
+ handle: {
11070
+ shmId: string;
11071
+ slot: number;
11072
+ seq: number;
11073
+ width: number;
11074
+ height: number;
11075
+ format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
11076
+ pts: number;
11077
+ byteLength: number;
11078
+ nodeId: string;
11079
+ slotCount: number;
11080
+ };
11081
+ cropFrameSpace: {
11082
+ x: number;
11083
+ y: number;
11084
+ w: number;
11085
+ h: number;
11086
+ };
11087
+ } | undefined;
10624
11088
  };
10625
11089
  output: import("@camstack/types").FrameResult;
10626
11090
  meta: object;
@@ -11986,6 +12450,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
11986
12450
  embedding?: string | undefined;
11987
12451
  label?: string | undefined;
11988
12452
  alignedCropJpeg?: string | undefined;
12453
+ nativeFaceShortSidePx?: number | undefined;
11989
12454
  }[];
11990
12455
  } | null;
11991
12456
  meta: object;
@@ -13041,7 +13506,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
13041
13506
  input: {
13042
13507
  [x: string]: unknown;
13043
13508
  deviceId: number;
13044
- reason?: "manual" | "retention" | "quota" | "operator" | undefined;
13509
+ reason?: "manual" | "operator" | "retention" | "quota" | undefined;
13045
13510
  };
13046
13511
  output: {
13047
13512
  floorMs: number | null;
@@ -13074,7 +13539,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
13074
13539
  at: number;
13075
13540
  domain: "recording" | "events";
13076
13541
  op: "prune" | "manual-delete" | "rescan" | "retention-run";
13077
- reason: "manual" | "retention" | "quota" | "operator";
13542
+ reason: "manual" | "operator" | "retention" | "quota";
13078
13543
  deviceId: number | null;
13079
13544
  nodeId: string;
13080
13545
  itemsAffected: number;
@@ -26138,6 +26603,450 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26138
26603
  meta: object;
26139
26604
  }>;
26140
26605
  }>>;
26606
+ notificationRules: import("@trpc/server").TRPCBuiltRouter<{
26607
+ ctx: TrpcContext;
26608
+ meta: object;
26609
+ errorShape: import("@camstack/types").AugmentedErrorShape;
26610
+ transformer: true;
26611
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
26612
+ listRules: import("@trpc/server").TRPCQueryProcedure<{
26613
+ input: {
26614
+ [x: string]: unknown;
26615
+ };
26616
+ output: {
26617
+ rules: {
26618
+ name: string;
26619
+ enabled: boolean;
26620
+ delivery: "immediate" | "track-end";
26621
+ conditions: {
26622
+ devices?: number[] | undefined;
26623
+ classes?: string[] | undefined;
26624
+ classesExclude?: string[] | undefined;
26625
+ minConfidence?: number | undefined;
26626
+ zones?: {
26627
+ ids: string[];
26628
+ match: "any" | "all";
26629
+ } | undefined;
26630
+ zonesExclude?: string[] | undefined;
26631
+ labelEquals?: string[] | undefined;
26632
+ identities?: string[] | undefined;
26633
+ plates?: {
26634
+ values: string[];
26635
+ maxDistance: number;
26636
+ } | undefined;
26637
+ };
26638
+ targets: {
26639
+ targetId: string;
26640
+ params?: Record<string, unknown> | undefined;
26641
+ }[];
26642
+ media: {
26643
+ attach: "none" | "best" | "keyFrame";
26644
+ };
26645
+ throttle: {
26646
+ cooldownSec: number;
26647
+ scope: "rule" | "rule-device";
26648
+ };
26649
+ priority: number;
26650
+ id: string;
26651
+ createdBy: string;
26652
+ createdAt: number;
26653
+ updatedAt: number;
26654
+ schedule?: {
26655
+ windows: {
26656
+ days: number[];
26657
+ startMinute: number;
26658
+ endMinute: number;
26659
+ }[];
26660
+ timezone?: string | undefined;
26661
+ invert?: boolean | undefined;
26662
+ } | undefined;
26663
+ template?: {
26664
+ title?: string | undefined;
26665
+ body?: string | undefined;
26666
+ } | undefined;
26667
+ }[];
26668
+ };
26669
+ meta: object;
26670
+ }>;
26671
+ getRule: import("@trpc/server").TRPCQueryProcedure<{
26672
+ input: {
26673
+ [x: string]: unknown;
26674
+ ruleId: string;
26675
+ };
26676
+ output: {
26677
+ rule: {
26678
+ name: string;
26679
+ enabled: boolean;
26680
+ delivery: "immediate" | "track-end";
26681
+ conditions: {
26682
+ devices?: number[] | undefined;
26683
+ classes?: string[] | undefined;
26684
+ classesExclude?: string[] | undefined;
26685
+ minConfidence?: number | undefined;
26686
+ zones?: {
26687
+ ids: string[];
26688
+ match: "any" | "all";
26689
+ } | undefined;
26690
+ zonesExclude?: string[] | undefined;
26691
+ labelEquals?: string[] | undefined;
26692
+ identities?: string[] | undefined;
26693
+ plates?: {
26694
+ values: string[];
26695
+ maxDistance: number;
26696
+ } | undefined;
26697
+ };
26698
+ targets: {
26699
+ targetId: string;
26700
+ params?: Record<string, unknown> | undefined;
26701
+ }[];
26702
+ media: {
26703
+ attach: "none" | "best" | "keyFrame";
26704
+ };
26705
+ throttle: {
26706
+ cooldownSec: number;
26707
+ scope: "rule" | "rule-device";
26708
+ };
26709
+ priority: number;
26710
+ id: string;
26711
+ createdBy: string;
26712
+ createdAt: number;
26713
+ updatedAt: number;
26714
+ schedule?: {
26715
+ windows: {
26716
+ days: number[];
26717
+ startMinute: number;
26718
+ endMinute: number;
26719
+ }[];
26720
+ timezone?: string | undefined;
26721
+ invert?: boolean | undefined;
26722
+ } | undefined;
26723
+ template?: {
26724
+ title?: string | undefined;
26725
+ body?: string | undefined;
26726
+ } | undefined;
26727
+ } | null;
26728
+ };
26729
+ meta: object;
26730
+ }>;
26731
+ createRule: import("@trpc/server").TRPCMutationProcedure<{
26732
+ input: {
26733
+ [x: string]: unknown;
26734
+ rule: {
26735
+ name: string;
26736
+ delivery: "immediate" | "track-end";
26737
+ targets: {
26738
+ targetId: string;
26739
+ params?: Record<string, unknown> | undefined;
26740
+ }[];
26741
+ enabled?: boolean | undefined;
26742
+ conditions?: {
26743
+ devices?: number[] | undefined;
26744
+ classes?: string[] | undefined;
26745
+ classesExclude?: string[] | undefined;
26746
+ minConfidence?: number | undefined;
26747
+ zones?: {
26748
+ ids: string[];
26749
+ match?: "any" | "all" | undefined;
26750
+ } | undefined;
26751
+ zonesExclude?: string[] | undefined;
26752
+ labelEquals?: string[] | undefined;
26753
+ identities?: string[] | undefined;
26754
+ plates?: {
26755
+ values: string[];
26756
+ maxDistance?: number | undefined;
26757
+ } | undefined;
26758
+ } | undefined;
26759
+ schedule?: {
26760
+ windows: {
26761
+ days: number[];
26762
+ startMinute: number;
26763
+ endMinute: number;
26764
+ }[];
26765
+ timezone?: string | undefined;
26766
+ invert?: boolean | undefined;
26767
+ } | undefined;
26768
+ media?: {
26769
+ attach?: "none" | "best" | "keyFrame" | undefined;
26770
+ } | undefined;
26771
+ throttle?: {
26772
+ cooldownSec?: number | undefined;
26773
+ scope?: "rule" | "rule-device" | undefined;
26774
+ } | undefined;
26775
+ template?: {
26776
+ title?: string | undefined;
26777
+ body?: string | undefined;
26778
+ } | undefined;
26779
+ priority?: number | undefined;
26780
+ };
26781
+ };
26782
+ output: {
26783
+ rule: {
26784
+ name: string;
26785
+ enabled: boolean;
26786
+ delivery: "immediate" | "track-end";
26787
+ conditions: {
26788
+ devices?: number[] | undefined;
26789
+ classes?: string[] | undefined;
26790
+ classesExclude?: string[] | undefined;
26791
+ minConfidence?: number | undefined;
26792
+ zones?: {
26793
+ ids: string[];
26794
+ match: "any" | "all";
26795
+ } | undefined;
26796
+ zonesExclude?: string[] | undefined;
26797
+ labelEquals?: string[] | undefined;
26798
+ identities?: string[] | undefined;
26799
+ plates?: {
26800
+ values: string[];
26801
+ maxDistance: number;
26802
+ } | undefined;
26803
+ };
26804
+ targets: {
26805
+ targetId: string;
26806
+ params?: Record<string, unknown> | undefined;
26807
+ }[];
26808
+ media: {
26809
+ attach: "none" | "best" | "keyFrame";
26810
+ };
26811
+ throttle: {
26812
+ cooldownSec: number;
26813
+ scope: "rule" | "rule-device";
26814
+ };
26815
+ priority: number;
26816
+ id: string;
26817
+ createdBy: string;
26818
+ createdAt: number;
26819
+ updatedAt: number;
26820
+ schedule?: {
26821
+ windows: {
26822
+ days: number[];
26823
+ startMinute: number;
26824
+ endMinute: number;
26825
+ }[];
26826
+ timezone?: string | undefined;
26827
+ invert?: boolean | undefined;
26828
+ } | undefined;
26829
+ template?: {
26830
+ title?: string | undefined;
26831
+ body?: string | undefined;
26832
+ } | undefined;
26833
+ };
26834
+ };
26835
+ meta: object;
26836
+ }>;
26837
+ updateRule: import("@trpc/server").TRPCMutationProcedure<{
26838
+ input: {
26839
+ [x: string]: unknown;
26840
+ ruleId: string;
26841
+ patch: {
26842
+ name?: string | undefined;
26843
+ enabled?: boolean | undefined;
26844
+ delivery?: "immediate" | "track-end" | undefined;
26845
+ conditions?: {
26846
+ devices?: number[] | undefined;
26847
+ classes?: string[] | undefined;
26848
+ classesExclude?: string[] | undefined;
26849
+ minConfidence?: number | undefined;
26850
+ zones?: {
26851
+ ids: string[];
26852
+ match?: "any" | "all" | undefined;
26853
+ } | undefined;
26854
+ zonesExclude?: string[] | undefined;
26855
+ labelEquals?: string[] | undefined;
26856
+ identities?: string[] | undefined;
26857
+ plates?: {
26858
+ values: string[];
26859
+ maxDistance?: number | undefined;
26860
+ } | undefined;
26861
+ } | undefined;
26862
+ schedule?: {
26863
+ windows: {
26864
+ days: number[];
26865
+ startMinute: number;
26866
+ endMinute: number;
26867
+ }[];
26868
+ timezone?: string | undefined;
26869
+ invert?: boolean | undefined;
26870
+ } | undefined;
26871
+ targets?: {
26872
+ targetId: string;
26873
+ params?: Record<string, unknown> | undefined;
26874
+ }[] | undefined;
26875
+ media?: {
26876
+ attach?: "none" | "best" | "keyFrame" | undefined;
26877
+ } | undefined;
26878
+ throttle?: {
26879
+ cooldownSec?: number | undefined;
26880
+ scope?: "rule" | "rule-device" | undefined;
26881
+ } | undefined;
26882
+ template?: {
26883
+ title?: string | undefined;
26884
+ body?: string | undefined;
26885
+ } | undefined;
26886
+ priority?: number | undefined;
26887
+ };
26888
+ };
26889
+ output: {
26890
+ rule: {
26891
+ name: string;
26892
+ enabled: boolean;
26893
+ delivery: "immediate" | "track-end";
26894
+ conditions: {
26895
+ devices?: number[] | undefined;
26896
+ classes?: string[] | undefined;
26897
+ classesExclude?: string[] | undefined;
26898
+ minConfidence?: number | undefined;
26899
+ zones?: {
26900
+ ids: string[];
26901
+ match: "any" | "all";
26902
+ } | undefined;
26903
+ zonesExclude?: string[] | undefined;
26904
+ labelEquals?: string[] | undefined;
26905
+ identities?: string[] | undefined;
26906
+ plates?: {
26907
+ values: string[];
26908
+ maxDistance: number;
26909
+ } | undefined;
26910
+ };
26911
+ targets: {
26912
+ targetId: string;
26913
+ params?: Record<string, unknown> | undefined;
26914
+ }[];
26915
+ media: {
26916
+ attach: "none" | "best" | "keyFrame";
26917
+ };
26918
+ throttle: {
26919
+ cooldownSec: number;
26920
+ scope: "rule" | "rule-device";
26921
+ };
26922
+ priority: number;
26923
+ id: string;
26924
+ createdBy: string;
26925
+ createdAt: number;
26926
+ updatedAt: number;
26927
+ schedule?: {
26928
+ windows: {
26929
+ days: number[];
26930
+ startMinute: number;
26931
+ endMinute: number;
26932
+ }[];
26933
+ timezone?: string | undefined;
26934
+ invert?: boolean | undefined;
26935
+ } | undefined;
26936
+ template?: {
26937
+ title?: string | undefined;
26938
+ body?: string | undefined;
26939
+ } | undefined;
26940
+ };
26941
+ };
26942
+ meta: object;
26943
+ }>;
26944
+ deleteRule: import("@trpc/server").TRPCMutationProcedure<{
26945
+ input: {
26946
+ [x: string]: unknown;
26947
+ ruleId: string;
26948
+ };
26949
+ output: {
26950
+ success: true;
26951
+ };
26952
+ meta: object;
26953
+ }>;
26954
+ setRuleEnabled: import("@trpc/server").TRPCMutationProcedure<{
26955
+ input: {
26956
+ [x: string]: unknown;
26957
+ ruleId: string;
26958
+ enabled: boolean;
26959
+ };
26960
+ output: {
26961
+ success: true;
26962
+ };
26963
+ meta: object;
26964
+ }>;
26965
+ testRule: import("@trpc/server").TRPCMutationProcedure<{
26966
+ input: {
26967
+ [x: string]: unknown;
26968
+ rule: {
26969
+ name: string;
26970
+ delivery: "immediate" | "track-end";
26971
+ targets: {
26972
+ targetId: string;
26973
+ params?: Record<string, unknown> | undefined;
26974
+ }[];
26975
+ enabled?: boolean | undefined;
26976
+ conditions?: {
26977
+ devices?: number[] | undefined;
26978
+ classes?: string[] | undefined;
26979
+ classesExclude?: string[] | undefined;
26980
+ minConfidence?: number | undefined;
26981
+ zones?: {
26982
+ ids: string[];
26983
+ match?: "any" | "all" | undefined;
26984
+ } | undefined;
26985
+ zonesExclude?: string[] | undefined;
26986
+ labelEquals?: string[] | undefined;
26987
+ identities?: string[] | undefined;
26988
+ plates?: {
26989
+ values: string[];
26990
+ maxDistance?: number | undefined;
26991
+ } | undefined;
26992
+ } | undefined;
26993
+ schedule?: {
26994
+ windows: {
26995
+ days: number[];
26996
+ startMinute: number;
26997
+ endMinute: number;
26998
+ }[];
26999
+ timezone?: string | undefined;
27000
+ invert?: boolean | undefined;
27001
+ } | undefined;
27002
+ media?: {
27003
+ attach?: "none" | "best" | "keyFrame" | undefined;
27004
+ } | undefined;
27005
+ throttle?: {
27006
+ cooldownSec?: number | undefined;
27007
+ scope?: "rule" | "rule-device" | undefined;
27008
+ } | undefined;
27009
+ template?: {
27010
+ title?: string | undefined;
27011
+ body?: string | undefined;
27012
+ } | undefined;
27013
+ priority?: number | undefined;
27014
+ };
27015
+ lookbackMinutes?: number | undefined;
27016
+ };
27017
+ output: {
27018
+ results: {
27019
+ recordId: string;
27020
+ recordKind: "object-event" | "track";
27021
+ deviceId: number;
27022
+ timestamp: number;
27023
+ wouldFire: boolean;
27024
+ failedCondition?: string | undefined;
27025
+ className?: string | undefined;
27026
+ label?: string | undefined;
27027
+ }[];
27028
+ };
27029
+ meta: object;
27030
+ }>;
27031
+ getConditionCatalog: import("@trpc/server").TRPCQueryProcedure<{
27032
+ input: {
27033
+ [x: string]: unknown;
27034
+ };
27035
+ output: {
27036
+ catalog: {
27037
+ id: string;
27038
+ group: "zones" | "label" | "class" | "scope" | "schedule" | "quality";
27039
+ label: string;
27040
+ valueType: "schedule" | "deviceIdList" | "stringList" | "number01" | "zoneSelection" | "zoneIdList" | "plateMatcher";
27041
+ operator: "in" | "notIn" | "anyOf" | "allOf" | "gte" | "fuzzyIn" | "withinSchedule";
27042
+ appliesTo: ("immediate" | "track-end")[];
27043
+ phase: string;
27044
+ description?: string | undefined;
27045
+ }[];
27046
+ };
27047
+ meta: object;
27048
+ }>;
27049
+ }>>;
26141
27050
  notifier: import("@trpc/server").TRPCBuiltRouter<{
26142
27051
  ctx: TrpcContext;
26143
27052
  meta: object;
@@ -26979,7 +27888,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26979
27888
  input: {
26980
27889
  [x: string]: unknown;
26981
27890
  olderThanMs: number;
26982
- reason?: "manual" | "retention" | "quota" | "operator" | undefined;
27891
+ reason?: "manual" | "operator" | "retention" | "quota" | undefined;
26983
27892
  };
26984
27893
  output: {
26985
27894
  motion: number;
@@ -27011,7 +27920,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
27011
27920
  at: number;
27012
27921
  domain: "recording" | "events";
27013
27922
  op: "prune" | "manual-delete" | "rescan" | "retention-run";
27014
- reason: "manual" | "retention" | "quota" | "operator";
27923
+ reason: "manual" | "operator" | "retention" | "quota";
27015
27924
  deviceId: number | null;
27016
27925
  nodeId: string;
27017
27926
  itemsAffected: number;
@@ -27025,11 +27934,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
27025
27934
  input: {
27026
27935
  [x: string]: unknown;
27027
27936
  eventId: string;
27028
- kind?: "snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall" | undefined;
27937
+ kind?: "snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall" | undefined;
27029
27938
  };
27030
27939
  output: readonly {
27031
27940
  key: string;
27032
- kind: "snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall";
27941
+ kind: "snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall";
27033
27942
  base64: string;
27034
27943
  sizeBytes: number;
27035
27944
  timestamp: number;
@@ -27040,11 +27949,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
27040
27949
  input: {
27041
27950
  [x: string]: unknown;
27042
27951
  trackId: string;
27043
- kinds?: ("snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall")[] | undefined;
27952
+ kinds?: ("snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall")[] | undefined;
27044
27953
  };
27045
27954
  output: readonly {
27046
27955
  key: string;
27047
- kind: "snapshot" | "crop" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrame" | "keyFrameSmall" | "thumbnailSmall";
27956
+ kind: "snapshot" | "crop" | "keyFrame" | "thumbnail" | "firstFrame" | "lastFrame" | "fullFrame" | "fullFrameBoxed" | "faceCrop" | "plateCrop" | "keyFrameSmall" | "thumbnailSmall";
27048
27957
  base64: string;
27049
27958
  sizeBytes: number;
27050
27959
  timestamp: number;
@@ -27444,6 +28353,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
27444
28353
  sessionId?: string | undefined;
27445
28354
  plane?: "full" | "frame" | undefined;
27446
28355
  deviceKey?: string | undefined;
28356
+ nativeCropRef?: {
28357
+ handle: {
28358
+ shmId: string;
28359
+ slot: number;
28360
+ seq: number;
28361
+ width: number;
28362
+ height: number;
28363
+ format: "rgb" | "jpeg" | "bgr" | "yuv420" | "gray";
28364
+ pts: number;
28365
+ byteLength: number;
28366
+ nodeId: string;
28367
+ slotCount: number;
28368
+ };
28369
+ cropFrameSpace: {
28370
+ x: number;
28371
+ y: number;
28372
+ w: number;
28373
+ h: number;
28374
+ };
28375
+ } | undefined;
27447
28376
  };
27448
28377
  output: import("@camstack/types").FrameResult;
27449
28378
  meta: object;
@@ -28809,6 +29738,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
28809
29738
  embedding?: string | undefined;
28810
29739
  label?: string | undefined;
28811
29740
  alignedCropJpeg?: string | undefined;
29741
+ nativeFaceShortSidePx?: number | undefined;
28812
29742
  }[];
28813
29743
  } | null;
28814
29744
  meta: object;
@@ -29864,7 +30794,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29864
30794
  input: {
29865
30795
  [x: string]: unknown;
29866
30796
  deviceId: number;
29867
- reason?: "manual" | "retention" | "quota" | "operator" | undefined;
30797
+ reason?: "manual" | "operator" | "retention" | "quota" | undefined;
29868
30798
  };
29869
30799
  output: {
29870
30800
  floorMs: number | null;
@@ -29897,7 +30827,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29897
30827
  at: number;
29898
30828
  domain: "recording" | "events";
29899
30829
  op: "prune" | "manual-delete" | "rescan" | "retention-run";
29900
- reason: "manual" | "retention" | "quota" | "operator";
30830
+ reason: "manual" | "operator" | "retention" | "quota";
29901
30831
  deviceId: number | null;
29902
30832
  nodeId: string;
29903
30833
  itemsAffected: number;