@zerotal/monitor 1.8.0 → 1.9.0

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/CHANGELOG.md CHANGED
@@ -8,6 +8,28 @@ follows the Zerotal monorepo's unified versioning.
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [1.9.0] — 2026-08-29
12
+
13
+ ### Added
14
+
15
+ - **The snapshot shape is documented.** **Export JSON** hands you a `MonitorSnapshot` — the whole
16
+ panel for a range, as data — and none of the forty-odd row types it is built from was named
17
+ anywhere. `docs/monitor.md` now maps every field to its row type, which is what you need to
18
+ post one somewhere, diff two of them, or drive an alerting integration off it rather than off
19
+ the built-in thresholds.
20
+
21
+ - **Section contributions can be typed.** `MonitorSection`, `MonitorSectionData`, `MonitorStat`,
22
+ `MonitorTable`, `MonitorTableColumn` and `MonitorRow` are documented. Declaring the host's
23
+ shape locally stays the recommended path — it is what keeps a contributing package free of any
24
+ dependency on the monitor — but a large `resolve` is better served by a typo in a column key
25
+ being a compile error than a blank cell.
26
+
27
+ ### Changed
28
+
29
+ - **INTERNAL: `MonitorLayout`, `MonitorPage` and `MonitorPanelHost` are marked `@internal`.**
30
+ The panel's own shell. Still exported, still working; a contributor pushes a section into the
31
+ host binding rather than constructing any of them.
32
+
11
33
  ## [1.6.0] — 2026-08-15
12
34
 
13
35
  ### Fixed
package/api-surface.md CHANGED
@@ -314,11 +314,6 @@ interface MonitorConfigShape = {
314
314
  zerotalVersion?: string
315
315
  }
316
316
 
317
- interface MonitorPanelHost = {
318
- enabled: (id: string) => boolean
319
- section: (section: MonitorSection) => void
320
- }
321
-
322
317
  interface MonitorSection = {
323
318
  group?: string
324
319
  icon?: string
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerotal/monitor",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "license": "MIT",
5
5
  "maturity": "stable",
6
6
  "private": false,
@@ -30,14 +30,14 @@
30
30
  "typecheck": "tsc --noEmit"
31
31
  },
32
32
  "dependencies": {
33
- "@zerotal/core": "1.8.0",
34
- "@zerotal/flow-ui": "1.8.0",
35
- "@zerotal/flow": "1.8.0"
33
+ "@zerotal/core": "1.9.0",
34
+ "@zerotal/flow-ui": "1.9.0",
35
+ "@zerotal/flow": "1.9.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@zerotal/queue": "1.8.0",
39
- "@zerotal/scheduler": "1.8.0",
40
- "@zerotal/telemetry": "1.8.0"
38
+ "@zerotal/queue": "1.9.0",
39
+ "@zerotal/scheduler": "1.9.0",
40
+ "@zerotal/telemetry": "1.9.0"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@zerotal/queue": "^1.0.0",
package/src/panel.ts CHANGED
@@ -99,6 +99,8 @@ export interface MonitorSection {
99
99
  *
100
100
  * Contributors should declare their own minimal copy of the members they use
101
101
  * rather than importing this type, so they depend on this package not at all.
102
+ *
103
+ * @internal
102
104
  */
103
105
  export interface MonitorPanelHost {
104
106
  /**
@@ -31,6 +31,7 @@ const MONITOR_TOKENS = `
31
31
  }
32
32
  `.trim();
33
33
 
34
+ /** @internal */
34
35
  export class MonitorLayout extends Layout {
35
36
  static override get head(): string {
36
37
  return flowUiHead("Zerotal · Monitor", { tokensCss: MONITOR_TOKENS });
@@ -121,6 +121,8 @@ const FEED_PER_PAGE = 12;
121
121
  * `super-panel.html` built on Flow. Eight tabs (Overview, Requests,
122
122
  * Exceptions, Queues, Mail, Database, Cache, System) render from a live
123
123
  * {@link MonitorSnapshot}; interactions round-trip over the Flow WebSocket.
124
+ *
125
+ * @internal
124
126
  */
125
127
  export class MonitorPage extends Component {
126
128
  static layout = MonitorLayout;