@camstack/types 1.1.49 → 1.1.51

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.
@@ -9671,6 +9671,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9671
9671
  state: "idle" | "left" | "moving" | "new" | "entered";
9672
9672
  active: boolean;
9673
9673
  label?: string | undefined;
9674
+ source?: "pipeline" | "sensor" | undefined;
9674
9675
  classes?: readonly string[] | undefined;
9675
9676
  importance?: number | undefined;
9676
9677
  bestEventId?: string | undefined;
@@ -9734,6 +9735,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9734
9735
  state: "idle" | "left" | "moving" | "new" | "entered";
9735
9736
  active: boolean;
9736
9737
  label?: string | undefined;
9738
+ source?: "pipeline" | "sensor" | undefined;
9737
9739
  classes?: readonly string[] | undefined;
9738
9740
  importance?: number | undefined;
9739
9741
  bestEventId?: string | undefined;
@@ -9813,6 +9815,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9813
9815
  state: "idle" | "left" | "moving" | "new" | "entered";
9814
9816
  active: boolean;
9815
9817
  label?: string | undefined;
9818
+ source?: "pipeline" | "sensor" | undefined;
9816
9819
  classes?: readonly string[] | undefined;
9817
9820
  importance?: number | undefined;
9818
9821
  bestEventId?: string | undefined;
@@ -9881,6 +9884,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
9881
9884
  state: "idle" | "left" | "moving" | "new" | "entered";
9882
9885
  active: boolean;
9883
9886
  label?: string | undefined;
9887
+ source?: "pipeline" | "sensor" | undefined;
9884
9888
  classes?: readonly string[] | undefined;
9885
9889
  importance?: number | undefined;
9886
9890
  bestEventId?: string | undefined;
@@ -10012,10 +10016,14 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10012
10016
  };
10013
10017
  output: readonly {
10014
10018
  kind: string;
10019
+ labelKey: string;
10015
10020
  label: string;
10016
10021
  color: string;
10022
+ iconId: string;
10017
10023
  icon: "motion" | "smoke" | "button" | "audio" | "person" | "vehicle" | "animal" | "package" | "generic" | "door" | "pir" | "water";
10018
- category: "custom" | "motion" | "audio" | "package" | "sensor" | "detection";
10024
+ category: "custom" | "motion" | "control" | "audio" | "package" | "sensor" | "detection";
10025
+ parentKind: string | null;
10026
+ level: "sub" | "macro";
10019
10027
  source: {
10020
10028
  capName: string;
10021
10029
  deviceId: number;
@@ -10136,6 +10144,67 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
10136
10144
  };
10137
10145
  meta: object;
10138
10146
  }>;
10147
+ getEventStoreFootprint: import("@trpc/server").TRPCQueryProcedure<{
10148
+ input: {
10149
+ [x: string]: unknown;
10150
+ };
10151
+ output: {
10152
+ totalRows: number;
10153
+ totalBytes: number;
10154
+ devices: readonly {
10155
+ deviceId: number;
10156
+ rows: number;
10157
+ bytes: number;
10158
+ }[];
10159
+ };
10160
+ meta: object;
10161
+ }>;
10162
+ pruneEvents: import("@trpc/server").TRPCMutationProcedure<{
10163
+ input: {
10164
+ [x: string]: unknown;
10165
+ olderThanMs: number;
10166
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
10167
+ };
10168
+ output: {
10169
+ motion: number;
10170
+ object: number;
10171
+ audio: number;
10172
+ };
10173
+ meta: object;
10174
+ }>;
10175
+ deleteDeviceEvents: import("@trpc/server").TRPCMutationProcedure<{
10176
+ input: {
10177
+ [x: string]: unknown;
10178
+ deviceId: number;
10179
+ };
10180
+ output: {
10181
+ motion: number;
10182
+ object: number;
10183
+ audio: number;
10184
+ };
10185
+ meta: object;
10186
+ }>;
10187
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
10188
+ input: {
10189
+ [x: string]: unknown;
10190
+ deviceId?: number | undefined;
10191
+ limit?: number | undefined;
10192
+ };
10193
+ output: readonly {
10194
+ id: string;
10195
+ at: number;
10196
+ domain: "recording" | "events";
10197
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
10198
+ reason: "manual" | "retention" | "quota" | "operator";
10199
+ deviceId: number | null;
10200
+ nodeId: string;
10201
+ itemsAffected: number;
10202
+ bytesReclaimed: number;
10203
+ detail: string | null;
10204
+ actor: string;
10205
+ }[];
10206
+ meta: object;
10207
+ }>;
10139
10208
  getEventMedia: import("@trpc/server").TRPCQueryProcedure<{
10140
10209
  input: {
10141
10210
  [x: string]: unknown;
@@ -12895,6 +12964,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12895
12964
  input: {
12896
12965
  [x: string]: unknown;
12897
12966
  deviceId: number;
12967
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
12898
12968
  };
12899
12969
  output: {
12900
12970
  floorMs: number | null;
@@ -12903,6 +12973,40 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
12903
12973
  };
12904
12974
  meta: object;
12905
12975
  }>;
12976
+ deleteFootprint: import("@trpc/server").TRPCMutationProcedure<{
12977
+ input: {
12978
+ [x: string]: unknown;
12979
+ deviceId: number;
12980
+ fromMs?: number | undefined;
12981
+ toMs?: number | undefined;
12982
+ };
12983
+ output: {
12984
+ deletedBuckets: number;
12985
+ reclaimedBytes: number;
12986
+ };
12987
+ meta: object;
12988
+ }>;
12989
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
12990
+ input: {
12991
+ [x: string]: unknown;
12992
+ deviceId?: number | undefined;
12993
+ limit?: number | undefined;
12994
+ };
12995
+ output: readonly {
12996
+ id: string;
12997
+ at: number;
12998
+ domain: "recording" | "events";
12999
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
13000
+ reason: "manual" | "retention" | "quota" | "operator";
13001
+ deviceId: number | null;
13002
+ nodeId: string;
13003
+ itemsAffected: number;
13004
+ bytesReclaimed: number;
13005
+ detail: string | null;
13006
+ actor: string;
13007
+ }[];
13008
+ meta: object;
13009
+ }>;
12906
13010
  }>>;
12907
13011
  recordingExport: import("@trpc/server").TRPCBuiltRouter<{
12908
13012
  ctx: TrpcContext;
@@ -26313,6 +26417,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26313
26417
  state: "idle" | "left" | "moving" | "new" | "entered";
26314
26418
  active: boolean;
26315
26419
  label?: string | undefined;
26420
+ source?: "pipeline" | "sensor" | undefined;
26316
26421
  classes?: readonly string[] | undefined;
26317
26422
  importance?: number | undefined;
26318
26423
  bestEventId?: string | undefined;
@@ -26376,6 +26481,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26376
26481
  state: "idle" | "left" | "moving" | "new" | "entered";
26377
26482
  active: boolean;
26378
26483
  label?: string | undefined;
26484
+ source?: "pipeline" | "sensor" | undefined;
26379
26485
  classes?: readonly string[] | undefined;
26380
26486
  importance?: number | undefined;
26381
26487
  bestEventId?: string | undefined;
@@ -26455,6 +26561,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26455
26561
  state: "idle" | "left" | "moving" | "new" | "entered";
26456
26562
  active: boolean;
26457
26563
  label?: string | undefined;
26564
+ source?: "pipeline" | "sensor" | undefined;
26458
26565
  classes?: readonly string[] | undefined;
26459
26566
  importance?: number | undefined;
26460
26567
  bestEventId?: string | undefined;
@@ -26523,6 +26630,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26523
26630
  state: "idle" | "left" | "moving" | "new" | "entered";
26524
26631
  active: boolean;
26525
26632
  label?: string | undefined;
26633
+ source?: "pipeline" | "sensor" | undefined;
26526
26634
  classes?: readonly string[] | undefined;
26527
26635
  importance?: number | undefined;
26528
26636
  bestEventId?: string | undefined;
@@ -26654,10 +26762,14 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26654
26762
  };
26655
26763
  output: readonly {
26656
26764
  kind: string;
26765
+ labelKey: string;
26657
26766
  label: string;
26658
26767
  color: string;
26768
+ iconId: string;
26659
26769
  icon: "motion" | "smoke" | "button" | "audio" | "person" | "vehicle" | "animal" | "package" | "generic" | "door" | "pir" | "water";
26660
- category: "custom" | "motion" | "audio" | "package" | "sensor" | "detection";
26770
+ category: "custom" | "motion" | "control" | "audio" | "package" | "sensor" | "detection";
26771
+ parentKind: string | null;
26772
+ level: "sub" | "macro";
26661
26773
  source: {
26662
26774
  capName: string;
26663
26775
  deviceId: number;
@@ -26778,6 +26890,67 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
26778
26890
  };
26779
26891
  meta: object;
26780
26892
  }>;
26893
+ getEventStoreFootprint: import("@trpc/server").TRPCQueryProcedure<{
26894
+ input: {
26895
+ [x: string]: unknown;
26896
+ };
26897
+ output: {
26898
+ totalRows: number;
26899
+ totalBytes: number;
26900
+ devices: readonly {
26901
+ deviceId: number;
26902
+ rows: number;
26903
+ bytes: number;
26904
+ }[];
26905
+ };
26906
+ meta: object;
26907
+ }>;
26908
+ pruneEvents: import("@trpc/server").TRPCMutationProcedure<{
26909
+ input: {
26910
+ [x: string]: unknown;
26911
+ olderThanMs: number;
26912
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
26913
+ };
26914
+ output: {
26915
+ motion: number;
26916
+ object: number;
26917
+ audio: number;
26918
+ };
26919
+ meta: object;
26920
+ }>;
26921
+ deleteDeviceEvents: import("@trpc/server").TRPCMutationProcedure<{
26922
+ input: {
26923
+ [x: string]: unknown;
26924
+ deviceId: number;
26925
+ };
26926
+ output: {
26927
+ motion: number;
26928
+ object: number;
26929
+ audio: number;
26930
+ };
26931
+ meta: object;
26932
+ }>;
26933
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
26934
+ input: {
26935
+ [x: string]: unknown;
26936
+ deviceId?: number | undefined;
26937
+ limit?: number | undefined;
26938
+ };
26939
+ output: readonly {
26940
+ id: string;
26941
+ at: number;
26942
+ domain: "recording" | "events";
26943
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
26944
+ reason: "manual" | "retention" | "quota" | "operator";
26945
+ deviceId: number | null;
26946
+ nodeId: string;
26947
+ itemsAffected: number;
26948
+ bytesReclaimed: number;
26949
+ detail: string | null;
26950
+ actor: string;
26951
+ }[];
26952
+ meta: object;
26953
+ }>;
26781
26954
  getEventMedia: import("@trpc/server").TRPCQueryProcedure<{
26782
26955
  input: {
26783
26956
  [x: string]: unknown;
@@ -29537,6 +29710,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29537
29710
  input: {
29538
29711
  [x: string]: unknown;
29539
29712
  deviceId: number;
29713
+ reason?: "manual" | "retention" | "quota" | "operator" | undefined;
29540
29714
  };
29541
29715
  output: {
29542
29716
  floorMs: number | null;
@@ -29545,6 +29719,40 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
29545
29719
  };
29546
29720
  meta: object;
29547
29721
  }>;
29722
+ deleteFootprint: import("@trpc/server").TRPCMutationProcedure<{
29723
+ input: {
29724
+ [x: string]: unknown;
29725
+ deviceId: number;
29726
+ fromMs?: number | undefined;
29727
+ toMs?: number | undefined;
29728
+ };
29729
+ output: {
29730
+ deletedBuckets: number;
29731
+ reclaimedBytes: number;
29732
+ };
29733
+ meta: object;
29734
+ }>;
29735
+ listOpsLog: import("@trpc/server").TRPCQueryProcedure<{
29736
+ input: {
29737
+ [x: string]: unknown;
29738
+ deviceId?: number | undefined;
29739
+ limit?: number | undefined;
29740
+ };
29741
+ output: readonly {
29742
+ id: string;
29743
+ at: number;
29744
+ domain: "recording" | "events";
29745
+ op: "prune" | "manual-delete" | "rescan" | "retention-run";
29746
+ reason: "manual" | "retention" | "quota" | "operator";
29747
+ deviceId: number | null;
29748
+ nodeId: string;
29749
+ itemsAffected: number;
29750
+ bytesReclaimed: number;
29751
+ detail: string | null;
29752
+ actor: string;
29753
+ }[];
29754
+ meta: object;
29755
+ }>;
29548
29756
  }>>;
29549
29757
  recordingExport: import("@trpc/server").TRPCBuiltRouter<{
29550
29758
  ctx: TrpcContext;
@@ -274,7 +274,7 @@ export interface DeviceProxy {
274
274
  readonly pipelineOrchestrator: Pick<InferDeviceProxyCap<typeof pipelineOrchestratorCapability>, 'assignPipeline' | 'unassignPipeline' | 'getPipelineAssignment' | 'getCameraMetrics' | 'assignAudio' | 'unassignAudio' | 'getAudioAssignment' | 'getAudioAssignments' | 'getCameraSettings' | 'setCameraStepToggle' | 'getCameraStepOverrides' | 'setCameraStepOverride' | 'setCameraPipelineForAgent' | 'resolvePipeline' | 'getCameraStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
275
275
  readonly pipelineRunner: Pick<InferDeviceProxyCap<typeof pipelineRunnerCapability>, 'detachCamera' | 'getCameraMetrics' | 'runDetailSubtree'>;
276
276
  readonly plateGallery: Pick<InferDeviceProxyCap<typeof plateGalleryCapability>, 'listPlates' | 'getPlateByTrack'>;
277
- readonly recording: Pick<InferDeviceProxyCap<typeof recordingCapability>, 'getAvailability' | 'getDaysWithRecordings' | 'getPlaybackManifest' | 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
277
+ readonly recording: Pick<InferDeviceProxyCap<typeof recordingCapability>, 'getAvailability' | 'getDaysWithRecordings' | 'getPlaybackManifest' | 'getDeviceConfig' | 'locateSegment' | 'readSegmentBytes' | 'setDeviceConfig' | 'rescanStorage' | 'pruneFootage' | 'deleteFootprint' | 'getStatus' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
278
278
  readonly recordingExport: Pick<InferDeviceProxyCap<typeof recordingExportCapability>, 'createExport' | 'listExports'>;
279
279
  readonly streamBroker: Pick<InferDeviceProxyCap<typeof streamBrokerCapability>, 'publishCameraStream' | 'retractCameraStream' | 'assignProfile' | 'unassignProfile' | 'restartProfile' | 'getDeviceSettingsContribution' | 'getDeviceLiveContribution' | 'applyDeviceSettingsPatch'>;
280
280
  }
@@ -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: 795 method paths across 116 capabilities.
9
+ * Coverage: 801 method paths across 116 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -79,7 +79,7 @@ export interface SystemProxy {
79
79
  readonly pipelineOrchestrator: Pick<InferProvider<typeof pipelineOrchestratorCapability>, 'rebalance' | 'getPipelineAssignments' | 'getAgentLoad' | 'getGlobalMetrics' | 'getCapabilityBindings' | 'setCapabilityBinding' | 'getIngestOwner' | 'getAudioNodeLoad' | 'getAgentSettings' | 'listAgentSettings' | 'setAgentAddonDefaults' | 'removeAgentSettings' | 'setAgentMaxCameras' | 'setAgentDetectWeight' | 'setAgentCapabilities' | 'setAgentReachableHost' | 'resetNodePipelineDefaults' | 'getCameraStatuses' | 'listTemplates' | 'saveTemplate' | 'updateTemplate' | 'deleteTemplate'>;
80
80
  readonly pipelineRunner: Pick<InferProvider<typeof pipelineRunnerCapability>, 'attachCamera' | 'reportMotion' | 'getLocalLoad' | 'getLocalMetrics' | 'getAllCameraMetrics' | 'getLocalCameras' | 'getNativeCrop'>;
81
81
  readonly plateGallery: Pick<InferProvider<typeof plateGalleryCapability>, 'getPlateMedia' | 'searchPlates' | 'suggestPlateClusters' | 'correctPlateText' | 'deletePlate' | 'listVehicles' | 'createVehicle' | 'renameVehicle' | 'deleteVehicle' | 'listVehicleSamples' | 'removeVehicleSample' | 'assignPlate' | 'unassignPlate' | 'assignPlates' | 'unassignPlates'>;
82
- readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getStorageUsage'>;
82
+ readonly recording: Pick<InferProvider<typeof recordingCapability>, 'getStorageUsage' | 'listOpsLog'>;
83
83
  readonly recordingExport: Pick<InferProvider<typeof recordingExportCapability>, 'getExport' | 'cancelExport' | 'deleteExport' | 'getDownloadUrl'>;
84
84
  readonly serverManagement: Pick<InferProvider<typeof serverManagementCapability>, 'getServerPackageStatus' | 'checkServerUpdate' | 'applyServerUpdate' | 'rollbackServerUpdate' | 'restartServer'>;
85
85
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'insert' | 'update' | 'delete' | 'count' | 'histogram' | 'isEmpty' | 'declareCollection'>;
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ export type * from './interfaces/analysis.js';
44
44
  export type * from './interfaces/advanced-notifier.js';
45
45
  export * from './interfaces/recording-config.js';
46
46
  export { migrateConfigToBands } from './interfaces/recording-config-migrate.js';
47
+ export * from './interfaces/ops-log.js';
47
48
  export type * from './interfaces/python-env.js';
48
49
  export type * from './interfaces/network.js';
49
50
  export type * from './interfaces/router.js';
@@ -118,6 +119,7 @@ export { runInferenceStep } from './utils/run-inference-step.js';
118
119
  export type { InferenceStepResult } from './utils/run-inference-step.js';
119
120
  export { COCO_80_LABELS, COCO_TO_MACRO, MACRO_LABELS, } from './catalogs/coco-classmap.js';
120
121
  export { AUDIO_MACRO_LABELS, YAMNET_TO_MACRO, APPLE_SA_TO_MACRO, mapAudioLabelToMacro, getAudioMacroClassIds, } from './catalogs/audio-classmap.js';
122
+ export { EVENT_TAXONOMY, TAXONOMY_COLORS, DEFAULT_EVENT_COLOR, getTaxonomyEntry, colorForKind, subKindsOf, type EventTaxonomyEntry, type EventTaxonomyCategory, type EventTaxonomyLevel, } from './catalogs/event-taxonomy.js';
121
123
  export type { CameraMotionConfig, CameraNativeDetectionConfig, CameraDetectionCapabilities, } from './types/camera-detection.js';
122
124
  export { type DeviceTypeInfo, DEVICE_TYPE_INFO } from './types/device-type.js';
123
125
  export type { DeviceBinding, DeviceBindingEntry } from './device/device-binding.js';