@camstack/addon-osd-manager 0.1.18 → 0.1.20
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-2bARhPh6.mjs → MotionZonesSettings-Dhh1AqWY.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-Cdqm3uIC.mjs → PrivacyMaskSettings-CPABuSH1.mjs} +4 -4
- package/dist/{SceneMonitorEditor-C58VvxWO.mjs → SceneMonitorEditor-CyVjkJI2.mjs} +3 -3
- package/dist/_stub.js +11 -11
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-AB877qFK.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-5jby0ZM9.mjs} +4 -4
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DO3S4jGF.mjs +26 -0
- package/dist/{hostInit-m3PVQphj.mjs → hostInit-5GIsHCyh.mjs} +3 -3
- package/dist/index.js +294 -25
- package/dist/index.mjs +294 -25
- package/dist/{player-overlays-CQmBy0Zm.mjs → player-overlays-A11g0xRn.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-jU_1DnOd.mjs → responsive-B_W10135.mjs} +1 -1
- package/dist/{square-BewXHDNm.mjs → square-BqxtsJJ4.mjs} +1 -1
- package/dist/{trash-2-h2ZuBBnj.mjs → trash-2-xxP-WwG0.mjs} +1 -1
- package/dist/{use-device-snapshot--wXDROMR.mjs → use-device-snapshot-B6sowK2s.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-C8_X3KFr.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-0ziNXHDT.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-KlN_tI2R.mjs +0 -26
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-CIa_iT6b.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -14,6 +14,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
14
14
|
*/
|
|
15
15
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
16
16
|
/**
|
|
17
|
+
* The hub reissued its own TLS certificate at boot (`ensureTlsCert`).
|
|
18
|
+
* Emitted only when the material on disk actually changed, so an
|
|
19
|
+
* operator who trusted the old certificate by hand is told rather than
|
|
20
|
+
* discovering it as a browser error. Payload `TlsCertChangedPayload`.
|
|
21
|
+
*
|
|
22
|
+
* Rule: docs/decisions/adr-0227-*.md
|
|
23
|
+
*/
|
|
24
|
+
EventCategory["SystemTlsCertChanged"] = "system.tls-cert-changed";
|
|
25
|
+
/**
|
|
17
26
|
* A newer addon or server-root package version was found by the
|
|
18
27
|
* authoritative registry check. Emitted once when any observed
|
|
19
28
|
* `latestVersion` changes (or a package/node first appears behind);
|
|
@@ -8082,6 +8091,15 @@ var LabelDefinitionSchema = object({
|
|
|
8082
8091
|
description: string().optional(),
|
|
8083
8092
|
icon: string().optional()
|
|
8084
8093
|
});
|
|
8094
|
+
var ClassMapDefinitionSchema = object({
|
|
8095
|
+
mapping: record(string(), _enum([
|
|
8096
|
+
"person",
|
|
8097
|
+
"vehicle",
|
|
8098
|
+
"animal",
|
|
8099
|
+
"package"
|
|
8100
|
+
])),
|
|
8101
|
+
preserveOriginal: boolean()
|
|
8102
|
+
});
|
|
8085
8103
|
var MODEL_FORMATS = [
|
|
8086
8104
|
"onnx",
|
|
8087
8105
|
"coreml",
|
|
@@ -8260,7 +8278,13 @@ var ModelCatalogEntrySchema = object({
|
|
|
8260
8278
|
* `id` stays the source of truth for resolution/download/persistence; grouping
|
|
8261
8279
|
* is a presentation overlay resolved back to an `id`.
|
|
8262
8280
|
*/
|
|
8263
|
-
group: ModelVariantGroupSchema.optional()
|
|
8281
|
+
group: ModelVariantGroupSchema.optional(),
|
|
8282
|
+
/**
|
|
8283
|
+
* Per-MODEL class map override. Absent ⇒ the step's `StepDefinition.classMap`
|
|
8284
|
+
* applies (Frigate / COCO public catalog). Set on a custom model whose raw
|
|
8285
|
+
* labels already ARE the CamStack macros (Scrypted identity map).
|
|
8286
|
+
*/
|
|
8287
|
+
classMap: ClassMapDefinitionSchema.optional()
|
|
8264
8288
|
});
|
|
8265
8289
|
var ConvertTargetSchema = discriminatedUnion("format", [object({
|
|
8266
8290
|
format: literal("openvino"),
|
|
@@ -8289,7 +8313,8 @@ var ModelConvertMetadataSchema = object({
|
|
|
8289
8313
|
"ocr",
|
|
8290
8314
|
"segmentation"
|
|
8291
8315
|
]),
|
|
8292
|
-
faceAlignment: boolean().optional()
|
|
8316
|
+
faceAlignment: boolean().optional(),
|
|
8317
|
+
classMap: ClassMapDefinitionSchema.optional()
|
|
8293
8318
|
});
|
|
8294
8319
|
var ConvertResultSchema = object({
|
|
8295
8320
|
entry: ModelCatalogEntrySchema,
|
|
@@ -20012,6 +20037,33 @@ var NativeCropRefSchema = object({
|
|
|
20012
20037
|
h: number()
|
|
20013
20038
|
})
|
|
20014
20039
|
});
|
|
20040
|
+
object({
|
|
20041
|
+
crop: object({
|
|
20042
|
+
left: number(),
|
|
20043
|
+
top: number(),
|
|
20044
|
+
width: number().positive(),
|
|
20045
|
+
height: number().positive()
|
|
20046
|
+
}).optional(),
|
|
20047
|
+
content: object({
|
|
20048
|
+
width: number().int().positive(),
|
|
20049
|
+
height: number().int().positive()
|
|
20050
|
+
}),
|
|
20051
|
+
fit: _enum(["stretch", "contain"]),
|
|
20052
|
+
format: _enum([
|
|
20053
|
+
"rgb",
|
|
20054
|
+
"gray",
|
|
20055
|
+
"jpeg"
|
|
20056
|
+
])
|
|
20057
|
+
});
|
|
20058
|
+
var FrameRefSchema = object({
|
|
20059
|
+
registryId: string().min(1),
|
|
20060
|
+
id: string().min(1),
|
|
20061
|
+
width: number().int().positive(),
|
|
20062
|
+
height: number().int().positive(),
|
|
20063
|
+
format: _enum(["rgb", "gray"]),
|
|
20064
|
+
timestamp: number(),
|
|
20065
|
+
capturedAt: number().optional()
|
|
20066
|
+
});
|
|
20015
20067
|
var ModelFormatSchema$1 = _enum([
|
|
20016
20068
|
"onnx",
|
|
20017
20069
|
"coreml",
|
|
@@ -20332,7 +20384,7 @@ var pipelineExecutorCapability = {
|
|
|
20332
20384
|
* legacy call shape used by existing benchmark code; once all
|
|
20333
20385
|
* callers pass it explicitly we make it required.
|
|
20334
20386
|
*
|
|
20335
|
-
* Exactly one of `frame`, `frameHandle`, `imageBase64`,
|
|
20387
|
+
* Exactly one of `frame`, `frameRef`, `frameHandle`, `imageBase64`,
|
|
20336
20388
|
* `referenceImage` must be provided:
|
|
20337
20389
|
* - `frame`: runtime dispatch path (runner → decoded broker frame).
|
|
20338
20390
|
* Carries the raw buffer, dimensions, and format; the executor
|
|
@@ -20354,6 +20406,12 @@ var pipelineExecutorCapability = {
|
|
|
20354
20406
|
steps: array(PipelineStepInputSchema).min(1),
|
|
20355
20407
|
frame: FrameInputSchema.optional(),
|
|
20356
20408
|
/**
|
|
20409
|
+
* Process-local lazy frame. Valid only when caller and provider resolve
|
|
20410
|
+
* in the same execution-group process; split/cross-node callers use
|
|
20411
|
+
* `frame`/`image` inline compatibility instead.
|
|
20412
|
+
*/
|
|
20413
|
+
frameRef: FrameRefSchema.optional(),
|
|
20414
|
+
/**
|
|
20357
20415
|
* CB5 shm passthrough — a `FrameHandle` naming the same ring slot
|
|
20358
20416
|
* the decoded pixels live in. One more member of the one-of
|
|
20359
20417
|
* frame/frameHandle/image/imageBase64/referenceImage group.
|
|
@@ -20703,7 +20761,10 @@ var NativeCropResultSchema = object({
|
|
|
20703
20761
|
* Which source served this crop, so a quality-sensitive consumer (the native
|
|
20704
20762
|
* `keyFrame`) can reject a degraded fallback:
|
|
20705
20763
|
* - `native` — cut from the decode worker's retained NATIVE surface (the
|
|
20706
|
-
* quality path).
|
|
20764
|
+
* quality path). A subject-tile serve is also native-resolution and stays
|
|
20765
|
+
* `native` here: the public enum cannot name `tile` without a breaking cap
|
|
20766
|
+
* change. Runner telemetry distinguishes lease vs tile via `source` on the
|
|
20767
|
+
* internal crop result (`nativeHits` vs `tileHits`).
|
|
20707
20768
|
* - `ram-fullframe` — the native surface MISSED but the request was full-frame,
|
|
20708
20769
|
* so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
|
|
20709
20770
|
* the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
|
|
@@ -21194,12 +21255,41 @@ var RunnerLocalLoadSchema = object({
|
|
|
21194
21255
|
* legacy `OrchestratorMetricsSchema` shape so existing dashboards keep
|
|
21195
21256
|
* working unchanged when they switch to reading from the runner cap.
|
|
21196
21257
|
*/
|
|
21258
|
+
var FrameLazyCountersSchema = object({
|
|
21259
|
+
framesDecoded: number(),
|
|
21260
|
+
framesAdmitted: number(),
|
|
21261
|
+
framesDroppedPixelFree: number(),
|
|
21262
|
+
viewsMaterialized: number(),
|
|
21263
|
+
viewsSkipped: number(),
|
|
21264
|
+
workerToRunnerBytes: number(),
|
|
21265
|
+
runnerToPoolRawBytes: number(),
|
|
21266
|
+
runnerToPoolJpegBytes: number(),
|
|
21267
|
+
onDemandFullFrameRequests: number(),
|
|
21268
|
+
onDemandCropRequests: number(),
|
|
21269
|
+
nativeHits: number(),
|
|
21270
|
+
nativeMisses: number(),
|
|
21271
|
+
tileHits: number(),
|
|
21272
|
+
tileMisses: number(),
|
|
21273
|
+
fallbackHits: number(),
|
|
21274
|
+
fallbackMisses: number(),
|
|
21275
|
+
retainedWritesAvoided: number(),
|
|
21276
|
+
residentRefs: number(),
|
|
21277
|
+
residentBytes: number(),
|
|
21278
|
+
releases: number(),
|
|
21279
|
+
evictions: number(),
|
|
21280
|
+
staleMisses: number()
|
|
21281
|
+
});
|
|
21282
|
+
var FrameLazyMetricsSchema = object({
|
|
21283
|
+
node: FrameLazyCountersSchema,
|
|
21284
|
+
cameras: array(FrameLazyCountersSchema.extend({ deviceId: number() }))
|
|
21285
|
+
});
|
|
21197
21286
|
var RunnerLocalMetricsSchema = object({
|
|
21198
21287
|
nodeId: string(),
|
|
21199
21288
|
activeCameras: number(),
|
|
21200
21289
|
throttledCameras: number(),
|
|
21201
21290
|
avgInferenceTimeMs: number(),
|
|
21202
|
-
queueDepth: number()
|
|
21291
|
+
queueDepth: number(),
|
|
21292
|
+
frameLazy: FrameLazyMetricsSchema.optional()
|
|
21203
21293
|
});
|
|
21204
21294
|
/**
|
|
21205
21295
|
* Pipeline Runner capability — runtime detection workhorse.
|
|
@@ -23231,6 +23321,9 @@ var storageProviderCapability = {
|
|
|
23231
23321
|
endDownload: method(EndDownloadInputSchema, _void(), { kind: "mutation" })
|
|
23232
23322
|
}
|
|
23233
23323
|
};
|
|
23324
|
+
/** Profile-exported FormBuilder schema. Shape is ConfigUISchema at the UI. */
|
|
23325
|
+
var ProfileSettingsSchemaBridge = unknown().nullable();
|
|
23326
|
+
var ProfileSettingsBagSchema = record(string(), unknown());
|
|
23234
23327
|
/**
|
|
23235
23328
|
* A live terminal session hosted by the provider addon. Output and input do
|
|
23236
23329
|
* NOT flow through the capability — they use the addon data plane
|
|
@@ -23260,7 +23353,14 @@ var TerminalSessionInfoSchema = object({
|
|
|
23260
23353
|
var TerminalProfileInfoSchema = object({
|
|
23261
23354
|
profileId: string(),
|
|
23262
23355
|
label: string(),
|
|
23263
|
-
description: string().optional()
|
|
23356
|
+
description: string().optional(),
|
|
23357
|
+
/** Spawn defaults the instance form copies on create. */
|
|
23358
|
+
executable: string().optional(),
|
|
23359
|
+
args: array(string()).readonly().optional(),
|
|
23360
|
+
cwd: string().optional(),
|
|
23361
|
+
environment: array(string()).readonly().optional(),
|
|
23362
|
+
/** ConfigUISchema for instance knobs, or null when the profile has none. */
|
|
23363
|
+
settingsSchema: ProfileSettingsSchemaBridge.optional()
|
|
23264
23364
|
});
|
|
23265
23365
|
/**
|
|
23266
23366
|
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
@@ -23273,7 +23373,12 @@ var TerminalInstanceInfoSchema = object({
|
|
|
23273
23373
|
profileId: string(),
|
|
23274
23374
|
profileLabel: string(),
|
|
23275
23375
|
name: string(),
|
|
23276
|
-
enabled: boolean()
|
|
23376
|
+
enabled: boolean(),
|
|
23377
|
+
executable: string(),
|
|
23378
|
+
args: array(string()).readonly(),
|
|
23379
|
+
cwd: string(),
|
|
23380
|
+
environment: array(string()).readonly(),
|
|
23381
|
+
profileSettings: ProfileSettingsBagSchema
|
|
23277
23382
|
});
|
|
23278
23383
|
var TerminalLegacyCameraSchema = object({
|
|
23279
23384
|
stableId: string(),
|
|
@@ -23319,7 +23424,24 @@ var terminalSessionCapability = {
|
|
|
23319
23424
|
createInstance: method(object({
|
|
23320
23425
|
targetNodeId: string().min(1),
|
|
23321
23426
|
profileId: string().min(1),
|
|
23322
|
-
name: string().trim().min(1).max(160).optional()
|
|
23427
|
+
name: string().trim().min(1).max(160).optional(),
|
|
23428
|
+
executable: string().max(1024).optional(),
|
|
23429
|
+
args: array(string().max(2048)).max(64).optional(),
|
|
23430
|
+
cwd: string().max(1024).optional(),
|
|
23431
|
+
environment: array(string().max(4096)).max(64).optional(),
|
|
23432
|
+
profileSettings: ProfileSettingsBagSchema.optional()
|
|
23433
|
+
}), TerminalInstanceInfoSchema, {
|
|
23434
|
+
kind: "mutation",
|
|
23435
|
+
auth: "admin"
|
|
23436
|
+
}),
|
|
23437
|
+
updateInstance: method(object({
|
|
23438
|
+
instanceId: string().min(1),
|
|
23439
|
+
name: string().trim().min(1).max(160).optional(),
|
|
23440
|
+
executable: string().max(1024).optional(),
|
|
23441
|
+
args: array(string().max(2048)).max(64).optional(),
|
|
23442
|
+
cwd: string().max(1024).optional(),
|
|
23443
|
+
environment: array(string().max(4096)).max(64).optional(),
|
|
23444
|
+
profileSettings: ProfileSettingsBagSchema.optional()
|
|
23323
23445
|
}), TerminalInstanceInfoSchema, {
|
|
23324
23446
|
kind: "mutation",
|
|
23325
23447
|
auth: "admin"
|
|
@@ -23354,7 +23476,11 @@ var terminalSessionCapability = {
|
|
|
23354
23476
|
openSession: method(object({
|
|
23355
23477
|
profileId: string(),
|
|
23356
23478
|
cols: number().int().positive(),
|
|
23357
|
-
rows: number().int().positive()
|
|
23479
|
+
rows: number().int().positive(),
|
|
23480
|
+
executable: string().max(1024).optional(),
|
|
23481
|
+
args: array(string().max(2048)).max(64).optional(),
|
|
23482
|
+
cwd: string().max(1024).optional(),
|
|
23483
|
+
environment: array(string().max(4096)).max(64).optional()
|
|
23358
23484
|
}), TerminalSessionInfoSchema, {
|
|
23359
23485
|
kind: "mutation",
|
|
23360
23486
|
auth: "admin"
|
|
@@ -27732,10 +27858,10 @@ var lawnMowerControlCapability = {
|
|
|
27732
27858
|
*
|
|
27733
27859
|
* • The SDK (mobile / web client) consumes `getConnectionEndpoints()`
|
|
27734
27860
|
* to receive an ordered list of candidate base URLs it should race
|
|
27735
|
-
* on connect — LAN IPv4 first (lowest latency
|
|
27736
|
-
* then public hostname (if a tunnel is
|
|
27737
|
-
* race them with short timeouts and stick with the
|
|
27738
|
-
* session.
|
|
27861
|
+
* on connect — LAN IPv4 and stable LAN IPv6 first (lowest latency
|
|
27862
|
+
* when on the same network), then public hostname (if a tunnel is
|
|
27863
|
+
* up). The SDK can race them with short timeouts and stick with the
|
|
27864
|
+
* winner for the session.
|
|
27739
27865
|
*
|
|
27740
27866
|
* Why hub-only: agents are not directly addressable by the operator's
|
|
27741
27867
|
* clients — they reverse-connect to the hub. Exposing their interfaces
|
|
@@ -27890,6 +28016,17 @@ var NotificationEndpointSchema = object({
|
|
|
27890
28016
|
/** What the ranking currently resolves to (null when nothing is reachable). */
|
|
27891
28017
|
resolved: string().nullable()
|
|
27892
28018
|
});
|
|
28019
|
+
/**
|
|
28020
|
+
* The URLs the SDK / viewer should race for API access. `baseUrls` empty =
|
|
28021
|
+
* AUTO (every LAN IPv4 + the public tunnel). `resolved` is what that choice
|
|
28022
|
+
* currently expands to, so the UI can show the effective set either way.
|
|
28023
|
+
*/
|
|
28024
|
+
var ViewerEndpointsSchema = object({
|
|
28025
|
+
/** The operator's explicit race set, or empty for AUTO. */
|
|
28026
|
+
baseUrls: array(string()).readonly(),
|
|
28027
|
+
/** What the ranking currently resolves to (may be empty if nothing is up). */
|
|
28028
|
+
resolved: array(string()).readonly()
|
|
28029
|
+
});
|
|
27893
28030
|
var AllowedAddressesSchema = object({
|
|
27894
28031
|
/**
|
|
27895
28032
|
* Allowlist of interface addresses operators have explicitly opted
|
|
@@ -27898,6 +28035,20 @@ var AllowedAddressesSchema = object({
|
|
|
27898
28035
|
* Network Addresses admin page and persisted by the addon.
|
|
27899
28036
|
*/
|
|
27900
28037
|
addresses: array(string()).readonly() });
|
|
28038
|
+
var TlsStatusSchema = object({
|
|
28039
|
+
mode: _enum([
|
|
28040
|
+
"generated",
|
|
28041
|
+
"uploaded",
|
|
28042
|
+
"disabled"
|
|
28043
|
+
]),
|
|
28044
|
+
leafFingerprintSha256: string().nullable(),
|
|
28045
|
+
caFingerprintSha256: string().nullable(),
|
|
28046
|
+
validTo: string().nullable(),
|
|
28047
|
+
sans: array(string()),
|
|
28048
|
+
caCertPem: string().nullable(),
|
|
28049
|
+
reissueError: string().nullable(),
|
|
28050
|
+
restartRequired: boolean()
|
|
28051
|
+
});
|
|
27901
28052
|
var localNetworkCapability = {
|
|
27902
28053
|
name: "local-network",
|
|
27903
28054
|
scope: "system",
|
|
@@ -27917,13 +28068,13 @@ var localNetworkCapability = {
|
|
|
27917
28068
|
*/
|
|
27918
28069
|
getPreferred: method(_void(), PreferredSchema),
|
|
27919
28070
|
/**
|
|
27920
|
-
* Ordered candidate base URLs the
|
|
27921
|
-
* Includes LAN
|
|
27922
|
-
*
|
|
27923
|
-
*
|
|
27924
|
-
*
|
|
27925
|
-
*
|
|
27926
|
-
*
|
|
28071
|
+
* Ordered candidate base URLs (the palette the Network tab shows).
|
|
28072
|
+
* Includes LAN IPv4, stable LAN IPv6, the public tunnel, and mesh when
|
|
28073
|
+
* joined. Loopback is off by default. The SDK races the subset from
|
|
28074
|
+
* `getViewerEndpoints`, not this full list — IPv6 stays here because
|
|
28075
|
+
* WebRTC ICE gathers dual-stack regardless of the HTTP race. Honours
|
|
28076
|
+
* `getAllowedAddresses()` when set — addresses outside the allowlist
|
|
28077
|
+
* are dropped (the public tunnel is still included as an escape hatch).
|
|
27927
28078
|
*
|
|
27928
28079
|
* **The port is the hub's, not the caller's** (D62 — a function's fact
|
|
27929
28080
|
* belongs to whoever already owns it). This method used to take a `port`
|
|
@@ -27954,10 +28105,11 @@ var localNetworkCapability = {
|
|
|
27954
28105
|
*/
|
|
27955
28106
|
port: number().int().min(1).max(65535).optional(),
|
|
27956
28107
|
/** Include `http(s)://127.0.0.1:<port>` as the lowest-priority
|
|
27957
|
-
* candidate. Default `
|
|
28108
|
+
* candidate. Default `false` — loopback is not a client route. */
|
|
27958
28109
|
includeLoopback: boolean().optional(),
|
|
27959
|
-
/** Skip IPv6 entries.
|
|
27960
|
-
*
|
|
28110
|
+
/** Skip IPv6 entries. Default `false` — the palette includes stable
|
|
28111
|
+
* LAN IPv6 (ICE/WebRTC uses dual-stack regardless). Pass `true` to
|
|
28112
|
+
* hide them. The viewer HTTP/WS race is `getViewerEndpoints`. */
|
|
27961
28113
|
ipv4Only: boolean().optional(),
|
|
27962
28114
|
/** Scheme to emit for LAN/loopback URLs. Default `'http'`.
|
|
27963
28115
|
* Pass `'https'` when the caller is itself loaded over HTTPS
|
|
@@ -27986,6 +28138,19 @@ var localNetworkCapability = {
|
|
|
27986
28138
|
*/
|
|
27987
28139
|
setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
|
|
27988
28140
|
/**
|
|
28141
|
+
* The endpoints the SDK / viewer races for API access. Empty `baseUrls`
|
|
28142
|
+
* means AUTO: every LAN IPv4 address plus the public tunnel, never IPv6,
|
|
28143
|
+
* never mesh, never loopback. `resolved` is that set (or the operator's
|
|
28144
|
+
* explicit subset) as it stands right now.
|
|
28145
|
+
*/
|
|
28146
|
+
getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
|
|
28147
|
+
/**
|
|
28148
|
+
* Replace the viewer race set. Empty `baseUrls` restores AUTO. Stored
|
|
28149
|
+
* verbatim (not indices) so a temporarily-down tunnel is not silently
|
|
28150
|
+
* dropped from the operator's choice.
|
|
28151
|
+
*/
|
|
28152
|
+
setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
|
|
28153
|
+
/**
|
|
27989
28154
|
* Read the operator's allowlist. Empty = "auto" (no filter). Used
|
|
27990
28155
|
* by the admin UI's address selector to seed its checkbox state.
|
|
27991
28156
|
*/
|
|
@@ -28003,7 +28168,34 @@ var localNetworkCapability = {
|
|
|
28003
28168
|
* when the operator wants to wipe their manual edits and start
|
|
28004
28169
|
* over from the auto-detected best matches.
|
|
28005
28170
|
*/
|
|
28006
|
-
resetAllowlistToBestMatch: method(_void(), AllowedAddressesSchema, { kind: "mutation" })
|
|
28171
|
+
resetAllowlistToBestMatch: method(_void(), AllowedAddressesSchema, { kind: "mutation" }),
|
|
28172
|
+
/**
|
|
28173
|
+
* Live TLS material for the Network → Local access certificate card.
|
|
28174
|
+
* LAN HTTP / hostname are addon settings (`globalSettingsSchema`), not
|
|
28175
|
+
* a second store — this query is status, not configuration.
|
|
28176
|
+
*/
|
|
28177
|
+
getTlsStatus: method(_void(), TlsStatusSchema),
|
|
28178
|
+
/** Issue a new leaf under the existing local CA. Disabled in uploaded mode. */
|
|
28179
|
+
regenerateCertificate: method(object({ reason: string().optional() }), TlsStatusSchema, {
|
|
28180
|
+
kind: "mutation",
|
|
28181
|
+
auth: "admin"
|
|
28182
|
+
}),
|
|
28183
|
+
/** Replace the served material with operator-supplied PEMs. */
|
|
28184
|
+
uploadCertificate: method(object({
|
|
28185
|
+
certPem: string().min(1),
|
|
28186
|
+
keyPem: string().min(1),
|
|
28187
|
+
caPem: string().optional()
|
|
28188
|
+
}), TlsStatusSchema, {
|
|
28189
|
+
kind: "mutation",
|
|
28190
|
+
auth: "admin"
|
|
28191
|
+
}),
|
|
28192
|
+
/** The local CA PEM, or empty when there is none to download. */
|
|
28193
|
+
downloadCa: method(_void(), object({ pem: string() })),
|
|
28194
|
+
/** Drop uploaded material and return to the generated local CA. */
|
|
28195
|
+
revertToGeneratedCertificate: method(_void(), TlsStatusSchema, {
|
|
28196
|
+
kind: "mutation",
|
|
28197
|
+
auth: "admin"
|
|
28198
|
+
})
|
|
28007
28199
|
},
|
|
28008
28200
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
28009
28201
|
mount: { kind: "hub-only" }
|
|
@@ -35747,6 +35939,12 @@ Object.freeze({
|
|
|
35747
35939
|
addonId: null,
|
|
35748
35940
|
access: "create"
|
|
35749
35941
|
},
|
|
35942
|
+
"localNetwork.downloadCa": {
|
|
35943
|
+
capName: "local-network",
|
|
35944
|
+
capScope: "system",
|
|
35945
|
+
addonId: null,
|
|
35946
|
+
access: "view"
|
|
35947
|
+
},
|
|
35750
35948
|
"localNetwork.getAllowedAddresses": {
|
|
35751
35949
|
capName: "local-network",
|
|
35752
35950
|
capScope: "system",
|
|
@@ -35771,18 +35969,42 @@ Object.freeze({
|
|
|
35771
35969
|
addonId: null,
|
|
35772
35970
|
access: "view"
|
|
35773
35971
|
},
|
|
35972
|
+
"localNetwork.getTlsStatus": {
|
|
35973
|
+
capName: "local-network",
|
|
35974
|
+
capScope: "system",
|
|
35975
|
+
addonId: null,
|
|
35976
|
+
access: "view"
|
|
35977
|
+
},
|
|
35978
|
+
"localNetwork.getViewerEndpoints": {
|
|
35979
|
+
capName: "local-network",
|
|
35980
|
+
capScope: "system",
|
|
35981
|
+
addonId: null,
|
|
35982
|
+
access: "view"
|
|
35983
|
+
},
|
|
35774
35984
|
"localNetwork.list": {
|
|
35775
35985
|
capName: "local-network",
|
|
35776
35986
|
capScope: "system",
|
|
35777
35987
|
addonId: null,
|
|
35778
35988
|
access: "view"
|
|
35779
35989
|
},
|
|
35990
|
+
"localNetwork.regenerateCertificate": {
|
|
35991
|
+
capName: "local-network",
|
|
35992
|
+
capScope: "system",
|
|
35993
|
+
addonId: null,
|
|
35994
|
+
access: "create"
|
|
35995
|
+
},
|
|
35780
35996
|
"localNetwork.resetAllowlistToBestMatch": {
|
|
35781
35997
|
capName: "local-network",
|
|
35782
35998
|
capScope: "system",
|
|
35783
35999
|
addonId: null,
|
|
35784
36000
|
access: "delete"
|
|
35785
36001
|
},
|
|
36002
|
+
"localNetwork.revertToGeneratedCertificate": {
|
|
36003
|
+
capName: "local-network",
|
|
36004
|
+
capScope: "system",
|
|
36005
|
+
addonId: null,
|
|
36006
|
+
access: "create"
|
|
36007
|
+
},
|
|
35786
36008
|
"localNetwork.setAllowedAddresses": {
|
|
35787
36009
|
capName: "local-network",
|
|
35788
36010
|
capScope: "system",
|
|
@@ -35795,6 +36017,18 @@ Object.freeze({
|
|
|
35795
36017
|
addonId: null,
|
|
35796
36018
|
access: "create"
|
|
35797
36019
|
},
|
|
36020
|
+
"localNetwork.setViewerEndpoints": {
|
|
36021
|
+
capName: "local-network",
|
|
36022
|
+
capScope: "system",
|
|
36023
|
+
addonId: null,
|
|
36024
|
+
access: "create"
|
|
36025
|
+
},
|
|
36026
|
+
"localNetwork.uploadCertificate": {
|
|
36027
|
+
capName: "local-network",
|
|
36028
|
+
capScope: "system",
|
|
36029
|
+
addonId: null,
|
|
36030
|
+
access: "create"
|
|
36031
|
+
},
|
|
35798
36032
|
"lockControl.lock": {
|
|
35799
36033
|
capName: "lock-control",
|
|
35800
36034
|
capScope: "device",
|
|
@@ -38675,6 +38909,12 @@ Object.freeze({
|
|
|
38675
38909
|
addonId: null,
|
|
38676
38910
|
access: "create"
|
|
38677
38911
|
},
|
|
38912
|
+
"terminalSession.updateInstance": {
|
|
38913
|
+
capName: "terminal-session",
|
|
38914
|
+
capScope: "system",
|
|
38915
|
+
addonId: null,
|
|
38916
|
+
access: "create"
|
|
38917
|
+
},
|
|
38678
38918
|
"terminalSession.writeInput": {
|
|
38679
38919
|
capName: "terminal-session",
|
|
38680
38920
|
capScope: "system",
|
|
@@ -41222,6 +41462,35 @@ Object.freeze(Object.fromEntries([{
|
|
|
41222
41462
|
}]
|
|
41223
41463
|
}].map((s) => [s.stepId, s.defaultModelId])));
|
|
41224
41464
|
string().min(1);
|
|
41465
|
+
var CLUSTER_STEP_SETTING_FIELDS = [{
|
|
41466
|
+
stepId: "face-embedding",
|
|
41467
|
+
key: "minLandmarkFaceSize",
|
|
41468
|
+
label: "Min face size for recognition (detection px)",
|
|
41469
|
+
description: "Refuse to embed a face smaller than this IN THE DETECTION FRAME. Applies to every node — the enrolled gallery is one index, and two admission floors would fill it from two policies. 0 disables the gate.",
|
|
41470
|
+
type: "slider",
|
|
41471
|
+
min: 0,
|
|
41472
|
+
max: 64,
|
|
41473
|
+
step: 2,
|
|
41474
|
+
default: 24
|
|
41475
|
+
}];
|
|
41476
|
+
function clusterStepSettingKey(stepId, fieldKey) {
|
|
41477
|
+
return `clusterStepSetting:${stepId}:${fieldKey}`;
|
|
41478
|
+
}
|
|
41479
|
+
var ClusterSettingNumberSchema = number().finite();
|
|
41480
|
+
function readClusterStepSettings(config) {
|
|
41481
|
+
const out = {};
|
|
41482
|
+
for (const field of CLUSTER_STEP_SETTING_FIELDS) {
|
|
41483
|
+
const parsed = ClusterSettingNumberSchema.safeParse(config[clusterStepSettingKey(field.stepId, field.key)]);
|
|
41484
|
+
const value = parsed.success ? parsed.data : field.default;
|
|
41485
|
+
const existing = out[field.stepId] ?? {};
|
|
41486
|
+
out[field.stepId] = {
|
|
41487
|
+
...existing,
|
|
41488
|
+
[field.key]: value
|
|
41489
|
+
};
|
|
41490
|
+
}
|
|
41491
|
+
return out;
|
|
41492
|
+
}
|
|
41493
|
+
readClusterStepSettings({});
|
|
41225
41494
|
object({
|
|
41226
41495
|
/**
|
|
41227
41496
|
* Fraction of the box's own size added on EACH side before cutting.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as e, l as t, u as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
|
|
2
|
-
import { o as i, s as a } from "./responsive-
|
|
2
|
+
import { o as i, s as a } from "./responsive-B_W10135.mjs";
|
|
3
3
|
import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
4
4
|
var l = a("chevron-down", [["path", {
|
|
5
5
|
d: "m6 9 6 6 6-6",
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-0ziNXHDT.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as e, g as t, h as n, l as r, n as i, p as a, r as o, t as s, u as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
|
|
2
2
|
import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
3
|
-
import { t as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
3
|
+
import { t as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DO3S4jGF.mjs";
|
|
4
4
|
//#region ../ui-library/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
5
5
|
l();
|
|
6
6
|
var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as e, h as t, p as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
|
|
2
|
-
import { s as i } from "./responsive-
|
|
2
|
+
import { s as i } from "./responsive-B_W10135.mjs";
|
|
3
3
|
var a = i("camera", [["path", {
|
|
4
4
|
d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
|
|
5
5
|
key: "18u6gg"
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-5jby0ZM9.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|