summaryrefslogtreecommitdiff
path: root/libpanto/src
diff options
context:
space:
mode:
Diffstat (limited to 'libpanto/src')
-rw-r--r--libpanto/src/public.zig39
1 files changed, 17 insertions, 22 deletions
diff --git a/libpanto/src/public.zig b/libpanto/src/public.zig
index 44d13a9..951bd3a 100644
--- a/libpanto/src/public.zig
+++ b/libpanto/src/public.zig
@@ -220,30 +220,25 @@ pub const NullStore = null_store_mod.NullStore;
pub const FileSystemJSONLStore = fs_store_mod.FileSystemJSONLStore;
// ===========================================================================
-// TRANSITIONAL internal escape hatches (Phase 4 removes these).
+// Deep-embedder escape hatches.
//
-// The `panto` CLI still imports several internal module namespaces directly.
-// Until the CLI is migrated onto the curated surface above, re-expose them
-// here so the library still presents one root. Each of these is a candidate
-// for deletion once the CLI no longer needs it.
-// ===========================================================================
-
-pub const config = config_mod;
-pub const conversation = conversation_mod;
+// The `panto` CLI is a *deep* embedder: it drives the agent loop at a level
+// the curated `Agent`/`Conversation` façades deliberately do not expose
+// (system-prompt seeding through the agent, `compaction_system_prompt`, the
+// injectable `open_stream_fn` test seam, direct `conversation` field access,
+// raw standalone `Conversation` values, `compactAndPersist`, etc.). Rather
+// than inflate the curated surface to cover one in-tree embedder, these two
+// internal namespaces stay reachable for embedders who opt into the
+// unstable internal API. A C-ABI or language binding should use the curated
+// surface above, not these.
+//
+// FLAGGED (see docs/libpanto-cleanup.md): exposing `agent`/`conversation`
+// internals is a known gap between the curated façade and what a deep
+// embedder needs. Revisit if/when the façade grows the missing operations
+// (e.g. `Conversation` standalone construction, agent system-prompt and
+// compaction-prompt plumbing).
pub const agent = agent_mod;
-pub const stream = stream_mod;
-pub const provider = provider_mod;
-pub const tool = tool_mod;
-pub const tool_source = tool_source_mod;
-pub const pricing = pricing_mod;
-pub const session_store = session_store_mod;
-pub const session_manager = fs_store_mod;
-pub const null_store = null_store_mod;
-// Freestanding result-part helpers, superseded by `ResultParts`. The CLU's
-// Lua bridge still calls these directly; Phase 4 migrates it to `ResultParts`.
-pub const freeResultParts = tool_mod.freeResultParts;
-pub const textResult = tool_mod.textResult;
-pub const ownedTextResult = tool_mod.ownedTextResult;
+pub const conversation = conversation_mod;
// ===========================================================================
// Tests