Minor release: companion memory-source ingestion — point the companion at your own Markdown notes ("bring your own knowledge base"). Additive only: no changes to existing behavior, no breaking changes.
Added
- companion: memory-source ingest library API —
ingest_from_dirandingest_sourcesintokenpak.companion.memory.lesson_ingestingest lessons from arbitrary directories of Markdown notes (scanned recursively), independent of the built-in memory schema.ingest_sourcesreturns a per-source status report whosereasondistinguishes no source configured from missing / not-a-directory / present but no matching files / ok. - companion:
TOKENPAK_COMPANION_MEMORY_DIRSconfiguration — an OS-path-separator- or comma-separated list of extra memory directories, parsed intoCompanionConfig.memory_dirs(~expanded; empty entries dropped; fail-open, never raises). - companion (MCP): the
session_infotool now reports the configuredmemory_dirsand surfaces a hint when no memory source is set, so an empty ingest is self-explaining.
Tests & docs
tests/test_companion_memory_source.py— coverage for the env-var parser,ingest_from_dir, and theingest_sourcesstatus contract.- Companion guide: a "Memory sources — bring your own knowledge base" section documenting the env var, the library API, and the MCP surface.
Internal
- Regenerated the public-API snapshot. Beyond the companion additions above,
this is a ratchet correction that absorbs already-public
tokenpak.proxysymbols the committed snapshot had drifted from — no new public API in this release other than the companion additions.