@camstack/addon-model-studio 1.1.251 → 1.1.253
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/{MotionZonesSettings-DMyPH8E4.mjs → MotionZonesSettings-CDQwRCoT.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-CH3Urgiy.mjs → PrivacyMaskSettings-Bqjt6j-n.mjs} +4 -4
- package/dist/{SceneMonitorEditor-GV1CGdIE.mjs → SceneMonitorEditor-CSttF4Hq.mjs} +3 -3
- package/dist/_stub.js +17 -17
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-CSMSc3Ys.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DbOwI3GM.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CW7-7FqB.mjs +26 -0
- package/dist/addon-model-studio.css +1 -1
- package/dist/{hostInit-BaLb2Wko.mjs → hostInit-BB7TluF5.mjs} +2 -2
- package/dist/model-studio.addon.js +326 -16
- package/dist/model-studio.addon.mjs +326 -16
- package/dist/{player-overlays-Dtr3bp2U.mjs → player-overlays-D3nGwf3m.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-DS5SbGGI.mjs → responsive-DyGAg9qU.mjs} +1 -1
- package/dist/{scene-monitor-copy-Bw7fLt-W.mjs → scene-monitor-copy-CIw9oZTb.mjs} +1 -1
- package/dist/{square-BMH94K96.mjs → square-DqVANN3Q.mjs} +1 -1
- package/dist/{trash-2-CMXPv4YN.mjs → trash-2-CQbGsv9O.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DO4z1s82.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-CzgQrlk5.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BYQ2rfWg.mjs +0 -26
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.359",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.283",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -394,7 +394,7 @@ function buildScryptedRegistryDescriptor(entry) {
|
|
|
394
394
|
};
|
|
395
395
|
}
|
|
396
396
|
//#endregion
|
|
397
|
-
//#region ../types/dist/event-category-
|
|
397
|
+
//#region ../types/dist/event-category-C4hVnRo8.mjs
|
|
398
398
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
399
399
|
EventCategory["SystemBoot"] = "system.boot";
|
|
400
400
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -613,7 +613,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
613
613
|
EventCategory["RecordingStopped"] = "recording.stopped";
|
|
614
614
|
EventCategory["RecordingError"] = "recording.error";
|
|
615
615
|
EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
|
|
616
|
+
/** Recording enabled but no segment finalized for the NC stall window. */
|
|
617
|
+
EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
|
|
618
|
+
/** Recovery from {@link RecordingHealthStalled}. */
|
|
619
|
+
EventCategory["RecordingHealthOk"] = "recording.health.ok";
|
|
616
620
|
EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
|
|
621
|
+
/** Free space on a storage location crossed the warn bar. */
|
|
622
|
+
EventCategory["StorageLocationLow"] = "storage.location.low";
|
|
623
|
+
/** Free space at/under the critical bar, or capacity probe failed (`null`). */
|
|
624
|
+
EventCategory["StorageLocationCritical"] = "storage.location.critical";
|
|
625
|
+
/** Recovery from low/critical on a storage location. */
|
|
626
|
+
EventCategory["StorageLocationOk"] = "storage.location.ok";
|
|
617
627
|
EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
|
|
618
628
|
EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
|
|
619
629
|
EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
|
|
@@ -5772,7 +5782,7 @@ var ZodIssueCode = {
|
|
|
5772
5782
|
var ZodFirstPartyTypeKind;
|
|
5773
5783
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5774
5784
|
//#endregion
|
|
5775
|
-
//#region ../types/dist/sleep-
|
|
5785
|
+
//#region ../types/dist/sleep-BBF1iXUi.mjs
|
|
5776
5786
|
/**
|
|
5777
5787
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5778
5788
|
* window to float samples (D455).
|
|
@@ -8374,6 +8384,21 @@ var ProfileRtspEntrySchema = object({
|
|
|
8374
8384
|
resolution: CamStreamResolutionSchema.optional()
|
|
8375
8385
|
});
|
|
8376
8386
|
/**
|
|
8387
|
+
* The model weight formats a catalog entry can ship. Schema-free on purpose:
|
|
8388
|
+
* `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
|
|
8389
|
+
* (the model downloader in `@camstack/system`) needs only the list and must
|
|
8390
|
+
* reach it through `@camstack/types/addon` without building the cap schema
|
|
8391
|
+
* graph (D28).
|
|
8392
|
+
*/
|
|
8393
|
+
var MODEL_FORMATS = [
|
|
8394
|
+
"onnx",
|
|
8395
|
+
"coreml",
|
|
8396
|
+
"openvino",
|
|
8397
|
+
"tflite",
|
|
8398
|
+
"pt",
|
|
8399
|
+
"gguf"
|
|
8400
|
+
];
|
|
8401
|
+
/**
|
|
8377
8402
|
* Per-call node pinning for `ctx.api` capability calls.
|
|
8378
8403
|
*
|
|
8379
8404
|
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
@@ -8927,7 +8952,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8927
8952
|
return DeviceRole;
|
|
8928
8953
|
}({});
|
|
8929
8954
|
//#endregion
|
|
8930
|
-
//#region ../types/dist/composition-
|
|
8955
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
8931
8956
|
/**
|
|
8932
8957
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8933
8958
|
*
|
|
@@ -8979,7 +9004,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
8979
9004
|
function portable(target) {
|
|
8980
9005
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
8981
9006
|
}
|
|
8982
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
9007
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
8983
9008
|
/**
|
|
8984
9009
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
8985
9010
|
* pure evaluator of its EDGE.
|
|
@@ -10554,6 +10579,15 @@ discriminatedUnion("type", [
|
|
|
10554
10579
|
message: string()
|
|
10555
10580
|
})
|
|
10556
10581
|
]);
|
|
10582
|
+
/** Every status, in the order a summary lists them. */
|
|
10583
|
+
var RETRAIN_REVIEW_STATUSES = [
|
|
10584
|
+
"unchanged",
|
|
10585
|
+
"adjusted",
|
|
10586
|
+
"reclassified",
|
|
10587
|
+
"added",
|
|
10588
|
+
"removed",
|
|
10589
|
+
"model-error"
|
|
10590
|
+
];
|
|
10557
10591
|
/**
|
|
10558
10592
|
* What the gate decided about a birth, from the CALLER's point of view.
|
|
10559
10593
|
*
|
|
@@ -12296,14 +12330,6 @@ function deriveRootSupplies(labels, classMap) {
|
|
|
12296
12330
|
}
|
|
12297
12331
|
return supplies;
|
|
12298
12332
|
}
|
|
12299
|
-
var MODEL_FORMATS = [
|
|
12300
|
-
"onnx",
|
|
12301
|
-
"coreml",
|
|
12302
|
-
"openvino",
|
|
12303
|
-
"tflite",
|
|
12304
|
-
"pt",
|
|
12305
|
-
"gguf"
|
|
12306
|
-
];
|
|
12307
12333
|
/**
|
|
12308
12334
|
* Multi-file format payload.
|
|
12309
12335
|
*
|
|
@@ -14481,6 +14507,16 @@ var BrokerClientsSchema = object({
|
|
|
14481
14507
|
/** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
|
|
14482
14508
|
encodedSubscribers: number()
|
|
14483
14509
|
});
|
|
14510
|
+
/**
|
|
14511
|
+
* How many people are watching one camera LIVE right now — see
|
|
14512
|
+
* `getLiveViewerCounts`. A camera with nobody watching is absent from the list
|
|
14513
|
+
* (so `viewers` is always at least 1): the listing carries the cameras that
|
|
14514
|
+
* have viewers, never a row of zeros.
|
|
14515
|
+
*/
|
|
14516
|
+
var LiveViewerCountSchema = object({
|
|
14517
|
+
deviceId: number().int().nonnegative(),
|
|
14518
|
+
viewers: number().int().positive()
|
|
14519
|
+
});
|
|
14484
14520
|
_enum([
|
|
14485
14521
|
"reconnecting",
|
|
14486
14522
|
"sleeping",
|
|
@@ -14841,7 +14877,7 @@ method(object({
|
|
|
14841
14877
|
}), {
|
|
14842
14878
|
kind: "mutation",
|
|
14843
14879
|
auth: "admin"
|
|
14844
|
-
}), method(object({ brokerId: string() }), BrokerClientsSchema), method(object({
|
|
14880
|
+
}), method(object({ brokerId: string() }), BrokerClientsSchema), method(_void(), array(LiveViewerCountSchema).readonly()), method(object({
|
|
14845
14881
|
brokerId: string(),
|
|
14846
14882
|
channel: _enum(["rtsp", "audio"]),
|
|
14847
14883
|
handle: string()
|
|
@@ -15817,6 +15853,38 @@ var BulkRecordSchema = object({
|
|
|
15817
15853
|
data: record(string(), unknown())
|
|
15818
15854
|
});
|
|
15819
15855
|
/**
|
|
15856
|
+
* One write inside a {@link settingsStoreCapability.methods.transact} call.
|
|
15857
|
+
* Only the three that a "replace this set, bump that revision" write needs.
|
|
15858
|
+
*/
|
|
15859
|
+
var TransactOpSchema = discriminatedUnion("op", [
|
|
15860
|
+
object({
|
|
15861
|
+
op: literal("deleteWhere"),
|
|
15862
|
+
collection: string(),
|
|
15863
|
+
filter: MutationFilterSchema
|
|
15864
|
+
}),
|
|
15865
|
+
object({
|
|
15866
|
+
op: literal("insertMany"),
|
|
15867
|
+
collection: string(),
|
|
15868
|
+
records: array(BulkRecordSchema).readonly()
|
|
15869
|
+
}),
|
|
15870
|
+
object({
|
|
15871
|
+
op: literal("update"),
|
|
15872
|
+
collection: string(),
|
|
15873
|
+
id: string(),
|
|
15874
|
+
data: record(string(), unknown())
|
|
15875
|
+
})
|
|
15876
|
+
]);
|
|
15877
|
+
/**
|
|
15878
|
+
* The precondition of a transaction: the row `key` of `collection` must hold
|
|
15879
|
+
* `equals` in `column`, read INSIDE the transaction.
|
|
15880
|
+
*/
|
|
15881
|
+
var TransactGuardSchema = object({
|
|
15882
|
+
collection: string(),
|
|
15883
|
+
key: string(),
|
|
15884
|
+
column: string(),
|
|
15885
|
+
equals: unknown()
|
|
15886
|
+
});
|
|
15887
|
+
/**
|
|
15820
15888
|
* Column declaration for a structured (SQL-backed) collection.
|
|
15821
15889
|
*
|
|
15822
15890
|
* Logical types — the backend translates each to the matching SQLite
|
|
@@ -15907,6 +15975,16 @@ id: union([string(), number()]) }), {
|
|
|
15907
15975
|
}), object({ inserted: number().int() }), {
|
|
15908
15976
|
kind: "mutation",
|
|
15909
15977
|
auth: "admin"
|
|
15978
|
+
}), method(object({
|
|
15979
|
+
namespace: string().optional(),
|
|
15980
|
+
guard: TransactGuardSchema.optional(),
|
|
15981
|
+
ops: array(TransactOpSchema).readonly()
|
|
15982
|
+
}), object({
|
|
15983
|
+
applied: boolean(),
|
|
15984
|
+
current: unknown().optional()
|
|
15985
|
+
}), {
|
|
15986
|
+
kind: "mutation",
|
|
15987
|
+
auth: "admin"
|
|
15910
15988
|
}), method(object({
|
|
15911
15989
|
namespace: string().optional(),
|
|
15912
15990
|
collection: string(),
|
|
@@ -16055,6 +16133,16 @@ id: union([string(), number()]) }), {
|
|
|
16055
16133
|
}), object({ inserted: number().int() }), {
|
|
16056
16134
|
kind: "mutation",
|
|
16057
16135
|
auth: "admin"
|
|
16136
|
+
}), method(object({
|
|
16137
|
+
namespace: string().optional(),
|
|
16138
|
+
guard: TransactGuardSchema.optional(),
|
|
16139
|
+
ops: array(TransactOpSchema).readonly()
|
|
16140
|
+
}), object({
|
|
16141
|
+
applied: boolean(),
|
|
16142
|
+
current: unknown().optional()
|
|
16143
|
+
}), {
|
|
16144
|
+
kind: "mutation",
|
|
16145
|
+
auth: "admin"
|
|
16058
16146
|
}), method(object({
|
|
16059
16147
|
namespace: string().optional(),
|
|
16060
16148
|
collection: string(),
|
|
@@ -20812,6 +20900,12 @@ var NcSystemEventKindSchema = _enum([
|
|
|
20812
20900
|
"node-updating",
|
|
20813
20901
|
"node-inference-unavailable",
|
|
20814
20902
|
"detection-blind",
|
|
20903
|
+
"recording-stalled",
|
|
20904
|
+
"recording-healthy",
|
|
20905
|
+
"recording-degraded",
|
|
20906
|
+
"storage-location-low",
|
|
20907
|
+
"storage-location-critical",
|
|
20908
|
+
"storage-location-ok",
|
|
20815
20909
|
"addon-crash-loop",
|
|
20816
20910
|
"addon-update-available",
|
|
20817
20911
|
"server-update-available",
|
|
@@ -24467,6 +24561,55 @@ var RetrainBboxSchema = object({
|
|
|
24467
24561
|
h: number()
|
|
24468
24562
|
});
|
|
24469
24563
|
/**
|
|
24564
|
+
* What a box LOOKED LIKE when it was offered, snapshotted at the moment the
|
|
24565
|
+
* operator accepted it. The saved row keeps only the final rectangle; this is
|
|
24566
|
+
* the other half of the pair, and the pair is what says whether the operator
|
|
24567
|
+
* accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
|
|
24568
|
+
*
|
|
24569
|
+
* `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
|
|
24570
|
+
* live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
|
|
24571
|
+
* and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
|
|
24572
|
+
* pipeline boxes carry the same ref every time, which is what lets a dismissal
|
|
24573
|
+
* stay dismissed.
|
|
24574
|
+
*/
|
|
24575
|
+
var RetrainOriginSchema = object({
|
|
24576
|
+
source: RetrainAnnotationSourceSchema,
|
|
24577
|
+
ref: string().min(1),
|
|
24578
|
+
bbox: RetrainBboxSchema,
|
|
24579
|
+
macroClass: RetrainMacroClassSchema,
|
|
24580
|
+
label: string().optional(),
|
|
24581
|
+
score: number().optional(),
|
|
24582
|
+
modelId: string().optional()
|
|
24583
|
+
});
|
|
24584
|
+
/**
|
|
24585
|
+
* A proposal the operator deleted. Durable on the frame, so a deleted pipeline
|
|
24586
|
+
* box does not come back as a draft every time the frame is reopened, and so
|
|
24587
|
+
* the deletion itself is a recorded fact rather than an absence.
|
|
24588
|
+
*/
|
|
24589
|
+
var RetrainDismissedSchema = object({
|
|
24590
|
+
ref: string().min(1),
|
|
24591
|
+
snapshot: RetrainOriginSchema
|
|
24592
|
+
});
|
|
24593
|
+
/** What the operator did with a proposal (see `retrain-review.ts`). */
|
|
24594
|
+
var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
|
|
24595
|
+
var RetrainFrameReviewSchema = object({
|
|
24596
|
+
boxes: array(object({
|
|
24597
|
+
ref: string(),
|
|
24598
|
+
savedId: string().optional(),
|
|
24599
|
+
status: RetrainReviewStatusSchema,
|
|
24600
|
+
/** The baseline was re-derived, not snapshotted (a pre-origin row). */
|
|
24601
|
+
approximate: boolean(),
|
|
24602
|
+
origin: RetrainOriginSchema.optional(),
|
|
24603
|
+
iou: number().optional()
|
|
24604
|
+
})).readonly(),
|
|
24605
|
+
summary: object({
|
|
24606
|
+
counts: record(RetrainReviewStatusSchema, number().int()),
|
|
24607
|
+
total: number().int(),
|
|
24608
|
+
changed: number().int(),
|
|
24609
|
+
approximate: boolean()
|
|
24610
|
+
})
|
|
24611
|
+
});
|
|
24612
|
+
/**
|
|
24470
24613
|
* One annotated subject.
|
|
24471
24614
|
*
|
|
24472
24615
|
* `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
|
|
@@ -24490,6 +24633,9 @@ var RetrainAnnotationSchema = object({
|
|
|
24490
24633
|
/** Which model proposed this box — or, on a `model_error`, drew the phantom. */
|
|
24491
24634
|
assistModelId: string().optional(),
|
|
24492
24635
|
assistScore: number().optional(),
|
|
24636
|
+
/** The proposal this box started from, snapshotted at accept time. `null` on
|
|
24637
|
+
* a row saved before origins existed; absent on a draft nobody snapshotted. */
|
|
24638
|
+
origin: RetrainOriginSchema.nullable().optional(),
|
|
24493
24639
|
exportedInBatch: string().optional(),
|
|
24494
24640
|
createdAt: number()
|
|
24495
24641
|
});
|
|
@@ -24582,7 +24728,19 @@ var RetrainFrameSchema = object({
|
|
|
24582
24728
|
* empty when nothing the track store holds can be placed on it. */
|
|
24583
24729
|
pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
|
|
24584
24730
|
/** The named collections this frame belongs to. Present on list answers. */
|
|
24585
|
-
collectionIds: array(string()).readonly().optional()
|
|
24731
|
+
collectionIds: array(string()).readonly().optional(),
|
|
24732
|
+
/** Bumped by every annotation save. A save that names a stale
|
|
24733
|
+
* `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
|
|
24734
|
+
revision: number().int().optional(),
|
|
24735
|
+
/** Proposals the operator deleted — never re-seeded as drafts. */
|
|
24736
|
+
dismissed: array(RetrainDismissedSchema).readonly().optional(),
|
|
24737
|
+
/** What the operator did with the proposals, computed by the server. */
|
|
24738
|
+
review: RetrainFrameReviewSchema.optional(),
|
|
24739
|
+
/** The frame's pixels over the admin data plane (full size). Fetch with the
|
|
24740
|
+
* admin bearer token; relative to the hub root. */
|
|
24741
|
+
imageUrl: string().optional(),
|
|
24742
|
+
/** The same, as a ~480 px thumbnail for grids. */
|
|
24743
|
+
thumbnailUrl: string().optional()
|
|
24586
24744
|
});
|
|
24587
24745
|
/** Why a copy-on-select could not be honoured — named, never a silent skip. */
|
|
24588
24746
|
var RetrainCopyRefusalSchema = _enum([
|
|
@@ -25661,10 +25819,33 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25661
25819
|
/** The frame's track, when it has one — checked against the frame. */
|
|
25662
25820
|
trackId: string().optional(),
|
|
25663
25821
|
frameId: string(),
|
|
25664
|
-
annotations: array(RetrainAnnotationDraftSchema)
|
|
25822
|
+
annotations: array(RetrainAnnotationDraftSchema),
|
|
25823
|
+
/** The frame's `revision` the caller saw. A different current revision
|
|
25824
|
+
* refuses the save with a `retrain-revision-conflict` error
|
|
25825
|
+
* (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
|
|
25826
|
+
expectedRevision: number().int().optional(),
|
|
25827
|
+
/** The proposals the operator deleted. Absent ⇒ keep the frame's
|
|
25828
|
+
* current set; present ⇒ replace it (an empty array un-dismisses). */
|
|
25829
|
+
dismissed: array(RetrainDismissedSchema).optional()
|
|
25665
25830
|
}), array(RetrainAnnotationSchema).readonly(), {
|
|
25666
25831
|
kind: "mutation",
|
|
25667
25832
|
auth: "admin"
|
|
25833
|
+
}), method(object({
|
|
25834
|
+
deviceId: number(),
|
|
25835
|
+
trackId: string().optional(),
|
|
25836
|
+
frameId: string(),
|
|
25837
|
+
expectedRevision: number().int().optional(),
|
|
25838
|
+
origins: array(object({
|
|
25839
|
+
annotationId: string(),
|
|
25840
|
+
origin: RetrainOriginSchema
|
|
25841
|
+
})).min(1).max(500)
|
|
25842
|
+
}), object({
|
|
25843
|
+
updated: number().int(),
|
|
25844
|
+
skipped: number().int(),
|
|
25845
|
+
revision: number().int()
|
|
25846
|
+
}), {
|
|
25847
|
+
kind: "mutation",
|
|
25848
|
+
auth: "admin"
|
|
25668
25849
|
}), method(object({
|
|
25669
25850
|
deviceId: number(),
|
|
25670
25851
|
trackId: string()
|
|
@@ -28280,6 +28461,12 @@ var CameraStepOverridePatchSchema = object({
|
|
|
28280
28461
|
settings: record(string(), unknown()).readonly().optional()
|
|
28281
28462
|
});
|
|
28282
28463
|
var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
|
|
28464
|
+
/** The three root-detector choices a camera has (D507: at most one root). */
|
|
28465
|
+
var CameraDetectionSourceSchema = _enum([
|
|
28466
|
+
"pipeline",
|
|
28467
|
+
"onboard",
|
|
28468
|
+
"none"
|
|
28469
|
+
]);
|
|
28283
28470
|
var CameraPipelineSettingsSchema = object({
|
|
28284
28471
|
stepToggles: record(string(), boolean()).optional(),
|
|
28285
28472
|
stepSettings: CameraStepSettingsSchema.optional(),
|
|
@@ -28857,6 +29044,26 @@ method(object({
|
|
|
28857
29044
|
}), object({ success: literal(true) }), {
|
|
28858
29045
|
kind: "mutation",
|
|
28859
29046
|
auth: "admin"
|
|
29047
|
+
}), method(object({ deviceId: number() }), object({
|
|
29048
|
+
source: CameraDetectionSourceSchema,
|
|
29049
|
+
explicit: boolean(),
|
|
29050
|
+
onboard: object({
|
|
29051
|
+
/** The camera has an onboard detector this system can read. */
|
|
29052
|
+
available: boolean(),
|
|
29053
|
+
/** What its detections carry — a camera with no box cannot be a root step. */
|
|
29054
|
+
geometry: _enum([
|
|
29055
|
+
"boxed",
|
|
29056
|
+
"while-streaming",
|
|
29057
|
+
"flag-only",
|
|
29058
|
+
"unknown"
|
|
29059
|
+
])
|
|
29060
|
+
})
|
|
29061
|
+
})), method(object({
|
|
29062
|
+
deviceId: number(),
|
|
29063
|
+
source: CameraDetectionSourceSchema
|
|
29064
|
+
}), object({ success: literal(true) }), {
|
|
29065
|
+
kind: "mutation",
|
|
29066
|
+
auth: "admin"
|
|
28860
29067
|
}), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
|
|
28861
29068
|
deviceId: number(),
|
|
28862
29069
|
agentNodeId: string(),
|
|
@@ -32188,6 +32395,17 @@ var BatteryStatusSchema = object({
|
|
|
32188
32395
|
*/
|
|
32189
32396
|
lastContactAt: number().optional(),
|
|
32190
32397
|
/**
|
|
32398
|
+
* Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
|
|
32399
|
+
* holds for the device (level, charging, link, device info, state slices) and
|
|
32400
|
+
* its cached snapshot, read together. Absent = never since this slice was
|
|
32401
|
+
* born. Unlike `lastUpdated` (any write, even a push of one field) this is
|
|
32402
|
+
* the staleness an operator can trust: the provider owns the device fact and
|
|
32403
|
+
* so owns the window on its age (D224, D847). Not a clock in the
|
|
32404
|
+
* runtime-state-durability sense: it moves once per window and must survive
|
|
32405
|
+
* a restart, or every restart would owe the camera a wake.
|
|
32406
|
+
*/
|
|
32407
|
+
lastFullRefreshAt: number().optional(),
|
|
32408
|
+
/**
|
|
32191
32409
|
* True when the source is a BINARY low-battery indicator (HA
|
|
32192
32410
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
32193
32411
|
* charge level — `percentage` is then a coarse stand-in (100 = normal,
|
|
@@ -35403,7 +35621,14 @@ var TopologyNodeSchema = object({
|
|
|
35403
35621
|
* completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
|
|
35404
35622
|
* for offline rows and when the hub cannot tell.
|
|
35405
35623
|
*/
|
|
35406
|
-
meshTransport: _enum(["tls", "clear"]).optional()
|
|
35624
|
+
meshTransport: _enum(["tls", "clear"]).optional(),
|
|
35625
|
+
/**
|
|
35626
|
+
* Whether the hub holds this online AGENT's capability registration (its
|
|
35627
|
+
* `registerNode` manifest). `false` = online in the mesh but not ready: the
|
|
35628
|
+
* hub dropped the registration on a disconnect only it saw and the agent has
|
|
35629
|
+
* not re-sent it. Absent for the hub and offline rows.
|
|
35630
|
+
*/
|
|
35631
|
+
capabilitiesRegistered: boolean().optional()
|
|
35407
35632
|
});
|
|
35408
35633
|
var CapUsageEdgeSchema = object({
|
|
35409
35634
|
callerAddonId: string(),
|
|
@@ -42039,6 +42264,12 @@ Object.freeze({
|
|
|
42039
42264
|
addonId: null,
|
|
42040
42265
|
access: "create"
|
|
42041
42266
|
},
|
|
42267
|
+
"dataStoreProvider.transact": {
|
|
42268
|
+
capName: "data-store-provider",
|
|
42269
|
+
capScope: "system",
|
|
42270
|
+
addonId: null,
|
|
42271
|
+
access: "create"
|
|
42272
|
+
},
|
|
42042
42273
|
"dataStoreProvider.update": {
|
|
42043
42274
|
capName: "data-store-provider",
|
|
42044
42275
|
capScope: "system",
|
|
@@ -44883,6 +45114,12 @@ Object.freeze({
|
|
|
44883
45114
|
addonId: null,
|
|
44884
45115
|
access: "create"
|
|
44885
45116
|
},
|
|
45117
|
+
"pipelineAnalytics.backfillRetrainOrigins": {
|
|
45118
|
+
capName: "pipeline-analytics",
|
|
45119
|
+
capScope: "device",
|
|
45120
|
+
addonId: null,
|
|
45121
|
+
access: "create"
|
|
45122
|
+
},
|
|
44886
45123
|
"pipelineAnalytics.cancelRelocateMedia": {
|
|
44887
45124
|
capName: "pipeline-analytics",
|
|
44888
45125
|
capScope: "device",
|
|
@@ -45663,6 +45900,12 @@ Object.freeze({
|
|
|
45663
45900
|
addonId: null,
|
|
45664
45901
|
access: "view"
|
|
45665
45902
|
},
|
|
45903
|
+
"pipelineOrchestrator.getCameraDetectionSource": {
|
|
45904
|
+
capName: "pipeline-orchestrator",
|
|
45905
|
+
capScope: "system",
|
|
45906
|
+
addonId: null,
|
|
45907
|
+
access: "view"
|
|
45908
|
+
},
|
|
45666
45909
|
"pipelineOrchestrator.getCameraMetrics": {
|
|
45667
45910
|
capName: "pipeline-orchestrator",
|
|
45668
45911
|
capScope: "system",
|
|
@@ -45891,6 +46134,12 @@ Object.freeze({
|
|
|
45891
46134
|
addonId: null,
|
|
45892
46135
|
access: "create"
|
|
45893
46136
|
},
|
|
46137
|
+
"pipelineOrchestrator.setCameraDetectionSource": {
|
|
46138
|
+
capName: "pipeline-orchestrator",
|
|
46139
|
+
capScope: "system",
|
|
46140
|
+
addonId: null,
|
|
46141
|
+
access: "create"
|
|
46142
|
+
},
|
|
45894
46143
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
45895
46144
|
capName: "pipeline-orchestrator",
|
|
45896
46145
|
capScope: "system",
|
|
@@ -46863,6 +47112,12 @@ Object.freeze({
|
|
|
46863
47112
|
addonId: null,
|
|
46864
47113
|
access: "create"
|
|
46865
47114
|
},
|
|
47115
|
+
"settingsStore.transact": {
|
|
47116
|
+
capName: "settings-store",
|
|
47117
|
+
capScope: "system",
|
|
47118
|
+
addonId: null,
|
|
47119
|
+
access: "create"
|
|
47120
|
+
},
|
|
46866
47121
|
"settingsStore.update": {
|
|
46867
47122
|
capName: "settings-store",
|
|
46868
47123
|
capScope: "system",
|
|
@@ -47343,6 +47598,12 @@ Object.freeze({
|
|
|
47343
47598
|
addonId: null,
|
|
47344
47599
|
access: "view"
|
|
47345
47600
|
},
|
|
47601
|
+
"streamBroker.getLiveViewerCounts": {
|
|
47602
|
+
capName: "stream-broker",
|
|
47603
|
+
capScope: "system",
|
|
47604
|
+
addonId: null,
|
|
47605
|
+
access: "view"
|
|
47606
|
+
},
|
|
47346
47607
|
"streamBroker.getPreBufferInfo": {
|
|
47347
47608
|
capName: "stream-broker",
|
|
47348
47609
|
capScope: "system",
|
|
@@ -51183,6 +51444,11 @@ Object.freeze({
|
|
|
51183
51444
|
form: "single",
|
|
51184
51445
|
optional: false
|
|
51185
51446
|
}],
|
|
51447
|
+
"pipelineAnalytics.backfillRetrainOrigins": [{
|
|
51448
|
+
name: "deviceId",
|
|
51449
|
+
form: "single",
|
|
51450
|
+
optional: false
|
|
51451
|
+
}],
|
|
51186
51452
|
"pipelineAnalytics.clearTrackRelation": [{
|
|
51187
51453
|
name: "deviceId",
|
|
51188
51454
|
form: "single",
|
|
@@ -51488,6 +51754,11 @@ Object.freeze({
|
|
|
51488
51754
|
form: "single",
|
|
51489
51755
|
optional: false
|
|
51490
51756
|
}],
|
|
51757
|
+
"pipelineOrchestrator.getCameraDetectionSource": [{
|
|
51758
|
+
name: "deviceId",
|
|
51759
|
+
form: "single",
|
|
51760
|
+
optional: false
|
|
51761
|
+
}],
|
|
51491
51762
|
"pipelineOrchestrator.getCameraMetrics": [{
|
|
51492
51763
|
name: "deviceId",
|
|
51493
51764
|
form: "single",
|
|
@@ -51548,6 +51819,11 @@ Object.freeze({
|
|
|
51548
51819
|
form: "single",
|
|
51549
51820
|
optional: false
|
|
51550
51821
|
}],
|
|
51822
|
+
"pipelineOrchestrator.setCameraDetectionSource": [{
|
|
51823
|
+
name: "deviceId",
|
|
51824
|
+
form: "single",
|
|
51825
|
+
optional: false
|
|
51826
|
+
}],
|
|
51551
51827
|
"pipelineOrchestrator.setCameraPipelineForAgent": [{
|
|
51552
51828
|
name: "deviceId",
|
|
51553
51829
|
form: "single",
|
|
@@ -52577,6 +52853,9 @@ new Map(Object.entries({
|
|
|
52577
52853
|
"stream-online": "device-events",
|
|
52578
52854
|
"stream-offline": "device-events",
|
|
52579
52855
|
"detection-blind": "device-events",
|
|
52856
|
+
"recording-stalled": "device-events",
|
|
52857
|
+
"recording-healthy": "device-events",
|
|
52858
|
+
"recording-degraded": "device-events",
|
|
52580
52859
|
"node-online": "system",
|
|
52581
52860
|
"node-offline": "system",
|
|
52582
52861
|
"node-restarting": "system",
|
|
@@ -52590,6 +52869,9 @@ new Map(Object.entries({
|
|
|
52590
52869
|
"wrapper-update-available": "system",
|
|
52591
52870
|
"backup-completed": "system",
|
|
52592
52871
|
"export-completed": "system",
|
|
52872
|
+
"storage-location-low": "system",
|
|
52873
|
+
"storage-location-critical": "system",
|
|
52874
|
+
"storage-location-ok": "system",
|
|
52593
52875
|
"alarm-triggered": "alarm",
|
|
52594
52876
|
"alarm-armed": "alarm",
|
|
52595
52877
|
"alarm-disarmed": "alarm",
|
|
@@ -52651,6 +52933,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52651
52933
|
label: "Detecting nothing",
|
|
52652
52934
|
kinds: ["detection-blind"]
|
|
52653
52935
|
},
|
|
52936
|
+
{
|
|
52937
|
+
id: "recording",
|
|
52938
|
+
family: "device-events",
|
|
52939
|
+
label: "Recording",
|
|
52940
|
+
kinds: [
|
|
52941
|
+
"recording-stalled",
|
|
52942
|
+
"recording-healthy",
|
|
52943
|
+
"recording-degraded"
|
|
52944
|
+
]
|
|
52945
|
+
},
|
|
52654
52946
|
{
|
|
52655
52947
|
id: "nodes",
|
|
52656
52948
|
family: "system",
|
|
@@ -52691,6 +52983,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52691
52983
|
label: "Backups & exports",
|
|
52692
52984
|
kinds: ["backup-completed", "export-completed"]
|
|
52693
52985
|
},
|
|
52986
|
+
{
|
|
52987
|
+
id: "storage",
|
|
52988
|
+
family: "system",
|
|
52989
|
+
label: "Storage locations",
|
|
52990
|
+
kinds: [
|
|
52991
|
+
"storage-location-low",
|
|
52992
|
+
"storage-location-critical",
|
|
52993
|
+
"storage-location-ok"
|
|
52994
|
+
]
|
|
52995
|
+
},
|
|
52694
52996
|
{
|
|
52695
52997
|
id: "alarm",
|
|
52696
52998
|
family: "alarm",
|
|
@@ -52773,6 +53075,9 @@ var DEVICE_EVENTS = [
|
|
|
52773
53075
|
"stream-online",
|
|
52774
53076
|
"stream-offline",
|
|
52775
53077
|
"detection-blind",
|
|
53078
|
+
"recording-stalled",
|
|
53079
|
+
"recording-healthy",
|
|
53080
|
+
"recording-degraded",
|
|
52776
53081
|
...ALARM
|
|
52777
53082
|
];
|
|
52778
53083
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -52940,6 +53245,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
52940
53245
|
[...RULE_TEXT],
|
|
52941
53246
|
[...RULE_TEXT],
|
|
52942
53247
|
[...RULE_TEXT],
|
|
53248
|
+
[...RULE_TEXT],
|
|
53249
|
+
[...RULE_TEXT],
|
|
53250
|
+
[...RULE_TEXT],
|
|
53251
|
+
[...RULE_TEXT],
|
|
53252
|
+
[...RULE_TEXT],
|
|
52943
53253
|
([...RULE_TEXT], [...UPDATES]),
|
|
52944
53254
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
52945
53255
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|