ToolArtifact / BaseToolLibrary seam for procedural documents
and executable source. SqliteToolLibrary(path, namespace=...) is an owned local
SQLite implementation: close it or use a context manager. The caller selects a
trusted private database path. Namespace labels isolate records, not operating
system users who can read that same file.
add_or_update(..., expected_version=...) atomically publishes a new immutable
revision and detects stale writers. catalog returns descriptions without bodies;
get and get_version load complete selected bodies. Selection, validation,
trust, code execution and retention policy remain the agent author’s decisions.
The library never executes a program and is not a permission bypass. Store JSON
metadata such as source, checker digest and ArtifactRef declarations; never live
clients, credentials or Python callables. Rejecting invalid data does not repair it.
The Hermes and Voyager courses use the same store for different payloads. Neither
silently shortens a selected skill to fit a prompt: request budgets must fit it or
fail explicitly. Existing in-memory implementations remain usable through the same
base seam; this is not a new root-level export.
MemdirMemory.delete(record_id) forgets a local hashed record and its index entry.
Missing identities return false; malformed or symlink-backed resources are rejected.
It is not secure erasure, historical trajectory deletion, a multi-file transaction,
or a concurrent-writer protocol. Reopening a memory root does not initialize it.
Hermes course · Voyager course
The source links below pin immutable implementation commits. Install a wheel built
from the matching repository source; this is not a separate PyPI release.
ToolArtifact
BaseToolLibrary
BaseToolLibrary.get
Source
BaseToolLibrary.search
Source
BaseToolLibrary.add_or_update
Source
SqliteToolLibrary
SqliteToolLibrary.add_or_update
Source
SqliteToolLibrary.get
Source
SqliteToolLibrary.get_version
Source
SqliteToolLibrary.catalog
SqliteToolLibrary.search
Source
SqliteToolLibrary.deprecate
Source
SqliteToolLibrary.close
ToolLibraryError
MemdirMemory
MemdirMemory.append
Source
MemdirMemory.retrieve
Source
