Commit Graph

318 Commits

Author SHA1 Message Date
Peter Steinberger 6147e1b91d fix(gateway): async session transcript IO (#75875)
* fix(gateway): async session transcript IO

* fix(plugins): restore jiti loader cache helper

* test(gateway): mock async artifact transcript reads

* chore(plugins): drop obsolete jiti loader shim
2026-05-02 02:06:38 +01:00
Peter Steinberger 2ea00e1c35 refactor: delete unused repo scan helper 2026-05-01 12:48:46 +01:00
jacky 0544c6d493 fix: suppress raw JSON parse errors from leaking to Discord channels (#59076) [AI-assisted] (#59118)
Merged via squash.

Prepared head SHA: b8b3686445
Co-authored-by: singleGanghood <156392444+singleGanghood@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-04-29 21:59:46 +08:00
Peter Steinberger 6bbacd14a3 fix(gateway): wait for event loop before client start 2026-04-29 14:50:44 +01:00
Peter Steinberger 8f6c72823e fix(ci): repair main typecheck after merges 2026-04-29 12:22:42 +01:00
Roger Deng d4e52f4542 fix(tui): resync streaming watchdog after reconnect (#74224)
* fix(tui): resync streaming watchdog after reconnect

* fix(tui): keep reconnect history fallback armed

* fix(tui): tighten reconnect watchdog recovery
2026-04-29 07:17:18 -04:00
Vincent Koc 6d7a77dcf9 fix(tui): recover stale streaming status after unbound final (#73749)
* fix(tui): clear stale streaming after unbound final events

* fix(clownfish): address review for ghcrawl-156749-autonomous-smoke (1)

* fix(tui): address stale streaming review
2026-04-29 04:12:25 -07:00
Peter Steinberger 7994833fac fix(gateway): align handshake client timeouts 2026-04-29 05:53:50 +01:00
Peter Steinberger db40ec404a fix: honor Ollama thinking catalog metadata 2026-04-28 09:15:28 +01:00
Scott Hanselman 146debf8c1 fix(tui): dedupe ASCII backspace events (#73335)
Merged via squash.

Prepared head SHA: 8f02f48acd
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Reviewed-by: @shanselman
2026-04-28 00:41:55 -07:00
Vincent Koc d7e67b455a fix(tui): clear stale streaming after orphaned finals (#72389)
* fix(tui): clear stale streaming after orphaned finals

* fix(tui): clear stale streaming after orphaned finals

* fix(tui): clear stale streaming after orphaned finals
2026-04-27 22:23:13 -07:00
Peter Steinberger 7f3f108521 refactor(config): migrate plugin config access 2026-04-27 12:35:58 +01:00
Peter Steinberger 5f2273e81e fix(gateway): unify chat display projection 2026-04-26 05:33:58 +01:00
kevinlin-openai 289ed9830a Add TUI context mode selector (#71760)
Co-authored-by: kevinlin-openai <kevin@dendron.so>
Co-authored-by: Codex <noreply@openai.com>
2026-04-25 17:16:03 -04:00
Peter Steinberger 385da2db60 feat: run Crestodian in TUI shell 2026-04-25 10:59:49 +01:00
Peter Steinberger 2011de69d3 feat: add Crestodian setup helper 2026-04-25 08:58:21 +01:00
Vincent Koc 06d46869f8 refactor(tui): remove cli-highlight dependency
Remove direct cli-highlight usage from the TUI renderer and drop the now-unused root ownership record.
2026-04-24 09:25:25 -07:00
Peter Steinberger e880eab486 test(tui): narrow embedded backend mocks 2026-04-23 10:05:32 +01:00
Peter Steinberger 596b88986d chore: apply core lint cleanups 2026-04-23 05:30:49 +01:00
fuller-stack-dev 276c00015c fix: add local embedded TUI mode (#66767) (thanks @fuller-stack-dev)
* feat(tui): add local embedded TUI mode with terminal/chat aliases

Adds a gateway-free local TUI path so users can run openclaw in their
terminal without needing a running gateway process.

- TuiBackend interface abstraction (tui-backend.ts) with EmbeddedTuiBackend
  implementation that drives the agent loop in-process
- openclaw tui --local flag for local embedded mode
- openclaw terminal / openclaw chat aliases that imply --local
- /auth slash command with codex CLI delegation to avoid prolite plan issue
- Default model display fallback on startup
- Local-aware status text and log suppression
- Concise auth error hints, raw HTML 403 suppression
- Onboarding hatch flow launches local TUI (no gateway required)
- Commander alias bug fix in run-main.ts (.aliases() check)
- All new and updated tests passing (145/145)

* TUI: fix alias detection, cross-platform codex lookup, and history byte-budget safeguards

* TUI: remove RuntimeEnv type annotation to fix CI oxlint error

* TUI: filter gateway-dependent tools and auto-approve plugin hooks in embedded mode

* TUI: suppress console noise and add embedded mode system prompt note

* TUI: reduce embedded-mode tool filtering from 15 to 7, add local session tools

* TUI: fix remaining PR review comments

* TUI: address latest review feedback and CI drift

* Core: align prompt helper with latest base

* Core: match prompt helper formatting with base

* Core: restore prompt helper from latest base

* fix(tui): preserve local auth fallback in source checkouts

* fix(tts): guard telephony provider invocation

* fix(tui): support Windows codex auth shim

* fix(tui): harden local auth flow

* fix: preserve embedded tool-first run events

* fix(tui): keep embedded plugin approvals gated

* fix(tui): restore embedded attempt import

* fix(tui): resolve sessions in embedded stub

* fix: add embedded TUI changelog entry (#66767) (thanks @fuller-stack-dev)

* fix: pass setup TUI local mode through relaunch (#66767) (thanks @fuller-stack-dev)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-22 10:08:57 +05:30
Cássio Jones Dhein Silva 89b6d02481 fix(tui): arm streaming watchdog on every delta, not only visible ones (#69338)
When ingestDelta returns null (first empty/commentary delta or unchanged
content), the handler returned early, skipping setActivityStatus and
armStreamingWatchdog. If all subsequent deltas were also null (e.g.
due to phase filtering), the watchdog was never armed and the status bar
stayed stale as "idle" while a run was live.

Move setActivityStatus("streaming") and armStreamingWatchdog before
the null-displayText guard so they fire on every received delta event.

Fixes #34513, #40824

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 21:53:36 +10:00
Shakker aae4b1b29d Fix setup TUI hatch terminal handoff (#69524)
* fix: relaunch setup tui in a fresh process

* fix: harden setup tui handoff

* fix: preserve tui hatch exit flow

* Revert "fix: preserve tui hatch exit flow"

This reverts commit f4f119a5a3.

* fix: let setup tui resolve gateway auth

* fix: support packaged tui relaunch

* fix: pin setup tui gateway target

* fix: preserve setup tui auth source
2026-04-21 03:45:57 +01:00
Peter Steinberger 3caf9faef5 test: use synthetic metadata channel labels 2026-04-21 00:52:52 +01:00
Peter Steinberger 9a71595d97 test: share tui session action setup 2026-04-20 19:14:01 +01:00
Shakker 4e6dfc015e chore: dedupe gateway chat client imports 2026-04-20 04:06:57 +01:00
Shakker 4ebeb18fde test: restore gateway chat timer cleanup 2026-04-20 04:06:57 +01:00
Shakker 3730d6d17a fix: retry tui chat history during startup 2026-04-20 04:06:57 +01:00
Ayaan Zaidi 3525273930 fix: keep TUI watchdog bound to active run (#67401) (thanks @xantorres) 2026-04-16 18:31:56 +05:30
Xan Torres f44ab20d4d TUI/streaming: add watchdog that resets the activity indicator after delta silence 2026-04-16 18:31:56 +05:30
Tak Hoffman f94d6778b1 fix(active-memory): Move active memory recall into the hidden prompt prefix (#66144)
* move active memory into prompt prefix

* document active memory prompt prefix

* strip active memory prefixes from recall history

* harden active memory prompt prefix handling

* hide active memory prefix in leading history views

* strip hidden memory blocks after prompt merges

* preserve user turns in memory recall cleanup
2026-04-13 16:05:43 -05:00
Tak Hoffman c37e49f275 Add /trace toggle and fix Active Memory diagnostics 2026-04-12 13:20:22 -05:00
Vincent Koc 0f7d9c9570 fix(runtime): split approval and gateway client seams 2026-04-11 18:36:48 +01:00
Peter Steinberger 9e0d358695 refactor: simplify runtime conversions 2026-04-11 01:23:34 +01:00
Peter Steinberger 04c8026d03 chore: enable no-unnecessary-type-arguments 2026-04-10 20:14:49 +01:00
Neerav Makwana 0002982e52 fix: reset TUI footer activity on session switch (#63988) (thanks @neeravmakwana)
* TUI: reset activity to idle on session switch

* chore: remove redundant tui session comment

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-10 13:32:01 +05:30
Peter Steinberger bfff74fb11 refactor: dedupe core lowercase helpers 2026-04-07 20:58:01 +01:00
Peter Steinberger ea9efc0e81 refactor: dedupe plugin lowercase helpers 2026-04-07 15:53:50 +01:00
Peter Steinberger 5390eadc4e Tests: fix boundary and late-run drift 2026-04-07 19:59:51 +08:00
Peter Steinberger 4dc16e1567 refactor: dedupe lowercase normalizer readers 2026-04-07 11:18:18 +01:00
Peter Steinberger 768e606f96 refactor: dedupe agent runtime readers 2026-04-07 07:36:11 +01:00
Peter Steinberger d27370702b refactor: dedupe core error formatting 2026-04-07 02:03:35 +01:00
Peter Steinberger ce30557399 refactor(deadcode): remove orphaned core helpers 2026-04-06 17:26:25 +01:00
Peter Steinberger aa6f6135db fix: tighten TUI phase handling and heartbeat session guards (#61463) (thanks @100yenadmin) 2026-04-06 16:35:22 +01:00
Eva 22d8e47a50 fix(agents,gateway): adopt phase-aware assistant text extraction 2026-04-06 16:35:22 +01:00
Peter Steinberger 2b6e08bbfa refactor: remove confirmed dead helpers 2026-04-06 16:13:26 +01:00
Vincent Koc 9c3d9c5c18 chore(lint): drop stale repo lint comments 2026-04-06 16:01:23 +01:00
biefan 0f075e1b8a fix: restore terminal keyboard state on tui exit (#49130) (thanks @biefan) (#49130)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-06 15:14:08 +01:00
ToToKr 2da95ca191 fix(tui): strip inbound metadata from command messages before rendering (#59985) (thanks @MoerAI) (#59985)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-06 15:02:59 +01:00
Vincent Koc 18ed43cc9e fix(tui): align /status with shared session status 2026-04-06 14:10:59 +01:00
Peter Steinberger bb01e49192 refactor: share gateway auth and approval helpers 2026-04-06 07:41:08 +01:00