response-compliance
OpenResponses API compliance testing. Use for Response API endpoint tests, compliance runs, schema debugging, response api test, or openresponses test tasks.
Works with
--- name: response-compliance description: OpenResponses API compliance testing. Use for Response API endpoint tests, compliance runs, schema debugging, response api test, or openresponses test tasks. license: Apache-2.0 --- # OpenResponses Compliance Test Run the official OpenResponses compliance test suite against the local (or remote) Response API endpoint. ## Quick Start ```bash # 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](https://github.com/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`
More Testing skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
setup-pre-commit
mattpocock/skills
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

