@signaliz/cli 1.0.80 → 1.0.82
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 -0
- package/dist/bin.js +6 -12
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -68,6 +68,8 @@ signaliz awareness delete --domain acme.com
|
|
|
68
68
|
signaliz flow --signal-query "companies with recent hiring" \
|
|
69
69
|
--campaign-offer "pipeline intelligence"
|
|
70
70
|
signaliz flow --run-id run_... --json
|
|
71
|
+
# Keep polling the returned run ID until status is completed or failed.
|
|
72
|
+
# Flow leaves generated copy in review and never sends outreach.
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
Use `--json` with any product command for structured output.
|
package/dist/bin.js
CHANGED
|
@@ -238,8 +238,8 @@ function firstValidSignalValue(values, normalize) {
|
|
|
238
238
|
}
|
|
239
239
|
function publicSignalSummary(value, title) {
|
|
240
240
|
if (!value) return "";
|
|
241
|
-
const severePageChrome = /\[share\]\(mailto:|\blast modified on\b|\bprefer the guardian on google\b
|
|
242
|
-
let cleaned = value.replace(/\[(?:share|email)\]\((?:mailto:|https?:\/\/)[^)]+\)/gi, " ").replace(/\bskip to content\b[\s\S]*$/i, " ").replace(/\b(?:explore stocks|trading disclosure)\b[\s\S]*$/i, " ").replace(/\bimage by:\s*([A-Z][A-Za-z0-9.&'-]*)\s+\1\b/gi, "$1").replace(/\bimage by:\s*[^.!?]{1,80}(?=[.!?]|$)/gi, " ").replace(/[^.!?]{0,100}\b(?:logo|image|photo)\b[^.!?]{0,100}[.!?]\s*\((?:Reuters|AP)\)\s*/gi, " ").replace(/(?:(?:read\s*post|read\s*more|keep\s*reading|learn\s*more)\s*)+/gi, " ").replace(/\b(?:jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|jun(?:e)?|jul(?:y)?|aug(?:ust)?|sep(?:t(?:ember)?)?|oct(?:ober)?|nov(?:ember)?|dec(?:ember)?)\s+\d{1,2},\s+\d{4}\b/gi, " ").replace(/\s*\.{3,}\s*/g, " ").replace(/\s+/g, " ").replace(/\s+([,.!?])/g, "$1").trim();
|
|
241
|
+
const severePageChrome = /\[share\]\(mailto:|\blast modified on\b|\bprefer the guardian on google\b|\b(?:business wire|globe newswire)\s*$/i.test(value);
|
|
242
|
+
let cleaned = value.replace(/^#\s*/, "").replace(/^[A-Z][A-Z .'-]+--\((?:BUSINESS WIRE|GLOBE NEWSWIRE)\)--\s*/i, "").replace(/\[(?:share|email)\]\((?:mailto:|https?:\/\/)[^)]+\)/gi, " ").replace(/\bskip to content\b[\s\S]*$/i, " ").replace(/\b(?:explore stocks|trading disclosure)\b[\s\S]*$/i, " ").replace(/\bimage by:\s*([A-Z][A-Za-z0-9.&'-]*)\s+\1\b/gi, "$1").replace(/\bimage by:\s*[^.!?]{1,80}(?=[.!?]|$)/gi, " ").replace(/[^.!?]{0,100}\b(?:logo|image|photo)\b[^.!?]{0,100}[.!?]\s*\((?:Reuters|AP)\)\s*/gi, " ").replace(/(?:(?:read\s*post|read\s*more|keep\s*reading|learn\s*more)\s*)+/gi, " ").replace(/\b(?:jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|jun(?:e)?|jul(?:y)?|aug(?:ust)?|sep(?:t(?:ember)?)?|oct(?:ober)?|nov(?:ember)?|dec(?:ember)?)\s+\d{1,2},\s+\d{4}\b/gi, " ").replace(/\s*\.{3,}\s*/g, " ").replace(/\s+/g, " ").replace(/\s+([,.!?])/g, "$1").trim();
|
|
243
243
|
const sentenceEnds = Array.from(cleaned.matchAll(/[.!?](?=\s+[A-Z]|$)/g));
|
|
244
244
|
const lastSentenceEnd = sentenceEnds[sentenceEnds.length - 1]?.index ?? -1;
|
|
245
245
|
if (cleaned.length > 240 && lastSentenceEnd >= 100 && cleaned.length - lastSentenceEnd > 20) {
|
|
@@ -250,6 +250,7 @@ function publicSignalSummary(value, title) {
|
|
|
250
250
|
const remainder = cleaned.slice(title.length).replace(/^\s*(?:[:|\-–—]\s*)?/, "");
|
|
251
251
|
if (/^(?:[A-Z]|news\b)/.test(remainder)) cleaned = remainder;
|
|
252
252
|
}
|
|
253
|
+
cleaned = cleaned.replace(/^By\s+\[[^\]]+\]\(https?:\/\/[^)]+\)\s*-\s*/i, "").replace(/^\[[^\]]+\]\(https?:\/\/[^)]*\/(?:wp-content|images?)\/[^)]+\)\s*/i, "").trim();
|
|
253
254
|
const key = (text) => text.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
|
|
254
255
|
const cleanedKey = key(cleaned);
|
|
255
256
|
const titleKey = key(title);
|
|
@@ -1618,6 +1619,9 @@ async function flow() {
|
|
|
1618
1619
|
if (!signalQuery || !campaignOffer) {
|
|
1619
1620
|
fail('Usage: signaliz flow --signal-query "companies with recent hiring" --campaign-offer "your offer" [--limit 5]');
|
|
1620
1621
|
}
|
|
1622
|
+
if (hasFlag("dry-run")) {
|
|
1623
|
+
throw new CliInputError("Signaliz Flow starts immediately; --dry-run is no longer supported.");
|
|
1624
|
+
}
|
|
1621
1625
|
const removedFlowControls = [
|
|
1622
1626
|
"after-date",
|
|
1623
1627
|
"before-date",
|
|
@@ -1659,16 +1663,6 @@ async function flow() {
|
|
|
1659
1663
|
requireIntegerInRange(request.signalLimit, "limit", 1, 25);
|
|
1660
1664
|
requireIntegerInRange(request.lookbackDays, "lookbackDays", 1, 365);
|
|
1661
1665
|
requireIntegerInRange(request.peoplePerCompany, "peoplePerCompany", 1, 5);
|
|
1662
|
-
if (hasFlag("dry-run")) {
|
|
1663
|
-
const result2 = await createClient().startFlow({ ...request, dryRun: true });
|
|
1664
|
-
output(result2, () => {
|
|
1665
|
-
process.stdout.write(`Signaliz Flow plan: up to ${result2.plan.maximumReviewCandidates} review candidates. No work was dispatched.
|
|
1666
|
-
`);
|
|
1667
|
-
for (const safeguard of result2.plan.safeguards) process.stdout.write(`- ${safeguard}
|
|
1668
|
-
`);
|
|
1669
|
-
});
|
|
1670
|
-
return;
|
|
1671
|
-
}
|
|
1672
1666
|
const result = await createClient().startFlow(request);
|
|
1673
1667
|
output(result, () => process.stdout.write(`Signaliz Flow started: ${result.runId}
|
|
1674
1668
|
Check status: signaliz flow --run-id ${result.runId}
|
package/package.json
CHANGED