@signaliz/cli 1.0.38 → 1.0.40
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 +6 -0
- package/dist/bin.js +25 -9
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -18,6 +18,9 @@ signaliz find-email --company-domain example.com --full-name "Jane Doe" --skip-c
|
|
|
18
18
|
signaliz verify-email jane@example.com
|
|
19
19
|
# Force a fresh-provider verification instead of reusing cached proof
|
|
20
20
|
signaliz verify-email jane@example.com --skip-cache
|
|
21
|
+
# Return early when a provider check runs long, then resume the exact run
|
|
22
|
+
signaliz verify-email jane@example.com --skip-cache --no-wait --json
|
|
23
|
+
signaliz verify-email --verification-run-id run_... --json
|
|
21
24
|
signaliz company-signals --domain example.com --research-prompt "expansion priorities"
|
|
22
25
|
# Resume a queued run in a later agent/process without duplicate spend
|
|
23
26
|
signaliz company-signals --signal-run-id run_...
|
|
@@ -54,6 +57,9 @@ SDK for diagnostics:
|
|
|
54
57
|
|
|
55
58
|
```bash
|
|
56
59
|
signaliz company-signals --input companies.jsonl --jsonl --omit-raw
|
|
60
|
+
|
|
61
|
+
# Stream JSONL directly from another process; no temporary file is required.
|
|
62
|
+
generate-company-rows | signaliz company-signals --input - --jsonl --omit-raw
|
|
57
63
|
```
|
|
58
64
|
|
|
59
65
|
JSONL writes one `{ "type": "result", ... }` line per input followed by one
|
package/dist/bin.js
CHANGED
|
@@ -13,7 +13,7 @@ var HELP = `Signaliz CLI
|
|
|
13
13
|
|
|
14
14
|
Four product commands:
|
|
15
15
|
signaliz find-email --company-domain example.com --full-name "Jane Doe" [--skip-cache]
|
|
16
|
-
signaliz verify-email jane@example.com
|
|
16
|
+
signaliz verify-email [jane@example.com] [--verification-run-id run_...] [--no-wait] [--max-wait-ms 600000]
|
|
17
17
|
signaliz company-signals --domain example.com [--research-prompt "..."] [--no-summary] [--max-wait-ms 1200000]
|
|
18
18
|
signaliz company-signals --signal-run-id run_... Resume without duplicate spend
|
|
19
19
|
signaliz signal-to-copy --company-domain example.com --person-name "Jane Doe" \\
|
|
@@ -36,6 +36,7 @@ Common flags:
|
|
|
36
36
|
--expand-duplicates Repeat full data for exact duplicate batch inputs
|
|
37
37
|
--base-url <url>
|
|
38
38
|
--input <json-or-jsonl-file> Batch up to 5,000 records with any product command
|
|
39
|
+
--input - Read a JSON array or JSONL batch from stdin
|
|
39
40
|
--concurrency <1-50> Simultaneous API requests for batch input (default: 10)
|
|
40
41
|
--idempotency-key <key> Reuse after an ambiguous batch submission to recover the same job
|
|
41
42
|
`;
|
|
@@ -85,24 +86,25 @@ function csvFlag(name) {
|
|
|
85
86
|
function readBatchInput() {
|
|
86
87
|
const path = flag("input");
|
|
87
88
|
if (!path) return null;
|
|
89
|
+
const source = path === "-" ? "stdin" : path;
|
|
88
90
|
let raw;
|
|
89
91
|
try {
|
|
90
|
-
raw = (0, import_node_fs.readFileSync)(path, "utf8").trim();
|
|
92
|
+
raw = (0, import_node_fs.readFileSync)(path === "-" ? 0 : path, "utf8").trim();
|
|
91
93
|
} catch (error) {
|
|
92
|
-
fail(`Unable to read --input
|
|
94
|
+
fail(`Unable to read --input ${source}: ${error instanceof Error ? error.message : String(error)}`);
|
|
93
95
|
}
|
|
94
|
-
if (!raw) fail(
|
|
96
|
+
if (!raw) fail(`--input ${source} must contain at least one record`);
|
|
95
97
|
let rows;
|
|
96
98
|
try {
|
|
97
99
|
rows = raw.startsWith("[") ? JSON.parse(raw) : raw.split(/\r?\n/).filter(Boolean).map((line, index) => {
|
|
98
100
|
try {
|
|
99
101
|
return JSON.parse(line);
|
|
100
102
|
} catch {
|
|
101
|
-
fail(`Invalid JSON on line ${index + 1} of ${
|
|
103
|
+
fail(`Invalid JSON on line ${index + 1} of ${source}`);
|
|
102
104
|
}
|
|
103
105
|
});
|
|
104
106
|
} catch (error) {
|
|
105
|
-
fail(`Invalid JSON in --input
|
|
107
|
+
fail(`Invalid JSON in --input ${source}: ${error instanceof Error ? error.message : String(error)}`);
|
|
106
108
|
}
|
|
107
109
|
if (!Array.isArray(rows) || rows.length === 0) fail("--input must be a non-empty JSON array or JSONL file");
|
|
108
110
|
if (rows.length > 5e3) fail(`--input supports at most 5,000 records; received ${rows.length}`);
|
|
@@ -290,10 +292,24 @@ async function verifyEmail(args) {
|
|
|
290
292
|
batchOutput(result2);
|
|
291
293
|
return;
|
|
292
294
|
}
|
|
293
|
-
const email = args
|
|
294
|
-
|
|
295
|
-
|
|
295
|
+
const email = args[0] && !args[0].startsWith("--") ? args[0] : flag("email");
|
|
296
|
+
const verificationRunId = flag("verification-run-id");
|
|
297
|
+
if (!email && !verificationRunId) fail("Usage: signaliz verify-email [jane@example.com] [--verification-run-id run_...]");
|
|
298
|
+
const result = await createClient().verifyEmail(email, {
|
|
299
|
+
skipCache: hasFlag("skip-cache"),
|
|
300
|
+
verificationRunId,
|
|
301
|
+
waitForResult: !hasFlag("no-wait"),
|
|
302
|
+
maxWaitMs: numberFlag("max-wait-ms"),
|
|
303
|
+
pollIntervalMs: numberFlag("poll-interval-ms")
|
|
304
|
+
});
|
|
296
305
|
output(result, () => {
|
|
306
|
+
if (result.status === "processing") {
|
|
307
|
+
process.stdout.write(`Verification processing: ${result.verificationRunId}
|
|
308
|
+
`);
|
|
309
|
+
process.stdout.write(`Retry after ${result.nextPollAfterSeconds || 3} seconds with --verification-run-id ${result.verificationRunId}
|
|
310
|
+
`);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
297
313
|
process.stdout.write(`${result.email}: ${result.isDeliverable ? "deliverable" : "not deliverable"}
|
|
298
314
|
`);
|
|
299
315
|
process.stdout.write(`Valid: ${result.isValid}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signaliz/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.40",
|
|
4
4
|
"description": "Signaliz CLI for Find Email, Verify Email, Company Signal Enrichment, and Signal to Copy AI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"signaliz": "dist/bin.js"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"node": ">=18"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@signaliz/sdk": "^1.0.
|
|
31
|
+
"@signaliz/sdk": "^1.0.39"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"tsup": "^8.0.0",
|