Commit Graph

31 Commits

Author SHA1 Message Date
Ollie Agent cf1866d646 o: /model and /backend with no args show current value 2026-08-08 23:04:33 +02:00
Ollie Agent 79afb09f3d o: fix /i command — was sending double-slash to prompt
$line still had the leading / from input, so echo "/$line" sent
//i ... to the agent. Use $cmd (which has the / stripped) instead.
2026-08-08 23:00:59 +02:00
Levi Neely 07ec63704e o prompt: drop readline for paste support
Switch from 'read -e' to plain 'read' so multi-line paste can be
captured. Readline was consuming pasted lines individually.
Increase drain timeout to 100ms.
2026-08-07 17:46:35 +02:00
Levi Neely 189ec65aae o prompt: buffer multi-line paste input
Drains additional lines within 50ms of the first line to capture
multi-line pastes in the TUI prompt.
2026-08-07 17:44:05 +02:00
Levi Neely 8397f1aa74 o: add log command, rename tail to chatstream
- Add 'o log [-n N]' to read last N lines from agent log (default 1000)
- Rename 'o tail' to 'o chatstream' for clarity
- Update TUI to show log history before streaming chat
2026-08-07 17:34:33 +02:00
Levi Neely e84b4ffef7 feat: add resetsCounter tool property to reset step budget on active progress
Tools like file_write, file_edit, and shell now reset the agent's step
counter when called successfully. This allows the agent to continue
working without hitting the soft step-budget guardrail as long as it's
making active progress (writing files, running commands) rather than
looping on research/reading.

Changes:
- Add ResetsCounter bool to ToolInfo and MetaFile structs
- Parse resetsCounter from .meta JSON files
- Reset step counter in agent loop when ResetsCounter tool succeeds
- Add resetsCounter: true to file_write, file_edit, shell
- Reduce maxSteps from 50 to 25 (resetsCounter makes this safe)
2026-08-07 17:13:14 +02:00
Levi Neely 54c6bc3ed2 update kde submodule pointer; whitespace cleanup in data/scripts/o 2026-08-06 14:06:14 +02:00
Ollie Agent 2e14d2e93b Add o complete and o route subcommands, update table 2026-08-05 19:20:52 +02:00
Ollie Agent 5ab073ebdb fix resolve_context unbound variable when no args 2026-08-04 19:54:48 +02:00
Ollie Agent 0694f47376 o: add trailing session/agent args to prompt, tail, stop, kill, ctl 2026-08-04 19:45:17 +02:00
Ollie Agent f1611fb50b o tui: clear prompt pane before entering REPL 2026-08-04 19:41:14 +02:00
Ollie Agent a5510a7a2b o tui: accept [session] [agent] positional args 2026-08-04 19:40:39 +02:00
Ollie Agent 3a8e3f3c63 o prompt: add /i and /info to inspect agent state 2026-08-04 19:29:57 +02:00
Ollie Agent 8ffbf3b699 o prompt: use . as send trigger, empty lines add newlines 2026-08-04 18:56:47 +02:00
Ollie Agent 19a96ab2de o prompt: fix readline line editing with ANSI prompt
Wrap bold escape sequences in \001/\002 markers so readline
correctly tracks cursor position. Fixes Ctrl+U, Ctrl+W, and
other readline kill commands after typing several characters.
2026-08-04 18:56:19 +02:00
Ollie Agent e375126adf o tui: clear chat pane before tail 2026-08-04 18:54:16 +02:00
Ollie Agent cd18539280 o tui: add /quit and /q slash commands 2026-08-04 18:53:01 +02:00
Ollie Agent 0923633624 o tui: remove shell pane, replace state pane with tmux status bar 2026-08-04 18:52:01 +02:00
Levi Neely 0f29757dac o: add generate command for one-shot prompts
Uses /generate 9P file - no session/agent context needed.
Example: o generate 'explain monads'
2026-08-04 17:25:17 +02:00
Levi Neely 59fb7d5561 o tui: use percentage-based layout instead of fixed sizes
- Right column: 25% width
- State/shell: 50/50 split
- Prompt: 20% height
- Adapts to terminal size
2026-08-04 17:09:53 +02:00
Levi Neely 77d589f98b o tui: filter out [[[...]]] block markers from chat stream 2026-08-04 17:05:52 +02:00
Levi Neely 05517c384a o: simplify path resolution, remove auto-session/agent
- Remove auto-resolution of session/agent (was slow, unexpected)
- Path classification determines required context level immediately
- Errors are fast and actionable with clear fix instructions
- Root-level paths work without any context
- o env now just prints export statements without requiring context
2026-08-04 16:57:01 +02:00
Levi Neely 7189a9fc24 scripts: add 'o write' subcommand 2026-08-03 12:48:08 +02:00
Levi Neely 8f09aa2060 scripts: enable readline in prompt REPL (read -e)
Supports C-a, C-e, C-u, C-k, M-b, M-f, arrow keys, etc.
Sent prompts and slash commands are added to readline history
so up-arrow recalls previous inputs.
2026-08-03 10:09:32 +02:00
Levi Neely 62cfc06a88 scripts: rename blkread → readloop 2026-08-03 10:07:54 +02:00
Levi Neely e726599f84 scripts: add 'o blkread' — blocking read loop for statewait et al 2026-08-03 10:07:10 +02:00
Levi Neely 9c75c1b9aa scripts: fix tui shell cwd to $HOME (fixes .bashrc not found) 2026-08-03 10:04:56 +02:00
Levi Neely d693bd8071 scripts: add 'o tui exit' to kill tmux session 2026-08-03 10:03:47 +02:00
Levi Neely 30621d2ed9 scripts: add 'o kill', slash commands in prompt REPL
o kill: kills the active session.

Prompt REPL now supports slash commands:
  /stop, /compact, /kill, /clear, /model X, /backend X, /cwd X, /help

Slash commands are handled locally without sending to the agent.
2026-08-03 09:56:34 +02:00
Levi Neely ae556a2a3a scripts: add 'o tui' tmux layout and 'o stop' shorthand
o tui: launches a 4-pane tmux layout with:
  - chat stream (left, large)
  - statewait monitor (top-right, reactive)
  - spare shell with session/agent exported (bottom-right)
  - prompt REPL (bottom, full width)

o stop: shorthand for 'o ctl stop' to interrupt a running agent.
2026-08-03 09:55:06 +02:00
Levi Neely 338358fbf3 scripts: replace individual scripts with unified 'o' dispatcher
Single multi-call script with subcommands: read, ls, ctl, prompt,
tail, env. Replaces prompt, ollieread, sendctl, ollie-ls.

Features:
- Env var fallback chain: OLLIE_SESSION_ID → session → positional arg
- Auto-selects first session/agent when none specified
- Multi-line prompt mode (blank line sends)
- Uses immutable IDs in 9P paths (works with alias resolution)
- eval-able 'o env' for shell integration
2026-08-03 09:49:45 +02:00