chengyongru and GitHub
d81aa5a4ab
refactor(agent): let runner own context compaction ( #5568 )
...
* refactor(agent): consolidate accepted history under pressure
* fix(agent): align provider and session compaction
* refactor(agent): simplify runner context compaction
* refactor(agent): remove background token consolidation
* fix(agent): keep injected transcript messages distinct
* refactor(agent): unify native compaction summaries
* fix(agent): preserve native compaction boundary
* fix(agent): unify context compaction paths
* fix(agent): preserve exact compaction request boundaries
2026-09-02 18:05:54 +08:00
chengyongru and GitHub
6cd7063682
refactor(agent): defer transcript assembly to runner ( #5608 )
...
* refactor(agent): defer transcript assembly to runner
Keep persisted history and the fresh turn as explicit inputs until the Runner assembles the provider transcript. Preserve ContextBuilder and direct AgentRunner compatibility while making the save boundary structural.
Refs NAN-81.
* fix(providers): preserve mixed adjacent user content
2026-08-31 00:06:15 +08:00
Xubin Ren
2c87143f77
fix(cli): preserve gateway log stream boundaries
2026-08-29 23:03:23 +08:00
Xubin Ren
d7df2726de
fix(cli): stream gateway logs in WebUI launcher
2026-08-29 23:03:23 +08:00
Xubin Ren
2389ab1f5a
feat(providers): add Grok 4.6 subscription model
2026-08-29 21:22:20 +08:00
Xubin Ren
1fe14f2ee6
fix(cli): preserve root shell completion
2026-08-29 11:26:50 +08:00
Xubin Ren
7fc90ca6aa
feat(cli): make nanobot launch the terminal agent
2026-08-29 11:26:50 +08:00
chengyongru and GitHub
3a62b0b744
fix(tui): surface chat connection failures ( #5543 )
...
* fix(tui): surface chat connection failures
* fix(tui): keep connection copy implementation-agnostic
* test(tui): avoid millisecond timing boundary
* fix(tui): use gateway health for connection status
* fix(tui): use product-level readiness copy
2026-08-27 11:37:30 +08:00
Xubin Ren
2113870e27
fix(cli): foreground the WebUI browser
2026-08-27 10:45:40 +08:00
chengyongru and GitHub
d8b4f612f2
fix(gateway): recover degraded WebSocket listener ( #5544 )
...
* fix(gateway): recover degraded WebSocket listener
* test(websocket): model listener readiness in startup stub
* fix(tui): keep launcher alive during gateway recovery
* test(websocket): colocate listener lifecycle coverage
2026-08-27 10:23:35 +08:00
chengyongru and GitHub
4f6c0aedfa
refactor(agent): make run usage explicit ( #5546 )
...
* refactor(agent): make run usage explicit
* fix(api): capture usage per run
2026-08-26 15:18:53 +08:00
chengyongru and GitHub
0c84725b13
fix(gateway): retry MCP readiness before turns ( #5535 )
2026-08-26 11:29:48 +08:00
chengyongru and chengyongru
9895c23cb5
refactor(providers): define typed usage contract
2026-08-25 01:04:25 +08:00
Xubin Ren
2cdfba38b2
fix(runtime): preserve interrupted turns on gateway exit
2026-08-24 00:58:04 +08:00
Xubin Ren
12029f8812
feat(runtime): add user-controlled turn recovery
2026-08-24 00:58:04 +08:00
Xubin Ren
1e9d46fb36
fix(cli): name roles through legacy launchers
2026-08-23 21:13:14 +08:00
Xubin Ren
cfc872fb52
fix(cli): harden process identity portability
2026-08-23 21:13:14 +08:00
Xubin Ren
cfc1fae8b5
feat(cli): expose nanobot process identities
2026-08-23 21:13:14 +08:00
chengyongru and chengyongru
dbc1801d3c
fix(cron): report reconciled startup job count
2026-08-22 02:38:47 +08:00
aiguozhi123456 and chengyongru
20488a585d
fix(cron): review follow-ups for system job retirement
...
- advance the disabled-dream cursor before touching the cron store so
the #4242 fix still applies when jobs.json is corrupt
- pin the gateway wiring: the disabled-path test now asserts both
dream and heartbeat are retired, not just unregistered
- cover remove_system_job on a fresh install with no store file
2026-08-22 02:38:47 +08:00
aiguozhi123456 and chengyongru
e5718d4de6
fix(cron): retire persisted heartbeat/dream jobs when disabled
...
Disabling gateway.heartbeat (or agents.defaults.dream) only skipped
job registration on startup; the previously persisted system job in
<workspace>/cron/jobs.json kept firing, and remove_job refuses to
touch protected system jobs. Add CronService.remove_system_job for
startup reconciliation and call it from the gateway disabled branches
so the config toggle takes effect after restart.
2026-08-22 02:38:47 +08:00
chengyongru and GitHub
26764f2423
feat(tui): add /detach command ( #5461 )
...
* feat(tui): add detach command
* fix(tui): print exact detached gateway stop command
2026-08-21 15:50:07 +08:00
chengyongru and chengyongru
c5ae958bc3
fix(tui): avoid blocking local gateway startup
2026-08-20 14:48:31 +08:00
chengyongru and chengyongru
c615aee2ca
feat(tui): start fresh chats in launch workspace
2026-08-20 11:16:09 +08:00
chengyongru and chengyongru
2e9c9781e6
fix(webui): detach without waiting for gateway shutdown
2026-08-19 16:34:07 +08:00
chengyongru and chengyongru
df14259717
perf(tui): reduce cold-start latency
2026-08-18 16:28:46 +08:00
Xubin Ren
b17f227eb9
fix(release): package TUI compliance materials
2026-08-17 20:56:10 +08:00
Xubin Ren
dc3e3c1a2a
fix(gateway): prevent lifecycle races
2026-08-17 20:56:10 +08:00
Xubin Ren
c671acd6a8
fix(gateway): preserve shared runtime identity
2026-08-17 20:56:10 +08:00
Xubin Ren
eafc0bc6eb
fix(gateway): serialize shared runtime lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
7384fbfffc
fix(packaging): keep source clients in lockstep
2026-08-17 20:56:10 +08:00
Xubin Ren
ddd3b78ed1
test(ci): isolate cross-platform gateway lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
55f0423336
test(cli): tolerate wrapped launcher output
2026-08-17 20:56:10 +08:00
Xubin Ren
e84aa07bcc
test(cli): isolate WebUI interrupt polling
2026-08-17 20:56:10 +08:00
Xubin Ren
cd6a11b3c5
fix(gateway): harden shared client lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
014eab5f6a
fix(gateway): register foreground instances
2026-08-17 20:56:10 +08:00
Xubin Ren
a700697583
fix(cli): canonicalize default gateway identity
2026-08-17 20:56:10 +08:00
Xubin Ren
b8333a2d7e
fix(cli): make gateway persistence explicit
2026-08-17 20:56:10 +08:00
Xubin Ren
74c11e5d28
fix(cli): share on-demand gateway lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
ed796332fe
refactor(tui): retire the direct session default
2026-08-17 20:56:10 +08:00
Xubin Ren
9e47d8106c
fix(tui): synchronize shared session clients
2026-08-17 20:56:10 +08:00
Xubin Ren
e77eed76c9
fix(tui): track canonical model presets
2026-08-17 20:56:10 +08:00
Xubin Ren
9514b9b909
fix(tui): require the native interactive client
2026-08-17 20:56:10 +08:00
Xubin Ren
6301c0ab57
feat(tui): unify session history and context
2026-08-17 20:56:10 +08:00
Xubin Ren
14c5607e5e
fix(tui): enforce supported platform boundaries
2026-08-17 20:56:10 +08:00
Xubin Ren
35f2d086b0
fix(tui): harden themes and platform coverage
2026-08-17 20:56:10 +08:00
Xubin Ren and Bingxi Zhao
347583d3f7
fix(tui): preserve gateway and cache boundaries
...
Only reuse the exact managed config/workspace instance so CLI overrides cannot silently attach to another gateway. Revalidate cached release sidecars before execution and recover from corrupted cache entries.
Co-authored-by: Bingxi Zhao <150592536+pancacake@users.noreply.github.com >
2026-08-17 20:56:10 +08:00
ce070c832d
feat(cli): add native TypeScript terminal UI
...
Rebuild the terminal client on OpenTUI while keeping the Python gateway as the single agent, session, tool, and memory runtime. Preserve a classic prompt fallback and publish version-matched native sidecars for supported platforms.
Co-authored-by: Bingxi Zhao <150592536+pancacake@users.noreply.github.com >
Co-authored-by: chengyongru <2755839590@qq.com >
2026-08-17 20:56:10 +08:00
Xubin Ren and lmzopq
cd7480945b
fix(session): preserve history across storage relocation
...
Co-authored-by: lmzopq <1646888+lmzopq@users.noreply.github.com >
2026-08-13 01:41:10 +09:00
chengyongru and GitHub
19997d20bb
refactor: move MCP lifecycle out of AgentLoop ( #5343 )
2026-08-12 17:51:04 +08:00