dv-pipecat-ai 0.0.85.dev863__py3-none-any.whl → 0.0.85.dev865__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.
Potentially problematic release.
This version of dv-pipecat-ai might be problematic. Click here for more details.
- {dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/METADATA +1 -1
- {dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/RECORD +7 -7
- pipecat/processors/transcript_processor.py +2 -2
- pipecat/serializers/asterisk_chan_websocket_original.py +10 -37
- {dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/WHEEL +0 -0
- {dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/licenses/LICENSE +0 -0
- {dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
dv_pipecat_ai-0.0.85.
|
|
1
|
+
dv_pipecat_ai-0.0.85.dev865.dist-info/licenses/LICENSE,sha256=DWY2QGf2eMCFhuu2ChairtT6CB7BEFffNVhXWc4Od08,1301
|
|
2
2
|
pipecat/__init__.py,sha256=j0Xm6adxHhd7D06dIyyPV_GlBYLlBnTAERVvD_jAARQ,861
|
|
3
3
|
pipecat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
pipecat/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -114,7 +114,7 @@ pipecat/processors/idle_frame_processor.py,sha256=z8AuhGap61lA5K35P6XCaOpn4kkmK_
|
|
|
114
114
|
pipecat/processors/logger.py,sha256=8xa4KKekXQIETlQR7zoGnwUpLNo8CeDVm7YjyXePN-w,2385
|
|
115
115
|
pipecat/processors/producer_processor.py,sha256=iIIOHZd77APvUGP7JqFbznAHUnCULcq_qYiSEjwXHcc,3265
|
|
116
116
|
pipecat/processors/text_transformer.py,sha256=LnfWJYzntJhZhrQ1lgSSY4D4VbHtrQJgrC227M69ZYU,1718
|
|
117
|
-
pipecat/processors/transcript_processor.py,sha256=
|
|
117
|
+
pipecat/processors/transcript_processor.py,sha256=IubD2KqfMqluXz6L3X7LFh6ENq7kl24pNQDB9mTDgro,12550
|
|
118
118
|
pipecat/processors/two_stage_user_idle_processor.py,sha256=uf2aZh_lfW-eMxmFogP3R4taAJ1yXOSqjKsR7oXtD0Y,2938
|
|
119
119
|
pipecat/processors/user_idle_processor.py,sha256=Dl-Kcg0B4JZqWXXiyGuvYszGimbu2oKOyOJC92R9_hE,9140
|
|
120
120
|
pipecat/processors/aggregators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -156,7 +156,7 @@ pipecat/runner/types.py,sha256=zHjbAiU17fG0ypLXCEzPu7bpDOutAg-4gE7TESvK8n0,1761
|
|
|
156
156
|
pipecat/runner/utils.py,sha256=Ve9rjRvbt1o8e9by0nIrCJzUDGcuJUeYYhkqycmgHXc,18682
|
|
157
157
|
pipecat/serializers/__init__.py,sha256=84syrm66hb3nqxHGIjLOAT5hgMMAj9jikPjQ9urhB9g,940
|
|
158
158
|
pipecat/serializers/asterisk.py,sha256=QLJMXkU3DZ0sgFw3Vq2Zf8PHKkQQguL_v-l2Io4lZ_M,6729
|
|
159
|
-
pipecat/serializers/asterisk_chan_websocket_original.py,sha256=
|
|
159
|
+
pipecat/serializers/asterisk_chan_websocket_original.py,sha256=wZ9YQnJGzhfr_JIis-nzXn5sRkh0gY-NhUFsUUC-3-c,13666
|
|
160
160
|
pipecat/serializers/base_serializer.py,sha256=V5TIDRjvzCOtGD1qcwBDY_4mc4nbQWLn8SXkkKfFmok,2152
|
|
161
161
|
pipecat/serializers/convox.py,sha256=fj9NkFTB74B9k8qWEuICQNGUQtEV0DusaHohkOqNLa8,11145
|
|
162
162
|
pipecat/serializers/custom.py,sha256=clUEqOazGe3B2XoUFRN9zkFpMd6aIZeVRTqBRHAzavM,9071
|
|
@@ -418,7 +418,7 @@ pipecat/utils/tracing/service_decorators.py,sha256=fwzxFpi8DJl6BJbK74G0UEB4ccMJg
|
|
|
418
418
|
pipecat/utils/tracing/setup.py,sha256=7TEgPNpq6M8lww8OQvf0P9FzYc5A30xICGklVA-fua0,2892
|
|
419
419
|
pipecat/utils/tracing/turn_context_provider.py,sha256=ikon3plFOx0XbMrH6DdeHttNpb-U0gzMZIm3bWLc9eI,2485
|
|
420
420
|
pipecat/utils/tracing/turn_trace_observer.py,sha256=dma16SBJpYSOE58YDWy89QzHyQFc_9gQZszKeWixuwc,9725
|
|
421
|
-
dv_pipecat_ai-0.0.85.
|
|
422
|
-
dv_pipecat_ai-0.0.85.
|
|
423
|
-
dv_pipecat_ai-0.0.85.
|
|
424
|
-
dv_pipecat_ai-0.0.85.
|
|
421
|
+
dv_pipecat_ai-0.0.85.dev865.dist-info/METADATA,sha256=Hb2X1OfX8oaOJc7tpkfX9m349ozJxunhggPR2tP_Y18,32955
|
|
422
|
+
dv_pipecat_ai-0.0.85.dev865.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
423
|
+
dv_pipecat_ai-0.0.85.dev865.dist-info/top_level.txt,sha256=kQzG20CxGf-nSsHmtXHx3hY2-8zHA3jYg8jk0TajqXc,8
|
|
424
|
+
dv_pipecat_ai-0.0.85.dev865.dist-info/RECORD,,
|
|
@@ -10,8 +10,8 @@ This module provides processors that convert speech and text frames into structu
|
|
|
10
10
|
transcript messages with timestamps, enabling conversation history tracking and analysis.
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
|
-
from typing import List, Optional
|
|
14
13
|
import uuid
|
|
14
|
+
from typing import List, Optional
|
|
15
15
|
|
|
16
16
|
from loguru import logger
|
|
17
17
|
|
|
@@ -92,7 +92,7 @@ class UserTranscriptProcessor(BaseTranscriptProcessor):
|
|
|
92
92
|
user_id=frame.user_id,
|
|
93
93
|
content=frame.text,
|
|
94
94
|
timestamp=frame.timestamp,
|
|
95
|
-
message_id=
|
|
95
|
+
message_id=frame.id,
|
|
96
96
|
)
|
|
97
97
|
await self._emit_update([message])
|
|
98
98
|
elif isinstance(frame, TranscriptDropFrame):
|
|
@@ -62,7 +62,6 @@ class AsteriskWsFrameSerializer(FrameSerializer):
|
|
|
62
62
|
Args:
|
|
63
63
|
params: Configuration parameters.
|
|
64
64
|
"""
|
|
65
|
-
self._asterisk_command_format = None # Will be set to "json" or "plain-text" after receiving the first MEDIA_START event
|
|
66
65
|
self._input_resampler = create_stream_resampler()
|
|
67
66
|
self._media_buffering_started = False
|
|
68
67
|
self._output_resampler = create_stream_resampler()
|
|
@@ -252,27 +251,15 @@ class AsteriskWsFrameSerializer(FrameSerializer):
|
|
|
252
251
|
|
|
253
252
|
if not self._media_buffering_started:
|
|
254
253
|
self._media_buffering_started = True
|
|
255
|
-
command =
|
|
256
|
-
|
|
257
|
-
if self._asterisk_command_format == "plain-text"
|
|
258
|
-
else '{"command": "START_MEDIA_BUFFERING"}'
|
|
259
|
-
)
|
|
260
|
-
return (command, serialized_data)
|
|
254
|
+
command = "START_MEDIA_BUFFERING"
|
|
255
|
+
return command, serialized_data
|
|
261
256
|
|
|
262
257
|
return serialized_data
|
|
263
258
|
|
|
264
259
|
elif isinstance(frame, InterruptionFrame):
|
|
265
|
-
return
|
|
266
|
-
"FLUSH_MEDIA"
|
|
267
|
-
if self._asterisk_command_format == "plain-text"
|
|
268
|
-
else '{"command": "FLUSH_MEDIA"}'
|
|
269
|
-
)
|
|
260
|
+
return "FLUSH_MEDIA"
|
|
270
261
|
elif isinstance(frame, (EndFrame, CancelFrame)):
|
|
271
|
-
return
|
|
272
|
-
"HANGUP"
|
|
273
|
-
if self._asterisk_command_format == "plain-text"
|
|
274
|
-
else '{"command": "HANGUP"}'
|
|
275
|
-
)
|
|
262
|
+
return "HANGUP"
|
|
276
263
|
|
|
277
264
|
# Return None for unhandled frames
|
|
278
265
|
return None
|
|
@@ -308,28 +295,14 @@ class AsteriskWsFrameSerializer(FrameSerializer):
|
|
|
308
295
|
return audio_frame
|
|
309
296
|
|
|
310
297
|
elif isinstance(data, str):
|
|
311
|
-
# Identify the format of signalling event from Asterisk websocket channel message based
|
|
312
|
-
# on the first message in the channel: "MEDIA_START", it might be json or plain-text
|
|
313
|
-
if self._asterisk_command_format is None and "MEDIA_START" in data:
|
|
314
|
-
try:
|
|
315
|
-
message = json.loads(data)
|
|
316
|
-
if message.get("event") == "MEDIA_START":
|
|
317
|
-
self._asterisk_command_format = "json"
|
|
318
|
-
except json.JSONDecodeError:
|
|
319
|
-
self._asterisk_command_format = "plain-text"
|
|
320
|
-
|
|
321
298
|
# Parse the message - try JSON first, fall back to plain-text
|
|
322
299
|
event = {}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
for entry in event_entries[1:]:
|
|
330
|
-
if ":" in entry:
|
|
331
|
-
key, value = entry.split(":", 1)
|
|
332
|
-
event[key] = value
|
|
300
|
+
event_entries = data.split(" ")
|
|
301
|
+
event["event"] = event_entries[0]
|
|
302
|
+
for entry in event_entries[1:]:
|
|
303
|
+
if ":" in entry:
|
|
304
|
+
key, value = entry.split(":", 1)
|
|
305
|
+
event[key] = value
|
|
333
306
|
|
|
334
307
|
handler = self._asterisk_event_handlers.get(event.get("event"))
|
|
335
308
|
if handler:
|
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{dv_pipecat_ai-0.0.85.dev863.dist-info → dv_pipecat_ai-0.0.85.dev865.dist-info}/top_level.txt
RENAMED
|
File without changes
|