agentty 0.1.12 → 0.1.14

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/CHANGELOG.md CHANGED
@@ -5,14 +5,91 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v0.1.14] - 2026-02-21
9
+
10
+ ### Added
11
+
12
+ - **Stats:** Add activity heatmap to the Stats tab.
13
+ - **Stats:** Track per-model session usage and render usage summaries.
14
+ - **Settings:** Add settings tab and persist default model.
15
+ - **Diff View:** Split diff view into file list and content panels with file explorer navigation.
16
+ - **Diff View:** Render changed files as a tree in the file explorer.
17
+ - **Diff View:** Filter diff view content by selected file explorer item.
18
+ - **Site:** Add agentty.xyz documentation site with GitHub Pages deployment workflow.
19
+
20
+ ### Changed
21
+
22
+ - **Architecture:** Refactor codebase into domain, infrastructure, and UI state modules.
23
+ - **Architecture:** Move tab state into a dedicated tab manager.
24
+ - **Session List:** Group sessions by merge queue and separate archived sessions with placeholders.
25
+ - **Session List:** Align session navigation with grouped list order.
26
+ - **Session Output:** Render session output and user prompt blocks as markdown.
27
+ - **Session Output:** Preserve multiline user prompt block spacing and verbatim rendering.
28
+ - **Merge Queue:** Queue session merges in FIFO order and handle queued sessions across app and UI.
29
+ - **Merge Queue:** Advance merge queue progression and retry on git index lock failures.
30
+ - **Merge:** Treat already-applied squash merges as successful.
31
+ - **Rebase:** Harden rebase assist loop against partially resolved conflicts.
32
+ - **Output:** Task service batches streamed output before flushing.
33
+ - **Output:** Separate streamed response messages for Codex output spacing.
34
+ - **Models:** Load default session model from persisted setting.
35
+ - **Models:** Use npm semver for version checks and restore version display in status bar.
36
+ - **Prompt:** Handle multiline paste and control-key newlines in prompt input.
37
+ - **Site:** Redesign landing page with dark terminal theme, Tailwind CSS v4, and theme selector.
38
+ - **Deps:** Bump dependency versions.
39
+
40
+ ### Fixed
41
+
42
+ - **Build:** Fix refactor regressions and restore build stability after module restructure.
43
+
44
+ ### Contributors
45
+
46
+ - @andagaev
47
+ - @dependabot[bot]
48
+ - @minev-dev
49
+
50
+ ## [v0.1.13] - 2026-02-19
51
+
52
+ ### Added
53
+
54
+ - **Session Output:** Render styled markdown in session chat output.
55
+ - **Session Output:** Switch to stream-json output and parse Gemini stream events.
56
+ - **Session Output:** Extract session output into dedicated UI component.
57
+ - **Update Check:** Show update availability in status bar and onboarding page.
58
+ - **Models:** Update Gemini Pro to version 3.1 and Claude Sonnet to version 4.6.
59
+ - **Models:** Add verbose flag to Claude stream-json commands.
60
+
61
+ ### Changed
62
+
63
+ - **Session Metadata:** Move session status to output panel title and metadata to chat input border.
64
+ - **Session Titles:** Persist session title and summary from squash commit message.
65
+ - **Session Titles:** Use full prompt as session title for new sessions.
66
+ - **Session Replay:** Replay session transcript once after model switch.
67
+ - **Git Actions:** Remove session commit count and always show git actions.
68
+ - **Diff View:** Use merge-base for session diff to accurately exclude base branch updates.
69
+ - **Rebase:** Refactor rebase logic into a reusable workflow.
70
+ - **Database:** Make session token stats non-nullable with zero defaults.
71
+ - **NPM:** Update package name to `agentty` in docs and badges.
72
+
73
+ ### Fixed
74
+
75
+ - **UI:** Fix session list table column layout constraints.
76
+ - **Runtime:** Add shutdown signal to event reader thread for cleaner exit.
77
+
78
+ ### Contributors
79
+
80
+ - @andagaev
81
+ - @minev-dev
82
+
8
83
  ## [v0.1.12] - 2026-02-19
9
84
 
10
85
  ### Added
86
+
11
87
  - **Session UX:** Added a delete confirmation mode with selectable actions for session deletion.
12
88
  - **Output Streaming:** Added a live single-line progress indicator in chat and spacing before the first streamed response chunk.
13
89
  - **Agent Runtime:** Added Codex output streaming during non-interactive runs and follow-up actions for plan mode replies.
14
90
 
15
91
  ### Changed
92
+
16
93
  - **Git Runtime:** Completed async `git` module transition to `spawn_blocking` and updated call sites.
17
94
  - **Session Model:** Refactored sessions to derive `AgentKind` from `AgentModel`, removed the session `agent` column, and migrated legacy PR statuses to `Review`.
18
95
  - **Merge/Rebase:** Improved merge and rebase robustness by auto-committing pending changes before merge/rebase and broadening auto-commit assistance handling.
@@ -21,16 +98,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
21
98
  - **Config:** Removed `npm-scope` from `dist-workspace.toml`.
22
99
 
23
100
  ### Removed
101
+
24
102
  - **Pull Requests:** Removed pull request functionality.
25
103
  - **UI Cleanup:** Removed delete confirmation bottom hints.
26
104
 
27
105
  ### Contributors
106
+
28
107
  - @andagaev
29
108
  - @minev-dev
30
109
 
31
110
  ## [v0.1.11] - 2026-02-16
32
111
 
33
112
  ### Added
113
+
34
114
  - **Permissions:** Add per-session permission mode toggle and `Plan` permission mode with denial-gated response parsing.
35
115
  - **Session Control:** Add `Ctrl+c` to stop running agent sessions.
36
116
  - **Prompt History:** Implement prompt history navigation with up/down arrows.
@@ -41,6 +121,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
41
121
  - **Terminal Summaries:** Persist terminal summaries for session outcomes.
42
122
 
43
123
  ### Changed
124
+
44
125
  - **Architecture:** Refactor app into manager composition with event-driven session state updates and reducer-based routing for git status, PR control, and session mutations.
45
126
  - **Architecture:** Split session module and centralize lookups; separate session snapshots from runtime handles.
46
127
  - **Session Defaults:** New sessions inherit the latest session's agent, model, and permission mode.
@@ -53,20 +134,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
53
134
  - **Docs:** Document app module architecture and public API docs; add cargo install instructions to README.
54
135
 
55
136
  ### Removed
137
+
56
138
  - **Health Module:** Remove health check module and wiring.
57
139
 
58
140
  ### Contributors
141
+
59
142
  - @andagaev
60
143
  - @minev-dev
61
144
 
62
145
  ## [v0.1.10] - 2026-02-15
63
146
 
64
147
  ### Added
148
+
65
149
  - **Review Workflow:** Added an explicit `Merging` session status and a review-session rebase action.
66
150
  - **Session UX:** Added read-only controls for done sessions and a `/clear` slash command.
67
151
  - **Help UI:** Added a `?` keybinding with an updated overlay and descriptive slash-command menu.
68
152
 
69
153
  ### Changed
154
+
70
155
  - **Session List:** Split session metadata into `Project`, `Model`, and `Status` columns with dynamic width sizing.
71
156
  - **Runtime:** Run session commands through per-session workers and restore interrupted sessions into `Review`.
72
157
  - **Stats:** Accumulate token usage over time and preserve stats after `/clear`.
@@ -74,6 +159,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
74
159
  - **UI Cleanup:** Removed agent labels from session list rows and session chat titles.
75
160
 
76
161
  ### Contributors
162
+
77
163
  - @andagaev
78
164
  - @dependabot[bot]
79
165
  - @minev-dev
@@ -81,55 +167,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
81
167
  ## [v0.1.9] - 2026-02-13
82
168
 
83
169
  ### Added
170
+
84
171
  - **Diff View:** Added diff content wrapping to render long changed lines without truncation.
85
172
  - **Diff View:** Added structured parsing with line-number gutters (`old│new`) for unified diffs.
86
173
  - **Docs:** Added a demo GIF to the README and documented GIF generation with VHS.
87
174
 
88
175
  ### Changed
176
+
89
177
  - **Diff View:** Compare against each session's base branch so review shows all accumulated changes.
90
178
  - **Workflow:** Simplified commit flow by auto-committing after agent iterations and removing manual commit mode.
91
179
  - **Release Docs:** Added contributor-list requirements and examples to the release workflow documentation.
92
180
 
93
181
  ### Contributors
182
+
94
183
  - @minev-dev
95
184
 
96
185
  ## [v0.1.8] - 2026-02-13
97
186
 
98
187
  ### Added
188
+
99
189
  - **Onboarding:** Added a full-screen onboarding page shown when no sessions exist.
100
190
  - **Tests:** Added onboarding behavior coverage for app state, list mode `Enter` handling, and UI rendering conditions.
101
191
 
102
192
  ### Changed
193
+
103
194
  - **UX:** Pressing `Enter` from the onboarding view now creates a new session and opens prompt mode directly.
104
195
  - **Error Handling:** Session creation errors in list mode are now surfaced instead of being silently ignored.
105
196
  - **UI:** Kept the footer visible during onboarding and simplified session list rendering to consistently use the table layout.
106
197
 
107
198
  ### Contributors
199
+
108
200
  - @minev-dev
109
201
 
110
202
  ## [v0.1.7] - 2026-02-12
111
203
 
112
204
  ### Added
205
+
113
206
  - **UI:** Show session worktree path and branch in the footer bar for better context awareness.
114
207
  - **UI:** Display commit count in the session chat title.
115
208
  - **Stats:** Add session token usage statistics to the Stats page.
116
209
 
117
210
  ### Changed
211
+
118
212
  - **Persistence:** Moved application data directory from `/var/tmp/.agentty` to `~/.agentty` for better persistence and standard compliance.
119
213
  - **UX:** Renamed "Roadmap" tab to "Stats" to better reflect its content.
120
214
  - **UX:** Use shortened 8-character UUIDs for session folders and git branches to reduce clutter.
121
215
  - **Internal:** Standardized session ID variable naming across the codebase.
122
216
 
123
217
  ### Contributors
218
+
124
219
  - @andagaev
125
220
  - @minev-dev
126
221
 
127
222
  ## [v0.1.6] - 2026-02-10
128
223
 
129
224
  ### Added
225
+
130
226
  - **Session Status:** Added a `Committing` status to make commit progress explicit in the session lifecycle.
131
227
 
132
228
  ### Changed
229
+
133
230
  - **Persistence:** Persist session prompt/output history in SQLite and load it on startup so chat history survives app reloads.
134
231
  - **Session Output:** Parse agent JSON output and display only the response message in session output.
135
232
  - **GitHub Integration:** Parse GitHub PR responses using typed serde structs and move GitHub CLI logic into a dedicated `gh` module.
@@ -138,21 +235,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
138
235
  - **Documentation:** Extract git commit guidance into the shared skills documentation.
139
236
 
140
237
  ### Fixed
238
+
141
239
  - **Tests:** Stabilized merge cleanup testing to avoid environment-dependent blocking during release verification.
142
240
 
143
241
  ### Contributors
242
+
144
243
  - @andagaev
145
244
  - @minev-dev
146
245
 
147
246
  ## [v0.1.5] - 2026-02-08
148
247
 
149
248
  ### Added
249
+
150
250
  - **Tests:** Added runtime mode handler coverage tests.
151
251
  - **Documentation:** Added local `AGENTS.md` files and enforced folder index checks.
152
252
  - **Documentation:** Added Context7-first rule for retrieving latest tool info.
153
253
  - **Documentation:** Documented dependency injection testability guidance.
154
254
 
155
255
  ### Changed
256
+
156
257
  - **Architecture:** Modularized app and runtime into focused modules (`app/` and `runtime/`).
157
258
  - **Runtime:** Injected event source into the runtime event loop for better testability.
158
259
  - **Session:** Made agent and model configurations session-scoped.
@@ -161,17 +262,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
161
262
  - **Refactor:** Refactored long handlers to enforce clippy line limits.
162
263
 
163
264
  ### Contributors
265
+
164
266
  - @minev-dev
165
267
 
166
268
  ## [v0.1.4] - 2026-02-08
167
269
 
168
270
  ### Added
271
+
169
272
  - **Session Identity:** Migrated session IDs to UUIDs for stable identification.
170
273
  - **Session Management:** Added a forward-only migration system for schema changes.
171
274
  - **UI:** Added nullable title support to sessions.
172
275
  - **UI:** Improved chat input with indentation preservation on wrapped lines.
173
276
 
174
277
  ### Changed
278
+
175
279
  - **Session Ordering:** Sessions are now strictly ordered by `updated_at` (latest first).
176
280
  - **Performance:** Implemented incremental session state refresh to reduce database load.
177
281
  - **UX:** Moved prompt cursor by visual wrapped lines for better navigation.
@@ -181,16 +285,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
181
285
  - **Database:** Use multiline SQL strings for better query readability.
182
286
 
183
287
  ### Removed
288
+
184
289
  - Removed project-filtered session loader.
185
290
  - Removed git worktree suffix from initial session prompt.
186
291
  - Removed Reply mode; unified into session chat page.
187
292
 
188
293
  ### Contributors
294
+
189
295
  - @minev-dev
190
296
 
191
297
  ## [v0.1.3] - 2026-02-08
192
298
 
193
299
  ### Added
300
+
194
301
  - **Backends:** Added Codex backend support.
195
302
  - **Project Management:** Added project switching with automatic sibling discovery.
196
303
  - **Diff View:** Show all file changes in diff view.
@@ -199,6 +306,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
199
306
  - **Testing:** Added `pr-testing` directory to root index.
200
307
 
201
308
  ### Changed
309
+
202
310
  - **Concurrency:** Converted event loop to async to fix TUI freezing on macOS.
203
311
  - **Input:** Improved multiline input editing.
204
312
  - **Workflow:** Enforced review-based session status transitions.
@@ -207,16 +315,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
207
315
  - **Formatting:** Added code formatting rules and applied to `ag-xtask`.
208
316
 
209
317
  ### Fixed
318
+
210
319
  - Fixed UI freezing on macOS during agent execution.
211
320
  - Clarified git worktree requirements in README.
212
321
 
213
322
  ### Contributors
323
+
214
324
  - @andagaev
215
325
  - @minev-dev
216
326
 
217
327
  ## [v0.1.2] - 2026-02-08
218
328
 
219
329
  ### Added
330
+
220
331
  - **GitHub Integration:** Added 'p' command to create GitHub Pull Requests (draft by default).
221
332
  - **GitHub Integration:** Added GitHub CLI health check with nested auth sub-check.
222
333
  - **UI:** Centralized icons into a reusable `Icon` enum.
@@ -224,6 +335,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
224
335
  - **Database:** Persist session status to the database.
225
336
 
226
337
  ### Changed
338
+
227
339
  - **UX:** Use `/` selector in command palette dropdowns.
228
340
  - **UX:** Ensure exactly one blank line before the spinner in chat view.
229
341
  - **Health:** Rename Claude health check label to Claude Code.
@@ -231,14 +343,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
231
343
  - **Internal:** Optimize quality gates for AI agents.
232
344
 
233
345
  ### Removed
346
+
234
347
  - Remove custom Gemini configuration creation.
235
348
 
236
349
  ### Contributors
350
+
237
351
  - @minev-dev
238
352
 
239
353
  ## [v0.1.1] - 2026-02-08
240
354
 
241
355
  ### Added
356
+
242
357
  - **Database:** Introduce SQLite via SQLx for session metadata.
243
358
  - **UI:** Add command palette with agents selection.
244
359
  - **UI:** Add health check splash screen via `/health` command.
@@ -246,12 +361,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
246
361
  - **Docs:** Add installation guide to README.
247
362
 
248
363
  ### Changed
364
+
249
365
  - **Async:** Convert sync DB wrapper and thread spawns to native async.
250
366
  - **Tooling:** Replace `cargo-machete` with `cargo-shear` in quality gates.
251
367
  - **UI:** Use tilde for home directory in footer.
252
368
  - **Internal:** Reorder struct fields by visibility and name.
253
369
 
254
370
  ### Contributors
371
+
255
372
  - @andagaev
256
373
  - @minev-dev
257
374
 
@@ -260,6 +377,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
260
377
  - Initial release.
261
378
 
262
379
  ### Contributors
380
+
263
381
  - @andagaev
264
382
  - @dependabot[bot]
265
383
  - @minev-dev
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Agentty
2
2
 
3
- ![NPM Version](https://img.shields.io/npm/v/%40opencloudtool%2Fagentty)
3
+ ![NPM Version](https://img.shields.io/npm/v/agentty)
4
4
 
5
5
  A terminal UI tool for managing agents, built with Rust and [Ratatui](https://ratatui.rs).
6
6
 
@@ -23,7 +23,7 @@ cargo install agentty
23
23
  ### npm
24
24
 
25
25
  ```sh
26
- npm install -g @opencloudtool/agentty
26
+ npm install -g agentty
27
27
  ```
28
28
 
29
29
  ### npx
@@ -31,7 +31,7 @@ npm install -g @opencloudtool/agentty
31
31
  Run without installing:
32
32
 
33
33
  ```sh
34
- npx @opencloudtool/agentty
34
+ npx agentty
35
35
  ```
36
36
 
37
37
  ## Prerequisites
@@ -79,6 +79,26 @@ Agentty creates isolated worktrees for each session:
79
79
 
80
80
  This allows agents to work on code changes without affecting your main working directory.
81
81
 
82
+ ### Styled Session Output
83
+
84
+ - Agent responses in chat view now render a markdown subset with terminal styling.
85
+ - Supported formatting includes headings, bold/italic text, inline code, fenced code blocks, lists, blockquotes, and horizontal rules.
86
+ - User prompt lines (` › ...`) remain visually distinct in cyan bold styling.
87
+
88
+ ### Stats Activity Heatmap
89
+
90
+ - The `Stats` tab now includes a GitHub-style activity heatmap for session creation activity over the last 53 weeks.
91
+ - Heatmap intensity scales with daily session counts and now includes month labels for easier timeline scanning.
92
+ - A right-side summary panel highlights favorite model usage, the longest session duration, and per-model input/output token totals.
93
+ - The per-session token table and overall totals remain available below the heatmap.
94
+
95
+ ### Version Update Notice
96
+
97
+ - On startup, Agentty checks npmjs for the latest `agentty` version.
98
+ - If a newer version exists, an inline `vX.Y.Z version available update with npm i -g agentty@latest` notice is shown:
99
+ - in the top status bar next to the current version
100
+ - on the onboarding screen when there are no sessions
101
+
82
102
  ## Quickstart
83
103
 
84
104
  ```sh
@@ -87,6 +107,18 @@ cd agentty
87
107
  cargo run # Builds and runs the 'agentty' binary
88
108
  ```
89
109
 
110
+ ## Website
111
+
112
+ `agentty.xyz` is a Zola site stored in `docs/site/` and deployed through GitHub Pages.
113
+
114
+ ```sh
115
+ # Preview locally
116
+ zola serve --root docs/site
117
+
118
+ # Build static output
119
+ zola build --root docs/site
120
+ ```
121
+
90
122
  ## Development
91
123
 
92
124
  ```sh
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "Apache-2.0",
25
25
  "name": "agentty",
26
- "version": "0.1.12"
26
+ "version": "0.1.14"
27
27
  },
28
28
  "node_modules/@isaacs/balanced-match": {
29
29
  "engines": {
@@ -515,5 +515,5 @@
515
515
  }
516
516
  },
517
517
  "requires": true,
518
- "version": "0.1.12"
518
+ "version": "0.1.14"
519
519
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "artifactDownloadUrl": "https://github.com/opencloudtool/agentty/releases/download/v0.1.12",
2
+ "artifactDownloadUrl": "https://github.com/opencloudtool/agentty/releases/download/v0.1.14",
3
3
  "author": "Vladimir Minev",
4
4
  "bin": {
5
5
  "agentty": "run-agentty.js"
@@ -63,7 +63,7 @@
63
63
  "zipExt": ".tar.xz"
64
64
  }
65
65
  },
66
- "version": "0.1.12",
66
+ "version": "0.1.14",
67
67
  "volta": {
68
68
  "node": "18.14.1",
69
69
  "npm": "9.5.0"