avfranco's picture
HF Space deploy snapshot (minimal allow-list)
557ee65
# src/app/__main__.py
import argparse
import sys
import json
import dataclasses
# Deferred import
# from .gradio_app import main
from prompts.store import get_template_store
def handle_prompts(args):
try:
store = get_template_store()
except Exception as e:
print(json.dumps({"error": f"Failed to load templates: {str(e)}"}), file=sys.stderr)
sys.exit(1)
if args.list_prompts:
templates = []
if args.category:
templates = store.list_by_category(args.category)
else:
templates = store.list_templates()
output = {"count": len(templates), "templates": [dataclasses.asdict(t) for t in templates]}
print(json.dumps(output, indent=2))
sys.exit(0)
if args.get_prompt:
template = store.get_template(args.get_prompt)
if not template:
print(json.dumps({"error": f"Template not found: {args.get_prompt}"}), file=sys.stderr)
sys.exit(1)
print(json.dumps(dataclasses.asdict(template), indent=2))
sys.exit(0)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Runner Agentic Intelligence")
parser.add_argument("--list-prompts", action="store_true", help="List all prompt templates")
parser.add_argument("--category", type=str, help="Filter templates by category")
parser.add_argument("--get-prompt", type=str, help="Get a specific prompt template by ID")
# Parse known args to avoid conflict with Gradio or other potential subcommands
args, unknown = parser.parse_known_args()
if args.list_prompts or args.get_prompt:
handle_prompts(args)
else:
from .gradio_app import launch_app
launch_app()