@camstack/addon-osd-manager 0.1.227 → 0.1.229

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 (19) hide show
  1. package/dist/{MotionZonesSettings-44FLAeuV.mjs → MotionZonesSettings-BoZX0EA6.mjs} +2 -2
  2. package/dist/{PrivacyMaskSettings-C2PyGQBU.mjs → PrivacyMaskSettings-CxHO2qra.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-C3oNZkyy.mjs → SceneMonitorEditor-CAsOsf89.mjs} +3 -3
  4. package/dist/_stub.js +15 -11
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-hr24wKfR.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Cu7eN2Oz.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Dqo2wINy.mjs +26 -0
  7. package/dist/addon-osd-manager.css +1 -1
  8. package/dist/{hostInit-CNBVLR7q.mjs → hostInit-KlWpwhCx.mjs} +2 -2
  9. package/dist/index.js +262 -5
  10. package/dist/index.mjs +262 -5
  11. package/dist/{player-overlays-DesZY2AR.mjs → player-overlays-Doc1cX7w.mjs} +1 -1
  12. package/dist/remoteEntry.js +1 -1
  13. package/dist/{responsive-OCZVjkyl.mjs → responsive-BYfbQ41D.mjs} +1 -1
  14. package/dist/{scene-monitor-copy-MoRnLkPB.mjs → scene-monitor-copy-Cc65RL6B.mjs} +1 -1
  15. package/dist/{square-BGVHEb1t.mjs → square-JbfO0HcN.mjs} +1 -1
  16. package/dist/{trash-2-CgUjK3-y.mjs → trash-2-CdL__eUm.mjs} +1 -1
  17. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Bd9OEg8n.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Drb1rpvg.mjs} +1 -1
  18. package/package.json +1 -1
  19. package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DWtjbeaq.mjs +0 -26
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.356",
39
+ version: "1.2.359",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.281",
84
+ version: "1.2.283",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -5390,7 +5390,7 @@ var ZodIssueCode = {
5390
5390
  var ZodFirstPartyTypeKind;
5391
5391
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5392
5392
  //#endregion
5393
- //#region ../types/dist/sleep-vWTnHq9G.mjs
5393
+ //#region ../types/dist/sleep-BBF1iXUi.mjs
5394
5394
  /**
5395
5395
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5396
5396
  * window to float samples (D455).
@@ -10106,6 +10106,15 @@ discriminatedUnion("type", [
10106
10106
  message: string()
10107
10107
  })
10108
10108
  ]);
10109
+ /** Every status, in the order a summary lists them. */
10110
+ var RETRAIN_REVIEW_STATUSES = [
10111
+ "unchanged",
10112
+ "adjusted",
10113
+ "reclassified",
10114
+ "added",
10115
+ "removed",
10116
+ "model-error"
10117
+ ];
10109
10118
  /**
10110
10119
  * What the gate decided about a birth, from the CALLER's point of view.
10111
10120
  *
@@ -13886,6 +13895,16 @@ var BrokerClientsSchema = object({
13886
13895
  /** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
13887
13896
  encodedSubscribers: number()
13888
13897
  });
13898
+ /**
13899
+ * How many people are watching one camera LIVE right now — see
13900
+ * `getLiveViewerCounts`. A camera with nobody watching is absent from the list
13901
+ * (so `viewers` is always at least 1): the listing carries the cameras that
13902
+ * have viewers, never a row of zeros.
13903
+ */
13904
+ var LiveViewerCountSchema = object({
13905
+ deviceId: number().int().nonnegative(),
13906
+ viewers: number().int().positive()
13907
+ });
13889
13908
  _enum([
13890
13909
  "reconnecting",
13891
13910
  "sleeping",
@@ -14246,7 +14265,7 @@ method(object({
14246
14265
  }), {
14247
14266
  kind: "mutation",
14248
14267
  auth: "admin"
14249
- }), method(object({ brokerId: string() }), BrokerClientsSchema), method(object({
14268
+ }), method(object({ brokerId: string() }), BrokerClientsSchema), method(_void(), array(LiveViewerCountSchema).readonly()), method(object({
14250
14269
  brokerId: string(),
14251
14270
  channel: _enum(["rtsp", "audio"]),
14252
14271
  handle: string()
@@ -15194,6 +15213,38 @@ var BulkRecordSchema = object({
15194
15213
  data: record(string(), unknown())
15195
15214
  });
15196
15215
  /**
15216
+ * One write inside a {@link settingsStoreCapability.methods.transact} call.
15217
+ * Only the three that a "replace this set, bump that revision" write needs.
15218
+ */
15219
+ var TransactOpSchema = discriminatedUnion("op", [
15220
+ object({
15221
+ op: literal("deleteWhere"),
15222
+ collection: string(),
15223
+ filter: MutationFilterSchema
15224
+ }),
15225
+ object({
15226
+ op: literal("insertMany"),
15227
+ collection: string(),
15228
+ records: array(BulkRecordSchema).readonly()
15229
+ }),
15230
+ object({
15231
+ op: literal("update"),
15232
+ collection: string(),
15233
+ id: string(),
15234
+ data: record(string(), unknown())
15235
+ })
15236
+ ]);
15237
+ /**
15238
+ * The precondition of a transaction: the row `key` of `collection` must hold
15239
+ * `equals` in `column`, read INSIDE the transaction.
15240
+ */
15241
+ var TransactGuardSchema = object({
15242
+ collection: string(),
15243
+ key: string(),
15244
+ column: string(),
15245
+ equals: unknown()
15246
+ });
15247
+ /**
15197
15248
  * Column declaration for a structured (SQL-backed) collection.
15198
15249
  *
15199
15250
  * Logical types — the backend translates each to the matching SQLite
@@ -15284,6 +15335,16 @@ id: union([string(), number()]) }), {
15284
15335
  }), object({ inserted: number().int() }), {
15285
15336
  kind: "mutation",
15286
15337
  auth: "admin"
15338
+ }), method(object({
15339
+ namespace: string().optional(),
15340
+ guard: TransactGuardSchema.optional(),
15341
+ ops: array(TransactOpSchema).readonly()
15342
+ }), object({
15343
+ applied: boolean(),
15344
+ current: unknown().optional()
15345
+ }), {
15346
+ kind: "mutation",
15347
+ auth: "admin"
15287
15348
  }), method(object({
15288
15349
  namespace: string().optional(),
15289
15350
  collection: string(),
@@ -15432,6 +15493,16 @@ id: union([string(), number()]) }), {
15432
15493
  }), object({ inserted: number().int() }), {
15433
15494
  kind: "mutation",
15434
15495
  auth: "admin"
15496
+ }), method(object({
15497
+ namespace: string().optional(),
15498
+ guard: TransactGuardSchema.optional(),
15499
+ ops: array(TransactOpSchema).readonly()
15500
+ }), object({
15501
+ applied: boolean(),
15502
+ current: unknown().optional()
15503
+ }), {
15504
+ kind: "mutation",
15505
+ auth: "admin"
15435
15506
  }), method(object({
15436
15507
  namespace: string().optional(),
15437
15508
  collection: string(),
@@ -24457,6 +24528,55 @@ var RetrainBboxSchema = object({
24457
24528
  h: number()
24458
24529
  });
24459
24530
  /**
24531
+ * What a box LOOKED LIKE when it was offered, snapshotted at the moment the
24532
+ * operator accepted it. The saved row keeps only the final rectangle; this is
24533
+ * the other half of the pair, and the pair is what says whether the operator
24534
+ * accepted, nudged, relabelled or replaced a proposal (`retrain-review.ts`).
24535
+ *
24536
+ * `ref` names the proposal inside its frame: `pipeline:<trackId>` for a box the
24537
+ * live pipeline drew, `assist:<n>` for the n-th box of a detector or LLM run,
24538
+ * and anything unique for an operator-drawn box (`operator:<n>`). Re-derived
24539
+ * pipeline boxes carry the same ref every time, which is what lets a dismissal
24540
+ * stay dismissed.
24541
+ */
24542
+ var RetrainOriginSchema = object({
24543
+ source: RetrainAnnotationSourceSchema,
24544
+ ref: string().min(1),
24545
+ bbox: RetrainBboxSchema,
24546
+ macroClass: RetrainMacroClassSchema,
24547
+ label: string().optional(),
24548
+ score: number().optional(),
24549
+ modelId: string().optional()
24550
+ });
24551
+ /**
24552
+ * A proposal the operator deleted. Durable on the frame, so a deleted pipeline
24553
+ * box does not come back as a draft every time the frame is reopened, and so
24554
+ * the deletion itself is a recorded fact rather than an absence.
24555
+ */
24556
+ var RetrainDismissedSchema = object({
24557
+ ref: string().min(1),
24558
+ snapshot: RetrainOriginSchema
24559
+ });
24560
+ /** What the operator did with a proposal (see `retrain-review.ts`). */
24561
+ var RetrainReviewStatusSchema = _enum(RETRAIN_REVIEW_STATUSES);
24562
+ var RetrainFrameReviewSchema = object({
24563
+ boxes: array(object({
24564
+ ref: string(),
24565
+ savedId: string().optional(),
24566
+ status: RetrainReviewStatusSchema,
24567
+ /** The baseline was re-derived, not snapshotted (a pre-origin row). */
24568
+ approximate: boolean(),
24569
+ origin: RetrainOriginSchema.optional(),
24570
+ iou: number().optional()
24571
+ })).readonly(),
24572
+ summary: object({
24573
+ counts: record(RetrainReviewStatusSchema, number().int()),
24574
+ total: number().int(),
24575
+ changed: number().int(),
24576
+ approximate: boolean()
24577
+ })
24578
+ });
24579
+ /**
24460
24580
  * One annotated subject.
24461
24581
  *
24462
24582
  * `bbox` is normalised against the full frame, ALWAYS. The per-model shapes
@@ -24480,6 +24600,9 @@ var RetrainAnnotationSchema = object({
24480
24600
  /** Which model proposed this box — or, on a `model_error`, drew the phantom. */
24481
24601
  assistModelId: string().optional(),
24482
24602
  assistScore: number().optional(),
24603
+ /** The proposal this box started from, snapshotted at accept time. `null` on
24604
+ * a row saved before origins existed; absent on a draft nobody snapshotted. */
24605
+ origin: RetrainOriginSchema.nullable().optional(),
24483
24606
  exportedInBatch: string().optional(),
24484
24607
  createdAt: number()
24485
24608
  });
@@ -24572,7 +24695,19 @@ var RetrainFrameSchema = object({
24572
24695
  * empty when nothing the track store holds can be placed on it. */
24573
24696
  pipelineBoxes: array(RetrainPipelineBoxSchema).readonly().optional(),
24574
24697
  /** The named collections this frame belongs to. Present on list answers. */
24575
- collectionIds: array(string()).readonly().optional()
24698
+ collectionIds: array(string()).readonly().optional(),
24699
+ /** Bumped by every annotation save. A save that names a stale
24700
+ * `expectedRevision` is refused, so two surfaces cannot overwrite each other. */
24701
+ revision: number().int().optional(),
24702
+ /** Proposals the operator deleted — never re-seeded as drafts. */
24703
+ dismissed: array(RetrainDismissedSchema).readonly().optional(),
24704
+ /** What the operator did with the proposals, computed by the server. */
24705
+ review: RetrainFrameReviewSchema.optional(),
24706
+ /** The frame's pixels over the admin data plane (full size). Fetch with the
24707
+ * admin bearer token; relative to the hub root. */
24708
+ imageUrl: string().optional(),
24709
+ /** The same, as a ~480 px thumbnail for grids. */
24710
+ thumbnailUrl: string().optional()
24576
24711
  });
24577
24712
  /** Why a copy-on-select could not be honoured — named, never a silent skip. */
24578
24713
  var RetrainCopyRefusalSchema = _enum([
@@ -25651,10 +25786,33 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
25651
25786
  /** The frame's track, when it has one — checked against the frame. */
25652
25787
  trackId: string().optional(),
25653
25788
  frameId: string(),
25654
- annotations: array(RetrainAnnotationDraftSchema)
25789
+ annotations: array(RetrainAnnotationDraftSchema),
25790
+ /** The frame's `revision` the caller saw. A different current revision
25791
+ * refuses the save with a `retrain-revision-conflict` error
25792
+ * (`parseRetrainRevisionConflict`). Absent ⇒ last write wins. */
25793
+ expectedRevision: number().int().optional(),
25794
+ /** The proposals the operator deleted. Absent ⇒ keep the frame's
25795
+ * current set; present ⇒ replace it (an empty array un-dismisses). */
25796
+ dismissed: array(RetrainDismissedSchema).optional()
25655
25797
  }), array(RetrainAnnotationSchema).readonly(), {
25656
25798
  kind: "mutation",
25657
25799
  auth: "admin"
25800
+ }), method(object({
25801
+ deviceId: number(),
25802
+ trackId: string().optional(),
25803
+ frameId: string(),
25804
+ expectedRevision: number().int().optional(),
25805
+ origins: array(object({
25806
+ annotationId: string(),
25807
+ origin: RetrainOriginSchema
25808
+ })).min(1).max(500)
25809
+ }), object({
25810
+ updated: number().int(),
25811
+ skipped: number().int(),
25812
+ revision: number().int()
25813
+ }), {
25814
+ kind: "mutation",
25815
+ auth: "admin"
25658
25816
  }), method(object({
25659
25817
  deviceId: number(),
25660
25818
  trackId: string()
@@ -28270,6 +28428,12 @@ var CameraStepOverridePatchSchema = object({
28270
28428
  settings: record(string(), unknown()).readonly().optional()
28271
28429
  });
28272
28430
  var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
28431
+ /** The three root-detector choices a camera has (D507: at most one root). */
28432
+ var CameraDetectionSourceSchema = _enum([
28433
+ "pipeline",
28434
+ "onboard",
28435
+ "none"
28436
+ ]);
28273
28437
  var CameraPipelineSettingsSchema = object({
28274
28438
  stepToggles: record(string(), boolean()).optional(),
28275
28439
  stepSettings: CameraStepSettingsSchema.optional(),
@@ -28847,6 +29011,26 @@ method(object({
28847
29011
  }), object({ success: literal(true) }), {
28848
29012
  kind: "mutation",
28849
29013
  auth: "admin"
29014
+ }), method(object({ deviceId: number() }), object({
29015
+ source: CameraDetectionSourceSchema,
29016
+ explicit: boolean(),
29017
+ onboard: object({
29018
+ /** The camera has an onboard detector this system can read. */
29019
+ available: boolean(),
29020
+ /** What its detections carry — a camera with no box cannot be a root step. */
29021
+ geometry: _enum([
29022
+ "boxed",
29023
+ "while-streaming",
29024
+ "flag-only",
29025
+ "unknown"
29026
+ ])
29027
+ })
29028
+ })), method(object({
29029
+ deviceId: number(),
29030
+ source: CameraDetectionSourceSchema
29031
+ }), object({ success: literal(true) }), {
29032
+ kind: "mutation",
29033
+ auth: "admin"
28850
29034
  }), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
28851
29035
  deviceId: number(),
28852
29036
  agentNodeId: string(),
@@ -32178,6 +32362,17 @@ var BatteryStatusSchema = object({
32178
32362
  */
32179
32363
  lastContactAt: number().optional(),
32180
32364
  /**
32365
+ * Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
32366
+ * holds for the device (level, charging, link, device info, state slices) and
32367
+ * its cached snapshot, read together. Absent = never since this slice was
32368
+ * born. Unlike `lastUpdated` (any write, even a push of one field) this is
32369
+ * the staleness an operator can trust: the provider owns the device fact and
32370
+ * so owns the window on its age (D224, D847). Not a clock in the
32371
+ * runtime-state-durability sense: it moves once per window and must survive
32372
+ * a restart, or every restart would owe the camera a wake.
32373
+ */
32374
+ lastFullRefreshAt: number().optional(),
32375
+ /**
32181
32376
  * True when the source is a BINARY low-battery indicator (HA
32182
32377
  * `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
32183
32378
  * charge level — `percentage` is then a coarse stand-in (100 = normal,
@@ -35393,7 +35588,14 @@ var TopologyNodeSchema = object({
35393
35588
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
35394
35589
  * for offline rows and when the hub cannot tell.
35395
35590
  */
35396
- meshTransport: _enum(["tls", "clear"]).optional()
35591
+ meshTransport: _enum(["tls", "clear"]).optional(),
35592
+ /**
35593
+ * Whether the hub holds this online AGENT's capability registration (its
35594
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
35595
+ * hub dropped the registration on a disconnect only it saw and the agent has
35596
+ * not re-sent it. Absent for the hub and offline rows.
35597
+ */
35598
+ capabilitiesRegistered: boolean().optional()
35397
35599
  });
35398
35600
  var CapUsageEdgeSchema = object({
35399
35601
  callerAddonId: string(),
@@ -42309,6 +42511,12 @@ Object.freeze({
42309
42511
  addonId: null,
42310
42512
  access: "create"
42311
42513
  },
42514
+ "dataStoreProvider.transact": {
42515
+ capName: "data-store-provider",
42516
+ capScope: "system",
42517
+ addonId: null,
42518
+ access: "create"
42519
+ },
42312
42520
  "dataStoreProvider.update": {
42313
42521
  capName: "data-store-provider",
42314
42522
  capScope: "system",
@@ -45153,6 +45361,12 @@ Object.freeze({
45153
45361
  addonId: null,
45154
45362
  access: "create"
45155
45363
  },
45364
+ "pipelineAnalytics.backfillRetrainOrigins": {
45365
+ capName: "pipeline-analytics",
45366
+ capScope: "device",
45367
+ addonId: null,
45368
+ access: "create"
45369
+ },
45156
45370
  "pipelineAnalytics.cancelRelocateMedia": {
45157
45371
  capName: "pipeline-analytics",
45158
45372
  capScope: "device",
@@ -45933,6 +46147,12 @@ Object.freeze({
45933
46147
  addonId: null,
45934
46148
  access: "view"
45935
46149
  },
46150
+ "pipelineOrchestrator.getCameraDetectionSource": {
46151
+ capName: "pipeline-orchestrator",
46152
+ capScope: "system",
46153
+ addonId: null,
46154
+ access: "view"
46155
+ },
45936
46156
  "pipelineOrchestrator.getCameraMetrics": {
45937
46157
  capName: "pipeline-orchestrator",
45938
46158
  capScope: "system",
@@ -46161,6 +46381,12 @@ Object.freeze({
46161
46381
  addonId: null,
46162
46382
  access: "create"
46163
46383
  },
46384
+ "pipelineOrchestrator.setCameraDetectionSource": {
46385
+ capName: "pipeline-orchestrator",
46386
+ capScope: "system",
46387
+ addonId: null,
46388
+ access: "create"
46389
+ },
46164
46390
  "pipelineOrchestrator.setCameraPipelineForAgent": {
46165
46391
  capName: "pipeline-orchestrator",
46166
46392
  capScope: "system",
@@ -47133,6 +47359,12 @@ Object.freeze({
47133
47359
  addonId: null,
47134
47360
  access: "create"
47135
47361
  },
47362
+ "settingsStore.transact": {
47363
+ capName: "settings-store",
47364
+ capScope: "system",
47365
+ addonId: null,
47366
+ access: "create"
47367
+ },
47136
47368
  "settingsStore.update": {
47137
47369
  capName: "settings-store",
47138
47370
  capScope: "system",
@@ -47613,6 +47845,12 @@ Object.freeze({
47613
47845
  addonId: null,
47614
47846
  access: "view"
47615
47847
  },
47848
+ "streamBroker.getLiveViewerCounts": {
47849
+ capName: "stream-broker",
47850
+ capScope: "system",
47851
+ addonId: null,
47852
+ access: "view"
47853
+ },
47616
47854
  "streamBroker.getPreBufferInfo": {
47617
47855
  capName: "stream-broker",
47618
47856
  capScope: "system",
@@ -51453,6 +51691,11 @@ Object.freeze({
51453
51691
  form: "single",
51454
51692
  optional: false
51455
51693
  }],
51694
+ "pipelineAnalytics.backfillRetrainOrigins": [{
51695
+ name: "deviceId",
51696
+ form: "single",
51697
+ optional: false
51698
+ }],
51456
51699
  "pipelineAnalytics.clearTrackRelation": [{
51457
51700
  name: "deviceId",
51458
51701
  form: "single",
@@ -51758,6 +52001,11 @@ Object.freeze({
51758
52001
  form: "single",
51759
52002
  optional: false
51760
52003
  }],
52004
+ "pipelineOrchestrator.getCameraDetectionSource": [{
52005
+ name: "deviceId",
52006
+ form: "single",
52007
+ optional: false
52008
+ }],
51761
52009
  "pipelineOrchestrator.getCameraMetrics": [{
51762
52010
  name: "deviceId",
51763
52011
  form: "single",
@@ -51818,6 +52066,11 @@ Object.freeze({
51818
52066
  form: "single",
51819
52067
  optional: false
51820
52068
  }],
52069
+ "pipelineOrchestrator.setCameraDetectionSource": [{
52070
+ name: "deviceId",
52071
+ form: "single",
52072
+ optional: false
52073
+ }],
51821
52074
  "pipelineOrchestrator.setCameraPipelineForAgent": [{
51822
52075
  name: "deviceId",
51823
52076
  form: "single",
@@ -55029,6 +55282,10 @@ var CAP_STATE_LEAVES = Object.freeze({
55029
55282
  "path": "lastContactAt",
55030
55283
  "valueType": "number"
55031
55284
  },
55285
+ {
55286
+ "path": "lastFullRefreshAt",
55287
+ "valueType": "number"
55288
+ },
55032
55289
  {
55033
55290
  "path": "binary",
55034
55291
  "valueType": "boolean"