Skip to content

[exa-js]: expose search output schema for all search types#149

Draft
LiamHz wants to merge 1 commit intomasterfrom
liamhz/search-output-schema-all-search-types
Draft

[exa-js]: expose search output schema for all search types#149
LiamHz wants to merge 1 commit intomasterfrom
liamhz/search-output-schema-all-search-types

Conversation

@LiamHz
Copy link
Copy Markdown
Contributor

@LiamHz LiamHz commented Mar 11, 2026

Summary

This PR updates exa-js so the public /search SDK surface matches the new Vulcan behavior where outputSchema works across all search types, not only deep variants.

The runtime request path already forwarded outputSchema, so the main changes are in the exported TypeScript surface and user-facing docs. RegularSearchOptions now allows outputSchema for any /search type, SearchResponse.output is documented generically instead of as deep-only output, and the SDK exports generic SearchOutputSchema / SearchOutput aliases while keeping the existing deep-named aliases for compatibility. The README example and explanatory copy were updated to show structured output on a non-deep search, and the package version was bumped from 2.8.0 to 2.9.0.

User Impact

JavaScript SDK users can now write exa.search(..., { type: "auto", outputSchema: ... }) without fighting the type system, and the docs no longer tell them they need deep search just to request structured output. Existing deep-search code keeps working unchanged.

Validation

  • npm test -- test/unit/search.test.ts
  • npm run build
  • npm run typecheck currently fails in this repo for pre-existing unrelated issues in scripts/generate-docs.ts, findSimilar.integration.test.ts, and multiple websets tests; none of those failures were introduced by this diff.

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