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 CHANGED
@@ -1,40 +1,138 @@
1
1
  # MirrorNeuron Web UI
2
2
 
3
- This is a modern Web UI for MirrorNeuron built with React, Vite, Tailwind CSS, and React Flow.
3
+ Browser interface for inspecting a MirrorNeuron runtime through the REST API.
4
4
 
5
- It connects to the MirrorNeuron HTTP REST API to provide a rich dashboard, job inspection, live multi-agent layout graph, and real-time communication logs.
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
- - **Dashboard:** Cluster nodes overview, executor pool stats, and active jobs.
10
- - **Jobs:** List of all completed, running, and pending jobs.
11
- - **Job Details:**
12
- - **Graph View:** Visual layout of agents and their connections based on `outbound_edges` using React Flow.
13
- - **Agents:** Table view of all agents with mailbox depths and statuses.
14
- - **Communication Logs:** Real-time stream of agent communication and system events.
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
- ## Running
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
- The Web UI runs on the same machine as your MirrorNeuron instance.
37
+ ## Prerequisites
20
38
 
21
- 1. Ensure the MirrorNeuron REST API is running (the standalone `mn-api` service uses port 4001 by default).
22
- 2. Install dependencies for the Web UI:
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
- The application will be available at `http://localhost:5173`.
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 is configured to expose `MN_` vars to the browser build:
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
- - `MN_WEB_API_BASE_URL`: REST API base URL, default `/api/v1`.
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.