(params_json: str | None, params_file: str | None)
| 389 | |
| 390 | |
| 391 | def _parse_params(params_json: str | None, params_file: str | None) -> dict[str, Any]: |
| 392 | if params_file: |
| 393 | text = Path(params_file).expanduser().read_text(encoding="utf-8") |
| 394 | else: |
| 395 | text = params_json or "{}" |
| 396 | try: |
| 397 | parsed = json.loads(text) |
| 398 | except json.JSONDecodeError as exc: |
| 399 | raise ModlyCliError(f"params must be valid JSON: {exc}") from exc |
| 400 | if not isinstance(parsed, dict): |
| 401 | raise ModlyCliError("params must be a JSON object") |
| 402 | return parsed |
| 403 | |
| 404 | |
| 405 | def _choose_auto_model(base_url: str, request_timeout: float) -> str: |
no test coverage detected