Skip to content

Conversation

@KONRADS098
Copy link

@KONRADS098 KONRADS098 commented Jan 3, 2026

Summary

This PR adds support for tool-level provider options in the OpenAI-compatible provider. Tools can now include custom provider metadata through the providerOptions field, which gets properly merged into the prepared tools for API requests.

Changes Made

  • Extended prepareTools function to extract and merge tool-level metadata from providerOptions.openaiCompatible
  • Updated type definitions to allow tools to include arbitrary metadata fields from provider options

- Add getToolMetadata() helper function to extract providerOptions from tools
- Spread tool-level provider options into prepared tools for API requests
- Update return type to support additional metadata fields via Record<string, unknown>
- Add comprehensive tests for tool-level providerOptions support
- Tests follow the same pattern as message-level provider options in convert-to-openai-compatible-chat-messages.test.ts

Note: Currently uses the hardcoded 'openaiCompatible' key pattern to maintain
consistency with message-level conversion behavior. Dynamic provider names for
both message and tool options should be addressed in a future refactoring.
@KONRADS098 KONRADS098 force-pushed the feat/openai-compatible-tool-provider-options branch from 6080a26 to ad5241d Compare January 3, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant