feat(lib): implement A-4 M0~M1 BaseAgentAdapter pattern and resolve_home contract
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# __main__.py — CLI bridge for lib_py.agents facts and resolution (N4)
|
||||
|
||||
import sys, json
|
||||
from lib_py.agents.registry import get_adapter, own_key, agent_of_row
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: python -m lib_py.agents <facts|resolve> [args...]", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
cmd = sys.argv[1]
|
||||
if cmd == 'facts':
|
||||
agent_name = sys.argv[2] if len(sys.argv) > 2 else ''
|
||||
adapter = get_adapter(agent_name)
|
||||
if not adapter:
|
||||
print(f"ERROR: Unknown agent {agent_name!r}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
# Emit shell-eval friendly facts
|
||||
print(f"AGENT_NAME={adapter.name}")
|
||||
print(f"OWN_KEY={adapter.own_key}")
|
||||
|
||||
elif cmd == 'resolve':
|
||||
name = sys.argv[2] if len(sys.argv) > 2 else ''
|
||||
resolved = agent_of_row({}, session_name=name)
|
||||
if resolved:
|
||||
print(resolved)
|
||||
sys.exit(0)
|
||||
sys.exit(1)
|
||||
|
||||
else:
|
||||
print(f"ERROR: Unknown CLI command {cmd!r}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user