Skip to main content

Documentation Index

Fetch the complete documentation index at: https://ade-app.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

OpenAI key verification improvements, scoped OpenCode tool selection, isolated server launches, provider UI polish, and ADE CLI schema sanitization.

OpenAI Key Verification

Responses-based verification

OpenAI API key verification now uses POST /v1/responses with a lightweight ping model instead of the previous approach. The verifier tries gpt-5-nano first, then falls back to gpt-5-mini, and can distinguish between model-availability errors and genuinely invalid keys. A secondary model-list fallback check provides additional resilience.

Richer error classification

Auth detection now separates “key is invalid” from “key is valid but the requested model is unavailable,” preventing false negatives during provider health checks.

OpenCode Tool Selection

Scoped ADE CLI tool resolution

New tool selection pipeline for OpenCode sessions: buildFallbackToolSelection, buildScopedMcpToolSelection, and resolveScopedMcpToolSelection ensure each session gets exactly the tools it needs based on the current ADE CLI configuration.

Automatic tool refresh

refreshOpenCodeSessionToolSelection is now called before every prompt — both streaming sessions and one-shot runOpenCodeTextPrompt calls — ensuring tool availability stays current as ADE CLI connect and disconnect.

Agent and coordinator integration

agentChatService and coordinatorAgent both refresh tool selection before dispatching prompts, so multi-agent workflows always operate with up-to-date tool sets.

Isolated OpenCode Server Launches

XDG-style isolation

openCodeServerManager now builds an isolated launch spec for each OpenCode server process using child_process.spawn with XDG-style directory isolation. Inherited OPENCODE_* environment variables are sanitized to prevent config leakage between server instances.

Binary resolution

Server launch now resolves the OpenCode binary via resolveOpenCodeBinaryPath, supporting both user-installed PATH binaries and bundled fallbacks with consistent behavior.

Test hooks

New test utilities (__setOpenCodeServerLauncherForTests, __buildOpenCodeServeLaunchSpecForTests) allow unit tests to verify launch behavior without spawning real processes.

Provider Settings UI

OpenCode runtime status

The Providers section in Settings now surfaces OpenCode runtime status inline. API and local model sections are disabled when the OpenCode binary is missing, with clear messaging about why.

Verification badges

Provider keys now show verification badges on successful validation and failure state indicators when verification fails. Verification state is cleared after saving new keys, and changing keys triggers an automatic refresh of the OpenCode inventory.

ADE CLI Schema Sanitization

Recursive schema normalization

A new sanitizeToolSchema function in the ADE CLI recursively fixes and normalizes tool JSON Schemas before they’re sent to providers. The sanitizer:
  • Adds missing items on array types and properties on object types
  • Ensures required arrays include all declared properties
  • Recurses through anyOf, oneOf, and allOf branches
This prevents strict-provider rejections (notably OpenAI) when ADE CLI tools expose schemas with missing required fields.

Tests

  • Expanded authDetector tests covering the new responses-based verification, model fallback, and error classification paths
  • New openCodeRuntime tests validating scoped tool selection and streaming prompt behavior
  • New openCodeServerManager tests verifying isolated launch specs, env sanitization, and binary resolution