mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-24 16:02:55 +08:00
Merge branch 'main' into kirillk/dogfood
This commit is contained in:
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ed36de43a103f21512a259403f510d3b2918d0e05e9bdf141b3507f667094d24
|
||||
size 15182
|
||||
oid sha256:766f60460f5a405cbca27100d0679d3b088ff864e59b8ac9247ba19ca66f6826
|
||||
size 15331
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:012356280751a224b15241fcfe1fe5d6cde3763540e5b6ea15b010843b13ee52
|
||||
size 16829
|
||||
oid sha256:7024b3bb96ecbe58489218a1066e81bdb7263521d2d94e50d5ad2ace770c7546
|
||||
size 16953
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:901e8ef17097c7dc40c3d970d8e0000455aacc791647ecc5d425e2ffd1eab565
|
||||
size 16347
|
||||
oid sha256:75f083122d0707dd289f0466d2646789d285d302bb86fe05a5bc7a9a0a4f3301
|
||||
size 16516
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3c3a1e0f87d27b78730155bc1fba0159b46e66df45e18bcd619e4787583d65cc
|
||||
size 19400
|
||||
oid sha256:81302ab3139c598604e009220347c9955e845f36ce739189a2dcab33c9281ab4
|
||||
size 19370
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb189525f58aa19640b4c9436073d25267a183c825acf3464bc018a42f997e0d
|
||||
size 19175
|
||||
oid sha256:82c90a5f1cb077a08bc30457d2426a6869c3acf883b64c2ba381c4307ac4de35
|
||||
size 19263
|
||||
|
||||
@@ -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<Record<number, PatternDecision>>({})
|
||||
|
||||
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<typeof language.t>[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")}
|
||||
</Button>
|
||||
@@ -153,26 +166,30 @@ export const PermissionDock: Component<{
|
||||
<span data-slot="permission-pattern-type">{props.request.toolName}</span>
|
||||
<code data-slot="permission-pattern">{pattern}</code>
|
||||
<div data-slot="permission-pattern-actions">
|
||||
<button
|
||||
data-slot="permission-pattern-toggle"
|
||||
data-variant="approve"
|
||||
data-active={decision(index()) === "approved" ? "" : undefined}
|
||||
disabled={props.responding}
|
||||
onClick={() => togglePattern(index(), "approved")}
|
||||
aria-label={language.t("ui.permission.allowAlways")}
|
||||
>
|
||||
<Icon name="check-small" size="small" />
|
||||
</button>
|
||||
<button
|
||||
data-slot="permission-pattern-toggle"
|
||||
data-variant="deny"
|
||||
data-active={decision(index()) === "denied" ? "" : undefined}
|
||||
disabled={props.responding}
|
||||
onClick={() => togglePattern(index(), "denied")}
|
||||
aria-label={language.t("ui.permission.deny")}
|
||||
>
|
||||
<Icon name="close-small" size="small" />
|
||||
</button>
|
||||
<Tooltip value={approveTooltip(index())} placement="top">
|
||||
<button
|
||||
data-slot="permission-pattern-toggle"
|
||||
data-variant="approve"
|
||||
data-active={decision(index()) === "approved" ? "" : undefined}
|
||||
disabled={props.responding}
|
||||
onClick={() => togglePattern(index(), "approved")}
|
||||
aria-label={approveTooltip(index())}
|
||||
>
|
||||
<Icon name="check-small" size="small" />
|
||||
</button>
|
||||
</Tooltip>
|
||||
<Tooltip value={denyTooltip(index())} placement="top">
|
||||
<button
|
||||
data-slot="permission-pattern-toggle"
|
||||
data-variant="deny"
|
||||
data-active={decision(index()) === "denied" ? "" : undefined}
|
||||
disabled={props.responding}
|
||||
onClick={() => togglePattern(index(), "denied")}
|
||||
aria-label={denyTooltip(index())}
|
||||
>
|
||||
<Icon name="close-small" size="small" />
|
||||
</button>
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -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": "انتقل إلى الجلسة",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "セッションへ移動",
|
||||
|
||||
@@ -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": "세션으로 이동",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "Перейти к сессии",
|
||||
|
||||
@@ -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": "ไปที่เซสชัน",
|
||||
|
||||
@@ -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": "前往会话",
|
||||
|
||||
@@ -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": "前往工作階段",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user