Skip to content

Commit f99518b

Browse files
waleedlatif1claude
andauthored
feat(calcom): added calcom (#3070)
* feat(tools): added calcom * added more triggers, tested * updated regex in script for release to be more lenient * fix(tag-dropdown): performance improvements and scroll bug fixes - Add flatTagIndexMap for O(1) tag lookups (replaces O(n²) findIndex calls) - Memoize caret position calculation to avoid DOM manipulation on every render - Use refs for inputValue/cursorPosition to keep handleTagSelect callback stable - Change itemRefs from index-based to tag-based keys to prevent stale refs - Fix scroll jump in nested folders by removing scroll reset from registerFolder - Add onFolderEnter callback for scroll reset when entering folder via keyboard - Disable keyboard navigation wrap-around at boundaries - Simplify selection reset to single effect on flatTagList.length change Also: - Add safeCompare utility for timing-safe string comparison - Refactor webhook signature validation to use safeCompare Co-Authored-By: Claude Opus 4.5 <[email protected]> * updated types * fix(calcom): simplify required field constraints for booking attendee The condition field already restricts these to calcom_create_booking, so simplified to required: true. Per Cal.com API docs, email is optional while name and timeZone are required. Co-Authored-By: Claude Opus 4.5 <[email protected]> * added tests * updated folder multi select, updated calcom and github tools and docs generator script * updated drag, updated outputs for tools, regen docs with nested docs script * updated setup instructions links, destructure trigger outputs, fix text subblock styling * updated docs gen script * updated docs script * updated docs script * updated script * remove destructuring of stripe webhook * expanded wand textarea, updated calcom tools --------- Co-authored-by: Claude Opus 4.5 <[email protected]>
1 parent 2b026de commit f99518b

File tree

524 files changed

+32685
-8684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

524 files changed

+32685
-8684
lines changed

apps/docs/components/icons.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5113,3 +5113,42 @@ export function PulseIcon(props: SVGProps<SVGSVGElement>) {
51135113
</svg>
51145114
)
51155115
}
5116+
5117+
export function CalComIcon(props: SVGProps<SVGSVGElement>) {
5118+
return (
5119+
<svg
5120+
{...props}
5121+
width='101'
5122+
height='22'
5123+
viewBox='0 0 101 22'
5124+
fill='currentColor'
5125+
xmlns='http://www.w3.org/2000/svg'
5126+
>
5127+
<path
5128+
d='M10.0582 20.817C4.32115 20.817 0 16.2763 0 10.6704C0 5.04589 4.1005 0.467773 10.0582 0.467773C13.2209 0.467773 15.409 1.43945 17.1191 3.66311L14.3609 5.96151C13.2025 4.72822 11.805 4.11158 10.0582 4.11158C6.17833 4.11158 4.04533 7.08268 4.04533 10.6704C4.04533 14.2582 6.38059 17.1732 10.0582 17.1732C11.7866 17.1732 13.2577 16.5566 14.4161 15.3233L17.1375 17.7151C15.501 19.8453 13.2577 20.817 10.0582 20.817Z'
5129+
fill='#292929'
5130+
/>
5131+
<path
5132+
d='M29.0161 5.88601H32.7304V20.4612H29.0161V18.331C28.2438 19.8446 26.9566 20.8536 24.4927 20.8536C20.5577 20.8536 17.4133 17.4341 17.4133 13.2297C17.4133 9.02528 20.5577 5.60571 24.4927 5.60571C26.9383 5.60571 28.2438 6.61477 29.0161 8.12835V5.88601ZM29.1264 13.2297C29.1264 10.95 27.5634 9.06266 25.0995 9.06266C22.7274 9.06266 21.1828 10.9686 21.1828 13.2297C21.1828 15.4346 22.7274 17.3967 25.0995 17.3967C27.5451 17.3967 29.1264 15.4907 29.1264 13.2297Z'
5133+
fill='#292929'
5134+
/>
5135+
<path d='M35.3599 0H39.0742V20.4427H35.3599V0Z' fill='#292929' />
5136+
<path
5137+
d='M40.7291 18.5182C40.7291 17.3223 41.6853 16.3132 42.9908 16.3132C44.2964 16.3132 45.2158 17.3223 45.2158 18.5182C45.2158 19.7515 44.278 20.7605 42.9908 20.7605C41.7037 20.7605 40.7291 19.7515 40.7291 18.5182Z'
5138+
fill='#292929'
5139+
/>
5140+
<path
5141+
d='M59.4296 18.1068C58.0505 19.7885 55.9543 20.8536 53.4719 20.8536C49.0404 20.8536 45.7858 17.4341 45.7858 13.2297C45.7858 9.02528 49.0404 5.60571 53.4719 5.60571C55.8623 5.60571 57.9402 6.61477 59.3193 8.20309L56.4508 10.6136C55.7336 9.71667 54.7958 9.04397 53.4719 9.04397C51.0999 9.04397 49.5553 10.95 49.5553 13.211C49.5553 15.472 51.0999 17.378 53.4719 17.378C54.9062 17.378 55.8991 16.6306 56.6346 15.6215L59.4296 18.1068Z'
5142+
fill='#292929'
5143+
/>
5144+
<path
5145+
d='M59.7422 13.2297C59.7422 9.02528 62.9968 5.60571 67.4283 5.60571C71.8598 5.60571 75.1144 9.02528 75.1144 13.2297C75.1144 17.4341 71.8598 20.8536 67.4283 20.8536C62.9968 20.8349 59.7422 17.4341 59.7422 13.2297ZM71.3449 13.2297C71.3449 10.95 69.8003 9.06266 67.4283 9.06266C65.0563 9.04397 63.5117 10.95 63.5117 13.2297C63.5117 15.4907 65.0563 17.3967 67.4283 17.3967C69.8003 17.3967 71.3449 15.4907 71.3449 13.2297Z'
5146+
fill='#292929'
5147+
/>
5148+
<path
5149+
d='M100.232 11.5482V20.4428H96.518V12.4638C96.518 9.94119 95.3412 8.85739 93.576 8.85739C91.921 8.85739 90.7442 9.67958 90.7442 12.4638V20.4428H87.0299V12.4638C87.0299 9.94119 85.8346 8.85739 84.0878 8.85739C82.4329 8.85739 80.9802 9.67958 80.9802 12.4638V20.4428H77.2659V5.8676H80.9802V7.88571C81.7525 6.31607 83.15 5.53125 85.3014 5.53125C87.3425 5.53125 89.0525 6.5403 89.9903 8.24074C90.9281 6.50293 92.3072 5.53125 94.8079 5.53125C97.8603 5.54994 100.232 7.86702 100.232 11.5482Z'
5150+
fill='#292929'
5151+
/>
5152+
</svg>
5153+
)
5154+
}

apps/docs/components/ui/icon-mapping.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
AsanaIcon,
1414
BrainIcon,
1515
BrowserUseIcon,
16+
CalComIcon,
1617
CalendlyIcon,
1718
CirclebackIcon,
1819
ClayIcon,
@@ -141,6 +142,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
141142
arxiv: ArxivIcon,
142143
asana: AsanaIcon,
143144
browser_use: BrowserUseIcon,
145+
calcom: CalComIcon,
144146
calendly: CalendlyIcon,
145147
circleback: CirclebackIcon,
146148
clay: ClayIcon,

apps/docs/content/docs/en/tools/a2a.mdx

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ Send a message to an external A2A-compatible agent.
5252

5353
| Parameter | Type | Description |
5454
| --------- | ---- | ----------- |
55-
| `content` | string | The text response from the agent |
56-
| `taskId` | string | Task ID for follow-up interactions |
57-
| `contextId` | string | Context ID for conversation continuity |
58-
| `state` | string | Task state |
59-
| `artifacts` | array | Structured output artifacts |
60-
| `history` | array | Full message history |
55+
| `content` | string | Text response content from the agent |
56+
| `taskId` | string | Unique task identifier |
57+
| `contextId` | string | Groups related tasks/messages |
58+
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) |
59+
| `artifacts` | array | Task output artifacts |
60+
| `history` | array | Conversation history \(Message array\) |
6161

6262
### `a2a_get_task`
6363

@@ -76,11 +76,11 @@ Query the status of an existing A2A task.
7676

7777
| Parameter | Type | Description |
7878
| --------- | ---- | ----------- |
79-
| `taskId` | string | Task ID |
80-
| `contextId` | string | Context ID |
81-
| `state` | string | Task state |
82-
| `artifacts` | array | Output artifacts |
83-
| `history` | array | Message history |
79+
| `taskId` | string | Unique task identifier |
80+
| `contextId` | string | Groups related tasks/messages |
81+
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) |
82+
| `artifacts` | array | Task output artifacts |
83+
| `history` | array | Conversation history \(Message array\) |
8484

8585
### `a2a_cancel_task`
8686

@@ -99,7 +99,7 @@ Cancel a running A2A task.
9999
| Parameter | Type | Description |
100100
| --------- | ---- | ----------- |
101101
| `cancelled` | boolean | Whether cancellation was successful |
102-
| `state` | string | Task state after cancellation |
102+
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) |
103103

104104
### `a2a_get_agent_card`
105105

@@ -116,14 +116,15 @@ Fetch the Agent Card (discovery document) for an A2A agent.
116116

117117
| Parameter | Type | Description |
118118
| --------- | ---- | ----------- |
119-
| `name` | string | Agent name |
120-
| `description` | string | Agent description |
121-
| `url` | string | Agent endpoint URL |
122-
| `version` | string | Agent version |
123-
| `capabilities` | object | Agent capabilities \(streaming, pushNotifications, etc.\) |
124-
| `skills` | array | Skills the agent can perform |
125-
| `defaultInputModes` | array | Default input modes \(text, file, data\) |
126-
| `defaultOutputModes` | array | Default output modes \(text, file, data\) |
119+
| `name` | string | Agent display name |
120+
| `description` | string | Agent purpose/capabilities |
121+
| `url` | string | Service endpoint URL |
122+
| `provider` | object | Creator organization details |
123+
| `capabilities` | object | Feature support matrix |
124+
| `skills` | array | Available operations |
125+
| `version` | string | A2A protocol version supported by the agent |
126+
| `defaultInputModes` | array | Default input content types accepted by the agent |
127+
| `defaultOutputModes` | array | Default output content types produced by the agent |
127128

128129
### `a2a_resubscribe`
129130

@@ -141,12 +142,12 @@ Reconnect to an ongoing A2A task stream after connection interruption.
141142

142143
| Parameter | Type | Description |
143144
| --------- | ---- | ----------- |
144-
| `taskId` | string | Task ID |
145-
| `contextId` | string | Context ID |
146-
| `state` | string | Current task state |
145+
| `taskId` | string | Unique task identifier |
146+
| `contextId` | string | Groups related tasks/messages |
147+
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) |
147148
| `isRunning` | boolean | Whether the task is still running |
148-
| `artifacts` | array | Output artifacts |
149-
| `history` | array | Message history |
149+
| `artifacts` | array | Task output artifacts |
150+
| `history` | array | Conversation history \(Message array\) |
150151

151152
### `a2a_set_push_notification`
152153

@@ -166,9 +167,9 @@ Configure a webhook to receive task update notifications.
166167

167168
| Parameter | Type | Description |
168169
| --------- | ---- | ----------- |
169-
| `url` | string | Configured webhook URL |
170-
| `token` | string | Token for webhook validation |
171-
| `success` | boolean | Whether configuration was successful |
170+
| `url` | string | HTTPS webhook URL for notifications |
171+
| `token` | string | Authentication token for webhook validation |
172+
| `success` | boolean | Whether the operation was successful |
172173

173174
### `a2a_get_push_notification`
174175

@@ -186,9 +187,8 @@ Get the push notification webhook configuration for a task.
186187

187188
| Parameter | Type | Description |
188189
| --------- | ---- | ----------- |
189-
| `url` | string | Configured webhook URL |
190-
| `token` | string | Token for webhook validation |
191-
| `exists` | boolean | Whether a push notification config exists |
190+
| `token` | string | Authentication token for webhook validation |
191+
| `exists` | boolean | Whether the resource exists |
192192

193193
### `a2a_delete_push_notification`
194194

@@ -207,6 +207,6 @@ Delete the push notification webhook configuration for a task.
207207

208208
| Parameter | Type | Description |
209209
| --------- | ---- | ----------- |
210-
| `success` | boolean | Whether deletion was successful |
210+
| `success` | boolean | Whether the operation was successful |
211211

212212

apps/docs/content/docs/en/tools/ahrefs.mdx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ Get backlink statistics for a target domain or URL. Returns totals for different
9898
| Parameter | Type | Description |
9999
| --------- | ---- | ----------- |
100100
| `stats` | object | Backlink statistics summary |
101-
|`total` | number | Total number of live backlinks |
102-
|`dofollow` | number | Number of dofollow backlinks |
103-
|`nofollow` | number | Number of nofollow backlinks |
104-
|`text` | number | Number of text backlinks |
105-
|`image` | number | Number of image backlinks |
106-
|`redirect` | number | Number of redirect backlinks |
101+
| `total` | number | Total number of live backlinks |
102+
| `dofollow` | number | Number of dofollow backlinks |
103+
| `nofollow` | number | Number of nofollow backlinks |
104+
| `text` | number | Number of text backlinks |
105+
| `image` | number | Number of image backlinks |
106+
| `redirect` | number | Number of redirect backlinks |
107107

108108
### `ahrefs_referring_domains`
109109

@@ -205,14 +205,14 @@ Get detailed metrics for a keyword including search volume, keyword difficulty,
205205
| Parameter | Type | Description |
206206
| --------- | ---- | ----------- |
207207
| `overview` | object | Keyword metrics overview |
208-
|`keyword` | string | The analyzed keyword |
209-
|`searchVolume` | number | Monthly search volume |
210-
|`keywordDifficulty` | number | Keyword difficulty score \(0-100\) |
211-
|`cpc` | number | Cost per click in USD |
212-
|`clicks` | number | Estimated clicks per month |
213-
|`clicksPercentage` | number | Percentage of searches that result in clicks |
214-
|`parentTopic` | string | The parent topic for this keyword |
215-
|`trafficPotential` | number | Estimated traffic potential if ranking #1 |
208+
| `keyword` | string | The analyzed keyword |
209+
| `searchVolume` | number | Monthly search volume |
210+
| `keywordDifficulty` | number | Keyword difficulty score \(0-100\) |
211+
| `cpc` | number | Cost per click in USD |
212+
| `clicks` | number | Estimated clicks per month |
213+
| `clicksPercentage` | number | Percentage of searches that result in clicks |
214+
| `parentTopic` | string | The parent topic for this keyword |
215+
| `trafficPotential` | number | Estimated traffic potential if ranking #1 |
216216

217217
### `ahrefs_broken_backlinks`
218218

apps/docs/content/docs/en/tools/asana.mdx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ Retrieve a single task by GID or get multiple tasks with filters
5959
| `notes` | string | Task notes or description |
6060
| `completed` | boolean | Whether the task is completed |
6161
| `assignee` | object | Assignee details |
62-
|`gid` | string | Assignee GID |
63-
|`name` | string | Assignee name |
62+
| `gid` | string | Assignee GID |
63+
| `name` | string | Assignee name |
6464
| `created_by` | object | Creator details |
65-
|`gid` | string | Creator GID |
66-
|`name` | string | Creator name |
65+
| `gid` | string | Creator GID |
66+
| `name` | string | Creator name |
6767
| `due_on` | string | Due date \(YYYY-MM-DD\) |
6868
| `created_at` | string | Task creation timestamp |
6969
| `modified_at` | string | Task last modified timestamp |
@@ -175,15 +175,15 @@ Search for tasks in an Asana workspace
175175
|`notes` | string | Task notes |
176176
|`completed` | boolean | Completion status |
177177
|`assignee` | object | Assignee details |
178-
|`gid` | string | Assignee GID |
179-
|`name` | string | Assignee name |
178+
| `gid` | string | Assignee GID |
179+
| `name` | string | Assignee name |
180180
|`due_on` | string | Due date |
181181
|`created_at` | string | Creation timestamp |
182182
|`modified_at` | string | Modified timestamp |
183183
| `next_page` | object | Pagination info |
184-
|`offset` | string | Offset token |
185-
|`path` | string | API path |
186-
|`uri` | string | Full URI |
184+
| `offset` | string | Offset token |
185+
| `path` | string | API path |
186+
| `uri` | string | Full URI |
187187

188188
### `asana_add_comment`
189189

@@ -206,7 +206,7 @@ Add a comment (story) to an Asana task
206206
| `text` | string | Comment text content |
207207
| `created_at` | string | Comment creation timestamp |
208208
| `created_by` | object | Comment author details |
209-
|`gid` | string | Author GID |
210-
|`name` | string | Author name |
209+
| `gid` | string | Author GID |
210+
| `name` | string | Author name |
211211

212212

0 commit comments

Comments
 (0)