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 +4 -4
- data/CHANGELOG.md +24 -5
- data/lib/elevenlabs_client/client.rb +2 -1
- data/lib/elevenlabs_client/endpoints/agents_platform/mcp_servers.rb +0 -25
- data/lib/elevenlabs_client/endpoints/agents_platform/secrets.rb +52 -0
- data/lib/elevenlabs_client/version.rb +1 -1
- data/lib/elevenlabs_client.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ef86592d4776f802ff08ce6fa1d749204f42beb6045c1a0921c488b85a923fb4
|
|
4
|
+
data.tar.gz: 4f8a9e5aa4f15754165e088438669d381acedd0a67cc8306fe48383948175289
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
10
|
+
## [0.9.0] - 2025-12-25
|
|
11
11
|
|
|
12
12
|
### Added
|
|
13
|
-
-
|
|
14
|
-
- **
|
|
15
|
-
-
|
|
16
|
-
-
|
|
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
|
data/lib/elevenlabs_client.rb
CHANGED
|
@@ -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.
|
|
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-
|
|
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
|