trantor 0.17.12 → 0.17.13
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +56 -27
- package/package.json +1 -1
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Trantor — the hub-world for AI agent crews: live message bus, presence, project Kanban/flow board + context-handoff for independent AI coding agents (Claude, Codex, Gemini, …)",
|
|
9
|
-
"version": "0.17.
|
|
9
|
+
"version": "0.17.13"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "trantor",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "The hub-world for AI agent crews. Say \"fire up the crew\" and Claude becomes the architect: a plan-aware Advisor routes the work (solo / cheap inline calls / live crew of Codex, Gemini, Kimi & DeepSeek in their own terminal windows), a Kanban/flow command center with a testing gate tracks it, and an economics brain (Scrooge) keeps the receipts. Includes the relay MCP, a SessionStart auto-discovery hook, and a PreCompact context-handoff so a fresh session can take over a full window instead of compacting.",
|
|
16
|
-
"version": "0.17.
|
|
16
|
+
"version": "0.17.13",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Sasha Bogojevic"
|
|
19
19
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trantor",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.13",
|
|
4
4
|
"description": "Trantor — the hub-world for AI agent crews: live message bus, presence, project Kanban/flow board + crew orchestration for independent AI coding agents (Claude, Codex, Gemini, Kimi, DeepSeek)",
|
|
5
5
|
"mcpServers": {
|
|
6
6
|
"relay": {
|
package/README.md
CHANGED
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
|
|
14
14
|
**One Advisor decides how your work runs — solo, cheap inline calls, or a live crew of
|
|
15
15
|
Claude Code, Codex, Gemini, Kimi & DeepSeek in their own terminal windows — routed by your
|
|
16
|
-
actual plans, supervised on a live board
|
|
16
|
+
actual plans, supervised on a live + historical board you can scroll back through, learning
|
|
17
|
+
from every failure.**
|
|
17
18
|
|
|
18
19
|
[](./LICENSE)
|
|
19
20
|

|
|
20
21
|

|
|
21
|
-

|
|
22
23
|
|
|
23
24
|
</div>
|
|
24
25
|
|
|
@@ -99,9 +100,11 @@ project takes over with a full window (and a PreCompact hook does this automatic
|
|
|
99
100
|
that many seats ("seats follow the work, not the install list"), and a real-money estimate
|
|
100
101
|
with quota-pool accounting. You say go.
|
|
101
102
|
2. **Windows open.** `trantor up codex gemini kimi deepseek:deepseek-v4-pro` spawns one titled
|
|
102
|
-
terminal window per agent
|
|
103
|
-
the
|
|
104
|
-
|
|
103
|
+
terminal window per agent. `agent:model` pins a model; `agent:provider --difficulty hard`
|
|
104
|
+
picks the **best live model** for the work at spawn (capability × cost), enumerated from the
|
|
105
|
+
CLI itself — never a guessed endpoint. **Serialized and then verified on the bus** — the
|
|
106
|
+
launcher ends with "crew verified" or names the no-shows loudly. The orchestrator never gets
|
|
107
|
+
a green lie.
|
|
105
108
|
3. **Work flows over the bus.** Contracts arrive as messages; each agent owns its own files;
|
|
106
109
|
coordination happens in <280-char messages you can read on the dashboard. Crew members
|
|
107
110
|
live under a **runner**: the CLI works one turn and exits, the runner long-polls the bus
|
|
@@ -110,22 +113,45 @@ project takes over with a full window (and a PreCompact hook does this automatic
|
|
|
110
113
|
4. **The board tells the truth.** Cards flow `todo → doing → testing → done` — `testing` is a
|
|
111
114
|
real gate (tests/typecheck run there); failures turn the card **pulsing red** until the
|
|
112
115
|
orchestrator bounces them back; demoted cards wear an "↩ bounced" mark with full history.
|
|
113
|
-
5. **
|
|
116
|
+
5. **Failures surface in real time.** A crew agent whose turn fails (credits exhausted, auth,
|
|
117
|
+
crash) no longer re-parks silently — it classifies the failure, posts a ⚠️ to the bus, and
|
|
118
|
+
flips its dashboard chip **red** (escalating to 🛑 if it keeps failing). `trantor swap <old>
|
|
119
|
+
<new>` tears down an exhausted agent and spawns a live-selected replacement, ready for a fresh
|
|
120
|
+
contract.
|
|
121
|
+
6. **It learns.** Failures become lessons (`relay_lesson`), stored on the hub and **injected
|
|
114
122
|
into every future crew's prompts** — global or per-CLI. Your crew gets smarter every run.
|
|
115
123
|
|
|
116
124
|
## The dashboard — `trantor ui`
|
|
117
125
|
|
|
118
|
-
A live command center at `http://127.0.0.1:4477`, grouped by **project
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
+
A live command center at `http://127.0.0.1:4477`, grouped by **project** — and a *durable,
|
|
127
|
+
self-maintaining record*, not just a snapshot. Dead sessions self-prune (no more graveyard of
|
|
128
|
+
stale boards), and the project order is **stable**: a working board updates in place instead of
|
|
129
|
+
jumping to the top while you're reading it.
|
|
130
|
+
|
|
131
|
+
Three views per project (your choice sticks):
|
|
132
|
+
|
|
133
|
+
- **BOARD** — Kanban with the testing gate, difficulty + model badges per card, agent chips with
|
|
134
|
+
provider logos, live status, quota-pool tags, and **red / 🛑 chips for errored / down agents**.
|
|
135
|
+
- **FLOW** — a **development timeline**: every card laid left→right in **build order** across
|
|
136
|
+
**agent lanes**, each card a readable block segmented by the time it spent in each status, with
|
|
137
|
+
dependency edges converging where parallel work merged. Scroll the project's whole history
|
|
138
|
+
left/right. **Click any card** to open its full story — the contract it was given, the agent's
|
|
139
|
+
plan, its build report, the files it changed — reconstructed from that agent's own bus messages.
|
|
140
|
+
- **TIMELINE** — the same history as a chronological event log.
|
|
141
|
+
|
|
142
|
+
Plus:
|
|
143
|
+
|
|
144
|
+
- **🧠 Learning sidebar** — the self-learning loop, made visible: lessons (global / per-agent /
|
|
145
|
+
per-project), **per-LLM reliability** (turns, fail-rate, trend charts) from real turn telemetry,
|
|
146
|
+
and the guardrails baked into each model's prompts. Watch the platform get smarter over time.
|
|
147
|
+
- **🪙 savings pill** — a lifetime running total of what cheap-model routing has saved vs running
|
|
148
|
+
the frontier model, with a selectable window (24h / week / month / quarter / year).
|
|
126
149
|
- **Per-project conversation lanes** — watch agents negotiate interfaces in context — plus a
|
|
127
|
-
global live feed
|
|
128
|
-
|
|
150
|
+
global live feed and a composer so *you* can message the bus (or any single agent).
|
|
151
|
+
|
|
152
|
+
Every session registers automatically — **crew or not** — and a solo session's own todo list
|
|
153
|
+
shows up on the board as cards, so the dashboard reflects *all* the work on a project, not just
|
|
154
|
+
crew runs.
|
|
129
155
|
|
|
130
156
|
## The brain — plan-aware economics
|
|
131
157
|
|
|
@@ -160,7 +186,7 @@ rate, not work rate.
|
|
|
160
186
|
| `relay_send(to, text)` / `relay_inbox` / `relay_wait(t)` | Live messaging: direct, read-new, long-poll wake |
|
|
161
187
|
| `relay_peers` / `relay_status(text)` / `relay_whoami` | Presence: who's alive (honest, heartbeat-backed), doing what |
|
|
162
188
|
| `relay_project_brief(text)` | The project's what/why on the dashboard |
|
|
163
|
-
| `relay_task_add(title, …, difficulty, model, deps)` | Cards with difficulty/model badges + DAG edges
|
|
189
|
+
| `relay_task_add(title, …, difficulty, model, deps, project?)` | Cards with difficulty/model badges + DAG edges; `project` targets another board when you orchestrate from elsewhere |
|
|
164
190
|
| `relay_task_move(id, status)` | `todo → doing → testing → done` (the gate), `failed`, `blocked` |
|
|
165
191
|
| `relay_board` | The project's full board, as text |
|
|
166
192
|
| `relay_scrooge(prompt, task?, difficulty?)` | Fractal cheap-model delegation, with the ledger receipt |
|
|
@@ -170,13 +196,15 @@ rate, not work rate.
|
|
|
170
196
|
## The CLI
|
|
171
197
|
|
|
172
198
|
```
|
|
173
|
-
trantor setup | doctor | connect | profile | up <agents…> | down | ui | advise | hub | watch
|
|
199
|
+
trantor setup | doctor | connect | profile | up <agents…> | swap <old> <new> | down | ui | advise | hub | watch
|
|
174
200
|
```
|
|
175
201
|
|
|
176
|
-
`trantor up` notes: `agent:model` pins a model (`deepseek:deepseek-v4-pro`);
|
|
177
|
-
|
|
178
|
-
(`
|
|
179
|
-
|
|
202
|
+
`trantor up` notes: `agent:model` pins a model (`deepseek:deepseek-v4-pro`); `agent:provider
|
|
203
|
+
--task <k> --difficulty <d>` picks the **best live model** for the work at spawn
|
|
204
|
+
(`opencode:zai-coding-plan --difficulty hard`); spawns are verified on the bus with one retry;
|
|
205
|
+
geometry auto-detects the screen you're working on (`CREW_RECT="X,Y,W,H"` to override). `trantor
|
|
206
|
+
swap <oldAgent> <newSpec>` replaces an exhausted agent with a live-selected one. `trantor down`
|
|
207
|
+
kills crew processes via their ttys and closes windows without macOS "Terminate?" dialogs.
|
|
180
208
|
|
|
181
209
|
## Works with any MCP agent
|
|
182
210
|
|
|
@@ -192,10 +220,10 @@ server auto-registers the session, so presence works before the model says a wor
|
|
|
192
220
|
│ advise/contracts │ one turn, exit; runner long-polls (free) + resumes with context
|
|
193
221
|
└───────────┬─────────────┴──────────────┴────────────────┴────────────────┘
|
|
194
222
|
▼
|
|
195
|
-
hub.mjs ←— plain HTTP + SSE · presence/messages/board/lessons/economics
|
|
223
|
+
hub.mjs ←— plain HTTP + SSE · presence/messages/board/history/lessons/learning/economics
|
|
196
224
|
(Node built-ins only · state in ~/.agent-bus/bus.json · loopback by default)
|
|
197
225
|
▲
|
|
198
|
-
dashboard (ui.html) · BOARD/FLOW ·
|
|
226
|
+
dashboard (ui.html) · BOARD/FLOW/TIMELINE · 🧠 Learning · 🪙 savings · conversation lanes
|
|
199
227
|
```
|
|
200
228
|
|
|
201
229
|
Config: `RELAY_URL` env → `~/.agent-bus/config.json` → `http://127.0.0.1:4477`.
|
|
@@ -223,9 +251,10 @@ The `relay_*` tool names and the `~/.agent-bus` state dir remain until a later r
|
|
|
223
251
|
## Tests
|
|
224
252
|
|
|
225
253
|
```bash
|
|
226
|
-
npm test # unit +
|
|
227
|
-
# honest presence, spawn no-shows, the testing gate, bounce trails, lessons,
|
|
228
|
-
#
|
|
254
|
+
npm test # 80 checks: unit + protocol-level scenario drills with mock agents (no LLMs, seconds, $0):
|
|
255
|
+
# honest presence + TTL prune, spawn no-shows, the testing gate, bounce trails, lessons,
|
|
256
|
+
# /history + backfill, /learning shape, /todos sync, /card detail, advisor decisions across
|
|
257
|
+
# plan tiers, deps validation, virgin-machine doctor, and failure-classification drills
|
|
229
258
|
```
|
|
230
259
|
|
|
231
260
|
## License
|