OpenResponses Compliance Test

SkillDev tools

Lets your agent run OpenResponses compliance tests against a Response API endpoint and debug schema failures.

Use OpenResponses Compliance Test in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add OpenResponses Compliance Test and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the OpenResponses Compliance Test skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

OpenResponses Compliance TestStart free
About this skill

Use for OpenResponses/Response API compliance tests, endpoint schema failures and test runs.

What this skill tells your AI

The instructions your AI receives, as published by lobehub/lobehub in .agents/skills/response-compliance/SKILL.md and read by ahel’s review.

Run the official OpenResponses compliance test suite against the local (or remote) Response API endpoint.

Quick Start

# From the openapi package directory
cd packages/openapi

# Run all tests (dev mode, localhost:3010)
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
  --auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1

# Run specific tests only
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
  --auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 \
  --filter basic-response,streaming-response

# Verbose mode (shows request/response details)
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
  --auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 -v

# JSON output (for CI)
APP_URL=http://localhost:3010 bun run test:response-compliance -- \
  --auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1 --json

Prerequisites

  • Dev server running with ENABLE_MOCK_DEV_USER=true in .env
  • The api/v1/responses route registered (via src/app/(backend)/api/v1/[[...route]]/route.ts)

Auth Modes

ModeFlags
Dev (mock user)--auth-header "lobe-auth-dev-backend-api" --no-bearer --api-key 1
API Key--api-key lb-xxxxxxxxxxxxxxxx
Custom--auth-header <name> --api-key <value>

Test IDs

Available --filter values:

IDDescriptionRelated Issue
basic-responseSimple text generation (non-streaming)LOBE-5858
streaming-responseSSE streaming lifecycle + eventsLOBE-5859
system-promptSystem role message handlingLOBE-5858
tool-callingFunction tool definition + call outputLOBE-5860
image-inputMultimodal image URL content—
multi-turnConversation history via input itemsLOBE-5861

Environment Variables

VariableDefaultDescription
APP_URLhttp://localhost:3010Server base URL (auto-appends /api/v1)
API_KEY—API key (alternative to --api-key flag)

How It Works

The script (packages/openapi/scripts/compliance-test.sh) clones the official openresponses/openresponses repo into scripts/openresponses-compliance/ (gitignored) and runs its CLI test runner. First run clones; subsequent runs update from upstream.

Debugging Failures

  1. Run with -v to see full request/response payloads
  2. Common failure patterns:
    • "Failed to parse JSON": Auth failed, server returned HTML redirect
    • "Response has no output items": LLM execution not yet implemented
    • "Expected number, received null": Missing required field in response schema
    • "Invalid input": Zod validation on response schema — check field format

Key Files

  • Types: packages/openapi/src/types/responses.type.ts
  • Service: packages/openapi/src/services/responses.service.ts
  • Controller: packages/openapi/src/controllers/responses.controller.ts
  • Route: packages/openapi/src/routes/responses.route.ts
  • Test script: packages/openapi/scripts/compliance-test.sh
  • Cloud route: src/app/(backend)/api/v1/[[...route]]/route.ts
Advanced
Item type
skill
Key
response-compliance-lobehub
Source
github.com/lobehub/lobehub