feat: Add OpenAI spec compliance with developer role and type definitions#22
Open
vapi-tasker[bot] wants to merge 1 commit intomainfrom
Open
feat: Add OpenAI spec compliance with developer role and type definitions#22vapi-tasker[bot] wants to merge 1 commit intomainfrom
vapi-tasker[bot] wants to merge 1 commit intomainfrom
Conversation
…ions - Add MessageRole enum with all valid roles including 'developer' role (required for GPT-5.x and o-series models) - Add OpenAIModel enum with latest model identifiers (GPT-5.2 series, o-series) - Add Message class for structured message creation with validation - Add supports_developer_role() utility for model capability detection - Add deprecation warning for 'function' role (recommend 'tool' instead) - Enhance add_message() with role validation, name, and tool_call_id params - Add say() and end_call() convenience methods - Add comprehensive type hints and docstrings throughout - Add full test coverage for all new functionality - Update Python version support to 3.8+ and add 3.12 support Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR brings the Vapi Python SDK into compliance with the latest OpenAI API specification, adding support for the
developerrole and new model identifiers.Changes
HIGH Priority - Developer Role Support
developerrole toMessageRoleenum - required for GPT-5.x and o-series modelsMEDIUM Priority - Model Sync
OpenAIModelenum with latest models:gpt-5.2,gpt-5.2-chat,gpt-5.2-chat-latest,gpt-5.2-codex)o1,o1-mini,o3,o3-mini,o4-mini)gpt-4.1,gpt-4.1-mini,gpt-4.1-nano)supports_developer_role()utility to check model capabilityDEVELOPER_ROLE_MODELSconstant for referenceLOW Priority - Deprecation Notice
functionrole (recommend usingtoolinstead)Additional Improvements
Messageclass for structured message creation with validationadd_message()withnameandtool_call_idparameters for tool messagessay()convenience method for assistant speechend_call()convenience methodNew Files
vapi_python/types.py- Type definitions and utilitiestests/test_types.py- Tests for type definitionstests/test_vapi.py- Tests for Vapi classpytest.ini- Test configurationBackward Compatibility
functionrole still works (with deprecation warning)Test Plan
MessageRoleenumvalidate_role()functionMessageclassOpenAIModelenumsupports_developer_role()functionVapi.add_message()with all rolesfunctionroleVapi.say()andVapi.end_call()Related Issue
VAP-11729: Audit and update client SDKs against latest OpenAI spec
Generated with Claude Code