feat(server): migrate copilot to native (#14620)

#### PR Dependency Tree


* **PR #14620** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Native LLM workflows: structured outputs, embeddings, and reranking
plus richer multimodal attachments (images, audio, files) and improved
remote-attachment inlining.

* **Refactor**
* Tooling API unified behind a local tool-definition helper;
provider/adapters reorganized to route through native dispatch paths.

* **Chores**
* Dependency updates, removed legacy Google SDK integrations, and
increased front memory allocation.

* **Tests**
* Expanded end-to-end and streaming tests exercising native provider
flows, attachments, and rerank/structured scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-03-11 13:55:35 +08:00
committed by GitHub
parent 02744cec00
commit 29a27b561b
62 changed files with 4359 additions and 2296 deletions
@@ -189,20 +189,13 @@ test.describe('AISettings/Embedding', () => {
await utils.settings.closeSettingsPanel(page);
await utils.chatPanel.makeChat(
page,
`What is Workspace${randomStr1}? What is Workspace${randomStr2}?`
);
const query = `Use semantic search across workspace and attached files, then tell me whether Workspace${randomStr1} is a cat or dog and whether Workspace${randomStr2} is a cat or dog. Answer with citations.`;
await utils.chatPanel.makeChat(page, query);
await utils.chatPanel.waitForHistory(page, [
{
role: 'user',
content: `What is Workspace${randomStr1}? What is Workspace${randomStr2}?`,
},
{
role: 'assistant',
status: 'success',
},
{ role: 'user', content: query },
{ role: 'assistant', status: 'success' },
]);
await expect(async () => {