@camstack/types 1.0.3 → 1.0.5

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.
@@ -1290,7 +1290,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
1290
1290
  } | undefined;
1291
1291
  hasBackup?: boolean | undefined;
1292
1292
  health?: {
1293
- phase: "pending" | "healthy" | "failed";
1293
+ phase: "pending" | "failed" | "healthy";
1294
1294
  retryCount: number;
1295
1295
  firstFailureAt: number | null;
1296
1296
  lastAttemptAt: number | null;
@@ -1508,89 +1508,6 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
1508
1508
  };
1509
1509
  meta: object;
1510
1510
  }>;
1511
- startBulkUpdate: import("@trpc/server").TRPCMutationProcedure<{
1512
- input: {
1513
- [x: string]: unknown;
1514
- nodeId: string;
1515
- items: readonly {
1516
- name: string;
1517
- version: string;
1518
- isSystem: boolean;
1519
- }[];
1520
- };
1521
- output: {
1522
- id: string;
1523
- };
1524
- meta: object;
1525
- }>;
1526
- getBulkUpdateState: import("@trpc/server").TRPCQueryProcedure<{
1527
- input: {
1528
- [x: string]: unknown;
1529
- id: string;
1530
- };
1531
- output: {
1532
- id: string;
1533
- nodeId: string;
1534
- startedAtMs: number;
1535
- total: number;
1536
- completed: number;
1537
- failed: number;
1538
- current: string | null;
1539
- phase: "system" | "regular" | "restarting" | "finalizing";
1540
- cancelled: boolean;
1541
- items: readonly {
1542
- name: string;
1543
- isSystem: boolean;
1544
- fromVersion: string;
1545
- toVersion: string;
1546
- status: "failed" | "queued" | "updating" | "done" | "done-pending-restart";
1547
- error?: string | undefined;
1548
- startedAtMs?: number | undefined;
1549
- completedAtMs?: number | undefined;
1550
- }[];
1551
- completedAtMs?: number | undefined;
1552
- } | null;
1553
- meta: object;
1554
- }>;
1555
- cancelBulkUpdate: import("@trpc/server").TRPCMutationProcedure<{
1556
- input: {
1557
- [x: string]: unknown;
1558
- id: string;
1559
- };
1560
- output: {
1561
- cancelled: boolean;
1562
- };
1563
- meta: object;
1564
- }>;
1565
- listActiveBulkUpdates: import("@trpc/server").TRPCQueryProcedure<{
1566
- input: {
1567
- [x: string]: unknown;
1568
- nodeId?: string | undefined;
1569
- };
1570
- output: readonly {
1571
- id: string;
1572
- nodeId: string;
1573
- startedAtMs: number;
1574
- total: number;
1575
- completed: number;
1576
- failed: number;
1577
- current: string | null;
1578
- phase: "system" | "regular" | "restarting" | "finalizing";
1579
- cancelled: boolean;
1580
- items: readonly {
1581
- name: string;
1582
- isSystem: boolean;
1583
- fromVersion: string;
1584
- toVersion: string;
1585
- status: "failed" | "queued" | "updating" | "done" | "done-pending-restart";
1586
- error?: string | undefined;
1587
- startedAtMs?: number | undefined;
1588
- completedAtMs?: number | undefined;
1589
- }[];
1590
- completedAtMs?: number | undefined;
1591
- }[];
1592
- meta: object;
1593
- }>;
1594
1511
  getVersions: import("@trpc/server").TRPCQueryProcedure<{
1595
1512
  input: {
1596
1513
  [x: string]: unknown;
@@ -1678,6 +1595,105 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
1678
1595
  output: unknown;
1679
1596
  meta: object;
1680
1597
  }>;
1598
+ startJob: import("@trpc/server").TRPCMutationProcedure<{
1599
+ input: {
1600
+ [x: string]: unknown;
1601
+ kind: "update" | "install" | "uninstall" | "restart";
1602
+ targets: {
1603
+ name: string;
1604
+ version: string;
1605
+ }[];
1606
+ nodeIds?: string[] | undefined;
1607
+ };
1608
+ output: {
1609
+ jobId: string;
1610
+ };
1611
+ meta: object;
1612
+ }>;
1613
+ getJob: import("@trpc/server").TRPCQueryProcedure<{
1614
+ input: {
1615
+ [x: string]: unknown;
1616
+ jobId: string;
1617
+ };
1618
+ output: {
1619
+ jobId: string;
1620
+ kind: "update" | "install" | "uninstall" | "restart";
1621
+ createdAtMs: number;
1622
+ createdBy: string;
1623
+ scope: "single" | "bulk" | "cluster";
1624
+ tasks: {
1625
+ taskId: string;
1626
+ nodeId: string;
1627
+ packageName: string;
1628
+ fromVersion: string | null;
1629
+ toVersion: string;
1630
+ target: "addon" | "framework";
1631
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
1632
+ stagedPath: string | null;
1633
+ attempts: number;
1634
+ steps: {
1635
+ tsMs: number;
1636
+ nodeId: string;
1637
+ packageName: string;
1638
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
1639
+ message: string;
1640
+ }[];
1641
+ error: string | null;
1642
+ startedAtMs: number | null;
1643
+ finishedAtMs: number | null;
1644
+ }[];
1645
+ state: "failed" | "running" | "completed" | "partially-failed" | "cancelled";
1646
+ schemaVersion: 1;
1647
+ } | null;
1648
+ meta: object;
1649
+ }>;
1650
+ listJobs: import("@trpc/server").TRPCQueryProcedure<{
1651
+ input: {
1652
+ [x: string]: unknown;
1653
+ activeOnly?: boolean | undefined;
1654
+ };
1655
+ output: {
1656
+ jobId: string;
1657
+ kind: "update" | "install" | "uninstall" | "restart";
1658
+ createdAtMs: number;
1659
+ createdBy: string;
1660
+ scope: "single" | "bulk" | "cluster";
1661
+ tasks: {
1662
+ taskId: string;
1663
+ nodeId: string;
1664
+ packageName: string;
1665
+ fromVersion: string | null;
1666
+ toVersion: string;
1667
+ target: "addon" | "framework";
1668
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
1669
+ stagedPath: string | null;
1670
+ attempts: number;
1671
+ steps: {
1672
+ tsMs: number;
1673
+ nodeId: string;
1674
+ packageName: string;
1675
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
1676
+ message: string;
1677
+ }[];
1678
+ error: string | null;
1679
+ startedAtMs: number | null;
1680
+ finishedAtMs: number | null;
1681
+ }[];
1682
+ state: "failed" | "running" | "completed" | "partially-failed" | "cancelled";
1683
+ schemaVersion: 1;
1684
+ }[];
1685
+ meta: object;
1686
+ }>;
1687
+ cancelJob: import("@trpc/server").TRPCMutationProcedure<{
1688
+ input: {
1689
+ [x: string]: unknown;
1690
+ jobId: string;
1691
+ };
1692
+ output: {
1693
+ cancelled: boolean;
1694
+ };
1695
+ meta: object;
1696
+ }>;
1681
1697
  onAddonLogs: import("@trpc/server").TRPCSubscriptionProcedure<{
1682
1698
  input: {
1683
1699
  addonId: string;
@@ -1740,6 +1756,21 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
1740
1756
  };
1741
1757
  meta: object;
1742
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
+ }>;
1743
1774
  getVideoPipelineSteps: import("@trpc/server").TRPCQueryProcedure<{
1744
1775
  input: {
1745
1776
  nodeId?: string | undefined;
@@ -2688,6 +2719,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
2688
2719
  modelId: string;
2689
2720
  settings: Readonly<Record<string, unknown>>;
2690
2721
  }>>;
2722
+ maxCameras: number | null;
2691
2723
  } | null;
2692
2724
  meta: object;
2693
2725
  }>;
@@ -2703,6 +2735,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
2703
2735
  modelId: string;
2704
2736
  settings: Readonly<Record<string, unknown>>;
2705
2737
  }>>;
2738
+ maxCameras: number | null;
2706
2739
  };
2707
2740
  }[];
2708
2741
  meta: object;
@@ -2733,6 +2766,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
2733
2766
  };
2734
2767
  meta: object;
2735
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
+ }>;
2736
2780
  getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
2737
2781
  input: {
2738
2782
  [x: string]: unknown;
@@ -2843,6 +2887,186 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
2843
2887
  };
2844
2888
  meta: object;
2845
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
+ }>;
2846
3070
  listTemplates: import("@trpc/server").TRPCQueryProcedure<{
2847
3071
  input: {
2848
3072
  nodeId?: string | undefined;
@@ -14420,7 +14644,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14420
14644
  } | undefined;
14421
14645
  hasBackup?: boolean | undefined;
14422
14646
  health?: {
14423
- phase: "pending" | "healthy" | "failed";
14647
+ phase: "pending" | "failed" | "healthy";
14424
14648
  retryCount: number;
14425
14649
  firstFailureAt: number | null;
14426
14650
  lastAttemptAt: number | null;
@@ -14638,89 +14862,6 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14638
14862
  };
14639
14863
  meta: object;
14640
14864
  }>;
14641
- startBulkUpdate: import("@trpc/server").TRPCMutationProcedure<{
14642
- input: {
14643
- [x: string]: unknown;
14644
- nodeId: string;
14645
- items: readonly {
14646
- name: string;
14647
- version: string;
14648
- isSystem: boolean;
14649
- }[];
14650
- };
14651
- output: {
14652
- id: string;
14653
- };
14654
- meta: object;
14655
- }>;
14656
- getBulkUpdateState: import("@trpc/server").TRPCQueryProcedure<{
14657
- input: {
14658
- [x: string]: unknown;
14659
- id: string;
14660
- };
14661
- output: {
14662
- id: string;
14663
- nodeId: string;
14664
- startedAtMs: number;
14665
- total: number;
14666
- completed: number;
14667
- failed: number;
14668
- current: string | null;
14669
- phase: "system" | "regular" | "restarting" | "finalizing";
14670
- cancelled: boolean;
14671
- items: readonly {
14672
- name: string;
14673
- isSystem: boolean;
14674
- fromVersion: string;
14675
- toVersion: string;
14676
- status: "failed" | "queued" | "updating" | "done" | "done-pending-restart";
14677
- error?: string | undefined;
14678
- startedAtMs?: number | undefined;
14679
- completedAtMs?: number | undefined;
14680
- }[];
14681
- completedAtMs?: number | undefined;
14682
- } | null;
14683
- meta: object;
14684
- }>;
14685
- cancelBulkUpdate: import("@trpc/server").TRPCMutationProcedure<{
14686
- input: {
14687
- [x: string]: unknown;
14688
- id: string;
14689
- };
14690
- output: {
14691
- cancelled: boolean;
14692
- };
14693
- meta: object;
14694
- }>;
14695
- listActiveBulkUpdates: import("@trpc/server").TRPCQueryProcedure<{
14696
- input: {
14697
- [x: string]: unknown;
14698
- nodeId?: string | undefined;
14699
- };
14700
- output: readonly {
14701
- id: string;
14702
- nodeId: string;
14703
- startedAtMs: number;
14704
- total: number;
14705
- completed: number;
14706
- failed: number;
14707
- current: string | null;
14708
- phase: "system" | "regular" | "restarting" | "finalizing";
14709
- cancelled: boolean;
14710
- items: readonly {
14711
- name: string;
14712
- isSystem: boolean;
14713
- fromVersion: string;
14714
- toVersion: string;
14715
- status: "failed" | "queued" | "updating" | "done" | "done-pending-restart";
14716
- error?: string | undefined;
14717
- startedAtMs?: number | undefined;
14718
- completedAtMs?: number | undefined;
14719
- }[];
14720
- completedAtMs?: number | undefined;
14721
- }[];
14722
- meta: object;
14723
- }>;
14724
14865
  getVersions: import("@trpc/server").TRPCQueryProcedure<{
14725
14866
  input: {
14726
14867
  [x: string]: unknown;
@@ -14808,6 +14949,105 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14808
14949
  output: unknown;
14809
14950
  meta: object;
14810
14951
  }>;
14952
+ startJob: import("@trpc/server").TRPCMutationProcedure<{
14953
+ input: {
14954
+ [x: string]: unknown;
14955
+ kind: "update" | "install" | "uninstall" | "restart";
14956
+ targets: {
14957
+ name: string;
14958
+ version: string;
14959
+ }[];
14960
+ nodeIds?: string[] | undefined;
14961
+ };
14962
+ output: {
14963
+ jobId: string;
14964
+ };
14965
+ meta: object;
14966
+ }>;
14967
+ getJob: import("@trpc/server").TRPCQueryProcedure<{
14968
+ input: {
14969
+ [x: string]: unknown;
14970
+ jobId: string;
14971
+ };
14972
+ output: {
14973
+ jobId: string;
14974
+ kind: "update" | "install" | "uninstall" | "restart";
14975
+ createdAtMs: number;
14976
+ createdBy: string;
14977
+ scope: "single" | "bulk" | "cluster";
14978
+ tasks: {
14979
+ taskId: string;
14980
+ nodeId: string;
14981
+ packageName: string;
14982
+ fromVersion: string | null;
14983
+ toVersion: string;
14984
+ target: "addon" | "framework";
14985
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
14986
+ stagedPath: string | null;
14987
+ attempts: number;
14988
+ steps: {
14989
+ tsMs: number;
14990
+ nodeId: string;
14991
+ packageName: string;
14992
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
14993
+ message: string;
14994
+ }[];
14995
+ error: string | null;
14996
+ startedAtMs: number | null;
14997
+ finishedAtMs: number | null;
14998
+ }[];
14999
+ state: "failed" | "running" | "completed" | "partially-failed" | "cancelled";
15000
+ schemaVersion: 1;
15001
+ } | null;
15002
+ meta: object;
15003
+ }>;
15004
+ listJobs: import("@trpc/server").TRPCQueryProcedure<{
15005
+ input: {
15006
+ [x: string]: unknown;
15007
+ activeOnly?: boolean | undefined;
15008
+ };
15009
+ output: {
15010
+ jobId: string;
15011
+ kind: "update" | "install" | "uninstall" | "restart";
15012
+ createdAtMs: number;
15013
+ createdBy: string;
15014
+ scope: "single" | "bulk" | "cluster";
15015
+ tasks: {
15016
+ taskId: string;
15017
+ nodeId: string;
15018
+ packageName: string;
15019
+ fromVersion: string | null;
15020
+ toVersion: string;
15021
+ target: "addon" | "framework";
15022
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
15023
+ stagedPath: string | null;
15024
+ attempts: number;
15025
+ steps: {
15026
+ tsMs: number;
15027
+ nodeId: string;
15028
+ packageName: string;
15029
+ phase: "failed" | "queued" | "fetching" | "staged" | "validating" | "applying" | "restarting" | "applied" | "done" | "skipped";
15030
+ message: string;
15031
+ }[];
15032
+ error: string | null;
15033
+ startedAtMs: number | null;
15034
+ finishedAtMs: number | null;
15035
+ }[];
15036
+ state: "failed" | "running" | "completed" | "partially-failed" | "cancelled";
15037
+ schemaVersion: 1;
15038
+ }[];
15039
+ meta: object;
15040
+ }>;
15041
+ cancelJob: import("@trpc/server").TRPCMutationProcedure<{
15042
+ input: {
15043
+ [x: string]: unknown;
15044
+ jobId: string;
15045
+ };
15046
+ output: {
15047
+ cancelled: boolean;
15048
+ };
15049
+ meta: object;
15050
+ }>;
14811
15051
  onAddonLogs: import("@trpc/server").TRPCSubscriptionProcedure<{
14812
15052
  input: {
14813
15053
  addonId: string;
@@ -14870,6 +15110,21 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14870
15110
  };
14871
15111
  meta: object;
14872
15112
  }>;
15113
+ getEngineProvisioning: import("@trpc/server").TRPCQueryProcedure<{
15114
+ input: {
15115
+ [x: string]: unknown;
15116
+ nodeId: string;
15117
+ };
15118
+ output: {
15119
+ runtimeId: "onnx" | "coreml" | "openvino" | null;
15120
+ device: string | null;
15121
+ state: "idle" | "failed" | "ready" | "installing" | "verifying";
15122
+ progress?: number | undefined;
15123
+ error?: string | undefined;
15124
+ nextRetryAt?: number | undefined;
15125
+ };
15126
+ meta: object;
15127
+ }>;
14873
15128
  getVideoPipelineSteps: import("@trpc/server").TRPCQueryProcedure<{
14874
15129
  input: {
14875
15130
  nodeId?: string | undefined;
@@ -15818,6 +16073,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
15818
16073
  modelId: string;
15819
16074
  settings: Readonly<Record<string, unknown>>;
15820
16075
  }>>;
16076
+ maxCameras: number | null;
15821
16077
  } | null;
15822
16078
  meta: object;
15823
16079
  }>;
@@ -15833,6 +16089,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
15833
16089
  modelId: string;
15834
16090
  settings: Readonly<Record<string, unknown>>;
15835
16091
  }>>;
16092
+ maxCameras: number | null;
15836
16093
  };
15837
16094
  }[];
15838
16095
  meta: object;
@@ -15863,6 +16120,17 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
15863
16120
  };
15864
16121
  meta: object;
15865
16122
  }>;
16123
+ setAgentMaxCameras: import("@trpc/server").TRPCMutationProcedure<{
16124
+ input: {
16125
+ [x: string]: unknown;
16126
+ agentNodeId: string;
16127
+ maxCameras: number | null;
16128
+ };
16129
+ output: {
16130
+ success: true;
16131
+ };
16132
+ meta: object;
16133
+ }>;
15866
16134
  getCameraSettings: import("@trpc/server").TRPCQueryProcedure<{
15867
16135
  input: {
15868
16136
  [x: string]: unknown;
@@ -15973,6 +16241,186 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
15973
16241
  };
15974
16242
  meta: object;
15975
16243
  }>;
16244
+ getCameraStatus: import("@trpc/server").TRPCQueryProcedure<{
16245
+ input: {
16246
+ [x: string]: unknown;
16247
+ deviceId: number;
16248
+ };
16249
+ output: {
16250
+ deviceId: number;
16251
+ assignment: {
16252
+ detectionNodeId: string | null;
16253
+ decoderNodeId: string | null;
16254
+ audioNodeId: string | null;
16255
+ pinned: {
16256
+ detection: boolean;
16257
+ decoder: boolean;
16258
+ audio: boolean;
16259
+ };
16260
+ reasons: {
16261
+ detection?: string | undefined;
16262
+ decoder?: string | undefined;
16263
+ audio?: string | undefined;
16264
+ };
16265
+ };
16266
+ source: {
16267
+ streams: readonly {
16268
+ camStreamId: string;
16269
+ codec: string;
16270
+ width: number;
16271
+ height: number;
16272
+ fps: number;
16273
+ kind: string;
16274
+ }[];
16275
+ };
16276
+ broker: {
16277
+ profiles: readonly {
16278
+ profile: string;
16279
+ status: string;
16280
+ codec: string;
16281
+ width: number;
16282
+ height: number;
16283
+ subscribers: number;
16284
+ inFps: number;
16285
+ outFps: number;
16286
+ }[];
16287
+ webrtcSessions: number;
16288
+ rtspRestream: boolean;
16289
+ } | null;
16290
+ decoder: {
16291
+ nodeId: string;
16292
+ formats: readonly string[];
16293
+ sessionCount: number;
16294
+ shm: {
16295
+ framesWritten: number;
16296
+ getFrameHits: number;
16297
+ getFrameMisses: number;
16298
+ budgetMb: number;
16299
+ };
16300
+ } | null;
16301
+ motion: {
16302
+ enabled: boolean;
16303
+ fps: number;
16304
+ } | null;
16305
+ detection: {
16306
+ nodeId: string;
16307
+ engine: {
16308
+ backend: string;
16309
+ device: string;
16310
+ };
16311
+ phase: "idle" | "active" | "watching";
16312
+ configuredFps: number;
16313
+ actualFps: number;
16314
+ queueDepth: number;
16315
+ avgInferenceMs: number;
16316
+ provisioning: {
16317
+ state: "idle" | "failed" | "ready" | "installing" | "verifying";
16318
+ error?: string | undefined;
16319
+ };
16320
+ } | null;
16321
+ audio: {
16322
+ nodeId: string;
16323
+ enabled: boolean;
16324
+ } | null;
16325
+ recording: {
16326
+ mode: "events" | "off" | "continuous";
16327
+ active: boolean;
16328
+ storageBytes: number;
16329
+ } | null;
16330
+ fetchedAt: number;
16331
+ };
16332
+ meta: object;
16333
+ }>;
16334
+ getCameraStatuses: import("@trpc/server").TRPCQueryProcedure<{
16335
+ input: {
16336
+ [x: string]: unknown;
16337
+ deviceIds?: number[] | undefined;
16338
+ };
16339
+ output: readonly {
16340
+ deviceId: number;
16341
+ assignment: {
16342
+ detectionNodeId: string | null;
16343
+ decoderNodeId: string | null;
16344
+ audioNodeId: string | null;
16345
+ pinned: {
16346
+ detection: boolean;
16347
+ decoder: boolean;
16348
+ audio: boolean;
16349
+ };
16350
+ reasons: {
16351
+ detection?: string | undefined;
16352
+ decoder?: string | undefined;
16353
+ audio?: string | undefined;
16354
+ };
16355
+ };
16356
+ source: {
16357
+ streams: readonly {
16358
+ camStreamId: string;
16359
+ codec: string;
16360
+ width: number;
16361
+ height: number;
16362
+ fps: number;
16363
+ kind: string;
16364
+ }[];
16365
+ };
16366
+ broker: {
16367
+ profiles: readonly {
16368
+ profile: string;
16369
+ status: string;
16370
+ codec: string;
16371
+ width: number;
16372
+ height: number;
16373
+ subscribers: number;
16374
+ inFps: number;
16375
+ outFps: number;
16376
+ }[];
16377
+ webrtcSessions: number;
16378
+ rtspRestream: boolean;
16379
+ } | null;
16380
+ decoder: {
16381
+ nodeId: string;
16382
+ formats: readonly string[];
16383
+ sessionCount: number;
16384
+ shm: {
16385
+ framesWritten: number;
16386
+ getFrameHits: number;
16387
+ getFrameMisses: number;
16388
+ budgetMb: number;
16389
+ };
16390
+ } | null;
16391
+ motion: {
16392
+ enabled: boolean;
16393
+ fps: number;
16394
+ } | null;
16395
+ detection: {
16396
+ nodeId: string;
16397
+ engine: {
16398
+ backend: string;
16399
+ device: string;
16400
+ };
16401
+ phase: "idle" | "active" | "watching";
16402
+ configuredFps: number;
16403
+ actualFps: number;
16404
+ queueDepth: number;
16405
+ avgInferenceMs: number;
16406
+ provisioning: {
16407
+ state: "idle" | "failed" | "ready" | "installing" | "verifying";
16408
+ error?: string | undefined;
16409
+ };
16410
+ } | null;
16411
+ audio: {
16412
+ nodeId: string;
16413
+ enabled: boolean;
16414
+ } | null;
16415
+ recording: {
16416
+ mode: "events" | "off" | "continuous";
16417
+ active: boolean;
16418
+ storageBytes: number;
16419
+ } | null;
16420
+ fetchedAt: number;
16421
+ }[];
16422
+ meta: object;
16423
+ }>;
15976
16424
  listTemplates: import("@trpc/server").TRPCQueryProcedure<{
15977
16425
  input: {
15978
16426
  nodeId?: string | undefined;