@signaliz/cli 1.0.3 → 1.0.5
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 +58 -71
- package/dist/bin.js +373 -4807
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -34,6 +34,19 @@ move plus exact commands for five plain workflows:
|
|
|
34
34
|
- Improve results from learning: `signaliz improve <campaign_id>`.
|
|
35
35
|
- Prove Ops delivery: `signaliz prove`.
|
|
36
36
|
|
|
37
|
+
## Concepts
|
|
38
|
+
|
|
39
|
+
Signaliz is the GTM brain over your stack. Six nouns explain the rest:
|
|
40
|
+
|
|
41
|
+
- Op - one executable unit of work, created from a goal or plan. You run it, poll it, and retrieve results.
|
|
42
|
+
- Routine - an Op on a schedule. Each scheduled execution is a Tick, and each Tick produces items you can inspect.
|
|
43
|
+
- Sink - a delivery destination such as webhook, CSV, Slack, Sheets, Airbyte, or Nango.
|
|
44
|
+
- Kernel - your workspace's persistent GTM state: campaigns, memory, connections, provider routes, and readiness gates.
|
|
45
|
+
- Brain - the learning layer over the Kernel. It extracts campaign patterns, calibrates deliverability, and seeds safer defaults.
|
|
46
|
+
- Campaign - a governed outbound object built from Kernel state and Brain learning. A Campaign Build is one execution that produces rows and artifacts.
|
|
47
|
+
|
|
48
|
+
Use Campaign Builder when you need a list now. Use the GTM Kernel when the campaign should persist, route through specific providers, and improve from feedback. Use Ops when the job is prompt-first or recurring, such as monitors, alerts, and ad-hoc pulls.
|
|
49
|
+
|
|
37
50
|
## Install
|
|
38
51
|
|
|
39
52
|
```bash
|
|
@@ -42,50 +55,41 @@ npm install -g @signaliz/cli
|
|
|
42
55
|
|
|
43
56
|
## Quick Start
|
|
44
57
|
|
|
58
|
+
The golden path, in order. Each step shows the canonical command surface; compatibility aliases still work, but the README keeps one path visible.
|
|
59
|
+
|
|
45
60
|
```bash
|
|
46
61
|
# 1. Authenticate
|
|
47
62
|
signaliz auth login
|
|
48
63
|
|
|
49
|
-
# 2.
|
|
64
|
+
# 2. Orient. This is read-only and prints one next safest move.
|
|
50
65
|
signaliz start
|
|
51
|
-
signaliz build "Build a campaign for industrial maintenance buyers" --target-count 50
|
|
52
|
-
signaliz connect
|
|
53
|
-
signaliz audit
|
|
54
|
-
signaliz prove
|
|
55
66
|
|
|
56
|
-
# 3.
|
|
57
|
-
signaliz
|
|
58
|
-
signaliz gtm
|
|
59
|
-
signaliz
|
|
60
|
-
signaliz gtm plan "Build 100 verified VP Sales leads at B2B SaaS companies" --target-count 100 --json > plan.json
|
|
61
|
-
signaliz gtm commit-plan --plan-file plan.json
|
|
62
|
-
signaliz gtm commit-plan --plan-file plan.json --write --confirm
|
|
63
|
-
signaliz gtm prepare-build <campaign_id> --build-input --json > build-args.json
|
|
64
|
-
signaliz campaign build --input-file build-args.json
|
|
65
|
-
signaliz discover --query "build a campaign with webhook delivery" --category ops
|
|
67
|
+
# 3. Plan something. Pick the surface that matches the job.
|
|
68
|
+
signaliz campaign build --prompt "VP Sales at B2B SaaS, 50-500 employees" --target-count 100 --dry-run
|
|
69
|
+
signaliz gtm plan "VP Sales at B2B SaaS, 50-500 employees" --target-count 100 --json > plan.json
|
|
70
|
+
signaliz ops plan "Build 100 verified VP Sales leads at B2B SaaS companies"
|
|
66
71
|
|
|
67
|
-
# 4.
|
|
68
|
-
signaliz
|
|
69
|
-
signaliz
|
|
70
|
-
signaliz
|
|
72
|
+
# 4. Launch only after review.
|
|
73
|
+
signaliz campaign build --prompt "VP Sales at B2B SaaS, 50-500 employees" --target-count 100 --confirm-spend --wait
|
|
74
|
+
signaliz gtm commit-plan --plan-file plan.json --confirm
|
|
75
|
+
signaliz ops create "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
76
|
+
signaliz ops run <op_id>
|
|
71
77
|
|
|
72
|
-
# 5.
|
|
73
|
-
signaliz
|
|
74
|
-
signaliz
|
|
75
|
-
signaliz
|
|
78
|
+
# 5. Check status and pull results.
|
|
79
|
+
signaliz campaign status <campaign_build_id>
|
|
80
|
+
signaliz campaign rows <campaign_build_id> --limit 100
|
|
81
|
+
signaliz ops status <op_id>
|
|
82
|
+
signaliz ops results <op_id> --limit 100 --json
|
|
76
83
|
|
|
77
|
-
# 6. Debug async execution
|
|
78
|
-
signaliz ops run-status <trigger_run_id>
|
|
79
|
-
signaliz queue --summary
|
|
80
|
-
signaliz
|
|
81
|
-
signaliz
|
|
82
|
-
signaliz tail <trigger_run_id>
|
|
83
|
-
signaliz doctor
|
|
84
|
-
signaliz readiness
|
|
85
|
-
signaliz dashboard summary
|
|
86
|
-
signaliz ops dashboard summary
|
|
84
|
+
# 6. Debug async execution when something stalls.
|
|
85
|
+
signaliz ops run-status <trigger_run_id> --watch
|
|
86
|
+
signaliz ops queue --summary
|
|
87
|
+
signaliz ops logs <trigger_run_id>
|
|
88
|
+
signaliz ops doctor
|
|
87
89
|
```
|
|
88
90
|
|
|
91
|
+
Two gates protect you. `--confirm-spend` approves spendful launches and delivery risk after reviewing an estimate. `--confirm` writes Kernel or provider-route state after a dry-run. Read-only planning and dry-runs do not spend credits or mutate state.
|
|
92
|
+
|
|
89
93
|
## Authentication
|
|
90
94
|
|
|
91
95
|
```bash
|
|
@@ -188,6 +192,8 @@ signaliz email find --company-domain stripe.com --full-name "Jane Smith"
|
|
|
188
192
|
|
|
189
193
|
## GTM Kernel
|
|
190
194
|
|
|
195
|
+
Use this path when the campaign should become durable workspace state. The plan is read-only, `commit-plan` dry-runs first, and writes require `--confirm`.
|
|
196
|
+
|
|
191
197
|
```bash
|
|
192
198
|
# Inspect the workspace Kernel context available to agents
|
|
193
199
|
signaliz gtm context
|
|
@@ -207,7 +213,7 @@ signaliz gtm plan "Find CTOs at fintech startups in NYC" \
|
|
|
207
213
|
# Save the JSON plan, then dry-run a reviewed campaign-object commit
|
|
208
214
|
signaliz gtm plan "Find CTOs at fintech startups in NYC" --target-count 100 --json > plan.json
|
|
209
215
|
signaliz gtm commit-plan --plan-file plan.json
|
|
210
|
-
signaliz gtm commit-plan --plan-file plan.json --
|
|
216
|
+
signaliz gtm commit-plan --plan-file plan.json --confirm
|
|
211
217
|
|
|
212
218
|
# List and inspect first-class GTM campaigns
|
|
213
219
|
signaliz gtm campaigns --status active
|
|
@@ -235,19 +241,12 @@ signaliz gtm activate-route --campaign-id <campaign_id> \
|
|
|
235
241
|
|
|
236
242
|
# Derive exact dry-run build input from the committed GTM campaign object
|
|
237
243
|
signaliz gtm prepare-build <campaign_id> --build-input --json > build-args.json
|
|
238
|
-
signaliz campaign build --input-file build-args.json
|
|
239
|
-
|
|
240
|
-
# Reproduce the full first-run proof path as one local receipt
|
|
241
|
-
node scripts/gtm-kernel-first-run-proof.mjs \
|
|
242
|
-
--brief "Find CTOs at fintech startups in NYC" \
|
|
243
|
-
--confirm-draft-write \
|
|
244
|
-
--out-dir /tmp/gtm-kernel-first-run-proof
|
|
244
|
+
signaliz campaign build --input-file build-args.json --confirm-spend
|
|
245
245
|
|
|
246
246
|
# Write route changes only after reviewing the dry-run
|
|
247
247
|
signaliz gtm activate-route --campaign-id <campaign_id> \
|
|
248
248
|
--provider-id instantly \
|
|
249
249
|
--layer sender \
|
|
250
|
-
--write \
|
|
251
250
|
--confirm
|
|
252
251
|
|
|
253
252
|
# Prepare feedback ingress with feedback-triggered Brain learning
|
|
@@ -369,14 +368,12 @@ email verification primitive.
|
|
|
369
368
|
## Ops Execution And Observability
|
|
370
369
|
|
|
371
370
|
Prompt-first Ops stay simple for beginners, but the CLI exposes production
|
|
372
|
-
inspection paths for operators debugging asynchronous workflows.
|
|
371
|
+
inspection paths for operators debugging asynchronous workflows. The canonical
|
|
372
|
+
surface is `signaliz ops ...`; shortcut aliases remain available for existing
|
|
373
|
+
scripts but are not needed for new work.
|
|
373
374
|
|
|
374
375
|
```bash
|
|
375
376
|
# Natural-language planning and creation
|
|
376
|
-
signaliz /plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
377
|
-
signaliz /goal "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
378
|
-
signaliz plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
379
|
-
signaliz goal "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
380
377
|
signaliz ops plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
381
378
|
signaliz ops quickstart company_research
|
|
382
379
|
signaliz ops create "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
@@ -386,53 +383,45 @@ signaliz ops run <op_id>
|
|
|
386
383
|
signaliz ops status <op_id>
|
|
387
384
|
signaliz ops results <op_id> --limit 100 --json
|
|
388
385
|
signaliz ops results <op_id> --include-failed-runs --json
|
|
389
|
-
signaliz run <op_id>
|
|
390
|
-
signaliz status <op_id>
|
|
391
|
-
signaliz results <op_id> --limit 100 --json
|
|
392
386
|
|
|
393
387
|
# Save repeatable local Ops command recipes
|
|
394
|
-
signaliz saved save daily-goal --
|
|
388
|
+
signaliz ops saved save daily-goal -- create "Build 100 verified VP Sales leads" --target-count 100
|
|
395
389
|
signaliz ops saved save daily-monitor -- plan "Monitor key accounts daily" --cadence daily --destinations slack,csv
|
|
396
|
-
signaliz saved list
|
|
397
|
-
signaliz saved run daily-monitor --json
|
|
398
|
-
signaliz saved delete daily-monitor
|
|
390
|
+
signaliz ops saved list
|
|
391
|
+
signaliz ops saved run daily-monitor --json
|
|
392
|
+
signaliz ops saved delete daily-monitor
|
|
399
393
|
|
|
400
394
|
# Inspect Trigger.dev execution state
|
|
401
395
|
signaliz ops run-status <trigger_run_id>
|
|
402
396
|
signaliz ops run-status <trigger_run_id> --watch --interval-ms 5000 --max-polls 60
|
|
403
|
-
signaliz watch <trigger_run_id>
|
|
404
397
|
signaliz ops run-status --run-ids run_a,run_b --json
|
|
405
398
|
|
|
406
399
|
# Inspect async queue depth, provider pressure, and individual jobs
|
|
407
400
|
signaliz ops queue
|
|
408
401
|
signaliz ops queue --summary
|
|
409
|
-
signaliz queue --summary
|
|
410
402
|
signaliz ops queue --job-id <api_request_queue_id>
|
|
411
403
|
signaliz ops queue --idempotency-key <key>
|
|
412
404
|
|
|
413
405
|
# Stream live run logs
|
|
414
406
|
signaliz ops logs <trigger_run_id>
|
|
415
|
-
signaliz tail <trigger_run_id>
|
|
416
407
|
signaliz ops logs <trigger_run_id> --since <event_id> --filter error
|
|
417
408
|
|
|
418
409
|
# Replay a failed execution from a captured checkpoint
|
|
419
410
|
signaliz ops replay <execution_event_id>
|
|
420
|
-
signaliz replay <execution_event_id>
|
|
421
411
|
|
|
422
412
|
# Approve or reject pending Ops approval tokens
|
|
423
|
-
signaliz approve <approval_token_id> --decision approved
|
|
424
|
-
signaliz approve --token-ids token_a,token_b --decision rejected --notes "Needs review"
|
|
413
|
+
signaliz ops approve <approval_token_id> --decision approved
|
|
414
|
+
signaliz ops approve --token-ids token_a,token_b --decision rejected --notes "Needs review"
|
|
425
415
|
|
|
426
416
|
# Inspect and manually run routines
|
|
427
|
-
signaliz routines --status active
|
|
428
|
-
signaliz routine <routine_id>
|
|
429
|
-
signaliz routine <routine_id> run --force
|
|
430
|
-
signaliz routine <routine_id> ticks --limit 20
|
|
431
|
-
signaliz routine <routine_id> items --state failed --json
|
|
417
|
+
signaliz ops routines --status active
|
|
418
|
+
signaliz ops routine <routine_id>
|
|
419
|
+
signaliz ops routine <routine_id> run --force
|
|
420
|
+
signaliz ops routine <routine_id> ticks --limit 20
|
|
421
|
+
signaliz ops routine <routine_id> items --state failed --json
|
|
432
422
|
|
|
433
423
|
# Pull operator telemetry from the Ops dashboard API
|
|
434
424
|
signaliz ops dashboard summary
|
|
435
|
-
signaliz dashboard summary
|
|
436
425
|
signaliz ops dashboard functions --time-range-days 7 --json
|
|
437
426
|
signaliz ops dashboard recent --limit 25
|
|
438
427
|
signaliz ops dashboard timeseries --granularity hour --json
|
|
@@ -453,11 +442,10 @@ signaliz tools --json
|
|
|
453
442
|
signaliz discover --query "verify emails" --json
|
|
454
443
|
signaliz lead status <job_id> --json
|
|
455
444
|
signaliz email verify jane@example.com --json
|
|
456
|
-
signaliz queue --summary --json
|
|
445
|
+
signaliz ops queue --summary --json
|
|
457
446
|
signaliz ops run-status <trigger_run_id> --json
|
|
458
|
-
signaliz replay <execution_event_id> --json
|
|
447
|
+
signaliz ops replay <execution_event_id> --json
|
|
459
448
|
signaliz ops dashboard summary --json
|
|
460
|
-
signaliz dashboard summary --json
|
|
461
449
|
```
|
|
462
450
|
|
|
463
451
|
When `campaign build --wait --json` is used, the CLI emits one valid JSON
|
|
@@ -473,5 +461,4 @@ document with both `initial` and `final` states.
|
|
|
473
461
|
|
|
474
462
|
## Config File
|
|
475
463
|
|
|
476
|
-
The CLI stores configuration in `~/.signaliz/config.json` (mode 0600). The file contains your API key
|
|
477
|
-
The CLI stores configuration in `~/.signaliz/config.json` (mode 0600). The file contains your API key, optional workspace settings, and local saved Ops command recipes created by `signaliz ops saved save`.
|
|
464
|
+
The CLI stores configuration in `~/.signaliz/config.json` (mode 0600). The file contains your API key, optional workspace context created by `signaliz auth workspace set`, and local saved Ops command recipes created by `signaliz ops saved save`. `SIGNALIZ_API_KEY` and `SIGNALIZ_WORKSPACE_ID` override saved config values for one-off execution.
|