@camstack/addon-osd-manager 0.1.234 → 0.1.236

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-CpC0VrRF.mjs → MotionZonesSettings--WB2aUGD.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-DsRVLMGw.mjs → PrivacyMaskSettings-TGecGZ1J.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-Bd_y21mf.mjs → SceneMonitorEditor-Cq3bsqmJ.mjs} +3 -3
  4. package/dist/_stub.js +179 -169
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-CJ5YyyFD.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BPgZSZ-3.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DVHQfCvU.mjs +26 -0
  7. package/dist/{hostInit-BgZ8bjH8.mjs → hostInit-iQV7js-A.mjs} +2 -2
  8. package/dist/index.js +373 -11
  9. package/dist/index.mjs +373 -11
  10. package/dist/{player-overlays-Bfw9gqQd.mjs → player-overlays-D0twFHMl.mjs} +1 -1
  11. package/dist/remoteEntry.js +1 -1
  12. package/dist/{responsive-CvsGDf2k.mjs → responsive-BP2NYfOi.mjs} +1 -1
  13. package/dist/{scene-monitor-copy-Cp3j72cs.mjs → scene-monitor-copy-DYchveQT.mjs} +1 -1
  14. package/dist/{square-DRfiAJqL.mjs → square-BHCEqr7g.mjs} +1 -1
  15. package/dist/{trash-2-KaQPwGe5.mjs → trash-2-BGZFyowm.mjs} +1 -1
  16. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BlUDCAK-.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Ch_9U0JF.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-cCq5NyzR.mjs +0 -26
package/dist/index.mjs CHANGED
@@ -5386,7 +5386,7 @@ var ZodIssueCode = {
5386
5386
  var ZodFirstPartyTypeKind;
5387
5387
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5388
5388
  //#endregion
5389
- //#region ../types/dist/sleep-BBF1iXUi.mjs
5389
+ //#region ../types/dist/sleep-DAX0-2v9.mjs
5390
5390
  /**
5391
5391
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5392
5392
  * window to float samples (D455).
@@ -12151,6 +12151,12 @@ var ConvertResultSchema = object({
12151
12151
  files: array(string()).readonly()
12152
12152
  })).readonly()
12153
12153
  });
12154
+ _enum(["new-session", "step-up"]);
12155
+ /** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
12156
+ var AppLoginPathSchema = discriminatedUnion("kind", [object({ kind: literal("native") }), object({
12157
+ kind: literal("browser"),
12158
+ startPath: string().startsWith("/")
12159
+ })]);
12154
12160
  /**
12155
12161
  * Device certificates (D855) — the wire contract shared by the hub, the admin
12156
12162
  * UI and the native viewer.
@@ -12310,7 +12316,9 @@ object({
12310
12316
  signature: literal(DEVICE_CERT_SIGNATURE),
12311
12317
  messageVersion: literal(DEVICE_SIGNATURE_MESSAGE_VERSION),
12312
12318
  /** Which clients can execute it: a native app silently, a browser with a non-extractable WebCrypto key. */
12313
- clients: array(_enum(["native", "web"]))
12319
+ clients: array(_enum(["native", "web"])),
12320
+ /** The app executes it itself, silently (D858). */
12321
+ app: AppLoginPathSchema.nullable()
12314
12322
  });
12315
12323
  var ExpressionBindingSourceSchema = union([
12316
12324
  object({
@@ -15884,6 +15892,208 @@ method(object({
15884
15892
  kind: "mutation",
15885
15893
  auth: "admin"
15886
15894
  }), method(object({}), array(KeychainSecretMetaSchema).readonly(), { auth: "admin" }), method(object({}), KeychainStateSchema, { auth: "admin" });
15895
+ /**
15896
+ * device-history — the ONE mechanism for numeric history (D850).
15897
+ *
15898
+ * A device value is recorded because its capability says so (the `history`
15899
+ * block of a `*.cap.ts`, captured hub-side from `DeviceStateChanged`); any
15900
+ * other series is DECLARED by the addon that produces it and fed with points
15901
+ * (`record`) or closed five-minute buckets (`recordBuckets`). Rollups 5m / 1h /
15902
+ * 1d are computed here and nowhere else. Storage is `history.db` (D851).
15903
+ *
15904
+ * Who the PRODUCER is: `declareSeries`, `record` and `recordBuckets` are owner
15905
+ * checked against the `callerAddonId` the transport stamps into a call that
15906
+ * crossed a process (never in an input schema, so a session cannot supply it).
15907
+ * A call with no stamp is refused `not-owner`. The methods are `admin` so a
15908
+ * non-admin session never reaches them; an addon's `ctx.api` call bypasses the
15909
+ * tier by design.
15910
+ */
15911
+ /** Whose history: a real device, or a cluster node (load, memory). */
15912
+ var DeviceHistorySubjectSchema = discriminatedUnion("kind", [object({
15913
+ kind: literal("device"),
15914
+ deviceId: number().int()
15915
+ }), object({
15916
+ kind: literal("node"),
15917
+ nodeId: string().min(1)
15918
+ })]);
15919
+ var DeviceHistoryKindSchema = _enum([
15920
+ "gauge",
15921
+ "counter",
15922
+ "boolean"
15923
+ ]);
15924
+ var DeviceHistoryResolutionSchema = _enum([
15925
+ "raw",
15926
+ "5m",
15927
+ "1h",
15928
+ "1d"
15929
+ ]);
15930
+ /** Why a producer's point or bucket was not stored. Counted, never silent (D391). */
15931
+ var DeviceHistoryRefusalReasonSchema = _enum([
15932
+ "undeclared",
15933
+ "not-owner",
15934
+ "opted-out",
15935
+ "not-a-real-device",
15936
+ "rate",
15937
+ "ingest-mismatch",
15938
+ "out-of-range"
15939
+ ]);
15940
+ var RefusalSchema = object({
15941
+ key: string(),
15942
+ reason: DeviceHistoryRefusalReasonSchema,
15943
+ count: number().int()
15944
+ });
15945
+ var IngestResultSchema = object({
15946
+ accepted: number().int(),
15947
+ refused: array(RefusalSchema).readonly()
15948
+ });
15949
+ var SeriesInfoSchema = object({
15950
+ key: string(),
15951
+ scope: string(),
15952
+ kind: DeviceHistoryKindSchema,
15953
+ /** `null` is unknown (a `unitFrom` series whose device does not state a unit right now), never a guess. */
15954
+ unit: string().nullable(),
15955
+ displayName: string(),
15956
+ source: _enum(["cap", "addon"]),
15957
+ firstTs: number(),
15958
+ lastTs: number()
15959
+ });
15960
+ var QueryPointSchema = object({
15961
+ /** Raw: the point's time. Rollup: the bucket start. */
15962
+ t: number(),
15963
+ samples: number().int(),
15964
+ /** `sum / samples`. */
15965
+ mean: number().nullable(),
15966
+ /** Time-weighted mean (`tw_sum / tw_ms`); `null` for bucket-ingested series. For a boolean: the fraction of time true. */
15967
+ twMean: number().nullable(),
15968
+ min: number(),
15969
+ max: number(),
15970
+ /** `null` is unknown, never zero (D393). */
15971
+ last: number().nullable()
15972
+ });
15973
+ var QuerySeriesSchema = object({
15974
+ scope: string(),
15975
+ /** The last point STRICTLY BEFORE `from` in the chosen tier, so a step chart can start at the held value. */
15976
+ before: object({
15977
+ t: number(),
15978
+ value: number().nullable()
15979
+ }).nullable(),
15980
+ points: array(QueryPointSchema).readonly()
15981
+ });
15982
+ /** The window part of a query, shared by the device and node forms. */
15983
+ var QueryWindowShape = {
15984
+ key: string(),
15985
+ scope: string().optional(),
15986
+ from: number(),
15987
+ to: number(),
15988
+ resolution: union([DeviceHistoryResolutionSchema, literal("auto")]).default("auto"),
15989
+ maxPoints: number().int().positive().max(5e3).default(1e3)
15990
+ };
15991
+ var QueryResultSchema = object({
15992
+ resolution: DeviceHistoryResolutionSchema,
15993
+ series: array(QuerySeriesSchema).readonly(),
15994
+ truncated: boolean()
15995
+ });
15996
+ var TierStatusSchema = object({
15997
+ tier: DeviceHistoryResolutionSchema,
15998
+ /** `null` until the first background count answered. */
15999
+ rows: number().int().nullable(),
16000
+ /** `rows` times a fixed per-row estimate — approximate, labelled so. */
16001
+ approxBytes: number().nullable(),
16002
+ countedAt: number().nullable()
16003
+ });
16004
+ /** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
16005
+ var DeviceHistoryStatusSchema = object({
16006
+ startedAt: number(),
16007
+ /** The store is declared, series loaded and the first reconcile has answered. */
16008
+ ready: boolean(),
16009
+ series: number().int(),
16010
+ metrics: number().int(),
16011
+ optedOutDevices: number().int(),
16012
+ tiers: array(TierStatusSchema).readonly(),
16013
+ capture: object({
16014
+ eventsSeen: number().int(),
16015
+ pointsEmitted: number().int(),
16016
+ pointsWritten: number().int(),
16017
+ pointsDropped: number().int(),
16018
+ bufferDepth: number().int(),
16019
+ trailingEmitted: number().int(),
16020
+ reconciledPoints: number().int(),
16021
+ reconcileRuns: number().int(),
16022
+ reconcileFailures: number().int(),
16023
+ lastReconcileAt: number().nullable(),
16024
+ lastFlushAt: number().nullable(),
16025
+ flushFailures: number().int(),
16026
+ skipped: record(string(), number().int())
16027
+ }),
16028
+ ingest: object({
16029
+ accepted: number().int(),
16030
+ refused: record(string(), number().int())
16031
+ }),
16032
+ rollup: object({
16033
+ last5mAt: number().nullable(),
16034
+ last1hAt: number().nullable(),
16035
+ last1dAt: number().nullable(),
16036
+ errors: number().int(),
16037
+ dirty5m: number().int(),
16038
+ dirty1h: number().int(),
16039
+ dirty1d: number().int()
16040
+ }),
16041
+ retention: object({
16042
+ lastRunAt: number().nullable(),
16043
+ deleted: record(string(), number().int()),
16044
+ purgedSeries: number().int()
16045
+ }),
16046
+ directory: object({
16047
+ devices: number().int(),
16048
+ lastRefreshAt: number().nullable()
16049
+ })
16050
+ });
16051
+ method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly()), method(object({ nodeId: string().min(1) }), array(SeriesInfoSchema).readonly(), { auth: "admin" }), method(object({
16052
+ deviceId: number().int(),
16053
+ ...QueryWindowShape
16054
+ }), QueryResultSchema), method(object({
16055
+ nodeId: string().min(1),
16056
+ ...QueryWindowShape
16057
+ }), QueryResultSchema, { auth: "admin" }), method(object({
16058
+ name: string().regex(/^[a-z0-9-]+$/),
16059
+ subjectKind: _enum(["device", "node"]),
16060
+ kind: DeviceHistoryKindSchema,
16061
+ unit: string().optional(),
16062
+ displayName: string().min(1),
16063
+ ingest: _enum(["points", "buckets"])
16064
+ }), object({ key: string() }), {
16065
+ kind: "mutation",
16066
+ auth: "admin"
16067
+ }), method(object({ points: array(object({
16068
+ key: string(),
16069
+ subject: DeviceHistorySubjectSchema,
16070
+ scope: string().default(""),
16071
+ ts: number(),
16072
+ value: number()
16073
+ })).max(5e3) }), IngestResultSchema, {
16074
+ kind: "mutation",
16075
+ auth: "admin"
16076
+ }), method(object({ buckets: array(object({
16077
+ key: string(),
16078
+ subject: DeviceHistorySubjectSchema,
16079
+ scope: string().default(""),
16080
+ bucketStart: number(),
16081
+ samples: number().int().positive(),
16082
+ sum: number(),
16083
+ min: number(),
16084
+ max: number(),
16085
+ last: number().nullable(),
16086
+ lastTs: number().nullable()
16087
+ })).max(5e3) }), IngestResultSchema, {
16088
+ kind: "mutation",
16089
+ auth: "admin"
16090
+ }), method(object({ deviceId: number().int() }), object({ enabled: boolean() })), method(object({
16091
+ deviceId: number().int(),
16092
+ enabled: boolean()
16093
+ }), object({ enabled: boolean() }), {
16094
+ kind: "mutation",
16095
+ auth: "admin"
16096
+ }), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" });
15887
16097
  var DeviceCaStatusSchema = discriminatedUnion("state", [
15888
16098
  object({ state: literal("absent") }),
15889
16099
  object({
@@ -16001,6 +16211,9 @@ method(object({}), object({
16001
16211
  }), {
16002
16212
  kind: "mutation",
16003
16213
  auth: "admin"
16214
+ }), method(object({}), object({ ok: literal(true) }), {
16215
+ kind: "mutation",
16216
+ auth: "admin"
16004
16217
  }), method(object({
16005
16218
  certPem: string().min(1),
16006
16219
  caCertPem: string().min(1),
@@ -38793,7 +39006,13 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
38793
39006
  * `beginExternalLink` offer exactly the redirect methods that set this,
38794
39007
  * whatever their id. Absent / false — a login button only.
38795
39008
  */
38796
- linkable: boolean().optional()
39009
+ linkable: boolean().optional(),
39010
+ /**
39011
+ * How a NATIVE app starts this method (D858): `{ kind: 'browser', startPath }`
39012
+ * when the route understands the app flow query (`app=1&code_challenge=…`),
39013
+ * `null`/absent when there is no app path - the app hides the method.
39014
+ */
39015
+ app: AppLoginPathSchema.nullable().optional()
38797
39016
  }),
38798
39017
  object({
38799
39018
  kind: literal("widget"),
@@ -38805,7 +39024,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
38805
39024
  bundle: string(),
38806
39025
  /** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
38807
39026
  remote: WidgetRemoteSchema,
38808
- stage: LoginStageEnum
39027
+ stage: LoginStageEnum,
39028
+ /** Widgets are web ceremonies: no native app path (D858). Absent reads as `null`. */
39029
+ app: AppLoginPathSchema.nullable().optional()
38809
39030
  }),
38810
39031
  object({
38811
39032
  kind: literal("passkey"),
@@ -38817,7 +39038,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
38817
39038
  /** Effective WebAuthn RP ID (`resolveRpID()`) — the shell gates visibility on it. */
38818
39039
  rpId: string(),
38819
39040
  /** Effective expected origin (`resolveOrigin()`), null when unconfigured. */
38820
- origin: string().nullable()
39041
+ origin: string().nullable(),
39042
+ /** Set by the hub for the primary arm; a second-factor passkey has no app path (D858). */
39043
+ app: AppLoginPathSchema.nullable().optional()
38821
39044
  })
38822
39045
  ]);
38823
39046
  method(_void(), array(LoginMethodContributionSchema).readonly());
@@ -39327,7 +39550,21 @@ var NetworkEndpointSchema = object({
39327
39550
  url: string(),
39328
39551
  hostname: string(),
39329
39552
  port: number(),
39330
- protocol: _enum(["http", "https"])
39553
+ protocol: _enum(["http", "https"]),
39554
+ /**
39555
+ * Whether this address survives a restart of its provider. `false` = it is
39556
+ * re-issued every time (a Quick tunnel's random `*.trycloudflare.com`); the
39557
+ * hub never selects such an address AUTOMATICALLY for a role (D860), though
39558
+ * it stays visible and an operator may still flag it. Absent = stable: every
39559
+ * provider except a Quick tunnel owns a name that does not change.
39560
+ */
39561
+ stable: boolean().optional()
39562
+ });
39563
+ object({
39564
+ url: string(),
39565
+ /** Mirrors {@link NetworkEndpointSchema} `stable`; absent = stable. */
39566
+ stable: boolean().optional(),
39567
+ updated: boolean().optional()
39331
39568
  });
39332
39569
  var NetworkAccessStatusSchema = object({
39333
39570
  connected: boolean(),
@@ -49918,7 +50155,20 @@ var SsoBridgeClaimsSchema = object({
49918
50155
  * request to present the matching cookie — a login bridge is useless in
49919
50156
  * any other browser.
49920
50157
  */
49921
- browserBinding: string().optional()
50158
+ browserBinding: string().optional(),
50159
+ /**
50160
+ * The native app that started this sign-in (D858): its PKCE challenge,
50161
+ * `state`, purpose and allow-listed return URL, copied from the server-side
50162
+ * pending OIDC state. A bridge carrying it is finished ONLY at
50163
+ * `/api/auth/sso/finish-app` (which mints a handoff code, never a web
50164
+ * session); `/api/auth/sso/finish` refuses it.
50165
+ */
50166
+ app: object({
50167
+ codeChallenge: string(),
50168
+ state: string(),
50169
+ purpose: _enum(["new-session", "step-up"]),
50170
+ redirect: string()
50171
+ }).optional()
49922
50172
  });
49923
50173
  method(object({
49924
50174
  claims: SsoBridgeClaimsSchema,
@@ -52124,7 +52374,12 @@ var SearchResultSchema = object({
52124
52374
  publishedAt: string(),
52125
52375
  author: string(),
52126
52376
  installed: boolean(),
52127
- installedVersion: string().optional()
52377
+ installedVersion: string().optional(),
52378
+ /**
52379
+ * Capability names the package's addons declare (from its published
52380
+ * manifest). `null` = the registry lookup failed — unknown, never `[]` (D393).
52381
+ */
52382
+ capabilities: array(string()).readonly().nullable()
52128
52383
  });
52129
52384
  var AutoUpdateSettingsSchema = object({
52130
52385
  channel: ChannelSchema,
@@ -52286,7 +52541,11 @@ method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSc
52286
52541
  }), method(object({ packageName: string().optional() }), PackageInstallationsSchema, { auth: "admin" }), method(_void(), ReloadPackagesResultSchema, {
52287
52542
  kind: "mutation",
52288
52543
  auth: "admin"
52289
- }), method(object({ query: string().optional() }), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
52544
+ }), method(object({
52545
+ query: string().optional(),
52546
+ /** Only packages whose addons declare this capability (unknown ones excluded). */
52547
+ capability: string().optional()
52548
+ }), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
52290
52549
  name: string().min(1),
52291
52550
  version: string().optional(),
52292
52551
  nodeId: string().optional()
@@ -54694,7 +54953,13 @@ var ConnectionEndpointSchema = object({
54694
54953
  * calls so the client can sort even if the cap returns a new
54695
54954
  * ordering between polls.
54696
54955
  */
54697
- priority: number()
54956
+ priority: number(),
54957
+ /**
54958
+ * `false` = the address changes on its own (a Quick tunnel, re-issued on
54959
+ * every respawn). Automatic role resolution skips it (D860); an explicit
54960
+ * operator flag still honours it. Absent = stable.
54961
+ */
54962
+ stable: boolean().optional()
54698
54963
  });
54699
54964
  /**
54700
54965
  * Where the advertised local port came from. Ordered most → least
@@ -55323,7 +55588,7 @@ var MotionOnMotionChangedDataSchema = object({
55323
55588
  /** Who started it (D672). Absent = the camera itself. Only `onboard` carries `sensor`. */
55324
55589
  triggeredBy: MotionTriggeredBySchema.optional()
55325
55590
  });
55326
- DeviceType.Camera, DeviceType.Sensor, method(object({ deviceId: number() }), boolean());
55591
+ DeviceType.Camera, DeviceType.Sensor, method(object({ deviceId: number() }), boolean()), DeviceType.Camera;
55327
55592
  object({
55328
55593
  enabled: boolean(),
55329
55594
  /** Ms epoch of the last operator-driven change. */
@@ -63058,6 +63323,66 @@ Object.freeze({
63058
63323
  addonId: null,
63059
63324
  access: "create"
63060
63325
  },
63326
+ "deviceHistory.declareSeries": {
63327
+ capName: "device-history",
63328
+ capScope: "system",
63329
+ addonId: null,
63330
+ access: "create"
63331
+ },
63332
+ "deviceHistory.getDeviceEnabled": {
63333
+ capName: "device-history",
63334
+ capScope: "system",
63335
+ addonId: null,
63336
+ access: "view"
63337
+ },
63338
+ "deviceHistory.getStatus": {
63339
+ capName: "device-history",
63340
+ capScope: "system",
63341
+ addonId: null,
63342
+ access: "view"
63343
+ },
63344
+ "deviceHistory.listNodeSeries": {
63345
+ capName: "device-history",
63346
+ capScope: "system",
63347
+ addonId: null,
63348
+ access: "view"
63349
+ },
63350
+ "deviceHistory.listSeries": {
63351
+ capName: "device-history",
63352
+ capScope: "system",
63353
+ addonId: null,
63354
+ access: "view"
63355
+ },
63356
+ "deviceHistory.query": {
63357
+ capName: "device-history",
63358
+ capScope: "system",
63359
+ addonId: null,
63360
+ access: "view"
63361
+ },
63362
+ "deviceHistory.queryNode": {
63363
+ capName: "device-history",
63364
+ capScope: "system",
63365
+ addonId: null,
63366
+ access: "view"
63367
+ },
63368
+ "deviceHistory.record": {
63369
+ capName: "device-history",
63370
+ capScope: "system",
63371
+ addonId: null,
63372
+ access: "create"
63373
+ },
63374
+ "deviceHistory.recordBuckets": {
63375
+ capName: "device-history",
63376
+ capScope: "system",
63377
+ addonId: null,
63378
+ access: "create"
63379
+ },
63380
+ "deviceHistory.setDeviceEnabled": {
63381
+ capName: "device-history",
63382
+ capScope: "system",
63383
+ addonId: null,
63384
+ access: "create"
63385
+ },
63061
63386
  "deviceManager.addLocation": {
63062
63387
  capName: "device-manager",
63063
63388
  capScope: "system",
@@ -65122,6 +65447,12 @@ Object.freeze({
65122
65447
  addonId: null,
65123
65448
  access: "create"
65124
65449
  },
65450
+ "nodeCertificates.forgetHub": {
65451
+ capName: "node-certificates",
65452
+ capScope: "system",
65453
+ addonId: null,
65454
+ access: "delete"
65455
+ },
65125
65456
  "nodeCertificates.getCertificates": {
65126
65457
  capName: "node-certificates",
65127
65458
  capScope: "system",
@@ -69849,6 +70180,26 @@ Object.freeze({
69849
70180
  form: "single",
69850
70181
  optional: false
69851
70182
  }],
70183
+ "deviceHistory.getDeviceEnabled": [{
70184
+ name: "deviceId",
70185
+ form: "single",
70186
+ optional: false
70187
+ }],
70188
+ "deviceHistory.listSeries": [{
70189
+ name: "deviceId",
70190
+ form: "single",
70191
+ optional: false
70192
+ }],
70193
+ "deviceHistory.query": [{
70194
+ name: "deviceId",
70195
+ form: "single",
70196
+ optional: false
70197
+ }],
70198
+ "deviceHistory.setDeviceEnabled": [{
70199
+ name: "deviceId",
70200
+ form: "single",
70201
+ optional: false
70202
+ }],
69852
70203
  "deviceManager.adoptionRelease": [{
69853
70204
  name: "camDeviceId",
69854
70205
  form: "single",
@@ -72027,6 +72378,7 @@ Object.freeze({
72027
72378
  "network-access": "ingress",
72028
72379
  "smtp-provider": "email"
72029
72380
  });
72381
+ DeviceType.Camera;
72030
72382
  var G711_SCALE_CORRECTION_DB = {
72031
72383
  PCMU: 20 * Math.log10(4),
72032
72384
  PCMA: 20 * Math.log10(8)
@@ -73871,6 +74223,16 @@ Object.freeze({
73871
74223
  "pageSize": 50
73872
74224
  } },
73873
74225
  "device-credentials": { "listDeviceCredentials": { "includeRevoked": false } },
74226
+ "device-history": {
74227
+ "query": {
74228
+ "resolution": "auto",
74229
+ "maxPoints": 1e3
74230
+ },
74231
+ "queryNode": {
74232
+ "resolution": "auto",
74233
+ "maxPoints": 1e3
74234
+ }
74235
+ },
73874
74236
  "device-manager": { "adoptionListCandidates": {
73875
74237
  "page": 1,
73876
74238
  "pageSize": 50
@@ -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-BbmIfQSr.mjs";
2
- import { f as i, p as a } from "./responsive-CvsGDf2k.mjs";
2
+ import { f as i, p as a } from "./responsive-BP2NYfOi.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",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BlUDCAK-.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Ch_9U0JF.mjs";
2
2
  export { t as get, e as init };
@@ -1,5 +1,5 @@
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-BbmIfQSr.mjs";
2
- import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-cCq5NyzR.mjs";
2
+ import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DVHQfCvU.mjs";
3
3
  import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  t();
@@ -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-BbmIfQSr.mjs";
2
- import { p as i } from "./responsive-CvsGDf2k.mjs";
2
+ import { p as i } from "./responsive-BP2NYfOi.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 { p as e } from "./responsive-CvsGDf2k.mjs";
1
+ import { p as e } from "./responsive-BP2NYfOi.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 { p as e } from "./responsive-CvsGDf2k.mjs";
1
+ import { p as e } from "./responsive-BP2NYfOi.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-CJ5YyyFD.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BPgZSZ-3.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.234",
3
+ "version": "0.1.236",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",