@graph8/sdk 0.303.0 → 0.357.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 (664) 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 +2220 -23
  390. package/dist/index.d.ts +2220 -23
  391. package/dist/index.js +64 -3
  392. package/dist/index.js.map +1 -1
  393. package/dist/index.mjs +64 -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 +2082 -20
  400. package/dist/react.d.ts +2082 -20
  401. package/dist/react.js +63 -2
  402. package/dist/react.js.map +1 -1
  403. package/dist/react.mjs +63 -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 +7 -3
  611. package/docs/api/appObjects.d.ts +3 -1
  612. package/docs/api/appObjects.md +2 -1
  613. package/docs/api/by-path.md +51 -0
  614. package/docs/api/dataPipelines.d.ts +149 -0
  615. package/docs/api/dataPipelines.md +232 -0
  616. package/docs/api/forms.d.ts +16 -0
  617. package/docs/api/forms.md +8 -0
  618. package/docs/api/objects.d.ts +705 -5
  619. package/docs/api/objects.md +1099 -14
  620. package/docs/api/ops.d.ts +1 -1
  621. package/docs/api/ops.md +1 -1
  622. package/docs/api/processLists.d.ts +247 -0
  623. package/docs/api/processLists.md +409 -0
  624. package/docs/api/quotes.d.ts +3 -1
  625. package/docs/api/quotes.md +7 -2
  626. package/docs/api/radar.d.ts +4 -0
  627. package/docs/api/radar.md +1 -0
  628. package/docs/api/reports.d.ts +476 -0
  629. package/docs/api/reports.md +539 -0
  630. package/docs/api/scheduleBuy.d.ts +12 -8
  631. package/docs/api/scheduleBuy.md +13 -10
  632. package/docs/api/seo.d.ts +406 -3
  633. package/docs/api/seo.md +505 -1
  634. package/docs/api/workspaceBackup.d.ts +324 -0
  635. package/docs/api/workspaceBackup.md +427 -0
  636. package/package.json +174 -5
  637. package/stacks/6sense.json +46 -0
  638. package/stacks/README.md +20 -0
  639. package/stacks/apollo.json +128 -0
  640. package/stacks/clay.json +59 -0
  641. package/stacks/gong.json +72 -0
  642. package/stacks/hubspot.json +162 -0
  643. package/stacks/intercom.json +53 -0
  644. package/stacks/mailchimp.json +71 -0
  645. package/stacks/outreach.json +86 -0
  646. package/stacks/salesforce.json +94 -0
  647. package/stacks/stack.schema.json +32 -0
  648. package/stacks/starter.json +22 -0
  649. package/styles/styles.css +2 -0
  650. package/styles/theme.css +181 -0
  651. package/styles/tokens.css +284 -0
  652. package/templates/next-app/README.md.tmpl +35 -0
  653. package/templates/next-app/_pages/redirect-page.tsx.tmpl +5 -0
  654. package/templates/next-app/_pages/route-page.tsx.tmpl +9 -0
  655. package/templates/next-app/app/globals.css.tmpl +8 -0
  656. package/templates/next-app/app/layout.tsx.tmpl +19 -0
  657. package/templates/next-app/components/app-shell.tsx.tmpl +34 -0
  658. package/templates/next-app/dot-env.local.example.tmpl +6 -0
  659. package/templates/next-app/dot-gitignore.tmpl +7 -0
  660. package/templates/next-app/lib/nav.ts.tmpl +2 -0
  661. package/templates/next-app/next.config.mjs.tmpl +4 -0
  662. package/templates/next-app/package.json.tmpl +25 -0
  663. package/templates/next-app/postcss.config.mjs.tmpl +4 -0
  664. package/templates/next-app/tsconfig.json.tmpl +21 -0
@@ -1,7 +1,7 @@
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.objects` (Objects): 24 operations.
4
+ * Types for `g8.api.objects` (Objects): 42 operations.
5
5
  *
6
6
  * For reading. In code, import from the package instead:
7
7
  * import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
@@ -17,26 +17,44 @@ export interface ObjectsMembers {
17
17
  archiveObject: "archive_object_objects__object_slug__delete";
18
18
  archiveObjectRecord: "archive_object_record_objects__object_slug__records__record_id__delete";
19
19
  bulkUpdateObjectRecords: "bulk_update_object_records_objects__object_slug__records_bulk_patch";
20
+ commitObjectCsvImport: "commit_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__commit_post";
20
21
  createAttribute: "create_attribute_objects__object_slug__attributes_post";
21
22
  createObject: "create_object_objects_post";
23
+ createObjectCsvImport: "create_object_csv_import_objects__object_slug__imports_csv_drafts_post";
22
24
  createObjectRecord: "create_object_record_objects__object_slug__records_post";
23
25
  createObjectRelationship: "create_object_relationship_objects__object_slug__records__record_id__relationships_post";
26
+ createObjectView: "create_object_view_objects__object_slug__views_post";
27
+ deleteObjectCsvImport: "delete_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__delete";
24
28
  deleteObjectRelationship: "delete_object_relationship_objects__object_slug__records__record_id__relationships__relationship_id__delete";
29
+ deleteObjectView: "delete_object_view_objects__object_slug__views__view_id__delete";
30
+ downloadObjectCsvImportErrors: "download_object_csv_import_errors_objects__object_slug__imports_csv_drafts__draft_id__errors_get";
31
+ exportObjectRecords: "export_object_records_objects__object_slug__exports_post";
25
32
  getObject: "get_object_objects__object_slug__get";
33
+ getObjectCsvImport: "get_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__get";
26
34
  getObjectRecord: "get_object_record_objects__object_slug__records__record_id__get";
27
35
  getObjectRecordChanges: "get_object_record_changes_objects__object_slug__records__record_id__changes_get";
28
36
  getObjectRecordHistory: "get_object_record_history_objects__object_slug__records__record_id__history_get";
29
37
  getObjectRelationshipDefinitions: "get_object_relationship_definitions_objects__object_slug__relationships_get";
30
38
  getObjectRelationships: "get_object_relationships_objects__object_slug__records__record_id__relationships_get";
39
+ inspectObjectCsvImport: "inspect_object_csv_import_objects__object_slug__imports_csv_inspect_post";
31
40
  listObjectAttributes: "list_object_attributes_objects__object_slug__attributes_get";
41
+ listObjectCsvImports: "list_object_csv_imports_objects__object_slug__imports_csv_drafts_get";
32
42
  listObjectRecords: "list_object_records_objects__object_slug__records_get";
43
+ listObjectViews: "list_object_views_objects__object_slug__views_get";
33
44
  listObjects: "list_objects_objects_get";
34
45
  mergeObjectRecords: "merge_object_records_objects__object_slug__records_merge_post";
46
+ previewObjectCsvImport: "preview_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__preview_post";
47
+ queryObjectBoardGroups: "query_object_board_groups_objects__object_slug__views_board_groups_post";
48
+ queryObjectBoardRecords: "query_object_board_records_objects__object_slug__views_board_records_post";
35
49
  restoreObjectRecord: "restore_object_record_objects__object_slug__records__record_id__restore_post";
50
+ setDefaultObjectView: "set_default_object_view_objects__object_slug__views_default_put";
36
51
  updateAttribute: "update_attribute_objects__object_slug__attributes__attr_slug__patch";
37
52
  updateObject: "update_object_objects__object_slug__patch";
53
+ updateObjectCsvImport: "update_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__put";
38
54
  updateObjectRecord: "update_object_record_objects__object_slug__records__record_id__patch";
55
+ updateObjectView: "update_object_view_objects__object_slug__views__view_id__put";
39
56
  upsertObjectRecord: "upsert_object_record_objects__object_slug__records_upsert_post";
57
+ validateFormula: "validate_formula_objects__object_slug__attributes_formula_validate_post";
40
58
  }
41
59
 
42
60
  /** Input and output of every `g8.api.objects` operation, keyed by operationId. */
@@ -108,6 +126,24 @@ export interface ObjectsOperations {
108
126
  };
109
127
  output: ApiResponse_RecordBulkUpdateResponse_;
110
128
  };
129
+ /**
130
+ * POST /objects/{object_slug}/imports/csv/drafts/{draft_id}/commit
131
+ * Commit Object Csv Import
132
+ * tier: write · scope: objects:write
133
+ */
134
+ commit_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__commit_post: {
135
+ input: {
136
+ path: {
137
+ object_slug: string;
138
+ draft_id: string;
139
+ };
140
+ headers?: {
141
+ "X-Target-Org-Id"?: string | null;
142
+ };
143
+ body: ObjectImportCommit;
144
+ };
145
+ output: ApiResponse_ObjectCsvReceipt_;
146
+ };
111
147
  /**
112
148
  * POST /objects/{object_slug}/attributes
113
149
  * Create Attribute
@@ -139,6 +175,23 @@ export interface ObjectsOperations {
139
175
  };
140
176
  output: ApiResponse_ObjectDefinitionResponse_;
141
177
  };
178
+ /**
179
+ * POST /objects/{object_slug}/imports/csv/drafts
180
+ * Create Object Csv Import
181
+ * tier: write · scope: objects:write
182
+ */
183
+ create_object_csv_import_objects__object_slug__imports_csv_drafts_post: {
184
+ input: {
185
+ path: {
186
+ object_slug: string;
187
+ };
188
+ headers?: {
189
+ "X-Target-Org-Id"?: string | null;
190
+ };
191
+ body: ObjectImportCreate;
192
+ };
193
+ output: ApiResponse_ObjectImportDetail_;
194
+ };
142
195
  /**
143
196
  * POST /objects/{object_slug}/records
144
197
  * Create Object Record
@@ -174,6 +227,43 @@ export interface ObjectsOperations {
174
227
  };
175
228
  output: ApiResponse_RelationshipResponse_;
176
229
  };
230
+ /**
231
+ * POST /objects/{object_slug}/views
232
+ * Create Object View
233
+ * tier: write · scope: objects:write
234
+ */
235
+ create_object_view_objects__object_slug__views_post: {
236
+ input: {
237
+ path: {
238
+ object_slug: string;
239
+ };
240
+ headers?: {
241
+ "X-Target-Org-Id"?: string | null;
242
+ };
243
+ body: ObjectViewCreate;
244
+ };
245
+ output: ApiResponse_SavedViewResponse_;
246
+ };
247
+ /**
248
+ * DELETE /objects/{object_slug}/imports/csv/drafts/{draft_id}
249
+ * Delete Object Csv Import
250
+ * tier: destructive · scope: objects:write
251
+ */
252
+ delete_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__delete: {
253
+ input: {
254
+ path: {
255
+ object_slug: string;
256
+ draft_id: string;
257
+ };
258
+ query: {
259
+ revision: number;
260
+ };
261
+ headers?: {
262
+ "X-Target-Org-Id"?: string | null;
263
+ };
264
+ };
265
+ output: ApiResponse_dict_;
266
+ };
177
267
  /**
178
268
  * DELETE /objects/{object_slug}/records/{record_id}/relationships/{relationship_id}
179
269
  * Delete Object Relationship
@@ -193,6 +283,57 @@ export interface ObjectsOperations {
193
283
  };
194
284
  output: ApiResponse_RelationshipResponse_;
195
285
  };
286
+ /**
287
+ * DELETE /objects/{object_slug}/views/{view_id}
288
+ * Delete Object View
289
+ * tier: destructive · scope: objects:delete
290
+ */
291
+ delete_object_view_objects__object_slug__views__view_id__delete: {
292
+ input: {
293
+ path: {
294
+ object_slug: string;
295
+ view_id: string;
296
+ };
297
+ headers?: {
298
+ "X-Target-Org-Id"?: string | null;
299
+ };
300
+ };
301
+ output: ApiResponse_NoneType_;
302
+ };
303
+ /**
304
+ * GET /objects/{object_slug}/imports/csv/drafts/{draft_id}/errors
305
+ * Download Object Csv Import Errors
306
+ * tier: read · scope: objects:write
307
+ */
308
+ download_object_csv_import_errors_objects__object_slug__imports_csv_drafts__draft_id__errors_get: {
309
+ input: {
310
+ path: {
311
+ object_slug: string;
312
+ draft_id: string;
313
+ };
314
+ headers?: {
315
+ "X-Target-Org-Id"?: string | null;
316
+ };
317
+ };
318
+ output: unknown;
319
+ };
320
+ /**
321
+ * POST /objects/{object_slug}/exports
322
+ * Export Object Records
323
+ * tier: write · scope: objects:export
324
+ */
325
+ export_object_records_objects__object_slug__exports_post: {
326
+ input: {
327
+ path: {
328
+ object_slug: string;
329
+ };
330
+ headers?: {
331
+ "X-Target-Org-Id"?: string | null;
332
+ };
333
+ body: ObjectExportRequest;
334
+ };
335
+ output: string;
336
+ };
196
337
  /**
197
338
  * GET /objects/{object_slug}
198
339
  * Get Object
@@ -209,6 +350,23 @@ export interface ObjectsOperations {
209
350
  };
210
351
  output: ApiResponse_ObjectDefinitionResponse_;
211
352
  };
353
+ /**
354
+ * GET /objects/{object_slug}/imports/csv/drafts/{draft_id}
355
+ * Get Object Csv Import
356
+ * tier: read · scope: objects:write
357
+ */
358
+ get_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__get: {
359
+ input: {
360
+ path: {
361
+ object_slug: string;
362
+ draft_id: string;
363
+ };
364
+ headers?: {
365
+ "X-Target-Org-Id"?: string | null;
366
+ };
367
+ };
368
+ output: ApiResponse_ObjectImportDetail_;
369
+ };
212
370
  /**
213
371
  * GET /objects/{object_slug}/records/{record_id}
214
372
  * Get Object Record
@@ -309,6 +467,23 @@ export interface ObjectsOperations {
309
467
  };
310
468
  output: ApiResponse_RecordRelationshipsResponse_;
311
469
  };
470
+ /**
471
+ * POST /objects/{object_slug}/imports/csv/inspect
472
+ * Inspect Object Csv Import
473
+ * tier: write · scope: objects:write
474
+ */
475
+ inspect_object_csv_import_objects__object_slug__imports_csv_inspect_post: {
476
+ input: {
477
+ path: {
478
+ object_slug: string;
479
+ };
480
+ headers?: {
481
+ "X-Target-Org-Id"?: string | null;
482
+ };
483
+ body: ObjectCsvInspect;
484
+ };
485
+ output: ApiResponse_ObjectCsvInspection_;
486
+ };
312
487
  /**
313
488
  * GET /objects/{object_slug}/attributes
314
489
  * List Object Attributes
@@ -328,6 +503,26 @@ export interface ObjectsOperations {
328
503
  };
329
504
  output: ApiResponse_list_AttributeDefinitionResponse__;
330
505
  };
506
+ /**
507
+ * GET /objects/{object_slug}/imports/csv/drafts
508
+ * List Object Csv Imports
509
+ * tier: read · scope: objects:write
510
+ */
511
+ list_object_csv_imports_objects__object_slug__imports_csv_drafts_get: {
512
+ input: {
513
+ path: {
514
+ object_slug: string;
515
+ };
516
+ query?: {
517
+ limit?: number;
518
+ offset?: number;
519
+ };
520
+ headers?: {
521
+ "X-Target-Org-Id"?: string | null;
522
+ };
523
+ };
524
+ output: ApiResponse_list_ObjectImportSummary__;
525
+ };
331
526
  /**
332
527
  * GET /objects/{object_slug}/records
333
528
  * List Object Records
@@ -352,6 +547,22 @@ export interface ObjectsOperations {
352
547
  };
353
548
  output: ApiResponse_list_ObjectRecordResponse__;
354
549
  };
550
+ /**
551
+ * GET /objects/{object_slug}/views
552
+ * List Object Views
553
+ * tier: read · scope: objects:read
554
+ */
555
+ list_object_views_objects__object_slug__views_get: {
556
+ input: {
557
+ path: {
558
+ object_slug: string;
559
+ };
560
+ headers?: {
561
+ "X-Target-Org-Id"?: string | null;
562
+ };
563
+ };
564
+ output: ApiResponse_list_SavedViewResponse__;
565
+ };
355
566
  /**
356
567
  * GET /objects
357
568
  * List Objects
@@ -385,6 +596,58 @@ export interface ObjectsOperations {
385
596
  };
386
597
  output: ApiResponse_RecordMergeResponse_;
387
598
  };
599
+ /**
600
+ * POST /objects/{object_slug}/imports/csv/drafts/{draft_id}/preview
601
+ * Preview Object Csv Import
602
+ * tier: write · scope: objects:write
603
+ */
604
+ preview_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__preview_post: {
605
+ input: {
606
+ path: {
607
+ object_slug: string;
608
+ draft_id: string;
609
+ };
610
+ headers?: {
611
+ "X-Target-Org-Id"?: string | null;
612
+ };
613
+ body: ImportPage;
614
+ };
615
+ output: ApiResponse_ObjectCsvPreview_;
616
+ };
617
+ /**
618
+ * POST /objects/{object_slug}/views/board/groups
619
+ * Query Object Board Groups
620
+ * tier: write · scope: objects:read
621
+ */
622
+ query_object_board_groups_objects__object_slug__views_board_groups_post: {
623
+ input: {
624
+ path: {
625
+ object_slug: string;
626
+ };
627
+ headers?: {
628
+ "X-Target-Org-Id"?: string | null;
629
+ };
630
+ body: ObjectViewState;
631
+ };
632
+ output: ApiResponse_list_ObjectBoardGroup__;
633
+ };
634
+ /**
635
+ * POST /objects/{object_slug}/views/board/records
636
+ * Query Object Board Records
637
+ * tier: write · scope: objects:read
638
+ */
639
+ query_object_board_records_objects__object_slug__views_board_records_post: {
640
+ input: {
641
+ path: {
642
+ object_slug: string;
643
+ };
644
+ headers?: {
645
+ "X-Target-Org-Id"?: string | null;
646
+ };
647
+ body: ObjectBoardPage;
648
+ };
649
+ output: ApiResponse_RecordListResponse_;
650
+ };
388
651
  /**
389
652
  * POST /objects/{object_slug}/records/{record_id}/restore
390
653
  * Restore Object Record
@@ -402,6 +665,23 @@ export interface ObjectsOperations {
402
665
  };
403
666
  output: ApiResponse_ObjectRecordResponse_;
404
667
  };
668
+ /**
669
+ * PUT /objects/{object_slug}/views/default
670
+ * Set Default Object View
671
+ * tier: write · scope: objects:write
672
+ */
673
+ set_default_object_view_objects__object_slug__views_default_put: {
674
+ input: {
675
+ path: {
676
+ object_slug: string;
677
+ };
678
+ headers?: {
679
+ "X-Target-Org-Id"?: string | null;
680
+ };
681
+ body: ObjectViewDefault;
682
+ };
683
+ output: ApiResponse_Union_SavedViewResponse__NoneType__;
684
+ };
405
685
  /**
406
686
  * PATCH /objects/{object_slug}/attributes/{attr_slug}
407
687
  * Update Attribute
@@ -437,6 +717,27 @@ export interface ObjectsOperations {
437
717
  };
438
718
  output: ApiResponse_ObjectDefinitionResponse_;
439
719
  };
720
+ /**
721
+ * PUT /objects/{object_slug}/imports/csv/drafts/{draft_id}
722
+ * Update Object Csv Import
723
+ * tier: write · scope: objects:write
724
+ */
725
+ update_object_csv_import_objects__object_slug__imports_csv_drafts__draft_id__put: {
726
+ input: {
727
+ path: {
728
+ object_slug: string;
729
+ draft_id: string;
730
+ };
731
+ query: {
732
+ revision: number;
733
+ };
734
+ headers?: {
735
+ "X-Target-Org-Id"?: string | null;
736
+ };
737
+ body: ObjectImportUpdate;
738
+ };
739
+ output: ApiResponse_ObjectImportDetail_;
740
+ };
440
741
  /**
441
742
  * PATCH /objects/{object_slug}/records/{record_id}
442
743
  * Update Object Record
@@ -455,6 +756,24 @@ export interface ObjectsOperations {
455
756
  };
456
757
  output: ApiResponse_ObjectRecordResponse_;
457
758
  };
759
+ /**
760
+ * PUT /objects/{object_slug}/views/{view_id}
761
+ * Update Object View
762
+ * tier: write · scope: objects:write
763
+ */
764
+ update_object_view_objects__object_slug__views__view_id__put: {
765
+ input: {
766
+ path: {
767
+ object_slug: string;
768
+ view_id: string;
769
+ };
770
+ headers?: {
771
+ "X-Target-Org-Id"?: string | null;
772
+ };
773
+ body: ObjectViewUpdate;
774
+ };
775
+ output: ApiResponse_SavedViewResponse_;
776
+ };
458
777
  /**
459
778
  * POST /objects/{object_slug}/records/upsert
460
779
  * Upsert Object Record
@@ -472,20 +791,67 @@ export interface ObjectsOperations {
472
791
  };
473
792
  output: ApiResponse_ObjectRecordResponse_;
474
793
  };
794
+ /**
795
+ * POST /objects/{object_slug}/attributes/formula/validate
796
+ * Validate Formula
797
+ * tier: read · scope: objects:read
798
+ */
799
+ validate_formula_objects__object_slug__attributes_formula_validate_post: {
800
+ input: {
801
+ path: {
802
+ object_slug: string;
803
+ };
804
+ headers?: {
805
+ "X-Target-Org-Id"?: string | null;
806
+ };
807
+ body: FormulaValidateRequest;
808
+ };
809
+ output: ApiResponse_FormulaValidateResponse_;
810
+ };
475
811
  }
476
812
 
477
- // 46 schemas referenced above (the same as G8Contract.<Name>).
813
+ // 89 schemas referenced above (the same as G8Contract.<Name>).
478
814
 
479
815
  export interface ApiResponse_AttributeDefinitionResponse_ {
480
816
  data: AttributeDefinitionResponse;
481
817
  pagination?: PaginationMeta | null;
482
818
  }
483
819
 
820
+ export interface ApiResponse_FormulaValidateResponse_ {
821
+ data: FormulaValidateResponse;
822
+ pagination?: PaginationMeta | null;
823
+ }
824
+
825
+ export interface ApiResponse_NoneType_ {
826
+ data: null;
827
+ pagination?: PaginationMeta | null;
828
+ }
829
+
830
+ export interface ApiResponse_ObjectCsvInspection_ {
831
+ data: ObjectCsvInspection;
832
+ pagination?: PaginationMeta | null;
833
+ }
834
+
835
+ export interface ApiResponse_ObjectCsvPreview_ {
836
+ data: ObjectCsvPreview;
837
+ pagination?: PaginationMeta | null;
838
+ }
839
+
840
+ export interface ApiResponse_ObjectCsvReceipt_ {
841
+ data: ObjectCsvReceipt;
842
+ pagination?: PaginationMeta | null;
843
+ }
844
+
484
845
  export interface ApiResponse_ObjectDefinitionResponse_ {
485
846
  data: ObjectDefinitionResponse;
486
847
  pagination?: PaginationMeta | null;
487
848
  }
488
849
 
850
+ export interface ApiResponse_ObjectImportDetail_ {
851
+ data: ObjectImportDetail;
852
+ pagination?: PaginationMeta | null;
853
+ }
854
+
489
855
  export interface ApiResponse_ObjectRecordResponse_ {
490
856
  data: ObjectRecordResponse;
491
857
  pagination?: PaginationMeta | null;
@@ -501,6 +867,11 @@ export interface ApiResponse_RecordHistoryResponse_ {
501
867
  pagination?: PaginationMeta | null;
502
868
  }
503
869
 
870
+ export interface ApiResponse_RecordListResponse_ {
871
+ data: RecordListResponse;
872
+ pagination?: PaginationMeta | null;
873
+ }
874
+
504
875
  export interface ApiResponse_RecordMergeResponse_ {
505
876
  data: RecordMergeResponse;
506
877
  pagination?: PaginationMeta | null;
@@ -526,24 +897,55 @@ export interface ApiResponse_RelationshipResponse_ {
526
897
  pagination?: PaginationMeta | null;
527
898
  }
528
899
 
900
+ export interface ApiResponse_SavedViewResponse_ {
901
+ data: SavedViewResponse;
902
+ pagination?: PaginationMeta | null;
903
+ }
904
+
905
+ export interface ApiResponse_Union_SavedViewResponse__NoneType__ {
906
+ data: SavedViewResponse | null;
907
+ pagination?: PaginationMeta | null;
908
+ }
909
+
910
+ export interface ApiResponse_dict_ {
911
+ data: Record<string, unknown>;
912
+ pagination?: PaginationMeta | null;
913
+ }
914
+
529
915
  export interface ApiResponse_list_AttributeDefinitionResponse__ {
530
916
  data: Array<AttributeDefinitionResponse>;
531
917
  pagination?: PaginationMeta | null;
532
918
  }
533
919
 
920
+ export interface ApiResponse_list_ObjectBoardGroup__ {
921
+ data: Array<ObjectBoardGroup>;
922
+ pagination?: PaginationMeta | null;
923
+ }
924
+
534
925
  export interface ApiResponse_list_ObjectDefinitionResponse__ {
535
926
  data: Array<ObjectDefinitionResponse>;
536
927
  pagination?: PaginationMeta | null;
537
928
  }
538
929
 
930
+ export interface ApiResponse_list_ObjectImportSummary__ {
931
+ data: Array<ObjectImportSummary>;
932
+ pagination?: PaginationMeta | null;
933
+ }
934
+
539
935
  export interface ApiResponse_list_ObjectRecordResponse__ {
540
936
  data: Array<ObjectRecordResponse>;
541
937
  pagination?: PaginationMeta | null;
542
938
  }
543
939
 
940
+ export interface ApiResponse_list_SavedViewResponse__ {
941
+ data: Array<SavedViewResponse>;
942
+ pagination?: PaginationMeta | null;
943
+ }
944
+
544
945
  /** Configuration for specific attribute types. */
545
946
  export interface AttributeConfig {
546
947
  currency_code?: string | null;
948
+ formula?: FormulaInput | null;
547
949
  max_value?: number | null;
548
950
  options?: Array<Record<string, unknown>> | null;
549
951
  referenced_object?: string | null;
@@ -592,10 +994,12 @@ export interface AttributeDefinitionResponse {
592
994
  sort_order?: number;
593
995
  /** Customer-facing field label, distinct from its stable API slug. */
594
996
  title: string;
997
+ /** Role ids that may see this field; null means every role. Owners and admins always see every field. A field hidden from the caller is absent from every response. Set it with PATCH on this attribute. */
998
+ visible_to_role_ids?: Array<string> | null;
595
999
  }
596
1000
 
597
1001
  /** Valid attribute types for the Custom Objects type system. */
598
- export type AttributeType = "text" | "number" | "currency" | "date" | "timestamp" | "checkbox" | "select" | "status" | "email_address" | "phone_number" | "domain" | "location" | "personal_name" | "record_reference" | "rating" | "actor_reference";
1002
+ export type AttributeType = "text" | "number" | "currency" | "date" | "timestamp" | "checkbox" | "select" | "status" | "email_address" | "phone_number" | "domain" | "location" | "personal_name" | "record_reference" | "rating" | "actor_reference" | "formula";
599
1003
 
600
1004
  export interface AttributeUpdateRequest {
601
1005
  config?: AttributeConfig | null;
@@ -608,6 +1012,118 @@ export interface AttributeUpdateRequest {
608
1012
  is_unique?: boolean | null;
609
1013
  sort_order?: number | null;
610
1014
  title?: string | null;
1015
+ visible_to_role_ids?: Array<string> | null;
1016
+ }
1017
+
1018
+ /**
1019
+ * Which CRM grid the saved view applies to. Free-form string at the DB
1020
+ * level (cb_saved_views.entity_type is VARCHAR(50)) to avoid a schema
1021
+ * migration when we add deals/tasks/leads — but enforced as an enum at the
1022
+ * API boundary so we don't accept typos.
1023
+ *
1024
+ * NEITHER A SUBSET NOR A SUPERSET OF ``FilterEntityType`` — see the invariant
1025
+ * on that class, and the sibling docstring below, which states the same
1026
+ * relationship from the other side. The two enums overlap on the four GRID
1027
+ * values (``contacts``, ``companies``, ``deals``, ``leads``);
1028
+ * ``FilterEntityType`` is a superset of THOSE and adds ``report``, while the
1029
+ * nine list/view/search/workbench members here have no counterpart there.
1030
+ * Custom objects additionally use an object-bound view context.
1031
+ *
1032
+ * (This paragraph previously read "DELIBERATELY NARROWER THAN
1033
+ * ``FilterEntityType``", which inverted the relationship: this is the LARGER
1034
+ * enum. The narrowness that matters is real but specific — ``report`` is
1035
+ * excluded, and only ``report`` — so stating it as a general containment
1036
+ * invited exactly the wrong conclusion about the other nine.)
1037
+ *
1038
+ * Native grid members can be saved with ``context_key = NULL`` for reuse
1039
+ * across that entity type. CUSTOM_OBJECTS is the exception: it requires an
1040
+ * immutable object context and the object-authorized endpoints. It must never
1041
+ * enter the native grids' reusable saved-filter menus.
1042
+ */
1043
+ export type EntityType = "custom_objects" | "contacts" | "companies" | "deals" | "leads" | "lists" | "contacts_view" | "companies_view" | "list_contacts" | "list_companies" | "search_people" | "search_companies" | "abm_companies" | "enrichment_workbench" | "enrichment_workbenches";
1044
+
1045
+ /**
1046
+ * Guided-builder input for a computed field (CRM-06): only the typed JSON expression. The result type,
1047
+ * currency, dependencies, input closure and rollup flag are computed and stored server side at save time --
1048
+ * never accepted from a client. A rollup is a ``rollup`` node (the whole expression, or nested).
1049
+ */
1050
+ export interface FormulaInput {
1051
+ expression: Record<string, unknown>;
1052
+ }
1053
+
1054
+ /** Dry-run check of a typed formula expression. Nothing is persisted or locked. */
1055
+ export interface FormulaValidateRequest {
1056
+ /** Slug of the computed field being EDITED (checked against its own place in the dependency graph); omit for a new one. */
1057
+ attribute_slug?: string | null;
1058
+ /** The typed JSON expression (a node tree; a rollup is a `rollup` node). */
1059
+ expression: Record<string, unknown>;
1060
+ /** Evaluate the expression against this record's current values. */
1061
+ preview_record_id?: string | null;
1062
+ }
1063
+
1064
+ export interface FormulaValidateResponse {
1065
+ currency_code?: string | null;
1066
+ depends_on?: Array<Record<string, unknown>>;
1067
+ /** Field-level problems (`reason` is a stable code). */
1068
+ errors?: Array<Record<string, unknown>>;
1069
+ /** Why the preview record could not be evaluated (a code, never a value). */
1070
+ preview_error?: string | null;
1071
+ /** With a preview record: one entry per rollup in the expression, counted over the records the caller may read. */
1072
+ preview_rollups?: Array<PreviewRollup>;
1073
+ preview_value?: unknown;
1074
+ referenced_object_slugs?: Array<string>;
1075
+ /** number, currency, text, checkbox, date or timestamp. */
1076
+ result_type?: string | null;
1077
+ valid: boolean;
1078
+ }
1079
+
1080
+ export interface ImportPage {
1081
+ limit?: number;
1082
+ offset?: number;
1083
+ /** The draft revision this page was planned against */
1084
+ revision: number;
1085
+ }
1086
+
1087
+ export interface ImportPreviewRow {
1088
+ already_imported?: boolean;
1089
+ errors?: Array<Record<string, unknown>>;
1090
+ record_id?: string | null;
1091
+ revision?: number | null;
1092
+ row_number: number;
1093
+ values?: Record<string, unknown>;
1094
+ }
1095
+
1096
+ export interface ImportReceiptRow {
1097
+ action: "created" | "updated";
1098
+ record_id: string;
1099
+ replayed?: boolean;
1100
+ revision: number;
1101
+ row_number: number;
1102
+ }
1103
+
1104
+ export interface ImportRowExpectation {
1105
+ record_id?: string | null;
1106
+ revision?: number | null;
1107
+ row_number: number;
1108
+ }
1109
+
1110
+ /** A row this commit did not import; its errors are kept for the error file. */
1111
+ export interface ImportSkippedRow {
1112
+ errors: Array<Record<string, unknown>>;
1113
+ row_number: number;
1114
+ }
1115
+
1116
+ export interface ObjectBoardGroup {
1117
+ label: string;
1118
+ total: number;
1119
+ value: string | null;
1120
+ }
1121
+
1122
+ export interface ObjectBoardPage {
1123
+ group_value?: string | null;
1124
+ limit?: number;
1125
+ offset?: number;
1126
+ state: ObjectViewState;
611
1127
  }
612
1128
 
613
1129
  export interface ObjectCreateRequest {
@@ -618,6 +1134,44 @@ export interface ObjectCreateRequest {
618
1134
  slug: string;
619
1135
  }
620
1136
 
1137
+ export interface ObjectCsvInspect {
1138
+ csv: string;
1139
+ }
1140
+
1141
+ export interface ObjectCsvInspection {
1142
+ headers: Array<string>;
1143
+ sample: Array<Array<string>>;
1144
+ total: number;
1145
+ }
1146
+
1147
+ export interface ObjectCsvPreview {
1148
+ completed: number;
1149
+ next_offset: number | null;
1150
+ rows: Array<ImportPreviewRow>;
1151
+ schema_fingerprint: string;
1152
+ total: number;
1153
+ }
1154
+
1155
+ /**
1156
+ * Outcome of one committed page. ``created`` / ``updated`` / ``skipped`` count
1157
+ * this request only; rows an earlier attempt already imported are
1158
+ * ``already_imported``. ``completed`` and ``error_rows`` are the import's totals.
1159
+ */
1160
+ export interface ObjectCsvReceipt {
1161
+ already_imported: number;
1162
+ completed: number;
1163
+ created: number;
1164
+ error_file_available: boolean;
1165
+ error_rows: number;
1166
+ replayed?: boolean;
1167
+ rows: Array<ImportReceiptRow>;
1168
+ skipped: number;
1169
+ skipped_rows?: Array<ImportSkippedRow>;
1170
+ status: "draft" | "partial" | "completed" | "expired";
1171
+ total: number;
1172
+ updated: number;
1173
+ }
1174
+
621
1175
  /** One custom object type in the caller's workspace. */
622
1176
  export interface ObjectDefinitionResponse {
623
1177
  /** Customer-configured object description. */
@@ -638,6 +1192,82 @@ export interface ObjectDefinitionResponse {
638
1192
  slug: string;
639
1193
  }
640
1194
 
1195
+ export interface ObjectExportRequest {
1196
+ format?: "csv" | "json";
1197
+ state?: ObjectViewState;
1198
+ }
1199
+
1200
+ export interface ObjectImportCommit {
1201
+ expected: Array<ImportRowExpectation>;
1202
+ limit?: number;
1203
+ offset?: number;
1204
+ /** The draft revision this page was planned against */
1205
+ revision: number;
1206
+ schema_fingerprint: string;
1207
+ }
1208
+
1209
+ export interface ObjectImportCreate {
1210
+ csv: string;
1211
+ filename: string;
1212
+ mapping?: Record<string, string>;
1213
+ matching_attribute?: string | null;
1214
+ mode?: "create" | "upsert";
1215
+ }
1216
+
1217
+ export interface ObjectImportDetail {
1218
+ completed: number;
1219
+ created_at: string;
1220
+ error_rows: number;
1221
+ expires_at: string;
1222
+ filename: string;
1223
+ headers: Array<string>;
1224
+ id: string;
1225
+ owner_id: string;
1226
+ owner_type: "user" | "api";
1227
+ revision: number;
1228
+ /** First rows of the file while it is still stored */
1229
+ sample?: Array<Array<string>>;
1230
+ setup: ObjectImportSetup;
1231
+ source_available: boolean;
1232
+ status: "draft" | "partial" | "completed" | "expired";
1233
+ total: number;
1234
+ updated_at: string;
1235
+ }
1236
+
1237
+ /**
1238
+ * Column mapping (CSV header -> field slug) and match mode. May be
1239
+ * incomplete while saved; preview and commit need an executable setup.
1240
+ */
1241
+ export interface ObjectImportSetup {
1242
+ mapping?: Record<string, string>;
1243
+ matching_attribute?: string | null;
1244
+ mode?: "create" | "upsert";
1245
+ }
1246
+
1247
+ /** History metadata: never cell values. */
1248
+ export interface ObjectImportSummary {
1249
+ completed: number;
1250
+ created_at: string;
1251
+ error_rows: number;
1252
+ expires_at: string;
1253
+ filename: string;
1254
+ id: string;
1255
+ owner_id: string;
1256
+ owner_type: "user" | "api";
1257
+ revision: number;
1258
+ source_available: boolean;
1259
+ status: "draft" | "partial" | "completed" | "expired";
1260
+ total: number;
1261
+ updated_at: string;
1262
+ }
1263
+
1264
+ export interface ObjectImportUpdate {
1265
+ filename: string;
1266
+ mapping?: Record<string, string>;
1267
+ matching_attribute?: string | null;
1268
+ mode?: "create" | "upsert";
1269
+ }
1270
+
641
1271
  /** One record, with its currently active attribute values. */
642
1272
  export interface ObjectRecordResponse {
643
1273
  created_at?: string | null;
@@ -663,6 +1293,33 @@ export interface ObjectUpdateRequest {
663
1293
  singular_noun?: string | null;
664
1294
  }
665
1295
 
1296
+ export interface ObjectViewCreate {
1297
+ state?: ObjectViewState;
1298
+ title: string;
1299
+ visibility?: Visibility;
1300
+ }
1301
+
1302
+ export interface ObjectViewDefault {
1303
+ view_id?: string | null;
1304
+ }
1305
+
1306
+ export interface ObjectViewState {
1307
+ columns?: Array<string> | null;
1308
+ filters?: Array<RecordFilter>;
1309
+ groupBy?: string | null;
1310
+ includeArchived?: boolean;
1311
+ layout?: "table" | "board";
1312
+ search?: string;
1313
+ sortBy?: string | null;
1314
+ sortOrder?: "asc" | "desc";
1315
+ version?: 1;
1316
+ }
1317
+
1318
+ export interface ObjectViewUpdate {
1319
+ state?: ObjectViewState | null;
1320
+ title?: string | null;
1321
+ }
1322
+
666
1323
  export interface PaginationMeta {
667
1324
  /** Whether there are more pages */
668
1325
  has_next: boolean;
@@ -682,6 +1339,14 @@ export interface PaginationMeta {
682
1339
  total_is_lower_bound?: boolean | null;
683
1340
  }
684
1341
 
1342
+ /** How many linked records one rollup of a previewed expression counted. */
1343
+ export interface PreviewRollup {
1344
+ /** Linked records the rollup counted for the preview record (the ones its filters keep). */
1345
+ matched_count: number;
1346
+ /** Where the rollup sits in the expression: `$` is the root, `$.left`, `$.args[1]`, `$.then_branch`. */
1347
+ node_path: string;
1348
+ }
1349
+
685
1350
  /**
686
1351
  * Bulk-update body: exactly one scope (explicit ids or a filtered set),
687
1352
  * plus the values to apply to every record in that scope.
@@ -699,7 +1364,16 @@ export interface RecordBulkUpdate {
699
1364
  values?: Record<string, unknown>;
700
1365
  }
701
1366
 
1367
+ /**
1368
+ * One record a bulk update did not change. ``error`` is the human message
1369
+ * (kept for existing clients); ``code`` is stable for UIs to branch on:
1370
+ * locked, archived, not_found, scope_changed, unique_conflict, invalid_value,
1371
+ * constraint_violation or rejected; ``attribute_slug`` names the field when
1372
+ * one field caused it.
1373
+ */
702
1374
  export interface RecordBulkUpdateFailure {
1375
+ attribute_slug?: string | null;
1376
+ code?: string;
703
1377
  error: string;
704
1378
  id: string;
705
1379
  }
@@ -714,7 +1388,7 @@ export interface RecordBulkUpdateResponse {
714
1388
  /** Filter parameters for listing records. */
715
1389
  export interface RecordFilter {
716
1390
  attribute_slug: string;
717
- operator: "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "contains" | "starts_with" | "is_null" | "is_not_null";
1391
+ operator: "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "contains" | "starts_with" | "in" | "is_null" | "is_not_null";
718
1392
  value?: unknown | null;
719
1393
  }
720
1394
 
@@ -745,6 +1419,12 @@ export interface RecordHistoryResponse {
745
1419
  record_id: string;
746
1420
  }
747
1421
 
1422
+ /** Response for listing records. */
1423
+ export interface RecordListResponse {
1424
+ records: Array<RecordResponse>;
1425
+ total: number;
1426
+ }
1427
+
748
1428
  export interface RecordMergeCascade {
749
1429
  associations_deleted: number;
750
1430
  associations_repointed: number;
@@ -777,7 +1457,7 @@ export interface RecordMergeResponse {
777
1457
  }
778
1458
 
779
1459
  export interface RecordMutationEntry {
780
- action: "created" | "updated" | "archived" | "restored";
1460
+ action: "created" | "updated" | "archived" | "restored" | "recalculated";
781
1461
  actor_id: string | null;
782
1462
  actor_type: "user" | "api" | "app" | "integration" | "system";
783
1463
  app_id?: string | null;
@@ -911,3 +1591,23 @@ export interface RelationshipResponse {
911
1591
  target_record_id: string;
912
1592
  target_revision: number;
913
1593
  }
1594
+
1595
+ /** Response shape — flat shape with state at top level for convenience. */
1596
+ export interface SavedViewResponse {
1597
+ context_key: string | null;
1598
+ created_at: string | null;
1599
+ created_by: string;
1600
+ description: string | null;
1601
+ entity_type: EntityType;
1602
+ id: string;
1603
+ is_default: boolean;
1604
+ is_owner: boolean;
1605
+ is_reusable: boolean;
1606
+ state: Record<string, unknown>;
1607
+ title: string;
1608
+ updated_at: string | null;
1609
+ visibility: Visibility;
1610
+ }
1611
+
1612
+ /** Who can apply a view. Only the creator can update or delete it. */
1613
+ export type Visibility = "private" | "org";