@camstack/addon-provider-velux 0.2.32 → 0.2.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -28403,17 +28403,60 @@ var SetSiteLocationInputSchema = object({
28403
28403
  longitude: number().min(-180).max(180)
28404
28404
  }).nullable();
28405
28405
  /**
28406
- * One `(procedure, user-agent, ip, principal)` tuple of the HTTP request
28406
+ * The TRANSPORT a call arrived on.
28407
+ *
28408
+ * Every counted call carries exactly one of these, and `unknown` is a PLANE
28409
+ * rather than a gap: a plane that cannot attribute a call declares it here, so
28410
+ * the call lands in a named bucket instead of vanishing. `planes` summing to
28411
+ * `procedureCalls` is what makes "the sum of the planes explains the total"
28412
+ * checkable rather than asserted.
28413
+ *
28414
+ * - `http` — the Fastify tRPC plugin (`/trpc/*`), one context per request.
28415
+ * - `ws` — `applyWSSHandler`, counted per OPERATION rather than per
28416
+ * connection; the viewer talks to the hub over `wsLink`
28417
+ * exclusively, so this is the plane the HTTP census could not see.
28418
+ * - `mesh` — the in-process `$core-caps` bridge (`createCaller`), which
28419
+ * never touches a socket and therefore never touched a census.
28420
+ * - `unknown` — counted, plane undecidable. No hook produces it today, and
28421
+ * that is exactly what its `0` asserts: every plane the hub has can name
28422
+ * itself. It is an output bucket, never a knob — a call that arrives on a
28423
+ * plane nobody instrumented lands here instead of vanishing from the total.
28424
+ */
28425
+ var TransportPlaneSchema = _enum([
28426
+ "http",
28427
+ "ws",
28428
+ "mesh",
28429
+ "unknown"
28430
+ ]);
28431
+ /**
28432
+ * Calls per plane. Every key is always present, `0` included — an absent plane
28433
+ * reads as "not instrumented", which is the one thing this census must never
28434
+ * make an operator wonder about.
28435
+ */
28436
+ var TransportPlaneCountsSchema = object({
28437
+ http: number(),
28438
+ ws: number(),
28439
+ mesh: number(),
28440
+ unknown: number()
28441
+ });
28442
+ /**
28443
+ * One `(plane, procedure, user-agent, ip, principal)` tuple of the transport
28407
28444
  * census. `principal` is the DERIVED identity (`apocaliss92 (admin)`,
28408
28445
  * `scoped:1a2b3c4d (scoped-token)`, `anonymous`) that the tRPC error log
28409
28446
  * already prints - never a token, never an `Authorization` header.
28447
+ *
28448
+ * `subscriptions` is counted APART from `calls`: a subscription is opened once
28449
+ * and lives for hours, so folding it into a call count makes one long-lived
28450
+ * stream look like a storm.
28410
28451
  */
28411
28452
  var RequestCensusGroupSchema = object({
28453
+ plane: TransportPlaneSchema,
28412
28454
  procedure: string(),
28413
28455
  userAgent: string(),
28414
28456
  ip: string(),
28415
28457
  principal: string(),
28416
28458
  calls: number(),
28459
+ subscriptions: number(),
28417
28460
  perMin: number()
28418
28461
  });
28419
28462
  /**
@@ -28426,6 +28469,14 @@ var RequestCensusGroupSchema = object({
28426
28469
  var RequestCensusProcedureSchema = object({
28427
28470
  procedure: string(),
28428
28471
  calls: number(),
28472
+ /**
28473
+ * The same total, split by transport. THIS is the row that answers the
28474
+ * question the census exists for: one look at `deviceManager.listAll` says
28475
+ * which plane carried the 4 960, without joining two log lines by eye.
28476
+ */
28477
+ planes: TransportPlaneCountsSchema,
28478
+ /** Subscription STARTS on this procedure. Never folded into `calls`. */
28479
+ subscriptions: number(),
28429
28480
  perMin: number()
28430
28481
  });
28431
28482
  /**
@@ -28453,14 +28504,45 @@ var RequestCensusStatusSchema = object({
28453
28504
  */
28454
28505
  procedureCalls: number(),
28455
28506
  /**
28507
+ * `procedureCalls` split by transport. The four keys sum to
28508
+ * `procedureCalls` by construction - {@link RequestCensusSnapshotSchema}'s
28509
+ * `planesExplainTotal` is that identity, checked rather than assumed.
28510
+ */
28511
+ planes: TransportPlaneCountsSchema,
28512
+ /**
28513
+ * True iff `planes` sums to `procedureCalls`. False means a call was counted
28514
+ * on no plane at all - which is a RESULT (a plane is missing from the
28515
+ * instrument), not a failure, and it has to be visible to be read as one.
28516
+ */
28517
+ planesExplainTotal: boolean(),
28518
+ /**
28456
28519
  * tRPC WebSocket connections opened during the window. NOT calls - the WS
28457
- * transport resolves one context per connection - but the number that says
28458
- * whether a plane this census cannot see was busy while HTTP was quiet.
28520
+ * adapter resolves one context per connection - kept because a plane's call
28521
+ * count of zero against 37 open connections says something different from a
28522
+ * plane with no connections at all.
28459
28523
  */
28460
28524
  wsConnections: number(),
28525
+ /**
28526
+ * Client frames the WS plane looked at. `wsMessages` far above
28527
+ * `planes.ws + subscriptions` means most traffic is not operations
28528
+ * (keepalives, connection params) - which is itself an answer.
28529
+ */
28530
+ wsMessages: number(),
28531
+ /**
28532
+ * Subscription STARTS across every plane, excluded from `procedureCalls` on
28533
+ * purpose: one live-events stream opened at boot and held for six hours is
28534
+ * one subscription, and counting it as a call would let a quiet plane
28535
+ * masquerade as the storm.
28536
+ */
28537
+ subscriptions: number(),
28538
+ /** `subscription.stop` frames. Starts minus stops is what is still open. */
28539
+ subscriptionStops: number(),
28461
28540
  distinctGroups: number(),
28462
- /** Calls counted in the totals whose group attribution was shed at the
28463
- * cardinality bound. */
28541
+ /**
28542
+ * Operations counted in the totals whose CALLER attribution was shed at the
28543
+ * cardinality bound. Unrelated to the `unknown` PLANE: these calls know
28544
+ * which transport they arrived on, they just lost their group row.
28545
+ */
28464
28546
  unattributedCalls: number(),
28465
28547
  procedures: array(RequestCensusProcedureSchema).readonly(),
28466
28548
  groups: array(RequestCensusGroupSchema).readonly()
package/dist/addon.mjs CHANGED
@@ -28402,17 +28402,60 @@ var SetSiteLocationInputSchema = object({
28402
28402
  longitude: number().min(-180).max(180)
28403
28403
  }).nullable();
28404
28404
  /**
28405
- * One `(procedure, user-agent, ip, principal)` tuple of the HTTP request
28405
+ * The TRANSPORT a call arrived on.
28406
+ *
28407
+ * Every counted call carries exactly one of these, and `unknown` is a PLANE
28408
+ * rather than a gap: a plane that cannot attribute a call declares it here, so
28409
+ * the call lands in a named bucket instead of vanishing. `planes` summing to
28410
+ * `procedureCalls` is what makes "the sum of the planes explains the total"
28411
+ * checkable rather than asserted.
28412
+ *
28413
+ * - `http` — the Fastify tRPC plugin (`/trpc/*`), one context per request.
28414
+ * - `ws` — `applyWSSHandler`, counted per OPERATION rather than per
28415
+ * connection; the viewer talks to the hub over `wsLink`
28416
+ * exclusively, so this is the plane the HTTP census could not see.
28417
+ * - `mesh` — the in-process `$core-caps` bridge (`createCaller`), which
28418
+ * never touches a socket and therefore never touched a census.
28419
+ * - `unknown` — counted, plane undecidable. No hook produces it today, and
28420
+ * that is exactly what its `0` asserts: every plane the hub has can name
28421
+ * itself. It is an output bucket, never a knob — a call that arrives on a
28422
+ * plane nobody instrumented lands here instead of vanishing from the total.
28423
+ */
28424
+ var TransportPlaneSchema = _enum([
28425
+ "http",
28426
+ "ws",
28427
+ "mesh",
28428
+ "unknown"
28429
+ ]);
28430
+ /**
28431
+ * Calls per plane. Every key is always present, `0` included — an absent plane
28432
+ * reads as "not instrumented", which is the one thing this census must never
28433
+ * make an operator wonder about.
28434
+ */
28435
+ var TransportPlaneCountsSchema = object({
28436
+ http: number(),
28437
+ ws: number(),
28438
+ mesh: number(),
28439
+ unknown: number()
28440
+ });
28441
+ /**
28442
+ * One `(plane, procedure, user-agent, ip, principal)` tuple of the transport
28406
28443
  * census. `principal` is the DERIVED identity (`apocaliss92 (admin)`,
28407
28444
  * `scoped:1a2b3c4d (scoped-token)`, `anonymous`) that the tRPC error log
28408
28445
  * already prints - never a token, never an `Authorization` header.
28446
+ *
28447
+ * `subscriptions` is counted APART from `calls`: a subscription is opened once
28448
+ * and lives for hours, so folding it into a call count makes one long-lived
28449
+ * stream look like a storm.
28409
28450
  */
28410
28451
  var RequestCensusGroupSchema = object({
28452
+ plane: TransportPlaneSchema,
28411
28453
  procedure: string(),
28412
28454
  userAgent: string(),
28413
28455
  ip: string(),
28414
28456
  principal: string(),
28415
28457
  calls: number(),
28458
+ subscriptions: number(),
28416
28459
  perMin: number()
28417
28460
  });
28418
28461
  /**
@@ -28425,6 +28468,14 @@ var RequestCensusGroupSchema = object({
28425
28468
  var RequestCensusProcedureSchema = object({
28426
28469
  procedure: string(),
28427
28470
  calls: number(),
28471
+ /**
28472
+ * The same total, split by transport. THIS is the row that answers the
28473
+ * question the census exists for: one look at `deviceManager.listAll` says
28474
+ * which plane carried the 4 960, without joining two log lines by eye.
28475
+ */
28476
+ planes: TransportPlaneCountsSchema,
28477
+ /** Subscription STARTS on this procedure. Never folded into `calls`. */
28478
+ subscriptions: number(),
28428
28479
  perMin: number()
28429
28480
  });
28430
28481
  /**
@@ -28452,14 +28503,45 @@ var RequestCensusStatusSchema = object({
28452
28503
  */
28453
28504
  procedureCalls: number(),
28454
28505
  /**
28506
+ * `procedureCalls` split by transport. The four keys sum to
28507
+ * `procedureCalls` by construction - {@link RequestCensusSnapshotSchema}'s
28508
+ * `planesExplainTotal` is that identity, checked rather than assumed.
28509
+ */
28510
+ planes: TransportPlaneCountsSchema,
28511
+ /**
28512
+ * True iff `planes` sums to `procedureCalls`. False means a call was counted
28513
+ * on no plane at all - which is a RESULT (a plane is missing from the
28514
+ * instrument), not a failure, and it has to be visible to be read as one.
28515
+ */
28516
+ planesExplainTotal: boolean(),
28517
+ /**
28455
28518
  * tRPC WebSocket connections opened during the window. NOT calls - the WS
28456
- * transport resolves one context per connection - but the number that says
28457
- * whether a plane this census cannot see was busy while HTTP was quiet.
28519
+ * adapter resolves one context per connection - kept because a plane's call
28520
+ * count of zero against 37 open connections says something different from a
28521
+ * plane with no connections at all.
28458
28522
  */
28459
28523
  wsConnections: number(),
28524
+ /**
28525
+ * Client frames the WS plane looked at. `wsMessages` far above
28526
+ * `planes.ws + subscriptions` means most traffic is not operations
28527
+ * (keepalives, connection params) - which is itself an answer.
28528
+ */
28529
+ wsMessages: number(),
28530
+ /**
28531
+ * Subscription STARTS across every plane, excluded from `procedureCalls` on
28532
+ * purpose: one live-events stream opened at boot and held for six hours is
28533
+ * one subscription, and counting it as a call would let a quiet plane
28534
+ * masquerade as the storm.
28535
+ */
28536
+ subscriptions: number(),
28537
+ /** `subscription.stop` frames. Starts minus stops is what is still open. */
28538
+ subscriptionStops: number(),
28460
28539
  distinctGroups: number(),
28461
- /** Calls counted in the totals whose group attribution was shed at the
28462
- * cardinality bound. */
28540
+ /**
28541
+ * Operations counted in the totals whose CALLER attribution was shed at the
28542
+ * cardinality bound. Unrelated to the `unknown` PLANE: these calls know
28543
+ * which transport they arrived on, they just lost their group row.
28544
+ */
28463
28545
  unattributedCalls: number(),
28464
28546
  procedures: array(RequestCensusProcedureSchema).readonly(),
28465
28547
  groups: array(RequestCensusGroupSchema).readonly()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-velux",
3
- "version": "0.2.32",
3
+ "version": "0.2.33",
4
4
  "description": "Velux KLF-200 device-provider addon for CamStack — local-gateway window + shutter covers (positional, no tilt)",
5
5
  "keywords": [
6
6
  "camstack",