feat(trello): expand tool coverage and fix API gaps#5357
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Existing operations gain API-aligned options: open/closed/all filters on Get Lists and List Cards, Risk note: Delete Card is destructive; workflows using OAuth can permanently remove cards if misconfigured. Reviewed by Cursor Bugbot for commit f76f064. Configure here. |
Greptile SummaryThis PR expands the Trello integration from 12 to 20 tools by closing real endpoint gaps identified in a live API audit, and enhances 4 existing tools with missing parameters. Every new tool is fully wired through the complete stack: tool file → TypeScript types → barrel export → tool registry → block config (dropdown, subblock conditions, switch case, input/output schema).
Confidence Score: 5/5Purely additive — no existing tool signatures or outputs are changed, only new tools are introduced and optional params appended to existing ones. Every new tool follows the same validated pattern as the existing twelve: IDs checked before URL construction, mapping functions guard against malformed API responses, and the block config condition/required arrays are consistent with what each tool actually needs. The idOrganization schema gap flagged in the previous review round has been resolved in search.ts. No regressions to existing operations were found. No files require special attention; all 17 changed files are internally consistent and follow established codebase conventions. Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant U as User / LLM
participant B as Trello Block (trello.ts)
participant R as Tool Registry
participant T as Tool (e.g. search.ts)
participant TR as Trello REST API
U->>B: Select operation + fill subblock fields
B->>B: tools.config switch to build typed params
B->>R: Look up tool by id
R->>T: Invoke ToolConfig
T->>T: url() validate and build URL
T->>TR: HTTP GET/POST/PUT/DELETE
TR-->>T: JSON response
T->>T: transformResponse via mapTrello helpers
T-->>B: success and output
B-->>U: Typed outputs
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant U as User / LLM
participant B as Trello Block (trello.ts)
participant R as Tool Registry
participant T as Tool (e.g. search.ts)
participant TR as Trello REST API
U->>B: Select operation + fill subblock fields
B->>B: tools.config switch to build typed params
B->>R: Look up tool by id
R->>T: Invoke ToolConfig
T->>T: url() validate and build URL
T->>TR: HTTP GET/POST/PUT/DELETE
TR-->>T: JSON response
T->>T: transformResponse via mapTrello helpers
T-->>B: success and output
B-->>U: Typed outputs
Reviews (5): Last reviewed commit: "fix(trello): address review feedback on ..." | Re-trigger 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 17407c4. Configure here.
|
Ran one more absolute-certainty pass on API alignment before merge, fetching Trello's docs endpoint-by-endpoint against every tool. Found one real gap: |
|
@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 c648610. Configure here.
|
Good catch — Greptile was right and my prior fix (c648610) was wrong. Reverted in a50782b. Atlassian's auto-generated docs for |
|
@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 a50782b. Configure here.
- add delete card, remove label/member, update list, add/update checklist item, list members, and search tools - add filter support to list lists/cards, since/before paging to get actions, member assignment on card creation - promote move-to-list field out of advanced mode
- idChecklist can be absent on Trello checkItem responses, so stop treating it as required - validate state/name is provided before building the update-checklist-item request URL - reject Update Checklist Item at the block level when neither State nor New Item Name is set - add missing idOrganization field to search's board output schema
a50782b to
f76f064
Compare
|
@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 f76f064. Configure here.
Summary
filteron Get Lists/List Cards (archived items were previously unreachable), addedsince/beforepaging to Get Actions, allowed assigning members on card creation, promoted "Move to List ID" out of advanced mode since it's the core mechanic of the card-router templateType of Change
Testing
bun run type-checkand biome lint cleanChecklist