@signaliz/cli 1.0.0 → 1.0.2
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 +354 -13
- package/dist/bin.js +6648 -64
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# @signaliz/cli
|
|
2
2
|
|
|
3
|
-
Command-line interface for Signaliz —
|
|
3
|
+
Command-line interface for Signaliz — build campaigns, install MCP, manage API keys.
|
|
4
|
+
|
|
5
|
+
Current CLI surfaces include GTM Kernel campaign planning/status commands,
|
|
6
|
+
provider routing for Nango-managed customer API destinations, MCP/Ops
|
|
7
|
+
observability, enrichment primitives, and live email verification at 0.02 fresh
|
|
8
|
+
enrichment credits when a new verification is needed.
|
|
9
|
+
|
|
10
|
+
Fresh enrichment throughput now allows Free 60/min, Builder 300/min, Team
|
|
11
|
+
600/min, Agency 1,000/min, and Pay-As-You-Go 1,000/min, with a 5,000/hour
|
|
12
|
+
workspace safety cap.
|
|
4
13
|
|
|
5
14
|
## Install
|
|
6
15
|
|
|
@@ -8,22 +17,354 @@ Command-line interface for Signaliz — deploy Ops, stream logs, manage API keys
|
|
|
8
17
|
npm install -g @signaliz/cli
|
|
9
18
|
```
|
|
10
19
|
|
|
11
|
-
##
|
|
20
|
+
## Quick Start
|
|
12
21
|
|
|
13
22
|
```bash
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
# 1. Authenticate
|
|
24
|
+
signaliz auth login
|
|
25
|
+
|
|
26
|
+
# 2. Check workspace/API health and discover GTM tools
|
|
27
|
+
signaliz health
|
|
28
|
+
signaliz discover --query "build a campaign with webhook delivery" --category ops
|
|
29
|
+
|
|
30
|
+
# 3. Plan and create a prompt-first Op
|
|
31
|
+
signaliz /plan "Build 100 verified VP Sales leads at B2B SaaS companies"
|
|
32
|
+
signaliz quickstart company_research
|
|
33
|
+
signaliz /goal "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
34
|
+
|
|
35
|
+
# 4. Run, poll, and retrieve results
|
|
36
|
+
signaliz run <op_id>
|
|
37
|
+
signaliz status <op_id>
|
|
38
|
+
signaliz results <op_id> --limit 100 --json
|
|
39
|
+
|
|
40
|
+
# 5. Debug async execution and queue health
|
|
41
|
+
signaliz ops run-status <trigger_run_id>
|
|
42
|
+
signaliz queue --summary
|
|
43
|
+
signaliz debug <op_id>
|
|
44
|
+
signaliz watch <trigger_run_id>
|
|
45
|
+
signaliz tail <trigger_run_id>
|
|
46
|
+
signaliz doctor
|
|
47
|
+
signaliz readiness
|
|
48
|
+
signaliz dashboard summary
|
|
49
|
+
signaliz ops dashboard summary
|
|
16
50
|
```
|
|
17
51
|
|
|
18
|
-
##
|
|
52
|
+
## Authentication
|
|
19
53
|
|
|
20
54
|
```bash
|
|
21
|
-
signaliz
|
|
22
|
-
signaliz
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
signaliz
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
55
|
+
# Interactive login (saves to ~/.signaliz/config.json)
|
|
56
|
+
signaliz auth login
|
|
57
|
+
|
|
58
|
+
# Or set key directly
|
|
59
|
+
signaliz auth set-key sk_live_...
|
|
60
|
+
|
|
61
|
+
# Or use environment variable
|
|
62
|
+
export SIGNALIZ_API_KEY=sk_live_...
|
|
63
|
+
|
|
64
|
+
# Save the active workspace context for deploy/API-key/Ops maintenance commands
|
|
65
|
+
signaliz auth workspace set <workspace_id>
|
|
66
|
+
signaliz auth workspace show
|
|
67
|
+
signaliz auth workspace clear
|
|
68
|
+
|
|
69
|
+
# Check who you are
|
|
70
|
+
signaliz whoami
|
|
71
|
+
|
|
72
|
+
# Workspace + MCP platform health
|
|
73
|
+
signaliz health
|
|
74
|
+
signaliz health --json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Discovery
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# List all MCP tools
|
|
81
|
+
signaliz tools
|
|
82
|
+
signaliz tools --json
|
|
83
|
+
|
|
84
|
+
# Filter by category
|
|
85
|
+
signaliz tools --category ops
|
|
86
|
+
|
|
87
|
+
# Find the right tool/capability by intent
|
|
88
|
+
signaliz discover --query "verify a batch of emails"
|
|
89
|
+
signaliz discover --query "create an output sink and attach it to a routine" --category ops
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Human discovery output includes safety metadata from the MCP registry: permission
|
|
93
|
+
level, destructive/idempotent/retryable hints, contract version, rate-limit key,
|
|
94
|
+
and required auth scopes. Use `--json` when agents need the full structured
|
|
95
|
+
metadata.
|
|
96
|
+
|
|
97
|
+
Quickstart/template output also shows primitive IDs and primitive graph policy
|
|
98
|
+
metadata when the backend returns it, so operators can inspect retry,
|
|
99
|
+
concurrency, and rate-limit behavior before running an Op.
|
|
100
|
+
|
|
101
|
+
## Custom AI Enrichment - Multi Model
|
|
102
|
+
|
|
103
|
+
Run OpenRouter Fusion-backed enrichment with the exact OpenRouter model ID you want. Fusion includes web search/fetch by default during analysis; the CLI intentionally does not expose a separate web-search flag.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
signaliz ai multi-model \
|
|
107
|
+
--prompt "Research {{company_name}} and score ICP fit for enterprise sales." \
|
|
108
|
+
--model google/gemini-2.5-flash \
|
|
109
|
+
--input-json '{"company_name":"Stripe","company_domain":"stripe.com"}' \
|
|
110
|
+
--output-fields fit_score:number,reasoning:text \
|
|
111
|
+
--confirm-spend
|
|
112
|
+
|
|
113
|
+
signaliz ai multi-model \
|
|
114
|
+
--prompt "Review this PDF and extract buyer pains for {{company_name}}." \
|
|
115
|
+
--model google/gemini-2.5-flash \
|
|
116
|
+
--records-file accounts.json \
|
|
117
|
+
--attachment-fields pdf_url \
|
|
118
|
+
--output-fields pains:array,next_step:text \
|
|
119
|
+
--confirm-spend
|
|
29
120
|
```
|
|
121
|
+
|
|
122
|
+
## Lead Generation And Email
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Preview spend approval requirements. This returns APPROVAL_REQUIRED.
|
|
126
|
+
signaliz lead generate \
|
|
127
|
+
--prompt "VP Sales at B2B SaaS companies, 50-500 employees" \
|
|
128
|
+
--max-leads 100
|
|
129
|
+
|
|
130
|
+
# Launch after reviewing estimated credits
|
|
131
|
+
signaliz lead generate \
|
|
132
|
+
--prompt "VP Sales at B2B SaaS companies, 50-500 employees" \
|
|
133
|
+
--max-leads 100 \
|
|
134
|
+
--confirm-spend
|
|
135
|
+
|
|
136
|
+
# Local-business lead generation
|
|
137
|
+
signaliz lead local \
|
|
138
|
+
--prompt "dentists in Phoenix, AZ" \
|
|
139
|
+
--target-verified 50 \
|
|
140
|
+
--confirm-spend
|
|
141
|
+
|
|
142
|
+
# Poll async lead jobs
|
|
143
|
+
signaliz lead status <job_id>
|
|
144
|
+
|
|
145
|
+
# Verify or find emails
|
|
146
|
+
signaliz email verify jane@example.com
|
|
147
|
+
signaliz email verify-batch --emails jane@example.com,sam@example.com
|
|
148
|
+
signaliz email status <job_id>
|
|
149
|
+
signaliz email find --company-domain stripe.com --full-name "Jane Smith"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Campaign Builder
|
|
153
|
+
|
|
154
|
+
### Build a campaign
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Minimal — just a prompt
|
|
158
|
+
signaliz campaign build --prompt "Find CTOs at fintech startups in NYC"
|
|
159
|
+
|
|
160
|
+
# Full options
|
|
161
|
+
signaliz campaign build \
|
|
162
|
+
--prompt "VP Engineering at Series B+ companies" \
|
|
163
|
+
--target-count 5000 \
|
|
164
|
+
--confirm-spend \
|
|
165
|
+
--outputs csv \
|
|
166
|
+
--industries "SaaS,Fintech" \
|
|
167
|
+
--geographies "US,UK" \
|
|
168
|
+
--wait \
|
|
169
|
+
--json
|
|
170
|
+
|
|
171
|
+
# With webhook delivery
|
|
172
|
+
signaliz campaign build \
|
|
173
|
+
--prompt "Sales Directors at healthcare companies" \
|
|
174
|
+
--target-count 200 \
|
|
175
|
+
--confirm-spend \
|
|
176
|
+
--webhook-url https://hooks.example.com/leads \
|
|
177
|
+
--hmac-secret-ref WEBHOOK_SECRET
|
|
178
|
+
|
|
179
|
+
# Validate and inspect the plan before launching spendful work
|
|
180
|
+
signaliz campaign build \
|
|
181
|
+
--prompt "CTOs at fintech startups in NYC" \
|
|
182
|
+
--target-count 10000 \
|
|
183
|
+
--dry-run \
|
|
184
|
+
--allow-downscale \
|
|
185
|
+
--json
|
|
186
|
+
|
|
187
|
+
# Approve a pending webhook delivery
|
|
188
|
+
signaliz campaign approve <campaign_build_id> \
|
|
189
|
+
--destination-type webhook \
|
|
190
|
+
--webhook-url https://hooks.example.com/leads
|
|
191
|
+
|
|
192
|
+
# From a JSON config file
|
|
193
|
+
signaliz campaign build --input-file campaign.json --wait
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Check status
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
signaliz campaign status <campaign_build_id>
|
|
200
|
+
signaliz campaign status <campaign_build_id> --json
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Retrieve rows
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# First page (50 rows default)
|
|
207
|
+
signaliz campaign rows <campaign_build_id>
|
|
208
|
+
|
|
209
|
+
# Custom page size
|
|
210
|
+
signaliz campaign rows <campaign_build_id> --limit 200
|
|
211
|
+
|
|
212
|
+
# Paginate with cursor
|
|
213
|
+
signaliz campaign rows <campaign_build_id> --limit 100 --cursor <next_cursor>
|
|
214
|
+
|
|
215
|
+
# Dump all rows (caution: large datasets)
|
|
216
|
+
signaliz campaign rows <campaign_build_id> --all --json
|
|
217
|
+
|
|
218
|
+
# Filter by segment
|
|
219
|
+
signaliz campaign rows <campaign_build_id> --segment signal
|
|
220
|
+
|
|
221
|
+
# Filter by qualification or row status
|
|
222
|
+
signaliz campaign rows <campaign_build_id> --qualified
|
|
223
|
+
signaliz campaign rows <campaign_build_id> --row-status succeeded
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### List artifacts
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
signaliz campaign artifacts <campaign_build_id>
|
|
230
|
+
signaliz campaign artifacts <campaign_build_id> --json
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Cancel a build
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
signaliz campaign cancel <campaign_build_id>
|
|
237
|
+
signaliz campaign cancel <campaign_build_id> --reason "Wrong ICP"
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## MCP Server Installation
|
|
241
|
+
|
|
242
|
+
Install the Signaliz MCP server for your AI agent:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Claude Code
|
|
246
|
+
signaliz mcp install --agent claude-code
|
|
247
|
+
|
|
248
|
+
# OpenAI Codex
|
|
249
|
+
signaliz mcp install --agent codex
|
|
250
|
+
|
|
251
|
+
# Manus
|
|
252
|
+
signaliz mcp install --agent manus
|
|
253
|
+
|
|
254
|
+
# Generic (prints config JSON to stdout)
|
|
255
|
+
signaliz mcp install --agent generic
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Installed agents can call Signaliz MCP tools for GTM Kernel reads, Campaign
|
|
259
|
+
Builder execution, Nango-aware provider route activation, and the 100-record
|
|
260
|
+
email verification primitive.
|
|
261
|
+
|
|
262
|
+
## Ops Execution And Observability
|
|
263
|
+
|
|
264
|
+
Prompt-first Ops stay simple for beginners, but the CLI exposes production
|
|
265
|
+
inspection paths for operators debugging asynchronous workflows.
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# Natural-language planning and creation
|
|
269
|
+
signaliz /plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
270
|
+
signaliz /goal "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
271
|
+
signaliz plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
272
|
+
signaliz goal "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
273
|
+
signaliz ops plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
274
|
+
signaliz ops quickstart company_research
|
|
275
|
+
signaliz ops create "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
276
|
+
|
|
277
|
+
# Execute and inspect Op-level results
|
|
278
|
+
signaliz ops run <op_id>
|
|
279
|
+
signaliz ops status <op_id>
|
|
280
|
+
signaliz ops results <op_id> --limit 100 --json
|
|
281
|
+
signaliz ops results <op_id> --include-failed-runs --json
|
|
282
|
+
signaliz run <op_id>
|
|
283
|
+
signaliz status <op_id>
|
|
284
|
+
signaliz results <op_id> --limit 100 --json
|
|
285
|
+
|
|
286
|
+
# Save repeatable local Ops command recipes
|
|
287
|
+
signaliz saved save daily-goal -- /goal "Build 100 verified VP Sales leads" --target-count 100
|
|
288
|
+
signaliz ops saved save daily-monitor -- plan "Monitor key accounts daily" --cadence daily --destinations slack,csv
|
|
289
|
+
signaliz saved list
|
|
290
|
+
signaliz saved run daily-monitor --json
|
|
291
|
+
signaliz saved delete daily-monitor
|
|
292
|
+
|
|
293
|
+
# Inspect Trigger.dev execution state
|
|
294
|
+
signaliz ops run-status <trigger_run_id>
|
|
295
|
+
signaliz ops run-status <trigger_run_id> --watch --interval-ms 5000 --max-polls 60
|
|
296
|
+
signaliz watch <trigger_run_id>
|
|
297
|
+
signaliz ops run-status --run-ids run_a,run_b --json
|
|
298
|
+
|
|
299
|
+
# Inspect async queue depth, provider pressure, and individual jobs
|
|
300
|
+
signaliz ops queue
|
|
301
|
+
signaliz ops queue --summary
|
|
302
|
+
signaliz queue --summary
|
|
303
|
+
signaliz ops queue --job-id <api_request_queue_id>
|
|
304
|
+
signaliz ops queue --idempotency-key <key>
|
|
305
|
+
|
|
306
|
+
# Stream live run logs
|
|
307
|
+
signaliz ops logs <trigger_run_id>
|
|
308
|
+
signaliz tail <trigger_run_id>
|
|
309
|
+
signaliz ops logs <trigger_run_id> --since <event_id> --filter error
|
|
310
|
+
|
|
311
|
+
# Replay a failed execution from a captured checkpoint
|
|
312
|
+
signaliz ops replay <execution_event_id>
|
|
313
|
+
signaliz replay <execution_event_id>
|
|
314
|
+
|
|
315
|
+
# Approve or reject pending Ops approval tokens
|
|
316
|
+
signaliz approve <approval_token_id> --decision approved
|
|
317
|
+
signaliz approve --token-ids token_a,token_b --decision rejected --notes "Needs review"
|
|
318
|
+
|
|
319
|
+
# Inspect and manually run routines
|
|
320
|
+
signaliz routines --status active
|
|
321
|
+
signaliz routine <routine_id>
|
|
322
|
+
signaliz routine <routine_id> run --force
|
|
323
|
+
signaliz routine <routine_id> ticks --limit 20
|
|
324
|
+
signaliz routine <routine_id> items --state failed --json
|
|
325
|
+
|
|
326
|
+
# Pull operator telemetry from the Ops dashboard API
|
|
327
|
+
signaliz ops dashboard summary
|
|
328
|
+
signaliz dashboard summary
|
|
329
|
+
signaliz ops dashboard functions --time-range-days 7 --json
|
|
330
|
+
signaliz ops dashboard recent --limit 25
|
|
331
|
+
signaliz ops dashboard timeseries --granularity hour --json
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
## Machine-Readable Output
|
|
335
|
+
|
|
336
|
+
All commands support `--json` for structured JSON output using the standard MCP response envelope:
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
signaliz campaign build --prompt "..." --json
|
|
340
|
+
signaliz campaign build --prompt "..." --wait --json
|
|
341
|
+
signaliz campaign status <id> --json
|
|
342
|
+
signaliz campaign rows <id> --limit 100 --json
|
|
343
|
+
signaliz whoami --json
|
|
344
|
+
signaliz health --json
|
|
345
|
+
signaliz tools --json
|
|
346
|
+
signaliz discover --query "verify emails" --json
|
|
347
|
+
signaliz lead status <job_id> --json
|
|
348
|
+
signaliz email verify jane@example.com --json
|
|
349
|
+
signaliz queue --summary --json
|
|
350
|
+
signaliz ops run-status <trigger_run_id> --json
|
|
351
|
+
signaliz replay <execution_event_id> --json
|
|
352
|
+
signaliz ops dashboard summary --json
|
|
353
|
+
signaliz dashboard summary --json
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
When `campaign build --wait --json` is used, the CLI emits one valid JSON
|
|
357
|
+
document with both `initial` and `final` states.
|
|
358
|
+
|
|
359
|
+
## Environment Variables
|
|
360
|
+
|
|
361
|
+
| Variable | Description |
|
|
362
|
+
|---|---|
|
|
363
|
+
| `SIGNALIZ_API_KEY` | API key (overrides saved config) |
|
|
364
|
+
| `SIGNALIZ_API_URL` | Override base URL. Both `https://api.signaliz.com` and `https://api.signaliz.com/functions/v1` are accepted. |
|
|
365
|
+
| `SIGNALIZ_WORKSPACE_ID` | Workspace UUID for keys/deploy |
|
|
366
|
+
|
|
367
|
+
## Config File
|
|
368
|
+
|
|
369
|
+
The CLI stores configuration in `~/.signaliz/config.json` (mode 0600). The file contains your API key and optional workspace context created by `signaliz auth workspace set`. `SIGNALIZ_API_KEY` and `SIGNALIZ_WORKSPACE_ID` override saved config values for one-off execution.
|
|
370
|
+
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`.
|