@camstack/addon-osd-manager 0.1.187 → 0.1.189

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.
Files changed (18) hide show
  1. package/dist/{MotionZonesSettings-DExh7cfG.mjs → MotionZonesSettings-8xm5pG3y.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-D7DD3Bjn.mjs → PrivacyMaskSettings-CtawWTNs.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-CSGICuxL.mjs → SceneMonitorEditor-DQ-eU1J-.mjs} +3 -3
  4. package/dist/_stub.js +4342 -4301
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-CqKqHB_X.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Ee0XGOd5.mjs} +4 -4
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ClWLIzft.mjs +26 -0
  7. package/dist/{hostInit-B0_eqBVt.mjs → hostInit-DRmpuSdp.mjs} +3 -3
  8. package/dist/index.js +296 -8
  9. package/dist/index.mjs +296 -8
  10. package/dist/{player-overlays-BIS82ltZ.mjs → player-overlays-00L4bzaL.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-B3EaDJYd.mjs → responsive-BazUqbVY.mjs} +1 -1
  13. package/dist/{scene-monitor-copy-b6ZWnJc9.mjs → scene-monitor-copy-BMxLX_wC.mjs} +1 -1
  14. package/dist/{square-DnMZ8-h0.mjs → square-C-PPPKSF.mjs} +1 -1
  15. package/dist/{trash-2-Cd7WoJCB.mjs → trash-2-DD0_NJPI.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CbqzvZt_.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BD4P2kRn.mjs} +1 -1
  17. package/package.json +1 -1
  18. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-xwBgquo5.mjs +0 -26
package/dist/index.mjs CHANGED
@@ -5369,7 +5369,7 @@ var ZodIssueCode = {
5369
5369
  var ZodFirstPartyTypeKind;
5370
5370
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5371
5371
  //#endregion
5372
- //#region ../types/dist/sleep-BNeXenvr.mjs
5372
+ //#region ../types/dist/sleep-B0JG7-_F.mjs
5373
5373
  /**
5374
5374
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5375
5375
  * window to float samples (D455).
@@ -16376,6 +16376,10 @@ var DeviceInfoSchema = object({
16376
16376
  isCamera: boolean(),
16377
16377
  /** Current config values — serializable snapshot */
16378
16378
  config: record(string(), unknown()),
16379
+ /** Paths inside `config` the device's schema declares secret (D783) —
16380
+ * what the non-admin redaction withholds. Paths, never values. Absent
16381
+ * when the owning runner has not reported them. */
16382
+ secretConfigPaths: array(string()).optional(),
16379
16383
  /** Hardware + identity blob (manufacturer / model / firmware / sn /
16380
16384
  * uid / mac / …). Populated by drivers; editable via setMetadata. */
16381
16385
  metadata: record(string(), unknown()).nullable().optional(),
@@ -16596,7 +16600,13 @@ var DeviceRegisterPayloadSchema = object({
16596
16600
  * call (workers re-register on init), so probe-driven updates
16597
16601
  * (e.g. PTZ flag flipping after the abilities probe) propagate. */
16598
16602
  features: array(string()).optional(),
16599
- config: record(string(), unknown())
16603
+ config: record(string(), unknown()),
16604
+ /** Config paths the device's own schema DECLARES secret
16605
+ * (`.meta({ secret: true })` — dotted, `[]` for array items, e.g.
16606
+ * `connection.password`). Re-published on every register; the non-admin
16607
+ * redaction withholds them at any depth (D783). Optional: an older runner
16608
+ * omits it and the keyword backstop applies. */
16609
+ secretConfigPaths: array(string()).optional()
16600
16610
  });
16601
16611
  var DeviceRemovePayloadSchema = object({ deviceId: number() });
16602
16612
  var DevicePersistConfigPayloadSchema = object({
@@ -19220,7 +19230,14 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
19220
19230
  icon: string().optional(),
19221
19231
  /** Addon-owned HTTP route the button navigates to (GET). */
19222
19232
  startUrl: string(),
19223
- stage: LoginStageEnum
19233
+ stage: LoginStageEnum,
19234
+ /**
19235
+ * The provider names an external identity a signed-in user can link to
19236
+ * their own account (D782): `auth.listLinkableProviders` /
19237
+ * `beginExternalLink` offer exactly the redirect methods that set this,
19238
+ * whatever their id. Absent / false — a login button only (magic-link).
19239
+ */
19240
+ linkable: boolean().optional()
19224
19241
  }),
19225
19242
  object({
19226
19243
  kind: literal("widget"),
@@ -25577,7 +25594,13 @@ var RetrainFrameSchema = object({
25577
25594
  sizeBytes: number().int(),
25578
25595
  width: number().int(),
25579
25596
  height: number().int(),
25580
- copiedAt: number()
25597
+ copiedAt: number(),
25598
+ /** When the CAMERA captured the frame. Absent on a copy taken before D785. */
25599
+ capturedAt: number().optional(),
25600
+ /** The operator's "every subject in this frame is boxed". Detector
25601
+ * evaluation keeps only complete frames: an unboxed subject would count as
25602
+ * a false positive. */
25603
+ complete: boolean()
25581
25604
  });
25582
25605
  /** Why a copy-on-select could not be honoured — named, never a silent skip. */
25583
25606
  var RetrainCopyRefusalSchema = _enum([
@@ -25598,6 +25621,51 @@ var RetrainFrameListSchema = object({
25598
25621
  /** What the page pre-selects — the native key frame when one survives. */
25599
25622
  autoPickMediaId: number().int().optional()
25600
25623
  });
25624
+ /**
25625
+ * Which frames an annotated export carries. Every field narrows; an empty
25626
+ * filter is every annotated copy. A dataset VERSION is a frozen `frameIds`
25627
+ * list owned by whoever trains (the training orchestrator), so `frameIds` is
25628
+ * the primitive a version export uses; `batchId` re-selects what an earlier
25629
+ * export carried (`exportedInBatch`).
25630
+ */
25631
+ var RetrainExportFilterSchema = object({
25632
+ deviceIds: array(number()).optional(),
25633
+ frameIds: array(string()).max(2e4).optional(),
25634
+ batchId: string().optional(),
25635
+ /** Only frames the operator marked complete (all subjects boxed). */
25636
+ completeOnly: boolean().optional()
25637
+ });
25638
+ /**
25639
+ * `frames`: the full frame copies, boxes in `annotations.json`.
25640
+ * `crops`: additionally one JPEG per subject, cut with the runtime detail-crop
25641
+ * convention — the classifier layout.
25642
+ */
25643
+ var RetrainExportLayoutSchema = _enum(["frames", "crops"]);
25644
+ /**
25645
+ * Where `writeRetrainArchive` streams the tar: one HTTP request whose body is
25646
+ * the archive, sent chunk by chunk. Covers a presigned PUT and a provider
25647
+ * addon's data-plane upload route alike. Headers are sent verbatim and never
25648
+ * logged.
25649
+ */
25650
+ var RetrainArchiveTargetSchema = object({
25651
+ kind: literal("http"),
25652
+ method: _enum(["PUT", "POST"]),
25653
+ url: string().url(),
25654
+ headers: record(string(), string()).optional()
25655
+ });
25656
+ var RetrainArchiveResultSchema = object({
25657
+ batchId: string(),
25658
+ frames: number().int(),
25659
+ crops: number().int(),
25660
+ annotations: number().int(),
25661
+ /** Frames planned but not shipped (unreadable copy, path too long). */
25662
+ missing: number().int(),
25663
+ bytes: number().int(),
25664
+ /** sha256 of the exact bytes sent. */
25665
+ sha256: string(),
25666
+ /** The target's HTTP status. */
25667
+ status: number().int()
25668
+ });
25601
25669
  /** What the operator asked the assist to look for. */
25602
25670
  var RetrainAssistSubjectSchema = discriminatedUnion("kind", [object({
25603
25671
  kind: literal("package"),
@@ -26937,11 +27005,41 @@ var pipelineAnalyticsCapability = {
26937
27005
  * out, so two crops of the same subject can never end up in one feature
26938
27006
  * space (D52).
26939
27007
  */
26940
- getRetrainExportUrl: method(object({ deviceIds: array(number()).optional() }), object({ url: string() }), {
27008
+ getRetrainExportUrl: method(RetrainExportFilterSchema.extend({ layout: RetrainExportLayoutSchema.optional() }), object({ url: string() }), {
26941
27009
  kind: "query",
26942
27010
  auth: "admin"
26943
27011
  }),
26944
27012
  /**
27013
+ * The operator's "every subject in this frame is boxed" — set and cleared
27014
+ * by hand, never derived: a frame with no box may be a complete hard
27015
+ * negative, and a frame with three boxes may still miss a fourth person.
27016
+ */
27017
+ setRetrainFrameComplete: method(object({
27018
+ deviceId: number(),
27019
+ trackId: string(),
27020
+ frameId: string(),
27021
+ complete: boolean()
27022
+ }), RetrainFrameSchema, {
27023
+ kind: "mutation",
27024
+ auth: "admin"
27025
+ }),
27026
+ /**
27027
+ * Stream the annotated archive to a TARGET instead of a browser — the
27028
+ * same tar `getRetrainExportUrl` serves (manifest first, one JPEG in
27029
+ * memory at a time, paced), written chunk by chunk into one HTTP request.
27030
+ * The bytes never cross this cap and never land on the hub's disk; the
27031
+ * answer is what was sent, with its sha256.
27032
+ */
27033
+ writeRetrainArchive: method(object({
27034
+ filter: RetrainExportFilterSchema,
27035
+ layout: RetrainExportLayoutSchema,
27036
+ target: RetrainArchiveTargetSchema
27037
+ }), RetrainArchiveResultSchema, {
27038
+ kind: "mutation",
27039
+ auth: "admin",
27040
+ timeoutMs: 60 * 6e4
27041
+ }),
27042
+ /**
26945
27043
  * The media an EVENT owns.
26946
27044
  *
26947
27045
  * `ownerType` is REQUIRED, and that is the whole correction (D482). An
@@ -31318,7 +31416,19 @@ var SsoBridgeClaimsSchema = object({
31318
31416
  * editing a descriptor must not retroactively extend or shorten a link the
31319
31417
  * operator already consented to.
31320
31418
  */
31321
- refreshTtl: union([number().int().positive(), literal("never")]).optional()
31419
+ refreshTtl: union([number().int().positive(), literal("never")]).optional(),
31420
+ /**
31421
+ * Opaque handle of a hub-side LINK intent (D782). Set by an OIDC callback
31422
+ * that was started from a signed-in user's "Link" button: the finish then
31423
+ * links this identity to the intent's user instead of signing anyone in.
31424
+ * The handle carries no user id — the hub resolves it, single-use.
31425
+ */
31426
+ linkIntent: string().optional(),
31427
+ /**
31428
+ * Verified `iss` of the id_token behind an OIDC login bridge (D782). A
31429
+ * subject is unique only per issuer, so a link is bound to it.
31430
+ */
31431
+ issuer: string().optional()
31322
31432
  });
31323
31433
  var ssoBridgeCapability = {
31324
31434
  name: "sso-bridge",
@@ -33847,7 +33957,22 @@ var webrtcSessionCapability = {
33847
33957
  * field their hints were silently stripped by the schema and the
33848
33958
  * adaptive ladder started blind on the client's display size.
33849
33959
  */
33850
- hints: webrtcClientHintsSchema.optional()
33960
+ hints: webrtcClientHintsSchema.optional(),
33961
+ /**
33962
+ * Talk-back (D771): relay the PEER's audio to the device's speaker
33963
+ * through the `intercom` cap's push-talk triple. When `true` and the
33964
+ * offer lets the peer send audio, the answer's audio is `sendrecv`
33965
+ * and every inbound frame goes to `intercom.pushTalkAudio` for this
33966
+ * `deviceId`; absent/false answers `sendonly`, as for every viewer.
33967
+ *
33968
+ * TRUSTED-CALLER ONLY. Set by the Alexa export for an Echo on a camera
33969
+ * with `intercom`, when the linked user may control that camera. The
33970
+ * hub STRIPS it from every request-bound call (a browser), exactly as
33971
+ * it overwrites `relayOnly` — a viewer's talk permission is the
33972
+ * intercom cap's own surface (share tokens gate it there), and this
33973
+ * flag must not become a second door to the camera's speaker.
33974
+ */
33975
+ talkback: boolean().optional()
33851
33976
  }), object({
33852
33977
  sessionId: string(),
33853
33978
  sdpAnswer: string()
@@ -34287,6 +34412,59 @@ var AddonAutoUpdateSchema = ChannelWithInheritSchema;
34287
34412
  var RestartAddonResultSchema = unknown();
34288
34413
  var InstallPackageResultSchema = unknown();
34289
34414
  var ReloadPackagesResultSchema = unknown();
34415
+ /**
34416
+ * What an uninstall did on ONE node.
34417
+ * - `uninstalled` — removed: runner(s) stopped, caps gone, code deleted.
34418
+ * - `not-installed` — the node did not have it (nothing to do).
34419
+ * - `refused` — protected / bootstrap package; nothing touched.
34420
+ * - `failed` — attempted and did not complete; `error` says why.
34421
+ * - `pending-reconnect` — the node is OFFLINE: its record was pruned so the
34422
+ * back-fill never returns the package, and the stale-addon sweep removes the
34423
+ * copy when the node registers again (only once the hub no longer has it).
34424
+ */
34425
+ var UninstallNodeOutcomeSchema = _enum([
34426
+ "uninstalled",
34427
+ "not-installed",
34428
+ "refused",
34429
+ "failed",
34430
+ "pending-reconnect"
34431
+ ]);
34432
+ var UninstallNodeResultSchema = object({
34433
+ nodeId: string(),
34434
+ outcome: UninstallNodeOutcomeSchema,
34435
+ error: string().optional(),
34436
+ addonIds: array(string()).readonly(),
34437
+ runnersStopped: array(string()).readonly(),
34438
+ warnings: array(string()).readonly()
34439
+ });
34440
+ var UninstallPackageResultSchema = object({
34441
+ /** Every targeted node ended `uninstalled`, `not-installed` or `pending-reconnect`. */
34442
+ success: boolean(),
34443
+ packageName: string(),
34444
+ results: array(UninstallNodeResultSchema).readonly()
34445
+ });
34446
+ /**
34447
+ * `unreachable` lists online agents whose status read FAILED — absence from
34448
+ * `installations` is only "not installed" for a node that answered (D315).
34449
+ */
34450
+ var PackageInstallationsSchema = object({
34451
+ installations: array(object({
34452
+ packageName: string(),
34453
+ nodeId: string(),
34454
+ nodeName: string(),
34455
+ isHub: boolean(),
34456
+ isOnline: boolean(),
34457
+ version: string().nullable(),
34458
+ addonIds: array(string()).readonly(),
34459
+ source: _enum(["live", "recorded"]),
34460
+ /** The hub installs this package too. `false` on an agent row = an orphan. */
34461
+ onHub: boolean()
34462
+ })).readonly(),
34463
+ unreachable: array(object({
34464
+ nodeId: string(),
34465
+ error: string()
34466
+ })).readonly()
34467
+ });
34290
34468
  var BulkUpdateItemStatusSchema = _enum([
34291
34469
  "queued",
34292
34470
  "updating",
@@ -34395,10 +34573,31 @@ var addonsCapability = {
34395
34573
  }),
34396
34574
  isWorkspaceAvailable: method(_void(), boolean()),
34397
34575
  listWorkspacePackages: method(_void(), array(unknown()).readonly()),
34398
- uninstallPackage: method(object({ packageName: string() }), unknown(), {
34576
+ /**
34577
+ * Uninstall a package. `nodeId` omitted (or `'hub'`) uninstalls on the hub
34578
+ * — the original behaviour, which still THROWS on failure. An agent
34579
+ * `nodeId` removes it from that agent through `$agent.undeploy`
34580
+ * (runners stopped, caps deregistered, code deleted) and prunes the node's
34581
+ * declared roster so the back-fill never returns it. `everywhere: true`
34582
+ * does both for every node that has it (agents first, hub last); offline
34583
+ * nodes answer `pending-reconnect`. Node-level failures in those two modes
34584
+ * are REPORTED per node, never thrown. Protected packages are refused.
34585
+ */
34586
+ uninstallPackage: method(object({
34587
+ packageName: string().min(1),
34588
+ nodeId: string().optional(),
34589
+ everywhere: boolean().optional()
34590
+ }), UninstallPackageResultSchema, {
34399
34591
  kind: "mutation",
34400
34592
  auth: "admin"
34401
34593
  }),
34594
+ /**
34595
+ * Which nodes have a package (or, with no `packageName`, every package on
34596
+ * every node). Hub from its installer, online agents from `$agent.status`
34597
+ * (in parallel, bounded), offline agents from their declared roster.
34598
+ * Drives the uninstall confirm and the Addons page's "not on the hub" list.
34599
+ */
34600
+ listInstallations: method(object({ packageName: string().optional() }), PackageInstallationsSchema, { auth: "admin" }),
34402
34601
  reloadPackages: method(_void(), ReloadPackagesResultSchema, {
34403
34602
  kind: "mutation",
34404
34603
  auth: "admin"
@@ -45579,6 +45778,22 @@ var TotpStatusSchema = object({
45579
45778
  * delegation, structural caller-scope subset check goes inside the
45580
45779
  * provider.
45581
45780
  */
45781
+ var ExternalIdentitySchema = object({
45782
+ /** Login-method id of the provider instance, e.g. `auth-oidc/authentik`. */
45783
+ provider: string(),
45784
+ /** The IdP's stable subject (`sub`) for this account. */
45785
+ subject: string(),
45786
+ /** The verified `iss` of the IdP the identity was linked under — `sub` is unique only per issuer. */
45787
+ issuer: string(),
45788
+ userId: string(),
45789
+ /** What the IdP called the account at link time (username / email) — display only. */
45790
+ label: string().optional(),
45791
+ linkedAt: number()
45792
+ });
45793
+ var ExternalIdentityKeySchema = object({
45794
+ provider: string().min(1),
45795
+ subject: string().min(1)
45796
+ });
45582
45797
  var userManagementCapability = {
45583
45798
  name: "user-management",
45584
45799
  scope: "system",
@@ -45721,6 +45936,32 @@ var userManagementCapability = {
45721
45936
  username: string(),
45722
45937
  scopes: array(TokenScopeSchema)
45723
45938
  }).nullable(), { access: "view" }),
45939
+ listExternalIdentities: method(object({ userId: string() }), array(ExternalIdentitySchema), { auth: "admin" }),
45940
+ /** The user an identity is linked to, or `null`. */
45941
+ findUserByExternalIdentity: method(ExternalIdentityKeySchema, object({
45942
+ userId: string(),
45943
+ issuer: string()
45944
+ }).nullable(), { auth: "admin" }),
45945
+ /**
45946
+ * Link `(provider, subject)` to `userId`. Idempotent for the same user;
45947
+ * REFUSES (throws) an identity already linked to another user, and a
45948
+ * user that does not exist.
45949
+ */
45950
+ linkExternalIdentity: method(ExternalIdentityKeySchema.extend({
45951
+ userId: string(),
45952
+ issuer: string().min(1),
45953
+ label: string().optional()
45954
+ }), object({ success: literal(true) }), {
45955
+ kind: "mutation",
45956
+ auth: "admin",
45957
+ access: "create"
45958
+ }),
45959
+ /** Remove one link of `userId`. `success: false` when it was not linked to that user. */
45960
+ unlinkExternalIdentity: method(ExternalIdentityKeySchema.extend({ userId: string() }), object({ success: boolean() }), {
45961
+ kind: "mutation",
45962
+ auth: "admin",
45963
+ access: "delete"
45964
+ }),
45724
45965
  listOauthSessions: method(_void(), array(OauthSessionSummarySchema), { auth: "admin" }),
45725
45966
  revokeOauthSession: method(object({ id: string() }), object({ success: boolean() }), {
45726
45967
  kind: "mutation",
@@ -46926,6 +47167,12 @@ Object.freeze({
46926
47167
  addonId: null,
46927
47168
  access: "view"
46928
47169
  },
47170
+ "addons.listInstallations": {
47171
+ capName: "addons",
47172
+ capScope: "system",
47173
+ addonId: null,
47174
+ access: "view"
47175
+ },
46929
47176
  "addons.listJobs": {
46930
47177
  capName: "addons",
46931
47178
  capScope: "system",
@@ -51150,6 +51397,12 @@ Object.freeze({
51150
51397
  addonId: null,
51151
51398
  access: "create"
51152
51399
  },
51400
+ "pipelineAnalytics.setRetrainFrameComplete": {
51401
+ capName: "pipeline-analytics",
51402
+ capScope: "device",
51403
+ addonId: null,
51404
+ access: "create"
51405
+ },
51153
51406
  "pipelineAnalytics.setTrackFlags": {
51154
51407
  capName: "pipeline-analytics",
51155
51408
  capScope: "device",
@@ -51186,6 +51439,12 @@ Object.freeze({
51186
51439
  addonId: null,
51187
51440
  access: "delete"
51188
51441
  },
51442
+ "pipelineAnalytics.writeRetrainArchive": {
51443
+ capName: "pipeline-analytics",
51444
+ capScope: "device",
51445
+ addonId: null,
51446
+ access: "create"
51447
+ },
51189
51448
  "pipelineExecutor.cacheFrameInPool": {
51190
51449
  capName: "pipeline-executor",
51191
51450
  capScope: "system",
@@ -53538,18 +53797,36 @@ Object.freeze({
53538
53797
  addonId: null,
53539
53798
  access: "delete"
53540
53799
  },
53800
+ "userManagement.findUserByExternalIdentity": {
53801
+ capName: "user-management",
53802
+ capScope: "system",
53803
+ addonId: null,
53804
+ access: "view"
53805
+ },
53541
53806
  "userManagement.getTotpStatus": {
53542
53807
  capName: "user-management",
53543
53808
  capScope: "system",
53544
53809
  addonId: null,
53545
53810
  access: "view"
53546
53811
  },
53812
+ "userManagement.linkExternalIdentity": {
53813
+ capName: "user-management",
53814
+ capScope: "system",
53815
+ addonId: null,
53816
+ access: "create"
53817
+ },
53547
53818
  "userManagement.listApiKeys": {
53548
53819
  capName: "user-management",
53549
53820
  capScope: "system",
53550
53821
  addonId: null,
53551
53822
  access: "view"
53552
53823
  },
53824
+ "userManagement.listExternalIdentities": {
53825
+ capName: "user-management",
53826
+ capScope: "system",
53827
+ addonId: null,
53828
+ access: "view"
53829
+ },
53553
53830
  "userManagement.listOauthSessions": {
53554
53831
  capName: "user-management",
53555
53832
  capScope: "system",
@@ -53628,6 +53905,12 @@ Object.freeze({
53628
53905
  addonId: null,
53629
53906
  access: "create"
53630
53907
  },
53908
+ "userManagement.unlinkExternalIdentity": {
53909
+ capName: "user-management",
53910
+ capScope: "system",
53911
+ addonId: null,
53912
+ access: "delete"
53913
+ },
53631
53914
  "userManagement.updateUser": {
53632
53915
  capName: "user-management",
53633
53916
  capScope: "system",
@@ -57143,6 +57426,11 @@ Object.freeze({
57143
57426
  form: "single",
57144
57427
  optional: false
57145
57428
  }],
57429
+ "pipelineAnalytics.setRetrainFrameComplete": [{
57430
+ name: "deviceId",
57431
+ form: "single",
57432
+ optional: false
57433
+ }],
57146
57434
  "pipelineAnalytics.setTrackFlags": [{
57147
57435
  name: "deviceId",
57148
57436
  form: "single",
@@ -1,5 +1,5 @@
1
1
  import { _ as e, l as t, u as n, x as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-D7xZfSHZ.mjs";
2
- import { c as i, s as a } from "./responsive-B3EaDJYd.mjs";
2
+ import { c as i, s as a } from "./responsive-BazUqbVY.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",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CbqzvZt_.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BD4P2kRn.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
1
  import { _ as e, c as t, h as n, l as r, n as i, r as a, t as o, u as s, v as c, x as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-D7xZfSHZ.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-xwBgquo5.mjs";
3
+ import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-ClWLIzft.mjs";
4
4
  //#region ../../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 { _ as e, c as t, h as n, x as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-D7xZfSHZ.mjs";
2
- import { c as i } from "./responsive-B3EaDJYd.mjs";
2
+ import { c as i } from "./responsive-BazUqbVY.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"
@@ -1,4 +1,4 @@
1
- import { c as e } from "./responsive-B3EaDJYd.mjs";
1
+ import { c as e } from "./responsive-BazUqbVY.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { c as e } from "./responsive-B3EaDJYd.mjs";
1
+ import { c as e } from "./responsive-BazUqbVY.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -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-CqKqHB_X.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Ee0XGOd5.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-osd-manager",
3
- "version": "0.1.187",
3
+ "version": "0.1.189",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",