Expand description
Composition root for oxi-cli.
Wires concrete file-based port implementations (from oxi-fs) to the
Oxi engine. Future run modes (TUI / print / RPC) build on top of
the Oxi produced here.
§Migration note
The legacy App struct in lib.rs is the single-user interactive
composition (TUI-driven, in-process). This module is the
port-based composition: a Oxi engine with persistence, auth,
config, and skills wired via oxi_sdk::OxiBuilder::with_port_*.
Both paths are expected to coexist during the migration. New run modes
should consume build_oxi(...) from this module; the legacy App
path remains for the interactive TUI until it is fully migrated.
Structs§
- OxiPaths
- Resolved paths under the oxi home directory.
Functions§
- build_
memory_ recall - Build a project-memory recall block for injection into the system prompt. Returns an empty string when no memories exist.
- build_
oxi - Build an
Oxiengine wired with file-based port implementations. - build_
oxi_ with_ catalog - Build an
Oxiengine with a custom catalog config. Useful for tests (e.g. pointing the catalog at a tempdir). - create_
memory_ backend - Create a memory backend if memory is enabled in settings.
Returns
Nonewhenmemory_enabledis false or the database cannot be opened. - session_
reflect - Store a session summary into the memory backend.
- spawn_
catalog_ event_ logger - Spawn a background task that drains the catalog event channel and logs
at info level. The returned
JoinHandlecan be dropped (the task runs for the lifetime of the program — it owns its Receiver clone).