@camstack/addon-pipeline 1.2.156 → 1.2.160
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/audio-analyzer/index.js +2 -2
- package/dist/audio-analyzer/index.mjs +2 -2
- package/dist/detection-pipeline/index.js +5 -5
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-C499qEUf.js → dist-5VmTxa8x.js} +183 -76
- package/dist/{dist-C9ohtgTQ.mjs → dist-C8zVKhzA.mjs} +183 -76
- package/dist/{lazy-sharp-D5uApbbe.js → lazy-sharp-C89jIlwj.js} +1 -1
- package/dist/{local-frame-registry-VkzIezFI.js → local-frame-registry-BNMgZ5uA.js} +1 -1
- package/dist/{local-frame-registry-DAVug-jA.mjs → local-frame-registry-Bh-egEcl.mjs} +1 -1
- package/dist/motion-wasm/index.js +2 -2
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-DEq8mutP.js → node-FsbZDqyh.js} +1 -1
- package/dist/{node-CwIlVFyz.mjs → node-G9AiO_JJ.mjs} +1 -1
- package/dist/pipeline-runner/index.js +5 -5
- package/dist/pipeline-runner/index.mjs +4 -4
- package/dist/{process-memory-DWw7FrV5.mjs → process-memory-Bbvc_vQS.mjs} +1 -1
- package/dist/{process-memory-DzycAIEm.js → process-memory-CMC_42XT.js} +1 -1
- package/dist/recorder/index.js +535 -28
- package/dist/recorder/index.mjs +532 -30
- package/dist/{segment-demux-js-D2InpBpa.mjs → segment-demux-js-Cw--C40J.mjs} +1 -1
- package/dist/{segment-demux-js-Df1rAqNh.js → segment-demux-js-iEt5OWTd.js} +1 -1
- package/dist/session-decode/decode-worker-child.js +2 -2
- package/dist/session-decode/decode-worker-child.mjs +1 -1
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-BJlcLzCs.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-l7NtBWCj.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Blnh70uP.mjs +26 -0
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CWtPG7OH.mjs +26 -0
- package/dist/stream-broker/demux-worker-child.js +1 -1
- package/dist/stream-broker/demux-worker-child.mjs +1 -1
- package/dist/stream-broker/{hostInit-QpJx-TgK.mjs → hostInit-C2zs9368.mjs} +3 -3
- package/dist/stream-broker/index.js +20 -14
- package/dist/stream-broker/index.mjs +20 -14
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-CFHcqXoS.mjs → worker-protocol-CA_SVsYj.mjs} +1 -1
- package/dist/{worker-protocol-ge8Ce0Bo.js → worker-protocol-CB8pNFkV.js} +1 -1
- package/package.json +1 -1
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-lMPlG5w5.mjs +0 -26
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-yWrVN7u8.mjs +0 -26
|
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_process_memory = require("../process-memory-
|
|
5
|
+
const require_dist = require("../dist-5VmTxa8x.js");
|
|
6
|
+
const require_process_memory = require("../process-memory-CMC_42XT.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
node_fs = require_dist.__toESM(node_fs);
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { A as audioAnalysisCapability, It as hydrateSchema, S as PoolMemoryWatchdog, _t as resolvePoolMemoryPolicy, j as audioAnalyzerCapability, jt as BaseAddon, n as AUDIO_BACKEND_CHOICES, nt as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL, wt as errMsg } from "../dist-
|
|
3
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
2
|
+
import { A as audioAnalysisCapability, It as hydrateSchema, S as PoolMemoryWatchdog, _t as resolvePoolMemoryPolicy, j as audioAnalyzerCapability, jt as BaseAddon, n as AUDIO_BACKEND_CHOICES, nt as mapAudioLabelToMacro, s as DEFAULT_AUDIO_ANALYZER_CONFIG, v as HF_BASE_URL, wt as errMsg } from "../dist-C8zVKhzA.mjs";
|
|
3
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-Bbvc_vQS.mjs";
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import * as path$1 from "node:path";
|
|
6
6
|
import { downloadFile } from "@camstack/system/addon-utils";
|
|
@@ -2,12 +2,12 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_node = require("../node-
|
|
7
|
-
const require_local_frame_registry = require("../local-frame-registry-
|
|
8
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-5VmTxa8x.js");
|
|
6
|
+
const require_node = require("../node-FsbZDqyh.js");
|
|
7
|
+
const require_local_frame_registry = require("../local-frame-registry-BNMgZ5uA.js");
|
|
8
|
+
const require_lazy_sharp = require("../lazy-sharp-C89jIlwj.js");
|
|
9
9
|
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-DaUBcb13.js");
|
|
10
|
-
const require_process_memory = require("../process-memory-
|
|
10
|
+
const require_process_memory = require("../process-memory-CMC_42XT.js");
|
|
11
11
|
let node_fs = require("node:fs");
|
|
12
12
|
node_fs = require_dist.__toESM(node_fs);
|
|
13
13
|
let node_path = require("node:path");
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { Bt as nodePin, Ft as createEvent, It as hydrateSchema, Kt as array, O as YAMNET_TO_MACRO, Q as inferModelProvider, Qt as object, S as PoolMemoryWatchdog, St as supportedRuntimes$1, Vt as parseJsonUnknown, W as detectionPipelineCapability, Wt as sleep, Y as evaluateZoneRules, _t as resolvePoolMemoryPolicy, at as overlayClusterStepSettings, c as DEFAULT_CLUSTER_STEP_MODELS, ct as pickClusterStepSettings, dt as pipelineExecutorCapability, en as string, et as loadContributionCapability, ht as resolveClusterStepModelId, jt as BaseAddon, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, q as enumerateInferenceDevices, st as pickClusterStepModels, t as APPLE_SA_TO_MACRO, tn as union, wt as errMsg, yt as runtimeDevices$1, z as defaultDeviceFor$1 } from "../dist-
|
|
3
|
-
import { a as readProcessCost } from "../node-
|
|
4
|
-
import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep, t as localFrameRegistry, u as landmarkPrecisionVerdict } from "../local-frame-registry-
|
|
2
|
+
import { Bt as nodePin, Ft as createEvent, It as hydrateSchema, Kt as array, O as YAMNET_TO_MACRO, Q as inferModelProvider, Qt as object, S as PoolMemoryWatchdog, St as supportedRuntimes$1, Vt as parseJsonUnknown, W as detectionPipelineCapability, Wt as sleep, Y as evaluateZoneRules, _t as resolvePoolMemoryPolicy, at as overlayClusterStepSettings, c as DEFAULT_CLUSTER_STEP_MODELS, ct as pickClusterStepSettings, dt as pipelineExecutorCapability, en as string, et as loadContributionCapability, ht as resolveClusterStepModelId, jt as BaseAddon, l as DEFAULT_CLUSTER_STEP_SETTINGS, m as DEVICE_BACKEND_TO_FORMAT, nn as EventCategory, q as enumerateInferenceDevices, st as pickClusterStepModels, t as APPLE_SA_TO_MACRO, tn as union, wt as errMsg, yt as runtimeDevices$1, z as defaultDeviceFor$1 } from "../dist-C8zVKhzA.mjs";
|
|
3
|
+
import { a as readProcessCost } from "../node-G9AiO_JJ.mjs";
|
|
4
|
+
import { a as getDefaultModelForFormat, c as getStepDefinition, i as ALL_STEPS, l as resolveModelForFormat, o as getDefaultModelForFormatFromDef, r as ALL_PIPELINE_STEPS, s as getStep, t as localFrameRegistry, u as landmarkPrecisionVerdict } from "../local-frame-registry-Bh-egEcl.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
|
|
6
6
|
import { n as startEventLoopStallMonitor } from "../event-loop-stall-monitor-DXLNBMkY.mjs";
|
|
7
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
7
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-Bbvc_vQS.mjs";
|
|
8
8
|
import * as fs from "node:fs";
|
|
9
9
|
import * as path$1 from "node:path";
|
|
10
10
|
import { spawn } from "node:child_process";
|
|
@@ -9431,6 +9431,13 @@ var MediaRelocateModeSchema = _enum([
|
|
|
9431
9431
|
]);
|
|
9432
9432
|
var RelocateMediaInputSchema = object({
|
|
9433
9433
|
toLocationId: string(),
|
|
9434
|
+
/**
|
|
9435
|
+
* Restrict the pass to rows currently on this location. Omitted / `'*'` =
|
|
9436
|
+
* every row that is not already on `toLocationId` (the historical
|
|
9437
|
+
* behaviour). A named source is what a from→to migration needs: without it
|
|
9438
|
+
* "move events off disk 2" also emptied disk 1.
|
|
9439
|
+
*/
|
|
9440
|
+
fromLocationId: string().optional(),
|
|
9434
9441
|
throttleMbps: number().min(1).max(1e3).optional(),
|
|
9435
9442
|
/** Omitted = `move`, the pre-existing behaviour. */
|
|
9436
9443
|
mode: MediaRelocateModeSchema.optional()
|
|
@@ -9498,6 +9505,19 @@ var StorageMigrationDestinationsSchema = object({
|
|
|
9498
9505
|
galleryMedia: string().min(1).optional()
|
|
9499
9506
|
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
9500
9507
|
/**
|
|
9508
|
+
* Optional named source per class. Omitted = the class's current default
|
|
9509
|
+
* (the historical behaviour). A named source that is NOT the default is a
|
|
9510
|
+
* drain of that disk: bytes move, the default stays, and the source is
|
|
9511
|
+
* disabled when the move finishes.
|
|
9512
|
+
*/
|
|
9513
|
+
var StorageMigrationSourcesSchema = object({
|
|
9514
|
+
recordings: string().min(1).optional(),
|
|
9515
|
+
recordingsLow: string().min(1).optional(),
|
|
9516
|
+
eventMedia: string().min(1).optional(),
|
|
9517
|
+
backups: string().min(1).optional(),
|
|
9518
|
+
galleryMedia: string().min(1).optional()
|
|
9519
|
+
}).optional();
|
|
9520
|
+
/**
|
|
9501
9521
|
* How a migration sequences the cutover against the byte move.
|
|
9502
9522
|
*
|
|
9503
9523
|
* - `blocking` — the historical order: pause, move every byte, repoint,
|
|
@@ -9519,6 +9539,8 @@ var StorageMigrationModeSchema = _enum(["blocking", "nonBlocking"]);
|
|
|
9519
9539
|
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
9520
9540
|
var StorageMigrationInputSchema = object({
|
|
9521
9541
|
destinations: StorageMigrationDestinationsSchema,
|
|
9542
|
+
/** Omitted = each class's current default. */
|
|
9543
|
+
sources: StorageMigrationSourcesSchema,
|
|
9522
9544
|
throttleMbps: number().min(1).max(1e3).optional(),
|
|
9523
9545
|
/** Omitted = `blocking`, which stays the default. */
|
|
9524
9546
|
mode: StorageMigrationModeSchema.optional()
|
|
@@ -9598,6 +9620,13 @@ var StorageMigrationMoveSchema = object({
|
|
|
9598
9620
|
storageClass: StorageMigrationClassSchema,
|
|
9599
9621
|
fromLocationId: string(),
|
|
9600
9622
|
toLocationId: string(),
|
|
9623
|
+
/**
|
|
9624
|
+
* True when `from` was NOT the class default at plan time. The move still
|
|
9625
|
+
* copies bytes, but the default is left alone and the source is disabled
|
|
9626
|
+
* once the copy verifies. Absent on jobs planned before this field existed
|
|
9627
|
+
* — those jobs always repointed, which is `false`.
|
|
9628
|
+
*/
|
|
9629
|
+
freezeSource: boolean().optional(),
|
|
9601
9630
|
moverJobId: string().nullable(),
|
|
9602
9631
|
state: RelocateJobStateSchema.nullable(),
|
|
9603
9632
|
error: string().nullable(),
|
|
@@ -9611,6 +9640,7 @@ var StorageMigrationJobSchema = object({
|
|
|
9611
9640
|
* can tell a seconds-long cutover from a thirty-hour one. */
|
|
9612
9641
|
mode: StorageMigrationModeSchema,
|
|
9613
9642
|
destinations: StorageMigrationDestinationsSchema,
|
|
9643
|
+
sources: StorageMigrationSourcesSchema,
|
|
9614
9644
|
throttleMbps: number(),
|
|
9615
9645
|
moves: array(StorageMigrationMoveSchema),
|
|
9616
9646
|
pauseLeaseId: string().nullable(),
|
|
@@ -9636,6 +9666,7 @@ var StorageMigrationFindingSchema = object({
|
|
|
9636
9666
|
});
|
|
9637
9667
|
var StorageMigrationPlanSchema = object({
|
|
9638
9668
|
destinations: StorageMigrationDestinationsSchema,
|
|
9669
|
+
sources: StorageMigrationSourcesSchema,
|
|
9639
9670
|
/** The mode this plan was built for. A plan is only valid for its mode: the
|
|
9640
9671
|
* `eventMedia` seal gate and the single-cardinality refusal both depend on
|
|
9641
9672
|
* it. */
|
|
@@ -9643,7 +9674,8 @@ var StorageMigrationPlanSchema = object({
|
|
|
9643
9674
|
moves: array(object({
|
|
9644
9675
|
storageClass: StorageMigrationClassSchema,
|
|
9645
9676
|
fromLocationId: string(),
|
|
9646
|
-
toLocationId: string()
|
|
9677
|
+
toLocationId: string(),
|
|
9678
|
+
freezeSource: boolean().optional()
|
|
9647
9679
|
})),
|
|
9648
9680
|
findings: array(StorageMigrationFindingSchema)
|
|
9649
9681
|
});
|
|
@@ -9821,10 +9853,51 @@ var LedgerWalkReportSchema = object({
|
|
|
9821
9853
|
var RelocatableMediaCountSchema = object({ rows: number().int().nonnegative() }).nullable();
|
|
9822
9854
|
var RelocatableMediaCountInputSchema = object({
|
|
9823
9855
|
toLocationId: string().min(1),
|
|
9856
|
+
/** Restrict the count to one source; omitted / `'*'` = every non-target row. */
|
|
9857
|
+
fromLocationId: string().optional(),
|
|
9824
9858
|
/** Omitted = `move`. */
|
|
9825
9859
|
mode: MediaRelocateModeSchema.optional()
|
|
9826
9860
|
});
|
|
9827
9861
|
/**
|
|
9862
|
+
* Operator cleanup of leftover analytics rows, optional debug media, and
|
|
9863
|
+
* ghost ledger entries on frozen footage locations.
|
|
9864
|
+
*
|
|
9865
|
+
* A pass is tens of minutes on a standing backlog. The hub method RETURNS
|
|
9866
|
+
* `{ jobId }` immediately; progress is `cleanupStatus`. Awaiting the work
|
|
9867
|
+
* is how `addons.custom` hit the 60 s UDS deadline while reclaim continued
|
|
9868
|
+
* with no operator-visible status.
|
|
9869
|
+
*/
|
|
9870
|
+
var StorageCleanupPhaseSchema = _enum([
|
|
9871
|
+
"orphans",
|
|
9872
|
+
"debug-media",
|
|
9873
|
+
"ghost-ledger",
|
|
9874
|
+
"done",
|
|
9875
|
+
"failed",
|
|
9876
|
+
"cancelled"
|
|
9877
|
+
]);
|
|
9878
|
+
var StorageCleanupInputSchema = object({
|
|
9879
|
+
/** Also walk motion stills / track filmstrips. Off by default. */
|
|
9880
|
+
includeDebugMedia: boolean().optional() });
|
|
9881
|
+
var StorageCleanupJobSchema = object({
|
|
9882
|
+
jobId: string(),
|
|
9883
|
+
phase: StorageCleanupPhaseSchema,
|
|
9884
|
+
includeDebugMedia: boolean(),
|
|
9885
|
+
orphansReclaimed: number().int().nonnegative(),
|
|
9886
|
+
orphanBytesReclaimed: number().int().nonnegative(),
|
|
9887
|
+
debugMediaReclaimed: number().int().nonnegative(),
|
|
9888
|
+
debugMediaBytesReclaimed: number().int().nonnegative(),
|
|
9889
|
+
ghostsForgotten: number().int().nonnegative(),
|
|
9890
|
+
ghostBytesForgotten: number().int().nonnegative(),
|
|
9891
|
+
/** Short operator-facing line: current collection, pass, or location. */
|
|
9892
|
+
detail: string().nullable(),
|
|
9893
|
+
cancelRequested: boolean(),
|
|
9894
|
+
startedAt: number(),
|
|
9895
|
+
updatedAt: number(),
|
|
9896
|
+
finishedAt: number().nullable(),
|
|
9897
|
+
error: string().nullable()
|
|
9898
|
+
});
|
|
9899
|
+
var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
|
|
9900
|
+
/**
|
|
9828
9901
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
9829
9902
|
* storage a location serves. Defined here (not in `capabilities/storage.cap.ts`)
|
|
9830
9903
|
* so the persisted record schema and the consumer-facing cap can both consume it
|
|
@@ -9852,11 +9925,10 @@ var StorageLocationTypeSchema = string().regex(/^[a-z][a-zA-Z0-9-]*$/);
|
|
|
9852
9925
|
* The default location for a type uses `id === <type>:default` by
|
|
9853
9926
|
* convention (the bare type ref like `'backups'` resolves to it).
|
|
9854
9927
|
*
|
|
9855
|
-
* `isSystem
|
|
9856
|
-
*
|
|
9857
|
-
*
|
|
9858
|
-
*
|
|
9859
|
-
* deleting it is rejected at the cap level.
|
|
9928
|
+
* `isSystem` is a legacy persisted flag. Seed still creates the initial
|
|
9929
|
+
* `<type>:default` locations; the flag is no longer a lock, a badge, or a
|
|
9930
|
+
* prune selector. New writes leave it false. Deletion is gated on uniqueness
|
|
9931
|
+
* / last-enabled, not on this bit.
|
|
9860
9932
|
*/
|
|
9861
9933
|
var StorageLocationSchema = object({
|
|
9862
9934
|
id: string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
|
|
@@ -14699,6 +14771,12 @@ method(object({
|
|
|
14699
14771
|
}), _void(), {
|
|
14700
14772
|
kind: "mutation",
|
|
14701
14773
|
auth: "admin"
|
|
14774
|
+
}), method(object({
|
|
14775
|
+
from: string(),
|
|
14776
|
+
to: string()
|
|
14777
|
+
}), object({ moved: number() }), {
|
|
14778
|
+
kind: "mutation",
|
|
14779
|
+
auth: "admin"
|
|
14702
14780
|
}), method(object({
|
|
14703
14781
|
deviceId: number(),
|
|
14704
14782
|
disabled: boolean()
|
|
@@ -21210,46 +21288,6 @@ var RecentTracksPageSchema = object({
|
|
|
21210
21288
|
/** Cursor for the next page, or null when this page is the last. */
|
|
21211
21289
|
nextCursor: string().nullable()
|
|
21212
21290
|
});
|
|
21213
|
-
var LIST_GROUPS_DEFAULT_LIMIT = 40;
|
|
21214
|
-
var LIST_GROUPS_MAX_LIMIT = 100;
|
|
21215
|
-
var AnalyticsGroupRecordSchema = object({
|
|
21216
|
-
id: string(),
|
|
21217
|
-
deviceId: number().int(),
|
|
21218
|
-
openedAt: number().int(),
|
|
21219
|
-
closedAt: number().int(),
|
|
21220
|
-
timestamp: number().int(),
|
|
21221
|
-
memberCount: number().int(),
|
|
21222
|
-
memberTrackIds: array(string()).readonly(),
|
|
21223
|
-
className: string(),
|
|
21224
|
-
classes: array(string()).readonly(),
|
|
21225
|
-
/** Relative event-media path, or null when the group has no picture yet. */
|
|
21226
|
-
mediaUrl: string().nullable(),
|
|
21227
|
-
singleton: boolean()
|
|
21228
|
-
});
|
|
21229
|
-
var AnalyticsGroupMemberSchema = object({
|
|
21230
|
-
trackId: string(),
|
|
21231
|
-
deviceId: number().int(),
|
|
21232
|
-
className: string(),
|
|
21233
|
-
firstSeen: number().int(),
|
|
21234
|
-
lastSeen: number().int(),
|
|
21235
|
-
mediaUrl: string().nullable()
|
|
21236
|
-
});
|
|
21237
|
-
var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: array(AnalyticsGroupMemberSchema).readonly() });
|
|
21238
|
-
var ListGroupsQueryInput = object({
|
|
21239
|
-
/** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
|
|
21240
|
-
deviceIds: array(number()),
|
|
21241
|
-
/** Window lower bound on `closedAt` (inclusive). */
|
|
21242
|
-
since: number().optional(),
|
|
21243
|
-
/** Window upper bound on `openedAt` (inclusive). */
|
|
21244
|
-
until: number().optional(),
|
|
21245
|
-
limit: number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
|
|
21246
|
-
/** Opaque continuation cursor from a previous page's `nextCursor`. */
|
|
21247
|
-
cursor: string().optional()
|
|
21248
|
-
});
|
|
21249
|
-
var ListGroupsPageSchema = object({
|
|
21250
|
-
groups: array(AnalyticsGroupRecordSchema).readonly(),
|
|
21251
|
-
nextCursor: string().nullable()
|
|
21252
|
-
});
|
|
21253
21291
|
var KEY_EVENTS_DEFAULT_LIMIT = 50;
|
|
21254
21292
|
var KEY_EVENTS_MAX_LIMIT = 200;
|
|
21255
21293
|
var KeyEventQueryInput = object({
|
|
@@ -21353,9 +21391,7 @@ var TrackCascadeCountsSchema = object({
|
|
|
21353
21391
|
/** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
|
|
21354
21392
|
plates: number().int(),
|
|
21355
21393
|
/** Per-track CLIP search vectors removed (best-effort). */
|
|
21356
|
-
embeddings: number().int()
|
|
21357
|
-
/** Group membership + group rows removed with their last member (best-effort). */
|
|
21358
|
-
groups: number().int()
|
|
21394
|
+
embeddings: number().int()
|
|
21359
21395
|
});
|
|
21360
21396
|
/** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
|
|
21361
21397
|
var DiskReconcileCountsSchema = object({
|
|
@@ -21604,10 +21640,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
21604
21640
|
* stationary registry). Default false: the timeline lists passages,
|
|
21605
21641
|
* not parking records (operator decision, 2026-08-15). */
|
|
21606
21642
|
includeStationary: boolean().optional()
|
|
21607
|
-
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(
|
|
21608
|
-
deviceId: number(),
|
|
21609
|
-
groupId: string().min(1)
|
|
21610
|
-
}), AnalyticsGroupDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
21643
|
+
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
|
|
21611
21644
|
kind: "mutation",
|
|
21612
21645
|
auth: "admin"
|
|
21613
21646
|
}), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
|
|
@@ -23847,7 +23880,13 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
23847
23880
|
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
23848
23881
|
kind: "mutation",
|
|
23849
23882
|
auth: "admin"
|
|
23850
|
-
})
|
|
23883
|
+
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
23884
|
+
kind: "mutation",
|
|
23885
|
+
auth: "admin"
|
|
23886
|
+
}), method(StorageCleanupStatusInputSchema, StorageCleanupJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23887
|
+
kind: "mutation",
|
|
23888
|
+
auth: "admin"
|
|
23889
|
+
}), method(object({}), array(StorageMigrationJobSchema).readonly(), { auth: "admin" });
|
|
23851
23890
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
23852
23891
|
providerId: string().min(1),
|
|
23853
23892
|
displayName: string().min(1),
|
|
@@ -29372,6 +29411,33 @@ var RecordingRebalanceInputSchema = object({
|
|
|
29372
29411
|
minMoveGb: number().min(0).optional()
|
|
29373
29412
|
});
|
|
29374
29413
|
/**
|
|
29414
|
+
* Operator-facing placement of one camera onto a recordings location.
|
|
29415
|
+
*
|
|
29416
|
+
* `pinLocationId` is the operator instruction: a location id, or `null` for
|
|
29417
|
+
* Auto (the planner may move this camera). `locationId` is where high/mid
|
|
29418
|
+
* currently write — the plan, which may disagree with the pin when Auto.
|
|
29419
|
+
*/
|
|
29420
|
+
var RecordingDevicePlacementSchema = object({
|
|
29421
|
+
deviceId: number().int(),
|
|
29422
|
+
profile: string(),
|
|
29423
|
+
locationId: string()
|
|
29424
|
+
});
|
|
29425
|
+
var RecordingDevicePinSchema = object({
|
|
29426
|
+
deviceId: number().int(),
|
|
29427
|
+
/** Recordings-class location this camera is pinned to. */
|
|
29428
|
+
locationId: string()
|
|
29429
|
+
});
|
|
29430
|
+
var RecordingPlacementViewSchema = object({
|
|
29431
|
+
assignments: array(RecordingDevicePlacementSchema),
|
|
29432
|
+
pins: array(RecordingDevicePinSchema),
|
|
29433
|
+
defaultLocations: record(string(), string())
|
|
29434
|
+
});
|
|
29435
|
+
var RecordingSetDevicePlacementInputSchema = object({
|
|
29436
|
+
deviceId: number().int(),
|
|
29437
|
+
/** `null` = Auto. Otherwise a `recordings:*` location id. */
|
|
29438
|
+
locationId: string().nullable()
|
|
29439
|
+
});
|
|
29440
|
+
/**
|
|
29375
29441
|
* Result of locating footage at a wall-clock instant for one device/profile.
|
|
29376
29442
|
* `segment` carries the covering segment's window; `gap` reports the forward
|
|
29377
29443
|
* nearest covered edge (`null` past the end of footage / when none exists)
|
|
@@ -29724,6 +29790,22 @@ var recordingCapability = {
|
|
|
29724
29790
|
startStorageRebalance: method(RecordingRebalanceInputSchema, RecordingRebalancePlanSchema, {
|
|
29725
29791
|
kind: "mutation",
|
|
29726
29792
|
auth: "admin"
|
|
29793
|
+
}),
|
|
29794
|
+
/**
|
|
29795
|
+
* The placement plan in force plus operator pins. Drives the Locations
|
|
29796
|
+
* admin page: Auto vs a named recordings location, per camera.
|
|
29797
|
+
*/
|
|
29798
|
+
getPlacement: method(object({}), RecordingPlacementViewSchema, {
|
|
29799
|
+
kind: "query",
|
|
29800
|
+
auth: "admin"
|
|
29801
|
+
}),
|
|
29802
|
+
/**
|
|
29803
|
+
* Pin a camera to a recordings location, or clear the pin (Auto). High and
|
|
29804
|
+
* mid follow the pin; low stays with the recordingsLow planner.
|
|
29805
|
+
*/
|
|
29806
|
+
setDevicePlacement: method(RecordingSetDevicePlacementInputSchema, object({ ok: literal(true) }), {
|
|
29807
|
+
kind: "mutation",
|
|
29808
|
+
auth: "admin"
|
|
29727
29809
|
})
|
|
29728
29810
|
}
|
|
29729
29811
|
};
|
|
@@ -33310,6 +33392,12 @@ Object.freeze({
|
|
|
33310
33392
|
addonId: null,
|
|
33311
33393
|
access: "delete"
|
|
33312
33394
|
},
|
|
33395
|
+
"deviceManager.renameLocation": {
|
|
33396
|
+
capName: "device-manager",
|
|
33397
|
+
capScope: "system",
|
|
33398
|
+
addonId: null,
|
|
33399
|
+
access: "create"
|
|
33400
|
+
},
|
|
33313
33401
|
"deviceManager.runDeviceAction": {
|
|
33314
33402
|
capName: "device-manager",
|
|
33315
33403
|
capScope: "system",
|
|
@@ -35002,12 +35090,6 @@ Object.freeze({
|
|
|
35002
35090
|
addonId: null,
|
|
35003
35091
|
access: "view"
|
|
35004
35092
|
},
|
|
35005
|
-
"pipelineAnalytics.getGroup": {
|
|
35006
|
-
capName: "pipeline-analytics",
|
|
35007
|
-
capScope: "device",
|
|
35008
|
-
addonId: null,
|
|
35009
|
-
access: "view"
|
|
35010
|
-
},
|
|
35011
35093
|
"pipelineAnalytics.getKeyEvents": {
|
|
35012
35094
|
capName: "pipeline-analytics",
|
|
35013
35095
|
capScope: "device",
|
|
@@ -35110,12 +35192,6 @@ Object.freeze({
|
|
|
35110
35192
|
addonId: null,
|
|
35111
35193
|
access: "view"
|
|
35112
35194
|
},
|
|
35113
|
-
"pipelineAnalytics.listGroups": {
|
|
35114
|
-
capName: "pipeline-analytics",
|
|
35115
|
-
capScope: "device",
|
|
35116
|
-
addonId: null,
|
|
35117
|
-
access: "view"
|
|
35118
|
-
},
|
|
35119
35195
|
"pipelineAnalytics.listOpsLog": {
|
|
35120
35196
|
capName: "pipeline-analytics",
|
|
35121
35197
|
capScope: "device",
|
|
@@ -36130,6 +36206,12 @@ Object.freeze({
|
|
|
36130
36206
|
addonId: null,
|
|
36131
36207
|
access: "view"
|
|
36132
36208
|
},
|
|
36209
|
+
"recording.getPlacement": {
|
|
36210
|
+
capName: "recording",
|
|
36211
|
+
capScope: "system",
|
|
36212
|
+
addonId: null,
|
|
36213
|
+
access: "view"
|
|
36214
|
+
},
|
|
36133
36215
|
"recording.getPlaybackManifest": {
|
|
36134
36216
|
capName: "recording",
|
|
36135
36217
|
capScope: "system",
|
|
@@ -36256,6 +36338,12 @@ Object.freeze({
|
|
|
36256
36338
|
addonId: null,
|
|
36257
36339
|
access: "create"
|
|
36258
36340
|
},
|
|
36341
|
+
"recording.setDevicePlacement": {
|
|
36342
|
+
capName: "recording",
|
|
36343
|
+
capScope: "system",
|
|
36344
|
+
addonId: null,
|
|
36345
|
+
access: "create"
|
|
36346
|
+
},
|
|
36259
36347
|
"recording.startStorageMigrationMove": {
|
|
36260
36348
|
capName: "recording",
|
|
36261
36349
|
capScope: "system",
|
|
@@ -36700,12 +36788,36 @@ Object.freeze({
|
|
|
36700
36788
|
addonId: null,
|
|
36701
36789
|
access: "create"
|
|
36702
36790
|
},
|
|
36791
|
+
"storageMigration.cleanupCancel": {
|
|
36792
|
+
capName: "storage-migration",
|
|
36793
|
+
capScope: "system",
|
|
36794
|
+
addonId: null,
|
|
36795
|
+
access: "create"
|
|
36796
|
+
},
|
|
36797
|
+
"storageMigration.cleanupStart": {
|
|
36798
|
+
capName: "storage-migration",
|
|
36799
|
+
capScope: "system",
|
|
36800
|
+
addonId: null,
|
|
36801
|
+
access: "create"
|
|
36802
|
+
},
|
|
36803
|
+
"storageMigration.cleanupStatus": {
|
|
36804
|
+
capName: "storage-migration",
|
|
36805
|
+
capScope: "system",
|
|
36806
|
+
addonId: null,
|
|
36807
|
+
access: "view"
|
|
36808
|
+
},
|
|
36703
36809
|
"storageMigration.drain": {
|
|
36704
36810
|
capName: "storage-migration",
|
|
36705
36811
|
capScope: "system",
|
|
36706
36812
|
addonId: null,
|
|
36707
36813
|
access: "create"
|
|
36708
36814
|
},
|
|
36815
|
+
"storageMigration.history": {
|
|
36816
|
+
capName: "storage-migration",
|
|
36817
|
+
capScope: "system",
|
|
36818
|
+
addonId: null,
|
|
36819
|
+
access: "view"
|
|
36820
|
+
},
|
|
36709
36821
|
"storageMigration.movers": {
|
|
36710
36822
|
capName: "storage-migration",
|
|
36711
36823
|
capScope: "system",
|
|
@@ -38702,11 +38814,6 @@ Object.freeze({
|
|
|
38702
38814
|
form: "single",
|
|
38703
38815
|
optional: true
|
|
38704
38816
|
}],
|
|
38705
|
-
"pipelineAnalytics.getGroup": [{
|
|
38706
|
-
name: "deviceId",
|
|
38707
|
-
form: "single",
|
|
38708
|
-
optional: false
|
|
38709
|
-
}],
|
|
38710
38817
|
"pipelineAnalytics.getKeyEvents": [{
|
|
38711
38818
|
name: "deviceId",
|
|
38712
38819
|
form: "single",
|
|
@@ -38772,11 +38879,6 @@ Object.freeze({
|
|
|
38772
38879
|
form: "single",
|
|
38773
38880
|
optional: false
|
|
38774
38881
|
}],
|
|
38775
|
-
"pipelineAnalytics.listGroups": [{
|
|
38776
|
-
name: "deviceIds",
|
|
38777
|
-
form: "array",
|
|
38778
|
-
optional: false
|
|
38779
|
-
}],
|
|
38780
38882
|
"pipelineAnalytics.listOpsLog": [{
|
|
38781
38883
|
name: "deviceId",
|
|
38782
38884
|
form: "single",
|
|
@@ -39192,6 +39294,11 @@ Object.freeze({
|
|
|
39192
39294
|
form: "single",
|
|
39193
39295
|
optional: false
|
|
39194
39296
|
}],
|
|
39297
|
+
"recording.setDevicePlacement": [{
|
|
39298
|
+
name: "deviceId",
|
|
39299
|
+
form: "single",
|
|
39300
|
+
optional: false
|
|
39301
|
+
}],
|
|
39195
39302
|
"recording.startStorageMigrationMove": [{
|
|
39196
39303
|
name: "deviceId",
|
|
39197
39304
|
form: "single",
|