@camstack/addon-admin-ui 1.2.98 → 1.2.100
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/assets/{AddLocationWizard-BH8qzKUS.js → AddLocationWizard-ww2FaZ1E.js} +1 -1
- package/dist/assets/{AddonCollectionPage-DBot-bgj.js → AddonCollectionPage-2an6cPDR.js} +1 -1
- package/dist/assets/Addons-Dnc-RXgM.js +1 -0
- package/dist/assets/{AdminTabs-Dk1eLBgE.js → AdminTabs-Bp6VWjqO.js} +1 -1
- package/dist/assets/AiProfiles-DpS2g7XY.js +3 -0
- package/dist/assets/{BrokerForm-GsfCv1ks.js → BrokerForm-MO0zLICQ.js} +1 -1
- package/dist/assets/{Build-D3dp29Pc.js → Build-C6grDXZj.js} +3 -3
- package/dist/assets/Capabilities-C1oKrOiJ.js +1 -0
- package/dist/assets/{CapabilityBadges-DGA5_XiI.js → CapabilityBadges-CQ8iNKjJ.js} +1 -1
- package/dist/assets/{Cluster-DV1zGnLF.js → Cluster-BlBr9mrc.js} +1 -1
- package/dist/assets/{Data-zSfgUsc7.js → Data-CbSER22j.js} +1 -1
- package/dist/assets/DetectionIntelligence-CZyeSCJf.js +1 -0
- package/dist/assets/{DeviceAggregateSection-BSMvAqDX.js → DeviceAggregateSection-DJUAmzyp.js} +1 -1
- package/dist/assets/{DeviceDetail-DH0vN28R.js → DeviceDetail-DmgBCV4a.js} +2 -2
- package/dist/assets/{Devices-BYXPSPMY.js → Devices-BrElFvY3.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-Chq0wty0.js → EmbedPlayerPage-4Ay_8z3U.js} +1 -1
- package/dist/assets/Events-KnLsawMq.js +1 -0
- package/dist/assets/FormBuilder-CEw554z0.js +1 -0
- package/dist/assets/{Identity-CQZ5NPpO.js → Identity-bGGI1QWE.js} +1 -1
- package/dist/assets/IntegrationDetail-eQjr_VZf.js +1 -0
- package/dist/assets/Integrations-CDOiRBS9.js +1 -0
- package/dist/assets/{Integrations-Defjpzw9.js → Integrations-R6vGB8m2.js} +1 -1
- package/dist/assets/{Logs-DvLobSoL.js → Logs-It8Tm5s9.js} +1 -1
- package/dist/assets/{MotionZonesSettings-B_MAiEkW.js → MotionZonesSettings-DwzHsRPk.js} +1 -1
- package/dist/assets/MyAccess-Bo811JUn.js +2 -0
- package/dist/assets/Network-B6zVgaCe.js +1 -0
- package/dist/assets/{NodeAddonsSettingsPanel-kZjm-up8.js → NodeAddonsSettingsPanel-hGBeOFYH.js} +1 -1
- package/dist/assets/{NodeInferenceDevices-CW1MDnBG.js → NodeInferenceDevices-BCmCXC5y.js} +1 -1
- package/dist/assets/Notifications-DSAFFXJr.js +1 -0
- package/dist/assets/{Pipeline-BBVvpBCd.js → Pipeline-BbnF9Ozb.js} +1 -1
- package/dist/assets/Plates-Ck6zc0jT.js +1 -0
- package/dist/assets/{PrivacyMaskSettings-axbq_wSU.js → PrivacyMaskSettings-B_z0irSV.js} +1 -1
- package/dist/assets/{ProviderIcon-DllNEady.js → ProviderIcon-DupRG1e9.js} +1 -1
- package/dist/assets/Recordings-BmEupF3w.js +1 -0
- package/dist/assets/{ScanNetworkModal-CW0yYE5R.js → ScanNetworkModal-D0r0hQ_h.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-Cq2t8wbg.js → SceneMonitorEditor-CGXIUSVs.js} +1 -1
- package/dist/assets/{Scenes-Xn6O5H7e.js → Scenes-BNeqc2nK.js} +1 -1
- package/dist/assets/{Settings-D9Vlv2hw.js → Settings-Bh1XKvEL.js} +1 -1
- package/dist/assets/{Showroom-Bp6aCuMd.js → Showroom-BzVgVZC7.js} +1 -1
- package/dist/assets/{Terminal-7vWKE2zb.js → Terminal-B58p5WIp.js} +4 -4
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DrOgR36u.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-TBqHL73f.js} +1 -1
- package/dist/assets/{bell-ring-D4Iz5fKj.js → bell-ring-DTczejZ4.js} +1 -1
- package/dist/assets/{boxes-BFsuQuon.js → boxes-C985Wrl0.js} +1 -1
- package/dist/assets/{build-cluster-graph-Cl_uvOCR.js → build-cluster-graph-CipaA_oB.js} +2 -2
- package/dist/assets/circle-check-big-Bj2tv0Uy.js +1 -0
- package/dist/assets/{circle-x-y_k7wCKw.js → circle-x-CDQw-Oki.js} +1 -1
- package/dist/assets/clock-BcKuptwD.js +1 -0
- package/dist/assets/{copy-BrVxemF7.js → copy-CAOXjD5r.js} +1 -1
- package/dist/assets/{debounced-invalidate-CNZ2w-7t.js → debounced-invalidate-DpIEFwPp.js} +1 -1
- package/dist/assets/dist-BHaLZy2_.js +349 -0
- package/dist/assets/{dist-C7L1HtAB.js → dist-CI4L7l-2.js} +1 -1
- package/dist/assets/{download-DPw0c0lm.js → download-CAJNFrAB.js} +1 -1
- package/dist/assets/face-bbox-BFgt9EZy.js +1 -0
- package/dist/assets/{hostInit-D5R1Qfsh.js → hostInit-CAD--nfI.js} +1 -1
- package/dist/assets/index-9YoL1cUW.css +2 -0
- package/dist/assets/index-KHEomj2t.js +4 -0
- package/dist/assets/{key-round-fO7JDI-O.js → key-round-D_sH_q8V.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-f566460e.js → mf-entry-bootstrap-0-c4e36f72.js} +2 -2
- package/dist/assets/{pencil-B4i0ErRE.js → pencil-CqqsHO49.js} +1 -1
- package/dist/assets/play-I3HZudQM.js +1 -0
- package/dist/assets/{player-overlays-DLbOIwJR.js → player-overlays-bbH94q-C.js} +1 -1
- package/dist/assets/plus-CJqabi49.js +1 -0
- package/dist/assets/power-txJcg2ZI.js +1 -0
- package/dist/assets/{radio-CxioeWPp.js → radio-Cug4imoO.js} +1 -1
- package/dist/assets/{refresh-cw-B8ABC_pB.js → refresh-cw-BGCphjMn.js} +1 -1
- package/dist/assets/remoteEntry-BG1pNM_r.js +1 -0
- package/dist/assets/rotate-ccw-h1d3r46-.js +1 -0
- package/dist/assets/rotate-cw-Bfa_vcNi.js +1 -0
- package/dist/assets/{send-BqmuTM7o.js → send-C5aDTEjJ.js} +1 -1
- package/dist/assets/{server-D9l8GGnn.js → server-3wNyeBU4.js} +1 -1
- package/dist/assets/{shield-B_7hlY3B.js → shield-DplCqcL2.js} +1 -1
- package/dist/assets/square-BTe4gnO3.js +1 -0
- package/dist/assets/{square-check-big-B8iw67nQ.js → square-check-big-DH3-Pa_W.js} +1 -1
- package/dist/assets/src-CEeJOwlR.js +349 -0
- package/dist/assets/src-D7V1-vUs.js +67 -0
- package/dist/assets/{star-BTw7N-6p.js → star-Y4-10BmL.js} +1 -1
- package/dist/assets/{undo-2-DG5MLTW-.js → undo-2-DEYHOb0E.js} +1 -1
- package/dist/assets/{upload-DAJfnCVB.js → upload-BtP3VBCU.js} +1 -1
- package/dist/assets/{use-scenes-feed-B6yeT27i.js → use-scenes-feed-BXzv1F4x.js} +1 -1
- package/dist/assets/useEventInvalidation-Bzw3MDRD.js +1 -0
- package/dist/assets/{video-D4j_U5zK.js → video-CXx7eETO.js} +1 -1
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-Di4hPkeF.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-DyH01HQs.js} +2 -2
- package/dist/assets/{wifi-BW00qcYq.js → wifi-ClKydJp-.js} +1 -1
- package/dist/assets/{zap-BSOiEhX4.js → zap-Dnj7qxTO.js} +1 -1
- package/dist/index.html +6 -6
- package/dist/server/addon.js +234 -77
- package/package.json +1 -1
- package/dist/assets/Addons-D9EFNHE1.js +0 -1
- package/dist/assets/AiProfiles-BQ_3LDPD.js +0 -3
- package/dist/assets/Capabilities-CoYla6oL.js +0 -1
- package/dist/assets/DetectionIntelligence-aHCL16Cy.js +0 -1
- package/dist/assets/Events-EROtLWJf.js +0 -1
- package/dist/assets/FormBuilder-C7GWtsAC.js +0 -1
- package/dist/assets/IntegrationDetail-CWL7rGIm.js +0 -1
- package/dist/assets/Integrations-DAIDYD8x.js +0 -1
- package/dist/assets/MyAccess-Ci2ZSSm5.js +0 -2
- package/dist/assets/Network-BovHq3wO.js +0 -1
- package/dist/assets/Notifications-C8I3Vz31.js +0 -1
- package/dist/assets/Plates-qD8BtBqF.js +0 -1
- package/dist/assets/Recordings-CzEDQqtj.js +0 -1
- package/dist/assets/circle-check-big-HrHc_ipL.js +0 -1
- package/dist/assets/clock-D2qlcgwd.js +0 -1
- package/dist/assets/dist-JjXjac1y.js +0 -349
- package/dist/assets/face-bbox-d1aWGz2s.js +0 -1
- package/dist/assets/index-DM8saR4E.css +0 -2
- package/dist/assets/index-iNi1Y7nh.js +0 -4
- package/dist/assets/play-BxkaaFOu.js +0 -1
- package/dist/assets/plus-DE5rskj6.js +0 -1
- package/dist/assets/power-CzV5Z-a_.js +0 -1
- package/dist/assets/remoteEntry-DXwp0vbz.js +0 -1
- package/dist/assets/rotate-ccw-CD3wu9ON.js +0 -1
- package/dist/assets/rotate-cw-8vMRQVny.js +0 -1
- package/dist/assets/search-Dia6mspm.js +0 -1
- package/dist/assets/square-Cj45Ro71.js +0 -1
- package/dist/assets/src-CQrwlltP.js +0 -349
- package/dist/assets/src-UiaZA05p.js +0 -67
- package/dist/assets/useEventInvalidation-D7ElHW62.js +0 -1
package/dist/server/addon.js
CHANGED
|
@@ -6631,7 +6631,7 @@ function method(input, output, options) {
|
|
|
6631
6631
|
input,
|
|
6632
6632
|
output,
|
|
6633
6633
|
kind: options?.kind ?? "query",
|
|
6634
|
-
auth: options
|
|
6634
|
+
...options?.auth !== void 0 ? { auth: options.auth } : {},
|
|
6635
6635
|
...options?.access !== void 0 ? { access: options.access } : {},
|
|
6636
6636
|
...options?.caller !== void 0 ? { caller: options.caller } : {},
|
|
6637
6637
|
timeoutMs: options?.timeoutMs
|
|
@@ -6657,8 +6657,17 @@ var adminUiCapability = {
|
|
|
6657
6657
|
mode: "singleton",
|
|
6658
6658
|
internal: true,
|
|
6659
6659
|
methods: {
|
|
6660
|
-
|
|
6661
|
-
|
|
6660
|
+
/**
|
|
6661
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
6662
|
+
* `data-store-provider`) — both methods were reachable on the AppRouter
|
|
6663
|
+
* by ANY authenticated session at the default `auth: 'protected'`, and
|
|
6664
|
+
* `getStaticDir` leaks a hub filesystem path. The only caller is
|
|
6665
|
+
* `main.ts`'s static-file bootstrap, via `capRegistry.getSingletonForNode`
|
|
6666
|
+
* — never tRPC — so `auth: 'admin'` costs it nothing. The actual admin-ui
|
|
6667
|
+
* SPA assets are served as plain static files, unaffected by this gate.
|
|
6668
|
+
*/
|
|
6669
|
+
getStaticDir: method(_void(), StaticDirOutputSchema$1, { auth: "admin" }),
|
|
6670
|
+
getVersion: method(_void(), VersionOutputSchema$1, { auth: "admin" })
|
|
6662
6671
|
}
|
|
6663
6672
|
};
|
|
6664
6673
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
@@ -6981,7 +6990,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
6981
6990
|
}({});
|
|
6982
6991
|
var StaticDirOutputSchema = object({ staticDir: string() });
|
|
6983
6992
|
var VersionOutputSchema = object({ version: string() });
|
|
6984
|
-
method(_void(), StaticDirOutputSchema), method(_void(), VersionOutputSchema);
|
|
6993
|
+
method(_void(), StaticDirOutputSchema, { auth: "admin" }), method(_void(), VersionOutputSchema, { auth: "admin" });
|
|
6985
6994
|
/**
|
|
6986
6995
|
* device-ops — device-scoped cap that unifies the per-IDevice operations
|
|
6987
6996
|
* previously routed through the `.device-ops` Moleculer bridge service.
|
|
@@ -7595,24 +7604,6 @@ var RecordingRetentionSchema = object({
|
|
|
7595
7604
|
maxSizeGb: number().min(0).optional()
|
|
7596
7605
|
});
|
|
7597
7606
|
/**
|
|
7598
|
-
* Scrub-thumbnail fidelity preset — the single per-camera selector bundling the
|
|
7599
|
-
* sprite tile RESOLUTION + JPEG QUALITY the recorder packs timeline-scrub
|
|
7600
|
-
* previews at. Five graduated steps; absent on a config = `standard` (the
|
|
7601
|
-
* shipped default, matching `sheet-geometry`/`sheet-composer`).
|
|
7602
|
-
*
|
|
7603
|
-
* Existing sheets are IMMUTABLE — a changed preset applies to NEW windows only.
|
|
7604
|
-
* Each window's index sidecar carries its own tile dims, so a camera whose
|
|
7605
|
-
* preset changed over time renders every historical window at the dims it was
|
|
7606
|
-
* written with.
|
|
7607
|
-
*/
|
|
7608
|
-
var ScrubThumbnailPresetSchema = _enum([
|
|
7609
|
-
"minimal",
|
|
7610
|
-
"low",
|
|
7611
|
-
"standard",
|
|
7612
|
-
"high",
|
|
7613
|
-
"max"
|
|
7614
|
-
]);
|
|
7615
|
-
/**
|
|
7616
7607
|
* The full per-camera recording intent — the wire shape of a RecordingTarget.
|
|
7617
7608
|
*
|
|
7618
7609
|
* `bands` is the ONLY authored recording intent: what to record, when, and on
|
|
@@ -7620,7 +7611,11 @@ var ScrubThumbnailPresetSchema = _enum([
|
|
|
7620
7611
|
* other field is a storage knob (profiles, segment length, retention, scrub).
|
|
7621
7612
|
*
|
|
7622
7613
|
* STRICT on purpose: the legacy authoring surface (`schedule`/`schedules`/
|
|
7623
|
-
* `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30
|
|
7614
|
+
* `triggers`/`preBufferSec`/`postBufferSec`/`rules`) was retired 2026-07-30,
|
|
7615
|
+
* and `scrubThumbnails` — a five-step fidelity knob for a sprite tier that was
|
|
7616
|
+
* deleted on 2026-07-24 and had ZERO consumers in the recorder — on 2026-08-25
|
|
7617
|
+
* (D62: a switch that writes a store nobody reads is worse than no switch).
|
|
7618
|
+
* Stored rows keep loading: the READ schema is `.strip()` (config-store.ts).
|
|
7624
7619
|
* A stale caller must fail loudly — silently stripping its legacy intent would
|
|
7625
7620
|
* persist a band-less config, i.e. silently stop recording the camera.
|
|
7626
7621
|
*/
|
|
@@ -7643,14 +7638,7 @@ var RecordingConfigSchema = object({
|
|
|
7643
7638
|
* "off" is the absence of a covering band, never a band value.
|
|
7644
7639
|
*/
|
|
7645
7640
|
bands: array(RecordingBandSchema).default([]),
|
|
7646
|
-
retention: RecordingRetentionSchema.optional()
|
|
7647
|
-
/**
|
|
7648
|
-
* Per-camera scrub-thumbnail fidelity preset (resolution + JPEG quality for
|
|
7649
|
-
* timeline-scrub sprite previews). Absent = `standard`. Applies to NEW
|
|
7650
|
-
* windows only — existing sheets are immutable, and each window's index
|
|
7651
|
-
* carries its own tile dims so mixed-preset history renders correctly.
|
|
7652
|
-
*/
|
|
7653
|
-
scrubThumbnails: ScrubThumbnailPresetSchema.optional()
|
|
7641
|
+
retention: RecordingRetentionSchema.optional()
|
|
7654
7642
|
}).strict();
|
|
7655
7643
|
/**
|
|
7656
7644
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
@@ -7726,10 +7714,11 @@ var RelocateFootageInputSchema = object({
|
|
|
7726
7714
|
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7727
7715
|
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7728
7716
|
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7729
|
-
var
|
|
7717
|
+
var RelocateMediaInputSchema = object({
|
|
7730
7718
|
toLocationId: string(),
|
|
7731
7719
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7732
|
-
})
|
|
7720
|
+
});
|
|
7721
|
+
var StorageMigrationMediaMoveInputSchema = RelocateMediaInputSchema.extend({ leaseId: string().min(1) });
|
|
7733
7722
|
/** The independently selectable logical storage classes. `recordings`
|
|
7734
7723
|
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7735
7724
|
* segments; `eventMedia` is post-analysis blobs. */
|
|
@@ -8024,7 +8013,26 @@ var LabelDefinitionSchema = object({
|
|
|
8024
8013
|
description: string().optional(),
|
|
8025
8014
|
icon: string().optional()
|
|
8026
8015
|
});
|
|
8027
|
-
|
|
8016
|
+
/**
|
|
8017
|
+
* Wire schema for a per-model CATALOG classMap override
|
|
8018
|
+
* (`ModelCatalogEntry.classMap` / `ModelConvertMetadata.classMap`) —
|
|
8019
|
+
* restricted to {@link CLASS_MAP_MACRO_TARGETS}, the only macros the
|
|
8020
|
+
* detection pipeline executor actually routes.
|
|
8021
|
+
*
|
|
8022
|
+
* This is deliberately a DIFFERENT, narrower shape than the general-purpose
|
|
8023
|
+
* `ClassMapDefinition` interface above (e.g. `IDetectionAddon.getClassMap()`
|
|
8024
|
+
* and the audio `YAMNET_TO_MACRO` catalog both use macro targets outside this
|
|
8025
|
+
* enum) — the two used to share the name `ClassMapDefinition`/
|
|
8026
|
+
* `ClassMapDefinitionSchema`, which made the schema-type-twin guard
|
|
8027
|
+
* (`scripts/check-schema-type-twins.ts`) flag them as a duplicated shape. They
|
|
8028
|
+
* are not: it is two different concepts colliding on a name. Keep this type
|
|
8029
|
+
* under its own name rather than reusing `ClassMapDefinition` — reusing it
|
|
8030
|
+
* would either narrow every `ClassMapDefinition` consumer to the four
|
|
8031
|
+
* detection macros (breaking `YAMNET_TO_MACRO`) or drop the validation this
|
|
8032
|
+
* schema exists for (see the "rejects a classMap whose target is not a
|
|
8033
|
+
* detection macro" test in `model-catalog-schema.test.ts`).
|
|
8034
|
+
*/
|
|
8035
|
+
var DetectionCatalogClassMapSchema = object({
|
|
8028
8036
|
mapping: record(string(), _enum([
|
|
8029
8037
|
"person",
|
|
8030
8038
|
"vehicle",
|
|
@@ -8229,7 +8237,7 @@ var ModelCatalogEntrySchema = object({
|
|
|
8229
8237
|
* applies (Frigate / COCO public catalog). Set on a custom model whose raw
|
|
8230
8238
|
* labels already ARE the CamStack macros (Scrypted identity map).
|
|
8231
8239
|
*/
|
|
8232
|
-
classMap:
|
|
8240
|
+
classMap: DetectionCatalogClassMapSchema.optional()
|
|
8233
8241
|
});
|
|
8234
8242
|
var ConvertTargetSchema = discriminatedUnion("format", [object({
|
|
8235
8243
|
format: literal("openvino"),
|
|
@@ -8259,7 +8267,7 @@ var ModelConvertMetadataSchema = object({
|
|
|
8259
8267
|
"segmentation"
|
|
8260
8268
|
]),
|
|
8261
8269
|
faceAlignment: boolean().optional(),
|
|
8262
|
-
classMap:
|
|
8270
|
+
classMap: DetectionCatalogClassMapSchema.optional()
|
|
8263
8271
|
});
|
|
8264
8272
|
var ConvertResultSchema = object({
|
|
8265
8273
|
entry: ModelCatalogEntrySchema,
|
|
@@ -9122,7 +9130,7 @@ var AddonPageDeclarationSchema = object({
|
|
|
9122
9130
|
/** Display label for a CUSTOM `section` id (ignored for well-known ids). */
|
|
9123
9131
|
sectionLabel: string().optional()
|
|
9124
9132
|
});
|
|
9125
|
-
method(_void(), array(AddonPageDeclarationSchema).readonly());
|
|
9133
|
+
method(_void(), array(AddonPageDeclarationSchema).readonly(), { auth: "admin" });
|
|
9126
9134
|
var AddonHttpRouteSchema = object({
|
|
9127
9135
|
method: _enum([
|
|
9128
9136
|
"GET",
|
|
@@ -9357,7 +9365,7 @@ var WidgetMetadataSchema = object({
|
|
|
9357
9365
|
defaultColumns: number().int().min(1).max(12).default(6),
|
|
9358
9366
|
defaultRows: number().int().min(1).max(12).default(1)
|
|
9359
9367
|
});
|
|
9360
|
-
method(_void(), array(WidgetMetadataSchema).readonly());
|
|
9368
|
+
method(_void(), array(WidgetMetadataSchema).readonly(), { auth: "admin" });
|
|
9361
9369
|
/**
|
|
9362
9370
|
* `addon-widgets` — system-scoped singleton aggregator cap. Public-facing
|
|
9363
9371
|
* surface that admin-ui consumes through `useAddonWidgetsListWidgets()`.
|
|
@@ -10879,7 +10887,7 @@ var CustomModelDescriptorSchema = object({
|
|
|
10879
10887
|
stepId: string(),
|
|
10880
10888
|
entry: ModelCatalogEntrySchema
|
|
10881
10889
|
});
|
|
10882
|
-
method(_void(), array(CustomModelDescriptorSchema).readonly());
|
|
10890
|
+
method(_void(), array(CustomModelDescriptorSchema).readonly(), { auth: "admin" });
|
|
10883
10891
|
/**
|
|
10884
10892
|
* Query filter for settings-store collections.
|
|
10885
10893
|
*/
|
|
@@ -10966,7 +10974,8 @@ method(object({
|
|
|
10966
10974
|
}), _void(), { kind: "mutation" }), method(object({
|
|
10967
10975
|
namespace: string().optional(),
|
|
10968
10976
|
collection: string(),
|
|
10969
|
-
filter: QueryFilterSchema.optional()
|
|
10977
|
+
filter: QueryFilterSchema.optional(),
|
|
10978
|
+
columns: array(string()).readonly().optional()
|
|
10970
10979
|
}), array(SettingsRecordSchema).readonly()), method(object({
|
|
10971
10980
|
namespace: string().optional(),
|
|
10972
10981
|
collection: string(),
|
|
@@ -11029,46 +11038,87 @@ var EngineInfoSchema = object({
|
|
|
11029
11038
|
kind: _enum(["relational", "vector"]),
|
|
11030
11039
|
displayName: string()
|
|
11031
11040
|
});
|
|
11032
|
-
method(_void(), EngineInfoSchema), method(object({
|
|
11041
|
+
method(_void(), EngineInfoSchema, { auth: "admin" }), method(object({
|
|
11033
11042
|
namespace: string().optional(),
|
|
11034
11043
|
collection: string(),
|
|
11035
11044
|
key: string()
|
|
11036
|
-
}), unknown()), method(object({
|
|
11045
|
+
}), unknown(), { auth: "admin" }), method(object({
|
|
11037
11046
|
namespace: string().optional(),
|
|
11038
11047
|
collection: string(),
|
|
11039
11048
|
key: string(),
|
|
11040
11049
|
value: unknown()
|
|
11041
|
-
}), _void(), {
|
|
11050
|
+
}), _void(), {
|
|
11051
|
+
kind: "mutation",
|
|
11052
|
+
auth: "admin"
|
|
11053
|
+
}), method(object({
|
|
11042
11054
|
namespace: string().optional(),
|
|
11043
11055
|
collection: string(),
|
|
11044
|
-
filter: QueryFilterSchema.optional()
|
|
11045
|
-
|
|
11056
|
+
filter: QueryFilterSchema.optional(),
|
|
11057
|
+
/**
|
|
11058
|
+
* SQL-level column projection — MUST mirror `settings-store.query`.
|
|
11059
|
+
*
|
|
11060
|
+
* ⚠ An earlier version of this comment blamed Zod stripping, and that
|
|
11061
|
+
* was wrong — corrected 2026-08-26 after the hop map
|
|
11062
|
+
* (`docs/design/2026-08-26-mappa-hop-argomenti.md`) traced the path.
|
|
11063
|
+
* There is **no Zod parse at all** between the door and the engine: the
|
|
11064
|
+
* dispatcher forwards the payload verbatim and UDS carries it whole. A
|
|
11065
|
+
* field declared here reaches `SqliteSettingsBackend` either way.
|
|
11066
|
+
*
|
|
11067
|
+
* What actually lost `columns` was the THIRD declaration of this shape:
|
|
11068
|
+
* `SettingsQueryInput` in `interfaces/storage.ts`, a hand-written TS
|
|
11069
|
+
* interface the engine destructures from. The field existed on both
|
|
11070
|
+
* schemas and the engine still never read it, because nothing checks a
|
|
11071
|
+
* registered provider against `InferProvider<cap>` —
|
|
11072
|
+
* `ProviderRegistration.provider` is typed `object`.
|
|
11073
|
+
*
|
|
11074
|
+
* It is declared here anyway, and must stay in step with
|
|
11075
|
+
* `settings-store.query`: a caller reading only the cap definitions has
|
|
11076
|
+
* to be able to see that this call carries a projection.
|
|
11077
|
+
* `data-door-schema-parity.spec.ts` keeps the two aligned.
|
|
11078
|
+
*/
|
|
11079
|
+
columns: array(string()).readonly().optional()
|
|
11080
|
+
}), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
|
|
11046
11081
|
namespace: string().optional(),
|
|
11047
11082
|
collection: string(),
|
|
11048
11083
|
record: SettingsRecordSchema
|
|
11049
|
-
}), _void(), {
|
|
11084
|
+
}), _void(), {
|
|
11085
|
+
kind: "mutation",
|
|
11086
|
+
auth: "admin"
|
|
11087
|
+
}), method(object({
|
|
11050
11088
|
namespace: string().optional(),
|
|
11051
11089
|
collection: string(),
|
|
11052
11090
|
id: string(),
|
|
11053
11091
|
data: record(string(), unknown())
|
|
11054
|
-
}), _void(), {
|
|
11092
|
+
}), _void(), {
|
|
11093
|
+
kind: "mutation",
|
|
11094
|
+
auth: "admin"
|
|
11095
|
+
}), method(object({
|
|
11055
11096
|
namespace: string().optional(),
|
|
11056
11097
|
collection: string(),
|
|
11057
11098
|
key: string()
|
|
11058
|
-
}), _void(), {
|
|
11099
|
+
}), _void(), {
|
|
11100
|
+
kind: "mutation",
|
|
11101
|
+
auth: "admin"
|
|
11102
|
+
}), method(object({
|
|
11059
11103
|
namespace: string().optional(),
|
|
11060
11104
|
collection: string(),
|
|
11061
11105
|
filter: MutationFilterSchema
|
|
11062
|
-
}), object({ deleted: number().int() }), {
|
|
11106
|
+
}), object({ deleted: number().int() }), {
|
|
11107
|
+
kind: "mutation",
|
|
11108
|
+
auth: "admin"
|
|
11109
|
+
}), method(object({
|
|
11063
11110
|
namespace: string().optional(),
|
|
11064
11111
|
collection: string(),
|
|
11065
11112
|
filter: MutationFilterSchema,
|
|
11066
11113
|
data: record(string(), unknown())
|
|
11067
|
-
}), object({ updated: number().int() }), {
|
|
11114
|
+
}), object({ updated: number().int() }), {
|
|
11115
|
+
kind: "mutation",
|
|
11116
|
+
auth: "admin"
|
|
11117
|
+
}), method(object({
|
|
11068
11118
|
namespace: string().optional(),
|
|
11069
11119
|
collection: string(),
|
|
11070
11120
|
filter: QueryFilterSchema.optional()
|
|
11071
|
-
}), number()), method(object({
|
|
11121
|
+
}), number(), { auth: "admin" }), method(object({
|
|
11072
11122
|
namespace: string().optional(),
|
|
11073
11123
|
collection: string(),
|
|
11074
11124
|
field: string(),
|
|
@@ -11078,15 +11128,18 @@ method(_void(), EngineInfoSchema), method(object({
|
|
|
11078
11128
|
}), array(object({
|
|
11079
11129
|
bucket: number().int(),
|
|
11080
11130
|
count: number().int()
|
|
11081
|
-
})).readonly()), method(object({
|
|
11131
|
+
})).readonly(), { auth: "admin" }), method(object({
|
|
11082
11132
|
namespace: string().optional(),
|
|
11083
11133
|
collection: string()
|
|
11084
|
-
}), boolean()), method(object({
|
|
11134
|
+
}), boolean(), { auth: "admin" }), method(object({
|
|
11085
11135
|
namespace: string().optional(),
|
|
11086
11136
|
collection: string(),
|
|
11087
11137
|
columns: array(CollectionColumnSchema).readonly(),
|
|
11088
11138
|
indexes: array(CollectionIndexSchema).readonly().optional()
|
|
11089
|
-
}), _void(), {
|
|
11139
|
+
}), _void(), {
|
|
11140
|
+
kind: "mutation",
|
|
11141
|
+
auth: "admin"
|
|
11142
|
+
});
|
|
11090
11143
|
/**
|
|
11091
11144
|
* shm ring usage stats for a `frameSink: 'shm'` decoder session —
|
|
11092
11145
|
* exposed via `decoder.getShmStats` so downstream consumers can
|
|
@@ -12214,7 +12267,7 @@ method(object({
|
|
|
12214
12267
|
crop: _instanceof(Uint8Array),
|
|
12215
12268
|
width: number(),
|
|
12216
12269
|
height: number()
|
|
12217
|
-
}), EmbeddingResultSchema), method(object({ text: string() }), EmbeddingResultSchema), method(_void(), EmbeddingInfoSchema);
|
|
12270
|
+
}), EmbeddingResultSchema, { auth: "admin" }), method(object({ text: string() }), EmbeddingResultSchema, { auth: "admin" }), method(_void(), EmbeddingInfoSchema, { auth: "admin" });
|
|
12218
12271
|
/**
|
|
12219
12272
|
* filesystem-browse — per-node capability for browsing the node's local
|
|
12220
12273
|
* filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
|
|
@@ -12507,19 +12560,22 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
12507
12560
|
runtime: ManagedRuntimeConfigSchema,
|
|
12508
12561
|
/** The managed profile's timeout, threaded by the hub provider. */
|
|
12509
12562
|
timeoutMs: number().int().positive().optional()
|
|
12510
|
-
}), LlmGenerateResultSchema, {
|
|
12563
|
+
}), LlmGenerateResultSchema, {
|
|
12564
|
+
kind: "mutation",
|
|
12565
|
+
auth: "admin"
|
|
12566
|
+
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
12511
12567
|
kind: "mutation",
|
|
12512
12568
|
auth: "admin"
|
|
12513
12569
|
}), method(object({}), _void(), {
|
|
12514
12570
|
kind: "mutation",
|
|
12515
12571
|
auth: "admin"
|
|
12516
|
-
}), method(object({}), LlmRuntimeStatusSchema), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
12572
|
+
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
12517
12573
|
kind: "mutation",
|
|
12518
12574
|
auth: "admin"
|
|
12519
12575
|
}), method(object({ file: string() }), _void(), {
|
|
12520
12576
|
kind: "mutation",
|
|
12521
12577
|
auth: "admin"
|
|
12522
|
-
}), method(object({}), array(LlmNodeModelSchema)), method(object({}), LlmRuntimeDiskUsageSchema);
|
|
12578
|
+
}), method(object({}), array(LlmNodeModelSchema), { auth: "admin" }), method(object({}), LlmRuntimeDiskUsageSchema, { auth: "admin" });
|
|
12523
12579
|
/**
|
|
12524
12580
|
* `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
|
|
12525
12581
|
* methods concat-fan across providers; single-row methods route to ONE
|
|
@@ -15992,7 +16048,7 @@ var OauthIntegrationDescriptorSchema = object({
|
|
|
15992
16048
|
*/
|
|
15993
16049
|
refreshTokenTtlSec: union([number().int().positive(), literal("never")]).optional()
|
|
15994
16050
|
});
|
|
15995
|
-
method(_void(), OauthIntegrationDescriptorSchema);
|
|
16051
|
+
method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
|
|
15996
16052
|
/**
|
|
15997
16053
|
* pipeline-analytics — device-scoped wrapper cap. Refines raw
|
|
15998
16054
|
* per-frame detections emitted by the pipeline runner into tracked
|
|
@@ -17187,6 +17243,15 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17187
17243
|
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17188
17244
|
kind: "mutation",
|
|
17189
17245
|
auth: "admin"
|
|
17246
|
+
}), method(RelocateMediaInputSchema, object({ jobId: string() }), {
|
|
17247
|
+
kind: "mutation",
|
|
17248
|
+
auth: "admin"
|
|
17249
|
+
}), method(object({}), array(RelocateJobSchema).readonly(), {
|
|
17250
|
+
kind: "query",
|
|
17251
|
+
auth: "admin"
|
|
17252
|
+
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
17253
|
+
kind: "mutation",
|
|
17254
|
+
auth: "admin"
|
|
17190
17255
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
17191
17256
|
kind: "query",
|
|
17192
17257
|
auth: "admin"
|
|
@@ -17341,6 +17406,11 @@ object({
|
|
|
17341
17406
|
"jpeg"
|
|
17342
17407
|
])
|
|
17343
17408
|
});
|
|
17409
|
+
/**
|
|
17410
|
+
* Process-local frame identity. It is serializable so it can ride an in-process
|
|
17411
|
+
* capability call, but `registryId` deliberately prevents resolution in any
|
|
17412
|
+
* other process or execution group.
|
|
17413
|
+
*/
|
|
17344
17414
|
var FrameRefSchema = object({
|
|
17345
17415
|
registryId: string().min(1),
|
|
17346
17416
|
id: string().min(1),
|
|
@@ -19506,7 +19576,7 @@ method(object({
|
|
|
19506
19576
|
* linking rather than produce an eternal token.
|
|
19507
19577
|
*/
|
|
19508
19578
|
ttlSec: union([number().int().positive(), literal("never")]).optional()
|
|
19509
|
-
}), object({ token: string() })), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable());
|
|
19579
|
+
}), object({ token: string() }), { auth: "admin" }), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable(), { auth: "admin" });
|
|
19510
19580
|
var ProviderListEntrySchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
19511
19581
|
providerId: string().min(1),
|
|
19512
19582
|
displayName: string().min(1),
|
|
@@ -19601,10 +19671,13 @@ var EvictResultSchema = object({
|
|
|
19601
19671
|
/** True when the provider has nothing left it is willing to drop on this location. */
|
|
19602
19672
|
exhausted: boolean()
|
|
19603
19673
|
});
|
|
19604
|
-
method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
19674
|
+
method(object({ locationId: string() }), EvictableUsageSchema, { auth: "admin" }), method(object({
|
|
19605
19675
|
locationId: string(),
|
|
19606
19676
|
targetBytes: number().int().positive()
|
|
19607
|
-
}), EvictResultSchema, {
|
|
19677
|
+
}), EvictResultSchema, {
|
|
19678
|
+
kind: "mutation",
|
|
19679
|
+
auth: "admin"
|
|
19680
|
+
});
|
|
19608
19681
|
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
19609
19682
|
kind: "mutation",
|
|
19610
19683
|
auth: "admin"
|
|
@@ -19664,26 +19737,50 @@ var ReadChunkInputSchema = object({
|
|
|
19664
19737
|
length: number()
|
|
19665
19738
|
});
|
|
19666
19739
|
var EndDownloadInputSchema = object({ downloadId: string() });
|
|
19667
|
-
method(_void(), ProviderInfoSchema), method(object({ config: record(string(), unknown()) }), TestLocationResultSchema, { auth: "admin" }), method(object({
|
|
19740
|
+
method(_void(), ProviderInfoSchema, { auth: "admin" }), method(object({ config: record(string(), unknown()) }), TestLocationResultSchema, { auth: "admin" }), method(object({
|
|
19668
19741
|
location: StorageLocationSchema,
|
|
19669
19742
|
relativePath: string()
|
|
19670
|
-
}), string()), method(object({
|
|
19743
|
+
}), string(), { auth: "admin" }), method(object({
|
|
19671
19744
|
location: StorageLocationSchema,
|
|
19672
19745
|
relativePath: string(),
|
|
19673
19746
|
data: _instanceof(Uint8Array)
|
|
19674
|
-
}), _void(), {
|
|
19747
|
+
}), _void(), {
|
|
19748
|
+
kind: "mutation",
|
|
19749
|
+
auth: "admin"
|
|
19750
|
+
}), method(object({
|
|
19675
19751
|
location: StorageLocationSchema,
|
|
19676
19752
|
relativePath: string()
|
|
19677
|
-
}), _instanceof(Uint8Array)), method(object({
|
|
19753
|
+
}), _instanceof(Uint8Array), { auth: "admin" }), method(object({
|
|
19678
19754
|
location: StorageLocationSchema,
|
|
19679
19755
|
relativePath: string()
|
|
19680
|
-
}), boolean()), method(object({
|
|
19756
|
+
}), boolean(), { auth: "admin" }), method(object({
|
|
19681
19757
|
location: StorageLocationSchema,
|
|
19682
19758
|
prefix: string().optional()
|
|
19683
|
-
}), array(string()).readonly()), method(object({
|
|
19759
|
+
}), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
19684
19760
|
location: StorageLocationSchema,
|
|
19685
19761
|
relativePath: string()
|
|
19686
|
-
}), _void(), {
|
|
19762
|
+
}), _void(), {
|
|
19763
|
+
kind: "mutation",
|
|
19764
|
+
auth: "admin"
|
|
19765
|
+
}), method(object({ location: StorageLocationSchema }), number().nullable(), { auth: "admin" }), method(BeginUploadInputSchema, BeginUploadResultSchema, {
|
|
19766
|
+
kind: "mutation",
|
|
19767
|
+
auth: "admin"
|
|
19768
|
+
}), method(WriteChunkInputSchema, _void(), {
|
|
19769
|
+
kind: "mutation",
|
|
19770
|
+
auth: "admin"
|
|
19771
|
+
}), method(FinalizeUploadInputSchema, _void(), {
|
|
19772
|
+
kind: "mutation",
|
|
19773
|
+
auth: "admin"
|
|
19774
|
+
}), method(AbortUploadInputSchema, _void(), {
|
|
19775
|
+
kind: "mutation",
|
|
19776
|
+
auth: "admin"
|
|
19777
|
+
}), method(BeginDownloadInputSchema, BeginDownloadResultSchema, {
|
|
19778
|
+
kind: "mutation",
|
|
19779
|
+
auth: "admin"
|
|
19780
|
+
}), method(ReadChunkInputSchema, _instanceof(Uint8Array), { auth: "admin" }), method(EndDownloadInputSchema, _void(), {
|
|
19781
|
+
kind: "mutation",
|
|
19782
|
+
auth: "admin"
|
|
19783
|
+
});
|
|
19687
19784
|
/** Profile-exported FormBuilder schema. Shape is ConfigUISchema at the UI. */
|
|
19688
19785
|
var ProfileSettingsSchemaBridge = unknown().nullable();
|
|
19689
19786
|
var ProfileSettingsBagSchema = record(string(), unknown());
|
|
@@ -19941,7 +20038,8 @@ method(object({
|
|
|
19941
20038
|
access: "create"
|
|
19942
20039
|
}), method(object({ userId: string().optional() }), object({ optionsJSON: record(string(), unknown()) }), {
|
|
19943
20040
|
kind: "mutation",
|
|
19944
|
-
access: "view"
|
|
20041
|
+
access: "view",
|
|
20042
|
+
auth: "admin"
|
|
19945
20043
|
}), method(object({
|
|
19946
20044
|
/** Required — the user the assertion belongs to (verified). */
|
|
19947
20045
|
userId: string(),
|
|
@@ -19949,10 +20047,12 @@ method(object({
|
|
|
19949
20047
|
response: record(string(), unknown())
|
|
19950
20048
|
}), object({ verified: boolean() }), {
|
|
19951
20049
|
kind: "mutation",
|
|
19952
|
-
access: "view"
|
|
20050
|
+
access: "view",
|
|
20051
|
+
auth: "admin"
|
|
19953
20052
|
}), method(object({}), object({ optionsJSON: record(string(), unknown()) }), {
|
|
19954
20053
|
kind: "mutation",
|
|
19955
|
-
access: "view"
|
|
20054
|
+
access: "view",
|
|
20055
|
+
auth: "admin"
|
|
19956
20056
|
}), method(object({
|
|
19957
20057
|
/** AuthenticationResponseJSON from the browser. */
|
|
19958
20058
|
response: record(string(), unknown()) }), object({
|
|
@@ -19960,7 +20060,8 @@ response: record(string(), unknown()) }), object({
|
|
|
19960
20060
|
userId: string().nullable()
|
|
19961
20061
|
}), {
|
|
19962
20062
|
kind: "mutation",
|
|
19963
|
-
access: "view"
|
|
20063
|
+
access: "view",
|
|
20064
|
+
auth: "admin"
|
|
19964
20065
|
}), method(object({ userId: string() }), array(PasskeySummarySchema), { auth: "admin" }), method(object({
|
|
19965
20066
|
userId: string(),
|
|
19966
20067
|
credentialId: string()
|
|
@@ -20132,7 +20233,19 @@ var VectorStatsResultSchema = object({
|
|
|
20132
20233
|
/** False when the backend ranks approximately. */
|
|
20133
20234
|
exact: boolean()
|
|
20134
20235
|
});
|
|
20135
|
-
method(VectorDeclareIndexInputSchema, _void(), {
|
|
20236
|
+
method(VectorDeclareIndexInputSchema, _void(), {
|
|
20237
|
+
kind: "mutation",
|
|
20238
|
+
auth: "admin"
|
|
20239
|
+
}), method(VectorUpsertInputSchema, VectorUpsertResultSchema, {
|
|
20240
|
+
kind: "mutation",
|
|
20241
|
+
auth: "admin"
|
|
20242
|
+
}), method(VectorQueryInputSchema, VectorQueryResultSchema, { auth: "admin" }), method(VectorGetInputSchema, VectorGetResultSchema, { auth: "admin" }), method(VectorDeleteInputSchema, VectorDeleteResultSchema, {
|
|
20243
|
+
kind: "mutation",
|
|
20244
|
+
auth: "admin"
|
|
20245
|
+
}), method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, {
|
|
20246
|
+
kind: "mutation",
|
|
20247
|
+
auth: "admin"
|
|
20248
|
+
}), method(VectorStatsInputSchema, VectorStatsResultSchema, { auth: "admin" });
|
|
20136
20249
|
var ClipSchema = object({
|
|
20137
20250
|
/** Opaque, provider-namespaced id. The default provider encodes the time
|
|
20138
20251
|
* window so `getClipPlayback` is self-contained (no event re-query). */
|
|
@@ -21855,7 +21968,27 @@ var MediaFileLiteSchema$1 = object({
|
|
|
21855
21968
|
sizeBytes: number(),
|
|
21856
21969
|
timestamp: number()
|
|
21857
21970
|
});
|
|
21858
|
-
method(
|
|
21971
|
+
method(object({
|
|
21972
|
+
/**
|
|
21973
|
+
* Inline {@link IdentitySchema.coverBase64} on every row.
|
|
21974
|
+
*
|
|
21975
|
+
* Default `false`, the same inversion `listRecentFaces` and
|
|
21976
|
+
* `listPlates` took on 2026-08-25 (see `include-crops-default.ts` for
|
|
21977
|
+
* why the burden belongs on the caller that WANTS the bytes). Measured
|
|
21978
|
+
* on the live hub the same day: four identities cost 40,979 B with the
|
|
21979
|
+
* covers inline, ~10 KB of base64 per row, on a query this UI mounts
|
|
21980
|
+
* four times and the viewer holds at `staleTime: 30_000`.
|
|
21981
|
+
*
|
|
21982
|
+
* Nothing loses its avatar: `coverMediaKey` is already on every row and
|
|
21983
|
+
* the `event-media` plane serves that key `immutable` with an ETag.
|
|
21984
|
+
*
|
|
21985
|
+
* **This is an INPUT field, so it does not reach the addon until the
|
|
21986
|
+
* next train** — the hub router validates cap inputs against its own
|
|
21987
|
+
* compiled Zod and strips a key it does not know. Until then the
|
|
21988
|
+
* provider sees `undefined`, which resolves to `false`: the cheap shape
|
|
21989
|
+
* is what ships, and the opt-in becomes reachable when the train lands.
|
|
21990
|
+
*/
|
|
21991
|
+
includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly()), method(object({ name: string().min(1) }), IdentitySchema, {
|
|
21859
21992
|
kind: "mutation",
|
|
21860
21993
|
auth: "admin"
|
|
21861
21994
|
}), method(object({
|
|
@@ -24066,7 +24199,13 @@ method(object({
|
|
|
24066
24199
|
}), method(object({ plateId: string() }), _void(), {
|
|
24067
24200
|
kind: "mutation",
|
|
24068
24201
|
auth: "admin"
|
|
24069
|
-
}), method(
|
|
24202
|
+
}), method(object({
|
|
24203
|
+
/** Inline {@link VehicleSchema.coverBase64} on every row. Default
|
|
24204
|
+
* `false` — the vehicle twin of `faceGallery.listIdentities`'s
|
|
24205
|
+
* option; `coverMediaKey` + the `event-media` plane carry the picture.
|
|
24206
|
+
* INPUT field: stripped by the hub router until the train ships, which
|
|
24207
|
+
* resolves to `false` and is exactly the intended default. */
|
|
24208
|
+
includeCrops: boolean().optional() }).optional(), array(VehicleSchema).readonly()), method(object({ name: string().min(1) }), VehicleSchema, {
|
|
24070
24209
|
kind: "mutation",
|
|
24071
24210
|
auth: "admin"
|
|
24072
24211
|
}), method(object({
|
|
@@ -29443,6 +29582,12 @@ Object.freeze({
|
|
|
29443
29582
|
addonId: null,
|
|
29444
29583
|
access: "create"
|
|
29445
29584
|
},
|
|
29585
|
+
"pipelineAnalytics.cancelRelocateMedia": {
|
|
29586
|
+
capName: "pipeline-analytics",
|
|
29587
|
+
capScope: "device",
|
|
29588
|
+
addonId: null,
|
|
29589
|
+
access: "create"
|
|
29590
|
+
},
|
|
29446
29591
|
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
29447
29592
|
capName: "pipeline-analytics",
|
|
29448
29593
|
capScope: "device",
|
|
@@ -29617,6 +29762,12 @@ Object.freeze({
|
|
|
29617
29762
|
addonId: null,
|
|
29618
29763
|
access: "view"
|
|
29619
29764
|
},
|
|
29765
|
+
"pipelineAnalytics.listRelocateMediaJobs": {
|
|
29766
|
+
capName: "pipeline-analytics",
|
|
29767
|
+
capScope: "device",
|
|
29768
|
+
addonId: null,
|
|
29769
|
+
access: "view"
|
|
29770
|
+
},
|
|
29620
29771
|
"pipelineAnalytics.listRetrainAnnotations": {
|
|
29621
29772
|
capName: "pipeline-analytics",
|
|
29622
29773
|
capScope: "device",
|
|
@@ -29695,6 +29846,12 @@ Object.freeze({
|
|
|
29695
29846
|
addonId: null,
|
|
29696
29847
|
access: "create"
|
|
29697
29848
|
},
|
|
29849
|
+
"pipelineAnalytics.relocateMedia": {
|
|
29850
|
+
capName: "pipeline-analytics",
|
|
29851
|
+
capScope: "device",
|
|
29852
|
+
addonId: null,
|
|
29853
|
+
access: "create"
|
|
29854
|
+
},
|
|
29698
29855
|
"pipelineAnalytics.restageRetrainTrack": {
|
|
29699
29856
|
capName: "pipeline-analytics",
|
|
29700
29857
|
capScope: "device",
|
|
@@ -34318,7 +34475,7 @@ var AdminUIAddon = class extends BaseAddon {
|
|
|
34318
34475
|
capability: adminUiCapability,
|
|
34319
34476
|
provider: {
|
|
34320
34477
|
getStaticDir: async () => ({ staticDir: resolveAdminUiDistDir() }),
|
|
34321
|
-
getVersion: async () => ({ version: "1.2.
|
|
34478
|
+
getVersion: async () => ({ version: "1.2.100" })
|
|
34322
34479
|
}
|
|
34323
34480
|
}];
|
|
34324
34481
|
}
|