(sensor: SensorData)
| 90 | }; |
| 91 | |
| 92 | const renderSensorHTML = (sensor: SensorData): string => { |
| 93 | const content = formatSensorContent(sensor, options.includeImages); |
| 94 | const timestamp = formatTimestamp(sensor.timestamp); |
| 95 | |
| 96 | let sensorIcon = ''; |
| 97 | switch (sensor.type) { |
| 98 | case 'screenshot': sensorIcon = '📷'; break; |
| 99 | case 'camera': sensorIcon = '🎥'; break; |
| 100 | case 'ocr': sensorIcon = '📄'; break; |
| 101 | case 'audio': sensorIcon = '🎵'; break; |
| 102 | case 'clipboard': sensorIcon = '📋'; break; |
| 103 | case 'memory': sensorIcon = '🧠'; break; |
| 104 | default: sensorIcon = '📊'; |
| 105 | } |
| 106 | |
| 107 | return ` |
| 108 | <div class="sensor-item"> |
| 109 | <div class="sensor-header"> |
| 110 | <span class="sensor-icon">${sensorIcon}</span> |
| 111 | <strong>${sensor.type}</strong> |
| 112 | <span class="timestamp">${timestamp}</span> |
| 113 | </div> |
| 114 | <div class="sensor-content">${content}</div> |
| 115 | </div> |
| 116 | `; |
| 117 | }; |
| 118 | |
| 119 | const renderToolHTML = (tool: ToolCall): string => { |
| 120 | const timestamp = formatTimestamp(tool.timestamp); |
nothing calls this directly
no test coverage detected