@signaliz/cli 1.0.93 → 1.0.94
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 +13 -0
- package/dist/bin.js +78 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -223,6 +223,13 @@ signaliz campaign-os audience-preview --client-id <uuid> \
|
|
|
223
223
|
--audience-id <uuid> --idempotency-key launch-preview-v1 --json
|
|
224
224
|
signaliz campaign-os compile --client-id <uuid> --campaign-id <uuid> \
|
|
225
225
|
--providers all --json
|
|
226
|
+
signaliz campaign-os alpha-materialize-preflight --client-id <uuid> \
|
|
227
|
+
--campaign-id <uuid> --audience-run-id <uuid> --validation-run-id <uuid> \
|
|
228
|
+
--idempotency-key launch-alpha-materialization-v1 --json
|
|
229
|
+
signaliz campaign-os alpha-materialize --materialization-run-id <uuid> \
|
|
230
|
+
--approval-hash sha256:<64-hex> --confirm-spend --json
|
|
231
|
+
signaliz campaign-os alpha-materialization-status \
|
|
232
|
+
--materialization-run-id <uuid> --json
|
|
226
233
|
signaliz campaign-os request --client-id <uuid> --campaign-id <uuid> \
|
|
227
234
|
--agent devin --action provider_activation --instructions "Prepare for review" \
|
|
228
235
|
--preflight-inputs-file action-preflight.json \
|
|
@@ -245,3 +252,9 @@ activation, real-time arming, queueing, or sending; it does not execute them.
|
|
|
245
252
|
non-secret provider and artifact identifiers. After a Signaliz superadmin
|
|
246
253
|
approves that proposal, `prepare-preflight` appends or reads the immutable
|
|
247
254
|
no-call continuation and reports missing inputs or unavailable adapters.
|
|
255
|
+
|
|
256
|
+
`alpha-materialize-preflight` records the exact campaign, Audience run,
|
|
257
|
+
validation receipt, coverage target, batches, and research ceiling without
|
|
258
|
+
spend. `alpha-materialize` requires the returned approval hash and
|
|
259
|
+
`--confirm-spend`; it authorizes only that bounded research. It never calls
|
|
260
|
+
Clay, creates an Audience, loads or activates a provider, queues, or sends.
|
package/dist/bin.js
CHANGED
|
@@ -70,11 +70,14 @@ Product commands:
|
|
|
70
70
|
signaliz campaign-os audience-preview --client-id <uuid> --audience-id <uuid> --idempotency-key <key>
|
|
71
71
|
signaliz campaign-os compile --client-id <uuid> --campaign-id <uuid> [--providers all]
|
|
72
72
|
signaliz campaign-os alpha-plan --client-id <uuid> --client-name "Velox" --offer-summary "..." --icp-summary "..." --idempotency-key <key>
|
|
73
|
-
signaliz campaign-os alpha-discover --client-id <uuid> --client-name "Velox" --offer-summary "..." --icp-summary "..." --idempotency-key <key> --confirm-spend
|
|
73
|
+
signaliz campaign-os alpha-discover --client-id <uuid> --campaign-id <uuid> --client-name "Velox" --offer-summary "..." --icp-summary "..." --idempotency-key <key> --confirm-spend
|
|
74
74
|
signaliz campaign-os alpha-status --alpha-run-id <uuid>
|
|
75
75
|
signaliz campaign-os alpha-validate --client-id <uuid> --campaign-id <uuid> --alpha-run-id <uuid> --candidate-index 0 --sample-file sample.json --idempotency-key <key> --confirm-spend
|
|
76
76
|
signaliz campaign-os alpha-validation-status --validation-run-id <uuid>
|
|
77
77
|
signaliz campaign-os alpha-apply --validation-run-id <uuid>
|
|
78
|
+
signaliz campaign-os alpha-materialize-preflight --client-id <uuid> --campaign-id <uuid> --audience-run-id <uuid> --validation-run-id <uuid> --idempotency-key <key>
|
|
79
|
+
signaliz campaign-os alpha-materialize --materialization-run-id <uuid> --approval-hash sha256:<64-hex> --confirm-spend
|
|
80
|
+
signaliz campaign-os alpha-materialization-status --materialization-run-id <uuid>
|
|
78
81
|
signaliz campaign-os connections --client-id <uuid>
|
|
79
82
|
signaliz campaign-os source-binding --client-id <uuid> --binding-id <uuid> --name "CRM list" --source-kind audience --selector-file selector.json --idempotency-key <key>
|
|
80
83
|
signaliz campaign-os source-preflight --client-id <uuid> --source-binding-id <uuid> --idempotency-key <key> [--max-records 25]
|
|
@@ -2465,6 +2468,7 @@ async function campaignOs(args) {
|
|
|
2465
2468
|
}
|
|
2466
2469
|
if (action === "alpha-plan" || action === "alpha-discover") {
|
|
2467
2470
|
const clientId = flag("client-id");
|
|
2471
|
+
const campaignId = flag("campaign-id");
|
|
2468
2472
|
const clientName = flag("client-name");
|
|
2469
2473
|
const offerSummary = flag("offer-summary");
|
|
2470
2474
|
const icpSummary = flag("icp-summary");
|
|
@@ -2474,7 +2478,7 @@ async function campaignOs(args) {
|
|
|
2474
2478
|
}
|
|
2475
2479
|
const params = {
|
|
2476
2480
|
clientId,
|
|
2477
|
-
campaignId
|
|
2481
|
+
campaignId,
|
|
2478
2482
|
clientName,
|
|
2479
2483
|
offerSummary,
|
|
2480
2484
|
icpSummary,
|
|
@@ -2494,7 +2498,13 @@ async function campaignOs(args) {
|
|
|
2494
2498
|
if (!hasFlag("confirm-spend")) {
|
|
2495
2499
|
throw new CliInputError("signaliz campaign-os alpha-discover requires --confirm-spend for the $0.10 authorization ceiling");
|
|
2496
2500
|
}
|
|
2497
|
-
|
|
2501
|
+
if (!campaignId) {
|
|
2502
|
+
throw new CliInputError("signaliz campaign-os alpha-discover requires --campaign-id for one saved immutable CampaignSpec");
|
|
2503
|
+
}
|
|
2504
|
+
const result = await client.startCampaignOsAlphaDiscovery({
|
|
2505
|
+
...params,
|
|
2506
|
+
campaignId
|
|
2507
|
+
});
|
|
2498
2508
|
output(result, () => {
|
|
2499
2509
|
const run = record(result.run);
|
|
2500
2510
|
process.stdout.write(`Signaliz Alpha discovery started: ${String(run.id || "")} \xB7 ${String(run.status || "queued")} \xB7 authorized ceiling $0.10
|
|
@@ -2578,6 +2588,70 @@ async function campaignOs(args) {
|
|
|
2578
2588
|
});
|
|
2579
2589
|
return;
|
|
2580
2590
|
}
|
|
2591
|
+
if (action === "alpha-materialize-preflight") {
|
|
2592
|
+
const clientId = flag("client-id");
|
|
2593
|
+
const campaignId = flag("campaign-id");
|
|
2594
|
+
const audienceRunId = flag("audience-run-id");
|
|
2595
|
+
const validationRunId = flag("validation-run-id");
|
|
2596
|
+
const idempotencyKey = flag("idempotency-key")?.trim();
|
|
2597
|
+
if (!clientId || !campaignId || !audienceRunId || !validationRunId || !idempotencyKey) {
|
|
2598
|
+
throw new CliInputError("signaliz campaign-os alpha-materialize-preflight requires --client-id, --campaign-id, --audience-run-id, --validation-run-id, and --idempotency-key");
|
|
2599
|
+
}
|
|
2600
|
+
const result = await client.preflightCampaignOsAlphaMaterialization({
|
|
2601
|
+
clientId,
|
|
2602
|
+
campaignId,
|
|
2603
|
+
audienceRunId,
|
|
2604
|
+
validationRunId,
|
|
2605
|
+
idempotencyKey
|
|
2606
|
+
});
|
|
2607
|
+
output(result, () => {
|
|
2608
|
+
const run = record(result.run);
|
|
2609
|
+
process.stdout.write(`Signaliz Alpha materialization preflight: ${String(run.id || "")} \xB7 ${String(run.selected_count || 0)} membership(s) \xB7 ${String(run.batch_count || 0)} batch(es)
|
|
2610
|
+
`);
|
|
2611
|
+
process.stdout.write(`Research ceiling: $${String(run.max_cost_usd || "0.00")} \xB7 no research, Clay, audience creation, provider load, activation, queue, or send occurred.
|
|
2612
|
+
`);
|
|
2613
|
+
});
|
|
2614
|
+
return;
|
|
2615
|
+
}
|
|
2616
|
+
if (action === "alpha-materialize") {
|
|
2617
|
+
const materializationRunId = flag("materialization-run-id");
|
|
2618
|
+
const approvalHash = flag("approval-hash");
|
|
2619
|
+
if (!materializationRunId || !approvalHash) {
|
|
2620
|
+
throw new CliInputError("signaliz campaign-os alpha-materialize requires --materialization-run-id and --approval-hash");
|
|
2621
|
+
}
|
|
2622
|
+
if (!/^sha256:[0-9a-f]{64}$/.test(approvalHash)) {
|
|
2623
|
+
throw new CliInputError("--approval-hash must be the exact sha256:<64-hex> preflight hash");
|
|
2624
|
+
}
|
|
2625
|
+
if (!hasFlag("confirm-spend")) {
|
|
2626
|
+
throw new CliInputError("signaliz campaign-os alpha-materialize requires --confirm-spend for the approval-bound research ceiling");
|
|
2627
|
+
}
|
|
2628
|
+
const result = await client.startCampaignOsAlphaMaterialization({
|
|
2629
|
+
materializationRunId,
|
|
2630
|
+
approvalHash,
|
|
2631
|
+
confirmSpend: true
|
|
2632
|
+
});
|
|
2633
|
+
output(result, () => {
|
|
2634
|
+
const run = record(result.run);
|
|
2635
|
+
process.stdout.write(`Signaliz Alpha materialization started: ${String(run.id || materializationRunId)} \xB7 ${String(run.status || "queued")}
|
|
2636
|
+
`);
|
|
2637
|
+
process.stdout.write("Only preflight-bounded research spend is authorized. Clay, audience creation, provider load, activation, queue, and send remain locked.\n");
|
|
2638
|
+
});
|
|
2639
|
+
return;
|
|
2640
|
+
}
|
|
2641
|
+
if (action === "alpha-materialization-status") {
|
|
2642
|
+
const materializationRunId = flag("materialization-run-id");
|
|
2643
|
+
if (!materializationRunId) {
|
|
2644
|
+
throw new CliInputError("signaliz campaign-os alpha-materialization-status requires --materialization-run-id <uuid>");
|
|
2645
|
+
}
|
|
2646
|
+
const result = await client.getCampaignOsAlphaMaterialization(materializationRunId);
|
|
2647
|
+
output(result, () => {
|
|
2648
|
+
const run = record(result.run);
|
|
2649
|
+
process.stdout.write(`Signaliz Alpha materialization: ${String(run.status || "unknown")} \xB7 ${String(run.processed_entity_count || 0)}/${String(run.entity_count || 0)} entities \xB7 ${String(run.covered_membership_count || 0)}/${String(run.selected_count || 0)} memberships
|
|
2650
|
+
`);
|
|
2651
|
+
process.stdout.write("Status read only \xB7 no new research, spend, Clay, provider load, activation, queue, or send.\n");
|
|
2652
|
+
});
|
|
2653
|
+
return;
|
|
2654
|
+
}
|
|
2581
2655
|
if (action === "connections") {
|
|
2582
2656
|
const clientId = flag("client-id");
|
|
2583
2657
|
if (!clientId) throw new CliInputError("signaliz campaign-os connections requires --client-id <uuid>");
|
|
@@ -2748,7 +2822,7 @@ async function campaignOs(args) {
|
|
|
2748
2822
|
});
|
|
2749
2823
|
return;
|
|
2750
2824
|
}
|
|
2751
|
-
throw new CliInputError("Usage: signaliz campaign-os clients|context|knowledge|provider-runtime|build|build-status|draft|refine|audience-draft|materialize-cache-audience|audience-schedule|audience-preview|compile|alpha-plan|alpha-discover|alpha-status|alpha-validate|alpha-validation-status|alpha-apply|connections|source-binding|source-preflight|request|prepare-preflight|receipts");
|
|
2825
|
+
throw new CliInputError("Usage: signaliz campaign-os clients|context|knowledge|provider-runtime|build|build-status|draft|refine|audience-draft|materialize-cache-audience|audience-schedule|audience-preview|compile|alpha-plan|alpha-discover|alpha-status|alpha-validate|alpha-validation-status|alpha-apply|alpha-materialize-preflight|alpha-materialize|alpha-materialization-status|connections|source-binding|source-preflight|request|prepare-preflight|receipts");
|
|
2752
2826
|
}
|
|
2753
2827
|
async function main() {
|
|
2754
2828
|
const [, , command, ...args] = process.argv;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signaliz/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.94",
|
|
4
4
|
"description": "Signaliz CLI for Campaign OS, core products, Signal Awareness, Signaliz Flow, and reusable managed builds.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"signaliz": "dist/bin.js"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"node": ">=18"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@signaliz/sdk": "^1.0.
|
|
33
|
+
"@signaliz/sdk": "^1.0.98"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"tsup": "^8.0.0",
|