feat(integrations): add Quartr integration with company, event, document, audio, and live event tools#4986
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@greptile |
|
@cursor review |
️✅ There are no secrets present in this pull request anymore.If these secrets were true positive and are still valid, we highly recommend you to revoke them. 🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request. |
PR SummaryMedium Risk Overview The PR introduces 17 tools under Docs get Reviewed by Cursor Bugbot for commit 451e122. Configure here. |
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 8aaecf1. Configure here.
8aaecf1 to
254be54
Compare
Greptile SummaryThis PR adds a full Quartr integration with 17 tools covering the entire Quartr public API v3 — companies, events, event summaries, event/document types, documents, reports, slide decks, transcripts, archived audio, and live events. Authentication uses
Confidence Score: 5/5New integration with no changes to existing tools or shared infrastructure — safe to merge. All 17 tools follow consistent, well-tested patterns already in the codebase. The block UI conditions are correctly scoped, previously flagged issues have been resolved, API key credentials use user-only visibility, DTO mapping handles every optional field defensively, and the file-download tools use the established ToolFileData pattern. No regressions to existing functionality. No files require special attention. The implementation is self-contained under apps/sim/tools/quartr/ and apps/sim/blocks/blocks/quartr.ts. Important Files Changed
Sequence DiagramsequenceDiagram
participant UI as Block UI
participant Block as QuartrBlock
participant Tool as Quartr Tool (selected by operation)
participant API as Quartr API v3
UI->>Block: User selects operation + fills params
Block->>Tool: "Dispatches to quartr_{operation} via tools.config.tool()"
Tool->>API: "GET {endpoint}?{built params} (x-api-key header)"
API-->>Tool: "JSON envelope {data, pagination}"
Tool->>Tool: parseQuartrResponse() map DTOs
Note over Tool: File tools also return ToolFileData with url fileUrl
Tool-->>Block: "{success, output}"
Block-->>UI: Conditional outputs shown for active operation
Reviews (3): Last reviewed commit: "fix(quartr): address review findings — n..." | Re-trigger Greptile |
Greptile SummaryThis PR adds a complete Quartr integration with 17 tools covering the full public API v3: company/event lookups, AI-generated event summaries, document listing and download (reports, slide decks, transcripts), archived audio, and live event streams. The implementation is well-structured with shared utilities, consistent DTO-to-domain mapping, proper
Confidence Score: 4/5Safe to merge — the integration is self-contained, additive, and follows established tool/block conventions throughout. All 17 tools follow consistent, well-tested patterns; shared utilities are clean; API key visibility is correct. The two findings are both description-level inconsistencies in list_live_events.ts: the states filter omits recordingAvailable (present in the output description) and normalizeQuartrIdList is applied to state strings rather than IDs. Neither affects runtime behavior. apps/sim/tools/quartr/list_live_events.ts — states parameter description and normalizer choice. Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant QuartrBlock
participant ToolSelector
participant QuartrTool
participant QuartrAPI
participant FileToolProcessor
User->>QuartrBlock: Configure operation + params
QuartrBlock->>ToolSelector: "quartr_${operation}"
ToolSelector->>QuartrTool: dispatch with params
alt List operations
QuartrTool->>QuartrAPI: "GET /public/v3/{endpoint}?filters"
QuartrAPI-->>QuartrTool: PaginatedDto
QuartrTool-->>QuartrBlock: items[], nextCursor
else Get single entity
QuartrTool->>QuartrAPI: "GET /public/v3/{endpoint}/{id}"
QuartrAPI-->>QuartrTool: SingleDto
QuartrTool-->>QuartrBlock: entity
else Document file download
QuartrTool->>QuartrAPI: "GET /public/v3/documents/{type}/{id}?expand=event"
QuartrAPI-->>QuartrTool: SingleDto with fileUrl
QuartrTool-->>QuartrBlock: "document + ToolFileData{url}"
QuartrBlock->>FileToolProcessor: ToolFileData with pre-signed fileUrl
FileToolProcessor->>QuartrAPI: GET fileUrl (CDN)
FileToolProcessor-->>QuartrBlock: file stored in execution files
end
Reviews (2): Last reviewed commit: "feat(integrations): add Quartr integrati..." | Re-trigger Greptile |
|
@greptile |
|
@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 451e122. Configure here.
…ent, audio, and live event tools
…ng boolean toggles, accurate descriptions, NestJS validation error extractor
451e122 to
d56689a
Compare
Summary
x-api-keyheader; all params and outputs verified against Quartr's OpenAPI 3.0 specToolFileDataURL pattern (FileToolProcessor), so PDFs/transcript JSON flow into downstream blocksType of Change
Testing
check:api-validationpassesChecklist