
This PR restructures the way that tools and attachments add information about the current project to a conversation with the assistant. Rather than each tool call or attachment generating a new tool or system message containing information about the project, they can all collectively mutate a new type called a `ProjectContext`, which stores all of the project data that should be sent to the assistant. That data is then formatted in a single place, and passed to the assistant in one system message. This prevents multiple tools/attachments from including redundant context. Release Notes: - N/A --------- Co-authored-by: Kyle <kylek@zed.dev>
9 lines
318 B
Rust
9 lines
318 B
Rust
mod attachment_registry;
|
|
mod project_context;
|
|
mod tool_registry;
|
|
|
|
pub use attachment_registry::{AttachmentRegistry, LanguageModelAttachment, UserAttachment};
|
|
pub use project_context::ProjectContext;
|
|
pub use tool_registry::{
|
|
LanguageModelTool, ToolFunctionCall, ToolFunctionDefinition, ToolOutput, ToolRegistry,
|
|
};
|