feat(tools-registry): update tako-search entry - #18386
Open
robertabbott wants to merge 3 commits into
Open
Conversation
Brings the existing entry in line with @takoviz/ai-sdk 3.0.0. The code example was the substantive problem. It prompted "What is the stock price of Nvidia?" against takoSearch, and the package's own takoSearch description tells the model the opposite: "For a plain 'what is X' where you only need the figure, use the answer tool instead." So the card demonstrated the one routing the tool argues against. Replaced with a chart request across two entities, which is what search is for, and the example now passes the whole toolset the way the package's README does. Verified by running it, not just compiling it: the model calls takoSearch twice and takoContents twice, with zero tool errors. Other fields: - description covered takoSearch alone; the package exports takoSearch, takoAnswer and takoContents. - docsUrl pointed at a GitHub README; repointed at the integration guide, matching how exa, tavily, firecrawl and valyu link to vendor-hosted pages. - apiKeyUrl pointed at the site root, leaving the reader to find the key page. - tags gains "extraction", an existing tag in this file that takoContents fits. slug and name are unchanged, so /resources/tools/tako-search keeps working. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rewrites the description against Tako's own positioning at docs.tako.com/documentation/getting-started/what-is-tako/overview, which leads with the thing the previous text left out: Tako returns curated structured data and live web search from one API, so an agent does not have to choose between a data API that misses most questions and a search API that makes the agent read the pages itself. The new text also maps the three exported tools onto what each returns, which the docs do explicitly and which the entry could not, having described only search. Coverage list follows the docs rather than the longer list in the package's tool descriptions. 440 characters, against a median of 232 and a maximum of 505 in this file. Leads with the product name to match exa, valyu and firecrawl. Contains no apostrophe, so single quotes stay correct under `singleQuote: true` — the previous value needed double quotes for one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Replaces the chart prompt with "What are today's top performing stocks?", a question closer to what somebody evaluating the package would actually ask. Verified by running it: the model calls takoSearch, which returns a "Top Performing Stocks" card plus five web results, then takoContents to read the rows behind the card. Zero tool errors, and the answer names real tickers with their percent change. The previous prompt exercised the same two tools, so this is a readability change rather than a behavioural one. The prompt string uses double quotes because it contains an apostrophe. Every other prompt in this file is single-quoted and none contain one, so this is the first exception; `node --check` on the example text confirms it parses as a reader would copy it. oxfmt leaves it alone, since a formatter does not reach inside a template literal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates the existing
tako-searchentry incontent/tools-registry/registry.tsfor@takoviz/ai-sdk3.0.0. One file, +8/-6. No new entry and no new page — the listing already renders at /resources/tools/tako-search.The code example demonstrated the routing the tool argues against
This was the substantive problem, and it is why the example changed rather than just the metadata.
The entry prompted
'What is the stock price of Nvidia?'againsttakoSearch. The package's owntakoSearchdescription — shipped in 3.0.0, read out of the published tarball — says:So the card showed a single-figure lookup routed to the one tool the package tells the model not to use for it. It compiled and ran, which is why it survived; it just taught the wrong thing.
The new prompt asks the kind of question somebody evaluating the package would actually ask, and it is a breadth question rather than a single figure — which is what
takoSearchis for. The example also passes the full toolset, the way the package's own README does, consistent withsuperagent,you-search,bedrock-agentcoreandnitrosend, which already show more than one tool.Note the prompt string uses double quotes, because it contains an apostrophe. Every other prompt in this file is single-quoted and none contain one, so this is the first exception.
node --checkon the extracted example confirms it parses exactly as a reader would copy it; oxfmt does not reach inside a template literal, so it has no opinion here.Field changes
descriptiontakoSearchonlycodeExampledocsUrlgithub.com/TakoData/ai-sdk#readmedocs.tako.com/documentation/integrations/vercel-ai-sdkapiKeyUrlhttps://tako.comhttps://tako.com/console/api-keystagsextractiondescription— the previous text describedtakoSearchalone, so the card understated a package that exports three tools. Rewritten against Tako's own positioning, which leads with the part that was missing entirely: Tako returns curated structured data and live web search from one API, so an agent need not choose between a data API that misses most questions and a search API that makes the agent read the pages itself. The new text also maps each tool to what it returns.440 characters, against a median of 232 and a maximum of 505 in this file. Leads with the product name, matching
exa,valyuandfirecrawl. Deliberately contains no apostrophe, so single quotes remain correct undersingleQuote: true— the previous value needed double quotes for one.docsUrlis the card's "Learn More" link and landed on a GitHub README. Repointed at the integration guide, matching how neighbouring entries link to vendor-hosted pages (exa→docs.exa.ai/reference/vercel,tavily→docs.tavily.com/documentation/integrations/vercel,firecrawl→docs.firecrawl.dev/integrations/ai-sdk,valyu→docs.valyu.ai/integrations/vercel-ai-sdk).apiKeyUrlis the "Get API Key" button and pointed at the site root. It now points at the key page.extractionis already used by five entries in this file, andtakoContentsextracts web page text, so the tag applies.Verification
The contributing guide asks for an example that is tested, so it was executed rather than only typechecked:
takoSearchreturns a "Top Performing Stocks" card plus five web results; the model then callstakoContentsto read the rows behind the card, and the answer names real tickers with their percent change.ai@7and@takoviz/ai-sdk@3.0.0— the model reaches fortakoSearch, thentakoContentsto read the rows behind a card. Zero tool errors.node --checkregistry.tstypechecks under--strictoxfmt0.62.0 with this repo's.oxfmtrc.jsoncreports no changesCONTRIBUTING.md: changesets are not needed for docs)mainTwo deviations were needed to run it locally, neither affecting the published example:
openai('gpt-5.2')instead of the plain'openai/gpt-5.2'string, because that string routes through AI Gateway and only a direct OpenAI key was available; and an explicit TakobaseUrl, because the key on hand was not a production one. The example in the entry keeps the plain model string used by other entries in this file.Also worth stating: the prompt was chosen from measurement, not taste. A first attempt —
'Compare Nvidia and AMD revenue growth over the last decade'— produced a good answer but routed totakoAnswertwice and never calledtakoSearch, which is odd for an entry named "Tako Search". Several candidates were run before settling on one that exercises the named tool.One caveat a maintainer should have rather than discover:
today'smakes this prompt time-sensitive. It was run on a weekday; over a weekend or a market holiday the card reports the last trading session, which is still a correct answer but not literally today. That is a property of the question, not of the tool.Deliberately unchanged
slugstaystako-search, so the existing URL keeps working.namestays "Tako Search". "Tako" would fit the package better now that it is three tools, but renaming the card is gratuitous churn and the slug would no longer match.model: 'openai/gpt-5.2'is current and used by other entries here.installCommand,npmUrl,websiteUrl,apiKeyEnvNameare all correct.Supersedes
This replaces #18380 and #18355, both of which will be closed. #18380 changed three metadata fields and explicitly left
codeExamplealone; #18355 proposed a community-provider page, which is the wrong home —@takoviz/ai-sdkexports tools rather than implementing a provider interface, so the tools registry is the right listing.