Jelajahi Sumber

Show input_preview only for Bash in permission prompts

Write/Edit previews are unbearably long over iMessage. Bash is the
dangerous one where seeing the command matters; everything else gets
tool_name + description only.
Kenneth Lien 6 bulan lalu
induk
melakukan
d49d339d1e
1 mengubah file dengan 4 tambahan dan 1 penghapusan
  1. 4 1
      external_plugins/imessage/server.ts

+ 4 - 1
external_plugins/imessage/server.ts

@@ -536,10 +536,13 @@ mcp.setNotificationHandler(
   async ({ params }) => {
     const { request_id, tool_name, description, input_preview } = params
     const access = loadAccess()
+    // input_preview is unbearably long for Write/Edit; show only for Bash
+    // where the command itself is the dangerous part.
+    const preview = tool_name === 'Bash' ? `${input_preview}\n\n` : '\n'
     const text =
       `🔐 Permission request [${request_id}]\n` +
       `${tool_name}: ${description}\n` +
-      `${input_preview}\n\n` +
+      preview +
       `Reply "yes ${request_id}" to allow or "no ${request_id}" to deny.`
     // allowFrom holds handle IDs, not chat GUIDs — resolve via qChatsForHandle.
     // Include SELF addresses so the owner's self-chat gets the prompt even