symfonic.agent.cli.main¶
main ¶
Symfonic agent CLI.
Commands
chat -- Run a single query against the agent. migrate -- Placeholder for future HMS data migration.
Usage
python -m symfonic.agent.cli.main chat "Hello" --tenant-id t1 symfonic chat "Hello" --tenant-id t1 symfonic migrate old://db new://db
chat ¶
chat(query: Annotated[str, Argument(help='Query to send to the agent.')], tenant_id: Annotated[str, Option('--tenant-id', help='Tenant identifier (required).')], dsn: Annotated[str | None, Option('--dsn', help='Postgres DSN for persistent memory.')] = None, model: Annotated[str, Option('--model', help='Model provider name (default: mock).')] = 'mock', enable_hms: Annotated[bool, Option('--enable-hms', help='Enable HMS-aware system prompt.')] = False, domain: Annotated[str, Option('--domain', help="Domain template name. Use 'default' for generic agent. Custom domains should be injected programmatically.")] = 'default') -> None
Run a single query against the Symfonic agent.
This command is a mapper: it decodes the arguments, hands them to
:func:symfonic.cli.chat.run_chat, and formats the result. Which runtime
executes the turn -- the public symfonic.Agent facade for a plain
invocation, SymfonicAgent when HMS memory, a named domain, or a DSN is
asked for -- is decided there, where it can be tested without a CLI runner.
Source code in src/symfonic/agent/cli/main.py
examples_add ¶
examples_add(name: Annotated[str, Argument(help="Example to copy (see 'symfonic examples list').")], dest: Annotated[Path, Option('--dir', '-d', help='Destination directory (default: cwd).')] = Path('.'), force: Annotated[bool, Option('--force', help='Overwrite an existing target directory.')] = False) -> None
Copy a curated example into <dir>/<name>/ and print how to run it.
Source code in src/symfonic/agent/cli/main.py
examples_list ¶
List the curated examples available to copy.
Source code in src/symfonic/agent/cli/main.py
guide ¶
Print the agent quick reference (decision tree, imports, footguns).
The reference (AGENTS.md) ships inside the wheel, so this works offline
with no repo checkout -- the canonical entry point for an agent or person
figuring out how to build with symfonic-core from an installed package.
Source code in src/symfonic/agent/cli/main.py
migrate ¶
migrate(source_uri: Annotated[str, Argument(help='Source data URI.')], target_uri: Annotated[str, Argument(help='Target data URI.')]) -> None
Migrate HMS data between storage backends (stub).