The IO Subsystem is SRE's gateway to the outside world. It provides a set of unified, connector-based services for all input and output operations. This ensures that the core agent logic remains decoupled from the specific implementation details of any external data source or sink.
All services within the IO subsystem are accessed via the SRE.IO namespace.
The Storage service provides a generic interface for block storage operations (reading, writing, and listing files). It is the primary way agents persist and retrieve data like documents, logs, and other artifacts.
IStorageConnectorConnectorService.getStorageConnector()LocalStorageConnector, S3StorageConnectorThe VectorDB service provides an interface for storing and querying vector embeddings, which is essential for semantic search, RAG (Retrieval-Augmented Generation), and long-term memory for agents.
IVectorDBConnectorConnectorService.getVectorDBConnector()PineconeConnector, MilvusConnector, RAMVecConnector (for in-memory operations)The NKV service provides a simple interface for a namespaced key-value store, suitable for metadata, session information, or other non-hierarchical data.
INKVRequestConnectorService.getNKVConnector()NKVRAM, NKVRedis, NKVLocalStorageget(namespace, key): Retrieve a value.set(namespace, key, value): Store a value.list(namespace): List all keys in a namespace.delete(namespace, key): Remove a key.The CLI service parses and manages command-line arguments passed to the SRE process. It provides a standard way to access runtime flags and parameters.
CLIConnectorConnectorService.getCLIConnector()CLIConnectorconst cli = ConnectorService.getCLIConnector();
const args = cli.get(['mode', 'port']);
// args = { mode: 'dev', port: 3000 }
The Router service handles HTTP requests. Note: SRE typically does not handle HTTP requests directly (this is usually the role of the embedding application). This connector is primarily used to serve temporary files or expose internal endpoints when necessary.
RouterConnectorConnectorService.getRouterConnector()ExpressRouter, NullRouter