OpenAPI Toolkit (open_responses_dart)
Uses shared scripts from openapi-toolkit with open_responses_dart-specific configuration.
Prerequisites
- •Python 3.9+ with
pyyamlinstalled- •Important: Install for your active Python version:
python3 -m pip install pyyaml --user - •Verify:
python3 -c "import yaml; print(yaml.__version__)"
- •Important: Install for your active Python version:
- •No API key required to fetch spec (it's public)
- •For integration tests:
OPENAI_API_KEYenvironment variable
Working Directory Requirements
Different scripts require different working directories. See the shared README for details.
| Script | Working Directory |
|---|---|
fetch_spec.py, analyze_changes.py | Repository root |
verify_*.py, generate_*.py | Package root (packages/open_responses_dart) |
Spec Registry
| Spec | Description | Auth Required |
|---|---|---|
main | OpenResponses unified LLM API | No |
Workflow
1. Fetch Latest Spec (REPO ROOT)
cd "$(git rev-parse --show-toplevel)" && \ python3 .claude/shared/openapi-toolkit/scripts/fetch_spec.py \ --config-dir packages/open_responses_dart/.claude/skills/openapi-open-responses/config
Output: /tmp/openapi-open-responses-dart/latest-main.json
1.5. Analyze Changes (REPO ROOT)
Compare old spec vs new spec to find what changed. Specs are auto-located from config:
cd "$(git rev-parse --show-toplevel)" && \ python3 .claude/shared/openapi-toolkit/scripts/analyze_changes.py \ --config-dir packages/open_responses_dart/.claude/skills/openapi-open-responses/config \ --format all
2. Check API Coverage (CRITICAL - PACKAGE ROOT)
Always run coverage check. This catches APIs that exist in the spec but were never implemented. Spec is auto-located:
cd "$(git rev-parse --show-toplevel)/packages/open_responses_dart" && \ python3 ../../.claude/shared/openapi-toolkit/scripts/verify_coverage.py \ --config-dir .claude/skills/openapi-open-responses/config --verbose
If missing resources are found, prioritize implementing them before other updates.
3. Implement Changes
Before implementing, read references/implementation-patterns.md for:
- •Model class structure and conventions
- •Sealed class patterns for polymorphic types
- •Streaming event handling
- •JSON serialization patterns
Use templates from ../../shared/openapi-toolkit/assets/.
3.5 Update Documentation (MANDATORY)
Before running the review checklist, update all documentation:
- •README.md - Add/update new features
- •example/ - Create/update example files
- •CHANGELOG.md - Add entry for new features/changes
4. Review & Validate (MANDATORY - PACKAGE ROOT)
Perform the multi-pass review documented in references/REVIEW_CHECKLIST.md:
# Pass 2: Barrel file verification cd "$(git rev-parse --show-toplevel)/packages/open_responses_dart" && \ python3 ../../.claude/shared/openapi-toolkit/scripts/verify_exports.py \ --config-dir .claude/skills/openapi-open-responses/config # Pass 3: Documentation completeness cd "$(git rev-parse --show-toplevel)/packages/open_responses_dart" && \ python3 ../../.claude/shared/openapi-toolkit/scripts/verify_readme.py \ --config-dir .claude/skills/openapi-open-responses/config cd "$(git rev-parse --show-toplevel)/packages/open_responses_dart" && \ python3 ../../.claude/shared/openapi-toolkit/scripts/verify_examples.py \ --config-dir .claude/skills/openapi-open-responses/config # Pass 4: Property-level verification cd "$(git rev-parse --show-toplevel)/packages/open_responses_dart" && \ python3 ../../.claude/shared/openapi-toolkit/scripts/verify_model_properties.py \ --config-dir .claude/skills/openapi-open-responses/config \ --spec specs/openapi.json # Dart quality checks cd "$(git rev-parse --show-toplevel)/packages/open_responses_dart" && \ dart analyze --fatal-infos && dart format --set-exit-if-changed . && dart test
5. Finalize (REPO ROOT)
cd "$(git rev-parse --show-toplevel)" && \ cp /tmp/openapi-open-responses-dart/latest-main.json packages/open_responses_dart/specs/openapi.json
Package-Specific References
- •Package Guide - Package structure, naming conventions
- •Implementation Patterns - Model conventions, serialization patterns
- •Review Checklist - Multi-pass validation process
External References
Specification
- •OpenResponses Home
- •OpenResponses Specification
- •OpenResponses Changelog
- •OpenResponses OpenAPI Spec
Provider Documentation
- •OpenAI Responses API
- •Vercel AI Gateway
- •vLLM OpenResponses
- •vLLM MCP Tools
- •OpenRouter Responses
- •OpenRouter Reasoning
- •OpenRouter Tool Calling
- •HuggingFace Responses
- •Ollama Compatibility
- •LM Studio
Troubleshooting
- •Network errors: Check connectivity; retry after a few seconds
- •No changes detected: Summary shows all zeros; no action needed
- •Integration test failures: Set
OPENAI_API_KEYenvironment variable