Skip to content

phonic: configsForTools per-tool config passthrough (+ forbid_tool_call_after_speech) - #4

Closed
arunwpm-work wants to merge 7 commits into
mainfrom
arun/phonic-configs-for-tools
Closed

phonic: configsForTools per-tool config passthrough (+ forbid_tool_call_after_speech)#4
arunwpm-work wants to merge 7 commits into
mainfrom
arun/phonic-configs-for-tools

Conversation

@arunwpm-work

@arunwpm-work arunwpm-work commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

What

Adds configs_for_tools to the Phonic realtime model — per-tool behavior overrides forwarded to Phonic's tool config. One entry per tool (keyed by name); each may set require_speech_before_tool_call, forbid_speech_after_tool_call, and forbid_tool_call_after_speech. Omitted fields fall back to the plugin defaults; tools with no entry are unchanged.

Replaces the previous forbid_speech_after_tool_call: list[str] option (that behavior is now a per-tool field). See the README for the field reference.

arunwpm-work and others added 3 commits June 17, 2026 16:07
…ll_after_speech)

Replace the forbid_speech_after_tool_call: list[str] option with configs_for_tools:
list[PhonicToolConfig] — one object per tool ({name, ...}) carrying up to the full
behavior set (wait_for_speech_before_tool_call, forbid_speech_after_tool_call,
forbid_tool_call_after_speech, allow_tool_chaining); omitted fields fall back to the
plugin defaults. The plugin forwards each object as the tool's Phonic tool_config
(passthrough) and reads forbid_speech_after_tool_call for its own assistant-turn logic.

Adds forbid_tool_call_after_speech (echo drops the tool call if the agent spoke that
turn). Supersedes the un-PR'd arun/phonic-forbid-speech-after-tool-call branch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…or-tools

# Conflicts:
#	livekit-plugins/livekit-plugins-phonic/livekit/plugins/phonic/realtime/realtime_model.py
arunwpm-work and others added 3 commits July 30, 2026 16:37
Add the remaining per-tool field (require_speech_before_tool_call) and move the
per-field behavior docs out of inline comments/docstrings into the plugin README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…configurable

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Re-add the removed forbid_speech_after_tool_call: list[str] option for backwards
compatibility. It logs a deprecation warning and folds each listed tool into
configs_for_tools (an explicit configs_for_tools entry wins).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@arunwpm-work

Copy link
Copy Markdown
Collaborator Author

Superseded by the upstream contribution livekit#6634 — livekit maintains the phonic plugin in-tree, so landing it upstream is the right home. The fork will pick it up on its next sync.

@arunwpm-work

Copy link
Copy Markdown
Collaborator Author

Reopening — Ashby runs on this fork, so the feature (forbid_tool_call_after_speech) needs to land here now rather than waiting on the upstream contribution (livekit#6634). This will be merged into the fork; the fork reconciles with upstream on its next sync.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant