Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
use agent_client_protocol::schema::Meta as SdkMeta;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
|
||||
/// Data for the `ToolCall` event.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ToolCallEventData {
|
||||
pub call_id: String,
|
||||
pub name: String,
|
||||
#[serde(default)]
|
||||
pub args: serde_json::Value,
|
||||
pub status: ToolCallStatus,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub input: Option<serde_json::Value>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub output: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub description: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct AcpToolCallEventData {
|
||||
pub session_id: String,
|
||||
pub update: AcpToolCallUpdateData,
|
||||
#[serde(rename = "_meta", skip_serializing_if = "Option::is_none")]
|
||||
pub meta: Option<SdkMeta>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct AcpToolCallUpdateData {
|
||||
#[serde(rename = "sessionUpdate")]
|
||||
pub session_update: AcpToolCallSessionUpdateKind,
|
||||
pub tool_call_id: String,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub status: Option<AcpToolCallStatus>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub title: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub kind: Option<AcpToolCallKind>,
|
||||
#[serde(rename = "rawInput", skip_serializing_if = "Option::is_none")]
|
||||
pub raw_input: Option<Value>,
|
||||
#[serde(rename = "rawOutput", skip_serializing_if = "Option::is_none")]
|
||||
pub raw_output: Option<Value>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub content: Option<Vec<AcpToolCallContentItem>>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub locations: Option<Vec<AcpToolCallLocationItem>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum AcpToolCallSessionUpdateKind {
|
||||
ToolCall,
|
||||
ToolCallUpdate,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum AcpToolCallStatus {
|
||||
Pending,
|
||||
InProgress,
|
||||
Completed,
|
||||
Failed,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum AcpToolCallKind {
|
||||
Read,
|
||||
Edit,
|
||||
Execute,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(tag = "type", rename_all = "snake_case")]
|
||||
pub enum AcpToolCallContentItem {
|
||||
Content {
|
||||
content: AcpToolCallTextBlock,
|
||||
},
|
||||
Diff {
|
||||
path: String,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
old_text: Option<String>,
|
||||
new_text: String,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct AcpToolCallTextBlock {
|
||||
#[serde(rename = "type")]
|
||||
pub block_type: AcpToolCallTextBlockType,
|
||||
pub text: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum AcpToolCallTextBlockType {
|
||||
Text,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct AcpToolCallLocationItem {
|
||||
pub path: String,
|
||||
}
|
||||
|
||||
/// Status of a tool call.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum ToolCallStatus {
|
||||
Running,
|
||||
Completed,
|
||||
Error,
|
||||
}
|
||||
|
||||
/// A single entry in a `ToolGroup` event.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ToolGroupEntry {
|
||||
pub call_id: String,
|
||||
pub name: String,
|
||||
pub status: ToolCallStatus,
|
||||
#[serde(default)]
|
||||
pub description: Option<String>,
|
||||
}
|
||||
Reference in New Issue
Block a user