@shield-agent/kya 0.21.0 → 0.22.0

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 (41) hide show
  1. package/.mcp.json +1 -1
  2. package/LIMITATIONS.md +1 -0
  3. package/README.md +23 -6
  4. package/amp/settings.example.json +1 -1
  5. package/claude/claude_desktop_config.example.json +1 -1
  6. package/cline/cline_mcp_settings.example.json +1 -1
  7. package/copilot/mcp-config.example.json +1 -1
  8. package/dist/cli.d.ts +2 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +63 -23
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/gate-serve.d.ts.map +1 -1
  13. package/dist/commands/gate-serve.js +16 -2
  14. package/dist/commands/gate-serve.js.map +1 -1
  15. package/dist/commands/receipt.d.ts +5 -2
  16. package/dist/commands/receipt.d.ts.map +1 -1
  17. package/dist/commands/receipt.js +7 -4
  18. package/dist/commands/receipt.js.map +1 -1
  19. package/dist/receipt/share.d.ts +19 -0
  20. package/dist/receipt/share.d.ts.map +1 -1
  21. package/dist/receipt/share.js +65 -2
  22. package/dist/receipt/share.js.map +1 -1
  23. package/dist/telemetry.d.ts +135 -0
  24. package/dist/telemetry.d.ts.map +1 -0
  25. package/dist/telemetry.js +427 -0
  26. package/dist/telemetry.js.map +1 -0
  27. package/droid/README.md +1 -1
  28. package/droid/mcp.example.json +1 -1
  29. package/gemini/settings.example.json +1 -1
  30. package/grok/README.md +1 -1
  31. package/kilo/kilo.example.json +1 -1
  32. package/kimi/mcp.example.json +1 -1
  33. package/kiro/mcp.example.json +1 -1
  34. package/manifest.json +1 -1
  35. package/mastracode/mcp.example.json +1 -1
  36. package/mcp.json +1 -1
  37. package/openai/codex.config.example.toml +1 -1
  38. package/opencode/opencode.example.json +1 -1
  39. package/package.json +3 -2
  40. package/qwen/settings.example.json +1 -1
  41. package/server.json +2 -2
package/.mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.22.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/LIMITATIONS.md CHANGED
@@ -21,6 +21,7 @@
21
21
  - Use OPA if you need a general policy language. On hosted, OPA is an optional PDP (Rego allowlists under `infra/podman/opa/packs/`) that may only further DENY on evaluate and invoke; Shield stays the PEP. Fail-closed when enabled and unreachable. Per-merchant package path + packId map ship; hosted IdP group→tool maps fail-closed without verified groups; `kya.policy.evaluated` SIEM webhook on evaluate. Agent OIDC assertion is a fail-closed stub until JWKS. Not inside this npm package.
22
22
  - Multi-tenant density, private registries, ORR board ops, pin, and support are separate from the solo `npx` path.
23
23
  - Growth counts are observe metrics (principals, evaluates, approvals).
24
+ - Anonymous usage stats (`kya telemetry`) are opt-in and off by default: asked once on a terminal, never in CI or `--json`. The long-running gate, report and gateway processes send a heartbeat. `kya hook` never touches the network itself; it starts a detached helper at most once a day that sends a single `ping`, so hook-only installs count as active but never as live sessions. See `docs/telemetry.md`.
24
25
  - OTLP metrics are opt-in and off by default. OSS CLI is thin (evaluate latency only). Hosted is richer Micrometer export. Neither path is a policy decision. See `docs/otlp.md`.
25
26
 
26
27
  - Showback USD is an estimate from a checked-in published rate table. Unknown models report tokens only. ORR / metrics never ALLOW, DENY, or kill on spend.
package/README.md CHANGED
@@ -84,7 +84,7 @@ Hosts without a `connect` target still work: `kya wrap --offline -- <agent comma
84
84
 
85
85
  ## Hook interception
86
86
 
87
- `kya start` also wires a `PreToolUse` hook into every installed hook-capable host it detects: Claude Code (`~/.claude/settings.json`, merge-only), Grok (`~/.grok/hooks/shield-kya.json`, kya-managed file), and Kimi Code (`~/.kimi-code/config.toml`, `[[hooks]]` append). Every tool call the agent makes then passes through `kya hook` first: evaluated locally (offline, sub-second, no network) and recorded on the global trail.
87
+ `kya start` also wires a `PreToolUse` hook into every installed hook-capable host it detects: Claude Code (`~/.claude/settings.json`, merge-only), Grok (`~/.grok/hooks/shield-kya.json`, kya-managed file), and Kimi Code (`~/.kimi-code/config.toml`, `[[hooks]]` append). Every tool call the agent makes then passes through `kya hook` first: evaluated locally (offline, sub-second, no network) and recorded on the global trail. (If you opted in to anonymous usage stats, the hook also starts a detached helper at most once a day; see [Anonymous usage stats](#anonymous-usage-stats-opt-in-off-by-default).)
88
88
 
89
89
  Decision mapping: a local never-list **DENY** blocks the tool call (exit `2` plus `hookSpecificOutput` deny JSON with `permissionDecision: "deny"`). **ALLOW** and **REQUIRE_APPROVE** are recorded on the trail as advisory and the call proceeds. Manual wiring can pass `--strict` on the hook command to also block **REQUIRE_APPROVE**.
90
90
 
@@ -111,7 +111,7 @@ kya connect claude --gate # point the host at the gateway (server key shield-k
111
111
  kya gate doctor # binary, config, listener health, loopback-only posture
112
112
  ```
113
113
 
114
- `kya gate stop` stops the supervisor and the binary with it. Honest notes: `kya gate setup` (and `kya start`'s auto-bootstrap, only when it found servers to govern) downloads the pinned gateway binary from our releases — nothing else fetches anything; `run` never downloads. Observe mode means allowed calls are recorded, not blocked — the deny set above is the only hard stop, and plane enforcement stays with `kya.policy_evaluate`. `kya connect <host> --gate` covers the same hosts as plain `connect` — grok gets a `[mcp_servers.shield-kya-gate]` url table in its config.toml (Grok supports remote MCP servers over HTTP). Per-server tiers and recipes: [docs/mcp-servers.md](docs/mcp-servers.md).
114
+ `kya gate stop` stops the supervisor and the binary with it. Honest notes: `kya gate setup` (and `kya start`'s auto-bootstrap, only when it found servers to govern) downloads the pinned gateway binary from our releases — nothing else downloads anything (the only other network use is the opt-in anonymous usage stats in [docs/telemetry.md](docs/telemetry.md), off unless you say yes); `run` never downloads. Observe mode means allowed calls are recorded, not blocked — the deny set above is the only hard stop, and plane enforcement stays with `kya.policy_evaluate`. `kya connect <host> --gate` covers the same hosts as plain `connect` — grok gets a `[mcp_servers.shield-kya-gate]` url table in its config.toml (Grok supports remote MCP servers over HTTP). Per-server tiers and recipes: [docs/mcp-servers.md](docs/mcp-servers.md).
115
115
 
116
116
  ## Longer path (optional)
117
117
 
@@ -138,6 +138,8 @@ The report itself is a dashboard: a hero row on top (live **Certify** result, ve
138
138
 
139
139
  `kya receipt --share` publishes a **redacted summary** of the current window (aggregate verdict counts, product and reason-code rollups, and the Certify status — no paths, no tool arguments, no session IDs) to shield-agent.com and prints a public URL (`/r/<id>`, expires after 7 days) anyone can open — every shared page carries the one-line install so readers can audit their own agents. Point it at a different collector with `--share-url <base>` or `KYA_SHARE_URL`.
140
140
 
141
+ Sharing is a single attempt by design (storm-proof: no silent retries against the collector); `--share-retries <n>` (max 3) opts into bounded retries on 429/5xx/network failures with exponential backoff + jitter, honoring the server's `Retry-After`.
142
+
141
143
  ### Natural-language search
142
144
 
143
145
  The **Activity** search box understands plain English. It runs a hybrid of BM25 over tool IDs, summaries, reason codes, projects, and MCP server labels, plus optional local MiniLM semantic reranking. You can type things like `failed stripe transfers`, `files written by grok`, or `approval required production` — stopwords and stemming are handled automatically, and the same search works across the global trail.
@@ -177,6 +179,8 @@ Tag sessions with `KYA_HOST=ide` or `KYA_HOST=runtime`. Same policy path either
177
179
  | `KYA_RECEIPT_AUTO` | No | `0` disables auto-open receipt after wrap; `1` forces |
178
180
  | `KYA_SEARCH_SEMANTIC` | No | `off` disables MiniLM semantic reranking (BM25 still works) |
179
181
  | `KYA_SHARE_URL` | No | `kya receipt --share` collector base (default `https://shield-agent.com`) |
182
+ | `KYA_TELEMETRY` | No | `0`/`off` forces anonymous usage stats off ([docs/telemetry.md](docs/telemetry.md)); they are off unless you opted in |
183
+ | `DO_NOT_TRACK` | No | `1` forces anonymous usage stats off, same as `KYA_TELEMETRY=0` |
180
184
 
181
185
  Gate mode can also be pinned in the project's `.kya/config.json`:
182
186
  `{"gateMode": "hold"}` or `{"gateMode": "offline"}` (exact values only —
@@ -200,7 +204,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
200
204
  "mcpServers": {
201
205
  "shield-kya": {
202
206
  "command": "npx",
203
- "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
207
+ "args": ["--no-install", "@shield-agent/kya@0.22.0", "serve-mcp", "--stdio"],
204
208
  "env": {
205
209
  "KYA_BASE_URL": "http://127.0.0.1:8090",
206
210
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -240,7 +244,7 @@ Offline evaluate by default (no network, no hosted plane); an explicit config ho
240
244
 
241
245
  ```bash
242
246
  # Prefer a preinstalled package (no registry auto-install):
243
- npx --no-install @shield-agent/kya@0.21.0 serve-mcp --stdio
247
+ npx --no-install @shield-agent/kya@0.22.0 serve-mcp --stdio
244
248
  # Or after npm i -g / local install:
245
249
  kya serve-mcp --stdio
246
250
  ```
@@ -251,7 +255,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
251
255
 
252
256
  ## OpenAI (Codex / Responses)
253
257
 
254
- **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.21.0 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
258
+ **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.22.0 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
255
259
 
256
260
  **Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
257
261
 
@@ -317,7 +321,7 @@ Certify is **evidence-only**. It never ALLOWs, DENYs, or blocks anything — the
317
321
 
318
322
  `--sign` emits `evidence-bundle.json`: canonical JSON, ed25519-signed by a locally generated key (`~/.kya/keys/evidence-ed25519.json`, mode 0600, auto-created on first use). Each `--sign` run prints the signing key fingerprint; when the key was just created the CLI notes that key continuity resets there (earlier bundles stay verifiable only under the old pubkey). A self-signed developer key proves bundle **integrity** and **continuity of a key** — **not identity**. Identity binding and the verified badge are the hosted verification product (separate). The bundle format is open and documented in `docs/certify.md`; anyone can verify a bundle offline with the embedded pubkey.
319
323
 
320
- Everything here is local, free, and offline: no account, no network calls, no license check. The catalog is MIT-licensed and PRs are welcome.
324
+ `kya certify` is local, free, and offline: no account, no network calls, no license check (it never sends usage stats). The catalog is MIT-licensed and PRs are welcome.
321
325
 
322
326
  ## Optional sandbox wrap (Firecracker)
323
327
 
@@ -354,12 +358,25 @@ pnpm build
354
358
  - [Per-host recipes (23 hosts)](docs/hosts/)
355
359
  - [Top-20 MCP server support matrix (taxonomy + gate recipes)](docs/mcp-servers.md)
356
360
  - [OTLP metrics (OSS + hosted)](docs/otlp.md)
361
+ - [Anonymous usage stats (opt-in): what is sent, controls, retention](docs/telemetry.md)
357
362
  - [OWASP MCP governance map](docs/owasp-mcp-governance.md)
358
363
  - [kya certify — Agent Trust Baseline gap reports](docs/certify.md)
359
364
  - [SDK & framework integrations (in-process shims)](docs/sdk-integrations.md)
360
365
  - [Hosted operator SSO / SCIM (not in OSS CLI)](docs/hosted-operator-sso.md)
361
366
  - See also `LIMITATIONS.md` in this repo
362
367
 
368
+ ## Anonymous usage stats (opt-in, off by default)
369
+
370
+ The first time you run `kya start`, `kya init` or `kya connect` in a terminal, KYA asks once whether to share anonymous usage stats (`[y/N]`, the default is No). Only an explicit `y` or `yes` turns it on. Nothing is sent in CI, in non-interactive runs, with `--json`, or when `DO_NOT_TRACK=1` / `KYA_TELEMETRY=0` is set. `kya hook` itself never touches the network; when you opted in it starts a detached helper at most once a day that sends one `ping`, so hook-only installs still count as active.
371
+
372
+ ```bash
373
+ kya telemetry show # the exact payload, field by field
374
+ kya telemetry status # on / off / not asked, and what overrides it
375
+ kya telemetry off --purge # turn off and erase what the server holds for this install
376
+ ```
377
+
378
+ Full details, the payload, retention and how to self-host the endpoint: [docs/telemetry.md](docs/telemetry.md).
379
+
363
380
  ## OTLP (optional)
364
381
 
365
382
  Opt-in. Default off.
@@ -2,7 +2,7 @@
2
2
  "amp.mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.22.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.22.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.22.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.21.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.22.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/dist/cli.d.ts CHANGED
@@ -14,6 +14,8 @@ export interface CliIo {
14
14
  /** TTY detection + confirm are injectable for tests (node-upgrade gate). */
15
15
  readonly isTty?: boolean;
16
16
  readonly confirm?: (question: string) => Promise<boolean>;
17
+ /** Raw-answer prompt seam for the telemetry consent question (default: readline on stdin/stderr). */
18
+ readonly ask?: (question: string) => Promise<string>;
17
19
  }
18
20
  /** Testable entry — does not call process.exit when custom io.exit is provided that throws. */
19
21
  export declare function runCli(argv: readonly string[], io?: CliIo, env?: NodeJS.ProcessEnv, cwd?: string): Promise<number>;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA8LH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAQD,+FAA+F;AAC/F,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAAiB,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA6lBjB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAuMH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,qGAAqG;IACrG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAQD,+FAA+F;AAC/F,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAAiB,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAioBjB"}
package/dist/cli.js CHANGED
@@ -37,6 +37,7 @@ import { formatGateDoctorHuman, gateMcpUrl, gateSubcommand, runGateDoctor, runGa
37
37
  import { triggerHostedSyncFromEnv } from "./gate/hosted-sync.js";
38
38
  import { runGateServe } from "./commands/gate-serve.js";
39
39
  import { ensureSupportedNode } from "./node-upgrade.js";
40
+ import { maybePromptConsent, maybeSpawnHookPing, runTelemetryCommand, startSessionBeacon, } from "./telemetry.js";
40
41
  const HELP = `Shield KYA light CLI — Know Your Agent (provider-agnostic)
41
42
 
42
43
  Usage:
@@ -76,6 +77,8 @@ Commands:
76
77
  sessions List observed sessions
77
78
  shrink Drop session clearance (--id --to BUILD|READ|DEPLOY)
78
79
  serve-mcp Local MCP gate (HTTP default; --stdio for hosts)
80
+ telemetry Opt-in anonymous usage stats, OFF by default
81
+ (status | on | off [--purge] | show | reset) — see docs/telemetry.md
79
82
  orr run Read-only ORR board (reporting only — not a second PEP)
80
83
  Optional: --producer harness.agentshield [--agentshield-json <file>]
81
84
  dash Terminal desk (FREE panes; actions on a TTY, --once for CI)
@@ -99,6 +102,7 @@ Options (shared):
99
102
  --q <query> receipt: pre-fill the activity-feed search
100
103
  --share receipt: publish a redacted summary, print the public URL
101
104
  --share-url <url> receipt: share endpoint base (or KYA_SHARE_URL; default https://shield-agent.com)
105
+ --share-retries <n> receipt: retry --share on 429/5xx/network with backoff (max 3; default 0 = single attempt)
102
106
  --once dash: print one frame and exit (CI / pipes)
103
107
  --window <n> certify: report window in days (default 30)
104
108
  --fail-on <m> certify: gap (default, exit 1 on gaps) | never
@@ -166,6 +170,8 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
166
170
  const force = parsed.flags["force"] === true || parsed.flags["force"] === "true";
167
171
  const noOpen = parsed.flags["no-open"] === true || parsed.flags["no-open"] === "true";
168
172
  const noGate = parsed.flags["no-gate"] === true || parsed.flags["no-gate"] === "true";
173
+ if (!config.json)
174
+ await maybePromptConsent(io, env);
169
175
  const result = await runStart(config, { force, open: !noOpen, gate: !noGate });
170
176
  if (config.json) {
171
177
  io.log(JSON.stringify(result, null, 2));
@@ -198,10 +204,16 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
198
204
  offline: true,
199
205
  });
200
206
  const input = receiptInputFromArgs(parsed);
201
- await runReceiptServe(config, {
202
- days: input.days ?? 3,
203
- sessionId: input.sessionId,
204
- });
207
+ const beacon = startSessionBeacon("report", { env, cwd });
208
+ try {
209
+ await runReceiptServe(config, {
210
+ days: input.days ?? 3,
211
+ sessionId: input.sessionId,
212
+ });
213
+ }
214
+ finally {
215
+ await beacon.stop();
216
+ }
205
217
  return 0;
206
218
  }
207
219
  case "connect": {
@@ -224,6 +236,8 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
224
236
  const scope = parsed.flags["project"] === true || parsed.flags["project"] === "true"
225
237
  ? "project"
226
238
  : "global";
239
+ if (!config.json)
240
+ await maybePromptConsent(io, env);
227
241
  const result = await runConnect(config, { host, scope, force, hooks, ...(gate ? { gateUrl: gateMcpUrl(env) } : {}) }, env);
228
242
  if (config.json) {
229
243
  io.log(JSON.stringify(result, null, 2));
@@ -305,10 +319,18 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
305
319
  }
306
320
  case "gate-serve": {
307
321
  // Internal: detached supervisor child of `kya gate run`.
308
- await runGateServe(cwd);
322
+ const beacon = startSessionBeacon("gateway", { env, cwd });
323
+ try {
324
+ await runGateServe(cwd);
325
+ }
326
+ finally {
327
+ await beacon.stop();
328
+ }
309
329
  return 0;
310
330
  }
311
331
  case "init": {
332
+ if (!flagBool(parsed.flags, "json"))
333
+ await maybePromptConsent(io, env);
312
334
  const result = initFromArgs(parsed, cwd);
313
335
  if (parsed.flags["json"] === true || parsed.flags["json"] === "true") {
314
336
  io.log(JSON.stringify(result, null, 2));
@@ -388,6 +410,7 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
388
410
  sessionId: input.sessionId,
389
411
  days: input.days,
390
412
  shareUrl: flagString(parsed.flags, "share-url"),
413
+ shareRetries: input.shareRetries,
391
414
  }, env);
392
415
  if (!shared.ok) {
393
416
  io.error(shared.error);
@@ -484,25 +507,33 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
484
507
  });
485
508
  const opts = serveMcpOptionsFromArgs(parsed);
486
509
  const result = await runServeMcp(config, opts);
487
- if (result.mode === "http" && result.http) {
488
- io.log(`KYA MCP gate listening on ${result.http.url} (host=${config.host})`);
489
- io.log(` token: ${result.http.token} (header X-KYA-MCP-Token; /health is open)`);
490
- io.log(" GET /health");
491
- io.log(" GET /connectors/mcp.json");
492
- io.log(" GET /mcp/tools");
493
- io.log(" POST /mcp (JSON-RPC)");
494
- io.log(" tools: kya.policy_evaluate | kya.session_ingest | kya.request_approval");
495
- io.log(" fail-closed: evaluate/request only — no irreversible side effects without APPROVED");
496
- await new Promise((resolve) => {
497
- const stop = () => {
498
- void result.http?.close().finally(resolve);
499
- };
500
- process.once("SIGINT", stop);
501
- process.once("SIGTERM", stop);
502
- });
510
+ // Opt-in anonymous session beacon. Silent by construction: no stdout/stderr, because an MCP
511
+ // stdio process owns stdout as its protocol channel.
512
+ const beacon = startSessionBeacon(result.mode === "http" ? "mcp-http" : "mcp-stdio", { env, cwd });
513
+ try {
514
+ if (result.mode === "http" && result.http) {
515
+ io.log(`KYA MCP gate listening on ${result.http.url} (host=${config.host})`);
516
+ io.log(` token: ${result.http.token} (header X-KYA-MCP-Token; /health is open)`);
517
+ io.log(" GET /health");
518
+ io.log(" GET /connectors/mcp.json");
519
+ io.log(" GET /mcp/tools");
520
+ io.log(" POST /mcp (JSON-RPC)");
521
+ io.log(" tools: kya.policy_evaluate | kya.session_ingest | kya.request_approval");
522
+ io.log(" fail-closed: evaluate/request only — no irreversible side effects without APPROVED");
523
+ await new Promise((resolve) => {
524
+ const stop = () => {
525
+ void beacon.stop().then(() => result.http?.close()).finally(resolve);
526
+ };
527
+ process.once("SIGINT", stop);
528
+ process.once("SIGTERM", stop);
529
+ });
530
+ }
531
+ else if (result.mode === "stdio" && result.stdio) {
532
+ await result.stdio.done;
533
+ }
503
534
  }
504
- else if (result.mode === "stdio" && result.stdio) {
505
- await result.stdio.done;
535
+ finally {
536
+ await beacon.stop();
506
537
  }
507
538
  return 0;
508
539
  }
@@ -669,6 +700,13 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
669
700
  case "sandbox": {
670
701
  return await runSandboxCommand(parsed);
671
702
  }
703
+ case "telemetry": {
704
+ return runTelemetryCommand({
705
+ sub: parsed.positionals[0],
706
+ purge: flagBool(parsed.flags, "purge"),
707
+ json: flagBool(parsed.flags, "json"),
708
+ }, io, env, cwd);
709
+ }
672
710
  case "hook": {
673
711
  const host = flagString(parsed.flags, "host") ?? "other";
674
712
  const strict = flagBool(parsed.flags, "strict");
@@ -689,6 +727,8 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
689
727
  process.stdout.write(r.stdout);
690
728
  if (r.stderr)
691
729
  process.stderr.write(r.stderr);
730
+ // After the answer is out. Opt-in, at most daily, detached: the hook never waits on the network.
731
+ maybeSpawnHookPing({ env, cwd, host });
692
732
  return r.exitCode;
693
733
  }
694
734
  default:
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate-serve.d.ts","sourceRoot":"","sources":["../../src/commands/gate-serve.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,eAAe,CAAC,CA8G3B;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D"}
1
+ {"version":3,"file":"gate-serve.d.ts","sourceRoot":"","sources":["../../src/commands/gate-serve.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,eAAe,CAAC,CA6H3B;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D"}
@@ -77,7 +77,11 @@ export async function startGateSupervisor(input) {
77
77
  ? setInterval(() => doHostedSync("running", true), 60_000)
78
78
  : undefined;
79
79
  let shutdownFn = () => { };
80
- const waitUntilClosed = new Promise((resolve) => {
80
+ // A binary that cannot be started (missing, not executable) is reported on the ChildProcess 'error'
81
+ // event, which would be an uncaught exception with no listener and kill the supervisor before any
82
+ // cleanup (state file, telemetry `end`). Treat it as a failed start: shut down, then reject.
83
+ let startError;
84
+ const waitUntilClosed = new Promise((resolve, reject) => {
81
85
  let closing = false;
82
86
  const shutdown = () => {
83
87
  if (closing)
@@ -102,14 +106,24 @@ export async function startGateSupervisor(input) {
102
106
  .catch(() => undefined)
103
107
  .finally(() => {
104
108
  clearGateState(env, process.pid);
105
- resolve();
109
+ if (startError)
110
+ reject(startError);
111
+ else
112
+ resolve();
106
113
  });
107
114
  };
108
115
  shutdownFn = shutdown;
109
116
  process.once("SIGINT", shutdown);
110
117
  process.once("SIGTERM", shutdown);
111
118
  child.once("exit", () => shutdown());
119
+ child.once("error", (err) => {
120
+ startError = new UsageError(`gate binary could not be started (${binary}): ${err instanceof Error ? err.message : String(err)}`);
121
+ shutdown();
122
+ });
112
123
  });
124
+ // The rejection is for whoever awaits waitUntilClosed; without this a start failure that lands before
125
+ // the caller attaches its handler would be reported as an unhandled rejection and kill the process.
126
+ waitUntilClosed.catch(() => undefined);
113
127
  return {
114
128
  pid: process.pid,
115
129
  childPid: child.pid ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"gate-serve.js","sourceRoot":"","sources":["../../src/commands/gate-serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-serve.js","sourceRoot":"","sources":["../../src/commands/gate-serve.ts"],"names":[],"mappings":"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"}
@@ -34,13 +34,15 @@ export declare function runReceipt(config: ResolvedConfig, input: {
34
34
  }): Promise<ReceiptResult>;
35
35
  /**
36
36
  * `kya receipt --share`: build the redacted share payload from the current
37
- * window's receipt model and POST it to the hosted platform. Returns the
38
- * public URL on success; failures are returned (not thrown) as {ok:false}.
37
+ * window's receipt model and POST it to the hosted platform. Single attempt
38
+ * by default; input.shareRetries (max 3) opts into bounded backoff retries.
39
+ * Returns the public URL on success; failures are returned (not thrown).
39
40
  */
40
41
  export declare function runReceiptShare(config: ResolvedConfig, input: {
41
42
  sessionId?: string;
42
43
  days?: number;
43
44
  shareUrl?: string;
45
+ shareRetries?: number;
44
46
  }, env?: NodeJS.ProcessEnv): Promise<ShareResult>;
45
47
  export declare function receiptInputFromArgs(parsed: ParsedArgs): {
46
48
  sessionId: string | undefined;
@@ -48,6 +50,7 @@ export declare function receiptInputFromArgs(parsed: ParsedArgs): {
48
50
  open: boolean;
49
51
  outDir: string | undefined;
50
52
  searchQuery: string | undefined;
53
+ shareRetries: number;
51
54
  };
52
55
  export declare function formatReceiptHuman(r: ReceiptResult): string;
53
56
  export declare function openPath(target: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/commands/receipt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAUnD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CACnC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEpE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAClG,OAAO,CAAC,aAAa,CAAC,CAwDxB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU;;;;;;EAUtD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAa3D;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS7C"}
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/commands/receipt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAUnD,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CACnC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEpE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAClG,OAAO,CAAC,aAAa,CAAC,CAwDxB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EACtF,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU;;;;;;;EAWtD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAa3D;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS7C"}
@@ -6,7 +6,7 @@ import { assertNoSecrets } from "../dash/render.js";
6
6
  import { loadReceiptModel, renderReceiptHtml, renderReceiptMarkdown, } from "../receipt/render-receipt.js";
7
7
  import { ensureReceiptDaemon } from "../receipt/daemon.js";
8
8
  import { receiptsDir } from "../trail.js";
9
- import { buildSharePayload, shareBaseUrl, shareReceiptPayload, } from "../receipt/share.js";
9
+ import { buildSharePayload, clampShareRetries, shareBaseUrl, shareReceiptWithRetry, } from "../receipt/share.js";
10
10
  export const DEFAULT_RECEIPT_DAYS = 3;
11
11
  export async function runReceipt(config, input) {
12
12
  const sessionId = input.sessionId?.trim();
@@ -58,8 +58,9 @@ export async function runReceipt(config, input) {
58
58
  }
59
59
  /**
60
60
  * `kya receipt --share`: build the redacted share payload from the current
61
- * window's receipt model and POST it to the hosted platform. Returns the
62
- * public URL on success; failures are returned (not thrown) as {ok:false}.
61
+ * window's receipt model and POST it to the hosted platform. Single attempt
62
+ * by default; input.shareRetries (max 3) opts into bounded backoff retries.
63
+ * Returns the public URL on success; failures are returned (not thrown).
63
64
  */
64
65
  export async function runReceiptShare(config, input, env = process.env) {
65
66
  const sessionId = input.sessionId?.trim();
@@ -68,8 +69,9 @@ export async function runReceiptShare(config, input, env = process.env) {
68
69
  : DEFAULT_RECEIPT_DAYS;
69
70
  const model = loadReceiptModel({ cwd: config.cwd, sessionId, days, live: false });
70
71
  const payload = buildSharePayload(model);
71
- return shareReceiptPayload(payload, {
72
+ return shareReceiptWithRetry(payload, {
72
73
  baseUrl: shareBaseUrl(input.shareUrl, env),
74
+ retries: input.shareRetries ?? 0,
73
75
  });
74
76
  }
75
77
  export function receiptInputFromArgs(parsed) {
@@ -81,6 +83,7 @@ export function receiptInputFromArgs(parsed) {
81
83
  open: parsed.flags["open"] === true || parsed.flags["open"] === "true",
82
84
  outDir: flagString(parsed.flags, "out", "out-dir", "outDir"),
83
85
  searchQuery: flagString(parsed.flags, "q", "query", "search"),
86
+ shareRetries: clampShareRetries(flagString(parsed.flags, "share-retries", "shareRetries")),
84
87
  };
85
88
  }
86
89
  export function formatReceiptHuman(r) {