personal memory agent
at main 57 lines 1.8 kB view raw
1# SPDX-License-Identifier: AGPL-3.0-only 2# Copyright (c) 2026 sol pbc 3 4"""CLI for inspecting journal configuration. 5 6Shows the resolved journal configuration as JSON, or prints the journal path. 7 8Usage: 9 sol config Show full config JSON 10 sol config env Show journal path 11 sol config facet rename OLD NEW Rename a facet 12""" 13 14from __future__ import annotations 15 16import argparse 17import json 18import sys 19 20from think.utils import get_config, get_journal_info, setup_cli 21 22 23def main() -> None: 24 parser = argparse.ArgumentParser(description="Show journal configuration") 25 subparsers = parser.add_subparsers(dest="subcommand") 26 subparsers.add_parser("env", help="Show journal path and source") 27 28 # facet subcommand with its own sub-subcommands 29 facet_parser = subparsers.add_parser("facet", help="Facet management") 30 facet_sub = facet_parser.add_subparsers(dest="facet_action") 31 rename_parser = facet_sub.add_parser("rename", help="Rename a facet") 32 rename_parser.add_argument("old_name", help="Current facet name") 33 rename_parser.add_argument("new_name", help="New facet name") 34 35 args = setup_cli(parser) 36 37 if args.subcommand == "env": 38 path, _source = get_journal_info() 39 print(path) 40 elif args.subcommand == "facet": 41 if args.facet_action == "rename": 42 from think.facets import rename_facet 43 44 try: 45 rename_facet(args.old_name, args.new_name) 46 except ValueError as exc: 47 print(f"Error: {exc}", file=sys.stderr) 48 sys.exit(1) 49 else: 50 facet_parser.print_help() 51 else: 52 config = get_config() 53 print(json.dumps(config, indent=2)) 54 55 56if __name__ == "__main__": 57 main()