feat(protocol): add DiffPreview type and wire into can_use_tool emission (#1151)
Co-authored-by: Letta <noreply@letta.com>
This commit is contained in:
@@ -73,6 +73,7 @@ import {
|
||||
validateRegistryHandleOrThrow,
|
||||
} from "./cli/startupFlagValidation";
|
||||
import { SYSTEM_REMINDER_CLOSE, SYSTEM_REMINDER_OPEN } from "./constants";
|
||||
import { computeDiffPreviews } from "./helpers/diffPreview";
|
||||
import {
|
||||
mergeQueuedTurnInput,
|
||||
type QueuedTurnInput,
|
||||
@@ -2548,6 +2549,9 @@ async function runBidirectionalMode(
|
||||
}> {
|
||||
const requestId = `perm-${toolCallId}`;
|
||||
|
||||
// Compute diff previews for file-modifying tools
|
||||
const diffs = await computeDiffPreviews(toolName, toolInput);
|
||||
|
||||
// Build can_use_tool control request (Claude SDK format)
|
||||
const canUseToolRequest: CanUseToolControlRequest = {
|
||||
subtype: "can_use_tool",
|
||||
@@ -2556,6 +2560,7 @@ async function runBidirectionalMode(
|
||||
tool_call_id: toolCallId, // Letta-specific
|
||||
permission_suggestions: [], // TODO: not implemented
|
||||
blocked_path: null, // TODO: not implemented
|
||||
...(diffs.length > 0 ? { diffs } : {}),
|
||||
};
|
||||
|
||||
const controlRequest: ControlRequest = {
|
||||
|
||||
Reference in New Issue
Block a user