feat: Add OpenAI spec compliance with developer role support#36
Open
vapi-tasker[bot] wants to merge 1 commit intomainfrom
Open
feat: Add OpenAI spec compliance with developer role support#36vapi-tasker[bot] wants to merge 1 commit intomainfrom
vapi-tasker[bot] wants to merge 1 commit intomainfrom
Conversation
- Add `developer` role to message types for GPT-5.x and o-series models - Create src/types/openai.ts with MessageRole, OpenAIModel, and utilities - Update ConversationMessageProps and ChatMessage interfaces - Add validation utilities: isValidRole, supportsDeveloperRole, validateRole - Add deprecation notice for 'function' role (recommend 'tool') - Export new types from main index - Add comprehensive Playwright tests for new functionality - Bump version to 0.2.0 This change enables the SDK to work with OpenAI's GPT-5.x and o-series models which require the `developer` role for system-level instructions. Co-Authored-By: Claude <[email protected]>
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
developerrole to message types for GPT-5.x and o-series models (HIGH priority)src/types/openai.tsConversationMessagePropsandChatMessageinterfaces to includedeveloperroleisValidRole,supportsDeveloperRole,validateRolefunctionrole (recommend usingtoolinstead)Technical Details
New Types Added (
src/types/openai.ts)MessageRoleconst object with all valid roles includingdeveloperOpenAIModelconst object with GPT-5.x, o-series, and legacy modelsDEVELOPER_ROLE_MODELSarray identifying models requiringdeveloperrolesupportsDeveloperRole(),isValidRole(),isDeprecatedRole(),getReplacementRole(),validateRole(),createMessage()Updated Interfaces
ConversationMessageProps.role: Added'developer'to union typeMarkdownMessageProps.role: Updated to useConversationMessageRoleChatMessage.role: Added'developer'to union typeTesting
tests/openai-types.spec.tswith Playwright tests covering:functionroleBackward Compatibility
user,assistant,tool) continue to work unchangedfunctionrole is still supported but will log a deprecation warningRelated
Test plan
npm run type-check- TypeScript compilation passesnpm run lint- ESLint passes with no warningsnpm run build- Production build succeedsdeveloperrole can be used in ChatMessagefunctionroleGenerated with Claude Code