@graph8/sdk 0.251.0 → 0.262.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 (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +105 -7
  4. package/dist/index.d.ts +105 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +103 -7
  10. package/dist/react.d.ts +103 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1697 -0
  140. package/docs/api/deals.md +2436 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,161 @@
1
+ export interface GlobalContextDocument {
2
+ id: string;
3
+ category: string;
4
+ title: string;
5
+ content: string;
6
+ metadata: Record<string, unknown> | null;
7
+ created_at: string | null;
8
+ updated_at: string | null;
9
+ }
10
+ export interface Persona {
11
+ id: string;
12
+ name: string;
13
+ description: string | null;
14
+ status: string;
15
+ pain_points: string[];
16
+ goals: string[];
17
+ channels: string[];
18
+ created_at: string | null;
19
+ }
20
+ export interface ICP {
21
+ id: string;
22
+ name: string;
23
+ description: string | null;
24
+ status: string;
25
+ industry: string[] | null;
26
+ employee_count_min: number | null;
27
+ employee_count_max: number | null;
28
+ revenue_min: number | null;
29
+ revenue_max: number | null;
30
+ countries: string[] | null;
31
+ created_at: string | null;
32
+ }
33
+ export interface IntelligenceData {
34
+ id: string;
35
+ source_type: string;
36
+ url: string | null;
37
+ title: string | null;
38
+ content_summary: string | null;
39
+ collected_at: string | null;
40
+ }
41
+ export interface ResearchReport {
42
+ id: string;
43
+ category: "buyer_psychology" | "competitive_teardown" | "gtm_channel" | "industry_analyst" | "review_sentiment" | "voice_of_customer";
44
+ title: string;
45
+ summary: string | null;
46
+ created_at: string | null;
47
+ }
48
+ /**
49
+ * Studio context — org-level intelligence documents. The 44-doc engine that
50
+ * powers campaign ideation: brand brief, value props, messaging house, ICPs,
51
+ * personas, intelligence (scrapes + enrichment), and AI research reports.
52
+ *
53
+ * Requires API key (server-side).
54
+ *
55
+ * Backed by:
56
+ * GET /api/v1/global-context/documents
57
+ * GET /api/v1/icps POST /api/v1/icps PATCH /api/v1/icps/{id} POST /api/v1/icps/{id}/archive
58
+ * GET /api/v1/personas POST /api/v1/personas PATCH /api/v1/personas/{id} POST /api/v1/personas/{id}/archive
59
+ * GET /api/v1/intelligence-data
60
+ * GET /api/v1/research-reports
61
+ */
62
+ export declare const createStudioClient: (apiKey: string, apiUrl?: string) => {
63
+ /** Org-level Studio documents (brand_brief, value_props, messaging_house, etc.).
64
+ * `include_content` defaults to true server-side, so each document includes
65
+ * its `content` body unless you explicitly pass `include_content: false`. */
66
+ globalContext(params?: {
67
+ category?: string;
68
+ limit?: number;
69
+ include_content?: boolean;
70
+ }): Promise<{
71
+ data: GlobalContextDocument[];
72
+ }>;
73
+ /** ICP definitions. */
74
+ icps(params?: {
75
+ status?: string;
76
+ limit?: number;
77
+ }): Promise<{
78
+ data: ICP[];
79
+ }>;
80
+ /** Buyer persona definitions. */
81
+ personas(params?: {
82
+ status?: string;
83
+ limit?: number;
84
+ }): Promise<{
85
+ data: Persona[];
86
+ }>;
87
+ /** Intelligence data (website scrapes, enrichment, competitor research). */
88
+ intelligenceData(params?: {
89
+ source_type?: string;
90
+ limit?: number;
91
+ }): Promise<{
92
+ data: IntelligenceData[];
93
+ }>;
94
+ /** AI research reports (buyer psychology, competitive teardown, GTM channel, etc.). */
95
+ researchReports(params?: {
96
+ category?: string;
97
+ limit?: number;
98
+ }): Promise<{
99
+ data: ResearchReport[];
100
+ }>;
101
+ /** Create an ICP manually (no AI scoring). Requires name + website_url. */
102
+ createIcp(body: {
103
+ name: string;
104
+ website_url: string;
105
+ description?: string;
106
+ firmographics?: Record<string, unknown>;
107
+ tech_stack?: Record<string, unknown>;
108
+ buying_signals?: unknown[];
109
+ estimated_market_size?: number;
110
+ }): Promise<{
111
+ data: ICP;
112
+ }>;
113
+ /** Update an ICP (partial - send only fields to change). */
114
+ updateIcp(icpId: string, body: {
115
+ name?: string;
116
+ description?: string;
117
+ firmographics?: Record<string, unknown>;
118
+ tech_stack?: Record<string, unknown>;
119
+ buying_signals?: unknown[];
120
+ estimated_market_size?: number;
121
+ }): Promise<{
122
+ data: ICP;
123
+ }>;
124
+ /** Archive an ICP (soft delete - sets status to "archived"). */
125
+ archiveIcp(icpId: string): Promise<{
126
+ data: ICP;
127
+ }>;
128
+ /** Create a buyer persona manually (no AI generation). Requires title + website_url. */
129
+ createPersona(body: {
130
+ title: string;
131
+ website_url: string;
132
+ priority?: number;
133
+ confidence?: string;
134
+ why_target?: string;
135
+ key_signals?: unknown[];
136
+ expected_receptivity?: string;
137
+ campaign_approach?: string;
138
+ recommended_goal?: string;
139
+ source?: string;
140
+ }): Promise<{
141
+ data: Persona;
142
+ }>;
143
+ /** Update a persona (partial). Passing status "archived" is equivalent to archivePersona. */
144
+ updatePersona(personaId: string, body: {
145
+ title?: string;
146
+ priority?: number;
147
+ confidence?: string;
148
+ why_target?: string;
149
+ key_signals?: unknown[];
150
+ expected_receptivity?: string;
151
+ campaign_approach?: string;
152
+ recommended_goal?: string;
153
+ status?: string;
154
+ }): Promise<{
155
+ data: Persona;
156
+ }>;
157
+ /** Archive a persona (soft delete - sets status to "archived"). */
158
+ archivePersona(personaId: string): Promise<{
159
+ data: Persona;
160
+ }>;
161
+ };
@@ -0,0 +1,101 @@
1
+ export interface Task {
2
+ id: string;
3
+ entity_type: string | null;
4
+ entity_id: string | null;
5
+ title: string;
6
+ description: string | null;
7
+ due_date: string | null;
8
+ assignee_id: string | null;
9
+ assignee_name: string | null;
10
+ /** "open" | "completed" (other values may appear if the backend adds states later) */
11
+ status: string | null;
12
+ /** 0=none, 1=urgent, 2=high, 3=normal, 4=low */
13
+ priority: number | null;
14
+ task_type: string | null;
15
+ created_by: string | null;
16
+ created_at: string | null;
17
+ updated_at: string | null;
18
+ /** Parent task UUID when this row is a subtask, else null. One level deep. */
19
+ parent_task_id?: string | null;
20
+ /** Sort position within the parent's subtasks. 0 when not a subtask. */
21
+ subtask_sort_order?: number | null;
22
+ /** Number of subtasks under this task (top-level rows only). */
23
+ subtask_count?: number | null;
24
+ /** Subset of subtask_count whose status is "completed". */
25
+ completed_subtask_count?: number | null;
26
+ }
27
+ export interface TaskCreateParams {
28
+ title: string;
29
+ description?: string;
30
+ /** ISO 8601 date string. */
31
+ due_date?: string;
32
+ assignee_id?: string;
33
+ /** 0=none, 1=urgent, 2=high, 3=normal, 4=low */
34
+ priority?: number;
35
+ /**
36
+ * When set, the new task is created as a subtask of this parent. Parent
37
+ * must exist and must not itself be a subtask (subtasks are one level
38
+ * deep).
39
+ */
40
+ parent_task_id?: string;
41
+ /**
42
+ * Sort position within the parent's subtasks. Omit to append at the end.
43
+ */
44
+ subtask_sort_order?: number;
45
+ }
46
+ export interface TaskUpdateParams {
47
+ title?: string;
48
+ description?: string;
49
+ due_date?: string;
50
+ assignee_id?: string;
51
+ /** "open" | "completed" */
52
+ status?: string;
53
+ priority?: number;
54
+ /**
55
+ * Re-parent this task into a subtask of the given parent. Parent must
56
+ * exist, must not itself be a subtask, and a task that already has
57
+ * subtasks of its own cannot be demoted into a subtask.
58
+ */
59
+ parent_task_id?: string;
60
+ /** Reorder within the parent's subtasks. Can be sent alone. */
61
+ subtask_sort_order?: number;
62
+ }
63
+ export interface TaskListParams {
64
+ /** "open" | "completed" */
65
+ status?: string;
66
+ /** 0-4 */
67
+ priority?: number;
68
+ assignee_id?: string;
69
+ /** Substring search on title. */
70
+ search?: string;
71
+ }
72
+ /**
73
+ * Tasks API - CRUD for tasks attached to contacts. Requires API key (server-side).
74
+ *
75
+ * Backed by:
76
+ * GET /api/v1/contacts/{contact_id}/tasks
77
+ * GET /api/v1/tasks
78
+ * POST /api/v1/contacts/{contact_id}/tasks
79
+ * PATCH /api/v1/tasks/{task_id}
80
+ * DELETE /api/v1/tasks/{task_id}
81
+ */
82
+ export declare const createTasksClient: (apiKey: string, apiUrl?: string) => {
83
+ /** List tasks on a single contact. Optional status filter ("open" | "completed"). */
84
+ listForContact(contactId: number, status?: string): Promise<{
85
+ data: Task[];
86
+ }>;
87
+ /** List all tasks org-wide with optional filters. */
88
+ list(params?: TaskListParams): Promise<{
89
+ data: Task[];
90
+ }>;
91
+ /** Create a task on a contact. */
92
+ create(contactId: number, task: TaskCreateParams): Promise<Task>;
93
+ /** Update a task (partial). */
94
+ update(taskId: string, fields: TaskUpdateParams): Promise<Task>;
95
+ /** Delete a task. */
96
+ delete(taskId: string): Promise<{
97
+ data: {
98
+ deleted: boolean;
99
+ };
100
+ }>;
101
+ };
@@ -0,0 +1,45 @@
1
+ /** Configuration for g8.init() */
2
+ export interface G8Config {
3
+ /** Write key for client-side tracking (from Settings > MCP & API) */
4
+ writeKey?: string;
5
+ /** API key for server-side operations (from Settings > MCP & API > API tab) */
6
+ apiKey?: string;
7
+ /** Tracking host URL (default: https://t.graph8.com) */
8
+ host?: string;
9
+ /** Backend API URL (default: https://be.graph8.com) */
10
+ apiUrl?: string;
11
+ /** Privacy controls */
12
+ privacy?: G8PrivacyConfig;
13
+ /** Enable debug logging (default: false) */
14
+ debug?: boolean;
15
+ }
16
+ export interface G8PrivacyConfig {
17
+ /** Disable all cookies and event sending */
18
+ dontSend?: boolean;
19
+ /** Disable storing user identifiers */
20
+ dontStoreUserIds?: boolean;
21
+ /** IP address handling policy */
22
+ ipPolicy?: "keep" | "stripLastOctet" | "remove";
23
+ }
24
+ /** Properties for g8.track() events */
25
+ export interface TrackProperties {
26
+ [key: string]: string | number | boolean | null | undefined;
27
+ }
28
+ /** Properties for g8.identify() calls */
29
+ export interface IdentifyProperties {
30
+ email?: string;
31
+ name?: string;
32
+ first_name?: string;
33
+ last_name?: string;
34
+ company?: string;
35
+ company_domain?: string;
36
+ job_title?: string;
37
+ phone?: string;
38
+ [key: string]: string | number | boolean | null | undefined;
39
+ }
40
+ /** Result from g8.forms.lookup() */
41
+ export interface EnrichLookupResult {
42
+ found: boolean;
43
+ known_fields: Record<string, string>;
44
+ missing_fields: string[];
45
+ }
@@ -0,0 +1,21 @@
1
+ /** Check if running on the server (SSR). */
2
+ export declare const isServer: boolean;
3
+ /** Safely get the window object (returns undefined on server). */
4
+ export declare const getWindow: () => Window | undefined;
5
+ /**
6
+ * Derive the APP origin (which serves the embed pages) from the API origin.
7
+ *
8
+ * `apiUrl` addresses the FastAPI backend — `be.graph8.com` in production — and
9
+ * that host does not serve any page routes: `/webchat/embed` and
10
+ * `/copilot/embed` are Next.js pages on `app.graph8.com`. The two hosts are
11
+ * disjoint, so a single base URL cannot address both; an iframe pointed at
12
+ * `${apiUrl}/webchat/embed` renders the backend's `{"detail":"Not Found"}`.
13
+ *
14
+ * This is the inverse of `detectApiBaseUrl` in
15
+ * `frontend/chat-script/src/config.ts`, which maps `app.` → `be.` to find the
16
+ * API from the page. Same host convention, read the other way.
17
+ *
18
+ * Anything that is not a recognised graph8 or localhost origin is returned
19
+ * unchanged, so a self-hosted deployment keeps serving both from one host.
20
+ */
21
+ export declare const resolveAppBaseUrl: (apiBaseUrl: string) => string;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The published `@graph8/sdk` version.
3
+ *
4
+ * Kept in lock-step with `package.json` by `tests/client-header.test.ts`: bump
5
+ * both together (the version-parity gate already pins package.json, the
6
+ * lockfile and the CHANGELOG to each other).
7
+ */
8
+ export declare const SDK_VERSION = "0.262.0";
9
+ /** Value of the `X-G8-Client` header every SDK request carries (I-13). */
10
+ export declare const SDK_CLIENT_ID = "js-sdk/0.262.0";
@@ -0,0 +1,29 @@
1
+ export interface VisitorCompany {
2
+ company_name: string | null;
3
+ company_domain: string | null;
4
+ industry: string | null;
5
+ employee_count: string | null;
6
+ city: string | null;
7
+ country: string | null;
8
+ confidence: number;
9
+ }
10
+ export interface VisitorScore {
11
+ engagement: number;
12
+ intent: "low" | "medium" | "high";
13
+ signals: string[];
14
+ }
15
+ type IntentCallback = (visitor: VisitorCompany & VisitorScore) => void;
16
+ /**
17
+ * Visitor intelligence - identify anonymous visitors by IP → company.
18
+ *
19
+ * Requires write key auth. Works client-side only.
20
+ */
21
+ export declare const createVisitorsClient: (writeKey: string, apiUrl?: string) => {
22
+ /** Identify the current visitor's company from their IP address. */
23
+ identify(): Promise<VisitorCompany>;
24
+ /** Get engagement score for the current visitor. */
25
+ score(): Promise<VisitorScore>;
26
+ /** Listen for visitors matching an intent level. Polls every 30 seconds. */
27
+ onIntent(level: "low" | "medium" | "high", callback: IntentCallback): () => void;
28
+ };
29
+ export {};
@@ -0,0 +1,304 @@
1
+ type VoiceEvent = "connected" | "transcription" | "ended" | "error";
2
+ type VoiceCallback = (data: Record<string, unknown>) => void;
3
+ export interface VoicePagination {
4
+ total_items: number;
5
+ total_pages: number;
6
+ current_page: number;
7
+ page_size: number;
8
+ }
9
+ export interface DialerSessionSummary {
10
+ session_id: string;
11
+ status: string | null;
12
+ user_id: string | null;
13
+ user_email: string | null;
14
+ org_id: string | null;
15
+ from_phone: string | null;
16
+ campaign_id: string | null;
17
+ campaign_builder_campaign_id: string | null;
18
+ name: string | null;
19
+ session_metadata: Record<string, unknown> | null;
20
+ total_calls: number | null;
21
+ created_at: string | null;
22
+ updated_at: string | null;
23
+ contact_ids: unknown[];
24
+ }
25
+ export interface DialerSessionsListResult {
26
+ sessions: DialerSessionSummary[];
27
+ pagination: VoicePagination;
28
+ }
29
+ export interface DialerSessionsListParams {
30
+ page?: number;
31
+ /** Default 50, max 200. */
32
+ page_size?: number;
33
+ /** Comma-separated status list (e.g. "ACTIVE,PAUSED"). */
34
+ status?: string;
35
+ user_email?: string;
36
+ /** Substring search on session name. */
37
+ name?: string;
38
+ campaign_id?: string;
39
+ list_id?: string;
40
+ list_name?: string;
41
+ /** ISO 8601 timestamp. */
42
+ date_from?: string;
43
+ /** ISO 8601 timestamp. */
44
+ date_to?: string;
45
+ sort_by?: string;
46
+ /** Default "desc". */
47
+ sort_order?: "asc" | "desc";
48
+ }
49
+ export interface DialerStatsParams {
50
+ session_id?: string;
51
+ user_email?: string;
52
+ /** YYYY-MM-DD. */
53
+ date_from?: string;
54
+ /** YYYY-MM-DD. */
55
+ date_to?: string;
56
+ /** Default "DAILY". */
57
+ aggregation?: "DAILY" | "TOTAL";
58
+ }
59
+ export interface DialerReportFilters {
60
+ session_id: string | null;
61
+ user_email: string | null;
62
+ org_id: string | null;
63
+ date_from: string | null;
64
+ date_to: string | null;
65
+ aggregation: string | null;
66
+ }
67
+ export interface DialerReportMetric {
68
+ date: string | null;
69
+ sdr_name: string | null;
70
+ org_id: string | null;
71
+ list_title: string | null;
72
+ total_dials: number;
73
+ total_connections: number;
74
+ connection_rate: number;
75
+ total_voicemails: number;
76
+ voicemail_rate: number;
77
+ talk_time_minutes: number;
78
+ avg_call_duration_minutes: number;
79
+ dispositions: Record<string, unknown> | null;
80
+ success_rate: number;
81
+ unique_sessions: number;
82
+ avg_calls_per_session: number;
83
+ redial_count: number;
84
+ redial_success_rate: number | null;
85
+ peak_calling_hour: number | null;
86
+ total_callbacks: number;
87
+ }
88
+ export interface DialerStatsResult {
89
+ filters: DialerReportFilters;
90
+ metrics: DialerReportMetric[];
91
+ summary: DialerReportMetric | null;
92
+ }
93
+ export interface DialerNumberInfo {
94
+ number: string;
95
+ /** Default "ai". */
96
+ inbound_type: string;
97
+ /** Default "twilio". */
98
+ telephony_provider: string;
99
+ calls_today: number;
100
+ calls_7d: number;
101
+ connect_rate_7d: number;
102
+ is_valid: boolean;
103
+ daily_limit: number;
104
+ assigned_to: string | null;
105
+ created_at: string | null;
106
+ }
107
+ export interface DialerNumbersListResult {
108
+ numbers: DialerNumberInfo[];
109
+ }
110
+ export interface MissedCallback {
111
+ id: string | number | null;
112
+ caller_phone: string | null;
113
+ inbound_number: string | null;
114
+ first_name: string | null;
115
+ last_name: string | null;
116
+ email: string | null;
117
+ contact_id: string | number | null;
118
+ parallel_session_id: string | null;
119
+ created_at: string | null;
120
+ call_duration: number | null;
121
+ is_callback: boolean;
122
+ }
123
+ export interface MissedCallbacksResult {
124
+ missed_callbacks: MissedCallback[];
125
+ count: number;
126
+ }
127
+ export interface CallGradingResult {
128
+ room_name: string;
129
+ /** "ready" or "pending". */
130
+ status: string;
131
+ grading: Record<string, unknown> | null;
132
+ reviewed: boolean;
133
+ reviewed_at: string | null;
134
+ }
135
+ export interface DialerAgentSummary {
136
+ agent_id: string;
137
+ agent_name: string | null;
138
+ /** "SDR", etc. */
139
+ role: string | null;
140
+ agent_status: string | null;
141
+ /** "agent" or "twin". */
142
+ entity_type: string | null;
143
+ description: string | null;
144
+ phone: string | null;
145
+ is_template: boolean;
146
+ }
147
+ export interface DialerAgentsListResult {
148
+ agents: DialerAgentSummary[];
149
+ total_count: number;
150
+ }
151
+ export interface DialerAgentsListParams {
152
+ /** e.g. "SDR". */
153
+ role?: string;
154
+ agent_status?: string;
155
+ /** "agent" or "twin". */
156
+ entity_type?: "agent" | "twin";
157
+ /** Substring filter on name/description. */
158
+ search?: string;
159
+ }
160
+ export interface DialerSessionCreateParams {
161
+ /** 1-200 chars. */
162
+ name: string;
163
+ /** Org's dialer phone (E.164, 9-16 chars). */
164
+ from_phone: string;
165
+ /** Contact list ID (stored in session metadata). */
166
+ list_id?: string;
167
+ /** Display title for the source list. */
168
+ list_title?: string;
169
+ /** V2 agent UUID. */
170
+ agent_id?: string;
171
+ /** V1 fallback name. Defaults to "default_agent". */
172
+ agent_name?: string;
173
+ /** "agent" or "twin". */
174
+ entity_type?: "agent" | "twin";
175
+ /** Campaign Builder UUID. */
176
+ studio_campaign_id?: string;
177
+ /** IANA timezone (e.g. "America/New_York"). */
178
+ user_timezone?: string;
179
+ /** Per-session voicemail-skip override. null/omit = use SDR default. */
180
+ skip_voicemails?: boolean;
181
+ }
182
+ export interface DialerSessionCreateResult {
183
+ session_id: string;
184
+ status: string;
185
+ name: string | null;
186
+ org_id: string | null;
187
+ user_id: string | null;
188
+ user_email: string | null;
189
+ from_phone: string | null;
190
+ session_metadata: Record<string, unknown> | null;
191
+ total_calls: number;
192
+ created_at: string | null;
193
+ message: string | null;
194
+ }
195
+ /** "ACTIVE" resumes, "PAUSED" pauses, "COMPLETED" stops. "FAILED" is rejected. */
196
+ export type DialerSessionStatus = "ACTIVE" | "PAUSED" | "COMPLETED";
197
+ export interface DialerSessionStatusUpdateResult {
198
+ session_id: string;
199
+ status: string;
200
+ message: string | null;
201
+ name: string | null;
202
+ org_id: string | null;
203
+ user_id: string | null;
204
+ user_email: string | null;
205
+ from_phone: string | null;
206
+ session_metadata: Record<string, unknown> | null;
207
+ total_calls: number;
208
+ created_at: string | null;
209
+ updated_at: string | null;
210
+ }
211
+ export interface DialerSessionResumeResult extends DialerSessionStatusUpdateResult {
212
+ /** Contacts actually placed in this batch (voice caps at 4). */
213
+ dialed_count: number;
214
+ }
215
+ /**
216
+ * Voice AI — start AI voice calls, get transcriptions and analysis.
217
+ * Plus full parallel-dialer session control via the `dialer` namespace.
218
+ * Requires API key (server-side).
219
+ *
220
+ * Backed by:
221
+ * GET /api/v1/voice/dialer/sessions
222
+ * POST /api/v1/voice/dialer/sessions
223
+ * PATCH /api/v1/voice/dialer/sessions/{session_id}/status
224
+ * POST /api/v1/voice/dialer/sessions/{session_id}/resume
225
+ * GET /api/v1/voice/dialer/stats
226
+ * GET /api/v1/voice/dialer/numbers
227
+ * GET /api/v1/voice/dialer/missed-callbacks
228
+ * GET /api/v1/voice/dialer/calls/{room_name}/grading
229
+ * GET /api/v1/voice/dialer/agents
230
+ */
231
+ export declare const createVoiceClient: (apiKey: string, apiUrl?: string) => {
232
+ /** Listen for voice events. */
233
+ on(event: VoiceEvent, callback: VoiceCallback): void;
234
+ /** Parallel-dialer session control + analytics. */
235
+ dialer: {
236
+ /** List parallel-dialer sessions with filters + pagination. */
237
+ listSessions(params?: DialerSessionsListParams): Promise<DialerSessionsListResult>;
238
+ /** Create a parallel-dialer session in PAUSED state. SDR opens UI to start dialing. */
239
+ createSession(payload: DialerSessionCreateParams): Promise<DialerSessionCreateResult>;
240
+ /** Pause / resume / stop a dialer session via status flip. */
241
+ updateSessionStatus(sessionId: string, status: DialerSessionStatus): Promise<DialerSessionStatusUpdateResult>;
242
+ /**
243
+ * Resume a PAUSED dialer session.
244
+ *
245
+ * @deprecated The server route is retired and answers 410 (it never dialed:
246
+ * it forwarded to a voice path that did not exist, and the LiveKit dialer it
247
+ * targeted has been removed). Resume with
248
+ * `g8.api.call("dial_next_batch_dialer_sessions__session_id__next_batch_post",
249
+ * { path: { session_id }, body: { resume_intent: true } })`; the rep must have
250
+ * the dialer open to take the calls.
251
+ * @param maxContacts 1-4 (voice caps parallel dialing at 4). Default 4.
252
+ */
253
+ resumeSession(sessionId: string, maxContacts?: number): Promise<DialerSessionResumeResult>;
254
+ /** Aggregated dialer analytics (daily breakdown or total). */
255
+ stats(params?: DialerStatsParams): Promise<DialerStatsResult>;
256
+ /** List dialer-eligible phone numbers with 7-day stats + daily limits. */
257
+ numbers(userEmail?: string): Promise<DialerNumbersListResult>;
258
+ /** List missed inbound callbacks with caller / contact info. */
259
+ missedCallbacks(limit?: number): Promise<MissedCallbacksResult>;
260
+ /** AI grading for a single dialer call (returns "pending" while in progress). */
261
+ callGrading(roomName: string): Promise<CallGradingResult>;
262
+ /** List voice agents available for dialer sessions (capped at 100; no pagination). */
263
+ agents(params?: DialerAgentsListParams): Promise<DialerAgentsListResult>;
264
+ /** Fetch the full transcript for a single dialer call. */
265
+ callTranscript(roomName: string): Promise<{
266
+ data: {
267
+ status: string;
268
+ transcript: Array<{
269
+ speaker: string;
270
+ text: string;
271
+ timestamp: number;
272
+ }>;
273
+ };
274
+ }>;
275
+ /** List dialer calls — pass `contact_id` or `user_email` to scope. */
276
+ listCalls(params?: {
277
+ contact_id?: number;
278
+ user_email?: string;
279
+ campaign_id?: string;
280
+ date_from?: string;
281
+ date_to?: string;
282
+ limit?: number;
283
+ page?: number;
284
+ }): Promise<{
285
+ data: Array<Record<string, unknown>>;
286
+ pagination?: VoicePagination;
287
+ }>;
288
+ /** Convenience: list calls for a single contact. */
289
+ listCallsForContact(contactId: number, extra?: {
290
+ limit?: number;
291
+ }): Promise<{
292
+ data: Array<Record<string, unknown>>;
293
+ }>;
294
+ /** Convenience: list calls placed by a specific SDR. */
295
+ listCallsForSdr(userEmail: string, extra?: {
296
+ limit?: number;
297
+ date_from?: string;
298
+ date_to?: string;
299
+ }): Promise<{
300
+ data: Array<Record<string, unknown>>;
301
+ }>;
302
+ };
303
+ };
304
+ export {};