@camstack/addon-pipeline 1.2.128 → 1.2.130
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-utils-BnprivSs.js → addon-utils-DH78p79i.js} +1 -1
- package/dist/audio-analyzer/index.js +3 -3
- package/dist/audio-analyzer/index.mjs +2 -2
- package/dist/detection-pipeline/index.js +241 -95
- package/dist/detection-pipeline/index.mjs +239 -93
- package/dist/{dist-BZUXb5S5.js → dist-DOw-izoI.js} +243 -75
- package/dist/{dist-HLAOw6Pe.mjs → dist-Wt81pN5Y.mjs} +243 -75
- package/dist/{event-loop-stall-monitor-BdArVUlx.js → event-loop-stall-monitor-Bld7jNCb.js} +1 -1
- package/dist/{event-loop-stall-monitor-BH-cL_hg.mjs → event-loop-stall-monitor-CtQCOZqm.mjs} +1 -1
- package/dist/{lazy-sharp-DTDXrhMG.js → lazy-sharp-BbNI2ZD-.js} +1 -1
- package/dist/motion-wasm/index.js +2 -2
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +4 -4
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/{process-memory-CDPRLalN.mjs → process-memory-1_D3EZT9.mjs} +1 -1
- package/dist/{process-memory-Dh1SyzdJ.js → process-memory-D9H5qjDl.js} +1 -1
- package/dist/recorder/index.js +467 -29
- package/dist/recorder/index.mjs +465 -28
- package/dist/{segment-demux-js-D-TLcHW5.mjs → segment-demux-js-BW-Q-j2A.mjs} +1 -1
- package/dist/{segment-demux-js-DRutggd6.js → segment-demux-js-C2jBBqGW.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-BDR5z0Z9.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Dw-iwP4y.mjs} +3 -3
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Bme2OZQp.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-Do2DEtRt.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-D36MoVV1.mjs} +1 -1
- 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-Dmw5LWmP.mjs → hostInit-DEVCEYgu.mjs} +3 -3
- package/dist/stream-broker/index.js +906 -423
- package/dist/stream-broker/index.mjs +906 -423
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-BxkCoVjw.js → worker-protocol-nAZl_Rsv.js} +1 -1
- package/dist/{worker-protocol-h7Smb_0i.mjs → worker-protocol-rpnr7Ldd.mjs} +1 -1
- package/package.json +1 -1
- package/python/__pycache__/inference_pool.cpython-312.pyc +0 -0
- package/python/__pycache__/inference_pool.cpython-313.pyc +0 -0
- package/python/__pycache__/inference_pool.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_backpressure.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_backpressure.cpython-312.pyc +0 -0
- package/python/__pycache__/test_inference_pool_backpressure.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_coreml_cache.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_coreml_cache.cpython-312.pyc +0 -0
- package/python/__pycache__/test_inference_pool_coreml_cache.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_device_selection.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_device_selection.cpython-312.pyc +0 -0
- package/python/__pycache__/test_inference_pool_device_selection.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_layout.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_layout.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_memstats.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_memstats.cpython-312.pyc +0 -0
- package/python/__pycache__/test_inference_pool_memstats.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_ov_ppp.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_ov_ppp.cpython-312.pyc +0 -0
- package/python/__pycache__/test_inference_pool_ov_ppp.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_preprocess.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_preprocess.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_reconfigure.cpython-314.pyc +0 -0
- package/python/__pycache__/test_inference_pool_static_batch.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/__pycache__/test_inference_pool_static_batch.cpython-312.pyc +0 -0
- package/python/__pycache__/test_inference_pool_static_batch.cpython-314.pyc +0 -0
- package/python/__pycache__/yamnet_audio.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/__init__.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/__init__.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/__init__.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/_safety.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/arcface.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/arcface.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/arcface.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/clip.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/clip.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/clip.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/ctc.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/ctc.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/ctc.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/plate_slots.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/plate_slots.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/rfdetr.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/rfdetr.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/saliency.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/saliency.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/saliency.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/scrfd.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/scrfd.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/scrfd.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/softmax.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/softmax.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/softmax.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/ssd.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/ssd.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/ssd.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_clip.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_clip.cpython-313-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-313-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/test_ctc.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_plate_slots.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_rfdetr.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_rfdetr.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_saliency.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_saliency.cpython-313-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_saliency.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_softmax.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_softmax.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_yolo_nms.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/test_yolo_nms.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/test_yolo_nms.cpython-39.pyc +0 -0
- package/python/postprocessors/__pycache__/test_yolonas.cpython-312-pytest-9.1.1.pyc +0 -0
- package/python/postprocessors/__pycache__/yamnet.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yamnet.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/yamnet.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo.cpython-39.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo_seg.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo_seg.cpython-313.pyc +0 -0
- package/python/postprocessors/__pycache__/yolo_seg.cpython-314.pyc +0 -0
- package/python/postprocessors/__pycache__/yolonas.cpython-312.pyc +0 -0
- package/python/postprocessors/__pycache__/yolonas.cpython-314.pyc +0 -0
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cs8bmrWP.mjs +0 -26
|
@@ -6769,7 +6769,7 @@ function method(input, output, options) {
|
|
|
6769
6769
|
input,
|
|
6770
6770
|
output,
|
|
6771
6771
|
kind: options?.kind ?? "query",
|
|
6772
|
-
auth: options
|
|
6772
|
+
...options?.auth !== void 0 ? { auth: options.auth } : {},
|
|
6773
6773
|
...options?.access !== void 0 ? { access: options.access } : {},
|
|
6774
6774
|
...options?.caller !== void 0 ? { caller: options.caller } : {},
|
|
6775
6775
|
timeoutMs: options?.timeoutMs
|
|
@@ -6793,7 +6793,7 @@ function event(data) {
|
|
|
6793
6793
|
}
|
|
6794
6794
|
var StaticDirOutputSchema$1 = object({ staticDir: string() });
|
|
6795
6795
|
var VersionOutputSchema$1 = object({ version: string() });
|
|
6796
|
-
method(_void(), StaticDirOutputSchema$1), method(_void(), VersionOutputSchema$1);
|
|
6796
|
+
method(_void(), StaticDirOutputSchema$1, { auth: "admin" }), method(_void(), VersionOutputSchema$1, { auth: "admin" });
|
|
6797
6797
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
6798
6798
|
DeviceType["Camera"] = "camera";
|
|
6799
6799
|
DeviceType["Hub"] = "hub";
|
|
@@ -7114,7 +7114,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
7114
7114
|
}({});
|
|
7115
7115
|
var StaticDirOutputSchema = object({ staticDir: string() });
|
|
7116
7116
|
var VersionOutputSchema = object({ version: string() });
|
|
7117
|
-
method(_void(), StaticDirOutputSchema), method(_void(), VersionOutputSchema);
|
|
7117
|
+
method(_void(), StaticDirOutputSchema, { auth: "admin" }), method(_void(), VersionOutputSchema, { auth: "admin" });
|
|
7118
7118
|
/**
|
|
7119
7119
|
* device-ops — device-scoped cap that unifies the per-IDevice operations
|
|
7120
7120
|
* previously routed through the `.device-ops` Moleculer bridge service.
|
|
@@ -8599,24 +8599,6 @@ var RecordingRetentionSchema = object({
|
|
|
8599
8599
|
maxSizeGb: number().min(0).optional()
|
|
8600
8600
|
});
|
|
8601
8601
|
/**
|
|
8602
|
-
* Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
|
|
8603
|
-
* sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
|
|
8604
|
-
* previews at. Five graduated steps; absent on a config = `standard` (the
|
|
8605
|
-
* shipped default, matching `sheet-geometry`/`sheet-composer`).
|
|
8606
|
-
*
|
|
8607
|
-
* Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
|
|
8608
|
-
* Each window's index sidecar carries its own tile dims, so a camera whose
|
|
8609
|
-
* preset changed over time renders every historical window at the dims it was
|
|
8610
|
-
* written with.
|
|
8611
|
-
*/
|
|
8612
|
-
var ScrubThumbnailPresetSchema = _enum([
|
|
8613
|
-
"minimal",
|
|
8614
|
-
"low",
|
|
8615
|
-
"standard",
|
|
8616
|
-
"high",
|
|
8617
|
-
"max"
|
|
8618
|
-
]);
|
|
8619
|
-
/**
|
|
8620
8602
|
* The full per-camera recording intent — the wire shape of a RecordingTarget.
|
|
8621
8603
|
*
|
|
8622
8604
|
* `bands` is the ONLY authored recording intent: what to record, when, and on
|
|
@@ -8624,7 +8606,11 @@ var ScrubThumbnailPresetSchema = _enum([
|
|
|
8624
8606
|
* other field is a storage knob (profiles, segment length, retention, scrub).
|
|
8625
8607
|
*
|
|
8626
8608
|
* STRICT on purpose: the legacy authoring surface (`schedule`/`schedules`/
|
|
8627
|
-
* `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30
|
|
8609
|
+
* `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30,
|
|
8610
|
+
* and `scrubThumbnails` — a five-step fidelity knob for a sprite tier that was
|
|
8611
|
+
* deleted on 2026-07-24 and had ZERO consumers in the recorder — on 2026-08-25
|
|
8612
|
+
* (D62: a switch that writes a store nobody reads is worse than no switch).
|
|
8613
|
+
* Stored rows keep loading: the READ schema is `.strip()` (config-store.ts).
|
|
8628
8614
|
* A stale caller must fail loudly — silently stripping its legacy intent would
|
|
8629
8615
|
* persist a band-less config, i.e. silently stop recording the camera.
|
|
8630
8616
|
*/
|
|
@@ -8647,14 +8633,7 @@ var RecordingConfigSchema = object({
|
|
|
8647
8633
|
* "off" is the absence of a covering band, never a band value.
|
|
8648
8634
|
*/
|
|
8649
8635
|
bands: array(RecordingBandSchema).default([]),
|
|
8650
|
-
retention: RecordingRetentionSchema.optional()
|
|
8651
|
-
/**
|
|
8652
|
-
* Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
|
|
8653
|
-
* timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
|
|
8654
|
-
* windows only — existing sheets are immutable, and each window's index
|
|
8655
|
-
* carries its own tile dims so mixed-preset history renders correctly.
|
|
8656
|
-
*/
|
|
8657
|
-
scrubThumbnails: ScrubThumbnailPresetSchema.optional()
|
|
8636
|
+
retention: RecordingRetentionSchema.optional()
|
|
8658
8637
|
}).strict();
|
|
8659
8638
|
/**
|
|
8660
8639
|
* Derive the {@link RecordingStorageModeSchema} summary from the authoritative
|
|
@@ -8770,10 +8749,11 @@ var RelocateFootageInputSchema = object({
|
|
|
8770
8749
|
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
8771
8750
|
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
8772
8751
|
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
8773
|
-
var
|
|
8752
|
+
var RelocateMediaInputSchema = object({
|
|
8774
8753
|
toLocationId: string(),
|
|
8775
8754
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
8776
|
-
})
|
|
8755
|
+
});
|
|
8756
|
+
var StorageMigrationMediaMoveInputSchema = RelocateMediaInputSchema.extend({ leaseId: string().min(1) });
|
|
8777
8757
|
/** The independently selectable logical storage classes. `recordings`
|
|
8778
8758
|
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
8779
8759
|
* segments; `eventMedia` is post-analysis blobs. */
|
|
@@ -9068,7 +9048,26 @@ var LabelDefinitionSchema = object({
|
|
|
9068
9048
|
description: string().optional(),
|
|
9069
9049
|
icon: string().optional()
|
|
9070
9050
|
});
|
|
9071
|
-
|
|
9051
|
+
/**
|
|
9052
|
+
* Wire schema for a per-model CATALOG classMap override
|
|
9053
|
+
* (`ModelCatalogEntry.classMap` / `ModelConvertMetadata.classMap`) —
|
|
9054
|
+
* restricted to {@link CLASS_MAP_MACRO_TARGETS}, the only macros the
|
|
9055
|
+
* detection pipeline executor actually routes.
|
|
9056
|
+
*
|
|
9057
|
+
* This is deliberately a DIFFERENT, narrower shape than the general-purpose
|
|
9058
|
+
* `ClassMapDefinition` interface above (e.g. `IDetectionAddon.getClassMap()`
|
|
9059
|
+
* and the audio `YAMNET_TO_MACRO` catalog both use macro targets outside this
|
|
9060
|
+
* enum) — the two used to share the name `ClassMapDefinition`/
|
|
9061
|
+
* `ClassMapDefinitionSchema`, which made the schema-type-twin guard
|
|
9062
|
+
* (`scripts/check-schema-type-twins.ts`) flag them as a duplicated shape. They
|
|
9063
|
+
* are not: it is two different concepts colliding on a name. Keep this type
|
|
9064
|
+
* under its own name rather than reusing `ClassMapDefinition` — reusing it
|
|
9065
|
+
* would either narrow every `ClassMapDefinition` consumer to the four
|
|
9066
|
+
* detection macros (breaking `YAMNET_TO_MACRO`) or drop the validation this
|
|
9067
|
+
* schema exists for (see the "rejects a classMap whose target is not a
|
|
9068
|
+
* detection macro" test in `model-catalog-schema.test.ts`).
|
|
9069
|
+
*/
|
|
9070
|
+
var DetectionCatalogClassMapSchema = object({
|
|
9072
9071
|
mapping: record(string(), _enum([
|
|
9073
9072
|
"person",
|
|
9074
9073
|
"vehicle",
|
|
@@ -9286,7 +9285,7 @@ var ModelCatalogEntrySchema = object({
|
|
|
9286
9285
|
* applies (Frigate / COCO public catalog). Set on a custom model whose raw
|
|
9287
9286
|
* labels already ARE the CamStack macros (Scrypted identity map).
|
|
9288
9287
|
*/
|
|
9289
|
-
classMap:
|
|
9288
|
+
classMap: DetectionCatalogClassMapSchema.optional()
|
|
9290
9289
|
});
|
|
9291
9290
|
var ConvertTargetSchema = discriminatedUnion("format", [object({
|
|
9292
9291
|
format: literal("openvino"),
|
|
@@ -9316,7 +9315,7 @@ var ModelConvertMetadataSchema = object({
|
|
|
9316
9315
|
"segmentation"
|
|
9317
9316
|
]),
|
|
9318
9317
|
faceAlignment: boolean().optional(),
|
|
9319
|
-
classMap:
|
|
9318
|
+
classMap: DetectionCatalogClassMapSchema.optional()
|
|
9320
9319
|
});
|
|
9321
9320
|
var ConvertResultSchema = object({
|
|
9322
9321
|
entry: ModelCatalogEntrySchema,
|
|
@@ -10179,7 +10178,7 @@ var AddonPageDeclarationSchema = object({
|
|
|
10179
10178
|
/** Display label for a CUSTOM `section` id (ignored for well-known ids). */
|
|
10180
10179
|
sectionLabel: string().optional()
|
|
10181
10180
|
});
|
|
10182
|
-
method(_void(), array(AddonPageDeclarationSchema).readonly());
|
|
10181
|
+
method(_void(), array(AddonPageDeclarationSchema).readonly(), { auth: "admin" });
|
|
10183
10182
|
var AddonHttpRouteSchema = object({
|
|
10184
10183
|
method: _enum([
|
|
10185
10184
|
"GET",
|
|
@@ -10419,7 +10418,20 @@ var addonWidgetsSourceCapability = {
|
|
|
10419
10418
|
scope: "system",
|
|
10420
10419
|
mode: "collection",
|
|
10421
10420
|
internal: true,
|
|
10422
|
-
methods: {
|
|
10421
|
+
methods: {
|
|
10422
|
+
/**
|
|
10423
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
10424
|
+
* `data-store-provider`) — this was reachable on the AppRouter by ANY
|
|
10425
|
+
* authenticated session at the default `auth: 'protected'`. The only
|
|
10426
|
+
* consumer, the `addon-widgets-aggregator` builtin, reads it via
|
|
10427
|
+
* `ctx.capabilities.getCollection('addon-widgets-source')` — LOCAL-PROCESS
|
|
10428
|
+
* only, never tRPC. The public, enriched listing admin-ui actually
|
|
10429
|
+
* consumes is the separate `addon-widgets` cap (`listWidgets` there is
|
|
10430
|
+
* gated separately, and a `preAuth: true` widget is surfaced through the
|
|
10431
|
+
* PUBLIC `auth.listLoginMethods` contribution channel instead) —
|
|
10432
|
+
* neither is affected by this change.
|
|
10433
|
+
*/
|
|
10434
|
+
listWidgets: method(_void(), array(WidgetMetadataSchema).readonly(), { auth: "admin" }) }
|
|
10423
10435
|
};
|
|
10424
10436
|
/**
|
|
10425
10437
|
* `addon-widgets` — system-scoped singleton aggregator cap. Public-facing
|
|
@@ -12355,7 +12367,7 @@ var CustomModelDescriptorSchema = object({
|
|
|
12355
12367
|
stepId: string(),
|
|
12356
12368
|
entry: ModelCatalogEntrySchema
|
|
12357
12369
|
});
|
|
12358
|
-
method(_void(), array(CustomModelDescriptorSchema).readonly());
|
|
12370
|
+
method(_void(), array(CustomModelDescriptorSchema).readonly(), { auth: "admin" });
|
|
12359
12371
|
/**
|
|
12360
12372
|
* Query filter for settings-store collections.
|
|
12361
12373
|
*/
|
|
@@ -12442,7 +12454,8 @@ method(object({
|
|
|
12442
12454
|
}), _void(), { kind: "mutation" }), method(object({
|
|
12443
12455
|
namespace: string().optional(),
|
|
12444
12456
|
collection: string(),
|
|
12445
|
-
filter: QueryFilterSchema.optional()
|
|
12457
|
+
filter: QueryFilterSchema.optional(),
|
|
12458
|
+
columns: array(string()).readonly().optional()
|
|
12446
12459
|
}), array(SettingsRecordSchema).readonly()), method(object({
|
|
12447
12460
|
namespace: string().optional(),
|
|
12448
12461
|
collection: string(),
|
|
@@ -12505,46 +12518,87 @@ var EngineInfoSchema = object({
|
|
|
12505
12518
|
kind: _enum(["relational", "vector"]),
|
|
12506
12519
|
displayName: string()
|
|
12507
12520
|
});
|
|
12508
|
-
method(_void(), EngineInfoSchema), method(object({
|
|
12521
|
+
method(_void(), EngineInfoSchema, { auth: "admin" }), method(object({
|
|
12509
12522
|
namespace: string().optional(),
|
|
12510
12523
|
collection: string(),
|
|
12511
12524
|
key: string()
|
|
12512
|
-
}), unknown()), method(object({
|
|
12525
|
+
}), unknown(), { auth: "admin" }), method(object({
|
|
12513
12526
|
namespace: string().optional(),
|
|
12514
12527
|
collection: string(),
|
|
12515
12528
|
key: string(),
|
|
12516
12529
|
value: unknown()
|
|
12517
|
-
}), _void(), {
|
|
12530
|
+
}), _void(), {
|
|
12531
|
+
kind: "mutation",
|
|
12532
|
+
auth: "admin"
|
|
12533
|
+
}), method(object({
|
|
12518
12534
|
namespace: string().optional(),
|
|
12519
12535
|
collection: string(),
|
|
12520
|
-
filter: QueryFilterSchema.optional()
|
|
12521
|
-
|
|
12536
|
+
filter: QueryFilterSchema.optional(),
|
|
12537
|
+
/**
|
|
12538
|
+
* SQL-level column projection — MUST mirror `settings-store.query`.
|
|
12539
|
+
*
|
|
12540
|
+
* ⚠ An earlier version of this comment blamed Zod stripping, and that
|
|
12541
|
+
* was wrong — corrected 2026-08-26 after the hop map
|
|
12542
|
+
* (`docs/design/2026-08-26-mappa-hop-argomenti.md`) traced the path.
|
|
12543
|
+
* There is **no Zod parse at all** between the door and the engine: the
|
|
12544
|
+
* dispatcher forwards the payload verbatim and UDS carries it whole. A
|
|
12545
|
+
* field declared here reaches `SqliteSettingsBackend` either way.
|
|
12546
|
+
*
|
|
12547
|
+
* What actually lost `columns` was the THIRD declaration of this shape:
|
|
12548
|
+
* `SettingsQueryInput` in `interfaces/storage.ts`, a hand-written TS
|
|
12549
|
+
* interface the engine destructures from. The field existed on both
|
|
12550
|
+
* schemas and the engine still never read it, because nothing checks a
|
|
12551
|
+
* registered provider against `InferProvider<cap>` —
|
|
12552
|
+
* `ProviderRegistration.provider` is typed `object`.
|
|
12553
|
+
*
|
|
12554
|
+
* It is declared here anyway, and must stay in step with
|
|
12555
|
+
* `settings-store.query`: a caller reading only the cap definitions has
|
|
12556
|
+
* to be able to see that this call carries a projection.
|
|
12557
|
+
* `data-door-schema-parity.spec.ts` keeps the two aligned.
|
|
12558
|
+
*/
|
|
12559
|
+
columns: array(string()).readonly().optional()
|
|
12560
|
+
}), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
|
|
12522
12561
|
namespace: string().optional(),
|
|
12523
12562
|
collection: string(),
|
|
12524
12563
|
record: SettingsRecordSchema
|
|
12525
|
-
}), _void(), {
|
|
12564
|
+
}), _void(), {
|
|
12565
|
+
kind: "mutation",
|
|
12566
|
+
auth: "admin"
|
|
12567
|
+
}), method(object({
|
|
12526
12568
|
namespace: string().optional(),
|
|
12527
12569
|
collection: string(),
|
|
12528
12570
|
id: string(),
|
|
12529
12571
|
data: record(string(), unknown())
|
|
12530
|
-
}), _void(), {
|
|
12572
|
+
}), _void(), {
|
|
12573
|
+
kind: "mutation",
|
|
12574
|
+
auth: "admin"
|
|
12575
|
+
}), method(object({
|
|
12531
12576
|
namespace: string().optional(),
|
|
12532
12577
|
collection: string(),
|
|
12533
12578
|
key: string()
|
|
12534
|
-
}), _void(), {
|
|
12579
|
+
}), _void(), {
|
|
12580
|
+
kind: "mutation",
|
|
12581
|
+
auth: "admin"
|
|
12582
|
+
}), method(object({
|
|
12535
12583
|
namespace: string().optional(),
|
|
12536
12584
|
collection: string(),
|
|
12537
12585
|
filter: MutationFilterSchema
|
|
12538
|
-
}), object({ deleted: number().int() }), {
|
|
12586
|
+
}), object({ deleted: number().int() }), {
|
|
12587
|
+
kind: "mutation",
|
|
12588
|
+
auth: "admin"
|
|
12589
|
+
}), method(object({
|
|
12539
12590
|
namespace: string().optional(),
|
|
12540
12591
|
collection: string(),
|
|
12541
12592
|
filter: MutationFilterSchema,
|
|
12542
12593
|
data: record(string(), unknown())
|
|
12543
|
-
}), object({ updated: number().int() }), {
|
|
12594
|
+
}), object({ updated: number().int() }), {
|
|
12595
|
+
kind: "mutation",
|
|
12596
|
+
auth: "admin"
|
|
12597
|
+
}), method(object({
|
|
12544
12598
|
namespace: string().optional(),
|
|
12545
12599
|
collection: string(),
|
|
12546
12600
|
filter: QueryFilterSchema.optional()
|
|
12547
|
-
}), number()), method(object({
|
|
12601
|
+
}), number(), { auth: "admin" }), method(object({
|
|
12548
12602
|
namespace: string().optional(),
|
|
12549
12603
|
collection: string(),
|
|
12550
12604
|
field: string(),
|
|
@@ -12554,15 +12608,18 @@ method(_void(), EngineInfoSchema), method(object({
|
|
|
12554
12608
|
}), array(object({
|
|
12555
12609
|
bucket: number().int(),
|
|
12556
12610
|
count: number().int()
|
|
12557
|
-
})).readonly()), method(object({
|
|
12611
|
+
})).readonly(), { auth: "admin" }), method(object({
|
|
12558
12612
|
namespace: string().optional(),
|
|
12559
12613
|
collection: string()
|
|
12560
|
-
}), boolean()), method(object({
|
|
12614
|
+
}), boolean(), { auth: "admin" }), method(object({
|
|
12561
12615
|
namespace: string().optional(),
|
|
12562
12616
|
collection: string(),
|
|
12563
12617
|
columns: array(CollectionColumnSchema).readonly(),
|
|
12564
12618
|
indexes: array(CollectionIndexSchema).readonly().optional()
|
|
12565
|
-
}), _void(), {
|
|
12619
|
+
}), _void(), {
|
|
12620
|
+
kind: "mutation",
|
|
12621
|
+
auth: "admin"
|
|
12622
|
+
});
|
|
12566
12623
|
/**
|
|
12567
12624
|
* shm ring usage stats for a `frameSink: 'shm'` decoder session —
|
|
12568
12625
|
* exposed via `decoder.getShmStats` so downstream consumers can
|
|
@@ -13721,7 +13778,7 @@ method(object({
|
|
|
13721
13778
|
crop: _instanceof(Uint8Array),
|
|
13722
13779
|
width: number(),
|
|
13723
13780
|
height: number()
|
|
13724
|
-
}), EmbeddingResultSchema), method(object({ text: string() }), EmbeddingResultSchema), method(_void(), EmbeddingInfoSchema);
|
|
13781
|
+
}), EmbeddingResultSchema, { auth: "admin" }), method(object({ text: string() }), EmbeddingResultSchema, { auth: "admin" }), method(_void(), EmbeddingInfoSchema, { auth: "admin" });
|
|
13725
13782
|
/**
|
|
13726
13783
|
* filesystem-browse — per-node capability for browsing the node's local
|
|
13727
13784
|
* filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
|
|
@@ -14014,19 +14071,22 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
14014
14071
|
runtime: ManagedRuntimeConfigSchema,
|
|
14015
14072
|
/** The managed profile's timeout, threaded by the hub provider. */
|
|
14016
14073
|
timeoutMs: number().int().positive().optional()
|
|
14017
|
-
}), LlmGenerateResultSchema, {
|
|
14074
|
+
}), LlmGenerateResultSchema, {
|
|
14075
|
+
kind: "mutation",
|
|
14076
|
+
auth: "admin"
|
|
14077
|
+
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
14018
14078
|
kind: "mutation",
|
|
14019
14079
|
auth: "admin"
|
|
14020
14080
|
}), method(object({}), _void(), {
|
|
14021
14081
|
kind: "mutation",
|
|
14022
14082
|
auth: "admin"
|
|
14023
|
-
}), method(object({}), LlmRuntimeStatusSchema), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
14083
|
+
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
14024
14084
|
kind: "mutation",
|
|
14025
14085
|
auth: "admin"
|
|
14026
14086
|
}), method(object({ file: string() }), _void(), {
|
|
14027
14087
|
kind: "mutation",
|
|
14028
14088
|
auth: "admin"
|
|
14029
|
-
}), method(object({}), array(LlmNodeModelSchema)), method(object({}), LlmRuntimeDiskUsageSchema);
|
|
14089
|
+
}), method(object({}), array(LlmNodeModelSchema), { auth: "admin" }), method(object({}), LlmRuntimeDiskUsageSchema, { auth: "admin" });
|
|
14030
14090
|
/**
|
|
14031
14091
|
* `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
|
|
14032
14092
|
* methods concat-fan across providers; single-row methods route to ONE
|
|
@@ -17842,7 +17902,7 @@ var OauthIntegrationDescriptorSchema = object({
|
|
|
17842
17902
|
*/
|
|
17843
17903
|
refreshTokenTtlSec: union([number().int().positive(), literal("never")]).optional()
|
|
17844
17904
|
});
|
|
17845
|
-
method(_void(), OauthIntegrationDescriptorSchema);
|
|
17905
|
+
method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
|
|
17846
17906
|
/**
|
|
17847
17907
|
* pipeline-analytics — device-scoped wrapper cap. Refines raw
|
|
17848
17908
|
* per-frame detections emitted by the pipeline runner into tracked
|
|
@@ -19037,6 +19097,15 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19037
19097
|
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19038
19098
|
kind: "mutation",
|
|
19039
19099
|
auth: "admin"
|
|
19100
|
+
}), method(RelocateMediaInputSchema, object({ jobId: string() }), {
|
|
19101
|
+
kind: "mutation",
|
|
19102
|
+
auth: "admin"
|
|
19103
|
+
}), method(object({}), array(RelocateJobSchema).readonly(), {
|
|
19104
|
+
kind: "query",
|
|
19105
|
+
auth: "admin"
|
|
19106
|
+
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19107
|
+
kind: "mutation",
|
|
19108
|
+
auth: "admin"
|
|
19040
19109
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
19041
19110
|
kind: "query",
|
|
19042
19111
|
auth: "admin"
|
|
@@ -19191,6 +19260,11 @@ object({
|
|
|
19191
19260
|
"jpeg"
|
|
19192
19261
|
])
|
|
19193
19262
|
});
|
|
19263
|
+
/**
|
|
19264
|
+
* Process-local frame identity. It is serializable so it can ride an in-process
|
|
19265
|
+
* capability call, but `registryId` deliberately prevents resolution in any
|
|
19266
|
+
* other process or execution group.
|
|
19267
|
+
*/
|
|
19194
19268
|
var FrameRefSchema = object({
|
|
19195
19269
|
registryId: string().min(1),
|
|
19196
19270
|
id: string().min(1),
|
|
@@ -21650,7 +21724,7 @@ method(object({
|
|
|
21650
21724
|
* linking rather than produce an eternal token.
|
|
21651
21725
|
*/
|
|
21652
21726
|
ttlSec: union([number().int().positive(), literal("never")]).optional()
|
|
21653
|
-
}), object({ token: string() })), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable());
|
|
21727
|
+
}), object({ token: string() }), { auth: "admin" }), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable(), { auth: "admin" });
|
|
21654
21728
|
var ProviderListEntrySchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
21655
21729
|
providerId: string().min(1),
|
|
21656
21730
|
displayName: string().min(1),
|
|
@@ -21751,8 +21825,15 @@ var storageEvictableCapability = {
|
|
|
21751
21825
|
mode: "collection",
|
|
21752
21826
|
internal: true,
|
|
21753
21827
|
methods: {
|
|
21828
|
+
/**
|
|
21829
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
21830
|
+
* `data-store-provider`) — this was reachable on the AppRouter by ANY
|
|
21831
|
+
* authenticated session at the default `auth: 'protected'`. The only
|
|
21832
|
+
* consumer is the orchestrator's `StoragePressureManager`, which calls
|
|
21833
|
+
* `ctx.api` — never tRPC — so `auth: 'admin'` costs it nothing.
|
|
21834
|
+
*/
|
|
21754
21835
|
/** Bytes this provider holds on the given location — drives proportional fan-out. */
|
|
21755
|
-
getEvictableUsage: method(object({ locationId: string() }), EvictableUsageSchema),
|
|
21836
|
+
getEvictableUsage: method(object({ locationId: string() }), EvictableUsageSchema, { auth: "admin" }),
|
|
21756
21837
|
/**
|
|
21757
21838
|
* Free approximately `targetBytes` of this provider's OWN least-valuable
|
|
21758
21839
|
* data on the location (oldest footage, expired clips, …). Returns what it
|
|
@@ -21761,7 +21842,10 @@ var storageEvictableCapability = {
|
|
|
21761
21842
|
evict: method(object({
|
|
21762
21843
|
locationId: string(),
|
|
21763
21844
|
targetBytes: number().int().positive()
|
|
21764
|
-
}), EvictResultSchema, {
|
|
21845
|
+
}), EvictResultSchema, {
|
|
21846
|
+
kind: "mutation",
|
|
21847
|
+
auth: "admin"
|
|
21848
|
+
})
|
|
21765
21849
|
}
|
|
21766
21850
|
};
|
|
21767
21851
|
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
@@ -21823,26 +21907,50 @@ var ReadChunkInputSchema = object({
|
|
|
21823
21907
|
length: number()
|
|
21824
21908
|
});
|
|
21825
21909
|
var EndDownloadInputSchema = object({ downloadId: string() });
|
|
21826
|
-
method(_void(), ProviderInfoSchema), method(object({ config: record(string(), unknown()) }), TestLocationResultSchema, { auth: "admin" }), method(object({
|
|
21910
|
+
method(_void(), ProviderInfoSchema, { auth: "admin" }), method(object({ config: record(string(), unknown()) }), TestLocationResultSchema, { auth: "admin" }), method(object({
|
|
21827
21911
|
location: StorageLocationSchema,
|
|
21828
21912
|
relativePath: string()
|
|
21829
|
-
}), string()), method(object({
|
|
21913
|
+
}), string(), { auth: "admin" }), method(object({
|
|
21830
21914
|
location: StorageLocationSchema,
|
|
21831
21915
|
relativePath: string(),
|
|
21832
21916
|
data: _instanceof(Uint8Array)
|
|
21833
|
-
}), _void(), {
|
|
21917
|
+
}), _void(), {
|
|
21918
|
+
kind: "mutation",
|
|
21919
|
+
auth: "admin"
|
|
21920
|
+
}), method(object({
|
|
21834
21921
|
location: StorageLocationSchema,
|
|
21835
21922
|
relativePath: string()
|
|
21836
|
-
}), _instanceof(Uint8Array)), method(object({
|
|
21923
|
+
}), _instanceof(Uint8Array), { auth: "admin" }), method(object({
|
|
21837
21924
|
location: StorageLocationSchema,
|
|
21838
21925
|
relativePath: string()
|
|
21839
|
-
}), boolean()), method(object({
|
|
21926
|
+
}), boolean(), { auth: "admin" }), method(object({
|
|
21840
21927
|
location: StorageLocationSchema,
|
|
21841
21928
|
prefix: string().optional()
|
|
21842
|
-
}), array(string()).readonly()), method(object({
|
|
21929
|
+
}), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
21843
21930
|
location: StorageLocationSchema,
|
|
21844
21931
|
relativePath: string()
|
|
21845
|
-
}), _void(), {
|
|
21932
|
+
}), _void(), {
|
|
21933
|
+
kind: "mutation",
|
|
21934
|
+
auth: "admin"
|
|
21935
|
+
}), method(object({ location: StorageLocationSchema }), number().nullable(), { auth: "admin" }), method(BeginUploadInputSchema, BeginUploadResultSchema, {
|
|
21936
|
+
kind: "mutation",
|
|
21937
|
+
auth: "admin"
|
|
21938
|
+
}), method(WriteChunkInputSchema, _void(), {
|
|
21939
|
+
kind: "mutation",
|
|
21940
|
+
auth: "admin"
|
|
21941
|
+
}), method(FinalizeUploadInputSchema, _void(), {
|
|
21942
|
+
kind: "mutation",
|
|
21943
|
+
auth: "admin"
|
|
21944
|
+
}), method(AbortUploadInputSchema, _void(), {
|
|
21945
|
+
kind: "mutation",
|
|
21946
|
+
auth: "admin"
|
|
21947
|
+
}), method(BeginDownloadInputSchema, BeginDownloadResultSchema, {
|
|
21948
|
+
kind: "mutation",
|
|
21949
|
+
auth: "admin"
|
|
21950
|
+
}), method(ReadChunkInputSchema, _instanceof(Uint8Array), { auth: "admin" }), method(EndDownloadInputSchema, _void(), {
|
|
21951
|
+
kind: "mutation",
|
|
21952
|
+
auth: "admin"
|
|
21953
|
+
});
|
|
21846
21954
|
/** Profile-exported FormBuilder schema. Shape is ConfigUISchema at the UI. */
|
|
21847
21955
|
var ProfileSettingsSchemaBridge = unknown().nullable();
|
|
21848
21956
|
var ProfileSettingsBagSchema = record(string(), unknown());
|
|
@@ -22100,7 +22208,8 @@ method(object({
|
|
|
22100
22208
|
access: "create"
|
|
22101
22209
|
}), method(object({ userId: string().optional() }), object({ optionsJSON: record(string(), unknown()) }), {
|
|
22102
22210
|
kind: "mutation",
|
|
22103
|
-
access: "view"
|
|
22211
|
+
access: "view",
|
|
22212
|
+
auth: "admin"
|
|
22104
22213
|
}), method(object({
|
|
22105
22214
|
/** Required — the user the assertion belongs to (verified). */
|
|
22106
22215
|
userId: string(),
|
|
@@ -22108,10 +22217,12 @@ method(object({
|
|
|
22108
22217
|
response: record(string(), unknown())
|
|
22109
22218
|
}), object({ verified: boolean() }), {
|
|
22110
22219
|
kind: "mutation",
|
|
22111
|
-
access: "view"
|
|
22220
|
+
access: "view",
|
|
22221
|
+
auth: "admin"
|
|
22112
22222
|
}), method(object({}), object({ optionsJSON: record(string(), unknown()) }), {
|
|
22113
22223
|
kind: "mutation",
|
|
22114
|
-
access: "view"
|
|
22224
|
+
access: "view",
|
|
22225
|
+
auth: "admin"
|
|
22115
22226
|
}), method(object({
|
|
22116
22227
|
/** AuthenticationResponseJSON from the browser. */
|
|
22117
22228
|
response: record(string(), unknown()) }), object({
|
|
@@ -22119,7 +22230,8 @@ response: record(string(), unknown()) }), object({
|
|
|
22119
22230
|
userId: string().nullable()
|
|
22120
22231
|
}), {
|
|
22121
22232
|
kind: "mutation",
|
|
22122
|
-
access: "view"
|
|
22233
|
+
access: "view",
|
|
22234
|
+
auth: "admin"
|
|
22123
22235
|
}), method(object({ userId: string() }), array(PasskeySummarySchema), { auth: "admin" }), method(object({
|
|
22124
22236
|
userId: string(),
|
|
22125
22237
|
credentialId: string()
|
|
@@ -22291,7 +22403,19 @@ var VectorStatsResultSchema = object({
|
|
|
22291
22403
|
/** False when the backend ranks approximately. */
|
|
22292
22404
|
exact: boolean()
|
|
22293
22405
|
});
|
|
22294
|
-
method(VectorDeclareIndexInputSchema, _void(), {
|
|
22406
|
+
method(VectorDeclareIndexInputSchema, _void(), {
|
|
22407
|
+
kind: "mutation",
|
|
22408
|
+
auth: "admin"
|
|
22409
|
+
}), method(VectorUpsertInputSchema, VectorUpsertResultSchema, {
|
|
22410
|
+
kind: "mutation",
|
|
22411
|
+
auth: "admin"
|
|
22412
|
+
}), method(VectorQueryInputSchema, VectorQueryResultSchema, { auth: "admin" }), method(VectorGetInputSchema, VectorGetResultSchema, { auth: "admin" }), method(VectorDeleteInputSchema, VectorDeleteResultSchema, {
|
|
22413
|
+
kind: "mutation",
|
|
22414
|
+
auth: "admin"
|
|
22415
|
+
}), method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, {
|
|
22416
|
+
kind: "mutation",
|
|
22417
|
+
auth: "admin"
|
|
22418
|
+
}), method(VectorStatsInputSchema, VectorStatsResultSchema, { auth: "admin" });
|
|
22295
22419
|
var ClipSchema = object({
|
|
22296
22420
|
/** Opaque, provider-namespaced id. The default provider encodes the time
|
|
22297
22421
|
* window so `getClipPlayback` is self-contained (no event re-query). */
|
|
@@ -24161,7 +24285,27 @@ var MediaFileLiteSchema$1 = object({
|
|
|
24161
24285
|
sizeBytes: number(),
|
|
24162
24286
|
timestamp: number()
|
|
24163
24287
|
});
|
|
24164
|
-
method(
|
|
24288
|
+
method(object({
|
|
24289
|
+
/**
|
|
24290
|
+
* Inline {@link IdentitySchema.coverBase64} on every row.
|
|
24291
|
+
*
|
|
24292
|
+
* Default `false`, the same inversion `listRecentFaces` and
|
|
24293
|
+
* `listPlates` took on 2026-08-25 (see `include-crops-default.ts` for
|
|
24294
|
+
* why the burden belongs on the caller that WANTS the bytes). Measured
|
|
24295
|
+
* on the live hub the same day: four identities cost 40,979 B with the
|
|
24296
|
+
* covers inline, ~10 KB of base64 per row, on a query this UI mounts
|
|
24297
|
+
* four times and the viewer holds at `staleTime: 30_000`.
|
|
24298
|
+
*
|
|
24299
|
+
* Nothing loses its avatar: `coverMediaKey` is already on every row and
|
|
24300
|
+
* the `event-media` plane serves that key `immutable` with an ETag.
|
|
24301
|
+
*
|
|
24302
|
+
* **This is an INPUT field, so it does not reach the addon until the
|
|
24303
|
+
* next train** — the hub router validates cap inputs against its own
|
|
24304
|
+
* compiled Zod and strips a key it does not know. Until then the
|
|
24305
|
+
* provider sees `undefined`, which resolves to `false`: the cheap shape
|
|
24306
|
+
* is what ships, and the opt-in becomes reachable when the train lands.
|
|
24307
|
+
*/
|
|
24308
|
+
includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly()), method(object({ name: string().min(1) }), IdentitySchema, {
|
|
24165
24309
|
kind: "mutation",
|
|
24166
24310
|
auth: "admin"
|
|
24167
24311
|
}), method(object({
|
|
@@ -26372,7 +26516,13 @@ method(object({
|
|
|
26372
26516
|
}), method(object({ plateId: string() }), _void(), {
|
|
26373
26517
|
kind: "mutation",
|
|
26374
26518
|
auth: "admin"
|
|
26375
|
-
}), method(
|
|
26519
|
+
}), method(object({
|
|
26520
|
+
/** Inline {@link VehicleSchema.coverBase64} on every row. Default
|
|
26521
|
+
* `false` — the vehicle twin of `faceGallery.listIdentities`'s
|
|
26522
|
+
* option; `coverMediaKey` + the `event-media` plane carry the picture.
|
|
26523
|
+
* INPUT field: stripped by the hub router until the train ships, which
|
|
26524
|
+
* resolves to `false` and is exactly the intended default. */
|
|
26525
|
+
includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly()), method(object({ name: string().min(1) }), VehicleSchema, {
|
|
26376
26526
|
kind: "mutation",
|
|
26377
26527
|
auth: "admin"
|
|
26378
26528
|
}), method(object({
|
|
@@ -31921,6 +32071,12 @@ Object.freeze({
|
|
|
31921
32071
|
addonId: null,
|
|
31922
32072
|
access: "create"
|
|
31923
32073
|
},
|
|
32074
|
+
"pipelineAnalytics.cancelRelocateMedia": {
|
|
32075
|
+
capName: "pipeline-analytics",
|
|
32076
|
+
capScope: "device",
|
|
32077
|
+
addonId: null,
|
|
32078
|
+
access: "create"
|
|
32079
|
+
},
|
|
31924
32080
|
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
31925
32081
|
capName: "pipeline-analytics",
|
|
31926
32082
|
capScope: "device",
|
|
@@ -32095,6 +32251,12 @@ Object.freeze({
|
|
|
32095
32251
|
addonId: null,
|
|
32096
32252
|
access: "view"
|
|
32097
32253
|
},
|
|
32254
|
+
"pipelineAnalytics.listRelocateMediaJobs": {
|
|
32255
|
+
capName: "pipeline-analytics",
|
|
32256
|
+
capScope: "device",
|
|
32257
|
+
addonId: null,
|
|
32258
|
+
access: "view"
|
|
32259
|
+
},
|
|
32098
32260
|
"pipelineAnalytics.listRetrainAnnotations": {
|
|
32099
32261
|
capName: "pipeline-analytics",
|
|
32100
32262
|
capScope: "device",
|
|
@@ -32173,6 +32335,12 @@ Object.freeze({
|
|
|
32173
32335
|
addonId: null,
|
|
32174
32336
|
access: "create"
|
|
32175
32337
|
},
|
|
32338
|
+
"pipelineAnalytics.relocateMedia": {
|
|
32339
|
+
capName: "pipeline-analytics",
|
|
32340
|
+
capScope: "device",
|
|
32341
|
+
addonId: null,
|
|
32342
|
+
access: "create"
|
|
32343
|
+
},
|
|
32176
32344
|
"pipelineAnalytics.restageRetrainTrack": {
|
|
32177
32345
|
capName: "pipeline-analytics",
|
|
32178
32346
|
capScope: "device",
|
package/dist/{event-loop-stall-monitor-BH-cL_hg.mjs → event-loop-stall-monitor-CtQCOZqm.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as hfModelUrl, a as COCO_80_LABELS, j as audioKindId, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-
|
|
1
|
+
import { K as hfModelUrl, a as COCO_80_LABELS, j as audioKindId, o as COCO_TO_MACRO, r as AUDIO_MACRO_LABELS } from "./dist-Wt81pN5Y.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { PerformanceObserver } from "node:perf_hooks";
|
|
4
4
|
//#region src/detection-pipeline/registry/model-catalogs.ts
|
|
@@ -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_lazy_sharp = require("../lazy-sharp-
|
|
5
|
+
const require_dist = require("../dist-DOw-izoI.js");
|
|
6
|
+
const require_lazy_sharp = require("../lazy-sharp-BbNI2ZD-.js");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
//#region src/motion-wasm/wasm-motion-detector.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dt as hydrateSchema, G as evaluateZoneRules, St as BaseAddon, Tt as DeviceType, X as motionDetectionCapability } from "../dist-
|
|
1
|
+
import { Dt as hydrateSchema, G as evaluateZoneRules, St as BaseAddon, Tt as DeviceType, X as motionDetectionCapability } from "../dist-Wt81pN5Y.mjs";
|
|
2
2
|
import { t as getSharp } from "../lazy-sharp-BtT5x-qP.mjs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { readFileSync } from "node:fs";
|
|
@@ -2,11 +2,11 @@ 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_event_loop_stall_monitor = require("../event-loop-stall-monitor-
|
|
7
|
-
const require_worker_protocol = require("../worker-protocol-
|
|
5
|
+
const require_dist = require("../dist-DOw-izoI.js");
|
|
6
|
+
const require_event_loop_stall_monitor = require("../event-loop-stall-monitor-Bld7jNCb.js");
|
|
7
|
+
const require_worker_protocol = require("../worker-protocol-nAZl_Rsv.js");
|
|
8
8
|
const require_hub_hostname = require("../hub-hostname-DAJXlOgV.js");
|
|
9
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
9
|
+
const require_lazy_sharp = require("../lazy-sharp-BbNI2ZD-.js");
|
|
10
10
|
const require_restream_intent = require("../restream-intent-Cv9x3jmu.js");
|
|
11
11
|
const require_remote_restream = require("../remote-restream-CO36Sr30.js");
|
|
12
12
|
let sharp = require("sharp");
|