Releases: true-async/php-claw
Releases · true-async/php-claw
Async console
Asynchronous console (tutorial chapter 02).
What is new:
- AsyncConsoleConversation: the whole TUI runs in the main thread as coroutines. No worker thread and no ThreadChannel. Input via async fgets(STDIN), output via fwrite(STDOUT).
- Background reader coroutine (readLoop), so you can type while the agent is "thinking" (type-ahead).
- Animated spinner and a window resize watcher, both as coroutines.
- Live window size on Windows via GetConsoleScreenBufferInfo through FFI; stty / readline elsewhere.
- Fixed chrome (banner, status, input, token bar) via a scroll region plus ANSI control codes; chat history is buffered and replayed on resize.
- Composable Status blocks: spinner, text, tool call, token usage.
- Tutorial: chapter 02 updated, English translation added under tutorial/en.
sync: synchronous-style variant
The php-claw agent written as plain, blocking-looking code on PHP TrueAsync.
No callbacks and no promises: every I/O operation (HTTP to the model, console input, bash subprocesses, timers) simply awaits, while the TrueAsync reactor drives all concurrency in a single thread. The code reads like synchronous PHP, yet never blocks.
This release marks the synchronous-style reference point of the project.