API Module

atloop API - unified interface for CLI and future HTTP API (uses varlord via ConfigLoader).

class atloop.api.TaskRunner(atloop_dir: str | None = None)[source]

Bases: object

Task runner - single responsibility: execute tasks (uses varlord via ConfigLoader).

__init__(atloop_dir: str | None = None)[source]

Initialize runner.

execute(goal: str, workspace_root: str | None = None, upload_workspace: bool | None = None, budget: Dict[str, int] | None = None) Dict[str, Any][source]

Execute task - single method.

Parameters:
  • goal – Task goal/prompt

  • workspace_root – Workspace root directory (overrides config default)

  • upload_workspace – Whether to upload workspace files to sandbox (overrides config default)

  • budget – Optional budget override

Returns:

Execution result

TaskRunner

class atloop.api.runner.TaskRunner(atloop_dir: str | None = None)[source]

Bases: object

Task runner - single responsibility: execute tasks (uses varlord via ConfigLoader).

__init__(atloop_dir: str | None = None)[source]

Initialize runner.

execute(goal: str, workspace_root: str | None = None, upload_workspace: bool | None = None, budget: Dict[str, int] | None = None) Dict[str, Any][source]

Execute task - single method.

Parameters:
  • goal – Task goal/prompt

  • workspace_root – Workspace root directory (overrides config default)

  • upload_workspace – Whether to upload workspace files to sandbox (overrides config default)

  • budget – Optional budget override

Returns:

Execution result

Functions

atloop.api.runner.load_task_spec(goal: str, workspace_root: str, budget: Dict[str, int] | None = None) TaskSpec[source]

Load task specification.

Parameters:
  • goal – Task goal

  • workspace_root – Workspace root directory

  • budget – Budget dictionary

Returns:

TaskSpec instance