serde_yml -> yaml_serde

Alexis Dumas created

Change summary

Cargo.lock                         | 40 +++++++++++++------------------
Cargo.toml                         |  2 
crates/agent/Cargo.toml            |  2 
crates/agent/src/skills.rs         |  2 
crates/agent/src/thread.rs         |  4 +-
crates/agent_ui/src/agent_panel.rs |  7 +----
6 files changed, 24 insertions(+), 33 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -192,7 +192,6 @@ dependencies = [
  "schemars",
  "serde",
  "serde_json",
- "serde_yml",
  "settings",
  "shell_command_parser",
  "smallvec",
@@ -213,6 +212,7 @@ dependencies = [
  "uuid",
  "watch",
  "web_search",
+ "yaml_serde",
  "zed_env_vars",
  "zlog",
  "zstd",
@@ -9696,14 +9696,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "libyml"
-version = "0.0.5"
+name = "libyaml-rs"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3302702afa434ffa30847a83305f0a69d6abd74293b6554c18ec85c7ef30c980"
-dependencies = [
- "anyhow",
- "version_check",
-]
+checksum = "2e126dda6f34391ab7b444f9922055facc83c07a910da3eb16f1e4d9c45dc777"
 
 [[package]]
 name = "libz-sys"
@@ -15602,21 +15598,6 @@ dependencies = [
  "unsafe-libyaml",
 ]
 
-[[package]]
-name = "serde_yml"
-version = "0.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59e2dd588bf1597a252c3b920e0143eb99b0f76e4e082f4c92ce34fbc9e71ddd"
-dependencies = [
- "indexmap",
- "itoa",
- "libyml",
- "memchr",
- "ryu",
- "serde",
- "version_check",
-]
-
 [[package]]
 name = "serial2"
 version = "0.2.33"
@@ -21764,6 +21745,19 @@ dependencies = [
  "hashlink 0.8.4",
 ]
 
+[[package]]
+name = "yaml_serde"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08c7c1b1a6a7c8a6b2741a6c21a4f8918e51899b111cfa08d1288202656e3975"
+dependencies = [
+ "indexmap",
+ "itoa",
+ "libyaml-rs",
+ "ryu",
+ "serde",
+]
+
 [[package]]
 name = "yansi"
 version = "1.0.1"

Cargo.toml 🔗

@@ -697,7 +697,7 @@ serde_json_lenient = { version = "0.2", features = [
 ] }
 serde_path_to_error = "0.1.17"
 serde_urlencoded = "0.7"
-serde_yml = "0.0.12"
+yaml_serde = "0.10"
 sha2 = "0.10"
 shellexpand = "2.1.0"
 shlex = "1.3.0"

crates/agent/Cargo.toml 🔗

@@ -57,7 +57,7 @@ rust-embed.workspace = true
 schemars.workspace = true
 serde.workspace = true
 serde_json.workspace = true
-serde_yml.workspace = true
+yaml_serde.workspace = true
 settings.workspace = true
 shell_command_parser.workspace = true
 smallvec.workspace = true

crates/agent/src/skills.rs 🔗

@@ -121,7 +121,7 @@ fn parse_skill_file(content: &str, expected_dir_name: &str) -> Result<(SkillMeta
         None => return Err(anyhow!("YAML frontmatter not properly closed with ---")),
     };
 
-    let metadata: SkillMetadata = serde_yml::from_str(&yaml_part)
+    let metadata: SkillMetadata = yaml_serde::from_str(&yaml_part)
         .map_err(|e| anyhow!("failed to parse YAML frontmatter: {}", e))?;
 
     metadata.validate(expected_dir_name)?;

crates/agent/src/thread.rs 🔗

@@ -3,8 +3,8 @@ use crate::{
     DeletePathTool, DiagnosticsTool, EditFileTool, FetchTool, FindPathTool, GrepTool,
     ListDirectoryTool, MovePathTool, NowTool, OpenTool, ProjectSnapshot, ReadFileTool,
     RestoreFileFromDiskTool, SaveFileTool, SkillsContext, SpawnAgentTool, StreamingEditFileTool,
-    SystemPromptTemplate, Template, Templates, TerminalTool, ToolPermissionDecision, WebSearchTool,
-    decide_permission_from_settings,
+    SystemPromptTemplate, Template, Templates, TerminalTool, ToolPermissionDecision,
+    UpdatePlanTool, WebSearchTool, decide_permission_from_settings,
 };
 use acp_thread::{MentionUri, UserMessageId};
 use action_log::ActionLog;

crates/agent_ui/src/agent_panel.rs 🔗

@@ -25,8 +25,9 @@ use zed_actions::agent::{
     ResolveConflictsWithAgent, ReviewBranchDiff,
 };
 
+use crate::DEFAULT_THREAD_TITLE;
 use crate::thread_metadata_store::ThreadMetadataStore;
-use crate::ui::{AcpOnboardingModal, ClaudeCodeOnboardingModal, HoldForDefault};
+use crate::ui::{AcpOnboardingModal, HoldForDefault};
 use crate::{
     AddContextServer, AgentDiffPane, ConversationView, CopyThreadToClipboard, CycleStartThreadIn,
     Follow, InlineAssistant, LoadThreadFromClipboard, NewThread, OpenActiveThreadAsMarkdown,
@@ -40,10 +41,6 @@ use crate::{
     Agent, AgentInitialContent, ExternalSourcePrompt, NewExternalAgentThread,
     NewNativeAgentThreadFromSummary,
 };
-use crate::{
-    DEFAULT_THREAD_TITLE,
-    ui::{AcpOnboardingModal, HoldForDefault},
-};
 use crate::{ExpandMessageEditor, ThreadHistoryView};
 use crate::{ManageProfiles, ThreadHistoryViewEvent};
 use crate::{ThreadHistory, agent_connection_store::AgentConnectionStore};