@signaliz/cli 1.0.58 → 1.0.60
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 +7 -4
- package/dist/bin.js +20 -10
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -115,7 +115,8 @@ REST, MCP, SDK, and CLI recovery. The four row-oriented core products use one
|
|
|
115
115
|
recoverable REST job for inputs larger than 25; the CLI waits by default or
|
|
116
116
|
returns `job_id`, `idempotency_key`, and an exact resume command with
|
|
117
117
|
`--no-wait`. Find Email, Verify Email, and Company Signal Enrichment use 25-row
|
|
118
|
-
pages; Signal to Copy uses 100-row pages.
|
|
118
|
+
pages; Signal to Copy uses 100-row pages. Large Find Email and Verify Email
|
|
119
|
+
batches honor `--max-wait-ms` and `--poll-interval-ms`. Durable Signal to Copy jobs use
|
|
119
120
|
persisted, eligible company-signal data only and never start live providers or
|
|
120
121
|
deep research. Large Copy inputs with fresh, deep, skip-cache, per-row
|
|
121
122
|
idempotency, or synchronous-only controls fail locally before HTTP; split those
|
|
@@ -127,9 +128,11 @@ diagnostics; use `--include-candidate-evidence` only with batches of at most 25.
|
|
|
127
128
|
Every command uses the authenticated workspace. Find Email and Verify Email
|
|
128
129
|
honor that workspace's configured cache window; eligible hits cost 0 credits,
|
|
129
130
|
while fresh discovery or verification is charged on every plan. Builder, Team,
|
|
130
|
-
Agency, and Pay-As-You-Go include fresh Company Signals and
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
Agency, and Pay-As-You-Go include fresh Company Signals. Team and Agency also
|
|
132
|
+
include Unlimited Signal to Copy AI; Signal to Copy remains callable on other
|
|
133
|
+
plans under the standard product contract. These plans still check eligible
|
|
134
|
+
workspace signal data first even when Company Signals is set to No cache.
|
|
135
|
+
`--lookback-days` remains a hard evidence-age bound for both
|
|
133
136
|
cached and fresh Company Signals and Signal to Copy results.
|
|
134
137
|
|
|
135
138
|
Signals Everything is a query-first company discovery command rather than a
|
package/dist/bin.js
CHANGED
|
@@ -95,6 +95,12 @@ function numberFlag(name) {
|
|
|
95
95
|
if (!Number.isFinite(parsed)) fail(`--${name} must be a number`);
|
|
96
96
|
return parsed;
|
|
97
97
|
}
|
|
98
|
+
function requireIntegerInRange(value, name, minimum, maximum) {
|
|
99
|
+
if (value === void 0) return;
|
|
100
|
+
if (!Number.isInteger(value) || value < minimum || value > maximum) {
|
|
101
|
+
throw new RangeError(`${name} must be an integer between ${minimum} and ${maximum}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
98
104
|
function csvFlag(name) {
|
|
99
105
|
const value = flag(name);
|
|
100
106
|
return value?.split(",").map((item) => item.trim()).filter(Boolean);
|
|
@@ -693,8 +699,7 @@ async function findEmail() {
|
|
|
693
699
|
"linkedin-url",
|
|
694
700
|
"company-name",
|
|
695
701
|
"run-id",
|
|
696
|
-
"skip-cache"
|
|
697
|
-
"idempotency-key"
|
|
702
|
+
"skip-cache"
|
|
698
703
|
].filter(hasFlag);
|
|
699
704
|
if (conflicts.length > 0) {
|
|
700
705
|
fail(`Find Email --job-id cannot be combined with ${conflicts.map((name) => `--${name}`).join(", ")}.`);
|
|
@@ -703,7 +708,8 @@ async function findEmail() {
|
|
|
703
708
|
pageSize: numberFlag("page-size"),
|
|
704
709
|
maxWaitMs: numberFlag("max-wait-ms"),
|
|
705
710
|
pollIntervalMs: numberFlag("poll-interval-ms"),
|
|
706
|
-
compactDuplicates: !hasFlag("expand-duplicates")
|
|
711
|
+
compactDuplicates: !hasFlag("expand-duplicates"),
|
|
712
|
+
idempotencyKey: flag("idempotency-key")
|
|
707
713
|
});
|
|
708
714
|
batchOutput(customerEmailBatch(result2, "find"));
|
|
709
715
|
return;
|
|
@@ -792,7 +798,6 @@ async function verifyEmail(args) {
|
|
|
792
798
|
"email",
|
|
793
799
|
"verification-run-id",
|
|
794
800
|
"skip-cache",
|
|
795
|
-
"idempotency-key",
|
|
796
801
|
"no-wait"
|
|
797
802
|
].filter(hasFlag);
|
|
798
803
|
if (positionalEmail || conflicts.length > 0) {
|
|
@@ -806,7 +811,8 @@ async function verifyEmail(args) {
|
|
|
806
811
|
pageSize: numberFlag("page-size"),
|
|
807
812
|
maxWaitMs: numberFlag("max-wait-ms"),
|
|
808
813
|
pollIntervalMs: numberFlag("poll-interval-ms"),
|
|
809
|
-
compactDuplicates: !hasFlag("expand-duplicates")
|
|
814
|
+
compactDuplicates: !hasFlag("expand-duplicates"),
|
|
815
|
+
idempotencyKey: flag("idempotency-key")
|
|
810
816
|
});
|
|
811
817
|
batchOutput(customerEmailBatch(result2, "verify"));
|
|
812
818
|
return;
|
|
@@ -937,8 +943,8 @@ async function companySignals() {
|
|
|
937
943
|
companyName: row.companyName || row.company_name || row.name,
|
|
938
944
|
researchPrompt: row.researchPrompt || row.research_prompt || flag("research-prompt") || flag("prompt"),
|
|
939
945
|
signalTypes: row.signalTypes || row.signal_types || csvFlag("signal-types"),
|
|
940
|
-
targetSignalCount: row.targetSignalCount
|
|
941
|
-
lookbackDays: row.lookbackDays
|
|
946
|
+
targetSignalCount: row.targetSignalCount ?? row.target_signal_count ?? numberFlag("target-signal-count"),
|
|
947
|
+
lookbackDays: row.lookbackDays ?? row.lookback_days ?? numberFlag("lookback-days"),
|
|
942
948
|
online,
|
|
943
949
|
enableDeepSearch: row.enableDeepSearch ?? row.enable_deep_search ?? (online && !hasFlag("shallow")),
|
|
944
950
|
searchMode: companySignalSearchMode(row.searchMode ?? row.search_mode ?? flag("search-mode")),
|
|
@@ -947,10 +953,14 @@ async function companySignals() {
|
|
|
947
953
|
enablePredictiveIntelligence: row.enablePredictiveIntelligence ?? row.enable_predictive_intelligence,
|
|
948
954
|
skipCache: row.skipCache ?? row.skip_cache ?? hasFlag("skip-cache"),
|
|
949
955
|
includeCandidateEvidence: row.includeCandidateEvidence ?? row.include_candidate_evidence ?? hasFlag("include-candidate-evidence"),
|
|
950
|
-
maxWaitMs: row.maxWaitMs
|
|
956
|
+
maxWaitMs: row.maxWaitMs ?? row.max_wait_ms ?? (durableBatch ? void 0 : numberFlag("max-wait-ms")),
|
|
951
957
|
idempotencyKey: row.idempotencyKey || row.idempotency_key
|
|
952
958
|
};
|
|
953
959
|
});
|
|
960
|
+
for (const request2 of requests) {
|
|
961
|
+
requireIntegerInRange(request2.targetSignalCount, "targetSignalCount", 1, 15);
|
|
962
|
+
requireIntegerInRange(request2.lookbackDays, "lookbackDays", 1, 365);
|
|
963
|
+
}
|
|
954
964
|
if (hasFlag("dry-run")) {
|
|
955
965
|
if (hasFlag("no-wait")) fail("Company Signals --no-wait cannot be combined with --dry-run.");
|
|
956
966
|
const result3 = await createClient().enrichCompanies(requests, { ...batchOptions(), dryRun: true });
|
|
@@ -1181,11 +1191,11 @@ async function signalToCopy() {
|
|
|
1181
1191
|
title: row.title,
|
|
1182
1192
|
campaignOffer: row.campaignOffer || row.campaign_offer || row.offer,
|
|
1183
1193
|
researchPrompt: row.researchPrompt || row.research_prompt || flag("research-prompt") || flag("prompt"),
|
|
1184
|
-
lookbackDays: row.lookbackDays
|
|
1194
|
+
lookbackDays: row.lookbackDays ?? row.lookback_days ?? numberFlag("lookback-days"),
|
|
1185
1195
|
signalRunId: row.signalRunId || row.signal_run_id,
|
|
1186
1196
|
skipCache: row.skipCache ?? row.skip_cache ?? hasFlag("skip-cache"),
|
|
1187
1197
|
enableDeepSearch: row.enableDeepSearch ?? row.enable_deep_search ?? hasFlag("deep-search"),
|
|
1188
|
-
maxWaitMs: row.maxWaitMs
|
|
1198
|
+
maxWaitMs: row.maxWaitMs ?? row.max_wait_ms ?? (durableBatch ? void 0 : numberFlag("max-wait-ms")),
|
|
1189
1199
|
idempotencyKey: row.idempotencyKey || row.idempotency_key
|
|
1190
1200
|
};
|
|
1191
1201
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signaliz/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.60",
|
|
4
4
|
"description": "Signaliz CLI for Signals Everything, Find Email, Verify Email, Company Signal Enrichment, and Signal to Copy AI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"signaliz": "dist/bin.js"
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"node": ">=18"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@signaliz/sdk": "^1.0.
|
|
32
|
+
"@signaliz/sdk": "^1.0.63"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"tsup": "^8.0.0",
|