mirror of
https://github.com/zed-industries/zed.git
synced 2026-06-01 03:14:56 +07:00
Add support for OpenAI's /responses endpoint for models that don't support /chat/completions API. This enables compatibility with newer model variants (`gpt-5-codex`, `gpt-5-pro`, `o3-pro`, etc) while maintaining compatibility with existing configs Changes: - Add `supports_chat_completions` flag to model capabilities that defaults to true for existing behavior - Implement responses API client with streaming support as per [OpenAI documentation](https://app.stainless.com/api/spec/documented/openai/openapi.documented.yml). - Add `ResponseEventMapper` to convert responses events to completion events for maintainer simplicity - Update UI to allow toggling `chat_completions` capability - Add `gpt-5-codex` model Closes #38858 Release Notes: - Added support for `gpt-5-codex` model --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
70 lines
2.2 KiB
TOML
70 lines
2.2 KiB
TOML
[package]
|
|
name = "language_models"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/language_models.rs"
|
|
|
|
[dependencies]
|
|
ai_onboarding.workspace = true
|
|
anthropic = { workspace = true, features = ["schemars"] }
|
|
anyhow.workspace = true
|
|
aws-config = { workspace = true, features = ["behavior-version-latest"] }
|
|
aws-credential-types = { workspace = true, features = ["hardcoded-credentials"] }
|
|
aws_http_client.workspace = true
|
|
bedrock.workspace = true
|
|
chrono.workspace = true
|
|
client.workspace = true
|
|
cloud_llm_client.workspace = true
|
|
collections.workspace = true
|
|
component.workspace = true
|
|
convert_case.workspace = true
|
|
copilot.workspace = true
|
|
credentials_provider.workspace = true
|
|
deepseek = { workspace = true, features = ["schemars"] }
|
|
extension.workspace = true
|
|
extension_host.workspace = true
|
|
fs.workspace = true
|
|
futures.workspace = true
|
|
google_ai = { workspace = true, features = ["schemars"] }
|
|
gpui.workspace = true
|
|
gpui_tokio.workspace = true
|
|
http_client.workspace = true
|
|
language.workspace = true
|
|
language_model.workspace = true
|
|
lmstudio = { workspace = true, features = ["schemars"] }
|
|
log.workspace = true
|
|
menu.workspace = true
|
|
mistral = { workspace = true, features = ["schemars"] }
|
|
ollama = { workspace = true, features = ["schemars"] }
|
|
open_ai = { workspace = true, features = ["schemars"] }
|
|
open_router = { workspace = true, features = ["schemars"] }
|
|
partial-json-fixer.workspace = true
|
|
release_channel.workspace = true
|
|
schemars.workspace = true
|
|
semver.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
settings.workspace = true
|
|
smol.workspace = true
|
|
strum.workspace = true
|
|
thiserror.workspace = true
|
|
tiktoken-rs.workspace = true
|
|
tokio = { workspace = true, features = ["rt", "rt-multi-thread"] }
|
|
ui.workspace = true
|
|
ui_input.workspace = true
|
|
util.workspace = true
|
|
vercel = { workspace = true, features = ["schemars"] }
|
|
x_ai = { workspace = true, features = ["schemars"] }
|
|
|
|
[dev-dependencies]
|
|
editor = { workspace = true, features = ["test-support"] }
|
|
language_model = { workspace = true, features = ["test-support"] }
|
|
pretty_assertions.workspace = true
|
|
project = { workspace = true, features = ["test-support"] }
|