diff --git a/.github/workflows/live-voice.yml b/.github/workflows/live-voice.yml index f4ad08d..0a43b95 100644 --- a/.github/workflows/live-voice.yml +++ b/.github/workflows/live-voice.yml @@ -105,7 +105,7 @@ jobs: echo "INKBOX_VOICE_STACK=inkbox_voice_ai" >> "$GITHUB_ENV" echo "INKBOX_REALTIME_ENABLED=false" >> "$GITHUB_ENV" echo "HOSTED_POST_CALL_MARKER=$marker" >> "$GITHUB_ENV" - echo "VOICE_DRIVER_LINE=After we hang up, send me one SMS. Create one post-call action now with the title Send SMS and put this exact five-word SMS body in the action details: $marker. Wait for the action tool to succeed, then read all five words back to me. Do not paraphrase, omit a word, or send the SMS during the call." >> "$GITHUB_ENV" + echo "VOICE_DRIVER_LINE=After we hang up, send me one SMS containing these exact five words: $marker. Create one post-call action now. Set both the action title and the action details to this exact seven-word phrase: Send SMS $marker. Wait for the action tool to succeed, then read the exact five-word SMS body back to me. Do not paraphrase, omit a word, or send the SMS during the call." >> "$GITHUB_ENV" # Keep the media peer alive while the test waits for Voice AI to # persist the open post-call action, then let the test hang up. echo "VOICE_DRIVER_LISTEN=180" >> "$GITHUB_ENV" diff --git a/inkbox_claude/__init__.py b/inkbox_claude/__init__.py index 71a22c2..631e573 100644 --- a/inkbox_claude/__init__.py +++ b/inkbox_claude/__init__.py @@ -1,3 +1,3 @@ """Inkbox bridge for Claude Code — email, SMS, iMessage, and voice.""" -__version__ = "0.2.8" +__version__ = "0.2.9" diff --git a/inkbox_claude/tools.py b/inkbox_claude/tools.py index 024482e..4aae1a6 100644 --- a/inkbox_claude/tools.py +++ b/inkbox_claude/tools.py @@ -1185,7 +1185,7 @@ async def inkbox_a2a_fail(args: Dict[str, Any]) -> Dict[str, Any]: inkbox_a2a_ask_caller, inkbox_a2a_fail, ] - server = create_sdk_mcp_server(name="inkbox", version="0.2.8", tools=tools) + server = create_sdk_mcp_server(name="inkbox", version="0.2.9", tools=tools) tool_names = [ "mcp__inkbox__inkbox_whoami", "mcp__inkbox__inkbox_send_email", diff --git a/pyproject.toml b/pyproject.toml index 133321c..ed1e559 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "claude-code-plugin" -version = "0.2.8" +version = "0.2.9" description = "Inkbox bridge for Claude Code — talk to your coding agent over email, SMS, iMessage, and voice" requires-python = ">=3.11" dependencies = [ diff --git a/tests/test_live_voice_contract_helpers.py b/tests/test_live_voice_contract_helpers.py index 0898088..d7f30e3 100644 --- a/tests/test_live_voice_contract_helpers.py +++ b/tests/test_live_voice_contract_helpers.py @@ -26,10 +26,11 @@ def test_workflow_requires_action_first_exact_body_and_readback(): workflow = (Path(__file__).parent.parent / ".github/workflows/live-voice.yml").read_text() assert ( - "After we hang up, send me one SMS. Create one post-call action now with the " - "title Send SMS and put this exact five-word SMS body in the action details: " - "$marker. Wait for the action tool to succeed, then read all five words back " - "to me. Do not paraphrase, omit a word, or send the SMS during the call." + "After we hang up, send me one SMS containing these exact five words: $marker. " + "Create one post-call action now. Set both the action title and the action details " + "to this exact seven-word phrase: Send SMS $marker. Wait for the action tool to " + "succeed, then read the exact five-word SMS body back to me. Do not paraphrase, " + "omit a word, or send the SMS during the call." in workflow )