@signaliz/cli 1.0.67 → 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.
Files changed (3) hide show
  1. package/README.md +2 -2
  2. package/dist/bin.js +38 -18
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -45,7 +45,7 @@ signaliz signal-to-copy --company-domain example.com --person-name "Jane Doe" \
45
45
 
46
46
  # Omit --deep-search for bounded credit-free first-party and Bing grounding.
47
47
 
48
- # Signals Everything returns distinct companies with a source-backed signal.
48
+ # Signals First returns distinct companies with a source-backed signal.
49
49
  # It is asynchronous by default; add --wait or resume the returned run ID.
50
50
  signaliz signals "companies that just got funded" --limit 100 --sources web,news
51
51
  signaliz signals "companies showing signals they need account-signal automation" \
@@ -161,7 +161,7 @@ Company Signals. Signal to Copy costs 1 credit per successful result on Free and
161
161
  Builder, and is unlimited on Team and Agency. `--lookback-days` remains a hard
162
162
  evidence-age bound.
163
163
 
164
- Signals Everything is a query-first company discovery command rather than a
164
+ Signals First is a query-first company discovery command rather than a
165
165
  row batch. It returns only dated, source-linked signals that contain both a
166
166
  company name and company domain. The default request is 100 companies and the
167
167
  maximum is 1,000. It is included on Builder, Team, and Agency plans, is resumable with
package/dist/bin.js CHANGED
@@ -84,7 +84,7 @@ Common flags:
84
84
  --event-id <sha256> Pin one canonical signal event in Signal to Copy
85
85
  --dry-run Return a no-spend plan without provider calls, jobs, or writes
86
86
 
87
- Company Signals accepts only --domain. Signaliz checks its cache, runs one type-agnostic Parallel Advanced search plus at most one first-party hub Extract, and returns the newest distinct events that pass its deterministic date, source, company, evidence, and duplicate gates. For a durable batch larger than 25 rows, provide domain-only rows with --no-wait and resume with --job-id. Signal to Copy canonical references remain separate. Signals Everything is asynchronous by default; use --wait to poll until it completes.
87
+ Company Signals accepts only --domain. Signaliz checks its cache, runs one type-agnostic Parallel Advanced search plus at most one first-party hub Extract, and returns the newest distinct events that pass its deterministic date, source, company, evidence, and duplicate gates. For a durable batch larger than 25 rows, provide domain-only rows with --no-wait and resume with --job-id. Signal to Copy canonical references remain separate. Signals First is asynchronous by default; use --wait to poll until it completes.
88
88
  `;
89
89
  function loadConfig() {
90
90
  if (!(0, import_node_fs.existsSync)(CONFIG_FILE)) return {};
@@ -435,6 +435,15 @@ function customerEmailBillingMetadata(value) {
435
435
  function customerEmailResult(value, kind) {
436
436
  const result = record(value);
437
437
  const raw = record(result.raw);
438
+ if (kind === "verify") {
439
+ return {
440
+ email: typeof result.email === "string" ? result.email : typeof raw.email === "string" ? raw.email : null,
441
+ status: result.status || raw.status || "completed",
442
+ is_catch_all: result.isCatchAll === true || raw.is_catch_all === true || raw.email_is_catch_all === true,
443
+ credits_charged: safeNonNegativeNumber(result.creditsCharged ?? raw.credits_charged) ?? 0,
444
+ ok_to_send: result.okToSend === true || raw.ok_to_send === true
445
+ };
446
+ }
438
447
  if (String(result.status || "").toLowerCase() === "processing") {
439
448
  const verificationRunId2 = result.verificationRunId ?? raw.verification_run_id;
440
449
  const runId2 = result.runId ?? raw.run_id ?? verificationRunId2;
@@ -467,6 +476,7 @@ function customerEmailResult(value, kind) {
467
476
  const creditsCharged = Number(result.creditsCharged ?? raw.credits_charged ?? creditsUsed);
468
477
  const base = {
469
478
  email: typeof result.email === "string" && result.email.trim() ? result.email.trim() : null,
479
+ ...typeof result.checkedEmail === "string" || typeof raw.checked_email === "string" ? { checked_email: result.checkedEmail ?? raw.checked_email } : {},
470
480
  status: "completed",
471
481
  success: result.success === true,
472
482
  is_valid: typeof result.isValid === "boolean" ? result.isValid : typeof raw.is_valid === "boolean" ? raw.is_valid : result.isVerified ?? false,
@@ -527,6 +537,15 @@ function customerEmailResult(value, kind) {
527
537
  email_is_catch_all: isCatchAll2,
528
538
  is_catch_all: isCatchAll2,
529
539
  verification_source: result.verificationSource ?? raw.verification_source ?? result.providerUsed ?? "email_finder",
540
+ ...typeof raw.candidate_source === "string" ? { candidate_source: raw.candidate_source } : {},
541
+ ...typeof raw.primary_verifier === "string" ? { primary_verifier: raw.primary_verifier } : {},
542
+ ...typeof raw.primary_verdict === "string" ? { primary_verdict: raw.primary_verdict } : {},
543
+ ...typeof raw.terminal_verifier === "string" ? { terminal_verifier: raw.terminal_verifier } : {},
544
+ ...typeof raw.terminal_verdict === "string" ? { terminal_verdict: raw.terminal_verdict } : {},
545
+ ...typeof raw.terminal_result === "string" ? { terminal_result: raw.terminal_result } : {},
546
+ ...typeof raw.terminal_is_catch_all === "boolean" ? { terminal_is_catch_all: raw.terminal_is_catch_all } : {},
547
+ ...typeof raw.terminal_is_accept_all === "boolean" ? { terminal_is_accept_all: raw.terminal_is_accept_all } : {},
548
+ ...typeof raw.bounceban_id === "string" ? { bounceban_id: raw.bounceban_id } : {},
530
549
  ...result.verificationObservedAt ?? raw.verification_observed_at ? { verification_observed_at: result.verificationObservedAt ?? raw.verification_observed_at } : {},
531
550
  failure_reason: result.failureReason ?? raw.failure_reason ?? (verifiedForSending2 ? "none" : "no_verified_email_found"),
532
551
  billing_replayed: typeof raw.billing_replayed === "boolean" ? raw.billing_replayed : result.billingReplayed === true,
@@ -602,6 +621,15 @@ function customerEmailResult(value, kind) {
602
621
  smtp_status: result.smtpStatus ?? raw.smtp_status ?? (isCatchAll ? "accept_all" : verifiedForSending ? "accepted" : "not_checked"),
603
622
  provider_status: result.providerStatus ?? raw.provider_status ?? verificationStatus,
604
623
  verification_source: result.verificationSource ?? raw.verification_source ?? "email_verification",
624
+ ...typeof raw.checked_email === "string" ? { checked_email: raw.checked_email } : {},
625
+ ...typeof raw.primary_verifier === "string" ? { primary_verifier: raw.primary_verifier } : {},
626
+ ...typeof raw.primary_verdict === "string" ? { primary_verdict: raw.primary_verdict } : {},
627
+ ...typeof raw.terminal_verifier === "string" ? { terminal_verifier: raw.terminal_verifier } : {},
628
+ ...typeof raw.terminal_verdict === "string" ? { terminal_verdict: raw.terminal_verdict } : {},
629
+ ...typeof raw.terminal_result === "string" ? { terminal_result: raw.terminal_result } : {},
630
+ ...typeof raw.terminal_is_catch_all === "boolean" ? { terminal_is_catch_all: raw.terminal_is_catch_all } : {},
631
+ ...typeof raw.terminal_is_accept_all === "boolean" ? { terminal_is_accept_all: raw.terminal_is_accept_all } : {},
632
+ ...typeof raw.bounceban_id === "string" ? { bounceban_id: raw.bounceban_id } : {},
605
633
  ...result.verificationObservedAt ?? raw.verification_observed_at ? { verification_observed_at: result.verificationObservedAt ?? raw.verification_observed_at } : {},
606
634
  failure_reason: result.failureReason ?? raw.failure_reason ?? (verifiedForSending ? "none" : isCatchAll ? "catch_all_domain_not_send_safe" : "verification_not_send_safe"),
607
635
  billing_replayed: typeof raw.billing_replayed === "boolean" ? raw.billing_replayed : result.billingReplayed === true,
@@ -832,7 +860,7 @@ function publicSignalDiscoveryFailure(value) {
832
860
  if (requestedCode === "IDEMPOTENCY_CONFLICT") {
833
861
  return {
834
862
  errorCode: requestedCode,
835
- error: "This recovery key belongs to a different Signals Everything request."
863
+ error: "This recovery key belongs to a different Signals First request."
836
864
  };
837
865
  }
838
866
  if (requestedCode === "PERSISTENCE_UNAVAILABLE") {
@@ -843,7 +871,7 @@ function publicSignalDiscoveryFailure(value) {
843
871
  }
844
872
  return {
845
873
  errorCode: "SOURCE_UNAVAILABLE",
846
- error: "Signals Everything could not complete this search."
874
+ error: "Signals First could not complete this search."
847
875
  };
848
876
  }
849
877
  function hasFindEmailLinkedInIdentity(value) {
@@ -1272,19 +1300,11 @@ async function verifyEmail(args) {
1272
1300
  `);
1273
1301
  process.stdout.write(`Status: ${publicResult.status}
1274
1302
  `);
1275
- process.stdout.write(`Success: ${publicResult.success}
1276
- `);
1277
- process.stdout.write(`Valid: ${publicResult.is_valid}
1278
- `);
1279
- process.stdout.write(`Verdict: ${publicResult.verification_status}
1280
- `);
1281
- process.stdout.write(`Recommendation: ${publicResult.recommendation}
1303
+ process.stdout.write(`Catch-all: ${publicResult.is_catch_all}
1282
1304
  `);
1283
- process.stdout.write(`Source: ${String(publicResult.verification_source || "email_verification").toLowerCase().includes("cache") ? "email_verification" : publicResult.verification_source}
1305
+ process.stdout.write(`Credits charged: ${publicResult.credits_charged}
1284
1306
  `);
1285
- if (publicResult.run_id) process.stdout.write(`Run ID: ${publicResult.run_id}
1286
- `);
1287
- process.stdout.write(`Credits used: ${publicResult.credits_used}
1307
+ process.stdout.write(`OK to send: ${publicResult.ok_to_send ? "Yes" : "No"}
1288
1308
  `);
1289
1309
  });
1290
1310
  }
@@ -1466,7 +1486,7 @@ function sleep(milliseconds) {
1466
1486
  return new Promise((resolve) => setTimeout(resolve, milliseconds));
1467
1487
  }
1468
1488
  async function signals(args) {
1469
- if (flag("input")) fail("Signals Everything accepts one natural-language query at a time; do not pass --input.");
1489
+ if (flag("input")) fail("Signals First accepts one natural-language query at a time; do not pass --input.");
1470
1490
  const signalSearchRunId = flag("signal-search-run-id");
1471
1491
  const query = signalQueryFromArgs(args);
1472
1492
  if (!query && !signalSearchRunId) {
@@ -1508,12 +1528,12 @@ async function signals(args) {
1508
1528
  }
1509
1529
  output(result, () => {
1510
1530
  if (result.status === "planned") {
1511
- process.stdout.write(`Signals Everything plan: ${result.requestedCount} distinct companies. No source acquisition was launched. Included on plan; 0 Signaliz credits charged.
1531
+ process.stdout.write(`Signals First plan: ${result.requestedCount} distinct companies. No source acquisition was launched. Included on plan; 0 Signaliz credits charged.
1512
1532
  `);
1513
1533
  return;
1514
1534
  }
1515
1535
  if (signalDiscoveryIsPending(result.status)) {
1516
- process.stdout.write(`Signals Everything ${result.status}: ${result.signalSearchRunId}
1536
+ process.stdout.write(`Signals First ${result.status}: ${result.signalSearchRunId}
1517
1537
  `);
1518
1538
  process.stdout.write(`Billing: included on plan \xB7 ${result.creditsCharged} Signaliz credits charged.
1519
1539
  `);
@@ -1522,7 +1542,7 @@ async function signals(args) {
1522
1542
  return;
1523
1543
  }
1524
1544
  if (!result.success || result.status === "failed") {
1525
- process.stdout.write(`${result.error || "Signals Everything failed."}
1545
+ process.stdout.write(`${result.error || "Signals First failed."}
1526
1546
  `);
1527
1547
  return;
1528
1548
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signaliz/cli",
3
- "version": "1.0.67",
3
+ "version": "1.0.68",
4
4
  "description": "Signaliz CLI for Company Signal Enrichment, Signals First, Signal Awareness, Signal to Copy AI, and Signaliz Flow.",
5
5
  "bin": {
6
6
  "signaliz": "dist/bin.js"