II.
Page JSON
Structured · livepage:docs-adapters-babysitter-integrations-overview
Overview — Agent-Adapter Babysitter Integration json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-adapters-babysitter-integrations-overview",
"_kind": "Page",
"_file": "wiki/docs/adapters-babysitter-integrations/overview.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/adapters-babysitter-integrations/overview.md",
"sourceKind": "repo-docs",
"title": "Overview — Agent-Adapter Babysitter Integration",
"displayName": "Overview — Agent-Adapter Babysitter Integration",
"slug": "docs/adapters-babysitter-integrations/overview",
"articlePath": "wiki/docs/adapters-babysitter-integrations/overview.md",
"article": "\n# Overview — Agent-Adapter Babysitter Integration\n\n## Goal\n\nAllow babysitter processes to discover what agents and models are available in the environment and dispatch work to them. When adapters is installed, processes gain access to external agents (claude-code, codex, gemini-cli, copilot, etc.) as first-class task targets alongside the internal genty-core session.\n\n## Architecture\n\n**tasks-adapter** is the unified routing hub. The SDK routes ALL task dispatch through tasks-adapter, which decides how to resolve each task based on responder type.\n\n```\nProcess Definition (defineTask)\n │\n ctx.task(myTask)\n │\n ↓ tasks-adapter routes by responderType:\n │\n ├─ responderType: \"internal\" → genty-core session (direct API)\n ├─ responderType: \"human\" → breakpoint → human responder (existing)\n ├─ responderType: \"agent\" → adapters adapter (claude-code, codex, etc.)\n ├─ responderType: \"tracker\" → external issue tracker (Jira, Linear)\n └─ responderType: \"auto\" → tasks-adapter picks best available\n```\n\nThis works identically in both modes:\n- **Standalone** (genty, agent-platform CLI): tasks-adapter resolves directly\n- **Plugin** (inside claude-code, codex): tasks-adapter resolves agent/tracker tasks internally; host-resolvable tasks delegated via stop-hook\n\n## Capability Layers\n\n### Layer 1: Discovery (SDK)\nSDK optionally detects adapters and queries available agents/models. This information is injected into process creation context so the LLM can make informed decisions about task routing.\n\n### Layer 2: Task Definition (SDK)\n`defineTask` gains `responderType` field. Tasks specify what kind of responder they need — internal, human, agent, tracker, or auto. tasks-adapter handles the routing.\n\n### Layer 3: Routing (tasks-adapter)\ntasks-adapter matches tasks to responders based on type, availability, capabilities, and priority. Agent responders wrap adapters adapters. Tracker responders wrap external issue tracker APIs. Human responders use existing breakpoint infrastructure.\n\n### Layer 4: Effect Resolution (agent-platform + tasks-adapter)\nWhen `orchestrateIteration` encounters a task effect, it delegates to tasks-adapter for routing. tasks-adapter resolves via the appropriate backend (adapters, breakpoint, tracker, internal).\n\n### Layer 5: Process Authoring (SDK + agent-platform)\nProcess creation prompts include available responders (agents, humans, trackers) when detected. The LLM chooses routing based on task requirements.\n\n## Key Constraint\n\nAdapters is **optional**. The SDK must work without it. Discovery returns empty results when adapters is not installed. External agent tasks fail with a clear error if adapters is unavailable at runtime.\n\n## Packages Affected\n\n| Package | Changes |\n|---------|---------|\n| `packages/tasks-adapter` | Agent responder backend, task router, responder types, adapters integration |\n| `packages/babysitter-sdk` | Discovery API, responderType on tasks, route through tasks-adapter |\n| `packages/genty/platform` | Effect resolution delegates to tasks-adapter, process prompt updates |\n| `packages/genty/core` | None (internal agent tasks unchanged) |\n| `packages/adapters` | None (existing run/launch API consumed by tasks-adapter) |\n| `packages/adapters/hooks` | Host tool discovery, capability extensions |\n\n## Non-Goals (This Phase)\n\n- Streaming subagent output back to parent in real-time\n- Multi-agent orchestration patterns (group chat, voting across external agents)\n- External agent session continuity (each dispatch is a fresh session)\n- Cost budget enforcement across external dispatches (tracked but not enforced)\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-adapters-babysitter-integrations",
"to": "page:docs-adapters-babysitter-integrations-overview",
"kind": "contains_page"
}
]
}