Commit 057b8e4
authored
feat(context)!: switch from contexts to function calling (#1029)
This change modernizes the CopilotChat architecture by implementing a tools-based
approach using function calling. Each tool has a schema definition that enables
structured parameter collection and validation. Resources are now handled more
consistently, with a clearer distinction between content types.
https://platform.openai.com/docs/guides/function-calling?api-mode=responses
https://modelcontextprotocol.info/specification/2024-11-05/server/tools/
BREAKING CHANGE: The context API has changed from callback-based input handling to schema-based definitions.
BREAKING CHANGE: config.contexts renamed to config.tools
BREAKING CHANGE: config.context removed, use config.sticky
BREAKING CHANGE: diagnostics moved to separate tool call, selection and buffer calls no longer include them by default
BREAKING CHANGE: non-resource based tool calls can no longer be soft stored in sticky, now they are auto expanded to promot
BREAKING CHANGE: viewing full context is no longer possible (as now tools can have bigger side effects), gi renamed to gc, now also includes selection
BREAKING CHANGE: filenames renamed to glob
BREAKING CHANGE: files removed (use glob together with tool calling instead, or buffers/quickfix)
BREAKING CHANGE: copilot extension agents removed, tools + mcp servers can replace this feature and maintaining them was pain, they can still be implemented via custom providers anyway
BREAKING CHANGE: actions and integrations action removed as they were deprecated for a while
Closes #1045
Closes #1053
Closes #1076
Closes #1090
Closes #1096
Closes #526
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>1 parent d0537a7 commit 057b8e4
22 files changed
Lines changed: 2150 additions & 2104 deletions
Large diffs are not rendered by default.
This file was deleted.
0 commit comments