@camstack/types 1.1.31 → 1.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/addon.js +1 -1
  2. package/dist/addon.mjs +1 -1
  3. package/dist/capabilities/addons.cap.d.ts +3 -1
  4. package/dist/capabilities/alerts.cap.d.ts +5 -5
  5. package/dist/capabilities/camera-streams.cap.d.ts +5 -5
  6. package/dist/capabilities/cap-router-predicates.d.ts +32 -0
  7. package/dist/capabilities/capability-definition.d.ts +18 -13
  8. package/dist/capabilities/consumables.cap.d.ts +1 -1
  9. package/dist/capabilities/custom-model-registry.cap.d.ts +36 -0
  10. package/dist/capabilities/index.d.ts +8 -15
  11. package/dist/capabilities/integrations.cap.d.ts +1 -1
  12. package/dist/capabilities/model-convert.cap.d.ts +21 -3
  13. package/dist/capabilities/model-distributor.cap.d.ts +36 -0
  14. package/dist/capabilities/network-quality.cap.d.ts +1 -1
  15. package/dist/capabilities/nodes.cap.d.ts +1 -1
  16. package/dist/capabilities/pipeline-executor.cap.d.ts +135 -8
  17. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +87 -44
  18. package/dist/capabilities/pipeline-runner.cap.d.ts +10 -69
  19. package/dist/capabilities/snapshot.cap.d.ts +3 -3
  20. package/dist/capabilities/stream-broker.cap.d.ts +9 -1
  21. package/dist/capabilities/system.cap.d.ts +1 -1
  22. package/dist/capabilities/toast.cap.d.ts +1 -1
  23. package/dist/capabilities/webrtc-session.cap.d.ts +15 -1
  24. package/dist/encode-profile.d.ts +2 -2
  25. package/dist/enums/event-category.d.ts +12 -0
  26. package/dist/generated/addon-api.d.ts +746 -636
  27. package/dist/generated/capability-router-map.d.ts +4 -16
  28. package/dist/generated/device-proxy.d.ts +0 -2
  29. package/dist/generated/method-access-map.d.ts +1 -1
  30. package/dist/generated/system-proxy.d.ts +2 -2
  31. package/dist/index.d.ts +1 -3
  32. package/dist/index.js +425 -349
  33. package/dist/index.mjs +412 -343
  34. package/dist/interfaces/capability.d.ts +0 -7
  35. package/dist/interfaces/event-bus.d.ts +9 -0
  36. package/dist/interfaces/pipeline-executor-capability.d.ts +14 -1
  37. package/dist/interfaces/pipeline-runner-capability.d.ts +11 -11
  38. package/dist/interfaces/recording-config.d.ts +2 -2
  39. package/dist/{sleep-CZDdRBua.mjs → sleep-Cc14_yxc.mjs} +12 -4
  40. package/dist/{sleep-Dirr8nGw.js → sleep-DmP-uxoe.js} +12 -4
  41. package/dist/types/agent-pipeline-settings.d.ts +18 -6
  42. package/dist/types/camera-pipeline.d.ts +17 -3
  43. package/dist/types/model-variant-groups.d.ts +90 -0
  44. package/dist/types/models.d.ts +60 -3
  45. package/package.json +1 -1
  46. package/dist/capabilities/restreamer.cap.d.ts +0 -54
  47. package/dist/capabilities/snapshot-provider.cap.d.ts +0 -43
  48. package/dist/capabilities/streaming-engine.cap.d.ts +0 -61
  49. package/dist/capabilities/webrtc.cap.d.ts +0 -75
  50. package/dist/interfaces/restreamer.d.ts +0 -23
  51. package/dist/interfaces/streaming.d.ts +0 -28
  52. package/dist/interfaces/webrtc-provider.d.ts +0 -34
@@ -748,225 +748,6 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
748
748
  meta: object;
749
749
  }>;
750
750
  }>>;
751
- snapshotProvider: import("@trpc/server").TRPCBuiltRouter<{
752
- ctx: TrpcContext;
753
- meta: object;
754
- errorShape: import("@camstack/types").AugmentedErrorShape;
755
- transformer: true;
756
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
757
- supportsDevice: import("@trpc/server").TRPCQueryProcedure<{
758
- input: {
759
- [x: string]: unknown;
760
- deviceId: number;
761
- };
762
- output: boolean;
763
- meta: object;
764
- }>;
765
- getSnapshot: import("@trpc/server").TRPCQueryProcedure<{
766
- input: {
767
- [x: string]: unknown;
768
- deviceId: number;
769
- streamId?: string | undefined;
770
- };
771
- output: {
772
- base64: string;
773
- contentType: string;
774
- } | null;
775
- meta: object;
776
- }>;
777
- }>>;
778
- webrtcSession: import("@trpc/server").TRPCBuiltRouter<{
779
- ctx: TrpcContext;
780
- meta: object;
781
- errorShape: import("@camstack/types").AugmentedErrorShape;
782
- transformer: true;
783
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
784
- listStreams: import("@trpc/server").TRPCQueryProcedure<{
785
- input: {
786
- [x: string]: unknown;
787
- deviceId: number;
788
- };
789
- output: {
790
- id: string;
791
- label: string;
792
- target: {
793
- kind: "adaptive";
794
- } | {
795
- kind: "profile";
796
- profile: "high" | "low" | "mid";
797
- } | {
798
- kind: "cam-stream";
799
- camStreamId: string;
800
- };
801
- codec: string | null;
802
- resolution: {
803
- width: number;
804
- height: number;
805
- } | null;
806
- status: "error" | "stopped" | "idle" | "connecting" | "streaming" | null;
807
- inputFps: number | null;
808
- decodeFps: number | null;
809
- bitrateKbps: number | null;
810
- }[];
811
- meta: object;
812
- }>;
813
- createSession: import("@trpc/server").TRPCMutationProcedure<{
814
- input: {
815
- [x: string]: unknown;
816
- deviceId: number;
817
- target: {
818
- kind: "adaptive";
819
- } | {
820
- kind: "profile";
821
- profile: "high" | "low" | "mid";
822
- } | {
823
- kind: "cam-stream";
824
- camStreamId: string;
825
- };
826
- hints?: {
827
- viewportWidth?: number | undefined;
828
- viewportHeight?: number | undefined;
829
- devicePixelRatio?: number | undefined;
830
- downlinkMbps?: number | undefined;
831
- prefersTier?: string | undefined;
832
- } | undefined;
833
- relayOnly?: boolean | undefined;
834
- consumerAttribution?: Readonly<{
835
- kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
836
- label?: string | undefined;
837
- media?: "audio" | "video" | "both" | undefined;
838
- targetCodec?: string | undefined;
839
- transport?: "passthrough" | "repacketize" | "transcode" | undefined;
840
- remoteAddr?: string | undefined;
841
- userAgent?: string | undefined;
842
- userId?: string | undefined;
843
- sessionId?: string | undefined;
844
- extra?: Record<string, string> | undefined;
845
- }> | undefined;
846
- };
847
- output: {
848
- sessionId: string;
849
- sdpOffer: string;
850
- };
851
- meta: object;
852
- }>;
853
- handleOffer: import("@trpc/server").TRPCMutationProcedure<{
854
- input: {
855
- [x: string]: unknown;
856
- deviceId: number;
857
- sdpOffer: string;
858
- target?: {
859
- kind: "adaptive";
860
- } | {
861
- kind: "profile";
862
- profile: "high" | "low" | "mid";
863
- } | {
864
- kind: "cam-stream";
865
- camStreamId: string;
866
- } | undefined;
867
- sessionId?: string | undefined;
868
- relayOnly?: boolean | undefined;
869
- nonTrickle?: boolean | undefined;
870
- disableTurn?: boolean | undefined;
871
- disableIpv6?: boolean | undefined;
872
- consumerAttribution?: Readonly<{
873
- kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
874
- label?: string | undefined;
875
- media?: "audio" | "video" | "both" | undefined;
876
- targetCodec?: string | undefined;
877
- transport?: "passthrough" | "repacketize" | "transcode" | undefined;
878
- remoteAddr?: string | undefined;
879
- userAgent?: string | undefined;
880
- userId?: string | undefined;
881
- sessionId?: string | undefined;
882
- extra?: Record<string, string> | undefined;
883
- }> | undefined;
884
- };
885
- output: {
886
- sessionId: string;
887
- sdpAnswer: string;
888
- };
889
- meta: object;
890
- }>;
891
- handleAnswer: import("@trpc/server").TRPCMutationProcedure<{
892
- input: {
893
- [x: string]: unknown;
894
- deviceId: number;
895
- sessionId: string;
896
- sdpAnswer: string;
897
- };
898
- output: void;
899
- meta: object;
900
- }>;
901
- addIceCandidate: import("@trpc/server").TRPCMutationProcedure<{
902
- input: {
903
- [x: string]: unknown;
904
- deviceId: number;
905
- sessionId: string;
906
- candidate: string;
907
- sdpMid?: string | null | undefined;
908
- sdpMLineIndex?: number | null | undefined;
909
- };
910
- output: void;
911
- meta: object;
912
- }>;
913
- getIceCandidates: import("@trpc/server").TRPCQueryProcedure<{
914
- input: {
915
- [x: string]: unknown;
916
- deviceId: number;
917
- sessionId: string;
918
- };
919
- output: {
920
- candidates: {
921
- candidate: string;
922
- sdpMid: string | null;
923
- sdpMLineIndex: number | null;
924
- }[];
925
- done: boolean;
926
- };
927
- meta: object;
928
- }>;
929
- closeSession: import("@trpc/server").TRPCMutationProcedure<{
930
- input: {
931
- [x: string]: unknown;
932
- deviceId: number;
933
- sessionId: string;
934
- };
935
- output: void;
936
- meta: object;
937
- }>;
938
- hasAdaptiveBitrate: import("@trpc/server").TRPCQueryProcedure<{
939
- input: {
940
- [x: string]: unknown;
941
- deviceId: number;
942
- profile: "high" | "low" | "mid";
943
- };
944
- output: boolean;
945
- meta: object;
946
- }>;
947
- getSessionState: import("@trpc/server").TRPCQueryProcedure<{
948
- input: {
949
- [x: string]: unknown;
950
- deviceId: number;
951
- sessionId: string;
952
- };
953
- output: {
954
- pendingRenegotiation: {
955
- target: {
956
- kind: "adaptive";
957
- } | {
958
- kind: "profile";
959
- profile: "high" | "low" | "mid";
960
- } | {
961
- kind: "cam-stream";
962
- camStreamId: string;
963
- };
964
- epoch: number;
965
- } | null;
966
- };
967
- meta: object;
968
- }>;
969
- }>>;
970
751
  accessories: import("@trpc/server").TRPCBuiltRouter<{
971
752
  ctx: TrpcContext;
972
753
  meta: object;
@@ -1424,6 +1205,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
1424
1205
  currentVersion: string;
1425
1206
  latestVersion: string | null;
1426
1207
  hasUpdate: boolean;
1208
+ buildId: string | null;
1427
1209
  description?: string | undefined;
1428
1210
  }[];
1429
1211
  meta: object;
@@ -3050,11 +2832,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3050
2832
  [x: string]: unknown;
3051
2833
  deviceId: number;
3052
2834
  requirements: Readonly<{
3053
- acceptCodecs?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
2835
+ acceptCodecs?: readonly ("h264" | "h265" | "hevc" | "mjpeg" | "av1" | "vp8" | "vp9")[] | undefined;
3054
2836
  minHeight?: number | undefined;
3055
2837
  minWidth?: number | undefined;
3056
2838
  excludeDerived?: boolean | undefined;
3057
- requireSiblingCodec?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
2839
+ requireSiblingCodec?: readonly ("h264" | "h265" | "hevc" | "mjpeg" | "av1" | "vp8" | "vp9")[] | undefined;
3058
2840
  }>;
3059
2841
  preferences?: Readonly<{
3060
2842
  preferredProviders?: readonly string[] | undefined;
@@ -3438,6 +3220,18 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
3438
3220
  filename: string;
3439
3221
  sizeMB: number;
3440
3222
  }[] | undefined;
3223
+ legacy?: boolean | undefined;
3224
+ metrics?: {
3225
+ map50?: number | undefined;
3226
+ p95LatencyMs?: Record<string, number> | undefined;
3227
+ } | undefined;
3228
+ license?: string | undefined;
3229
+ group?: {
3230
+ family: string;
3231
+ tier: string;
3232
+ precision?: "fp32" | "int8" | undefined;
3233
+ optimization?: "standard" | "fast" | undefined;
3234
+ } | undefined;
3441
3235
  };
3442
3236
  }[];
3443
3237
  meta: object;
@@ -4822,7 +4616,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
4822
4616
  output: {
4823
4617
  id: string;
4824
4618
  label: string;
4825
- protocol: "custom" | "webrtc" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg";
4619
+ protocol: "custom" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg" | "webrtc";
4826
4620
  url?: string | undefined;
4827
4621
  resolution?: Readonly<{
4828
4622
  width: number;
@@ -5472,7 +5266,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
5472
5266
  output: {
5473
5267
  id: string;
5474
5268
  label: string;
5475
- protocol: "custom" | "webrtc" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg";
5269
+ protocol: "custom" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg" | "webrtc";
5476
5270
  url?: string | undefined;
5477
5271
  resolution?: {
5478
5272
  width: number;
@@ -7382,7 +7176,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
7382
7176
  };
7383
7177
  targets: readonly ({
7384
7178
  format: "openvino";
7385
- precisions: readonly ("fp16" | "int8")[];
7179
+ precisions: readonly ("int8" | "fp16")[];
7386
7180
  } | {
7387
7181
  format: "coreml";
7388
7182
  })[];
@@ -7451,13 +7245,25 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
7451
7245
  filename: string;
7452
7246
  sizeMB: number;
7453
7247
  }[] | undefined;
7248
+ legacy?: boolean | undefined;
7249
+ metrics?: {
7250
+ map50?: number | undefined;
7251
+ p95LatencyMs?: Record<string, number> | undefined;
7252
+ } | undefined;
7253
+ license?: string | undefined;
7254
+ group?: {
7255
+ family: string;
7256
+ tier: string;
7257
+ precision?: "fp32" | "int8" | undefined;
7258
+ optimization?: "standard" | "fast" | undefined;
7259
+ } | undefined;
7454
7260
  };
7455
7261
  artifacts: readonly {
7456
7262
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
7457
7263
  sizeMB: number;
7458
7264
  validated: boolean;
7459
7265
  files: readonly string[];
7460
- precision?: "fp16" | "int8" | undefined;
7266
+ precision?: "int8" | "fp16" | undefined;
7461
7267
  }[];
7462
7268
  };
7463
7269
  meta: object;
@@ -7536,6 +7342,18 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
7536
7342
  filename: string;
7537
7343
  sizeMB: number;
7538
7344
  }[] | undefined;
7345
+ legacy?: boolean | undefined;
7346
+ metrics?: {
7347
+ map50?: number | undefined;
7348
+ p95LatencyMs?: Record<string, number> | undefined;
7349
+ } | undefined;
7350
+ license?: string | undefined;
7351
+ group?: {
7352
+ family: string;
7353
+ tier: string;
7354
+ precision?: "fp32" | "int8" | undefined;
7355
+ optimization?: "standard" | "fast" | undefined;
7356
+ } | undefined;
7539
7357
  };
7540
7358
  };
7541
7359
  output: {
@@ -9162,6 +8980,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9162
8980
  progress?: number | undefined;
9163
8981
  error?: string | undefined;
9164
8982
  nextRetryAt?: number | undefined;
8983
+ configIssues?: string[] | undefined;
9165
8984
  };
9166
8985
  meta: object;
9167
8986
  }>;
@@ -9232,6 +9051,13 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9232
9051
  downloaded: boolean;
9233
9052
  sizeMB: number;
9234
9053
  }>;
9054
+ group?: {
9055
+ family: string;
9056
+ tier: string;
9057
+ precision?: "fp32" | "int8" | undefined;
9058
+ optimization?: "standard" | "fast" | undefined;
9059
+ } | undefined;
9060
+ legacy?: boolean | undefined;
9235
9061
  }[];
9236
9062
  defaultModelId: string;
9237
9063
  defaultConfidence: number;
@@ -9265,6 +9091,28 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9265
9091
  output: import("@camstack/types").ConfigUISchema;
9266
9092
  meta: object;
9267
9093
  }>;
9094
+ validatePipeline: import("@trpc/server").TRPCQueryProcedure<{
9095
+ input: {
9096
+ [x: string]: unknown;
9097
+ steps: unknown[];
9098
+ };
9099
+ output: {
9100
+ ok: boolean;
9101
+ issues: readonly {
9102
+ addonId: string;
9103
+ kind: "unknown-addon" | "no-format-build";
9104
+ detail: string;
9105
+ }[];
9106
+ substitutions: readonly {
9107
+ addonId: string;
9108
+ chosen: string;
9109
+ running: string;
9110
+ format: string;
9111
+ }[];
9112
+ format: string;
9113
+ };
9114
+ meta: object;
9115
+ }>;
9268
9116
  listTemplates: import("@trpc/server").TRPCQueryProcedure<{
9269
9117
  input: {
9270
9118
  nodeId?: string | undefined;
@@ -9858,6 +9706,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9858
9706
  };
9859
9707
  meta: object;
9860
9708
  }>;
9709
+ getIngestOwner: import("@trpc/server").TRPCQueryProcedure<{
9710
+ input: {
9711
+ nodeId?: string | undefined;
9712
+ } | undefined;
9713
+ output: {
9714
+ ownerNodeId: string;
9715
+ reachableHost?: string | undefined;
9716
+ configIssue?: string | undefined;
9717
+ };
9718
+ meta: object;
9719
+ }>;
9861
9720
  assignDecoder: import("@trpc/server").TRPCMutationProcedure<{
9862
9721
  input: {
9863
9722
  [x: string]: unknown;
@@ -9964,8 +9823,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9964
9823
  output: {
9965
9824
  addonDefaults: Readonly<Record<string, {
9966
9825
  enabled: boolean;
9967
- modelId: string;
9968
9826
  settings: Readonly<Record<string, unknown>>;
9827
+ modelId?: string | undefined;
9969
9828
  }>>;
9970
9829
  maxCameras: number | null;
9971
9830
  detectWeight?: number | undefined;
@@ -9973,6 +9832,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9973
9832
  decode?: boolean | undefined;
9974
9833
  audio?: boolean | undefined;
9975
9834
  ingest?: boolean | undefined;
9835
+ reachableHost?: string | undefined;
9976
9836
  } | null;
9977
9837
  meta: object;
9978
9838
  }>;
@@ -9985,8 +9845,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9985
9845
  settings: {
9986
9846
  addonDefaults: Readonly<Record<string, {
9987
9847
  enabled: boolean;
9988
- modelId: string;
9989
9848
  settings: Readonly<Record<string, unknown>>;
9849
+ modelId?: string | undefined;
9990
9850
  }>>;
9991
9851
  maxCameras: number | null;
9992
9852
  detectWeight?: number | undefined;
@@ -9994,6 +9854,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9994
9854
  decode?: boolean | undefined;
9995
9855
  audio?: boolean | undefined;
9996
9856
  ingest?: boolean | undefined;
9857
+ reachableHost?: string | undefined;
9997
9858
  };
9998
9859
  }[];
9999
9860
  meta: object;
@@ -10004,8 +9865,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10004
9865
  agentNodeId: string;
10005
9866
  defaults: Record<string, {
10006
9867
  enabled: boolean;
10007
- modelId: string;
10008
9868
  settings: Readonly<Record<string, unknown>>;
9869
+ modelId?: string | undefined;
10009
9870
  }>;
10010
9871
  };
10011
9872
  output: {
@@ -10060,17 +9921,28 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10060
9921
  };
10061
9922
  meta: object;
10062
9923
  }>;
10063
- getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
9924
+ setAgentReachableHost: import("@trpc/server").TRPCMutationProcedure<{
10064
9925
  input: {
10065
9926
  [x: string]: unknown;
10066
- deviceId: number;
9927
+ agentNodeId: string;
9928
+ reachableHost: string | null;
10067
9929
  };
10068
9930
  output: {
10069
- pinnedAgentNodeId?: string | undefined;
10070
- stepToggles?: Record<string, boolean> | undefined;
10071
- stepOverridesByAgent?: Record<string, Record<string, {
10072
- enabled?: boolean | undefined;
10073
- modelId?: string | undefined;
9931
+ success: true;
9932
+ };
9933
+ meta: object;
9934
+ }>;
9935
+ getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
9936
+ input: {
9937
+ [x: string]: unknown;
9938
+ deviceId: number;
9939
+ };
9940
+ output: {
9941
+ pinnedAgentNodeId?: string | undefined;
9942
+ stepToggles?: Record<string, boolean> | undefined;
9943
+ stepOverridesByAgent?: Record<string, Record<string, {
9944
+ enabled?: boolean | undefined;
9945
+ modelId?: string | undefined;
10074
9946
  settings?: Readonly<Record<string, unknown>> | undefined;
10075
9947
  }>> | undefined;
10076
9948
  pipelineByAgent?: Record<string, {
@@ -10149,22 +10021,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10149
10021
  agentNodeId?: string | undefined;
10150
10022
  };
10151
10023
  output: {
10152
- engine: {
10024
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10025
+ engine?: {
10153
10026
  runtime: "node" | "python";
10154
10027
  backend: string;
10155
10028
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10156
10029
  device?: string | undefined;
10157
- };
10158
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10030
+ } | undefined;
10159
10031
  audio?: {
10160
- engine: {
10032
+ enabled: boolean;
10033
+ engine?: {
10161
10034
  runtime: "node" | "python";
10162
10035
  backend: string;
10163
10036
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10164
10037
  device?: string | undefined;
10165
- };
10166
- modelId: string;
10167
- enabled: boolean;
10038
+ } | undefined;
10039
+ modelId?: string | undefined;
10168
10040
  settings?: Readonly<Record<string, unknown>> | undefined;
10169
10041
  } | null | undefined;
10170
10042
  };
@@ -10181,6 +10053,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10181
10053
  detectionNodeId: string | null;
10182
10054
  decoderNodeId: string | null;
10183
10055
  audioNodeId: string | null;
10056
+ sourceNodeId: string | null;
10184
10057
  pinned: {
10185
10058
  detection: boolean;
10186
10059
  decoder: boolean;
@@ -10271,6 +10144,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10271
10144
  detectionNodeId: string | null;
10272
10145
  decoderNodeId: string | null;
10273
10146
  audioNodeId: string | null;
10147
+ sourceNodeId: string | null;
10274
10148
  pinned: {
10275
10149
  detection: boolean;
10276
10150
  decoder: boolean;
@@ -10358,22 +10232,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10358
10232
  id: string;
10359
10233
  name: string;
10360
10234
  config: {
10361
- engine: {
10235
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10236
+ engine?: {
10362
10237
  runtime: "node" | "python";
10363
10238
  backend: string;
10364
10239
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10365
10240
  device?: string | undefined;
10366
- };
10367
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10241
+ } | undefined;
10368
10242
  audio?: {
10369
- engine: {
10243
+ enabled: boolean;
10244
+ engine?: {
10370
10245
  runtime: "node" | "python";
10371
10246
  backend: string;
10372
10247
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10373
10248
  device?: string | undefined;
10374
- };
10375
- modelId: string;
10376
- enabled: boolean;
10249
+ } | undefined;
10250
+ modelId?: string | undefined;
10377
10251
  settings?: Readonly<Record<string, unknown>> | undefined;
10378
10252
  } | null | undefined;
10379
10253
  };
@@ -10388,22 +10262,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10388
10262
  [x: string]: unknown;
10389
10263
  name: string;
10390
10264
  config: {
10391
- engine: {
10265
+ steps: readonly unknown[];
10266
+ engine?: {
10392
10267
  runtime: "node" | "python";
10393
10268
  backend: string;
10394
10269
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10395
10270
  device?: string | undefined;
10396
- };
10397
- steps: readonly unknown[];
10271
+ } | undefined;
10398
10272
  audio?: {
10399
- engine: {
10273
+ enabled: boolean;
10274
+ engine?: {
10400
10275
  runtime: "node" | "python";
10401
10276
  backend: string;
10402
10277
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10403
10278
  device?: string | undefined;
10404
- };
10405
- modelId: string;
10406
- enabled: boolean;
10279
+ } | undefined;
10280
+ modelId?: string | undefined;
10407
10281
  settings?: Readonly<Record<string, unknown>> | undefined;
10408
10282
  } | null | undefined;
10409
10283
  };
@@ -10413,22 +10287,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10413
10287
  id: string;
10414
10288
  name: string;
10415
10289
  config: {
10416
- engine: {
10290
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10291
+ engine?: {
10417
10292
  runtime: "node" | "python";
10418
10293
  backend: string;
10419
10294
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10420
10295
  device?: string | undefined;
10421
- };
10422
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10296
+ } | undefined;
10423
10297
  audio?: {
10424
- engine: {
10298
+ enabled: boolean;
10299
+ engine?: {
10425
10300
  runtime: "node" | "python";
10426
10301
  backend: string;
10427
10302
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10428
10303
  device?: string | undefined;
10429
- };
10430
- modelId: string;
10431
- enabled: boolean;
10304
+ } | undefined;
10305
+ modelId?: string | undefined;
10432
10306
  settings?: Readonly<Record<string, unknown>> | undefined;
10433
10307
  } | null | undefined;
10434
10308
  };
@@ -10445,22 +10319,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10445
10319
  name?: string | undefined;
10446
10320
  description?: string | undefined;
10447
10321
  config?: {
10448
- engine: {
10322
+ steps: readonly unknown[];
10323
+ engine?: {
10449
10324
  runtime: "node" | "python";
10450
10325
  backend: string;
10451
10326
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10452
10327
  device?: string | undefined;
10453
- };
10454
- steps: readonly unknown[];
10328
+ } | undefined;
10455
10329
  audio?: {
10456
- engine: {
10330
+ enabled: boolean;
10331
+ engine?: {
10457
10332
  runtime: "node" | "python";
10458
10333
  backend: string;
10459
10334
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10460
10335
  device?: string | undefined;
10461
- };
10462
- modelId: string;
10463
- enabled: boolean;
10336
+ } | undefined;
10337
+ modelId?: string | undefined;
10464
10338
  settings?: Readonly<Record<string, unknown>> | undefined;
10465
10339
  } | null | undefined;
10466
10340
  } | undefined;
@@ -10469,22 +10343,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10469
10343
  id: string;
10470
10344
  name: string;
10471
10345
  config: {
10472
- engine: {
10346
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10347
+ engine?: {
10473
10348
  runtime: "node" | "python";
10474
10349
  backend: string;
10475
10350
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10476
10351
  device?: string | undefined;
10477
- };
10478
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
10352
+ } | undefined;
10479
10353
  audio?: {
10480
- engine: {
10354
+ enabled: boolean;
10355
+ engine?: {
10481
10356
  runtime: "node" | "python";
10482
10357
  backend: string;
10483
10358
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10484
10359
  device?: string | undefined;
10485
- };
10486
- modelId: string;
10487
- enabled: boolean;
10360
+ } | undefined;
10361
+ modelId?: string | undefined;
10488
10362
  settings?: Readonly<Record<string, unknown>> | undefined;
10489
10363
  } | null | undefined;
10490
10364
  };
@@ -10524,22 +10398,10 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10524
10398
  detectionFps?: number | undefined;
10525
10399
  motionSources?: ("onboard" | "analyzer")[] | undefined;
10526
10400
  pipelineEnabled?: boolean | undefined;
10527
- engine?: {
10528
- runtime: "node" | "python";
10529
- backend: string;
10530
- format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10531
- device?: string | undefined;
10532
- } | undefined;
10533
10401
  steps?: readonly unknown[] | undefined;
10534
10402
  audio?: {
10535
- engine: {
10536
- runtime: "node" | "python";
10537
- backend: string;
10538
- format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
10539
- device?: string | undefined;
10540
- };
10541
- modelId: string;
10542
10403
  enabled: boolean;
10404
+ modelId?: string | undefined;
10543
10405
  } | null | undefined;
10544
10406
  zones?: readonly {
10545
10407
  id: string;
@@ -10560,6 +10422,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10560
10422
  } | {
10561
10423
  kind: "remote-restream";
10562
10424
  ownerNodeId: string;
10425
+ ownerReachableHost?: string | undefined;
10563
10426
  hubHostnameOverride?: string | undefined;
10564
10427
  } | undefined;
10565
10428
  };
@@ -12678,7 +12541,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12678
12541
  bitrateKbps?: number | undefined;
12679
12542
  gopFrames?: number | undefined;
12680
12543
  bf?: number | undefined;
12681
- preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | undefined;
12544
+ preset?: "fast" | "ultrafast" | "superfast" | "veryfast" | "faster" | "medium" | undefined;
12682
12545
  tune?: "zerolatency" | "film" | "animation" | undefined;
12683
12546
  };
12684
12547
  audio: "passthrough" | {
@@ -12893,7 +12756,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12893
12756
  input: {
12894
12757
  [x: string]: unknown;
12895
12758
  streamId: string;
12896
- format: "webrtc" | "mjpeg" | "rtsp" | "hls";
12759
+ format: "mjpeg" | "rtsp" | "webrtc" | "hls";
12897
12760
  };
12898
12761
  output: {
12899
12762
  url: string;
@@ -14322,101 +14185,293 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14322
14185
  meta: object;
14323
14186
  }>;
14324
14187
  }>>;
14325
- zoneAnalytics: import("@trpc/server").TRPCBuiltRouter<{
14188
+ webrtcSession: import("@trpc/server").TRPCBuiltRouter<{
14326
14189
  ctx: TrpcContext;
14327
14190
  meta: object;
14328
14191
  errorShape: import("@camstack/types").AugmentedErrorShape;
14329
14192
  transformer: true;
14330
14193
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
14331
- getCurrentSnapshot: import("@trpc/server").TRPCQueryProcedure<{
14194
+ listStreams: import("@trpc/server").TRPCQueryProcedure<{
14332
14195
  input: {
14333
14196
  [x: string]: unknown;
14334
14197
  deviceId: number;
14335
14198
  };
14336
14199
  output: {
14337
- ts: number;
14338
- frameWidth: number;
14339
- frameHeight: number;
14340
- zones: readonly {
14341
- totalObjects: number;
14342
- byClass: Record<string, number>;
14343
- zoneId: string;
14344
- zoneName: string;
14345
- trackIds: readonly string[];
14346
- }[];
14347
- frame: {
14348
- totalObjects: number;
14349
- byClass: Record<string, number>;
14200
+ id: string;
14201
+ label: string;
14202
+ target: {
14203
+ kind: "adaptive";
14204
+ } | {
14205
+ kind: "profile";
14206
+ profile: "high" | "low" | "mid";
14207
+ } | {
14208
+ kind: "cam-stream";
14209
+ camStreamId: string;
14350
14210
  };
14351
- unzoned: {
14352
- totalObjects: number;
14353
- byClass: Record<string, number>;
14211
+ codec: string | null;
14212
+ resolution: {
14213
+ width: number;
14214
+ height: number;
14215
+ } | null;
14216
+ status: "error" | "stopped" | "idle" | "connecting" | "streaming" | null;
14217
+ inputFps: number | null;
14218
+ decodeFps: number | null;
14219
+ bitrateKbps: number | null;
14220
+ }[];
14221
+ meta: object;
14222
+ }>;
14223
+ createSession: import("@trpc/server").TRPCMutationProcedure<{
14224
+ input: {
14225
+ [x: string]: unknown;
14226
+ deviceId: number;
14227
+ target: {
14228
+ kind: "adaptive";
14229
+ } | {
14230
+ kind: "profile";
14231
+ profile: "high" | "low" | "mid";
14232
+ } | {
14233
+ kind: "cam-stream";
14234
+ camStreamId: string;
14354
14235
  };
14355
- } | null;
14236
+ hints?: {
14237
+ viewportWidth?: number | undefined;
14238
+ viewportHeight?: number | undefined;
14239
+ devicePixelRatio?: number | undefined;
14240
+ downlinkMbps?: number | undefined;
14241
+ prefersTier?: string | undefined;
14242
+ } | undefined;
14243
+ relayOnly?: boolean | undefined;
14244
+ consumerAttribution?: Readonly<{
14245
+ kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
14246
+ label?: string | undefined;
14247
+ media?: "audio" | "video" | "both" | undefined;
14248
+ targetCodec?: string | undefined;
14249
+ transport?: "passthrough" | "repacketize" | "transcode" | undefined;
14250
+ remoteAddr?: string | undefined;
14251
+ userAgent?: string | undefined;
14252
+ userId?: string | undefined;
14253
+ sessionId?: string | undefined;
14254
+ extra?: Record<string, string> | undefined;
14255
+ }> | undefined;
14256
+ };
14257
+ output: {
14258
+ sessionId: string;
14259
+ sdpOffer: string;
14260
+ };
14356
14261
  meta: object;
14357
14262
  }>;
14358
- getZoneHistory: import("@trpc/server").TRPCQueryProcedure<{
14263
+ handleOffer: import("@trpc/server").TRPCMutationProcedure<{
14359
14264
  input: {
14360
14265
  [x: string]: unknown;
14361
14266
  deviceId: number;
14362
- zoneId: string;
14363
- from: number;
14364
- to: number;
14365
- resolution: "minute" | "5min" | "hour";
14366
- className?: string | undefined;
14267
+ sdpOffer: string;
14268
+ target?: {
14269
+ kind: "adaptive";
14270
+ } | {
14271
+ kind: "profile";
14272
+ profile: "high" | "low" | "mid";
14273
+ } | {
14274
+ kind: "cam-stream";
14275
+ camStreamId: string;
14276
+ } | undefined;
14277
+ sessionId?: string | undefined;
14278
+ relayOnly?: boolean | undefined;
14279
+ nonTrickle?: boolean | undefined;
14280
+ disableTurn?: boolean | undefined;
14281
+ disableIpv6?: boolean | undefined;
14282
+ consumerAttribution?: Readonly<{
14283
+ kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
14284
+ label?: string | undefined;
14285
+ media?: "audio" | "video" | "both" | undefined;
14286
+ targetCodec?: string | undefined;
14287
+ transport?: "passthrough" | "repacketize" | "transcode" | undefined;
14288
+ remoteAddr?: string | undefined;
14289
+ userAgent?: string | undefined;
14290
+ userId?: string | undefined;
14291
+ sessionId?: string | undefined;
14292
+ extra?: Record<string, string> | undefined;
14293
+ }> | undefined;
14294
+ };
14295
+ output: {
14296
+ sessionId: string;
14297
+ sdpAnswer: string;
14367
14298
  };
14368
- output: readonly {
14369
- ts: number;
14370
- count: number;
14371
- }[];
14372
14299
  meta: object;
14373
14300
  }>;
14374
- getCameraHistory: import("@trpc/server").TRPCQueryProcedure<{
14301
+ handleAnswer: import("@trpc/server").TRPCMutationProcedure<{
14375
14302
  input: {
14376
14303
  [x: string]: unknown;
14377
14304
  deviceId: number;
14378
- from: number;
14379
- to: number;
14380
- resolution: "minute" | "5min" | "hour";
14381
- className?: string | undefined;
14305
+ sessionId: string;
14306
+ sdpAnswer: string;
14382
14307
  };
14383
- output: readonly {
14384
- ts: number;
14385
- count: number;
14386
- }[];
14308
+ output: void;
14387
14309
  meta: object;
14388
14310
  }>;
14389
- getUnzonedHistory: import("@trpc/server").TRPCQueryProcedure<{
14311
+ addIceCandidate: import("@trpc/server").TRPCMutationProcedure<{
14390
14312
  input: {
14391
14313
  [x: string]: unknown;
14392
14314
  deviceId: number;
14393
- from: number;
14394
- to: number;
14395
- resolution: "minute" | "5min" | "hour";
14396
- className?: string | undefined;
14315
+ sessionId: string;
14316
+ candidate: string;
14317
+ sdpMid?: string | null | undefined;
14318
+ sdpMLineIndex?: number | null | undefined;
14397
14319
  };
14398
- output: readonly {
14399
- ts: number;
14400
- count: number;
14401
- }[];
14320
+ output: void;
14402
14321
  meta: object;
14403
14322
  }>;
14404
- }>>;
14405
- zoneRules: import("@trpc/server").TRPCBuiltRouter<{
14406
- ctx: TrpcContext;
14407
- meta: object;
14408
- errorShape: import("@camstack/types").AugmentedErrorShape;
14409
- transformer: true;
14410
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
14411
- listRules: import("@trpc/server").TRPCQueryProcedure<{
14323
+ getIceCandidates: import("@trpc/server").TRPCQueryProcedure<{
14412
14324
  input: {
14413
14325
  [x: string]: unknown;
14414
14326
  deviceId: number;
14415
- stage: "motion" | "detection";
14327
+ sessionId: string;
14416
14328
  };
14417
- output: readonly {
14418
- id: string;
14419
- zoneIds: readonly string[];
14329
+ output: {
14330
+ candidates: {
14331
+ candidate: string;
14332
+ sdpMid: string | null;
14333
+ sdpMLineIndex: number | null;
14334
+ }[];
14335
+ done: boolean;
14336
+ };
14337
+ meta: object;
14338
+ }>;
14339
+ closeSession: import("@trpc/server").TRPCMutationProcedure<{
14340
+ input: {
14341
+ [x: string]: unknown;
14342
+ deviceId: number;
14343
+ sessionId: string;
14344
+ };
14345
+ output: void;
14346
+ meta: object;
14347
+ }>;
14348
+ hasAdaptiveBitrate: import("@trpc/server").TRPCQueryProcedure<{
14349
+ input: {
14350
+ [x: string]: unknown;
14351
+ deviceId: number;
14352
+ profile: "high" | "low" | "mid";
14353
+ };
14354
+ output: boolean;
14355
+ meta: object;
14356
+ }>;
14357
+ getSessionState: import("@trpc/server").TRPCQueryProcedure<{
14358
+ input: {
14359
+ [x: string]: unknown;
14360
+ deviceId: number;
14361
+ sessionId: string;
14362
+ };
14363
+ output: {
14364
+ pendingRenegotiation: {
14365
+ target: {
14366
+ kind: "adaptive";
14367
+ } | {
14368
+ kind: "profile";
14369
+ profile: "high" | "low" | "mid";
14370
+ } | {
14371
+ kind: "cam-stream";
14372
+ camStreamId: string;
14373
+ };
14374
+ epoch: number;
14375
+ } | null;
14376
+ };
14377
+ meta: object;
14378
+ }>;
14379
+ }>>;
14380
+ zoneAnalytics: import("@trpc/server").TRPCBuiltRouter<{
14381
+ ctx: TrpcContext;
14382
+ meta: object;
14383
+ errorShape: import("@camstack/types").AugmentedErrorShape;
14384
+ transformer: true;
14385
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
14386
+ getCurrentSnapshot: import("@trpc/server").TRPCQueryProcedure<{
14387
+ input: {
14388
+ [x: string]: unknown;
14389
+ deviceId: number;
14390
+ };
14391
+ output: {
14392
+ ts: number;
14393
+ frameWidth: number;
14394
+ frameHeight: number;
14395
+ zones: readonly {
14396
+ totalObjects: number;
14397
+ byClass: Record<string, number>;
14398
+ zoneId: string;
14399
+ zoneName: string;
14400
+ trackIds: readonly string[];
14401
+ }[];
14402
+ frame: {
14403
+ totalObjects: number;
14404
+ byClass: Record<string, number>;
14405
+ };
14406
+ unzoned: {
14407
+ totalObjects: number;
14408
+ byClass: Record<string, number>;
14409
+ };
14410
+ } | null;
14411
+ meta: object;
14412
+ }>;
14413
+ getZoneHistory: import("@trpc/server").TRPCQueryProcedure<{
14414
+ input: {
14415
+ [x: string]: unknown;
14416
+ deviceId: number;
14417
+ zoneId: string;
14418
+ from: number;
14419
+ to: number;
14420
+ resolution: "minute" | "5min" | "hour";
14421
+ className?: string | undefined;
14422
+ };
14423
+ output: readonly {
14424
+ ts: number;
14425
+ count: number;
14426
+ }[];
14427
+ meta: object;
14428
+ }>;
14429
+ getCameraHistory: import("@trpc/server").TRPCQueryProcedure<{
14430
+ input: {
14431
+ [x: string]: unknown;
14432
+ deviceId: number;
14433
+ from: number;
14434
+ to: number;
14435
+ resolution: "minute" | "5min" | "hour";
14436
+ className?: string | undefined;
14437
+ };
14438
+ output: readonly {
14439
+ ts: number;
14440
+ count: number;
14441
+ }[];
14442
+ meta: object;
14443
+ }>;
14444
+ getUnzonedHistory: import("@trpc/server").TRPCQueryProcedure<{
14445
+ input: {
14446
+ [x: string]: unknown;
14447
+ deviceId: number;
14448
+ from: number;
14449
+ to: number;
14450
+ resolution: "minute" | "5min" | "hour";
14451
+ className?: string | undefined;
14452
+ };
14453
+ output: readonly {
14454
+ ts: number;
14455
+ count: number;
14456
+ }[];
14457
+ meta: object;
14458
+ }>;
14459
+ }>>;
14460
+ zoneRules: import("@trpc/server").TRPCBuiltRouter<{
14461
+ ctx: TrpcContext;
14462
+ meta: object;
14463
+ errorShape: import("@camstack/types").AugmentedErrorShape;
14464
+ transformer: true;
14465
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
14466
+ listRules: import("@trpc/server").TRPCQueryProcedure<{
14467
+ input: {
14468
+ [x: string]: unknown;
14469
+ deviceId: number;
14470
+ stage: "motion" | "detection";
14471
+ };
14472
+ output: readonly {
14473
+ id: string;
14474
+ zoneIds: readonly string[];
14420
14475
  mode: "include" | "exclude";
14421
14476
  enabled: boolean;
14422
14477
  name?: string | undefined;
@@ -15260,225 +15315,6 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
15260
15315
  meta: object;
15261
15316
  }>;
15262
15317
  }>>;
15263
- snapshotProvider: import("@trpc/server").TRPCBuiltRouter<{
15264
- ctx: TrpcContext;
15265
- meta: object;
15266
- errorShape: import("@camstack/types").AugmentedErrorShape;
15267
- transformer: true;
15268
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
15269
- supportsDevice: import("@trpc/server").TRPCQueryProcedure<{
15270
- input: {
15271
- [x: string]: unknown;
15272
- deviceId: number;
15273
- };
15274
- output: boolean;
15275
- meta: object;
15276
- }>;
15277
- getSnapshot: import("@trpc/server").TRPCQueryProcedure<{
15278
- input: {
15279
- [x: string]: unknown;
15280
- deviceId: number;
15281
- streamId?: string | undefined;
15282
- };
15283
- output: {
15284
- base64: string;
15285
- contentType: string;
15286
- } | null;
15287
- meta: object;
15288
- }>;
15289
- }>>;
15290
- webrtcSession: import("@trpc/server").TRPCBuiltRouter<{
15291
- ctx: TrpcContext;
15292
- meta: object;
15293
- errorShape: import("@camstack/types").AugmentedErrorShape;
15294
- transformer: true;
15295
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
15296
- listStreams: import("@trpc/server").TRPCQueryProcedure<{
15297
- input: {
15298
- [x: string]: unknown;
15299
- deviceId: number;
15300
- };
15301
- output: {
15302
- id: string;
15303
- label: string;
15304
- target: {
15305
- kind: "adaptive";
15306
- } | {
15307
- kind: "profile";
15308
- profile: "high" | "low" | "mid";
15309
- } | {
15310
- kind: "cam-stream";
15311
- camStreamId: string;
15312
- };
15313
- codec: string | null;
15314
- resolution: {
15315
- width: number;
15316
- height: number;
15317
- } | null;
15318
- status: "error" | "stopped" | "idle" | "connecting" | "streaming" | null;
15319
- inputFps: number | null;
15320
- decodeFps: number | null;
15321
- bitrateKbps: number | null;
15322
- }[];
15323
- meta: object;
15324
- }>;
15325
- createSession: import("@trpc/server").TRPCMutationProcedure<{
15326
- input: {
15327
- [x: string]: unknown;
15328
- deviceId: number;
15329
- target: {
15330
- kind: "adaptive";
15331
- } | {
15332
- kind: "profile";
15333
- profile: "high" | "low" | "mid";
15334
- } | {
15335
- kind: "cam-stream";
15336
- camStreamId: string;
15337
- };
15338
- hints?: {
15339
- viewportWidth?: number | undefined;
15340
- viewportHeight?: number | undefined;
15341
- devicePixelRatio?: number | undefined;
15342
- downlinkMbps?: number | undefined;
15343
- prefersTier?: string | undefined;
15344
- } | undefined;
15345
- relayOnly?: boolean | undefined;
15346
- consumerAttribution?: Readonly<{
15347
- kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
15348
- label?: string | undefined;
15349
- media?: "audio" | "video" | "both" | undefined;
15350
- targetCodec?: string | undefined;
15351
- transport?: "passthrough" | "repacketize" | "transcode" | undefined;
15352
- remoteAddr?: string | undefined;
15353
- userAgent?: string | undefined;
15354
- userId?: string | undefined;
15355
- sessionId?: string | undefined;
15356
- extra?: Record<string, string> | undefined;
15357
- }> | undefined;
15358
- };
15359
- output: {
15360
- sessionId: string;
15361
- sdpOffer: string;
15362
- };
15363
- meta: object;
15364
- }>;
15365
- handleOffer: import("@trpc/server").TRPCMutationProcedure<{
15366
- input: {
15367
- [x: string]: unknown;
15368
- deviceId: number;
15369
- sdpOffer: string;
15370
- target?: {
15371
- kind: "adaptive";
15372
- } | {
15373
- kind: "profile";
15374
- profile: "high" | "low" | "mid";
15375
- } | {
15376
- kind: "cam-stream";
15377
- camStreamId: string;
15378
- } | undefined;
15379
- sessionId?: string | undefined;
15380
- relayOnly?: boolean | undefined;
15381
- nonTrickle?: boolean | undefined;
15382
- disableTurn?: boolean | undefined;
15383
- disableIpv6?: boolean | undefined;
15384
- consumerAttribution?: Readonly<{
15385
- kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
15386
- label?: string | undefined;
15387
- media?: "audio" | "video" | "both" | undefined;
15388
- targetCodec?: string | undefined;
15389
- transport?: "passthrough" | "repacketize" | "transcode" | undefined;
15390
- remoteAddr?: string | undefined;
15391
- userAgent?: string | undefined;
15392
- userId?: string | undefined;
15393
- sessionId?: string | undefined;
15394
- extra?: Record<string, string> | undefined;
15395
- }> | undefined;
15396
- };
15397
- output: {
15398
- sessionId: string;
15399
- sdpAnswer: string;
15400
- };
15401
- meta: object;
15402
- }>;
15403
- handleAnswer: import("@trpc/server").TRPCMutationProcedure<{
15404
- input: {
15405
- [x: string]: unknown;
15406
- deviceId: number;
15407
- sessionId: string;
15408
- sdpAnswer: string;
15409
- };
15410
- output: void;
15411
- meta: object;
15412
- }>;
15413
- addIceCandidate: import("@trpc/server").TRPCMutationProcedure<{
15414
- input: {
15415
- [x: string]: unknown;
15416
- deviceId: number;
15417
- sessionId: string;
15418
- candidate: string;
15419
- sdpMid?: string | null | undefined;
15420
- sdpMLineIndex?: number | null | undefined;
15421
- };
15422
- output: void;
15423
- meta: object;
15424
- }>;
15425
- getIceCandidates: import("@trpc/server").TRPCQueryProcedure<{
15426
- input: {
15427
- [x: string]: unknown;
15428
- deviceId: number;
15429
- sessionId: string;
15430
- };
15431
- output: {
15432
- candidates: {
15433
- candidate: string;
15434
- sdpMid: string | null;
15435
- sdpMLineIndex: number | null;
15436
- }[];
15437
- done: boolean;
15438
- };
15439
- meta: object;
15440
- }>;
15441
- closeSession: import("@trpc/server").TRPCMutationProcedure<{
15442
- input: {
15443
- [x: string]: unknown;
15444
- deviceId: number;
15445
- sessionId: string;
15446
- };
15447
- output: void;
15448
- meta: object;
15449
- }>;
15450
- hasAdaptiveBitrate: import("@trpc/server").TRPCQueryProcedure<{
15451
- input: {
15452
- [x: string]: unknown;
15453
- deviceId: number;
15454
- profile: "high" | "low" | "mid";
15455
- };
15456
- output: boolean;
15457
- meta: object;
15458
- }>;
15459
- getSessionState: import("@trpc/server").TRPCQueryProcedure<{
15460
- input: {
15461
- [x: string]: unknown;
15462
- deviceId: number;
15463
- sessionId: string;
15464
- };
15465
- output: {
15466
- pendingRenegotiation: {
15467
- target: {
15468
- kind: "adaptive";
15469
- } | {
15470
- kind: "profile";
15471
- profile: "high" | "low" | "mid";
15472
- } | {
15473
- kind: "cam-stream";
15474
- camStreamId: string;
15475
- };
15476
- epoch: number;
15477
- } | null;
15478
- };
15479
- meta: object;
15480
- }>;
15481
- }>>;
15482
15318
  accessories: import("@trpc/server").TRPCBuiltRouter<{
15483
15319
  ctx: TrpcContext;
15484
15320
  meta: object;
@@ -15936,6 +15772,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
15936
15772
  currentVersion: string;
15937
15773
  latestVersion: string | null;
15938
15774
  hasUpdate: boolean;
15775
+ buildId: string | null;
15939
15776
  description?: string | undefined;
15940
15777
  }[];
15941
15778
  meta: object;
@@ -17562,11 +17399,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17562
17399
  [x: string]: unknown;
17563
17400
  deviceId: number;
17564
17401
  requirements: Readonly<{
17565
- acceptCodecs?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
17402
+ acceptCodecs?: readonly ("h264" | "h265" | "hevc" | "mjpeg" | "av1" | "vp8" | "vp9")[] | undefined;
17566
17403
  minHeight?: number | undefined;
17567
17404
  minWidth?: number | undefined;
17568
17405
  excludeDerived?: boolean | undefined;
17569
- requireSiblingCodec?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
17406
+ requireSiblingCodec?: readonly ("h264" | "h265" | "hevc" | "mjpeg" | "av1" | "vp8" | "vp9")[] | undefined;
17570
17407
  }>;
17571
17408
  preferences?: Readonly<{
17572
17409
  preferredProviders?: readonly string[] | undefined;
@@ -17950,6 +17787,18 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
17950
17787
  filename: string;
17951
17788
  sizeMB: number;
17952
17789
  }[] | undefined;
17790
+ legacy?: boolean | undefined;
17791
+ metrics?: {
17792
+ map50?: number | undefined;
17793
+ p95LatencyMs?: Record<string, number> | undefined;
17794
+ } | undefined;
17795
+ license?: string | undefined;
17796
+ group?: {
17797
+ family: string;
17798
+ tier: string;
17799
+ precision?: "fp32" | "int8" | undefined;
17800
+ optimization?: "standard" | "fast" | undefined;
17801
+ } | undefined;
17953
17802
  };
17954
17803
  }[];
17955
17804
  meta: object;
@@ -19334,7 +19183,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
19334
19183
  output: {
19335
19184
  id: string;
19336
19185
  label: string;
19337
- protocol: "custom" | "webrtc" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg";
19186
+ protocol: "custom" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg" | "webrtc";
19338
19187
  url?: string | undefined;
19339
19188
  resolution?: Readonly<{
19340
19189
  width: number;
@@ -19984,7 +19833,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
19984
19833
  output: {
19985
19834
  id: string;
19986
19835
  label: string;
19987
- protocol: "custom" | "webrtc" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg";
19836
+ protocol: "custom" | "rtsp" | "rtmp" | "annexb" | "http-mjpeg" | "webrtc";
19988
19837
  url?: string | undefined;
19989
19838
  resolution?: {
19990
19839
  width: number;
@@ -21894,7 +21743,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
21894
21743
  };
21895
21744
  targets: readonly ({
21896
21745
  format: "openvino";
21897
- precisions: readonly ("fp16" | "int8")[];
21746
+ precisions: readonly ("int8" | "fp16")[];
21898
21747
  } | {
21899
21748
  format: "coreml";
21900
21749
  })[];
@@ -21963,13 +21812,25 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
21963
21812
  filename: string;
21964
21813
  sizeMB: number;
21965
21814
  }[] | undefined;
21815
+ legacy?: boolean | undefined;
21816
+ metrics?: {
21817
+ map50?: number | undefined;
21818
+ p95LatencyMs?: Record<string, number> | undefined;
21819
+ } | undefined;
21820
+ license?: string | undefined;
21821
+ group?: {
21822
+ family: string;
21823
+ tier: string;
21824
+ precision?: "fp32" | "int8" | undefined;
21825
+ optimization?: "standard" | "fast" | undefined;
21826
+ } | undefined;
21966
21827
  };
21967
21828
  artifacts: readonly {
21968
21829
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
21969
21830
  sizeMB: number;
21970
21831
  validated: boolean;
21971
21832
  files: readonly string[];
21972
- precision?: "fp16" | "int8" | undefined;
21833
+ precision?: "int8" | "fp16" | undefined;
21973
21834
  }[];
21974
21835
  };
21975
21836
  meta: object;
@@ -22048,6 +21909,18 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
22048
21909
  filename: string;
22049
21910
  sizeMB: number;
22050
21911
  }[] | undefined;
21912
+ legacy?: boolean | undefined;
21913
+ metrics?: {
21914
+ map50?: number | undefined;
21915
+ p95LatencyMs?: Record<string, number> | undefined;
21916
+ } | undefined;
21917
+ license?: string | undefined;
21918
+ group?: {
21919
+ family: string;
21920
+ tier: string;
21921
+ precision?: "fp32" | "int8" | undefined;
21922
+ optimization?: "standard" | "fast" | undefined;
21923
+ } | undefined;
22051
21924
  };
22052
21925
  };
22053
21926
  output: {
@@ -23674,6 +23547,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
23674
23547
  progress?: number | undefined;
23675
23548
  error?: string | undefined;
23676
23549
  nextRetryAt?: number | undefined;
23550
+ configIssues?: string[] | undefined;
23677
23551
  };
23678
23552
  meta: object;
23679
23553
  }>;
@@ -23744,6 +23618,13 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
23744
23618
  downloaded: boolean;
23745
23619
  sizeMB: number;
23746
23620
  }>;
23621
+ group?: {
23622
+ family: string;
23623
+ tier: string;
23624
+ precision?: "fp32" | "int8" | undefined;
23625
+ optimization?: "standard" | "fast" | undefined;
23626
+ } | undefined;
23627
+ legacy?: boolean | undefined;
23747
23628
  }[];
23748
23629
  defaultModelId: string;
23749
23630
  defaultConfidence: number;
@@ -23777,6 +23658,28 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
23777
23658
  output: import("@camstack/types").ConfigUISchema;
23778
23659
  meta: object;
23779
23660
  }>;
23661
+ validatePipeline: import("@trpc/server").TRPCQueryProcedure<{
23662
+ input: {
23663
+ [x: string]: unknown;
23664
+ steps: unknown[];
23665
+ };
23666
+ output: {
23667
+ ok: boolean;
23668
+ issues: readonly {
23669
+ addonId: string;
23670
+ kind: "unknown-addon" | "no-format-build";
23671
+ detail: string;
23672
+ }[];
23673
+ substitutions: readonly {
23674
+ addonId: string;
23675
+ chosen: string;
23676
+ running: string;
23677
+ format: string;
23678
+ }[];
23679
+ format: string;
23680
+ };
23681
+ meta: object;
23682
+ }>;
23780
23683
  listTemplates: import("@trpc/server").TRPCQueryProcedure<{
23781
23684
  input: {
23782
23685
  nodeId?: string | undefined;
@@ -24370,6 +24273,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24370
24273
  };
24371
24274
  meta: object;
24372
24275
  }>;
24276
+ getIngestOwner: import("@trpc/server").TRPCQueryProcedure<{
24277
+ input: {
24278
+ nodeId?: string | undefined;
24279
+ } | undefined;
24280
+ output: {
24281
+ ownerNodeId: string;
24282
+ reachableHost?: string | undefined;
24283
+ configIssue?: string | undefined;
24284
+ };
24285
+ meta: object;
24286
+ }>;
24373
24287
  assignDecoder: import("@trpc/server").TRPCMutationProcedure<{
24374
24288
  input: {
24375
24289
  [x: string]: unknown;
@@ -24476,8 +24390,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24476
24390
  output: {
24477
24391
  addonDefaults: Readonly<Record<string, {
24478
24392
  enabled: boolean;
24479
- modelId: string;
24480
24393
  settings: Readonly<Record<string, unknown>>;
24394
+ modelId?: string | undefined;
24481
24395
  }>>;
24482
24396
  maxCameras: number | null;
24483
24397
  detectWeight?: number | undefined;
@@ -24485,6 +24399,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24485
24399
  decode?: boolean | undefined;
24486
24400
  audio?: boolean | undefined;
24487
24401
  ingest?: boolean | undefined;
24402
+ reachableHost?: string | undefined;
24488
24403
  } | null;
24489
24404
  meta: object;
24490
24405
  }>;
@@ -24497,8 +24412,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24497
24412
  settings: {
24498
24413
  addonDefaults: Readonly<Record<string, {
24499
24414
  enabled: boolean;
24500
- modelId: string;
24501
24415
  settings: Readonly<Record<string, unknown>>;
24416
+ modelId?: string | undefined;
24502
24417
  }>>;
24503
24418
  maxCameras: number | null;
24504
24419
  detectWeight?: number | undefined;
@@ -24506,6 +24421,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24506
24421
  decode?: boolean | undefined;
24507
24422
  audio?: boolean | undefined;
24508
24423
  ingest?: boolean | undefined;
24424
+ reachableHost?: string | undefined;
24509
24425
  };
24510
24426
  }[];
24511
24427
  meta: object;
@@ -24516,8 +24432,8 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24516
24432
  agentNodeId: string;
24517
24433
  defaults: Record<string, {
24518
24434
  enabled: boolean;
24519
- modelId: string;
24520
24435
  settings: Readonly<Record<string, unknown>>;
24436
+ modelId?: string | undefined;
24521
24437
  }>;
24522
24438
  };
24523
24439
  output: {
@@ -24572,6 +24488,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24572
24488
  };
24573
24489
  meta: object;
24574
24490
  }>;
24491
+ setAgentReachableHost: import("@trpc/server").TRPCMutationProcedure<{
24492
+ input: {
24493
+ [x: string]: unknown;
24494
+ agentNodeId: string;
24495
+ reachableHost: string | null;
24496
+ };
24497
+ output: {
24498
+ success: true;
24499
+ };
24500
+ meta: object;
24501
+ }>;
24575
24502
  getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
24576
24503
  input: {
24577
24504
  [x: string]: unknown;
@@ -24661,22 +24588,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24661
24588
  agentNodeId?: string | undefined;
24662
24589
  };
24663
24590
  output: {
24664
- engine: {
24591
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24592
+ engine?: {
24665
24593
  runtime: "node" | "python";
24666
24594
  backend: string;
24667
24595
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24668
24596
  device?: string | undefined;
24669
- };
24670
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24597
+ } | undefined;
24671
24598
  audio?: {
24672
- engine: {
24599
+ enabled: boolean;
24600
+ engine?: {
24673
24601
  runtime: "node" | "python";
24674
24602
  backend: string;
24675
24603
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24676
24604
  device?: string | undefined;
24677
- };
24678
- modelId: string;
24679
- enabled: boolean;
24605
+ } | undefined;
24606
+ modelId?: string | undefined;
24680
24607
  settings?: Readonly<Record<string, unknown>> | undefined;
24681
24608
  } | null | undefined;
24682
24609
  };
@@ -24693,6 +24620,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24693
24620
  detectionNodeId: string | null;
24694
24621
  decoderNodeId: string | null;
24695
24622
  audioNodeId: string | null;
24623
+ sourceNodeId: string | null;
24696
24624
  pinned: {
24697
24625
  detection: boolean;
24698
24626
  decoder: boolean;
@@ -24783,6 +24711,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24783
24711
  detectionNodeId: string | null;
24784
24712
  decoderNodeId: string | null;
24785
24713
  audioNodeId: string | null;
24714
+ sourceNodeId: string | null;
24786
24715
  pinned: {
24787
24716
  detection: boolean;
24788
24717
  decoder: boolean;
@@ -24870,22 +24799,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24870
24799
  id: string;
24871
24800
  name: string;
24872
24801
  config: {
24873
- engine: {
24802
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24803
+ engine?: {
24874
24804
  runtime: "node" | "python";
24875
24805
  backend: string;
24876
24806
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24877
24807
  device?: string | undefined;
24878
- };
24879
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24808
+ } | undefined;
24880
24809
  audio?: {
24881
- engine: {
24810
+ enabled: boolean;
24811
+ engine?: {
24882
24812
  runtime: "node" | "python";
24883
24813
  backend: string;
24884
24814
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24885
24815
  device?: string | undefined;
24886
- };
24887
- modelId: string;
24888
- enabled: boolean;
24816
+ } | undefined;
24817
+ modelId?: string | undefined;
24889
24818
  settings?: Readonly<Record<string, unknown>> | undefined;
24890
24819
  } | null | undefined;
24891
24820
  };
@@ -24900,22 +24829,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24900
24829
  [x: string]: unknown;
24901
24830
  name: string;
24902
24831
  config: {
24903
- engine: {
24832
+ steps: readonly unknown[];
24833
+ engine?: {
24904
24834
  runtime: "node" | "python";
24905
24835
  backend: string;
24906
24836
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24907
24837
  device?: string | undefined;
24908
- };
24909
- steps: readonly unknown[];
24838
+ } | undefined;
24910
24839
  audio?: {
24911
- engine: {
24840
+ enabled: boolean;
24841
+ engine?: {
24912
24842
  runtime: "node" | "python";
24913
24843
  backend: string;
24914
24844
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24915
24845
  device?: string | undefined;
24916
- };
24917
- modelId: string;
24918
- enabled: boolean;
24846
+ } | undefined;
24847
+ modelId?: string | undefined;
24919
24848
  settings?: Readonly<Record<string, unknown>> | undefined;
24920
24849
  } | null | undefined;
24921
24850
  };
@@ -24925,22 +24854,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24925
24854
  id: string;
24926
24855
  name: string;
24927
24856
  config: {
24928
- engine: {
24857
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24858
+ engine?: {
24929
24859
  runtime: "node" | "python";
24930
24860
  backend: string;
24931
24861
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24932
24862
  device?: string | undefined;
24933
- };
24934
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24863
+ } | undefined;
24935
24864
  audio?: {
24936
- engine: {
24865
+ enabled: boolean;
24866
+ engine?: {
24937
24867
  runtime: "node" | "python";
24938
24868
  backend: string;
24939
24869
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24940
24870
  device?: string | undefined;
24941
- };
24942
- modelId: string;
24943
- enabled: boolean;
24871
+ } | undefined;
24872
+ modelId?: string | undefined;
24944
24873
  settings?: Readonly<Record<string, unknown>> | undefined;
24945
24874
  } | null | undefined;
24946
24875
  };
@@ -24957,22 +24886,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24957
24886
  name?: string | undefined;
24958
24887
  description?: string | undefined;
24959
24888
  config?: {
24960
- engine: {
24889
+ steps: readonly unknown[];
24890
+ engine?: {
24961
24891
  runtime: "node" | "python";
24962
24892
  backend: string;
24963
24893
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24964
24894
  device?: string | undefined;
24965
- };
24966
- steps: readonly unknown[];
24895
+ } | undefined;
24967
24896
  audio?: {
24968
- engine: {
24897
+ enabled: boolean;
24898
+ engine?: {
24969
24899
  runtime: "node" | "python";
24970
24900
  backend: string;
24971
24901
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24972
24902
  device?: string | undefined;
24973
- };
24974
- modelId: string;
24975
- enabled: boolean;
24903
+ } | undefined;
24904
+ modelId?: string | undefined;
24976
24905
  settings?: Readonly<Record<string, unknown>> | undefined;
24977
24906
  } | null | undefined;
24978
24907
  } | undefined;
@@ -24981,22 +24910,22 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
24981
24910
  id: string;
24982
24911
  name: string;
24983
24912
  config: {
24984
- engine: {
24913
+ steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24914
+ engine?: {
24985
24915
  runtime: "node" | "python";
24986
24916
  backend: string;
24987
24917
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24988
24918
  device?: string | undefined;
24989
- };
24990
- steps: readonly import("@camstack/types").PipelineStepInputOutput[];
24919
+ } | undefined;
24991
24920
  audio?: {
24992
- engine: {
24921
+ enabled: boolean;
24922
+ engine?: {
24993
24923
  runtime: "node" | "python";
24994
24924
  backend: string;
24995
24925
  format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
24996
24926
  device?: string | undefined;
24997
- };
24998
- modelId: string;
24999
- enabled: boolean;
24927
+ } | undefined;
24928
+ modelId?: string | undefined;
25000
24929
  settings?: Readonly<Record<string, unknown>> | undefined;
25001
24930
  } | null | undefined;
25002
24931
  };
@@ -25036,22 +24965,10 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
25036
24965
  detectionFps?: number | undefined;
25037
24966
  motionSources?: ("onboard" | "analyzer")[] | undefined;
25038
24967
  pipelineEnabled?: boolean | undefined;
25039
- engine?: {
25040
- runtime: "node" | "python";
25041
- backend: string;
25042
- format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
25043
- device?: string | undefined;
25044
- } | undefined;
25045
24968
  steps?: readonly unknown[] | undefined;
25046
24969
  audio?: {
25047
- engine: {
25048
- runtime: "node" | "python";
25049
- backend: string;
25050
- format: "onnx" | "coreml" | "openvino" | "tflite" | "pt";
25051
- device?: string | undefined;
25052
- };
25053
- modelId: string;
25054
24970
  enabled: boolean;
24971
+ modelId?: string | undefined;
25055
24972
  } | null | undefined;
25056
24973
  zones?: readonly {
25057
24974
  id: string;
@@ -25072,6 +24989,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
25072
24989
  } | {
25073
24990
  kind: "remote-restream";
25074
24991
  ownerNodeId: string;
24992
+ ownerReachableHost?: string | undefined;
25075
24993
  hubHostnameOverride?: string | undefined;
25076
24994
  } | undefined;
25077
24995
  };
@@ -27190,7 +27108,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
27190
27108
  bitrateKbps?: number | undefined;
27191
27109
  gopFrames?: number | undefined;
27192
27110
  bf?: number | undefined;
27193
- preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | undefined;
27111
+ preset?: "fast" | "ultrafast" | "superfast" | "veryfast" | "faster" | "medium" | undefined;
27194
27112
  tune?: "zerolatency" | "film" | "animation" | undefined;
27195
27113
  };
27196
27114
  audio: "passthrough" | {
@@ -27405,7 +27323,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
27405
27323
  input: {
27406
27324
  [x: string]: unknown;
27407
27325
  streamId: string;
27408
- format: "webrtc" | "mjpeg" | "rtsp" | "hls";
27326
+ format: "mjpeg" | "rtsp" | "webrtc" | "hls";
27409
27327
  };
27410
27328
  output: {
27411
27329
  url: string;
@@ -28834,6 +28752,198 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
28834
28752
  meta: object;
28835
28753
  }>;
28836
28754
  }>>;
28755
+ webrtcSession: import("@trpc/server").TRPCBuiltRouter<{
28756
+ ctx: TrpcContext;
28757
+ meta: object;
28758
+ errorShape: import("@camstack/types").AugmentedErrorShape;
28759
+ transformer: true;
28760
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
28761
+ listStreams: import("@trpc/server").TRPCQueryProcedure<{
28762
+ input: {
28763
+ [x: string]: unknown;
28764
+ deviceId: number;
28765
+ };
28766
+ output: {
28767
+ id: string;
28768
+ label: string;
28769
+ target: {
28770
+ kind: "adaptive";
28771
+ } | {
28772
+ kind: "profile";
28773
+ profile: "high" | "low" | "mid";
28774
+ } | {
28775
+ kind: "cam-stream";
28776
+ camStreamId: string;
28777
+ };
28778
+ codec: string | null;
28779
+ resolution: {
28780
+ width: number;
28781
+ height: number;
28782
+ } | null;
28783
+ status: "error" | "stopped" | "idle" | "connecting" | "streaming" | null;
28784
+ inputFps: number | null;
28785
+ decodeFps: number | null;
28786
+ bitrateKbps: number | null;
28787
+ }[];
28788
+ meta: object;
28789
+ }>;
28790
+ createSession: import("@trpc/server").TRPCMutationProcedure<{
28791
+ input: {
28792
+ [x: string]: unknown;
28793
+ deviceId: number;
28794
+ target: {
28795
+ kind: "adaptive";
28796
+ } | {
28797
+ kind: "profile";
28798
+ profile: "high" | "low" | "mid";
28799
+ } | {
28800
+ kind: "cam-stream";
28801
+ camStreamId: string;
28802
+ };
28803
+ hints?: {
28804
+ viewportWidth?: number | undefined;
28805
+ viewportHeight?: number | undefined;
28806
+ devicePixelRatio?: number | undefined;
28807
+ downlinkMbps?: number | undefined;
28808
+ prefersTier?: string | undefined;
28809
+ } | undefined;
28810
+ relayOnly?: boolean | undefined;
28811
+ consumerAttribution?: Readonly<{
28812
+ kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
28813
+ label?: string | undefined;
28814
+ media?: "audio" | "video" | "both" | undefined;
28815
+ targetCodec?: string | undefined;
28816
+ transport?: "passthrough" | "repacketize" | "transcode" | undefined;
28817
+ remoteAddr?: string | undefined;
28818
+ userAgent?: string | undefined;
28819
+ userId?: string | undefined;
28820
+ sessionId?: string | undefined;
28821
+ extra?: Record<string, string> | undefined;
28822
+ }> | undefined;
28823
+ };
28824
+ output: {
28825
+ sessionId: string;
28826
+ sdpOffer: string;
28827
+ };
28828
+ meta: object;
28829
+ }>;
28830
+ handleOffer: import("@trpc/server").TRPCMutationProcedure<{
28831
+ input: {
28832
+ [x: string]: unknown;
28833
+ deviceId: number;
28834
+ sdpOffer: string;
28835
+ target?: {
28836
+ kind: "adaptive";
28837
+ } | {
28838
+ kind: "profile";
28839
+ profile: "high" | "low" | "mid";
28840
+ } | {
28841
+ kind: "cam-stream";
28842
+ camStreamId: string;
28843
+ } | undefined;
28844
+ sessionId?: string | undefined;
28845
+ relayOnly?: boolean | undefined;
28846
+ nonTrickle?: boolean | undefined;
28847
+ disableTurn?: boolean | undefined;
28848
+ disableIpv6?: boolean | undefined;
28849
+ consumerAttribution?: Readonly<{
28850
+ kind: "unknown" | "snapshot" | "recording" | "pipeline" | "alexa" | "homekit" | "webrtc-browser" | "webrtc-mobile" | "webrtc-whep" | "rtsp-listen" | "derived-broker" | "warmup";
28851
+ label?: string | undefined;
28852
+ media?: "audio" | "video" | "both" | undefined;
28853
+ targetCodec?: string | undefined;
28854
+ transport?: "passthrough" | "repacketize" | "transcode" | undefined;
28855
+ remoteAddr?: string | undefined;
28856
+ userAgent?: string | undefined;
28857
+ userId?: string | undefined;
28858
+ sessionId?: string | undefined;
28859
+ extra?: Record<string, string> | undefined;
28860
+ }> | undefined;
28861
+ };
28862
+ output: {
28863
+ sessionId: string;
28864
+ sdpAnswer: string;
28865
+ };
28866
+ meta: object;
28867
+ }>;
28868
+ handleAnswer: import("@trpc/server").TRPCMutationProcedure<{
28869
+ input: {
28870
+ [x: string]: unknown;
28871
+ deviceId: number;
28872
+ sessionId: string;
28873
+ sdpAnswer: string;
28874
+ };
28875
+ output: void;
28876
+ meta: object;
28877
+ }>;
28878
+ addIceCandidate: import("@trpc/server").TRPCMutationProcedure<{
28879
+ input: {
28880
+ [x: string]: unknown;
28881
+ deviceId: number;
28882
+ sessionId: string;
28883
+ candidate: string;
28884
+ sdpMid?: string | null | undefined;
28885
+ sdpMLineIndex?: number | null | undefined;
28886
+ };
28887
+ output: void;
28888
+ meta: object;
28889
+ }>;
28890
+ getIceCandidates: import("@trpc/server").TRPCQueryProcedure<{
28891
+ input: {
28892
+ [x: string]: unknown;
28893
+ deviceId: number;
28894
+ sessionId: string;
28895
+ };
28896
+ output: {
28897
+ candidates: {
28898
+ candidate: string;
28899
+ sdpMid: string | null;
28900
+ sdpMLineIndex: number | null;
28901
+ }[];
28902
+ done: boolean;
28903
+ };
28904
+ meta: object;
28905
+ }>;
28906
+ closeSession: import("@trpc/server").TRPCMutationProcedure<{
28907
+ input: {
28908
+ [x: string]: unknown;
28909
+ deviceId: number;
28910
+ sessionId: string;
28911
+ };
28912
+ output: void;
28913
+ meta: object;
28914
+ }>;
28915
+ hasAdaptiveBitrate: import("@trpc/server").TRPCQueryProcedure<{
28916
+ input: {
28917
+ [x: string]: unknown;
28918
+ deviceId: number;
28919
+ profile: "high" | "low" | "mid";
28920
+ };
28921
+ output: boolean;
28922
+ meta: object;
28923
+ }>;
28924
+ getSessionState: import("@trpc/server").TRPCQueryProcedure<{
28925
+ input: {
28926
+ [x: string]: unknown;
28927
+ deviceId: number;
28928
+ sessionId: string;
28929
+ };
28930
+ output: {
28931
+ pendingRenegotiation: {
28932
+ target: {
28933
+ kind: "adaptive";
28934
+ } | {
28935
+ kind: "profile";
28936
+ profile: "high" | "low" | "mid";
28937
+ } | {
28938
+ kind: "cam-stream";
28939
+ camStreamId: string;
28940
+ };
28941
+ epoch: number;
28942
+ } | null;
28943
+ };
28944
+ meta: object;
28945
+ }>;
28946
+ }>>;
28837
28947
  zoneAnalytics: import("@trpc/server").TRPCBuiltRouter<{
28838
28948
  ctx: TrpcContext;
28839
28949
  meta: object;