steer_grpc/client_api/
types.rs1use std::collections::HashMap;
4
5pub use steer_core::app::conversation::{
6 AssistantContent, ImageContent, ImageSource, Message, MessageData, ThoughtContent, UserContent,
7};
8
9pub use steer_core::app::domain::types::{
10 CompactionRecord, MessageId, OpId, RequestId, ToolCallId,
11};
12pub use steer_core::config::model::ModelId;
13
14#[derive(Debug, Clone, PartialEq, Eq)]
15pub enum QueuedWorkKind {
16 UserMessage,
17 DirectBash,
18 Unknown,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq)]
22pub struct QueuedWorkItem {
23 pub kind: QueuedWorkKind,
24 pub content: String,
25 pub model: Option<ModelId>,
26 pub queued_at: u64,
27 pub op_id: OpId,
28 pub message_id: MessageId,
29 pub attachment_count: u32,
30}
31
32pub use steer_core::app::domain::delta::ToolCallDelta;
33pub use steer_core::app::domain::event::CompactResult;
34
35pub use steer_core::agents::default_agent_spec_id;
36pub use steer_core::primary_agents::default_primary_agent_id;
37
38pub use steer_core::config::model::builtin;
39
40pub use steer_core::config::provider;
41
42pub use steer_tools::result::{
43 BashResult, EditResult, ExternalResult, FileContentResult, FileListResult, GlobResult,
44 GrepResult, ReplaceResult, SearchMatch, SearchResult, TodoListResult, ToolResult,
45};
46pub use steer_tools::{ToolCall, ToolError};
47
48pub use steer_core::session::state::{
49 SessionConfig, SessionPolicyOverrides, SessionToolConfig, WorkspaceConfig,
50};
51
52pub use steer_core::session::McpServerInfo;
53pub use steer_core::session::state::McpConnectionState;
54
55pub use steer_core::app::domain::action::McpServerState;
56
57pub use steer_core::tools::McpTransport;
58
59pub use steer_core::preferences::{EditingMode, NotificationTransport, Preferences};
60
61pub use steer_core::config::provider::ProviderId;
62
63pub use steer_workspace::{LlmStatus, WorkspaceStatus};
64
65#[derive(Debug, Clone)]
66pub struct CreateSessionParams {
67 pub workspace: WorkspaceConfig,
68 pub tool_config: SessionToolConfig,
69 pub metadata: HashMap<String, String>,
70 pub default_model: ModelId,
71 pub primary_agent_id: Option<String>,
72 pub policy_overrides: SessionPolicyOverrides,
73}
74
75impl From<SessionConfig> for CreateSessionParams {
76 fn from(config: SessionConfig) -> Self {
77 Self {
78 workspace: config.workspace,
79 tool_config: config.tool_config,
80 metadata: config.metadata,
81 default_model: config.default_model,
82 primary_agent_id: config.primary_agent_id,
83 policy_overrides: config.policy_overrides,
84 }
85 }
86}