@signaliz/sdk 1.0.66 → 1.0.68

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
@@ -6,6 +6,76 @@ interface SignalizConfig {
6
6
  timeout?: number;
7
7
  maxRetries?: number;
8
8
  }
9
+ type SignalAwarenessAction = 'create' | 'list' | 'update' | 'delete' | 'manual_run' | 'list_signals' | 'bulk_import' | 'get_settings' | 'set_global_webhook' | 'test_webhook' | 'export' | 'send_signal_export';
10
+ interface SignalMonitorInput {
11
+ companyName: string;
12
+ domain: string;
13
+ template?: 'full_intelligence' | 'basic';
14
+ signalConfig?: Record<string, unknown>;
15
+ scheduleCron?: string;
16
+ webhookUrl?: string | null;
17
+ }
18
+ interface SignalAwarenessRequest {
19
+ action: SignalAwarenessAction;
20
+ monitorId?: string;
21
+ monitor?: SignalMonitorInput;
22
+ monitors?: SignalMonitorInput[];
23
+ defaults?: Record<string, unknown>;
24
+ updates?: Record<string, unknown>;
25
+ limit?: number;
26
+ offset?: number;
27
+ idempotencyKey?: string;
28
+ dryRun?: boolean;
29
+ }
30
+ interface SignalAwarenessMonitor {
31
+ id?: string;
32
+ company_name?: string;
33
+ domain?: string;
34
+ status?: string;
35
+ schedule?: string;
36
+ last_run_at?: string;
37
+ next_run_at?: string;
38
+ created_at?: string;
39
+ updated_at?: string;
40
+ }
41
+ interface SignalAwarenessRun {
42
+ id?: string;
43
+ monitor_id?: string;
44
+ status?: string;
45
+ signals_found?: number;
46
+ started_at?: string;
47
+ completed_at?: string;
48
+ created_at?: string;
49
+ }
50
+ /** The stable public signal row returned by every Signaliz signal surface. */
51
+ interface PublicSignalRow {
52
+ signal_type: string;
53
+ signal_title: string;
54
+ signal_summary: string;
55
+ source: string;
56
+ date: string;
57
+ company_name: string;
58
+ domain: string;
59
+ }
60
+ type SignalAwarenessSignal = PublicSignalRow;
61
+ interface SignalAwarenessResponse {
62
+ success: boolean;
63
+ monitors?: SignalAwarenessMonitor[];
64
+ monitor?: SignalAwarenessMonitor;
65
+ signals?: SignalAwarenessSignal[];
66
+ signalCount?: number;
67
+ monitorId?: string;
68
+ runId?: string;
69
+ run?: SignalAwarenessRun;
70
+ creditsUsed?: number;
71
+ created?: number;
72
+ skipped?: number;
73
+ total?: number;
74
+ limit?: number;
75
+ offset?: number;
76
+ hasMore?: boolean;
77
+ idempotentReplay?: boolean;
78
+ }
9
79
  interface BatchOptions {
10
80
  /** Maximum simultaneous API requests. Defaults to 10; allowed range is 1-50. */
11
81
  concurrency?: number;
@@ -61,10 +131,6 @@ interface BatchItemResult<T> {
61
131
  creditsUsed?: 0;
62
132
  /** Present only when the server proves the failed row charged zero Signaliz credits. */
63
133
  creditsCharged?: 0;
64
- /** Present only when the server proves no live provider was called for the failed row. */
65
- liveProviderCalled?: false;
66
- /** Present only when the server proves the failed row had no external provider cost. */
67
- estimatedExternalCostUsd?: 0;
68
134
  /** Existing provider run that can be resumed without dispatching new work. */
69
135
  runId?: string;
70
136
  /** Existing Verify Email run that can be resumed without dispatching new work. */
@@ -76,8 +142,6 @@ interface BatchItemResult<T> {
76
142
  doNotAutoResubmit?: boolean;
77
143
  recoveryMode?: 'same_run';
78
144
  recoveryStatus?: 'pending' | 'completed';
79
- cachePublicationStatus?: 'completed' | 'pending' | 'pending_safe_retry' | 'superseded_by_newer_verdict';
80
- cachePublicationRetryEligible?: boolean;
81
145
  /** Zero-based input index containing the full result for this exact duplicate. */
82
146
  duplicateOf?: number;
83
147
  }
@@ -119,8 +183,8 @@ interface CoreProductDryRunResult {
119
183
  }
120
184
  interface FindEmailCommonParams {
121
185
  companyName?: string;
122
- /** Bypass cached email and verification data for a fresh-provider run. */
123
- skipCache?: boolean;
186
+ /** Set false to receive a durable run ID immediately and resume it without duplicate work or spend. */
187
+ waitForResult?: boolean;
124
188
  /** Return a no-spend plan without provider calls or jobs. */
125
189
  dryRun?: boolean;
126
190
  /** Stable retry key for recovering the same request after an ambiguous response. */
@@ -182,21 +246,10 @@ interface FindEmailResult {
182
246
  failureReason: string;
183
247
  creditsUsed?: number;
184
248
  creditsCharged?: number;
185
- estimatedExternalCostUsd?: number;
186
- billingMetadata?: Record<string, unknown>;
187
- /** Original provider-work billing receipt when this request only recovered a completed run. */
188
- historicalBillingMetadata?: Record<string, unknown>;
189
- resultReturnedFrom?: string;
190
- cacheHit?: boolean;
191
- /** True when a definitive no-email result came from the short-lived negative cache. */
192
- negativeCacheHit?: boolean;
193
- /** Remaining lifetime of the negative cache entry. */
194
- negativeCacheTtlSeconds?: number;
195
- cacheTier?: string;
196
- freshEnrichmentUsed?: boolean;
197
- liveProviderCalled?: boolean;
198
- openrouterCalled?: boolean;
199
- byoOpenrouterUsed?: boolean;
249
+ /** True when this response reuses the first request's billing receipt without charging again. */
250
+ billingReplayed?: boolean;
251
+ /** True when the public result came from a completed response-idempotency reservation. */
252
+ idempotencyReplayed?: boolean;
200
253
  error?: string;
201
254
  errorCode?: string;
202
255
  /** Processing while an existing provider run is still active; otherwise completed. */
@@ -211,10 +264,10 @@ interface FindEmailResult {
211
264
  doNotAutoResubmit?: boolean;
212
265
  recoveryMode?: 'same_run';
213
266
  recoveryStatus?: 'pending' | 'completed';
214
- cachePublicationStatus?: 'completed' | 'pending' | 'pending_safe_retry' | 'superseded_by_newer_verdict';
215
- cachePublicationRetryEligible?: boolean;
216
267
  raw: Record<string, unknown>;
217
268
  }
269
+ type VerifyEmailStatus = 'valid' | 'invalid' | 'catch_all' | 'role' | 'disposable' | 'unknown' | 'verifier_error' | 'malformed' | 'error';
270
+ type VerifyEmailRecommendation = 'send' | 'do_not_send' | 'manual_review';
218
271
  interface VerifyEmailResult {
219
272
  success: boolean;
220
273
  error?: string;
@@ -233,12 +286,12 @@ interface VerifyEmailResult {
233
286
  isCatchAll: boolean;
234
287
  /** Explicit send-safety verdict. Missing or false never becomes true by inference. */
235
288
  verifiedForSending: boolean;
236
- verificationStatus?: string;
237
- deliverabilityStatus?: string;
238
- verificationVerdict: string;
289
+ verificationStatus?: VerifyEmailStatus;
290
+ deliverabilityStatus?: VerifyEmailStatus;
291
+ verificationVerdict: VerifyEmailStatus;
239
292
  isRoleAccount?: boolean;
240
293
  quality?: string | null;
241
- recommendation?: string;
294
+ recommendation?: VerifyEmailRecommendation;
242
295
  smtpStatus?: string;
243
296
  providerStatus?: string;
244
297
  failureReason?: string;
@@ -248,33 +301,15 @@ interface VerifyEmailResult {
248
301
  /** ISO timestamp when the provider observed the winning verdict. */
249
302
  verificationObservedAt?: string;
250
303
  billingReplayed?: boolean;
304
+ /** True when the public result came from a completed response-idempotency reservation. */
305
+ idempotencyReplayed?: boolean;
251
306
  creditsUsed?: number;
252
- billingMetadata?: Record<string, unknown>;
253
- /** Original provider-work billing receipt when this request only recovered a completed run. */
254
- historicalBillingMetadata?: Record<string, unknown>;
255
- resultReturnedFrom?: string;
256
- cacheHit?: boolean;
257
- /** True when a conclusive send-blocking verdict came from the short-lived rejection cache. */
258
- negativeCacheHit?: boolean;
259
- /** Remaining lifetime of the rejection cache entry. */
260
- negativeCacheTtlSeconds?: number;
261
- cacheTier?: string;
262
- freshEnrichmentUsed?: boolean;
263
- liveProviderCalled?: boolean;
264
- openrouterCalled?: boolean;
265
- byoOpenrouterUsed?: boolean;
266
- estimatedExternalCostUsd?: number;
267
307
  /** Canonical run ID alias returned alongside verificationRunId when available. */
268
308
  runId?: string;
269
- /** Whether the billed terminal verdict was durably published for Find Email reuse. */
270
- cachePublicationStatus?: 'completed' | 'pending' | 'pending_safe_retry' | 'superseded_by_newer_verdict';
271
- cachePublicationRetryEligible?: boolean;
272
309
  suggestedAction?: string;
273
310
  raw: Record<string, unknown>;
274
311
  }
275
312
  interface VerifyEmailOptions {
276
- /** Bypass cached verification data for a fresh-provider quality check. */
277
- skipCache?: boolean;
278
313
  /** Resume an existing long verification without another provider call. */
279
314
  verificationRunId?: string;
280
315
  /** Wait for a processing verification to finish. Defaults to true. */
@@ -292,56 +327,34 @@ interface VerifyEmailBatchOptions extends BatchOptions, VerifyEmailOptions {
292
327
  }
293
328
  interface VerifyEmailBatchInput {
294
329
  email: string;
295
- /** Override the batch-level cache policy for this address. */
296
- skipCache?: boolean;
297
330
  /** Stable retry key scoped to this address. */
298
331
  idempotencyKey?: string;
299
332
  }
300
333
  interface CompanySignalEnrichmentParams {
301
334
  /** Resume an existing enrichment without creating another provider run. */
302
335
  signalRunId?: string;
336
+ /** Company domain. This is the only new-enrichment input. */
337
+ domain?: string;
338
+ /** @deprecated Use domain. Accepted for source compatibility but not sent. */
303
339
  companyDomain?: string;
340
+ /** @deprecated Company names are derived from the supplied domain. */
304
341
  companyName?: string;
342
+ /** @deprecated Company Signal Enrichment is type-agnostic and ignores research prompts. */
305
343
  researchPrompt?: string;
306
- signalTypes?: string[];
307
- targetSignalCount?: number;
344
+ /** @deprecated Signaliz owns the fixed evidence window and ignores this value. */
308
345
  lookbackDays?: number;
309
- online?: boolean;
310
- enableDeepSearch?: boolean;
311
- /** Web coverage policy. Balanced targets an average all-in search budget below one cent. */
312
- searchMode?: 'fast' | 'balanced' | 'coverage';
313
- includeSummary?: boolean;
314
- enableOutreachIntelligence?: boolean;
315
- enablePredictiveIntelligence?: boolean;
316
- skipCache?: boolean;
317
- /** Include all evaluated evidence candidates, including rejected diagnostics. Defaults to selected-signal evidence only. */
318
- includeCandidateEvidence?: boolean;
319
- /** @deprecated Single Company Signal calls are synchronous; batch recovery is managed automatically. */
320
- waitForResult?: boolean;
321
- /** Maximum server-side synchronous execution window. */
322
- maxWaitMs?: number;
323
- /** @deprecated Company Signal batch polling is managed automatically. */
324
- pollIntervalMs?: number;
325
346
  /** Return a no-spend plan without provider calls or jobs. */
326
347
  dryRun?: boolean;
327
348
  /** Stable retry key for recovering the same request after an ambiguous response. */
328
349
  idempotencyKey?: string;
329
350
  }
351
+ /** One verified signal for the parent Company Signal result's company. */
330
352
  interface CompanySignal {
331
- id?: string;
332
- title: string;
333
- type: string;
334
- content: string;
335
- date?: string | null;
336
- detectedAt?: string | null;
337
- datePrecision?: string;
338
- sourceUrl?: string | null;
339
- sourceType?: string;
340
- confidence?: number | null;
341
- signalFamily?: string;
342
- eventType?: string;
343
- eventLabel?: string;
344
- classification?: Record<string, unknown> | string | null;
353
+ date: string;
354
+ signal_type: string;
355
+ signal_title: string;
356
+ signal_summary: string;
357
+ source: string;
345
358
  }
346
359
  interface CompanySignalEnrichmentResult {
347
360
  success: boolean;
@@ -355,24 +368,7 @@ interface CompanySignalEnrichmentResult {
355
368
  };
356
369
  signals: CompanySignal[];
357
370
  signalCount: number;
358
- signalSummary: string | null;
359
- intelligence?: Record<string, unknown> | null;
360
- copyFuel?: Record<string, unknown> | null;
361
- evidenceValidation?: Record<string, unknown>;
362
- evidenceSources?: Record<string, unknown>[];
363
- evidenceCount?: number;
364
- evidenceCountTotal?: number;
365
- evidenceSourcesOmitted?: number;
366
- evidenceScope?: 'selected_signals' | 'all_candidates';
367
- billingMetadata?: Record<string, unknown>;
368
- resultReturnedFrom?: string;
369
- cacheHit?: boolean;
370
- freshEnrichmentUsed?: boolean;
371
371
  creditsUsed?: number;
372
- liveProviderCalled?: boolean;
373
- aiProviderCalled?: boolean;
374
- byoAiUsed?: boolean;
375
- raw: Record<string, unknown>;
376
372
  }
377
373
  type SignalDiscoverySource = 'web' | 'news';
378
374
  type SignalDiscoveryStatus = 'planned' | 'queued' | 'processing' | 'completed' | 'completed_with_warnings' | 'failed';
@@ -387,6 +383,10 @@ interface SignalDiscoveryParams {
387
383
  sources?: SignalDiscoverySource[];
388
384
  /** Maximum signal age in days. Allowed range is 1-365. */
389
385
  lookbackDays?: number;
386
+ /** Inclusive event-date lower bound (YYYY-MM-DD). Mutually exclusive with lookbackDays. */
387
+ afterDate?: string;
388
+ /** Inclusive event-date upper bound (YYYY-MM-DD). Mutually exclusive with lookbackDays. */
389
+ beforeDate?: string;
390
390
  /** Resume an existing asynchronous discovery run without starting another search. */
391
391
  signalSearchRunId?: string;
392
392
  /** Stable retry key for recovering the same search after an ambiguous response. */
@@ -394,80 +394,88 @@ interface SignalDiscoveryParams {
394
394
  /** Return a no-dispatch plan without provider calls or jobs. */
395
395
  dryRun?: boolean;
396
396
  }
397
- interface SignalDiscoverySignal {
398
- id?: string;
399
- company: {
400
- /** Every returned discovery signal is attributed to a distinct company. */
401
- name: string;
402
- domain: string;
403
- linkedinUrl?: string | null;
404
- };
405
- title: string;
406
- type: string;
407
- summary: string;
408
- eventDate: string;
409
- evidence: Array<{
410
- url: string;
411
- publishedAt: string;
412
- source: string;
413
- }>;
414
- /** Compatibility alias for summary. */
415
- content: string;
416
- /** Compatibility alias for eventDate. */
417
- date?: string | null;
418
- detectedAt?: string | null;
419
- sourceUrl: string;
420
- sourceType?: string | null;
421
- confidence?: number | null;
422
- classification?: Record<string, unknown> | string | null;
423
- raw: Record<string, unknown>;
424
- }
425
- interface SignalDiscoveryCostGuardrail {
426
- /** Strict ceiling: a qualified company signal must cost less than this amount to return. */
427
- maxCostPerQualifiedSignalUsd: number;
428
- projectedSourceCostUsd?: number | null;
429
- maxSourceCostUsd?: number | null;
430
- projectedCostPerRequestedCompanySignalUsd?: number | null;
431
- sourceCostUsd?: number | null;
432
- costSource?: 'observed' | 'catalog_preflight' | 'catalog_bounded' | 'mixed' | 'unavailable';
433
- /** Separately reported company identity-resolution cost; null when receipts are incomplete. */
434
- identityResolutionCostUsd?: number | null;
435
- /** Evidence used to account for company identity-resolution cost. */
436
- identityCostSource?: 'observed_zero_credit_receipts' | 'contractual_zero_cost' | 'not_used' | 'unavailable';
437
- /** Zero-cost fallback identity-provider requests covered by identityResolutionCostUsd. */
438
- identityProviderRequests?: number;
439
- qualifiedCompanySignalCount?: number;
440
- returnedCompanySignalCount?: number;
441
- /** Qualified signals retained on the same search run for later expansion. */
442
- availableCompanySignalCount?: number;
443
- /** Raw source candidate ceiling per selected source lane used to form the cohort. */
444
- acquisitionCandidateLimit?: number;
445
- /** Minimum qualified companies needed for the source receipt to stay below one cent each. */
446
- minimumQualifiedCompanySignals?: number;
447
- costPerQualifiedSignalUsd?: number | null;
448
- withinLimit: boolean;
449
- }
397
+ type SignalDiscoverySignal = PublicSignalRow;
450
398
  interface SignalDiscoveryResult {
451
399
  success: boolean;
452
400
  status: SignalDiscoveryStatus;
453
401
  capability: 'signals_everything';
454
402
  signalSearchRunId: string;
455
403
  query: string;
456
- requestedCount: number;
404
+ requestedCount?: number;
457
405
  nextPollAfterSeconds?: number;
458
406
  signals: SignalDiscoverySignal[];
459
407
  signalCount: number;
460
- /** Number of qualified company signals retained on signalSearchRunId. */
461
- availableCompanySignalCount?: number;
462
- sourceLanes?: string[];
463
- evidenceValidation?: Record<string, unknown>;
464
- /** Search, reachability, date, classifier, and rejection counts for diagnosis. */
465
- discoveryDiagnostics?: Record<string, unknown>;
466
- /** Company-domain verification counts for the retained cohort. */
467
- identityResolution?: Record<string, unknown>;
468
- costGuardrail?: SignalDiscoveryCostGuardrail;
469
- warnings?: string[];
470
- raw: Record<string, unknown>;
408
+ /** Signals First is included on eligible plans; the server returns zero for every completed, failed, and recovered run. */
409
+ creditsUsed: number;
410
+ /** Customer charge receipt for this run. Expected to be zero while billingStatus is included. */
411
+ creditsCharged: number;
412
+ billingStatus?: 'included';
413
+ /** True when the server returned a retained terminal result instead of acquiring again. */
414
+ idempotencyReplayed?: boolean;
415
+ }
416
+ interface SignalizFlowParams {
417
+ signalQuery: string;
418
+ campaignOffer: string;
419
+ signalLimit?: number;
420
+ lookbackDays?: number;
421
+ icpContext?: string;
422
+ peopleTitles?: string[];
423
+ peoplePerCompany?: number;
424
+ copyResearchPrompt?: string;
425
+ approvalRequired?: boolean;
426
+ /** Stable Flow identifier; reuse it when recovering from an ambiguous start response. */
427
+ flowId?: string;
428
+ /** Stable retry key. Reusing it with the same request never starts duplicate Flow work. */
429
+ idempotencyKey?: string;
430
+ /** Return the Flow plan and safeguards without dispatching work or using credits. */
431
+ dryRun?: boolean;
432
+ }
433
+ interface SignalizFlowReceiptLine {
434
+ capability: 'company_signals' | 'find_email' | 'signal_to_copy';
435
+ successfulResults: number;
436
+ creditsCharged: number;
437
+ }
438
+ interface SignalizFlowBillingReceipt {
439
+ creditsCharged: number;
440
+ billingStatus: 'included_or_waived' | 'charged';
441
+ chargeBasis: string;
442
+ receipt: SignalizFlowReceiptLine[];
443
+ }
444
+ interface SignalizFlowPlan {
445
+ plannedCompanyCount: number;
446
+ plannedPeoplePerCompany: number;
447
+ maximumReviewCandidates: number;
448
+ safeguards: string[];
449
+ billing: {
450
+ additionalFlowFeeCredits: number;
451
+ chargeBasis: string;
452
+ };
453
+ }
454
+ interface SignalizFlowStartResult {
455
+ success: boolean;
456
+ dryRun?: false;
457
+ flowId: string;
458
+ runId: string;
459
+ status: 'TRIGGERED';
460
+ statusEndpoint: 'api/v1/flow';
461
+ message: string;
462
+ }
463
+ interface SignalizFlowPlanResult {
464
+ success: true;
465
+ dryRun: true;
466
+ status: 'PLANNED';
467
+ flowId: string;
468
+ plan: SignalizFlowPlan;
469
+ creditsCharged: 0;
470
+ }
471
+ interface SignalizFlowStatus {
472
+ success: boolean;
473
+ runId: string;
474
+ status: 'running' | 'completed' | 'failed';
475
+ result: Record<string, unknown>;
476
+ createdAt?: string;
477
+ updatedAt?: string;
478
+ completedAt?: string;
471
479
  }
472
480
  interface SignalToCopyParams {
473
481
  companyDomain?: string;
@@ -475,11 +483,17 @@ interface SignalToCopyParams {
475
483
  title?: string;
476
484
  campaignOffer?: string;
477
485
  researchPrompt?: string;
478
- /** Maximum signal age used for cache reuse and fresh research. Defaults to 90 days. */
486
+ /** Use current company signals, or draft from the offer and research prompt without signal claims. */
487
+ copyEvidenceMode?: 'signal_led' | 'firmographic';
488
+ /** Maximum signal age used for company-signal research. Defaults to 90 days. */
479
489
  lookbackDays?: number;
480
490
  signalRunId?: string;
481
- /** Bypass cached company signals and start fresh research. */
482
- skipCache?: boolean;
491
+ /** Reuse an immutable Signals First snapshot without company re-research. Supported in single calls and batches of 25 or fewer. */
492
+ signalSearchRunId?: string;
493
+ /** Reuse one canonical signal fact without rediscovery. Supported in single calls and batches of 25 or fewer. */
494
+ factId?: string;
495
+ /** Reuse one canonical signal event without rediscovery. Supported in single calls and batches of 25 or fewer. */
496
+ eventId?: string;
483
497
  /** Use the full deep-research provider portfolio. The default uses bounded credit-free first-party and Bing grounding. */
484
498
  enableDeepSearch?: boolean;
485
499
  /** @deprecated Single Signal to Copy calls are synchronous; batch recovery is managed automatically. */
@@ -507,6 +521,11 @@ interface SignalToCopyResult {
507
521
  status?: string;
508
522
  runId?: string;
509
523
  companySignalRunId?: string;
524
+ signalSearchRunId?: string;
525
+ factId?: string;
526
+ eventId?: string;
527
+ canonicalSourceUrl?: string;
528
+ evidenceReuse?: Record<string, unknown>;
510
529
  resumeContextPersisted?: boolean;
511
530
  strongestSignal: string;
512
531
  whyNow: string;
@@ -515,17 +534,11 @@ interface SignalToCopyResult {
515
534
  confidence: number;
516
535
  evidenceUrl: string;
517
536
  researchPrompt?: string;
537
+ copyEvidenceMode?: 'signal_led' | 'firmographic';
518
538
  empty?: boolean;
519
539
  emptyReason?: string;
520
540
  researchMetadata?: Record<string, unknown>;
521
- billingMetadata?: Record<string, unknown>;
522
- resultReturnedFrom?: string;
523
- cacheHit?: boolean;
524
- freshEnrichmentUsed?: boolean;
525
541
  creditsUsed?: number;
526
- liveProviderCalled?: boolean;
527
- aiProviderCalled?: boolean;
528
- byoAiUsed?: boolean;
529
542
  unlimitedSignalToCopy?: boolean;
530
543
  signalToCopyEntitlement?: 'unlimited' | 'standard';
531
544
  variations: SignalToCopyVariation[];
@@ -555,6 +568,15 @@ declare class SignalizError extends Error {
555
568
  declare class Signaliz {
556
569
  private readonly client;
557
570
  constructor(config: SignalizConfig);
571
+ /**
572
+ * The canonical Signal Awareness control plane used by the CLI and MCP.
573
+ * Manual runs accept a stable retry key and return an explicit billing
574
+ * receipt, including zero-credit available-data reuse.
575
+ */
576
+ signalAwareness(request: SignalAwarenessRequest): Promise<SignalAwarenessResponse>;
577
+ createSignalMonitor(monitor: SignalMonitorInput): Promise<SignalAwarenessResponse>;
578
+ listSignalMonitors(limit?: number, offset?: number): Promise<SignalAwarenessResponse>;
579
+ runSignalMonitor(monitorId: string, idempotencyKey?: string): Promise<SignalAwarenessResponse>;
558
580
  findEmail(params: FindEmailParams & {
559
581
  dryRun: true;
560
582
  }): Promise<CoreProductDryRunResult>;
@@ -578,6 +600,13 @@ declare class Signaliz {
578
600
  }): Promise<CoreProductDryRunResult>;
579
601
  enrichCompanySignals(params: CompanySignalEnrichmentParams): Promise<CompanySignalEnrichmentResult>;
580
602
  discoverSignals(params: SignalDiscoveryParams): Promise<SignalDiscoveryResult>;
603
+ /** Signals First is the customer-facing name for open-ended discovery. */
604
+ discoverSignalsFirst(params: SignalDiscoveryParams): Promise<SignalDiscoveryResult>;
605
+ startFlow(params: SignalizFlowParams & {
606
+ dryRun: true;
607
+ }): Promise<SignalizFlowPlanResult>;
608
+ startFlow(params: SignalizFlowParams): Promise<SignalizFlowStartResult>;
609
+ getFlow(runId: string): Promise<SignalizFlowStatus>;
581
610
  enrichCompanies(companies: CompanySignalEnrichmentParams[], options: BatchOptions & {
582
611
  dryRun: true;
583
612
  }): Promise<CoreProductDryRunResult>;
@@ -609,4 +638,4 @@ declare class Signaliz {
609
638
  health(): Promise<PlatformHealth>;
610
639
  }
611
640
 
612
- export { type BatchItemResult, type BatchOptions, type BatchResult, type CompanySignal, type CompanySignalEnrichmentParams, type CompanySignalEnrichmentResult, type CoreBatchResumeOptions, type CoreEmailBatchResumeOptions, type ErrorType, type FindEmailParams, type FindEmailResult, type MCPToolInfo, type PlatformHealth, type RecoverableBatchJob, type SignalDiscoveryParams, type SignalDiscoveryResult, type SignalDiscoverySignal, type SignalDiscoverySource, type SignalDiscoveryStatus, type SignalToCopyParams, type SignalToCopyResult, type SignalToCopyVariation, Signaliz, type SignalizConfig, SignalizError, type SignalizErrorData, type VerifyEmailBatchInput, type VerifyEmailBatchOptions, type VerifyEmailOptions, type VerifyEmailResult };
641
+ export { type BatchItemResult, type BatchOptions, type BatchResult, type CompanySignal, type CompanySignalEnrichmentParams, type CompanySignalEnrichmentResult, type CoreBatchResumeOptions, type CoreEmailBatchResumeOptions, type ErrorType, type FindEmailParams, type FindEmailResult, type MCPToolInfo, type PlatformHealth, type PublicSignalRow, type RecoverableBatchJob, type SignalAwarenessAction, type SignalAwarenessMonitor, type SignalAwarenessRequest, type SignalAwarenessResponse, type SignalAwarenessRun, type SignalAwarenessSignal, type SignalDiscoveryParams, type SignalDiscoveryResult, type SignalDiscoverySignal, type SignalDiscoverySource, type SignalDiscoveryStatus, type SignalMonitorInput, type SignalToCopyParams, type SignalToCopyResult, type SignalToCopyVariation, Signaliz, type SignalizConfig, SignalizError, type SignalizErrorData, type SignalizFlowBillingReceipt, type SignalizFlowParams, type SignalizFlowPlan, type SignalizFlowPlanResult, type SignalizFlowReceiptLine, type SignalizFlowStartResult, type SignalizFlowStatus, type VerifyEmailBatchInput, type VerifyEmailBatchOptions, type VerifyEmailOptions, type VerifyEmailRecommendation, type VerifyEmailResult, type VerifyEmailStatus };