roomkit 0.1.1__py3-none-any.whl → 0.2.1__py3-none-any.whl
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.
- roomkit/AGENTS.md +17 -0
- roomkit/__init__.py +45 -0
- roomkit/_version.py +1 -1
- roomkit/channels/voice.py +728 -0
- roomkit/core/_channel_ops.py +7 -0
- roomkit/core/_inbound.py +4 -0
- roomkit/core/framework.py +177 -1
- roomkit/core/hooks.py +32 -6
- roomkit/llms.txt +4 -2
- roomkit/models/enums.py +12 -0
- roomkit/sources/__init__.py +4 -4
- roomkit/sources/sse.py +226 -0
- roomkit/voice/__init__.py +99 -0
- roomkit/voice/backends/__init__.py +1 -0
- roomkit/voice/backends/base.py +264 -0
- roomkit/voice/backends/fastrtc.py +467 -0
- roomkit/voice/backends/mock.py +302 -0
- roomkit/voice/base.py +115 -0
- roomkit/voice/events.py +140 -0
- roomkit/voice/stt/__init__.py +1 -0
- roomkit/voice/stt/base.py +58 -0
- roomkit/voice/stt/deepgram.py +214 -0
- roomkit/voice/stt/mock.py +40 -0
- roomkit/voice/tts/__init__.py +1 -0
- roomkit/voice/tts/base.py +58 -0
- roomkit/voice/tts/elevenlabs.py +329 -0
- roomkit/voice/tts/mock.py +51 -0
- {roomkit-0.1.1.dist-info → roomkit-0.2.1.dist-info}/METADATA +26 -6
- {roomkit-0.1.1.dist-info → roomkit-0.2.1.dist-info}/RECORD +31 -14
- {roomkit-0.1.1.dist-info → roomkit-0.2.1.dist-info}/WHEEL +1 -1
- {roomkit-0.1.1.dist-info → roomkit-0.2.1.dist-info}/licenses/LICENSE +0 -0
roomkit/AGENTS.md
CHANGED
|
@@ -44,6 +44,7 @@ src/roomkit/
|
|
|
44
44
|
│ ├── base.py # Channel ABC
|
|
45
45
|
│ ├── transport.py # TransportChannel (SMS, Email, etc.)
|
|
46
46
|
│ ├── ai.py # AIChannel (intelligence layer)
|
|
47
|
+
│ ├── voice.py # VoiceChannel (real-time audio)
|
|
47
48
|
│ └── websocket.py # WebSocketChannel
|
|
48
49
|
├── providers/
|
|
49
50
|
│ ├── ai/base.py # AIProvider ABC, AIContext, AIResponse
|
|
@@ -66,6 +67,22 @@ src/roomkit/
|
|
|
66
67
|
├── realtime/
|
|
67
68
|
│ ├── base.py # RealtimeBackend ABC, EphemeralEvent
|
|
68
69
|
│ └── memory.py # InMemoryRealtime
|
|
70
|
+
├── voice/
|
|
71
|
+
│ ├── __init__.py # Voice subsystem exports
|
|
72
|
+
│ ├── base.py # Shared types (AudioChunk, VoiceSession, callbacks)
|
|
73
|
+
│ ├── events.py # Voice-specific events
|
|
74
|
+
│ ├── stt/ # Speech-to-text providers
|
|
75
|
+
│ │ ├── base.py # STTProvider ABC
|
|
76
|
+
│ │ ├── mock.py # MockSTTProvider
|
|
77
|
+
│ │ └── deepgram.py # DeepgramSTTProvider
|
|
78
|
+
│ ├── tts/ # Text-to-speech providers
|
|
79
|
+
│ │ ├── base.py # TTSProvider ABC
|
|
80
|
+
│ │ ├── mock.py # MockTTSProvider
|
|
81
|
+
│ │ └── elevenlabs.py # ElevenLabsTTSProvider
|
|
82
|
+
│ └── backends/ # Voice transport backends
|
|
83
|
+
│ ├── base.py # VoiceBackend ABC
|
|
84
|
+
│ ├── mock.py # MockVoiceBackend, MockVoiceCall
|
|
85
|
+
│ └── fastrtc.py # FastRTCVoiceBackend (WebRTC)
|
|
69
86
|
└── identity/
|
|
70
87
|
├── base.py # IdentityResolver ABC
|
|
71
88
|
└── mock.py # MockIdentityResolver
|
roomkit/__init__.py
CHANGED
|
@@ -12,6 +12,7 @@ from roomkit.channels import (
|
|
|
12
12
|
from roomkit.channels.ai import AIChannel
|
|
13
13
|
from roomkit.channels.base import Channel
|
|
14
14
|
from roomkit.channels.transport import TransportChannel
|
|
15
|
+
from roomkit.channels.voice import VoiceChannel
|
|
15
16
|
from roomkit.channels.websocket import WebSocketChannel
|
|
16
17
|
from roomkit.core.framework import (
|
|
17
18
|
ChannelNotFoundError,
|
|
@@ -23,6 +24,8 @@ from roomkit.core.framework import (
|
|
|
23
24
|
RoomNotFoundError,
|
|
24
25
|
SourceAlreadyAttachedError,
|
|
25
26
|
SourceNotFoundError,
|
|
27
|
+
VoiceBackendNotConfiguredError,
|
|
28
|
+
VoiceNotConfiguredError,
|
|
26
29
|
)
|
|
27
30
|
from roomkit.core.hooks import HookEngine, HookRegistration
|
|
28
31
|
from roomkit.core.inbound_router import DefaultInboundRoomRouter, InboundRoomRouter
|
|
@@ -162,6 +165,26 @@ from roomkit.sources.base import (
|
|
|
162
165
|
)
|
|
163
166
|
from roomkit.store.base import ConversationStore
|
|
164
167
|
from roomkit.store.memory import InMemoryStore
|
|
168
|
+
from roomkit.voice import (
|
|
169
|
+
AudioChunk,
|
|
170
|
+
BargeInEvent,
|
|
171
|
+
PartialTranscriptionEvent,
|
|
172
|
+
SpeechEndCallback,
|
|
173
|
+
SpeechStartCallback,
|
|
174
|
+
STTProvider,
|
|
175
|
+
TranscriptionResult,
|
|
176
|
+
TTSCancelledEvent,
|
|
177
|
+
TTSProvider,
|
|
178
|
+
VADAudioLevelEvent,
|
|
179
|
+
VADSilenceEvent,
|
|
180
|
+
VoiceBackend,
|
|
181
|
+
VoiceCapability,
|
|
182
|
+
VoiceSession,
|
|
183
|
+
VoiceSessionState,
|
|
184
|
+
)
|
|
185
|
+
from roomkit.voice.backends.mock import MockVoiceBackend
|
|
186
|
+
from roomkit.voice.stt.mock import MockSTTProvider
|
|
187
|
+
from roomkit.voice.tts.mock import MockTTSProvider
|
|
165
188
|
|
|
166
189
|
# AI documentation helpers (lazy import to avoid file I/O at import time)
|
|
167
190
|
|
|
@@ -199,6 +222,8 @@ __all__ = [
|
|
|
199
222
|
"IdentityNotFoundError",
|
|
200
223
|
"SourceAlreadyAttachedError",
|
|
201
224
|
"SourceNotFoundError",
|
|
225
|
+
"VoiceBackendNotConfiguredError",
|
|
226
|
+
"VoiceNotConfiguredError",
|
|
202
227
|
"RoomLockManager",
|
|
203
228
|
"InMemoryLockManager",
|
|
204
229
|
# Sources (event-driven)
|
|
@@ -217,6 +242,7 @@ __all__ = [
|
|
|
217
242
|
"EmailChannel",
|
|
218
243
|
"RCSChannel",
|
|
219
244
|
"SMSChannel",
|
|
245
|
+
"VoiceChannel",
|
|
220
246
|
"WebSocketChannel",
|
|
221
247
|
"MessengerChannel",
|
|
222
248
|
"HTTPChannel",
|
|
@@ -365,6 +391,25 @@ __all__ = [
|
|
|
365
391
|
"EphemeralEventType",
|
|
366
392
|
"InMemoryRealtime",
|
|
367
393
|
"RealtimeBackend",
|
|
394
|
+
# Voice
|
|
395
|
+
"AudioChunk",
|
|
396
|
+
"BargeInEvent",
|
|
397
|
+
"MockSTTProvider",
|
|
398
|
+
"MockTTSProvider",
|
|
399
|
+
"MockVoiceBackend",
|
|
400
|
+
"PartialTranscriptionEvent",
|
|
401
|
+
"SpeechEndCallback",
|
|
402
|
+
"SpeechStartCallback",
|
|
403
|
+
"STTProvider",
|
|
404
|
+
"TTSCancelledEvent",
|
|
405
|
+
"TTSProvider",
|
|
406
|
+
"TranscriptionResult",
|
|
407
|
+
"VADAudioLevelEvent",
|
|
408
|
+
"VADSilenceEvent",
|
|
409
|
+
"VoiceBackend",
|
|
410
|
+
"VoiceCapability",
|
|
411
|
+
"VoiceSession",
|
|
412
|
+
"VoiceSessionState",
|
|
368
413
|
# AI Docs
|
|
369
414
|
"get_agents_md",
|
|
370
415
|
"get_ai_context",
|
roomkit/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "0.2.1"
|