rasa-pro 3.13.0.dev5__py3-none-any.whl → 3.13.0.dev20250612__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 rasa-pro might be problematic. Click here for more details.

Files changed (140) hide show
  1. rasa/api.py +4 -0
  2. rasa/cli/arguments/default_arguments.py +13 -1
  3. rasa/cli/arguments/train.py +2 -0
  4. rasa/cli/evaluate.py +1 -1
  5. rasa/cli/export.py +2 -2
  6. rasa/cli/train.py +1 -0
  7. rasa/constants.py +2 -0
  8. rasa/core/agent.py +2 -2
  9. rasa/core/brokers/kafka.py +4 -0
  10. rasa/core/brokers/pika.py +4 -0
  11. rasa/core/brokers/sql.py +1 -1
  12. rasa/core/channels/inspector/.eslintrc.cjs +12 -6
  13. rasa/core/channels/inspector/.prettierrc +5 -0
  14. rasa/core/channels/inspector/README.md +10 -4
  15. rasa/core/channels/inspector/dist/assets/{arc-9f75cc3b.js → arc-c4b064fc.js} +1 -1
  16. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-7f34db23.js → blockDiagram-38ab4fdb-215b5026.js} +1 -1
  17. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-948bab2c.js → c4Diagram-3d4e48cf-2b54a0a3.js} +1 -1
  18. rasa/core/channels/inspector/dist/assets/channel-3730f5fd.js +1 -0
  19. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-53b0dd0e.js → classDiagram-70f12bd4-daacea5f.js} +1 -1
  20. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-fdf789e7.js → classDiagram-v2-f2320105-930d4dc2.js} +1 -1
  21. rasa/core/channels/inspector/dist/assets/clone-e847561e.js +1 -0
  22. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-87c4ece5.js → createText-2e5e7dd3-83c206ba.js} +1 -1
  23. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-5a8b0749.js → edges-e0da2a9e-b0eb01d0.js} +1 -1
  24. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-66da90e2.js → erDiagram-9861fffd-17586500.js} +1 -1
  25. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-10044f05.js → flowDb-956e92f1-be2a1776.js} +1 -1
  26. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-f338f66a.js → flowDiagram-66a62f08-c2120ebd.js} +1 -1
  27. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-efbbfe00.js +1 -0
  28. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-b13140aa.js → flowchart-elk-definition-4a651766-a6ab5c48.js} +1 -1
  29. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-f2b4a55a.js → ganttDiagram-c361ad54-ef613457.js} +1 -1
  30. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-dedc298d.js → gitGraphDiagram-72cf32ee-d59185b3.js} +1 -1
  31. rasa/core/channels/inspector/dist/assets/{graph-4ede11ff.js → graph-0f155405.js} +1 -1
  32. rasa/core/channels/inspector/dist/assets/{index-3862675e-65549d37.js → index-3862675e-d5f1d1b7.js} +1 -1
  33. rasa/core/channels/inspector/dist/assets/{index-3a23e736.js → index-47737d3a.js} +123 -123
  34. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-65439671.js → infoDiagram-f8f76790-b07d141f.js} +1 -1
  35. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-56d03d98.js → journeyDiagram-49397b02-1936d429.js} +1 -1
  36. rasa/core/channels/inspector/dist/assets/{layout-dd48f7f4.js → layout-dde8d0f3.js} +1 -1
  37. rasa/core/channels/inspector/dist/assets/{line-1569ad2c.js → line-0c2c7ee0.js} +1 -1
  38. rasa/core/channels/inspector/dist/assets/{linear-48bf4935.js → linear-35dd89a4.js} +1 -1
  39. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-688504c1.js → mindmap-definition-fc14e90a-56192851.js} +1 -1
  40. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-78b6d7e6.js → pieDiagram-8a3498a8-fc21ed78.js} +1 -1
  41. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-048b84b3.js → quadrantDiagram-120e2f19-25e98518.js} +1 -1
  42. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-dd67f107.js → requirementDiagram-deff3bca-546ff1f5.js} +1 -1
  43. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-8128436e.js → sankeyDiagram-04a897e0-02d8b82d.js} +1 -1
  44. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-1a0d1461.js → sequenceDiagram-704730f1-3ca5a92e.js} +1 -1
  45. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-46d388ed.js → stateDiagram-587899a1-128ea07c.js} +1 -1
  46. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-ea42951a.js → stateDiagram-v2-d93cdb3a-95f290af.js} +1 -1
  47. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-7427ed0c.js → styles-6aaf32cf-4984898a.js} +1 -1
  48. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-ff5e5a16.js → styles-9a916d00-1bf266ba.js} +1 -1
  49. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-7b3680cf.js → styles-c10674c1-60521c63.js} +1 -1
  50. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-f860f2ad.js → svgDrawCommon-08f97a94-a25b6e12.js} +1 -1
  51. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-2eebf0c8.js → timeline-definition-85554ec2-0fc086bf.js} +1 -1
  52. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-5d7f4e96.js → xychartDiagram-e933f94c-44ee592e.js} +1 -1
  53. rasa/core/channels/inspector/dist/index.html +1 -1
  54. rasa/core/channels/inspector/package.json +3 -1
  55. rasa/core/channels/inspector/src/App.tsx +91 -90
  56. rasa/core/channels/inspector/src/components/Chat.tsx +45 -41
  57. rasa/core/channels/inspector/src/components/DiagramFlow.tsx +40 -40
  58. rasa/core/channels/inspector/src/components/DialogueInformation.tsx +57 -57
  59. rasa/core/channels/inspector/src/components/DialogueStack.tsx +36 -27
  60. rasa/core/channels/inspector/src/components/ExpandIcon.tsx +4 -4
  61. rasa/core/channels/inspector/src/components/FullscreenButton.tsx +7 -7
  62. rasa/core/channels/inspector/src/components/LoadingSpinner.tsx +28 -12
  63. rasa/core/channels/inspector/src/components/NoActiveFlow.tsx +9 -9
  64. rasa/core/channels/inspector/src/components/RasaLogo.tsx +5 -5
  65. rasa/core/channels/inspector/src/components/RecruitmentPanel.tsx +55 -60
  66. rasa/core/channels/inspector/src/components/SaraDiagrams.tsx +5 -5
  67. rasa/core/channels/inspector/src/components/Slots.tsx +22 -22
  68. rasa/core/channels/inspector/src/components/Welcome.tsx +28 -31
  69. rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +245 -0
  70. rasa/core/channels/inspector/src/helpers/audio/microphone-processor.js +12 -0
  71. rasa/core/channels/inspector/src/helpers/audio/playback-processor.js +36 -0
  72. rasa/core/channels/inspector/src/helpers/conversation.ts +7 -7
  73. rasa/core/channels/inspector/src/helpers/formatters.test.ts +181 -181
  74. rasa/core/channels/inspector/src/helpers/formatters.ts +111 -111
  75. rasa/core/channels/inspector/src/helpers/utils.ts +78 -61
  76. rasa/core/channels/inspector/src/main.tsx +8 -8
  77. rasa/core/channels/inspector/src/theme/Button/Button.ts +8 -8
  78. rasa/core/channels/inspector/src/theme/Heading/Heading.ts +7 -7
  79. rasa/core/channels/inspector/src/theme/Input/Input.ts +9 -9
  80. rasa/core/channels/inspector/src/theme/Link/Link.ts +6 -6
  81. rasa/core/channels/inspector/src/theme/Modal/Modal.ts +13 -13
  82. rasa/core/channels/inspector/src/theme/Table/Table.tsx +10 -10
  83. rasa/core/channels/inspector/src/theme/Tooltip/Tooltip.ts +5 -5
  84. rasa/core/channels/inspector/src/theme/base/breakpoints.ts +7 -7
  85. rasa/core/channels/inspector/src/theme/base/colors.ts +64 -64
  86. rasa/core/channels/inspector/src/theme/base/fonts/fontFaces.css +21 -18
  87. rasa/core/channels/inspector/src/theme/base/radii.ts +8 -8
  88. rasa/core/channels/inspector/src/theme/base/shadows.ts +5 -5
  89. rasa/core/channels/inspector/src/theme/base/sizes.ts +5 -5
  90. rasa/core/channels/inspector/src/theme/base/space.ts +12 -12
  91. rasa/core/channels/inspector/src/theme/base/styles.ts +5 -5
  92. rasa/core/channels/inspector/src/theme/base/typography.ts +12 -12
  93. rasa/core/channels/inspector/src/theme/base/zIndices.ts +3 -3
  94. rasa/core/channels/inspector/src/theme/index.ts +38 -38
  95. rasa/core/channels/inspector/src/types.ts +56 -50
  96. rasa/core/channels/inspector/yarn.lock +5 -0
  97. rasa/core/channels/voice_ready/audiocodes.py +34 -17
  98. rasa/core/evaluation/marker_tracker_loader.py +1 -1
  99. rasa/core/exporter.py +1 -1
  100. rasa/core/nlg/summarize.py +1 -1
  101. rasa/core/persistor.py +55 -20
  102. rasa/core/processor.py +2 -2
  103. rasa/core/run.py +7 -2
  104. rasa/core/tracker_stores/__init__.py +0 -0
  105. rasa/core/{auth_retry_tracker_store.py → tracker_stores/auth_retry_tracker_store.py} +5 -1
  106. rasa/core/tracker_stores/dynamo_tracker_store.py +218 -0
  107. rasa/core/tracker_stores/mongo_tracker_store.py +206 -0
  108. rasa/core/tracker_stores/redis_tracker_store.py +219 -0
  109. rasa/core/tracker_stores/sql_tracker_store.py +555 -0
  110. rasa/core/tracker_stores/tracker_store.py +805 -0
  111. rasa/core/utils.py +6 -0
  112. rasa/dialogue_understanding/commands/clarify_command.py +2 -2
  113. rasa/dialogue_understanding/generator/llm_based_command_generator.py +1 -1
  114. rasa/hooks.py +2 -2
  115. rasa/keys +1 -0
  116. rasa/model_manager/config.py +3 -1
  117. rasa/model_manager/model_api.py +1 -2
  118. rasa/model_manager/runner_service.py +8 -4
  119. rasa/model_manager/trainer_service.py +1 -0
  120. rasa/model_training.py +12 -3
  121. rasa/nlu/extractors/crf_entity_extractor.py +66 -16
  122. rasa/plugin.py +1 -1
  123. rasa/server.py +6 -2
  124. rasa/shared/core/events.py +68 -2
  125. rasa/telemetry.py +2 -2
  126. rasa/tracing/config.py +1 -1
  127. rasa/tracing/instrumentation/attribute_extractors.py +1 -1
  128. rasa/tracing/instrumentation/instrumentation.py +1 -1
  129. rasa/utils/licensing.py +1 -2
  130. rasa/version.py +1 -1
  131. {rasa_pro-3.13.0.dev5.dist-info → rasa_pro-3.13.0.dev20250612.dist-info}/METADATA +4 -4
  132. {rasa_pro-3.13.0.dev5.dist-info → rasa_pro-3.13.0.dev20250612.dist-info}/RECORD +135 -126
  133. rasa/core/channels/inspector/dist/assets/channel-dfa68278.js +0 -1
  134. rasa/core/channels/inspector/dist/assets/clone-edb7f119.js +0 -1
  135. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-65e7c670.js +0 -1
  136. rasa/core/channels/inspector/src/helpers/audiostream.ts +0 -191
  137. rasa/core/tracker_store.py +0 -1792
  138. {rasa_pro-3.13.0.dev5.dist-info → rasa_pro-3.13.0.dev20250612.dist-info}/NOTICE +0 -0
  139. {rasa_pro-3.13.0.dev5.dist-info → rasa_pro-3.13.0.dev20250612.dist-info}/WHEEL +0 -0
  140. {rasa_pro-3.13.0.dev5.dist-info → rasa_pro-3.13.0.dev20250612.dist-info}/entry_points.txt +0 -0
@@ -1,191 +0,0 @@
1
- const bufferSize = 4096
2
- const sampleRate = 8000
3
- const audioOptions = {
4
- audio: {
5
- echoCancellation: true,
6
- noiseSuppression: true,
7
- autoGainControl: true
8
- }
9
- }
10
-
11
- const arrayBufferToBase64 = ( buffer: ArrayBuffer ): string => {
12
- let binary = '';
13
- const bytes = new Uint8Array( buffer );
14
- const len = bytes.byteLength;
15
- for (let i = 0; i < len; i++) {
16
- binary += String.fromCharCode( bytes[ i ] );
17
- }
18
- return window.btoa( binary );
19
- }
20
-
21
- const base64ToArrayBuffer = ( s: string ): ArrayBuffer => {
22
- const binary_string = window.atob(s);
23
- const len = binary_string.length;
24
- const bytes = new Uint8Array( len );
25
- for (let i = 0; i < len; i++) {
26
- bytes[i] = binary_string.charCodeAt(i);
27
- }
28
- return bytes.buffer;
29
- }
30
-
31
- const floatToIntArray = (arr: Float32Array): Int32Array => {
32
- // Convert Float Array [-1, 1] to full range int array
33
- return Int32Array.from(arr, x => x * 0x7fffffff)
34
- }
35
-
36
- const intToFloatArray = (arr: Int32Array): Float32Array => {
37
- return Float32Array.from(arr, x => (x / 0x7fffffff))
38
- }
39
-
40
- interface Mark {
41
- id: string
42
- bytesToGo: number
43
- }
44
-
45
- interface AudioQueue {
46
- buffer: Float32Array;
47
- marks: Array<Mark>
48
- socket: WebSocket,
49
- write: (newAudio: Float32Array) => void;
50
- read: (nSamples: number) => Float32Array;
51
- length: () => number;
52
- addMarker: (id: string) => void;
53
- reduceMarkers: (bytesRead: number) => void;
54
- popMarkers: () => void;
55
- }
56
-
57
-
58
- const createAudioQueue = (socket: WebSocket) : AudioQueue => {
59
- return {
60
- buffer: new Float32Array(0),
61
- marks: new Array<Mark>(),
62
- socket,
63
-
64
- write: function(newAudio: Float32Array) {
65
- const currentQLength = this.buffer.length;
66
- const newBuffer = new Float32Array(currentQLength + newAudio.length);
67
- newBuffer.set(this.buffer, 0);
68
- newBuffer.set(newAudio, currentQLength);
69
- this.buffer = newBuffer;
70
- },
71
-
72
- read: function(nSamples: number) {
73
- const samplesToPlay = this.buffer.subarray(0, nSamples);
74
- this.buffer = this.buffer.subarray(nSamples, this.buffer.length);
75
- this.reduceMarkers(samplesToPlay.length)
76
- this.popMarkers()
77
- return samplesToPlay;
78
- },
79
-
80
- length: function() {
81
- return this.buffer.length;
82
- },
83
-
84
- addMarker: function(id: string) {
85
- this.marks.push({id, bytesToGo: this.length()})
86
- },
87
-
88
- reduceMarkers: function(bytesRead: number) {
89
- this.marks = this.marks.map((m) => {
90
- return {id: m.id, bytesToGo: m.bytesToGo - bytesRead}
91
- })
92
- },
93
-
94
- popMarkers: function() {
95
- // marks are ordered
96
- let popUpTo = 0;
97
- while (popUpTo < this.marks.length) {
98
- if (this.marks[popUpTo].bytesToGo <= 0) {
99
- popUpTo += 1
100
- } else {
101
- break
102
- }
103
- }
104
- const marksToPop = this.marks.slice(0, popUpTo)
105
- this.marks = this.marks.slice(popUpTo, this.marks.length)
106
- marksToPop.forEach((m) => {
107
- this.socket.send(JSON.stringify({marker: m.id}))
108
- })
109
- }
110
-
111
- };
112
- }
113
-
114
- const streamMicrophoneToServer = async (socket: WebSocket) => {
115
- let audioStream = null;
116
- const audioContext = new AudioContext({sampleRate});
117
-
118
- try {
119
- audioStream = await navigator.mediaDevices.getUserMedia(audioOptions);
120
- const audioInput = audioContext.createMediaStreamSource(audioStream)
121
- const sender = audioContext.createScriptProcessor(bufferSize, 1, 1)
122
- sender.onaudioprocess = function(event) {
123
- const message = JSON.stringify({
124
- "audio": arrayBufferToBase64(floatToIntArray(event.inputBuffer.getChannelData(0)).buffer)
125
- })
126
- socket.send(message)
127
- }
128
- audioInput.connect(sender)
129
- sender.connect(audioContext.destination)
130
- } catch (err) {
131
- console.error(err);
132
- }
133
- }
134
-
135
- const setupAudioPlayback = (socket: WebSocket): AudioQueue => {
136
- const audioQueue = createAudioQueue(socket)
137
- const silence = new Float32Array(bufferSize)
138
- const audioOutputContext = new AudioContext({sampleRate})
139
- const scriptNode = audioOutputContext.createScriptProcessor(bufferSize, 1, 1);
140
- scriptNode.onaudioprocess = function(e) {
141
- const audioData = audioQueue.length() ? audioQueue.read(bufferSize) : silence
142
- e.outputBuffer.getChannelData(0).set(audioData);
143
- }
144
- scriptNode.connect(audioOutputContext.destination)
145
- return audioQueue
146
- }
147
-
148
- const addDataToAudioQueue = (audioQueue: AudioQueue) => (message: MessageEvent<any>) => {
149
- const data = JSON.parse(message.data.toString())
150
- if (data["audio"]) {
151
- const audioBytes = base64ToArrayBuffer(data["audio"])
152
- const audioData = intToFloatArray(new Int32Array(audioBytes))
153
- audioQueue.write(audioData);
154
- } else if (data["marker"]) {
155
- audioQueue.addMarker(data["marker"])
156
- }
157
- }
158
-
159
- /**
160
- * Constructs a WebSocket URL for browser audio from a base HTTP/HTTPS URL
161
- *
162
- * @param baseUrl - The base URL (e.g., "https://example.com" or "http://localhost:5005")
163
- * @returns WebSocket URL for browser audio endpoint
164
- *
165
- * @example
166
- * getWebSocketUrl("https://example.com")
167
- * // Returns: "wss://example.com/webhooks/browser_audio/websocket"
168
- *
169
- * getWebSocketUrl("http://localhost:5005")
170
- * // Returns: "ws://localhost:5005/webhooks/browser_audio/websocket"
171
- *
172
- * @throws {TypeError} If baseUrl is not a valid URL
173
- */
174
- export function getWebSocketUrl(baseUrl: string) {
175
- const url = new URL(baseUrl);
176
- const wsProtocol = url.protocol === 'https:' ? 'wss:' : 'ws:';
177
- return `${wsProtocol}//${url.host}/webhooks/browser_audio/websocket`;
178
- }
179
-
180
- /**
181
- * Creates a WebSocket connection for browser audio and streams microphone input to the server
182
- *
183
- * @param baseUrl - The base URL (e.g., "https://example.com" or "http://localhost:5005")
184
- */
185
- export async function createAudioConnection(baseUrl: string) {
186
- const websocketURL = getWebSocketUrl(baseUrl)
187
- const socket = new WebSocket(websocketURL)
188
- socket.onopen = async () => { await streamMicrophoneToServer(socket)}
189
- const audioQueue = setupAudioPlayback(socket)
190
- socket.onmessage = addDataToAudioQueue(audioQueue)
191
- }