Skip TuiAltScreen viewport consume for wheel and alt-screen scroll
keys when a visible overlay has focus. Transcript search still owns
those events so the transcript can move while the find box is open.
fixes#7894
* refactor: search out of repo
* fix: apply cases, no resolve for index on every hit
* chore: tests
* fix: use iterator and no open
* refactor: public dir stuff in jsonl, source
* cleanup and sqlite time number
* fix: use storage for label search too, delete types
* refactor: abstract some more
* docs: example jsonl with elastic search
* docs: Christian's md
* refactor: simpler api surface
* feat: rebuild
* docs: consolidate
* fix: use trigger for sqlite, cleanup indexable, add example in doc
* chore: restore upstream responses shared
* fix: delete metadata from jsonl search hit
* fix: AsynIterable
* refactor: scanning for memory, reuse
* fix: dont export jsonlSessionDirectoryName
* cleanup: more shared stuff
* cleanup: why, jsonl?
Split StdinBuffer's incomplete-sequence wait from the lone-ESC wait so SSH and PI_TUI_ESC_TIMEOUT can reassemble split Alt+Enter without delaying Escape or mouse/CSI buffering.
* fix(tui): prevent split Alt+Enter from interrupting
Increase the escape-sequence timeout over SSH and allow high-latency terminals to override it with PI_TUI_ESC_TIMEOUT.
Fixes#7876
* docs(coding-agent): shorten escape timeout description
---------
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
Add createGatewayBindingFetch: a FetchFunction factory that intercepts
requests bound for an AI Gateway HTTPS endpoint and re-issues them
through the Workers AI binding's universal endpoint
(env.AI.gateway(id).run()). Binding calls are pre-authenticated
in-account, so Workers running inside the gateway's account need no
cf-aig-authorization API token.
The shim is transport-only: it composes with the existing gateway
passthrough base URLs and every API implementation that honors
StreamOptions.fetch, preserving each provider's native wire format
(verified: workers-ai v1/chat/completions OpenAI-compat SSE streams
incrementally; anthropic v1/messages and openai responses route
end-to-end; cf-aig-log-id is present and readable via gateway getLog).
Binding types are structural, so no @cloudflare/workers-types
dependency and no impact on browser bundling.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Add tui.altScreen.lineUp and tui.altScreen.lineDown keybinding actions
for one-line viewport scrolling in fullscreen TUI. Both are unbound by
default and can be configured via user keybindings.
closes#7830
Co-authored-by: midas <midas@traderdifferent.com>
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>