@signaliz/cli 1.0.89 → 1.0.90
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 -2
- package/dist/bin.js +32 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -216,6 +216,9 @@ signaliz campaign-os audience-draft --client-id <uuid> --name "Launch ICP" \
|
|
|
216
216
|
--definition-file audience.json --entity-type people \
|
|
217
217
|
--audience-role campaign_segment --source-mode signaliz_owned \
|
|
218
218
|
--idempotency-key launch-audience-v1 --json
|
|
219
|
+
signaliz campaign-os materialize-cache-audience --client-id <uuid> \
|
|
220
|
+
--audience-id <uuid> --target-count 500 \
|
|
221
|
+
--idempotency-key launch-cache-materialization-v1 --json
|
|
219
222
|
signaliz campaign-os audience-preview --client-id <uuid> \
|
|
220
223
|
--audience-id <uuid> --idempotency-key launch-preview-v1 --json
|
|
221
224
|
signaliz campaign-os compile --client-id <uuid> --campaign-id <uuid> \
|
|
@@ -227,7 +230,9 @@ signaliz campaign-os receipts --client-id <uuid> --json
|
|
|
227
230
|
|
|
228
231
|
`provider-runtime` explains the safe Clay or Instantly route, adapter source,
|
|
229
232
|
approval boundaries, and receipt semantics without returning credentials or
|
|
230
|
-
calling the provider. `build`, `audience-draft`, `audience
|
|
231
|
-
`compile` do not need CMM-admin approval and keep
|
|
233
|
+
calling the provider. `build`, `audience-draft`, `materialize-cache-audience`,
|
|
234
|
+
`audience-preview`, and `compile` do not need CMM-admin approval and keep
|
|
235
|
+
providers locked. Cache materialization is capped at 500 members and returns
|
|
236
|
+
exact zero-provider/Clay usage plus a terminal reconciliation receipt. `request`
|
|
232
237
|
creates only an auditable review request for paid sourcing, provider load,
|
|
233
238
|
activation, real-time arming, queueing, or sending; it does not execute them.
|
package/dist/bin.js
CHANGED
|
@@ -64,6 +64,7 @@ Product commands:
|
|
|
64
64
|
signaliz campaign-os build-status --build-run-id <uuid>
|
|
65
65
|
signaliz campaign-os draft --client-id <uuid> --name "Campaign" --campaign-spec-file campaign-spec.json --idempotency-key <key> [--agent codex]
|
|
66
66
|
signaliz campaign-os audience-draft --client-id <uuid> --name "Audience" --definition-file audience.json --entity-type people --audience-role campaign_segment --source-mode signaliz_owned --idempotency-key <key>
|
|
67
|
+
signaliz campaign-os materialize-cache-audience --client-id <uuid> --audience-id <uuid> --target-count <1-500> --idempotency-key <key>
|
|
67
68
|
signaliz campaign-os audience-preview --client-id <uuid> --audience-id <uuid> --idempotency-key <key>
|
|
68
69
|
signaliz campaign-os compile --client-id <uuid> --campaign-id <uuid> [--providers all]
|
|
69
70
|
signaliz campaign-os request --client-id <uuid> [--campaign-id <uuid>] --agent codex --action provider_load --instructions "..." [--idempotency-key <key>]
|
|
@@ -2239,7 +2240,7 @@ async function campaignOs(args) {
|
|
|
2239
2240
|
const campaign = record(result.campaign);
|
|
2240
2241
|
process.stdout.write(`Campaign Brain build: ${String(build.status || "unknown")}
|
|
2241
2242
|
`);
|
|
2242
|
-
if (campaign.id) process.stdout.write(`
|
|
2243
|
+
if (campaign.id) process.stdout.write(`Provider-locked campaign: ${String(campaign.name || "")} (${String(campaign.id)})
|
|
2243
2244
|
`);
|
|
2244
2245
|
process.stdout.write("Provider execution remains locked.\n");
|
|
2245
2246
|
});
|
|
@@ -2284,7 +2285,7 @@ async function campaignOs(args) {
|
|
|
2284
2285
|
});
|
|
2285
2286
|
output(result, () => {
|
|
2286
2287
|
const campaign = record(result.campaign);
|
|
2287
|
-
process.stdout.write(`
|
|
2288
|
+
process.stdout.write(`Provider-locked draft created without admin approval: ${String(campaign.name || name)} (${String(campaign.id || "")})
|
|
2288
2289
|
`);
|
|
2289
2290
|
process.stdout.write("Provider load: locked \xB7 activation: locked \xB7 send: locked\n");
|
|
2290
2291
|
process.stdout.write("No Clay, Instantly, Smartlead, or Bison mutation was performed.\n");
|
|
@@ -2340,6 +2341,34 @@ async function campaignOs(args) {
|
|
|
2340
2341
|
output(result, () => process.stdout.write("No-spend Audience preview recorded \xB7 provider calls 0 \xB7 Clay usage 0\n"));
|
|
2341
2342
|
return;
|
|
2342
2343
|
}
|
|
2344
|
+
if (action === "materialize-cache-audience") {
|
|
2345
|
+
const clientId = flag("client-id");
|
|
2346
|
+
const audienceId = flag("audience-id");
|
|
2347
|
+
const targetCount = numberFlag("target-count");
|
|
2348
|
+
const idempotencyKey = flag("idempotency-key");
|
|
2349
|
+
if (!clientId || !audienceId || targetCount === void 0 || !idempotencyKey) {
|
|
2350
|
+
throw new CliInputError("signaliz campaign-os materialize-cache-audience requires --client-id, --audience-id, --target-count <1-500>, and --idempotency-key");
|
|
2351
|
+
}
|
|
2352
|
+
requireIntegerInRange(targetCount, "--target-count", 1, 500);
|
|
2353
|
+
const result = await client.materializeCampaignOsCacheAudience({
|
|
2354
|
+
clientId,
|
|
2355
|
+
audienceId,
|
|
2356
|
+
targetCount,
|
|
2357
|
+
idempotencyKey
|
|
2358
|
+
});
|
|
2359
|
+
output(result, () => {
|
|
2360
|
+
const usage = record(result.usage_receipt);
|
|
2361
|
+
const reconciliation = record(result.terminal_reconciliation_receipt);
|
|
2362
|
+
process.stdout.write(`Cache Audience materialized: target ${targetCount}
|
|
2363
|
+
`);
|
|
2364
|
+
process.stdout.write(`Provider calls: ${String(usage.provider_calls)} \xB7 Clay Search allowance: ${String(usage.clay_search_allowance_used)} \xB7 Clay Actions: ${String(usage.clay_actions_used)} \xB7 Clay Data Credits: ${String(usage.clay_data_credits_used)}
|
|
2365
|
+
`);
|
|
2366
|
+
process.stdout.write(`Terminal reconciliation receipt: ${JSON.stringify(reconciliation)}
|
|
2367
|
+
`);
|
|
2368
|
+
process.stdout.write("No provider approval was requested.\n");
|
|
2369
|
+
});
|
|
2370
|
+
return;
|
|
2371
|
+
}
|
|
2343
2372
|
if (action === "compile") {
|
|
2344
2373
|
const clientId = flag("client-id");
|
|
2345
2374
|
const campaignId = flag("campaign-id");
|
|
@@ -2393,7 +2422,7 @@ async function campaignOs(args) {
|
|
|
2393
2422
|
});
|
|
2394
2423
|
return;
|
|
2395
2424
|
}
|
|
2396
|
-
throw new CliInputError("Usage: signaliz campaign-os clients|context|knowledge|provider-runtime|build|build-status|draft|audience-draft|audience-preview|compile|request|receipts");
|
|
2425
|
+
throw new CliInputError("Usage: signaliz campaign-os clients|context|knowledge|provider-runtime|build|build-status|draft|audience-draft|materialize-cache-audience|audience-preview|compile|request|receipts");
|
|
2397
2426
|
}
|
|
2398
2427
|
async function main() {
|
|
2399
2428
|
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.90",
|
|
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.94"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"tsup": "^8.0.0",
|