diff options
| author | t <t@tjp.lol> | 2026-06-07 14:49:20 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-06-07 14:49:20 -0600 |
| commit | 1eddee33902757f7e06993825a3ad1011e7ec346 (patch) | |
| tree | 37671194f5b15f542cfcb8ed69b46bc21196afa5 /src/command.zig | |
| parent | 11818552dad254649af012df3b4277633943d2b6 (diff) | |
Plug the deep-embedder holes; remove public.zig escape hatch
Close the gap that forced the CLI to import internal libpanto namespaces,
then delete the transitional re-exports. The CLI now uses only the curated
public surface.
Additions to the public Agent facade:
- init/deinit (heap-pin the inner; the handle is a copyable value).
- addSystemMessage (.append) and setSystemPrompt (.replace).
- compact(override_system_prompt, extra) falling back to the config prompt.
- sessionId() accessor.
CompactionConfig gains compaction_prompt, which owns the compaction system
prompt for both auto-compaction and the explicit compact() default; the
Agent.compaction_system_prompt field is deleted. ConversationData is the
public name for the owned conversation value type (Session.load returns it,
Agent.init adopts it), distinct from the borrowed Conversation handle.
Agent.addSystemMessage/setSystemPrompt are kept on Agent (they persist with
the SystemMode) rather than dropped as the plan first proposed.
Diffstat (limited to 'src/command.zig')
| -rw-r--r-- | src/command.zig | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/command.zig b/src/command.zig index 49ad5b8..0f6fb01 100644 --- a/src/command.zig +++ b/src/command.zig @@ -32,10 +32,10 @@ const panto = @import("panto"); pub const Context = struct { allocator: std.mem.Allocator, - /// The active agent. Owns the conversation (`agent.conversation`) and - /// the session store (`agent.session_store`); commands reach both - /// through it rather than holding separate pointers. - agent: *panto.agent.Agent, + /// The active agent (a copyable public handle). Commands reach the + /// conversation via `agent.conversation()` and compact via + /// `agent.compact(...)`. + agent: panto.Agent, /// REPL output writer and its backing file writer (for flushing). stdout: *std.Io.Writer, |
