@camstack/addon-provider-homematic 1.2.33 → 1.2.34

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
@@ -28478,17 +28478,60 @@ var SetSiteLocationInputSchema = object({
28478
28478
  longitude: number().min(-180).max(180)
28479
28479
  }).nullable();
28480
28480
  /**
28481
- * One `(procedure, user-agent, ip, principal)` tuple of the HTTP request
28481
+ * The TRANSPORT a call arrived on.
28482
+ *
28483
+ * Every counted call carries exactly one of these, and `unknown` is a PLANE
28484
+ * rather than a gap: a plane that cannot attribute a call declares it here, so
28485
+ * the call lands in a named bucket instead of vanishing. `planes` summing to
28486
+ * `procedureCalls` is what makes "the sum of the planes explains the total"
28487
+ * checkable rather than asserted.
28488
+ *
28489
+ * - `http` — the Fastify tRPC plugin (`/trpc/*`), one context per request.
28490
+ * - `ws` — `applyWSSHandler`, counted per OPERATION rather than per
28491
+ * connection; the viewer talks to the hub over `wsLink`
28492
+ * exclusively, so this is the plane the HTTP census could not see.
28493
+ * - `mesh` — the in-process `$core-caps` bridge (`createCaller`), which
28494
+ * never touches a socket and therefore never touched a census.
28495
+ * - `unknown` — counted, plane undecidable. No hook produces it today, and
28496
+ * that is exactly what its `0` asserts: every plane the hub has can name
28497
+ * itself. It is an output bucket, never a knob — a call that arrives on a
28498
+ * plane nobody instrumented lands here instead of vanishing from the total.
28499
+ */
28500
+ var TransportPlaneSchema = _enum([
28501
+ "http",
28502
+ "ws",
28503
+ "mesh",
28504
+ "unknown"
28505
+ ]);
28506
+ /**
28507
+ * Calls per plane. Every key is always present, `0` included — an absent plane
28508
+ * reads as "not instrumented", which is the one thing this census must never
28509
+ * make an operator wonder about.
28510
+ */
28511
+ var TransportPlaneCountsSchema = object({
28512
+ http: number(),
28513
+ ws: number(),
28514
+ mesh: number(),
28515
+ unknown: number()
28516
+ });
28517
+ /**
28518
+ * One `(plane, procedure, user-agent, ip, principal)` tuple of the transport
28482
28519
  * census. `principal` is the DERIVED identity (`apocaliss92 (admin)`,
28483
28520
  * `scoped:1a2b3c4d (scoped-token)`, `anonymous`) that the tRPC error log
28484
28521
  * already prints - never a token, never an `Authorization` header.
28522
+ *
28523
+ * `subscriptions` is counted APART from `calls`: a subscription is opened once
28524
+ * and lives for hours, so folding it into a call count makes one long-lived
28525
+ * stream look like a storm.
28485
28526
  */
28486
28527
  var RequestCensusGroupSchema = object({
28528
+ plane: TransportPlaneSchema,
28487
28529
  procedure: string(),
28488
28530
  userAgent: string(),
28489
28531
  ip: string(),
28490
28532
  principal: string(),
28491
28533
  calls: number(),
28534
+ subscriptions: number(),
28492
28535
  perMin: number()
28493
28536
  });
28494
28537
  /**
@@ -28501,6 +28544,14 @@ var RequestCensusGroupSchema = object({
28501
28544
  var RequestCensusProcedureSchema = object({
28502
28545
  procedure: string(),
28503
28546
  calls: number(),
28547
+ /**
28548
+ * The same total, split by transport. THIS is the row that answers the
28549
+ * question the census exists for: one look at `deviceManager.listAll` says
28550
+ * which plane carried the 4 960, without joining two log lines by eye.
28551
+ */
28552
+ planes: TransportPlaneCountsSchema,
28553
+ /** Subscription STARTS on this procedure. Never folded into `calls`. */
28554
+ subscriptions: number(),
28504
28555
  perMin: number()
28505
28556
  });
28506
28557
  /**
@@ -28528,14 +28579,45 @@ var RequestCensusStatusSchema = object({
28528
28579
  */
28529
28580
  procedureCalls: number(),
28530
28581
  /**
28582
+ * `procedureCalls` split by transport. The four keys sum to
28583
+ * `procedureCalls` by construction - {@link RequestCensusSnapshotSchema}'s
28584
+ * `planesExplainTotal` is that identity, checked rather than assumed.
28585
+ */
28586
+ planes: TransportPlaneCountsSchema,
28587
+ /**
28588
+ * True iff `planes` sums to `procedureCalls`. False means a call was counted
28589
+ * on no plane at all - which is a RESULT (a plane is missing from the
28590
+ * instrument), not a failure, and it has to be visible to be read as one.
28591
+ */
28592
+ planesExplainTotal: boolean(),
28593
+ /**
28531
28594
  * tRPC WebSocket connections opened during the window. NOT calls - the WS
28532
- * transport resolves one context per connection - but the number that says
28533
- * whether a plane this census cannot see was busy while HTTP was quiet.
28595
+ * adapter resolves one context per connection - kept because a plane's call
28596
+ * count of zero against 37 open connections says something different from a
28597
+ * plane with no connections at all.
28534
28598
  */
28535
28599
  wsConnections: number(),
28600
+ /**
28601
+ * Client frames the WS plane looked at. `wsMessages` far above
28602
+ * `planes.ws + subscriptions` means most traffic is not operations
28603
+ * (keepalives, connection params) - which is itself an answer.
28604
+ */
28605
+ wsMessages: number(),
28606
+ /**
28607
+ * Subscription STARTS across every plane, excluded from `procedureCalls` on
28608
+ * purpose: one live-events stream opened at boot and held for six hours is
28609
+ * one subscription, and counting it as a call would let a quiet plane
28610
+ * masquerade as the storm.
28611
+ */
28612
+ subscriptions: number(),
28613
+ /** `subscription.stop` frames. Starts minus stops is what is still open. */
28614
+ subscriptionStops: number(),
28536
28615
  distinctGroups: number(),
28537
- /** Calls counted in the totals whose group attribution was shed at the
28538
- * cardinality bound. */
28616
+ /**
28617
+ * Operations counted in the totals whose CALLER attribution was shed at the
28618
+ * cardinality bound. Unrelated to the `unknown` PLANE: these calls know
28619
+ * which transport they arrived on, they just lost their group row.
28620
+ */
28539
28621
  unattributedCalls: number(),
28540
28622
  procedures: array(RequestCensusProcedureSchema).readonly(),
28541
28623
  groups: array(RequestCensusGroupSchema).readonly()
package/dist/addon.mjs CHANGED
@@ -28479,17 +28479,60 @@ var SetSiteLocationInputSchema = object({
28479
28479
  longitude: number().min(-180).max(180)
28480
28480
  }).nullable();
28481
28481
  /**
28482
- * One `(procedure, user-agent, ip, principal)` tuple of the HTTP request
28482
+ * The TRANSPORT a call arrived on.
28483
+ *
28484
+ * Every counted call carries exactly one of these, and `unknown` is a PLANE
28485
+ * rather than a gap: a plane that cannot attribute a call declares it here, so
28486
+ * the call lands in a named bucket instead of vanishing. `planes` summing to
28487
+ * `procedureCalls` is what makes "the sum of the planes explains the total"
28488
+ * checkable rather than asserted.
28489
+ *
28490
+ * - `http` — the Fastify tRPC plugin (`/trpc/*`), one context per request.
28491
+ * - `ws` — `applyWSSHandler`, counted per OPERATION rather than per
28492
+ * connection; the viewer talks to the hub over `wsLink`
28493
+ * exclusively, so this is the plane the HTTP census could not see.
28494
+ * - `mesh` — the in-process `$core-caps` bridge (`createCaller`), which
28495
+ * never touches a socket and therefore never touched a census.
28496
+ * - `unknown` — counted, plane undecidable. No hook produces it today, and
28497
+ * that is exactly what its `0` asserts: every plane the hub has can name
28498
+ * itself. It is an output bucket, never a knob — a call that arrives on a
28499
+ * plane nobody instrumented lands here instead of vanishing from the total.
28500
+ */
28501
+ var TransportPlaneSchema = _enum([
28502
+ "http",
28503
+ "ws",
28504
+ "mesh",
28505
+ "unknown"
28506
+ ]);
28507
+ /**
28508
+ * Calls per plane. Every key is always present, `0` included — an absent plane
28509
+ * reads as "not instrumented", which is the one thing this census must never
28510
+ * make an operator wonder about.
28511
+ */
28512
+ var TransportPlaneCountsSchema = object({
28513
+ http: number(),
28514
+ ws: number(),
28515
+ mesh: number(),
28516
+ unknown: number()
28517
+ });
28518
+ /**
28519
+ * One `(plane, procedure, user-agent, ip, principal)` tuple of the transport
28483
28520
  * census. `principal` is the DERIVED identity (`apocaliss92 (admin)`,
28484
28521
  * `scoped:1a2b3c4d (scoped-token)`, `anonymous`) that the tRPC error log
28485
28522
  * already prints - never a token, never an `Authorization` header.
28523
+ *
28524
+ * `subscriptions` is counted APART from `calls`: a subscription is opened once
28525
+ * and lives for hours, so folding it into a call count makes one long-lived
28526
+ * stream look like a storm.
28486
28527
  */
28487
28528
  var RequestCensusGroupSchema = object({
28529
+ plane: TransportPlaneSchema,
28488
28530
  procedure: string(),
28489
28531
  userAgent: string(),
28490
28532
  ip: string(),
28491
28533
  principal: string(),
28492
28534
  calls: number(),
28535
+ subscriptions: number(),
28493
28536
  perMin: number()
28494
28537
  });
28495
28538
  /**
@@ -28502,6 +28545,14 @@ var RequestCensusGroupSchema = object({
28502
28545
  var RequestCensusProcedureSchema = object({
28503
28546
  procedure: string(),
28504
28547
  calls: number(),
28548
+ /**
28549
+ * The same total, split by transport. THIS is the row that answers the
28550
+ * question the census exists for: one look at `deviceManager.listAll` says
28551
+ * which plane carried the 4 960, without joining two log lines by eye.
28552
+ */
28553
+ planes: TransportPlaneCountsSchema,
28554
+ /** Subscription STARTS on this procedure. Never folded into `calls`. */
28555
+ subscriptions: number(),
28505
28556
  perMin: number()
28506
28557
  });
28507
28558
  /**
@@ -28529,14 +28580,45 @@ var RequestCensusStatusSchema = object({
28529
28580
  */
28530
28581
  procedureCalls: number(),
28531
28582
  /**
28583
+ * `procedureCalls` split by transport. The four keys sum to
28584
+ * `procedureCalls` by construction - {@link RequestCensusSnapshotSchema}'s
28585
+ * `planesExplainTotal` is that identity, checked rather than assumed.
28586
+ */
28587
+ planes: TransportPlaneCountsSchema,
28588
+ /**
28589
+ * True iff `planes` sums to `procedureCalls`. False means a call was counted
28590
+ * on no plane at all - which is a RESULT (a plane is missing from the
28591
+ * instrument), not a failure, and it has to be visible to be read as one.
28592
+ */
28593
+ planesExplainTotal: boolean(),
28594
+ /**
28532
28595
  * tRPC WebSocket connections opened during the window. NOT calls - the WS
28533
- * transport resolves one context per connection - but the number that says
28534
- * whether a plane this census cannot see was busy while HTTP was quiet.
28596
+ * adapter resolves one context per connection - kept because a plane's call
28597
+ * count of zero against 37 open connections says something different from a
28598
+ * plane with no connections at all.
28535
28599
  */
28536
28600
  wsConnections: number(),
28601
+ /**
28602
+ * Client frames the WS plane looked at. `wsMessages` far above
28603
+ * `planes.ws + subscriptions` means most traffic is not operations
28604
+ * (keepalives, connection params) - which is itself an answer.
28605
+ */
28606
+ wsMessages: number(),
28607
+ /**
28608
+ * Subscription STARTS across every plane, excluded from `procedureCalls` on
28609
+ * purpose: one live-events stream opened at boot and held for six hours is
28610
+ * one subscription, and counting it as a call would let a quiet plane
28611
+ * masquerade as the storm.
28612
+ */
28613
+ subscriptions: number(),
28614
+ /** `subscription.stop` frames. Starts minus stops is what is still open. */
28615
+ subscriptionStops: number(),
28537
28616
  distinctGroups: number(),
28538
- /** Calls counted in the totals whose group attribution was shed at the
28539
- * cardinality bound. */
28617
+ /**
28618
+ * Operations counted in the totals whose CALLER attribution was shed at the
28619
+ * cardinality bound. Unrelated to the `unknown` PLANE: these calls know
28620
+ * which transport they arrived on, they just lost their group row.
28621
+ */
28540
28622
  unattributedCalls: number(),
28541
28623
  procedures: array(RequestCensusProcedureSchema).readonly(),
28542
28624
  groups: array(RequestCensusGroupSchema).readonly()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homematic",
3
- "version": "1.2.33",
3
+ "version": "1.2.34",
4
4
  "description": "Homematic / HomematicIP (CCU3 / RaspberryMatic) device-provider addon for CamStack — wraps the nodehomematic library",
5
5
  "keywords": [
6
6
  "camstack",