MCPcopy Create free account
hub / github.com/CommonstackAI/UncommonRoute / _cmd_route

Function _cmd_route

uncommon_route/cli.py:420–548  ·  view source on GitHub ↗
(args: list[str])

Source from the content-addressed store, hash-verified

418
419
420def _cmd_route(args: list[str]) -> None:
421 flags, rest = _parse_flags(args, {
422 "system-prompt": True,
423 "max-tokens": True,
424 "mode": True,
425 "json": False,
426 "no-feedback": False,
427 })
428
429 prompt = " ".join(rest)
430 if not prompt:
431 print("Error: no prompt provided", file=sys.stderr)
432 sys.exit(1)
433
434 system_prompt = str(flags["system-prompt"]) if "system-prompt" in flags else None
435 max_tokens = int(flags.get("max-tokens", 4096))
436 if "mode" in flags:
437 mode_flag = str(flags["mode"]).strip().lower()
438 else:
439 from uncommon_route.routing_config_store import RoutingConfigStore
440 mode_flag = RoutingConfigStore().default_mode().value
441 output_json = bool(flags.get("json", False))
442 no_feedback = bool(flags.get("no-feedback", False))
443
444 from uncommon_route.router.types import RoutingInfeasibleError, RoutingMode
445
446 try:
447 routing_mode = RoutingMode(mode_flag)
448 except ValueError:
449 print(
450 "Error: --mode must be one of auto, fast, best",
451 file=sys.stderr,
452 )
453 sys.exit(1)
454
455 start = time.perf_counter_ns()
456 try:
457 decision = route(
458 prompt,
459 system_prompt=system_prompt,
460 max_output_tokens=max_tokens,
461 routing_mode=routing_mode,
462 )
463 except RoutingInfeasibleError as exc:
464 detail = exc.infeasibility.as_dict()
465 if output_json:
466 print(json.dumps({"error": detail}, indent=2))
467 else:
468 print(f" Error: {detail['message']}", file=sys.stderr)
469 if detail.get("failed_constraints"):
470 print(
471 " Constraints: "
472 + ", ".join(str(tag) for tag in detail["failed_constraints"]),
473 file=sys.stderr,
474 )
475 if detail.get("missing_capabilities"):
476 print(
477 " Missing: "

Callers 1

mainFunction · 0.85

Calls 9

RoutingConfigStoreClass · 0.90
RoutingModeClass · 0.90
routeFunction · 0.90
extract_featuresFunction · 0.90
_parse_flagsFunction · 0.85
_apply_feedbackFunction · 0.85
default_modeMethod · 0.80
getMethod · 0.45
as_dictMethod · 0.45

Tested by

no test coverage detected