MCPcopy
hub / github.com/HKUDS/OpenHarness / _build_dry_run_preview

Function _build_dry_run_preview

src/openharness/cli.py:396–595  ·  view source on GitHub ↗
(
    *,
    prompt: str | None,
    cwd: str,
    model: str | None,
    max_turns: int | None,
    base_url: str | None,
    system_prompt: str | None,
    append_system_prompt: str | None,
    api_key: str | None,
    api_format: str | None,
    permission_mode: str | None,
)

Source from the content-addressed store, hash-verified

394
395
396def _build_dry_run_preview(
397 *,
398 prompt: str | None,
399 cwd: str,
400 model: str | None,
401 max_turns: int | None,
402 base_url: str | None,
403 system_prompt: str | None,
404 append_system_prompt: str | None,
405 api_key: str | None,
406 api_format: str | None,
407 permission_mode: str | None,
408) -> dict[str, object]:
409 from openharness.api.provider import auth_status, detect_provider
410 from openharness.commands import create_default_command_registry
411 from openharness.config import get_config_file_path, load_settings
412 from openharness.mcp.config import load_mcp_server_configs
413 from openharness.plugins import load_plugins
414 from openharness.prompts.context import build_runtime_system_prompt
415 from openharness.skills import load_skill_registry
416 from openharness.tools import create_default_tool_registry
417 from openharness.ui.runtime import _resolve_api_client_from_settings
418
419 resolved_cwd = str(Path(cwd).expanduser().resolve())
420 settings = load_settings().merge_cli_overrides(
421 model=model,
422 max_turns=max_turns,
423 base_url=base_url,
424 system_prompt=system_prompt,
425 api_key=api_key,
426 api_format=api_format,
427 permission_mode=permission_mode,
428 )
429 provider = detect_provider(settings)
430 auth = auth_status(settings)
431 profile_name, profile = settings.resolve_profile()
432
433 plugins = load_plugins(settings, resolved_cwd)
434 plugin_commands = [
435 command
436 for plugin in plugins
437 if plugin.enabled
438 for command in plugin.commands
439 ]
440 command_registry = create_default_command_registry(plugin_commands=plugin_commands)
441 command_match = command_registry.lookup(prompt) if prompt else None
442 skill_registry = load_skill_registry(resolved_cwd, settings=settings)
443 skills = skill_registry.list_skills()
444 mcp_servers = load_mcp_server_configs(settings, plugins)
445 tool_registry = create_default_tool_registry()
446 tool_schemas = []
447 for tool_schema in tool_registry.to_api_schema():
448 args_preview = _schema_argument_preview(tool_schema)
449 tool_schemas.append(
450 {
451 "name": str(tool_schema.get("name") or ""),
452 "description": str(tool_schema.get("description") or ""),
453 **args_preview,

Callers 1

mainFunction · 0.85

Calls 15

load_settingsFunction · 0.90
detect_providerFunction · 0.90
auth_statusFunction · 0.90
load_pluginsFunction · 0.90
load_skill_registryFunction · 0.90
load_mcp_server_configsFunction · 0.90
get_config_file_pathFunction · 0.90
_schema_argument_previewFunction · 0.85

Tested by

no test coverage detected