Spaces:
Sleeping
Sleeping
File size: 1,658 Bytes
ce45eb0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | """matrix-context CLI entry point."""
from __future__ import annotations
import argparse
import sys
from . import commands
def build_parser() -> argparse.ArgumentParser:
p = argparse.ArgumentParser(prog="matrix-context",
description="Local-first context plane for agents.")
p.add_argument("--db", default="matrix-context.db", help="SQLite path")
sub = p.add_subparsers(dest="cmd", required=True)
sub.add_parser("init", help="initialize a local store")
sp = sub.add_parser("remember", help="write a memory item")
sp.add_argument("content")
sp.add_argument("--expert", default="semantic")
sp.add_argument("--scope", default="/")
sp.add_argument("--importance", type=float, default=0.5)
sp = sub.add_parser("ingest", help="ingest a text/markdown file")
sp.add_argument("path"); sp.add_argument("--scope", default="/")
for name in ("recall", "pack", "inspect"):
sp = sub.add_parser(name, help=f"{name} context for a query")
sp.add_argument("query")
sp.add_argument("--scope", default="/")
sp.add_argument("--max-tokens", type=int, default=600)
sp.add_argument("--top-experts", type=int, default=2)
sp = sub.add_parser("serve", help="run the REST API (v1) or MCP server")
sp.add_argument("--transport", default="rest", choices=["rest", "stdio", "http"])
sp.add_argument("--host", default="127.0.0.1"); sp.add_argument("--port", type=int, default=8088)
return p
def main(argv=None) -> int:
args = build_parser().parse_args(argv)
return commands.dispatch(args)
if __name__ == "__main__":
sys.exit(main())
|