@camstack/addon-post-analysis 1.2.276 → 1.2.278

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.
@@ -5359,7 +5359,7 @@ var ZodIssueCode = {
5359
5359
  var ZodFirstPartyTypeKind;
5360
5360
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5361
5361
  //#endregion
5362
- //#region ../types/dist/sleep-pM_J7YnY.mjs
5362
+ //#region ../types/dist/sleep-D_4W7xuQ.mjs
5363
5363
  /**
5364
5364
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5365
5365
  * window to float samples (D455).
@@ -7421,11 +7421,17 @@ var RawStateResultSchema = object({
7421
7421
  method(object({ deviceId: number() }), array(StreamSourceEntrySchema)), method(object({ deviceId: number() }), array(ConfigEntrySchema$1)), method(object({
7422
7422
  deviceId: number(),
7423
7423
  values: record(string(), unknown())
7424
- }), _void(), { kind: "mutation" }), method(object({
7424
+ }), _void(), {
7425
+ kind: "mutation",
7426
+ auth: "admin"
7427
+ }), method(object({
7425
7428
  deviceId: number(),
7426
7429
  action: string().min(1),
7427
7430
  input: unknown()
7428
- }), unknown(), { kind: "mutation" }), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), unknown().nullable()), method(object({ deviceId: number() }), RawStateResultSchema.nullable(), { auth: "protected" });
7431
+ }), unknown(), { kind: "mutation" }), method(object({ deviceId: number() }), _void(), {
7432
+ kind: "mutation",
7433
+ auth: "admin"
7434
+ }), method(object({ deviceId: number() }), unknown().nullable()), method(object({ deviceId: number() }), RawStateResultSchema.nullable(), { auth: "protected" });
7429
7435
  /**
7430
7436
  * AUTO-GENERATED by scripts/generate-device-scoped-caps.ts — DO NOT EDIT.
7431
7437
  *
@@ -12159,7 +12165,7 @@ method(ListInputSchema, array(BrokerInfoSchema$1)), method(GetInputSchema, Broke
12159
12165
  }), method(UnsubscribeInputSchema, _void(), {
12160
12166
  kind: "mutation",
12161
12167
  auth: "admin"
12162
- }), method(GetStateInputSchema, unknown().nullable()), method(_void(), RegistryStatusSchema);
12168
+ }), method(GetStateInputSchema, unknown().nullable(), { auth: "admin" }), method(_void(), RegistryStatusSchema);
12163
12169
  DeviceType.Camera;
12164
12170
  /** Stream delivery format. (Relocated from the retired `streaming-engine` cap.) */
12165
12171
  var StreamFormatSchema = _enum([
@@ -13346,17 +13352,20 @@ method(object({
13346
13352
  namespace: string().optional(),
13347
13353
  collection: string(),
13348
13354
  key: string()
13349
- }), unknown()), method(object({
13355
+ }), unknown(), { auth: "admin" }), method(object({
13350
13356
  namespace: string().optional(),
13351
13357
  collection: string(),
13352
13358
  key: string(),
13353
13359
  value: unknown()
13354
- }), _void(), { kind: "mutation" }), method(object({
13360
+ }), _void(), {
13361
+ kind: "mutation",
13362
+ auth: "admin"
13363
+ }), method(object({
13355
13364
  namespace: string().optional(),
13356
13365
  collection: string(),
13357
13366
  filter: QueryFilterSchema.optional(),
13358
13367
  columns: array(string()).readonly().optional()
13359
- }), array(SettingsRecordSchema).readonly()), method(object({
13368
+ }), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
13360
13369
  namespace: string().optional(),
13361
13370
  collection: string(),
13362
13371
  /** Declared columns identifying the slot; must be covered by a UNIQUE
@@ -13366,7 +13375,10 @@ method(object({
13366
13375
  }), object({
13367
13376
  /** The id the row HAS: assigned by SQLite on an insert, or the existing
13368
13377
  * row's own id on an update. */
13369
- id: union([string(), number()]) }), { kind: "mutation" }), method(object({
13378
+ id: union([string(), number()]) }), {
13379
+ kind: "mutation",
13380
+ auth: "admin"
13381
+ }), method(object({
13370
13382
  namespace: string().optional(),
13371
13383
  collection: string(),
13372
13384
  record: object({
@@ -13379,38 +13391,56 @@ id: union([string(), number()]) }), { kind: "mutation" }), method(object({
13379
13391
  * for an absent one, or the ROWID SQLite assigned on an `INTEGER`
13380
13392
  * primary key — which is the only place an auto key is knowable.
13381
13393
  */
13382
- id: union([string(), number()]) }), { kind: "mutation" }), method(object({
13394
+ id: union([string(), number()]) }), {
13395
+ kind: "mutation",
13396
+ auth: "admin"
13397
+ }), method(object({
13383
13398
  namespace: string().optional(),
13384
13399
  collection: string(),
13385
13400
  records: array(BulkRecordSchema).readonly()
13386
- }), object({ inserted: number().int() }), { kind: "mutation" }), method(object({
13401
+ }), object({ inserted: number().int() }), {
13402
+ kind: "mutation",
13403
+ auth: "admin"
13404
+ }), method(object({
13387
13405
  namespace: string().optional(),
13388
13406
  collection: string(),
13389
13407
  id: string(),
13390
13408
  data: record(string(), unknown())
13391
- }), _void(), { kind: "mutation" }), method(object({
13409
+ }), _void(), {
13410
+ kind: "mutation",
13411
+ auth: "admin"
13412
+ }), method(object({
13392
13413
  namespace: string().optional(),
13393
13414
  collection: string(),
13394
13415
  key: string()
13395
- }), _void(), { kind: "mutation" }), method(object({
13416
+ }), _void(), {
13417
+ kind: "mutation",
13418
+ auth: "admin"
13419
+ }), method(object({
13396
13420
  namespace: string().optional(),
13397
13421
  collection: string(),
13398
13422
  filter: MutationFilterSchema
13399
- }), object({ deleted: number().int() }), { kind: "mutation" }), method(object({
13423
+ }), object({ deleted: number().int() }), {
13424
+ kind: "mutation",
13425
+ auth: "admin"
13426
+ }), method(object({
13400
13427
  namespace: string().optional(),
13401
13428
  collection: string(),
13402
13429
  filter: MutationFilterSchema,
13403
13430
  data: record(string(), unknown())
13404
- }), object({ updated: number().int() }), { kind: "mutation" }), method(object({
13431
+ }), object({ updated: number().int() }), {
13432
+ kind: "mutation",
13433
+ auth: "admin"
13434
+ }), method(object({
13405
13435
  namespace: string().optional(),
13406
13436
  collection: string(),
13407
13437
  filter: QueryFilterSchema.optional()
13408
- }), number()), method(object({
13438
+ }), number(), { auth: "admin" }), method(object({
13409
13439
  namespace: string().optional(),
13410
13440
  collection: string(),
13411
13441
  fields: array(AggregateFieldSchema).readonly(),
13412
13442
  filter: QueryFilterSchema.optional()
13413
- }), AggregateResultSchema), method(object({
13443
+ }), AggregateResultSchema, { auth: "admin" }), method(object({
13414
13444
  namespace: string().optional(),
13415
13445
  collection: string(),
13416
13446
  field: string(),
@@ -13420,15 +13450,18 @@ id: union([string(), number()]) }), { kind: "mutation" }), method(object({
13420
13450
  }), array(object({
13421
13451
  bucket: number().int(),
13422
13452
  count: number().int()
13423
- })).readonly()), method(object({
13453
+ })).readonly(), { auth: "admin" }), method(object({
13424
13454
  namespace: string().optional(),
13425
13455
  collection: string()
13426
- }), boolean()), method(object({
13456
+ }), boolean(), { auth: "admin" }), method(object({
13427
13457
  namespace: string().optional(),
13428
13458
  collection: string(),
13429
13459
  columns: array(CollectionColumnSchema).readonly(),
13430
13460
  indexes: array(CollectionIndexSchema).readonly().optional()
13431
- }), _void(), { kind: "mutation" });
13461
+ }), _void(), {
13462
+ kind: "mutation",
13463
+ auth: "admin"
13464
+ });
13432
13465
  /**
13433
13466
  * What one engine says about itself. The orchestrator uses `kind` to pick
13434
13467
  * a registrant for a collection; `engineId` is what a log line names when
@@ -14219,7 +14252,13 @@ var ExposeInputSchema = object({
14219
14252
  capabilities: array(string()).optional()
14220
14253
  });
14221
14254
  var UnexposeInputSchema = object({ deviceId: string() });
14222
- method(_void(), DeviceExportStatusSchema), method(_void(), array(DeviceKindSchema)), method(_void(), array(ExposedDeviceSchema)), method(ExposeInputSchema, _void(), { kind: "mutation" }), method(UnexposeInputSchema, _void(), { kind: "mutation" });
14255
+ method(_void(), DeviceExportStatusSchema), method(_void(), array(DeviceKindSchema)), method(_void(), array(ExposedDeviceSchema)), method(ExposeInputSchema, _void(), {
14256
+ kind: "mutation",
14257
+ auth: "admin"
14258
+ }), method(UnexposeInputSchema, _void(), {
14259
+ kind: "mutation",
14260
+ auth: "admin"
14261
+ });
14223
14262
  /** Wire/storage schema for one icon id. */
14224
14263
  var LocationIconIdSchema = _enum([
14225
14264
  "map-pin",
@@ -14723,7 +14762,10 @@ method(object({
14723
14762
  kind: "mutation",
14724
14763
  auth: "admin",
14725
14764
  timeoutMs: 12 * 6e4
14726
- }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
14765
+ }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), {
14766
+ kind: "mutation",
14767
+ auth: "admin"
14768
+ }), method(object({ deviceId: number() }), record(string(), unknown()), { auth: "admin" }), method(object({ deviceId: number() }), record(string(), unknown()), { auth: "admin" }), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
14727
14769
  deviceId: number(),
14728
14770
  name: string()
14729
14771
  }), _void(), {
@@ -14928,7 +14970,7 @@ method(object({
14928
14970
  }), method(object({ deviceId: number() }), array(StreamProbeResultSchema), {
14929
14971
  kind: "mutation",
14930
14972
  auth: "admin"
14931
- }), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({
14973
+ }), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({ capNames: array(string().min(1)).min(1).max(16) }), array(number())), method(object({
14932
14974
  deviceId: number(),
14933
14975
  capName: string(),
14934
14976
  wrapperAddonId: string(),
@@ -16511,7 +16553,22 @@ var StatusSchema = object({
16511
16553
  brokerCount: number(),
16512
16554
  embeddedRunning: boolean()
16513
16555
  });
16514
- method(_void(), array(BrokerInfoSchema)), method(IdInputSchema, BrokerConnectionDetailsSchema), method(AddBrokerInputSchema, AddBrokerResultSchema, { kind: "mutation" }), method(IdInputSchema, _void(), { kind: "mutation" }), method(IdInputSchema, TestResultSchema$1, { kind: "mutation" }), method(StartEmbeddedInputSchema, StartEmbeddedResultSchema, { kind: "mutation" }), method(IdInputSchema, _void(), { kind: "mutation" }), method(_void(), StatusSchema);
16556
+ method(_void(), array(BrokerInfoSchema)), method(IdInputSchema, BrokerConnectionDetailsSchema, { auth: "admin" }), method(AddBrokerInputSchema, AddBrokerResultSchema, {
16557
+ kind: "mutation",
16558
+ auth: "admin"
16559
+ }), method(IdInputSchema, _void(), {
16560
+ kind: "mutation",
16561
+ auth: "admin"
16562
+ }), method(IdInputSchema, TestResultSchema$1, {
16563
+ kind: "mutation",
16564
+ auth: "admin"
16565
+ }), method(StartEmbeddedInputSchema, StartEmbeddedResultSchema, {
16566
+ kind: "mutation",
16567
+ auth: "admin"
16568
+ }), method(IdInputSchema, _void(), {
16569
+ kind: "mutation",
16570
+ auth: "admin"
16571
+ }), method(_void(), StatusSchema);
16515
16572
  var NetworkEndpointSchema = object({
16516
16573
  url: string(),
16517
16574
  hostname: string(),
@@ -16806,6 +16863,18 @@ var TargetKindSchema = object({
16806
16863
  */
16807
16864
  iconMediaType: string().optional(),
16808
16865
  configSchema: ConfigSchemaPassthrough,
16866
+ /**
16867
+ * The config keys that decide WHERE this kind's secrets are sent (server,
16868
+ * base URL, instance, chat, recipient). A save that changes any of them
16869
+ * while leaving a secret redacted is refused by the provider (D634), so an
16870
+ * editor uses this to ask for the secret on exactly those edits instead of
16871
+ * on every edit.
16872
+ *
16873
+ * Optional: absent from a provider that holds no secret (the Home Assistant
16874
+ * kinds) and from a provider older than this field — an editor that finds
16875
+ * it absent must assume ANY edit may need the secret.
16876
+ */
16877
+ destinationKeys: array(string()).optional(),
16809
16878
  supportsDiscovery: boolean(),
16810
16879
  caps: TargetKindCapsSchema
16811
16880
  });
@@ -16844,19 +16913,34 @@ var SendResultSchema = object({
16844
16913
  });
16845
16914
  /** Same shape as SendResult — kept as a distinct name for the test panel. */
16846
16915
  var TestResultSchema = SendResultSchema;
16847
- method(object({}), array(TargetKindSchema)), method(object({}), array(TargetSchema)), method(object({
16916
+ method(object({}), array(TargetKindSchema)), method(object({}), array(TargetSchema), { auth: "admin" }), method(object({
16848
16917
  kind: string(),
16849
16918
  config: record(string(), unknown()).optional()
16850
- }), array(DiscoveredTargetSchema)), method(object({
16919
+ }), array(DiscoveredTargetSchema), { auth: "admin" }), method(object({
16851
16920
  targetId: string(),
16852
16921
  notification: NotificationSchema
16853
- }), SendResultSchema, { kind: "mutation" }), method(object({
16922
+ }), SendResultSchema, {
16923
+ kind: "mutation",
16924
+ auth: "admin"
16925
+ }), method(object({
16854
16926
  targetId: string(),
16855
16927
  sample: NotificationSchema.optional()
16856
- }), TestResultSchema, { kind: "mutation" }), method(object({ target: TargetSchema }), TargetSchema, { kind: "mutation" }), method(object({ targetId: string() }), _void(), { kind: "mutation" }), method(object({
16928
+ }), TestResultSchema, {
16929
+ kind: "mutation",
16930
+ auth: "admin"
16931
+ }), method(object({ target: TargetSchema }), TargetSchema, {
16932
+ kind: "mutation",
16933
+ auth: "admin"
16934
+ }), method(object({ targetId: string() }), _void(), {
16935
+ kind: "mutation",
16936
+ auth: "admin"
16937
+ }), method(object({
16857
16938
  targetId: string(),
16858
16939
  enabled: boolean()
16859
- }), _void(), { kind: "mutation" });
16940
+ }), _void(), {
16941
+ kind: "mutation",
16942
+ auth: "admin"
16943
+ });
16860
16944
  /**
16861
16945
  * The class names a per-class COUNT can ever be keyed on — the macro ids, and
16862
16946
  * only those.
@@ -17791,6 +17875,19 @@ var NcSystemEventConditionSchema = object({
17791
17875
  * does not carry) matches no `deviceTypes` list.
17792
17876
  */
17793
17877
  deviceTypes: array(string().min(1)).min(1).optional(),
17878
+ /**
17879
+ * Devices this rule NEVER speaks about, whatever else matched. Scoped to the
17880
+ * same kind family as `deviceIds` (`systemEventFilterApplies(kind,
17881
+ * 'deviceIds')`) and applied AFTER it: include first, then exclude. A
17882
+ * consumable subject (`consumable:<id>:<key>`) is excluded by its device id.
17883
+ *
17884
+ * It never fails closed: a subject that carries no device id is not in the
17885
+ * list, so it is not excluded. "Every battery except the one thermometer that
17886
+ * reads 0 % forever" is the question this answers — expressed as an include
17887
+ * list it would have to name every other battery device, and every device
17888
+ * adopted later would be silently left out (D636).
17889
+ */
17890
+ excludeDeviceIds: array(number().int()).min(1).optional(),
17794
17891
  nodeIds: array(string().min(1)).min(1).optional(),
17795
17892
  packageNames: array(string().min(1)).min(1).optional()
17796
17893
  });
@@ -18999,6 +19096,14 @@ var NC_CONDITION_CATALOG = [
18999
19096
  value: "server-updated",
19000
19097
  label: "Server updated"
19001
19098
  },
19099
+ {
19100
+ value: "device-battery-low",
19101
+ label: "Battery low"
19102
+ },
19103
+ {
19104
+ value: "device-battery-normal",
19105
+ label: "Battery back to normal"
19106
+ },
19002
19107
  {
19003
19108
  value: "device-consumable-low",
19004
19109
  label: "Consumable low"
@@ -25714,41 +25819,65 @@ var ProviderListEntrySchema = discriminatedUnion("shouldSaveDiskSpace", [object(
25714
25819
  method(object({
25715
25820
  location: StorageLocationRefSchema,
25716
25821
  relativePath: string()
25717
- }), string()), method(object({
25822
+ }), string(), { auth: "admin" }), method(object({
25718
25823
  location: StorageLocationRefSchema,
25719
25824
  relativePath: string(),
25720
25825
  data: _instanceof(Uint8Array)
25721
- }), _void(), { kind: "mutation" }), method(object({
25826
+ }), _void(), {
25827
+ kind: "mutation",
25828
+ auth: "admin"
25829
+ }), method(object({
25722
25830
  location: StorageLocationRefSchema,
25723
25831
  relativePath: string()
25724
- }), _instanceof(Uint8Array)), method(object({
25832
+ }), _instanceof(Uint8Array), { auth: "admin" }), method(object({
25725
25833
  location: StorageLocationRefSchema,
25726
25834
  relativePath: string()
25727
- }), boolean()), method(object({
25835
+ }), boolean(), { auth: "admin" }), method(object({
25728
25836
  location: StorageLocationRefSchema,
25729
25837
  prefix: string().optional()
25730
- }), array(string()).readonly()), method(object({
25838
+ }), array(string()).readonly(), { auth: "admin" }), method(object({
25731
25839
  location: StorageLocationRefSchema,
25732
25840
  relativePath: string()
25733
- }), _void(), { kind: "mutation" }), method(object({ location: StorageLocationRefSchema }), number().nullable()), method(object({
25841
+ }), _void(), {
25842
+ kind: "mutation",
25843
+ auth: "admin"
25844
+ }), method(object({ location: StorageLocationRefSchema }), number().nullable()), method(object({
25734
25845
  location: StorageLocationRefSchema,
25735
25846
  relativePath: string(),
25736
25847
  sizeBytes: number().optional()
25737
- }), object({ uploadId: string() }), { kind: "mutation" }), method(object({
25848
+ }), object({ uploadId: string() }), {
25849
+ kind: "mutation",
25850
+ auth: "admin"
25851
+ }), method(object({
25738
25852
  uploadId: string(),
25739
25853
  offset: number(),
25740
25854
  data: _instanceof(Uint8Array)
25741
- }), _void(), { kind: "mutation" }), method(object({ uploadId: string() }), _void(), { kind: "mutation" }), method(object({ uploadId: string() }), _void(), { kind: "mutation" }), method(object({
25855
+ }), _void(), {
25856
+ kind: "mutation",
25857
+ auth: "admin"
25858
+ }), method(object({ uploadId: string() }), _void(), {
25859
+ kind: "mutation",
25860
+ auth: "admin"
25861
+ }), method(object({ uploadId: string() }), _void(), {
25862
+ kind: "mutation",
25863
+ auth: "admin"
25864
+ }), method(object({
25742
25865
  location: StorageLocationRefSchema,
25743
25866
  relativePath: string()
25744
25867
  }), object({
25745
25868
  downloadId: string(),
25746
25869
  sizeBytes: number()
25747
- }), { kind: "mutation" }), method(object({
25870
+ }), {
25871
+ kind: "mutation",
25872
+ auth: "admin"
25873
+ }), method(object({
25748
25874
  downloadId: string(),
25749
25875
  offset: number(),
25750
25876
  length: number()
25751
- }), _instanceof(Uint8Array)), method(object({ downloadId: string() }), _void(), { kind: "mutation" }), method(object({ type: StorageLocationTypeSchema.optional() }), array(StorageLocationSchema).readonly()), method(_void(), array(StorageLocationDeclarationSchema).readonly()), method(StorageLocationSchema.omit({
25877
+ }), _instanceof(Uint8Array), { auth: "admin" }), method(object({ downloadId: string() }), _void(), {
25878
+ kind: "mutation",
25879
+ auth: "admin"
25880
+ }), method(object({ type: StorageLocationTypeSchema.optional() }), array(StorageLocationSchema).readonly()), method(_void(), array(StorageLocationDeclarationSchema).readonly()), method(StorageLocationSchema.omit({
25752
25881
  createdAt: true,
25753
25882
  updatedAt: true
25754
25883
  }), StorageLocationSchema, {
@@ -27373,7 +27502,67 @@ var WebrtcLadderDecisionSchema = object({
27373
27502
  serverSending: boolean().nullable(),
27374
27503
  /** Epoch ms. The overlay prints its age; a decision from 40 minutes ago
27375
27504
  * must not read like one from this second. */
27376
- at: number()
27505
+ at: number(),
27506
+ /** The broker's own cause when it is finer than `cause` can carry, e.g.
27507
+ * `trial-revert` (reported as `stall`/`loss` for older consumers). Optional:
27508
+ * an older server strips it instead of rejecting the answer. */
27509
+ causeDetail: string().optional()
27510
+ });
27511
+ var WebrtcClimbHoldSchema = object({
27512
+ /** `stall-building` — the client receives ≪ what is sent; `delivery` — the
27513
+ * current rung is not landing whole; `no-evidence` — no receiver feedback;
27514
+ * `warming` — healthy, accumulating the streak; `cooldown` — too soon after
27515
+ * a change; `capacity` — a MEASURED probe below the next rung's bar;
27516
+ * `try-unclean` — no capacity evidence, and the path is not clean enough to
27517
+ * try; `try-backoff` — a try reverted, waiting out its backoff; `trial` —
27518
+ * this rung IS a try, reverting if it does not land; `suspended` —
27519
+ * recorded playback on the track. */
27520
+ code: string(),
27521
+ /** The rung a climb would go to. */
27522
+ nextTier: CamProfileSchema,
27523
+ /** Bytes received ÷ bytes sent over the delivery window (≥ one GOP). */
27524
+ deliveryRatio: number().nullable(),
27525
+ deliveryWindowMs: number().nullable(),
27526
+ /** The ratio a climb requires. */
27527
+ climbDeliveryRatio: number(),
27528
+ /** The receiver's bandwidth estimate (REMB), kbps. Capped by what is sent. */
27529
+ capacityKbps: number().nullable(),
27530
+ /** The viewer's downlink probe for this session, kbps. */
27531
+ probeKbps: number().nullable(),
27532
+ /** The next rung's measured bitrate, kbps. */
27533
+ nextTierKbps: number().nullable(),
27534
+ capacityMargin: number(),
27535
+ /** The capacity a climb to `nextTier` needs, kbps (bitrate × margin, or the
27536
+ * client ladder threshold when the rung has measured nothing). */
27537
+ neededKbps: number().nullable(),
27538
+ /** For `try-unclean`: which clean-path condition failed (a `WebrtcTryBlocker`,
27539
+ * carried as a string for the same reason as `code`). */
27540
+ tryBlockedBy: string().nullable(),
27541
+ /** The delivery ratio and the loss ratio a try requires / must stay under.
27542
+ * Optional, like every field added to this schema after it first shipped:
27543
+ * the router validates output, so a REQUIRED new field makes a newer server
27544
+ * reject an older broker's whole answer (review m1). */
27545
+ tryDeliveryRatio: number().optional(),
27546
+ tryMaxLossRatio: number().optional(),
27547
+ /** For `try-backoff`: time until the next try, ms. */
27548
+ retryInMs: number().nullable(),
27549
+ /** The last try that reverted in this viewer session. */
27550
+ lastRevert: object({
27551
+ tier: CamProfileSchema,
27552
+ deliveryRatio: number().nullable(),
27553
+ stalled: boolean(),
27554
+ at: number()
27555
+ }).nullable(),
27556
+ /** For `trial`: how long this rung has been on trial, and for how long it must hold. */
27557
+ trialForMs: number().nullable(),
27558
+ trialMs: number().nullable(),
27559
+ healthyForMs: number().nullable(),
27560
+ requiredHealthyMs: number().nullable(),
27561
+ /** Epoch ms this hold's code began. */
27562
+ since: number(),
27563
+ /** The same one-line account the broker logs, e.g.
27564
+ * `held: delivery 0.97 over 4.0s ok, REMB 480 kbps < mid 1800 kbps × 1.2`. */
27565
+ summary: string()
27377
27566
  });
27378
27567
  /** Per-tier count of MEASURED downgrades this viewer session has suffered. */
27379
27568
  var WebrtcTierFailureSchema = object({
@@ -27437,7 +27626,12 @@ var WebrtcSessionDebugSchema = object({
27437
27626
  tierFailures: array(WebrtcTierFailureSchema),
27438
27627
  /** Successful promotions in this viewer session (drives the progressive
27439
27628
  * healthy timer). Null when no ladder is running. */
27440
- upgradeCount: number().nullable()
27629
+ upgradeCount: number().nullable(),
27630
+ /** Why the ladder is not climbing right now. Null when no ladder runs, it
27631
+ * is at the top rung, or it just moved. Optional because this output is
27632
+ * validated by the router: a server carrying this schema must still accept
27633
+ * the answer of a stream-broker deployed before the field existed. */
27634
+ climbHold: WebrtcClimbHoldSchema.nullable().optional()
27441
27635
  });
27442
27636
  DeviceType.Camera, method(object({ deviceId: number().int().nonnegative() }), array(WebrtcStreamChoiceSchema)), method(object({
27443
27637
  deviceId: number().int().nonnegative(),
@@ -32740,6 +32934,11 @@ var ClientNetworkStatsSchema = object({
32740
32934
  jitterMs: number(),
32741
32935
  estimatedBandwidthKbps: number(),
32742
32936
  packetLossPercent: number().min(0).max(100),
32937
+ /** The viewer's latest `/adaptive-probe` reading, Mbps — whatever it read
32938
+ * (D635 I4). Absent when it never probed or the probe failed (unknown). */
32939
+ downlinkMbps: number().optional(),
32940
+ /** Age of that reading when this report was sent, ms. */
32941
+ downlinkAgeMs: number().optional(),
32743
32942
  lastUpdated: number()
32744
32943
  });
32745
32944
  var DeviceNetworkStatsSchema = object({
@@ -32752,7 +32951,11 @@ method(object({ deviceId: number() }), DeviceNetworkStatsSchema.nullable()), met
32752
32951
  rttMs: number().min(0).max(6e4),
32753
32952
  jitterMs: number().min(0).max(1e4),
32754
32953
  estimatedBandwidthKbps: number().min(0).max(1e6),
32755
- packetLossPercent: number().min(0).max(100)
32954
+ packetLossPercent: number().min(0).max(100),
32955
+ /** Latest downlink probe, Mbps, whatever it read; absent = never / failed. */
32956
+ downlinkMbps: number().min(0).max(1e5).optional(),
32957
+ /** Age of that probe when this report is sent, ms. */
32958
+ downlinkAgeMs: number().min(0).max(864e5).optional()
32756
32959
  }), _void(), { kind: "mutation" });
32757
32960
  /**
32758
32961
  * nodes — system-scoped singleton capability for cluster topology
@@ -42735,6 +42938,12 @@ Object.freeze({
42735
42938
  addonId: null,
42736
42939
  access: "view"
42737
42940
  },
42941
+ "deviceManager.listDeviceIdsByCaps": {
42942
+ capName: "device-manager",
42943
+ capScope: "system",
42944
+ addonId: null,
42945
+ access: "view"
42946
+ },
42738
42947
  "deviceManager.listLocationDescriptions": {
42739
42948
  capName: "device-manager",
42740
42949
  capScope: "system",
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-BZaBVEUL.js");
5
+ const require_dist = require("../dist-BUtk8EU2.js");
6
6
  let node_fs = require("node:fs");
7
7
  node_fs = require_dist.__toESM(node_fs);
8
8
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { It as parseProcStatus, Qt as BaseAddon, Tt as hfModelUrl, Ut as resolvePoolMemoryPolicy, Z as PoolMemoryWatchdog, yt as embeddingEncoderCapability } from "../dist-58Om1e5O.mjs";
1
+ import { It as parseProcStatus, Qt as BaseAddon, Tt as hfModelUrl, Ut as resolvePoolMemoryPolicy, Z as PoolMemoryWatchdog, yt as embeddingEncoderCapability } from "../dist-D0jvZ8dq.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -1,8 +1,8 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
2
2
  import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
3
- import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BZetaopl.mjs";
3
+ import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B62fofgN.mjs";
4
4
  import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
5
- import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-B7oKeWXX.mjs";
5
+ import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BwQ85CFd.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
7
7
  var v = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), y = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), x = (e) => {
8
8
  let t = b(e);
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.250",
21
+ version: "1.2.252",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.201",
36
+ version: "1.2.202",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",