-
+
-
- {t("settings.experimental.websearch.title")}
+
+ {t("settings.webTools.webSearch.title")}
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ar.ts b/packages/kilo-vscode/webview-ui/src/i18n/ar.ts
index f86fe517b07..02fc76303d4 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ar.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ar.ts
@@ -1203,7 +1203,13 @@ export const dict = {
"settings.section.configuration": "الإعدادات",
"settings.agentBehaviour.title": "سلوك الوكيل",
"settings.autoApprove.title": "الموافقة التلقائية",
- "settings.browser.title": "المتصفح",
+ "settings.webTools.title": "أدوات الويب",
+ "settings.webTools.description": "اضبط البحث على الويب وأتمتة المتصفح. تتصل طلبات البحث مباشرةً بـ Exa أو Parallel.",
+ "settings.webTools.webSearch.enable": "تمكين لجميع المزوّدين",
+ "settings.webTools.browserAutomation": "أتمتة المتصفح",
+ "settings.webTools.webSearch.title": "البحث على الويب",
+ "settings.webTools.webSearch.description":
+ "اجعل البحث على الويب متاحًا لنماذج جميع المزوّدين. تتصل عمليات البحث مباشرةً بـ Exa أو Parallel.",
"settings.checkpoints.title": "نقاط التحقق",
"settings.display.title": "العرض",
"settings.autocomplete.title": "الإكمال التلقائي",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/br.ts b/packages/kilo-vscode/webview-ui/src/i18n/br.ts
index 35a1450ea1f..902114dd85c 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/br.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/br.ts
@@ -1224,7 +1224,14 @@ export const dict = {
"settings.section.configuration": "Configuração",
"settings.agentBehaviour.title": "Comportamento do Agente",
"settings.autoApprove.title": "Aprovação Automática",
- "settings.browser.title": "Navegador",
+ "settings.webTools.title": "Ferramentas da Web",
+ "settings.webTools.description":
+ "Configure a pesquisa na web e a automação do navegador. As solicitações de pesquisa se conectam diretamente ao Exa ou Parallel.",
+ "settings.webTools.webSearch.enable": "Ativar para todos os provedores",
+ "settings.webTools.browserAutomation": "Automação do navegador",
+ "settings.webTools.webSearch.title": "Pesquisa na Web",
+ "settings.webTools.webSearch.description":
+ "Disponibilize a pesquisa na web para modelos de todos os provedores. As pesquisas se conectam diretamente ao Exa ou Parallel.",
"settings.checkpoints.title": "Pontos de Verificação",
"settings.display.title": "Exibição",
"settings.autocomplete.title": "Autocompletar",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/bs.ts b/packages/kilo-vscode/webview-ui/src/i18n/bs.ts
index c19e73262cd..dbb2e7b9230 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/bs.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/bs.ts
@@ -1269,7 +1269,14 @@ export const dict = {
"settings.section.configuration": "Konfiguracija",
"settings.agentBehaviour.title": "Ponašanje agenta",
"settings.autoApprove.title": "Automatsko odobravanje",
- "settings.browser.title": "Preglednik",
+ "settings.webTools.title": "Web alati",
+ "settings.webTools.description":
+ "Konfigurišite web pretragu i automatizaciju preglednika. Zahtjevi za pretragu povezuju se direktno s Exa ili Parallel.",
+ "settings.webTools.webSearch.enable": "Omogući za sve pružaoce",
+ "settings.webTools.browserAutomation": "Automatizacija preglednika",
+ "settings.webTools.webSearch.title": "Web pretraga",
+ "settings.webTools.webSearch.description":
+ "Omogućite web pretragu modelima svih pružalaca. Pretrage se povezuju direktno s Exa ili Parallel.",
"settings.checkpoints.title": "Kontrolne tačke",
"settings.display.title": "Prikaz",
"settings.autocomplete.title": "Automatsko dovršavanje",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/da.ts b/packages/kilo-vscode/webview-ui/src/i18n/da.ts
index 8e9a593dd37..028595f8599 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/da.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/da.ts
@@ -1262,7 +1262,14 @@ export const dict = {
"settings.section.configuration": "Konfiguration",
"settings.agentBehaviour.title": "Agentadfærd",
"settings.autoApprove.title": "Automatisk godkendelse",
- "settings.browser.title": "Browser",
+ "settings.webTools.title": "Webværktøjer",
+ "settings.webTools.description":
+ "Konfigurer websøgning og browserautomatisering. Søgeanmodninger sendes direkte til Exa eller Parallel.",
+ "settings.webTools.webSearch.enable": "Aktivér for alle udbydere",
+ "settings.webTools.browserAutomation": "Browserautomatisering",
+ "settings.webTools.webSearch.title": "Websøgning",
+ "settings.webTools.webSearch.description":
+ "Gør websøgning tilgængelig for modeller fra alle udbydere. Søgninger sendes direkte til Exa eller Parallel.",
"settings.checkpoints.title": "Kontrolpunkter",
"settings.display.title": "Visning",
"settings.autocomplete.title": "Autofuldførelse",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/de.ts b/packages/kilo-vscode/webview-ui/src/i18n/de.ts
index 380e7d3db41..4adcf7b72f8 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/de.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/de.ts
@@ -1283,7 +1283,14 @@ export const dict = {
"settings.section.configuration": "Konfiguration",
"settings.agentBehaviour.title": "Agentenverhalten",
"settings.autoApprove.title": "Automatisch genehmigen",
- "settings.browser.title": "Browser",
+ "settings.webTools.title": "Web-Tools",
+ "settings.webTools.description":
+ "Konfigurieren Sie Websuche und Browserautomatisierung. Suchanfragen werden direkt an Exa oder Parallel gesendet.",
+ "settings.webTools.webSearch.enable": "Für alle Anbieter aktivieren",
+ "settings.webTools.browserAutomation": "Browserautomatisierung",
+ "settings.webTools.webSearch.title": "Websuche",
+ "settings.webTools.webSearch.description":
+ "Machen Sie die Websuche für Modelle aller Anbieter verfügbar. Suchanfragen werden direkt an Exa oder Parallel gesendet.",
"settings.checkpoints.title": "Prüfpunkte",
"settings.display.title": "Anzeige",
"settings.autocomplete.title": "Autovervollständigung",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/en.ts b/packages/kilo-vscode/webview-ui/src/i18n/en.ts
index abe0350075a..e926699acc2 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/en.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/en.ts
@@ -1176,8 +1176,14 @@ export const dict = {
"settings.section.configuration": "Configuration",
"settings.agentBehaviour.title": "Agent Behaviour",
"settings.autoApprove.title": "Auto-Approve",
- "settings.browser.title": "Browser",
"settings.webTools.title": "Web Tools",
+ "settings.webTools.description":
+ "Configure web search and browser automation. Search requests connect directly to Exa or Parallel.",
+ "settings.webTools.webSearch.enable": "Enable for All Providers",
+ "settings.webTools.browserAutomation": "Browser Automation",
+ "settings.webTools.webSearch.title": "Web Search",
+ "settings.webTools.webSearch.description":
+ "Make web search available to models from all providers. Searches connect directly to Exa or Parallel.",
"settings.checkpoints.title": "Checkpoints",
"settings.display.title": "Display",
"settings.autocomplete.title": "Autocomplete",
@@ -1350,10 +1356,6 @@ export const dict = {
"settings.browser.description":
"When enabled, the AI agent can interact with web pages — navigating, clicking, typing, and taking screenshots. A Chrome window will open so you can watch the agent work.",
- "settings.webTools.description":
- "Configure web search and browser automation. Search requests connect directly to Exa or Parallel.",
- "settings.webTools.websearchEnable": "Enable for All Providers",
- "settings.webTools.browserAutomation": "Browser Automation",
"settings.browser.enable.title": "Enable Browser Automation",
"settings.browser.enable.description": "Register the Playwright MCP server with the CLI backend.",
"settings.browser.systemChrome.title": "Use System Chrome",
@@ -1414,9 +1416,6 @@ export const dict = {
"settings.experimental.lsp.description": "Enable language server protocol integration",
"settings.experimental.batch.title": "Batch Tool",
"settings.experimental.batch.description": "Enable batching of multiple tool calls",
- "settings.experimental.websearch.title": "Web Search",
- "settings.experimental.websearch.description":
- "Make web search available to models from all providers. Searches connect directly to Exa or Parallel.",
"settings.experimental.codebaseSearch.title": "Codebase Search",
"settings.experimental.codebaseSearch.description": "Enable AI-powered natural language search across your codebase",
"settings.experimental.imageGeneration.title": "Image Generation",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/es.ts b/packages/kilo-vscode/webview-ui/src/i18n/es.ts
index e1cd4296143..d66f4bd86f6 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/es.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/es.ts
@@ -1276,7 +1276,14 @@ export const dict = {
"settings.section.configuration": "Configuración",
"settings.agentBehaviour.title": "Comportamiento del agente",
"settings.autoApprove.title": "Aprobación automática",
- "settings.browser.title": "Navegador",
+ "settings.webTools.title": "Herramientas web",
+ "settings.webTools.description":
+ "Configura la búsqueda web y la automatización del navegador. Las solicitudes de búsqueda se conectan directamente a Exa o Parallel.",
+ "settings.webTools.webSearch.enable": "Habilitar para todos los proveedores",
+ "settings.webTools.browserAutomation": "Automatización del navegador",
+ "settings.webTools.webSearch.title": "Búsqueda web",
+ "settings.webTools.webSearch.description":
+ "Permite que los modelos de todos los proveedores usen la búsqueda web. Las búsquedas se conectan directamente a Exa o Parallel.",
"settings.checkpoints.title": "Puntos de control",
"settings.display.title": "Pantalla",
"settings.autocomplete.title": "Autocompletado",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/fr.ts b/packages/kilo-vscode/webview-ui/src/i18n/fr.ts
index 71055c0d653..1ed7c73e8bd 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/fr.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/fr.ts
@@ -1287,7 +1287,14 @@ export const dict = {
"settings.section.configuration": "Configuration",
"settings.agentBehaviour.title": "Comportement de l'agent",
"settings.autoApprove.title": "Approbation automatique",
- "settings.browser.title": "Navigateur",
+ "settings.webTools.title": "Outils web",
+ "settings.webTools.description":
+ "Configurez la recherche web et l’automatisation du navigateur. Les requêtes de recherche se connectent directement à Exa ou Parallel.",
+ "settings.webTools.webSearch.enable": "Activer pour tous les fournisseurs",
+ "settings.webTools.browserAutomation": "Automatisation du navigateur",
+ "settings.webTools.webSearch.title": "Recherche web",
+ "settings.webTools.webSearch.description":
+ "Rendez la recherche web disponible pour les modèles de tous les fournisseurs. Les recherches se connectent directement à Exa ou Parallel.",
"settings.checkpoints.title": "Points de contrôle",
"settings.display.title": "Affichage",
"settings.autocomplete.title": "Autocomplétion",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/it.ts b/packages/kilo-vscode/webview-ui/src/i18n/it.ts
index 034276bb9c4..b0c9a5f7038 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/it.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/it.ts
@@ -1023,7 +1023,14 @@ export const dict = {
"settings.section.configuration": "Configurazione",
"settings.agentBehaviour.title": "Comportamento agente",
"settings.autoApprove.title": "Approvazione automatica",
- "settings.browser.title": "Browser",
+ "settings.webTools.title": "Strumenti web",
+ "settings.webTools.description":
+ "Configura la ricerca web e l'automazione del browser. Le richieste di ricerca si connettono direttamente a Exa o Parallel.",
+ "settings.webTools.webSearch.enable": "Abilita per tutti i provider",
+ "settings.webTools.browserAutomation": "Automazione del browser",
+ "settings.webTools.webSearch.title": "Ricerca web",
+ "settings.webTools.webSearch.description":
+ "Rendi disponibile la ricerca web ai modelli di tutti i provider. Le ricerche si connettono direttamente a Exa o Parallel.",
"settings.checkpoints.title": "Checkpoint",
"settings.display.title": "Visualizzazione",
"settings.autocomplete.title": "Autocompletamento",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ja.ts b/packages/kilo-vscode/webview-ui/src/i18n/ja.ts
index 2c6bd6c9e3c..fd60365ca9f 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ja.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ja.ts
@@ -1257,7 +1257,14 @@ export const dict = {
"settings.section.configuration": "設定",
"settings.agentBehaviour.title": "エージェントの動作",
"settings.autoApprove.title": "自動承認",
- "settings.browser.title": "ブラウザ",
+ "settings.webTools.title": "ウェブツール",
+ "settings.webTools.description":
+ "ウェブ検索とブラウザ自動化を設定します。検索リクエストは Exa または Parallel に直接接続されます。",
+ "settings.webTools.webSearch.enable": "すべてのプロバイダーで有効化",
+ "settings.webTools.browserAutomation": "ブラウザ自動化",
+ "settings.webTools.webSearch.title": "ウェブ検索",
+ "settings.webTools.webSearch.description":
+ "すべてのプロバイダーのモデルでウェブ検索を利用できるようにします。検索は Exa または Parallel に直接接続されます。",
"settings.checkpoints.title": "チェックポイント",
"settings.display.title": "表示",
"settings.autocomplete.title": "オートコンプリート",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ko.ts b/packages/kilo-vscode/webview-ui/src/i18n/ko.ts
index 990edeb5eb3..9dd03144c25 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ko.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ko.ts
@@ -1210,7 +1210,14 @@ export const dict = {
"settings.section.configuration": "구성",
"settings.agentBehaviour.title": "에이전트 동작",
"settings.autoApprove.title": "자동 승인",
- "settings.browser.title": "브라우저",
+ "settings.webTools.title": "웹 도구",
+ "settings.webTools.description":
+ "웹 검색 및 브라우저 자동화를 구성합니다. 검색 요청은 Exa 또는 Parallel에 직접 연결됩니다.",
+ "settings.webTools.webSearch.enable": "모든 제공업체에 사용",
+ "settings.webTools.browserAutomation": "브라우저 자동화",
+ "settings.webTools.webSearch.title": "웹 검색",
+ "settings.webTools.webSearch.description":
+ "모든 제공업체의 모델에서 웹 검색을 사용할 수 있도록 합니다. 검색은 Exa 또는 Parallel에 직접 연결됩니다.",
"settings.checkpoints.title": "체크포인트",
"settings.display.title": "디스플레이",
"settings.autocomplete.title": "자동 완성",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/nl.ts b/packages/kilo-vscode/webview-ui/src/i18n/nl.ts
index 75d20e4f178..8158160380a 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/nl.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/nl.ts
@@ -1218,7 +1218,14 @@ export const dict = {
"settings.section.configuration": "Configuratie",
"settings.agentBehaviour.title": "Agent Gedrag",
"settings.autoApprove.title": "Automatisch Goedkeuren",
- "settings.browser.title": "Browser",
+ "settings.webTools.title": "Webtools",
+ "settings.webTools.description":
+ "Configureer zoeken op internet en browserautomatisering. Zoekopdrachten maken rechtstreeks verbinding met Exa of Parallel.",
+ "settings.webTools.webSearch.enable": "Inschakelen voor alle providers",
+ "settings.webTools.browserAutomation": "Browserautomatisering",
+ "settings.webTools.webSearch.title": "Zoeken op internet",
+ "settings.webTools.webSearch.description":
+ "Maak zoeken op internet beschikbaar voor modellen van alle providers. Zoekopdrachten maken rechtstreeks verbinding met Exa of Parallel.",
"settings.checkpoints.title": "Controlepunten",
"settings.display.title": "Weergave",
"settings.autocomplete.title": "Automatisch Aanvullen",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/no.ts b/packages/kilo-vscode/webview-ui/src/i18n/no.ts
index 68c4af800b8..5e8b9faf1f4 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/no.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/no.ts
@@ -1222,7 +1222,14 @@ export const dict = {
"settings.section.configuration": "Konfigurasjon",
"settings.agentBehaviour.title": "Agentoppførsel",
"settings.autoApprove.title": "Automatisk godkjenning",
- "settings.browser.title": "Nettleser",
+ "settings.webTools.title": "Nettverktøy",
+ "settings.webTools.description":
+ "Konfigurer nettsøk og nettleserautomatisering. Søk sendes direkte til Exa eller Parallel.",
+ "settings.webTools.webSearch.enable": "Aktiver for alle leverandører",
+ "settings.webTools.browserAutomation": "Nettleserautomatisering",
+ "settings.webTools.webSearch.title": "Nettsøk",
+ "settings.webTools.webSearch.description":
+ "Gjør nettsøk tilgjengelig for modeller fra alle leverandører. Søk sendes direkte til Exa eller Parallel.",
"settings.checkpoints.title": "Kontrollpunkter",
"settings.display.title": "Visning",
"settings.autocomplete.title": "Autofullfør",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/pl.ts b/packages/kilo-vscode/webview-ui/src/i18n/pl.ts
index f7238a444cb..aa920ac5db3 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/pl.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/pl.ts
@@ -1221,7 +1221,14 @@ export const dict = {
"settings.section.configuration": "Konfiguracja",
"settings.agentBehaviour.title": "Zachowanie agenta",
"settings.autoApprove.title": "Automatyczne zatwierdzanie",
- "settings.browser.title": "Przeglądarka",
+ "settings.webTools.title": "Narzędzia internetowe",
+ "settings.webTools.description":
+ "Skonfiguruj wyszukiwanie w sieci i automatyzację przeglądarki. Żądania wyszukiwania łączą się bezpośrednio z Exa lub Parallel.",
+ "settings.webTools.webSearch.enable": "Włącz dla wszystkich dostawców",
+ "settings.webTools.browserAutomation": "Automatyzacja przeglądarki",
+ "settings.webTools.webSearch.title": "Wyszukiwanie w sieci",
+ "settings.webTools.webSearch.description":
+ "Udostępnij wyszukiwanie w sieci modelom wszystkich dostawców. Wyszukiwania łączą się bezpośrednio z Exa lub Parallel.",
"settings.checkpoints.title": "Punkty kontrolne",
"settings.display.title": "Wyświetlanie",
"settings.autocomplete.title": "Autouzupełnianie",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ru.ts b/packages/kilo-vscode/webview-ui/src/i18n/ru.ts
index 47a24933c3a..68027826b86 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ru.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ru.ts
@@ -1268,7 +1268,14 @@ export const dict = {
"settings.section.configuration": "Конфигурация",
"settings.agentBehaviour.title": "Поведение агента",
"settings.autoApprove.title": "Автоодобрение",
- "settings.browser.title": "Браузер",
+ "settings.webTools.title": "Веб-инструменты",
+ "settings.webTools.description":
+ "Настройте веб-поиск и автоматизацию браузера. Поисковые запросы отправляются напрямую в Exa или Parallel.",
+ "settings.webTools.webSearch.enable": "Включить для всех провайдеров",
+ "settings.webTools.browserAutomation": "Автоматизация браузера",
+ "settings.webTools.webSearch.title": "Веб-поиск",
+ "settings.webTools.webSearch.description":
+ "Сделайте веб-поиск доступным для моделей всех провайдеров. Поисковые запросы отправляются напрямую в Exa или Parallel.",
"settings.checkpoints.title": "Контрольные точки",
"settings.display.title": "Отображение",
"settings.autocomplete.title": "Автодополнение",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/th.ts b/packages/kilo-vscode/webview-ui/src/i18n/th.ts
index cac0eea7a9b..c029e495b63 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/th.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/th.ts
@@ -1250,7 +1250,14 @@ export const dict = {
"settings.section.configuration": "การกำหนดค่า",
"settings.agentBehaviour.title": "พฤติกรรมของเอเจนต์",
"settings.autoApprove.title": "อนุมัติอัตโนมัติ",
- "settings.browser.title": "เบราว์เซอร์",
+ "settings.webTools.title": "เครื่องมือเว็บ",
+ "settings.webTools.description":
+ "กำหนดค่าการค้นหาเว็บและระบบอัตโนมัติของเบราว์เซอร์ คำขอค้นหาจะเชื่อมต่อโดยตรงกับ Exa หรือ Parallel",
+ "settings.webTools.webSearch.enable": "เปิดใช้สำหรับผู้ให้บริการทั้งหมด",
+ "settings.webTools.browserAutomation": "ระบบอัตโนมัติของเบราว์เซอร์",
+ "settings.webTools.webSearch.title": "ค้นหาเว็บ",
+ "settings.webTools.webSearch.description":
+ "ทำให้โมเดลจากผู้ให้บริการทั้งหมดใช้การค้นหาเว็บได้ การค้นหาจะเชื่อมต่อโดยตรงกับ Exa หรือ Parallel",
"settings.checkpoints.title": "จุดตรวจสอบ",
"settings.display.title": "การแสดงผล",
"settings.autocomplete.title": "เติมข้อความอัตโนมัติ",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/tr.ts b/packages/kilo-vscode/webview-ui/src/i18n/tr.ts
index e799d071417..a43c79880d2 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/tr.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/tr.ts
@@ -1215,7 +1215,14 @@ export const dict = {
"settings.section.configuration": "Yapılandırma",
"settings.agentBehaviour.title": "Ajan Davranışı",
"settings.autoApprove.title": "Otomatik Onay",
- "settings.browser.title": "Tarayıcı",
+ "settings.webTools.title": "Web Araçları",
+ "settings.webTools.description":
+ "Web aramasını ve tarayıcı otomasyonunu yapılandırın. Arama istekleri doğrudan Exa veya Parallel'e bağlanır.",
+ "settings.webTools.webSearch.enable": "Tüm Sağlayıcılar İçin Etkinleştir",
+ "settings.webTools.browserAutomation": "Tarayıcı Otomasyonu",
+ "settings.webTools.webSearch.title": "Web Araması",
+ "settings.webTools.webSearch.description":
+ "Web aramasını tüm sağlayıcıların modelleri için kullanılabilir hale getirin. Aramalar doğrudan Exa veya Parallel'e bağlanır.",
"settings.checkpoints.title": "Kontrol Noktaları",
"settings.display.title": "Görünüm",
"settings.autocomplete.title": "Otomatik Tamamlama",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/uk.ts b/packages/kilo-vscode/webview-ui/src/i18n/uk.ts
index dfc15c248db..75783bc9e42 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/uk.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/uk.ts
@@ -1213,7 +1213,14 @@ export const dict = {
"settings.section.configuration": "Конфігурація",
"settings.agentBehaviour.title": "Поведінка агента",
"settings.autoApprove.title": "Автоматичне схвалення",
- "settings.browser.title": "Браузер",
+ "settings.webTools.title": "Вебінструменти",
+ "settings.webTools.description":
+ "Налаштуйте вебпошук і автоматизацію браузера. Пошукові запити надсилаються безпосередньо до Exa або Parallel.",
+ "settings.webTools.webSearch.enable": "Увімкнути для всіх постачальників",
+ "settings.webTools.browserAutomation": "Автоматизація браузера",
+ "settings.webTools.webSearch.title": "Вебпошук",
+ "settings.webTools.webSearch.description":
+ "Зробіть вебпошук доступним для моделей усіх постачальників. Пошукові запити надсилаються безпосередньо до Exa або Parallel.",
"settings.checkpoints.title": "Контрольні точки",
"settings.display.title": "Відображення",
"settings.autocomplete.title": "Автодоповнення",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/zh.ts b/packages/kilo-vscode/webview-ui/src/i18n/zh.ts
index 8432bbee901..9e1dd057295 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/zh.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/zh.ts
@@ -1229,7 +1229,12 @@ export const dict = {
"settings.section.configuration": "配置",
"settings.agentBehaviour.title": "智能体行为",
"settings.autoApprove.title": "自动审批",
- "settings.browser.title": "浏览器",
+ "settings.webTools.title": "网络工具",
+ "settings.webTools.description": "配置网页搜索和浏览器自动化。搜索请求会直接连接到 Exa 或 Parallel。",
+ "settings.webTools.webSearch.enable": "为所有提供商启用",
+ "settings.webTools.browserAutomation": "浏览器自动化",
+ "settings.webTools.webSearch.title": "网页搜索",
+ "settings.webTools.webSearch.description": "让所有提供商的模型都可使用网页搜索。搜索会直接连接到 Exa 或 Parallel。",
"settings.checkpoints.title": "检查点",
"settings.display.title": "显示",
"settings.autocomplete.title": "自动补全",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/zht.ts b/packages/kilo-vscode/webview-ui/src/i18n/zht.ts
index b69bb7054c1..aed2a971794 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/zht.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/zht.ts
@@ -1190,7 +1190,12 @@ export const dict = {
"settings.section.configuration": "設定",
"settings.agentBehaviour.title": "Agent 行為",
"settings.autoApprove.title": "自動核准",
- "settings.browser.title": "瀏覽器",
+ "settings.webTools.title": "網路工具",
+ "settings.webTools.description": "設定網頁搜尋和瀏覽器自動化。搜尋請求會直接連線至 Exa 或 Parallel。",
+ "settings.webTools.webSearch.enable": "為所有供應商啟用",
+ "settings.webTools.browserAutomation": "瀏覽器自動化",
+ "settings.webTools.webSearch.title": "網頁搜尋",
+ "settings.webTools.webSearch.description": "讓所有供應商的模型都可使用網頁搜尋。搜尋會直接連線至 Exa 或 Parallel。",
"settings.checkpoints.title": "檢查點",
"settings.display.title": "顯示",
"settings.autocomplete.title": "自動完成",
diff --git a/packages/kilo-vscode/webview-ui/src/types/messages/config.ts b/packages/kilo-vscode/webview-ui/src/types/messages/config.ts
index 0dc2d05dc71..89dcc0af832 100644
--- a/packages/kilo-vscode/webview-ui/src/types/messages/config.ts
+++ b/packages/kilo-vscode/webview-ui/src/types/messages/config.ts
@@ -39,7 +39,6 @@ export interface WatcherConfig {
export interface ExperimentalConfig {
batch_tool?: boolean
- websearch?: boolean
codebase_search?: boolean
image_generation?: boolean
image_generation_model?: string
@@ -155,6 +154,7 @@ export interface Config {
compaction?: CompactionConfig
commit_message?: CommitMessageConfig
tools?: Record
+ web_search?: boolean
auto_collapse_reasoning?: boolean
experimental?: ExperimentalConfig
sandbox?: SandboxConfig
diff --git a/packages/opencode/src/kilocode/config/overlay.ts b/packages/opencode/src/kilocode/config/overlay.ts
index b0cd42f88c3..ec806bf053f 100644
--- a/packages/opencode/src/kilocode/config/overlay.ts
+++ b/packages/opencode/src/kilocode/config/overlay.ts
@@ -88,7 +88,7 @@ export namespace KilocodeConfigOverlay {
["disabled_providers"],
["watcher", "ignore"],
["instructions"],
- ["experimental", "websearch"],
+ ["web_search"],
["indexing", "enabled"],
["indexing", "provider"],
["indexing", "model"],
diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts
index f8eb66469ab..4df567dd6bf 100644
--- a/packages/opencode/src/tool/registry.ts
+++ b/packages/opencode/src/tool/registry.ts
@@ -377,7 +377,7 @@ export const layer: Layer.Layer<
const filtered = (yield* all()).filter((tool) => {
if (!KiloToolRegistry.available(tool, input.agent)) return false // kilocode_change
if (tool.id === WebSearchTool.id) {
- if (cfg.experimental?.websearch === true) return true // kilocode_change
+ if (cfg.web_search === true) return true // kilocode_change
return webSearchEnabled(input.providerID, { exa: flags.enableExa, parallel: flags.enableParallel })
}
diff --git a/packages/opencode/test/kilocode/config/config.test.ts b/packages/opencode/test/kilocode/config/config.test.ts
index 50529c043ff..51902e15142 100644
--- a/packages/opencode/test/kilocode/config/config.test.ts
+++ b/packages/opencode/test/kilocode/config/config.test.ts
@@ -151,13 +151,15 @@ describe("global config updates", () => {
})
})
-describe("kilocode indexing config", () => {
+describe("kilocode web search config", () => {
test("accepts the websearch availability setting", () => {
- const config = Schema.decodeUnknownSync(Config.Info)({ experimental: { websearch: true } })
+ const config = Schema.decodeUnknownSync(Config.Info)({ web_search: true })
- expect(config.experimental?.websearch).toBe(true)
+ expect(config.web_search).toBe(true)
})
+})
+describe("kilocode indexing config", () => {
test("ignores retired semantic indexing flags in existing configs", async () => {
await using tmp = await tmpdir({ git: true })
await writeConfig(tmp.path, {
diff --git a/packages/opencode/test/kilocode/server/config-overlay.test.ts b/packages/opencode/test/kilocode/server/config-overlay.test.ts
index e8a55f9ac7f..a21deb1e5db 100644
--- a/packages/opencode/test/kilocode/server/config-overlay.test.ts
+++ b/packages/opencode/test/kilocode/server/config-overlay.test.ts
@@ -204,17 +204,17 @@ describe("config overlay routes", () => {
test.serial("resolves and reverts project websearch overrides", async () => {
await using global = await tmpdir()
await using project = await tmpdir()
- await setGlobal(global.path, { experimental: { websearch: true } })
+ await setGlobal(global.path, { web_search: true })
await json(
await req(project.path, "/config/overlay", {
method: "PATCH",
headers: { "content-type": "application/json" },
- body: JSON.stringify({ scope: "project", set: { experimental: { websearch: false } } }),
+ body: JSON.stringify({ scope: "project", set: { web_search: false } }),
}),
)
const overridden = await json(await req(project.path, "/config/overlay?scope=project"))
- expect(overridden.fields["experimental.websearch"]).toMatchObject({
+ expect(overridden.fields.web_search).toMatchObject({
source: "project",
inherited: false,
overridden: true,
@@ -225,11 +225,11 @@ describe("config overlay routes", () => {
await req(project.path, "/config/overlay", {
method: "PATCH",
headers: { "content-type": "application/json" },
- body: JSON.stringify({ scope: "project", unset: [["experimental", "websearch"]] }),
+ body: JSON.stringify({ scope: "project", unset: [["web_search"]] }),
}),
)
const inherited = await json(await req(project.path, "/config/overlay?scope=project"))
- expect(inherited.fields["experimental.websearch"]).toMatchObject({
+ expect(inherited.fields.web_search).toMatchObject({
source: "global",
inherited: true,
overridden: false,
diff --git a/packages/opencode/test/tool/registry.test.ts b/packages/opencode/test/tool/registry.test.ts
index 393bea6f25e..97e4e6c51c1 100644
--- a/packages/opencode/test/tool/registry.test.ts
+++ b/packages/opencode/test/tool/registry.test.ts
@@ -52,12 +52,13 @@ const configLayer = TestConfig.layer({
type RegistryLayerOptions = {
flags?: Partial
plugin?: Layer.Layer
+ config?: Parameters[0] // kilocode_change
}
const registryLayer = (opts: RegistryLayerOptions = {}) =>
ToolRegistry.layer
.pipe(
- Layer.provide(configLayer),
+ Layer.provide(opts.config ? TestConfig.layer(opts.config) : configLayer), // kilocode_change
Layer.provide(opts.plugin ?? Plugin.defaultLayer),
Layer.provide(Question.defaultLayer),
Layer.provide(Todo.defaultLayer),
@@ -118,6 +119,21 @@ const withBrokenPlugin = testEffect(
Layer.mergeAll(registryLayer({ plugin: brokenPluginLayer }), node, Agent.defaultLayer),
)
// kilocode_change start
+const websearch = testEffect(
+ Layer.mergeAll(
+ registryLayer({
+ config: {
+ get: () =>
+ Effect.succeed({
+ web_search: true,
+ provider: { openai: { options: { apiKey: "test-openai-key" } } },
+ }),
+ },
+ }),
+ node,
+ Agent.defaultLayer,
+ ),
+)
const sandboxed = testEffect(
Layer.mergeAll(registryLayer({ flags: { experimentalLspTool: true } }), node, Agent.defaultLayer),
)
@@ -139,6 +155,38 @@ function sandboxProfile(): Profile {
describe("tool.registry", () => {
// kilocode_change start
+ it.instance("hides websearch for a third-party provider by default", () =>
+ Effect.gen(function* () {
+ const registry = yield* ToolRegistry.Service
+ const agent = yield* Agent.Service
+ const build = yield* agent.get("build")
+ if (!build) return yield* Effect.die(new Error("build agent not found"))
+ const tools = yield* registry.tools({
+ providerID: ProviderV2.ID.openai,
+ modelID: ModelV2.ID.make("test"),
+ agent: build,
+ })
+
+ expect(tools.map((tool) => tool.id)).not.toContain("websearch")
+ }),
+ )
+
+ websearch.instance("shows websearch for a configured third-party provider when enabled", () =>
+ Effect.gen(function* () {
+ const registry = yield* ToolRegistry.Service
+ const agent = yield* Agent.Service
+ const build = yield* agent.get("build")
+ if (!build) return yield* Effect.die(new Error("build agent not found"))
+ const tools = yield* registry.tools({
+ providerID: ProviderV2.ID.openai,
+ modelID: ModelV2.ID.make("test"),
+ agent: build,
+ })
+
+ expect(tools.map((tool) => tool.id)).toContain("websearch")
+ }),
+ )
+
sandboxed.instance("preserves built-in network classification through production tool definition processing", () =>
Effect.gen(function* () {
const registry = yield* ToolRegistry.Service
diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts
index 0bd15820a76..5f9963def06 100644
--- a/packages/sdk/js/src/v2/gen/types.gen.ts
+++ b/packages/sdk/js/src/v2/gen/types.gen.ts
@@ -1673,6 +1673,7 @@ export type Config = {
tools?: {
[key: string]: boolean
}
+ web_search?: boolean
attachment?: AttachmentConfig
enterprise?: {
url?: string
@@ -1699,7 +1700,6 @@ export type Config = {
disable_paste_summary?: boolean
batch_tool?: boolean
codebase_search?: boolean
- websearch?: boolean
image_generation?: boolean
image_generation_model?: string
agent_requirements?: boolean
diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json
index 7ea6d2387db..1451c3a6b3f 100644
--- a/packages/sdk/openapi.json
+++ b/packages/sdk/openapi.json
@@ -26905,6 +26905,9 @@
"type": "boolean"
}
},
+ "web_search": {
+ "type": "boolean"
+ },
"attachment": {
"$ref": "#/components/schemas/AttachmentConfig"
},
@@ -27000,9 +27003,6 @@
"codebase_search": {
"type": "boolean"
},
- "websearch": {
- "type": "boolean"
- },
"image_generation": {
"type": "boolean"
},
From 34e787e5ac039b0d070ed186ee5979aba38c8576 Mon Sep 17 00:00:00 2001
From: Josh Lambert
Date: Mon, 27 Jul 2026 11:48:09 -0400
Subject: [PATCH 3/7] fix: enable web search by default
---
packages/core/src/v1/config/config.ts | 3 +-
.../src/routes/config/ToolsRoute.tsx | 2 +-
.../src/components/settings/BrowserTab.tsx | 2 +-
packages/opencode/src/tool/registry.ts | 2 +-
.../test/kilocode/config/config.test.ts | 6 +--
packages/opencode/test/tool/registry.test.ts | 50 ++++++++++++-------
6 files changed, 40 insertions(+), 25 deletions(-)
diff --git a/packages/core/src/v1/config/config.ts b/packages/core/src/v1/config/config.ts
index bd9baab123d..0ef9d1ffc71 100644
--- a/packages/core/src/v1/config/config.ts
+++ b/packages/core/src/v1/config/config.ts
@@ -227,7 +227,8 @@ export const Info = Schema.Struct({
permission: Schema.optional(ConfigPermissionV1.Info),
tools: Schema.optional(Schema.Record(Schema.String, Schema.Boolean)),
web_search: Schema.optional(Schema.Boolean).annotate({
- description: "Make web search available to models from all providers",
+ description:
+ "Make web search available to models from all providers (default: true). Set to false to limit it to managed providers.",
}), // kilocode_change
attachment: Schema.optional(ConfigAttachmentV1.Info).annotate({
description: "Attachment processing configuration, including image size limits and resizing behavior",
diff --git a/packages/kilo-console/src/routes/config/ToolsRoute.tsx b/packages/kilo-console/src/routes/config/ToolsRoute.tsx
index 9dcb20b6e05..fae54f6b8cb 100644
--- a/packages/kilo-console/src/routes/config/ToolsRoute.tsx
+++ b/packages/kilo-console/src/routes/config/ToolsRoute.tsx
@@ -12,7 +12,7 @@ export function ToolsRoute() {
const [search, setSearch] = createSignal("")
const snap = () => ctx.data()
const websearch = createMemo(() => snap()?.overlay.fields.web_search)
- const searchEnabled = createMemo(() => websearch()?.value === true)
+ const searchEnabled = createMemo(() => websearch()?.value !== false)
const rows = createMemo(() => {
const data = snap()
if (!data) return []
diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
index fabc7858b8a..ca870fef21a 100644
--- a/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
+++ b/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
@@ -86,7 +86,7 @@ const BrowserTab: Component = () => {
description={t("settings.webTools.webSearch.description")}
last
>
-
+
{t("settings.webTools.webSearch.title")}
diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts
index 4df567dd6bf..4f7c275cfa5 100644
--- a/packages/opencode/src/tool/registry.ts
+++ b/packages/opencode/src/tool/registry.ts
@@ -377,7 +377,7 @@ export const layer: Layer.Layer<
const filtered = (yield* all()).filter((tool) => {
if (!KiloToolRegistry.available(tool, input.agent)) return false // kilocode_change
if (tool.id === WebSearchTool.id) {
- if (cfg.web_search === true) return true // kilocode_change
+ if (cfg.web_search !== false) return true // kilocode_change
return webSearchEnabled(input.providerID, { exa: flags.enableExa, parallel: flags.enableParallel })
}
diff --git a/packages/opencode/test/kilocode/config/config.test.ts b/packages/opencode/test/kilocode/config/config.test.ts
index 51902e15142..39389503067 100644
--- a/packages/opencode/test/kilocode/config/config.test.ts
+++ b/packages/opencode/test/kilocode/config/config.test.ts
@@ -152,10 +152,10 @@ describe("global config updates", () => {
})
describe("kilocode web search config", () => {
- test("accepts the websearch availability setting", () => {
- const config = Schema.decodeUnknownSync(Config.Info)({ web_search: true })
+ test("accepts explicitly limiting web search to managed providers", () => {
+ const config = Schema.decodeUnknownSync(Config.Info)({ web_search: false })
- expect(config.web_search).toBe(true)
+ expect(config.web_search).toBe(false)
})
})
diff --git a/packages/opencode/test/tool/registry.test.ts b/packages/opencode/test/tool/registry.test.ts
index 97e4e6c51c1..2420506b9de 100644
--- a/packages/opencode/test/tool/registry.test.ts
+++ b/packages/opencode/test/tool/registry.test.ts
@@ -125,7 +125,21 @@ const websearch = testEffect(
config: {
get: () =>
Effect.succeed({
- web_search: true,
+ provider: { openai: { options: { apiKey: "test-openai-key" } } },
+ }),
+ },
+ }),
+ node,
+ Agent.defaultLayer,
+ ),
+)
+const websearchOff = testEffect(
+ Layer.mergeAll(
+ registryLayer({
+ config: {
+ get: () =>
+ Effect.succeed({
+ web_search: false,
provider: { openai: { options: { apiKey: "test-openai-key" } } },
}),
},
@@ -155,23 +169,7 @@ function sandboxProfile(): Profile {
describe("tool.registry", () => {
// kilocode_change start
- it.instance("hides websearch for a third-party provider by default", () =>
- Effect.gen(function* () {
- const registry = yield* ToolRegistry.Service
- const agent = yield* Agent.Service
- const build = yield* agent.get("build")
- if (!build) return yield* Effect.die(new Error("build agent not found"))
- const tools = yield* registry.tools({
- providerID: ProviderV2.ID.openai,
- modelID: ModelV2.ID.make("test"),
- agent: build,
- })
-
- expect(tools.map((tool) => tool.id)).not.toContain("websearch")
- }),
- )
-
- websearch.instance("shows websearch for a configured third-party provider when enabled", () =>
+ websearch.instance("shows websearch by default for a configured third-party provider", () =>
Effect.gen(function* () {
const registry = yield* ToolRegistry.Service
const agent = yield* Agent.Service
@@ -187,6 +185,22 @@ describe("tool.registry", () => {
}),
)
+ websearchOff.instance("hides websearch for a configured third-party provider when disabled", () =>
+ Effect.gen(function* () {
+ const registry = yield* ToolRegistry.Service
+ const agent = yield* Agent.Service
+ const build = yield* agent.get("build")
+ if (!build) return yield* Effect.die(new Error("build agent not found"))
+ const tools = yield* registry.tools({
+ providerID: ProviderV2.ID.openai,
+ modelID: ModelV2.ID.make("test"),
+ agent: build,
+ })
+
+ expect(tools.map((tool) => tool.id)).not.toContain("websearch")
+ }),
+ )
+
sandboxed.instance("preserves built-in network classification through production tool definition processing", () =>
Effect.gen(function* () {
const registry = yield* ToolRegistry.Service
From c5d3032118aa87cdecb3ae40f1117344762efd2b Mon Sep 17 00:00:00 2001
From: Josh Lambert
Date: Mon, 27 Jul 2026 14:47:11 -0400
Subject: [PATCH 4/7] fix: keep third-party web search opt-in
---
.changeset/enable-websearch-config.md | 2 +-
packages/core/src/v1/config/config.ts | 3 +-
.../src/routes/config/ToolsRoute.tsx | 2 +-
.../src/components/settings/BrowserTab.tsx | 2 +-
packages/opencode/src/tool/registry.ts | 2 +-
.../test/kilocode/config/config.test.ts | 6 +--
packages/opencode/test/tool/registry.test.ts | 50 +++++++------------
7 files changed, 26 insertions(+), 41 deletions(-)
diff --git a/.changeset/enable-websearch-config.md b/.changeset/enable-websearch-config.md
index ebbc4135f3b..cd47a9e9fb5 100644
--- a/.changeset/enable-websearch-config.md
+++ b/.changeset/enable-websearch-config.md
@@ -3,4 +3,4 @@
"kilo-code": patch
---
-Configure web search for models from all providers through Kilo configuration, VS Code settings, and Kilo Console settings.
+Allow users to enable web search for models from all providers through Kilo configuration, VS Code settings, and Kilo Console settings.
diff --git a/packages/core/src/v1/config/config.ts b/packages/core/src/v1/config/config.ts
index 0ef9d1ffc71..fea9a7f5989 100644
--- a/packages/core/src/v1/config/config.ts
+++ b/packages/core/src/v1/config/config.ts
@@ -227,8 +227,7 @@ export const Info = Schema.Struct({
permission: Schema.optional(ConfigPermissionV1.Info),
tools: Schema.optional(Schema.Record(Schema.String, Schema.Boolean)),
web_search: Schema.optional(Schema.Boolean).annotate({
- description:
- "Make web search available to models from all providers (default: true). Set to false to limit it to managed providers.",
+ description: "Make web search available to models from all providers (default: false)",
}), // kilocode_change
attachment: Schema.optional(ConfigAttachmentV1.Info).annotate({
description: "Attachment processing configuration, including image size limits and resizing behavior",
diff --git a/packages/kilo-console/src/routes/config/ToolsRoute.tsx b/packages/kilo-console/src/routes/config/ToolsRoute.tsx
index fae54f6b8cb..9dcb20b6e05 100644
--- a/packages/kilo-console/src/routes/config/ToolsRoute.tsx
+++ b/packages/kilo-console/src/routes/config/ToolsRoute.tsx
@@ -12,7 +12,7 @@ export function ToolsRoute() {
const [search, setSearch] = createSignal("")
const snap = () => ctx.data()
const websearch = createMemo(() => snap()?.overlay.fields.web_search)
- const searchEnabled = createMemo(() => websearch()?.value !== false)
+ const searchEnabled = createMemo(() => websearch()?.value === true)
const rows = createMemo(() => {
const data = snap()
if (!data) return []
diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
index ca870fef21a..fabc7858b8a 100644
--- a/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
+++ b/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
@@ -86,7 +86,7 @@ const BrowserTab: Component = () => {
description={t("settings.webTools.webSearch.description")}
last
>
-
+
{t("settings.webTools.webSearch.title")}
diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts
index 4f7c275cfa5..4df567dd6bf 100644
--- a/packages/opencode/src/tool/registry.ts
+++ b/packages/opencode/src/tool/registry.ts
@@ -377,7 +377,7 @@ export const layer: Layer.Layer<
const filtered = (yield* all()).filter((tool) => {
if (!KiloToolRegistry.available(tool, input.agent)) return false // kilocode_change
if (tool.id === WebSearchTool.id) {
- if (cfg.web_search !== false) return true // kilocode_change
+ if (cfg.web_search === true) return true // kilocode_change
return webSearchEnabled(input.providerID, { exa: flags.enableExa, parallel: flags.enableParallel })
}
diff --git a/packages/opencode/test/kilocode/config/config.test.ts b/packages/opencode/test/kilocode/config/config.test.ts
index 39389503067..c384d76dff0 100644
--- a/packages/opencode/test/kilocode/config/config.test.ts
+++ b/packages/opencode/test/kilocode/config/config.test.ts
@@ -152,10 +152,10 @@ describe("global config updates", () => {
})
describe("kilocode web search config", () => {
- test("accepts explicitly limiting web search to managed providers", () => {
- const config = Schema.decodeUnknownSync(Config.Info)({ web_search: false })
+ test("accepts enabling web search for all providers", () => {
+ const config = Schema.decodeUnknownSync(Config.Info)({ web_search: true })
- expect(config.web_search).toBe(false)
+ expect(config.web_search).toBe(true)
})
})
diff --git a/packages/opencode/test/tool/registry.test.ts b/packages/opencode/test/tool/registry.test.ts
index 2420506b9de..97e4e6c51c1 100644
--- a/packages/opencode/test/tool/registry.test.ts
+++ b/packages/opencode/test/tool/registry.test.ts
@@ -125,21 +125,7 @@ const websearch = testEffect(
config: {
get: () =>
Effect.succeed({
- provider: { openai: { options: { apiKey: "test-openai-key" } } },
- }),
- },
- }),
- node,
- Agent.defaultLayer,
- ),
-)
-const websearchOff = testEffect(
- Layer.mergeAll(
- registryLayer({
- config: {
- get: () =>
- Effect.succeed({
- web_search: false,
+ web_search: true,
provider: { openai: { options: { apiKey: "test-openai-key" } } },
}),
},
@@ -169,23 +155,7 @@ function sandboxProfile(): Profile {
describe("tool.registry", () => {
// kilocode_change start
- websearch.instance("shows websearch by default for a configured third-party provider", () =>
- Effect.gen(function* () {
- const registry = yield* ToolRegistry.Service
- const agent = yield* Agent.Service
- const build = yield* agent.get("build")
- if (!build) return yield* Effect.die(new Error("build agent not found"))
- const tools = yield* registry.tools({
- providerID: ProviderV2.ID.openai,
- modelID: ModelV2.ID.make("test"),
- agent: build,
- })
-
- expect(tools.map((tool) => tool.id)).toContain("websearch")
- }),
- )
-
- websearchOff.instance("hides websearch for a configured third-party provider when disabled", () =>
+ it.instance("hides websearch for a third-party provider by default", () =>
Effect.gen(function* () {
const registry = yield* ToolRegistry.Service
const agent = yield* Agent.Service
@@ -201,6 +171,22 @@ describe("tool.registry", () => {
}),
)
+ websearch.instance("shows websearch for a configured third-party provider when enabled", () =>
+ Effect.gen(function* () {
+ const registry = yield* ToolRegistry.Service
+ const agent = yield* Agent.Service
+ const build = yield* agent.get("build")
+ if (!build) return yield* Effect.die(new Error("build agent not found"))
+ const tools = yield* registry.tools({
+ providerID: ProviderV2.ID.openai,
+ modelID: ModelV2.ID.make("test"),
+ agent: build,
+ })
+
+ expect(tools.map((tool) => tool.id)).toContain("websearch")
+ }),
+ )
+
sandboxed.instance("preserves built-in network classification through production tool definition processing", () =>
Effect.gen(function* () {
const registry = yield* ToolRegistry.Service
From 605dc483e84fbbc3ff5e213e057f3791a14e9299 Mon Sep 17 00:00:00 2001
From: Josh Lambert
Date: Mon, 27 Jul 2026 17:30:02 -0400
Subject: [PATCH 5/7] chore(sdk): minimize web search schema diff
---
packages/sdk/openapi.json | 5637 +++++++++++++++++++++++++++----------
1 file changed, 4111 insertions(+), 1526 deletions(-)
diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json
index 1451c3a6b3f..7bd369f6bb0 100644
--- a/packages/sdk/openapi.json
+++ b/packages/sdk/openapi.json
@@ -4211,10 +4211,10 @@
]
}
},
- "/experimental/project/{projectID}/copy": {
+ "/experimental/project/{projectID}/copy/generate-name": {
"post": {
"tags": ["projectCopy"],
- "operationId": "experimental.projectCopy.create",
+ "operationId": "experimental.projectCopy.generateName",
"parameters": [
{
"name": "projectID",
@@ -4224,6 +4224,14 @@
},
"required": true
},
+ {
+ "name": "directory",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "required": false
+ },
{
"name": "workspace",
"in": "query",
@@ -4235,56 +4243,45 @@
],
"responses": {
"200": {
- "description": "Project copy created",
+ "description": "Success",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ProjectCopyCopy"
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": ["name"],
+ "additionalProperties": false
}
}
}
},
"400": {
- "description": "ProjectCopyError | InvalidRequestError",
+ "description": "Bad request",
"content": {
"application/json": {
"schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ProjectCopyError"
- },
- {
- "$ref": "#/components/schemas/InvalidRequestError"
- }
- ]
+ "$ref": "#/components/schemas/BadRequestError"
}
}
}
}
},
- "description": "Create a local physical copy of a project using the selected strategy.",
- "summary": "Create project copy",
+ "description": "Generate a short name for a project copy from task context.",
+ "summary": "Generate project copy name",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
- "strategy": {
- "type": "string",
- "enum": ["git_worktree"]
- },
- "directory": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
"context": {
"type": "string"
}
},
- "required": ["strategy", "directory"],
"additionalProperties": false
}
}
@@ -4293,145 +4290,7 @@
"x-codeSamples": [
{
"lang": "js",
- "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.experimental.projectCopy.create({\n ...\n})"
- }
- ]
- },
- "delete": {
- "tags": ["projectCopy"],
- "operationId": "experimental.projectCopy.remove",
- "parameters": [
- {
- "name": "projectID",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "required": true
- },
- {
- "name": "directory",
- "in": "query",
- "schema": {
- "type": "string"
- },
- "required": false
- },
- {
- "name": "workspace",
- "in": "query",
- "schema": {
- "type": "string"
- },
- "required": false
- }
- ],
- "responses": {
- "204": {
- "description": "Project copy removed"
- },
- "400": {
- "description": "ProjectCopyError | InvalidRequestError",
- "content": {
- "application/json": {
- "schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ProjectCopyError"
- },
- {
- "$ref": "#/components/schemas/InvalidRequestError"
- }
- ]
- }
- }
- }
- }
- },
- "description": "Remove a local physical copy of a project using the selected strategy.",
- "summary": "Remove project copy",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "directory": {
- "type": "string"
- }
- },
- "required": ["directory"],
- "additionalProperties": false
- }
- }
- }
- },
- "x-codeSamples": [
- {
- "lang": "js",
- "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.experimental.projectCopy.remove({\n ...\n})"
- }
- ]
- }
- },
- "/experimental/project/{projectID}/copy/refresh": {
- "post": {
- "tags": ["projectCopy"],
- "operationId": "experimental.projectCopy.refresh",
- "parameters": [
- {
- "name": "projectID",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "required": true
- },
- {
- "name": "directory",
- "in": "query",
- "schema": {
- "type": "string"
- },
- "required": false
- },
- {
- "name": "workspace",
- "in": "query",
- "schema": {
- "type": "string"
- },
- "required": false
- }
- ],
- "responses": {
- "204": {
- "description": "Project copies refreshed"
- },
- "400": {
- "description": "ProjectCopyError | InvalidRequestError",
- "content": {
- "application/json": {
- "schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/ProjectCopyError"
- },
- {
- "$ref": "#/components/schemas/InvalidRequestError"
- }
- ]
- }
- }
- }
- }
- },
- "description": "Discover local project copies using one or all configured strategies.",
- "summary": "Refresh project copies",
- "x-codeSamples": [
- {
- "lang": "js",
- "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.experimental.projectCopy.refresh({\n ...\n})"
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.experimental.projectCopy.generateName({\n ...\n})"
}
]
}
@@ -14735,6 +14594,16 @@
}
}
}
+ },
+ "500": {
+ "description": "CloudSessionImportError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CloudSessionImportError"
+ }
+ }
+ }
}
},
"description": "Download a cloud-synced session and write it to local storage with fresh IDs.",
@@ -16890,6 +16759,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -19898,7 +19771,7 @@
},
"/api/health": {
"get": {
- "tags": ["kilo experimental HttpApi"],
+ "tags": ["Kilo HttpApi"],
"operationId": "v2.health.get",
"parameters": [],
"security": [],
@@ -19942,8 +19815,8 @@
}
}
},
- "description": "Check whether the v2 API server is ready to accept requests.",
- "summary": "Check v2 server health",
+ "description": "Check whether the API server is ready to accept requests.",
+ "summary": "Check server health",
"x-codeSamples": [
{
"lang": "js",
@@ -19952,9 +19825,77 @@
]
}
},
+ "/api/location": {
+ "get": {
+ "tags": ["Kilo HttpApi"],
+ "operationId": "v2.location.get",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Location.Info",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LocationInfo"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Resolve the requested location or the server default location.",
+ "summary": "Get location",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.location.get({\n ...\n})"
+ }
+ ]
+ }
+ },
"/api/agent": {
"get": {
- "tags": ["kilo experimental HttpApi"],
+ "tags": ["Kilo HttpApi"],
"operationId": "v2.agent.list",
"parameters": [
{
@@ -20023,8 +19964,8 @@
}
}
},
- "description": "Retrieve currently registered v2 agents.",
- "summary": "List v2 agents",
+ "description": "Retrieve currently registered agents.",
+ "summary": "List agents",
"x-codeSamples": [
{
"lang": "js",
@@ -20035,7 +19976,7 @@
},
"/api/session": {
"get": {
- "tags": ["v2"],
+ "tags": ["sessions"],
"operationId": "v2.session.list",
"parameters": [
{
@@ -20109,11 +20050,11 @@
"security": [],
"responses": {
"200": {
- "description": "V2SessionsResponse",
+ "description": "SessionsResponse",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/V2SessionsResponse"
+ "$ref": "#/components/schemas/SessionsResponse"
}
}
}
@@ -20150,18 +20091,192 @@
}
},
"description": "Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.",
- "summary": "List v2 sessions",
+ "summary": "List sessions",
"x-codeSamples": [
{
"lang": "js",
"source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.list({\n ...\n})"
}
]
+ },
+ "post": {
+ "tags": ["sessions"],
+ "operationId": "v2.session.create",
+ "parameters": [],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/SessionV2Info"
+ }
+ },
+ "required": ["data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Create a session at the requested location.",
+ "summary": "Create session",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ "agent": {
+ "type": "string"
+ },
+ "model": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "providerID": {
+ "type": "string"
+ },
+ "variant": {
+ "type": "string"
+ }
+ },
+ "required": ["id", "providerID"],
+ "additionalProperties": false
+ },
+ "location": {
+ "$ref": "#/components/schemas/LocationRef"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": true
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.create({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/session/{sessionID}": {
+ "get": {
+ "tags": ["sessions"],
+ "operationId": "v2.session.get",
+ "parameters": [
+ {
+ "name": "sessionID",
+ "in": "path",
+ "schema": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "required": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/components/schemas/SessionV2Info"
+ }
+ },
+ "required": ["data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "SessionNotFoundError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "description": "Retrieve a session by ID.",
+ "summary": "Get session",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.get({\n ...\n})"
+ }
+ ]
}
},
"/api/session/{sessionID}/prompt": {
"post": {
- "tags": ["v2"],
+ "tags": ["sessions"],
"operationId": "v2.session.prompt",
"parameters": [
{
@@ -20218,7 +20333,14 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SessionNotFoundError"
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
}
}
}
@@ -20234,8 +20356,8 @@
}
}
},
- "description": "Durably admit one v2 session input and schedule agent-loop execution unless resume is false.",
- "summary": "Send v2 message",
+ "description": "Durably admit one session input and schedule agent-loop execution unless resume is false.",
+ "summary": "Send message",
"requestBody": {
"content": {
"application/json": {
@@ -20274,7 +20396,7 @@
},
"/api/session/{sessionID}/compact": {
"post": {
- "tags": ["v2"],
+ "tags": ["sessions"],
"operationId": "v2.session.compact",
"parameters": [
{
@@ -20317,7 +20439,14 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SessionNotFoundError"
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
}
}
}
@@ -20333,8 +20462,8 @@
}
}
},
- "description": "Compact a v2 session conversation.",
- "summary": "Compact v2 session",
+ "description": "Compact a session conversation.",
+ "summary": "Compact session",
"x-codeSamples": [
{
"lang": "js",
@@ -20345,7 +20474,7 @@
},
"/api/session/{sessionID}/wait": {
"post": {
- "tags": ["v2"],
+ "tags": ["sessions"],
"operationId": "v2.session.wait",
"parameters": [
{
@@ -20388,7 +20517,14 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SessionNotFoundError"
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
}
}
}
@@ -20404,8 +20540,8 @@
}
}
},
- "description": "Wait for a v2 session agent loop to become idle.",
- "summary": "Wait for v2 session",
+ "description": "Wait for a session agent loop to become idle.",
+ "summary": "Wait for session",
"x-codeSamples": [
{
"lang": "js",
@@ -20416,7 +20552,7 @@
},
"/api/session/{sessionID}/context": {
"get": {
- "tags": ["v2"],
+ "tags": ["sessions"],
"operationId": "v2.session.context",
"parameters": [
{
@@ -20476,7 +20612,14 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SessionNotFoundError"
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
}
}
}
@@ -20492,8 +20635,8 @@
}
}
},
- "description": "Retrieve the active context messages for a v2 session (all messages after the last compaction).",
- "summary": "Get v2 session context",
+ "description": "Retrieve the active context messages for a session (all messages after the last compaction).",
+ "summary": "Get session context",
"x-codeSamples": [
{
"lang": "js",
@@ -20504,7 +20647,7 @@
},
"/api/session/{sessionID}/message": {
"get": {
- "tags": ["v2 messages"],
+ "tags": ["messages"],
"operationId": "v2.session.messages",
"parameters": [
{
@@ -20546,11 +20689,11 @@
"security": [],
"responses": {
"200": {
- "description": "V2SessionMessagesResponse",
+ "description": "SessionMessagesResponse",
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/V2SessionMessagesResponse"
+ "$ref": "#/components/schemas/SessionMessagesResponse"
}
}
}
@@ -20587,7 +20730,14 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/SessionNotFoundError"
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
}
}
}
@@ -20603,8 +20753,8 @@
}
}
},
- "description": "Retrieve projected v2 messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.",
- "summary": "Get v2 session messages",
+ "description": "Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.",
+ "summary": "Get session messages",
"x-codeSamples": [
{
"lang": "js",
@@ -20615,7 +20765,7 @@
},
"/api/model": {
"get": {
- "tags": ["v2 models"],
+ "tags": ["models"],
"operationId": "v2.model.list",
"parameters": [
{
@@ -20694,8 +20844,8 @@
}
}
},
- "description": "Retrieve available v2 models ordered by release date.",
- "summary": "List v2 models",
+ "description": "Retrieve available models ordered by release date.",
+ "summary": "List models",
"x-codeSamples": [
{
"lang": "js",
@@ -20706,7 +20856,7 @@
},
"/api/provider": {
"get": {
- "tags": ["v2 providers"],
+ "tags": ["providers"],
"operationId": "v2.provider.list",
"parameters": [
{
@@ -20785,8 +20935,8 @@
}
}
},
- "description": "Retrieve active v2 AI providers so clients can show provider availability and configuration.",
- "summary": "List v2 providers",
+ "description": "Retrieve active AI providers so clients can show provider availability and configuration.",
+ "summary": "List providers",
"x-codeSamples": [
{
"lang": "js",
@@ -20797,7 +20947,7 @@
},
"/api/provider/{providerID}": {
"get": {
- "tags": ["v2 providers"],
+ "tags": ["providers"],
"operationId": "v2.provider.get",
"parameters": [
{
@@ -20891,8 +21041,8 @@
}
}
},
- "description": "Retrieve a single v2 AI provider so clients can inspect its availability and endpoint settings.",
- "summary": "Get v2 provider",
+ "description": "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.",
+ "summary": "Get provider",
"x-codeSamples": [
{
"lang": "js",
@@ -20901,9 +21051,1011 @@
]
}
},
+ "/api/integration": {
+ "get": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.list",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "$ref": "#/components/schemas/LocationInfo"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/IntegrationInfo"
+ }
+ }
+ },
+ "required": ["location", "data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Retrieve available integrations and their authentication methods.",
+ "summary": "List integrations",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.list({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/integration/{integrationID}": {
+ "get": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.get",
+ "parameters": [
+ {
+ "name": "integrationID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "$ref": "#/components/schemas/LocationInfo"
+ },
+ "data": {
+ "$ref": "#/components/schemas/IntegrationInfo"
+ }
+ },
+ "required": ["location", "data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Retrieve one integration and its authentication methods.",
+ "summary": "Get integration",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.get({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/integration/{integrationID}/connect/key": {
+ "post": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.connect.key",
+ "parameters": [
+ {
+ "name": "integrationID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ },
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Run a key authentication method and store the resulting credential.",
+ "summary": "Connect with key",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": ["key"],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": true
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.connect.key({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/integration/{integrationID}/connect/oauth": {
+ "post": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.connect.oauth",
+ "parameters": [
+ {
+ "name": "integrationID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "$ref": "#/components/schemas/LocationInfo"
+ },
+ "data": {
+ "$ref": "#/components/schemas/IntegrationAttempt"
+ }
+ },
+ "required": ["location", "data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ },
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Start an OAuth attempt and return the authorization details.",
+ "summary": "Begin OAuth connection",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "methodID": {
+ "type": "string"
+ },
+ "inputs": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": ["methodID", "inputs"],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": true
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.connect.oauth({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/integration/attempt/{attemptID}": {
+ "get": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.attempt.status",
+ "parameters": [
+ {
+ "name": "attemptID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "$ref": "#/components/schemas/LocationInfo"
+ },
+ "data": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": ["pending"]
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "expires": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ }
+ },
+ "required": ["created", "expires"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["status", "time"],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": ["complete"]
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "expires": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ }
+ },
+ "required": ["created", "expires"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["status", "time"],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": ["failed"]
+ },
+ "message": {
+ "type": "string"
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "expires": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ }
+ },
+ "required": ["created", "expires"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["status", "message", "time"],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": ["expired"]
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "expires": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ }
+ },
+ "required": ["created", "expires"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["status", "time"],
+ "additionalProperties": false
+ }
+ ]
+ }
+ },
+ "required": ["location", "data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Poll the current status of an OAuth attempt.",
+ "summary": "Get OAuth attempt status",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.attempt.status({\n ...\n})"
+ }
+ ]
+ },
+ "delete": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.attempt.cancel",
+ "parameters": [
+ {
+ "name": "attemptID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Cancel an OAuth attempt and release its resources.",
+ "summary": "Cancel OAuth connection",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.attempt.cancel({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/integration/attempt/{attemptID}/complete": {
+ "post": {
+ "tags": ["integrations"],
+ "operationId": "v2.integration.attempt.complete",
+ "parameters": [
+ {
+ "name": "attemptID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ },
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Complete a code-based OAuth attempt and store the resulting credential.",
+ "summary": "Complete OAuth connection",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": true
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.integration.attempt.complete({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/credential/{credentialID}": {
+ "patch": {
+ "tags": ["Kilo HttpApi"],
+ "operationId": "v2.credential.update",
+ "parameters": [
+ {
+ "name": "credentialID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Update a stored credential label.",
+ "summary": "Update credential",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": ["label"],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": true
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.credential.update({\n ...\n})"
+ }
+ ]
+ },
+ "delete": {
+ "tags": ["Kilo HttpApi"],
+ "operationId": "v2.credential.remove",
+ "parameters": [
+ {
+ "name": "credentialID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Remove a stored integration credential.",
+ "summary": "Remove credential",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.credential.remove({\n ...\n})"
+ }
+ ]
+ }
+ },
"/api/permission/request": {
"get": {
- "tags": ["v2 permissions"],
+ "tags": ["permissions"],
"operationId": "v2.permission.request.list",
"parameters": [
{
@@ -20982,184 +22134,9 @@
]
}
},
- "/api/session/{sessionID}/permission/request": {
- "get": {
- "tags": ["v2 session permissions"],
- "operationId": "v2.session.permission.list",
- "parameters": [
- {
- "name": "sessionID",
- "in": "path",
- "schema": {
- "type": "string",
- "pattern": "^ses.*"
- },
- "required": true
- }
- ],
- "security": [],
- "responses": {
- "200": {
- "description": "Success",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PermissionV2Request"
- }
- }
- },
- "required": ["data"],
- "additionalProperties": false
- }
- }
- }
- },
- "400": {
- "description": "InvalidRequestError",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/InvalidRequestError"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedError",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UnauthorizedError"
- }
- }
- }
- },
- "404": {
- "description": "SessionNotFoundError",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SessionNotFoundError"
- }
- }
- }
- }
- },
- "description": "Retrieve pending permission requests owned by a session.",
- "summary": "List session permission requests",
- "x-codeSamples": [
- {
- "lang": "js",
- "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.permission.list({\n ...\n})"
- }
- ]
- }
- },
- "/api/session/{sessionID}/permission/request/{requestID}/reply": {
- "post": {
- "tags": ["v2 session permissions"],
- "operationId": "v2.session.permission.reply",
- "parameters": [
- {
- "name": "sessionID",
- "in": "path",
- "schema": {
- "type": "string",
- "pattern": "^ses.*"
- },
- "required": true
- },
- {
- "name": "requestID",
- "in": "path",
- "schema": {
- "type": "string",
- "pattern": "^per"
- },
- "required": true
- }
- ],
- "security": [],
- "responses": {
- "204": {
- "description": ""
- },
- "400": {
- "description": "InvalidRequestError",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/InvalidRequestError"
- }
- }
- }
- },
- "401": {
- "description": "UnauthorizedError",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UnauthorizedError"
- }
- }
- }
- },
- "404": {
- "description": "SessionNotFoundError | PermissionNotFoundError",
- "content": {
- "application/json": {
- "schema": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/SessionNotFoundError"
- },
- {
- "$ref": "#/components/schemas/PermissionNotFoundError"
- }
- ]
- }
- }
- }
- }
- },
- "description": "Respond to a pending permission request owned by a session.",
- "summary": "Reply to pending permission request",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "properties": {
- "reply": {
- "$ref": "#/components/schemas/PermissionV2Reply"
- },
- "message": {
- "type": "string"
- }
- },
- "required": ["reply"],
- "additionalProperties": false
- }
- }
- },
- "required": true
- },
- "x-codeSamples": [
- {
- "lang": "js",
- "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.permission.reply({\n ...\n})"
- }
- ]
- }
- },
"/api/permission/saved": {
"get": {
- "tags": ["v2 saved permissions"],
+ "tags": ["permissions"],
"operationId": "v2.permission.saved.list",
"parameters": [
{
@@ -21226,7 +22203,7 @@
},
"/api/permission/saved/{id}": {
"delete": {
- "tags": ["v2 saved permissions"],
+ "tags": ["permissions"],
"operationId": "v2.permission.saved.remove",
"parameters": [
{
@@ -21274,9 +22251,194 @@
]
}
},
- "/api/fs/read": {
+ "/api/session/{sessionID}/permission": {
"get": {
- "tags": ["v2 filesystem"],
+ "tags": ["permissions"],
+ "operationId": "v2.session.permission.list",
+ "parameters": [
+ {
+ "name": "sessionID",
+ "in": "path",
+ "schema": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "required": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionV2Request"
+ }
+ }
+ },
+ "required": ["data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "SessionNotFoundError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "description": "Retrieve pending permission requests owned by a session.",
+ "summary": "List session permission requests",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.permission.list({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/session/{sessionID}/permission/{requestID}/reply": {
+ "post": {
+ "tags": ["permissions"],
+ "operationId": "v2.session.permission.reply",
+ "parameters": [
+ {
+ "name": "sessionID",
+ "in": "path",
+ "schema": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "required": true
+ },
+ {
+ "name": "requestID",
+ "in": "path",
+ "schema": {
+ "type": "string",
+ "pattern": "^per"
+ },
+ "required": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "SessionNotFoundError | PermissionNotFoundError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/PermissionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "description": "Respond to a pending permission request owned by a session.",
+ "summary": "Reply to pending permission request",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reply": {
+ "$ref": "#/components/schemas/PermissionV2Reply"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": ["reply"],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": true
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.permission.reply({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/fs/read/*": {
+ "get": {
+ "tags": ["filesystem"],
"operationId": "v2.fs.read",
"parameters": [
{
@@ -21304,14 +22466,6 @@
"schema": {
"type": "string"
},
- "required": true
- },
- {
- "name": "reference",
- "in": "query",
- "schema": {
- "type": "string"
- },
"required": false
}
],
@@ -21320,26 +22474,10 @@
"200": {
"description": "Success",
"content": {
- "application/json": {
+ "application/octet-stream": {
"schema": {
- "type": "object",
- "properties": {
- "location": {
- "$ref": "#/components/schemas/LocationInfo"
- },
- "data": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/FileSystemTextContent"
- },
- {
- "$ref": "#/components/schemas/FileSystemBinaryContent"
- }
- ]
- }
- },
- "required": ["location", "data"],
- "additionalProperties": false
+ "type": "string",
+ "format": "binary"
}
}
}
@@ -21365,7 +22503,7 @@
}
}
},
- "description": "Read one file relative to the requested location.",
+ "description": "Serve one file relative to the requested location.",
"summary": "Read file",
"x-codeSamples": [
{
@@ -21377,7 +22515,7 @@
},
"/api/fs/list": {
"get": {
- "tags": ["v2 filesystem"],
+ "tags": ["filesystem"],
"operationId": "v2.fs.list",
"parameters": [
{
@@ -21406,14 +22544,6 @@
"type": "string"
},
"required": false
- },
- {
- "name": "reference",
- "in": "query",
- "schema": {
- "type": "string"
- },
- "required": false
}
],
"security": [],
@@ -21472,9 +22602,115 @@
]
}
},
+ "/api/fs/find": {
+ "get": {
+ "tags": ["filesystem"],
+ "operationId": "v2.fs.find",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ },
+ {
+ "name": "query",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "string",
+ "enum": ["file", "directory"]
+ },
+ "required": false
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "required": false
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "$ref": "#/components/schemas/LocationInfo"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FileSystemEntry"
+ }
+ }
+ },
+ "required": ["location", "data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "Find recursively ranked filesystem entries relative to the requested location.",
+ "summary": "Find files",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.fs.find({\n ...\n})"
+ }
+ ]
+ }
+ },
"/api/command": {
"get": {
- "tags": ["v2 commands"],
+ "tags": ["commands"],
"operationId": "v2.command.list",
"parameters": [
{
@@ -21543,8 +22779,8 @@
}
}
},
- "description": "Retrieve currently registered v2 commands.",
- "summary": "List v2 commands",
+ "description": "Retrieve currently registered commands.",
+ "summary": "List commands",
"x-codeSamples": [
{
"lang": "js",
@@ -21555,7 +22791,7 @@
},
"/api/skill": {
"get": {
- "tags": ["v2 skills"],
+ "tags": ["skills"],
"operationId": "v2.skill.list",
"parameters": [
{
@@ -21624,8 +22860,8 @@
}
}
},
- "description": "Retrieve currently registered v2 skills.",
- "summary": "List v2 skills",
+ "description": "Retrieve currently registered skills.",
+ "summary": "List skills",
"x-codeSamples": [
{
"lang": "js",
@@ -21636,7 +22872,7 @@
},
"/api/event": {
"get": {
- "tags": ["v2 events"],
+ "tags": ["events"],
"operationId": "v2.event.subscribe",
"parameters": [
{
@@ -21692,8 +22928,8 @@
}
}
},
- "description": "Subscribe to native EventV2 payloads for a location.",
- "summary": "Subscribe to v2 events",
+ "description": "Subscribe to native event payloads for a location.",
+ "summary": "Subscribe to events",
"x-codeSamples": [
{
"lang": "js",
@@ -21704,7 +22940,7 @@
},
"/api/question/request": {
"get": {
- "tags": ["v2 questions"],
+ "tags": ["session questions"],
"operationId": "v2.question.request.list",
"parameters": [
{
@@ -21783,9 +23019,94 @@
]
}
},
- "/api/session/{sessionID}/question/request/{requestID}/reply": {
+ "/api/session/{sessionID}/question": {
+ "get": {
+ "tags": ["session questions"],
+ "operationId": "v2.session.question.list",
+ "parameters": [
+ {
+ "name": "sessionID",
+ "in": "path",
+ "schema": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "required": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/QuestionV2Request"
+ }
+ }
+ },
+ "required": ["data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "SessionNotFoundError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ },
+ {
+ "$ref": "#/components/schemas/SessionNotFoundError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "description": "Retrieve pending question requests owned by a session.",
+ "summary": "List session question requests",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.session.question.list({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/api/session/{sessionID}/question/{requestID}/reply": {
"post": {
- "tags": ["v2 session questions"],
+ "tags": ["session questions"],
"operationId": "v2.session.question.reply",
"parameters": [
{
@@ -21838,11 +23159,14 @@
"application/json": {
"schema": {
"anyOf": [
+ {
+ "$ref": "#/components/schemas/QuestionNotFoundError"
+ },
{
"$ref": "#/components/schemas/SessionNotFoundError"
},
{
- "$ref": "#/components/schemas/QuestionNotFoundError"
+ "$ref": "#/components/schemas/SessionNotFoundError"
}
]
}
@@ -21870,9 +23194,9 @@
]
}
},
- "/api/session/{sessionID}/question/request/{requestID}/reject": {
+ "/api/session/{sessionID}/question/{requestID}/reject": {
"post": {
- "tags": ["v2 session questions"],
+ "tags": ["session questions"],
"operationId": "v2.session.question.reject",
"parameters": [
{
@@ -21925,11 +23249,14 @@
"application/json": {
"schema": {
"anyOf": [
+ {
+ "$ref": "#/components/schemas/QuestionNotFoundError"
+ },
{
"$ref": "#/components/schemas/SessionNotFoundError"
},
{
- "$ref": "#/components/schemas/QuestionNotFoundError"
+ "$ref": "#/components/schemas/SessionNotFoundError"
}
]
}
@@ -21947,6 +23274,322 @@
]
}
},
+ "/api/reference": {
+ "get": {
+ "tags": ["reference"],
+ "operationId": "v2.reference.list",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "security": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "$ref": "#/components/schemas/LocationInfo"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ReferenceInfo"
+ }
+ }
+ },
+ "required": ["location", "data"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "UnauthorizedError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UnauthorizedError"
+ }
+ }
+ }
+ }
+ },
+ "description": "List references available in the requested location.",
+ "summary": "List references",
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.reference.list({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/experimental/project/{projectID}/copy": {
+ "post": {
+ "tags": ["projectCopy"],
+ "operationId": "v2.projectCopy.create",
+ "parameters": [
+ {
+ "name": "projectID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ProjectCopy.Copy",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProjectCopyCopy"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "ProjectCopyError | InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ProjectCopyError"
+ },
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "strategy": {
+ "type": "string"
+ },
+ "directory": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": ["strategy", "directory"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.projectCopy.create({\n ...\n})"
+ }
+ ]
+ },
+ "delete": {
+ "tags": ["projectCopy"],
+ "operationId": "v2.projectCopy.remove",
+ "parameters": [
+ {
+ "name": "projectID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "ProjectCopyError | InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ProjectCopyError"
+ },
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "force": {
+ "type": "boolean"
+ }
+ },
+ "required": ["directory", "force"],
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.projectCopy.remove({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/experimental/project/{projectID}/copy/refresh": {
+ "post": {
+ "tags": ["projectCopy"],
+ "operationId": "v2.projectCopy.refresh",
+ "parameters": [
+ {
+ "name": "projectID",
+ "in": "path",
+ "schema": {
+ "type": "string"
+ },
+ "required": true
+ },
+ {
+ "name": "location",
+ "in": "query",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "required": false,
+ "style": "deepObject",
+ "explode": true
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "400": {
+ "description": "ProjectCopyError | InvalidRequestError",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ProjectCopyError"
+ },
+ {
+ "$ref": "#/components/schemas/InvalidRequestError"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createKiloClient } from \"@kilocode/sdk\"\n\nconst client = createKiloClient()\nawait client.v2.projectCopy.refresh({\n ...\n})"
+ }
+ ]
+ }
+ },
"/pty/{ptyID}/connect": {
"get": {
"tags": ["pty"],
@@ -22176,6 +23819,9 @@
{
"$ref": "#/components/schemas/EventSessionNextPromptPromoted"
},
+ {
+ "$ref": "#/components/schemas/EventSessionNextInterruptRequested"
+ },
{
"$ref": "#/components/schemas/EventSessionNextContextUpdated"
},
@@ -22300,61 +23946,10 @@
"$ref": "#/components/schemas/EventPermissionReplied"
},
{
- "$ref": "#/components/schemas/EventTodoUpdated"
+ "$ref": "#/components/schemas/EventReferenceUpdated"
},
{
- "$ref": "#/components/schemas/EventSessionStatus"
- },
- {
- "$ref": "#/components/schemas/EventSessionIdle"
- },
- {
- "$ref": "#/components/schemas/EventSessionCompacted"
- },
- {
- "$ref": "#/components/schemas/EventCommandExecuted"
- },
- {
- "$ref": "#/components/schemas/EventProjectDirectoriesUpdated"
- },
- {
- "$ref": "#/components/schemas/EventProjectUpdated"
- },
- {
- "$ref": "#/components/schemas/EventLspUpdated"
- },
- {
- "$ref": "#/components/schemas/EventFileEdited"
- },
- {
- "$ref": "#/components/schemas/EventFileWatcherUpdated"
- },
- {
- "$ref": "#/components/schemas/EventVcsBranchUpdated"
- },
- {
- "$ref": "#/components/schemas/EventWorkspaceReady"
- },
- {
- "$ref": "#/components/schemas/EventWorkspaceFailed"
- },
- {
- "$ref": "#/components/schemas/EventWorkspaceStatus"
- },
- {
- "$ref": "#/components/schemas/EventWorktreeReady"
- },
- {
- "$ref": "#/components/schemas/EventWorktreeFailed"
- },
- {
- "$ref": "#/components/schemas/EventAccountAdded"
- },
- {
- "$ref": "#/components/schemas/EventAccountRemoved"
- },
- {
- "$ref": "#/components/schemas/EventAccountSwitched"
+ "$ref": "#/components/schemas/EventIntegrationUpdated"
},
{
"$ref": "#/components/schemas/EventPermissionV2Asked"
@@ -22362,6 +23957,15 @@
{
"$ref": "#/components/schemas/EventPermissionV2Replied"
},
+ {
+ "$ref": "#/components/schemas/EventProjectDirectoriesUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventFileEdited"
+ },
+ {
+ "$ref": "#/components/schemas/EventFileWatcherUpdated"
+ },
{
"$ref": "#/components/schemas/EventPtyCreated"
},
@@ -22383,6 +23987,45 @@
{
"$ref": "#/components/schemas/EventQuestionV2Rejected"
},
+ {
+ "$ref": "#/components/schemas/EventTodoUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventSessionStatus"
+ },
+ {
+ "$ref": "#/components/schemas/EventSessionIdle"
+ },
+ {
+ "$ref": "#/components/schemas/EventSessionCompacted"
+ },
+ {
+ "$ref": "#/components/schemas/EventCommandExecuted"
+ },
+ {
+ "$ref": "#/components/schemas/EventProjectUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventLspUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventVcsBranchUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorkspaceReady"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorkspaceFailed"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorkspaceStatus"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorktreeReady"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorktreeFailed"
+ },
{
"$ref": "#/components/schemas/EventServerInstanceDisposed"
}
@@ -23353,6 +24996,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -23641,6 +25288,27 @@
"required": ["name", "data"],
"additionalProperties": false
},
+ "ContentFilterError": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": ["ContentFilterError"]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": ["message"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["name", "data"],
+ "additionalProperties": false
+ },
"APIError": {
"type": "object",
"properties": {
@@ -23734,6 +25402,9 @@
{
"$ref": "#/components/schemas/ContextOverflowError"
},
+ {
+ "$ref": "#/components/schemas/ContentFilterError"
+ },
{
"$ref": "#/components/schemas/APIError"
}
@@ -24350,6 +26021,17 @@
},
"snapshot": {
"type": "string"
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "number",
+ "minimum": 0
+ }
+ },
+ "required": ["start"],
+ "additionalProperties": false
}
},
"required": ["id", "sessionID", "messageID", "type"],
@@ -24393,6 +26075,47 @@
"required": ["providerID", "modelID"],
"additionalProperties": false
},
+ "generationID": {
+ "type": "string"
+ },
+ "vercelID": {
+ "type": "string"
+ },
+ "metrics": {
+ "type": "object",
+ "properties": {
+ "prompt": {
+ "type": "number"
+ },
+ "generation": {
+ "type": "number"
+ },
+ "source": {
+ "type": "string",
+ "enum": ["provider", "computed"]
+ }
+ },
+ "required": ["source"],
+ "additionalProperties": false
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "number",
+ "minimum": 0
+ },
+ "end": {
+ "type": "number",
+ "minimum": 0
+ },
+ "elapsed": {
+ "type": "number"
+ }
+ },
+ "required": ["start", "end", "elapsed"],
+ "additionalProperties": false
+ },
"cost": {
"type": "number"
},
@@ -24665,12 +26388,6 @@
"items": {
"$ref": "#/components/schemas/PromptAgentAttachment"
}
- },
- "references": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PromptReferenceAttachment"
- }
}
},
"required": ["text"],
@@ -24981,6 +26698,70 @@
"required": ["name", "data"],
"additionalProperties": false
},
+ "Pty": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^pty"
+ },
+ "title": {
+ "type": "string"
+ },
+ "command": {
+ "type": "string"
+ },
+ "args": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cwd": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string",
+ "enum": ["running", "exited"]
+ },
+ "pid": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "sessionID": {
+ "anyOf": [
+ {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": ["id", "title", "command", "args", "cwd", "status", "pid"],
+ "additionalProperties": false
+ },
+ "Todo": {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "Brief description of the task"
+ },
+ "status": {
+ "type": "string",
+ "description": "Current status of the task: pending, in_progress, completed, cancelled"
+ },
+ "priority": {
+ "type": "string",
+ "description": "Priority level of the task: high, medium, low"
+ }
+ },
+ "required": ["content", "status", "priority"],
+ "additionalProperties": false
+ },
"SessionStatus": {
"anyOf": [
{
@@ -25072,51 +26853,6 @@
}
]
},
- "Pty": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "pattern": "^pty"
- },
- "title": {
- "type": "string"
- },
- "command": {
- "type": "string"
- },
- "args": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "cwd": {
- "type": "string"
- },
- "status": {
- "type": "string",
- "enum": ["running", "exited"]
- },
- "pid": {
- "type": "integer",
- "minimum": 0
- },
- "sessionID": {
- "anyOf": [
- {
- "type": "string",
- "pattern": "^ses"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": ["id", "title", "command", "args", "cwd", "status", "pid"],
- "additionalProperties": false
- },
"GlobalEvent": {
"type": "object",
"properties": {
@@ -25269,6 +27005,9 @@
{
"$ref": "#/components/schemas/EventSessionNextPromptPromoted"
},
+ {
+ "$ref": "#/components/schemas/EventSessionNextInterruptRequested"
+ },
{
"$ref": "#/components/schemas/EventSessionNextContextUpdated"
},
@@ -25393,61 +27132,10 @@
"$ref": "#/components/schemas/EventPermissionReplied"
},
{
- "$ref": "#/components/schemas/EventTodoUpdated"
+ "$ref": "#/components/schemas/EventReferenceUpdated"
},
{
- "$ref": "#/components/schemas/EventSessionStatus"
- },
- {
- "$ref": "#/components/schemas/EventSessionIdle"
- },
- {
- "$ref": "#/components/schemas/EventSessionCompacted"
- },
- {
- "$ref": "#/components/schemas/EventCommandExecuted"
- },
- {
- "$ref": "#/components/schemas/EventProjectDirectoriesUpdated"
- },
- {
- "$ref": "#/components/schemas/EventProjectUpdated"
- },
- {
- "$ref": "#/components/schemas/EventLspUpdated"
- },
- {
- "$ref": "#/components/schemas/EventFileEdited"
- },
- {
- "$ref": "#/components/schemas/EventFileWatcherUpdated"
- },
- {
- "$ref": "#/components/schemas/EventVcsBranchUpdated"
- },
- {
- "$ref": "#/components/schemas/EventWorkspaceReady"
- },
- {
- "$ref": "#/components/schemas/EventWorkspaceFailed"
- },
- {
- "$ref": "#/components/schemas/EventWorkspaceStatus"
- },
- {
- "$ref": "#/components/schemas/EventWorktreeReady"
- },
- {
- "$ref": "#/components/schemas/EventWorktreeFailed"
- },
- {
- "$ref": "#/components/schemas/EventAccountAdded"
- },
- {
- "$ref": "#/components/schemas/EventAccountRemoved"
- },
- {
- "$ref": "#/components/schemas/EventAccountSwitched"
+ "$ref": "#/components/schemas/EventIntegrationUpdated"
},
{
"$ref": "#/components/schemas/EventPermissionV2Asked"
@@ -25455,6 +27143,15 @@
{
"$ref": "#/components/schemas/EventPermissionV2Replied"
},
+ {
+ "$ref": "#/components/schemas/EventProjectDirectoriesUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventFileEdited"
+ },
+ {
+ "$ref": "#/components/schemas/EventFileWatcherUpdated"
+ },
{
"$ref": "#/components/schemas/EventPtyCreated"
},
@@ -25476,6 +27173,45 @@
{
"$ref": "#/components/schemas/EventQuestionV2Rejected"
},
+ {
+ "$ref": "#/components/schemas/EventTodoUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventSessionStatus"
+ },
+ {
+ "$ref": "#/components/schemas/EventSessionIdle"
+ },
+ {
+ "$ref": "#/components/schemas/EventSessionCompacted"
+ },
+ {
+ "$ref": "#/components/schemas/EventCommandExecuted"
+ },
+ {
+ "$ref": "#/components/schemas/EventProjectUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventLspUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventVcsBranchUpdated"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorkspaceReady"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorkspaceFailed"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorkspaceStatus"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorktreeReady"
+ },
+ {
+ "$ref": "#/components/schemas/EventWorktreeFailed"
+ },
{
"$ref": "#/components/schemas/EventServerInstanceDisposed"
},
@@ -25575,9 +27311,6 @@
{
"$ref": "#/components/schemas/SyncEventSessionNextCompactionStarted"
},
- {
- "$ref": "#/components/schemas/SyncEventSessionNextCompactionDelta"
- },
{
"$ref": "#/components/schemas/SyncEventSessionNextCompactionEnded"
}
@@ -25618,44 +27351,6 @@
"additionalProperties": false,
"description": "Server configuration for the kilo serve command"
},
- "ReferenceConfigEntry": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "object",
- "properties": {
- "repository": {
- "type": "string",
- "description": "Git repository URL, host/path reference, or GitHub owner/repo shorthand"
- },
- "branch": {
- "type": "string"
- }
- },
- "required": ["repository"],
- "additionalProperties": false
- },
- {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Absolute path, ~/ path, or workspace-relative path to a local reference directory"
- }
- },
- "required": ["path"],
- "additionalProperties": false
- }
- ]
- },
- "ReferenceConfig": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/ReferenceConfigEntry"
- }
- },
"IndexingConfig": {
"type": "object",
"properties": {
@@ -25850,7 +27545,8 @@
"items": {
"type": "string",
"pattern": "^\\s*\\.?[A-Za-z0-9][A-Za-z0-9_+-]*\\s*$"
- }
+ },
+ "minItems": 1
}
},
"additionalProperties": false
@@ -26213,7 +27909,7 @@
"properties": {
"field": {
"type": "string",
- "enum": ["reasoning_content", "reasoning_details"]
+ "enum": ["reasoning", "reasoning_content", "reasoning_details"]
}
},
"required": ["field"],
@@ -26539,8 +28235,37 @@
},
"additionalProperties": false
},
+ "references": {
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/components/schemas/ConfigV2ReferenceGit"
+ },
+ {
+ "$ref": "#/components/schemas/ConfigV2ReferenceLocal"
+ }
+ ]
+ }
+ },
"reference": {
- "$ref": "#/components/schemas/ReferenceConfig"
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "$ref": "#/components/schemas/ConfigV2ReferenceGit"
+ },
+ {
+ "$ref": "#/components/schemas/ConfigV2ReferenceLocal"
+ }
+ ]
+ }
},
"watcher": {
"type": "object",
@@ -26647,6 +28372,10 @@
"hide_prompt_training_models": {
"type": "boolean"
},
+ "web_search": {
+ "type": "boolean",
+ "description": "Make web search available to models from all providers (default: false)"
+ },
"sandbox": {
"type": "object",
"properties": {
@@ -26905,9 +28634,6 @@
"type": "boolean"
}
},
- "web_search": {
- "type": "boolean"
- },
"attachment": {
"$ref": "#/components/schemas/AttachmentConfig"
},
@@ -27164,7 +28890,7 @@
"properties": {
"field": {
"type": "string",
- "enum": ["reasoning_content", "reasoning_details"]
+ "enum": ["reasoning", "reasoning_content", "reasoning_details"]
}
},
"required": ["field"],
@@ -27809,6 +29535,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -28494,27 +30224,6 @@
"required": ["_tag", "projectID", "message"],
"additionalProperties": false
},
- "ProjectCopyError": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "enum": ["ProjectCopyError"]
- },
- "data": {
- "type": "object",
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "required": ["message"],
- "additionalProperties": false
- }
- },
- "required": ["name", "data"],
- "additionalProperties": false
- },
"PtyNotFoundError": {
"type": "object",
"properties": {
@@ -28977,6 +30686,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -29146,6 +30859,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -29174,25 +30891,6 @@
}
}
},
- "Todo": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string",
- "description": "Brief description of the task"
- },
- "status": {
- "type": "string",
- "description": "Current status of the task: pending, in_progress, completed, cancelled"
- },
- "priority": {
- "type": "string",
- "description": "Priority level of the task: high, medium, low"
- }
- },
- "required": ["content", "status", "priority"],
- "additionalProperties": false
- },
"Session3": {
"type": "object",
"properties": {
@@ -29353,6 +31051,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -29522,6 +31224,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -29691,6 +31397,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -29860,6 +31570,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -30029,6 +31743,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -30360,6 +32078,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -30529,6 +32251,10 @@
},
"diff": {
"type": "string"
+ },
+ "workspace": {
+ "type": "string",
+ "enum": ["restored", "snapshots-disabled", "unavailable"]
}
},
"required": ["messageID"],
@@ -31425,6 +33151,16 @@
"required": ["_tag"],
"additionalProperties": false
},
+ "CloudSessionImportError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ },
+ "required": ["error"],
+ "additionalProperties": false
+ },
"AgentRequirementResult": {
"type": "object",
"properties": {
@@ -32361,7 +34097,7 @@
"required": ["_tag", "message"],
"additionalProperties": false
},
- "V2SessionsResponse": {
+ "SessionsResponse": {
"type": "object",
"properties": {
"data": {
@@ -32451,7 +34187,7 @@
"required": ["_tag", "message"],
"additionalProperties": false
},
- "V2SessionMessagesResponse": {
+ "SessionMessagesResponse": {
"type": "object",
"properties": {
"data": {
@@ -32493,6 +34229,30 @@
"required": ["_tag", "providerID", "message"],
"additionalProperties": false
},
+ "ProjectCopyError": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": ["ProjectCopyError"]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "forceRequired": {
+ "type": "boolean"
+ }
+ },
+ "required": ["message"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["name", "data"],
+ "additionalProperties": false
+ },
"effect_HttpApiError_Forbidden": {
"type": "object",
"properties": {
@@ -34539,6 +36299,182 @@
"body": {
"type": "object"
},
+ "generation": {
+ "type": "object",
+ "properties": {
+ "maxTokens": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "temperature": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "topP": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "topK": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "frequencyPenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "presencePenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "seed": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "stop": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "options": {
+ "type": "object"
+ },
"variant": {
"type": "string"
}
@@ -34562,6 +36498,182 @@
},
"body": {
"type": "object"
+ },
+ "generation": {
+ "type": "object",
+ "properties": {
+ "maxTokens": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "temperature": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "topP": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "topK": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "frequencyPenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "presencePenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "seed": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "stop": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "options": {
+ "type": "object"
}
},
"required": ["id", "headers", "body"],
@@ -35092,41 +37204,6 @@
"required": ["name"],
"additionalProperties": false
},
- "PromptReferenceAttachment": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "kind": {
- "type": "string",
- "enum": ["local", "git", "invalid"]
- },
- "uri": {
- "type": "string"
- },
- "repository": {
- "type": "string"
- },
- "branch": {
- "type": "string"
- },
- "target": {
- "type": "string"
- },
- "targetUri": {
- "type": "string"
- },
- "problem": {
- "type": "string"
- },
- "source": {
- "$ref": "#/components/schemas/PromptSource"
- }
- },
- "required": ["name", "kind"],
- "additionalProperties": false
- },
"EventSessionNextPrompted": {
"type": "object",
"properties": {
@@ -35243,6 +37320,34 @@
"required": ["id", "type", "properties"],
"additionalProperties": false
},
+ "EventSessionNextInterruptRequested": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["session.next.interrupt.requested"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "type": "number"
+ },
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses"
+ }
+ },
+ "required": ["timestamp", "sessionID"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
"EventSessionNextContextUpdated": {
"type": "object",
"properties": {
@@ -35984,51 +38089,8 @@
"type": "string",
"enum": ["file"]
},
- "source": {
- "anyOf": [
- {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["data"]
- },
- "data": {
- "type": "string"
- }
- },
- "required": ["type", "data"],
- "additionalProperties": false
- },
- {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["url"]
- },
- "url": {
- "type": "string"
- }
- },
- "required": ["type", "url"],
- "additionalProperties": false
- },
- {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["file"]
- },
- "uri": {
- "type": "string"
- }
- },
- "required": ["type", "uri"],
- "additionalProperties": false
- }
- ]
+ "uri": {
+ "type": "string"
},
"mime": {
"type": "string"
@@ -36037,7 +38099,7 @@
"type": "string"
}
},
- "required": ["type", "source", "mime"],
+ "required": ["type", "uri", "mime"],
"additionalProperties": false
},
"EventSessionNextToolProgress": {
@@ -36134,6 +38196,12 @@
]
}
},
+ "outputPaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"result": {},
"provider": {
"type": "object",
@@ -36335,11 +38403,15 @@
"type": "string",
"pattern": "^ses"
},
+ "messageID": {
+ "type": "string",
+ "pattern": "^msg_"
+ },
"text": {
"type": "string"
}
},
- "required": ["timestamp", "sessionID", "text"],
+ "required": ["timestamp", "sessionID", "messageID", "text"],
"additionalProperties": false
}
},
@@ -36366,9 +38438,20 @@
"type": "string",
"pattern": "^ses"
},
+ "messageID": {
+ "type": "string",
+ "pattern": "^msg_"
+ },
+ "reason": {
+ "type": "string",
+ "enum": ["auto", "manual"]
+ },
"text": {
"type": "string"
},
+ "recent": {
+ "type": "string"
+ },
"include": {
"type": "string"
}
@@ -36644,6 +38727,9 @@
{
"$ref": "#/components/schemas/ContextOverflowError"
},
+ {
+ "$ref": "#/components/schemas/ContentFilterError"
+ },
{
"$ref": "#/components/schemas/APIError"
},
@@ -36818,26 +38904,7 @@
"required": ["id", "type", "properties"],
"additionalProperties": false
},
- "SessionTodoInfo": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string",
- "description": "Brief description of the task"
- },
- "status": {
- "type": "string",
- "description": "Current status of the task: pending, in_progress, completed, cancelled"
- },
- "priority": {
- "type": "string",
- "description": "Priority level of the task: high, medium, low"
- }
- },
- "required": ["content", "status", "priority"],
- "additionalProperties": false
- },
- "EventTodoUpdated": {
+ "EventReferenceUpdated": {
"type": "object",
"properties": {
"id": {
@@ -36845,259 +38912,7 @@
},
"type": {
"type": "string",
- "enum": ["todo.updated"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses"
- },
- "todos": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SessionTodoInfo"
- }
- }
- },
- "required": ["sessionID", "todos"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventSessionStatus": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["session.status"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses"
- },
- "status": {
- "$ref": "#/components/schemas/SessionStatus"
- }
- },
- "required": ["sessionID", "status"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventSessionIdle": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["session.idle"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses"
- }
- },
- "required": ["sessionID"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventSessionCompacted": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["session.compacted"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses"
- }
- },
- "required": ["sessionID"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventCommandExecuted": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["command.executed"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "sessionID": {
- "type": "string",
- "pattern": "^ses"
- },
- "arguments": {
- "type": "string"
- },
- "messageID": {
- "type": "string",
- "pattern": "^msg"
- }
- },
- "required": ["name", "sessionID", "arguments", "messageID"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventProjectDirectoriesUpdated": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["project.directories.updated"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "projectID": {
- "type": "string"
- }
- },
- "required": ["projectID"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventProjectUpdated": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["project.updated"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "worktree": {
- "type": "string"
- },
- "vcs": {
- "type": "string",
- "enum": ["git"]
- },
- "name": {
- "type": "string"
- },
- "icon": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "override": {
- "type": "string"
- },
- "color": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "commands": {
- "type": "object",
- "properties": {
- "start": {
- "type": "string",
- "description": "Startup script to run when creating a new workspace (worktree)"
- }
- },
- "additionalProperties": false
- },
- "time": {
- "type": "object",
- "properties": {
- "created": {
- "type": "integer",
- "minimum": 0
- },
- "updated": {
- "type": "integer",
- "minimum": 0
- },
- "initialized": {
- "type": "integer",
- "minimum": 0
- }
- },
- "required": ["created", "updated"],
- "additionalProperties": false
- },
- "sandboxes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": ["id", "worktree", "time", "sandboxes"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventLspUpdated": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["lsp.updated"]
+ "enum": ["reference.updated"]
},
"properties": {
"type": "object",
@@ -37107,7 +38922,7 @@
"required": ["id", "type", "properties"],
"additionalProperties": false
},
- "EventFileEdited": {
+ "EventIntegrationUpdated": {
"type": "object",
"properties": {
"id": {
@@ -37115,347 +38930,11 @@
},
"type": {
"type": "string",
- "enum": ["file.edited"]
+ "enum": ["integration.updated"]
},
"properties": {
"type": "object",
- "properties": {
- "file": {
- "type": "string"
- }
- },
- "required": ["file"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventFileWatcherUpdated": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["file.watcher.updated"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "file": {
- "type": "string"
- },
- "event": {
- "type": "string",
- "enum": ["add", "change", "unlink"]
- }
- },
- "required": ["file", "event"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventVcsBranchUpdated": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["vcs.branch.updated"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "branch": {
- "type": "string"
- }
- },
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventWorkspaceReady": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["workspace.ready"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- }
- },
- "required": ["name"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventWorkspaceFailed": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["workspace.failed"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "required": ["message"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventWorkspaceStatus": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["workspace.status"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "workspaceID": {
- "type": "string",
- "pattern": "^wrk"
- },
- "status": {
- "type": "string",
- "enum": ["connected", "connecting", "disconnected", "error"]
- }
- },
- "required": ["workspaceID", "status"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventWorktreeReady": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["worktree.ready"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "branch": {
- "type": "string"
- }
- },
- "required": ["name"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventWorktreeFailed": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["worktree.failed"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "required": ["message"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "AuthOAuthCredential": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["oauth"]
- },
- "refresh": {
- "type": "string"
- },
- "access": {
- "type": "string"
- },
- "expires": {
- "type": "integer",
- "minimum": 0
- },
- "accountId": {
- "type": "string"
- }
- },
- "required": ["type", "refresh", "access", "expires"],
- "additionalProperties": false
- },
- "AuthApiKeyCredential": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["api"]
- },
- "key": {
- "type": "string"
- },
- "metadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "required": ["type", "key"],
- "additionalProperties": false
- },
- "AuthCredential": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/AuthOAuthCredential"
- },
- {
- "$ref": "#/components/schemas/AuthApiKeyCredential"
- }
- ]
- },
- "AuthInfo": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "serviceID": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "credential": {
- "$ref": "#/components/schemas/AuthCredential"
- }
- },
- "required": ["id", "serviceID", "description", "credential"],
- "additionalProperties": false
- },
- "EventAccountAdded": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["account.added"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "account": {
- "$ref": "#/components/schemas/AuthInfo"
- }
- },
- "required": ["account"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventAccountRemoved": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["account.removed"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "account": {
- "$ref": "#/components/schemas/AuthInfo"
- }
- },
- "required": ["account"],
- "additionalProperties": false
- }
- },
- "required": ["id", "type", "properties"],
- "additionalProperties": false
- },
- "EventAccountSwitched": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": ["account.switched"]
- },
- "properties": {
- "type": "object",
- "properties": {
- "serviceID": {
- "type": "string"
- },
- "from": {
- "type": "string"
- },
- "to": {
- "type": "string"
- }
- },
- "required": ["serviceID"],
- "additionalProperties": false
+ "properties": {}
}
},
"required": ["id", "type", "properties"],
@@ -37564,6 +39043,82 @@
"required": ["id", "type", "properties"],
"additionalProperties": false
},
+ "EventProjectDirectoriesUpdated": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["project.directories.updated"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "projectID": {
+ "type": "string"
+ }
+ },
+ "required": ["projectID"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventFileEdited": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["file.edited"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "file": {
+ "type": "string"
+ }
+ },
+ "required": ["file"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventFileWatcherUpdated": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["file.watcher.updated"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "file": {
+ "type": "string"
+ },
+ "event": {
+ "type": "string",
+ "enum": ["add", "change", "unlink"]
+ }
+ },
+ "required": ["file", "event"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
"EventPtyCreated": {
"type": "object",
"properties": {
@@ -37831,6 +39386,403 @@
"required": ["id", "type", "properties"],
"additionalProperties": false
},
+ "EventTodoUpdated": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["todo.updated"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ "todos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Todo"
+ }
+ }
+ },
+ "required": ["sessionID", "todos"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventSessionStatus": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["session.status"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ "status": {
+ "$ref": "#/components/schemas/SessionStatus"
+ }
+ },
+ "required": ["sessionID", "status"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventSessionIdle": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["session.idle"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses"
+ }
+ },
+ "required": ["sessionID"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventSessionCompacted": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["session.compacted"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses"
+ }
+ },
+ "required": ["sessionID"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventCommandExecuted": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["command.executed"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ "arguments": {
+ "type": "string"
+ },
+ "messageID": {
+ "type": "string",
+ "pattern": "^msg"
+ }
+ },
+ "required": ["name", "sessionID", "arguments", "messageID"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventProjectUpdated": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["project.updated"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "worktree": {
+ "type": "string"
+ },
+ "vcs": {
+ "type": "string",
+ "enum": ["git"]
+ },
+ "name": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "override": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "commands": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "string",
+ "description": "Startup script to run when creating a new workspace (worktree)"
+ }
+ },
+ "additionalProperties": false
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "updated": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "initialized": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "required": ["created", "updated"],
+ "additionalProperties": false
+ },
+ "sandboxes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["id", "worktree", "time", "sandboxes"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventLspUpdated": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["lsp.updated"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {}
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventVcsBranchUpdated": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["vcs.branch.updated"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "branch": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventWorkspaceReady": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["workspace.ready"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": ["name"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventWorkspaceFailed": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["workspace.failed"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": ["message"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventWorkspaceStatus": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["workspace.status"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "workspaceID": {
+ "type": "string",
+ "pattern": "^wrk"
+ },
+ "status": {
+ "type": "string",
+ "enum": ["connected", "connecting", "disconnected", "error"]
+ }
+ },
+ "required": ["workspaceID", "status"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventWorktreeReady": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["worktree.ready"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "branch": {
+ "type": "string"
+ }
+ },
+ "required": ["name"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
+ "EventWorktreeFailed": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["worktree.failed"]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": ["message"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["id", "type", "properties"],
+ "additionalProperties": false
+ },
"SyncEventSessionCreated": {
"type": "object",
"properties": {
@@ -39589,6 +41541,12 @@
]
}
},
+ "outputPaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"result": {},
"provider": {
"type": "object",
@@ -39817,59 +41775,6 @@
"required": ["type", "id", "syncEvent"],
"additionalProperties": false
},
- "SyncEventSessionNextCompactionDelta": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["sync"]
- },
- "id": {
- "type": "string",
- "pattern": "^evt_"
- },
- "syncEvent": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["session.next.compaction.delta.1"]
- },
- "id": {
- "type": "string",
- "pattern": "^evt_"
- },
- "seq": {
- "type": "number"
- },
- "aggregateID": {
- "type": "string"
- },
- "data": {
- "type": "object",
- "properties": {
- "timestamp": {
- "type": "number"
- },
- "sessionID": {
- "type": "string",
- "pattern": "^ses"
- },
- "text": {
- "type": "string"
- }
- },
- "required": ["timestamp", "sessionID", "text"],
- "additionalProperties": false
- }
- },
- "required": ["type", "id", "seq", "aggregateID", "data"],
- "additionalProperties": false
- }
- },
- "required": ["type", "id", "syncEvent"],
- "additionalProperties": false
- },
"SyncEventSessionNextCompactionEnded": {
"type": "object",
"properties": {
@@ -39908,9 +41813,20 @@
"type": "string",
"pattern": "^ses"
},
+ "messageID": {
+ "type": "string",
+ "pattern": "^msg_"
+ },
+ "reason": {
+ "type": "string",
+ "enum": ["auto", "manual"]
+ },
"text": {
"type": "string"
},
+ "recent": {
+ "type": "string"
+ },
"include": {
"type": "string"
}
@@ -39926,6 +41842,41 @@
"required": ["type", "id", "syncEvent"],
"additionalProperties": false
},
+ "ConfigV2ReferenceGit": {
+ "type": "object",
+ "properties": {
+ "repository": {
+ "type": "string"
+ },
+ "branch": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ }
+ },
+ "required": ["repository"],
+ "additionalProperties": false
+ },
+ "ConfigV2ReferenceLocal": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ }
+ },
+ "required": ["path"],
+ "additionalProperties": false
+ },
"PolicyEffect": {
"type": "string",
"enum": ["allow", "deny"]
@@ -39950,19 +41901,19 @@
"ProjectDirectories": {
"type": "array",
"items": {
- "type": "string"
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "strategy": {
+ "type": "string"
+ }
+ },
+ "required": ["directory"],
+ "additionalProperties": false
}
},
- "ProjectCopyCopy": {
- "type": "object",
- "properties": {
- "directory": {
- "type": "string"
- }
- },
- "required": ["directory"],
- "additionalProperties": false
- },
"LocationInfo": {
"type": "object",
"properties": {
@@ -40327,12 +42278,6 @@
"$ref": "#/components/schemas/PromptAgentAttachment"
}
},
- "references": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PromptReferenceAttachment"
- }
- },
"type": {
"type": "string",
"enum": ["user"]
@@ -40560,6 +42505,12 @@
]
}
},
+ "outputPaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"structured": {
"type": "object"
},
@@ -40806,7 +42757,7 @@
"summary": {
"type": "string"
},
- "include": {
+ "recent": {
"type": "string"
},
"id": {
@@ -40827,7 +42778,7 @@
"additionalProperties": false
}
},
- "required": ["type", "reason", "summary", "id", "time"],
+ "required": ["type", "reason", "summary", "recent", "id", "time"],
"additionalProperties": false
},
"SessionMessage": {
@@ -40892,13 +42843,13 @@
"properties": {
"via": {
"type": "string",
- "enum": ["account"]
+ "enum": ["credential"]
},
- "service": {
+ "credentialID": {
"type": "string"
}
},
- "required": ["via", "service"],
+ "required": ["via", "credentialID"],
"additionalProperties": false
},
{
@@ -40984,6 +42935,295 @@
"required": ["id", "name", "enabled", "env", "api", "request"],
"additionalProperties": false
},
+ "IntegrationWhen": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "op": {
+ "type": "string",
+ "enum": ["eq", "neq"]
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": ["key", "op", "value"],
+ "additionalProperties": false
+ },
+ "IntegrationTextPrompt": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["text"]
+ },
+ "key": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "placeholder": {
+ "type": "string"
+ },
+ "when": {
+ "$ref": "#/components/schemas/IntegrationWhen"
+ }
+ },
+ "required": ["type", "key", "message"],
+ "additionalProperties": false
+ },
+ "IntegrationSelectPrompt": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["select"]
+ },
+ "key": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "options": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "hint": {
+ "type": "string"
+ }
+ },
+ "required": ["label", "value"],
+ "additionalProperties": false
+ }
+ },
+ "when": {
+ "$ref": "#/components/schemas/IntegrationWhen"
+ }
+ },
+ "required": ["type", "key", "message", "options"],
+ "additionalProperties": false
+ },
+ "IntegrationOAuthMethod": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": ["oauth"]
+ },
+ "label": {
+ "type": "string"
+ },
+ "prompts": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/IntegrationTextPrompt"
+ },
+ {
+ "$ref": "#/components/schemas/IntegrationSelectPrompt"
+ }
+ ]
+ }
+ }
+ },
+ "required": ["id", "type", "label"],
+ "additionalProperties": false
+ },
+ "IntegrationKeyMethod": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["key"]
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": ["type"],
+ "additionalProperties": false
+ },
+ "IntegrationEnvMethod": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["env"]
+ },
+ "names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["type", "names"],
+ "additionalProperties": false
+ },
+ "ConnectionCredentialInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["credential"]
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": ["type", "id", "label"],
+ "additionalProperties": false
+ },
+ "ConnectionEnvInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["env"]
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": ["type", "name"],
+ "additionalProperties": false
+ },
+ "ConnectionInfo": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ConnectionCredentialInfo"
+ },
+ {
+ "$ref": "#/components/schemas/ConnectionEnvInfo"
+ }
+ ]
+ },
+ "IntegrationInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "methods": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/IntegrationOAuthMethod"
+ },
+ {
+ "$ref": "#/components/schemas/IntegrationKeyMethod"
+ },
+ {
+ "$ref": "#/components/schemas/IntegrationEnvMethod"
+ }
+ ]
+ }
+ },
+ "connections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectionInfo"
+ }
+ }
+ },
+ "required": ["id", "name", "methods", "connections"],
+ "additionalProperties": false
+ },
+ "IntegrationAttempt": {
+ "type": "object",
+ "properties": {
+ "attemptID": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "instructions": {
+ "type": "string"
+ },
+ "mode": {
+ "type": "string",
+ "enum": ["auto", "code"]
+ },
+ "time": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ },
+ "expires": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity", "-Infinity", "NaN"]
+ }
+ ]
+ }
+ },
+ "required": ["created", "expires"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["attemptID", "url", "instructions", "mode", "time"],
+ "additionalProperties": false
+ },
"PermissionV2Request": {
"type": "object",
"properties": {
@@ -41039,53 +43279,12 @@
"required": ["id", "projectID", "action", "resource"],
"additionalProperties": false
},
- "FileSystemTextContent": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["text"]
- },
- "content": {
- "type": "string"
- },
- "mime": {
- "type": "string"
- }
- },
- "required": ["type", "content", "mime"],
- "additionalProperties": false
- },
- "FileSystemBinaryContent": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": ["binary"]
- },
- "content": {
- "type": "string"
- },
- "encoding": {
- "type": "string",
- "enum": ["base64"]
- },
- "mime": {
- "type": "string"
- }
- },
- "required": ["type", "content", "encoding", "mime"],
- "additionalProperties": false
- },
"FileSystemEntry": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
- "uri": {
- "type": "string"
- },
"type": {
"type": "string",
"enum": ["file", "directory"]
@@ -41094,7 +43293,7 @@
"type": "string"
}
},
- "required": ["path", "uri", "type", "mime"],
+ "required": ["path", "type", "mime"],
"additionalProperties": false
},
"CommandV2Info": {
@@ -41196,6 +43395,88 @@
"required": ["answers"],
"additionalProperties": false
},
+ "ReferenceLocalSource": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["local"]
+ },
+ "path": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ }
+ },
+ "required": ["type", "path"],
+ "additionalProperties": false
+ },
+ "ReferenceGitSource": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["git"]
+ },
+ "repository": {
+ "type": "string"
+ },
+ "branch": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ }
+ },
+ "required": ["type", "repository"],
+ "additionalProperties": false
+ },
+ "ReferenceInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "hidden": {
+ "type": "boolean"
+ },
+ "source": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/ReferenceLocalSource"
+ },
+ {
+ "$ref": "#/components/schemas/ReferenceGitSource"
+ }
+ ]
+ }
+ },
+ "required": ["name", "path", "source"],
+ "additionalProperties": false
+ },
+ "ProjectCopyCopy": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ }
+ },
+ "required": ["directory"],
+ "additionalProperties": false
+ },
"EventMemoryStatus1": {
"type": "object",
"properties": {
@@ -42189,6 +44470,154 @@
"body": {
"type": "object"
},
+ "generation": {
+ "type": "object",
+ "properties": {
+ "maxTokens": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "temperature": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "topP": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "topK": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "frequencyPenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "presencePenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "seed": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "stop": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "options": {
+ "type": "object"
+ },
"variant": {
"type": "string"
}
@@ -42212,6 +44641,154 @@
},
"body": {
"type": "object"
+ },
+ "generation": {
+ "type": "object",
+ "properties": {
+ "maxTokens": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "temperature": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "topP": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "topK": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "frequencyPenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "presencePenalty": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "seed": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string",
+ "enum": ["NaN"]
+ },
+ {
+ "type": "string",
+ "enum": ["Infinity"]
+ },
+ {
+ "type": "string",
+ "enum": ["-Infinity"]
+ }
+ ]
+ },
+ "stop": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "options": {
+ "type": "object"
}
},
"required": ["id", "headers", "body"],
@@ -42431,7 +45008,7 @@
},
{
"name": "projectCopy",
- "description": "Project copy management routes."
+ "description": "Project copy naming routes."
},
{
"name": "pty",
@@ -42542,64 +45119,72 @@
"description": "Kilo memory routes."
},
{
- "name": "kilo experimental HttpApi",
+ "name": "Kilo HttpApi",
"description": "Experimental HttpApi surface for selected instance routes."
},
{
- "name": "kilo experimental HttpApi",
+ "name": "Kilo HttpApi",
"description": "Experimental HttpApi surface for selected instance routes."
},
{
- "name": "v2",
- "description": "Experimental v2 routes."
+ "name": "Kilo HttpApi",
+ "description": "Experimental HttpApi surface for selected instance routes."
},
{
- "name": "v2 messages",
- "description": "Experimental v2 message routes."
+ "name": "sessions",
+ "description": "Experimental session routes."
},
{
- "name": "v2 models",
- "description": "Experimental v2 model routes."
+ "name": "messages",
+ "description": "Experimental message routes."
},
{
- "name": "v2 providers",
- "description": "Experimental v2 provider routes."
+ "name": "models",
+ "description": "Experimental model routes."
},
{
- "name": "v2 permissions",
- "description": "Experimental v2 permission routes."
+ "name": "providers",
+ "description": "Experimental provider routes."
},
{
- "name": "v2 session permissions",
- "description": "Experimental v2 session permission routes."
+ "name": "integrations",
+ "description": "Integration discovery and authentication routes."
},
{
- "name": "v2 saved permissions",
- "description": "Experimental v2 saved permission routes."
+ "name": "Kilo HttpApi",
+ "description": "Experimental HttpApi surface for selected instance routes."
},
{
- "name": "v2 filesystem",
- "description": "Experimental v2 location-scoped filesystem routes."
+ "name": "permissions",
+ "description": "Experimental permission routes."
},
{
- "name": "v2 commands",
- "description": "Experimental v2 command routes."
+ "name": "filesystem",
+ "description": "Experimental location-scoped filesystem routes."
},
{
- "name": "v2 skills",
- "description": "Experimental v2 skill routes."
+ "name": "commands",
+ "description": "Experimental command routes."
},
{
- "name": "v2 events",
- "description": "Experimental v2 event stream route."
+ "name": "skills",
+ "description": "Experimental skill routes."
},
{
- "name": "v2 questions",
- "description": "Experimental v2 question routes."
+ "name": "events",
+ "description": "Experimental event stream route."
},
{
- "name": "v2 session questions",
- "description": "Experimental v2 session question routes."
+ "name": "session questions",
+ "description": "Experimental session question routes."
+ },
+ {
+ "name": "reference",
+ "description": "Location-scoped project references."
+ },
+ {
+ "name": "projectCopy",
+ "description": "Project copy management routes."
},
{
"name": "pty",
From b71a9c0c234cb2fbb55712e4e995e261dde9fab5 Mon Sep 17 00:00:00 2001
From: Josh Lambert
Date: Mon, 27 Jul 2026 22:10:56 -0400
Subject: [PATCH 6/7] fix(vscode): include web search in config exports
---
.../webview-ui/src/components/settings/settings-io.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/settings-io.ts b/packages/kilo-vscode/webview-ui/src/components/settings/settings-io.ts
index d4b1949d2a9..be43b46284a 100644
--- a/packages/kilo-vscode/webview-ui/src/components/settings/settings-io.ts
+++ b/packages/kilo-vscode/webview-ui/src/components/settings/settings-io.ts
@@ -34,6 +34,7 @@ export const KNOWN_KEYS: ReadonlyArray = [
"compaction",
"commit_message",
"tools",
+ "web_search",
"auto_collapse_reasoning",
"terminal_command_display",
"code_edit_display",
From 3a2309cff0987bf10066ea056346f2b94b8192dc Mon Sep 17 00:00:00 2001
From: Josh Lambert
Date: Wed, 29 Jul 2026 21:57:51 -0400
Subject: [PATCH 7/7] fix(vscode): clarify web search config scope
---
.../src/routes/config/ToolsRoute.tsx | 2 +-
.../src/components/settings/BrowserTab.tsx | 24 +++++++++++++++----
.../kilo-vscode/webview-ui/src/i18n/ar.ts | 5 ++--
.../kilo-vscode/webview-ui/src/i18n/br.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/bs.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/da.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/de.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/en.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/es.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/fa.ts | 7 +++++-
.../kilo-vscode/webview-ui/src/i18n/fr.ts | 5 ++--
.../kilo-vscode/webview-ui/src/i18n/it.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/ja.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/ko.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/nl.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/no.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/pl.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/ru.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/th.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/tr.ts | 5 ++--
.../kilo-vscode/webview-ui/src/i18n/uk.ts | 6 ++---
.../kilo-vscode/webview-ui/src/i18n/zh.ts | 4 ++--
.../kilo-vscode/webview-ui/src/i18n/zht.ts | 4 ++--
packages/sdk/openapi.json | 7 +++---
24 files changed, 69 insertions(+), 84 deletions(-)
diff --git a/packages/kilo-console/src/routes/config/ToolsRoute.tsx b/packages/kilo-console/src/routes/config/ToolsRoute.tsx
index 9dcb20b6e05..1dd1001e66c 100644
--- a/packages/kilo-console/src/routes/config/ToolsRoute.tsx
+++ b/packages/kilo-console/src/routes/config/ToolsRoute.tsx
@@ -83,7 +83,7 @@ export function ToolsRoute() {
>
Enable for all providers
- Search requests connect directly to Exa or Parallel.
+ Search requests use Exa or Parallel.
{(reason) => {reason()}}
diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
index fabc7858b8a..eee016f3f51 100644
--- a/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
+++ b/packages/kilo-vscode/webview-ui/src/components/settings/BrowserTab.tsx
@@ -1,4 +1,4 @@
-import { Component, createSignal, onCleanup, onMount } from "solid-js"
+import { Component, Show, createSignal, onCleanup, onMount } from "solid-js"
import { Switch } from "@kilocode/kilo-ui/switch"
import { Card } from "@kilocode/kilo-ui/card"
import { useVSCode } from "../../context/vscode"
@@ -26,7 +26,7 @@ const Header: Component<{ title: string }> = (props) => (
const BrowserTab: Component = () => {
const { postMessage, onMessage } = useVSCode()
const { t } = useLanguage()
- const { config, updateConfig } = useConfig()
+ const { globalConfig, projectConfig, updateGlobalConfig } = useConfig()
const [settings, setSettings] = createSignal({
enabled: false,
@@ -52,9 +52,11 @@ const BrowserTab: Component = () => {
}
const updateWebsearch = (checked: boolean) => {
- updateConfig({ web_search: checked })
+ updateGlobalConfig({ web_search: checked })
}
+ const overridden = () => projectConfig().web_search !== undefined
+
return (
{/* Info text */}
@@ -84,12 +86,24 @@ const BrowserTab: Component = () => {
t("settings.config.scope.global")}
+ last={!overridden()}
>
-
+
{t("settings.webTools.webSearch.title")}
+
+ t("settings.config.scope.local")}
+ last
+ >
+
+ {`${t("settings.webTools.webSearch.title")} (${t("settings.config.scope.local")})`}
+
+
+
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ar.ts b/packages/kilo-vscode/webview-ui/src/i18n/ar.ts
index 3ac74a5dc53..3f5e3e6ce6c 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ar.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ar.ts
@@ -650,12 +650,11 @@ export const dict = {
"settings.agentBehaviour.title": "سلوك الوكيل",
"settings.autoApprove.title": "الموافقة التلقائية",
"settings.webTools.title": "أدوات الويب",
- "settings.webTools.description": "اضبط البحث على الويب وأتمتة المتصفح. تتصل طلبات البحث مباشرةً بـ Exa أو Parallel.",
+ "settings.webTools.description": "اضبط البحث على الويب وأتمتة المتصفح.",
"settings.webTools.webSearch.enable": "تمكين لجميع المزوّدين",
"settings.webTools.browserAutomation": "أتمتة المتصفح",
"settings.webTools.webSearch.title": "البحث على الويب",
- "settings.webTools.webSearch.description":
- "اجعل البحث على الويب متاحًا لنماذج جميع المزوّدين. تتصل عمليات البحث مباشرةً بـ Exa أو Parallel.",
+ "settings.webTools.webSearch.description": "اجعل البحث على الويب متاحًا لنماذج جميع المزوّدين.",
"settings.checkpoints.title": "نقاط التحقق",
"settings.display.title": "العرض",
"settings.autocomplete.title": "الإكمال التلقائي",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/br.ts b/packages/kilo-vscode/webview-ui/src/i18n/br.ts
index 31a10d9a3de..494dabab5c1 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/br.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/br.ts
@@ -666,13 +666,11 @@ export const dict = {
"settings.agentBehaviour.title": "Comportamento do Agente",
"settings.autoApprove.title": "Aprovação Automática",
"settings.webTools.title": "Ferramentas da Web",
- "settings.webTools.description":
- "Configure a pesquisa na web e a automação do navegador. As solicitações de pesquisa se conectam diretamente ao Exa ou Parallel.",
+ "settings.webTools.description": "Configure a pesquisa na web e a automação do navegador.",
"settings.webTools.webSearch.enable": "Ativar para todos os provedores",
"settings.webTools.browserAutomation": "Automação do navegador",
"settings.webTools.webSearch.title": "Pesquisa na Web",
- "settings.webTools.webSearch.description":
- "Disponibilize a pesquisa na web para modelos de todos os provedores. As pesquisas se conectam diretamente ao Exa ou Parallel.",
+ "settings.webTools.webSearch.description": "Disponibilize a pesquisa na web para modelos de todos os provedores.",
"settings.checkpoints.title": "Pontos de Verificação",
"settings.display.title": "Exibição",
"settings.autocomplete.title": "Autocompletar",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/bs.ts b/packages/kilo-vscode/webview-ui/src/i18n/bs.ts
index 98bdd64db15..59af81ddce3 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/bs.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/bs.ts
@@ -706,13 +706,11 @@ export const dict = {
"settings.agentBehaviour.title": "Ponašanje agenta",
"settings.autoApprove.title": "Automatsko odobravanje",
"settings.webTools.title": "Web alati",
- "settings.webTools.description":
- "Konfigurišite web pretragu i automatizaciju preglednika. Zahtjevi za pretragu povezuju se direktno s Exa ili Parallel.",
+ "settings.webTools.description": "Konfigurišite web pretragu i automatizaciju preglednika.",
"settings.webTools.webSearch.enable": "Omogući za sve pružaoce",
"settings.webTools.browserAutomation": "Automatizacija preglednika",
"settings.webTools.webSearch.title": "Web pretraga",
- "settings.webTools.webSearch.description":
- "Omogućite web pretragu modelima svih pružalaca. Pretrage se povezuju direktno s Exa ili Parallel.",
+ "settings.webTools.webSearch.description": "Omogućite web pretragu modelima svih pružalaca.",
"settings.checkpoints.title": "Kontrolne tačke",
"settings.display.title": "Prikaz",
"settings.autocomplete.title": "Automatsko dovršavanje",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/da.ts b/packages/kilo-vscode/webview-ui/src/i18n/da.ts
index cf802a19026..c89da39cc80 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/da.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/da.ts
@@ -704,13 +704,11 @@ export const dict = {
"settings.agentBehaviour.title": "Agentadfærd",
"settings.autoApprove.title": "Automatisk godkendelse",
"settings.webTools.title": "Webværktøjer",
- "settings.webTools.description":
- "Konfigurer websøgning og browserautomatisering. Søgeanmodninger sendes direkte til Exa eller Parallel.",
+ "settings.webTools.description": "Konfigurer websøgning og browserautomatisering.",
"settings.webTools.webSearch.enable": "Aktivér for alle udbydere",
"settings.webTools.browserAutomation": "Browserautomatisering",
"settings.webTools.webSearch.title": "Websøgning",
- "settings.webTools.webSearch.description":
- "Gør websøgning tilgængelig for modeller fra alle udbydere. Søgninger sendes direkte til Exa eller Parallel.",
+ "settings.webTools.webSearch.description": "Gør websøgning tilgængelig for modeller fra alle udbydere.",
"settings.checkpoints.title": "Kontrolpunkter",
"settings.display.title": "Visning",
"settings.autocomplete.title": "Autofuldførelse",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/de.ts b/packages/kilo-vscode/webview-ui/src/i18n/de.ts
index 118f5bf2863..755de779b5c 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/de.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/de.ts
@@ -717,13 +717,11 @@ export const dict = {
"settings.agentBehaviour.title": "Agentenverhalten",
"settings.autoApprove.title": "Automatisch genehmigen",
"settings.webTools.title": "Web-Tools",
- "settings.webTools.description":
- "Konfigurieren Sie Websuche und Browserautomatisierung. Suchanfragen werden direkt an Exa oder Parallel gesendet.",
+ "settings.webTools.description": "Konfigurieren Sie Websuche und Browserautomatisierung.",
"settings.webTools.webSearch.enable": "Für alle Anbieter aktivieren",
"settings.webTools.browserAutomation": "Browserautomatisierung",
"settings.webTools.webSearch.title": "Websuche",
- "settings.webTools.webSearch.description":
- "Machen Sie die Websuche für Modelle aller Anbieter verfügbar. Suchanfragen werden direkt an Exa oder Parallel gesendet.",
+ "settings.webTools.webSearch.description": "Machen Sie die Websuche für Modelle aller Anbieter verfügbar.",
"settings.checkpoints.title": "Prüfpunkte",
"settings.display.title": "Anzeige",
"settings.autocomplete.title": "Autovervollständigung",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/en.ts b/packages/kilo-vscode/webview-ui/src/i18n/en.ts
index 96ba2325692..3f8a1b01869 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/en.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/en.ts
@@ -623,13 +623,11 @@ export const dict = {
"settings.agentBehaviour.title": "Agent Behaviour",
"settings.autoApprove.title": "Auto-Approve",
"settings.webTools.title": "Web Tools",
- "settings.webTools.description":
- "Configure web search and browser automation. Search requests connect directly to Exa or Parallel.",
+ "settings.webTools.description": "Configure web search and browser automation.",
"settings.webTools.webSearch.enable": "Enable for All Providers",
"settings.webTools.browserAutomation": "Browser Automation",
"settings.webTools.webSearch.title": "Web Search",
- "settings.webTools.webSearch.description":
- "Make web search available to models from all providers. Searches connect directly to Exa or Parallel.",
+ "settings.webTools.webSearch.description": "Make web search available to models from all providers.",
"settings.checkpoints.title": "Checkpoints",
"settings.display.title": "Display",
"settings.autocomplete.title": "Autocomplete",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/es.ts b/packages/kilo-vscode/webview-ui/src/i18n/es.ts
index 90edf60e2a7..815e038ced7 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/es.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/es.ts
@@ -711,13 +711,11 @@ export const dict = {
"settings.agentBehaviour.title": "Comportamiento del agente",
"settings.autoApprove.title": "Aprobación automática",
"settings.webTools.title": "Herramientas web",
- "settings.webTools.description":
- "Configura la búsqueda web y la automatización del navegador. Las solicitudes de búsqueda se conectan directamente a Exa o Parallel.",
+ "settings.webTools.description": "Configura la búsqueda web y la automatización del navegador.",
"settings.webTools.webSearch.enable": "Habilitar para todos los proveedores",
"settings.webTools.browserAutomation": "Automatización del navegador",
"settings.webTools.webSearch.title": "Búsqueda web",
- "settings.webTools.webSearch.description":
- "Permite que los modelos de todos los proveedores usen la búsqueda web. Las búsquedas se conectan directamente a Exa o Parallel.",
+ "settings.webTools.webSearch.description": "Permite que los modelos de todos los proveedores usen la búsqueda web.",
"settings.checkpoints.title": "Puntos de control",
"settings.display.title": "Pantalla",
"settings.autocomplete.title": "Autocompletado",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/fa.ts b/packages/kilo-vscode/webview-ui/src/i18n/fa.ts
index 02a2bf9ab5a..47e6bc815cf 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/fa.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/fa.ts
@@ -624,7 +624,12 @@ export const dict = {
"settings.agentBehaviour.title": "رفتار عامل",
"settings.autoApprove.title": "تأیید خودکار",
- "settings.browser.title": "مرورگر",
+ "settings.webTools.title": "ابزارهای وب",
+ "settings.webTools.description": "جستجوی وب و اتوماسیون مرورگر را پیکربندی کنید.",
+ "settings.webTools.webSearch.enable": "فعالسازی برای همه ارائهدهندگان",
+ "settings.webTools.browserAutomation": "اتوماسیون مرورگر",
+ "settings.webTools.webSearch.title": "جستجوی وب",
+ "settings.webTools.webSearch.description": "جستجوی وب را برای مدلهای همه ارائهدهندگان در دسترس قرار دهید.",
"settings.checkpoints.title": "نقاط بازیابی",
"settings.display.title": "نمایش",
"settings.autocomplete.title": "تکمیل خودکار",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/fr.ts b/packages/kilo-vscode/webview-ui/src/i18n/fr.ts
index 69a56922138..956fa4ba09c 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/fr.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/fr.ts
@@ -717,13 +717,12 @@ export const dict = {
"settings.agentBehaviour.title": "Comportement de l'agent",
"settings.autoApprove.title": "Approbation automatique",
"settings.webTools.title": "Outils web",
- "settings.webTools.description":
- "Configurez la recherche web et l’automatisation du navigateur. Les requêtes de recherche se connectent directement à Exa ou Parallel.",
+ "settings.webTools.description": "Configurez la recherche web et l’automatisation du navigateur.",
"settings.webTools.webSearch.enable": "Activer pour tous les fournisseurs",
"settings.webTools.browserAutomation": "Automatisation du navigateur",
"settings.webTools.webSearch.title": "Recherche web",
"settings.webTools.webSearch.description":
- "Rendez la recherche web disponible pour les modèles de tous les fournisseurs. Les recherches se connectent directement à Exa ou Parallel.",
+ "Rendez la recherche web disponible pour les modèles de tous les fournisseurs.",
"settings.checkpoints.title": "Points de contrôle",
"settings.display.title": "Affichage",
"settings.autocomplete.title": "Autocomplétion",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/it.ts b/packages/kilo-vscode/webview-ui/src/i18n/it.ts
index 2720738fbdc..e299fc0a057 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/it.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/it.ts
@@ -530,13 +530,11 @@ export const dict = {
"settings.agentBehaviour.title": "Comportamento agente",
"settings.autoApprove.title": "Approvazione automatica",
"settings.webTools.title": "Strumenti web",
- "settings.webTools.description":
- "Configura la ricerca web e l'automazione del browser. Le richieste di ricerca si connettono direttamente a Exa o Parallel.",
+ "settings.webTools.description": "Configura la ricerca web e l'automazione del browser.",
"settings.webTools.webSearch.enable": "Abilita per tutti i provider",
"settings.webTools.browserAutomation": "Automazione del browser",
"settings.webTools.webSearch.title": "Ricerca web",
- "settings.webTools.webSearch.description":
- "Rendi disponibile la ricerca web ai modelli di tutti i provider. Le ricerche si connettono direttamente a Exa o Parallel.",
+ "settings.webTools.webSearch.description": "Rendi disponibile la ricerca web ai modelli di tutti i provider.",
"settings.checkpoints.title": "Checkpoint",
"settings.display.title": "Visualizzazione",
"settings.autocomplete.title": "Autocompletamento",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ja.ts b/packages/kilo-vscode/webview-ui/src/i18n/ja.ts
index a911d6477cd..668e6fe8ce8 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ja.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ja.ts
@@ -698,13 +698,11 @@ export const dict = {
"settings.agentBehaviour.title": "エージェントの動作",
"settings.autoApprove.title": "自動承認",
"settings.webTools.title": "ウェブツール",
- "settings.webTools.description":
- "ウェブ検索とブラウザ自動化を設定します。検索リクエストは Exa または Parallel に直接接続されます。",
+ "settings.webTools.description": "ウェブ検索とブラウザ自動化を設定します。",
"settings.webTools.webSearch.enable": "すべてのプロバイダーで有効化",
"settings.webTools.browserAutomation": "ブラウザ自動化",
"settings.webTools.webSearch.title": "ウェブ検索",
- "settings.webTools.webSearch.description":
- "すべてのプロバイダーのモデルでウェブ検索を利用できるようにします。検索は Exa または Parallel に直接接続されます。",
+ "settings.webTools.webSearch.description": "すべてのプロバイダーのモデルでウェブ検索を利用できるようにします。",
"settings.checkpoints.title": "チェックポイント",
"settings.display.title": "表示",
"settings.autocomplete.title": "オートコンプリート",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ko.ts b/packages/kilo-vscode/webview-ui/src/i18n/ko.ts
index a19ee0ddd07..2aad8394d5c 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ko.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ko.ts
@@ -658,13 +658,11 @@ export const dict = {
"settings.agentBehaviour.title": "에이전트 동작",
"settings.autoApprove.title": "자동 승인",
"settings.webTools.title": "웹 도구",
- "settings.webTools.description":
- "웹 검색 및 브라우저 자동화를 구성합니다. 검색 요청은 Exa 또는 Parallel에 직접 연결됩니다.",
+ "settings.webTools.description": "웹 검색 및 브라우저 자동화를 구성합니다.",
"settings.webTools.webSearch.enable": "모든 제공업체에 사용",
"settings.webTools.browserAutomation": "브라우저 자동화",
"settings.webTools.webSearch.title": "웹 검색",
- "settings.webTools.webSearch.description":
- "모든 제공업체의 모델에서 웹 검색을 사용할 수 있도록 합니다. 검색은 Exa 또는 Parallel에 직접 연결됩니다.",
+ "settings.webTools.webSearch.description": "모든 제공업체의 모델에서 웹 검색을 사용할 수 있도록 합니다.",
"settings.checkpoints.title": "체크포인트",
"settings.display.title": "디스플레이",
"settings.autocomplete.title": "자동 완성",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/nl.ts b/packages/kilo-vscode/webview-ui/src/i18n/nl.ts
index 73af15b3172..962fb6c92ed 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/nl.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/nl.ts
@@ -659,13 +659,11 @@ export const dict = {
"settings.agentBehaviour.title": "Agent Gedrag",
"settings.autoApprove.title": "Automatisch Goedkeuren",
"settings.webTools.title": "Webtools",
- "settings.webTools.description":
- "Configureer zoeken op internet en browserautomatisering. Zoekopdrachten maken rechtstreeks verbinding met Exa of Parallel.",
+ "settings.webTools.description": "Configureer zoeken op internet en browserautomatisering.",
"settings.webTools.webSearch.enable": "Inschakelen voor alle providers",
"settings.webTools.browserAutomation": "Browserautomatisering",
"settings.webTools.webSearch.title": "Zoeken op internet",
- "settings.webTools.webSearch.description":
- "Maak zoeken op internet beschikbaar voor modellen van alle providers. Zoekopdrachten maken rechtstreeks verbinding met Exa of Parallel.",
+ "settings.webTools.webSearch.description": "Maak zoeken op internet beschikbaar voor modellen van alle providers.",
"settings.checkpoints.title": "Controlepunten",
"settings.display.title": "Weergave",
"settings.autocomplete.title": "Automatisch Aanvullen",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/no.ts b/packages/kilo-vscode/webview-ui/src/i18n/no.ts
index f1e24a26560..e72c07b75cf 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/no.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/no.ts
@@ -666,13 +666,11 @@ export const dict = {
"settings.agentBehaviour.title": "Agentoppførsel",
"settings.autoApprove.title": "Automatisk godkjenning",
"settings.webTools.title": "Nettverktøy",
- "settings.webTools.description":
- "Konfigurer nettsøk og nettleserautomatisering. Søk sendes direkte til Exa eller Parallel.",
+ "settings.webTools.description": "Konfigurer nettsøk og nettleserautomatisering.",
"settings.webTools.webSearch.enable": "Aktiver for alle leverandører",
"settings.webTools.browserAutomation": "Nettleserautomatisering",
"settings.webTools.webSearch.title": "Nettsøk",
- "settings.webTools.webSearch.description":
- "Gjør nettsøk tilgjengelig for modeller fra alle leverandører. Søk sendes direkte til Exa eller Parallel.",
+ "settings.webTools.webSearch.description": "Gjør nettsøk tilgjengelig for modeller fra alle leverandører.",
"settings.checkpoints.title": "Kontrollpunkter",
"settings.display.title": "Visning",
"settings.autocomplete.title": "Autofullfør",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/pl.ts b/packages/kilo-vscode/webview-ui/src/i18n/pl.ts
index 32c2384b34e..435a35e6a9a 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/pl.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/pl.ts
@@ -662,13 +662,11 @@ export const dict = {
"settings.agentBehaviour.title": "Zachowanie agenta",
"settings.autoApprove.title": "Automatyczne zatwierdzanie",
"settings.webTools.title": "Narzędzia internetowe",
- "settings.webTools.description":
- "Skonfiguruj wyszukiwanie w sieci i automatyzację przeglądarki. Żądania wyszukiwania łączą się bezpośrednio z Exa lub Parallel.",
+ "settings.webTools.description": "Skonfiguruj wyszukiwanie w sieci i automatyzację przeglądarki.",
"settings.webTools.webSearch.enable": "Włącz dla wszystkich dostawców",
"settings.webTools.browserAutomation": "Automatyzacja przeglądarki",
"settings.webTools.webSearch.title": "Wyszukiwanie w sieci",
- "settings.webTools.webSearch.description":
- "Udostępnij wyszukiwanie w sieci modelom wszystkich dostawców. Wyszukiwania łączą się bezpośrednio z Exa lub Parallel.",
+ "settings.webTools.webSearch.description": "Udostępnij wyszukiwanie w sieci modelom wszystkich dostawców.",
"settings.checkpoints.title": "Punkty kontrolne",
"settings.display.title": "Wyświetlanie",
"settings.autocomplete.title": "Autouzupełnianie",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ru.ts b/packages/kilo-vscode/webview-ui/src/i18n/ru.ts
index 737da75a121..824ada6f698 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/ru.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/ru.ts
@@ -703,13 +703,11 @@ export const dict = {
"settings.agentBehaviour.title": "Поведение агента",
"settings.autoApprove.title": "Автоодобрение",
"settings.webTools.title": "Веб-инструменты",
- "settings.webTools.description":
- "Настройте веб-поиск и автоматизацию браузера. Поисковые запросы отправляются напрямую в Exa или Parallel.",
+ "settings.webTools.description": "Настройте веб-поиск и автоматизацию браузера.",
"settings.webTools.webSearch.enable": "Включить для всех провайдеров",
"settings.webTools.browserAutomation": "Автоматизация браузера",
"settings.webTools.webSearch.title": "Веб-поиск",
- "settings.webTools.webSearch.description":
- "Сделайте веб-поиск доступным для моделей всех провайдеров. Поисковые запросы отправляются напрямую в Exa или Parallel.",
+ "settings.webTools.webSearch.description": "Сделайте веб-поиск доступным для моделей всех провайдеров.",
"settings.checkpoints.title": "Контрольные точки",
"settings.display.title": "Отображение",
"settings.autocomplete.title": "Автодополнение",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/th.ts b/packages/kilo-vscode/webview-ui/src/i18n/th.ts
index 18677db990e..d0f653af10b 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/th.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/th.ts
@@ -696,13 +696,11 @@ export const dict = {
"settings.agentBehaviour.title": "พฤติกรรมของเอเจนต์",
"settings.autoApprove.title": "อนุมัติอัตโนมัติ",
"settings.webTools.title": "เครื่องมือเว็บ",
- "settings.webTools.description":
- "กำหนดค่าการค้นหาเว็บและระบบอัตโนมัติของเบราว์เซอร์ คำขอค้นหาจะเชื่อมต่อโดยตรงกับ Exa หรือ Parallel",
+ "settings.webTools.description": "กำหนดค่าการค้นหาเว็บและระบบอัตโนมัติของเบราว์เซอร์",
"settings.webTools.webSearch.enable": "เปิดใช้สำหรับผู้ให้บริการทั้งหมด",
"settings.webTools.browserAutomation": "ระบบอัตโนมัติของเบราว์เซอร์",
"settings.webTools.webSearch.title": "ค้นหาเว็บ",
- "settings.webTools.webSearch.description":
- "ทำให้โมเดลจากผู้ให้บริการทั้งหมดใช้การค้นหาเว็บได้ การค้นหาจะเชื่อมต่อโดยตรงกับ Exa หรือ Parallel",
+ "settings.webTools.webSearch.description": "ทำให้โมเดลจากผู้ให้บริการทั้งหมดใช้การค้นหาเว็บได้",
"settings.checkpoints.title": "จุดตรวจสอบ",
"settings.display.title": "การแสดงผล",
"settings.autocomplete.title": "เติมข้อความอัตโนมัติ",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/tr.ts b/packages/kilo-vscode/webview-ui/src/i18n/tr.ts
index 1b2a6a3c70f..6f6824da423 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/tr.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/tr.ts
@@ -654,13 +654,12 @@ export const dict = {
"settings.agentBehaviour.title": "Ajan Davranışı",
"settings.autoApprove.title": "Otomatik Onay",
"settings.webTools.title": "Web Araçları",
- "settings.webTools.description":
- "Web aramasını ve tarayıcı otomasyonunu yapılandırın. Arama istekleri doğrudan Exa veya Parallel'e bağlanır.",
+ "settings.webTools.description": "Web aramasını ve tarayıcı otomasyonunu yapılandırın.",
"settings.webTools.webSearch.enable": "Tüm Sağlayıcılar İçin Etkinleştir",
"settings.webTools.browserAutomation": "Tarayıcı Otomasyonu",
"settings.webTools.webSearch.title": "Web Araması",
"settings.webTools.webSearch.description":
- "Web aramasını tüm sağlayıcıların modelleri için kullanılabilir hale getirin. Aramalar doğrudan Exa veya Parallel'e bağlanır.",
+ "Web aramasını tüm sağlayıcıların modelleri için kullanılabilir hale getirin.",
"settings.checkpoints.title": "Kontrol Noktaları",
"settings.display.title": "Görünüm",
"settings.autocomplete.title": "Otomatik Tamamlama",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/uk.ts b/packages/kilo-vscode/webview-ui/src/i18n/uk.ts
index a9bca7db9e1..f984d8f7a91 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/uk.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/uk.ts
@@ -656,13 +656,11 @@ export const dict = {
"settings.agentBehaviour.title": "Поведінка агента",
"settings.autoApprove.title": "Автоматичне схвалення",
"settings.webTools.title": "Вебінструменти",
- "settings.webTools.description":
- "Налаштуйте вебпошук і автоматизацію браузера. Пошукові запити надсилаються безпосередньо до Exa або Parallel.",
+ "settings.webTools.description": "Налаштуйте вебпошук і автоматизацію браузера.",
"settings.webTools.webSearch.enable": "Увімкнути для всіх постачальників",
"settings.webTools.browserAutomation": "Автоматизація браузера",
"settings.webTools.webSearch.title": "Вебпошук",
- "settings.webTools.webSearch.description":
- "Зробіть вебпошук доступним для моделей усіх постачальників. Пошукові запити надсилаються безпосередньо до Exa або Parallel.",
+ "settings.webTools.webSearch.description": "Зробіть вебпошук доступним для моделей усіх постачальників.",
"settings.checkpoints.title": "Контрольні точки",
"settings.display.title": "Відображення",
"settings.autocomplete.title": "Автодоповнення",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/zh.ts b/packages/kilo-vscode/webview-ui/src/i18n/zh.ts
index 35ca21a4fd1..9d14ba7edad 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/zh.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/zh.ts
@@ -680,11 +680,11 @@ export const dict = {
"settings.agentBehaviour.title": "智能体行为",
"settings.autoApprove.title": "自动审批",
"settings.webTools.title": "网络工具",
- "settings.webTools.description": "配置网页搜索和浏览器自动化。搜索请求会直接连接到 Exa 或 Parallel。",
+ "settings.webTools.description": "配置网页搜索和浏览器自动化。",
"settings.webTools.webSearch.enable": "为所有提供商启用",
"settings.webTools.browserAutomation": "浏览器自动化",
"settings.webTools.webSearch.title": "网页搜索",
- "settings.webTools.webSearch.description": "让所有提供商的模型都可使用网页搜索。搜索会直接连接到 Exa 或 Parallel。",
+ "settings.webTools.webSearch.description": "让所有提供商的模型都可使用网页搜索。",
"settings.checkpoints.title": "检查点",
"settings.display.title": "显示",
"settings.autocomplete.title": "自动补全",
diff --git a/packages/kilo-vscode/webview-ui/src/i18n/zht.ts b/packages/kilo-vscode/webview-ui/src/i18n/zht.ts
index 57b018982b7..afc051308aa 100644
--- a/packages/kilo-vscode/webview-ui/src/i18n/zht.ts
+++ b/packages/kilo-vscode/webview-ui/src/i18n/zht.ts
@@ -640,11 +640,11 @@ export const dict = {
"settings.agentBehaviour.title": "Agent 行為",
"settings.autoApprove.title": "自動核准",
"settings.webTools.title": "網路工具",
- "settings.webTools.description": "設定網頁搜尋和瀏覽器自動化。搜尋請求會直接連線至 Exa 或 Parallel。",
+ "settings.webTools.description": "設定網頁搜尋和瀏覽器自動化。",
"settings.webTools.webSearch.enable": "為所有供應商啟用",
"settings.webTools.browserAutomation": "瀏覽器自動化",
"settings.webTools.webSearch.title": "網頁搜尋",
- "settings.webTools.webSearch.description": "讓所有供應商的模型都可使用網頁搜尋。搜尋會直接連線至 Exa 或 Parallel。",
+ "settings.webTools.webSearch.description": "讓所有供應商的模型都可使用網頁搜尋。",
"settings.checkpoints.title": "檢查點",
"settings.display.title": "顯示",
"settings.autocomplete.title": "自動完成",
diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json
index 3036985783e..d201367cb86 100644
--- a/packages/sdk/openapi.json
+++ b/packages/sdk/openapi.json
@@ -29194,10 +29194,6 @@
"hide_prompt_training_models": {
"type": "boolean"
},
- "web_search": {
- "type": "boolean",
- "description": "Make web search available to models from all providers (default: false)"
- },
"sandbox": {
"type": "object",
"properties": {
@@ -29456,6 +29452,9 @@
"type": "boolean"
}
},
+ "web_search": {
+ "type": "boolean"
+ },
"attachment": {
"$ref": "#/components/schemas/AttachmentConfig"
},