@camstack/types 1.2.131 → 1.2.133

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.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_event_category = require("./event-category-BaEgqJNv.js");
3
- const require_sleep = require("./sleep-CqVyhcl-.js");
3
+ const require_sleep = require("./sleep-DkBAyPva.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
@@ -16,7 +16,7 @@ const require_err_msg = require("./err-msg-COpsHMw2.js");
16
16
  * Plain data, zero Zod: a forked runner must not import the schema barrel
17
17
  * (~144MB RSS per runner — D28).
18
18
  *
19
- * Coverage: 24 caps, 56 methods with defaults.
19
+ * Coverage: 24 caps, 55 methods with defaults.
20
20
  */
21
21
  var CAP_INPUT_DEFAULTS = Object.freeze({
22
22
  "addons": { "getLogs": { "limit": 100 } },
@@ -130,7 +130,6 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
130
130
  "getMotionEvents": { "limit": 1e3 },
131
131
  "getObjectEvents": { "limit": 1e3 },
132
132
  "getSensorEvents": { "limit": 1e3 },
133
- "listGroups": { "limit": 40 },
134
133
  "listRecentTracks": { "limit": 200 },
135
134
  "reclaimDebugMedia": { "mode": "report" },
136
135
  "searchObjectEvents": {
package/dist/addon.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as EventCategory } from "./event-category-BZL-fdNj.mjs";
2
- import { B as ReadinessRegistry, E as adminUiCapability, L as nodePin, R as readNodePin, St as emitReadiness, T as DeviceType, V as ReadinessTimeoutError, W as scopeKey, _t as DisposerChain, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DATAPLANE_SECRET_HEADER, h as createEventBusSliceSource, j as expandCapMethods, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as BaseAddon, x as viewerUiCapability, yt as normalizeAddonInitResult } from "./sleep-BBI0PDUc.mjs";
2
+ import { B as ReadinessRegistry, E as adminUiCapability, L as nodePin, R as readNodePin, St as emitReadiness, T as DeviceType, V as ReadinessTimeoutError, W as scopeKey, _t as DisposerChain, a as asJsonObject, b as deviceOpsCapability, d as BOOT_RECOVERY_BACKOFF_MS, f as DEVICE_SCOPED_CAPS, gt as DATAPLANE_SECRET_HEADER, h as createEventBusSliceSource, j as expandCapMethods, m as createDeviceProxy, p as isDeviceScopedCap, s as asString, t as sleep, u as parseJsonUnknown, vt as BaseAddon, x as viewerUiCapability, yt as normalizeAddonInitResult } from "./sleep-DAxSW8cv.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
@@ -15,7 +15,7 @@ import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
15
15
  * Plain data, zero Zod: a forked runner must not import the schema barrel
16
16
  * (~144MB RSS per runner — D28).
17
17
  *
18
- * Coverage: 24 caps, 56 methods with defaults.
18
+ * Coverage: 24 caps, 55 methods with defaults.
19
19
  */
20
20
  var CAP_INPUT_DEFAULTS = Object.freeze({
21
21
  "addons": { "getLogs": { "limit": 100 } },
@@ -129,7 +129,6 @@ var CAP_INPUT_DEFAULTS = Object.freeze({
129
129
  "getMotionEvents": { "limit": 1e3 },
130
130
  "getObjectEvents": { "limit": 1e3 },
131
131
  "getSensorEvents": { "limit": 1e3 },
132
- "listGroups": { "limit": 40 },
133
132
  "listRecentTracks": { "limit": 200 },
134
133
  "reclaimDebugMedia": { "mode": "report" },
135
134
  "searchObjectEvents": {
@@ -525,6 +525,26 @@ export declare const deviceManagerCapability: {
525
525
  name: z.ZodString;
526
526
  cascade: z.ZodOptional<z.ZodBoolean>;
527
527
  }, z.core.$strip>, z.ZodVoid, "mutation">;
528
+ /** Rename a room: replace the label in the registry IN PLACE and move
529
+ * every device that carried it, as ONE server operation.
530
+ *
531
+ * The admin UI used to do this as `addLocation(to)` → N ×
532
+ * `setLocation(device, to)` → `removeLocation(from)` from the browser.
533
+ * Nothing bound those three together, so a closed tab left the fleet
534
+ * split across two rooms — one of which the operator believed was gone.
535
+ *
536
+ * `from` is matched the way the registry matches everywhere else
537
+ * (trimmed, case-insensitive) and need NOT be registered: the registry is
538
+ * a suggestion list, and the devices that most need a rename are exactly
539
+ * the ones carrying a label nobody registered. `to` renames onto an
540
+ * existing room by MERGING into it, leaving no duplicate label. An empty
541
+ * `to` throws before anything is written. */
542
+ readonly renameLocation: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
543
+ from: z.ZodString;
544
+ to: z.ZodString;
545
+ }, z.core.$strip>, z.ZodObject<{
546
+ moved: z.ZodNumber;
547
+ }, z.core.$strip>, "mutation">;
528
548
  /** Soft-disable / re-enable the device. Drivers consult
529
549
  * `BaseDevice.disabled` to gate lifecycle hooks. */
530
550
  readonly setDisabled: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
@@ -82,7 +82,7 @@ export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapabili
82
82
  export { type Attachment, type AttachmentMediaType, AttachmentMediaTypeSchema, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, type NotificationActionIcon, NotificationActionIconSchema, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, notificationOutputCapability, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, } from './notification-output.cap.js';
83
83
  export { type INotificationRulesProvider, NC_ALARM_SYSTEM_EVENT_KINDS, NC_AUDIO_DBFS_FLOOR, NC_AUTHORABLE_SYSTEM_EVENT_KINDS, NC_CONDITION_CATALOG, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, NC_CONFIRM_DEFAULT_TIMEOUT_MS, NC_CONFIRM_MAX_TIMEOUT_MS, NC_CONFIRM_MIN_TIMEOUT_MS, NC_DEFAULT_SNOOZE_MINUTES, NC_HISTORY_LIMIT_DEFAULT, NC_HISTORY_LIMIT_MAX, NC_MAX_PER_TRACK_IMMEDIATE, NC_SNOOZE_MAX_MINUTES, type NcAlarmConfig, NcAlarmConfigSchema, type NcAlarmModeCoverage, NcAlarmModeCoverageSchema, type NcAlarmSettings, type NcAlarmSettingsPatch, NcAlarmSettingsPatchSchema, NcAlarmSettingsSchema, type NcAlarmSkippedDevice, NcAlarmSkippedDeviceSchema, type NcAlarmSkipReason, NcAlarmSkipReasonSchema, type NcAudioCondition, NcAudioConditionSchema, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcConfirm, type NcConfirmExpect, NcConfirmExpectSchema, NcConfirmSchema, type NcCrossing, NcCrossingSchema, type NcDelivery, NcDeliverySchema, type NcDeviceStateCondition, NcDeviceStateConditionSchema, type NcHistoryEntry, NcHistoryEntrySchema, type NcHistoryFilter, NcHistoryFilterSchema, type NcHistoryRecordKind, NcHistoryRecordKindSchema, type NcHistoryStatus, NcHistoryStatusSchema, type NcHistorySubject, NcHistorySubjectSchema, type NcMediaFrame, NcMediaFrameSchema, type NcMediaPolicy, NcMediaPolicySchema, type NcOccupancyCondition, NcOccupancyConditionSchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleAction, NcRuleActionSchema, type NcRuleActionSequence, NcRuleActionSequenceSchema, type NcRuleActions, NcRuleActionsSchema, type NcRuleInput, NcRuleInputSchema, type NcRuleNotificationButton, NcRuleNotificationButtonSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSceneCondition, NcSceneConditionSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcSnooze, type NcSnoozeInput, NcSnoozeInputSchema, NcSnoozeSchema, type NcSnoozeScope, NcSnoozeScopeSchema, type NcSnoozeSuppressed, NcSnoozeSuppressedSchema, type NcSystemEventCondition, NcSystemEventConditionSchema, type NcSystemEventKind, NcSystemEventKindSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, type NcThrottleGranularity, NcThrottleGranularitySchema, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
84
84
  export { type IOauthIntegrationProvider, type OauthIntegrationDescriptor, OauthIntegrationDescriptorSchema, oauthIntegrationCapability, } from './oauth-integration.cap.js';
85
- export { type AnalyticsGroupDetail, AnalyticsGroupDetailSchema, type AnalyticsGroupMember, AnalyticsGroupMemberSchema, type AnalyticsGroupRecord, AnalyticsGroupRecordSchema, type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, type ListGroupsPage, ListGroupsPageSchema, type ListGroupsQuery, ListGroupsQueryInput, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackFlags, type TrackFlagsPatch, TrackFlagsPatchSchema, TrackFlagsSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackSource, TrackSourceSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type TrainingExportDeviceTotals, TrainingExportDeviceTotalsSchema, type TrainingExportSummary, TrainingExportSummarySchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
85
+ export { type AudioEvent, AudioEventSchema, type DetectionSource, DetectionSourceSchema, type EventKind, type EventKindCategory, EventKindCategorySchema, type EventKindDescriptor, EventKindDescriptorSchema, type EventKindIcon, EventKindIconSchema, EventKindSchema, type EventKindsForDevice, EventKindsForDeviceSchema, type EventMediaKindBreakdown, type EventMediaKindFootprint, type EventPruneCounts, type EventStoreDeviceFootprint, type EventStoreFootprint, type IPipelineAnalyticsProvider, type KeyEvent, KeyEventSchema, type KeyEventsForDevice, type LabelAttribution, LabelAttributionSchema, type LabelTier, LabelTierSchema, type MediaFile, type MediaFileBytes, type MediaFileInfo, MediaFileInfoSchema, type MediaFileKind, MediaFileKindEnum, type MediaFileRef, MediaFileRefSchema, MediaFileSchema, type MotionEvent, MotionEventSchema, type ObjectEvent, ObjectEventSchema, pipelineAnalyticsCapability, type RecentTracksPage, RecentTracksPageSchema, type RecentTracksQuery, RecentTracksQueryInput, type RetrainAnnotation, type RetrainAnnotationDraft, RetrainAnnotationDraftSchema, RetrainAnnotationKindSchema, RetrainAnnotationSchema, RetrainAnnotationSourceSchema, type RetrainAssistResult, RetrainAssistResultSchema, RetrainAssistSubjectSchema, RetrainCopyRefusalSchema, type RetrainFrame, type RetrainFrameCandidate, RetrainFrameCandidateSchema, type RetrainFrameList, RetrainFrameListSchema, RetrainFrameSchema, type RetrainFrameSelection, RetrainFrameSelectionSchema, type RetrainMacroClass, RetrainMacroClassSchema, type RetrainStatus, RetrainStatusSchema, type RetrainTrack, RetrainTrackSchema, type RetrainTransitionResult, RetrainTransitionResultSchema, type ScoredObjectEvent, ScoredObjectEventSchema, type SensorEvent, SensorEventSchema, type Track, type TrackCascadeCounts, TrackCascadeCountsSchema, type TrackEnvelope, TrackEnvelopeSchema, TrackedDetectionSchema, type TrackFlags, type TrackFlagsPatch, TrackFlagsPatchSchema, TrackFlagsSchema, type TrackProjection, TrackProjectionSchema, TrackSchema, type TrackSource, TrackSourceSchema, type TrackState, TrackStateSchema, type TrackZoneFilter, TrackZoneFilterSchema, type TrainingExportDeviceTotals, TrainingExportDeviceTotalsSchema, type TrainingExportSummary, TrainingExportSummarySchema, type ZoneCrossing, type ZoneCrossingDirection, ZoneCrossingDirectionSchema, ZoneCrossingSchema, } from './pipeline-analytics.cap.js';
86
86
  export type { NativeCropRef, PipelineStepInputOutput, PipelineValidationIssue, PipelineValidationResult, } from './pipeline-executor.cap.js';
87
87
  export { ModelSubstitutionSchema, NativeCropRefSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, pipelineExecutorCapability, } from './pipeline-executor.cap.js';
88
88
  export type { CameraAssignmentStatus, CameraAudioStatus, CameraBrokerProfile, CameraBrokerStatus, CameraDecoderShm, CameraDecoderStatus, CameraDetectionPhase, CameraDetectionProvisioning, CameraDetectionProvisioningState, CameraDetectionStatus, CameraMotionStatus, CameraRecordingMode, CameraRecordingStatus, CameraSourceStatus, CameraSourceStream, CameraStatus, CameraStatusDegradation, CameraStatusDegradationReason, CameraStatusStage, DiskReconcileJob, InferenceDeviceExclusionReason, IngestOwner, NodeInferenceDevice, NodeInferenceDevices, } from './pipeline-orchestrator.cap.js';
@@ -1198,76 +1198,6 @@ declare const RecentTracksPageSchema: z.ZodObject<{
1198
1198
  nextCursor: z.ZodNullable<z.ZodString>;
1199
1199
  }, z.core.$strip>;
1200
1200
  export type RecentTracksPage = z.infer<typeof RecentTracksPageSchema>;
1201
- export declare const AnalyticsGroupRecordSchema: z.ZodObject<{
1202
- id: z.ZodString;
1203
- deviceId: z.ZodNumber;
1204
- openedAt: z.ZodNumber;
1205
- closedAt: z.ZodNumber;
1206
- timestamp: z.ZodNumber;
1207
- memberCount: z.ZodNumber;
1208
- memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1209
- className: z.ZodString;
1210
- classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1211
- mediaUrl: z.ZodNullable<z.ZodString>;
1212
- singleton: z.ZodBoolean;
1213
- }, z.core.$strip>;
1214
- export type AnalyticsGroupRecord = z.infer<typeof AnalyticsGroupRecordSchema>;
1215
- export declare const AnalyticsGroupMemberSchema: z.ZodObject<{
1216
- trackId: z.ZodString;
1217
- deviceId: z.ZodNumber;
1218
- className: z.ZodString;
1219
- firstSeen: z.ZodNumber;
1220
- lastSeen: z.ZodNumber;
1221
- mediaUrl: z.ZodNullable<z.ZodString>;
1222
- }, z.core.$strip>;
1223
- export type AnalyticsGroupMember = z.infer<typeof AnalyticsGroupMemberSchema>;
1224
- export declare const AnalyticsGroupDetailSchema: z.ZodObject<{
1225
- id: z.ZodString;
1226
- deviceId: z.ZodNumber;
1227
- openedAt: z.ZodNumber;
1228
- closedAt: z.ZodNumber;
1229
- timestamp: z.ZodNumber;
1230
- memberCount: z.ZodNumber;
1231
- memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1232
- className: z.ZodString;
1233
- classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1234
- mediaUrl: z.ZodNullable<z.ZodString>;
1235
- singleton: z.ZodBoolean;
1236
- members: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1237
- trackId: z.ZodString;
1238
- deviceId: z.ZodNumber;
1239
- className: z.ZodString;
1240
- firstSeen: z.ZodNumber;
1241
- lastSeen: z.ZodNumber;
1242
- mediaUrl: z.ZodNullable<z.ZodString>;
1243
- }, z.core.$strip>>>;
1244
- }, z.core.$strip>;
1245
- export type AnalyticsGroupDetail = z.infer<typeof AnalyticsGroupDetailSchema>;
1246
- export declare const ListGroupsQueryInput: z.ZodObject<{
1247
- deviceIds: z.ZodArray<z.ZodNumber>;
1248
- since: z.ZodOptional<z.ZodNumber>;
1249
- until: z.ZodOptional<z.ZodNumber>;
1250
- limit: z.ZodDefault<z.ZodNumber>;
1251
- cursor: z.ZodOptional<z.ZodString>;
1252
- }, z.core.$strip>;
1253
- export type ListGroupsQuery = z.infer<typeof ListGroupsQueryInput>;
1254
- export declare const ListGroupsPageSchema: z.ZodObject<{
1255
- groups: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1256
- id: z.ZodString;
1257
- deviceId: z.ZodNumber;
1258
- openedAt: z.ZodNumber;
1259
- closedAt: z.ZodNumber;
1260
- timestamp: z.ZodNumber;
1261
- memberCount: z.ZodNumber;
1262
- memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1263
- className: z.ZodString;
1264
- classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
1265
- mediaUrl: z.ZodNullable<z.ZodString>;
1266
- singleton: z.ZodBoolean;
1267
- }, z.core.$strip>>>;
1268
- nextCursor: z.ZodNullable<z.ZodString>;
1269
- }, z.core.$strip>;
1270
- export type ListGroupsPage = z.infer<typeof ListGroupsPageSchema>;
1271
1201
  declare const KeyEventSchema: z.ZodObject<{
1272
1202
  retrainStatus: z.ZodOptional<z.ZodEnum<{
1273
1203
  none: "none";
@@ -1435,7 +1365,6 @@ declare const TrackCascadeCountsSchema: z.ZodObject<{
1435
1365
  faces: z.ZodNumber;
1436
1366
  plates: z.ZodNumber;
1437
1367
  embeddings: z.ZodNumber;
1438
- groups: z.ZodNumber;
1439
1368
  }, z.core.$strip>;
1440
1369
  export type TrackCascadeCounts = z.infer<typeof TrackCascadeCountsSchema>;
1441
1370
  /** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
@@ -2011,57 +1940,6 @@ export declare const pipelineAnalyticsCapability: {
2011
1940
  }, z.core.$strip>>>;
2012
1941
  nextCursor: z.ZodNullable<z.ZodString>;
2013
1942
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2014
- /**
2015
- * Batched co-moving group listing — the Groups feed. Same merge/cursor
2016
- * contract as {@link listRecentTracks}. A group is a sealed partition of
2017
- * one session; `getGroup` is the detail with members.
2018
- */
2019
- readonly listGroups: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2020
- deviceIds: z.ZodArray<z.ZodNumber>;
2021
- since: z.ZodOptional<z.ZodNumber>;
2022
- until: z.ZodOptional<z.ZodNumber>;
2023
- limit: z.ZodDefault<z.ZodNumber>;
2024
- cursor: z.ZodOptional<z.ZodString>;
2025
- }, z.core.$strip>, z.ZodObject<{
2026
- groups: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2027
- id: z.ZodString;
2028
- deviceId: z.ZodNumber;
2029
- openedAt: z.ZodNumber;
2030
- closedAt: z.ZodNumber;
2031
- timestamp: z.ZodNumber;
2032
- memberCount: z.ZodNumber;
2033
- memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
2034
- className: z.ZodString;
2035
- classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
2036
- mediaUrl: z.ZodNullable<z.ZodString>;
2037
- singleton: z.ZodBoolean;
2038
- }, z.core.$strip>>>;
2039
- nextCursor: z.ZodNullable<z.ZodString>;
2040
- }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
2041
- readonly getGroup: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2042
- deviceId: z.ZodNumber;
2043
- groupId: z.ZodString;
2044
- }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
2045
- id: z.ZodString;
2046
- deviceId: z.ZodNumber;
2047
- openedAt: z.ZodNumber;
2048
- closedAt: z.ZodNumber;
2049
- timestamp: z.ZodNumber;
2050
- memberCount: z.ZodNumber;
2051
- memberTrackIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
2052
- className: z.ZodString;
2053
- classes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
2054
- mediaUrl: z.ZodNullable<z.ZodString>;
2055
- singleton: z.ZodBoolean;
2056
- members: z.ZodReadonly<z.ZodArray<z.ZodObject<{
2057
- trackId: z.ZodString;
2058
- deviceId: z.ZodNumber;
2059
- className: z.ZodString;
2060
- firstSeen: z.ZodNumber;
2061
- lastSeen: z.ZodNumber;
2062
- mediaUrl: z.ZodNullable<z.ZodString>;
2063
- }, z.core.$strip>>>;
2064
- }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
2065
1943
  readonly clearTracks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2066
1944
  deviceId: z.ZodNumber;
2067
1945
  }, z.core.$strip>, z.ZodVoid, "mutation">;
@@ -2473,7 +2351,6 @@ export declare const pipelineAnalyticsCapability: {
2473
2351
  faces: z.ZodNumber;
2474
2352
  plates: z.ZodNumber;
2475
2353
  embeddings: z.ZodNumber;
2476
- groups: z.ZodNumber;
2477
2354
  }, z.core.$strip>, "mutation">;
2478
2355
  /**
2479
2356
  * Operator "clean slate" for a device (design §5.3): prune EVERY track for
@@ -2491,7 +2368,6 @@ export declare const pipelineAnalyticsCapability: {
2491
2368
  faces: z.ZodNumber;
2492
2369
  plates: z.ZodNumber;
2493
2370
  embeddings: z.ZodNumber;
2494
- groups: z.ZodNumber;
2495
2371
  }, z.core.$strip>, "mutation">;
2496
2372
  /**
2497
2373
  * Disk-wins reconcile for one camera. Drops media index rows whose blobs
@@ -2687,6 +2563,7 @@ export declare const pipelineAnalyticsCapability: {
2687
2563
  }, z.core.$strip>, "mutation">;
2688
2564
  readonly startStorageMigrationMove: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2689
2565
  toLocationId: z.ZodString;
2566
+ fromLocationId: z.ZodOptional<z.ZodString>;
2690
2567
  throttleMbps: z.ZodOptional<z.ZodNumber>;
2691
2568
  mode: z.ZodOptional<z.ZodEnum<{
2692
2569
  move: "move";
@@ -2736,6 +2613,7 @@ export declare const pipelineAnalyticsCapability: {
2736
2613
  */
2737
2614
  readonly relocateMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2738
2615
  toLocationId: z.ZodString;
2616
+ fromLocationId: z.ZodOptional<z.ZodString>;
2739
2617
  throttleMbps: z.ZodOptional<z.ZodNumber>;
2740
2618
  mode: z.ZodOptional<z.ZodEnum<{
2741
2619
  move: "move";
@@ -2791,6 +2669,7 @@ export declare const pipelineAnalyticsCapability: {
2791
2669
  */
2792
2670
  readonly countRelocatableMedia: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
2793
2671
  toLocationId: z.ZodString;
2672
+ fromLocationId: z.ZodOptional<z.ZodString>;
2794
2673
  mode: z.ZodOptional<z.ZodEnum<{
2795
2674
  move: "move";
2796
2675
  seal: "seal";
@@ -163,6 +163,42 @@ export declare const RecordingRebalanceInputSchema: z.ZodObject<{
163
163
  minMoveGb: z.ZodOptional<z.ZodNumber>;
164
164
  }, z.core.$strip>;
165
165
  export type RecordingRebalanceInput = z.infer<typeof RecordingRebalanceInputSchema>;
166
+ /**
167
+ * Operator-facing placement of one camera onto a recordings location.
168
+ *
169
+ * `pinLocationId` is the operator instruction: a location id, or `null` for
170
+ * Auto (the planner may move this camera). `locationId` is where high/mid
171
+ * currently write — the plan, which may disagree with the pin when Auto.
172
+ */
173
+ export declare const RecordingDevicePlacementSchema: z.ZodObject<{
174
+ deviceId: z.ZodNumber;
175
+ profile: z.ZodString;
176
+ locationId: z.ZodString;
177
+ }, z.core.$strip>;
178
+ export type RecordingDevicePlacement = z.infer<typeof RecordingDevicePlacementSchema>;
179
+ export declare const RecordingDevicePinSchema: z.ZodObject<{
180
+ deviceId: z.ZodNumber;
181
+ locationId: z.ZodString;
182
+ }, z.core.$strip>;
183
+ export type RecordingDevicePin = z.infer<typeof RecordingDevicePinSchema>;
184
+ export declare const RecordingPlacementViewSchema: z.ZodObject<{
185
+ assignments: z.ZodArray<z.ZodObject<{
186
+ deviceId: z.ZodNumber;
187
+ profile: z.ZodString;
188
+ locationId: z.ZodString;
189
+ }, z.core.$strip>>;
190
+ pins: z.ZodArray<z.ZodObject<{
191
+ deviceId: z.ZodNumber;
192
+ locationId: z.ZodString;
193
+ }, z.core.$strip>>;
194
+ defaultLocations: z.ZodRecord<z.ZodString, z.ZodString>;
195
+ }, z.core.$strip>;
196
+ export type RecordingPlacementView = z.infer<typeof RecordingPlacementViewSchema>;
197
+ export declare const RecordingSetDevicePlacementInputSchema: z.ZodObject<{
198
+ deviceId: z.ZodNumber;
199
+ locationId: z.ZodNullable<z.ZodString>;
200
+ }, z.core.$strip>;
201
+ export type RecordingSetDevicePlacementInput = z.infer<typeof RecordingSetDevicePlacementInputSchema>;
166
202
  /**
167
203
  * Result of locating footage at a wall-clock instant for one device/profile.
168
204
  * `segment` carries the covering segment's window; `gap` reports the forward
@@ -868,6 +904,32 @@ export declare const recordingCapability: {
868
904
  bytesToMove: z.ZodNumber;
869
905
  jobIds: z.ZodArray<z.ZodString>;
870
906
  }, z.core.$strip>, "mutation">;
907
+ /**
908
+ * The placement plan in force plus operator pins. Drives the Locations
909
+ * admin page: Auto vs a named recordings location, per camera.
910
+ */
911
+ readonly getPlacement: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
912
+ assignments: z.ZodArray<z.ZodObject<{
913
+ deviceId: z.ZodNumber;
914
+ profile: z.ZodString;
915
+ locationId: z.ZodString;
916
+ }, z.core.$strip>>;
917
+ pins: z.ZodArray<z.ZodObject<{
918
+ deviceId: z.ZodNumber;
919
+ locationId: z.ZodString;
920
+ }, z.core.$strip>>;
921
+ defaultLocations: z.ZodRecord<z.ZodString, z.ZodString>;
922
+ }, z.core.$strip>, "query">;
923
+ /**
924
+ * Pin a camera to a recordings location, or clear the pin (Auto). High and
925
+ * mid follow the pin; low stays with the recordingsLow planner.
926
+ */
927
+ readonly setDevicePlacement: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
928
+ deviceId: z.ZodNumber;
929
+ locationId: z.ZodNullable<z.ZodString>;
930
+ }, z.core.$strip>, z.ZodObject<{
931
+ ok: z.ZodLiteral<true>;
932
+ }, z.core.$strip>, "mutation">;
871
933
  };
872
934
  };
873
935
  export type IRecordingProvider = InferProvider<typeof recordingCapability>;
@@ -18,6 +18,13 @@ export declare const storageMigrationCapability: {
18
18
  backups: z.ZodOptional<z.ZodString>;
19
19
  galleryMedia: z.ZodOptional<z.ZodString>;
20
20
  }, z.core.$strip>;
21
+ sources: z.ZodOptional<z.ZodObject<{
22
+ recordings: z.ZodOptional<z.ZodString>;
23
+ recordingsLow: z.ZodOptional<z.ZodString>;
24
+ eventMedia: z.ZodOptional<z.ZodString>;
25
+ backups: z.ZodOptional<z.ZodString>;
26
+ galleryMedia: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>>;
21
28
  throttleMbps: z.ZodOptional<z.ZodNumber>;
22
29
  mode: z.ZodOptional<z.ZodEnum<{
23
30
  blocking: "blocking";
@@ -31,6 +38,13 @@ export declare const storageMigrationCapability: {
31
38
  backups: z.ZodOptional<z.ZodString>;
32
39
  galleryMedia: z.ZodOptional<z.ZodString>;
33
40
  }, z.core.$strip>;
41
+ sources: z.ZodOptional<z.ZodObject<{
42
+ recordings: z.ZodOptional<z.ZodString>;
43
+ recordingsLow: z.ZodOptional<z.ZodString>;
44
+ eventMedia: z.ZodOptional<z.ZodString>;
45
+ backups: z.ZodOptional<z.ZodString>;
46
+ galleryMedia: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>>;
34
48
  mode: z.ZodEnum<{
35
49
  blocking: "blocking";
36
50
  nonBlocking: "nonBlocking";
@@ -45,6 +59,7 @@ export declare const storageMigrationCapability: {
45
59
  }>;
46
60
  fromLocationId: z.ZodString;
47
61
  toLocationId: z.ZodString;
62
+ freezeSource: z.ZodOptional<z.ZodBoolean>;
48
63
  }, z.core.$strip>>;
49
64
  findings: z.ZodArray<z.ZodObject<{
50
65
  code: z.ZodEnum<{
@@ -72,6 +87,13 @@ export declare const storageMigrationCapability: {
72
87
  backups: z.ZodOptional<z.ZodString>;
73
88
  galleryMedia: z.ZodOptional<z.ZodString>;
74
89
  }, z.core.$strip>;
90
+ sources: z.ZodOptional<z.ZodObject<{
91
+ recordings: z.ZodOptional<z.ZodString>;
92
+ recordingsLow: z.ZodOptional<z.ZodString>;
93
+ eventMedia: z.ZodOptional<z.ZodString>;
94
+ backups: z.ZodOptional<z.ZodString>;
95
+ galleryMedia: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strip>>;
75
97
  throttleMbps: z.ZodOptional<z.ZodNumber>;
76
98
  mode: z.ZodOptional<z.ZodEnum<{
77
99
  blocking: "blocking";
@@ -109,6 +131,13 @@ export declare const storageMigrationCapability: {
109
131
  backups: z.ZodOptional<z.ZodString>;
110
132
  galleryMedia: z.ZodOptional<z.ZodString>;
111
133
  }, z.core.$strip>;
134
+ sources: z.ZodOptional<z.ZodObject<{
135
+ recordings: z.ZodOptional<z.ZodString>;
136
+ recordingsLow: z.ZodOptional<z.ZodString>;
137
+ eventMedia: z.ZodOptional<z.ZodString>;
138
+ backups: z.ZodOptional<z.ZodString>;
139
+ galleryMedia: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strip>>;
112
141
  throttleMbps: z.ZodNumber;
113
142
  moves: z.ZodArray<z.ZodObject<{
114
143
  storageClass: z.ZodEnum<{
@@ -120,6 +149,7 @@ export declare const storageMigrationCapability: {
120
149
  }>;
121
150
  fromLocationId: z.ZodString;
122
151
  toLocationId: z.ZodString;
152
+ freezeSource: z.ZodOptional<z.ZodBoolean>;
123
153
  moverJobId: z.ZodNullable<z.ZodString>;
124
154
  state: z.ZodNullable<z.ZodEnum<{
125
155
  failed: "failed";
@@ -234,6 +264,125 @@ export declare const storageMigrationCapability: {
234
264
  }, z.core.$strip>, z.ZodObject<{
235
265
  jobId: z.ZodString;
236
266
  }, z.core.$strip>, "mutation">;
267
+ /**
268
+ * One operator cleanup of leftover analytics (DB + blobs) and ghost
269
+ * ledger rows on frozen footage locations. Optional debug-media sweep.
270
+ * Returns immediately; poll {@link cleanupStatus}.
271
+ */
272
+ readonly cleanupStart: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
273
+ includeDebugMedia: z.ZodOptional<z.ZodBoolean>;
274
+ }, z.core.$strip>, z.ZodObject<{
275
+ jobId: z.ZodString;
276
+ }, z.core.$strip>, "mutation">;
277
+ readonly cleanupStatus: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
278
+ jobId: z.ZodOptional<z.ZodString>;
279
+ }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
280
+ jobId: z.ZodString;
281
+ phase: z.ZodEnum<{
282
+ failed: "failed";
283
+ done: "done";
284
+ cancelled: "cancelled";
285
+ orphans: "orphans";
286
+ "debug-media": "debug-media";
287
+ "ghost-ledger": "ghost-ledger";
288
+ }>;
289
+ includeDebugMedia: z.ZodBoolean;
290
+ orphansReclaimed: z.ZodNumber;
291
+ orphanBytesReclaimed: z.ZodNumber;
292
+ debugMediaReclaimed: z.ZodNumber;
293
+ debugMediaBytesReclaimed: z.ZodNumber;
294
+ ghostsForgotten: z.ZodNumber;
295
+ ghostBytesForgotten: z.ZodNumber;
296
+ detail: z.ZodNullable<z.ZodString>;
297
+ cancelRequested: z.ZodBoolean;
298
+ startedAt: z.ZodNumber;
299
+ updatedAt: z.ZodNumber;
300
+ finishedAt: z.ZodNullable<z.ZodNumber>;
301
+ error: z.ZodNullable<z.ZodString>;
302
+ }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
303
+ readonly cleanupCancel: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
304
+ jobId: z.ZodString;
305
+ }, z.core.$strip>, z.ZodObject<{
306
+ cancelled: z.ZodBoolean;
307
+ }, z.core.$strip>, "mutation">;
308
+ /** Recent finished migration jobs, newest first. The live job is `status`. */
309
+ readonly history: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
310
+ jobId: z.ZodString;
311
+ phase: z.ZodEnum<{
312
+ moving: "moving";
313
+ verifying: "verifying";
314
+ failed: "failed";
315
+ done: "done";
316
+ cancelled: "cancelled";
317
+ planning: "planning";
318
+ sealing: "sealing";
319
+ pausing: "pausing";
320
+ draining: "draining";
321
+ repointing: "repointing";
322
+ refreshing: "refreshing";
323
+ resuming: "resuming";
324
+ }>;
325
+ mode: z.ZodEnum<{
326
+ blocking: "blocking";
327
+ nonBlocking: "nonBlocking";
328
+ }>;
329
+ destinations: z.ZodObject<{
330
+ recordings: z.ZodOptional<z.ZodString>;
331
+ recordingsLow: z.ZodOptional<z.ZodString>;
332
+ eventMedia: z.ZodOptional<z.ZodString>;
333
+ backups: z.ZodOptional<z.ZodString>;
334
+ galleryMedia: z.ZodOptional<z.ZodString>;
335
+ }, z.core.$strip>;
336
+ sources: z.ZodOptional<z.ZodObject<{
337
+ recordings: z.ZodOptional<z.ZodString>;
338
+ recordingsLow: z.ZodOptional<z.ZodString>;
339
+ eventMedia: z.ZodOptional<z.ZodString>;
340
+ backups: z.ZodOptional<z.ZodString>;
341
+ galleryMedia: z.ZodOptional<z.ZodString>;
342
+ }, z.core.$strip>>;
343
+ throttleMbps: z.ZodNumber;
344
+ moves: z.ZodArray<z.ZodObject<{
345
+ storageClass: z.ZodEnum<{
346
+ recordings: "recordings";
347
+ recordingsLow: "recordingsLow";
348
+ eventMedia: "eventMedia";
349
+ backups: "backups";
350
+ galleryMedia: "galleryMedia";
351
+ }>;
352
+ fromLocationId: z.ZodString;
353
+ toLocationId: z.ZodString;
354
+ freezeSource: z.ZodOptional<z.ZodBoolean>;
355
+ moverJobId: z.ZodNullable<z.ZodString>;
356
+ state: z.ZodNullable<z.ZodEnum<{
357
+ failed: "failed";
358
+ running: "running";
359
+ queued: "queued";
360
+ done: "done";
361
+ cancelled: "cancelled";
362
+ }>>;
363
+ error: z.ZodNullable<z.ZodString>;
364
+ progress: z.ZodNullable<z.ZodObject<{
365
+ filesMoved: z.ZodNumber;
366
+ filesTotal: z.ZodNullable<z.ZodNumber>;
367
+ bytesMoved: z.ZodNumber;
368
+ rowsReconciled: z.ZodOptional<z.ZodNumber>;
369
+ startedAt: z.ZodNumber;
370
+ observedAt: z.ZodNumber;
371
+ }, z.core.$strip>>;
372
+ }, z.core.$strip>>;
373
+ pauseLeaseId: z.ZodNullable<z.ZodString>;
374
+ pausedParticipants: z.ZodArray<z.ZodEnum<{
375
+ pipeline: "pipeline";
376
+ recorder: "recorder";
377
+ analytics: "analytics";
378
+ }>>;
379
+ repointed: z.ZodBoolean;
380
+ cancelRequested: z.ZodBoolean;
381
+ startedAt: z.ZodNumber;
382
+ updatedAt: z.ZodNumber;
383
+ finishedAt: z.ZodNullable<z.ZodNumber>;
384
+ error: z.ZodNullable<z.ZodString>;
385
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
237
386
  };
238
387
  };
239
388
  export type IStorageMigrationProvider = InferProvider<typeof storageMigrationCapability>;
@@ -2201,6 +2201,13 @@ export type AppRouter = TrpcCoreRouter<{
2201
2201
  output: z.infer<typeof deviceManagerCapability.methods.removeLocation.output>;
2202
2202
  meta: object;
2203
2203
  }>;
2204
+ renameLocation: TRPCMutationProcedure<{
2205
+ input: {
2206
+ [x: string]: unknown;
2207
+ } & z.input<typeof deviceManagerCapability.methods.renameLocation.input>;
2208
+ output: z.infer<typeof deviceManagerCapability.methods.renameLocation.output>;
2209
+ meta: object;
2210
+ }>;
2204
2211
  setDisabled: TRPCMutationProcedure<{
2205
2212
  input: {
2206
2213
  [x: string]: unknown;
@@ -4932,20 +4939,6 @@ export type AppRouter = TrpcCoreRouter<{
4932
4939
  output: z.infer<typeof pipelineAnalyticsCapability.methods.listRecentTracks.output>;
4933
4940
  meta: object;
4934
4941
  }>;
4935
- listGroups: TRPCQueryProcedure<{
4936
- input: {
4937
- [x: string]: unknown;
4938
- } & z.input<typeof pipelineAnalyticsCapability.methods.listGroups.input>;
4939
- output: z.infer<typeof pipelineAnalyticsCapability.methods.listGroups.output>;
4940
- meta: object;
4941
- }>;
4942
- getGroup: TRPCQueryProcedure<{
4943
- input: {
4944
- [x: string]: unknown;
4945
- } & z.input<typeof pipelineAnalyticsCapability.methods.getGroup.input>;
4946
- output: z.infer<typeof pipelineAnalyticsCapability.methods.getGroup.output>;
4947
- meta: object;
4948
- }>;
4949
4942
  clearTracks: TRPCMutationProcedure<{
4950
4943
  input: {
4951
4944
  [x: string]: unknown;
@@ -6655,6 +6648,20 @@ export type AppRouter = TrpcCoreRouter<{
6655
6648
  output: z.infer<typeof recordingCapability.methods.startStorageRebalance.output>;
6656
6649
  meta: object;
6657
6650
  }>;
6651
+ getPlacement: TRPCQueryProcedure<{
6652
+ input: {
6653
+ [x: string]: unknown;
6654
+ } & z.input<typeof recordingCapability.methods.getPlacement.input>;
6655
+ output: z.infer<typeof recordingCapability.methods.getPlacement.output>;
6656
+ meta: object;
6657
+ }>;
6658
+ setDevicePlacement: TRPCMutationProcedure<{
6659
+ input: {
6660
+ [x: string]: unknown;
6661
+ } & z.input<typeof recordingCapability.methods.setDevicePlacement.input>;
6662
+ output: z.infer<typeof recordingCapability.methods.setDevicePlacement.output>;
6663
+ meta: object;
6664
+ }>;
6658
6665
  }>>;
6659
6666
  recordingExport: TRPCBuiltRouter<{
6660
6667
  ctx: TrpcContext;
@@ -7336,6 +7343,34 @@ export type AppRouter = TrpcCoreRouter<{
7336
7343
  output: z.infer<typeof storageMigrationCapability.methods.drain.output>;
7337
7344
  meta: object;
7338
7345
  }>;
7346
+ cleanupStart: TRPCMutationProcedure<{
7347
+ input: {
7348
+ [x: string]: unknown;
7349
+ } & z.input<typeof storageMigrationCapability.methods.cleanupStart.input>;
7350
+ output: z.infer<typeof storageMigrationCapability.methods.cleanupStart.output>;
7351
+ meta: object;
7352
+ }>;
7353
+ cleanupStatus: TRPCQueryProcedure<{
7354
+ input: {
7355
+ [x: string]: unknown;
7356
+ } & z.input<typeof storageMigrationCapability.methods.cleanupStatus.input>;
7357
+ output: z.infer<typeof storageMigrationCapability.methods.cleanupStatus.output>;
7358
+ meta: object;
7359
+ }>;
7360
+ cleanupCancel: TRPCMutationProcedure<{
7361
+ input: {
7362
+ [x: string]: unknown;
7363
+ } & z.input<typeof storageMigrationCapability.methods.cleanupCancel.input>;
7364
+ output: z.infer<typeof storageMigrationCapability.methods.cleanupCancel.output>;
7365
+ meta: object;
7366
+ }>;
7367
+ history: TRPCQueryProcedure<{
7368
+ input: {
7369
+ [x: string]: unknown;
7370
+ } & z.input<typeof storageMigrationCapability.methods.history.input>;
7371
+ output: z.infer<typeof storageMigrationCapability.methods.history.output>;
7372
+ meta: object;
7373
+ }>;
7339
7374
  }>>;
7340
7375
  storageProvider: TRPCBuiltRouter<{
7341
7376
  ctx: TrpcContext;
@@ -11,7 +11,7 @@
11
11
  * Plain data, zero Zod: a forked runner must not import the schema barrel
12
12
  * (~144MB RSS per runner — D28).
13
13
  *
14
- * Coverage: 24 caps, 56 methods with defaults.
14
+ * Coverage: 24 caps, 55 methods with defaults.
15
15
  */
16
16
  export declare const CAP_INPUT_DEFAULTS: Readonly<Record<string, Readonly<Record<string, Readonly<Record<string, unknown>>>>>>;
17
17
  /**