From 1fd8db239ace0d99d6320aba19a9a05a345a5ef6 Mon Sep 17 00:00:00 2001 From: Paul Asjes Date: Thu, 12 Nov 2026 11:50:55 +0100 Subject: [PATCH 1/5] feat: agent configs can be YAML or TOML files (1.11.0) A config file's extension now sets its format: .json, .yaml/.yml or .toml. Index files stay JSON and their config paths can point at any of the three. `agents add` and `agents pull` take --config-format for new files; existing files keep their format, a new branch file follows its agent's, and `add --from-file` follows the file it read. TOML has no null, so writing TOML drops null fields. Agents lose nothing, since push PATCHes, but a TOML config cannot clear a field. Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 14 +- cli/elevenlabs/workflow/agents.rs | 89 +++++- cli/elevenlabs/workflow/config_format.rs | 361 +++++++++++++++++++++++ cli/elevenlabs/workflow/mod.rs | 1 + cli/elevenlabs/workflow/project.rs | 54 +++- cli/elevenlabs/workflow/tests.rs | 6 +- cli/elevenlabs/workflow/tools.rs | 6 +- tests/agents_config_format_test.rs | 248 ++++++++++++++++ 10 files changed, 741 insertions(+), 42 deletions(-) create mode 100644 cli/elevenlabs/workflow/config_format.rs create mode 100644 tests/agents_config_format_test.rs diff --git a/Cargo.lock b/Cargo.lock index 502144e5..2979765a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -528,7 +528,7 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "elevenlabs-cli" -version = "1.10.0" +version = "1.11.0" dependencies = [ "anyhow", "arboard", diff --git a/Cargo.toml b/Cargo.toml index 6f5ddc19..3a1c5252 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "elevenlabs-cli" -version = "1.10.0" +version = "1.11.0" edition = "2021" description = "CLI for the ElevenLabs API" license = "MIT" diff --git a/README.md b/README.md index 2e5ec098..bde5ea0b 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,7 @@ For production, prefer setting `webhook` on `create` and handling the webhook ev ## Agents as Code -Manage Conversational AI agents from local configuration files. `elevenlabs agents init` scaffolds a project; agent configs live as JSON on disk and sync to ElevenLabs. Pulled configs are stored as raw wire JSON and pushed back verbatim, so they round-trip losslessly. +Manage Conversational AI agents from local configuration files. `elevenlabs agents init` scaffolds a project; agent configs live on disk as JSON, YAML or TOML and sync to ElevenLabs. Pulled configs keep the raw wire fields and are pushed back verbatim, so they round-trip losslessly. ### Project structure @@ -190,7 +190,7 @@ your_project/ elevenlabs agents init [path] [--override] # Create an agent from a template (or an existing file), upload it, and register it -elevenlabs agents add [--template