fix: 2 more unused-local-variable — windowMessage.ts, messages.ts

- windowMessage.ts: remove dead CLIPBOARD_THRESHOLD constant and unused pasteViaClipboard()
- messages.ts: remove unused id variable and dead isToolResultMessage()
This commit is contained in:
James Feng 2026-06-08 17:20:16 +08:00
parent 76c47956dd
commit d20b58fc05
2 changed files with 1 additions and 56 deletions

View File

@ -12,9 +12,6 @@
import { validateHwnd, runPs, VK_MAP, MODIFIER_KEYS } from './shared.js'
/** Character count above which we switch to clipboard paste */
const CLIPBOARD_THRESHOLD = 32
/** Cache findEditChild results — window structure doesn't change while bound */
const editChildCache = new Map<string, string | null>()
@ -276,47 +273,7 @@ function buildWmCharLines(hwnd: string, text: string): string[] {
}
/**
* Paste text via clipboard into the target window.
* Uses Clipboard.SetText() + SendMessageW(Ctrl+V).
* NO global APIs (SendInput/keybd_event/SendKeys) only window-targeted messages.
*/
function pasteViaClipboard(hwnd: string, text: string): boolean {
// Escape single quotes for PowerShell string literal
const escaped = text.replace(/'/g, "''")
const hwndExpr = `[IntPtr]::new([long]${hwnd})`
const script = `${WINMSG_TYPE}
Add-Type -AssemblyName System.Windows.Forms
# Save current clipboard
$saved = $null
try { $saved = [System.Windows.Forms.Clipboard]::GetText() } catch {}
# Set our text
[System.Windows.Forms.Clipboard]::SetText('${escaped}')
# Ctrl+V via PostMessage to the target window (NOT global keybd_event)
# Must use PostMessage + correct lParam (scan code) for Windows Terminal / ConPTY
[WinMsg]::PostMessage(${hwndExpr}, [WinMsg]::WM_KEYDOWN, [IntPtr]0x11, [WinMsg]::KeyDownLParam(0x11)) # Ctrl down
[WinMsg]::PostMessage(${hwndExpr}, [WinMsg]::WM_KEYDOWN, [IntPtr]0x56, [WinMsg]::KeyDownLParam(0x56)) # V down
[WinMsg]::PostMessage(${hwndExpr}, [WinMsg]::WM_KEYUP, [IntPtr]0x56, [WinMsg]::KeyUpLParam(0x56)) # V up
[WinMsg]::PostMessage(${hwndExpr}, [WinMsg]::WM_KEYUP, [IntPtr]0x11, [WinMsg]::KeyUpLParam(0x11)) # Ctrl up
# Brief wait for paste to complete
Start-Sleep -Milliseconds 50
# Restore clipboard
if ($saved -ne $null -and $saved -ne '') {
try { [System.Windows.Forms.Clipboard]::SetText($saved) } catch {}
} else {
try { [System.Windows.Forms.Clipboard]::Clear() } catch {}
}
Write-Output 'OK'
`
return runPs(script) === 'OK'
}
/**
* Send text to a window via WM_CHAR per Unicode codepoint.
* Send text to a window
* Always uses the WM_CHAR path reliable across all window types including
* Windows Terminal / ConPTY where clipboard-based Ctrl+V doesn't work.
* Window-targeted, no global input APIs.

View File

@ -1431,7 +1431,6 @@ export function updateMessageLookupsIncremental(
const msg = messages[i]!
if (msg.type === 'assistant') {
const aMsg = msg as AssistantMessage
const id = aMsg.message.id!
if (Array.isArray(aMsg.message.content)) {
const newToolUseIDs: string[] = []
for (const content of aMsg.message.content) {
@ -2707,17 +2706,6 @@ export function mergeAssistantMessages(
}
}
function isToolResultMessage(msg: Message): boolean {
if (msg.type !== 'user') {
return false
}
const content = msg.message?.content
if (!content || typeof content === 'string') return false
return (content as Array<{ type: string }>).some(
block => block.type === 'tool_result',
)
}
export function mergeUserMessages(a: UserMessage, b: UserMessage): UserMessage {
const lastContent = normalizeUserTextContent(
a.message.content as string | ContentBlockParam[],