@graph8/sdk 0.7.2 → 0.11.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/dist/index.d.ts CHANGED
@@ -434,11 +434,11 @@ interface ResearchReport {
434
434
  * Requires API key (server-side).
435
435
  *
436
436
  * Backed by:
437
- * GET /api/v1/global-context/documents
438
- * GET /api/v1/icps
439
- * GET /api/v1/personas
440
- * GET /api/v1/intelligence-data
441
- * GET /api/v1/research-reports
437
+ * GET /api/v1/global-context/documents
438
+ * GET /api/v1/icps POST /api/v1/icps PATCH /api/v1/icps/{id} POST /api/v1/icps/{id}/archive
439
+ * GET /api/v1/personas POST /api/v1/personas PATCH /api/v1/personas/{id} POST /api/v1/personas/{id}/archive
440
+ * GET /api/v1/intelligence-data
441
+ * GET /api/v1/research-reports
442
442
  */
443
443
  declare const createStudioClient: (apiKey: string, apiUrl?: string) => {
444
444
  /** Org-level Studio documents (brand_brief, value_props, messaging_house, etc.).
@@ -479,6 +479,66 @@ declare const createStudioClient: (apiKey: string, apiUrl?: string) => {
479
479
  }): Promise<{
480
480
  data: ResearchReport[];
481
481
  }>;
482
+ /** Create an ICP manually (no AI scoring). Requires name + website_url. */
483
+ createIcp(body: {
484
+ name: string;
485
+ website_url: string;
486
+ description?: string;
487
+ firmographics?: Record<string, unknown>;
488
+ tech_stack?: Record<string, unknown>;
489
+ buying_signals?: unknown[];
490
+ estimated_market_size?: number;
491
+ }): Promise<{
492
+ data: ICP;
493
+ }>;
494
+ /** Update an ICP (partial - send only fields to change). */
495
+ updateIcp(icpId: string, body: {
496
+ name?: string;
497
+ description?: string;
498
+ firmographics?: Record<string, unknown>;
499
+ tech_stack?: Record<string, unknown>;
500
+ buying_signals?: unknown[];
501
+ estimated_market_size?: number;
502
+ }): Promise<{
503
+ data: ICP;
504
+ }>;
505
+ /** Archive an ICP (soft delete - sets status to "archived"). */
506
+ archiveIcp(icpId: string): Promise<{
507
+ data: ICP;
508
+ }>;
509
+ /** Create a buyer persona manually (no AI generation). Requires title + website_url. */
510
+ createPersona(body: {
511
+ title: string;
512
+ website_url: string;
513
+ priority?: number;
514
+ confidence?: string;
515
+ why_target?: string;
516
+ key_signals?: unknown[];
517
+ expected_receptivity?: string;
518
+ campaign_approach?: string;
519
+ recommended_goal?: string;
520
+ source?: string;
521
+ }): Promise<{
522
+ data: Persona;
523
+ }>;
524
+ /** Update a persona (partial). Passing status "archived" is equivalent to archivePersona. */
525
+ updatePersona(personaId: string, body: {
526
+ title?: string;
527
+ priority?: number;
528
+ confidence?: string;
529
+ why_target?: string;
530
+ key_signals?: unknown[];
531
+ expected_receptivity?: string;
532
+ campaign_approach?: string;
533
+ recommended_goal?: string;
534
+ status?: string;
535
+ }): Promise<{
536
+ data: Persona;
537
+ }>;
538
+ /** Archive a persona (soft delete - sets status to "archived"). */
539
+ archivePersona(personaId: string): Promise<{
540
+ data: Persona;
541
+ }>;
482
542
  };
483
543
 
484
544
  interface IntentKeyword {
@@ -1477,7 +1537,20 @@ interface Deal {
1477
1537
  }
1478
1538
  interface DealCreateParams {
1479
1539
  name: string;
1480
- /** Linked company ID. */
1540
+ /**
1541
+ * Deal owner (user id or email). Required.
1542
+ */
1543
+ owner_id: string;
1544
+ /**
1545
+ * mashup_contact_ids to attach. Required, at least one. Every contact must
1546
+ * belong to the same company, and that company becomes the deal's company.
1547
+ * Same id space as the contacts API. Attach is idempotent.
1548
+ */
1549
+ contact_ids: number[];
1550
+ /**
1551
+ * Deprecated: the company is derived from `contact_ids`. If supplied it must
1552
+ * match the contacts' company, otherwise omit it.
1553
+ */
1481
1554
  company_id?: number;
1482
1555
  description?: string;
1483
1556
  amount?: number;
@@ -1489,6 +1562,11 @@ interface DealCreateParams {
1489
1562
  pipeline_id?: string;
1490
1563
  /** ISO 8601 close date. */
1491
1564
  close_date?: string;
1565
+ /**
1566
+ * Set true to create a deal even if one already exists for the company.
1567
+ * By default the API rejects a duplicate with HTTP 409.
1568
+ */
1569
+ allow_duplicate?: boolean;
1492
1570
  }
1493
1571
  interface DealUpdateParams {
1494
1572
  name?: string;
@@ -1498,6 +1576,16 @@ interface DealUpdateParams {
1498
1576
  stage_id?: string;
1499
1577
  /** ISO 8601 close date. */
1500
1578
  close_date?: string;
1579
+ /** Reassign the deal owner (user id or email). Pass null to clear. */
1580
+ owner_id?: string | null;
1581
+ /**
1582
+ * mashup_contact_ids to link. Must belong to the deal's company (if the deal
1583
+ * has none yet, the added contacts' company is adopted); a cross-company add
1584
+ * is rejected. Idempotent.
1585
+ */
1586
+ add_contact_ids?: number[];
1587
+ /** mashup_contact_ids to unlink. Idempotent. */
1588
+ remove_contact_ids?: number[];
1501
1589
  }
1502
1590
  interface DealListParams {
1503
1591
  page?: number;
@@ -2059,7 +2147,7 @@ declare const createContactsClient: (apiKey: string, apiUrl?: string) => {
2059
2147
  * adds events. ``WebhookEvent`` also accepts any string so a newly-added
2060
2148
  * backend event never breaks a client that hasn't upgraded.
2061
2149
  */
2062
- declare const KNOWN_WEBHOOK_EVENTS: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.deployed", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled"];
2150
+ declare const KNOWN_WEBHOOK_EVENTS: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled"];
2063
2151
  type WebhookEvent = (typeof KNOWN_WEBHOOK_EVENTS)[number] | (string & {});
2064
2152
  /** The decoded body graph8 delivers to a webhook endpoint. */
2065
2153
  interface WebhookEventPayload {
@@ -2118,56 +2206,11 @@ declare const createWebhooksClient: (_apiKey: string, apiUrl?: string) => {
2118
2206
  /** Base URL the webhook subscription API lives under. */
2119
2207
  baseUrl: string;
2120
2208
  /** Known event types (for autocomplete / validation). */
2121
- knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.deployed", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled"];
2209
+ knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled"];
2122
2210
  /** Verify an incoming webhook's HMAC signature and return the parsed event. */
2123
2211
  constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: ConstructEventOptions): WebhookEventPayload;
2124
2212
  };
2125
2213
 
2126
- interface LandingPage {
2127
- id: string;
2128
- title: string;
2129
- slug: string;
2130
- status: string;
2131
- published_url: string | null;
2132
- }
2133
- /**
2134
- * Landing pages - clone, create, publish. Requires API key (server-side). On the
2135
- * hardened HTTP core: throws a typed `G8Error` on failure and retries transient
2136
- * errors.
2137
- */
2138
- declare const createPagesClient: (apiKey: string, apiUrl?: string) => {
2139
- /** Clone a landing page from any URL. */
2140
- clone(url: string): Promise<LandingPage>;
2141
- /** Create a landing page from a template. */
2142
- create(config: {
2143
- template?: string;
2144
- title?: string;
2145
- content?: Record<string, unknown>;
2146
- }): Promise<LandingPage>;
2147
- /** Publish a landing page to CDN. */
2148
- publish(pageId: string): Promise<{
2149
- url: string;
2150
- }>;
2151
- };
2152
-
2153
- interface VoiceSession {
2154
- id: string;
2155
- status: string;
2156
- agent: string;
2157
- started_at: string;
2158
- }
2159
- interface CallAnalysis {
2160
- duration_seconds: number;
2161
- sentiment: "positive" | "neutral" | "negative";
2162
- summary: string;
2163
- next_steps: string[];
2164
- objections: string[];
2165
- transcript: Array<{
2166
- speaker: string;
2167
- text: string;
2168
- timestamp: number;
2169
- }>;
2170
- }
2171
2214
  type VoiceEvent = "connected" | "transcription" | "ended" | "error";
2172
2215
  type VoiceCallback = (data: Record<string, unknown>) => void;
2173
2216
  interface VoicePagination {
@@ -2399,20 +2442,6 @@ interface DialerSessionResumeResult extends DialerSessionStatusUpdateResult {
2399
2442
  * GET /api/v1/voice/dialer/agents
2400
2443
  */
2401
2444
  declare const createVoiceClient: (apiKey: string, apiUrl?: string) => {
2402
- /**
2403
- * Start an AI voice session.
2404
- * @deprecated Preview surface — for parallel-dialer flows use `voice.dialer.createSession()`.
2405
- */
2406
- start(config: {
2407
- agent?: string;
2408
- contactId?: number;
2409
- context?: Record<string, unknown>;
2410
- }): Promise<VoiceSession>;
2411
- /**
2412
- * Get call analysis for a completed session.
2413
- * @deprecated Preview surface — for dialer-call grading use `voice.dialer.callGrading(roomName)`.
2414
- */
2415
- analysis(sessionId: string): Promise<CallAnalysis>;
2416
2445
  /** Listen for voice events. */
2417
2446
  on(event: VoiceEvent, callback: VoiceCallback): void;
2418
2447
  /** Parallel-dialer session control + analytics. */
@@ -2480,31 +2509,6 @@ declare const createVoiceClient: (apiKey: string, apiUrl?: string) => {
2480
2509
  };
2481
2510
  };
2482
2511
 
2483
- interface AnalyticsOverview {
2484
- visitors: number;
2485
- contacts_created: number;
2486
- emails_sent: number;
2487
- emails_opened: number;
2488
- replies: number;
2489
- meetings_booked: number;
2490
- period: string;
2491
- }
2492
- /**
2493
- * Analytics - dashboard data and metrics. Requires API key (server-side).
2494
- *
2495
- * On the hardened HTTP core: throws a typed `G8Error` on failure and retries
2496
- * transient errors. Note the deliberate behavior change vs the preview client —
2497
- * a non-2xx response now **throws** instead of silently returning an all-zeros
2498
- * overview, so callers can distinguish genuinely-zero activity from an auth/5xx
2499
- * failure.
2500
- */
2501
- declare const createAnalyticsClient: (apiKey: string, apiUrl?: string) => {
2502
- overview(config?: {
2503
- period?: string;
2504
- metrics?: string[];
2505
- }): Promise<AnalyticsOverview>;
2506
- };
2507
-
2508
2512
  interface IntentSignals {
2509
2513
  domain: string;
2510
2514
  score: number;
@@ -2522,25 +2526,6 @@ declare const createSignalsClient: (key: string, isApiKey: boolean, apiUrl?: str
2522
2526
  stream(domains: string[], callback: (signals: IntentSignals[]) => void): () => void;
2523
2527
  };
2524
2528
 
2525
- interface Integration {
2526
- id: string;
2527
- provider: string;
2528
- status: string;
2529
- connected_at: string | null;
2530
- }
2531
- /**
2532
- * Integrations - connect CRM platforms, trigger syncs. Requires API key
2533
- * (server-side). On the hardened HTTP core: throws a typed `G8Error` on failure
2534
- * and retries transient errors.
2535
- */
2536
- declare const createIntegrationsClient: (apiKey: string, apiUrl?: string) => {
2537
- list(): Promise<Integration[]>;
2538
- connect(provider: string, config?: Record<string, unknown>): Promise<void>;
2539
- sync(provider: string, config?: {
2540
- direction?: "inbound" | "outbound" | "bidirectional";
2541
- }): Promise<void>;
2542
- };
2543
-
2544
2529
  interface Campaign {
2545
2530
  id: string;
2546
2531
  name: string;
@@ -2559,11 +2544,37 @@ interface CampaignCreateConfig {
2559
2544
  target_persona?: string;
2560
2545
  goal?: string;
2561
2546
  }
2562
- interface CampaignStats {
2563
- sent: number;
2564
- opened: number;
2565
- replied: number;
2566
- meetings: number;
2547
+ interface CampaignLaunchExecution {
2548
+ status: string;
2549
+ contacts_total?: number;
2550
+ contacts_scheduled?: number;
2551
+ contacts_queued?: number;
2552
+ job_id?: string;
2553
+ polling_url?: string;
2554
+ orchestrator_version?: string;
2555
+ }
2556
+ interface CampaignLaunchResult {
2557
+ status: string;
2558
+ campaign_id: string;
2559
+ sequence_id: string;
2560
+ sequence_name: string;
2561
+ steps_created: number;
2562
+ link_id: string;
2563
+ warnings: string[];
2564
+ channels_attached: Array<{
2565
+ mailbox_id: number;
2566
+ email: string;
2567
+ channel_type: string;
2568
+ auto_picked: boolean;
2569
+ }>;
2570
+ agent_assigned: {
2571
+ textual_agent_name: string | null;
2572
+ voice_agent_name: string | null;
2573
+ };
2574
+ schedule_id: string | null;
2575
+ appointment_id: number | null;
2576
+ execution: CampaignLaunchExecution;
2577
+ message: string;
2567
2578
  }
2568
2579
  /**
2569
2580
  * Campaigns - create, manage, launch campaigns. Requires API key (server-side).
@@ -2574,8 +2585,7 @@ declare const createCampaignsClient: (apiKey: string, apiUrl?: string) => {
2574
2585
  list(page?: number, limit?: number): Promise<Campaign[]>;
2575
2586
  get(campaignId: string): Promise<Campaign>;
2576
2587
  create(config: CampaignCreateConfig): Promise<Campaign>;
2577
- launch(campaignId: string): Promise<void>;
2578
- stats(campaignId: string): Promise<CampaignStats>;
2588
+ launch(campaignId: string): Promise<CampaignLaunchResult>;
2579
2589
  };
2580
2590
 
2581
2591
  interface Sequence {
@@ -2882,7 +2892,7 @@ declare const createEnrichClient: (apiKey: string, apiUrl?: string) => {
2882
2892
  }): Promise<CompanyEnrichment>;
2883
2893
  /** Verify an email address. Costs 1 credit. */
2884
2894
  verifyEmail(email: string): Promise<EmailVerification>;
2885
- /** Search 300M+ contacts with filters. Credits charged per result. */
2895
+ /** Search 700M+ contacts with filters. Credits charged per result. */
2886
2896
  search(filters: SearchFilter[], page?: number, limit?: number): Promise<SearchResults>;
2887
2897
  };
2888
2898
 
@@ -3104,7 +3114,7 @@ declare const createFormsClient: (writeKey: string, apiUrl?: string) => {
3104
3114
  * Handles event tracking, identity, and progressive forms.
3105
3115
  *
3106
3116
  * Usage:
3107
- * import { g8 } from '@graph8/js';
3117
+ * import { g8 } from '@graph8/sdk';
3108
3118
  * g8.init({ writeKey: 'your_write_key' });
3109
3119
  * g8.track('page_view', { page: '/pricing' });
3110
3120
  * g8.identify('user@acme.com', { name: 'John', company: 'Acme' });
@@ -3120,11 +3130,8 @@ declare class G8 {
3120
3130
  /** @internal */ _enrich: ReturnType<typeof createEnrichClient> | null;
3121
3131
  /** @internal */ _sequences: ReturnType<typeof createSequencesClient> | null;
3122
3132
  /** @internal */ _campaigns: ReturnType<typeof createCampaignsClient> | null;
3123
- /** @internal */ _integrations: ReturnType<typeof createIntegrationsClient> | null;
3124
3133
  /** @internal */ _signals: ReturnType<typeof createSignalsClient> | null;
3125
- /** @internal */ _analytics: ReturnType<typeof createAnalyticsClient> | null;
3126
3134
  /** @internal */ _voice: ReturnType<typeof createVoiceClient> | null;
3127
- /** @internal */ _pages: ReturnType<typeof createPagesClient> | null;
3128
3135
  /** @internal */ _webhooks: ReturnType<typeof createWebhooksClient> | null;
3129
3136
  /** @internal */ _contacts: ReturnType<typeof createContactsClient> | null;
3130
3137
  /** @internal */ _companies: ReturnType<typeof createCompaniesClient> | null;
@@ -3240,37 +3247,15 @@ declare class G8 {
3240
3247
  list(page?: number, limit?: number): Promise<Campaign[]>;
3241
3248
  get(campaignId: string): Promise<Campaign>;
3242
3249
  create(config: CampaignCreateConfig): Promise<Campaign>;
3243
- launch(campaignId: string): Promise<void>;
3244
- stats(campaignId: string): Promise<CampaignStats>;
3245
- };
3246
- /** CRM integrations (requires API key). */
3247
- get integrations(): {
3248
- list(): Promise<Integration[]>;
3249
- connect(provider: string, config?: Record<string, unknown>): Promise<void>;
3250
- sync(provider: string, config?: {
3251
- direction?: "inbound" | "outbound" | "bidirectional";
3252
- }): Promise<void>;
3250
+ launch(campaignId: string): Promise<CampaignLaunchResult>;
3253
3251
  };
3254
3252
  /** Intent signals. */
3255
3253
  get signals(): {
3256
3254
  company(domain: string): Promise<IntentSignals>;
3257
3255
  stream(domains: string[], callback: (signals: IntentSignals[]) => void): () => void;
3258
3256
  };
3259
- /** Analytics (requires API key). */
3260
- get analytics(): {
3261
- overview(config?: {
3262
- period?: string;
3263
- metrics?: string[];
3264
- }): Promise<AnalyticsOverview>;
3265
- };
3266
3257
  /** Voice AI (requires API key). */
3267
3258
  get voice(): {
3268
- start(config: {
3269
- agent?: string;
3270
- contactId?: number;
3271
- context?: Record<string, unknown>;
3272
- }): Promise<VoiceSession>;
3273
- analysis(sessionId: string): Promise<CallAnalysis>;
3274
3259
  on(event: "error" | "ended" | "connected" | "transcription", callback: (data: Record<string, unknown>) => void): void;
3275
3260
  dialer: {
3276
3261
  listSessions(params?: DialerSessionsListParams): Promise<DialerSessionsListResult>;
@@ -3296,7 +3281,7 @@ declare class G8 {
3296
3281
  contact_id?: number;
3297
3282
  user_email?: string;
3298
3283
  campaign_id?: string;
3299
- date_from?: string;
3284
+ date_from? /** Marketplace — for SDR/AE talent: profile, hire offers (accept/reject), active hirings (requires API key). */: string;
3300
3285
  date_to?: string;
3301
3286
  limit?: number;
3302
3287
  page?: number;
@@ -3318,22 +3303,10 @@ declare class G8 {
3318
3303
  }>;
3319
3304
  };
3320
3305
  };
3321
- /** Landing pages (requires API key). */
3322
- get pages(): {
3323
- clone(url: string): Promise<LandingPage>;
3324
- create(config: {
3325
- template?: string;
3326
- title?: string;
3327
- content?: Record<string, unknown>;
3328
- }): Promise<LandingPage>;
3329
- publish(pageId: string): Promise<{
3330
- url: string;
3331
- }>;
3332
- };
3333
3306
  /** Webhook event listeners (requires API key). */
3334
3307
  get webhooks(): {
3335
3308
  baseUrl: string;
3336
- knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.deployed", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled"];
3309
+ knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled"];
3337
3310
  constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: ConstructEventOptions): WebhookEventPayload;
3338
3311
  };
3339
3312
  /** Contacts CRUD (requires API key). */
@@ -3607,7 +3580,7 @@ declare class G8 {
3607
3580
  };
3608
3581
  }>;
3609
3582
  nodeTypes(params?: {
3610
- type?: string;
3583
+ type? /** Identify a user with properties. */: string;
3611
3584
  }): Promise<{
3612
3585
  data: NodeTypeSchema[];
3613
3586
  }>;
@@ -3744,7 +3717,7 @@ declare class G8 {
3744
3717
  data: IntentCompany[];
3745
3718
  }>;
3746
3719
  keywordContacts(keywordId: string, params?: {
3747
- limit?: number;
3720
+ limit? /** @internal */: number;
3748
3721
  date_from?: string;
3749
3722
  date_to?: string;
3750
3723
  }): Promise<{
@@ -3808,7 +3781,7 @@ declare class G8 {
3808
3781
  }>;
3809
3782
  personas(params?: {
3810
3783
  status?: string;
3811
- limit? /** @internal */: number;
3784
+ limit?: number;
3812
3785
  }): Promise<{
3813
3786
  data: Persona[];
3814
3787
  }>;
@@ -3824,6 +3797,60 @@ declare class G8 {
3824
3797
  }): Promise<{
3825
3798
  data: ResearchReport[];
3826
3799
  }>;
3800
+ createIcp(body: {
3801
+ name: string;
3802
+ website_url: string;
3803
+ description?: string;
3804
+ firmographics?: Record<string, unknown>;
3805
+ tech_stack?: Record<string, unknown>;
3806
+ buying_signals?: unknown[];
3807
+ estimated_market_size?: number;
3808
+ }): Promise<{
3809
+ data: ICP;
3810
+ }>;
3811
+ updateIcp(icpId: string, body: {
3812
+ name?: string;
3813
+ description?: string;
3814
+ firmographics?: Record<string, unknown>;
3815
+ tech_stack?: Record<string, unknown>;
3816
+ buying_signals?: unknown[];
3817
+ estimated_market_size?: number;
3818
+ }): Promise<{
3819
+ data: ICP;
3820
+ }>;
3821
+ archiveIcp(icpId: string): Promise<{
3822
+ data: ICP;
3823
+ }>;
3824
+ createPersona(body: {
3825
+ title: string;
3826
+ website_url: string;
3827
+ priority?: number;
3828
+ confidence?: string;
3829
+ why_target?: string;
3830
+ key_signals?: unknown[];
3831
+ expected_receptivity?: string;
3832
+ campaign_approach?: string;
3833
+ recommended_goal?: string;
3834
+ source?: string;
3835
+ }): Promise<{
3836
+ data: Persona;
3837
+ }>;
3838
+ updatePersona(personaId: string, body: {
3839
+ title?: string;
3840
+ priority?: number;
3841
+ confidence?: string;
3842
+ why_target?: string;
3843
+ key_signals?: unknown[];
3844
+ expected_receptivity?: string;
3845
+ campaign_approach?: string;
3846
+ recommended_goal?: string;
3847
+ status?: string;
3848
+ }): Promise<{
3849
+ data: Persona;
3850
+ }>;
3851
+ archivePersona(personaId: string): Promise<{
3852
+ data: Persona;
3853
+ }>;
3827
3854
  };
3828
3855
  /** Meetings — read scheduled, completed, cancelled meetings with transcripts + AI analysis (requires API key). */
3829
3856
  get meetings(): {
@@ -3989,4 +4016,4 @@ interface PaginatedResponse<T> {
3989
4016
  */
3990
4017
  declare function paginate<T>(fetchPage: (cursor?: string) => Promise<PaginatedResponse<T>>): AsyncGenerator<T, void, unknown>;
3991
4018
 
3992
- export { type AddToSequenceConfig, type AgencyClient, type AgencyInfo, type AnalyticsOverview, type AudienceSync, type AudienceSyncCreateParams, type AudienceSyncError, type AudienceSyncMode, type AudienceSyncPlatform, type AudienceSyncRun, type AudienceSyncUpdateParams, type Booking, type BookingRequest, type CalendarConfig, type CallAnalysis, type CallGradingResult, type Campaign, type CampaignCreateConfig, type CampaignStats, type ChatConfig, type Company, type CompanyColumn, type CompanyColumnCreateParams, type CompanyContact, type CompanyEnrichment, type CompanyListParams, type CompanyUpdateParams, type ConstructEventOptions, type Contact, type ContactColumn, type ContactColumnCreateParams, type ContactCreateParams, type ContactDeal, type ContactList, type ContactListParams, type ContactUpdateParams, type CopilotConfig, type CreatedField, type Deal, type DealCreateParams, type DealListParams, type DealUpdateParams, type DialerAgentSummary, type DialerAgentsListParams, type DialerAgentsListResult, type DialerNumberInfo, type DialerNumbersListResult, type DialerReportFilters, type DialerReportMetric, type DialerSessionCreateParams, type DialerSessionCreateResult, type DialerSessionResumeResult, type DialerSessionStatus, type DialerSessionStatusUpdateResult, type DialerSessionSummary, type DialerSessionsListParams, type DialerSessionsListResult, type DialerStatsParams, type DialerStatsResult, type EmailVerification, type EnrichLookupResult, type EvidenceKey, type Field, type FieldCreateParams, type FieldDeleteParams, type G8Config, G8Error, type G8PrivacyConfig, type GlobalContextDocument, type ICP, type IdentifyProperties, type InboxAssignResult, type InboxAssignee, type InboxChannel, type InboxContact, type InboxDraft, type InboxListParams, type InboxMessage, type InboxSendParams, type InboxSendResult, type InboxTag, type InboxTagResult, type InboxThread, type Integration, type IntelligenceData, type IntentCompany, type IntentContact, type IntentKeyword, type IntentPage, type IntentSignals, type IntentStats, type IntentVisitor, KNOWN_WEBHOOK_EVENTS, type LandingPage, type ListContact, type MarketplaceHiring, type MarketplaceOffer, type MarketplaceProfile, type MeetingAnalysis, type MeetingAttendee, type MeetingDetail, type MeetingListParams, type MeetingSummary, type MeetingTranscriptLine, type MissedCallback, type MissedCallbacksResult, type NodeTypeSchema, type Note, type PaginatedResponse, type PaginationMeta$1 as PaginationMeta, type PersonEnrichment, type Persona, type Pipeline, type PipelineStage, type PipelineSuggestion, type QuotableProduct, type QuoteCreateParams, type QuoteDetail, type QuoteLineItem, type QuoteListParams, type QuoteSendParams, type QuoteSettings, type QuoteStatus, type QuoteSummary, type QuoteUpdateParams, type RequestOptions, type ResearchReport, type SearchCompanyItem, type SearchCondition, type SearchContactItem, type SearchFilter, type SearchOperator, type SearchParams, type SearchResults, type SearchSaveParams, type SearchSaveResult, type Sequence, type SequenceActionResult, type SequenceAnalytics, type SequenceChannelConfig, type SequenceContactItem, type SequenceContactsParams, type SequenceCreateParams, type SequenceCreateResult, type SequenceDetail, type SequenceKind, type SequenceListItem, type SequenceListParams, type SequencePreview, type SequencePreviewChannel, type SequencePreviewStep, type SequenceStepConfig, type SequenceStepInputType, type SequenceStepType, type SequenceStepUpdateParams, type SequenceUpdateParams, type SetFieldValueParams, type Skill, type SkillCreateAPIParams, type SkillCreateLLMParams, type SkillInputField, type SkillListParams, type SkillTemplate, type SkillType, type SkillUpdateAPIParams, type SkillUpdateLLMParams, type Snippet, type StageCreateParams, type StagePipeline, type StagePipelineCreateParams, type StagePipelineStage, type StagePipelineUpdateParams, type StageUpdateParams, type Task, type TaskCreateParams, type TaskListParams, type TaskUpdateParams, type TimeSlot, type TrackProperties, type VisitorCompany, type VisitorScore, type VoicePagination, type VoiceSession, type WebhookEvent, type WebhookEventPayload, WebhookSignatureError, type Workflow, type WorkflowConfig, type WorkflowConnection, type WorkflowCreateParams, type WorkflowExecution, type WorkflowListParams, type WorkflowNode, type WorkflowUpdateParams, backoffDelayMs, constructEvent, g8, isRetryableStatus, paginate, parseRetryAfter, request };
4019
+ export { type AddToSequenceConfig, type AgencyClient, type AgencyInfo, type AudienceSync, type AudienceSyncCreateParams, type AudienceSyncError, type AudienceSyncMode, type AudienceSyncPlatform, type AudienceSyncRun, type AudienceSyncUpdateParams, type Booking, type BookingRequest, type CalendarConfig, type CallGradingResult, type Campaign, type CampaignCreateConfig, type CampaignLaunchExecution, type CampaignLaunchResult, type ChatConfig, type Company, type CompanyColumn, type CompanyColumnCreateParams, type CompanyContact, type CompanyEnrichment, type CompanyListParams, type CompanyUpdateParams, type ConstructEventOptions, type Contact, type ContactColumn, type ContactColumnCreateParams, type ContactCreateParams, type ContactDeal, type ContactList, type ContactListParams, type ContactUpdateParams, type CopilotConfig, type CreatedField, type Deal, type DealCreateParams, type DealListParams, type DealUpdateParams, type DialerAgentSummary, type DialerAgentsListParams, type DialerAgentsListResult, type DialerNumberInfo, type DialerNumbersListResult, type DialerReportFilters, type DialerReportMetric, type DialerSessionCreateParams, type DialerSessionCreateResult, type DialerSessionResumeResult, type DialerSessionStatus, type DialerSessionStatusUpdateResult, type DialerSessionSummary, type DialerSessionsListParams, type DialerSessionsListResult, type DialerStatsParams, type DialerStatsResult, type EmailVerification, type EnrichLookupResult, type EvidenceKey, type Field, type FieldCreateParams, type FieldDeleteParams, type G8Config, G8Error, type G8PrivacyConfig, type GlobalContextDocument, type ICP, type IdentifyProperties, type InboxAssignResult, type InboxAssignee, type InboxChannel, type InboxContact, type InboxDraft, type InboxListParams, type InboxMessage, type InboxSendParams, type InboxSendResult, type InboxTag, type InboxTagResult, type InboxThread, type IntelligenceData, type IntentCompany, type IntentContact, type IntentKeyword, type IntentPage, type IntentSignals, type IntentStats, type IntentVisitor, KNOWN_WEBHOOK_EVENTS, type ListContact, type MarketplaceHiring, type MarketplaceOffer, type MarketplaceProfile, type MeetingAnalysis, type MeetingAttendee, type MeetingDetail, type MeetingListParams, type MeetingSummary, type MeetingTranscriptLine, type MissedCallback, type MissedCallbacksResult, type NodeTypeSchema, type Note, type PaginatedResponse, type PaginationMeta$1 as PaginationMeta, type PersonEnrichment, type Persona, type Pipeline, type PipelineStage, type PipelineSuggestion, type QuotableProduct, type QuoteCreateParams, type QuoteDetail, type QuoteLineItem, type QuoteListParams, type QuoteSendParams, type QuoteSettings, type QuoteStatus, type QuoteSummary, type QuoteUpdateParams, type RequestOptions, type ResearchReport, type SearchCompanyItem, type SearchCondition, type SearchContactItem, type SearchFilter, type SearchOperator, type SearchParams, type SearchResults, type SearchSaveParams, type SearchSaveResult, type Sequence, type SequenceActionResult, type SequenceAnalytics, type SequenceChannelConfig, type SequenceContactItem, type SequenceContactsParams, type SequenceCreateParams, type SequenceCreateResult, type SequenceDetail, type SequenceKind, type SequenceListItem, type SequenceListParams, type SequencePreview, type SequencePreviewChannel, type SequencePreviewStep, type SequenceStepConfig, type SequenceStepInputType, type SequenceStepType, type SequenceStepUpdateParams, type SequenceUpdateParams, type SetFieldValueParams, type Skill, type SkillCreateAPIParams, type SkillCreateLLMParams, type SkillInputField, type SkillListParams, type SkillTemplate, type SkillType, type SkillUpdateAPIParams, type SkillUpdateLLMParams, type Snippet, type StageCreateParams, type StagePipeline, type StagePipelineCreateParams, type StagePipelineStage, type StagePipelineUpdateParams, type StageUpdateParams, type Task, type TaskCreateParams, type TaskListParams, type TaskUpdateParams, type TimeSlot, type TrackProperties, type VisitorCompany, type VisitorScore, type VoicePagination, type WebhookEvent, type WebhookEventPayload, WebhookSignatureError, type Workflow, type WorkflowConfig, type WorkflowConnection, type WorkflowCreateParams, type WorkflowExecution, type WorkflowListParams, type WorkflowNode, type WorkflowUpdateParams, backoffDelayMs, constructEvent, g8, isRetryableStatus, paginate, parseRetryAfter, request };