| 306 | #[derive(Debug, Deserialize)] |
| 307 | #[allow(dead_code)] |
| 308 | struct AfterAgentThoughtInput { |
| 309 | // Common fields |
| 310 | #[serde(default)] |
| 311 | conversation_id: Option<String>, |
| 312 | #[serde(default)] |
| 313 | generation_id: Option<String>, |
| 314 | #[serde(default)] |
| 315 | model: Option<String>, |
| 316 | #[serde(default)] |
| 317 | hook_event_name: Option<String>, |
| 318 | #[serde(default)] |
| 319 | cursor_version: Option<String>, |
| 320 | #[serde(default)] |
| 321 | workspace_roots: Option<Vec<String>>, |
| 322 | #[serde(default)] |
| 323 | user_email: Option<String>, |
| 324 | #[serde(default)] |
| 325 | transcript_path: Option<String>, |
| 326 | |
| 327 | // Thought-specific fields |
| 328 | /// The thinking/reasoning text. |
| 329 | #[serde(default)] |
| 330 | text: Option<String>, |
| 331 | |
| 332 | /// Duration of the thinking block in milliseconds. |
| 333 | #[serde(default)] |
| 334 | duration_ms: Option<u64>, |
| 335 | } |
| 336 | |
| 337 | // ───────────────────────────────────────────────────────────────────────────── |
| 338 | // Cursor hook event names in hooks.json |
nothing calls this directly
no outgoing calls
no test coverage detected