@graph8/sdk 0.245.0 → 0.260.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.
- package/README.md +19 -5
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +283 -12
- package/dist/index.d.ts +283 -12
- package/dist/index.js +88 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +88 -2
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +274 -12
- package/dist/react.d.ts +274 -12
- package/dist/react.js +106 -10
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +97 -11
- package/dist/react.mjs.map +1 -1
- package/dist/types/README.md +7 -0
- package/dist/types/agency.d.ts +20 -0
- package/dist/types/agentSetup.d.ts +57 -0
- package/dist/types/api.d.ts +127 -0
- package/dist/types/appClient.d.ts +99 -0
- package/dist/types/appPlatform.d.ts +269 -0
- package/dist/types/appTokens.d.ts +125 -0
- package/dist/types/apps.d.ts +130 -0
- package/dist/types/audiences.d.ts +88 -0
- package/dist/types/calendar.d.ts +55 -0
- package/dist/types/campaigns.d.ts +61 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/cli.d.ts +14 -0
- package/dist/types/companies.d.ts +123 -0
- package/dist/types/contacts.d.ts +200 -0
- package/dist/types/copilot.d.ts +31 -0
- package/dist/types/core.d.ts +1052 -0
- package/dist/types/deals.d.ts +215 -0
- package/dist/types/enrich.d.ts +51 -0
- package/dist/types/fields.d.ts +84 -0
- package/dist/types/forms.d.ts +16 -0
- package/dist/types/http.d.ts +141 -0
- package/dist/types/inbox.d.ts +123 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/intent.d.ts +196 -0
- package/dist/types/lists.d.ts +44 -0
- package/dist/types/mailboxes.d.ts +240 -0
- package/dist/types/marketplace.d.ts +62 -0
- package/dist/types/meetings.d.ts +70 -0
- package/dist/types/newsletter.d.ts +212 -0
- package/dist/types/notes.d.ts +57 -0
- package/dist/types/objects.d.ts +281 -0
- package/dist/types/pipelines.d.ts +135 -0
- package/dist/types/quotes.d.ts +143 -0
- package/dist/types/react.d.ts +978 -0
- package/dist/types/search.d.ts +99 -0
- package/dist/types/sequences.d.ts +255 -0
- package/dist/types/signals.d.ts +28 -0
- package/dist/types/skills.d.ts +176 -0
- package/dist/types/snippet.d.ts +24 -0
- package/dist/types/studio.d.ts +161 -0
- package/dist/types/tasks.d.ts +101 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/utils.d.ts +21 -0
- package/dist/types/version.d.ts +10 -0
- package/dist/types/visitors.d.ts +29 -0
- package/dist/types/voice.d.ts +304 -0
- package/dist/types/webhooks.d.ts +71 -0
- package/dist/types/workflows.d.ts +229 -0
- package/docs/agents.md +748 -0
- package/docs/api/README.md +165 -0
- package/docs/api/accounts.d.ts +396 -0
- package/docs/api/accounts.md +644 -0
- package/docs/api/adCampaigns.d.ts +707 -0
- package/docs/api/adCampaigns.md +1091 -0
- package/docs/api/adCreatives.d.ts +996 -0
- package/docs/api/adCreatives.md +1708 -0
- package/docs/api/agency.d.ts +556 -0
- package/docs/api/agency.md +845 -0
- package/docs/api/agent.d.ts +330 -0
- package/docs/api/agent.md +514 -0
- package/docs/api/agents.d.ts +1622 -0
- package/docs/api/agents.md +2860 -0
- package/docs/api/aiInbox.d.ts +1984 -0
- package/docs/api/aiInbox.md +3490 -0
- package/docs/api/analytics.d.ts +1273 -0
- package/docs/api/analytics.md +2095 -0
- package/docs/api/apiKeys.d.ts +252 -0
- package/docs/api/apiKeys.md +318 -0
- package/docs/api/appDeployments.d.ts +236 -0
- package/docs/api/appDeployments.md +471 -0
- package/docs/api/appDomains.d.ts +171 -0
- package/docs/api/appDomains.md +281 -0
- package/docs/api/appLogs.d.ts +120 -0
- package/docs/api/appLogs.md +159 -0
- package/docs/api/appObjects.d.ts +415 -0
- package/docs/api/appObjects.md +568 -0
- package/docs/api/appPages.d.ts +557 -0
- package/docs/api/appPages.md +796 -0
- package/docs/api/appPlatformTokens.d.ts +123 -0
- package/docs/api/appPlatformTokens.md +172 -0
- package/docs/api/appointments.d.ts +2361 -0
- package/docs/api/appointments.md +3917 -0
- package/docs/api/apps.d.ts +822 -0
- package/docs/api/apps.md +1342 -0
- package/docs/api/assertUpsert.d.ts +286 -0
- package/docs/api/assertUpsert.md +370 -0
- package/docs/api/audienceSyncs.d.ts +259 -0
- package/docs/api/audienceSyncs.md +395 -0
- package/docs/api/brandKit.d.ts +686 -0
- package/docs/api/brandKit.md +1133 -0
- package/docs/api/bugReports.d.ts +181 -0
- package/docs/api/bugReports.md +268 -0
- package/docs/api/by-path.md +3260 -0
- package/docs/api/calendarInvites.d.ts +117 -0
- package/docs/api/calendarInvites.md +148 -0
- package/docs/api/campaignWorkflows.d.ts +152 -0
- package/docs/api/campaignWorkflows.md +200 -0
- package/docs/api/campaigns.d.ts +721 -0
- package/docs/api/campaigns.md +1236 -0
- package/docs/api/channels.d.ts +171 -0
- package/docs/api/channels.md +235 -0
- package/docs/api/cliCampaigns.d.ts +205 -0
- package/docs/api/cliCampaigns.md +256 -0
- package/docs/api/cliPipelines.d.ts +324 -0
- package/docs/api/cliPipelines.md +562 -0
- package/docs/api/clickHouse.d.ts +115 -0
- package/docs/api/clickHouse.md +138 -0
- package/docs/api/companies.d.ts +1636 -0
- package/docs/api/companies.md +2211 -0
- package/docs/api/companyIntelligence.d.ts +299 -0
- package/docs/api/companyIntelligence.md +488 -0
- package/docs/api/contacts.d.ts +2173 -0
- package/docs/api/contacts.md +3143 -0
- package/docs/api/content.d.ts +968 -0
- package/docs/api/content.md +1667 -0
- package/docs/api/contentGridSkills.d.ts +177 -0
- package/docs/api/contentGridSkills.md +271 -0
- package/docs/api/copilot.d.ts +1017 -0
- package/docs/api/copilot.md +1765 -0
- package/docs/api/crmSyncs.d.ts +215 -0
- package/docs/api/crmSyncs.md +301 -0
- package/docs/api/customerSuccess.d.ts +491 -0
- package/docs/api/customerSuccess.md +776 -0
- package/docs/api/deals.d.ts +1696 -0
- package/docs/api/deals.md +2432 -0
- package/docs/api/deliverability.d.ts +418 -0
- package/docs/api/deliverability.md +677 -0
- package/docs/api/desk.d.ts +1765 -0
- package/docs/api/desk.md +3007 -0
- package/docs/api/dialer.d.ts +1185 -0
- package/docs/api/dialer.md +2166 -0
- package/docs/api/dialerAnalytics.d.ts +187 -0
- package/docs/api/dialerAnalytics.md +257 -0
- package/docs/api/documents.d.ts +895 -0
- package/docs/api/documents.md +1440 -0
- package/docs/api/duplicates.d.ts +195 -0
- package/docs/api/duplicates.md +315 -0
- package/docs/api/eSign.d.ts +38 -0
- package/docs/api/eSign.md +54 -0
- package/docs/api/eSignature.d.ts +242 -0
- package/docs/api/eSignature.md +341 -0
- package/docs/api/enrichment.d.ts +3207 -0
- package/docs/api/enrichment.md +5225 -0
- package/docs/api/events.d.ts +115 -0
- package/docs/api/events.md +105 -0
- package/docs/api/fields.d.ts +482 -0
- package/docs/api/fields.md +566 -0
- package/docs/api/forms.d.ts +1012 -0
- package/docs/api/forms.md +1542 -0
- package/docs/api/gtmCampaigns.d.ts +662 -0
- package/docs/api/gtmCampaigns.md +1044 -0
- package/docs/api/gtmContext.d.ts +1187 -0
- package/docs/api/gtmContext.md +2112 -0
- package/docs/api/gtmDeliverability.d.ts +60 -0
- package/docs/api/gtmDeliverability.md +63 -0
- package/docs/api/gtmKnowledgeBase.d.ts +76 -0
- package/docs/api/gtmKnowledgeBase.md +91 -0
- package/docs/api/gtmLaunchHelpers.d.ts +123 -0
- package/docs/api/gtmLaunchHelpers.md +148 -0
- package/docs/api/gtmLibrary.d.ts +448 -0
- package/docs/api/gtmLibrary.md +780 -0
- package/docs/api/health.d.ts +39 -0
- package/docs/api/health.md +58 -0
- package/docs/api/imageLibrary.d.ts +341 -0
- package/docs/api/imageLibrary.md +569 -0
- package/docs/api/imports.d.ts +157 -0
- package/docs/api/imports.md +174 -0
- package/docs/api/inbox.d.ts +709 -0
- package/docs/api/inbox.md +1067 -0
- package/docs/api/install.d.ts +213 -0
- package/docs/api/install.md +317 -0
- package/docs/api/installedApps.d.ts +131 -0
- package/docs/api/installedApps.md +241 -0
- package/docs/api/integrationStatus.d.ts +142 -0
- package/docs/api/integrationStatus.md +205 -0
- package/docs/api/integrations.d.ts +2327 -0
- package/docs/api/integrations.md +3791 -0
- package/docs/api/intent.d.ts +482 -0
- package/docs/api/intent.md +858 -0
- package/docs/api/knowledge.d.ts +501 -0
- package/docs/api/knowledge.md +843 -0
- package/docs/api/knowledgeBase.d.ts +84 -0
- package/docs/api/knowledgeBase.md +96 -0
- package/docs/api/landingPages.d.ts +1411 -0
- package/docs/api/landingPages.md +2488 -0
- package/docs/api/leads.d.ts +133 -0
- package/docs/api/leads.md +180 -0
- package/docs/api/library.d.ts +217 -0
- package/docs/api/library.md +338 -0
- package/docs/api/linkedIn.d.ts +227 -0
- package/docs/api/linkedIn.md +289 -0
- package/docs/api/linkedInOutreach.d.ts +727 -0
- package/docs/api/linkedInOutreach.md +990 -0
- package/docs/api/lists.d.ts +1106 -0
- package/docs/api/lists.md +1609 -0
- package/docs/api/logs.d.ts +71 -0
- package/docs/api/logs.md +70 -0
- package/docs/api/mailboxes.d.ts +1050 -0
- package/docs/api/mailboxes.md +1690 -0
- package/docs/api/marketingIntelligence.d.ts +256 -0
- package/docs/api/marketingIntelligence.md +454 -0
- package/docs/api/marketplace.d.ts +3173 -0
- package/docs/api/marketplace.md +5953 -0
- package/docs/api/mcp.d.ts +69 -0
- package/docs/api/mcp.md +69 -0
- package/docs/api/me.d.ts +54 -0
- package/docs/api/me.md +56 -0
- package/docs/api/meetings.d.ts +539 -0
- package/docs/api/meetings.md +747 -0
- package/docs/api/newsletter.d.ts +1613 -0
- package/docs/api/newsletter.md +2746 -0
- package/docs/api/notes.d.ts +517 -0
- package/docs/api/notes.md +888 -0
- package/docs/api/notifications.d.ts +94 -0
- package/docs/api/notifications.md +105 -0
- package/docs/api/objects.d.ts +621 -0
- package/docs/api/objects.md +1098 -0
- package/docs/api/openSearch.d.ts +234 -0
- package/docs/api/openSearch.md +297 -0
- package/docs/api/ops.d.ts +299 -0
- package/docs/api/ops.md +339 -0
- package/docs/api/orgGovernance.d.ts +393 -0
- package/docs/api/orgGovernance.md +623 -0
- package/docs/api/orgVideos.d.ts +184 -0
- package/docs/api/orgVideos.md +252 -0
- package/docs/api/organizationSettings.d.ts +626 -0
- package/docs/api/organizationSettings.md +911 -0
- package/docs/api/phoneNumbers.d.ts +484 -0
- package/docs/api/phoneNumbers.md +777 -0
- package/docs/api/profile.d.ts +329 -0
- package/docs/api/profile.md +540 -0
- package/docs/api/programmaticPages.d.ts +400 -0
- package/docs/api/programmaticPages.md +626 -0
- package/docs/api/providerDomains.d.ts +866 -0
- package/docs/api/providerDomains.md +1446 -0
- package/docs/api/providerUsage.d.ts +129 -0
- package/docs/api/providerUsage.md +186 -0
- package/docs/api/public.d.ts +69 -0
- package/docs/api/public.md +78 -0
- package/docs/api/publicCopilot.d.ts +67 -0
- package/docs/api/publicCopilot.md +80 -0
- package/docs/api/publicSignals.d.ts +66 -0
- package/docs/api/publicSignals.md +71 -0
- package/docs/api/publicVisitors.d.ts +97 -0
- package/docs/api/publicVisitors.md +118 -0
- package/docs/api/quotes.d.ts +1564 -0
- package/docs/api/quotes.md +2553 -0
- package/docs/api/radar.d.ts +808 -0
- package/docs/api/radar.md +1431 -0
- package/docs/api/radarReports.d.ts +208 -0
- package/docs/api/radarReports.md +306 -0
- package/docs/api/recordRoles.d.ts +143 -0
- package/docs/api/recordRoles.md +175 -0
- package/docs/api/repos.d.ts +146 -0
- package/docs/api/repos.md +211 -0
- package/docs/api/research.d.ts +295 -0
- package/docs/api/research.md +534 -0
- package/docs/api/revenue.d.ts +402 -0
- package/docs/api/revenue.md +608 -0
- package/docs/api/revenueAnalytics.d.ts +147 -0
- package/docs/api/revenueAnalytics.md +212 -0
- package/docs/api/revenueLifecycle.d.ts +207 -0
- package/docs/api/revenueLifecycle.md +274 -0
- package/docs/api/revenueRecords.d.ts +372 -0
- package/docs/api/revenueRecords.md +563 -0
- package/docs/api/roles.d.ts +431 -0
- package/docs/api/roles.md +812 -0
- package/docs/api/salesCoach.d.ts +877 -0
- package/docs/api/salesCoach.md +1540 -0
- package/docs/api/sandbox.d.ts +210 -0
- package/docs/api/sandbox.md +380 -0
- package/docs/api/scans.d.ts +104 -0
- package/docs/api/scans.md +136 -0
- package/docs/api/scheduleBuy.d.ts +293 -0
- package/docs/api/scheduleBuy.md +431 -0
- package/docs/api/scraping.d.ts +266 -0
- package/docs/api/scraping.md +383 -0
- package/docs/api/sdrAnalytics.d.ts +138 -0
- package/docs/api/sdrAnalytics.md +246 -0
- package/docs/api/search.d.ts +598 -0
- package/docs/api/search.md +866 -0
- package/docs/api/seo.d.ts +447 -0
- package/docs/api/seo.md +660 -0
- package/docs/api/sequenceLifecycle.d.ts +439 -0
- package/docs/api/sequenceLifecycle.md +513 -0
- package/docs/api/sequences.d.ts +1936 -0
- package/docs/api/sequences.md +3232 -0
- package/docs/api/settings.d.ts +448 -0
- package/docs/api/settings.md +731 -0
- package/docs/api/signals.d.ts +1441 -0
- package/docs/api/signals.md +2526 -0
- package/docs/api/signatures.d.ts +719 -0
- package/docs/api/signatures.md +1247 -0
- package/docs/api/skills.d.ts +230 -0
- package/docs/api/skills.md +466 -0
- package/docs/api/snippet.d.ts +85 -0
- package/docs/api/snippet.md +106 -0
- package/docs/api/socialPublishing.d.ts +824 -0
- package/docs/api/socialPublishing.md +1245 -0
- package/docs/api/studioDocuments.d.ts +244 -0
- package/docs/api/studioDocuments.md +348 -0
- package/docs/api/support.d.ts +90 -0
- package/docs/api/support.md +76 -0
- package/docs/api/suppressions.d.ts +241 -0
- package/docs/api/suppressions.md +343 -0
- package/docs/api/surveys.d.ts +847 -0
- package/docs/api/surveys.md +1223 -0
- package/docs/api/tasks.d.ts +813 -0
- package/docs/api/tasks.md +1344 -0
- package/docs/api/teamMembers.d.ts +668 -0
- package/docs/api/teamMembers.md +1040 -0
- package/docs/api/teams.d.ts +784 -0
- package/docs/api/teams.md +1395 -0
- package/docs/api/usage.d.ts +277 -0
- package/docs/api/usage.md +389 -0
- package/docs/api/visitors.d.ts +690 -0
- package/docs/api/visitors.md +1075 -0
- package/docs/api/voice.d.ts +4661 -0
- package/docs/api/voice.md +7905 -0
- package/docs/api/webAnalytics.d.ts +964 -0
- package/docs/api/webAnalytics.md +1452 -0
- package/docs/api/webChat.d.ts +1704 -0
- package/docs/api/webChat.md +2048 -0
- package/docs/api/webhooks.d.ts +251 -0
- package/docs/api/webhooks.md +386 -0
- package/docs/api/websiteEditor.d.ts +324 -0
- package/docs/api/websiteEditor.md +517 -0
- package/docs/api/work.d.ts +2298 -0
- package/docs/api/work.md +3096 -0
- package/docs/api/workbench.d.ts +2962 -0
- package/docs/api/workbench.md +4884 -0
- package/docs/api/workflows.d.ts +1218 -0
- package/docs/api/workflows.md +2302 -0
- package/docs/sdk-clients.md +4339 -0
- package/package.json +10 -3
package/dist/react.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
9
|
var __export = (target, all) => {
|
|
8
10
|
for (var name in all)
|
|
@@ -16,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
|
|
21
31
|
// src/react.tsx
|
|
@@ -25,6 +35,7 @@ __export(react_exports, {
|
|
|
25
35
|
useG8: () => useG8
|
|
26
36
|
});
|
|
27
37
|
module.exports = __toCommonJS(react_exports);
|
|
38
|
+
var React = __toESM(require("react"));
|
|
28
39
|
var import_react = require("react");
|
|
29
40
|
|
|
30
41
|
// src/core.ts
|
|
@@ -459,6 +470,7 @@ var BILLABLE_ROUTES = {
|
|
|
459
470
|
"/enrichment/lists/{list_id}/pipelines/{pipeline_id}/runs",
|
|
460
471
|
"/enrichment/lookup/company",
|
|
461
472
|
"/enrichment/lookup/person",
|
|
473
|
+
"/enrichment/person",
|
|
462
474
|
"/enrichment/record-sync/{entity_type}/run",
|
|
463
475
|
"/enrichment/verify-email",
|
|
464
476
|
"/enrichment/waterfall/configs",
|
|
@@ -967,6 +979,10 @@ var EXTERNAL_ROUTES = {
|
|
|
967
979
|
]
|
|
968
980
|
};
|
|
969
981
|
|
|
982
|
+
// src/version.ts
|
|
983
|
+
var SDK_VERSION = "0.260.0";
|
|
984
|
+
var SDK_CLIENT_ID = `js-sdk/${SDK_VERSION}`;
|
|
985
|
+
|
|
970
986
|
// src/http.ts
|
|
971
987
|
var G8Error = class _G8Error extends Error {
|
|
972
988
|
constructor(args) {
|
|
@@ -1149,6 +1165,7 @@ async function request(baseUrl, path, apiKey, opts = {}) {
|
|
|
1149
1165
|
const finalHeaders = {
|
|
1150
1166
|
"Content-Type": "application/json",
|
|
1151
1167
|
Authorization: `Bearer ${apiKey}`,
|
|
1168
|
+
...clientIdentityHeaders(headers),
|
|
1152
1169
|
...headers
|
|
1153
1170
|
};
|
|
1154
1171
|
warnIfTargetOrgIgnored(apiKey, headers);
|
|
@@ -1194,6 +1211,23 @@ async function request(baseUrl, path, apiKey, opts = {}) {
|
|
|
1194
1211
|
throw await toG8Error(resp, billable ? statusRetryable : isRetryableStatus(resp.status));
|
|
1195
1212
|
}
|
|
1196
1213
|
}
|
|
1214
|
+
function isServerRuntime() {
|
|
1215
|
+
const g = globalThis;
|
|
1216
|
+
if (typeof g.window !== "undefined") return false;
|
|
1217
|
+
return typeof g.process?.versions?.node === "string";
|
|
1218
|
+
}
|
|
1219
|
+
function runtimeUserAgent() {
|
|
1220
|
+
const g = globalThis;
|
|
1221
|
+
const node = typeof g.process?.version === "string" ? ` node/${g.process.version.replace(/^v/, "")}` : "";
|
|
1222
|
+
return `graph8-sdk-js/${SDK_VERSION}${node}`;
|
|
1223
|
+
}
|
|
1224
|
+
function clientIdentityHeaders(callerHeaders = {}) {
|
|
1225
|
+
const taken = new Set(Object.keys(callerHeaders).map((h) => h.toLowerCase()));
|
|
1226
|
+
const out = {};
|
|
1227
|
+
if (!taken.has("x-g8-client")) out["X-G8-Client"] = SDK_CLIENT_ID;
|
|
1228
|
+
if (!taken.has("user-agent") && isServerRuntime()) out["User-Agent"] = runtimeUserAgent();
|
|
1229
|
+
return out;
|
|
1230
|
+
}
|
|
1197
1231
|
async function* paginate(fetchPage) {
|
|
1198
1232
|
let cursor = void 0;
|
|
1199
1233
|
for (; ; ) {
|
|
@@ -1803,8 +1837,21 @@ var createWebhooksClient = (_apiKey, apiUrl) => {
|
|
|
1803
1837
|
|
|
1804
1838
|
// src/contacts.ts
|
|
1805
1839
|
var DEFAULT_API12 = "https://be.graph8.com";
|
|
1840
|
+
var CONTACT_BULK_GET_MAX = 100;
|
|
1806
1841
|
var createContactsClient = (apiKey, apiUrl) => {
|
|
1807
1842
|
const baseUrl = apiUrl || DEFAULT_API12;
|
|
1843
|
+
async function getMany(contactIds, options = {}) {
|
|
1844
|
+
const ids = [...new Set(contactIds)];
|
|
1845
|
+
const out = [];
|
|
1846
|
+
for (let i = 0; i < ids.length; i += CONTACT_BULK_GET_MAX) {
|
|
1847
|
+
const resp = await request(baseUrl, "/api/v1/contacts/bulk-get", apiKey, {
|
|
1848
|
+
method: "POST",
|
|
1849
|
+
body: { contact_ids: ids.slice(i, i + CONTACT_BULK_GET_MAX), include_custom_fields: options.includeCustomFields ?? false }
|
|
1850
|
+
});
|
|
1851
|
+
out.push(...resp.data.items);
|
|
1852
|
+
}
|
|
1853
|
+
return out;
|
|
1854
|
+
}
|
|
1808
1855
|
return {
|
|
1809
1856
|
/** List contacts with optional filters. */
|
|
1810
1857
|
async list(params = {}) {
|
|
@@ -1812,6 +1859,31 @@ var createContactsClient = (apiKey, apiUrl) => {
|
|
|
1812
1859
|
query: params
|
|
1813
1860
|
});
|
|
1814
1861
|
},
|
|
1862
|
+
/**
|
|
1863
|
+
* Full records for many contacts (`POST /api/v1/contacts/bulk-get`), in input
|
|
1864
|
+
* order. Any number of ids: they are sent 100 per request, so 1,000 ids cost
|
|
1865
|
+
* 10 requests instead of 1,000 `get()` calls. Missing or out-of-scope ids come
|
|
1866
|
+
* back `found: false` rather than throwing. Duplicate ids are read once.
|
|
1867
|
+
*/
|
|
1868
|
+
getMany: (contactIds, options = {}) => getMany(contactIds, options),
|
|
1869
|
+
/**
|
|
1870
|
+
* One page of `list()`, with every contact's FULL record (`created_at`,
|
|
1871
|
+
* `updated_at`, `full_name`, `personal_emails`, `company`, ...). `list()`
|
|
1872
|
+
* returns a leaner shape. Costs one `list()` request plus one `getMany()`
|
|
1873
|
+
* request per 100 contacts on the page. `missing` holds ids that were listed
|
|
1874
|
+
* but could not be read (for example deleted in between).
|
|
1875
|
+
*/
|
|
1876
|
+
async listDetailed(params = {}, options = {}) {
|
|
1877
|
+
const page = await request(baseUrl, "/api/v1/contacts", apiKey, {
|
|
1878
|
+
query: params
|
|
1879
|
+
});
|
|
1880
|
+
const items = await getMany(page.data.map((c) => c.id), options);
|
|
1881
|
+
return {
|
|
1882
|
+
data: items.filter((it) => it.found && it.contact).map((it) => it.contact),
|
|
1883
|
+
total: page.total,
|
|
1884
|
+
missing: items.filter((it) => !it.found).map((it) => it.contact_id)
|
|
1885
|
+
};
|
|
1886
|
+
},
|
|
1815
1887
|
/** Get a single contact by ID. */
|
|
1816
1888
|
async get(contactId) {
|
|
1817
1889
|
const resp = await request(baseUrl, `/api/v1/contacts/${contactId}`, apiKey);
|
|
@@ -1820,6 +1892,10 @@ var createContactsClient = (apiKey, apiUrl) => {
|
|
|
1820
1892
|
/**
|
|
1821
1893
|
* Create a new contact. Pass `idempotencyKey` to make a retry safe — the
|
|
1822
1894
|
* same key returns the first result instead of creating a duplicate (A6).
|
|
1895
|
+
*
|
|
1896
|
+
* Create-only: if a contact with the same work_email / linkedin_url exists,
|
|
1897
|
+
* this throws a 409 `G8Error` whose `detail.hint` / `detail.upsert` name the
|
|
1898
|
+
* create-or-update route. When the contact may already exist, use `upsert()`.
|
|
1823
1899
|
*/
|
|
1824
1900
|
async create(contact, idempotencyKey) {
|
|
1825
1901
|
const resp = await request(baseUrl, "/api/v1/contacts", apiKey, {
|
|
@@ -1829,6 +1905,20 @@ var createContactsClient = (apiKey, apiUrl) => {
|
|
|
1829
1905
|
});
|
|
1830
1906
|
return resp.data ?? resp;
|
|
1831
1907
|
},
|
|
1908
|
+
/**
|
|
1909
|
+
* Create or update a contact in one idempotent call (`PUT /contacts/assert`).
|
|
1910
|
+
* Matches by `work_email`, then `linkedin_url`. Prefer this over `create()`
|
|
1911
|
+
* when the contact may already exist: `create()` returns a 409 for a
|
|
1912
|
+
* duplicate, while `upsert()` updates it. Safe to retry. The server answers
|
|
1913
|
+
* 400 (a `G8Error`) when neither `work_email` nor `linkedin_url` is given.
|
|
1914
|
+
*/
|
|
1915
|
+
async upsert(contact) {
|
|
1916
|
+
const resp = await request(baseUrl, "/api/v1/contacts/assert", apiKey, {
|
|
1917
|
+
method: "PUT",
|
|
1918
|
+
body: contact
|
|
1919
|
+
});
|
|
1920
|
+
return resp.data ?? resp;
|
|
1921
|
+
},
|
|
1832
1922
|
/** Update a contact (partial). */
|
|
1833
1923
|
async update(contactId, fields) {
|
|
1834
1924
|
return request(baseUrl, `/api/v1/contacts/${contactId}`, apiKey, {
|
|
@@ -2142,6 +2232,7 @@ var API_OPERATIONS = {
|
|
|
2142
2232
|
analyze_website_intelligence_analyze_post: ["POST", "/intelligence/analyze", "companyIntelligence", "analyzeWebsite", "billable", "knowledge:run"],
|
|
2143
2233
|
annotate_my_invoice_marketplace_me_invoices__invoice_id__put: ["PUT", "/marketplace/me/invoices/{invoice_id}", "marketplace", "annotateMyInvoice", "billable", "marketplace:run"],
|
|
2144
2234
|
answer_agent_discovery_agent_onboarding_discovery_answer_post: ["POST", "/agent/onboarding/discovery/answer", "agents", "answerAgentDiscovery", "write", "workflows:write"],
|
|
2235
|
+
api_health_health_get: ["GET", "/health", "health", "apiHealth", "read", null],
|
|
2145
2236
|
app_token_jwks_app_platform__well_known_jwks_json_get: ["GET", "/app-platform/.well-known/jwks.json", "appPlatformTokens", "appTokenJwks", "read", null],
|
|
2146
2237
|
append_copilot_memory_document_copilot_memory_documents_append_post: ["POST", "/copilot/memory/documents/append", "copilot", "appendCopilotMemoryDocument", "write", "knowledge:write"],
|
|
2147
2238
|
apply_account_plan_desk_accounts__account_id__plan_apply_post: ["POST", "/desk/accounts/{account_id}/plan/apply", "desk", "applyAccountPlan", "write", "deals:write"],
|
|
@@ -2222,6 +2313,7 @@ var API_OPERATIONS = {
|
|
|
2222
2313
|
backfill_content_pages_content_pages_backfill_post: ["POST", "/content/pages/backfill", "content", "backfillContentPages", "write", "campaigns:write"],
|
|
2223
2314
|
backfill_grading_dialer_parallel_calls_grading_backfill_post: ["POST", "/dialer/parallel-calls/grading/backfill", "dialer", "backfillGrading", "billable", "voice:run"],
|
|
2224
2315
|
backfill_library_case_studies_library_case_studies_backfill_post: ["POST", "/library/case-studies/backfill", "library", "backfillLibraryCaseStudies", "billable", "knowledge:run"],
|
|
2316
|
+
batch_contact_related_contacts_related_post: ["POST", "/contacts/related", "contacts", "batchContactRelated", "read", "contacts:read"],
|
|
2225
2317
|
batch_create_crm_contacts_integrations_crm_connections__connection_id__batch_contacts_post: ["POST", "/integrations/crm/connections/{connection_id}/batch/contacts", "integrations", "batchCreateCrmContacts", "external", "integrations:run"],
|
|
2226
2318
|
batch_email_agent_voice_email_agent_batch_post: ["POST", "/voice/email-agent/batch", "voice", "batchEmailAgent", "billable", "voice:run"],
|
|
2227
2319
|
batch_quote_action_quotes_batch_post: ["POST", "/quotes/batch", "quotes", "batchQuoteAction", "external", "quotes:run"],
|
|
@@ -2242,6 +2334,7 @@ var API_OPERATIONS = {
|
|
|
2242
2334
|
bulk_enrich_company_people_companies_enrich_people_bulk_post: ["POST", "/companies/enrich/people/bulk", "companies", "bulkEnrichCompanyPeople", "billable", "enrichment:run"],
|
|
2243
2335
|
bulk_enrich_company_stakeholders_companies_enrich_stakeholders_bulk_post: ["POST", "/companies/enrich/stakeholders/bulk", "companies", "bulkEnrichCompanyStakeholders", "billable", "enrichment:run"],
|
|
2244
2336
|
bulk_extract_workbench_columns_workbench_tables__table_id__columns_bulk_extract_post: ["POST", "/workbench/tables/{table_id}/columns/bulk-extract", "workbench", "bulkExtractWorkbenchColumns", "write", "lists:write"],
|
|
2337
|
+
bulk_get_contacts_contacts_bulk_get_post: ["POST", "/contacts/bulk-get", "contacts", "bulkGetContacts", "read", "contacts:read"],
|
|
2245
2338
|
bulk_import_mailboxes_mailboxes_bulk_import_post: ["POST", "/mailboxes/bulk-import", "mailboxes", "bulkImportMailboxes", "write", "campaigns:write"],
|
|
2246
2339
|
bulk_restart_executions_workflows_executions_bulk_restart_post: ["POST", "/workflows/executions/bulk-restart", "workflows", "bulkRestartExecutions", "external", "workflows:run"],
|
|
2247
2340
|
bulk_update_contacts_contacts_bulk_update_post: ["POST", "/contacts/bulk-update", "contacts", "bulkUpdateContacts", "write", "contacts:write"],
|
|
@@ -4296,6 +4389,7 @@ var API_OPERATIONS = {
|
|
|
4296
4389
|
load_copilot_intent_context_copilot_context_load_post: ["POST", "/copilot/context/load", "agents", "loadCopilotIntentContext", "write", "workflows:write"],
|
|
4297
4390
|
lookup_company_enrichment_lookup_company_post: ["POST", "/enrichment/lookup/company", "enrichment", "lookupCompany", "billable", "enrichment:run"],
|
|
4298
4391
|
lookup_crm_contacts_by_email_integrations_crm_connections__connection_id__batch_contacts_lookup_by_email_post: ["POST", "/integrations/crm/connections/{connection_id}/batch/contacts/lookup-by-email", "integrations", "lookupCrmContactsByEmail", "read", "integrations:read"],
|
|
4392
|
+
lookup_person_alias_enrichment_person_post: ["POST", "/enrichment/person", "enrichment", "lookupPersonAlias", "billable", "enrichment:run"],
|
|
4299
4393
|
lookup_person_enrichment_lookup_person_post: ["POST", "/enrichment/lookup/person", "enrichment", "lookupPerson", "billable", "enrichment:run"],
|
|
4300
4394
|
lookup_session_calls_dialer_parallel_calls_sessions__session_id__calls_post: ["POST", "/dialer/parallel-calls/sessions/{session_id}/calls", "voice", "lookupSessionCalls", "read", "voice:read"],
|
|
4301
4395
|
manual_dial_dialer_parallel_calls_manual_dial_post: ["POST", "/dialer/parallel-calls/manual-dial", "dialer", "manualDial", "external", "voice:run"],
|
|
@@ -5141,6 +5235,7 @@ var API_OPERATIONS = {
|
|
|
5141
5235
|
update_inbox_mailbox_settings_inbox_mailboxes__mailbox__settings_patch: ["PATCH", "/inbox/mailboxes/{mailbox}/settings", "aiInbox", "updateInboxMailboxSettings", "external", "inbox:run"],
|
|
5142
5236
|
update_inbox_tag_inbox_tags__tag_id__put: ["PUT", "/inbox/tags/{tag_id}", "aiInbox", "updateInboxTag", "write", "inbox:write"],
|
|
5143
5237
|
update_infrastructure_profile_org_infrastructure_put: ["PUT", "/org/infrastructure", "orgGovernance", "updateInfrastructureProfile", "write", "account:write"],
|
|
5238
|
+
update_ip_allowlist_api_keys__api_key_id__ip_allowlist_put: ["PUT", "/api-keys/{api_key_id}/ip-allowlist", "apiKeys", "updateIpAllowlist", "write", "account:write"],
|
|
5144
5239
|
update_issue_newsletters__newsletter_id__issues__issue_id__put: ["PUT", "/newsletters/{newsletter_id}/issues/{issue_id}", "newsletter", "updateIssue", "external", "newsletter:run"],
|
|
5145
5240
|
update_landing_page_html_landing_pages__landing_page_id__update_html_post: ["POST", "/landing-pages/{landing_page_id}/update-html", "landingPages", "updateLandingPageHtml", "write", "campaigns:write"],
|
|
5146
5241
|
update_landing_page_landing_pages__landing_page_id__patch: ["PATCH", "/landing-pages/{landing_page_id}", "landingPages", "updateLandingPage", "write", "campaigns:write"],
|
|
@@ -7373,10 +7468,11 @@ var G8 = class {
|
|
|
7373
7468
|
if (!this.config.apiKey) throw new Error(`g8.${module2} requires an API key. Use g8.init({ apiKey: '...' })`);
|
|
7374
7469
|
}
|
|
7375
7470
|
};
|
|
7376
|
-
var
|
|
7471
|
+
var G8_SINGLETON = /* @__PURE__ */ Symbol.for("@graph8/sdk/singleton");
|
|
7472
|
+
var _global = globalThis;
|
|
7473
|
+
var g8 = _global[G8_SINGLETON] ?? (_global[G8_SINGLETON] = new G8());
|
|
7377
7474
|
|
|
7378
7475
|
// src/react.tsx
|
|
7379
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
7380
7476
|
var G8Context = (0, import_react.createContext)(g8);
|
|
7381
7477
|
var G8Provider = ({
|
|
7382
7478
|
writeKey,
|
|
@@ -7384,12 +7480,10 @@ var G8Provider = ({
|
|
|
7384
7480
|
config,
|
|
7385
7481
|
children
|
|
7386
7482
|
}) => {
|
|
7387
|
-
(
|
|
7388
|
-
|
|
7389
|
-
|
|
7390
|
-
|
|
7391
|
-
}, [writeKey, host, config]);
|
|
7392
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(G8Context.Provider, { value: g8, children });
|
|
7483
|
+
if (!g8.initialized) {
|
|
7484
|
+
g8.init({ writeKey, host, ...config });
|
|
7485
|
+
}
|
|
7486
|
+
return /* @__PURE__ */ React.createElement(G8Context.Provider, { value: g8 }, children);
|
|
7393
7487
|
};
|
|
7394
7488
|
var useG8 = () => {
|
|
7395
7489
|
const client = (0, import_react.useContext)(G8Context);
|
|
@@ -7402,8 +7496,10 @@ var useG8 = () => {
|
|
|
7402
7496
|
page: client.page.bind(client),
|
|
7403
7497
|
/** Clear user identity */
|
|
7404
7498
|
reset: client.reset.bind(client),
|
|
7405
|
-
/** Progressive form helpers */
|
|
7406
|
-
forms
|
|
7499
|
+
/** Progressive form helpers (read lazily, so useG8() never throws on its own) */
|
|
7500
|
+
get forms() {
|
|
7501
|
+
return client.forms;
|
|
7502
|
+
},
|
|
7407
7503
|
/** Raw g8 client instance */
|
|
7408
7504
|
g8: client
|
|
7409
7505
|
};
|