diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/bash-with-permission-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/bash-with-permission-chromium-linux.png index 57243540a63..4276c226708 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/bash-with-permission-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/bash-with-permission-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed36de43a103f21512a259403f510d3b2918d0e05e9bdf141b3507f667094d24 -size 15182 +oid sha256:766f60460f5a405cbca27100d0679d3b088ff864e59b8ac9247ba19ca66f6826 +size 15331 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/glob-with-permission-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/glob-with-permission-chromium-linux.png index 4e0f6d1ebfd..e3d8691906a 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/glob-with-permission-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/glob-with-permission-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:012356280751a224b15241fcfe1fe5d6cde3763540e5b6ea15b010843b13ee52 -size 16829 +oid sha256:7024b3bb96ecbe58489218a1066e81bdb7263521d2d94e50d5ad2ace770c7546 +size 16953 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-todo-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-todo-chromium-linux.png index 737f891a7f0..6e926195572 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-todo-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-todo-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:901e8ef17097c7dc40c3d970d8e0000455aacc791647ecc5d425e2ffd1eab565 -size 16347 +oid sha256:75f083122d0707dd289f0466d2646789d285d302bb86fe05a5bc7a9a0a4f3301 +size 16516 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-write-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-write-chromium-linux.png index 3d001d0f7d9..8d972a83de9 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-write-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-write-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c3a1e0f87d27b78730155bc1fba0159b46e66df45e18bcd619e4787583d65cc -size 19400 +oid sha256:81302ab3139c598604e009220347c9955e845f36ce739189a2dcab33c9281ab4 +size 19370 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/todo-write-with-permission-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/todo-write-with-permission-chromium-linux.png index e7db8b31357..a05556cb915 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/todo-write-with-permission-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/todo-write-with-permission-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb189525f58aa19640b4c9436073d25267a183c825acf3464bc018a42f997e0d -size 19175 +oid sha256:82c90a5f1cb077a08bc30457d2426a6869c3acf883b64c2ba381c4307ac4de35 +size 19263 diff --git a/packages/kilo-vscode/webview-ui/src/components/chat/PermissionDock.tsx b/packages/kilo-vscode/webview-ui/src/components/chat/PermissionDock.tsx index a112265ecd9..40f7c0001c5 100644 --- a/packages/kilo-vscode/webview-ui/src/components/chat/PermissionDock.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/chat/PermissionDock.tsx @@ -12,6 +12,7 @@ import { Component, For, Show, createSignal } from "solid-js" import { Button } from "@kilocode/kilo-ui/button" import { DockPrompt } from "@kilocode/kilo-ui/dock-prompt" import { Icon } from "@kilocode/kilo-ui/icon" +import { Tooltip } from "@kilocode/kilo-ui/tooltip" import { useSession } from "../../context/session" import { useLanguage } from "../../context/language" import type { PermissionRequest } from "../../types/messages" @@ -35,6 +36,8 @@ export const PermissionDock: Component<{ const [decisions, setDecisions] = createSignal>({}) + const hasDeniedPatterns = () => Object.values(decisions()).some((d) => d === "denied") + const collectPatterns = () => { const all = patterns() const approved: string[] = [] @@ -63,6 +66,16 @@ export const PermissionDock: Component<{ const decision = (index: number): PatternDecision => decisions()[index] ?? "pending" + const approveTooltip = (index: number) => + decision(index) === "approved" + ? language.t("ui.permission.pattern.removeFromAllowed") + : language.t("ui.permission.pattern.addToAllowed") + + const denyTooltip = (index: number) => + decision(index) === "denied" + ? language.t("ui.permission.pattern.removeFromDenied") + : language.t("ui.permission.pattern.addToDenied") + const toolDescription = () => { const key = `settings.permissions.tool.${props.request.toolName}.description` const value = language.t(key as Parameters[0]) @@ -108,7 +121,7 @@ export const PermissionDock: Component<{ const { approved, denied } = collectPatterns() props.onDecide("always", approved, denied) }} - disabled={props.responding} + disabled={props.responding || hasDeniedPatterns()} > {language.t("ui.permission.allowAlways")} @@ -153,26 +166,30 @@ export const PermissionDock: Component<{ {props.request.toolName} {pattern}
- - + + + + + +
)} diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ar.ts b/packages/kilo-vscode/webview-ui/src/i18n/ar.ts index 9bf1d580126..2dd859c0b68 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/ar.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/ar.ts @@ -440,6 +440,10 @@ export const dict = { "notification.permission.title": "مطلوب إذن", "notification.permission.description": "{{sessionTitle}} في {{projectName}} يحتاج إلى إذن", + "ui.permission.pattern.addToAllowed": "أضف إلى قائمة المسموح", + "ui.permission.pattern.removeFromAllowed": "أزل من قائمة المسموح", + "ui.permission.pattern.addToDenied": "أضف إلى قائمة المرفوض", + "ui.permission.pattern.removeFromDenied": "أزل من قائمة المرفوض", "notification.question.title": "سؤال", "notification.question.description": "{{sessionTitle}} في {{projectName}} لديه سؤال", "notification.action.goToSession": "انتقل إلى الجلسة", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/br.ts b/packages/kilo-vscode/webview-ui/src/i18n/br.ts index b727b5d2cb1..89503898829 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/br.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/br.ts @@ -442,6 +442,10 @@ export const dict = { "notification.permission.title": "Permissão necessária", "notification.permission.description": "{{sessionTitle}} em {{projectName}} precisa de permissão", + "ui.permission.pattern.addToAllowed": "Adicionar à lista de permitidos", + "ui.permission.pattern.removeFromAllowed": "Remover da lista de permitidos", + "ui.permission.pattern.addToDenied": "Adicionar à lista de negados", + "ui.permission.pattern.removeFromDenied": "Remover da lista de negados", "notification.question.title": "Pergunta", "notification.question.description": "{{sessionTitle}} em {{projectName}} tem uma pergunta", "notification.action.goToSession": "Ir para sessão", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/bs.ts b/packages/kilo-vscode/webview-ui/src/i18n/bs.ts index a3f54a5afc5..ab15b1ae418 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/bs.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/bs.ts @@ -446,6 +446,10 @@ export const dict = { "notification.permission.title": "Potrebna dozvola", "notification.permission.description": "{{sessionTitle}} u {{projectName}} traži dozvolu", + "ui.permission.pattern.addToAllowed": "Dodaj na listu dozvoljenih", + "ui.permission.pattern.removeFromAllowed": "Ukloni sa liste dozvoljenih", + "ui.permission.pattern.addToDenied": "Dodaj na listu odbijenih", + "ui.permission.pattern.removeFromDenied": "Ukloni sa liste odbijenih", "notification.question.title": "Pitanje", "notification.question.description": "{{sessionTitle}} u {{projectName}} ima pitanje", "notification.action.goToSession": "Idi na sesiju", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/da.ts b/packages/kilo-vscode/webview-ui/src/i18n/da.ts index 9f95fc401c3..cdcbdd75237 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/da.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/da.ts @@ -443,6 +443,10 @@ export const dict = { "notification.permission.title": "Tilladelse påkrævet", "notification.permission.description": "{{sessionTitle}} i {{projectName}} kræver tilladelse", + "ui.permission.pattern.addToAllowed": "Tilføj til tilladelseslisten", + "ui.permission.pattern.removeFromAllowed": "Fjern fra tilladelseslisten", + "ui.permission.pattern.addToDenied": "Tilføj til afvisningslisten", + "ui.permission.pattern.removeFromDenied": "Fjern fra afvisningslisten", "notification.question.title": "Spørgsmål", "notification.question.description": "{{sessionTitle}} i {{projectName}} har et spørgsmål", "notification.action.goToSession": "Gå til session", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/de.ts b/packages/kilo-vscode/webview-ui/src/i18n/de.ts index 8ad13686889..4cf476da6fe 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/de.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/de.ts @@ -450,6 +450,10 @@ export const dict = { "notification.permission.title": "Berechtigung erforderlich", "notification.permission.description": "{{sessionTitle}} in {{projectName}} benötigt Berechtigung", + "ui.permission.pattern.addToAllowed": "Zur Erlaubt-Liste hinzufügen", + "ui.permission.pattern.removeFromAllowed": "Aus der Erlaubt-Liste entfernen", + "ui.permission.pattern.addToDenied": "Zur Verweigert-Liste hinzufügen", + "ui.permission.pattern.removeFromDenied": "Aus der Verweigert-Liste entfernen", "notification.question.title": "Frage", "notification.question.description": "{{sessionTitle}} in {{projectName}} hat eine Frage", "notification.action.goToSession": "Zur Sitzung gehen", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/en.ts b/packages/kilo-vscode/webview-ui/src/i18n/en.ts index 233291934a0..24cad722277 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/en.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/en.ts @@ -445,6 +445,10 @@ export const dict = { "notification.permission.title": "Permission required", "notification.permission.description": "{{sessionTitle}} in {{projectName}} needs permission", + "ui.permission.pattern.addToAllowed": "Add to allowed list", + "ui.permission.pattern.removeFromAllowed": "Remove from allowed list", + "ui.permission.pattern.addToDenied": "Add to denied list", + "ui.permission.pattern.removeFromDenied": "Remove from denied list", "notification.question.title": "Question", "notification.question.description": "{{sessionTitle}} in {{projectName}} has a question", "notification.action.goToSession": "Go to session", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/es.ts b/packages/kilo-vscode/webview-ui/src/i18n/es.ts index ffe9f2f9cb4..b138af49b48 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/es.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/es.ts @@ -445,6 +445,10 @@ export const dict = { "notification.permission.title": "Permiso requerido", "notification.permission.description": "{{sessionTitle}} en {{projectName}} necesita permiso", + "ui.permission.pattern.addToAllowed": "Añadir a la lista de permitidos", + "ui.permission.pattern.removeFromAllowed": "Quitar de la lista de permitidos", + "ui.permission.pattern.addToDenied": "Añadir a la lista de denegados", + "ui.permission.pattern.removeFromDenied": "Quitar de la lista de denegados", "notification.question.title": "Pregunta", "notification.question.description": "{{sessionTitle}} en {{projectName}} tiene una pregunta", "notification.action.goToSession": "Ir a sesión", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/fr.ts b/packages/kilo-vscode/webview-ui/src/i18n/fr.ts index b13496aa4ae..ff1ce1af76b 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/fr.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/fr.ts @@ -450,6 +450,10 @@ export const dict = { "notification.permission.title": "Permission requise", "notification.permission.description": "{{sessionTitle}} dans {{projectName}} a besoin d'une permission", + "ui.permission.pattern.addToAllowed": "Ajouter à la liste des autorisés", + "ui.permission.pattern.removeFromAllowed": "Retirer de la liste des autorisés", + "ui.permission.pattern.addToDenied": "Ajouter à la liste des refusés", + "ui.permission.pattern.removeFromDenied": "Retirer de la liste des refusés", "notification.question.title": "Question", "notification.question.description": "{{sessionTitle}} dans {{projectName}} a une question", "notification.action.goToSession": "Aller à la session", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ja.ts b/packages/kilo-vscode/webview-ui/src/i18n/ja.ts index 4f2cc289f47..12fd674932c 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/ja.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/ja.ts @@ -441,6 +441,10 @@ export const dict = { "notification.permission.title": "権限が必要です", "notification.permission.description": "{{projectName}} の {{sessionTitle}} が権限を必要としています", + "ui.permission.pattern.addToAllowed": "許可リストに追加", + "ui.permission.pattern.removeFromAllowed": "許可リストから削除", + "ui.permission.pattern.addToDenied": "拒否リストに追加", + "ui.permission.pattern.removeFromDenied": "拒否リストから削除", "notification.question.title": "質問", "notification.question.description": "{{projectName}} の {{sessionTitle}} から質問があります", "notification.action.goToSession": "セッションへ移動", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ko.ts b/packages/kilo-vscode/webview-ui/src/i18n/ko.ts index 2be4eef9ba8..48632d64b1d 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/ko.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/ko.ts @@ -444,6 +444,10 @@ export const dict = { "notification.permission.title": "권한 필요", "notification.permission.description": "{{projectName}}의 {{sessionTitle}}에서 권한이 필요합니다", + "ui.permission.pattern.addToAllowed": "허용 목록에 추가", + "ui.permission.pattern.removeFromAllowed": "허용 목록에서 제거", + "ui.permission.pattern.addToDenied": "거부 목록에 추가", + "ui.permission.pattern.removeFromDenied": "거부 목록에서 제거", "notification.question.title": "질문", "notification.question.description": "{{projectName}}의 {{sessionTitle}}에서 질문이 있습니다", "notification.action.goToSession": "세션으로 이동", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/no.ts b/packages/kilo-vscode/webview-ui/src/i18n/no.ts index 38018c1e9dc..dcb7f4cff65 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/no.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/no.ts @@ -445,6 +445,10 @@ export const dict = { "notification.permission.title": "Tillatelse påkrevd", "notification.permission.description": "{{sessionTitle}} i {{projectName}} trenger tillatelse", + "ui.permission.pattern.addToAllowed": "Legg til i tillatt-listen", + "ui.permission.pattern.removeFromAllowed": "Fjern fra tillatt-listen", + "ui.permission.pattern.addToDenied": "Legg til i blokkert-listen", + "ui.permission.pattern.removeFromDenied": "Fjern fra blokkert-listen", "notification.question.title": "Spørsmål", "notification.question.description": "{{sessionTitle}} i {{projectName}} har et spørsmål", "notification.action.goToSession": "Gå til sesjon", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/pl.ts b/packages/kilo-vscode/webview-ui/src/i18n/pl.ts index b2ec63beb9e..5ae49c22a10 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/pl.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/pl.ts @@ -444,6 +444,10 @@ export const dict = { "notification.permission.title": "Wymagane uprawnienie", "notification.permission.description": "{{sessionTitle}} w {{projectName}} potrzebuje uprawnienia", + "ui.permission.pattern.addToAllowed": "Dodaj do listy dozwolonych", + "ui.permission.pattern.removeFromAllowed": "Usuń z listy dozwolonych", + "ui.permission.pattern.addToDenied": "Dodaj do listy zablokowanych", + "ui.permission.pattern.removeFromDenied": "Usuń z listy zablokowanych", "notification.question.title": "Pytanie", "notification.question.description": "{{sessionTitle}} w {{projectName}} ma pytanie", "notification.action.goToSession": "Przejdź do sesji", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/ru.ts b/packages/kilo-vscode/webview-ui/src/i18n/ru.ts index 2387d12521a..55261b19c66 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/ru.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/ru.ts @@ -446,6 +446,10 @@ export const dict = { "notification.permission.title": "Требуется разрешение", "notification.permission.description": "{{sessionTitle}} в {{projectName}} требуется разрешение", + "ui.permission.pattern.addToAllowed": "Добавить в список разрешённых", + "ui.permission.pattern.removeFromAllowed": "Убрать из списка разрешённых", + "ui.permission.pattern.addToDenied": "Добавить в список запрещённых", + "ui.permission.pattern.removeFromDenied": "Убрать из списка запрещённых", "notification.question.title": "Вопрос", "notification.question.description": "У {{sessionTitle}} в {{projectName}} есть вопрос", "notification.action.goToSession": "Перейти к сессии", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/th.ts b/packages/kilo-vscode/webview-ui/src/i18n/th.ts index e206fd5ce47..fa1fb0aba34 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/th.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/th.ts @@ -441,6 +441,10 @@ export const dict = { "notification.permission.title": "ต้องการสิทธิ์", "notification.permission.description": "{{sessionTitle}} ใน {{projectName}} ต้องการสิทธิ์", + "ui.permission.pattern.addToAllowed": "เพิ่มไปยังรายการที่อนุญาต", + "ui.permission.pattern.removeFromAllowed": "นำออกจากรายการที่อนุญาต", + "ui.permission.pattern.addToDenied": "เพิ่มไปยังรายการที่ถูกปฏิเสธ", + "ui.permission.pattern.removeFromDenied": "นำออกจากรายการที่ถูกปฏิเสธ", "notification.question.title": "คำถาม", "notification.question.description": "{{sessionTitle}} ใน {{projectName}} มีคำถาม", "notification.action.goToSession": "ไปที่เซสชัน", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/zh.ts b/packages/kilo-vscode/webview-ui/src/i18n/zh.ts index 3f3b704740c..d0f11f90155 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/zh.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/zh.ts @@ -437,6 +437,10 @@ export const dict = { "notification.permission.title": "需要权限", "notification.permission.description": "{{sessionTitle}}({{projectName}})需要权限", + "ui.permission.pattern.addToAllowed": "添加到允许列表", + "ui.permission.pattern.removeFromAllowed": "从允许列表移除", + "ui.permission.pattern.addToDenied": "添加到拒绝列表", + "ui.permission.pattern.removeFromDenied": "从拒绝列表移除", "notification.question.title": "问题", "notification.question.description": "{{sessionTitle}}({{projectName}})有一个问题", "notification.action.goToSession": "前往会话", diff --git a/packages/kilo-vscode/webview-ui/src/i18n/zht.ts b/packages/kilo-vscode/webview-ui/src/i18n/zht.ts index 1f3e5101a96..94ce504d83f 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/zht.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/zht.ts @@ -438,6 +438,10 @@ export const dict = { "notification.permission.title": "需要權限", "notification.permission.description": "{{sessionTitle}}({{projectName}})需要權限", + "ui.permission.pattern.addToAllowed": "加入允許清單", + "ui.permission.pattern.removeFromAllowed": "從允許清單移除", + "ui.permission.pattern.addToDenied": "加入拒絕清單", + "ui.permission.pattern.removeFromDenied": "從拒絕清單移除", "notification.question.title": "問題", "notification.question.description": "{{sessionTitle}}({{projectName}})有一個問題", "notification.action.goToSession": "前往工作階段", diff --git a/packages/kilo-vscode/webview-ui/src/styles/chat.css b/packages/kilo-vscode/webview-ui/src/styles/chat.css index 1d6a0b19123..f9d282c4a12 100644 --- a/packages/kilo-vscode/webview-ui/src/styles/chat.css +++ b/packages/kilo-vscode/webview-ui/src/styles/chat.css @@ -1167,9 +1167,10 @@ [data-component="dock-prompt"][data-kind="permission"] { animation: permission-slide-in 0.3s ease-out; + margin: 12px; border: 1px solid color-mix(in srgb, var(--vscode-editorWarning-foreground, #cca700) 40%, var(--vscode-panel-border, transparent)); - border-radius: 8px; + border-radius: 0.25rem; overflow: clip; [data-dock-surface="shell"] { @@ -1183,11 +1184,6 @@ margin-top: 0; } - [data-slot="permission-body"] { - padding: 10px 12px 0; - gap: 8px; - } - [data-slot="permission-header-title"] { font-size: 13px; display: flex; diff --git a/packages/opencode/src/server/routes/permission.ts b/packages/opencode/src/server/routes/permission.ts index 196b52bddc8..6168b5288af 100644 --- a/packages/opencode/src/server/routes/permission.ts +++ b/packages/opencode/src/server/routes/permission.ts @@ -54,8 +54,7 @@ export const PermissionRoutes = lazy(() => "/:requestID/pattern-rules", describeRoute({ summary: "Save per-pattern permission rules", - description: - "Save approved/denied patterns for a pending permission request.", + description: "Save approved/denied patterns for a pending permission request.", operationId: "permission.savePatternRules", responses: { 200: {