apiblaze 0.21.52 → 0.21.53

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 (2) hide show
  1. package/dist/index.js +5 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -34,7 +34,7 @@ var __toESM = (mod, isNodeMode, target2) => (target2 = mod != null ? __create(__
34
34
  var version;
35
35
  var init_package = __esm({
36
36
  "package.json"() {
37
- version = "0.21.52";
37
+ version = "0.21.53";
38
38
  }
39
39
  });
40
40
 
@@ -18502,7 +18502,7 @@ async function runOpTest(o = {}) {
18502
18502
  for (const g of guts) {
18503
18503
  let r;
18504
18504
  try {
18505
- r = await call2({ action: "gut", id: g.id }, timeoutS);
18505
+ r = await call2({ action: "gut", id: g.id, ...o.commit ? { commit: true } : {} }, timeoutS);
18506
18506
  } catch (e) {
18507
18507
  r = { kind: "gut", id: g.id, label: g.label, ok: false, results: [], error: e instanceof Error ? e.message : String(e), duration_ms: 0 };
18508
18508
  }
@@ -18958,7 +18958,7 @@ var OP_COMMANDS = [
18958
18958
  { cmd: "op ceiling deny", blurb: "refuse a maximum-rate request; the producer is told why", extra: '<id> --note "why" (required) --json' },
18959
18959
  { cmd: "op incident status", blurb: "the degraded-mode switch: allow | deny | extend, who set it and why" },
18960
18960
  { cmd: "op incident allow|deny|extend", blurb: "dashboard-only \u2014 prints the page (reason required)" },
18961
- { cmd: "op test", blurb: "run the operator test suite against production (sandbox team only): contract specs + gut checks", extra: "--json --only <ids> --group <g> --skip-guts --guts-only --fail-fast" },
18961
+ { cmd: "op test", blurb: "run the operator test suite against production (sandbox team only): contract specs + gut checks", extra: "--json --only <ids> --group <g> --skip-guts --guts-only --fail-fast --commit" },
18962
18962
  { cmd: "op test --perf", blurb: "performance gate: fixed-rate load on a sandbox proxy, client + gateway latency vs thresholds (alias: op perf)", extra: "--rps 100 --seconds 60 --json --max-p50 --max-p95 --max-error-rate --max-gateway-p50 --max-gateway-p95 --url --key" },
18963
18963
  { cmd: "op test --consumer", blurb: "the data plane as a consumer: the stored `consumer login` token opens exactly its own proxy (401 without, 401 tampered)", extra: "--path /get --json" },
18964
18964
  { cmd: "op residue", blurb: "external-store residue report (Neon/OpenFGA) \u2014 dry run, deletes nothing" },
@@ -19069,6 +19069,7 @@ async function runOp(sub, opts = {}, view, arg) {
19069
19069
  skipGuts: !!opts.skipGuts,
19070
19070
  gutsOnly: !!opts.gutsOnly,
19071
19071
  failFast: !!opts.failFast,
19072
+ commit: !!opts.commit,
19072
19073
  timeout: typeof opts.timeout === "string" ? Number(opts.timeout) : void 0
19073
19074
  });
19074
19075
  if (!opts.only && !opts.group && !opts.gutsOnly && !opts.skipAnon) {
@@ -19676,7 +19677,7 @@ apikeys.command("list").description("List control-plane API keys in your team").
19676
19677
  apikeys.command("mint").description("Create a control-plane API key (secret shown once) \u2014 or, with --tenant, a consumer key in that tenant: a backend key (default), a client key (--client) or a person-bound key (--for)").option("--desc <text>", "Description").option("--expires-days <n>", "Expiry in days (default 90 server-side)").option("--tenant <slug>", "Mint a CONSUMER key in this tenant instead of a control-plane key").option("--backend", `Backend key (default). ${HOLDER_HELP.backend}`).option("--client", `Client key. ${HOLDER_HELP.client} Needs --tenant.`).option("--for <email|id>", "Issue this key to a named person \u2014 calls made with it count as that person, and ownership rules trust it. The Users & Groups widget's admin lane accepts only such a key, one per admin. Needs --tenant.").option("--admin", "With --for: a key that acts as that tenant admin on the IAM API (users & groups) \u2014 adds manage-access; env defaults to prod").option("--env <name>", "Environment the consumer key is valid for (with --tenant; default dev, prod with --admin)").option("--team <id|name>", "Team (defaults to active team)").option("--json", "Output machine-readable JSON").action(action((opts, cmd) => runKeyMint({ ...cmd.parent?.opts(), ...opts })));
19677
19678
  apikeys.command("revoke").description("Revoke a control-plane API key").argument("<keyId>", "Key id (see `apikeys list`)").option("--team <id|name>", "Team (defaults to active team)").action(action((keyId, opts, cmd) => runKeyRevoke(keyId, { ...cmd.parent?.opts(), ...opts })));
19678
19679
  program.addCommand(apikeys);
19679
- var op = new import_commander.Command("op").description("Operator menu (platform operators only)").argument("[action]", "latency | mark | wallet | money | ledger | incident | residue | sweep | test | anon | perf | cli-policy (omit for the menu)").argument("[view]", "for `latency`: slow | llm | compare | grades | distance \xB7 for `wallet`: list | inspect | freeze \u2026 \xB7 for `money`: exposure \xB7 for `ledger`: show | lag | quarantine | cut | backfill \xB7 for `incident`: status | allow | deny | extend \xB7 for `mark`: the change name, quoted").argument("[arg]", "for `wallet inspect` / `ledger show|cut`: the wallet id (or a team id)").option("-y, --yes", "Skip the sweep confirmation prompt").option("--json", "Output machine-readable JSON").option("--hours <n>", "Look-back window in hours (default 1)").option("--team <id>", "Filter to one team").option("--only <ids>", "for `test`: comma-separated spec/gut ids or prefixes").option("--group <name>", "for `test`: only specs whose group matches").option("--skip-guts", "for `test`: contract specs only").option("--guts-only", "for `test`: server-side gut checks only").option("--fail-fast", "for `test`: stop at the first failure").option("--skip-anon", "for `test`: skip the first-run journey (`op anon`) that runs after the suite").option("--timeout <s>", "for `test`: seconds to wait per check (default 150)").option("--perf", "for `test`: run the performance gate instead of the suite (fixed-rate load on a sandbox proxy)").option("--consumer", "for `test`: probe the data plane with the stored `consumer login` token instead of the suite").option("--path <p>", "for `test --consumer`: request path on the proxy (default /get)").option("--proxy <name@version>", "for `test --consumer`: the OAuth-door proxy to knock on (default: the sandbox proxy for a sandbox-tenant session)").option("--rps <n>", "for `test --perf`: requests per second (default 100, max 300); for `ceiling approve`: the maximum rate to grant (default: what was asked)").option("--seconds <n>", "for `test --perf`: how long to send for (default 60, max 300)").option("--url <url>", "for `test --perf`: load this fixture URL instead of provisioning one (with --key; nothing is torn down)").option("--max-p50 <ms>", "for `test --perf`: client p50 threshold (default 250)").option("--max-p95 <ms>", "for `test --perf`: client p95 threshold (default 800)").option("--max-error-rate <pct>", "for `test --perf`: error-rate threshold in percent (default 0.5)").option("--max-gateway-p50 <ms>", "for `test --perf`: apiblaze-overhead p50 threshold (default 60)").option("--max-gateway-p95 <ms>", "for `test --perf`: apiblaze-overhead p95 threshold (default 250)").option("--project <name>", "Filter to one proxy").option("--api-version <v>", "Filter to one API version").option("--tenant <name>", "Filter to one tenant").option("--route <path>", "Filter to one route").option("--environment <env>", "Filter to one environment").option("--status-class <c>", "Filter to a status class (2xx/4xx/5xx)").option("--min-ms <n>", "For `latency slow`: minimum duration (default 1000)").option("--min <version>", "for `cli-policy`: minimum CLI version (x.y.z; 0.0.0 = none)").option("--reject-unversioned", "for `cli-policy`: also refuse CLIs that send no version (released before 2026-09-27)").option("--allow-unversioned", "for `cli-policy`: stop refusing unversioned CLIs").option("--message <text>", "for `cli-policy`: message shown with the upgrade instruction").option("--reason <text>", "for `cli-policy`: why the policy changes (required for a change; recorded with it); for `ledger cut|backfill`: written to operator_audit").option("--force", "for `cli-policy`: allow a minimum above the latest published npm version (locks out every CLI until it ships)").option("--days <n>", "For `latency grades`: how many days back (default 7)").option("--threshold-ms <n>", "For `latency distance`: network ms above which distance counts as a problem (default 50)").option("--excellent <ms>", "Grade threshold: under this is excellent (default 250)").option("--okay <ms>", "Grade threshold: under this is okay (default 500)").option("--bad <ms>", "Grade threshold: under this is bad, at/over is terrible (default 1000)").option("--key <key>", "for `test --perf --url`: the fixture's API key").option("--since <date>", "for `ledger show`: start of the window; for `ledger backfill`: wallets active since (ISO date or epoch ms)").option("--kind <k>", "for `ledger show`: one entry kind only (or `flow`)").option("--limit <n>", "for `money exposure` / `ledger show|quarantine|backfill`: row / wallet cap").option("--ba <wallet>", "for `ledger quarantine`: one wallet only").option("--status <s>", "for `ceiling list`: pending (default) | decided | all").option("--note <text>", "for `ceiling approve` / `ceiling deny`: the note the producer reads (required to deny)").action(action((sub, view, arg, opts) => runOp(sub, opts, view, arg))).addHelpText("after", () => `
19680
+ var op = new import_commander.Command("op").description("Operator menu (platform operators only)").argument("[action]", "latency | mark | wallet | money | ledger | incident | residue | sweep | test | anon | perf | cli-policy (omit for the menu)").argument("[view]", "for `latency`: slow | llm | compare | grades | distance \xB7 for `wallet`: list | inspect | freeze \u2026 \xB7 for `money`: exposure \xB7 for `ledger`: show | lag | quarantine | cut | backfill \xB7 for `incident`: status | allow | deny | extend \xB7 for `mark`: the change name, quoted").argument("[arg]", "for `wallet inspect` / `ledger show|cut`: the wallet id (or a team id)").option("-y, --yes", "Skip the sweep confirmation prompt").option("--json", "Output machine-readable JSON").option("--hours <n>", "Look-back window in hours (default 1)").option("--team <id>", "Filter to one team").option("--only <ids>", "for `test`: comma-separated spec/gut ids or prefixes").option("--group <name>", "for `test`: only specs whose group matches").option("--skip-guts", "for `test`: contract specs only").option("--guts-only", "for `test`: server-side gut checks only").option("--fail-fast", "for `test`: stop at the first failure").option("--commit", "for `test --only openapi-drift --guts-only`: accept the current producer OpenAPI as the new drift baseline").option("--skip-anon", "for `test`: skip the first-run journey (`op anon`) that runs after the suite").option("--timeout <s>", "for `test`: seconds to wait per check (default 150)").option("--perf", "for `test`: run the performance gate instead of the suite (fixed-rate load on a sandbox proxy)").option("--consumer", "for `test`: probe the data plane with the stored `consumer login` token instead of the suite").option("--path <p>", "for `test --consumer`: request path on the proxy (default /get)").option("--proxy <name@version>", "for `test --consumer`: the OAuth-door proxy to knock on (default: the sandbox proxy for a sandbox-tenant session)").option("--rps <n>", "for `test --perf`: requests per second (default 100, max 300); for `ceiling approve`: the maximum rate to grant (default: what was asked)").option("--seconds <n>", "for `test --perf`: how long to send for (default 60, max 300)").option("--url <url>", "for `test --perf`: load this fixture URL instead of provisioning one (with --key; nothing is torn down)").option("--max-p50 <ms>", "for `test --perf`: client p50 threshold (default 250)").option("--max-p95 <ms>", "for `test --perf`: client p95 threshold (default 800)").option("--max-error-rate <pct>", "for `test --perf`: error-rate threshold in percent (default 0.5)").option("--max-gateway-p50 <ms>", "for `test --perf`: apiblaze-overhead p50 threshold (default 60)").option("--max-gateway-p95 <ms>", "for `test --perf`: apiblaze-overhead p95 threshold (default 250)").option("--project <name>", "Filter to one proxy").option("--api-version <v>", "Filter to one API version").option("--tenant <name>", "Filter to one tenant").option("--route <path>", "Filter to one route").option("--environment <env>", "Filter to one environment").option("--status-class <c>", "Filter to a status class (2xx/4xx/5xx)").option("--min-ms <n>", "For `latency slow`: minimum duration (default 1000)").option("--min <version>", "for `cli-policy`: minimum CLI version (x.y.z; 0.0.0 = none)").option("--reject-unversioned", "for `cli-policy`: also refuse CLIs that send no version (released before 2026-09-27)").option("--allow-unversioned", "for `cli-policy`: stop refusing unversioned CLIs").option("--message <text>", "for `cli-policy`: message shown with the upgrade instruction").option("--reason <text>", "for `cli-policy`: why the policy changes (required for a change; recorded with it); for `ledger cut|backfill`: written to operator_audit").option("--force", "for `cli-policy`: allow a minimum above the latest published npm version (locks out every CLI until it ships)").option("--days <n>", "For `latency grades`: how many days back (default 7)").option("--threshold-ms <n>", "For `latency distance`: network ms above which distance counts as a problem (default 50)").option("--excellent <ms>", "Grade threshold: under this is excellent (default 250)").option("--okay <ms>", "Grade threshold: under this is okay (default 500)").option("--bad <ms>", "Grade threshold: under this is bad, at/over is terrible (default 1000)").option("--key <key>", "for `test --perf --url`: the fixture's API key").option("--since <date>", "for `ledger show`: start of the window; for `ledger backfill`: wallets active since (ISO date or epoch ms)").option("--kind <k>", "for `ledger show`: one entry kind only (or `flow`)").option("--limit <n>", "for `money exposure` / `ledger show|quarantine|backfill`: row / wallet cap").option("--ba <wallet>", "for `ledger quarantine`: one wallet only").option("--status <s>", "for `ceiling list`: pending (default) | decided | all").option("--note <text>", "for `ceiling approve` / `ceiling deny`: the note the producer reads (required to deny)").action(action((sub, view, arg, opts) => runOp(sub, opts, view, arg))).addHelpText("after", () => `
19680
19681
  ${renderOpCommands()}
19681
19682
  `);
19682
19683
  program.addCommand(op, { hidden: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apiblaze",
3
- "version": "0.21.52",
3
+ "version": "0.21.53",
4
4
  "description": "APIblaze CLI — Chat with your APIs, Manage your API keys, users and groups with the APIblaze serverless proxy",
5
5
  "keywords": [
6
6
  "apiblaze",