Holographic has a standalone third-party maintainer (itpartypattaya) and a reviewed catalog entry, so it leaves core now rather than on Oct 15. Restores9e827685f2exactly: reverts the revert (435b7bd3a7) and its health waivers (b9ecc727e9). byterover and retaindb have no maintainer and stay bundled until the announced date.
35 lines
1.7 KiB
Python
35 lines
1.7 KiB
Python
"""``hermes memory`` subcommand parser."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Callable
|
|
|
|
from hermes_cli.subcommands._shared import add_yes_flag
|
|
|
|
|
|
def build_memory_parser(subparsers, *, cmd_memory: Callable) -> None:
|
|
"""Attach the ``memory`` subcommand to ``subparsers``."""
|
|
memory_parser = subparsers.add_parser(
|
|
"memory", help="Configure external memory provider",
|
|
description="Set up and manage external memory provider plugins.\n\n"
|
|
"Bundled providers: retaindb, byterover.\n"
|
|
"Catalog providers (e.g. honcho, hindsight, supermemory,\n"
|
|
"mem0, openviking, holographic): hermes plugins install <name>.\n\n"
|
|
"Only one external provider can be active at a time.\n"
|
|
"Built-in memory (MEMORY.md/USER.md) is always active.")
|
|
memory_sub = memory_parser.add_subparsers(dest="memory_command")
|
|
_setup_parser = memory_sub.add_parser(
|
|
"setup", help="Interactive provider selection and configuration")
|
|
_setup_parser.add_argument(
|
|
"provider", nargs="?", default=None,
|
|
help="Provider to configure directly (e.g. honcho), skipping the picker")
|
|
memory_sub.add_parser("status", help="Show current memory provider config")
|
|
memory_sub.add_parser("off", help="Disable external provider (built-in only)")
|
|
_reset_parser = memory_sub.add_parser(
|
|
"reset", help="Erase all built-in memory (MEMORY.md and USER.md)")
|
|
add_yes_flag(_reset_parser)
|
|
_reset_parser.add_argument(
|
|
"--target", choices=["all", "memory", "user"], default="all",
|
|
help="Which store to reset: 'all' (default), 'memory', or 'user'")
|
|
memory_parser.set_defaults(func=cmd_memory)
|