You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Both classes expose the same provider interface and the same protected hooks for subclassing. See [cdk/BaseClasses.md](cdk/BaseClasses.html#browserbAseprovider) for details and [guides/BrowserUsage.md](guides/BrowserUsage.html) for browser setup.
201
+
202
+
### Audio Namespace
203
+
204
+
ElevenLabs (`elevenlabs.tts.v1`), Azure Speech (`azure.tts.v1`), and AssemblyAI (`assemblyai.stt.v1`) are accessible through the MeshClient audio namespace, which follows the OpenAI SDK audio pattern:
205
+
206
+
```python
207
+
# Text-to-speech
208
+
audio_response = client.audio.speech.create(
209
+
model="text-to-speech",
210
+
input="Hello, world!",
211
+
voice="alloy",
212
+
)
213
+
214
+
# Speech-to-text
215
+
transcript = client.audio.transcriptions.create(
216
+
model="speech-to-text",
217
+
file=audio_file,
218
+
)
219
+
```
220
+
221
+
Audio requests are internally bridged to `CompletionRequest`/`CompletionResponse` via the `AudioRequest` and `AudioResponse` types (see [ConnectorInterfaces.md -- Audio](ConnectorInterfaces.html#audio)). The same rotation, failover, and pool logic applies to audio providers.
| **`secret-store.google.secret-manager.v1`** | Google Cloud managed secrets with IAM and audit logging | 6 active versions free; 10K access ops/month free | [cloud.google.com/secret-manager](https://cloud.google.com/secret-manager) |
220
252
| **`secret-store.microsoft.key-vault.v1`** | Microsoft cloud secret, key, and certificate management | 10K operations/month free (Standard tier) | [azure.microsoft.com/en-us/products/key-vault](https://azure.microsoft.com/en-us/products/key-vault) |
221
253
| **`secret-store.1password.connect.v1`** | Secrets Automation API for CI/CD and server-side use | No free API tier; requires Business or Enterprise plan | [developer.1password.com](https://developer.1password.com) |
222
-
| **`secret-store.modelmesh.json-secrets.v1`** | Reads secrets from a local JSON file. Keys are top-level object keys; values are strings. | Built-in | - |
254
+
| **`secret-store.modelmesh.json-secrets.v1`** | Reads secrets from a local JSON file. Keys are top-level object keys; values are strings. Supports dot-notation for nested keys. | Built-in | - |
255
+
| **`secret-store.modelmesh.memory-secrets.v1`** | Holds secrets in an in-memory dictionary. Ideal for testing, scripting, and user-provided keys. Supports runtime add/remove via SecretManagement interface. | Built-in | - |
256
+
| **`secret-store.modelmesh.encrypted-file.v1`** | AES-256-GCM encrypted JSON file. Secrets are decrypted at initialization using a passphrase (PBKDF2) or raw key. Supports save/load round-trips. | Built-in | - |
223
257
| **`secret-store.modelmesh.keyring.v1`** | Resolves secrets from the OS keyring (macOS Keychain, Windows Credential Locker, Linux Secret Service). | Built-in | - |
|`discovery.health.failure_threshold`| integer | Consecutive failures before deactivation. |
228
228
|`discovery.health.providers`| list | Providers to probe. Default: all enabled providers. |
229
+
230
+
---
231
+
232
+
## Audio
233
+
234
+
Audio capabilities (text-to-speech, speech-to-text) are integrated into the provider interface through dedicated request and response types that bridge into the existing `CompletionRequest`/`CompletionResponse` pipeline. This allows audio providers (ElevenLabs TTS, AssemblyAI STT) to participate in the same rotation, failover, and pool routing as text-generation providers.
235
+
236
+
### AudioRequest and AudioResponse Types
237
+
238
+
| Type | Purpose | Key fields |
239
+
| --- | --- | --- |
240
+
|**AudioRequest**| Wraps a TTS or STT request for routing through the provider pipeline. |`input` (text for TTS, audio buffer for STT), `voice`, `format`, `model`, `language`|
241
+
|**AudioResponse**| Wraps audio provider output. |`audio` (binary data or stream for TTS), `text` (transcript for STT), `duration`, `usage`|
242
+
243
+
Audio connectors bridge these types into `CompletionRequest`/`CompletionResponse` internally. The provider's `complete()` method receives a `CompletionRequest` whose `extra` field carries the audio-specific parameters; the response's `extra` field carries audio-specific output. This preserves the uniform provider interface while supporting audio-specific data.
244
+
245
+
### MeshClient Audio Namespace
246
+
247
+
The `MeshClient` exposes audio through an OpenAI SDK-compatible namespace:
248
+
249
+
| Method | Capability | Description |
250
+
| --- | --- | --- |
251
+
|`client.audio.speech.create()`|`generation.audio.text-to-speech`| Generate speech from text. Routes to TTS providers (ElevenLabs, OpenAI, Google Cloud). |
252
+
|`client.audio.transcriptions.create()`|`understanding.audio.speech-to-text`| Transcribe audio to text. Routes to STT providers (AssemblyAI, OpenAI Whisper, Groq). |
253
+
254
+
Audio requests follow the same routing pipeline as text requests: capability resolution, pool selection, rotation policy, retry, and failover. Pools targeting `generation.audio` or `understanding.audio` collect all audio-capable models automatically.
Copy file name to clipboardExpand all lines: docs/CoverageMatrix.md
+59-3Lines changed: 59 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ title: "Test Coverage Matrix"
5
5
6
6
# Test Coverage Matrix
7
7
8
-
Correlates documented features with test coverage. Generated from the 356-test suite across 12 test files.
8
+
Correlates documented features with test coverage. The project includes 640 Python tests across 14 test files and 168 TypeScript tests across 10 test files, for a total of 808 tests.
9
9
10
10
---
11
11
@@ -24,7 +24,23 @@ Correlates documented features with test coverage. Generated from the 356-test s
0 commit comments