@graph8/sdk 0.308.1 → 0.358.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/README.md +81 -0
  2. package/blocks/README.md +32 -0
  3. package/blocks/_foundation/README.md +78 -0
  4. package/blocks/_foundation/block.json +79 -0
  5. package/blocks/_foundation/components/api-error.tsx +62 -0
  6. package/blocks/_foundation/components/confirm-spend-dialog.tsx +142 -0
  7. package/blocks/_foundation/components/empty-state.tsx +24 -0
  8. package/blocks/_foundation/hooks/use-g8-mutation.ts +88 -0
  9. package/blocks/_foundation/hooks/use-g8-query.ts +87 -0
  10. package/blocks/_foundation/hooks/use-job-poll.ts +130 -0
  11. package/blocks/_foundation/hooks/use-paginated.ts +105 -0
  12. package/blocks/_foundation/lib/g8-client.ts +128 -0
  13. package/blocks/_foundation/recipes/verify-proxy-key.ts +18 -0
  14. package/blocks/_foundation/server/proxy.ts +233 -0
  15. package/blocks/_foundation/server/route.ts +30 -0
  16. package/blocks/agents/README.md +133 -0
  17. package/blocks/agents/block.json +223 -0
  18. package/blocks/agents/components/agent-builder.tsx +199 -0
  19. package/blocks/agents/components/agent-knowledge-panel.tsx +144 -0
  20. package/blocks/agents/components/agent-runs.tsx +175 -0
  21. package/blocks/agents/components/agent-skills-panel.tsx +126 -0
  22. package/blocks/agents/components/agent-test-console.tsx +175 -0
  23. package/blocks/agents/lib/agent-types.ts +114 -0
  24. package/blocks/agents/recipes/create-agent-and-attach-skill.ts +50 -0
  25. package/blocks/agents/recipes/run-and-follow-agent-run.ts +46 -0
  26. package/blocks/agents/recipes/test-agent-before-activating.ts +36 -0
  27. package/blocks/analytics/README.md +73 -0
  28. package/blocks/analytics/block.json +178 -0
  29. package/blocks/analytics/components/funnel-chart.tsx +79 -0
  30. package/blocks/analytics/components/kpi-tiles.tsx +74 -0
  31. package/blocks/analytics/components/leaderboard.tsx +86 -0
  32. package/blocks/analytics/components/report-builder.tsx +200 -0
  33. package/blocks/analytics/hooks/use-report.ts +26 -0
  34. package/blocks/analytics/lib/analytics-types.ts +108 -0
  35. package/blocks/analytics/lib/use-debounced.ts +16 -0
  36. package/blocks/analytics/recipes/01-weekly-outbound-report.ts +32 -0
  37. package/blocks/analytics/recipes/02-revenue-snapshot.ts +22 -0
  38. package/blocks/analytics/recipes/03-saved-report.ts +30 -0
  39. package/blocks/appointments/README.md +80 -0
  40. package/blocks/appointments/block.json +218 -0
  41. package/blocks/appointments/components/availability-editor.tsx +192 -0
  42. package/blocks/appointments/components/booking-page.tsx +154 -0
  43. package/blocks/appointments/components/event-type-editor.tsx +214 -0
  44. package/blocks/appointments/components/meeting-detail.tsx +147 -0
  45. package/blocks/appointments/components/meeting-list.tsx +148 -0
  46. package/blocks/appointments/hooks/use-available-slots.ts +29 -0
  47. package/blocks/appointments/hooks/use-schedules.ts +18 -0
  48. package/blocks/appointments/lib/appointments-types.ts +159 -0
  49. package/blocks/appointments/lib/idempotency.ts +30 -0
  50. package/blocks/appointments/recipes/01-create-event-type-and-hours.ts +27 -0
  51. package/blocks/appointments/recipes/02-find-slots-and-book.ts +34 -0
  52. package/blocks/appointments/recipes/03-bookings-digest.ts +22 -0
  53. package/blocks/appointments/recipes/04-calendar-invite.ts +21 -0
  54. package/blocks/block.schema.json +130 -0
  55. package/blocks/block.types.ts +109 -0
  56. package/blocks/campaigns/README.md +118 -0
  57. package/blocks/campaigns/block.json +361 -0
  58. package/blocks/campaigns/components/campaign-assets.tsx +180 -0
  59. package/blocks/campaigns/components/campaign-audience-step.tsx +91 -0
  60. package/blocks/campaigns/components/campaign-launch-step.tsx +147 -0
  61. package/blocks/campaigns/components/campaign-list.tsx +120 -0
  62. package/blocks/campaigns/components/campaign-metrics.tsx +93 -0
  63. package/blocks/campaigns/components/campaign-select.tsx +52 -0
  64. package/blocks/campaigns/components/campaign-sequence-step.tsx +158 -0
  65. package/blocks/campaigns/components/campaign-wizard.tsx +238 -0
  66. package/blocks/campaigns/components/form-field.tsx +29 -0
  67. package/blocks/campaigns/components/icp-editor.tsx +230 -0
  68. package/blocks/campaigns/components/persona-editor.tsx +210 -0
  69. package/blocks/campaigns/hooks/use-company-profile.ts +34 -0
  70. package/blocks/campaigns/lib/campaigns-utils.ts +155 -0
  71. package/blocks/campaigns/recipes/attach-audience-and-launch.ts +33 -0
  72. package/blocks/campaigns/recipes/campaign-report.ts +22 -0
  73. package/blocks/campaigns/recipes/generate-ideas-and-create-campaign.ts +51 -0
  74. package/blocks/campaigns/recipes/set-up-icp-and-personas.ts +37 -0
  75. package/blocks/coach/README.md +93 -0
  76. package/blocks/coach/block.json +125 -0
  77. package/blocks/coach/components/call-scorecard.tsx +126 -0
  78. package/blocks/coach/components/coaching-feed.tsx +140 -0
  79. package/blocks/coach/lib/coach-types.ts +116 -0
  80. package/blocks/coach/recipes/read-a-scorecard.ts +27 -0
  81. package/blocks/coach/recipes/weekly-coaching-digest.ts +53 -0
  82. package/blocks/copilot/README.md +99 -0
  83. package/blocks/copilot/block.json +151 -0
  84. package/blocks/copilot/components/copilot-memory.tsx +87 -0
  85. package/blocks/copilot/components/copilot-panel.tsx +189 -0
  86. package/blocks/copilot/components/copilot-team-chat.tsx +111 -0
  87. package/blocks/copilot/lib/copilot-types.ts +111 -0
  88. package/blocks/copilot/recipes/ask-the-copilot.ts +35 -0
  89. package/blocks/copilot/recipes/post-in-a-work-channel.ts +33 -0
  90. package/blocks/copilot/recipes/remember-and-recall.ts +19 -0
  91. package/blocks/crm/README.md +122 -0
  92. package/blocks/crm/block.json +378 -0
  93. package/blocks/crm/components/activity-timeline.tsx +99 -0
  94. package/blocks/crm/components/company-detail.tsx +118 -0
  95. package/blocks/crm/components/company-table.tsx +173 -0
  96. package/blocks/crm/components/contact-detail.tsx +135 -0
  97. package/blocks/crm/components/contact-table.tsx +217 -0
  98. package/blocks/crm/components/dedupe-review.tsx +164 -0
  99. package/blocks/crm/components/import-wizard.tsx +193 -0
  100. package/blocks/crm/components/notes-panel.tsx +112 -0
  101. package/blocks/crm/components/record-form.tsx +191 -0
  102. package/blocks/crm/components/task-list.tsx +107 -0
  103. package/blocks/crm/hooks/use-custom-fields.ts +18 -0
  104. package/blocks/crm/hooks/use-debounced.ts +13 -0
  105. package/blocks/crm/hooks/use-page-query.ts +52 -0
  106. package/blocks/crm/lib/crm-types.ts +136 -0
  107. package/blocks/crm/recipes/custom-fields-and-values.ts +28 -0
  108. package/blocks/crm/recipes/dedupe-and-merge.ts +30 -0
  109. package/blocks/crm/recipes/notes-tasks-and-activity.ts +23 -0
  110. package/blocks/crm/recipes/upsert-contact-with-company.ts +33 -0
  111. package/blocks/deals/README.md +78 -0
  112. package/blocks/deals/block.json +198 -0
  113. package/blocks/deals/components/deal-detail.tsx +134 -0
  114. package/blocks/deals/components/forecast-view.tsx +112 -0
  115. package/blocks/deals/components/pipeline-board.tsx +142 -0
  116. package/blocks/deals/components/stage-editor.tsx +96 -0
  117. package/blocks/deals/hooks/use-pipeline-deals.ts +67 -0
  118. package/blocks/deals/hooks/use-pipelines.ts +19 -0
  119. package/blocks/deals/lib/deals-types.ts +128 -0
  120. package/blocks/deals/recipes/01-create-deal-and-advance.ts +32 -0
  121. package/blocks/deals/recipes/02-pipeline-report.ts +35 -0
  122. package/blocks/deals/recipes/03-stale-deals-sweep.ts +20 -0
  123. package/blocks/dialer/README.md +114 -0
  124. package/blocks/dialer/block.json +260 -0
  125. package/blocks/dialer/components/call-log.tsx +78 -0
  126. package/blocks/dialer/components/call-queue.tsx +188 -0
  127. package/blocks/dialer/components/dialer-workspace.tsx +47 -0
  128. package/blocks/dialer/components/disposition-panel.tsx +75 -0
  129. package/blocks/dialer/components/live-calls-table.tsx +107 -0
  130. package/blocks/dialer/components/session-start-form.tsx +111 -0
  131. package/blocks/dialer/components/softphone.tsx +122 -0
  132. package/blocks/dialer/components/transcript-viewer.tsx +82 -0
  133. package/blocks/dialer/hooks/use-dialer-numbers.ts +19 -0
  134. package/blocks/dialer/hooks/use-dialer-session.ts +68 -0
  135. package/blocks/dialer/hooks/use-dispositions.ts +29 -0
  136. package/blocks/dialer/lib/dialer-types.ts +158 -0
  137. package/blocks/dialer/lib/softphone-transport.ts +67 -0
  138. package/blocks/dialer/lib/twilio-transport.ts +74 -0
  139. package/blocks/dialer/recipes/01-create-session-and-dial.ts +39 -0
  140. package/blocks/dialer/recipes/02-disposition-calls.ts +26 -0
  141. package/blocks/dialer/recipes/03-review-a-call.ts +23 -0
  142. package/blocks/enrichment/README.md +105 -0
  143. package/blocks/enrichment/block.json +204 -0
  144. package/blocks/enrichment/components/bulk-enrich-panel.tsx +205 -0
  145. package/blocks/enrichment/components/email-verify-badge.tsx +82 -0
  146. package/blocks/enrichment/components/enrich-button.tsx +136 -0
  147. package/blocks/enrichment/components/waterfall-config.tsx +127 -0
  148. package/blocks/enrichment/hooks/use-providers.ts +18 -0
  149. package/blocks/enrichment/lib/enrichment-types.ts +104 -0
  150. package/blocks/enrichment/recipes/bulk-enrich-and-poll.ts +41 -0
  151. package/blocks/enrichment/recipes/lookup-and-verify.ts +25 -0
  152. package/blocks/enrichment/recipes/waterfall-pipeline.ts +26 -0
  153. package/blocks/forms/README.md +112 -0
  154. package/blocks/forms/block.json +200 -0
  155. package/blocks/forms/components/form-builder.tsx +150 -0
  156. package/blocks/forms/components/form-embed.tsx +103 -0
  157. package/blocks/forms/components/form-mapping-editor.tsx +125 -0
  158. package/blocks/forms/components/site-audit-panel.tsx +73 -0
  159. package/blocks/forms/components/submissions-table.tsx +158 -0
  160. package/blocks/forms/lib/form-types.ts +127 -0
  161. package/blocks/forms/recipes/install-snippet-and-form.ts +21 -0
  162. package/blocks/forms/recipes/retry-failed-deliveries.ts +26 -0
  163. package/blocks/forms/recipes/route-form-to-list.ts +44 -0
  164. package/blocks/inbox/README.md +72 -0
  165. package/blocks/inbox/block.json +194 -0
  166. package/blocks/inbox/components/inbox-list.tsx +156 -0
  167. package/blocks/inbox/components/inbox-screen.tsx +49 -0
  168. package/blocks/inbox/components/reply-composer.tsx +183 -0
  169. package/blocks/inbox/components/tag-and-assign.tsx +189 -0
  170. package/blocks/inbox/components/thread-badge.tsx +17 -0
  171. package/blocks/inbox/components/thread-view.tsx +108 -0
  172. package/blocks/inbox/hooks/use-inbox-thread.ts +24 -0
  173. package/blocks/inbox/hooks/use-inbox-threads.ts +40 -0
  174. package/blocks/inbox/lib/idempotency.ts +30 -0
  175. package/blocks/inbox/lib/inbox-types.ts +100 -0
  176. package/blocks/inbox/recipes/01-triage-and-reply.ts +43 -0
  177. package/blocks/inbox/recipes/02-tag-and-assign.ts +31 -0
  178. package/blocks/inbox/recipes/03-hot-contacts-digest.ts +16 -0
  179. package/blocks/integrations/README.md +75 -0
  180. package/blocks/integrations/block.json +172 -0
  181. package/blocks/integrations/components/integration-list.tsx +165 -0
  182. package/blocks/integrations/components/sync-status.tsx +223 -0
  183. package/blocks/integrations/components/webhook-manager.tsx +300 -0
  184. package/blocks/integrations/lib/integrations-utils.ts +62 -0
  185. package/blocks/integrations/recipes/crm-sync-health.ts +19 -0
  186. package/blocks/integrations/recipes/push-contacts-to-crm.ts +20 -0
  187. package/blocks/integrations/recipes/register-webhook.ts +18 -0
  188. package/blocks/integrations/recipes/verify-webhook-route.ts +33 -0
  189. package/blocks/intent/README.md +57 -0
  190. package/blocks/intent/block.json +138 -0
  191. package/blocks/intent/components/account-intent-score.tsx +91 -0
  192. package/blocks/intent/components/intent-feed.tsx +215 -0
  193. package/blocks/intent/components/intent-keyword-manager.tsx +331 -0
  194. package/blocks/intent/hooks/use-account-intent.ts +46 -0
  195. package/blocks/intent/lib/intent-utils.ts +95 -0
  196. package/blocks/intent/recipes/rank-intent-accounts.ts +36 -0
  197. package/blocks/intent/recipes/track-competitor-domain.ts +23 -0
  198. package/blocks/intent/recipes/who-visited-url.ts +18 -0
  199. package/blocks/lifecycle/README.md +79 -0
  200. package/blocks/lifecycle/block.json +198 -0
  201. package/blocks/lifecycle/components/churn-list.tsx +92 -0
  202. package/blocks/lifecycle/components/customer-table.tsx +119 -0
  203. package/blocks/lifecycle/components/lead-queue.tsx +127 -0
  204. package/blocks/lifecycle/components/lifecycle-board.tsx +102 -0
  205. package/blocks/lifecycle/components/stage-move-dialog.tsx +75 -0
  206. package/blocks/lifecycle/hooks/use-debounced.ts +13 -0
  207. package/blocks/lifecycle/hooks/use-lifecycle-stages.ts +27 -0
  208. package/blocks/lifecycle/lib/lifecycle.ts +99 -0
  209. package/blocks/lifecycle/recipes/customer-brief.ts +23 -0
  210. package/blocks/lifecycle/recipes/move-company-stage.ts +17 -0
  211. package/blocks/lifecycle/recipes/read-lifecycle-board.ts +21 -0
  212. package/blocks/lifecycle/recipes/unlock-stage-contacts.ts +25 -0
  213. package/blocks/lists/README.md +96 -0
  214. package/blocks/lists/block.json +166 -0
  215. package/blocks/lists/components/add-to-list-button.tsx +111 -0
  216. package/blocks/lists/components/list-picker.tsx +94 -0
  217. package/blocks/lists/components/list-table.tsx +160 -0
  218. package/blocks/lists/components/suppression-manager.tsx +153 -0
  219. package/blocks/lists/recipes/create-list-and-add-contacts.ts +35 -0
  220. package/blocks/lists/recipes/refresh-and-check-lists.ts +21 -0
  221. package/blocks/lists/recipes/suppress-and-reinstate.ts +30 -0
  222. package/blocks/mailboxes/README.md +71 -0
  223. package/blocks/mailboxes/block.json +187 -0
  224. package/blocks/mailboxes/components/connect-mailbox.tsx +284 -0
  225. package/blocks/mailboxes/components/domain-purchase.tsx +271 -0
  226. package/blocks/mailboxes/components/mailbox-list.tsx +185 -0
  227. package/blocks/mailboxes/components/warmup-health.tsx +232 -0
  228. package/blocks/mailboxes/lib/mailboxes-utils.ts +69 -0
  229. package/blocks/mailboxes/recipes/buy-domain-and-mailboxes.ts +64 -0
  230. package/blocks/mailboxes/recipes/connect-imap-mailbox.ts +38 -0
  231. package/blocks/mailboxes/recipes/is-it-safe-to-send.ts +17 -0
  232. package/blocks/mailboxes/recipes/warmup-report.ts +31 -0
  233. package/blocks/newsletter/README.md +122 -0
  234. package/blocks/newsletter/block.json +224 -0
  235. package/blocks/newsletter/components/issue-form.tsx +124 -0
  236. package/blocks/newsletter/components/issue-scheduler.tsx +152 -0
  237. package/blocks/newsletter/components/newsletter-editor.tsx +131 -0
  238. package/blocks/newsletter/components/newsletter-stats.tsx +93 -0
  239. package/blocks/newsletter/components/subscriber-table.tsx +173 -0
  240. package/blocks/newsletter/lib/newsletter-types.ts +97 -0
  241. package/blocks/newsletter/recipes/create-newsletter-and-draft-issue.ts +27 -0
  242. package/blocks/newsletter/recipes/import-audience-and-send.ts +43 -0
  243. package/blocks/newsletter/recipes/issue-performance-report.ts +26 -0
  244. package/blocks/nurture/README.md +110 -0
  245. package/blocks/nurture/block.json +191 -0
  246. package/blocks/nurture/components/nurture-builder.tsx +114 -0
  247. package/blocks/nurture/components/nurture-enroll.tsx +107 -0
  248. package/blocks/nurture/components/nurture-form.tsx +120 -0
  249. package/blocks/nurture/components/nurture-stats.tsx +81 -0
  250. package/blocks/nurture/lib/nurture-types.ts +109 -0
  251. package/blocks/nurture/recipes/create-a-nurture.ts +34 -0
  252. package/blocks/nurture/recipes/enroll-contacts-and-launch.ts +24 -0
  253. package/blocks/nurture/recipes/nurture-health-check.ts +28 -0
  254. package/blocks/objects/README.md +120 -0
  255. package/blocks/objects/block.json +243 -0
  256. package/blocks/objects/components/attribute-field-input.tsx +82 -0
  257. package/blocks/objects/components/attribute-form-dialog.tsx +159 -0
  258. package/blocks/objects/components/object-not-found.tsx +34 -0
  259. package/blocks/objects/components/object-record-detail.tsx +143 -0
  260. package/blocks/objects/components/object-schema-editor.tsx +197 -0
  261. package/blocks/objects/components/object-table.tsx +130 -0
  262. package/blocks/objects/components/record-form-dialog.tsx +112 -0
  263. package/blocks/objects/components/record-roles-panel.tsx +106 -0
  264. package/blocks/objects/hooks/use-object-schema.ts +36 -0
  265. package/blocks/objects/lib/object-types.ts +214 -0
  266. package/blocks/objects/recipes/define-object-and-add-records.ts +24 -0
  267. package/blocks/objects/recipes/update-audit-and-archive-records.ts +39 -0
  268. package/blocks/objects/recipes/upsert-records-from-your-system.ts +30 -0
  269. package/blocks/pages/README.md +104 -0
  270. package/blocks/pages/block.json +223 -0
  271. package/blocks/pages/components/brand-kit-editor.tsx +152 -0
  272. package/blocks/pages/components/content-library.tsx +163 -0
  273. package/blocks/pages/components/page-editor.tsx +253 -0
  274. package/blocks/pages/components/page-list.tsx +159 -0
  275. package/blocks/pages/components/seo-report.tsx +159 -0
  276. package/blocks/pages/lib/studio.ts +77 -0
  277. package/blocks/pages/recipes/audit-site-seo.ts +28 -0
  278. package/blocks/pages/recipes/create-and-publish-page.ts +26 -0
  279. package/blocks/pages/recipes/edit-page-section.ts +25 -0
  280. package/blocks/pages/recipes/refresh-brand-kit.ts +22 -0
  281. package/blocks/quotes/README.md +79 -0
  282. package/blocks/quotes/block.json +183 -0
  283. package/blocks/quotes/components/product-picker.tsx +80 -0
  284. package/blocks/quotes/components/quote-builder.tsx +195 -0
  285. package/blocks/quotes/components/quote-list.tsx +79 -0
  286. package/blocks/quotes/components/quote-viewer.tsx +135 -0
  287. package/blocks/quotes/components/signature-status.tsx +77 -0
  288. package/blocks/quotes/hooks/use-debounced.ts +13 -0
  289. package/blocks/quotes/lib/quotes.ts +142 -0
  290. package/blocks/quotes/recipes/create-and-send-quote.ts +44 -0
  291. package/blocks/quotes/recipes/revise-sent-quote.ts +18 -0
  292. package/blocks/quotes/recipes/track-quote-signature.ts +22 -0
  293. package/blocks/radar/README.md +106 -0
  294. package/blocks/radar/block.json +189 -0
  295. package/blocks/radar/components/competitor-battle-card.tsx +53 -0
  296. package/blocks/radar/components/competitor-tracker.tsx +158 -0
  297. package/blocks/radar/components/radar-overview.tsx +67 -0
  298. package/blocks/radar/components/radar-report.tsx +86 -0
  299. package/blocks/radar/hooks/use-competitors.ts +23 -0
  300. package/blocks/radar/lib/radar-types.ts +124 -0
  301. package/blocks/radar/recipes/battle-card.ts +28 -0
  302. package/blocks/radar/recipes/deep-dive-report.ts +32 -0
  303. package/blocks/radar/recipes/marketing-snapshot.ts +18 -0
  304. package/blocks/radar/recipes/track-and-scan.ts +39 -0
  305. package/blocks/search/README.md +129 -0
  306. package/blocks/search/block.json +185 -0
  307. package/blocks/search/components/filter-builder.tsx +149 -0
  308. package/blocks/search/components/prospect-results.tsx +175 -0
  309. package/blocks/search/components/save-to-list-dialog.tsx +135 -0
  310. package/blocks/search/components/saved-searches.tsx +95 -0
  311. package/blocks/search/hooks/use-filter-options.ts +41 -0
  312. package/blocks/search/lib/search-types.ts +149 -0
  313. package/blocks/search/recipes/explore-filter-values.ts +27 -0
  314. package/blocks/search/recipes/saved-searches.ts +34 -0
  315. package/blocks/search/recipes/search-and-save-to-list.ts +37 -0
  316. package/blocks/sequencer/README.md +87 -0
  317. package/blocks/sequencer/block.json +214 -0
  318. package/blocks/sequencer/components/enroll-dialog.tsx +93 -0
  319. package/blocks/sequencer/components/sequence-builder.tsx +306 -0
  320. package/blocks/sequencer/components/sequence-list.tsx +200 -0
  321. package/blocks/sequencer/components/sequence-stats.tsx +256 -0
  322. package/blocks/sequencer/components/step-editor.tsx +213 -0
  323. package/blocks/sequencer/lib/sequencer-utils.ts +168 -0
  324. package/blocks/sequencer/recipes/create-multichannel-sequence.ts +51 -0
  325. package/blocks/sequencer/recipes/launch-and-enroll.ts +44 -0
  326. package/blocks/sequencer/recipes/pause-when-unsafe.ts +30 -0
  327. package/blocks/sequencer/recipes/sequence-report.ts +22 -0
  328. package/blocks/social-ads/README.md +128 -0
  329. package/blocks/social-ads/block.json +256 -0
  330. package/blocks/social-ads/components/ad-campaign-list.tsx +136 -0
  331. package/blocks/social-ads/components/audience-sync.tsx +150 -0
  332. package/blocks/social-ads/components/creative-gallery.tsx +121 -0
  333. package/blocks/social-ads/components/post-composer.tsx +122 -0
  334. package/blocks/social-ads/components/social-post-list.tsx +116 -0
  335. package/blocks/social-ads/hooks/use-social-accounts.ts +16 -0
  336. package/blocks/social-ads/lib/social-ads-types.ts +167 -0
  337. package/blocks/social-ads/recipes/creative-to-gallery.ts +41 -0
  338. package/blocks/social-ads/recipes/schedule-post.ts +51 -0
  339. package/blocks/social-ads/recipes/sync-audience-and-launch.ts +41 -0
  340. package/blocks/visitors/README.md +56 -0
  341. package/blocks/visitors/block.json +139 -0
  342. package/blocks/visitors/components/snippet-install.tsx +169 -0
  343. package/blocks/visitors/components/traffic-chart.tsx +156 -0
  344. package/blocks/visitors/components/visitor-company-card.tsx +92 -0
  345. package/blocks/visitors/components/visitor-feed.tsx +157 -0
  346. package/blocks/visitors/lib/visitors-utils.ts +78 -0
  347. package/blocks/visitors/recipes/check-snippet-installed.ts +24 -0
  348. package/blocks/visitors/recipes/recent-company-visits.ts +27 -0
  349. package/blocks/visitors/recipes/traffic-summary.ts +24 -0
  350. package/blocks/webchat/README.md +87 -0
  351. package/blocks/webchat/block.json +134 -0
  352. package/blocks/webchat/components/chat-widget-config.tsx +160 -0
  353. package/blocks/webchat/components/conversation-list.tsx +74 -0
  354. package/blocks/webchat/lib/webchat-types.ts +83 -0
  355. package/blocks/webchat/recipes/create-bot-and-style-widget.ts +24 -0
  356. package/blocks/webchat/recipes/list-chat-visitors.ts +24 -0
  357. package/blocks/workbench/README.md +135 -0
  358. package/blocks/workbench/block.json +259 -0
  359. package/blocks/workbench/components/column-recipe-editor.tsx +183 -0
  360. package/blocks/workbench/components/run-progress.tsx +132 -0
  361. package/blocks/workbench/components/workbench-add-rows.tsx +100 -0
  362. package/blocks/workbench/components/workbench-grid.tsx +159 -0
  363. package/blocks/workbench/components/workbench-row-actions.tsx +102 -0
  364. package/blocks/workbench/components/workbench-table-list.tsx +105 -0
  365. package/blocks/workbench/hooks/use-workbench-table.ts +30 -0
  366. package/blocks/workbench/lib/waterfall-presets.ts +119 -0
  367. package/blocks/workbench/lib/workbench-types.ts +191 -0
  368. package/blocks/workbench/recipes/build-enriched-table.ts +65 -0
  369. package/blocks/workbench/recipes/import-from-search.ts +42 -0
  370. package/blocks/workbench/recipes/scrape-into-table.ts +36 -0
  371. package/blocks/workbench/recipes/waterfall-column.ts +55 -0
  372. package/blocks/workflows/README.md +100 -0
  373. package/blocks/workflows/block.json +188 -0
  374. package/blocks/workflows/components/run-history.tsx +136 -0
  375. package/blocks/workflows/components/trigger-config.tsx +134 -0
  376. package/blocks/workflows/components/workflow-editor.tsx +142 -0
  377. package/blocks/workflows/components/workflow-list.tsx +153 -0
  378. package/blocks/workflows/hooks/use-workflow.ts +51 -0
  379. package/blocks/workflows/lib/graph.ts +187 -0
  380. package/blocks/workflows/recipes/create-workflow.ts +35 -0
  381. package/blocks/workflows/recipes/find-failed-runs.ts +15 -0
  382. package/blocks/workflows/recipes/run-workflow-and-wait.ts +32 -0
  383. package/blocks/workflows/recipes/set-trigger.ts +22 -0
  384. package/dist/cli.js +5330 -29
  385. package/dist/index.browser.js +7740 -0
  386. package/dist/index.browser.js.map +1 -0
  387. package/dist/index.browser.mjs +7717 -0
  388. package/dist/index.browser.mjs.map +1 -0
  389. package/dist/index.d.mts +1462 -23
  390. package/dist/index.d.ts +1462 -23
  391. package/dist/index.js +42 -3
  392. package/dist/index.js.map +1 -1
  393. package/dist/index.mjs +42 -3
  394. package/dist/index.mjs.map +1 -1
  395. package/dist/react.browser.js +7598 -0
  396. package/dist/react.browser.js.map +1 -0
  397. package/dist/react.browser.mjs +7568 -0
  398. package/dist/react.browser.mjs.map +1 -0
  399. package/dist/react.d.mts +1362 -20
  400. package/dist/react.d.ts +1362 -20
  401. package/dist/react.js +41 -2
  402. package/dist/react.js.map +1 -1
  403. package/dist/react.mjs +41 -2
  404. package/dist/react.mjs.map +1 -1
  405. package/dist/types/agentSetup.d.ts +6 -6
  406. package/dist/types/blocks/add.d.ts +53 -0
  407. package/dist/types/blocks/create.d.ts +46 -0
  408. package/dist/types/blocks/doctor.d.ts +26 -0
  409. package/dist/types/blocks/registry.d.ts +134 -0
  410. package/dist/types/cli.d.ts +16 -0
  411. package/dist/types/core.d.ts +1 -1
  412. package/dist/types/crypto-browser.d.ts +2 -0
  413. package/dist/types/crypto-node.d.ts +6 -0
  414. package/dist/types/react.d.ts +1 -1
  415. package/dist/types/version.d.ts +2 -2
  416. package/dist/types/webhooks.d.ts +2 -2
  417. package/dist/ui/index.d.mts +54 -0
  418. package/dist/ui/index.d.ts +54 -0
  419. package/dist/ui/index.js +105 -0
  420. package/dist/ui/index.js.map +1 -0
  421. package/dist/ui/index.mjs +44 -0
  422. package/dist/ui/index.mjs.map +1 -0
  423. package/dist/ui/lib/compose-refs.d.mts +19 -0
  424. package/dist/ui/lib/compose-refs.d.ts +19 -0
  425. package/dist/ui/lib/compose-refs.js +76 -0
  426. package/dist/ui/lib/compose-refs.js.map +1 -0
  427. package/dist/ui/lib/compose-refs.mjs +41 -0
  428. package/dist/ui/lib/compose-refs.mjs.map +1 -0
  429. package/dist/ui/lib/use-mobile.d.mts +4 -0
  430. package/dist/ui/lib/use-mobile.d.ts +4 -0
  431. package/dist/ui/lib/use-mobile.js +57 -0
  432. package/dist/ui/lib/use-mobile.js.map +1 -0
  433. package/dist/ui/lib/use-mobile.mjs +22 -0
  434. package/dist/ui/lib/use-mobile.mjs.map +1 -0
  435. package/dist/ui/lib/utils.d.mts +10 -0
  436. package/dist/ui/lib/utils.d.ts +10 -0
  437. package/dist/ui/lib/utils.js +33 -0
  438. package/dist/ui/lib/utils.js.map +1 -0
  439. package/dist/ui/lib/utils.mjs +9 -0
  440. package/dist/ui/lib/utils.mjs.map +1 -0
  441. package/dist/ui/primitives/alert-dialog.d.mts +22 -0
  442. package/dist/ui/primitives/alert-dialog.d.ts +22 -0
  443. package/dist/ui/primitives/alert-dialog.js +163 -0
  444. package/dist/ui/primitives/alert-dialog.js.map +1 -0
  445. package/dist/ui/primitives/alert-dialog.mjs +119 -0
  446. package/dist/ui/primitives/alert-dialog.mjs.map +1 -0
  447. package/dist/ui/primitives/avatar.d.mts +8 -0
  448. package/dist/ui/primitives/avatar.d.ts +8 -0
  449. package/dist/ui/primitives/avatar.js +91 -0
  450. package/dist/ui/primitives/avatar.js.map +1 -0
  451. package/dist/ui/primitives/avatar.mjs +55 -0
  452. package/dist/ui/primitives/avatar.mjs.map +1 -0
  453. package/dist/ui/primitives/breadcrumb.d.mts +13 -0
  454. package/dist/ui/primitives/breadcrumb.d.ts +13 -0
  455. package/dist/ui/primitives/breadcrumb.js +127 -0
  456. package/dist/ui/primitives/breadcrumb.js.map +1 -0
  457. package/dist/ui/primitives/breadcrumb.mjs +97 -0
  458. package/dist/ui/primitives/breadcrumb.mjs.map +1 -0
  459. package/dist/ui/primitives/button.d.mts +15 -0
  460. package/dist/ui/primitives/button.d.ts +15 -0
  461. package/dist/ui/primitives/button.js +91 -0
  462. package/dist/ui/primitives/button.js.map +1 -0
  463. package/dist/ui/primitives/button.mjs +56 -0
  464. package/dist/ui/primitives/button.mjs.map +1 -0
  465. package/dist/ui/primitives/card.d.mts +10 -0
  466. package/dist/ui/primitives/card.d.ts +10 -0
  467. package/dist/ui/primitives/card.js +101 -0
  468. package/dist/ui/primitives/card.js.map +1 -0
  469. package/dist/ui/primitives/card.mjs +62 -0
  470. package/dist/ui/primitives/card.mjs.map +1 -0
  471. package/dist/ui/primitives/carousel.d.mts +45 -0
  472. package/dist/ui/primitives/carousel.d.ts +45 -0
  473. package/dist/ui/primitives/carousel.js +300 -0
  474. package/dist/ui/primitives/carousel.js.map +1 -0
  475. package/dist/ui/primitives/carousel.mjs +261 -0
  476. package/dist/ui/primitives/carousel.mjs.map +1 -0
  477. package/dist/ui/primitives/chart.d.mts +68 -0
  478. package/dist/ui/primitives/chart.d.ts +68 -0
  479. package/dist/ui/primitives/chart.js +280 -0
  480. package/dist/ui/primitives/chart.js.map +1 -0
  481. package/dist/ui/primitives/chart.mjs +241 -0
  482. package/dist/ui/primitives/chart.mjs.map +1 -0
  483. package/dist/ui/primitives/collapsible.d.mts +8 -0
  484. package/dist/ui/primitives/collapsible.d.ts +8 -0
  485. package/dist/ui/primitives/collapsible.js +72 -0
  486. package/dist/ui/primitives/collapsible.js.map +1 -0
  487. package/dist/ui/primitives/collapsible.mjs +36 -0
  488. package/dist/ui/primitives/collapsible.mjs.map +1 -0
  489. package/dist/ui/primitives/context-menu.d.mts +29 -0
  490. package/dist/ui/primitives/context-menu.d.ts +29 -0
  491. package/dist/ui/primitives/context-menu.js +203 -0
  492. package/dist/ui/primitives/context-menu.js.map +1 -0
  493. package/dist/ui/primitives/context-menu.mjs +155 -0
  494. package/dist/ui/primitives/context-menu.mjs.map +1 -0
  495. package/dist/ui/primitives/dialog.d.mts +26 -0
  496. package/dist/ui/primitives/dialog.d.ts +26 -0
  497. package/dist/ui/primitives/dialog.js +192 -0
  498. package/dist/ui/primitives/dialog.js.map +1 -0
  499. package/dist/ui/primitives/dialog.mjs +148 -0
  500. package/dist/ui/primitives/dialog.mjs.map +1 -0
  501. package/dist/ui/primitives/drawer.d.mts +26 -0
  502. package/dist/ui/primitives/drawer.d.ts +26 -0
  503. package/dist/ui/primitives/drawer.js +146 -0
  504. package/dist/ui/primitives/drawer.js.map +1 -0
  505. package/dist/ui/primitives/drawer.mjs +103 -0
  506. package/dist/ui/primitives/drawer.mjs.map +1 -0
  507. package/dist/ui/primitives/input.d.mts +5 -0
  508. package/dist/ui/primitives/input.d.ts +5 -0
  509. package/dist/ui/primitives/input.js +46 -0
  510. package/dist/ui/primitives/input.js.map +1 -0
  511. package/dist/ui/primitives/input.mjs +22 -0
  512. package/dist/ui/primitives/input.mjs.map +1 -0
  513. package/dist/ui/primitives/item.d.mts +27 -0
  514. package/dist/ui/primitives/item.d.ts +27 -0
  515. package/dist/ui/primitives/item.js +221 -0
  516. package/dist/ui/primitives/item.js.map +1 -0
  517. package/dist/ui/primitives/item.mjs +188 -0
  518. package/dist/ui/primitives/item.mjs.map +1 -0
  519. package/dist/ui/primitives/kbd.d.mts +15 -0
  520. package/dist/ui/primitives/kbd.d.ts +15 -0
  521. package/dist/ui/primitives/kbd.js +45 -0
  522. package/dist/ui/primitives/kbd.js.map +1 -0
  523. package/dist/ui/primitives/kbd.mjs +21 -0
  524. package/dist/ui/primitives/kbd.mjs.map +1 -0
  525. package/dist/ui/primitives/label.d.mts +6 -0
  526. package/dist/ui/primitives/label.d.ts +6 -0
  527. package/dist/ui/primitives/label.js +55 -0
  528. package/dist/ui/primitives/label.js.map +1 -0
  529. package/dist/ui/primitives/label.mjs +21 -0
  530. package/dist/ui/primitives/label.mjs.map +1 -0
  531. package/dist/ui/primitives/resizable.d.mts +10 -0
  532. package/dist/ui/primitives/resizable.d.ts +10 -0
  533. package/dist/ui/primitives/resizable.js +68 -0
  534. package/dist/ui/primitives/resizable.js.map +1 -0
  535. package/dist/ui/primitives/resizable.mjs +42 -0
  536. package/dist/ui/primitives/resizable.mjs.map +1 -0
  537. package/dist/ui/primitives/save-status.d.mts +31 -0
  538. package/dist/ui/primitives/save-status.d.ts +31 -0
  539. package/dist/ui/primitives/save-status.js +150 -0
  540. package/dist/ui/primitives/save-status.js.map +1 -0
  541. package/dist/ui/primitives/save-status.mjs +126 -0
  542. package/dist/ui/primitives/save-status.mjs.map +1 -0
  543. package/dist/ui/primitives/separator.d.mts +6 -0
  544. package/dist/ui/primitives/separator.d.ts +6 -0
  545. package/dist/ui/primitives/separator.js +62 -0
  546. package/dist/ui/primitives/separator.js.map +1 -0
  547. package/dist/ui/primitives/separator.mjs +28 -0
  548. package/dist/ui/primitives/separator.mjs.map +1 -0
  549. package/dist/ui/primitives/sheet.d.mts +16 -0
  550. package/dist/ui/primitives/sheet.d.ts +16 -0
  551. package/dist/ui/primitives/sheet.js +170 -0
  552. package/dist/ui/primitives/sheet.js.map +1 -0
  553. package/dist/ui/primitives/sheet.mjs +129 -0
  554. package/dist/ui/primitives/sheet.mjs.map +1 -0
  555. package/dist/ui/primitives/sidebar.d.mts +74 -0
  556. package/dist/ui/primitives/sidebar.d.ts +74 -0
  557. package/dist/ui/primitives/sidebar.js +697 -0
  558. package/dist/ui/primitives/sidebar.js.map +1 -0
  559. package/dist/ui/primitives/sidebar.mjs +651 -0
  560. package/dist/ui/primitives/sidebar.mjs.map +1 -0
  561. package/dist/ui/primitives/skeleton.d.mts +5 -0
  562. package/dist/ui/primitives/skeleton.d.ts +5 -0
  563. package/dist/ui/primitives/skeleton.js +40 -0
  564. package/dist/ui/primitives/skeleton.js.map +1 -0
  565. package/dist/ui/primitives/skeleton.mjs +16 -0
  566. package/dist/ui/primitives/skeleton.mjs.map +1 -0
  567. package/dist/ui/primitives/slider.d.mts +20 -0
  568. package/dist/ui/primitives/slider.d.ts +20 -0
  569. package/dist/ui/primitives/slider.js +112 -0
  570. package/dist/ui/primitives/slider.js.map +1 -0
  571. package/dist/ui/primitives/slider.mjs +78 -0
  572. package/dist/ui/primitives/slider.mjs.map +1 -0
  573. package/dist/ui/primitives/sortable.d.mts +50 -0
  574. package/dist/ui/primitives/sortable.d.ts +50 -0
  575. package/dist/ui/primitives/sortable.js +456 -0
  576. package/dist/ui/primitives/sortable.js.map +1 -0
  577. package/dist/ui/primitives/sortable.mjs +435 -0
  578. package/dist/ui/primitives/sortable.mjs.map +1 -0
  579. package/dist/ui/primitives/switch.d.mts +6 -0
  580. package/dist/ui/primitives/switch.d.ts +6 -0
  581. package/dist/ui/primitives/switch.js +67 -0
  582. package/dist/ui/primitives/switch.js.map +1 -0
  583. package/dist/ui/primitives/switch.mjs +33 -0
  584. package/dist/ui/primitives/switch.mjs.map +1 -0
  585. package/dist/ui/primitives/table.d.mts +12 -0
  586. package/dist/ui/primitives/table.d.ts +12 -0
  587. package/dist/ui/primitives/table.js +130 -0
  588. package/dist/ui/primitives/table.js.map +1 -0
  589. package/dist/ui/primitives/table.mjs +89 -0
  590. package/dist/ui/primitives/table.mjs.map +1 -0
  591. package/dist/ui/primitives/tabs.d.mts +9 -0
  592. package/dist/ui/primitives/tabs.d.ts +9 -0
  593. package/dist/ui/primitives/tabs.js +86 -0
  594. package/dist/ui/primitives/tabs.js.map +1 -0
  595. package/dist/ui/primitives/tabs.mjs +49 -0
  596. package/dist/ui/primitives/tabs.mjs.map +1 -0
  597. package/dist/ui/primitives/textarea.d.mts +5 -0
  598. package/dist/ui/primitives/textarea.d.ts +5 -0
  599. package/dist/ui/primitives/textarea.js +43 -0
  600. package/dist/ui/primitives/textarea.js.map +1 -0
  601. package/dist/ui/primitives/textarea.mjs +19 -0
  602. package/dist/ui/primitives/textarea.mjs.map +1 -0
  603. package/dist/ui/primitives/tooltip.d.mts +9 -0
  604. package/dist/ui/primitives/tooltip.d.ts +9 -0
  605. package/dist/ui/primitives/tooltip.js +94 -0
  606. package/dist/ui/primitives/tooltip.js.map +1 -0
  607. package/dist/ui/primitives/tooltip.mjs +57 -0
  608. package/dist/ui/primitives/tooltip.mjs.map +1 -0
  609. package/docs/agents.md +72 -29
  610. package/docs/api/README.md +6 -3
  611. package/docs/api/appObjects.d.ts +1 -1
  612. package/docs/api/appObjects.md +1 -1
  613. package/docs/api/by-path.md +29 -0
  614. package/docs/api/enrichment.d.ts +18 -0
  615. package/docs/api/enrichment.md +25 -4
  616. package/docs/api/objects.d.ts +72 -5
  617. package/docs/api/objects.md +84 -7
  618. package/docs/api/processLists.d.ts +247 -0
  619. package/docs/api/processLists.md +409 -0
  620. package/docs/api/reports.d.ts +476 -0
  621. package/docs/api/reports.md +539 -0
  622. package/docs/api/revenueLifecycle.d.ts +3 -1
  623. package/docs/api/revenueLifecycle.md +12 -2
  624. package/docs/api/scheduleBuy.d.ts +12 -8
  625. package/docs/api/scheduleBuy.md +13 -10
  626. package/docs/api/seo.d.ts +407 -4
  627. package/docs/api/seo.md +506 -2
  628. package/docs/api/workflows.md +46 -2
  629. package/docs/api/workspaceBackup.d.ts +324 -0
  630. package/docs/api/workspaceBackup.md +427 -0
  631. package/package.json +174 -5
  632. package/stacks/6sense.json +46 -0
  633. package/stacks/README.md +20 -0
  634. package/stacks/apollo.json +128 -0
  635. package/stacks/clay.json +59 -0
  636. package/stacks/gong.json +72 -0
  637. package/stacks/hubspot.json +162 -0
  638. package/stacks/intercom.json +53 -0
  639. package/stacks/mailchimp.json +71 -0
  640. package/stacks/outreach.json +86 -0
  641. package/stacks/salesforce.json +94 -0
  642. package/stacks/stack.schema.json +32 -0
  643. package/stacks/starter.json +22 -0
  644. package/styles/styles.css +2 -0
  645. package/styles/theme.css +181 -0
  646. package/styles/tokens.css +284 -0
  647. package/templates/next-app/README.md.tmpl +35 -0
  648. package/templates/next-app/_pages/redirect-page.tsx.tmpl +5 -0
  649. package/templates/next-app/_pages/route-page.tsx.tmpl +9 -0
  650. package/templates/next-app/app/globals.css.tmpl +8 -0
  651. package/templates/next-app/app/layout.tsx.tmpl +19 -0
  652. package/templates/next-app/components/app-shell.tsx.tmpl +34 -0
  653. package/templates/next-app/dot-env.local.example.tmpl +6 -0
  654. package/templates/next-app/dot-gitignore.tmpl +7 -0
  655. package/templates/next-app/lib/nav.ts.tmpl +2 -0
  656. package/templates/next-app/next.config.mjs.tmpl +4 -0
  657. package/templates/next-app/package.json.tmpl +25 -0
  658. package/templates/next-app/postcss.config.mjs.tmpl +4 -0
  659. package/templates/next-app/tsconfig.json.tmpl +21 -0
@@ -143,13 +143,14 @@ moment this returns. `total_credits_held` in the response is the figure.
143
143
  Org admins and owners only, and only for an org on a paid or pre-funded
144
144
  plan. 402 if the balance cannot cover the plan, 429 if the org has locked
145
145
  more than five plans this hour, 400 for an unsupported extension or an
146
- empty plan.
146
+ empty plan. With `reuse_domains`, 409 when a domain's mailbox count changed
147
+ (or it filled up) while the plan was locking: nothing stays held, re-read
148
+ the domains and lock again.
147
149
 
148
- `persona_ids` and the manual `registrants`/`mailbox_aliases` pair are
149
- mutually exclusive: name the personas OR spell the identities out, never
150
- both. `idle_mailboxes_snapshot` is your own count, used to detect drift -
151
- the server recomputes it and returns its own as
152
- `server_idle_mailboxes`.
150
+ At least one `persona_ids` entry is required. Manual `registrants` /
151
+ `mailbox_aliases` are not accepted for new plans. `idle_mailboxes_snapshot`
152
+ is your own count, used to detect drift - the server recomputes it and
153
+ returns its own as `server_idle_mailboxes`.
153
154
 
154
155
  Send an `Idempotency-Key` header. A retried lock without one places a
155
156
  second full set of holds.
@@ -170,11 +171,11 @@ Body fields (`ScheduleBuyPlanRequest`):
170
171
  | `body.domain_names` | `Array<string> \| null` | no | Approved names to buy, in order min items 1, max items 500 |
171
172
  | `body.domain_tld` | `string` | no | Extension to buy, e.g. '.com' default `".com"` |
172
173
  | `body.domains_per_batch` | `integer` | no | Domains bought per daily batch default `10`, min 1, max 100 |
173
- | `body.mailbox_aliases` | `Array<Record<string, unknown>>` | no | One alias per mailbox_per_domain. Required unless persona_ids is set. |
174
+ | `body.mailbox_aliases` | `Array<Record<string, unknown>>` | no | Not accepted for new plans. Use persona_ids. |
174
175
  | `body.mailboxes_per_domain` | `integer` | no | Mailboxes bought on each domain default `3`, min 1, max 5 |
175
- | `body.persona_ids` | `Array<integer> \| null` | no | Sender personas to buy for. Excludes the two above. min items 1, max items 20 |
176
- | `body.registrants` | `Array<Record<string, unknown>>` | no | Registrant identities. Required unless persona_ids is set. max items 20 |
177
- | `body.reuse_domains` | `Array<string> \| null` | no | Adopt these owned EMPTY domains instead of buying min items 1, max items 500 |
176
+ | `body.persona_ids` | `Array<integer> \| null` | no | Sender identity IDs. At least one is required to start a schedule. max items 20 |
177
+ | `body.registrants` | `Array<Record<string, unknown>>` | no | Not accepted for new plans. Use persona_ids. max items 20 |
178
+ | `body.reuse_domains` | `Array<string> \| null` | no | Adopt these owned domains instead of buying. Each must have fewer live mailboxes than mailboxes_per_domain; the plan tops it up and holds credits for exactly the missing ones min items 1, max items 500 |
178
179
  | `body.sending_days_per_month` | `integer` | no | Sending days assumed per month default `22`, min 1, max 31 |
179
180
  | `body.warmup_provider` | `"warmy" \| "instantly" \| "smartlead"` | no | Warmup engine the bought mailboxes are enrolled with default `"warmy"` |
180
181
  | `body.workspace_uid` | `string \| null` | no | Existing provisioning workspace to reuse |
@@ -367,6 +368,8 @@ Body fields (`ScheduleBuySuggestRequest`):
367
368
  | `body.daily_send_cap` | `integer` | no | Sends per mailbox per day default `15`, min 1, max 100 |
368
369
  | `body.domains_per_batch` | `integer` | no | Domains bought per daily batch default `10`, min 1, max 100 |
369
370
  | `body.mailboxes_per_domain` | `integer` | no | Mailboxes bought on each domain default `3`, min 1, max 5 |
371
+ | `body.reuse_domain_count` | `integer \| null` | no | Price a REUSE plan over this many owned domains instead min 1, max 500 |
372
+ | `body.reuse_missing_mailboxes` | `integer \| null` | no | With reuse_domain_count: the total mailboxes those domains are missing (each domain: mailboxes_per_domain minus its live mailboxes). Omitted, every domain is priced as empty min 1, max 2500 |
370
373
  | `body.sending_days_per_month` | `integer` | no | Sending days assumed per month default `22`, min 1, max 31 |
371
374
 
372
375
  **Returns** `ApiResponse_MailboxDomainPayload_`: the envelope `{ data: MailboxDomainPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
package/docs/api/seo.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /* Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. */
2
2
 
3
3
  /**
4
- * Types for `g8.api.seo` (SEO): 14 operations.
4
+ * Types for `g8.api.seo` (SEO): 22 operations.
5
5
  *
6
6
  * For reading. In code, import from the package instead:
7
7
  * import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
8
- * type In = ApiInput<"get_seo_audit_seo_audits__audit_id__get">;
8
+ * type In = ApiInput<"claim_seo_fix_seo_fixes__fix_id__claim_post">;
9
9
  *
10
10
  * Reference with examples: seo.md
11
11
  */
@@ -13,14 +13,22 @@
13
13
 
14
14
  /** `g8.api.seo.<member>` -> the operationId it calls. */
15
15
  export interface SeoMembers {
16
+ claimSeoFix: "claim_seo_fix_seo_fixes__fix_id__claim_post";
17
+ completeSeoFix: "complete_seo_fix_seo_fixes__fix_id__complete_post";
18
+ getSeoAgentHandoff: "get_seo_agent_handoff_seo_fixes_agent_handoff_get";
16
19
  getSeoAudit: "get_seo_audit_seo_audits__audit_id__get";
17
20
  getSeoAuditIssues: "get_seo_audit_issues_seo_audits__audit_id__issues_get";
18
21
  getSeoDomainBacklinks: "get_seo_domain_backlinks_seo_domains__domain__backlinks_get";
19
22
  getSeoDomainOverview: "get_seo_domain_overview_seo_domains__domain__overview_get";
23
+ getSeoFixPack: "get_seo_fix_pack_seo_fixes__fix_id__pack_get";
24
+ getSeoPage360: "get_seo_page_360_seo_pages_360_detail_get";
20
25
  getSeoRankHistory: "get_seo_rank_history_seo_rank_tracking__keyword_id__history_get";
26
+ getSeoToday: "get_seo_today_seo_today_get";
21
27
  getSeoTrackedDomain: "get_seo_tracked_domain_seo_domains_tracked__domain__get";
22
28
  listSeoAudits: "list_seo_audits_seo_audits_get";
23
29
  listSeoDomainPages: "list_seo_domain_pages_seo_domains_tracked__domain__pages_get";
30
+ listSeoFixes: "list_seo_fixes_seo_fixes_get";
31
+ listSeoPages360: "list_seo_pages_360_seo_pages_360_get";
24
32
  listSeoTrackedDomains: "list_seo_tracked_domains_seo_domains_tracked_get";
25
33
  listSeoTrackedKeywords: "list_seo_tracked_keywords_seo_rank_tracking_get";
26
34
  removeSeoTrackedKeywords: "remove_seo_tracked_keywords_seo_rank_tracking_keywords_remove_post";
@@ -31,6 +39,59 @@ export interface SeoMembers {
31
39
 
32
40
  /** Input and output of every `g8.api.seo` operation, keyed by operationId. */
33
41
  export interface SeoOperations {
42
+ /**
43
+ * POST /seo/fixes/{fix_id}/claim
44
+ * Claim Seo Fix
45
+ * tier: write · scope: intent:write
46
+ */
47
+ claim_seo_fix_seo_fixes__fix_id__claim_post: {
48
+ input: {
49
+ path: {
50
+ /** A fix id from `GET /seo/fixes`. */
51
+ fix_id: string;
52
+ };
53
+ headers?: {
54
+ "X-Target-Org-Id"?: string | null;
55
+ };
56
+ body?: SeoClaimFixRequest;
57
+ };
58
+ output: ApiResponse_SeoClaimFixResponse_;
59
+ };
60
+ /**
61
+ * POST /seo/fixes/{fix_id}/complete
62
+ * Complete Seo Fix
63
+ * tier: write · scope: intent:write
64
+ */
65
+ complete_seo_fix_seo_fixes__fix_id__complete_post: {
66
+ input: {
67
+ path: {
68
+ /** A fix id from `GET /seo/fixes`. */
69
+ fix_id: string;
70
+ };
71
+ headers?: {
72
+ "X-Target-Org-Id"?: string | null;
73
+ };
74
+ body: SeoCompleteFixRequest;
75
+ };
76
+ output: ApiResponse_SeoCompleteFixResponse_;
77
+ };
78
+ /**
79
+ * GET /seo/fixes/agent-handoff
80
+ * Get Seo Agent Handoff
81
+ * tier: read · scope: intent:read
82
+ */
83
+ get_seo_agent_handoff_seo_fixes_agent_handoff_get: {
84
+ input: {
85
+ query?: {
86
+ /** Only fixes for this domain. */
87
+ domain?: string | null;
88
+ };
89
+ headers?: {
90
+ "X-Target-Org-Id"?: string | null;
91
+ };
92
+ };
93
+ output: ApiResponse_SeoAgentHandoff_;
94
+ };
34
95
  /**
35
96
  * GET /seo/audits/{audit_id}
36
97
  * Get Seo Audit
@@ -97,6 +158,42 @@ export interface SeoOperations {
97
158
  };
98
159
  output: ApiResponse_SeoDomainOverviewResponse_;
99
160
  };
161
+ /**
162
+ * GET /seo/fixes/{fix_id}/pack
163
+ * Get Seo Fix Pack
164
+ * tier: read · scope: intent:read
165
+ */
166
+ get_seo_fix_pack_seo_fixes__fix_id__pack_get: {
167
+ input: {
168
+ path: {
169
+ /** A fix id from `GET /seo/fixes`. */
170
+ fix_id: string;
171
+ };
172
+ headers?: {
173
+ "X-Target-Org-Id"?: string | null;
174
+ };
175
+ };
176
+ output: ApiResponse_SeoAgentFixPack_;
177
+ };
178
+ /**
179
+ * GET /seo/pages/360/detail
180
+ * Get Seo Page 360
181
+ * tier: read · scope: intent:read
182
+ */
183
+ get_seo_page_360_seo_pages_360_detail_get: {
184
+ input: {
185
+ query: {
186
+ /** A tracked domain. */
187
+ domain: string;
188
+ /** The page URL or path, e.g. /pricing. */
189
+ url: string;
190
+ };
191
+ headers?: {
192
+ "X-Target-Org-Id"?: string | null;
193
+ };
194
+ };
195
+ output: ApiResponse_SeoPage360_;
196
+ };
100
197
  /**
101
198
  * GET /seo/rank-tracking/{keyword_id}/history
102
199
  * Get Seo Rank History
@@ -118,6 +215,23 @@ export interface SeoOperations {
118
215
  };
119
216
  output: ApiResponse_SeoRankHistory_;
120
217
  };
218
+ /**
219
+ * GET /seo/today
220
+ * Get Seo Today
221
+ * tier: read · scope: intent:read
222
+ */
223
+ get_seo_today_seo_today_get: {
224
+ input: {
225
+ query?: {
226
+ /** A tracked domain. Omit for the primary one. */
227
+ domain?: string | null;
228
+ };
229
+ headers?: {
230
+ "X-Target-Org-Id"?: string | null;
231
+ };
232
+ };
233
+ output: ApiResponse_SeoToday_;
234
+ };
121
235
  /**
122
236
  * GET /seo/domains/tracked/{domain}
123
237
  * Get Seo Tracked Domain
@@ -179,6 +293,51 @@ export interface SeoOperations {
179
293
  };
180
294
  output: ApiResponse_SeoDomainPages_;
181
295
  };
296
+ /**
297
+ * GET /seo/fixes
298
+ * List Seo Fixes
299
+ * tier: read · scope: intent:read
300
+ */
301
+ list_seo_fixes_seo_fixes_get: {
302
+ input: {
303
+ query?: {
304
+ /** Only fixes for this domain. */
305
+ domain?: string | null;
306
+ /** Fixes to return, most severe first. */
307
+ limit?: number;
308
+ };
309
+ headers?: {
310
+ "X-Target-Org-Id"?: string | null;
311
+ };
312
+ };
313
+ output: ApiResponse_SeoAgentFixQueue_;
314
+ };
315
+ /**
316
+ * GET /seo/pages/360
317
+ * List Seo Pages 360
318
+ * tier: read · scope: intent:read
319
+ */
320
+ list_seo_pages_360_seo_pages_360_get: {
321
+ input: {
322
+ query: {
323
+ /** A tracked domain. */
324
+ domain: string;
325
+ /** Only pages whose path contains this text. */
326
+ q?: string;
327
+ sort?: "pageviews" | "clicks" | "position" | "companies" | "pipeline" | "issues";
328
+ order?: "asc" | "desc";
329
+ filter?: "all" | "money" | "decay" | "fixes" | "companies" | "slow";
330
+ /** Rows to return. */
331
+ limit?: number;
332
+ /** Rows to skip. */
333
+ offset?: number;
334
+ };
335
+ headers?: {
336
+ "X-Target-Org-Id"?: string | null;
337
+ };
338
+ };
339
+ output: ApiResponse_SeoPages360_;
340
+ };
182
341
  /**
183
342
  * GET /seo/domains/tracked
184
343
  * List Seo Tracked Domains
@@ -267,7 +426,7 @@ export interface SeoOperations {
267
426
  };
268
427
  }
269
428
 
270
- // 37 schemas referenced above (the same as G8Contract.<Name>).
429
+ // 69 schemas referenced above (the same as G8Contract.<Name>).
271
430
 
272
431
  export interface ApiResponse_List_SeoAudit__ {
273
432
  data: Array<SeoAudit>;
@@ -279,6 +438,21 @@ export interface ApiResponse_List_SeoTrackedKeyword__ {
279
438
  pagination?: PaginationMeta | null;
280
439
  }
281
440
 
441
+ export interface ApiResponse_SeoAgentFixPack_ {
442
+ data: SeoAgentFixPack;
443
+ pagination?: PaginationMeta | null;
444
+ }
445
+
446
+ export interface ApiResponse_SeoAgentFixQueue_ {
447
+ data: SeoAgentFixQueue;
448
+ pagination?: PaginationMeta | null;
449
+ }
450
+
451
+ export interface ApiResponse_SeoAgentHandoff_ {
452
+ data: SeoAgentHandoff;
453
+ pagination?: PaginationMeta | null;
454
+ }
455
+
282
456
  export interface ApiResponse_SeoAuditIssues_ {
283
457
  data: SeoAuditIssues;
284
458
  pagination?: PaginationMeta | null;
@@ -294,6 +468,16 @@ export interface ApiResponse_SeoBacklinksOverview_ {
294
468
  pagination?: PaginationMeta | null;
295
469
  }
296
470
 
471
+ export interface ApiResponse_SeoClaimFixResponse_ {
472
+ data: SeoClaimFixResponse;
473
+ pagination?: PaginationMeta | null;
474
+ }
475
+
476
+ export interface ApiResponse_SeoCompleteFixResponse_ {
477
+ data: SeoCompleteFixResponse;
478
+ pagination?: PaginationMeta | null;
479
+ }
480
+
297
481
  export interface ApiResponse_SeoDomainOverviewResponse_ {
298
482
  data: SeoDomainOverviewResponse;
299
483
  pagination?: PaginationMeta | null;
@@ -304,6 +488,16 @@ export interface ApiResponse_SeoDomainPages_ {
304
488
  pagination?: PaginationMeta | null;
305
489
  }
306
490
 
491
+ export interface ApiResponse_SeoPage360_ {
492
+ data: SeoPage360;
493
+ pagination?: PaginationMeta | null;
494
+ }
495
+
496
+ export interface ApiResponse_SeoPages360_ {
497
+ data: SeoPages360;
498
+ pagination?: PaginationMeta | null;
499
+ }
500
+
307
501
  export interface ApiResponse_SeoRankHistory_ {
308
502
  data: SeoRankHistory;
309
503
  pagination?: PaginationMeta | null;
@@ -319,6 +513,11 @@ export interface ApiResponse_SeoResearchKeywordsResponse_ {
319
513
  pagination?: PaginationMeta | null;
320
514
  }
321
515
 
516
+ export interface ApiResponse_SeoToday_ {
517
+ data: SeoToday;
518
+ pagination?: PaginationMeta | null;
519
+ }
520
+
322
521
  export interface ApiResponse_SeoTrackedDomainDetail_ {
323
522
  data: SeoTrackedDomainDetail;
324
523
  pagination?: PaginationMeta | null;
@@ -348,6 +547,80 @@ export interface PaginationMeta {
348
547
  total_is_lower_bound?: boolean | null;
349
548
  }
350
549
 
550
+ /** One fix with exact instructions: the page, the steps, the code to add and how success is checked. */
551
+ export interface SeoAgentFix {
552
+ acceptance: Array<string>;
553
+ category: string;
554
+ domain: string;
555
+ files?: Record<string, string>;
556
+ fix_id: string;
557
+ severity: string;
558
+ snippets?: Array<SeoAgentSnippet>;
559
+ status: string;
560
+ steps: Array<string>;
561
+ target_url?: string | null;
562
+ title: string;
563
+ why?: string;
564
+ }
565
+
566
+ export interface SeoAgentFixPack {
567
+ agents_md: string;
568
+ claude_md: string;
569
+ files?: Record<string, string>;
570
+ fix: SeoAgentFix;
571
+ }
572
+
573
+ export interface SeoAgentFixQueue {
574
+ agents_md: string;
575
+ count: number;
576
+ domain?: string | null;
577
+ fixes: Array<SeoAgentFix>;
578
+ }
579
+
580
+ export interface SeoAgentHandoff {
581
+ domain?: string | null;
582
+ files: Record<string, string>;
583
+ fix_count: number;
584
+ setup: SeoAgentSetup;
585
+ }
586
+
587
+ export interface SeoAgentSetup {
588
+ claude_code: string;
589
+ cursor: SeoAgentSetupCursor;
590
+ mcp_url: string;
591
+ prompt: string;
592
+ tools: Array<string>;
593
+ }
594
+
595
+ export interface SeoAgentSetupCursor {
596
+ command: string;
597
+ file: string;
598
+ json: string;
599
+ }
600
+
601
+ export interface SeoAgentSnippet {
602
+ code: string;
603
+ file_hint?: string;
604
+ label: string;
605
+ language?: string;
606
+ }
607
+
608
+ export interface SeoApprovalItem {
609
+ category: string;
610
+ confidence?: "measured" | "estimated" | "partial";
611
+ delivery: string;
612
+ fix_id: string;
613
+ impact?: Record<string, unknown> | null;
614
+ severity: string;
615
+ target_url?: string | null;
616
+ title: string;
617
+ }
618
+
619
+ export interface SeoApprovalQueue {
620
+ count: number;
621
+ items: Array<SeoApprovalItem>;
622
+ }
623
+
351
624
  /** Mirrors `AuditDTO`. */
352
625
  export interface SeoAudit {
353
626
  completed_at?: string | null;
@@ -411,6 +684,33 @@ export interface SeoBacklinksOverview {
411
684
  total_backlinks?: number | null;
412
685
  }
413
686
 
687
+ export interface SeoClaimFixRequest {
688
+ /** A label for this agent, e.g. claude-code. */
689
+ agent?: string | null;
690
+ }
691
+
692
+ export interface SeoClaimFixResponse {
693
+ claim_note: string;
694
+ claimed: boolean;
695
+ claimed_by?: string | null;
696
+ fix: SeoAgentFix;
697
+ }
698
+
699
+ export interface SeoCompleteFixRequest {
700
+ agent?: string | null;
701
+ note?: string;
702
+ outcome?: "done" | "failed";
703
+ /** Commit SHA or commit/pull request URL. */
704
+ ref?: string | null;
705
+ }
706
+
707
+ export interface SeoCompleteFixResponse {
708
+ applied_ref?: string | null;
709
+ fix_id: string;
710
+ status: string;
711
+ verification?: string | null;
712
+ }
713
+
414
714
  /**
415
715
  * Mirrors `DomainChangeDTO`: the current snapshot against the one nearest
416
716
  * 30 days back. `traffic_pct` is null when the baseline traffic was zero.
@@ -455,6 +755,13 @@ export interface SeoDomainPages {
455
755
  total: number;
456
756
  }
457
757
 
758
+ export interface SeoEndOfDay {
759
+ ask: string;
760
+ risk: string;
761
+ win: string;
762
+ work_channel_id?: string | null;
763
+ }
764
+
458
765
  /** Mirrors `KeywordRow`. */
459
766
  export interface SeoKeywordRow {
460
767
  competition?: number;
@@ -465,6 +772,34 @@ export interface SeoKeywordRow {
465
772
  search_volume?: number;
466
773
  }
467
774
 
775
+ export interface SeoMover {
776
+ confidence?: "measured" | "estimated" | "partial";
777
+ delta?: number | null;
778
+ detail: string;
779
+ from_value?: number | null;
780
+ kind: "rank_up" | "rank_down" | "gsc_drop" | "gsc_gain" | "low_ctr";
781
+ title: string;
782
+ to_value?: number | null;
783
+ url?: string | null;
784
+ }
785
+
786
+ /** One page in full: its Page360 snapshot plus top queries and open fixes. Extra snapshot keys pass through. */
787
+ export interface SeoPage360 {
788
+ fixes?: Array<Record<string, unknown>>;
789
+ queries?: Array<Record<string, unknown>>;
790
+ [key: string]: unknown;
791
+ }
792
+
793
+ /** The Page360 grid: one row per page with Search Console, vitals, visitors and fix counts. */
794
+ export interface SeoPages360 {
795
+ gsc_connected: boolean;
796
+ last_sync_at?: string | null;
797
+ limit: number;
798
+ offset: number;
799
+ rows: Array<Record<string, unknown>>;
800
+ total: number;
801
+ }
802
+
468
803
  /** Mirrors `RankHistoryResponse`. */
469
804
  export interface SeoRankHistory {
470
805
  keyword_id: string;
@@ -524,13 +859,27 @@ export interface SeoResearchKeywordsResponse {
524
859
  * refused with a 422 if it carries a scheme or a path.
525
860
  */
526
861
  export interface SeoSaveTrackedKeywordsRequest {
527
- cadence?: "daily" | "weekly";
862
+ cadence?: "daily" | "weekly" | "manual";
528
863
  domain: string;
529
864
  keywords: Array<SeoTrackKeywordItem>;
530
865
  language_code?: string;
531
866
  location_code?: number;
532
867
  }
533
868
 
869
+ export interface SeoSetupChecklist {
870
+ done_count: number;
871
+ items: Array<SeoSetupItem>;
872
+ total: number;
873
+ }
874
+
875
+ export interface SeoSetupItem {
876
+ action: SeoTodayAction;
877
+ done: boolean;
878
+ hint: string;
879
+ key: "gsc" | "domain" | "competitors" | "prompts" | "fix_delivery";
880
+ label: string;
881
+ }
882
+
534
883
  /**
535
884
  * Mirrors `StartAuditRequest`. `max_pages` is the crawl ceiling and the
536
885
  * thing the credit reservation is sized from.
@@ -540,6 +889,60 @@ export interface SeoStartAuditRequest {
540
889
  max_pages?: number;
541
890
  }
542
891
 
892
+ /** Today in Signals > SEO: KPIs, the briefing, the approval queue, movers, alerts and the setup checklist. */
893
+ export interface SeoToday {
894
+ alerts: Array<SeoTodayAlert>;
895
+ approval_queue: SeoApprovalQueue;
896
+ briefing: Array<SeoTodayCard>;
897
+ domain?: string | null;
898
+ end_of_day: SeoEndOfDay;
899
+ generated_at: string;
900
+ health_score?: number | null;
901
+ kpis: Array<SeoTodayKpi>;
902
+ movers: Array<SeoMover>;
903
+ setup: SeoSetupChecklist;
904
+ sources?: Record<string, boolean>;
905
+ }
906
+
907
+ export interface SeoTodayAction {
908
+ fix_id?: string | null;
909
+ href?: string | null;
910
+ kind: "goto_tab" | "settings" | "approve_fix" | "link";
911
+ label: string;
912
+ tab?: string | null;
913
+ }
914
+
915
+ export interface SeoTodayAlert {
916
+ action?: SeoTodayAction | null;
917
+ body: string;
918
+ fired_at: string;
919
+ id: string;
920
+ kind: string;
921
+ payload?: Record<string, unknown>;
922
+ severity: "critical" | "high" | "medium" | "low";
923
+ title: string;
924
+ }
925
+
926
+ export interface SeoTodayCard {
927
+ action: SeoTodayAction;
928
+ category: string;
929
+ confidence?: "measured" | "estimated" | "partial";
930
+ detail: string;
931
+ id: string;
932
+ severity: "critical" | "high" | "medium" | "low";
933
+ stake?: string | null;
934
+ title: string;
935
+ }
936
+
937
+ export interface SeoTodayKpi {
938
+ confidence?: "measured" | "estimated" | "partial";
939
+ delta_pct?: number | null;
940
+ hint?: string | null;
941
+ key: string;
942
+ label: string;
943
+ value?: number | null;
944
+ }
945
+
543
946
  /** Mirrors `TrackKeywordItem`. */
544
947
  export interface SeoTrackKeywordItem {
545
948
  keyword: string;