assistant: Add tool registry (#17331)

This PR adds a tool registry to hold tools that can be called by the
Assistant.

Currently we just have a `now` tool for retrieving the current datetime.

This is all behind the `assistant-tool-use` feature flag which currently
needs to be explicitly opted-in to in order for the LLM to see the
tools.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers
2024-09-03 19:14:36 -04:00
committed by GitHub
parent c2448e1673
commit e81b484bf2
11 changed files with 243 additions and 2 deletions
Generated
+15
View File
@@ -373,6 +373,7 @@ dependencies = [
"anyhow",
"assets",
"assistant_slash_command",
"assistant_tool",
"async-watch",
"cargo_toml",
"chrono",
@@ -454,6 +455,20 @@ dependencies = [
"workspace",
]
[[package]]
name = "assistant_tool"
version = "0.1.0"
dependencies = [
"anyhow",
"collections",
"derive_more",
"gpui",
"parking_lot",
"serde",
"serde_json",
"workspace",
]
[[package]]
name = "async-attributes"
version = "1.1.2"