mirrorneuron-web-ui 1.0.1 → 1.1.1
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/README.md +124 -26
- package/dist/assets/index-1DbpxQ2E.js +63 -0
- package/dist/assets/index-DJ03SPWV.css +2 -0
- package/dist/index.html +2 -2
- package/package.json +4 -2
- package/dist/assets/index-C-M7U-i8.css +0 -2
- package/dist/assets/index-DXuhm0ed.js +0 -63
package/README.md
CHANGED
|
@@ -1,40 +1,138 @@
|
|
|
1
1
|
# MirrorNeuron Web UI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Browser interface for inspecting a MirrorNeuron runtime through the REST API.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The Web UI shows runtime state, job history, job details, agent graphs, events, and raw manifest submission screens.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- **Run Job:** Web-based interface to submit a raw JSON manifest.
|
|
9
|
+
- Runtime dashboard with node and executor-pool status.
|
|
10
|
+
- Job list for active, completed, and pending jobs.
|
|
11
|
+
- Job detail pages with status, agent graph, agent table, and event stream.
|
|
12
|
+
- Dead-letter and communication-log inspection where available from the API.
|
|
13
|
+
- Raw JSON manifest submission.
|
|
14
|
+
- Development proxy to the local `mn-api` service.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Demo and Screenshots
|
|
17
|
+
|
|
18
|
+
Screenshots or GIFs should be added here when the UI stabilizes:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
docs/images/web-ui-dashboard.png
|
|
22
|
+
docs/images/web-ui-job-detail.png
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Tech Stack
|
|
26
|
+
|
|
27
|
+
| Area | Tooling |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| Runtime | Node.js and npm |
|
|
30
|
+
| Framework | React |
|
|
31
|
+
| Build tool | Vite |
|
|
32
|
+
| Styling | Tailwind CSS |
|
|
33
|
+
| Graph view | React Flow |
|
|
34
|
+
| Tests | Vitest |
|
|
35
|
+
| Packaging | npm package `mirrorneuron-web-ui` |
|
|
18
36
|
|
|
19
|
-
|
|
37
|
+
## Prerequisites
|
|
20
38
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm install
|
|
25
|
-
```
|
|
26
|
-
3. Start the Web UI in development mode (which proxies `/api` to `localhost:4001` by default):
|
|
27
|
-
```bash
|
|
28
|
-
npm run dev
|
|
29
|
-
```
|
|
39
|
+
- Node.js and npm.
|
|
40
|
+
- A running MirrorNeuron API. The default local API is `http://localhost:4001/api/v1`.
|
|
30
41
|
|
|
31
|
-
|
|
42
|
+
## Installation
|
|
43
|
+
|
|
44
|
+
For local development:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The released-package installer installs the published npm package automatically when Web UI installation is enabled.
|
|
32
51
|
|
|
33
52
|
## Configuration
|
|
34
53
|
|
|
35
|
-
Vite
|
|
54
|
+
Vite exposes `MN_` environment variables to the browser build.
|
|
55
|
+
|
|
56
|
+
| Variable | Default | Description |
|
|
57
|
+
| --- | --- | --- |
|
|
58
|
+
| `MN_WEB_API_BASE_URL` | `/api/v1` | REST API base URL used by the browser. |
|
|
59
|
+
| `MN_WEB_API_TOKEN` | unset | Optional bearer token for protected API instances. |
|
|
60
|
+
| `MN_WEB_UI_HOST` | `localhost` | Development server bind host. |
|
|
61
|
+
| `MN_API_HOST` | `localhost` | Development proxy API host. |
|
|
62
|
+
| `MN_API_PORT` | `4001` | Development proxy API port. |
|
|
63
|
+
|
|
64
|
+
## Running
|
|
65
|
+
|
|
66
|
+
Start the API first:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
mn-api
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Start the Web UI in development mode:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm run dev
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Open:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
http://localhost:5173
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Build
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm run build
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Preview the production build:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm run preview
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Testing and Linting
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npm run lint
|
|
100
|
+
npm test -- --run
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Package Publishing
|
|
104
|
+
|
|
105
|
+
Stable SemVer tags publish to npm through GitHub Actions Trusted Publishing after the release workflow succeeds. Prerelease tags create GitHub prereleases and skip npm by default.
|
|
106
|
+
|
|
107
|
+
The npm package is:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
mirrorneuron-web-ui
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Deployment
|
|
114
|
+
|
|
115
|
+
The standard deployment path is `mn-deploy/install_new.sh`. It installs the npm package, copies the built `dist/` output into the local Web UI install directory, and starts it through `mn start`.
|
|
116
|
+
|
|
117
|
+
For custom deployments:
|
|
118
|
+
|
|
119
|
+
1. Build the app with `npm run build`.
|
|
120
|
+
2. Serve the generated `dist/` directory with a static file server.
|
|
121
|
+
3. Point `MN_WEB_API_BASE_URL` at the API path available to the browser.
|
|
122
|
+
|
|
123
|
+
## Troubleshooting
|
|
124
|
+
|
|
125
|
+
| Symptom | Check |
|
|
126
|
+
| --- | --- |
|
|
127
|
+
| UI loads but API calls fail | Confirm `mn-api` is running and the dev proxy target matches `MN_API_HOST` and `MN_API_PORT`. |
|
|
128
|
+
| Protected API returns unauthorized | Set `MN_WEB_API_TOKEN`. |
|
|
129
|
+
| Graph page is empty | Confirm the selected job has graph data available from the API. |
|
|
130
|
+
| Build fails on type errors | Run `npm run lint` and `npm test -- --run` before `npm run build`. |
|
|
131
|
+
|
|
132
|
+
## Contributing
|
|
133
|
+
|
|
134
|
+
Keep UI changes aligned with the REST API contract. Add or update Vitest coverage for data loading, rendering states, and user actions.
|
|
135
|
+
|
|
136
|
+
## License
|
|
36
137
|
|
|
37
|
-
|
|
38
|
-
- `MN_WEB_API_TOKEN`: optional bearer token for protected API instances.
|
|
39
|
-
- `MN_WEB_UI_HOST`: Vite dev server bind host, default `localhost`.
|
|
40
|
-
- `MN_API_HOST`, `MN_API_PORT`: Vite proxy target, default `localhost:4001`.
|
|
138
|
+
MIT.
|