@camstack/addon-pipeline 1.2.361 → 1.2.363
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 +3 -3
- package/dist/audio-analyzer/index.mjs +3 -3
- package/dist/{custom-model-catalog-DWFL7iBE.mjs → custom-model-catalog-DHFPSu0E.mjs} +2 -2
- package/dist/{custom-model-catalog-BsuqZLaN.js → custom-model-catalog-nx2TXAGS.js} +2 -2
- package/dist/detection-pipeline/index.js +4 -4
- package/dist/detection-pipeline/index.mjs +4 -4
- package/dist/{dist-73R05PFN.mjs → dist-BX9VTm12.mjs} +278 -4
- package/dist/{dist-DFGiI5lr.js → dist-CGOb--t-.js} +278 -4
- package/dist/{model-catalogs-BefhGOAc.js → model-catalogs-DHV48cdY.js} +1 -1
- package/dist/{model-catalogs-OLyh3TdB.mjs → model-catalogs-DNL4ydAg.mjs} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/{node-C0-Ik_JH.mjs → node-C8bbmV3c.mjs} +1 -1
- package/dist/{node-CdOP9ELN.js → node-UBMRK8SK.js} +1 -1
- package/dist/pipeline-runner/index.js +3 -3
- package/dist/pipeline-runner/index.mjs +3 -3
- package/dist/{process-memory-DO-ZBWdK.js → process-memory-1BwIq2Ks.js} +1 -1
- package/dist/{process-memory-DKKVQV5j.mjs → process-memory-BHG2uCeq.mjs} +1 -1
- package/dist/recorder/index.js +7 -3
- package/dist/recorder/index.mjs +7 -3
- package/dist/{segment-demux-js-C_27CmCq.mjs → segment-demux-js-BhnT__dA.mjs} +1 -1
- package/dist/{segment-demux-js-Dr3e9r4m.js → segment-demux-js-PkDP-xQg.js} +1 -1
- package/dist/stream-broker/_stub.js +2 -2
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DJeFG_hB.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-vdmrukBk.mjs} +2 -2
- package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ScPS8ZWM.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-Cq5NPjBX.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-Buho1uzb.mjs → hostInit-D_DBY5wu.mjs} +2 -2
- package/dist/stream-broker/index.js +247 -41
- package/dist/stream-broker/index.mjs +247 -41
- package/dist/stream-broker/remoteEntry.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-XWaPHrfA.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-qyhFaM-7.mjs +0 -26
|
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-emK7D4bc.js");
|
|
6
|
-
const require_dist = require("../dist-
|
|
7
|
-
const require_model_catalogs = require("../model-catalogs-
|
|
8
|
-
const require_process_memory = require("../process-memory-
|
|
6
|
+
const require_dist = require("../dist-CGOb--t-.js");
|
|
7
|
+
const require_model_catalogs = require("../model-catalogs-DHV48cdY.js");
|
|
8
|
+
const require_process_memory = require("../process-memory-1BwIq2Ks.js");
|
|
9
9
|
let node_fs = require("node:fs");
|
|
10
10
|
node_fs = require_chunk.__toESM(node_fs);
|
|
11
11
|
let node_path = require("node:path");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { An as BaseAddon, F as PoolMemoryWatchdog, Fn as audioChunkBytesPerSample, Ft as mapAudioLabelToMacro, Kn as nodePin, On as errMsg, Q as audioAnalyzerCapability, Vn as hydrateSchema, Z as audioAnalysisCapability, cr as EventCategory, h as DEFAULT_AUDIO_ANALYZER_CONFIG, on as resolvePoolMemoryPolicy, r as AUDIO_BACKEND_CHOICES, zn as expandAudioChunkToF32le } from "../dist-
|
|
3
|
-
import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-
|
|
4
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
2
|
+
import { An as BaseAddon, F as PoolMemoryWatchdog, Fn as audioChunkBytesPerSample, Ft as mapAudioLabelToMacro, Kn as nodePin, On as errMsg, Q as audioAnalyzerCapability, Vn as hydrateSchema, Z as audioAnalysisCapability, cr as EventCategory, h as DEFAULT_AUDIO_ANALYZER_CONFIG, on as resolvePoolMemoryPolicy, r as AUDIO_BACKEND_CHOICES, zn as expandAudioChunkToF32le } from "../dist-BX9VTm12.mjs";
|
|
3
|
+
import { n as AUDIO_CLASSIFIER_MODELS } from "../model-catalogs-DNL4ydAg.mjs";
|
|
4
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-BHG2uCeq.mjs";
|
|
5
5
|
import * as fs from "node:fs";
|
|
6
6
|
import * as path$1 from "node:path";
|
|
7
7
|
import { ensureModel } from "@camstack/system/addon-utils";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as audioKindId, b as DEVICE_BACKEND_TO_FORMAT, dn as stepModelRunsOnFormat, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, kt as inferModelProvider, p as COCO_TO_MACRO } from "./dist-
|
|
2
|
-
import { a as FACE_DETECTION_MODELS, c as OBJECT_DETECTION_MODELS, d as PLATE_OCR_MODELS, f as SEGMENTATION_REFINER_MODELS, i as CLIP_EMBEDDING_MODELS, l as PACKAGE_DETECTION_MODELS, n as AUDIO_CLASSIFIER_MODELS, o as FACE_EMBEDDING_MODELS, p as VEHICLE_CLASSIFIER_MODELS, r as BIRD_CLASSIFIER_MODELS, s as INSTANCE_SEGMENTATION_MODELS, t as ANIMAL_CLASSIFIER_MODELS, u as PLATE_DETECTION_MODELS } from "./model-catalogs-
|
|
1
|
+
import { $ as audioKindId, b as DEVICE_BACKEND_TO_FORMAT, dn as stepModelRunsOnFormat, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, kt as inferModelProvider, p as COCO_TO_MACRO } from "./dist-BX9VTm12.mjs";
|
|
2
|
+
import { a as FACE_DETECTION_MODELS, c as OBJECT_DETECTION_MODELS, d as PLATE_OCR_MODELS, f as SEGMENTATION_REFINER_MODELS, i as CLIP_EMBEDDING_MODELS, l as PACKAGE_DETECTION_MODELS, n as AUDIO_CLASSIFIER_MODELS, o as FACE_EMBEDDING_MODELS, p as VEHICLE_CLASSIFIER_MODELS, r as BIRD_CLASSIFIER_MODELS, s as INSTANCE_SEGMENTATION_MODELS, t as ANIMAL_CLASSIFIER_MODELS, u as PLATE_DETECTION_MODELS } from "./model-catalogs-DNL4ydAg.mjs";
|
|
3
3
|
import { t as isWorkerReply } from "./worker-protocol-D_NzPcnh.mjs";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
//#region src/detection-pipeline/registry/effective-confidence.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_dist = require("./dist-
|
|
2
|
-
const require_model_catalogs = require("./model-catalogs-
|
|
1
|
+
const require_dist = require("./dist-CGOb--t-.js");
|
|
2
|
+
const require_model_catalogs = require("./model-catalogs-DHV48cdY.js");
|
|
3
3
|
const require_worker_protocol = require("./worker-protocol-C-G8qmye.js");
|
|
4
4
|
let node_crypto = require("node:crypto");
|
|
5
5
|
//#region src/detection-pipeline/registry/effective-confidence.ts
|
|
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../chunk-emK7D4bc.js");
|
|
6
|
-
const require_dist = require("../dist-
|
|
7
|
-
const require_node = require("../node-
|
|
8
|
-
const require_custom_model_catalog = require("../custom-model-catalog-
|
|
6
|
+
const require_dist = require("../dist-CGOb--t-.js");
|
|
7
|
+
const require_node = require("../node-UBMRK8SK.js");
|
|
8
|
+
const require_custom_model_catalog = require("../custom-model-catalog-nx2TXAGS.js");
|
|
9
9
|
const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
|
|
10
|
-
const require_process_memory = require("../process-memory-
|
|
10
|
+
const require_process_memory = require("../process-memory-1BwIq2Ks.js");
|
|
11
11
|
let node_os = require("node:os");
|
|
12
12
|
node_os = require_chunk.__toESM(node_os);
|
|
13
13
|
let node_fs = require("node:fs");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __require } from "../chunk-DnnnRqeS.mjs";
|
|
2
|
-
import { An as BaseAddon, Bn as hfModelUrl, F as PoolMemoryWatchdog, Gt as pickClusterStepSettings, In as createEvent, Jt as pipelineExecutorCapability, Kn as nodePin, Nt as loadContributionCapability, O as LABEL_SUPPLY_MACRO, On as errMsg$1, Ut as overlayClusterStepSettings, Vn as hydrateSchema, Vt as modelBindingKey, X as applyModelBoundSettings, Yn as sleep, Zn as array, bt as evaluateZoneRules, cr as EventCategory, d as CLUSTER_MODEL_SCOPED_STEPS, dn as stepModelRunsOnFormat, dt as defaultDeviceFor$1, g as DEFAULT_CLUSTER_STEP_SETTINGS, gn as supportedRuntimes$1, gt as detectionPipelineCapability, jt as linkedLabelStepId, ln as rootSuppliesOf, n as APPLE_SA_TO_MACRO, on as resolvePoolMemoryPolicy, or as string, ot as collectModelBoundKeys, q as YAMNET_TO_MACRO, rr as object, sr as union, st as containingParentIndex, tn as resolveClusterStepModelId, un as runtimeDevices$1, yt as enumerateInferenceDevices } from "../dist-
|
|
3
|
-
import { s as readProcessCost } from "../node-
|
|
4
|
-
import { C as resolveModelDefaultConfidence, S as landmarkPrecisionVerdict, _ as ALL_STEPS, b as getStepDefinition, f as localFrameRegistry, g as ALL_PIPELINE_STEPS, l as resolveDefaultDetectionModel, n as mergeCustomModels, o as deviceKeyOf, r as buildSubtreeCanRun, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, v as getDefaultModelForFormat, x as resolveModelForFormat, y as getStep } from "../custom-model-catalog-
|
|
2
|
+
import { An as BaseAddon, Bn as hfModelUrl, F as PoolMemoryWatchdog, Gt as pickClusterStepSettings, In as createEvent, Jt as pipelineExecutorCapability, Kn as nodePin, Nt as loadContributionCapability, O as LABEL_SUPPLY_MACRO, On as errMsg$1, Ut as overlayClusterStepSettings, Vn as hydrateSchema, Vt as modelBindingKey, X as applyModelBoundSettings, Yn as sleep, Zn as array, bt as evaluateZoneRules, cr as EventCategory, d as CLUSTER_MODEL_SCOPED_STEPS, dn as stepModelRunsOnFormat, dt as defaultDeviceFor$1, g as DEFAULT_CLUSTER_STEP_SETTINGS, gn as supportedRuntimes$1, gt as detectionPipelineCapability, jt as linkedLabelStepId, ln as rootSuppliesOf, n as APPLE_SA_TO_MACRO, on as resolvePoolMemoryPolicy, or as string, ot as collectModelBoundKeys, q as YAMNET_TO_MACRO, rr as object, sr as union, st as containingParentIndex, tn as resolveClusterStepModelId, un as runtimeDevices$1, yt as enumerateInferenceDevices } from "../dist-BX9VTm12.mjs";
|
|
3
|
+
import { s as readProcessCost } from "../node-C8bbmV3c.mjs";
|
|
4
|
+
import { C as resolveModelDefaultConfidence, S as landmarkPrecisionVerdict, _ as ALL_STEPS, b as getStepDefinition, f as localFrameRegistry, g as ALL_PIPELINE_STEPS, l as resolveDefaultDetectionModel, n as mergeCustomModels, o as deviceKeyOf, r as buildSubtreeCanRun, s as resolveDeviceEngine, t as CustomModelCatalog, u as macroGateVerdict, v as getDefaultModelForFormat, x as resolveModelForFormat, y as getStep } from "../custom-model-catalog-DHFPSu0E.mjs";
|
|
5
5
|
import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
|
|
6
|
-
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-
|
|
6
|
+
import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-BHG2uCeq.mjs";
|
|
7
7
|
import * as os$1 from "node:os";
|
|
8
8
|
import * as fs from "node:fs";
|
|
9
9
|
import * as path$1 from "node:path";
|
|
@@ -5387,7 +5387,7 @@ var ZodIssueCode = {
|
|
|
5387
5387
|
var ZodFirstPartyTypeKind;
|
|
5388
5388
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5389
5389
|
//#endregion
|
|
5390
|
-
//#region ../types/dist/sleep-
|
|
5390
|
+
//#region ../types/dist/sleep-BBF1iXUi.mjs
|
|
5391
5391
|
/**
|
|
5392
5392
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5393
5393
|
* window to float samples (D455).
|
|
@@ -11616,6 +11616,15 @@ discriminatedUnion("type", [
|
|
|
11616
11616
|
message: string()
|
|
11617
11617
|
})
|
|
11618
11618
|
]);
|
|
11619
|
+
/** Every status, in the order a summary lists them. */
|
|
11620
|
+
var RETRAIN_REVIEW_STATUSES = [
|
|
11621
|
+
"unchanged",
|
|
11622
|
+
"adjusted",
|
|
11623
|
+
"reclassified",
|
|
11624
|
+
"added",
|
|
11625
|
+
"removed",
|
|
11626
|
+
"model-error"
|
|
11627
|
+
];
|
|
11619
11628
|
/**
|
|
11620
11629
|
* What the gate decided about a birth, from the CALLER's point of view.
|
|
11621
11630
|
*
|
|
@@ -16484,6 +16493,16 @@ var BrokerClientsSchema = object({
|
|
|
16484
16493
|
/** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
|
|
16485
16494
|
encodedSubscribers: number()
|
|
16486
16495
|
});
|
|
16496
|
+
/**
|
|
16497
|
+
* How many people are watching one camera LIVE right now — see
|
|
16498
|
+
* `getLiveViewerCounts`. A camera with nobody watching is absent from the list
|
|
16499
|
+
* (so `viewers` is always at least 1): the listing carries the cameras that
|
|
16500
|
+
* have viewers, never a row of zeros.
|
|
16501
|
+
*/
|
|
16502
|
+
var LiveViewerCountSchema = object({
|
|
16503
|
+
deviceId: number().int().nonnegative(),
|
|
16504
|
+
viewers: number().int().positive()
|
|
16505
|
+
});
|
|
16487
16506
|
_enum([
|
|
16488
16507
|
"reconnecting",
|
|
16489
16508
|
"sleeping",
|
|
@@ -16967,6 +16986,24 @@ var streamBrokerCapability = {
|
|
|
16967
16986
|
auth: "admin"
|
|
16968
16987
|
}),
|
|
16969
16988
|
listClients: method(object({ brokerId: string() }), BrokerClientsSchema),
|
|
16989
|
+
/**
|
|
16990
|
+
* People watching each camera LIVE right now, for every camera at once —
|
|
16991
|
+
* cheap enough to poll (a walk of the live session maps, no I/O).
|
|
16992
|
+
*
|
|
16993
|
+
* Counts EXTERNAL viewers only: WebRTC sessions of a viewer kind
|
|
16994
|
+
* (`webrtc-browser` / `-mobile` / `-whep`, `alexa`, `homekit`) that are on
|
|
16995
|
+
* the live edge, plus RTSP restream clients from outside that are playing.
|
|
16996
|
+
* The system's own consumers are never counted: the detection decoder, the
|
|
16997
|
+
* recorder, snapshots, the prebuffer hold, audio analysis, and the RTSP
|
|
16998
|
+
* dials an agent's derived broker makes. One WebRTC session or RTSP
|
|
16999
|
+
* connection is one viewer, so two tabs on one camera read 2.
|
|
17000
|
+
*
|
|
17001
|
+
* The count is read off the live session maps at call time, so a session
|
|
17002
|
+
* that ends — cleanly or by the peer vanishing — stops counting with no
|
|
17003
|
+
* counter to leak. It covers the sessions THIS provider serves; a node
|
|
17004
|
+
* with its own stream-broker is asked with a `nodeId` pin.
|
|
17005
|
+
*/
|
|
17006
|
+
getLiveViewerCounts: method(_void(), array(LiveViewerCountSchema).readonly()),
|
|
16970
17007
|
killClient: method(object({
|
|
16971
17008
|
brokerId: string(),
|
|
16972
17009
|
channel: _enum(["rtsp", "audio"]),
|
|
@@ -18124,6 +18161,38 @@ var BulkRecordSchema = object({
|
|
|
18124
18161
|
data: record(string(), unknown())
|
|
18125
18162
|
});
|
|
18126
18163
|
/**
|
|
18164
|
+
* One write inside a {@link settingsStoreCapability.methods.transact} call.
|
|
18165
|
+
* Only the three that a "replace this set, bump that revision" write needs.
|
|
18166
|
+
*/
|
|
18167
|
+
var TransactOpSchema = discriminatedUnion("op", [
|
|
18168
|
+
object({
|
|
18169
|
+
op: literal("deleteWhere"),
|
|
18170
|
+
collection: string(),
|
|
18171
|
+
filter: MutationFilterSchema
|
|
18172
|
+
}),
|
|
18173
|
+
object({
|
|
18174
|
+
op: literal("insertMany"),
|
|
18175
|
+
collection: string(),
|
|
18176
|
+
records: array(BulkRecordSchema).readonly()
|
|
18177
|
+
}),
|
|
18178
|
+
object({
|
|
18179
|
+
op: literal("update"),
|
|
18180
|
+
collection: string(),
|
|
18181
|
+
id: string(),
|
|
18182
|
+
data: record(string(), unknown())
|
|
18183
|
+
})
|
|
18184
|
+
]);
|
|
18185
|
+
/**
|
|
18186
|
+
* The precondition of a transaction: the row `key` of `collection` must hold
|
|
18187
|
+
* `equals` in `column`, read INSIDE the transaction.
|
|
18188
|
+
*/
|
|
18189
|
+
var TransactGuardSchema = object({
|
|
18190
|
+
collection: string(),
|
|
18191
|
+
key: string(),
|
|
18192
|
+
column: string(),
|
|
18193
|
+
equals: unknown()
|
|
18194
|
+
});
|
|
18195
|
+
/**
|
|
18127
18196
|
* Column declaration for a structured (SQL-backed) collection.
|
|
18128
18197
|
*
|
|
18129
18198
|
* Logical types — the backend translates each to the matching SQLite
|
|
@@ -18214,6 +18283,16 @@ id: union([string(), number()]) }), {
|
|
|
18214
18283
|
}), object({ inserted: number().int() }), {
|
|
18215
18284
|
kind: "mutation",
|
|
18216
18285
|
auth: "admin"
|
|
18286
|
+
}), method(object({
|
|
18287
|
+
namespace: string().optional(),
|
|
18288
|
+
guard: TransactGuardSchema.optional(),
|
|
18289
|
+
ops: array(TransactOpSchema).readonly()
|
|
18290
|
+
}), object({
|
|
18291
|
+
applied: boolean(),
|
|
18292
|
+
current: unknown().optional()
|
|
18293
|
+
}), {
|
|
18294
|
+
kind: "mutation",
|
|
18295
|
+
auth: "admin"
|
|
18217
18296
|
}), method(object({
|
|
18218
18297
|
namespace: string().optional(),
|
|
18219
18298
|
collection: string(),
|
|
@@ -18362,6 +18441,16 @@ id: union([string(), number()]) }), {
|
|
|
18362
18441
|
}), object({ inserted: number().int() }), {
|
|
18363
18442
|
kind: "mutation",
|
|
18364
18443
|
auth: "admin"
|
|
18444
|
+
}), method(object({
|
|
18445
|
+
namespace: string().optional(),
|
|
18446
|
+
guard: TransactGuardSchema.optional(),
|
|
18447
|
+
ops: array(TransactOpSchema).readonly()
|
|
18448
|
+
}), object({
|
|
18449
|
+
applied: boolean(),
|
|
18450
|
+
current: unknown().optional()
|
|
18451
|
+
}), {
|
|
18452
|
+
kind: "mutation",
|
|
18453
|
+
auth: "admin"
|
|
18365
18454
|
}), method(object({
|
|
18366
18455
|
namespace: string().optional(),
|
|
18367
18456
|
collection: string(),
|
|
@@ -27249,6 +27338,58 @@ var RetrainBboxSchema = object({
|
|
|
27249
27338
|
h: number()
|
|
27250
27339
|
});
|
|
27251
27340
|
/**
|
|
27341
|
+
* What a box LOOKED LIKE when it was offered, snapshotted at the moment the
|
|
27342
|
+
* operator accepted it. The saved row keeps only the final rectangle; this is
|
|
27343
|
+
* the other half of the pair, and the pair is what says whether the operator
|
|
27344
|
+
* accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
|
|
27345
|
+
*
|
|
27346
|
+
* `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
|
|
27347
|
+
* live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
|
|
27348
|
+
* and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
|
|
27349
|
+
* pipeline boxes carry the same ref every time, which is what lets a dismissal
|
|
27350
|
+
* stay dismissed.
|
|
27351
|
+
*/
|
|
27352
|
+
var RetrainOriginSchema = object({
|
|
27353
|
+
source: RetrainAnnotationSourceSchema,
|
|
27354
|
+
ref: string().min(1),
|
|
27355
|
+
bbox: RetrainBboxSchema,
|
|
27356
|
+
macroClass: RetrainMacroClassSchema,
|
|
27357
|
+
label: string().optional(),
|
|
27358
|
+
score: number().optional(),
|
|
27359
|
+
modelId: string().optional()
|
|
27360
|
+
});
|
|
27361
|
+
/**
|
|
27362
|
+
* A proposal the operator deleted. Durable on the frame, so a deleted pipeline
|
|
27363
|
+
* box does not come back as a draft every time the frame is reopened, and so
|
|
27364
|
+
* the deletion itself is a recorded fact rather than an absence.
|
|
27365
|
+
*/
|
|
27366
|
+
var RetrainDismissedSchema = object({
|
|
27367
|
+
ref: string().min(1),
|
|
27368
|
+
snapshot: RetrainOriginSchema
|
|
27369
|
+
});
|
|
27370
|
+
/** What the operator did with a proposal (see `retrain-review.ts`). */
|
|
27371
|
+
var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
|
|
27372
|
+
var RetrainFrameReviewSchema = object({
|
|
27373
|
+
boxes: array(object({
|
|
27374
|
+
ref: string(),
|
|
27375
|
+
savedId: string().optional(),
|
|
27376
|
+
status: RetrainReviewStatusSchema,
|
|
27377
|
+
/** The baseline was re-derived, not snapshotted (a pre-origin row). */
|
|
27378
|
+
approximate: boolean(),
|
|
27379
|
+
origin: RetrainOriginSchema.optional(),
|
|
27380
|
+
/** The class / label the box carries NOW (a removed box: its origin's). Absent on an older hub. */
|
|
27381
|
+
macroClass: RetrainMacroClassSchema.optional(),
|
|
27382
|
+
label: string().optional(),
|
|
27383
|
+
iou: number().optional()
|
|
27384
|
+
})).readonly(),
|
|
27385
|
+
summary: object({
|
|
27386
|
+
counts: record(RetrainReviewStatusSchema, number().int()),
|
|
27387
|
+
total: number().int(),
|
|
27388
|
+
changed: number().int(),
|
|
27389
|
+
approximate: boolean()
|
|
27390
|
+
})
|
|
27391
|
+
});
|
|
27392
|
+
/**
|
|
27252
27393
|
* One annotated subject.
|
|
27253
27394
|
*
|
|
27254
27395
|
* `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
|
|
@@ -27272,6 +27413,9 @@ var RetrainAnnotationSchema = object({
|
|
|
27272
27413
|
/** Which model proposed this box — or, on a `model_error`, drew the phantom. */
|
|
27273
27414
|
assistModelId: string().optional(),
|
|
27274
27415
|
assistScore: number().optional(),
|
|
27416
|
+
/** The proposal this box started from, snapshotted at accept time. `null` on
|
|
27417
|
+
* a row saved before origins existed; absent on a draft nobody snapshotted. */
|
|
27418
|
+
origin: RetrainOriginSchema.nullable().optional(),
|
|
27275
27419
|
exportedInBatch: string().optional(),
|
|
27276
27420
|
createdAt: number()
|
|
27277
27421
|
});
|
|
@@ -27364,7 +27508,19 @@ var RetrainFrameSchema = object({
|
|
|
27364
27508
|
* empty when nothing the track store holds can be placed on it. */
|
|
27365
27509
|
pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
|
|
27366
27510
|
/** The named collections this frame belongs to. Present on list answers. */
|
|
27367
|
-
collectionIds: array(string()).readonly().optional()
|
|
27511
|
+
collectionIds: array(string()).readonly().optional(),
|
|
27512
|
+
/** Bumped by every annotation save. A save that names a stale
|
|
27513
|
+
* `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
|
|
27514
|
+
revision: number().int().optional(),
|
|
27515
|
+
/** Proposals the operator deleted — never re-seeded as drafts. */
|
|
27516
|
+
dismissed: array(RetrainDismissedSchema).readonly().optional(),
|
|
27517
|
+
/** What the operator did with the proposals, computed by the server. */
|
|
27518
|
+
review: RetrainFrameReviewSchema.optional(),
|
|
27519
|
+
/** The frame's pixels over the admin data plane (full size). Fetch with the
|
|
27520
|
+
* admin bearer token; relative to the hub root. */
|
|
27521
|
+
imageUrl: string().optional(),
|
|
27522
|
+
/** The same, as a ~480 px thumbnail for grids. */
|
|
27523
|
+
thumbnailUrl: string().optional()
|
|
27368
27524
|
});
|
|
27369
27525
|
/** Why a copy-on-select could not be honoured — named, never a silent skip. */
|
|
27370
27526
|
var RetrainCopyRefusalSchema = _enum([
|
|
@@ -28443,10 +28599,33 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
28443
28599
|
/** The frame's track, when it has one — checked against the frame. */
|
|
28444
28600
|
trackId: string().optional(),
|
|
28445
28601
|
frameId: string(),
|
|
28446
|
-
annotations: array(RetrainAnnotationDraftSchema)
|
|
28602
|
+
annotations: array(RetrainAnnotationDraftSchema),
|
|
28603
|
+
/** The frame's `revision` the caller saw. A different current revision
|
|
28604
|
+
* refuses the save with a `retrain-revision-conflict` error
|
|
28605
|
+
* (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
|
|
28606
|
+
expectedRevision: number().int().optional(),
|
|
28607
|
+
/** The proposals the operator deleted. Absent ⇒ keep the frame's
|
|
28608
|
+
* current set; present ⇒ replace it (an empty array un-dismisses). */
|
|
28609
|
+
dismissed: array(RetrainDismissedSchema).optional()
|
|
28447
28610
|
}), array(RetrainAnnotationSchema).readonly(), {
|
|
28448
28611
|
kind: "mutation",
|
|
28449
28612
|
auth: "admin"
|
|
28613
|
+
}), method(object({
|
|
28614
|
+
deviceId: number(),
|
|
28615
|
+
trackId: string().optional(),
|
|
28616
|
+
frameId: string(),
|
|
28617
|
+
expectedRevision: number().int().optional(),
|
|
28618
|
+
origins: array(object({
|
|
28619
|
+
annotationId: string(),
|
|
28620
|
+
origin: RetrainOriginSchema
|
|
28621
|
+
})).min(1).max(500)
|
|
28622
|
+
}), object({
|
|
28623
|
+
updated: number().int(),
|
|
28624
|
+
skipped: number().int(),
|
|
28625
|
+
revision: number().int()
|
|
28626
|
+
}), {
|
|
28627
|
+
kind: "mutation",
|
|
28628
|
+
auth: "admin"
|
|
28450
28629
|
}), method(object({
|
|
28451
28630
|
deviceId: number(),
|
|
28452
28631
|
trackId: string()
|
|
@@ -31470,6 +31649,12 @@ var CameraStepOverridePatchSchema = object({
|
|
|
31470
31649
|
settings: record(string(), unknown()).readonly().optional()
|
|
31471
31650
|
});
|
|
31472
31651
|
var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
|
|
31652
|
+
/** The three root-detector choices a camera has (D507: at most one root). */
|
|
31653
|
+
var CameraDetectionSourceSchema = _enum([
|
|
31654
|
+
"pipeline",
|
|
31655
|
+
"onboard",
|
|
31656
|
+
"none"
|
|
31657
|
+
]);
|
|
31473
31658
|
var CameraPipelineSettingsSchema = object({
|
|
31474
31659
|
stepToggles: record(string(), boolean()).optional(),
|
|
31475
31660
|
stepSettings: CameraStepSettingsSchema.optional(),
|
|
@@ -32047,6 +32232,26 @@ method(object({
|
|
|
32047
32232
|
}), object({ success: literal(true) }), {
|
|
32048
32233
|
kind: "mutation",
|
|
32049
32234
|
auth: "admin"
|
|
32235
|
+
}), method(object({ deviceId: number() }), object({
|
|
32236
|
+
source: CameraDetectionSourceSchema,
|
|
32237
|
+
explicit: boolean(),
|
|
32238
|
+
onboard: object({
|
|
32239
|
+
/** The camera has an onboard detector this system can read. */
|
|
32240
|
+
available: boolean(),
|
|
32241
|
+
/** What its detections carry — a camera with no box cannot be a root step. */
|
|
32242
|
+
geometry: _enum([
|
|
32243
|
+
"boxed",
|
|
32244
|
+
"while-streaming",
|
|
32245
|
+
"flag-only",
|
|
32246
|
+
"unknown"
|
|
32247
|
+
])
|
|
32248
|
+
})
|
|
32249
|
+
})), method(object({
|
|
32250
|
+
deviceId: number(),
|
|
32251
|
+
source: CameraDetectionSourceSchema
|
|
32252
|
+
}), object({ success: literal(true) }), {
|
|
32253
|
+
kind: "mutation",
|
|
32254
|
+
auth: "admin"
|
|
32050
32255
|
}), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
|
|
32051
32256
|
deviceId: number(),
|
|
32052
32257
|
agentNodeId: string(),
|
|
@@ -35792,6 +35997,17 @@ var BatteryStatusSchema = object({
|
|
|
35792
35997
|
*/
|
|
35793
35998
|
lastContactAt: number().optional(),
|
|
35794
35999
|
/**
|
|
36000
|
+
* Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
|
|
36001
|
+
* holds for the device (level, charging, link, device info, state slices) and
|
|
36002
|
+
* its cached snapshot, read together. Absent = never since this slice was
|
|
36003
|
+
* born. Unlike `lastUpdated` (any write, even a push of one field) this is
|
|
36004
|
+
* the staleness an operator can trust: the provider owns the device fact and
|
|
36005
|
+
* so owns the window on its age (D224, D847). Not a clock in the
|
|
36006
|
+
* runtime-state-durability sense: it moves once per window and must survive
|
|
36007
|
+
* a restart, or every restart would owe the camera a wake.
|
|
36008
|
+
*/
|
|
36009
|
+
lastFullRefreshAt: number().optional(),
|
|
36010
|
+
/**
|
|
35795
36011
|
* True when the source is a BINARY low-battery indicator (HA
|
|
35796
36012
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
35797
36013
|
* charge level — `percentage` is then a coarse stand-in (100 = normal,
|
|
@@ -39089,7 +39305,14 @@ var TopologyNodeSchema = object({
|
|
|
39089
39305
|
* completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
|
|
39090
39306
|
* for offline rows and when the hub cannot tell.
|
|
39091
39307
|
*/
|
|
39092
|
-
meshTransport: _enum(["tls", "clear"]).optional()
|
|
39308
|
+
meshTransport: _enum(["tls", "clear"]).optional(),
|
|
39309
|
+
/**
|
|
39310
|
+
* Whether the hub holds this online AGENT's capability registration (its
|
|
39311
|
+
* `registerNode` manifest). `false` = online in the mesh but not ready: the
|
|
39312
|
+
* hub dropped the registration on a disconnect only it saw and the agent has
|
|
39313
|
+
* not re-sent it. Absent for the hub and offline rows.
|
|
39314
|
+
*/
|
|
39315
|
+
capabilitiesRegistered: boolean().optional()
|
|
39093
39316
|
});
|
|
39094
39317
|
var CapUsageEdgeSchema = object({
|
|
39095
39318
|
callerAddonId: string(),
|
|
@@ -46165,6 +46388,12 @@ Object.freeze({
|
|
|
46165
46388
|
addonId: null,
|
|
46166
46389
|
access: "create"
|
|
46167
46390
|
},
|
|
46391
|
+
"dataStoreProvider.transact": {
|
|
46392
|
+
capName: "data-store-provider",
|
|
46393
|
+
capScope: "system",
|
|
46394
|
+
addonId: null,
|
|
46395
|
+
access: "create"
|
|
46396
|
+
},
|
|
46168
46397
|
"dataStoreProvider.update": {
|
|
46169
46398
|
capName: "data-store-provider",
|
|
46170
46399
|
capScope: "system",
|
|
@@ -49009,6 +49238,12 @@ Object.freeze({
|
|
|
49009
49238
|
addonId: null,
|
|
49010
49239
|
access: "create"
|
|
49011
49240
|
},
|
|
49241
|
+
"pipelineAnalytics.backfillRetrainOrigins": {
|
|
49242
|
+
capName: "pipeline-analytics",
|
|
49243
|
+
capScope: "device",
|
|
49244
|
+
addonId: null,
|
|
49245
|
+
access: "create"
|
|
49246
|
+
},
|
|
49012
49247
|
"pipelineAnalytics.cancelRelocateMedia": {
|
|
49013
49248
|
capName: "pipeline-analytics",
|
|
49014
49249
|
capScope: "device",
|
|
@@ -49789,6 +50024,12 @@ Object.freeze({
|
|
|
49789
50024
|
addonId: null,
|
|
49790
50025
|
access: "view"
|
|
49791
50026
|
},
|
|
50027
|
+
"pipelineOrchestrator.getCameraDetectionSource": {
|
|
50028
|
+
capName: "pipeline-orchestrator",
|
|
50029
|
+
capScope: "system",
|
|
50030
|
+
addonId: null,
|
|
50031
|
+
access: "view"
|
|
50032
|
+
},
|
|
49792
50033
|
"pipelineOrchestrator.getCameraMetrics": {
|
|
49793
50034
|
capName: "pipeline-orchestrator",
|
|
49794
50035
|
capScope: "system",
|
|
@@ -50017,6 +50258,12 @@ Object.freeze({
|
|
|
50017
50258
|
addonId: null,
|
|
50018
50259
|
access: "create"
|
|
50019
50260
|
},
|
|
50261
|
+
"pipelineOrchestrator.setCameraDetectionSource": {
|
|
50262
|
+
capName: "pipeline-orchestrator",
|
|
50263
|
+
capScope: "system",
|
|
50264
|
+
addonId: null,
|
|
50265
|
+
access: "create"
|
|
50266
|
+
},
|
|
50020
50267
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
50021
50268
|
capName: "pipeline-orchestrator",
|
|
50022
50269
|
capScope: "system",
|
|
@@ -50989,6 +51236,12 @@ Object.freeze({
|
|
|
50989
51236
|
addonId: null,
|
|
50990
51237
|
access: "create"
|
|
50991
51238
|
},
|
|
51239
|
+
"settingsStore.transact": {
|
|
51240
|
+
capName: "settings-store",
|
|
51241
|
+
capScope: "system",
|
|
51242
|
+
addonId: null,
|
|
51243
|
+
access: "create"
|
|
51244
|
+
},
|
|
50992
51245
|
"settingsStore.update": {
|
|
50993
51246
|
capName: "settings-store",
|
|
50994
51247
|
capScope: "system",
|
|
@@ -51469,6 +51722,12 @@ Object.freeze({
|
|
|
51469
51722
|
addonId: null,
|
|
51470
51723
|
access: "view"
|
|
51471
51724
|
},
|
|
51725
|
+
"streamBroker.getLiveViewerCounts": {
|
|
51726
|
+
capName: "stream-broker",
|
|
51727
|
+
capScope: "system",
|
|
51728
|
+
addonId: null,
|
|
51729
|
+
access: "view"
|
|
51730
|
+
},
|
|
51472
51731
|
"streamBroker.getPreBufferInfo": {
|
|
51473
51732
|
capName: "stream-broker",
|
|
51474
51733
|
capScope: "system",
|
|
@@ -55309,6 +55568,11 @@ Object.freeze({
|
|
|
55309
55568
|
form: "single",
|
|
55310
55569
|
optional: false
|
|
55311
55570
|
}],
|
|
55571
|
+
"pipelineAnalytics.backfillRetrainOrigins": [{
|
|
55572
|
+
name: "deviceId",
|
|
55573
|
+
form: "single",
|
|
55574
|
+
optional: false
|
|
55575
|
+
}],
|
|
55312
55576
|
"pipelineAnalytics.clearTrackRelation": [{
|
|
55313
55577
|
name: "deviceId",
|
|
55314
55578
|
form: "single",
|
|
@@ -55614,6 +55878,11 @@ Object.freeze({
|
|
|
55614
55878
|
form: "single",
|
|
55615
55879
|
optional: false
|
|
55616
55880
|
}],
|
|
55881
|
+
"pipelineOrchestrator.getCameraDetectionSource": [{
|
|
55882
|
+
name: "deviceId",
|
|
55883
|
+
form: "single",
|
|
55884
|
+
optional: false
|
|
55885
|
+
}],
|
|
55617
55886
|
"pipelineOrchestrator.getCameraMetrics": [{
|
|
55618
55887
|
name: "deviceId",
|
|
55619
55888
|
form: "single",
|
|
@@ -55674,6 +55943,11 @@ Object.freeze({
|
|
|
55674
55943
|
form: "single",
|
|
55675
55944
|
optional: false
|
|
55676
55945
|
}],
|
|
55946
|
+
"pipelineOrchestrator.setCameraDetectionSource": [{
|
|
55947
|
+
name: "deviceId",
|
|
55948
|
+
form: "single",
|
|
55949
|
+
optional: false
|
|
55950
|
+
}],
|
|
55677
55951
|
"pipelineOrchestrator.setCameraPipelineForAgent": [{
|
|
55678
55952
|
name: "deviceId",
|
|
55679
55953
|
form: "single",
|