Skip to content

docs: document the provider option and refresh the vendor list in chat() - #3505

Merged
Salazareo merged 1 commit into
HeyPuter:mainfrom
meridah7:docs/chat-provider-option-and-vendor-list
Aug 4, 2026
Merged

docs: document the provider option and refresh the vendor list in chat()#3505
Salazareo merged 1 commit into
HeyPuter:mainfrom
meridah7:docs/chat-provider-option-and-vendor-list

Conversation

@meridah7

@meridah7 meridah7 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What

Two documentation changes to puter.ai.chat():

  1. Document the provider option, which is not currently in the options list.
  2. Refresh the vendor list, which names 7 vendors while puter.ai.listModelProviders() returns 16.

Why

provider is undocumented. ChatCompletionDriver.complete() reads args.provider and passes it to #resolveModel() to pin a request to a vendor, and puter.ai.chat() forwards the option through. Nothing in the docs mentions it, so there is currently no documented way to ask for a specific vendor.

The vendor list is stale. Both places name OpenAI, Anthropic, Google, xAI, Mistral, OpenRouter and DeepSeek. puter.ai.listModelProviders() returned 16 ids when I ran the playground example on 2026-08-04:

alibaba, azure-openai, azure-openai-responses, claude, deepseek, gemini, infron,
minimax, mistral, moonshotai, openai-completion, openai-responses, openrouter,
together-ai, xai, zai

The replacement list is those ids written as company names, merging the two pairs that are one vendor (azure-openai + azure-openai-responses, openai-completion + openai-responses). It is the API response rather than a hand-picked selection.

Both new links also give listModelProviders its first inbound link from the docs. Nothing currently links to that page.

One question for a maintainer

I deliberately did not document what happens when the requested vendor does not serve the requested model. #resolveModel() currently returns models.find(m => m.provider === provider) ?? models[0], so it falls back to the default vendor for that model rather than erroring. I did not want to write that down as intended behaviour without someone confirming it is intended. Happy to add a sentence either way, or to leave it out.

Disclosure

Infron is one of the vendors added to the list. I work on the Infron provider integration merged in #3433. The list is taken from the API response rather than curated, and the provider documentation applies to every vendor equally.

@Salazareo
Salazareo merged commit 4a211b9 into HeyPuter:main Aug 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants