Discover tools by describing the job (paid)
discover_smartlooot: COSTS MONEY (paid search of the data API catalog, takes about 1-2 seconds) -- use discover (free, instant) first and only reach for this when a lexical search cannot express the job, e.g. "find someone's work email from their name and company" where no endpoint's own text says "email". Two stages: (1) the free lexical index narrows the whole catalog to a shortlist; (2) ONE typesafe-choice run (TypeSafe's Jev model, billed per input token: about $0.00005 for a typical shortlist, and a call holds at most about $0.0004 before it settles to real usage) judges that shortlist against your useCase and returns the best fit plus a probability for every candidate. candidates comes back ranked by Jev's probability, each row carrying probability and lexicalRank (where the free search had put it). smart carries the winning endpointId, Jev's confidence, and the runId/cost of the judging call -- it appears on your normal run history and bill like any other run, charged to this workspace. Where the server has the job-first skip on, a query the free search already resolves to a single job with a clear top endpoint makes no paid call: smart comes back with model: "job-first", runId: null, costUsd: 0 and reason: "single_job_clear_winner", and candidates keep the free order. If TypeSafe fails, times out, or answers unusably, this NEVER errors: it returns the plain lexical shortlist with smart: null and degraded: { reason, detail }, so you always get an answer. When the free search finds nothing, no paid call is made: degraded.reason is "no_supply_for_job" when no endpoint does the job the use case names (with search_catalog's warnings and unsuppliedJobs), else "no_candidates" (with priceHint when a price filter removed every match). A timed-out judging run is cancelled; it is still billed if it had already reached the provider. Follow up with inspect/run on the chosen endpointId exactly as you would after discover.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| filters | No | ||
| useCase | Yes | ||
| candidateLimit | No |