tabminal 2.0.22 → 3.0.2

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/.dockerignore CHANGED
@@ -5,3 +5,4 @@ coverage
5
5
  dist
6
6
  .DS_Store
7
7
  apps
8
+ docs
package/AGENTS.md CHANGED
@@ -266,7 +266,7 @@ Relevant code:
266
266
 
267
267
  ## 4) ACP Status and Remaining Gaps
268
268
 
269
- `ACP_PLANING.md` is partly stale.
269
+ `docs/ACP.md` is partly stale.
270
270
 
271
271
  Implemented from that plan:
272
272
 
@@ -290,7 +290,7 @@ Still not clearly done end-to-end:
290
290
 
291
291
  Implication:
292
292
 
293
- - Do not delete `ACP_PLANING.md` just because most of the MVP shipped.
293
+ - Do not delete `docs/ACP.md` just because most of the MVP shipped.
294
294
  - If it is removed later, first copy the still-open deferred items into a new
295
295
  canonical roadmap document.
296
296
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tabminal",
3
- "version": "2.0.22",
4
- "description": "A modern, persistent web terminal with multi-tab support and real-time system monitoring.",
3
+ "version": "3.0.2",
4
+ "description": "Tab(ter)minal, a Cloud-Native terminal and ACP agent workspace for desktop, tablet, and phone.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "tabminal": "./src/server.mjs"
package/ACP_PLANING.md DELETED
@@ -1,271 +0,0 @@
1
- # ACP Planning
2
-
3
- Last updated: 2026-03-27
4
-
5
- This file is no longer a pure implementation plan.
6
- It is now the ACP status ledger for Tabminal:
7
-
8
- - what shipped
9
- - what is stable
10
- - what remains open
11
-
12
- Use `/Users/leask/Documents/Tabminal/AGENTS.md` as the broader engineering
13
- handoff document. Use this file as the ACP-specific roadmap/status snapshot.
14
-
15
- ## 1) Goal
16
-
17
- Integrate ACP-based coding agents into Tabminal without building custom agents
18
- in-repo. Agents should run on the Tabminal host, be managed by the Tabminal
19
- backend, and feel native inside the existing workspace/editor UI.
20
-
21
- ## 2) Current Architecture
22
-
23
- ### Backend
24
-
25
- Implemented:
26
-
27
- - ACP supervisor in `/Users/leask/Documents/Tabminal/src/acp-manager.mjs`
28
- - Built-in host-local agent definitions:
29
- - Gemini CLI
30
- - Codex CLI
31
- - Claude Agent
32
- - GitHub Copilot
33
- - ACP Test Agent when `TABMINAL_ENABLE_TEST_AGENT=1`
34
- - Lazy runtime startup
35
- - Runtime reuse while tabs are active
36
- - Idle cleanup
37
- - ACP websocket fan-out to browser clients
38
- - Session restore for ACP runtimes that support `loadSession`
39
- - Per-agent saved config/env persistence
40
-
41
- ### Frontend
42
-
43
- Implemented:
44
-
45
- - Host-scoped agent dropdown from the sidebar
46
- - Agent tabs inside the shared workspace tab strip
47
- - Transcript rendering with message/tool/permission/plan history
48
- - Composer with send/stop, slash-command suggestions, attachments, and keyboard
49
- shortcuts
50
- - Mode/model/thought-level/permission selectors
51
- - Managed terminal summaries and `Jump in`
52
- - Usage HUD
53
- - Plan panel that archives into transcript history once complete
54
- - Agent-specific workspace restore and focus behavior
55
-
56
- ## 3) Completed Scope
57
-
58
- The following items are effectively shipped and usable.
59
-
60
- ### 3.1 Core ACP plumbing
61
-
62
- - ACP dependency integrated
63
- - Backend ACP supervisor live
64
- - REST endpoints live:
65
- - `GET /api/agents`
66
- - `GET /api/agents/config`
67
- - `PUT /api/agents/config/:agentId`
68
- - `DELETE /api/agents/config/:agentId`
69
- - `POST /api/agents/tabs`
70
- - `POST /api/agents/tabs/:tabId/prompt`
71
- - `POST /api/agents/tabs/:tabId/cancel`
72
- - `POST /api/agents/tabs/:tabId/mode`
73
- - `POST /api/agents/tabs/:tabId/config`
74
- - `POST /api/agents/tabs/:tabId/permissions/:permissionId`
75
- - `DELETE /api/agents/tabs/:tabId`
76
- - ACP websocket endpoint live
77
-
78
- ### 3.2 Agent tab UX
79
-
80
- - Agent tabs coexist with file tabs and pinned terminal tabs
81
- - Duplicate agent tabs auto-number
82
- - `Enter` sends
83
- - `Shift+Enter` and `Ctrl+J` insert newline
84
- - `Esc` stops active runs
85
- - `Ctrl+Shift+A` opens the agent menu
86
- - Slash-command menu opens upward as floating overlay
87
- - Keyboard navigation inside slash-command menu is implemented
88
-
89
- ### 3.3 Transcript and tool rendering
90
-
91
- - Coalesced assistant message streaming
92
- - Optimistic user message insertion
93
- - De-duplication when runtime echoes user chunks
94
- - Structured tool-call cards
95
- - Structured permission cards
96
- - Diff rendering
97
- - Code/resource rendering
98
- - Terminal output rendering inside tool cards
99
- - Path link rendering
100
- - Running-terminal activity summary
101
-
102
- ### 3.4 Managed terminal flow
103
-
104
- - ACP tool calls can create managed terminal sessions
105
- - `Jump in` switches to the real terminal session when still alive
106
- - Focus-stealing bug after `Jump in` has been fixed
107
- - Hidden pinned terminals no longer report bogus tiny sizes to the backend
108
-
109
- ### 3.5 Persistence and restore
110
-
111
- - Agent tab metadata persists on backend
112
- - Agent config persists on backend
113
- - Transcript/tool/permission/plan state persists
114
- - Restore works across backend restart for runtimes that support `loadSession`
115
- - Restore no longer wrongly penalizes built-in agent availability on startup
116
-
117
- ### 3.6 Usage / status UI
118
-
119
- - Usage HUD implemented
120
- - CSS-only expanded HUD layout stabilized
121
- - Plan panel implemented
122
- - Completed plan moves into transcript history instead of permanently occupying
123
- composer-adjacent UI
124
- - Transcript auto-scroll logic now follows the correct “only pin if already at
125
- bottom” rule
126
-
127
- ### 3.7 Test tooling
128
-
129
- - ACP Test Agent supports real slash-command scenarios:
130
- - `/demo`
131
- - `/plan`
132
- - `/diff`
133
- - `/permission`
134
- - `/cancel`
135
- - `/stale`
136
- - `/order`
137
- - `/fail`
138
- - ACP browser smoke covers current UI shape
139
- - ACP manager tests cover restore, prompt attachments, config, availability, and
140
- slash commands
141
-
142
- ## 4) Stable Contracts
143
-
144
- These should now be treated as product contracts, not experiments.
145
-
146
- - ACP agents are host-scoped.
147
- - Agent tabs do not require the file tree to be open.
148
- - Workspace tabs should remain visible if there is any file tab, agent tab, or
149
- pinned terminal tab.
150
- - `Jump in` is a management path, not a read-only preview, while the terminal is
151
- still alive.
152
- - Internal shell bootstrap commands such as `TABMINAL_SHELL_READY=1` must never
153
- surface as user notifications.
154
- - ACP availability should reflect the backend runtime environment, not only the
155
- developer's interactive shell.
156
- - On small screens, agent config selectors collapse to icon-only affordances.
157
-
158
- ## 5) Remaining Work
159
-
160
- This is the actual remaining ACP backlog.
161
-
162
- ### 5.1 Still open
163
-
164
- #### A) Registry-driven install/setup UX
165
-
166
- Status: not done
167
-
168
- Missing:
169
-
170
- - guided install flow for agents that are unavailable
171
- - first-class setup UX for installing required CLIs
172
- - richer host diagnostics for why a definition is unavailable
173
-
174
- Current state:
175
-
176
- - availability reasons are shown
177
- - some config/setup flows exist
178
- - but this is not yet a complete install-onboarding UX
179
-
180
- #### B) Explicit TCP ACP runtime support in the UI
181
-
182
- Status: not done
183
-
184
- Missing:
185
-
186
- - user-visible workflow for attaching to TCP ACP servers
187
- - transport selection UX
188
- - connection lifecycle UX for non-stdio ACP runtimes
189
-
190
- Current state:
191
-
192
- - architecture originally allowed for this direction
193
- - product currently operates around stdio-launched/local CLI definitions
194
-
195
- #### C) Dedicated conversation history browser
196
-
197
- Status: not done
198
-
199
- Missing:
200
-
201
- - independent history browser for ACP conversations
202
- - browsing/searching old conversations outside the current terminal/workspace
203
- session context
204
-
205
- Current state:
206
-
207
- - transcript restores with the tab
208
- - completed plans archive into the transcript
209
- - but there is no standalone conversation history surface
210
-
211
- ### 5.2 Nice-to-have follow-up work
212
-
213
- These are not blockers, but they are logical next ACP improvements.
214
-
215
- - stronger browser smoke coverage for touch/mobile-only ACP interactions
216
- - clearer visual distinction between running, attention, and completed agent
217
- states at scale
218
- - broader multi-host ACP smoke scenarios
219
- - richer availability/setup diagnostics in the UI
220
-
221
- ## 6) What Was Originally Deferred But Is Now Done
222
-
223
- These items were previously listed as deferred and should no longer be treated
224
- as open backlog:
225
-
226
- - prompt/file attachments
227
- - diff rendering in tool outputs
228
- - code/resource rendering in tool outputs
229
- - terminal execution transcript UI for ACP tool calls
230
-
231
- ## 7) Test and Verification Status
232
-
233
- Current ACP verification surface:
234
-
235
- - `npm run lint`
236
- - `npm test`
237
- - `npm run build`
238
- - browser smoke via
239
- `/Users/leask/Documents/Tabminal/scripts/acp-browser-smoke.mjs`
240
-
241
- Recommended ACP manual spot-checks when behavior changes:
242
-
243
- 1. Start with `TABMINAL_ENABLE_TEST_AGENT=1`
244
- 2. Run `/demo`
245
- 3. Verify:
246
- - agent menu
247
- - slash-command menu
248
- - plan panel
249
- - usage HUD
250
- - tool call cards
251
- - managed terminal
252
- - `Jump in`
253
- - transcript scroll behavior
254
- 4. Run `/permission`
255
- 5. Run `/cancel`
256
- 6. Reload and verify restore
257
-
258
- ## 8) Recommendation
259
-
260
- ACP is no longer in “MVP not landed” status.
261
- It is in “shipped, actively polished, with a short remaining backlog” status.
262
-
263
- Practical summary:
264
-
265
- - Core ACP product: done
266
- - ACP UI polish: largely done
267
- - ACP infra/test surface: done
268
- - Remaining strategic work: 3 real items
269
-
270
- That remaining scope is small enough that this file should stay as a status
271
- ledger, not a large speculative design doc.