@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.
- package/README.md +2 -2
- package/dist/bin.js +38 -18
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(`
|
|
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(`
|
|
1305
|
+
process.stdout.write(`Credits charged: ${publicResult.credits_charged}
|
|
1284
1306
|
`);
|
|
1285
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1545
|
+
process.stdout.write(`${result.error || "Signals First failed."}
|
|
1526
1546
|
`);
|
|
1527
1547
|
return;
|
|
1528
1548
|
}
|
package/package.json
CHANGED