lobehub

response-compliance

This skill runs the official OpenResponses compliance test suite against a local or remote Response API endpoint. It verifies API endpoint behavior, supports schema debugging, and enables compliance runs with configurable authentication and filtering options. Developers use it to validate Response API implementations during development and testing.

lobehub 83.447 16.019 Actualitzat fa 4 mesos
GitHub

Instal·la

npx skillscat add lobehub/lobehub/response-compliance

Instal·la des del registre de SkillsCat.

Sobre aquest skill

This skill runs the official OpenResponses compliance test suite against a local or remote Response API endpoint. It verifies API endpoint behavior, supports schema debugging, and enables compliance runs with configurable authentication and filtering options. Developers use it to validate Response API implementations during development and testing.

SKILL.md

OpenResponses Compliance Test

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

Mode Flags
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:

ID Description Related Issue
basic-response Simple text generation (non-streaming) LOBE-5858
streaming-response SSE streaming lifecycle + events LOBE-5859
system-prompt System role message handling LOBE-5858
tool-calling Function tool definition + call output LOBE-5860
image-input Multimodal image URL content —
multi-turn Conversation history via input items LOBE-5861

Environment Variables

Variable Default Description
APP_URL http://localhost:3010 Server base URL (auto-appends /api/v1)
API_KEY — API 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