diff --git a/Cargo.lock b/Cargo.lock index 6bceb4b..b5344c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -142,25 +142,25 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "az-agent" -version = "0.1.56" +version = "0.1.57" dependencies = [ "az-core", ] [[package]] name = "az-agent-proxy" -version = "0.1.56" +version = "0.1.57" dependencies = [ "az-core", ] [[package]] name = "az-core" -version = "0.1.56" +version = "0.1.57" [[package]] name = "az-gui" -version = "0.1.56" +version = "0.1.57" dependencies = [ "agent-abstraction", "az-core", @@ -183,7 +183,7 @@ dependencies = [ [[package]] name = "az-mcp-proxy" -version = "0.1.56" +version = "0.1.57" dependencies = [ "az-core", ] @@ -5551,7 +5551,7 @@ dependencies = [ [[package]] name = "wt-migrate" -version = "0.1.56" +version = "0.1.57" dependencies = [ "derive_more 2.1.1", "eyre", @@ -5565,7 +5565,7 @@ dependencies = [ [[package]] name = "wt-tools" -version = "0.1.56" +version = "0.1.57" dependencies = [ "derive_more 2.1.1", "dirs", diff --git a/Cargo.toml b/Cargo.toml index d2b7724..2e25aa4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ members = [ ] [workspace.package] -version = "0.1.56" +version = "0.1.57" edition = "2024" publish = false diff --git a/apps/gui/frontend/src/features/project/ApprovalCard.tsx b/apps/gui/frontend/src/features/project/ApprovalCard.tsx index 7e2f42b..4774234 100644 --- a/apps/gui/frontend/src/features/project/ApprovalCard.tsx +++ b/apps/gui/frontend/src/features/project/ApprovalCard.tsx @@ -17,6 +17,7 @@ import type { PendingApproval } from "~/types"; */ export function ApprovalCard(props: { projectId: string; approval: PendingApproval }): JSX.Element { const { actions } = useWorkspace(); + const isPermissionGrant = () => props.approval.tool.toLowerCase() === "permissions"; const answer = (allow: boolean, remember = false): void => { void actions @@ -32,6 +33,16 @@ export function ApprovalCard(props: { projectId: string; approval: PendingApprov for (const key of ["command", "file_path", "path", "url"]) { if (typeof record[key] === "string") return record[key] as string; } + const permissions = record.permissions; + if (permissions && typeof permissions === "object") { + const fileSystem = (permissions as Record).fileSystem; + if (fileSystem && typeof fileSystem === "object") { + const write = (fileSystem as Record).write; + if (Array.isArray(write) && write.every((path) => typeof path === "string")) { + return write.join(", "); + } + } + } } return null; }; @@ -73,7 +84,7 @@ export function ApprovalCard(props: { projectId: string; approval: PendingApprov onClick={() => answer(true)} class="rounded-lg bg-primary px-[13px] py-[5px] font-semibold text-[12px] text-primary-content transition-colors hover:bg-az-primary-hover" > - Allow once + {isPermissionGrant() ? "Allow for session" : "Allow once"}