elevenlabs_client 0.8.2 โ†’ 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8db5d7267ffc3c94e8703fb9ffc04e2c6a29e4abc2943d455fb8c5a8f50ab93
4
- data.tar.gz: 2cf38e4c70f9b9d42ec46d9b27db98379d20ab11404a6f5db013aeaea0c2397f
3
+ metadata.gz: ef86592d4776f802ff08ce6fa1d749204f42beb6045c1a0921c488b85a923fb4
4
+ data.tar.gz: 4f8a9e5aa4f15754165e088438669d381acedd0a67cc8306fe48383948175289
5
5
  SHA512:
6
- metadata.gz: 2d2c206b5dce27f6d56f09db90e507c7ec51ac3e18ad55cb5acbf66dddb6183b48d95c9cd81505a9d1bbeb82bbf81aee3ef1e07e832bb68c0e4ac07978422df4
7
- data.tar.gz: e367487c2730bfe2de318e0f1ed7590d8facda4a886bf697d9b5f8ef1edf709c27e9daa63ec8d09af9318e92752661a61a41568e2909d0fadb70363766d537ae
6
+ metadata.gz: 0b5e7ed0a5ec39b3aa9fd06a061a7a6d09f0306d57f59f774a992ae220bce8e689ee31035ef62b6eff53c1bc3b7e4aa894115d93fdd1fc838ce6edcbd7b9554b
7
+ data.tar.gz: 330d3d43b159392b6f4cef475229be2bb69cd8e717d9f1f2aa0fc89db5f949b81411bf4ad6b391371b4934ab4dd34099f84a42d0f6bd067a489decce9faac96e
data/CHANGELOG.md CHANGED
@@ -7,13 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [0.8.2] - 2024-12-23
10
+ ## [0.9.0] - 2025-12-25
11
11
 
12
12
  ### Added
13
- - **๐Ÿค– Agents Platform: MCP Servers** - Tool configuration overrides
14
- - **MCP Server Tool Configs** (`client.mcp_servers.*`)
15
- - Create tool config override: `client.mcp_servers.create_tool_config(mcp_server_id, tool_name:, **options)`
16
- - Supports optional parameters: `force_pre_tool_speech`, `disable_interruptions`, `tool_call_sound`, `tool_call_sound_behavior`, `execution_mode`, `assignments`
13
+ - **๐Ÿ” Agents Platform: Secrets Management** - Complete secrets management for ElevenLabs agents
14
+ - **Secrets API** (`client.secrets.*`)
15
+ - List secrets: `client.secrets.list` - Retrieve all secrets from ElevenLabs workspace
16
+ - Create secret: `client.secrets.create(name:, value:, type: "new")` - Create new secrets with optional type
17
+ - Delete secret: `client.secrets.delete(secret_id)` - Remove secrets by ID
18
+ - Comprehensive error handling for authentication, validation, and not found scenarios
19
+ - Support for different secret types (new, update)
20
+ - Full test coverage with 18 test examples covering all CRUD operations, error handling, and edge cases
21
+
22
+ ### Enhanced
23
+ - **๐Ÿ”ง Backend Integration** - Updated secrets controller to use ElevenLabs client library
24
+ - Replaced direct `Net::HTTP` calls with `ElevenlabsClient` library
25
+ - Improved error handling and consistency with other endpoints
26
+ - Better maintainability and reduced code duplication
27
+ - Seamless integration with existing authentication and API key management
28
+
29
+ ### Technical Improvements
30
+ - **๐Ÿงช Test Coverage** - Comprehensive testing for secrets endpoint
31
+ - Added 18 new endpoint tests covering list, create, and delete operations
32
+ - Error handling tests for NotFoundError, BadRequestError, UnprocessableEntityError, AuthenticationError, and ForbiddenError
33
+ - Parameter handling tests for special characters, long values, and different ID formats
34
+ - Workflow scenario tests for full CRUD operations
35
+ - All tests passing with 0 failures
17
36
 
18
37
  ## [0.8.1] - 2025-12-03
19
38
 
@@ -79,6 +79,7 @@ module ElevenlabsClient
79
79
  @workspace = Endpoints::AgentsPlatform::Workspace.new(self)
80
80
  @llm_usage = Endpoints::AgentsPlatform::LlmUsage.new(self)
81
81
  @mcp_servers = Endpoints::AgentsPlatform::McpServers.new(self)
82
+ @secrets = Endpoints::AgentsPlatform::Secrets.new(self)
82
83
  end
83
84
 
84
85
  public
@@ -93,7 +94,7 @@ module ElevenlabsClient
93
94
  :workspace_webhooks, :service_account_api_keys,
94
95
  :agents, :conversations, :tools, :knowledge_base, :tests, :test_invocations,
95
96
  :phone_numbers, :widgets, :outbound_calling, :batch_calling, :workspace,
96
- :llm_usage, :mcp_servers
97
+ :llm_usage, :mcp_servers, :secrets
97
98
 
98
99
  # Delegate HTTP methods to http_client for backward compatibility
99
100
  def get(path, params = {})
@@ -115,31 +115,6 @@ module ElevenlabsClient
115
115
  @client.delete("/v1/convai/mcp-servers/#{mcp_server_id}/tool-approvals/#{tool_name}")
116
116
  end
117
117
 
118
- # POST /v1/convai/mcp-servers/:mcp_server_id/tool-configs
119
- # Create configuration overrides for a specific MCP tool
120
- # Documentation: https://elevenlabs.io/docs/api-reference/convai/mcp-servers/tool-configuration/create
121
- #
122
- # @param mcp_server_id [String] ID of the MCP Server (required)
123
- # @param tool_name [String] The name of the MCP tool (required)
124
- # @param options [Hash] Optional configuration overrides
125
- # @option options [Boolean] :force_pre_tool_speech Override force_pre_tool_speech setting
126
- # @option options [Boolean] :disable_interruptions Override disable_interruptions setting
127
- # @option options [String] :tool_call_sound Override tool_call_sound setting
128
- # @option options [String] :tool_call_sound_behavior Override tool_call_sound_behavior setting
129
- # @option options [String] :execution_mode Override execution_mode setting
130
- # @option options [Array] :assignments Dynamic variable assignments
131
- # @return [Hash] JSON response containing updated MCP server details
132
- def create_tool_config(mcp_server_id, tool_name:, **options)
133
- validate_required!(:mcp_server_id, mcp_server_id)
134
- validate_required!(:tool_name, tool_name)
135
-
136
- body = {
137
- tool_name: tool_name
138
- }.merge(options.compact)
139
-
140
- @client.post("/v1/convai/mcp-servers/#{mcp_server_id}/tool-configs", body)
141
- end
142
-
143
118
  # Convenience method aliases
144
119
  alias_method :servers, :list
145
120
  alias_method :get_server, :get
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElevenlabsClient
4
+ module Endpoints
5
+ module AgentsPlatform
6
+ class Secrets
7
+ def initialize(client)
8
+ @client = client
9
+ end
10
+
11
+ # GET /v1/convai/secrets
12
+ # List all secrets from ElevenLabs
13
+ # Documentation: https://elevenlabs.io/docs/api-reference/convai/secrets/list
14
+ #
15
+ # @return [Hash] List of secrets with their metadata
16
+ def list
17
+ endpoint = "/v1/convai/secrets"
18
+ @client.get(endpoint)
19
+ end
20
+
21
+ # POST /v1/convai/secrets
22
+ # Create a new secret in ElevenLabs
23
+ # Documentation: https://elevenlabs.io/docs/api-reference/convai/secrets/create
24
+ #
25
+ # @param name [String] Name of the secret
26
+ # @param value [String] Value of the secret
27
+ # @param type [String] Type of secret (default: "new")
28
+ # @return [Hash] Created secret with ID and metadata
29
+ def create(name:, value:, type: "new")
30
+ endpoint = "/v1/convai/secrets"
31
+ request_body = {
32
+ type: type,
33
+ name: name,
34
+ value: value
35
+ }
36
+ @client.post(endpoint, request_body)
37
+ end
38
+
39
+ # DELETE /v1/convai/secrets/{secret_id}
40
+ # Delete a secret from ElevenLabs
41
+ # Documentation: https://elevenlabs.io/docs/api-reference/convai/secrets/delete
42
+ #
43
+ # @param secret_id [String] ID of the secret to delete
44
+ # @return [Hash] Empty response on success
45
+ def delete(secret_id)
46
+ endpoint = "/v1/convai/secrets/#{secret_id}"
47
+ @client.delete(endpoint)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ElevenlabsClient
4
- VERSION = "0.8.2"
4
+ VERSION = "0.9.0"
5
5
  end
@@ -31,6 +31,7 @@ require_relative "elevenlabs_client/endpoints/agents_platform/mcp_servers"
31
31
  require_relative "elevenlabs_client/endpoints/agents_platform/llm_usage"
32
32
  require_relative "elevenlabs_client/endpoints/agents_platform/phone_numbers"
33
33
  require_relative "elevenlabs_client/endpoints/agents_platform/outbound_calling"
34
+ require_relative "elevenlabs_client/endpoints/agents_platform/secrets"
34
35
  require_relative "elevenlabs_client/endpoints/agents_platform/tools"
35
36
  require_relative "elevenlabs_client/endpoints/agents_platform/tests"
36
37
  require_relative "elevenlabs_client/endpoints/agents_platform/test_invocations"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elevenlabs_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitor Oliveira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-12-23 00:00:00.000000000 Z
11
+ date: 2025-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -173,6 +173,7 @@ files:
173
173
  - lib/elevenlabs_client/endpoints/agents_platform/mcp_servers.rb
174
174
  - lib/elevenlabs_client/endpoints/agents_platform/outbound_calling.rb
175
175
  - lib/elevenlabs_client/endpoints/agents_platform/phone_numbers.rb
176
+ - lib/elevenlabs_client/endpoints/agents_platform/secrets.rb
176
177
  - lib/elevenlabs_client/endpoints/agents_platform/test_invocations.rb
177
178
  - lib/elevenlabs_client/endpoints/agents_platform/tests.rb
178
179
  - lib/elevenlabs_client/endpoints/agents_platform/tools.rb