createSyntheticAssistantMessage function
Create a synthetic Message for remote permission requests.
The tool-use confirmation UI requires an assistant Message, but in remote mode we don't have a real one -- the tool use runs on the CCR container. This builds a minimal stand-in with the correct tool-use content block.
Implementation
Message createSyntheticAssistantMessage({
required Map<String, dynamic> request,
required String requestId,
}) {
final toolUseId = request['tool_use_id'] as String? ?? '';
final toolName = request['tool_name'] as String? ?? '';
final input = request['input'] as Map<String, dynamic>? ?? {};
return Message(
id: 'remote-$requestId',
role: MessageRole.assistant,
content: [
ToolUseBlock(
id: toolUseId,
name: toolName,
input: input,
),
],
);
}