OpenResponses Compliance Test

SkillProductivity

Lets your agent run compliance tests and debug schemas against the OpenResponses API endpoint.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the OpenResponses Compliance Test skill

About this capability

OpenResponses API compliance testing. Use for Response API endpoint tests, compliance runs, schema debugging, response api test, or openresponses test tasks.

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 lobehub/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_KEYAPI key (alternative to --api-key flag)

How It Works

The script (lobehub/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: lobehub/packages/openapi/src/types/responses.type.ts
  • Service: lobehub/packages/openapi/src/services/responses.service.ts
  • Controller: lobehub/packages/openapi/src/controllers/responses.controller.ts
  • Route: lobehub/packages/openapi/src/routes/responses.route.ts
  • Test script: lobehub/packages/openapi/scripts/compliance-test.sh
  • Cloud route: src/app/(backend)/api/v1/[[...route]]/route.ts

Signals

GitHub stars
82k
Forks
16k
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
response-compliance-lobehub
Source
github.com/lobehub/lobehub