voice-vibecoder 2.20.2__tar.gz → 2.20.3__tar.gz
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.
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/CHANGELOG.md +8 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/PKG-INFO +1 -1
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/pyproject.toml +1 -1
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/__init__.py +1 -1
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/server.py +13 -10
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/.github/workflows/ci.yml +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/.github/workflows/release.yml +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/.gitignore +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/LICENSE +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/README.md +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/app.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/index.html +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/app_config.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/audio.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/cli_serve.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/__init__.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/claude.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/cursor.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/openclaw.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/registry.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/config.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/instances.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/session.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/tools/__init__.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/tools/agent_task.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/tools/definitions.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/tools/dispatch.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/tools/file_tree.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/tools/handlers.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/__init__.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/callbacks.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/diff_view.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/help_modal.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/panels.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/screen.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/setup.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/state.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/styles.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/update_modal.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/ui/wizard.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/voice_providers/__init__.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/voice_providers/gemini.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/voice_providers/openai.py +0 -0
- {voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/worktrees.py +0 -0
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v2.20.3 (2026-02-23)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Skip transcript and instance replay for text-only clients
|
|
10
|
+
([`ee30512`](https://github.com/snokam/voice-vibecoder/commit/ee30512f1bebf7e8009d815a872d939aeffacf8b))
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## v2.20.2 (2026-02-23)
|
|
6
14
|
|
|
7
15
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: voice-vibecoder
|
|
3
|
-
Version: 2.20.
|
|
3
|
+
Version: 2.20.3
|
|
4
4
|
Summary: Olaf The Vibecoder — a voice-controlled coding assistant using OpenAI Realtime API + Claude Code
|
|
5
5
|
Project-URL: Homepage, https://github.com/snokam/voice-vibecoder
|
|
6
6
|
Project-URL: Repository, https://github.com/snokam/voice-vibecoder
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "voice-vibecoder"
|
|
7
|
-
version = "2.20.
|
|
7
|
+
version = "2.20.3"
|
|
8
8
|
description = "Olaf The Vibecoder — a voice-controlled coding assistant using OpenAI Realtime API + Claude Code"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -222,17 +222,20 @@ class WebSocketBridge:
|
|
|
222
222
|
if not self._session:
|
|
223
223
|
return
|
|
224
224
|
|
|
225
|
-
# Send transcript history (
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
225
|
+
# Send transcript history (skip for text-only — they start fresh)
|
|
226
|
+
if not self._session.text_only:
|
|
227
|
+
transcripts = self._session.registry.get_transcripts()
|
|
228
|
+
logger.info(f"[SYNC_STATE] Sending {len(transcripts)} transcripts to frontend")
|
|
229
|
+
for entry in transcripts:
|
|
230
|
+
self._send({
|
|
231
|
+
"type": "transcript",
|
|
232
|
+
"role": entry["role"],
|
|
233
|
+
"text": entry["text"],
|
|
234
|
+
})
|
|
234
235
|
|
|
235
|
-
# Send instance status and history for
|
|
236
|
+
# Send instance status and history (skip for text-only)
|
|
237
|
+
if self._session.text_only:
|
|
238
|
+
return
|
|
236
239
|
for inst in self._session.registry.get_all():
|
|
237
240
|
self._send({
|
|
238
241
|
"type": "instance_status",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/__init__.py
RENAMED
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/claude.py
RENAMED
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/cursor.py
RENAMED
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/openclaw.py
RENAMED
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/code_providers/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/voice_providers/__init__.py
RENAMED
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/voice_providers/gemini.py
RENAMED
|
File without changes
|
{voice_vibecoder-2.20.2 → voice_vibecoder-2.20.3}/src/voice_vibecoder/voice_providers/openai.py
RENAMED
|
File without changes
|
|
File without changes
|