From 9b0602eba40341b4684e8397078b86e3c5fd5f5e Mon Sep 17 00:00:00 2001 From: webbrain-one <295484252+webbrain-one@users.noreply.github.com> Date: Sun, 9 Aug 2026 02:53:27 +0300 Subject: [PATCH] Fix broken edit permissions for specific paths Update hashline routing logic to correctly evaluate edit permissions when a wildcard deny is combined with a specific allow rule. Fixes #6. --- .opencode/plugins_disabled/hashline-routing.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.opencode/plugins_disabled/hashline-routing.ts b/.opencode/plugins_disabled/hashline-routing.ts index 00b2a11..04b5df4 100644 --- a/.opencode/plugins_disabled/hashline-routing.ts +++ b/.opencode/plugins_disabled/hashline-routing.ts @@ -30,6 +30,7 @@ function normalizeArgs(toolName: string, args: Record): Record< if (toolName === "edit") { if (typeof out.file_path === "string" && typeof out.filePath !== "string") out.filePath = out.file_path + if (typeof out.path === "string" && typeof out.filePath !== "string") out.filePath = out.path if (typeof out.start_ref === "string" && typeof out.startRef !== "string") out.startRef = out.start_ref if (typeof out.end_ref === "string" && typeof out.endRef !== "string") out.endRef = out.end_ref if (typeof out.safe_reapply === "boolean" && typeof out.safeReapply !== "boolean") out.safeReapply = out.safe_reapply @@ -41,6 +42,7 @@ function normalizeArgs(toolName: string, args: Record): Record< if (toolName === "patch") { if (typeof out.patch_text === "string" && typeof out.patchText !== "string") out.patchText = out.patch_text if (typeof out.file_path === "string" && typeof out.filePath !== "string") out.filePath = out.file_path + if (typeof out.path === "string" && typeof out.filePath !== "string") out.filePath = out.path if (typeof out.expected_file_hash === "string" && typeof out.expectedFileHash !== "string") out.expectedFileHash = out.expected_file_hash if (typeof out.file_rev === "string" && typeof out.fileRev !== "string") out.fileRev = out.file_rev if (typeof out.dry_run === "boolean" && typeof out.dryRun !== "boolean") out.dryRun = out.dry_run @@ -48,6 +50,7 @@ function normalizeArgs(toolName: string, args: Record): Record< if (toolName === "write") { if (typeof out.file_path === "string" && typeof out.filePath !== "string") out.filePath = out.file_path + if (typeof out.path === "string" && typeof out.filePath !== "string") out.filePath = out.path if (typeof out.expected_file_hash === "string" && typeof out.expectedFileHash !== "string") out.expectedFileHash = out.expected_file_hash if (typeof out.file_rev === "string" && typeof out.fileRev !== "string") out.fileRev = out.file_rev if (typeof out.dry_run === "boolean" && typeof out.dryRun !== "boolean") out.dryRun = out.dry_run