Skip to content

Commit 13f4b09

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
Merge staging into feat/figma-actions
2 parents 1ecc652 + 52878d1 commit 13f4b09

23 files changed

Lines changed: 720 additions & 402 deletions

File tree

‎.agents/skills/add-block/SKILL.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,11 @@ Use `wandConfig` on fields that are hard to fill by hand — timestamps (`genera
562562

563563
## Tools Configuration
564564

565+
**Write operation ids and tool ids as string literals** in the `operation` dropdown `options` and
566+
`tools.access`, never through constants (`id: SEARCH`, `access: [SEARCH]`). `scripts/generate-docs.ts`
567+
reads them from source with regexes, so a constant parses as empty: the docs page loses its whole
568+
Actions section and the integration catalog ships blank operation descriptions, with no check failing.
569+
565570
**Preferred:** Use tool names directly as dropdown option IDs to avoid switch cases:
566571
```typescript
567572
// Dropdown options use tool IDs directly

‎apps/docs/content/docs/integrations/ashby.mdx‎

Lines changed: 10 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,6 +1045,15 @@ Lists interview schedules in Ashby, optionally filtered by application or interv
10451045
| ↳ `status` | string | Schedule status \(NeedsScheduling, WaitingOnCandidateBooking, Scheduled, Complete, Cancelled, OnHold, etc.\) |
10461046
| ↳ `applicationId` | string | Associated application UUID |
10471047
| ↳ `interviewStageId` | string | Interview stage UUID |
1048+
| ↳ `scheduledBy` | object | User summary |
1049+
| ↳ `id` | string | User UUID |
1050+
| ↳ `firstName` | string | First name |
1051+
| ↳ `lastName` | string | Last name |
1052+
| ↳ `email` | string | Email |
1053+
| ↳ `globalRole` | string | Role |
1054+
| ↳ `isEnabled` | boolean | Whether enabled |
1055+
| ↳ `updatedAt` | string | Last update timestamp |
1056+
| ↳ `managerId` | string | User ID of the user's manager |
10481057
| ↳ `createdAt` | string | ISO 8601 creation timestamp |
10491058
| ↳ `updatedAt` | string | ISO 8601 last update timestamp |
10501059
| ↳ `interviewEvents` | array | Scheduled interview events on this schedule |
@@ -1553,43 +1562,7 @@ Sets several custom field values on one Ashby Application, Candidate, Job, or Op
15531562

15541563
| Parameter | Type | Description |
15551564
| --------- | ---- | ----------- |
1556-
| `candidates` | json | List of candidates with rich fields \(id, name, primaryEmailAddress, primaryPhoneNumber, emailAddresses\[\], phoneNumbers\[\], socialLinks\[\], linkedInUrl, githubUrl, profileUrl, position, company, school, timezone, location with locationComponents\[\], tags\[\], applicationIds\[\], customFields\[\], resumeFileHandle, fileHandles\[\], source with sourceType, creditedToUser, fraudStatus, createdAt, updatedAt\) |
1557-
| `jobs` | json | List of jobs \(id, title, confidential, status, employmentType, locationId, departmentId, defaultInterviewPlanId, interviewPlanIds\[\], customFields\[\], jobPostingIds\[\], customRequisitionId, brandId, hiringTeam\[\], author, createdAt, updatedAt, openedAt, closedAt, location with address, openings\[\] with latestVersion\) |
1558-
| `applications` | json | List of applications \(id, status, customFields\[\], candidate summary, currentInterviewStage, source with sourceType, archiveReason with customFields\[\], archivedAt, job summary, creditedToUser, hiringTeam\[\], appliedViaJobPostingId, submitterClientIp, submitterUserAgent, createdAt, updatedAt\) |
1559-
| `notes` | json | List of notes \(id, content, author, isPrivate, createdAt\) |
1560-
| `offers` | json | List of offers \(id, decidedAt, applicationId, acceptanceStatus, offerStatus, latestVersion with id/startDate/salary/createdAt/openingId/customFields\[\]/fileHandles\[\]/author/approvalStatus\) |
1561-
| `archiveReasons` | json | List of archive reasons \(id, text, reasonType \[RejectedByCandidate/RejectedByOrg/Other\], isArchived\) |
1562-
| `sources` | json | List of sources \(id, title, isArchived, sourceType \{id, title, isArchived\}\) |
1563-
| `customFields` | json | For List Custom Fields, the field definitions \(id, title, isPrivate, fieldType, objectType, isArchived, isRequired, selectableValues\[\] \{label, value, isArchived\}\). For Set Custom Field Values, the field values written to the object \(id, title, isPrivate, valueLabel, value\) |
1564-
| `customField` | json | A single custom field value after a write \(id, title, isPrivate, valueLabel, value\) |
1565-
| `departments` | json | List of departments \(id, name, externalName, isArchived, parentId, createdAt, updatedAt\) |
1566-
| `locations` | json | List of locations \(id, name, externalName, isArchived, isRemote, workplaceType, parentLocationId, type, address with addressCountry/Region/Locality/postalCode/streetAddress\) |
1567-
| `jobPostings` | json | List of job postings \(id, title, jobId, departmentName, teamName, locationName, locationIds, workplaceType, employmentType, isListed, publishedDate, applicationDeadline, externalLink, applyLink, compensationTierSummary, shouldDisplayCompensationOnJobBoard, updatedAt\) |
1568-
| `openings` | json | List of openings \(id, openedAt, closedAt, isArchived, archivedAt, closeReasonId, openingState, latestVersion with identifier/description/authorId/createdAt/teamId/jobIds\[\]/targetHireDate/targetStartDate/isBackfill/employmentType/locationIds\[\]/hiringTeam\[\]/customFields\[\]\) |
1569-
| `users` | json | List of users \(id, firstName, lastName, email, globalRole, isEnabled, updatedAt\) |
1570-
| `interviewSchedules` | json | List of interview schedules \(id, applicationId, interviewStageId, interviewEvents\[\] with interviewerUserIds/startTime/endTime/feedbackLink/location/meetingLink/hasSubmittedFeedback, status, scheduledBy, createdAt, updatedAt\) |
1571-
| `interviewPlans` | json | Interview plans \(id, title, isArchived, createdAt, updatedAt\) |
1572-
| `interviewStages` | json | Ordered interview stages for a plan |
1573-
| `feedback` | json | Submitted application feedback with form definitions and values |
1574-
| `history` | json | Application stage history and allowed actions |
1575-
| `tags` | json | List of candidate tags \(id, title, isArchived\) |
1576-
| `id` | string | Resource UUID |
1577-
| `name` | string | Resource name |
1578-
| `title` | string | Job title or job posting title |
1579-
| `status` | string | Status |
1580-
| `candidate` | json | Candidate summary \(id, name, primaryEmailAddress, primaryPhoneNumber\). For full candidate fields use the candidates list output or the get/create/update candidate operations. |
1581-
| `job` | json | Job details \(id, title, status, employmentType, locationId, departmentId, hiringTeam\[\], author, location, openings\[\], createdAt, updatedAt\) |
1582-
| `application` | json | Application details \(id, status, customFields\[\], candidate, currentInterviewStage, source, archiveReason, job, hiringTeam\[\], createdAt, updatedAt\) |
1583-
| `offer` | json | Offer details \(id, decidedAt, applicationId, acceptanceStatus, offerStatus, latestVersion\) |
1584-
| `jobPosting` | json | Job posting details \(id, title, descriptionPlain, descriptionHtml, descriptionSocial, descriptionParts, departmentName, teamName, teamNameHierarchy\[\], jobId, locationName, locationIds, address, isRemote, workplaceType, employmentType, isListed, publishedDate, applicationDeadline, externalLink, applyLink, compensation, updatedAt, job \[included when expandJob=true\]\) |
1585-
| `content` | string | Note content |
1586-
| `author` | json | Note author \(id, firstName, lastName, email\) |
1587-
| `isPrivate` | boolean | Whether the note is private |
1588-
| `createdAt` | string | ISO 8601 creation timestamp |
1589-
| `applicationId` | string | UUID of the deleted application |
1590-
| `moreDataAvailable` | boolean | Whether more pages exist |
1591-
| `nextCursor` | string | Pagination cursor for next page |
1592-
| `nextSyncCursor` | string | Ashby's opaque token for the next incremental list run, exposed as a cursor so it remains usable in workflow output |
1565+
| `customFields` | array | Custom field values |
15931566

15941567
### Ashby Update Candidate
15951568

‎apps/docs/content/docs/integrations/coda.mdx‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -475,8 +475,6 @@ Get the type and current value of a control in a Coda doc
475475
| Parameter | Type | Description |
476476
| --------- | ---- | ----------- |
477477
| `control` | object | Control details |
478-
| ↳ `controlType` | string | Control type \(aiBlock, button, checkbox, datePicker, dateRangePicker, dateTimePicker, lookup, multiselect, select, scale, slider, reaction, textbox, timePicker\) |
479-
| ↳ `value` | json | Current value \(string, number, boolean, or array of these\) |
480478

481479
### Coda Get Custom Domain Provider
482480

@@ -562,7 +560,6 @@ Get the current computed value of a named formula in a Coda doc
562560
| Parameter | Type | Description |
563561
| --------- | ---- | ----------- |
564562
| `formula` | object | Formula details |
565-
| ↳ `value` | json | Computed value \(string, number, boolean, or array of these\) |
566563

567564
### Coda Get Mutation Status
568565

‎apps/docs/content/docs/integrations/context_dev.mdx‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ Scrape any URL and return clean, LLM-ready markdown content.
5656
| --------- | ---- | ----------- |
5757
| `markdown` | string | Page content as clean markdown |
5858
| `url` | string | The scraped URL |
59+
| `creditsConsumed` | number | Credits consumed by this request |
60+
| `creditsRemaining` | number | Credits remaining on the API key |
5961

6062
### Context.dev Scrape HTML
6163

@@ -80,6 +82,8 @@ Scrape any URL and return the raw HTML content of the page.
8082
| `html` | string | Raw HTML content of the page |
8183
| `url` | string | The scraped URL |
8284
| `type` | string | Detected content type \(html, xml, json, text, csv, markdown, svg, pdf, doc, docx\) |
85+
| `creditsConsumed` | number | Credits consumed by this request |
86+
| `creditsRemaining` | number | Credits remaining on the API key |
8387

8488
### Context.dev Scrape Images
8589

@@ -110,6 +114,8 @@ Discover every image asset on a page, with optional dimension and type enrichmen
110114
| ↳ `alt` | string | Alt text |
111115
| ↳ `enrichment` | json | Optional enrichment \(width, height, mimetype, url, type\) when requested |
112116
| `url` | string | The scraped URL |
117+
| `creditsConsumed` | number | Credits consumed by this request |
118+
| `creditsRemaining` | number | Credits remaining on the API key |
113119

114120
### Context.dev Screenshot
115121

@@ -139,6 +145,8 @@ Capture a screenshot of any web page and store it as a downloadable image file.
139145
| `domain` | string | Domain that was captured |
140146
| `width` | number | Screenshot width in pixels |
141147
| `height` | number | Screenshot height in pixels |
148+
| `creditsConsumed` | number | Credits consumed by this request |
149+
| `creditsRemaining` | number | Credits remaining on the API key |
142150

143151
### Context.dev Crawl
144152

@@ -170,6 +178,8 @@ Crawl an entire website and return each discovered page as clean markdown.
170178
| ↳ `markdown` | string | Page content as markdown |
171179
| ↳ `metadata` | json | Page metadata \(url, title, crawlDepth, statusCode\) |
172180
| `metadata` | object | Crawl summary \(numUrls, maxCrawlDepth, numSucceeded, numFailed, numSkipped\) |
181+
| `creditsConsumed` | number | Credits consumed by this request |
182+
| `creditsRemaining` | number | Credits remaining on the API key |
173183

174184
### Context.dev Map
175185

@@ -192,6 +202,8 @@ Build a sitemap of a domain and return every discovered page URL.
192202
| `domain` | string | The domain that was mapped |
193203
| `urls` | array | All page URLs discovered from the sitemap |
194204
| `meta` | object | Sitemap discovery stats \(sitemapsDiscovered, sitemapsFetched, sitemapsSkipped, errors\) |
205+
| `creditsConsumed` | number | Credits consumed by this request |
206+
| `creditsRemaining` | number | Credits remaining on the API key |
195207

196208
### Context.dev Search
197209

@@ -223,6 +235,8 @@ Search the web with natural language and optionally scrape results to markdown.
223235
| ↳ `relevance` | string | Relevance rating \(high, medium, low\) |
224236
| ↳ `markdown` | json | Scraped markdown for the result \(when markdown scraping is enabled\) |
225237
| `query` | string | The query that was searched |
238+
| `creditsConsumed` | number | Credits consumed by this request |
239+
| `creditsRemaining` | number | Credits remaining on the API key |
226240

227241
### Context.dev Extract
228242

@@ -253,6 +267,8 @@ Crawl a website and extract structured data matching a provided JSON schema.
253267
| `urlsAnalyzed` | array | URLs that were analyzed during extraction |
254268
| `data` | json | Structured data matching the requested schema |
255269
| `metadata` | object | Crawl summary \(numUrls, maxCrawlDepth, numSucceeded, numFailed, numSkipped\) |
270+
| `creditsConsumed` | number | Credits consumed by this request |
271+
| `creditsRemaining` | number | Credits remaining on the API key |
256272

257273
### Context.dev Extract Product
258274

@@ -288,6 +304,8 @@ Detect and extract structured product details from a single product page URL.
288304
| ↳ `image_url` | string | Primary product image URL |
289305
| ↳ `images` | json | Product image URLs |
290306
| ↳ `sku` | string | Product SKU |
307+
| `creditsConsumed` | number | Credits consumed by this request |
308+
| `creditsRemaining` | number | Credits remaining on the API key |
291309

292310
### Context.dev Extract Products
293311

@@ -322,6 +340,8 @@ Extract the product catalog from a brand's website by domain (beta).
322340
| ↳ `image_url` | string | Primary product image URL |
323341
| ↳ `images` | json | Product image URLs |
324342
| ↳ `sku` | string | Product SKU |
343+
| `creditsConsumed` | number | Credits consumed by this request |
344+
| `creditsRemaining` | number | Credits remaining on the API key |
325345

326346
### Context.dev Scrape Fonts
327347

@@ -351,6 +371,8 @@ Extract the font families, usage stats, and font files used by a domain.
351371
| ↳ `percent_words` | number | Percent of words using the font |
352372
| ↳ `percent_elements` | number | Percent of elements using the font |
353373
| `fontLinks` | json | Font family download links keyed by font name \(type, files, category\) |
374+
| `creditsConsumed` | number | Credits consumed by this request |
375+
| `creditsRemaining` | number | Credits remaining on the API key |
354376

355377
### Context.dev Scrape Styleguide
356378

@@ -372,6 +394,8 @@ Extract a domain's design system: colors, typography, spacing, shadows, and UI c
372394
| `status` | string | Extraction status |
373395
| `domain` | string | The domain that was analyzed |
374396
| `styleguide` | json | Design system: mode, colors, typography, elementSpacing, shadows, fontLinks, components |
397+
| `creditsConsumed` | number | Credits consumed by this request |
398+
| `creditsRemaining` | number | Credits remaining on the API key |
375399

376400
### Context.dev Classify NAICS
377401

@@ -398,6 +422,8 @@ Classify a brand into NAICS industry codes from its domain or company name.
398422
| ↳ `code` | string | Industry code |
399423
| ↳ `name` | string | Industry name |
400424
| ↳ `confidence` | string | Match confidence \(high, medium, low\) |
425+
| `creditsConsumed` | number | Credits consumed by this request |
426+
| `creditsRemaining` | number | Credits remaining on the API key |
401427

402428
### Context.dev Classify SIC
403429

@@ -429,6 +455,8 @@ Classify a brand into SIC industry codes from its domain or company name.
429455
| ↳ `majorGroup` | string | Major group code \(original_sic only\) |
430456
| ↳ `majorGroupName` | string | Major group name \(original_sic only\) |
431457
| ↳ `office` | string | SEC office \(latest_sec only\) |
458+
| `creditsConsumed` | number | Credits consumed by this request |
459+
| `creditsRemaining` | number | Credits remaining on the API key |
432460

433461
### Context.dev Get Brand
434462

@@ -467,6 +495,8 @@ Retrieve brand data for a domain: logos, colors, backdrops, socials, address, an
467495
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
468496
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
469497
| ↳ `primary_language` | string | Primary language of the brand site |
498+
| `creditsConsumed` | number | Credits consumed by this request |
499+
| `creditsRemaining` | number | Credits remaining on the API key |
470500

471501
### Context.dev Get Brand by Name
472502

@@ -506,6 +536,8 @@ Retrieve brand data by company name: logos, colors, socials, address, and indust
506536
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
507537
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
508538
| ↳ `primary_language` | string | Primary language of the brand site |
539+
| `creditsConsumed` | number | Credits consumed by this request |
540+
| `creditsRemaining` | number | Credits remaining on the API key |
509541

510542
### Context.dev Get Brand by Email
511543

@@ -544,6 +576,8 @@ Retrieve brand data from a work email address. Free/disposable emails are reject
544576
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
545577
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
546578
| ↳ `primary_language` | string | Primary language of the brand site |
579+
| `creditsConsumed` | number | Credits consumed by this request |
580+
| `creditsRemaining` | number | Credits remaining on the API key |
547581

548582
### Context.dev Get Brand by Ticker
549583

@@ -583,6 +617,8 @@ Retrieve brand data for a public company by its stock ticker symbol.
583617
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
584618
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
585619
| ↳ `primary_language` | string | Primary language of the brand site |
620+
| `creditsConsumed` | number | Credits consumed by this request |
621+
| `creditsRemaining` | number | Credits remaining on the API key |
586622

587623
### Context.dev Identify Transaction
588624

@@ -625,5 +661,7 @@ Identify the brand behind a raw bank/card transaction descriptor and return its
625661
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
626662
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
627663
| ↳ `primary_language` | string | Primary language of the brand site |
664+
| `creditsConsumed` | number | Credits consumed by this request |
665+
| `creditsRemaining` | number | Credits remaining on the API key |
628666

629667

‎apps/docs/content/docs/integrations/github.mdx‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ Create comments on GitHub PRs
125125
| `id` | number | Comment ID |
126126
| `body` | string | Comment body |
127127
| `html_url` | string | GitHub web URL |
128-
| `path` | string | File path \(for file comments\) |
129-
| `line` | number | Line number \(for file comments\) |
130-
| `side` | string | Side \(LEFT/RIGHT for diff comments\) |
131-
| `commit_id` | string | Commit SHA |
128+
| `path` | string | File path \(if file comment\) |
129+
| `line` | number | Line number |
130+
| `side` | string | Diff side |
131+
| `commit_id` | string | Commit ID |
132132
| `created_at` | string | Creation timestamp |
133133
| `updated_at` | string | Last update timestamp |
134134

@@ -916,10 +916,10 @@ Get detailed information about a specific branch in a GitHub repository, includi
916916

917917
| Parameter | Type | Description |
918918
| --------- | ---- | ----------- |
919-
| `name` | string | Branch name |
920919
| `commit` | object | Commit reference info |
921920
| ↳ `sha` | string | Commit SHA |
922921
| ↳ `url` | string | Commit API URL |
922+
| `name` | string | Branch name |
923923
| `protected` | boolean | Whether branch is protected |
924924
| `protection` | json | Protection settings object |
925925
| `protection_url` | string | URL to protection settings |
@@ -1263,7 +1263,7 @@ Get detailed information about a specific issue in a GitHub repository
12631263
| ↳ `created_at` | string | Creation timestamp |
12641264
| ↳ `updated_at` | string | Last update timestamp |
12651265
| ↳ `closed_at` | string | Close timestamp |
1266-
| `closed_by` | object | User who closed the issue |
1266+
| `closed_by` | object | GitHub user object |
12671267
| ↳ `login` | string | GitHub username |
12681268
| ↳ `id` | number | User ID |
12691269
| ↳ `avatar_url` | string | Avatar image URL |
@@ -1303,7 +1303,7 @@ Close an issue in a GitHub repository
13031303
| `created_at` | string | Creation timestamp |
13041304
| `updated_at` | string | Last update timestamp |
13051305
| `closed_at` | string | Close timestamp |
1306-
| `state_reason` | string | State reason \(completed/not_planned\) |
1306+
| `state_reason` | string | Reason for closing |
13071307
| `labels` | array | Array of label objects |
13081308
| ↳ `id` | number | Label ID |
13091309
| ↳ `node_id` | string | GraphQL node ID |

0 commit comments

Comments
 (0)