@camstack/addon-osd-manager 0.1.174 → 0.1.176
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-BgWZ6XzA.mjs → MotionZonesSettings-CPKsdj2c.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-D9S1pJVU.mjs → PrivacyMaskSettings-Ctm1-2f1.mjs} +4 -4
- package/dist/{SceneMonitorEditor-rwUxImev.mjs → SceneMonitorEditor-CvSaLIzi.mjs} +3 -3
- package/dist/_stub.js +11 -11
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BT-J4sUh.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-CKTxetEY.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BaCE42a6.mjs +26 -0
- package/dist/{hostInit-1uK9d0Vg.mjs → hostInit-DIbf4z_O.mjs} +2 -2
- package/dist/index.js +348 -77
- package/dist/index.mjs +348 -77
- package/dist/{player-overlays-BjZKK_0c.mjs → player-overlays-DQCBnVEz.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-CO8uheGu.mjs → responsive-DfDNxJT0.mjs} +1 -1
- package/dist/{scene-monitor-copy-BYrV3aHh.mjs → scene-monitor-copy-Cm4SNy1d.mjs} +1 -1
- package/dist/{square-BAgLrcRx.mjs → square-CzhgSdsX.mjs} +1 -1
- package/dist/{trash-2-BMlm83TB.mjs → trash-2-BLpS78eD.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dw0LOv1F.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-D3FVaAu5.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-DMGYyDv5.mjs +0 -26
package/dist/index.mjs
CHANGED
|
@@ -5378,7 +5378,7 @@ var ZodIssueCode = {
|
|
|
5378
5378
|
var ZodFirstPartyTypeKind;
|
|
5379
5379
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5380
5380
|
//#endregion
|
|
5381
|
-
//#region ../types/dist/sleep-
|
|
5381
|
+
//#region ../types/dist/sleep-C16NCZR2.mjs
|
|
5382
5382
|
/**
|
|
5383
5383
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5384
5384
|
* window to float samples (D455).
|
|
@@ -10562,57 +10562,15 @@ var ClipSearchStrictnessSchema = _enum([
|
|
|
10562
10562
|
"balanced",
|
|
10563
10563
|
"strict"
|
|
10564
10564
|
]);
|
|
10565
|
-
|
|
10566
|
-
|
|
10567
|
-
id: "person",
|
|
10568
|
-
name: "Person"
|
|
10569
|
-
},
|
|
10570
|
-
{
|
|
10571
|
-
id: "vehicle",
|
|
10572
|
-
name: "Vehicle"
|
|
10573
|
-
},
|
|
10574
|
-
{
|
|
10575
|
-
id: "animal",
|
|
10576
|
-
name: "Animal"
|
|
10577
|
-
},
|
|
10578
|
-
{
|
|
10579
|
-
id: "package",
|
|
10580
|
-
name: "Package"
|
|
10581
|
-
}
|
|
10582
|
-
].map((l) => l.id));
|
|
10583
|
-
var COCO_TO_MACRO = {
|
|
10584
|
-
mapping: {
|
|
10585
|
-
person: "person",
|
|
10586
|
-
bicycle: "vehicle",
|
|
10587
|
-
car: "vehicle",
|
|
10588
|
-
motorcycle: "vehicle",
|
|
10589
|
-
airplane: "vehicle",
|
|
10590
|
-
bus: "vehicle",
|
|
10591
|
-
train: "vehicle",
|
|
10592
|
-
truck: "vehicle",
|
|
10593
|
-
boat: "vehicle",
|
|
10594
|
-
bird: "animal",
|
|
10595
|
-
cat: "animal",
|
|
10596
|
-
dog: "animal",
|
|
10597
|
-
horse: "animal",
|
|
10598
|
-
sheep: "animal",
|
|
10599
|
-
cow: "animal",
|
|
10600
|
-
elephant: "animal",
|
|
10601
|
-
bear: "animal",
|
|
10602
|
-
zebra: "animal",
|
|
10603
|
-
giraffe: "animal",
|
|
10604
|
-
suitcase: "package",
|
|
10605
|
-
backpack: "package",
|
|
10606
|
-
handbag: "package"
|
|
10607
|
-
},
|
|
10608
|
-
preserveOriginal: false
|
|
10609
|
-
};
|
|
10610
|
-
/** Steps a root detector may declare it fills. */
|
|
10611
|
-
var FILLABLE_STEP_IDS = [
|
|
10565
|
+
/** Steps whose effect a root label can BE. */
|
|
10566
|
+
var LABEL_SUPPLY_STEP_IDS = [
|
|
10612
10567
|
"animal-classifier",
|
|
10613
10568
|
"vehicle-classifier",
|
|
10614
10569
|
"package-detection"
|
|
10615
10570
|
];
|
|
10571
|
+
/** Steps whose box a root detection can BE. */
|
|
10572
|
+
var CROP_SUPPLY_STEP_IDS = ["plate-detection", "face-detection"];
|
|
10573
|
+
[...LABEL_SUPPLY_STEP_IDS, ...CROP_SUPPLY_STEP_IDS];
|
|
10616
10574
|
var MODEL_FORMATS = [
|
|
10617
10575
|
"onnx",
|
|
10618
10576
|
"coreml",
|
|
@@ -10745,12 +10703,35 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
|
|
|
10745
10703
|
/** True when the weights or their data forbid commercial use. */
|
|
10746
10704
|
nonCommercial: boolean().optional()
|
|
10747
10705
|
}));
|
|
10748
|
-
/**
|
|
10749
|
-
|
|
10750
|
-
|
|
10706
|
+
/**
|
|
10707
|
+
* One step a ROOT detector can supply from its own output (D730) — see
|
|
10708
|
+
* `ModelCatalogEntry.suppliesSteps`.
|
|
10709
|
+
*
|
|
10710
|
+
* - `label`: the root's raw class IS the step's answer. `labelToEffect` maps
|
|
10711
|
+
* the root's label to the step's vocabulary; `uncovered` is the vocabulary
|
|
10712
|
+
* the root cannot produce (shown as unavailable, never a blocker).
|
|
10713
|
+
* - `crop`: the root draws the box the step would have found (`license_plate`
|
|
10714
|
+
* for plate-detection, `face` for face-detection). The box becomes a detail
|
|
10715
|
+
* child of the `parentMacro` detection that contains it — never a track.
|
|
10716
|
+
*/
|
|
10717
|
+
var RootStepSupplySchema = discriminatedUnion("kind", [object({
|
|
10718
|
+
kind: literal("label"),
|
|
10719
|
+
stepId: _enum(LABEL_SUPPLY_STEP_IDS),
|
|
10751
10720
|
labelToEffect: record(string(), string()),
|
|
10752
10721
|
uncovered: array(string()).readonly()
|
|
10753
|
-
})
|
|
10722
|
+
}), object({
|
|
10723
|
+
kind: literal("crop"),
|
|
10724
|
+
stepId: _enum(CROP_SUPPLY_STEP_IDS),
|
|
10725
|
+
rootLabels: array(string()).readonly(),
|
|
10726
|
+
parentMacro: _enum(["vehicle", "person"]),
|
|
10727
|
+
childClass: _enum(["plate", "face"]),
|
|
10728
|
+
/**
|
|
10729
|
+
* The root's smaller input side, stamped on read by `rootSuppliesOf` from
|
|
10730
|
+
* the model entry — what a step's `minRootInputPx` gate judges. Never
|
|
10731
|
+
* stored by an import.
|
|
10732
|
+
*/
|
|
10733
|
+
rootInputPx: number().int().positive().optional()
|
|
10734
|
+
})]);
|
|
10754
10735
|
var ModelCatalogEntrySchema = object({
|
|
10755
10736
|
id: string(),
|
|
10756
10737
|
name: string(),
|
|
@@ -10877,15 +10858,15 @@ var ModelCatalogEntrySchema = object({
|
|
|
10877
10858
|
*/
|
|
10878
10859
|
classMap: DetectionCatalogClassMapSchema.optional(),
|
|
10879
10860
|
/**
|
|
10880
|
-
* The pipeline steps this ROOT detector
|
|
10881
|
-
* its labels name
|
|
10882
|
-
*
|
|
10883
|
-
* labelmap by `
|
|
10884
|
-
*
|
|
10885
|
-
*
|
|
10886
|
-
* `
|
|
10861
|
+
* The pipeline steps this ROOT detector can supply from its own output
|
|
10862
|
+
* (D730): its labels name a step's effect (`deer` for `animal-classifier`)
|
|
10863
|
+
* or draw a step's box (`license_plate` for `plate-detection`). Computed at
|
|
10864
|
+
* import from THIS model's labelmap by `deriveRootSupplies`, never written
|
|
10865
|
+
* by hand and never assumed per family; a row without it is derived on read
|
|
10866
|
+
* (`rootSuppliesOf`). Whether a camera uses it is the step's own
|
|
10867
|
+
* `useRootModel` flag (`resolveRootSupply`).
|
|
10887
10868
|
*/
|
|
10888
|
-
|
|
10869
|
+
suppliesSteps: array(RootStepSupplySchema).readonly().optional(),
|
|
10889
10870
|
/**
|
|
10890
10871
|
* The model's CLIP feature-space contract (text encoder, dimension, vector
|
|
10891
10872
|
* index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
|
|
@@ -20473,6 +20454,51 @@ var notificationOutputCapability = {
|
|
|
20473
20454
|
})
|
|
20474
20455
|
}
|
|
20475
20456
|
};
|
|
20457
|
+
new Set([
|
|
20458
|
+
{
|
|
20459
|
+
id: "person",
|
|
20460
|
+
name: "Person"
|
|
20461
|
+
},
|
|
20462
|
+
{
|
|
20463
|
+
id: "vehicle",
|
|
20464
|
+
name: "Vehicle"
|
|
20465
|
+
},
|
|
20466
|
+
{
|
|
20467
|
+
id: "animal",
|
|
20468
|
+
name: "Animal"
|
|
20469
|
+
},
|
|
20470
|
+
{
|
|
20471
|
+
id: "package",
|
|
20472
|
+
name: "Package"
|
|
20473
|
+
}
|
|
20474
|
+
].map((l) => l.id));
|
|
20475
|
+
var COCO_TO_MACRO = {
|
|
20476
|
+
mapping: {
|
|
20477
|
+
person: "person",
|
|
20478
|
+
bicycle: "vehicle",
|
|
20479
|
+
car: "vehicle",
|
|
20480
|
+
motorcycle: "vehicle",
|
|
20481
|
+
airplane: "vehicle",
|
|
20482
|
+
bus: "vehicle",
|
|
20483
|
+
train: "vehicle",
|
|
20484
|
+
truck: "vehicle",
|
|
20485
|
+
boat: "vehicle",
|
|
20486
|
+
bird: "animal",
|
|
20487
|
+
cat: "animal",
|
|
20488
|
+
dog: "animal",
|
|
20489
|
+
horse: "animal",
|
|
20490
|
+
sheep: "animal",
|
|
20491
|
+
cow: "animal",
|
|
20492
|
+
elephant: "animal",
|
|
20493
|
+
bear: "animal",
|
|
20494
|
+
zebra: "animal",
|
|
20495
|
+
giraffe: "animal",
|
|
20496
|
+
suitcase: "package",
|
|
20497
|
+
backpack: "package",
|
|
20498
|
+
handbag: "package"
|
|
20499
|
+
},
|
|
20500
|
+
preserveOriginal: false
|
|
20501
|
+
};
|
|
20476
20502
|
var AUDIO_MACRO_LABELS = [
|
|
20477
20503
|
{
|
|
20478
20504
|
id: "speech",
|
|
@@ -22923,7 +22949,7 @@ var NC_CONDITION_CATALOG = [
|
|
|
22923
22949
|
operator: "in",
|
|
22924
22950
|
appliesTo: ["immediate", "track-end"],
|
|
22925
22951
|
phase: "P1",
|
|
22926
|
-
description: "Only recognised people. Selecting NOBODY means every identity in the face gallery; selecting some narrows to those. Matched on the gallery id, so renaming a person does not break the rule. On Immediate delivery the name must already be known when an event is written — choose Immediate, grouped to wait for it
|
|
22952
|
+
description: "Only recognised people. Selecting NOBODY means every identity in the face gallery; selecting some narrows to those. Matched on the gallery id, so renaming a person does not break the rule. On Immediate delivery the name must already be known when an event is written — choose Immediate, grouped to wait for it."
|
|
22927
22953
|
},
|
|
22928
22954
|
{
|
|
22929
22955
|
id: "plates",
|
|
@@ -27207,6 +27233,34 @@ var pipelineAnalyticsCapability = {
|
|
|
27207
27233
|
}
|
|
27208
27234
|
};
|
|
27209
27235
|
/**
|
|
27236
|
+
* A root model's boxes standing in for one crop-kind step's own inference
|
|
27237
|
+
* (D730) — see `runPipeline.suppliedRoot`.
|
|
27238
|
+
*/
|
|
27239
|
+
var SuppliedRootOutputSchema = object({
|
|
27240
|
+
stepId: string(),
|
|
27241
|
+
/** The root model that drew the boxes — stamped on the result. */
|
|
27242
|
+
modelId: string(),
|
|
27243
|
+
detections: array(object({
|
|
27244
|
+
/** `[x1, y1, x2, y2]` in the pixels of the call's image. */
|
|
27245
|
+
bbox: tuple([
|
|
27246
|
+
number(),
|
|
27247
|
+
number(),
|
|
27248
|
+
number(),
|
|
27249
|
+
number()
|
|
27250
|
+
]),
|
|
27251
|
+
score: number(),
|
|
27252
|
+
/**
|
|
27253
|
+
* Five facial landmarks in the same pixels — a face the step's own
|
|
27254
|
+
* detector already re-found inside a root face box (D730), so its
|
|
27255
|
+
* embedder child aligns it exactly as it aligns any detected face.
|
|
27256
|
+
*/
|
|
27257
|
+
landmarks: array(object({
|
|
27258
|
+
x: number(),
|
|
27259
|
+
y: number()
|
|
27260
|
+
})).optional()
|
|
27261
|
+
})).min(1)
|
|
27262
|
+
});
|
|
27263
|
+
/**
|
|
27210
27264
|
* Reference to the frame's retained NATIVE surface + the parent crop's placement
|
|
27211
27265
|
* within the frame, so the executor can re-cut a leaf child ROI at native
|
|
27212
27266
|
* resolution on the detail plane. See the `runPipeline` `nativeCropRef` field.
|
|
@@ -27337,7 +27391,7 @@ var PipelineModelOptionSchema = object({
|
|
|
27337
27391
|
legacy: boolean().optional(),
|
|
27338
27392
|
provider: ModelProviderIdSchema.optional(),
|
|
27339
27393
|
defaultConfidence: number().optional(),
|
|
27340
|
-
|
|
27394
|
+
suppliesSteps: array(RootStepSupplySchema).readonly().optional()
|
|
27341
27395
|
});
|
|
27342
27396
|
var ConfigFieldBridge = custom();
|
|
27343
27397
|
var PipelineAddonSchemaSchema = object({
|
|
@@ -27741,7 +27795,16 @@ var pipelineExecutorCapability = {
|
|
|
27741
27795
|
* `device-not-servable`), and nothing reaches the camera's live
|
|
27742
27796
|
* trace stream. Absent ⇒ unchanged behaviour.
|
|
27743
27797
|
*/
|
|
27744
|
-
replay: literal(true).optional()
|
|
27798
|
+
replay: literal(true).optional(),
|
|
27799
|
+
/**
|
|
27800
|
+
* Root-supplied detections for the tree's ROOT step (D730). Set by
|
|
27801
|
+
* `runDetailSubtree` when the camera's root model supplies a crop-kind
|
|
27802
|
+
* step (a Frigate+ `license_plate` for `plate-detection`): the step is
|
|
27803
|
+
* NOT inferred, these boxes are its output, and its children (the plate
|
|
27804
|
+
* reader) run on them through their own crop policy. Boxes are in the
|
|
27805
|
+
* PIXELS of the image this call carries. Absent ⇒ the root step runs.
|
|
27806
|
+
*/
|
|
27807
|
+
suppliedRoot: SuppliedRootOutputSchema.optional()
|
|
27745
27808
|
}), PipelineRunResultBridge, { kind: "mutation" }),
|
|
27746
27809
|
/**
|
|
27747
27810
|
* Batched run — N raw frames packed into one cap call. The provider
|
|
@@ -29054,7 +29117,22 @@ var pipelineRunnerCapability = {
|
|
|
29054
29117
|
*/
|
|
29055
29118
|
cropJpeg: string().optional(),
|
|
29056
29119
|
parent: DetailParentSchema,
|
|
29057
|
-
steps: array(string()).optional()
|
|
29120
|
+
steps: array(string()).optional(),
|
|
29121
|
+
/**
|
|
29122
|
+
* The camera's root model already drew this step's boxes (D730): a
|
|
29123
|
+
* `license_plate` inside the parent vehicle. The named step is NOT
|
|
29124
|
+
* inferred — these FRAME-space boxes are its output — and its
|
|
29125
|
+
* requested children (the plate reader) run on them. Absent ⇒ every
|
|
29126
|
+
* requested step infers as before.
|
|
29127
|
+
*/
|
|
29128
|
+
supplied: object({
|
|
29129
|
+
stepId: string(),
|
|
29130
|
+
modelId: string(),
|
|
29131
|
+
boxes: array(object({
|
|
29132
|
+
bbox: NativeCropBboxSchema,
|
|
29133
|
+
score: number()
|
|
29134
|
+
})).min(1)
|
|
29135
|
+
}).optional()
|
|
29058
29136
|
}), object({ details: array(DetailResultSchema) }).nullable(), { kind: "mutation" }),
|
|
29059
29137
|
/**
|
|
29060
29138
|
* Run ONE enrichment step against caller-supplied pixels, with NO camera
|
|
@@ -33568,6 +33646,35 @@ var webrtcSessionCapability = {
|
|
|
33568
33646
|
alive: boolean()
|
|
33569
33647
|
})),
|
|
33570
33648
|
/**
|
|
33649
|
+
* The viewer's downlink probe, for ONE live session (D733).
|
|
33650
|
+
*
|
|
33651
|
+
* The player measures `/adaptive-probe` after the session's first decoded
|
|
33652
|
+
* frame (D635). It used to act on the reading itself, by opening a SECOND
|
|
33653
|
+
* session with `hints.downlinkMbps` — every adaptive live open became two
|
|
33654
|
+
* sessions, two ICE + DTLS handshakes and two server pipelines. It now
|
|
33655
|
+
* hands the measurement to the session it already has; the provider picks
|
|
33656
|
+
* the rung exactly as it would from an offer's hints (same viewport
|
|
33657
|
+
* ceiling) and moves the session there — in place when the negotiated
|
|
33658
|
+
* codec carries the new rendition, by the existing re-offer
|
|
33659
|
+
* (`getSessionState.pendingRenegotiation`) when it cannot.
|
|
33660
|
+
*
|
|
33661
|
+
* A MEASUREMENT, never a tier: the client does not choose. A probe only
|
|
33662
|
+
* raises the rung; lowering it stays the ladder's call on delivery.
|
|
33663
|
+
* `held` answers why nothing moved (`not-adaptive`, `pinned`,
|
|
33664
|
+
* `already-there`, `recorded`, …) — a client that gets ANY answer must not
|
|
33665
|
+
* fall back to a reconnect; only a provider that does not know the method
|
|
33666
|
+
* (an older hub) leaves the client its legacy second session.
|
|
33667
|
+
*/
|
|
33668
|
+
applyDownlinkProbe: method(object({
|
|
33669
|
+
deviceId: number().int().nonnegative(),
|
|
33670
|
+
sessionId: string(),
|
|
33671
|
+
downlinkMbps: number().nonnegative()
|
|
33672
|
+
}), object({
|
|
33673
|
+
outcome: _enum(["switching", "held"]),
|
|
33674
|
+
tier: CamProfileSchema.nullable(),
|
|
33675
|
+
reason: string()
|
|
33676
|
+
}), { kind: "mutation" }),
|
|
33677
|
+
/**
|
|
33571
33678
|
* The SERVER's half of the stream-debug overlay, for one live session.
|
|
33572
33679
|
*
|
|
33573
33680
|
* The client can measure its own transport (`getStats()`); it cannot see
|
|
@@ -37796,7 +37903,8 @@ var ConnectionEndpointSchema = object({
|
|
|
37796
37903
|
"lan-ipv6",
|
|
37797
37904
|
"public",
|
|
37798
37905
|
"loopback",
|
|
37799
|
-
"app-link"
|
|
37906
|
+
"app-link",
|
|
37907
|
+
"custom"
|
|
37800
37908
|
]),
|
|
37801
37909
|
/**
|
|
37802
37910
|
* Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
|
|
@@ -37898,6 +38006,76 @@ var ViewerEndpointsSchema = object({
|
|
|
37898
38006
|
/** What the ranking currently resolves to (may be empty if nothing is up). */
|
|
37899
38007
|
resolved: array(string()).readonly()
|
|
37900
38008
|
});
|
|
38009
|
+
/**
|
|
38010
|
+
* DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
|
|
38011
|
+
* one release for addons built against it): `cluster` is the `agents` role,
|
|
38012
|
+
* `browser` the `signIn` role; `override` is the flagged address.
|
|
38013
|
+
*/
|
|
38014
|
+
var HubAddressSnapshotSchema = object({
|
|
38015
|
+
override: string().nullable(),
|
|
38016
|
+
resolved: string().nullable(),
|
|
38017
|
+
source: _enum([
|
|
38018
|
+
"override",
|
|
38019
|
+
"auto",
|
|
38020
|
+
"none"
|
|
38021
|
+
])
|
|
38022
|
+
});
|
|
38023
|
+
var HubAddressesSchema = object({
|
|
38024
|
+
cluster: HubAddressSnapshotSchema,
|
|
38025
|
+
browser: HubAddressSnapshotSchema
|
|
38026
|
+
});
|
|
38027
|
+
/**
|
|
38028
|
+
* What an address is used for (`hub-address.ts`). `viewer` is many-valued;
|
|
38029
|
+
* `notifications`, `agents` and `signIn` are carried by at most one address.
|
|
38030
|
+
*/
|
|
38031
|
+
var HubAddressRoleSchema = _enum([
|
|
38032
|
+
"viewer",
|
|
38033
|
+
"notifications",
|
|
38034
|
+
"agents",
|
|
38035
|
+
"signIn"
|
|
38036
|
+
]);
|
|
38037
|
+
var RoleSourceSchema = _enum([
|
|
38038
|
+
"flagged",
|
|
38039
|
+
"auto",
|
|
38040
|
+
"none"
|
|
38041
|
+
]);
|
|
38042
|
+
/** One single-valued role: the flagged address, the one in use, and why. */
|
|
38043
|
+
var HubAddressRoleResolutionSchema = object({
|
|
38044
|
+
/** The address carrying the flag, or null = automatic. */
|
|
38045
|
+
flagged: string().nullable(),
|
|
38046
|
+
/** The address in use, or null when nothing qualifies (never loopback). */
|
|
38047
|
+
resolved: string().nullable(),
|
|
38048
|
+
source: RoleSourceSchema
|
|
38049
|
+
});
|
|
38050
|
+
var HubViewerResolutionSchema = object({
|
|
38051
|
+
/** The addresses flagged `viewer`, or empty = automatic. */
|
|
38052
|
+
flagged: array(string()).readonly(),
|
|
38053
|
+
/** What the apps race right now. */
|
|
38054
|
+
resolved: array(string()).readonly(),
|
|
38055
|
+
source: RoleSourceSchema
|
|
38056
|
+
});
|
|
38057
|
+
var HubAddressBookSchema = object({
|
|
38058
|
+
rows: array(ConnectionEndpointSchema.extend({
|
|
38059
|
+
/** In the hub's detected palette right now. */
|
|
38060
|
+
detected: boolean(),
|
|
38061
|
+
/** Entered by the operator (removable). */
|
|
38062
|
+
custom: boolean(),
|
|
38063
|
+
/** The roles explicitly flagged on this address. */
|
|
38064
|
+
flags: array(HubAddressRoleSchema).readonly(),
|
|
38065
|
+
/** The roles this address serves right now — flagged or automatic. */
|
|
38066
|
+
inUse: array(HubAddressRoleSchema).readonly(),
|
|
38067
|
+
/** The roles this address may be flagged with. */
|
|
38068
|
+
eligible: array(HubAddressRoleSchema).readonly()
|
|
38069
|
+
})).readonly(),
|
|
38070
|
+
roles: object({
|
|
38071
|
+
viewer: HubViewerResolutionSchema,
|
|
38072
|
+
notifications: HubAddressRoleResolutionSchema,
|
|
38073
|
+
agents: HubAddressRoleResolutionSchema,
|
|
38074
|
+
signIn: HubAddressRoleResolutionSchema
|
|
38075
|
+
}),
|
|
38076
|
+
/** The `hub=` an app link carries (D709), or null. */
|
|
38077
|
+
appLinkHub: string().nullable()
|
|
38078
|
+
});
|
|
37901
38079
|
var AllowedAddressesSchema = object({
|
|
37902
38080
|
/**
|
|
37903
38081
|
* Allowlist of interface addresses operators have explicitly opted
|
|
@@ -38010,26 +38188,78 @@ var localNetworkCapability = {
|
|
|
38010
38188
|
*/
|
|
38011
38189
|
getNotificationEndpoint: method(_void(), NotificationEndpointSchema),
|
|
38012
38190
|
/**
|
|
38013
|
-
*
|
|
38014
|
-
*
|
|
38015
|
-
*
|
|
38016
|
-
*
|
|
38191
|
+
* @deprecated Use `setAddressRole({ role: 'notifications', … })`. Kept so
|
|
38192
|
+
* an older admin UI keeps working: it writes the same `notifications`
|
|
38193
|
+
* flag, with the same validation. `baseUrl: null` restores automatic; an
|
|
38194
|
+
* address that is not detected becomes a custom address.
|
|
38017
38195
|
*/
|
|
38018
38196
|
setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
|
|
38019
38197
|
/**
|
|
38020
|
-
* The
|
|
38021
|
-
*
|
|
38022
|
-
*
|
|
38023
|
-
*
|
|
38198
|
+
* The `viewer` role as shipped apps read it: the flagged addresses
|
|
38199
|
+
* (detected or custom), or empty for AUTO — every LAN IPv4 address plus
|
|
38200
|
+
* the public tunnel, never IPv6, mesh, loopback or a custom address.
|
|
38201
|
+
* `resolved` is the set as it stands right now; the custom ones in it are
|
|
38202
|
+
* also in `getConnectionEndpoints`, which the apps filter by it.
|
|
38024
38203
|
*/
|
|
38025
38204
|
getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
|
|
38026
38205
|
/**
|
|
38027
|
-
*
|
|
38028
|
-
*
|
|
38029
|
-
*
|
|
38206
|
+
* @deprecated Use `setAddressRole({ role: 'viewer', … })`. Kept so an
|
|
38207
|
+
* older admin UI keeps working: it replaces the same `viewer` flags.
|
|
38208
|
+
* Empty `baseUrls` restores automatic.
|
|
38030
38209
|
*/
|
|
38031
38210
|
setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
|
|
38032
38211
|
/**
|
|
38212
|
+
* The Network page's Addresses table and every role's answer — the ONE
|
|
38213
|
+
* reading of "which address is this hub reached at, for what": detected
|
|
38214
|
+
* endpoints and custom addresses with their role flags, and per role the
|
|
38215
|
+
* flagged address, the one in use and whether it is automatic. Agent
|
|
38216
|
+
* deliveries, sign-in and LAN devices read `roles.agents` / `roles.signIn`
|
|
38217
|
+
* here; nothing ranks the palette itself. `scheme` is the one the caller
|
|
38218
|
+
* shows LAN rows in (as `getConnectionEndpoints`); agents and sign-in are
|
|
38219
|
+
* always resolved over the HTTPS palette.
|
|
38220
|
+
*/
|
|
38221
|
+
getAddresses: method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema),
|
|
38222
|
+
/**
|
|
38223
|
+
* Add a custom address. Validated: an http(s) origin with a host, no
|
|
38224
|
+
* credentials, no path, never loopback — an invalid one is refused with
|
|
38225
|
+
* the reason and nothing is stored. Adding an address that already exists
|
|
38226
|
+
* only updates its label.
|
|
38227
|
+
*/
|
|
38228
|
+
addCustomAddress: method(object({
|
|
38229
|
+
baseUrl: string(),
|
|
38230
|
+
label: string().max(80)
|
|
38231
|
+
}), HubAddressBookSchema, {
|
|
38232
|
+
kind: "mutation",
|
|
38233
|
+
auth: "admin"
|
|
38234
|
+
}),
|
|
38235
|
+
/** Remove a custom address. Its role flags go with it (those roles turn automatic). */
|
|
38236
|
+
removeCustomAddress: method(object({ baseUrl: string() }), HubAddressBookSchema, {
|
|
38237
|
+
kind: "mutation",
|
|
38238
|
+
auth: "admin"
|
|
38239
|
+
}),
|
|
38240
|
+
/**
|
|
38241
|
+
* Flag (`enabled: true`) or unflag an address for a role. For a
|
|
38242
|
+
* single-valued role, flagging moves the flag off every other address.
|
|
38243
|
+
* `baseUrl: null` returns the role to automatic. The address must be a row
|
|
38244
|
+
* of the table (detected, custom, or the app link for notifications);
|
|
38245
|
+
* `signIn` on a plain-http address is refused unless `acceptInsecureHttp`.
|
|
38246
|
+
*/
|
|
38247
|
+
setAddressRole: method(object({
|
|
38248
|
+
role: HubAddressRoleSchema,
|
|
38249
|
+
baseUrl: string().nullable(),
|
|
38250
|
+
enabled: boolean(),
|
|
38251
|
+
acceptInsecureHttp: boolean().optional()
|
|
38252
|
+
}), HubAddressBookSchema, {
|
|
38253
|
+
kind: "mutation",
|
|
38254
|
+
auth: "admin"
|
|
38255
|
+
}),
|
|
38256
|
+
/**
|
|
38257
|
+
* @deprecated Read `getAddresses().roles.agents` / `.signIn`. Kept one
|
|
38258
|
+
* release so an addon built against the D729 amendment keeps resolving:
|
|
38259
|
+
* `cluster` = the `agents` role, `browser` = the `signIn` role.
|
|
38260
|
+
*/
|
|
38261
|
+
getHubAddresses: method(_void(), HubAddressesSchema),
|
|
38262
|
+
/**
|
|
38033
38263
|
* Read the operator's allowlist. Empty = "auto" (no filter). Used
|
|
38034
38264
|
* by the admin UI's address selector to seed its checkbox state.
|
|
38035
38265
|
*/
|
|
@@ -49162,12 +49392,24 @@ Object.freeze({
|
|
|
49162
49392
|
addonId: null,
|
|
49163
49393
|
access: "view"
|
|
49164
49394
|
},
|
|
49395
|
+
"localNetwork.addCustomAddress": {
|
|
49396
|
+
capName: "local-network",
|
|
49397
|
+
capScope: "system",
|
|
49398
|
+
addonId: null,
|
|
49399
|
+
access: "create"
|
|
49400
|
+
},
|
|
49165
49401
|
"localNetwork.downloadCa": {
|
|
49166
49402
|
capName: "local-network",
|
|
49167
49403
|
capScope: "system",
|
|
49168
49404
|
addonId: null,
|
|
49169
49405
|
access: "view"
|
|
49170
49406
|
},
|
|
49407
|
+
"localNetwork.getAddresses": {
|
|
49408
|
+
capName: "local-network",
|
|
49409
|
+
capScope: "system",
|
|
49410
|
+
addonId: null,
|
|
49411
|
+
access: "view"
|
|
49412
|
+
},
|
|
49171
49413
|
"localNetwork.getAllowedAddresses": {
|
|
49172
49414
|
capName: "local-network",
|
|
49173
49415
|
capScope: "system",
|
|
@@ -49180,6 +49422,12 @@ Object.freeze({
|
|
|
49180
49422
|
addonId: null,
|
|
49181
49423
|
access: "view"
|
|
49182
49424
|
},
|
|
49425
|
+
"localNetwork.getHubAddresses": {
|
|
49426
|
+
capName: "local-network",
|
|
49427
|
+
capScope: "system",
|
|
49428
|
+
addonId: null,
|
|
49429
|
+
access: "view"
|
|
49430
|
+
},
|
|
49183
49431
|
"localNetwork.getNotificationEndpoint": {
|
|
49184
49432
|
capName: "local-network",
|
|
49185
49433
|
capScope: "system",
|
|
@@ -49216,6 +49464,12 @@ Object.freeze({
|
|
|
49216
49464
|
addonId: null,
|
|
49217
49465
|
access: "create"
|
|
49218
49466
|
},
|
|
49467
|
+
"localNetwork.removeCustomAddress": {
|
|
49468
|
+
capName: "local-network",
|
|
49469
|
+
capScope: "system",
|
|
49470
|
+
addonId: null,
|
|
49471
|
+
access: "delete"
|
|
49472
|
+
},
|
|
49219
49473
|
"localNetwork.resetAllowlistToBestMatch": {
|
|
49220
49474
|
capName: "local-network",
|
|
49221
49475
|
capScope: "system",
|
|
@@ -49228,6 +49482,12 @@ Object.freeze({
|
|
|
49228
49482
|
addonId: null,
|
|
49229
49483
|
access: "create"
|
|
49230
49484
|
},
|
|
49485
|
+
"localNetwork.setAddressRole": {
|
|
49486
|
+
capName: "local-network",
|
|
49487
|
+
capScope: "system",
|
|
49488
|
+
addonId: null,
|
|
49489
|
+
access: "create"
|
|
49490
|
+
},
|
|
49231
49491
|
"localNetwork.setAllowedAddresses": {
|
|
49232
49492
|
capName: "local-network",
|
|
49233
49493
|
capScope: "system",
|
|
@@ -53482,6 +53742,12 @@ Object.freeze({
|
|
|
53482
53742
|
addonId: null,
|
|
53483
53743
|
access: "create"
|
|
53484
53744
|
},
|
|
53745
|
+
"webrtcSession.applyDownlinkProbe": {
|
|
53746
|
+
capName: "webrtc-session",
|
|
53747
|
+
capScope: "device",
|
|
53748
|
+
addonId: null,
|
|
53749
|
+
access: "create"
|
|
53750
|
+
},
|
|
53485
53751
|
"webrtcSession.closeSession": {
|
|
53486
53752
|
capName: "webrtc-session",
|
|
53487
53753
|
capScope: "device",
|
|
@@ -57580,6 +57846,11 @@ Object.freeze({
|
|
|
57580
57846
|
form: "single",
|
|
57581
57847
|
optional: false
|
|
57582
57848
|
}],
|
|
57849
|
+
"webrtcSession.applyDownlinkProbe": [{
|
|
57850
|
+
name: "deviceId",
|
|
57851
|
+
form: "single",
|
|
57852
|
+
optional: false
|
|
57853
|
+
}],
|
|
57583
57854
|
"webrtcSession.closeSession": [{
|
|
57584
57855
|
name: "deviceId",
|
|
57585
57856
|
form: "single",
|
|
@@ -58193,7 +58464,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
58193
58464
|
{
|
|
58194
58465
|
name: "summarySection",
|
|
58195
58466
|
label: "Summary: this section",
|
|
58196
|
-
description: "The section a per-section summary row is about
|
|
58467
|
+
description: "The section a per-section summary row is about; on a summary sent as one message, every section it reports, comma-separated.",
|
|
58197
58468
|
example: "Batterie scariche",
|
|
58198
58469
|
group: "system",
|
|
58199
58470
|
families: ["rule"],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { b as e, g as t, l as n, u as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C5jUMd7X.mjs";
|
|
2
|
-
import { c as i, s as a } from "./responsive-
|
|
2
|
+
import { c as i, s as a } from "./responsive-DfDNxJT0.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 = i("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-D3FVaAu5.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as e, b as t, c as n, g as r, l as i, m as a, n as o, r as s, t as c, u as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C5jUMd7X.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 { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
3
|
+
import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BaCE42a6.mjs";
|
|
4
4
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
5
5
|
t();
|
|
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 { b as e, c as t, g as n, m as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C5jUMd7X.mjs";
|
|
2
|
-
import { c as i } from "./responsive-
|
|
2
|
+
import { c as i } from "./responsive-DfDNxJT0.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-CKTxetEY.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|