summaryrefslogtreecommitdiff
path: root/pi/agent/extensions/ask-mode/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'pi/agent/extensions/ask-mode/utils.ts')
-rw-r--r--pi/agent/extensions/ask-mode/utils.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/pi/agent/extensions/ask-mode/utils.ts b/pi/agent/extensions/ask-mode/utils.ts
index 353c70a..b3c9ce1 100644
--- a/pi/agent/extensions/ask-mode/utils.ts
+++ b/pi/agent/extensions/ask-mode/utils.ts
@@ -1,3 +1,5 @@
+import { matchDoInvocation } from "../agent-plan-mode/utils.js";
+
const DESTRUCTIVE_PATTERNS = [
/\brm\b/i,
/\brmdir\b/i,
@@ -106,7 +108,7 @@ const MUTATING_DO_PATTERNS = [
function isReadOnlyDoCommand(command: string): boolean {
const trimmed = command.trim();
- if (!trimmed.startsWith("do ") && trimmed !== "do") return false;
+ if (!matchDoInvocation(trimmed)) return false;
if (/[;&]/.test(trimmed) || /(^|[^|])\|([^|]|$)/.test(trimmed)) return false;
return !MUTATING_DO_PATTERNS.some((pattern) => pattern.test(trimmed));
}