Yera All
aa64b6b94c
Revert "feat(voice): start early replies before final asr"
...
This reverts commit a44a1b97a1 .
2026-04-19 01:30:26 +05:00
Yera All
224973d840
Revert "fix(voice): race slow streaming asr finalize"
...
This reverts commit 77df41bce0 .
2026-04-19 01:30:26 +05:00
Yera All
93002ab86a
Revert "fix(voice): stop repeating failed clarifications"
...
This reverts commit 294d30a797 .
2026-04-19 01:30:26 +05:00
Yera All
294d30a797
fix(voice): stop repeating failed clarifications
2026-04-19 01:19:54 +05:00
Yera All
77df41bce0
fix(voice): race slow streaming asr finalize
2026-04-19 01:06:03 +05:00
Yera All
a44a1b97a1
feat(voice): start early replies before final asr
2026-04-19 00:46:16 +05:00
Yera All
9cd553bf92
feat(voice): start replies from stable streaming partials
2026-04-19 00:13:58 +05:00
Yera All
770ba4e925
feat(voice): add elevenlabs realtime streaming asr
2026-04-18 20:15:44 +05:00
Yera All
ff3efe395b
test(voice): align start name policy with service intent priority
2026-04-18 18:47:18 +05:00
Yera All
25480fc903
fix(deploy): allow voice provider env overrides
2026-04-18 18:43:36 +05:00
Yera All
34b807e460
feat(voice): add elevenlabs stt and transcript truth fixes
2026-04-18 18:25:07 +05:00
Yera All
ac2269b6a4
fix(voice): correct yandex asr endpoints
2026-04-17 13:39:26 +05:00
Yera All
feb0ce01e2
fix(asterisk): update telecom route and recording fallback
2026-04-17 12:16:51 +05:00
Yera All
4adaf192fb
fix(voice): avoid silence on ASR runtime failures
2026-04-17 01:28:06 +05:00
Yera All
f66b289371
feat(voice): add Yandex streaming ASR
2026-04-17 01:06:45 +05:00
Yera All
5d40cfafd8
feat(voice): switch voice ASR to Yandex SpeechKit
2026-04-17 00:53:20 +05:00
Yera All
39096e114f
fix(voice): harden noisy streaming turns
2026-04-17 00:30:41 +05:00
Yera All
8ca5f23e93
Polish operator messenger layout
2026-04-17 00:14:41 +05:00
Yera All
aa6f838061
fix(voice): keep asr partial polling off push path
2026-04-17 00:06:27 +05:00
Yera All
52b2edfcd3
fix(voice): stop thinking continuation on silence
2026-04-16 23:56:10 +05:00
Yera All
f14aeb39df
test(voice): wait for async streaming asr push
2026-04-16 23:48:07 +05:00
Yera All
d331981ac8
fix(voice): decouple streaming asr from media loop
2026-04-16 23:11:24 +05:00
Yera All
03450cc308
Repair writable local deploy data dirs
2026-04-16 22:49:34 +05:00
Yera All
ad6a3c2c8f
Include asterisk assets in deploy permission repair
2026-04-16 22:46:24 +05:00
Yera All
1f457a1a25
Harden deploy permission repair
2026-04-16 22:41:12 +05:00
Yera All
41f48cb821
Fix source deploy permissions repair
2026-04-16 22:30:28 +05:00
Yera All
3b5a7ad2e7
Add operator unified messenger MVP
2026-04-16 22:16:57 +05:00
Yera All
1206ff91ac
chore: push remaining local changes
2026-04-16 02:31:57 +05:00
Yera All
5af47991dc
fix(voice): stabilize turn finalization after asr timeouts
2026-04-16 02:30:39 +05:00
Yera All
213057efeb
Revert "feat(asterisk): add telecom.kz IP trunk for DID 87273901485"
...
This reverts commit 436821737e .
2026-04-16 01:27:34 +05:00
Yera All and Claude Opus 4.6
436821737e
feat(asterisk): add telecom.kz IP trunk for DID 87273901485
...
Wires the production number 87273901485 (SIP account 86205414@sip.telecom.kz )
into the voice stack as a no-registration IP trunk. Inbound INVITEs are
identified by source IP 92.46.61.21 and routed straight into the AI-first
entrypoint (7100), with the existing AudioSocket -> live operator fallback
preserved.
The Asterisk container was also never started by the source-based CI deploy
(only the registry-based path brought it up). Patch scripts/deploy_gitlab.sh
to also run docker-compose.asterisk.server.yml so the voice channel stays in
sync with the rest of the platform on every push to the default branch.
- deployment/asterisk/pjsip.conf: add telecom-kz aor/auth/endpoint/identify
- deployment/asterisk/entrypoint.sh: inject ASTERISK_TELECOM_KZ_PASSWORD
- deployment/asterisk/extensions.conf: new [from-telecom] context -> 7100
- .env.production.template: document ASTERISK_TELECOM_KZ_PASSWORD
- scripts/deploy_gitlab.sh: also bring up the asterisk compose file
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-16 01:19:06 +05:00
Yera All
0d7e833a0d
fix(voice): ignore playback audio until real barge-in
2026-04-13 12:28:36 +05:00
Yera All and Claude Opus 4.6
6798320209
fix: remove dead code duplicates, add SQL LIMIT across all services
...
- Remove duplicate function definitions with hardcoded "AI-оператор" strings
(ai_voice_runtime, ai_orchestrator, voice_name_config, voice.py)
- Remove unreachable dead code after return in ai_voice_runtime
- Add SQL LIMIT to 17 unbounded queries across 12 services to prevent OOM
- Move Python-side filtering to SQL WHERE in reporting_service
- Downgrade 19 logger.warning to logger.info for normal-flow events in media_runtime
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-13 12:04:26 +05:00
Yera All
6b8f5d069b
feat(ai): add rolling conversation summary memory
2026-04-13 11:59:43 +05:00
Yera All
989bf9a0c1
fix(voice): stabilize v2 streaming topic handling
2026-04-12 21:59:32 +05:00
Yera All
7f4c80add1
test(voice): align runtime expectations with v2 fallback
2026-04-12 21:32:49 +05:00
Yera All
57bd5cad4b
fix(voice): suppress low-signal turns and false lookup replies
2026-04-12 20:40:25 +05:00
Yera All
18ab5aa2e2
fix(voice): include requests for streaming asr sidecar
2026-04-12 15:12:43 +05:00
Yera All
a5b402f329
fix(deploy): pass sidecar app module at container runtime
2026-04-12 14:26:24 +05:00
Yera All
f2ece35588
fix(tests): isolate db state and stabilize voice runtime suite
2026-04-12 11:38:02 +05:00
Yera All
e581d48c44
test(voice): wait on sidecar runtime events
2026-04-12 02:31:51 +05:00
Yera All
adc7d4babb
test(voice): wait on fallback turn completion
2026-04-12 02:21:25 +05:00
Yera All
41d4a5ea86
test(voice): harden streaming fallback scenario
2026-04-12 02:07:12 +05:00
Yera All
691899b969
test(voice): deflake streaming sidecar fallback wait
2026-04-12 01:59:19 +05:00
Yera All
c4c8b69494
fix(sql): backfill whatsapp chat_id in compat init
2026-04-12 01:52:27 +05:00
Yera All
bdaf65a256
fix(db): avoid repeated sqlite schema initialization
2026-04-12 01:45:49 +05:00
Yera All
ee9889501f
fix(deploy): preserve streaming asr model cache
2026-04-12 01:42:28 +05:00
Yera All
9386b8f9b9
feat(voice): add streaming asr sidecar for v2 duplex
2026-04-12 01:38:30 +05:00
Yera All
b75b76fae6
feat(voice): add duplex streaming v2 pipeline
2026-04-11 17:38:21 +05:00
Yera All
fc976804e4
feat(voice): add admin-configurable elevenlabs tts
2026-04-11 16:46:43 +05:00
Yera All
9d0b76deca
fix(voice): make fast ack more audible
2026-04-11 02:27:49 +05:00
Yera All
05dc31855d
feat(voice): add controlled emotive ack layer
2026-04-11 02:14:53 +05:00
Yera All
5588f99db9
fix(voice): fast fallback for off-domain requests
2026-04-11 01:55:28 +05:00
Yera All
6413beeba1
feat(voice): emit immediate ack on turn close
2026-04-11 01:40:04 +05:00
Yera All
c39fad7e2d
feat(voice): add phase 1.1 partial asr fast ack
2026-04-11 01:24:21 +05:00
Yera All
ba0e1143ca
fix(deploy): sync ivr prompt wavs to server
2026-04-08 16:00:49 +05:00
Yera All
bfaec370f9
chore: remove dead supervisor analytics and archived tooling
2026-04-08 15:59:07 +05:00
Yera All
cf824f3fdd
fix(ivr): play russian language prompt first
2026-04-08 15:42:57 +05:00
Yera All
5d192621b0
Show name status in operator customer profile
2026-04-08 15:35:37 +05:00
Yera All
6f25de1f62
Add customer profile name editing for operator
2026-04-08 15:13:05 +05:00
Yera All
fa2ea1ef03
fix(voice): preserve llm name corrections in downstream turns
2026-04-08 12:49:14 +05:00
Yera All
a4b1eb2818
feat(voice): auto-populate name from known customer on repeat calls
...
When a new voice session starts and the customer already has a trusted
display_name on file (e.g. from a previous call), automatically set
name_status to 'name_obtained' so the AI greets them by name instead
of asking again.
2026-04-08 01:19:40 +05:00
Yera All
a47c09d465
fix(voice): prevent regex heuristic from overwriting LLM-extracted customer name
...
- Block old _voice_downstream_name_update from overwriting name_obtained status
unless user explicitly says 'меня зовут X' (explicit_candidate only)
- Move _persist_voice_name_state to run AFTER LLM extraction, not before,
so LLM always gets a chance to override the regex result
- Fixes bug where phrases like 'можешь назвать их' were incorrectly
captured as customer name, overwriting the real name
2026-04-08 01:06:08 +05:00
Yera All
6035c5d4d0
feat(ai): shift name extraction to LLM payload piggybacking to improve contextual accuracy
2026-04-07 11:01:17 +05:00
Yera All
1444cf07ab
fix(ai): ignore generic phrases and stopwords in voice name extraction
2026-04-07 01:01:06 +05:00
Yera All
f976a0c2be
test(ai): update Yandex TTS speed assertion to 1.1x default
2026-04-07 00:48:52 +05:00
Yera All
5c1f720b46
feat(ai): apply 1.1x speed default to Yandex TTS as well
2026-04-07 00:45:09 +05:00
Yera All
025f1a59ce
chore(ai): lower VAD trailing silence to 500ms to reduce latency
2026-04-07 00:44:08 +05:00
Yera All
8ca773d27d
feat(ai): Add support for OpenAI TTS speed configuration, defaulting to 1.1x
2026-04-07 00:43:20 +05:00
Yera All
0a8f586f97
feat(ai): Append inline name followup to initial greeting to meet IVR expectations
2026-04-07 00:25:56 +05:00
Yera All
02df90138d
Revert broken voice_start patch
2026-04-07 00:24:32 +05:00
Yera All
e2148a5cb3
Fix AI not asking name during IVR flow by enforcing voice_start profile
2026-04-07 00:13:22 +05:00
Yera All
da2cd31c32
fix(ui): preserve scroll position on customer profile feed
2026-04-07 00:04:47 +05:00
Yera All
8b2975ca9a
fix(ai-orchestrator): restore cyrillic text formatting
2026-04-06 23:58:42 +05:00
Yera All
ae328076cf
fix(docs): remove obsolete document checks from postgres tests
2026-04-06 23:40:11 +05:00
Yera All
f048ed5ffc
fix(docs): remove obsolete workspace hygiene assert about deleted roadmap
2026-04-06 23:36:30 +05:00
Yera All
064f480341
fix(models): resolve PydanticUndefinedAnnotation forward refs
2026-04-06 23:31:17 +05:00
Yera All
1ff8fd7102
docs: recreate documentation structure with updated specs
2026-04-06 23:19:24 +05:00
Yera All
1497bb0feb
feat(ai): Finalize voice operator persona and voice name flow
2026-04-06 23:19:24 +05:00
Yera All
6d8f6e67f0
Fill new voice name-flow mock analytics data
2026-04-05 10:46:09 +05:00
Yera All
d959c2b2f0
Add voice name flow controls and analytics
2026-04-05 03:26:18 +05:00
Yera All
d15fcf7129
Add demo data prune job
2026-04-04 04:10:09 +05:00
Yera All
14da622d36
Add customer profile shortcuts
2026-04-04 03:56:18 +05:00
Yera All
ed76f89c9a
Fix analyst saved view copy and refresh asset version
2026-04-04 03:46:23 +05:00
Yera All
3d074d737a
Clear Docker env for source production deploy
2026-04-04 03:35:47 +05:00
Yera All
21ec5b0305
Copy gateway route file in analyst hotfix job
2026-04-04 03:25:28 +05:00
Yera All
2ecd8240e6
Create analyst asset directories in hotfix container
2026-04-04 03:22:28 +05:00
Yera All
40a750fbe6
Target deployed call-center-app in hotfix job
2026-04-04 03:20:26 +05:00
Yera All
a486e3bb88
Match production gateway container name in hotfix job
2026-04-04 03:18:33 +05:00
Yera All
e8416ecefe
Clear Docker TLS vars for analyst asset hotfix
2026-04-04 03:16:37 +05:00
Yera All
a53f7b12fb
Add analyst asset hotfix job for prod runner
2026-04-04 03:14:10 +05:00
Yera All
dcddd12c56
Use sudo fallback for local source deploy
2026-04-04 03:07:03 +05:00
Yera All
271c3f1f7d
Fallback source deploy to local production path
2026-04-04 03:02:59 +05:00
Yera All
a7033a8dc3
Add source-based production deploy fallback
2026-04-04 02:58:40 +05:00
Yera All
0c95be6963
Adapt registry deploy jobs for shell prod runner
2026-04-04 02:54:37 +05:00
Yera All
b80d3b77ed
Assign build and deploy jobs to prod runner
2026-04-04 02:51:28 +05:00
Yera All
6f1820e2ab
Make postgres readiness optional for registry builds
2026-04-04 02:39:50 +05:00
Yera All
46c15f1501
Fix shell runner Python dependency install
2026-04-04 02:18:07 +05:00
Yera All
6f69847319
Retry CI after runner shell fix
2026-04-04 02:13:17 +05:00
Yera All
36d98242a9
Remove CI cache for shell runner
2026-04-04 02:11:52 +05:00