feat(crunchbase): add Crunchbase Data API integration - #6875
Merged
Conversation
Covers the v4 Data API end to end: dedicated search and lookup operations for organizations, people, funding rounds, and acquisitions, plus generic collection-parameterized search and lookup reaching the remaining 39 collections, single-card paging, autocomplete, the deleted-entity feed, and fields metadata. Adds a crunchbase-errors extractor: the API answers failures with a bare JSON array, which no existing extractor reads, so an auth or predicate failure would have reported only its HTTP status.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryCursor Bugbot is generating a summary for commit a9a4438. Configure here. |
Contributor
Greptile SummaryAdds a Crunchbase Data API integration covering search, lookup, card pagination, autocomplete, deleted entities, and field metadata.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/tools/crunchbase/get_entity_card.ts | Parses supported array-valued cards, derives pagination cursors, and safely returns an empty page for unknown card shapes. |
| apps/sim/tools/error-extractors.ts | Adds and registers extraction of messages from Crunchbase’s top-level error array. |
| apps/sim/blocks/blocks/crunchbase.ts | Defines the Crunchbase block UI and maps fourteen operations to their registered tools. |
| apps/sim/tools/crunchbase/crunchbase.test.ts | Covers request construction, validation, response mapping, card-shape handling, pagination, and error extraction. |
| apps/sim/tools/registry.ts | Registers all newly added Crunchbase tools for execution. |
Reviews (2): Last reviewed commit: "fix(crunchbase): honor card paging limit..." | Re-trigger Greptile
- Cap a card page at the documented 100-item maximum instead of Search's 1000, which the shared Limit field made easy to carry over - Always request the card's identifier so a narrowed cardFieldIds cannot return a full page with a null cursor and stall a paging loop - Reject the mutually-exclusive afterId/beforeId pair on the card and deleted-entity endpoints, not just on search - Report an unexpected card shape as empty rather than wrapping the envelope as a one-row page
Collaborator
Author
Collaborator
Author
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 3454575. Configure here.
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.
Summary
crunchbase-errorsextractor: Crunchbase answers failures with a bare JSON array, which no existing extractor reads, so an auth or predicate failure would have reported only its HTTP statusCrunchbaseIconwith the brand markEvery collection id, field enum, operator enum, request body, and response shape was derived from Crunchbase's published OpenAPI documents rather than inferred — no response schema is guessed.
Type of Change
Testing
Tested manually. 58 unit tests across the block, the tools, and the error extractor; each new test was mutation-verified by reverting its fix and watching it go red.
bun run lint,bun run check:audits(30 audits), andbun run type-checkall pass.Note: the live API cannot be exercised without a key — every request returns
401 Unauthorized user_key— so the wire contract is verified against the published specs and unit tests, not a real round trip.Checklist