Jarvix Hub
A small background daemon that knows what every node in a mesh is doing. Agents report their own lifecycle to it, and it turns those reports into one state per node.
Node states
| State | Meaning |
|---|---|
starting |
Pane is up, agent has not reported yet |
idle |
Waiting for input |
working |
Handling a prompt |
blocked |
Waiting on you, for example a permission prompt. Flagged as needing attention |
dead |
Session ended or the pane is gone |
How it works
- When a mesh starts, each agent is launched with hooks that forward its lifecycle events to the hub.
- The hub listens on a local socket and updates the node's state on each event.
- In the background it also checks the panes. If a pane vanishes, the node becomes
dead. If a permission dialog disappears without any event (for example you denied it), the node goes back toidle. - State and recent events are kept on disk, so a restarted hub picks up where it left off.
Hooks never break the agent: if the hub is down, the event is dropped silently.
Using it
The hub is run for you by the CLI. Bring a mesh up, look at it, and take it down:
jarvix mesh up --node planner --node coder --cwd ~/my-project
jarvix mesh attach # watch the nodes in tmux (detach with ctrl-b d)
jarvix status # state of every node
jarvix logs coder -n 20 # recent events for one node
jarvix mesh logs -f # follow the hub's own log
jarvix mesh down # stop the hub and kill the panes
Use --mesh <name> on any command to run several meshes side by side. jarvix status --json gives machine-readable output.
Where things live
Per mesh, under ~/.local/state/jarvix/<mesh>/: the socket, database, pid file, and hub log. Set JARVIX_HOME to move the root.
Tests
uv run pytest packages/hub/tests
Metadata
Release files for jarvix-hub 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jarvix_hub-0.1.0.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jarvix_hub-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / jarvix_hub-0.1.0.tar.gz
| Download URL | jarvix_hub-0.1.0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
514c397871f90b566c62fe750af77536ba189eebc9ae51ec31fa76c6ced8b589
|
|
BLAKE2b-256 checksum How to use checksums |
6efdd286b0dadff25c0f99969ccb795b18a912146ad67acfedd9fa397f4a6e0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Release files / jarvix_hub-0.1.0-py3-none-any.whl
| Download URL | jarvix_hub-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9048b2d9ed31e63a636c467ccd98d9131a809286932596c59db92c543f0ed935
|
|
BLAKE2b-256 checksum How to use checksums |
d297ed060a3027179723d59e452f1cd0632fde3318036438e9cbd129256f7e62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|