-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deep Cody: Allow toggle in UI & implement CodyChatMemory #6066
Conversation
- Introduce `CodyChatAgent` as the base class for managing chat agents - Implement `CodyChatMemory` to store and retrieve temporary chat context - Refactor `CodyToolProvider` to use a registry-based approach for managing tools - Add new tools like `MemoryTool` and `EditorTool` - Improve handling of OpenContext-based tools
|
Add an `agent` field in chat messages. This allows for more flexibility in enabling different chat agents. The key changes are: - Added `agent` field to `ChatMessage` and `SerializedChatMessage` interfaces - Updated `ChatController` and webview components to use the `agent` field - Enabled Deep Cody context when the `agent` is set to `'deep-cody'` - Updated tests and other related code to reflect the new `agent` field
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vscode/webviews/chat/cells/messageCell/human/editor/toolbar/Toolbar.tsx
Outdated
Show resolved
Hide resolved
Co-authored-by: Valery Bugakov <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To align with our recent efforts to enhance release stability and enforce stricter PR reviews, I recommend breaking PRs into smaller, focused changes where possible. This approach has several benefits: if an issue arises, we can roll back only the specific change rather than the entire function, and focused changes make the review process much easier.
Since this is an experimental feature and it's already reviewed, splitting it isn't required, but let's keep this in mind for future submissions. We can aim to keep non-generated changes in PRs to a minimum necessary for the PR's primary goal.
Agree, and noted! |
…into bee/deep-toggler
…)" This reverts commit b78f3e7.
CLOSE: https://linear.app/sourcegraph/issue/CODY-4246/remove-deep-cody-from-the-model-list
CLOSE: https://linear.app/sourcegraph/issue/CODY-4247/add-toggle-for-35-sonnet
Deep Cody is now an experimental feature that users can toggle on/off with a feature flag enabled.
This allows us to remove Deep Cody from the model drop-down list, and makes it easier to enable Deep Cody for other models in the future.
UI Change:
ContextCell
andHumanMessageEditor
components to display and handle the Deep Cody toggleWebviewToExtensionAPI
interface to enable/disable Deep CodyChatController
to handle the Deep Cody feature flag and toggleDeep Cody Agent class refactor:
CodyChatAgent
as the base class for managing chat agentsCodyChatMemory
to store and retrieve temporary chat contextCodyToolProvider
to use a registry-based approach for managing toolsMemoryTool
- a tool that allows Cody to build memory when asekdAdd agent field to chat messages
This allows for more flexibility in enabling different chat agents.
agent
field toChatMessage
andSerializedChatMessage
interfacesChatController
and webview components to use theagent
fieldagent
is set to'deep-cody'
agent
fieldTest plan
Start branch locally and confirmed everything works as expected
Memory Tool
Changelog