@signaliz/cli 1.0.86 → 1.0.88

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.
Files changed (3) hide show
  1. package/README.md +7 -3
  2. package/dist/bin.js +57 -1
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -206,6 +206,7 @@ automation. All context is bounded and all provider actions remain gated:
206
206
  ```bash
207
207
  signaliz campaign-os clients --status active --json
208
208
  signaliz campaign-os context --client-id <uuid> --json
209
+ signaliz campaign-os provider-runtime --client-id <uuid> --provider clay --json
209
210
  signaliz campaign-os draft --client-id <uuid> --name "Launch intent" \
210
211
  --lane realtime --agent codex --idempotency-key launch-draft-v1 --json
211
212
  signaliz campaign-os request --client-id <uuid> --campaign-id <uuid> \
@@ -213,6 +214,9 @@ signaliz campaign-os request --client-id <uuid> --campaign-id <uuid> \
213
214
  signaliz campaign-os receipts --client-id <uuid> --json
214
215
  ```
215
216
 
216
- `draft` creates only a locked Signaliz campaign object. `request` creates only
217
- an auditable review request. Neither command loads leads, activates a provider
218
- campaign, or sends email.
217
+ `provider-runtime` explains the safe Clay or Instantly route, adapter source,
218
+ approval boundaries, and receipt semantics without returning credentials or
219
+ calling the provider. `draft` creates only a locked Signaliz campaign object.
220
+ `request` creates only an auditable review request. None of these commands
221
+ loads leads, activates a provider campaign, spends Clay allowance, or sends
222
+ email.
package/dist/bin.js CHANGED
@@ -58,6 +58,8 @@ Product commands:
58
58
  signaliz builds download --run-id <uuid> --out results.csv
59
59
  signaliz campaign-os clients [--status active] [--query signaliz] [--limit 100]
60
60
  signaliz campaign-os context --client-id <uuid> [--source-limit 50]
61
+ signaliz campaign-os knowledge --query "cache first" [--client-id <uuid>] [--record-kind campaign_playbook] [--limit 15]
62
+ signaliz campaign-os provider-runtime --client-id <uuid> --provider clay|instantly
61
63
  signaliz campaign-os draft --client-id <uuid> --name "Campaign" [--objective "..."] [--lane one_time|always_on|realtime] [--audience-binding-id <uuid>] [--agent codex]
62
64
  signaliz campaign-os request --client-id <uuid> [--campaign-id <uuid>] --agent codex --action build_campaign --instructions "..." [--idempotency-key <key>]
63
65
  signaliz campaign-os receipts [--client-id <uuid>] [--campaign-id <uuid>] [--limit 50]
@@ -2137,6 +2139,60 @@ async function campaignOs(args) {
2137
2139
  });
2138
2140
  return;
2139
2141
  }
2142
+ if (action === "knowledge") {
2143
+ const query = flag("query");
2144
+ if (!query || query.length < 2) {
2145
+ throw new CliInputError('signaliz campaign-os knowledge requires --query "campaign method"');
2146
+ }
2147
+ const limit = numberFlag("limit") ?? 15;
2148
+ requireIntegerInRange(limit, "--limit", 1, 50);
2149
+ const allowedKinds = [
2150
+ "client_brain",
2151
+ "campaign_register",
2152
+ "campaign_learning",
2153
+ "campaign_methodology",
2154
+ "campaign_genome",
2155
+ "campaign_playbook",
2156
+ "knowledge_inventory"
2157
+ ];
2158
+ const recordKind = flag("record-kind");
2159
+ if (recordKind && !allowedKinds.includes(recordKind)) {
2160
+ throw new CliInputError(`--record-kind must be one of: ${allowedKinds.join(", ")}`);
2161
+ }
2162
+ const result = await client.searchCampaignOsKnowledge({
2163
+ query,
2164
+ clientId: flag("client-id"),
2165
+ recordKind,
2166
+ limit
2167
+ });
2168
+ output(result, () => {
2169
+ process.stdout.write(`Campaign memory results: ${result.total_returned}
2170
+ `);
2171
+ for (const item of result.results) {
2172
+ process.stdout.write(`- ${String(item.title || "Untitled")} \xB7 ${String(item.client_slug || "unknown")} \xB7 ${String(item.record_kind || "knowledge")}
2173
+ `);
2174
+ }
2175
+ process.stdout.write("Results are bounded excerpts from the immutable current CMM snapshot.\n");
2176
+ });
2177
+ return;
2178
+ }
2179
+ if (action === "provider-runtime") {
2180
+ const clientId = flag("client-id");
2181
+ const provider = flag("provider");
2182
+ if (!clientId || !provider) {
2183
+ throw new CliInputError("signaliz campaign-os provider-runtime requires --client-id <uuid> --provider clay|instantly");
2184
+ }
2185
+ if (!["clay", "instantly"].includes(provider)) {
2186
+ throw new CliInputError("--provider must be clay or instantly");
2187
+ }
2188
+ const result = await client.getCampaignOsProviderRuntime(clientId, provider);
2189
+ output(result, () => {
2190
+ process.stdout.write(`${provider === "clay" ? "Clay" : "Instantly"} runtime for ${result.client.name}: ${result.connected ? "connected" : "not connected"}
2191
+ `);
2192
+ process.stdout.write("Provider secrets were not returned and no provider call, spend, or mutation started.\n");
2193
+ });
2194
+ return;
2195
+ }
2140
2196
  if (action === "draft") {
2141
2197
  const clientId = flag("client-id");
2142
2198
  const name = flag("name");
@@ -2209,7 +2265,7 @@ async function campaignOs(args) {
2209
2265
  });
2210
2266
  return;
2211
2267
  }
2212
- throw new CliInputError("Usage: signaliz campaign-os clients|context|draft|request|receipts");
2268
+ throw new CliInputError("Usage: signaliz campaign-os clients|context|knowledge|provider-runtime|draft|request|receipts");
2213
2269
  }
2214
2270
  async function main() {
2215
2271
  const [, , command, ...args] = process.argv;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signaliz/cli",
3
- "version": "1.0.86",
3
+ "version": "1.0.88",
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.90"
33
+ "@signaliz/sdk": "^1.0.92"
34
34
  },
35
35
  "devDependencies": {
36
36
  "tsup": "^8.0.0",