voice-vibecoder 2.28.3__tar.gz → 2.29.0__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.
Files changed (51) hide show
  1. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/CHANGELOG.md +8 -0
  2. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/PKG-INFO +1 -1
  3. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/pyproject.toml +1 -1
  4. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/__init__.py +1 -1
  5. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/server.py +3 -0
  6. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/.github/workflows/ci.yml +0 -0
  7. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/.github/workflows/release.yml +0 -0
  8. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/.gitignore +0 -0
  9. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/CLAUDE.md +0 -0
  10. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/LICENSE +0 -0
  11. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/README.md +0 -0
  12. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/app.py +0 -0
  13. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/app_config.py +0 -0
  14. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/audio.py +0 -0
  15. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/audio_macos.py +0 -0
  16. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/cli_serve.py +0 -0
  17. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/code_providers/__init__.py +0 -0
  18. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/code_providers/claude.py +0 -0
  19. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/code_providers/cursor.py +0 -0
  20. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/code_providers/openclaw.py +0 -0
  21. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/code_providers/registry.py +0 -0
  22. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/config.py +0 -0
  23. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/instances.py +0 -0
  24. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/session.py +0 -0
  25. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/tools/__init__.py +0 -0
  26. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/tools/agent_task.py +0 -0
  27. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/tools/definitions.py +0 -0
  28. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/tools/dispatch.py +0 -0
  29. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/tools/file_tree.py +0 -0
  30. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/tools/handlers.py +0 -0
  31. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/__init__.py +0 -0
  32. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/callbacks.py +0 -0
  33. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/diff_view.py +0 -0
  34. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/help_modal.py +0 -0
  35. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/panels.py +0 -0
  36. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/screen.py +0 -0
  37. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/setup.py +0 -0
  38. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/state.py +0 -0
  39. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/styles.py +0 -0
  40. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/update_modal.py +0 -0
  41. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/ui/wizard.py +0 -0
  42. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/voice_providers/__init__.py +0 -0
  43. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/voice_providers/gemini.py +0 -0
  44. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/voice_providers/openai.py +0 -0
  45. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/src/voice_vibecoder/worktrees.py +0 -0
  46. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/tests/test_audio_gating.py +0 -0
  47. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/tests/test_file_tree.py +0 -0
  48. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/tests/test_merge_branch.py +0 -0
  49. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/tests/test_openai_events.py +0 -0
  50. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/tests/test_session_interrupts.py +0 -0
  51. {voice_vibecoder-2.28.3 → voice_vibecoder-2.29.0}/tests/test_startup_context.py +0 -0
@@ -2,6 +2,14 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v2.29.0 (2026-07-22)
6
+
7
+ ### Features
8
+
9
+ - Include worktree directory name in instance_status
10
+ ([`7b289ff`](https://github.com/snokam/voice-vibecoder/commit/7b289ffdff8f527bb5a97200edf94e146060edc1))
11
+
12
+
5
13
  ## v2.28.3 (2026-07-22)
6
14
 
7
15
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voice-vibecoder
3
- Version: 2.28.3
3
+ Version: 2.29.0
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.28.3"
7
+ version = "2.29.0"
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"
@@ -3,7 +3,7 @@
3
3
  A voice-controlled coding assistant using OpenAI Realtime API + Claude Code.
4
4
  """
5
5
 
6
- __version__ = "2.28.3"
6
+ __version__ = "2.29.0"
7
7
 
8
8
  from voice_vibecoder.app_config import VoiceConfig
9
9
  from voice_vibecoder.ui.screen import VoiceCodingScreen
@@ -247,6 +247,7 @@ class WebSocketBridge:
247
247
  "branch": inst.branch,
248
248
  "agentType": inst.agent_type,
249
249
  "displayName": inst.display_key,
250
+ "worktree": Path(inst.worktree_path).name if inst.worktree_path else "",
250
251
  })
251
252
  # Send buffered output from previous session
252
253
  if inst.output_buffer:
@@ -342,6 +343,7 @@ class WebSocketBridge:
342
343
  branch = inst.branch if inst else ""
343
344
  agent_type = inst.agent_type if inst else "claude"
344
345
  display_name = inst.display_key if inst else branch
346
+ worktree = Path(inst.worktree_path).name if inst and inst.worktree_path else ""
345
347
  self._send({
346
348
  "type": "instance_status",
347
349
  "instanceId": instance_id,
@@ -349,6 +351,7 @@ class WebSocketBridge:
349
351
  "branch": branch,
350
352
  "agentType": agent_type,
351
353
  "displayName": display_name,
354
+ "worktree": worktree,
352
355
  })
353
356
 
354
357
  def _on_tool_call(self, name: str, arguments: dict) -> None: