@camstack/addon-osd-manager 0.1.175 → 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-CLHuPFP2.mjs → MotionZonesSettings-CPKsdj2c.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-msEoZGV4.mjs → PrivacyMaskSettings-Ctm1-2f1.mjs} +4 -4
- package/dist/{SceneMonitorEditor-CDMTyPOI.mjs → SceneMonitorEditor-CvSaLIzi.mjs} +3 -3
- package/dist/_stub.js +11 -11
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BOWRi4wx.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-B0oLGxE3.mjs → hostInit-DIbf4z_O.mjs} +2 -2
- package/dist/index.js +174 -34
- package/dist/index.mjs +174 -34
- package/dist/{player-overlays-Ci5aBEqV.mjs → player-overlays-DQCBnVEz.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-D83cn_B2.mjs → responsive-DfDNxJT0.mjs} +1 -1
- package/dist/{scene-monitor-copy-T37cA01e.mjs → scene-monitor-copy-Cm4SNy1d.mjs} +1 -1
- package/dist/{square-BBks-LOA.mjs → square-CzhgSdsX.mjs} +1 -1
- package/dist/{trash-2-B4ohh3xr.mjs → trash-2-BLpS78eD.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-C0g1t6Aa.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-C2RynBx0.mjs +0 -26
package/dist/index.js
CHANGED
|
@@ -5382,7 +5382,7 @@ var ZodIssueCode = {
|
|
|
5382
5382
|
var ZodFirstPartyTypeKind;
|
|
5383
5383
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5384
5384
|
//#endregion
|
|
5385
|
-
//#region ../types/dist/sleep-
|
|
5385
|
+
//#region ../types/dist/sleep-C16NCZR2.mjs
|
|
5386
5386
|
/**
|
|
5387
5387
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5388
5388
|
* window to float samples (D455).
|
|
@@ -33650,6 +33650,35 @@ var webrtcSessionCapability = {
|
|
|
33650
33650
|
alive: boolean()
|
|
33651
33651
|
})),
|
|
33652
33652
|
/**
|
|
33653
|
+
* The viewer's downlink probe, for ONE live session (D733).
|
|
33654
|
+
*
|
|
33655
|
+
* The player measures `/adaptive-probe` after the session's first decoded
|
|
33656
|
+
* frame (D635). It used to act on the reading itself, by opening a SECOND
|
|
33657
|
+
* session with `hints.downlinkMbps` — every adaptive live open became two
|
|
33658
|
+
* sessions, two ICE + DTLS handshakes and two server pipelines. It now
|
|
33659
|
+
* hands the measurement to the session it already has; the provider picks
|
|
33660
|
+
* the rung exactly as it would from an offer's hints (same viewport
|
|
33661
|
+
* ceiling) and moves the session there — in place when the negotiated
|
|
33662
|
+
* codec carries the new rendition, by the existing re-offer
|
|
33663
|
+
* (`getSessionState.pendingRenegotiation`) when it cannot.
|
|
33664
|
+
*
|
|
33665
|
+
* A MEASUREMENT, never a tier: the client does not choose. A probe only
|
|
33666
|
+
* raises the rung; lowering it stays the ladder's call on delivery.
|
|
33667
|
+
* `held` answers why nothing moved (`not-adaptive`, `pinned`,
|
|
33668
|
+
* `already-there`, `recorded`, …) — a client that gets ANY answer must not
|
|
33669
|
+
* fall back to a reconnect; only a provider that does not know the method
|
|
33670
|
+
* (an older hub) leaves the client its legacy second session.
|
|
33671
|
+
*/
|
|
33672
|
+
applyDownlinkProbe: method(object({
|
|
33673
|
+
deviceId: number().int().nonnegative(),
|
|
33674
|
+
sessionId: string(),
|
|
33675
|
+
downlinkMbps: number().nonnegative()
|
|
33676
|
+
}), object({
|
|
33677
|
+
outcome: _enum(["switching", "held"]),
|
|
33678
|
+
tier: CamProfileSchema.nullable(),
|
|
33679
|
+
reason: string()
|
|
33680
|
+
}), { kind: "mutation" }),
|
|
33681
|
+
/**
|
|
33653
33682
|
* The SERVER's half of the stream-debug overlay, for one live session.
|
|
33654
33683
|
*
|
|
33655
33684
|
* The client can measure its own transport (`getStats()`); it cannot see
|
|
@@ -37878,7 +37907,8 @@ var ConnectionEndpointSchema = object({
|
|
|
37878
37907
|
"lan-ipv6",
|
|
37879
37908
|
"public",
|
|
37880
37909
|
"loopback",
|
|
37881
|
-
"app-link"
|
|
37910
|
+
"app-link",
|
|
37911
|
+
"custom"
|
|
37882
37912
|
]),
|
|
37883
37913
|
/**
|
|
37884
37914
|
* Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
|
|
@@ -37981,13 +38011,12 @@ var ViewerEndpointsSchema = object({
|
|
|
37981
38011
|
resolved: array(string()).readonly()
|
|
37982
38012
|
});
|
|
37983
38013
|
/**
|
|
37984
|
-
*
|
|
37985
|
-
*
|
|
38014
|
+
* DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
|
|
38015
|
+
* one release for addons built against it): `cluster` is the `agents` role,
|
|
38016
|
+
* `browser` the `signIn` role; `override` is the flagged address.
|
|
37986
38017
|
*/
|
|
37987
38018
|
var HubAddressSnapshotSchema = object({
|
|
37988
|
-
/** The operator's override, or null for automatic. */
|
|
37989
38019
|
override: string().nullable(),
|
|
37990
|
-
/** The address in use, or null when nothing qualifies (never loopback). */
|
|
37991
38020
|
resolved: string().nullable(),
|
|
37992
38021
|
source: _enum([
|
|
37993
38022
|
"override",
|
|
@@ -37996,11 +38025,61 @@ var HubAddressSnapshotSchema = object({
|
|
|
37996
38025
|
])
|
|
37997
38026
|
});
|
|
37998
38027
|
var HubAddressesSchema = object({
|
|
37999
|
-
/** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
|
|
38000
38028
|
cluster: HubAddressSnapshotSchema,
|
|
38001
|
-
/** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
|
|
38002
38029
|
browser: HubAddressSnapshotSchema
|
|
38003
38030
|
});
|
|
38031
|
+
/**
|
|
38032
|
+
* What an address is used for (`hub-address.ts`). `viewer` is many-valued;
|
|
38033
|
+
* `notifications`, `agents` and `signIn` are carried by at most one address.
|
|
38034
|
+
*/
|
|
38035
|
+
var HubAddressRoleSchema = _enum([
|
|
38036
|
+
"viewer",
|
|
38037
|
+
"notifications",
|
|
38038
|
+
"agents",
|
|
38039
|
+
"signIn"
|
|
38040
|
+
]);
|
|
38041
|
+
var RoleSourceSchema = _enum([
|
|
38042
|
+
"flagged",
|
|
38043
|
+
"auto",
|
|
38044
|
+
"none"
|
|
38045
|
+
]);
|
|
38046
|
+
/** One single-valued role: the flagged address, the one in use, and why. */
|
|
38047
|
+
var HubAddressRoleResolutionSchema = object({
|
|
38048
|
+
/** The address carrying the flag, or null = automatic. */
|
|
38049
|
+
flagged: string().nullable(),
|
|
38050
|
+
/** The address in use, or null when nothing qualifies (never loopback). */
|
|
38051
|
+
resolved: string().nullable(),
|
|
38052
|
+
source: RoleSourceSchema
|
|
38053
|
+
});
|
|
38054
|
+
var HubViewerResolutionSchema = object({
|
|
38055
|
+
/** The addresses flagged `viewer`, or empty = automatic. */
|
|
38056
|
+
flagged: array(string()).readonly(),
|
|
38057
|
+
/** What the apps race right now. */
|
|
38058
|
+
resolved: array(string()).readonly(),
|
|
38059
|
+
source: RoleSourceSchema
|
|
38060
|
+
});
|
|
38061
|
+
var HubAddressBookSchema = object({
|
|
38062
|
+
rows: array(ConnectionEndpointSchema.extend({
|
|
38063
|
+
/** In the hub's detected palette right now. */
|
|
38064
|
+
detected: boolean(),
|
|
38065
|
+
/** Entered by the operator (removable). */
|
|
38066
|
+
custom: boolean(),
|
|
38067
|
+
/** The roles explicitly flagged on this address. */
|
|
38068
|
+
flags: array(HubAddressRoleSchema).readonly(),
|
|
38069
|
+
/** The roles this address serves right now — flagged or automatic. */
|
|
38070
|
+
inUse: array(HubAddressRoleSchema).readonly(),
|
|
38071
|
+
/** The roles this address may be flagged with. */
|
|
38072
|
+
eligible: array(HubAddressRoleSchema).readonly()
|
|
38073
|
+
})).readonly(),
|
|
38074
|
+
roles: object({
|
|
38075
|
+
viewer: HubViewerResolutionSchema,
|
|
38076
|
+
notifications: HubAddressRoleResolutionSchema,
|
|
38077
|
+
agents: HubAddressRoleResolutionSchema,
|
|
38078
|
+
signIn: HubAddressRoleResolutionSchema
|
|
38079
|
+
}),
|
|
38080
|
+
/** The `hub=` an app link carries (D709), or null. */
|
|
38081
|
+
appLinkHub: string().nullable()
|
|
38082
|
+
});
|
|
38004
38083
|
var AllowedAddressesSchema = object({
|
|
38005
38084
|
/**
|
|
38006
38085
|
* Allowlist of interface addresses operators have explicitly opted
|
|
@@ -38113,46 +38192,78 @@ var localNetworkCapability = {
|
|
|
38113
38192
|
*/
|
|
38114
38193
|
getNotificationEndpoint: method(_void(), NotificationEndpointSchema),
|
|
38115
38194
|
/**
|
|
38116
|
-
*
|
|
38117
|
-
*
|
|
38118
|
-
*
|
|
38119
|
-
*
|
|
38195
|
+
* @deprecated Use `setAddressRole({ role: 'notifications', … })`. Kept so
|
|
38196
|
+
* an older admin UI keeps working: it writes the same `notifications`
|
|
38197
|
+
* flag, with the same validation. `baseUrl: null` restores automatic; an
|
|
38198
|
+
* address that is not detected becomes a custom address.
|
|
38120
38199
|
*/
|
|
38121
38200
|
setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
|
|
38122
38201
|
/**
|
|
38123
|
-
* The
|
|
38124
|
-
*
|
|
38125
|
-
*
|
|
38126
|
-
*
|
|
38202
|
+
* The `viewer` role as shipped apps read it: the flagged addresses
|
|
38203
|
+
* (detected or custom), or empty for AUTO — every LAN IPv4 address plus
|
|
38204
|
+
* the public tunnel, never IPv6, mesh, loopback or a custom address.
|
|
38205
|
+
* `resolved` is the set as it stands right now; the custom ones in it are
|
|
38206
|
+
* also in `getConnectionEndpoints`, which the apps filter by it.
|
|
38127
38207
|
*/
|
|
38128
38208
|
getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
|
|
38129
38209
|
/**
|
|
38130
|
-
*
|
|
38131
|
-
*
|
|
38132
|
-
*
|
|
38210
|
+
* @deprecated Use `setAddressRole({ role: 'viewer', … })`. Kept so an
|
|
38211
|
+
* older admin UI keeps working: it replaces the same `viewer` flags.
|
|
38212
|
+
* Empty `baseUrls` restores automatic.
|
|
38133
38213
|
*/
|
|
38134
38214
|
setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
|
|
38135
38215
|
/**
|
|
38136
|
-
* The
|
|
38137
|
-
*
|
|
38138
|
-
*
|
|
38139
|
-
*
|
|
38140
|
-
*
|
|
38216
|
+
* The Network page's Addresses table and every role's answer — the ONE
|
|
38217
|
+
* reading of "which address is this hub reached at, for what": detected
|
|
38218
|
+
* endpoints and custom addresses with their role flags, and per role the
|
|
38219
|
+
* flagged address, the one in use and whether it is automatic. Agent
|
|
38220
|
+
* deliveries, sign-in and LAN devices read `roles.agents` / `roles.signIn`
|
|
38221
|
+
* here; nothing ranks the palette itself. `scheme` is the one the caller
|
|
38222
|
+
* shows LAN rows in (as `getConnectionEndpoints`); agents and sign-in are
|
|
38223
|
+
* always resolved over the HTTPS palette.
|
|
38141
38224
|
*/
|
|
38142
|
-
|
|
38225
|
+
getAddresses: method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema),
|
|
38226
|
+
/**
|
|
38227
|
+
* Add a custom address. Validated: an http(s) origin with a host, no
|
|
38228
|
+
* credentials, no path, never loopback — an invalid one is refused with
|
|
38229
|
+
* the reason and nothing is stored. Adding an address that already exists
|
|
38230
|
+
* only updates its label.
|
|
38231
|
+
*/
|
|
38232
|
+
addCustomAddress: method(object({
|
|
38233
|
+
baseUrl: string(),
|
|
38234
|
+
label: string().max(80)
|
|
38235
|
+
}), HubAddressBookSchema, {
|
|
38236
|
+
kind: "mutation",
|
|
38237
|
+
auth: "admin"
|
|
38238
|
+
}),
|
|
38239
|
+
/** Remove a custom address. Its role flags go with it (those roles turn automatic). */
|
|
38240
|
+
removeCustomAddress: method(object({ baseUrl: string() }), HubAddressBookSchema, {
|
|
38241
|
+
kind: "mutation",
|
|
38242
|
+
auth: "admin"
|
|
38243
|
+
}),
|
|
38143
38244
|
/**
|
|
38144
|
-
*
|
|
38145
|
-
*
|
|
38146
|
-
*
|
|
38245
|
+
* Flag (`enabled: true`) or unflag an address for a role. For a
|
|
38246
|
+
* single-valued role, flagging moves the flag off every other address.
|
|
38247
|
+
* `baseUrl: null` returns the role to automatic. The address must be a row
|
|
38248
|
+
* of the table (detected, custom, or the app link for notifications);
|
|
38249
|
+
* `signIn` on a plain-http address is refused unless `acceptInsecureHttp`.
|
|
38147
38250
|
*/
|
|
38148
|
-
|
|
38149
|
-
|
|
38150
|
-
baseUrl: string().nullable()
|
|
38151
|
-
|
|
38251
|
+
setAddressRole: method(object({
|
|
38252
|
+
role: HubAddressRoleSchema,
|
|
38253
|
+
baseUrl: string().nullable(),
|
|
38254
|
+
enabled: boolean(),
|
|
38255
|
+
acceptInsecureHttp: boolean().optional()
|
|
38256
|
+
}), HubAddressBookSchema, {
|
|
38152
38257
|
kind: "mutation",
|
|
38153
38258
|
auth: "admin"
|
|
38154
38259
|
}),
|
|
38155
38260
|
/**
|
|
38261
|
+
* @deprecated Read `getAddresses().roles.agents` / `.signIn`. Kept one
|
|
38262
|
+
* release so an addon built against the D729 amendment keeps resolving:
|
|
38263
|
+
* `cluster` = the `agents` role, `browser` = the `signIn` role.
|
|
38264
|
+
*/
|
|
38265
|
+
getHubAddresses: method(_void(), HubAddressesSchema),
|
|
38266
|
+
/**
|
|
38156
38267
|
* Read the operator's allowlist. Empty = "auto" (no filter). Used
|
|
38157
38268
|
* by the admin UI's address selector to seed its checkbox state.
|
|
38158
38269
|
*/
|
|
@@ -49285,12 +49396,24 @@ Object.freeze({
|
|
|
49285
49396
|
addonId: null,
|
|
49286
49397
|
access: "view"
|
|
49287
49398
|
},
|
|
49399
|
+
"localNetwork.addCustomAddress": {
|
|
49400
|
+
capName: "local-network",
|
|
49401
|
+
capScope: "system",
|
|
49402
|
+
addonId: null,
|
|
49403
|
+
access: "create"
|
|
49404
|
+
},
|
|
49288
49405
|
"localNetwork.downloadCa": {
|
|
49289
49406
|
capName: "local-network",
|
|
49290
49407
|
capScope: "system",
|
|
49291
49408
|
addonId: null,
|
|
49292
49409
|
access: "view"
|
|
49293
49410
|
},
|
|
49411
|
+
"localNetwork.getAddresses": {
|
|
49412
|
+
capName: "local-network",
|
|
49413
|
+
capScope: "system",
|
|
49414
|
+
addonId: null,
|
|
49415
|
+
access: "view"
|
|
49416
|
+
},
|
|
49294
49417
|
"localNetwork.getAllowedAddresses": {
|
|
49295
49418
|
capName: "local-network",
|
|
49296
49419
|
capScope: "system",
|
|
@@ -49345,6 +49468,12 @@ Object.freeze({
|
|
|
49345
49468
|
addonId: null,
|
|
49346
49469
|
access: "create"
|
|
49347
49470
|
},
|
|
49471
|
+
"localNetwork.removeCustomAddress": {
|
|
49472
|
+
capName: "local-network",
|
|
49473
|
+
capScope: "system",
|
|
49474
|
+
addonId: null,
|
|
49475
|
+
access: "delete"
|
|
49476
|
+
},
|
|
49348
49477
|
"localNetwork.resetAllowlistToBestMatch": {
|
|
49349
49478
|
capName: "local-network",
|
|
49350
49479
|
capScope: "system",
|
|
@@ -49357,13 +49486,13 @@ Object.freeze({
|
|
|
49357
49486
|
addonId: null,
|
|
49358
49487
|
access: "create"
|
|
49359
49488
|
},
|
|
49360
|
-
"localNetwork.
|
|
49489
|
+
"localNetwork.setAddressRole": {
|
|
49361
49490
|
capName: "local-network",
|
|
49362
49491
|
capScope: "system",
|
|
49363
49492
|
addonId: null,
|
|
49364
49493
|
access: "create"
|
|
49365
49494
|
},
|
|
49366
|
-
"localNetwork.
|
|
49495
|
+
"localNetwork.setAllowedAddresses": {
|
|
49367
49496
|
capName: "local-network",
|
|
49368
49497
|
capScope: "system",
|
|
49369
49498
|
addonId: null,
|
|
@@ -53617,6 +53746,12 @@ Object.freeze({
|
|
|
53617
53746
|
addonId: null,
|
|
53618
53747
|
access: "create"
|
|
53619
53748
|
},
|
|
53749
|
+
"webrtcSession.applyDownlinkProbe": {
|
|
53750
|
+
capName: "webrtc-session",
|
|
53751
|
+
capScope: "device",
|
|
53752
|
+
addonId: null,
|
|
53753
|
+
access: "create"
|
|
53754
|
+
},
|
|
53620
53755
|
"webrtcSession.closeSession": {
|
|
53621
53756
|
capName: "webrtc-session",
|
|
53622
53757
|
capScope: "device",
|
|
@@ -57715,6 +57850,11 @@ Object.freeze({
|
|
|
57715
57850
|
form: "single",
|
|
57716
57851
|
optional: false
|
|
57717
57852
|
}],
|
|
57853
|
+
"webrtcSession.applyDownlinkProbe": [{
|
|
57854
|
+
name: "deviceId",
|
|
57855
|
+
form: "single",
|
|
57856
|
+
optional: false
|
|
57857
|
+
}],
|
|
57718
57858
|
"webrtcSession.closeSession": [{
|
|
57719
57859
|
name: "deviceId",
|
|
57720
57860
|
form: "single",
|
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).
|
|
@@ -33646,6 +33646,35 @@ var webrtcSessionCapability = {
|
|
|
33646
33646
|
alive: boolean()
|
|
33647
33647
|
})),
|
|
33648
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
|
+
/**
|
|
33649
33678
|
* The SERVER's half of the stream-debug overlay, for one live session.
|
|
33650
33679
|
*
|
|
33651
33680
|
* The client can measure its own transport (`getStats()`); it cannot see
|
|
@@ -37874,7 +37903,8 @@ var ConnectionEndpointSchema = object({
|
|
|
37874
37903
|
"lan-ipv6",
|
|
37875
37904
|
"public",
|
|
37876
37905
|
"loopback",
|
|
37877
|
-
"app-link"
|
|
37906
|
+
"app-link",
|
|
37907
|
+
"custom"
|
|
37878
37908
|
]),
|
|
37879
37909
|
/**
|
|
37880
37910
|
* Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
|
|
@@ -37977,13 +38007,12 @@ var ViewerEndpointsSchema = object({
|
|
|
37977
38007
|
resolved: array(string()).readonly()
|
|
37978
38008
|
});
|
|
37979
38009
|
/**
|
|
37980
|
-
*
|
|
37981
|
-
*
|
|
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.
|
|
37982
38013
|
*/
|
|
37983
38014
|
var HubAddressSnapshotSchema = object({
|
|
37984
|
-
/** The operator's override, or null for automatic. */
|
|
37985
38015
|
override: string().nullable(),
|
|
37986
|
-
/** The address in use, or null when nothing qualifies (never loopback). */
|
|
37987
38016
|
resolved: string().nullable(),
|
|
37988
38017
|
source: _enum([
|
|
37989
38018
|
"override",
|
|
@@ -37992,11 +38021,61 @@ var HubAddressSnapshotSchema = object({
|
|
|
37992
38021
|
])
|
|
37993
38022
|
});
|
|
37994
38023
|
var HubAddressesSchema = object({
|
|
37995
|
-
/** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
|
|
37996
38024
|
cluster: HubAddressSnapshotSchema,
|
|
37997
|
-
/** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
|
|
37998
38025
|
browser: HubAddressSnapshotSchema
|
|
37999
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
|
+
});
|
|
38000
38079
|
var AllowedAddressesSchema = object({
|
|
38001
38080
|
/**
|
|
38002
38081
|
* Allowlist of interface addresses operators have explicitly opted
|
|
@@ -38109,46 +38188,78 @@ var localNetworkCapability = {
|
|
|
38109
38188
|
*/
|
|
38110
38189
|
getNotificationEndpoint: method(_void(), NotificationEndpointSchema),
|
|
38111
38190
|
/**
|
|
38112
|
-
*
|
|
38113
|
-
*
|
|
38114
|
-
*
|
|
38115
|
-
*
|
|
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.
|
|
38116
38195
|
*/
|
|
38117
38196
|
setNotificationEndpoint: method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }),
|
|
38118
38197
|
/**
|
|
38119
|
-
* The
|
|
38120
|
-
*
|
|
38121
|
-
*
|
|
38122
|
-
*
|
|
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.
|
|
38123
38203
|
*/
|
|
38124
38204
|
getViewerEndpoints: method(_void(), ViewerEndpointsSchema),
|
|
38125
38205
|
/**
|
|
38126
|
-
*
|
|
38127
|
-
*
|
|
38128
|
-
*
|
|
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.
|
|
38129
38209
|
*/
|
|
38130
38210
|
setViewerEndpoints: method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }),
|
|
38131
38211
|
/**
|
|
38132
|
-
* The
|
|
38133
|
-
*
|
|
38134
|
-
*
|
|
38135
|
-
*
|
|
38136
|
-
*
|
|
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.
|
|
38137
38220
|
*/
|
|
38138
|
-
|
|
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
|
+
}),
|
|
38139
38240
|
/**
|
|
38140
|
-
*
|
|
38141
|
-
*
|
|
38142
|
-
*
|
|
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`.
|
|
38143
38246
|
*/
|
|
38144
|
-
|
|
38145
|
-
|
|
38146
|
-
baseUrl: string().nullable()
|
|
38147
|
-
|
|
38247
|
+
setAddressRole: method(object({
|
|
38248
|
+
role: HubAddressRoleSchema,
|
|
38249
|
+
baseUrl: string().nullable(),
|
|
38250
|
+
enabled: boolean(),
|
|
38251
|
+
acceptInsecureHttp: boolean().optional()
|
|
38252
|
+
}), HubAddressBookSchema, {
|
|
38148
38253
|
kind: "mutation",
|
|
38149
38254
|
auth: "admin"
|
|
38150
38255
|
}),
|
|
38151
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
|
+
/**
|
|
38152
38263
|
* Read the operator's allowlist. Empty = "auto" (no filter). Used
|
|
38153
38264
|
* by the admin UI's address selector to seed its checkbox state.
|
|
38154
38265
|
*/
|
|
@@ -49281,12 +49392,24 @@ Object.freeze({
|
|
|
49281
49392
|
addonId: null,
|
|
49282
49393
|
access: "view"
|
|
49283
49394
|
},
|
|
49395
|
+
"localNetwork.addCustomAddress": {
|
|
49396
|
+
capName: "local-network",
|
|
49397
|
+
capScope: "system",
|
|
49398
|
+
addonId: null,
|
|
49399
|
+
access: "create"
|
|
49400
|
+
},
|
|
49284
49401
|
"localNetwork.downloadCa": {
|
|
49285
49402
|
capName: "local-network",
|
|
49286
49403
|
capScope: "system",
|
|
49287
49404
|
addonId: null,
|
|
49288
49405
|
access: "view"
|
|
49289
49406
|
},
|
|
49407
|
+
"localNetwork.getAddresses": {
|
|
49408
|
+
capName: "local-network",
|
|
49409
|
+
capScope: "system",
|
|
49410
|
+
addonId: null,
|
|
49411
|
+
access: "view"
|
|
49412
|
+
},
|
|
49290
49413
|
"localNetwork.getAllowedAddresses": {
|
|
49291
49414
|
capName: "local-network",
|
|
49292
49415
|
capScope: "system",
|
|
@@ -49341,6 +49464,12 @@ Object.freeze({
|
|
|
49341
49464
|
addonId: null,
|
|
49342
49465
|
access: "create"
|
|
49343
49466
|
},
|
|
49467
|
+
"localNetwork.removeCustomAddress": {
|
|
49468
|
+
capName: "local-network",
|
|
49469
|
+
capScope: "system",
|
|
49470
|
+
addonId: null,
|
|
49471
|
+
access: "delete"
|
|
49472
|
+
},
|
|
49344
49473
|
"localNetwork.resetAllowlistToBestMatch": {
|
|
49345
49474
|
capName: "local-network",
|
|
49346
49475
|
capScope: "system",
|
|
@@ -49353,13 +49482,13 @@ Object.freeze({
|
|
|
49353
49482
|
addonId: null,
|
|
49354
49483
|
access: "create"
|
|
49355
49484
|
},
|
|
49356
|
-
"localNetwork.
|
|
49485
|
+
"localNetwork.setAddressRole": {
|
|
49357
49486
|
capName: "local-network",
|
|
49358
49487
|
capScope: "system",
|
|
49359
49488
|
addonId: null,
|
|
49360
49489
|
access: "create"
|
|
49361
49490
|
},
|
|
49362
|
-
"localNetwork.
|
|
49491
|
+
"localNetwork.setAllowedAddresses": {
|
|
49363
49492
|
capName: "local-network",
|
|
49364
49493
|
capScope: "system",
|
|
49365
49494
|
addonId: null,
|
|
@@ -53613,6 +53742,12 @@ Object.freeze({
|
|
|
53613
53742
|
addonId: null,
|
|
53614
53743
|
access: "create"
|
|
53615
53744
|
},
|
|
53745
|
+
"webrtcSession.applyDownlinkProbe": {
|
|
53746
|
+
capName: "webrtc-session",
|
|
53747
|
+
capScope: "device",
|
|
53748
|
+
addonId: null,
|
|
53749
|
+
access: "create"
|
|
53750
|
+
},
|
|
53616
53751
|
"webrtcSession.closeSession": {
|
|
53617
53752
|
capName: "webrtc-session",
|
|
53618
53753
|
capScope: "device",
|
|
@@ -57711,6 +57846,11 @@ Object.freeze({
|
|
|
57711
57846
|
form: "single",
|
|
57712
57847
|
optional: false
|
|
57713
57848
|
}],
|
|
57849
|
+
"webrtcSession.applyDownlinkProbe": [{
|
|
57850
|
+
name: "deviceId",
|
|
57851
|
+
form: "single",
|
|
57852
|
+
optional: false
|
|
57853
|
+
}],
|
|
57714
57854
|
"webrtcSession.closeSession": [{
|
|
57715
57855
|
name: "deviceId",
|
|
57716
57856
|
form: "single",
|
|
@@ -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) => {
|