Conversation
…always fail
createStreamMonitorNode and createClipNode searched for "monitor_stream" and "create_clip", but AgentToolkit names every tool with a wave_ prefix. Neither lookup could succeed, so both nodes returned { error: "<name> tool not found" } on every invocation and never made a network call.
This is live in the published package: grepping @wave-av/adk@1.0.14 from the npm registry finds both "monitor_stream tool not found" and "create_clip tool not found" in dist/index.cjs.
Adds regression tests that assert the ABSENCE of that error. Verified they are not vacuous: reintroducing the old names fails both (2 failed | 8 passed), restoring the fix passes 10/10. A shape-only test misses this entirely, which is how it shipped.
The sibling livekit adapter already used the correct wave_monitor_stream, which is why this stayed isolated to langgraph.
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_1da30505-9aac-4965-8361-7a759d2dafea) |
|
Warning Review limit reachedNext included review available in 19 seconds. View limit detailsLimit details: You’ve used the included review currently available. Your 95 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_bee11400-62b6-4d54-975e-0b8a3bdd9f65) |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This is a narrow regression fix that aligns LangGraph node lookups with the toolkit’s actual names and adds focused coverage. Both changed files are explicitly owned by the SDK owners, while the author owns neither, so designated-owner review is warranted. Not approved because:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
| return async (state: Record<string, unknown>): Promise<Record<string, unknown>> => { | ||
| const tools = toolkit.getTools(); | ||
| const monitorTool = tools.find((t) => t.name === 'monitor_stream'); | ||
| const monitorTool = tools.find((t) => t.name === 'wave_monitor_stream'); |
There was a problem hiding this comment.
Suggestion: The corrected lookup now invokes validation, so the documented stream_abc example throws a Zod error instead of returning a node result. [api mismatch]
Assessment: 🟠 Major · 🔁 Occurrence: Sometimes
Prompt for AI Agent 🤖
This is a comment left during a code review.
**Path:** sdk-typescript/packages/adk/src/adapters/langgraph.ts
**Line:** 76:76
**Comment:**
*Api Mismatch: The corrected lookup now invokes validation, so the documented `stream_abc` example throws a Zod error instead of returning a node result.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
User description
createStreamMonitorNodeandcreateClipNodelook up their tool by name — with the wrong names.AgentToolkit.getTools()prefixes every tool withwave_, so neither lookup can succeed. Both nodes fall into theirif (!tool)branch on every invocation, return an error object, and never make a network call. Anyone wiringcreateStreamMonitorNodeinto a LangGraphStateGraphgets a node that silently does nothing.This is live on npm
Not theoretical — it's in the published artifact today:
Regression tests, proven non-vacuous
The existing
adapters.test.tsonly asserts the shape ofcreateLangGraphTools— nothing invoked the two graph-node factories, which is exactly why this shipped. The new tests assert the absence of thetool not founderror.I verified they actually catch it rather than passing for free:
Verification
The sibling LiveKit adapter already used the correct
wave_monitor_stream, which is why this stayed isolated to the LangGraph adapter.Related — please read, it's bigger than this PR
While tracing this I found that
@wave-av/adkexists in three places and this repo is the one that actually publishes:wave-av/sdks→sdk-typescript/packages/adkpublish-npm.yml, matches the npm artifactwave-av/wave-surfer-connect→packages/adkwave-av/adk(standalone repo)publish.yml, but is 12 versions behindThe standalone
wave-av/adkrepo is a stale fork: single-entry build, noERROR-CODES.md, and its.wave/repo.jsondescribes a package that is not the one on npm — it declares the 6 subpath exports asplanned/"not built", when this repo builds and ships all six. I opened wave-av/adk#59 against that fork before realising it doesn't publish; this PR is the one that fixes what users install. Filing the fork problem separately.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Note
Low Risk
Narrow string lookup fix in the LangGraph adapter with regression tests; no auth or data-model changes.
Overview
Fixes a live bug where
createStreamMonitorNodeandcreateClipNodelooked upmonitor_streamandcreate_clipwhileAgentToolkitregisterswave_monitor_streamandwave_create_clip. Every invocation hit the “tool not found” branch and never called the handlers.The adapter now uses the correct
wave_names and updates the error strings to match. Regression tests invoke both node factories and asserterroris absent (and expected state fields are present), so a wrong lookup cannot ship again via shape-only coverage.Reviewed by Cursor Bugbot for commit 605abb4. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Fixes a live bug in
@wave-av/adkwhere LangGraph nodes never resolved their tools and returned a "tool not found" error on every invocation without making a network call. Nodes now find the correctwave_-prefixed tools and execute as expected.createStreamMonitorNodenow looks upwave_monitor_stream(wasmonitor_stream), andcreateClipNodenow looks upwave_create_clip(wascreate_clip).Written for commit 605abb4. Summary will update on new commits.
CodeAnt-AI Description
Fix LangGraph stream monitoring and clip creation
What Changed
Impact
✅ Working stream monitoring in LangGraph✅ Working clip creation in LangGraph✅ Fewer false “tool not found” errors💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.