2021-07-12 20:14:39 +00:00
[ package ]
2022-09-30 19:50:55 +00:00
authors = [ "Nathan Sobo <nathan@zed.dev>" ]
2022-04-09 14:30:42 +00:00
default-run = "collab"
2022-01-26 20:50:31 +00:00
edition = "2021"
2022-04-09 14:30:42 +00:00
name = "collab"
2024-02-01 02:10:19 +00:00
version = "0.44.0"
2023-01-18 20:28:02 +00:00
publish = false
2024-01-27 12:51:16 +00:00
license = "AGPL-3.0-or-later"
2024-01-23 16:40:30 +00:00
2024-03-05 17:01:17 +00:00
[ lints ]
workspace = true
2021-09-16 14:23:20 +00:00
[ [ bin ] ]
2022-04-09 14:30:42 +00:00
name = "collab"
2021-09-16 14:23:20 +00:00
2024-03-21 03:00:02 +00:00
[ features ]
sqlite = [ "sea-orm/sqlx-sqlite" , "sqlx/sqlite" ]
test-support = [ "sqlite" ]
2021-09-02 14:05:34 +00:00
2021-07-12 20:14:39 +00:00
[ dependencies ]
2024-03-31 21:57:57 +00:00
anthropic . workspace = true
2023-04-25 00:41:55 +00:00
anyhow . workspace = true
2024-02-16 02:54:43 +00:00
async-tungstenite = "0.16"
2024-02-15 20:53:57 +00:00
aws-config = { version = "1.1.5" }
aws-sdk-s3 = { version = "1.15.0" }
2024-03-05 22:11:33 +00:00
axum = { version = "0.6" , features = [ "json" , "headers" , "ws" ] }
axum-extra = { version = "0.4" , features = [ "erased-json" ] }
2024-03-07 03:51:43 +00:00
base64 . workspace = true
2024-01-22 21:11:24 +00:00
chrono . workspace = true
2024-02-06 19:41:36 +00:00
clock . workspace = true
2024-02-23 16:13:28 +00:00
clickhouse . workspace = true
2024-02-06 19:41:36 +00:00
collections . workspace = true
2022-11-28 16:00:47 +00:00
dashmap = "5.4"
2021-07-12 20:14:39 +00:00
envy = "0.4.2"
2023-04-25 00:41:55 +00:00
futures . workspace = true
2024-03-19 18:22:26 +00:00
google_ai . workspace = true
2024-02-23 16:13:28 +00:00
hex . workspace = true
2024-05-10 21:50:20 +00:00
http . workspace = true
2024-02-06 19:41:36 +00:00
live_kit_server . workspace = true
2023-04-25 00:41:55 +00:00
log . workspace = true
2024-04-26 02:37:40 +00:00
nanoid . workspace = true
2024-03-19 18:22:26 +00:00
open_ai . workspace = true
2024-05-03 19:50:42 +00:00
supermaven_api . workspace = true
2023-04-25 00:41:55 +00:00
parking_lot . workspace = true
2022-06-10 20:32:56 +00:00
prometheus = "0.13"
2023-08-21 19:00:43 +00:00
prost . workspace = true
2023-04-25 00:41:55 +00:00
rand . workspace = true
2024-03-01 20:23:44 +00:00
reqwest = { version = "0.11" , features = [ "json" ] }
2024-02-06 19:41:36 +00:00
rpc . workspace = true
2021-07-12 20:14:39 +00:00
scrypt = "0.7"
2024-02-16 02:54:43 +00:00
sea-orm = { version = "0.12.x" , features = [ "sqlx-postgres" , "postgres-array" , "runtime-tokio-rustls" , "with-uuid" ] }
2024-03-29 16:11:57 +00:00
semantic_version . workspace = true
2024-02-15 20:53:57 +00:00
semver . workspace = true
2023-04-25 00:41:55 +00:00
serde . workspace = true
serde_derive . workspace = true
serde_json . workspace = true
2024-02-23 16:13:28 +00:00
sha2 . workspace = true
2024-02-16 02:54:43 +00:00
sqlx = { version = "0.7" , features = [ "runtime-tokio-rustls" , "postgres" , "json" , "time" , "uuid" , "any" ] }
2024-03-07 03:51:43 +00:00
subtle . workspace = true
2024-03-01 20:23:44 +00:00
rustc-demangle . workspace = true
2024-02-23 16:13:28 +00:00
telemetry_events . workspace = true
2024-02-06 19:41:36 +00:00
text . workspace = true
2023-04-25 00:41:55 +00:00
time . workspace = true
2024-03-19 14:50:21 +00:00
tokio . workspace = true
2024-01-31 02:41:29 +00:00
toml . workspace = true
2022-04-25 00:02:14 +00:00
tower = "0.4"
2024-02-23 19:50:06 +00:00
tower-http = { workspace = true , features = [ "trace" ] }
2024-04-11 21:36:35 +00:00
tracing = "0.1.40"
2024-04-15 20:00:56 +00:00
tracing-subscriber = { version = "0.3.18" , features = [ "env-filter" , "json" , "registry" , "tracing-log" ] } # workaround for https://github.com/tokio-rs/tracing/issues/2927
2024-02-06 19:41:36 +00:00
util . workspace = true
2023-10-04 00:39:24 +00:00
uuid . workspace = true
2021-07-12 20:14:39 +00:00
[ dev-dependencies ]
2024-07-10 15:36:22 +00:00
assistant = { workspace = true , features = [ "test-support" ] }
2024-01-31 02:41:29 +00:00
async-trait . workspace = true
2024-02-06 19:41:36 +00:00
audio . workspace = true
call = { workspace = true , features = [ "test-support" ] }
channel . workspace = true
client = { workspace = true , features = [ "test-support" ] }
collab_ui = { workspace = true , features = [ "test-support" ] }
collections = { workspace = true , features = [ "test-support" ] }
Extract completion provider crate (#14823)
We will soon need `semantic_index` to be able to use
`CompletionProvider`. This is currently impossible due to a cyclic crate
dependency, because `CompletionProvider` lives in the `assistant` crate,
which depends on `semantic_index`.
This PR breaks the dependency cycle by extracting two crates out of
`assistant`: `language_model` and `completion`.
Only one piece of logic changed: [this
code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69).
* As of https://github.com/zed-industries/zed/pull/13276, whenever we
ask a given completion provider for its available models, OpenAI
providers would go and ask the global assistant settings whether the
user had configured an `available_models` setting, and if so, return
that.
* This PR changes it so that instead of eagerly asking the assistant
settings for this info (the new crate must not depend on `assistant`, or
else the dependency cycle would be back), OpenAI completion providers
now store the user-configured settings as part of their struct, and
whenever the settings change, we update the provider.
In theory, this change should not change user-visible behavior...but
since it's the only change in this large PR that's more than just moving
code around, I'm mentioning it here in case there's an unexpected
regression in practice! (cc @amtoaer in case you'd like to try out this
branch and verify that the feature is still working the way you expect.)
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-19 17:35:34 +00:00
completion = { workspace = true , features = [ "test-support" ] }
2024-01-31 02:41:29 +00:00
ctor . workspace = true
2024-02-06 19:41:36 +00:00
editor = { workspace = true , features = [ "test-support" ] }
2024-01-31 02:41:29 +00:00
env_logger . workspace = true
2024-02-06 19:41:36 +00:00
file_finder . workspace = true
fs = { workspace = true , features = [ "test-support" ] }
git = { workspace = true , features = [ "test-support" ] }
2024-05-07 01:24:48 +00:00
git_hosting_providers . workspace = true
2024-02-06 19:41:36 +00:00
gpui = { workspace = true , features = [ "test-support" ] }
2024-01-31 02:41:29 +00:00
indoc . workspace = true
2024-02-06 19:41:36 +00:00
language = { workspace = true , features = [ "test-support" ] }
live_kit_client = { workspace = true , features = [ "test-support" ] }
lsp = { workspace = true , features = [ "test-support" ] }
menu . workspace = true
2024-05-10 21:06:51 +00:00
multi_buffer = { workspace = true , features = [ "test-support" ] }
2024-02-06 19:41:36 +00:00
node_runtime . workspace = true
notifications = { workspace = true , features = [ "test-support" ] }
2024-01-31 02:41:29 +00:00
pretty_assertions . workspace = true
2024-02-06 19:41:36 +00:00
project = { workspace = true , features = [ "test-support" ] }
2024-06-11 00:09:47 +00:00
recent_projects = { workspace = true }
2024-02-16 02:54:43 +00:00
release_channel . workspace = true
2024-07-19 17:27:26 +00:00
remote = { workspace = true , features = [ "test-support" ] }
remote_server . workspace = true
2024-05-02 17:00:08 +00:00
dev_server_projects . workspace = true
2024-02-06 19:41:36 +00:00
rpc = { workspace = true , features = [ "test-support" ] }
2023-10-03 19:16:53 +00:00
sea-orm = { version = "0.12.x" , features = [ "sqlx-sqlite" ] }
2023-04-25 00:41:55 +00:00
serde_json . workspace = true
2024-02-06 19:41:36 +00:00
settings = { workspace = true , features = [ "test-support" ] }
2023-10-03 19:16:53 +00:00
sqlx = { version = "0.7" , features = [ "sqlite" ] }
2024-02-06 19:41:36 +00:00
theme . workspace = true
2023-04-25 00:41:55 +00:00
unindent . workspace = true
2024-02-06 19:41:36 +00:00
util . workspace = true
workspace = { workspace = true , features = [ "test-support" ] }
2024-06-04 07:31:43 +00:00
worktree = { workspace = true , features = [ "test-support" ] }
2024-04-11 21:36:35 +00:00
headless . workspace = true