@camstack/types 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.d.ts +34 -0
- package/dist/addon.js +22 -0
- package/dist/addon.mjs +3 -0
- package/dist/capabilities/addons.cap.d.ts +10 -10
- package/dist/capabilities/advanced-notifier.cap.d.ts +4 -4
- package/dist/capabilities/alerts.cap.d.ts +10 -10
- package/dist/capabilities/audio-codec.cap.d.ts +2 -2
- package/dist/capabilities/camera-streams.cap.d.ts +15 -15
- package/dist/capabilities/consumables.cap.d.ts +4 -4
- package/dist/capabilities/cover.cap.d.ts +4 -4
- package/dist/capabilities/decoder.cap.d.ts +1 -1
- package/dist/capabilities/index.d.ts +2 -1
- package/dist/capabilities/local-network.cap.d.ts +6 -6
- package/dist/capabilities/log-destination.cap.d.ts +5 -5
- package/dist/capabilities/media-player.cap.d.ts +4 -4
- package/dist/capabilities/mesh-network.cap.d.ts +3 -3
- package/dist/capabilities/metrics-provider.cap.d.ts +33 -3
- package/dist/capabilities/network-access.cap.d.ts +7 -7
- package/dist/capabilities/oauth-integration.cap.d.ts +2 -2
- package/dist/capabilities/pipeline-executor.cap.d.ts +48 -1
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +524 -4
- package/dist/capabilities/platform-probe.cap.d.ts +1 -1
- package/dist/capabilities/restreamer.cap.d.ts +2 -2
- package/dist/capabilities/schemas/streaming-shared.d.ts +9 -9
- package/dist/capabilities/sso-bridge.cap.d.ts +3 -3
- package/dist/capabilities/storage.cap.d.ts +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +28 -28
- package/dist/capabilities/stream-params.cap.d.ts +14 -14
- package/dist/capabilities/user-management.cap.d.ts +20 -20
- package/dist/capabilities/vacuum-control.cap.d.ts +13 -13
- package/dist/capabilities/valve.cap.d.ts +4 -4
- package/dist/capabilities/webrtc-session.cap.d.ts +12 -12
- package/dist/deps/binary-downloader.d.ts +1 -1
- package/dist/deps/ffmpeg-downloader.d.ts +1 -1
- package/dist/deps/python-downloader.d.ts +1 -1
- package/dist/device/base-device-provider.d.ts +4 -1
- package/dist/encode-profile.d.ts +2 -2
- package/dist/enums/event-category.d.ts +12 -0
- package/dist/err-msg-COpsHMw2.js +18 -0
- package/dist/err-msg-IQTHeDzc.mjs +13 -0
- package/dist/generated/addon-api.d.ts +438 -12
- package/dist/generated/device-proxy.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +3 -3
- package/dist/health/wiring-health.d.ts +16 -16
- package/dist/index.js +1435 -4646
- package/dist/index.mjs +485 -3711
- package/dist/interfaces/event-bus.d.ts +15 -0
- package/dist/interfaces/metrics-provider.d.ts +3 -1
- package/dist/interfaces/pipeline-executor-capability.d.ts +8 -0
- package/dist/lifecycle/job.d.ts +6 -6
- package/dist/node.js +3 -3
- package/dist/node.mjs +1 -1
- package/dist/schemas/auth-records.d.ts +4 -4
- package/dist/sleep-D7JeS58T.mjs +3507 -0
- package/dist/sleep-DnS0eJh_.js +3920 -0
- package/dist/storage/filesystem-storage-provider.d.ts +2 -1
- package/dist/types/agent-pipeline-settings.d.ts +7 -0
- package/package.json +6 -1
|
@@ -1756,6 +1756,21 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
1756
1756
|
};
|
|
1757
1757
|
meta: object;
|
|
1758
1758
|
}>;
|
|
1759
|
+
getEngineProvisioning: import("@trpc/server").TRPCQueryProcedure<{
|
|
1760
|
+
input: {
|
|
1761
|
+
[x: string]: unknown;
|
|
1762
|
+
nodeId: string;
|
|
1763
|
+
};
|
|
1764
|
+
output: {
|
|
1765
|
+
runtimeId: "onnx" | "coreml" | "openvino" | null;
|
|
1766
|
+
device: string | null;
|
|
1767
|
+
state: "idle" | "failed" | "ready" | "installing" | "verifying";
|
|
1768
|
+
progress?: number | undefined;
|
|
1769
|
+
error?: string | undefined;
|
|
1770
|
+
nextRetryAt?: number | undefined;
|
|
1771
|
+
};
|
|
1772
|
+
meta: object;
|
|
1773
|
+
}>;
|
|
1759
1774
|
getVideoPipelineSteps: import("@trpc/server").TRPCQueryProcedure<{
|
|
1760
1775
|
input: {
|
|
1761
1776
|
nodeId?: string | undefined;
|
|
@@ -2704,6 +2719,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
2704
2719
|
modelId: string;
|
|
2705
2720
|
settings: Readonly<Record<string, unknown>>;
|
|
2706
2721
|
}>>;
|
|
2722
|
+
maxCameras: number | null;
|
|
2707
2723
|
} | null;
|
|
2708
2724
|
meta: object;
|
|
2709
2725
|
}>;
|
|
@@ -2719,6 +2735,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
2719
2735
|
modelId: string;
|
|
2720
2736
|
settings: Readonly<Record<string, unknown>>;
|
|
2721
2737
|
}>>;
|
|
2738
|
+
maxCameras: number | null;
|
|
2722
2739
|
};
|
|
2723
2740
|
}[];
|
|
2724
2741
|
meta: object;
|
|
@@ -2749,6 +2766,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
2749
2766
|
};
|
|
2750
2767
|
meta: object;
|
|
2751
2768
|
}>;
|
|
2769
|
+
setAgentMaxCameras: import("@trpc/server").TRPCMutationProcedure<{
|
|
2770
|
+
input: {
|
|
2771
|
+
[x: string]: unknown;
|
|
2772
|
+
agentNodeId: string;
|
|
2773
|
+
maxCameras: number | null;
|
|
2774
|
+
};
|
|
2775
|
+
output: {
|
|
2776
|
+
success: true;
|
|
2777
|
+
};
|
|
2778
|
+
meta: object;
|
|
2779
|
+
}>;
|
|
2752
2780
|
getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
|
|
2753
2781
|
input: {
|
|
2754
2782
|
[x: string]: unknown;
|
|
@@ -2859,6 +2887,186 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
2859
2887
|
};
|
|
2860
2888
|
meta: object;
|
|
2861
2889
|
}>;
|
|
2890
|
+
getCameraStatus: import("@trpc/server").TRPCQueryProcedure<{
|
|
2891
|
+
input: {
|
|
2892
|
+
[x: string]: unknown;
|
|
2893
|
+
deviceId: number;
|
|
2894
|
+
};
|
|
2895
|
+
output: {
|
|
2896
|
+
deviceId: number;
|
|
2897
|
+
assignment: {
|
|
2898
|
+
detectionNodeId: string | null;
|
|
2899
|
+
decoderNodeId: string | null;
|
|
2900
|
+
audioNodeId: string | null;
|
|
2901
|
+
pinned: {
|
|
2902
|
+
detection: boolean;
|
|
2903
|
+
decoder: boolean;
|
|
2904
|
+
audio: boolean;
|
|
2905
|
+
};
|
|
2906
|
+
reasons: {
|
|
2907
|
+
detection?: string | undefined;
|
|
2908
|
+
decoder?: string | undefined;
|
|
2909
|
+
audio?: string | undefined;
|
|
2910
|
+
};
|
|
2911
|
+
};
|
|
2912
|
+
source: {
|
|
2913
|
+
streams: readonly {
|
|
2914
|
+
camStreamId: string;
|
|
2915
|
+
codec: string;
|
|
2916
|
+
width: number;
|
|
2917
|
+
height: number;
|
|
2918
|
+
fps: number;
|
|
2919
|
+
kind: string;
|
|
2920
|
+
}[];
|
|
2921
|
+
};
|
|
2922
|
+
broker: {
|
|
2923
|
+
profiles: readonly {
|
|
2924
|
+
profile: string;
|
|
2925
|
+
status: string;
|
|
2926
|
+
codec: string;
|
|
2927
|
+
width: number;
|
|
2928
|
+
height: number;
|
|
2929
|
+
subscribers: number;
|
|
2930
|
+
inFps: number;
|
|
2931
|
+
outFps: number;
|
|
2932
|
+
}[];
|
|
2933
|
+
webrtcSessions: number;
|
|
2934
|
+
rtspRestream: boolean;
|
|
2935
|
+
} | null;
|
|
2936
|
+
decoder: {
|
|
2937
|
+
nodeId: string;
|
|
2938
|
+
formats: readonly string[];
|
|
2939
|
+
sessionCount: number;
|
|
2940
|
+
shm: {
|
|
2941
|
+
framesWritten: number;
|
|
2942
|
+
getFrameHits: number;
|
|
2943
|
+
getFrameMisses: number;
|
|
2944
|
+
budgetMb: number;
|
|
2945
|
+
};
|
|
2946
|
+
} | null;
|
|
2947
|
+
motion: {
|
|
2948
|
+
enabled: boolean;
|
|
2949
|
+
fps: number;
|
|
2950
|
+
} | null;
|
|
2951
|
+
detection: {
|
|
2952
|
+
nodeId: string;
|
|
2953
|
+
engine: {
|
|
2954
|
+
backend: string;
|
|
2955
|
+
device: string;
|
|
2956
|
+
};
|
|
2957
|
+
phase: "idle" | "active" | "watching";
|
|
2958
|
+
configuredFps: number;
|
|
2959
|
+
actualFps: number;
|
|
2960
|
+
queueDepth: number;
|
|
2961
|
+
avgInferenceMs: number;
|
|
2962
|
+
provisioning: {
|
|
2963
|
+
state: "idle" | "failed" | "ready" | "installing" | "verifying";
|
|
2964
|
+
error?: string | undefined;
|
|
2965
|
+
};
|
|
2966
|
+
} | null;
|
|
2967
|
+
audio: {
|
|
2968
|
+
nodeId: string;
|
|
2969
|
+
enabled: boolean;
|
|
2970
|
+
} | null;
|
|
2971
|
+
recording: {
|
|
2972
|
+
mode: "events" | "off" | "continuous";
|
|
2973
|
+
active: boolean;
|
|
2974
|
+
storageBytes: number;
|
|
2975
|
+
} | null;
|
|
2976
|
+
fetchedAt: number;
|
|
2977
|
+
};
|
|
2978
|
+
meta: object;
|
|
2979
|
+
}>;
|
|
2980
|
+
getCameraStatuses: import("@trpc/server").TRPCQueryProcedure<{
|
|
2981
|
+
input: {
|
|
2982
|
+
[x: string]: unknown;
|
|
2983
|
+
deviceIds?: number[] | undefined;
|
|
2984
|
+
};
|
|
2985
|
+
output: readonly {
|
|
2986
|
+
deviceId: number;
|
|
2987
|
+
assignment: {
|
|
2988
|
+
detectionNodeId: string | null;
|
|
2989
|
+
decoderNodeId: string | null;
|
|
2990
|
+
audioNodeId: string | null;
|
|
2991
|
+
pinned: {
|
|
2992
|
+
detection: boolean;
|
|
2993
|
+
decoder: boolean;
|
|
2994
|
+
audio: boolean;
|
|
2995
|
+
};
|
|
2996
|
+
reasons: {
|
|
2997
|
+
detection?: string | undefined;
|
|
2998
|
+
decoder?: string | undefined;
|
|
2999
|
+
audio?: string | undefined;
|
|
3000
|
+
};
|
|
3001
|
+
};
|
|
3002
|
+
source: {
|
|
3003
|
+
streams: readonly {
|
|
3004
|
+
camStreamId: string;
|
|
3005
|
+
codec: string;
|
|
3006
|
+
width: number;
|
|
3007
|
+
height: number;
|
|
3008
|
+
fps: number;
|
|
3009
|
+
kind: string;
|
|
3010
|
+
}[];
|
|
3011
|
+
};
|
|
3012
|
+
broker: {
|
|
3013
|
+
profiles: readonly {
|
|
3014
|
+
profile: string;
|
|
3015
|
+
status: string;
|
|
3016
|
+
codec: string;
|
|
3017
|
+
width: number;
|
|
3018
|
+
height: number;
|
|
3019
|
+
subscribers: number;
|
|
3020
|
+
inFps: number;
|
|
3021
|
+
outFps: number;
|
|
3022
|
+
}[];
|
|
3023
|
+
webrtcSessions: number;
|
|
3024
|
+
rtspRestream: boolean;
|
|
3025
|
+
} | null;
|
|
3026
|
+
decoder: {
|
|
3027
|
+
nodeId: string;
|
|
3028
|
+
formats: readonly string[];
|
|
3029
|
+
sessionCount: number;
|
|
3030
|
+
shm: {
|
|
3031
|
+
framesWritten: number;
|
|
3032
|
+
getFrameHits: number;
|
|
3033
|
+
getFrameMisses: number;
|
|
3034
|
+
budgetMb: number;
|
|
3035
|
+
};
|
|
3036
|
+
} | null;
|
|
3037
|
+
motion: {
|
|
3038
|
+
enabled: boolean;
|
|
3039
|
+
fps: number;
|
|
3040
|
+
} | null;
|
|
3041
|
+
detection: {
|
|
3042
|
+
nodeId: string;
|
|
3043
|
+
engine: {
|
|
3044
|
+
backend: string;
|
|
3045
|
+
device: string;
|
|
3046
|
+
};
|
|
3047
|
+
phase: "idle" | "active" | "watching";
|
|
3048
|
+
configuredFps: number;
|
|
3049
|
+
actualFps: number;
|
|
3050
|
+
queueDepth: number;
|
|
3051
|
+
avgInferenceMs: number;
|
|
3052
|
+
provisioning: {
|
|
3053
|
+
state: "idle" | "failed" | "ready" | "installing" | "verifying";
|
|
3054
|
+
error?: string | undefined;
|
|
3055
|
+
};
|
|
3056
|
+
} | null;
|
|
3057
|
+
audio: {
|
|
3058
|
+
nodeId: string;
|
|
3059
|
+
enabled: boolean;
|
|
3060
|
+
} | null;
|
|
3061
|
+
recording: {
|
|
3062
|
+
mode: "events" | "off" | "continuous";
|
|
3063
|
+
active: boolean;
|
|
3064
|
+
storageBytes: number;
|
|
3065
|
+
} | null;
|
|
3066
|
+
fetchedAt: number;
|
|
3067
|
+
}[];
|
|
3068
|
+
meta: object;
|
|
3069
|
+
}>;
|
|
2862
3070
|
listTemplates: import("@trpc/server").TRPCQueryProcedure<{
|
|
2863
3071
|
input: {
|
|
2864
3072
|
nodeId?: string | undefined;
|
|
@@ -5263,7 +5471,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
5263
5471
|
profile: "high" | "low" | "mid";
|
|
5264
5472
|
brokerId: string;
|
|
5265
5473
|
sourceCamStreamId: string | null;
|
|
5266
|
-
status: "error" | "idle" | "connecting" | "
|
|
5474
|
+
status: "error" | "idle" | "connecting" | "unassigned" | "streaming";
|
|
5267
5475
|
resolution?: {
|
|
5268
5476
|
width: number;
|
|
5269
5477
|
height: number;
|
|
@@ -5318,11 +5526,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
5318
5526
|
[x: string]: unknown;
|
|
5319
5527
|
deviceId: number;
|
|
5320
5528
|
requirements: Readonly<{
|
|
5321
|
-
acceptCodecs?: readonly ("h264" | "h265" | "
|
|
5529
|
+
acceptCodecs?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
|
|
5322
5530
|
minHeight?: number | undefined;
|
|
5323
5531
|
minWidth?: number | undefined;
|
|
5324
5532
|
excludeDerived?: boolean | undefined;
|
|
5325
|
-
requireSiblingCodec?: readonly ("h264" | "h265" | "
|
|
5533
|
+
requireSiblingCodec?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
|
|
5326
5534
|
}>;
|
|
5327
5535
|
preferences?: Readonly<{
|
|
5328
5536
|
preferredProviders?: readonly string[] | undefined;
|
|
@@ -8546,6 +8754,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
8546
8754
|
};
|
|
8547
8755
|
meta: object;
|
|
8548
8756
|
}>;
|
|
8757
|
+
dumpHeapSnapshot: import("@trpc/server").TRPCMutationProcedure<{
|
|
8758
|
+
input: any;
|
|
8759
|
+
output: any;
|
|
8760
|
+
meta: object;
|
|
8761
|
+
}>;
|
|
8549
8762
|
}>>;
|
|
8550
8763
|
motion: import("@trpc/server").TRPCBuiltRouter<{
|
|
8551
8764
|
ctx: TrpcContext;
|
|
@@ -11400,7 +11613,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
11400
11613
|
encodeProfile?: {
|
|
11401
11614
|
video: {
|
|
11402
11615
|
codec: "h264" | "h265" | "copy";
|
|
11403
|
-
profile?: "main" | "
|
|
11616
|
+
profile?: "main" | "high" | "baseline" | undefined;
|
|
11404
11617
|
width?: number | undefined;
|
|
11405
11618
|
height?: number | undefined;
|
|
11406
11619
|
fps?: number | undefined;
|
|
@@ -11490,7 +11703,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
11490
11703
|
profile: "high" | "low" | "mid";
|
|
11491
11704
|
brokerId: string;
|
|
11492
11705
|
sourceCamStreamId: string | null;
|
|
11493
|
-
status: "error" | "idle" | "connecting" | "
|
|
11706
|
+
status: "error" | "idle" | "connecting" | "unassigned" | "streaming";
|
|
11494
11707
|
resolution?: {
|
|
11495
11708
|
width: number;
|
|
11496
11709
|
height: number;
|
|
@@ -11957,7 +12170,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
11957
12170
|
framerate?: number | undefined;
|
|
11958
12171
|
bitrate?: number | undefined;
|
|
11959
12172
|
bitrateMode?: "vbr" | "cbr" | undefined;
|
|
11960
|
-
encoderProfile?: "main" | "
|
|
12173
|
+
encoderProfile?: "main" | "high" | "baseline" | undefined;
|
|
11961
12174
|
gop?: number | undefined;
|
|
11962
12175
|
audio?: boolean | undefined;
|
|
11963
12176
|
};
|
|
@@ -14902,6 +15115,21 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
14902
15115
|
};
|
|
14903
15116
|
meta: object;
|
|
14904
15117
|
}>;
|
|
15118
|
+
getEngineProvisioning: import("@trpc/server").TRPCQueryProcedure<{
|
|
15119
|
+
input: {
|
|
15120
|
+
[x: string]: unknown;
|
|
15121
|
+
nodeId: string;
|
|
15122
|
+
};
|
|
15123
|
+
output: {
|
|
15124
|
+
runtimeId: "onnx" | "coreml" | "openvino" | null;
|
|
15125
|
+
device: string | null;
|
|
15126
|
+
state: "idle" | "failed" | "ready" | "installing" | "verifying";
|
|
15127
|
+
progress?: number | undefined;
|
|
15128
|
+
error?: string | undefined;
|
|
15129
|
+
nextRetryAt?: number | undefined;
|
|
15130
|
+
};
|
|
15131
|
+
meta: object;
|
|
15132
|
+
}>;
|
|
14905
15133
|
getVideoPipelineSteps: import("@trpc/server").TRPCQueryProcedure<{
|
|
14906
15134
|
input: {
|
|
14907
15135
|
nodeId?: string | undefined;
|
|
@@ -15850,6 +16078,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
15850
16078
|
modelId: string;
|
|
15851
16079
|
settings: Readonly<Record<string, unknown>>;
|
|
15852
16080
|
}>>;
|
|
16081
|
+
maxCameras: number | null;
|
|
15853
16082
|
} | null;
|
|
15854
16083
|
meta: object;
|
|
15855
16084
|
}>;
|
|
@@ -15865,6 +16094,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
15865
16094
|
modelId: string;
|
|
15866
16095
|
settings: Readonly<Record<string, unknown>>;
|
|
15867
16096
|
}>>;
|
|
16097
|
+
maxCameras: number | null;
|
|
15868
16098
|
};
|
|
15869
16099
|
}[];
|
|
15870
16100
|
meta: object;
|
|
@@ -15895,6 +16125,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
15895
16125
|
};
|
|
15896
16126
|
meta: object;
|
|
15897
16127
|
}>;
|
|
16128
|
+
setAgentMaxCameras: import("@trpc/server").TRPCMutationProcedure<{
|
|
16129
|
+
input: {
|
|
16130
|
+
[x: string]: unknown;
|
|
16131
|
+
agentNodeId: string;
|
|
16132
|
+
maxCameras: number | null;
|
|
16133
|
+
};
|
|
16134
|
+
output: {
|
|
16135
|
+
success: true;
|
|
16136
|
+
};
|
|
16137
|
+
meta: object;
|
|
16138
|
+
}>;
|
|
15898
16139
|
getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
|
|
15899
16140
|
input: {
|
|
15900
16141
|
[x: string]: unknown;
|
|
@@ -16005,6 +16246,186 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
16005
16246
|
};
|
|
16006
16247
|
meta: object;
|
|
16007
16248
|
}>;
|
|
16249
|
+
getCameraStatus: import("@trpc/server").TRPCQueryProcedure<{
|
|
16250
|
+
input: {
|
|
16251
|
+
[x: string]: unknown;
|
|
16252
|
+
deviceId: number;
|
|
16253
|
+
};
|
|
16254
|
+
output: {
|
|
16255
|
+
deviceId: number;
|
|
16256
|
+
assignment: {
|
|
16257
|
+
detectionNodeId: string | null;
|
|
16258
|
+
decoderNodeId: string | null;
|
|
16259
|
+
audioNodeId: string | null;
|
|
16260
|
+
pinned: {
|
|
16261
|
+
detection: boolean;
|
|
16262
|
+
decoder: boolean;
|
|
16263
|
+
audio: boolean;
|
|
16264
|
+
};
|
|
16265
|
+
reasons: {
|
|
16266
|
+
detection?: string | undefined;
|
|
16267
|
+
decoder?: string | undefined;
|
|
16268
|
+
audio?: string | undefined;
|
|
16269
|
+
};
|
|
16270
|
+
};
|
|
16271
|
+
source: {
|
|
16272
|
+
streams: readonly {
|
|
16273
|
+
camStreamId: string;
|
|
16274
|
+
codec: string;
|
|
16275
|
+
width: number;
|
|
16276
|
+
height: number;
|
|
16277
|
+
fps: number;
|
|
16278
|
+
kind: string;
|
|
16279
|
+
}[];
|
|
16280
|
+
};
|
|
16281
|
+
broker: {
|
|
16282
|
+
profiles: readonly {
|
|
16283
|
+
profile: string;
|
|
16284
|
+
status: string;
|
|
16285
|
+
codec: string;
|
|
16286
|
+
width: number;
|
|
16287
|
+
height: number;
|
|
16288
|
+
subscribers: number;
|
|
16289
|
+
inFps: number;
|
|
16290
|
+
outFps: number;
|
|
16291
|
+
}[];
|
|
16292
|
+
webrtcSessions: number;
|
|
16293
|
+
rtspRestream: boolean;
|
|
16294
|
+
} | null;
|
|
16295
|
+
decoder: {
|
|
16296
|
+
nodeId: string;
|
|
16297
|
+
formats: readonly string[];
|
|
16298
|
+
sessionCount: number;
|
|
16299
|
+
shm: {
|
|
16300
|
+
framesWritten: number;
|
|
16301
|
+
getFrameHits: number;
|
|
16302
|
+
getFrameMisses: number;
|
|
16303
|
+
budgetMb: number;
|
|
16304
|
+
};
|
|
16305
|
+
} | null;
|
|
16306
|
+
motion: {
|
|
16307
|
+
enabled: boolean;
|
|
16308
|
+
fps: number;
|
|
16309
|
+
} | null;
|
|
16310
|
+
detection: {
|
|
16311
|
+
nodeId: string;
|
|
16312
|
+
engine: {
|
|
16313
|
+
backend: string;
|
|
16314
|
+
device: string;
|
|
16315
|
+
};
|
|
16316
|
+
phase: "idle" | "active" | "watching";
|
|
16317
|
+
configuredFps: number;
|
|
16318
|
+
actualFps: number;
|
|
16319
|
+
queueDepth: number;
|
|
16320
|
+
avgInferenceMs: number;
|
|
16321
|
+
provisioning: {
|
|
16322
|
+
state: "idle" | "failed" | "ready" | "installing" | "verifying";
|
|
16323
|
+
error?: string | undefined;
|
|
16324
|
+
};
|
|
16325
|
+
} | null;
|
|
16326
|
+
audio: {
|
|
16327
|
+
nodeId: string;
|
|
16328
|
+
enabled: boolean;
|
|
16329
|
+
} | null;
|
|
16330
|
+
recording: {
|
|
16331
|
+
mode: "events" | "off" | "continuous";
|
|
16332
|
+
active: boolean;
|
|
16333
|
+
storageBytes: number;
|
|
16334
|
+
} | null;
|
|
16335
|
+
fetchedAt: number;
|
|
16336
|
+
};
|
|
16337
|
+
meta: object;
|
|
16338
|
+
}>;
|
|
16339
|
+
getCameraStatuses: import("@trpc/server").TRPCQueryProcedure<{
|
|
16340
|
+
input: {
|
|
16341
|
+
[x: string]: unknown;
|
|
16342
|
+
deviceIds?: number[] | undefined;
|
|
16343
|
+
};
|
|
16344
|
+
output: readonly {
|
|
16345
|
+
deviceId: number;
|
|
16346
|
+
assignment: {
|
|
16347
|
+
detectionNodeId: string | null;
|
|
16348
|
+
decoderNodeId: string | null;
|
|
16349
|
+
audioNodeId: string | null;
|
|
16350
|
+
pinned: {
|
|
16351
|
+
detection: boolean;
|
|
16352
|
+
decoder: boolean;
|
|
16353
|
+
audio: boolean;
|
|
16354
|
+
};
|
|
16355
|
+
reasons: {
|
|
16356
|
+
detection?: string | undefined;
|
|
16357
|
+
decoder?: string | undefined;
|
|
16358
|
+
audio?: string | undefined;
|
|
16359
|
+
};
|
|
16360
|
+
};
|
|
16361
|
+
source: {
|
|
16362
|
+
streams: readonly {
|
|
16363
|
+
camStreamId: string;
|
|
16364
|
+
codec: string;
|
|
16365
|
+
width: number;
|
|
16366
|
+
height: number;
|
|
16367
|
+
fps: number;
|
|
16368
|
+
kind: string;
|
|
16369
|
+
}[];
|
|
16370
|
+
};
|
|
16371
|
+
broker: {
|
|
16372
|
+
profiles: readonly {
|
|
16373
|
+
profile: string;
|
|
16374
|
+
status: string;
|
|
16375
|
+
codec: string;
|
|
16376
|
+
width: number;
|
|
16377
|
+
height: number;
|
|
16378
|
+
subscribers: number;
|
|
16379
|
+
inFps: number;
|
|
16380
|
+
outFps: number;
|
|
16381
|
+
}[];
|
|
16382
|
+
webrtcSessions: number;
|
|
16383
|
+
rtspRestream: boolean;
|
|
16384
|
+
} | null;
|
|
16385
|
+
decoder: {
|
|
16386
|
+
nodeId: string;
|
|
16387
|
+
formats: readonly string[];
|
|
16388
|
+
sessionCount: number;
|
|
16389
|
+
shm: {
|
|
16390
|
+
framesWritten: number;
|
|
16391
|
+
getFrameHits: number;
|
|
16392
|
+
getFrameMisses: number;
|
|
16393
|
+
budgetMb: number;
|
|
16394
|
+
};
|
|
16395
|
+
} | null;
|
|
16396
|
+
motion: {
|
|
16397
|
+
enabled: boolean;
|
|
16398
|
+
fps: number;
|
|
16399
|
+
} | null;
|
|
16400
|
+
detection: {
|
|
16401
|
+
nodeId: string;
|
|
16402
|
+
engine: {
|
|
16403
|
+
backend: string;
|
|
16404
|
+
device: string;
|
|
16405
|
+
};
|
|
16406
|
+
phase: "idle" | "active" | "watching";
|
|
16407
|
+
configuredFps: number;
|
|
16408
|
+
actualFps: number;
|
|
16409
|
+
queueDepth: number;
|
|
16410
|
+
avgInferenceMs: number;
|
|
16411
|
+
provisioning: {
|
|
16412
|
+
state: "idle" | "failed" | "ready" | "installing" | "verifying";
|
|
16413
|
+
error?: string | undefined;
|
|
16414
|
+
};
|
|
16415
|
+
} | null;
|
|
16416
|
+
audio: {
|
|
16417
|
+
nodeId: string;
|
|
16418
|
+
enabled: boolean;
|
|
16419
|
+
} | null;
|
|
16420
|
+
recording: {
|
|
16421
|
+
mode: "events" | "off" | "continuous";
|
|
16422
|
+
active: boolean;
|
|
16423
|
+
storageBytes: number;
|
|
16424
|
+
} | null;
|
|
16425
|
+
fetchedAt: number;
|
|
16426
|
+
}[];
|
|
16427
|
+
meta: object;
|
|
16428
|
+
}>;
|
|
16008
16429
|
listTemplates: import("@trpc/server").TRPCQueryProcedure<{
|
|
16009
16430
|
input: {
|
|
16010
16431
|
nodeId?: string | undefined;
|
|
@@ -18409,7 +18830,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
18409
18830
|
profile: "high" | "low" | "mid";
|
|
18410
18831
|
brokerId: string;
|
|
18411
18832
|
sourceCamStreamId: string | null;
|
|
18412
|
-
status: "error" | "idle" | "connecting" | "
|
|
18833
|
+
status: "error" | "idle" | "connecting" | "unassigned" | "streaming";
|
|
18413
18834
|
resolution?: {
|
|
18414
18835
|
width: number;
|
|
18415
18836
|
height: number;
|
|
@@ -18464,11 +18885,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
18464
18885
|
[x: string]: unknown;
|
|
18465
18886
|
deviceId: number;
|
|
18466
18887
|
requirements: Readonly<{
|
|
18467
|
-
acceptCodecs?: readonly ("h264" | "h265" | "
|
|
18888
|
+
acceptCodecs?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
|
|
18468
18889
|
minHeight?: number | undefined;
|
|
18469
18890
|
minWidth?: number | undefined;
|
|
18470
18891
|
excludeDerived?: boolean | undefined;
|
|
18471
|
-
requireSiblingCodec?: readonly ("h264" | "h265" | "
|
|
18892
|
+
requireSiblingCodec?: readonly ("h264" | "h265" | "mjpeg" | "hevc" | "av1" | "vp8" | "vp9")[] | undefined;
|
|
18472
18893
|
}>;
|
|
18473
18894
|
preferences?: Readonly<{
|
|
18474
18895
|
preferredProviders?: readonly string[] | undefined;
|
|
@@ -21692,6 +22113,11 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
21692
22113
|
};
|
|
21693
22114
|
meta: object;
|
|
21694
22115
|
}>;
|
|
22116
|
+
dumpHeapSnapshot: import("@trpc/server").TRPCMutationProcedure<{
|
|
22117
|
+
input: any;
|
|
22118
|
+
output: any;
|
|
22119
|
+
meta: object;
|
|
22120
|
+
}>;
|
|
21695
22121
|
}>>;
|
|
21696
22122
|
motion: import("@trpc/server").TRPCBuiltRouter<{
|
|
21697
22123
|
ctx: TrpcContext;
|
|
@@ -24546,7 +24972,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
24546
24972
|
encodeProfile?: {
|
|
24547
24973
|
video: {
|
|
24548
24974
|
codec: "h264" | "h265" | "copy";
|
|
24549
|
-
profile?: "main" | "
|
|
24975
|
+
profile?: "main" | "high" | "baseline" | undefined;
|
|
24550
24976
|
width?: number | undefined;
|
|
24551
24977
|
height?: number | undefined;
|
|
24552
24978
|
fps?: number | undefined;
|
|
@@ -24636,7 +25062,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
24636
25062
|
profile: "high" | "low" | "mid";
|
|
24637
25063
|
brokerId: string;
|
|
24638
25064
|
sourceCamStreamId: string | null;
|
|
24639
|
-
status: "error" | "idle" | "connecting" | "
|
|
25065
|
+
status: "error" | "idle" | "connecting" | "unassigned" | "streaming";
|
|
24640
25066
|
resolution?: {
|
|
24641
25067
|
width: number;
|
|
24642
25068
|
height: number;
|
|
@@ -25103,7 +25529,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
|
|
|
25103
25529
|
framerate?: number | undefined;
|
|
25104
25530
|
bitrate?: number | undefined;
|
|
25105
25531
|
bitrateMode?: "vbr" | "cbr" | undefined;
|
|
25106
|
-
encoderProfile?: "main" | "
|
|
25532
|
+
encoderProfile?: "main" | "high" | "baseline" | undefined;
|
|
25107
25533
|
gop?: number | undefined;
|
|
25108
25534
|
audio?: boolean | undefined;
|
|
25109
25535
|
};
|
|
@@ -259,7 +259,7 @@ export interface DeviceProxy {
|
|
|
259
259
|
readonly faceGallery: Pick<InferDeviceProxyCap<typeof faceGalleryCapability>, 'getFaceByTrack'>;
|
|
260
260
|
readonly networkQuality: Pick<InferDeviceProxyCap<typeof networkQualityCapability>, 'getDeviceStats' | 'reportClientStats'>;
|
|
261
261
|
readonly pipelineExecutor: Pick<InferDeviceProxyCap<typeof pipelineExecutorCapability>, 'runPipeline' | 'runPipelineBatch'>;
|
|
262
|
-
readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignDecoder' | 'unassignDecoder' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getAudioAssignments' | 'getDecoderAssignment' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraStepOverrides' | 'setCameraStepOverride' | 'setCameraPipelineForAgent' | 'resolvePipeline' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
|
|
262
|
+
readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignDecoder' | 'unassignDecoder' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getAudioAssignments' | 'getDecoderAssignment' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraStepOverrides' | 'setCameraStepOverride' | 'setCameraPipelineForAgent' | 'resolvePipeline' | 'getCameraStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
|
|
263
263
|
readonly pipelineRunner: Pick<InferDeviceProxyCap<typeof pipelineRunnerCapability>, 'detachCamera' | 'getCameraMetrics'>;
|
|
264
264
|
readonly plateGallery: Pick<InferDeviceProxyCap<typeof plateGalleryCapability>, 'listPlates' | 'getPlateByTrack'>;
|
|
265
265
|
readonly recording: Pick<InferDeviceProxyCap<typeof recordingCapability>, 'getAvailability' | 'getDaysWithRecordings' | 'getPlaybackManifest' | 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 703 method paths across 107 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -65,14 +65,14 @@ export interface SystemProxy {
|
|
|
65
65
|
readonly integrations: Pick<InferProvider<typeof integrationsCapability>, 'list' | 'get' | 'getByAddonId' | 'create' | 'update' | 'delete' | 'getSettings' | 'setSettings' | 'getAvailableTypes' | 'testConnection'>;
|
|
66
66
|
readonly localNetwork: Pick<InferProvider<typeof localNetworkCapability>, 'list' | 'getPreferred' | 'getConnectionEndpoints' | 'getAllowedAddresses' | 'setAllowedAddresses' | 'resetAllowlistToBestMatch'>;
|
|
67
67
|
readonly meshNetwork: Pick<InferProvider<typeof meshNetworkCapability>, 'getStatus' | 'join' | 'startLogin' | 'leave' | 'logout' | 'listPeers' | 'testConnection'>;
|
|
68
|
-
readonly metricsProvider: Pick<InferProvider<typeof metricsProviderCapability>, 'collectSnapshot' | 'getCached' | 'getCurrent' | 'getDiskSpace' | 'getGpuInfo' | 'getCpuTemperature' | 'getProcessStats' | 'listAddonInstances' | 'getAddonStats' | 'listNodeProcesses' | 'killProcess'>;
|
|
68
|
+
readonly metricsProvider: Pick<InferProvider<typeof metricsProviderCapability>, 'collectSnapshot' | 'getCached' | 'getCurrent' | 'getDiskSpace' | 'getGpuInfo' | 'getCpuTemperature' | 'getProcessStats' | 'listAddonInstances' | 'getAddonStats' | 'listNodeProcesses' | 'killProcess' | 'dumpHeapSnapshot'>;
|
|
69
69
|
readonly mqttBroker: Pick<InferProvider<typeof mqttBrokerCapability>, 'listBrokers' | 'getBrokerConfig' | 'addBroker' | 'removeBroker' | 'testConnection' | 'startEmbeddedBroker' | 'stopEmbeddedBroker' | 'getStatus'>;
|
|
70
70
|
readonly networkAccess: Pick<InferProvider<typeof networkAccessCapability>, 'start' | 'stop' | 'getEndpoint' | 'getStatus' | 'listEndpoints'>;
|
|
71
71
|
readonly networkQuality: Pick<InferProvider<typeof networkQualityCapability>, 'getAllStats'>;
|
|
72
72
|
readonly nodes: Pick<InferProvider<typeof nodesCapability>, 'topology' | 'deployAddon' | 'undeployAddon' | 'restartAddon' | 'restartProcess' | 'restartNode' | 'shutdownNode' | 'renameNode' | 'clusterAddonStatus' | 'getCapUsageGraph' | 'getNodeAddons' | 'setProcessLogLevel' | 'executeQuery'>;
|
|
73
73
|
readonly notificationOutput: Pick<InferProvider<typeof notificationOutputCapability>, 'send' | 'sendTest'>;
|
|
74
|
-
readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'reprobeEngine' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'detect' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
|
|
75
|
-
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getDecoderAssignments' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'setAgentAddonDefaults' | 'removeAgentSettings' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
|
|
74
|
+
readonly pipelineExecutor: Pick<InferProvider<typeof pipelineExecutorCapability>, 'getAvailableEngines' | 'getSelectedEngine' | 'getDefaultSteps' | 'reprobeEngine' | 'getEngineProvisioning' | 'getVideoPipelineSteps' | 'setVideoPipelineSteps' | 'getSchema' | 'getGlobalSteps' | 'getGlobalPipelineConfig' | 'getOrchestratorConfigSchema' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate' | 'getCapabilities' | 'getAddonModels' | 'downloadModel' | 'deleteModel' | 'detect' | 'cacheFrameInPool' | 'inferCached' | 'uncacheFrame' | 'getEffectiveTuning' | 'listLoadedEngines' | 'spinEngine' | 'killEngine' | 'listReferenceImages' | 'getReferenceImage' | 'getReferenceAudioFiles' | 'getReferenceAudio' | 'getAudioCapabilities' | 'runAudioTest' | 'getDetectionConfigSchema'>;
|
|
75
|
+
readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getDecoderAssignments' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'setAgentAddonDefaults' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'getCameraStatuses' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
|
|
76
76
|
readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras'>;
|
|
77
77
|
readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate'>;
|
|
78
78
|
readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getStorageUsage'>;
|