This repository has been archived on 2026-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
ollie-core/agent
Levi Neely 8e4cdaa4bd session: extract agent/ as separate package
Agent is now in ollie/agent with proper encapsulation:
- Unexported fields, exported methods as the API
- Own constructor (agent.NewAgent)
- Owns: turn execution, history, runtime, hooks, commands, compaction
- Session never reaches into agent internals

Session (ollie/session) is a thin host:
- Owns: persistence, session ID, env, detach delegation
- Delegates all agent operations through exported Agent methods
- handleCommand dispatches to agent.HandleCommand for agent-level commands

Agent-level commands (/model, /backend, /compact, /agent, etc.) live
in agent/commands.go and access internals directly (same package).

Session-level commands (/sessions, /save, /resume, /cwd, /help)
remain in session/commands.go.

Test files temporarily removed pending rewrite against new API.
The fifo_test.go passes as a sanity check.
2026-07-29 21:43:49 +02:00
..
agent.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
agent_config.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
build_runtime.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
commands.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
compaction.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
config_paths.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
cost.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
fifo.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
fifo_test.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
history.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
hooks.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
loop.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
new.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
prompt_resolver.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
runtime.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
state.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
turn.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00
usage_log.go session: extract agent/ as separate package 2026-07-29 21:43:49 +02:00