MCPcopy
hub / github.com/lightningpixel/modly / cmd_ensure_server

Function cmd_ensure_server

tools/modly-cli/agent.py:1063–1085  ·  view source on GitHub ↗
(args: argparse.Namespace)

Source from the content-addressed store, hash-verified

1061
1062
1063def cmd_ensure_server(args: argparse.Namespace) -> int:
1064 base_url = args.base_url.rstrip("/")
1065 health = _try_health(base_url, args.request_timeout)
1066 meta = {"dev_only": True, "canonical": False}
1067 if health:
1068 _json_print({"ok": True, "started": False, "base_url": base_url, "health": health, "meta": meta}, compact=args.compact)
1069 return 0
1070 if not args.start:
1071 message = "Modly API is not running; launch Modly or run ensure-server --start"
1072 if args.fail_on_unavailable:
1073 raise ModlyCliError(message, code="API_UNAVAILABLE")
1074 _json_print({"ok": False, "started": False, "base_url": base_url, "error": message, "code": "API_UNAVAILABLE", "message": message, "meta": meta}, compact=args.compact)
1075 return 0
1076 api_dir, _python, env, cmd, resolved_url = _resolve_serve_config(args)
1077 public_env = {k: env.get(k, "") for k in ["MODELS_DIR", "WORKSPACE_DIR", "EXTENSIONS_DIR", "SELECTED_MODEL_ID"]}
1078 if args.print_command:
1079 _json_print({"ok": True, "started": False, "would_start": True, "base_url": resolved_url, "cmd": cmd, "cwd": str(api_dir), "env": public_env, "meta": meta}, compact=args.compact)
1080 return 0
1081 proc = _start_backend(cmd, api_dir=api_dir, env=env, detach=args.detach)
1082 _json_print({"ok": True, "started": True, "pid": proc.pid, "base_url": resolved_url, "cmd": cmd, "cwd": str(api_dir), "env": public_env, "meta": meta}, compact=args.compact)
1083 if not args.detach:
1084 return int(proc.wait())
1085 return 0
1086
1087
1088def cmd_capability_list(args: argparse.Namespace) -> int:

Callers

nothing calls this directly

Calls 5

_try_healthFunction · 0.85
_json_printFunction · 0.85
ModlyCliErrorClass · 0.85
_resolve_serve_configFunction · 0.85
_start_backendFunction · 0.85

Tested by

no test coverage detected