@camstack/addon-training 0.1.32 → 0.1.34
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-BuF39hJ1.mjs → MotionZonesSettings-DmGil-Sd.mjs} +3 -3
- package/dist/{PrivacyMaskSettings-DxR_4RPW.mjs → PrivacyMaskSettings--gz2eSGB.mjs} +4 -4
- package/dist/{SceneMonitorEditor-CWQq_WMo.mjs → SceneMonitorEditor-CslVp3Z2.mjs} +3 -3
- package/dist/_stub.js +13 -13
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-C1xkMgny.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BeFr_KhE.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DnH0udRu.mjs +26 -0
- package/dist/addon-training.css +1 -1
- package/dist/{dist-DYyJbH-C.mjs → dist-8focs11m.mjs} +153 -14
- package/dist/{dist-BNDgFezD.js → dist-BH64IPHN.js} +153 -14
- package/dist/{grid-2x2-Cm6Xp3uQ.mjs → grid-2x2-qyJL_j_g.mjs} +1 -1
- package/dist/{hostInit-ov0IGtQc.mjs → hostInit-B8LEaHwH.mjs} +2 -2
- package/dist/index.js +1 -1
- package/dist/orchestrator/training.addon.js +11 -2
- package/dist/orchestrator/training.addon.mjs +11 -2
- package/dist/{player-overlays-CisFNRCY.mjs → player-overlays-CCJGDv3A.mjs} +1 -1
- package/dist/providers/modal/training-modal.addon.js +1 -1
- package/dist/providers/modal/training-modal.addon.mjs +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-50H8qy3U.mjs → responsive-BVIV-dmc.mjs} +1 -1
- package/dist/{scene-monitor-copy-BEqFU51P.mjs → scene-monitor-copy-Be4537Z1.mjs} +1 -1
- package/dist/{square-BpNW7PQH.mjs → square-GyEX7ul6.mjs} +1 -1
- package/dist/{trash-2-n-JZcYiP.mjs → trash-2-BpoLIu7c.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-DrrIkvY9.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CkcnEQXW.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CaCR_8wR.mjs +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-C4hVnRo8.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -218,7 +218,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
218
218
|
EventCategory["RecordingStopped"] = "recording.stopped";
|
|
219
219
|
EventCategory["RecordingError"] = "recording.error";
|
|
220
220
|
EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
|
|
221
|
+
/** Recording enabled but no segment finalized for the NC stall window. */
|
|
222
|
+
EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
|
|
223
|
+
/** Recovery from {@link RecordingHealthStalled}. */
|
|
224
|
+
EventCategory["RecordingHealthOk"] = "recording.health.ok";
|
|
221
225
|
EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
|
|
226
|
+
/** Free space on a storage location crossed the warn bar. */
|
|
227
|
+
EventCategory["StorageLocationLow"] = "storage.location.low";
|
|
228
|
+
/** Free space at/under the critical bar, or capacity probe failed (`null`). */
|
|
229
|
+
EventCategory["StorageLocationCritical"] = "storage.location.critical";
|
|
230
|
+
/** Recovery from low/critical on a storage location. */
|
|
231
|
+
EventCategory["StorageLocationOk"] = "storage.location.ok";
|
|
222
232
|
EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
|
|
223
233
|
EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
|
|
224
234
|
EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
|
|
@@ -5377,7 +5387,7 @@ var ZodIssueCode = {
|
|
|
5377
5387
|
var ZodFirstPartyTypeKind;
|
|
5378
5388
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5379
5389
|
//#endregion
|
|
5380
|
-
//#region ../types/dist/sleep-
|
|
5390
|
+
//#region ../types/dist/sleep-B_3F_YwS.mjs
|
|
5381
5391
|
/**
|
|
5382
5392
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5383
5393
|
* window to float samples (D455).
|
|
@@ -7978,6 +7988,21 @@ var ProfileRtspEntrySchema = object({
|
|
|
7978
7988
|
codec: string().optional(),
|
|
7979
7989
|
resolution: CamStreamResolutionSchema.optional()
|
|
7980
7990
|
});
|
|
7991
|
+
/**
|
|
7992
|
+
* The model weight formats a catalog entry can ship. Schema-free on purpose:
|
|
7993
|
+
* `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
|
|
7994
|
+
* (the model downloader in `@camstack/system`) needs only the list and must
|
|
7995
|
+
* reach it through `@camstack/types/addon` without building the cap schema
|
|
7996
|
+
* graph (D28).
|
|
7997
|
+
*/
|
|
7998
|
+
var MODEL_FORMATS = [
|
|
7999
|
+
"onnx",
|
|
8000
|
+
"coreml",
|
|
8001
|
+
"openvino",
|
|
8002
|
+
"tflite",
|
|
8003
|
+
"pt",
|
|
8004
|
+
"gguf"
|
|
8005
|
+
];
|
|
7981
8006
|
object({
|
|
7982
8007
|
field: string().min(1),
|
|
7983
8008
|
on: literal("advance")
|
|
@@ -8451,7 +8476,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8451
8476
|
return DeviceRole;
|
|
8452
8477
|
}({});
|
|
8453
8478
|
//#endregion
|
|
8454
|
-
//#region ../types/dist/composition-
|
|
8479
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
8455
8480
|
/**
|
|
8456
8481
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8457
8482
|
*
|
|
@@ -8503,7 +8528,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
8503
8528
|
function portable(target) {
|
|
8504
8529
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
8505
8530
|
}
|
|
8506
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
8531
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
8507
8532
|
/**
|
|
8508
8533
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
8509
8534
|
* pure evaluator of its EDGE.
|
|
@@ -11713,14 +11738,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
|
11713
11738
|
...CROP_SUPPLY_STEP_IDS,
|
|
11714
11739
|
...MASK_SUPPLY_STEP_IDS
|
|
11715
11740
|
];
|
|
11716
|
-
var MODEL_FORMATS = [
|
|
11717
|
-
"onnx",
|
|
11718
|
-
"coreml",
|
|
11719
|
-
"openvino",
|
|
11720
|
-
"tflite",
|
|
11721
|
-
"pt",
|
|
11722
|
-
"gguf"
|
|
11723
|
-
];
|
|
11724
11741
|
/**
|
|
11725
11742
|
* Multi-file format payload.
|
|
11726
11743
|
*
|
|
@@ -13884,6 +13901,16 @@ var BrokerClientsSchema = object({
|
|
|
13884
13901
|
/** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
|
|
13885
13902
|
encodedSubscribers: number()
|
|
13886
13903
|
});
|
|
13904
|
+
/**
|
|
13905
|
+
* How many people are watching one camera LIVE right now — see
|
|
13906
|
+
* `getLiveViewerCounts`. A camera with nobody watching is absent from the list
|
|
13907
|
+
* (so `viewers` is always at least 1): the listing carries the cameras that
|
|
13908
|
+
* have viewers, never a row of zeros.
|
|
13909
|
+
*/
|
|
13910
|
+
var LiveViewerCountSchema = object({
|
|
13911
|
+
deviceId: number().int().nonnegative(),
|
|
13912
|
+
viewers: number().int().positive()
|
|
13913
|
+
});
|
|
13887
13914
|
_enum([
|
|
13888
13915
|
"reconnecting",
|
|
13889
13916
|
"sleeping",
|
|
@@ -14244,7 +14271,7 @@ method(object({
|
|
|
14244
14271
|
}), {
|
|
14245
14272
|
kind: "mutation",
|
|
14246
14273
|
auth: "admin"
|
|
14247
|
-
}), method(object({ brokerId: string() }), BrokerClientsSchema), method(object({
|
|
14274
|
+
}), method(object({ brokerId: string() }), BrokerClientsSchema), method(_void(), array(LiveViewerCountSchema).readonly()), method(object({
|
|
14248
14275
|
brokerId: string(),
|
|
14249
14276
|
channel: _enum(["rtsp", "audio"]),
|
|
14250
14277
|
handle: string()
|
|
@@ -20181,6 +20208,12 @@ var NcSystemEventKindSchema = _enum([
|
|
|
20181
20208
|
"node-updating",
|
|
20182
20209
|
"node-inference-unavailable",
|
|
20183
20210
|
"detection-blind",
|
|
20211
|
+
"recording-stalled",
|
|
20212
|
+
"recording-healthy",
|
|
20213
|
+
"recording-degraded",
|
|
20214
|
+
"storage-location-low",
|
|
20215
|
+
"storage-location-critical",
|
|
20216
|
+
"storage-location-ok",
|
|
20184
20217
|
"addon-crash-loop",
|
|
20185
20218
|
"addon-update-available",
|
|
20186
20219
|
"server-update-available",
|
|
@@ -27649,6 +27682,12 @@ var CameraStepOverridePatchSchema = object({
|
|
|
27649
27682
|
settings: record(string(), unknown()).readonly().optional()
|
|
27650
27683
|
});
|
|
27651
27684
|
var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
|
|
27685
|
+
/** The three root-detector choices a camera has (D507: at most one root). */
|
|
27686
|
+
var CameraDetectionSourceSchema = _enum([
|
|
27687
|
+
"pipeline",
|
|
27688
|
+
"onboard",
|
|
27689
|
+
"none"
|
|
27690
|
+
]);
|
|
27652
27691
|
var CameraPipelineSettingsSchema = object({
|
|
27653
27692
|
stepToggles: record(string(), boolean()).optional(),
|
|
27654
27693
|
stepSettings: CameraStepSettingsSchema.optional(),
|
|
@@ -28226,6 +28265,26 @@ method(object({
|
|
|
28226
28265
|
}), object({ success: literal(true) }), {
|
|
28227
28266
|
kind: "mutation",
|
|
28228
28267
|
auth: "admin"
|
|
28268
|
+
}), method(object({ deviceId: number() }), object({
|
|
28269
|
+
source: CameraDetectionSourceSchema,
|
|
28270
|
+
explicit: boolean(),
|
|
28271
|
+
onboard: object({
|
|
28272
|
+
/** The camera has an onboard detector this system can read. */
|
|
28273
|
+
available: boolean(),
|
|
28274
|
+
/** What its detections carry — a camera with no box cannot be a root step. */
|
|
28275
|
+
geometry: _enum([
|
|
28276
|
+
"boxed",
|
|
28277
|
+
"while-streaming",
|
|
28278
|
+
"flag-only",
|
|
28279
|
+
"unknown"
|
|
28280
|
+
])
|
|
28281
|
+
})
|
|
28282
|
+
})), method(object({
|
|
28283
|
+
deviceId: number(),
|
|
28284
|
+
source: CameraDetectionSourceSchema
|
|
28285
|
+
}), object({ success: literal(true) }), {
|
|
28286
|
+
kind: "mutation",
|
|
28287
|
+
auth: "admin"
|
|
28229
28288
|
}), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
|
|
28230
28289
|
deviceId: number(),
|
|
28231
28290
|
agentNodeId: string(),
|
|
@@ -31557,6 +31616,17 @@ var BatteryStatusSchema = object({
|
|
|
31557
31616
|
*/
|
|
31558
31617
|
lastContactAt: number().optional(),
|
|
31559
31618
|
/**
|
|
31619
|
+
* Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
|
|
31620
|
+
* holds for the device (level, charging, link, device info, state slices) and
|
|
31621
|
+
* its cached snapshot, read together. Absent = never since this slice was
|
|
31622
|
+
* born. Unlike `lastUpdated` (any write, even a push of one field) this is
|
|
31623
|
+
* the staleness an operator can trust: the provider owns the device fact and
|
|
31624
|
+
* so owns the window on its age (D224, D847). Not a clock in the
|
|
31625
|
+
* runtime-state-durability sense: it moves once per window and must survive
|
|
31626
|
+
* a restart, or every restart would owe the camera a wake.
|
|
31627
|
+
*/
|
|
31628
|
+
lastFullRefreshAt: number().optional(),
|
|
31629
|
+
/**
|
|
31560
31630
|
* True when the source is a BINARY low-battery indicator (HA
|
|
31561
31631
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
31562
31632
|
* charge level — `percentage` is then a coarse stand-in (100 = normal,
|
|
@@ -34772,7 +34842,14 @@ var TopologyNodeSchema = object({
|
|
|
34772
34842
|
* completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
|
|
34773
34843
|
* for offline rows and when the hub cannot tell.
|
|
34774
34844
|
*/
|
|
34775
|
-
meshTransport: _enum(["tls", "clear"]).optional()
|
|
34845
|
+
meshTransport: _enum(["tls", "clear"]).optional(),
|
|
34846
|
+
/**
|
|
34847
|
+
* Whether the hub holds this online AGENT's capability registration (its
|
|
34848
|
+
* `registerNode` manifest). `false` = online in the mesh but not ready: the
|
|
34849
|
+
* hub dropped the registration on a disconnect only it saw and the agent has
|
|
34850
|
+
* not re-sent it. Absent for the hub and offline rows.
|
|
34851
|
+
*/
|
|
34852
|
+
capabilitiesRegistered: boolean().optional()
|
|
34776
34853
|
});
|
|
34777
34854
|
var CapUsageEdgeSchema = object({
|
|
34778
34855
|
callerAddonId: string(),
|
|
@@ -45034,6 +45111,12 @@ Object.freeze({
|
|
|
45034
45111
|
addonId: null,
|
|
45035
45112
|
access: "view"
|
|
45036
45113
|
},
|
|
45114
|
+
"pipelineOrchestrator.getCameraDetectionSource": {
|
|
45115
|
+
capName: "pipeline-orchestrator",
|
|
45116
|
+
capScope: "system",
|
|
45117
|
+
addonId: null,
|
|
45118
|
+
access: "view"
|
|
45119
|
+
},
|
|
45037
45120
|
"pipelineOrchestrator.getCameraMetrics": {
|
|
45038
45121
|
capName: "pipeline-orchestrator",
|
|
45039
45122
|
capScope: "system",
|
|
@@ -45262,6 +45345,12 @@ Object.freeze({
|
|
|
45262
45345
|
addonId: null,
|
|
45263
45346
|
access: "create"
|
|
45264
45347
|
},
|
|
45348
|
+
"pipelineOrchestrator.setCameraDetectionSource": {
|
|
45349
|
+
capName: "pipeline-orchestrator",
|
|
45350
|
+
capScope: "system",
|
|
45351
|
+
addonId: null,
|
|
45352
|
+
access: "create"
|
|
45353
|
+
},
|
|
45265
45354
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
45266
45355
|
capName: "pipeline-orchestrator",
|
|
45267
45356
|
capScope: "system",
|
|
@@ -46714,6 +46803,12 @@ Object.freeze({
|
|
|
46714
46803
|
addonId: null,
|
|
46715
46804
|
access: "view"
|
|
46716
46805
|
},
|
|
46806
|
+
"streamBroker.getLiveViewerCounts": {
|
|
46807
|
+
capName: "stream-broker",
|
|
46808
|
+
capScope: "system",
|
|
46809
|
+
addonId: null,
|
|
46810
|
+
access: "view"
|
|
46811
|
+
},
|
|
46717
46812
|
"streamBroker.getPreBufferInfo": {
|
|
46718
46813
|
capName: "stream-broker",
|
|
46719
46814
|
capScope: "system",
|
|
@@ -50859,6 +50954,11 @@ Object.freeze({
|
|
|
50859
50954
|
form: "single",
|
|
50860
50955
|
optional: false
|
|
50861
50956
|
}],
|
|
50957
|
+
"pipelineOrchestrator.getCameraDetectionSource": [{
|
|
50958
|
+
name: "deviceId",
|
|
50959
|
+
form: "single",
|
|
50960
|
+
optional: false
|
|
50961
|
+
}],
|
|
50862
50962
|
"pipelineOrchestrator.getCameraMetrics": [{
|
|
50863
50963
|
name: "deviceId",
|
|
50864
50964
|
form: "single",
|
|
@@ -50919,6 +51019,11 @@ Object.freeze({
|
|
|
50919
51019
|
form: "single",
|
|
50920
51020
|
optional: false
|
|
50921
51021
|
}],
|
|
51022
|
+
"pipelineOrchestrator.setCameraDetectionSource": [{
|
|
51023
|
+
name: "deviceId",
|
|
51024
|
+
form: "single",
|
|
51025
|
+
optional: false
|
|
51026
|
+
}],
|
|
50922
51027
|
"pipelineOrchestrator.setCameraPipelineForAgent": [{
|
|
50923
51028
|
name: "deviceId",
|
|
50924
51029
|
form: "single",
|
|
@@ -51948,6 +52053,9 @@ new Map(Object.entries({
|
|
|
51948
52053
|
"stream-online": "device-events",
|
|
51949
52054
|
"stream-offline": "device-events",
|
|
51950
52055
|
"detection-blind": "device-events",
|
|
52056
|
+
"recording-stalled": "device-events",
|
|
52057
|
+
"recording-healthy": "device-events",
|
|
52058
|
+
"recording-degraded": "device-events",
|
|
51951
52059
|
"node-online": "system",
|
|
51952
52060
|
"node-offline": "system",
|
|
51953
52061
|
"node-restarting": "system",
|
|
@@ -51961,6 +52069,9 @@ new Map(Object.entries({
|
|
|
51961
52069
|
"wrapper-update-available": "system",
|
|
51962
52070
|
"backup-completed": "system",
|
|
51963
52071
|
"export-completed": "system",
|
|
52072
|
+
"storage-location-low": "system",
|
|
52073
|
+
"storage-location-critical": "system",
|
|
52074
|
+
"storage-location-ok": "system",
|
|
51964
52075
|
"alarm-triggered": "alarm",
|
|
51965
52076
|
"alarm-armed": "alarm",
|
|
51966
52077
|
"alarm-disarmed": "alarm",
|
|
@@ -52022,6 +52133,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52022
52133
|
label: "Detecting nothing",
|
|
52023
52134
|
kinds: ["detection-blind"]
|
|
52024
52135
|
},
|
|
52136
|
+
{
|
|
52137
|
+
id: "recording",
|
|
52138
|
+
family: "device-events",
|
|
52139
|
+
label: "Recording",
|
|
52140
|
+
kinds: [
|
|
52141
|
+
"recording-stalled",
|
|
52142
|
+
"recording-healthy",
|
|
52143
|
+
"recording-degraded"
|
|
52144
|
+
]
|
|
52145
|
+
},
|
|
52025
52146
|
{
|
|
52026
52147
|
id: "nodes",
|
|
52027
52148
|
family: "system",
|
|
@@ -52062,6 +52183,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52062
52183
|
label: "Backups & exports",
|
|
52063
52184
|
kinds: ["backup-completed", "export-completed"]
|
|
52064
52185
|
},
|
|
52186
|
+
{
|
|
52187
|
+
id: "storage",
|
|
52188
|
+
family: "system",
|
|
52189
|
+
label: "Storage locations",
|
|
52190
|
+
kinds: [
|
|
52191
|
+
"storage-location-low",
|
|
52192
|
+
"storage-location-critical",
|
|
52193
|
+
"storage-location-ok"
|
|
52194
|
+
]
|
|
52195
|
+
},
|
|
52065
52196
|
{
|
|
52066
52197
|
id: "alarm",
|
|
52067
52198
|
family: "alarm",
|
|
@@ -52144,6 +52275,9 @@ var DEVICE_EVENTS = [
|
|
|
52144
52275
|
"stream-online",
|
|
52145
52276
|
"stream-offline",
|
|
52146
52277
|
"detection-blind",
|
|
52278
|
+
"recording-stalled",
|
|
52279
|
+
"recording-healthy",
|
|
52280
|
+
"recording-degraded",
|
|
52147
52281
|
...ALARM
|
|
52148
52282
|
];
|
|
52149
52283
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -52311,6 +52445,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
52311
52445
|
[...RULE_TEXT],
|
|
52312
52446
|
[...RULE_TEXT],
|
|
52313
52447
|
[...RULE_TEXT],
|
|
52448
|
+
[...RULE_TEXT],
|
|
52449
|
+
[...RULE_TEXT],
|
|
52450
|
+
[...RULE_TEXT],
|
|
52451
|
+
[...RULE_TEXT],
|
|
52452
|
+
[...RULE_TEXT],
|
|
52314
52453
|
([...RULE_TEXT], [...UPDATES]),
|
|
52315
52454
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
52316
52455
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
@@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
32
32
|
}) : target, mod));
|
|
33
33
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
34
|
require("node:crypto");
|
|
35
|
-
//#region ../types/dist/event-category-
|
|
35
|
+
//#region ../types/dist/event-category-C4hVnRo8.mjs
|
|
36
36
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
37
37
|
EventCategory["SystemBoot"] = "system.boot";
|
|
38
38
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -251,7 +251,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
251
251
|
EventCategory["RecordingStopped"] = "recording.stopped";
|
|
252
252
|
EventCategory["RecordingError"] = "recording.error";
|
|
253
253
|
EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
|
|
254
|
+
/** Recording enabled but no segment finalized for the NC stall window. */
|
|
255
|
+
EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
|
|
256
|
+
/** Recovery from {@link RecordingHealthStalled}. */
|
|
257
|
+
EventCategory["RecordingHealthOk"] = "recording.health.ok";
|
|
254
258
|
EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
|
|
259
|
+
/** Free space on a storage location crossed the warn bar. */
|
|
260
|
+
EventCategory["StorageLocationLow"] = "storage.location.low";
|
|
261
|
+
/** Free space at/under the critical bar, or capacity probe failed (`null`). */
|
|
262
|
+
EventCategory["StorageLocationCritical"] = "storage.location.critical";
|
|
263
|
+
/** Recovery from low/critical on a storage location. */
|
|
264
|
+
EventCategory["StorageLocationOk"] = "storage.location.ok";
|
|
255
265
|
EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
|
|
256
266
|
EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
|
|
257
267
|
EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
|
|
@@ -5410,7 +5420,7 @@ var ZodIssueCode = {
|
|
|
5410
5420
|
var ZodFirstPartyTypeKind;
|
|
5411
5421
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5412
5422
|
//#endregion
|
|
5413
|
-
//#region ../types/dist/sleep-
|
|
5423
|
+
//#region ../types/dist/sleep-B_3F_YwS.mjs
|
|
5414
5424
|
/**
|
|
5415
5425
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5416
5426
|
* window to float samples (D455).
|
|
@@ -8011,6 +8021,21 @@ var ProfileRtspEntrySchema = object({
|
|
|
8011
8021
|
codec: string().optional(),
|
|
8012
8022
|
resolution: CamStreamResolutionSchema.optional()
|
|
8013
8023
|
});
|
|
8024
|
+
/**
|
|
8025
|
+
* The model weight formats a catalog entry can ship. Schema-free on purpose:
|
|
8026
|
+
* `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
|
|
8027
|
+
* (the model downloader in `@camstack/system`) needs only the list and must
|
|
8028
|
+
* reach it through `@camstack/types/addon` without building the cap schema
|
|
8029
|
+
* graph (D28).
|
|
8030
|
+
*/
|
|
8031
|
+
var MODEL_FORMATS = [
|
|
8032
|
+
"onnx",
|
|
8033
|
+
"coreml",
|
|
8034
|
+
"openvino",
|
|
8035
|
+
"tflite",
|
|
8036
|
+
"pt",
|
|
8037
|
+
"gguf"
|
|
8038
|
+
];
|
|
8014
8039
|
object({
|
|
8015
8040
|
field: string().min(1),
|
|
8016
8041
|
on: literal("advance")
|
|
@@ -8484,7 +8509,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8484
8509
|
return DeviceRole;
|
|
8485
8510
|
}({});
|
|
8486
8511
|
//#endregion
|
|
8487
|
-
//#region ../types/dist/composition-
|
|
8512
|
+
//#region ../types/dist/composition-C-WpVYTX.mjs
|
|
8488
8513
|
/**
|
|
8489
8514
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8490
8515
|
*
|
|
@@ -8536,7 +8561,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
|
|
|
8536
8561
|
function portable(target) {
|
|
8537
8562
|
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
8538
8563
|
}
|
|
8539
|
-
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64")
|
|
8564
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
|
|
8540
8565
|
/**
|
|
8541
8566
|
* THE table "which boolean of this device type counts as HIGH", and the
|
|
8542
8567
|
* pure evaluator of its EDGE.
|
|
@@ -11746,14 +11771,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
|
|
|
11746
11771
|
...CROP_SUPPLY_STEP_IDS,
|
|
11747
11772
|
...MASK_SUPPLY_STEP_IDS
|
|
11748
11773
|
];
|
|
11749
|
-
var MODEL_FORMATS = [
|
|
11750
|
-
"onnx",
|
|
11751
|
-
"coreml",
|
|
11752
|
-
"openvino",
|
|
11753
|
-
"tflite",
|
|
11754
|
-
"pt",
|
|
11755
|
-
"gguf"
|
|
11756
|
-
];
|
|
11757
11774
|
/**
|
|
11758
11775
|
* Multi-file format payload.
|
|
11759
11776
|
*
|
|
@@ -13917,6 +13934,16 @@ var BrokerClientsSchema = object({
|
|
|
13917
13934
|
/** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
|
|
13918
13935
|
encodedSubscribers: number()
|
|
13919
13936
|
});
|
|
13937
|
+
/**
|
|
13938
|
+
* How many people are watching one camera LIVE right now — see
|
|
13939
|
+
* `getLiveViewerCounts`. A camera with nobody watching is absent from the list
|
|
13940
|
+
* (so `viewers` is always at least 1): the listing carries the cameras that
|
|
13941
|
+
* have viewers, never a row of zeros.
|
|
13942
|
+
*/
|
|
13943
|
+
var LiveViewerCountSchema = object({
|
|
13944
|
+
deviceId: number().int().nonnegative(),
|
|
13945
|
+
viewers: number().int().positive()
|
|
13946
|
+
});
|
|
13920
13947
|
_enum([
|
|
13921
13948
|
"reconnecting",
|
|
13922
13949
|
"sleeping",
|
|
@@ -14277,7 +14304,7 @@ method(object({
|
|
|
14277
14304
|
}), {
|
|
14278
14305
|
kind: "mutation",
|
|
14279
14306
|
auth: "admin"
|
|
14280
|
-
}), method(object({ brokerId: string() }), BrokerClientsSchema), method(object({
|
|
14307
|
+
}), method(object({ brokerId: string() }), BrokerClientsSchema), method(_void(), array(LiveViewerCountSchema).readonly()), method(object({
|
|
14281
14308
|
brokerId: string(),
|
|
14282
14309
|
channel: _enum(["rtsp", "audio"]),
|
|
14283
14310
|
handle: string()
|
|
@@ -20214,6 +20241,12 @@ var NcSystemEventKindSchema = _enum([
|
|
|
20214
20241
|
"node-updating",
|
|
20215
20242
|
"node-inference-unavailable",
|
|
20216
20243
|
"detection-blind",
|
|
20244
|
+
"recording-stalled",
|
|
20245
|
+
"recording-healthy",
|
|
20246
|
+
"recording-degraded",
|
|
20247
|
+
"storage-location-low",
|
|
20248
|
+
"storage-location-critical",
|
|
20249
|
+
"storage-location-ok",
|
|
20217
20250
|
"addon-crash-loop",
|
|
20218
20251
|
"addon-update-available",
|
|
20219
20252
|
"server-update-available",
|
|
@@ -27682,6 +27715,12 @@ var CameraStepOverridePatchSchema = object({
|
|
|
27682
27715
|
settings: record(string(), unknown()).readonly().optional()
|
|
27683
27716
|
});
|
|
27684
27717
|
var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
|
|
27718
|
+
/** The three root-detector choices a camera has (D507: at most one root). */
|
|
27719
|
+
var CameraDetectionSourceSchema = _enum([
|
|
27720
|
+
"pipeline",
|
|
27721
|
+
"onboard",
|
|
27722
|
+
"none"
|
|
27723
|
+
]);
|
|
27685
27724
|
var CameraPipelineSettingsSchema = object({
|
|
27686
27725
|
stepToggles: record(string(), boolean()).optional(),
|
|
27687
27726
|
stepSettings: CameraStepSettingsSchema.optional(),
|
|
@@ -28259,6 +28298,26 @@ method(object({
|
|
|
28259
28298
|
}), object({ success: literal(true) }), {
|
|
28260
28299
|
kind: "mutation",
|
|
28261
28300
|
auth: "admin"
|
|
28301
|
+
}), method(object({ deviceId: number() }), object({
|
|
28302
|
+
source: CameraDetectionSourceSchema,
|
|
28303
|
+
explicit: boolean(),
|
|
28304
|
+
onboard: object({
|
|
28305
|
+
/** The camera has an onboard detector this system can read. */
|
|
28306
|
+
available: boolean(),
|
|
28307
|
+
/** What its detections carry — a camera with no box cannot be a root step. */
|
|
28308
|
+
geometry: _enum([
|
|
28309
|
+
"boxed",
|
|
28310
|
+
"while-streaming",
|
|
28311
|
+
"flag-only",
|
|
28312
|
+
"unknown"
|
|
28313
|
+
])
|
|
28314
|
+
})
|
|
28315
|
+
})), method(object({
|
|
28316
|
+
deviceId: number(),
|
|
28317
|
+
source: CameraDetectionSourceSchema
|
|
28318
|
+
}), object({ success: literal(true) }), {
|
|
28319
|
+
kind: "mutation",
|
|
28320
|
+
auth: "admin"
|
|
28262
28321
|
}), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
|
|
28263
28322
|
deviceId: number(),
|
|
28264
28323
|
agentNodeId: string(),
|
|
@@ -31590,6 +31649,17 @@ var BatteryStatusSchema = object({
|
|
|
31590
31649
|
*/
|
|
31591
31650
|
lastContactAt: number().optional(),
|
|
31592
31651
|
/**
|
|
31652
|
+
* Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
|
|
31653
|
+
* holds for the device (level, charging, link, device info, state slices) and
|
|
31654
|
+
* its cached snapshot, read together. Absent = never since this slice was
|
|
31655
|
+
* born. Unlike `lastUpdated` (any write, even a push of one field) this is
|
|
31656
|
+
* the staleness an operator can trust: the provider owns the device fact and
|
|
31657
|
+
* so owns the window on its age (D224, D847). Not a clock in the
|
|
31658
|
+
* runtime-state-durability sense: it moves once per window and must survive
|
|
31659
|
+
* a restart, or every restart would owe the camera a wake.
|
|
31660
|
+
*/
|
|
31661
|
+
lastFullRefreshAt: number().optional(),
|
|
31662
|
+
/**
|
|
31593
31663
|
* True when the source is a BINARY low-battery indicator (HA
|
|
31594
31664
|
* `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
|
|
31595
31665
|
* charge level — `percentage` is then a coarse stand-in (100 = normal,
|
|
@@ -34805,7 +34875,14 @@ var TopologyNodeSchema = object({
|
|
|
34805
34875
|
* completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
|
|
34806
34876
|
* for offline rows and when the hub cannot tell.
|
|
34807
34877
|
*/
|
|
34808
|
-
meshTransport: _enum(["tls", "clear"]).optional()
|
|
34878
|
+
meshTransport: _enum(["tls", "clear"]).optional(),
|
|
34879
|
+
/**
|
|
34880
|
+
* Whether the hub holds this online AGENT's capability registration (its
|
|
34881
|
+
* `registerNode` manifest). `false` = online in the mesh but not ready: the
|
|
34882
|
+
* hub dropped the registration on a disconnect only it saw and the agent has
|
|
34883
|
+
* not re-sent it. Absent for the hub and offline rows.
|
|
34884
|
+
*/
|
|
34885
|
+
capabilitiesRegistered: boolean().optional()
|
|
34809
34886
|
});
|
|
34810
34887
|
var CapUsageEdgeSchema = object({
|
|
34811
34888
|
callerAddonId: string(),
|
|
@@ -45067,6 +45144,12 @@ Object.freeze({
|
|
|
45067
45144
|
addonId: null,
|
|
45068
45145
|
access: "view"
|
|
45069
45146
|
},
|
|
45147
|
+
"pipelineOrchestrator.getCameraDetectionSource": {
|
|
45148
|
+
capName: "pipeline-orchestrator",
|
|
45149
|
+
capScope: "system",
|
|
45150
|
+
addonId: null,
|
|
45151
|
+
access: "view"
|
|
45152
|
+
},
|
|
45070
45153
|
"pipelineOrchestrator.getCameraMetrics": {
|
|
45071
45154
|
capName: "pipeline-orchestrator",
|
|
45072
45155
|
capScope: "system",
|
|
@@ -45295,6 +45378,12 @@ Object.freeze({
|
|
|
45295
45378
|
addonId: null,
|
|
45296
45379
|
access: "create"
|
|
45297
45380
|
},
|
|
45381
|
+
"pipelineOrchestrator.setCameraDetectionSource": {
|
|
45382
|
+
capName: "pipeline-orchestrator",
|
|
45383
|
+
capScope: "system",
|
|
45384
|
+
addonId: null,
|
|
45385
|
+
access: "create"
|
|
45386
|
+
},
|
|
45298
45387
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
45299
45388
|
capName: "pipeline-orchestrator",
|
|
45300
45389
|
capScope: "system",
|
|
@@ -46747,6 +46836,12 @@ Object.freeze({
|
|
|
46747
46836
|
addonId: null,
|
|
46748
46837
|
access: "view"
|
|
46749
46838
|
},
|
|
46839
|
+
"streamBroker.getLiveViewerCounts": {
|
|
46840
|
+
capName: "stream-broker",
|
|
46841
|
+
capScope: "system",
|
|
46842
|
+
addonId: null,
|
|
46843
|
+
access: "view"
|
|
46844
|
+
},
|
|
46750
46845
|
"streamBroker.getPreBufferInfo": {
|
|
46751
46846
|
capName: "stream-broker",
|
|
46752
46847
|
capScope: "system",
|
|
@@ -50892,6 +50987,11 @@ Object.freeze({
|
|
|
50892
50987
|
form: "single",
|
|
50893
50988
|
optional: false
|
|
50894
50989
|
}],
|
|
50990
|
+
"pipelineOrchestrator.getCameraDetectionSource": [{
|
|
50991
|
+
name: "deviceId",
|
|
50992
|
+
form: "single",
|
|
50993
|
+
optional: false
|
|
50994
|
+
}],
|
|
50895
50995
|
"pipelineOrchestrator.getCameraMetrics": [{
|
|
50896
50996
|
name: "deviceId",
|
|
50897
50997
|
form: "single",
|
|
@@ -50952,6 +51052,11 @@ Object.freeze({
|
|
|
50952
51052
|
form: "single",
|
|
50953
51053
|
optional: false
|
|
50954
51054
|
}],
|
|
51055
|
+
"pipelineOrchestrator.setCameraDetectionSource": [{
|
|
51056
|
+
name: "deviceId",
|
|
51057
|
+
form: "single",
|
|
51058
|
+
optional: false
|
|
51059
|
+
}],
|
|
50955
51060
|
"pipelineOrchestrator.setCameraPipelineForAgent": [{
|
|
50956
51061
|
name: "deviceId",
|
|
50957
51062
|
form: "single",
|
|
@@ -51981,6 +52086,9 @@ new Map(Object.entries({
|
|
|
51981
52086
|
"stream-online": "device-events",
|
|
51982
52087
|
"stream-offline": "device-events",
|
|
51983
52088
|
"detection-blind": "device-events",
|
|
52089
|
+
"recording-stalled": "device-events",
|
|
52090
|
+
"recording-healthy": "device-events",
|
|
52091
|
+
"recording-degraded": "device-events",
|
|
51984
52092
|
"node-online": "system",
|
|
51985
52093
|
"node-offline": "system",
|
|
51986
52094
|
"node-restarting": "system",
|
|
@@ -51994,6 +52102,9 @@ new Map(Object.entries({
|
|
|
51994
52102
|
"wrapper-update-available": "system",
|
|
51995
52103
|
"backup-completed": "system",
|
|
51996
52104
|
"export-completed": "system",
|
|
52105
|
+
"storage-location-low": "system",
|
|
52106
|
+
"storage-location-critical": "system",
|
|
52107
|
+
"storage-location-ok": "system",
|
|
51997
52108
|
"alarm-triggered": "alarm",
|
|
51998
52109
|
"alarm-armed": "alarm",
|
|
51999
52110
|
"alarm-disarmed": "alarm",
|
|
@@ -52055,6 +52166,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52055
52166
|
label: "Detecting nothing",
|
|
52056
52167
|
kinds: ["detection-blind"]
|
|
52057
52168
|
},
|
|
52169
|
+
{
|
|
52170
|
+
id: "recording",
|
|
52171
|
+
family: "device-events",
|
|
52172
|
+
label: "Recording",
|
|
52173
|
+
kinds: [
|
|
52174
|
+
"recording-stalled",
|
|
52175
|
+
"recording-healthy",
|
|
52176
|
+
"recording-degraded"
|
|
52177
|
+
]
|
|
52178
|
+
},
|
|
52058
52179
|
{
|
|
52059
52180
|
id: "nodes",
|
|
52060
52181
|
family: "system",
|
|
@@ -52095,6 +52216,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52095
52216
|
label: "Backups & exports",
|
|
52096
52217
|
kinds: ["backup-completed", "export-completed"]
|
|
52097
52218
|
},
|
|
52219
|
+
{
|
|
52220
|
+
id: "storage",
|
|
52221
|
+
family: "system",
|
|
52222
|
+
label: "Storage locations",
|
|
52223
|
+
kinds: [
|
|
52224
|
+
"storage-location-low",
|
|
52225
|
+
"storage-location-critical",
|
|
52226
|
+
"storage-location-ok"
|
|
52227
|
+
]
|
|
52228
|
+
},
|
|
52098
52229
|
{
|
|
52099
52230
|
id: "alarm",
|
|
52100
52231
|
family: "alarm",
|
|
@@ -52177,6 +52308,9 @@ var DEVICE_EVENTS = [
|
|
|
52177
52308
|
"stream-online",
|
|
52178
52309
|
"stream-offline",
|
|
52179
52310
|
"detection-blind",
|
|
52311
|
+
"recording-stalled",
|
|
52312
|
+
"recording-healthy",
|
|
52313
|
+
"recording-degraded",
|
|
52180
52314
|
...ALARM
|
|
52181
52315
|
];
|
|
52182
52316
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -52344,6 +52478,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
52344
52478
|
[...RULE_TEXT],
|
|
52345
52479
|
[...RULE_TEXT],
|
|
52346
52480
|
[...RULE_TEXT],
|
|
52481
|
+
[...RULE_TEXT],
|
|
52482
|
+
[...RULE_TEXT],
|
|
52483
|
+
[...RULE_TEXT],
|
|
52484
|
+
[...RULE_TEXT],
|
|
52485
|
+
[...RULE_TEXT],
|
|
52347
52486
|
([...RULE_TEXT], [...UPDATES]),
|
|
52348
52487
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
52349
52488
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.358",
|
|
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.282",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|