A target profile is data shipped with the package. compile(schema, "anthropic") resolves an alias to a profile id. Profiles are not fetched at runtime.
listTargets() defaults to cloud provider profiles. Runtime schema engines (LM Studio, Ollama, llama.cpp, vLLM, SGLang) are compile-addressable and stay out of npx llm-abi check unless you pass their id.
resolveTarget("qwen") is alibaba/qwen/tools — Alibaba Model Studio. It is not local Qwen.
Provider targets
Maturity and evidence are separate. Supported means the profile is maintained with fixtures. It does not claim a live API check. Last verified is when maintainers checked the linked source. Only a nightly live adapter means the repository can send a compiled schema to that vendor.
| Alias | Profile | Maturity | Evidence | Last verified | Live |
|---|---|---|---|---|---|
openai |
openai/responses/structured |
Supported | documented | 2026-08-18 | Nightly |
anthropic |
anthropic/messages/structured |
Supported | documented | 2026-08-18 | Nightly |
gemini |
google/gemini/structured |
Supported | documented | 2026-08-18 | Nightly |
deepseek |
deepseek/chat/strict-tools |
Supported | documented | 2026-08-18 | — |
xai |
xai/grok/structured |
Supported | documented | 2026-08-18 | — |
qwen |
alibaba/qwen/tools |
Supported | documented | 2026-08-18 | — |
mistral |
mistral/chat/structured |
Experimental | sdk-observed | 2026-08-18 | — |
openrouter |
openrouter/structured |
Partial | documented | 2026-08-18 | — |
mcp |
mcp/2026-06/tools |
Partial | documented | 2026-08-18 | — |
OpenRouter is a gateway: enforcement varies by the routed model, so compatibility is floored at runtime-safe. MCP is conservative for deployed hosts.
Runtime targets
These need format or engine context. They are experimental. Keyword tables are taken from the linked docs, not copied from OpenAI strict mode.
| Alias | Profile | Maturity | Evidence | Last verified |
|---|---|---|---|---|
llamacpp |
llamacpp/server/structured |
Experimental | documented | 2026-08-28 |
lmstudio/gguf |
lmstudio/gguf/structured |
Experimental | documented | 2026-08-28 |
lmstudio/mlx |
lmstudio/mlx/structured |
Experimental | documented | 2026-08-28 |
ollama |
ollama/chat/structured |
Experimental | documented | 2026-08-28 |
vllm |
vllm/openai/structured |
Experimental | documented | 2026-08-28 |
sglang |
sglang/openai/structured |
Experimental | documented | 2026-08-28 |
There is no short lmstudio alias. GGUF and MLX use different schema engines; set format or compile with an explicit id.
See Local runtimes for checkDeployment() and the local CLI.
Evidence kinds
| Kind | Meaning |
|---|---|
documented |
Stated in official provider docs |
sdk-observed |
Visible in an official SDK transformer |
empirical |
Observed against a live API |
lastVerified is not a successful live request. evidence.live === "nightly" is the live adapter signal.
Request profiles
checkRequest() uses a separate profile family. The shipped GPT-5.6 rule: Chat Completions plus function tools is compatible only when effective reasoning is none. See Requests.