Skip to main content

hookwise/ipc/
mod.rs

1pub mod pending_queue;
2pub mod socket_client;
3pub mod socket_server;
4
5use serde::{Deserialize, Serialize};
6
7use crate::decision::{Decision, DecisionMetadata};
8
9/// IPC request sent from worker hook to supervisor via Unix socket.
10#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct IpcRequest {
12    pub session_id: String,
13    pub tool_name: String,
14    pub tool_input: String,
15    pub role: String,
16    pub file_path: Option<String>,
17    pub task_description: Option<String>,
18    pub prompt_path: Option<String>,
19    pub cwd: String,
20}
21
22/// IPC response from supervisor to worker hook.
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct IpcResponse {
25    pub decision: Decision,
26    pub metadata: DecisionMetadata,
27}