zed/crates
David Soria Parra 8a96ea25c4
context_servers: Support tools (#19548)
This PR depends on #19547 

This PR adds support for tools from context servers. Context servers are
free to expose tools that Zed can pass to models. When called by the
model, Zed forwards the request to context servers. This allows for some
interesting techniques. Context servers can easily expose tools such as
querying local databases, reading or writing local files, reading
resources over authenticated APIs (e.g. kubernetes, asana, etc).

This is currently experimental. 

Things to discuss
* I want to still add a confirm dialog asking people if a server is
allows to use the tool. Should do this or just use the tool and assume
trustworthyness of context servers?
* Can we add tool use behind a local setting flag?

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-10-28 10:37:58 -04:00
..
activity_indicator lsp: Show error message in read only buffer (#19063) 2024-10-11 12:33:08 +02:00
anthropic Switch to Anthropic -latest tags (#19615) 2024-10-23 15:13:52 -04:00
assets add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
assistant context_servers: Support tools (#19548) 2024-10-28 10:37:58 -04:00
assistant_slash_command assistant: Update SlashCommand trait with streaming return type (#19652) 2024-10-23 21:26:50 -04:00
assistant_tool
audio Update Rust crate rodio to 0.19.0 (#17389) 2024-09-16 21:55:32 -06:00
auto_update ssh remoting: Use matching versions of remote server binary (#19740) 2024-10-25 16:27:36 +02:00
breadcrumbs Add missing shortcuts in tooltips (#18282) 2024-09-27 11:06:48 +02:00
call Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
channel Remove hosted projects (#19754) 2024-10-27 19:44:21 -07:00
cli Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
client Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
clock Fix bugs with applying hunks from branch buffers (#18721) 2024-10-07 16:28:33 -07:00
collab Remove hosted projects (#19754) 2024-10-27 19:44:21 -07:00
collab_ui Remove hosted projects (#19754) 2024-10-27 19:44:21 -07:00
collections
command_palette
command_palette_hooks
context_servers context_servers: Support tools (#19548) 2024-10-28 10:37:58 -04:00
copilot Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
db chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
dev_server_projects/src Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
diagnostics Allow editor blocks to replace ranges of text (#19531) 2024-10-25 12:29:25 +02:00
docs_preprocessor
editor windows: Fix more windows platform test (#19802) 2024-10-27 19:15:23 +02:00
evals Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
extension Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
extension_api zed_extension_api: Use v0.2.0 WIT types (#17802) 2024-09-13 14:49:50 -04:00
extension_cli Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
extensions_ui Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176) 2024-10-15 23:32:44 -07:00
feature_flags /auto (#16696) 2024-09-13 13:17:49 -04:00
feedback Stop leaking isahc assumption (#18408) 2024-09-26 14:01:05 -06:00
file_finder Fix ssh project history (#19683) 2024-10-24 21:49:07 +03:00
file_icons
fs Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
fsevent
fuzzy
git Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
git_hosting_providers chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
go_to_line More git hunk highlighting fixes (#18459) 2024-09-27 13:48:37 -07:00
google_ai Stop leaking isahc assumption (#18408) 2024-09-26 14:01:05 -06:00
gpui outline panel: Add indent guides (#19719) 2024-10-28 09:54:18 +01:00
gpui_macros add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
html_to_markdown
http_client Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176) 2024-10-15 23:32:44 -07:00
image_viewer image viewer: Reuse existing tabs (#19717) 2024-10-25 09:34:50 +02:00
indexed_docs
inline_completion_button Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
install_cli
journal
language Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
language_model context_servers: Support tools (#19548) 2024-10-28 10:37:58 -04:00
language_selector use ssh lsp store (#17655) 2024-09-10 15:51:01 -04:00
language_tools lsp_log: Add server capabilities view (#19448) 2024-10-23 12:53:49 +02:00
languages Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
live_kit_client
live_kit_server Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
lsp Fix a few Windows tests (#19773) 2024-10-26 03:32:22 +03:00
markdown SSH Remoting: Fix yes/no/fingerprint prompt (#19526) 2024-10-21 15:28:22 -06:00
markdown_preview markdown preview: Ignore inline HTML tags in text (#19804) 2024-10-27 14:34:59 +01:00
media
menu
multi_buffer vim: Copy comment to new lines with o/O (#19766) 2024-10-25 16:47:44 -06:00
node_runtime Make python run local worktree LSPs (#18353) 2024-09-25 12:45:41 -07:00
notifications Pass Summary::Context to Item::summarize (#18510) 2024-09-29 10:30:48 -06:00
ollama Fix read timeout for ollama (#18417) 2024-09-27 00:36:17 -06:00
open_ai Stop leaking isahc assumption (#18408) 2024-09-26 14:01:05 -06:00
outline More git hunk highlighting fixes (#18459) 2024-09-27 13:48:37 -07:00
outline_panel outline panel: Add indent guides (#19719) 2024-10-28 09:54:18 +01:00
paths Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
picker Rework file picker for SSH modal (#19020) 2024-10-15 12:38:03 +02:00
prettier Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
project Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
project_panel Restore horizontal scrollbar checks (#19767) 2024-10-26 21:57:22 +03:00
project_symbols Fix renames over language server for SSH remoting (#17897) 2024-09-16 16:20:17 -06:00
proto Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
quick_action_bar Add missing shortcuts in tooltips (#18282) 2024-09-27 11:06:48 +02:00
recent_projects Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
refineable
release_channel
remote WIP: ssh remoting: Add upload_binary field to SshConnections (#19748) 2024-10-25 17:32:54 -06:00
remote_server Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
repl Allow editor blocks to replace ranges of text (#19531) 2024-10-25 12:29:25 +02:00
reqwest_client reqwest_client: Fix socks proxy settings (#19123) 2024-10-18 09:57:00 -07:00
rich_text
rope Pass Summary::Context to Item::summarize (#18510) 2024-09-29 10:30:48 -06:00
rpc Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
search project_search: Fix message displayed when no results are found (#19108) 2024-10-15 13:41:51 -04:00
semantic_index semantic_index: Disable embeddings index for non-staff (#19618) 2024-10-23 12:34:51 -04:00
semantic_version
session chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
settings Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
settings_ui
snippet
snippet_provider chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
snippets_ui Add snippet commands (#18453) 2024-10-02 13:27:16 +02:00
sqlez Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
sqlez_macros Compare migrations formatted uniformly (#18760) 2024-10-05 12:58:45 +03:00
story
storybook project panel: Add indent guides (#18260) 2024-10-24 13:07:20 +02:00
sum_tree Pass Summary::Context to Item::summarize (#18510) 2024-09-29 10:30:48 -06:00
supermaven Cap the size of the Supermaven states buffer (#19246) 2024-10-23 10:36:14 +03:00
supermaven_api
tab_switcher tab_switcher: Use git-aware colors for file icons (#18733) 2024-10-04 10:37:41 -04:00
task Fix remoting things (#19587) 2024-10-23 00:14:43 -07:00
tasks_ui Do not allow [re]running ssh tasks when not connected to the server (#19306) 2024-10-16 22:57:39 +03:00
telemetry_events collab: Remove dependency on X11 (#19079) 2024-10-11 13:28:34 -04:00
terminal ssh remoting: Fix wrong working directory for SSH terminals (#19672) 2024-10-24 13:52:26 +02:00
terminal_view ssh remoting: Fix wrong working directory for SSH terminals (#19672) 2024-10-24 13:52:26 +02:00
text Restructure assistant edits to show all changes in a proposed-change editor (#18240) 2024-10-17 13:18:13 -04:00
theme Update outline panel representation when a theme is changed (#19747) 2024-10-25 22:04:02 +03:00
theme_importer
theme_selector
time_format
title_bar Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
toolchain_selector Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
ui outline panel: Add indent guides (#19719) 2024-10-28 09:54:18 +01:00
ui_input
ui_macros Add ui_macros crate & DerivePathStr derive macro (#17811) 2024-09-13 16:45:16 -04:00
util Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
vcs_menu Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
vim vim: Copy comment to new lines with o/O (#19766) 2024-10-25 16:47:44 -06:00
welcome Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176) 2024-10-15 23:32:44 -07:00
workspace Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
worktree Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
zed Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
zed_actions Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176) 2024-10-15 23:32:44 -07:00