@xyo-network/xl1-system-status 4.0.12 → 4.0.14

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 (2) hide show
  1. package/README.md +111 -11
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,16 +1,116 @@
1
+ [![logo][]](https://xyo.network)
2
+
1
3
  # @xyo-network/xl1-system-status
2
4
 
3
- System status publishers for XYO Layer One.
5
+ [![npm-badge][]][npm-link]
6
+ [![license-badge][]][license-link]
7
+
8
+ > Console and HTTP system-status publishers for XL1 services.
9
+
10
+ ## Description
11
+
12
+ XL1 is the XYO Layer One blockchain protocol. This package publishes
13
+ `SystemStatusRunner` state to operational sinks: console logs and HTTP health
14
+ endpoints.
15
+
16
+ It does not own the status model itself. The runner, viewer, and protocol
17
+ interfaces live in `@xyo-network/xl1-protocol/protocol-lib`.
18
+
19
+ ## Install
20
+
21
+ Using npm:
22
+
23
+ ```sh
24
+ npm i --save @xyo-network/xl1-system-status
25
+ ```
26
+
27
+ Using yarn:
28
+
29
+ ```sh
30
+ yarn add @xyo-network/xl1-system-status
31
+ ```
32
+
33
+ Using pnpm:
34
+
35
+ ```sh
36
+ pnpm add @xyo-network/xl1-system-status
37
+ ```
38
+
39
+ Using bun:
40
+
41
+ ```sh
42
+ bun add @xyo-network/xl1-system-status
43
+ ```
44
+
45
+ ## Usage
46
+
47
+ Publish status to Kubernetes-style HTTP probes:
48
+
49
+ ```ts
50
+ import { HttpSystemStatusPublisher } from '@xyo-network/xl1-system-status'
51
+
52
+ const publisher = new HttpSystemStatusPublisher(statusRunner, { port: 8081 })
53
+
54
+ await publisher.start()
55
+ ```
56
+
57
+ Available HTTP endpoints:
58
+
59
+ - `/healthz` - 200 when global status is `started`.
60
+ - `/livez` - 200 while the process is running.
61
+ - `/readyz` - 200 when ready, 503 during startup or shutdown.
62
+ - `/status` - JSON status snapshot.
63
+
64
+ ## Documentation
65
+
66
+ Exports include:
67
+
68
+ - `ConsoleSystemStatusPublisher` - logs global status transitions.
69
+ - `HttpSystemStatusPublisher` - serves health endpoints and logs transitions.
70
+ - `resolveStatusProbe` - pure probe routing helper for tests and alternate servers.
71
+
72
+ Publishers are plain start/stop observers. They do not report their own
73
+ lifecycle into the runner, so they cannot make `/healthz` pass before the real
74
+ service stack has started.
75
+
76
+ ## AI Agent Skills
77
+
78
+ Install the recommended XL1/XYO skills with [Skills.sh](https://skills.sh):
79
+
80
+ ```sh
81
+ npx skills add XYOracleNetwork/xyo-skills --all
82
+ ```
83
+
84
+ In XY toolchain repos, the equivalent convenience command is:
85
+
86
+ ```sh
87
+ pnpm xy skills defaults
88
+ pnpm xy skills lint --fix
89
+ ```
90
+
91
+ For XL1 work, ask your agent to use `xyo-knowledge`, `xl1-knowledge`, and
92
+ `xl1-patterns`. These skills cover XYO primitives, XL1 chain and gateway APIs,
93
+ and application patterns for XL1 dApps.
94
+
95
+ ## Building Locally
96
+
97
+ ```sh
98
+ pnpm xy build @xyo-network/xl1-system-status
99
+ pnpm xy test @xyo-network/xl1-system-status
100
+ pnpm xy lint @xyo-network/xl1-system-status
101
+ ```
102
+
103
+ ## License
104
+
105
+ See the [LICENSE](./LICENSE) file for license rights and limitations
106
+ (LGPL-3.0-only).
4
107
 
5
- The status model itself — the `SystemStatusRunner` hub, the `SystemStatusViewer`
6
- read facade, and their interfaces — lives in `@xyo-network/xl1-protocol-lib` and
7
- `@xyo-network/xl1-protocol-sdk`. This package provides the **publishers** that
8
- emit that status outward:
108
+ ## Credits
9
109
 
10
- - `ConsoleSystemStatusPublisher` — logs global status transitions via a logger.
11
- - `HttpSystemStatusPublisher` — serves Kubernetes-style probes (`/healthz`,
12
- `/livez`, `/readyz`) plus a `/status` JSON snapshot over `node:http`.
110
+ [Made with 🔥 and ❄️ by XYO Foundation](https://xyo.network)
13
111
 
14
- Both are plain start/stop observers (not creatable providers): they read the
15
- Runner and never report their own lifecycle into it, so they cannot skew the
16
- aggregate status (no false `/healthz` 200).
112
+ [npm-badge]: https://img.shields.io/npm/v/@xyo-network/xl1-system-status.svg
113
+ [npm-link]: https://www.npmjs.com/package/@xyo-network/xl1-system-status
114
+ [license-badge]: https://img.shields.io/npm/l/@xyo-network/xl1-system-status.svg
115
+ [license-link]: ./LICENSE
116
+ [logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/xl1-system-status",
4
- "version": "4.0.12",
4
+ "version": "4.0.14",
5
5
  "description": "XYO Layer One system status publishers (console + HTTP health endpoints)",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -35,11 +35,13 @@
35
35
  "README.md"
36
36
  ],
37
37
  "dependencies": {
38
- "@xyo-network/xl1-protocol": "~4.0.12"
38
+ "@xyo-network/xl1-protocol": "~4.0.14"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@ariestools/sdk": "~8.0.3",
42
42
  "@ariestools/threads": "~8.0.3",
43
+ "@ariestools/toolchain": "~8.6.12",
44
+ "@ariestools/tsconfig": "~8.6.12",
43
45
  "@bitauth/libauth": "~3.0.0",
44
46
  "@metamask/json-rpc-engine": "~10.5.0",
45
47
  "@metamask/providers": "~22.1.1",
@@ -48,8 +50,6 @@
48
50
  "@opentelemetry/sdk-trace-base": "~2.9.0",
49
51
  "@scure/base": "~2.2.0",
50
52
  "@scure/bip39": "~2.2.0",
51
- "@xylabs/toolchain": "~8.6.10",
52
- "@xylabs/tsconfig": "~8.6.10",
53
53
  "@xyo-network/sdk": "~7.0.11",
54
54
  "@xyo-network/sdk-protocol": "~7.0.15",
55
55
  "ajv": "~8.20.0",
@@ -65,7 +65,7 @@
65
65
  "vitest": "~4.1.10",
66
66
  "webextension-polyfill": "~0.12.0",
67
67
  "zod": "~4.4.3",
68
- "@xyo-network/xl1-sdk": "~4.0.12"
68
+ "@xyo-network/xl1-sdk": "~4.0.14"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "@ariestools/sdk": "^8.0.3",