Agent Providers banner
overnightworks overnightworks

Agent Providers

Development community

Description

Agent provider layer (Claude, Grok, Codex over subscription-login CLIs / APIs): routing, live catalogs, turn stream, tool loop, bounded process runner, status probes, sandbox building blocks. Extracted from songmaker (#825).

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

agent-providers

The reusable agent provider layer: it routes a turn to Claude, Grok or Codex — over each provider's CLI or its HTTP API — and owns the machinery a host application should not rebuild. Live model catalogs and readiness probes, the streaming turn transport, the tool loop, a bounded subprocess runner, and the sandbox directory-name constants all live here; everything that touches a host's own truth reaches the library through the ports the host supplies.

Distribution `overnightworks-agent-providers`, import package `agent_providers`.

What it owns, and what it leaves to the host

It owns the machinery that is the same in every deployment:

Module Owns
agent_providers.config The deployment facts every module reads, installed once per process via configure()
agent_providers.catalog Live provider/route readiness probes and model listings (probe_provider_route, list_provider_models)
agent_providers.dispatch Routing one turn to a provider and route, and the cover-image capability
agent_providers.events The StreamEvent union a turn emits (assistant text, tool call, tool result, final)
agent_providers.tool_loop The provider-agnostic tool loop driving a ToolExecutor over a ToolTransport
agent_providers.tools The ToolCatalog and its Anthropic/OpenAI schema projections
agent_providers.process run_cli_bounded: the one bounded subprocess layer (start, stdin, first line, deadline, process-group cleanup)
agent_providers.images The ImagePolicy an image turn is held to
agent_providers.sandbox The directory-name prefix constants a host's kernel sandbox profile must permit

It leaves the application everything the library cannot know: the MCP tool set and its execution, the prompts, where settings are stored, and domain ownership. The library depends on `pydantic`, `httpx` and `anyio` at runtime and on nothing else — no host application, no web framework, no d