@shield-agent/kya 0.1.34 → 0.1.36

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/README.md +41 -6
  3. package/amp/README.md +9 -0
  4. package/amp/settings.example.json +13 -0
  5. package/claude/claude_desktop_config.example.json +1 -1
  6. package/cline/README.md +9 -0
  7. package/cline/cline_mcp_settings.example.json +15 -0
  8. package/copilot/README.md +9 -0
  9. package/copilot/mcp-config.example.json +13 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +32 -0
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/connect.d.ts +21 -0
  14. package/dist/commands/connect.d.ts.map +1 -0
  15. package/dist/commands/connect.js +187 -0
  16. package/dist/commands/connect.js.map +1 -0
  17. package/dist/commands/serve-mcp.d.ts.map +1 -1
  18. package/dist/commands/serve-mcp.js +4 -0
  19. package/dist/commands/serve-mcp.js.map +1 -1
  20. package/droid/README.md +9 -0
  21. package/droid/mcp.example.json +13 -0
  22. package/gemini/settings.example.json +1 -1
  23. package/grok/README.md +1 -1
  24. package/kilo/README.md +9 -0
  25. package/kilo/kilo.example.json +14 -0
  26. package/kimi/README.md +9 -0
  27. package/kimi/mcp.example.json +13 -0
  28. package/kiro/README.md +9 -0
  29. package/kiro/mcp.example.json +13 -0
  30. package/manifest.json +2 -2
  31. package/mastracode/README.md +9 -0
  32. package/mastracode/mcp.example.json +13 -0
  33. package/mcp.json +1 -1
  34. package/openai/codex.config.example.toml +1 -1
  35. package/opencode/README.md +9 -0
  36. package/opencode/opencode.example.json +14 -0
  37. package/package.json +14 -3
  38. package/qwen/README.md +9 -0
  39. package/qwen/settings.example.json +13 -0
  40. package/qwen/settings.hosted.example.json +10 -0
  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.1.34", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/README.md CHANGED
@@ -28,11 +28,11 @@ If `KYA_API_KEY` is empty against an authenticated plane, network commands exit
28
28
  ## One liner
29
29
 
30
30
  ```bash
31
- # After: npm i -g @shield-agent/kya (or ./scripts/install-local.sh from this repo)
32
- cd your-project
33
- kya start
31
+ npm i -g @shield-agent/kya@latest && kya start
34
32
  ```
35
33
 
34
+ Run it in your project directory. (From a clone of this repo, `./scripts/install-local.sh` replaces the npm install.)
35
+
36
36
  That **inits** `.kya/`, **wires** local MCP (`.mcp.json`, `mcp.json`, `.cursor/mcp.json` → `kya serve-mcp --stdio`), and **opens** the live activity report. Restart your agent host once so MCP loads. Ctrl+C stops the report server.
37
37
 
38
38
  ![KYA activity receipt — agent tool trail with Allow / Deny / Hold](https://raw.githubusercontent.com/The-Pixel-Boys/shield-kya/main/assets/activity-receipt.png)
@@ -46,6 +46,22 @@ kya start --force # rewrite MCP blocks
46
46
  # KYA_DIFF_PREVIEW=0 to disable
47
47
  ```
48
48
 
49
+ ## One command per host
50
+
51
+ `kya start` covers Claude Code, Cursor, and any host that reads `.mcp.json`. For the rest, `kya connect` writes the host's own config dialect directly:
52
+
53
+ ```bash
54
+ kya connect opencode # ~/.config/opencode/opencode.json
55
+ kya connect qwen # ~/.qwen/settings.json
56
+ kya connect amp # ~/.config/amp/settings.json
57
+ kya connect qwen --project # project scope instead of global
58
+ kya connect kiro --force # overwrite an existing shield-kya entry
59
+ ```
60
+
61
+ Connect merges — it never rewrites a host config it can't parse, and it keeps your other servers and keys. Supported hosts: `opencode`, `kilo`, `kiro`, `qwen`, `kimi`, `mastracode`, `amp`, `copilot`, `cursor`. Each wires `serve-mcp --stdio` with `KYA_OFFLINE=1` so the gate starts keyless; set `KYA_API_KEY` in the host env when you point at an authenticated plane.
62
+
63
+ Hosts without a `connect` target still work: `kya wrap --offline -- <agent command>` puts the same evaluate gate in front of any CLI. Per-host recipes with verify steps and troubleshooting live in [docs/hosts/](docs/hosts/).
64
+
49
65
  ## Longer path (optional)
50
66
 
51
67
  ```bash
@@ -103,7 +119,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
103
119
  "mcpServers": {
104
120
  "shield-kya": {
105
121
  "command": "npx",
106
- "args": ["--no-install", "@shield-agent/kya@0.1.34", "serve-mcp", "--stdio"],
122
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
107
123
  "env": {
108
124
  "KYA_BASE_URL": "http://127.0.0.1:8090",
109
125
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -130,7 +146,7 @@ npx @shield-agent/kya reject --id <approval-id>
130
146
 
131
147
  ```bash
132
148
  # Prefer a preinstalled package (no registry auto-install):
133
- npx --no-install @shield-agent/kya@0.1.34 serve-mcp --stdio
149
+ npx --no-install @shield-agent/kya@0.1.36 serve-mcp --stdio
134
150
  # Or after npm i -g / local install:
135
151
  kya serve-mcp --stdio
136
152
  ```
@@ -141,7 +157,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
141
157
 
142
158
  ## OpenAI (Codex / Responses)
143
159
 
144
- **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.34 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
160
+ **Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.36 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
145
161
 
146
162
  **Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
147
163
 
@@ -155,6 +171,24 @@ Merge `gemini/settings.example.json` (stdio) or `gemini/settings.hosted.example.
155
171
 
156
172
  Hosted custom connector: `https://shield-agent.com/mcp` (see `grok/README.md`). Grok rejects localhost. Prefer a Bearer machine key when the UI offers a request header. For a local agent host, use the same stdio launch as Claude/Codex/Gemini.
157
173
 
174
+ ## More hosts
175
+
176
+ Each ships a copy-paste example in its own directory; `kya connect <host>` writes the same thing for the starred ones. Full recipes (verify, uninstall, troubleshooting): [docs/hosts/](docs/hosts/).
177
+
178
+ | Host | Setup | Example |
179
+ |------|-------|---------|
180
+ | OpenCode | `kya connect opencode` | `opencode/opencode.example.json` |
181
+ | Kilo Code | `kya connect kilo` | `kilo/kilo.example.json` |
182
+ | Kiro | `kya connect kiro` | `kiro/mcp.example.json` |
183
+ | Qwen Code | `kya connect qwen` | `qwen/settings.example.json` (+ `settings.hosted.example.json`) |
184
+ | Kimi Code | `kya connect kimi` | `kimi/mcp.example.json` |
185
+ | MastraCode | `kya connect mastracode` | `mastracode/mcp.example.json` |
186
+ | Amp | `kya connect amp` | `amp/settings.example.json` |
187
+ | GitHub Copilot CLI | `kya connect copilot` | `copilot/mcp-config.example.json` |
188
+ | Cline | copy into VS Code globalStorage | `cline/cline_mcp_settings.example.json` |
189
+ | Droid | `droid mcp add` (schema unverified) | `droid/mcp.example.json` |
190
+ | Pi · OMP · Devin · Hermes · Qoder · Maki · Muse · Antigravity | `kya wrap --offline -- <cmd>` | [docs/hosts/](docs/hosts/) |
191
+
158
192
  ## Cursor plugin
159
193
 
160
194
  The package includes `.cursor-plugin/plugin.json`, `mcp.json`, and a wrap skill. Public listing repo: https://github.com/The-Pixel-Boys/shield-kya
@@ -201,6 +235,7 @@ pnpm build
201
235
 
202
236
  - [Install hub](https://shield-agent.com/install)
203
237
  - [How KYA works](https://shield-agent.com/how-kya-works)
238
+ - [Per-host recipes (23 hosts)](docs/hosts/)
204
239
  - [OTLP metrics (OSS + hosted)](docs/otlp.md)
205
240
  - [OWASP MCP governance map](docs/owasp-mcp-governance.md)
206
241
  - [Hosted operator SSO / SCIM (not in OSS CLI)](docs/hosted-operator-sso.md)
package/amp/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Amp + Shield KYA
2
+
3
+ Auto-wire: `kya connect amp` (global `~/.config/amp/settings.json`; `%APPDATA%\amp\settings.json` on Windows).
4
+
5
+ Manual: merge `settings.example.json` into your settings — note Amp's prefixed root key `amp.mcpServers`, not bare `mcpServers`.
6
+
7
+ Restart Amp and ask it to list MCP tools — the three `kya.*` tools should appear.
8
+
9
+ Full recipe: [docs/hosts/amp.md](../docs/hosts/amp.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "amp.mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.1.34", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -0,0 +1,9 @@
1
+ # Cline + Shield KYA
2
+
3
+ No safe auto-wire: Cline's config lives in VS Code globalStorage (`~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` on macOS; analogous paths on Linux/Windows).
4
+
5
+ Recommended: open Cline → MCP Servers icon → Configure, and paste the `shield-kya` block from `cline_mcp_settings.example.json`. Cline hot-reloads on save.
6
+
7
+ Leave `autoApprove` empty — approvals are KYA's job.
8
+
9
+ Full recipe: [docs/hosts/cline.md](../docs/hosts/cline.md)
@@ -0,0 +1,15 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ },
11
+ "disabled": false,
12
+ "autoApprove": []
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ # GitHub Copilot CLI + Shield KYA
2
+
3
+ Auto-wire: `kya connect copilot` (global `~/.copilot/mcp-config.json`).
4
+
5
+ Manual: merge `mcp-config.example.json` into your mcp-config.json, or use the interactive `/mcp add` form with the same command/args.
6
+
7
+ Verify with `/mcp show` inside Copilot CLI — shield-kya should be listed with three tools.
8
+
9
+ Full recipe: [docs/hosts/copilot.md](../docs/hosts/copilot.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
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;AAkIH,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;CACvC;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,CA2XjB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA2IH,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;CACvC;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,CA0ZjB"}
package/dist/cli.js CHANGED
@@ -22,6 +22,7 @@ import { formatAgentTable, formatApprovalTable, formatSessionTable, requireId, r
22
22
  import { formatWrapHuman, runWrap, verdictExitCode, wrapExitCode, wrapInputFromArgs, } from "./commands/wrap.js";
23
23
  import { formatReceiptHuman, receiptInputFromArgs, runReceipt, } from "./commands/receipt.js";
24
24
  import { formatStartHuman, runStart } from "./commands/start.js";
25
+ import { connectableHosts, formatConnectHuman, runConnect, } from "./commands/connect.js";
25
26
  import { appendTrail, defaultSessionId } from "./trail.js";
26
27
  import { decideIdFromArgs, runDecide } from "./commands/decide.js";
27
28
  import { formatInvokeHuman, invokeInputFromArgs, runInvoke, } from "./commands/invoke.js";
@@ -33,6 +34,8 @@ Usage:
33
34
 
34
35
  Commands:
35
36
  start ONE LINER: init + wire local MCP + open live activity report
37
+ connect <host> Wire KYA MCP into a coding host config
38
+ (${connectableHosts().join("|")}; --project for project scope, --force to overwrite)
36
39
  init Scaffold .kya/ config + sample tools + .env.example
37
40
  register-agent POST /api/v1/kya/agents (human mint; server applies allow/break-glass/approve)
38
41
  eval-tool Policy evaluate (HTTP plane or --offline sample)
@@ -72,6 +75,8 @@ Options (shared):
72
75
 
73
76
  Examples:
74
77
  kya start
78
+ kya connect qwen
79
+ kya connect opencode --project
75
80
  npx @shield-agent/kya init --base-url http://127.0.0.1:8090 --host ide
76
81
  npx @shield-agent/kya eval-tool --offline --tool-id org.sample.never.event --irreversible
77
82
  npx @shield-agent/kya eval-tool --offline --tool-id org.sample.data.write --irreversible
@@ -133,6 +138,33 @@ export async function runCli(argv, io = defaultIo, env = process.env, cwd = proc
133
138
  }
134
139
  return 0;
135
140
  }
141
+ case "connect": {
142
+ const host = parsed.positionals[0];
143
+ if (!host) {
144
+ io.error(`Usage: kya connect <host> (${connectableHosts().join("|")})`);
145
+ return 2;
146
+ }
147
+ const config = resolveConfig({
148
+ cwd,
149
+ env,
150
+ flags: parsed.flags,
151
+ allowMissingApiKey: true,
152
+ requireApiKey: false,
153
+ offline: true,
154
+ });
155
+ const force = parsed.flags["force"] === true || parsed.flags["force"] === "true";
156
+ const scope = parsed.flags["project"] === true || parsed.flags["project"] === "true"
157
+ ? "project"
158
+ : "global";
159
+ const result = await runConnect(config, { host, scope, force }, env);
160
+ if (config.json) {
161
+ io.log(JSON.stringify(result, null, 2));
162
+ }
163
+ else {
164
+ io.log(formatConnectHuman(result));
165
+ }
166
+ return 0;
167
+ }
136
168
  case "init": {
137
169
  const result = initFromArgs(parsed, cwd);
138
170
  if (parsed.flags["json"] === true || parsed.flags["json"] === "true") {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,EACX,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,OAAO,EACP,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEZ,CAAC;AAQF,MAAM,SAAS,GAAU;IACvB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAuB,EACvB,KAAY,SAAS,EACrB,MAAyB,OAAO,CAAC,GAAG,EACpC,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IACE,CAAC,MAAM,CAAC,OAAO;QACf,MAAM,CAAC,OAAO,KAAK,MAAM;QACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;QAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAC1B,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,kBAAkB,EAAE,IAAI;oBACxB,aAAa,EAAE,KAAK;oBACpB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,MAAM,KAAK,GACT,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;gBACrE,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;gBACzE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,MAAM,CAAC,SAAS,CAAC;gBACzB,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACzC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;oBACrE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBAClE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;wBAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAC1D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;wBAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAC1D,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrC,EAAE,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrC,EAAE,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO;oBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChD,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE;oBACtB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC5B,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC;oBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;oBAC9C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;oBAChC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE;oBAC5C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBAC1E,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK,aAAa;oBACxD,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,CACZ,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAC/C,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,kBAAkB,EAAE,IAAI;oBACxB,aAAa,EAAE,KAAK;oBACpB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,MAAM,CAAC,SAAS,CAAC;gBACzB,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO;oBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,gEAAgE;gBAChE,IAAI,CAAC;oBACH,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;oBAC5E,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM;wBACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,aAAa,CAAC;oBACpD,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;wBAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;gBACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,CAAC;gBACD,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;oBACrC,EAAE;oBACF,QAAQ,EAAE,MAAM,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC1C,EAAE,CAAC,GAAG,CACJ,6BAA6B,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,MAAM,CAAC,IAAI,GAAG,CACrE,CAAC;oBACF,EAAE,CAAC,GAAG,CACJ,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,6CAA6C,CAC3E,CAAC;oBACF,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBACzB,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBACtC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBAC5B,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;oBAClC,EAAE,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;oBACnF,EAAE,CAAC,GAAG,CACJ,sFAAsF,CACvF,CAAC;oBACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAClC,MAAM,IAAI,GAAG,GAAG,EAAE;4BAChB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC7C,CAAC,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnD,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC1B,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBAClB,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACtD,EAAE,CAAC,GAAG,CACJ,sFAAsF,CACvF,CAAC;oBACF,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,0GAA0G;gBAC1G,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;oBACrD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACvB,EAAE,CAAC,GAAG,CACJ,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,MAAM,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,CAC5H,CAAC;oBACF,EAAE,CAAC,GAAG,CACJ,uEAAuE,CACxE,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC,QAAQ,CAAC;YACzB,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC1C,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,MAAM,CAAC,IAAI;oBAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;oBACjD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC5C,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC3C,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACvC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,MAAM,CAAC,IAAI;oBAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;oBACjD,EAAE,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,CAAC;YACX,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC3B,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,KAAK;oBACpB,kBAAkB,EAAE,IAAI;oBACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM;iBAChF,CAAC,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;YAED;gBACE,EAAE,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACb,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,EAAE,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,2EAA2E;AAC3E,SAAS,UAAU;IACjB,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CACL,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,UAAU,EAAE,EAAE,CAAC;IACjB,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ResolvedConfig } from "../config.js";
2
+ export type ConnectScope = "global" | "project";
3
+ export type ConnectStatus = "created" | "wired" | "skipped";
4
+ export declare function connectableHosts(): readonly string[];
5
+ export declare function knownHosts(): readonly string[];
6
+ export interface ConnectResult {
7
+ readonly host: string;
8
+ readonly label: string;
9
+ readonly path: string;
10
+ readonly status: ConnectStatus;
11
+ readonly scope: ConnectScope;
12
+ readonly next: string;
13
+ }
14
+ export interface ConnectInput {
15
+ readonly host: string;
16
+ readonly scope?: ConnectScope;
17
+ readonly force?: boolean;
18
+ }
19
+ export declare function runConnect(config: ResolvedConfig, input: ConnectInput, env?: NodeJS.ProcessEnv): Promise<ConnectResult>;
20
+ export declare function formatConnectHuman(r: ConnectResult): string;
21
+ //# sourceMappingURL=connect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AA0H5D,wBAAgB,gBAAgB,IAAI,SAAS,MAAM,EAAE,CAEpD;AAED,wBAAgB,UAAU,IAAI,SAAS,MAAM,EAAE,CAE9C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AA2CD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,aAAa,CAAC,CAiCxB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAY3D"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * kya connect <host> — wire Shield KYA MCP into a coding host's config file.
3
+ * Idempotent create/merge/skip, modeled on start.ts mergeMcpJson.
4
+ * Global (home) scope by default; --project for hosts with project-level config.
5
+ * Hosts without a verified MCP config stay copy-paste recipes (recipeOnly).
6
+ */
7
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
+ import { homedir } from "node:os";
9
+ import { dirname, join } from "node:path";
10
+ import { fileURLToPath } from "node:url";
11
+ import { UsageError } from "../errors.js";
12
+ function cliJsPath() {
13
+ // connect.ts → ../cli.js in dist; when running from dist/commands/connect.js
14
+ return fileURLToPath(new URL("../cli.js", import.meta.url));
15
+ }
16
+ function standardBlock() {
17
+ return {
18
+ command: process.execPath,
19
+ args: [cliJsPath(), "serve-mcp", "--stdio"],
20
+ env: {
21
+ KYA_HOST: "ide",
22
+ KYA_OFFLINE: "1",
23
+ },
24
+ };
25
+ }
26
+ function opencodeBlock() {
27
+ return {
28
+ type: "local",
29
+ command: [process.execPath, cliJsPath(), "serve-mcp", "--stdio"],
30
+ enabled: true,
31
+ environment: {
32
+ KYA_HOST: "ide",
33
+ KYA_OFFLINE: "1",
34
+ },
35
+ };
36
+ }
37
+ const REGISTRY = {
38
+ opencode: {
39
+ label: "OpenCode",
40
+ globalPath: (h) => join(h, ".config", "opencode", "opencode.json"),
41
+ projectPath: (c) => join(c, "opencode.json"),
42
+ rootKey: "mcp",
43
+ shape: "opencode-local",
44
+ },
45
+ kilo: {
46
+ label: "Kilo Code CLI",
47
+ globalPath: (h) => join(h, ".config", "kilo", "kilo.json"),
48
+ projectPath: (c) => join(c, "kilo.json"),
49
+ rootKey: "mcp",
50
+ shape: "opencode-local",
51
+ },
52
+ kiro: {
53
+ label: "Kiro CLI",
54
+ globalPath: (h) => join(h, ".kiro", "settings", "mcp.json"),
55
+ projectPath: (c) => join(c, ".kiro", "settings", "mcp.json"),
56
+ rootKey: "mcpServers",
57
+ shape: "standard",
58
+ },
59
+ qwen: {
60
+ label: "Qwen Code",
61
+ globalPath: (h) => join(h, ".qwen", "settings.json"),
62
+ projectPath: (c) => join(c, ".qwen", "settings.json"),
63
+ rootKey: "mcpServers",
64
+ shape: "standard",
65
+ },
66
+ kimi: {
67
+ label: "Kimi Code CLI",
68
+ globalPath: (h) => join(h, ".kimi-code", "mcp.json"),
69
+ projectPath: (c) => join(c, ".kimi-code", "mcp.json"),
70
+ rootKey: "mcpServers",
71
+ shape: "standard",
72
+ },
73
+ mastracode: {
74
+ label: "MastraCode",
75
+ globalPath: (h) => join(h, ".mastracode", "mcp.json"),
76
+ projectPath: (c) => join(c, ".mastracode", "mcp.json"),
77
+ rootKey: "mcpServers",
78
+ shape: "standard",
79
+ },
80
+ amp: {
81
+ label: "Amp",
82
+ globalPath: (h) => join(h, ".config", "amp", "settings.json"),
83
+ rootKey: "amp.mcpServers",
84
+ shape: "standard",
85
+ },
86
+ copilot: {
87
+ label: "GitHub Copilot CLI",
88
+ globalPath: (h) => join(h, ".copilot", "mcp-config.json"),
89
+ rootKey: "mcpServers",
90
+ shape: "standard",
91
+ },
92
+ cursor: {
93
+ label: "Cursor (IDE + Agent CLI)",
94
+ globalPath: (h) => join(h, ".cursor", "mcp.json"),
95
+ projectPath: (c) => join(c, ".cursor", "mcp.json"),
96
+ rootKey: "mcpServers",
97
+ shape: "standard",
98
+ },
99
+ // Verified config but no safe auto-wire (GUI-managed or unverified schema).
100
+ cline: {
101
+ label: "Cline",
102
+ rootKey: "mcpServers",
103
+ shape: "standard",
104
+ recipeOnly: "docs/hosts/cline.md",
105
+ },
106
+ droid: {
107
+ label: "Droid",
108
+ rootKey: "mcpServers",
109
+ shape: "standard",
110
+ recipeOnly: "docs/hosts/droid.md",
111
+ },
112
+ };
113
+ export function connectableHosts() {
114
+ return Object.keys(REGISTRY).filter((k) => !REGISTRY[k].recipeOnly);
115
+ }
116
+ export function knownHosts() {
117
+ return Object.keys(REGISTRY);
118
+ }
119
+ function serverBlock(spec) {
120
+ return spec.shape === "opencode-local" ? opencodeBlock() : standardBlock();
121
+ }
122
+ function mergeHostConfig(path, spec, force) {
123
+ const block = serverBlock(spec);
124
+ if (!existsSync(path)) {
125
+ mkdirSync(dirname(path), { recursive: true });
126
+ writeFileSync(path, `${JSON.stringify({ [spec.rootKey]: { "shield-kya": block } }, null, 2)}\n`, "utf8");
127
+ return "created";
128
+ }
129
+ let raw;
130
+ try {
131
+ raw = JSON.parse(readFileSync(path, "utf8"));
132
+ }
133
+ catch {
134
+ // Never rewrite a host's real config we cannot parse — that destroys settings.
135
+ throw new UsageError(`${path} is not valid JSON — fix it by hand or back it up and delete it, then re-run connect`);
136
+ }
137
+ const existing = raw[spec.rootKey];
138
+ if (existing !== undefined && (typeof existing !== "object" || existing === null || Array.isArray(existing))) {
139
+ throw new UsageError(`${path} has "${spec.rootKey}" but it is not an object — refusing to clobber it`);
140
+ }
141
+ const servers = (existing ?? {});
142
+ if (servers["shield-kya"] && !force)
143
+ return "skipped";
144
+ raw[spec.rootKey] = { ...servers, "shield-kya": block };
145
+ writeFileSync(path, `${JSON.stringify(raw, null, 2)}\n`, "utf8");
146
+ return "wired";
147
+ }
148
+ export async function runConnect(config, input, env = process.env) {
149
+ const key = input.host.trim().toLowerCase();
150
+ const spec = REGISTRY[key];
151
+ if (!spec) {
152
+ throw new UsageError(`unknown host "${input.host}" — supported: ${knownHosts().join(", ")}`);
153
+ }
154
+ if (spec.recipeOnly) {
155
+ throw new UsageError(`${spec.label} has no safe auto-wire — follow the copy-paste recipe in ${spec.recipeOnly}`);
156
+ }
157
+ const scope = input.scope ?? "global";
158
+ const home = env.KYA_HOME?.trim() || homedir();
159
+ const path = scope === "project"
160
+ ? spec.projectPath?.(config.cwd)
161
+ : spec.globalPath?.(home);
162
+ if (!path) {
163
+ throw new UsageError(`${spec.label} has no ${scope}-scope config — try --${scope === "project" ? "global" : "project"}`);
164
+ }
165
+ const status = mergeHostConfig(path, spec, Boolean(input.force));
166
+ return {
167
+ host: key,
168
+ label: spec.label,
169
+ path,
170
+ status,
171
+ scope,
172
+ next: `Restart ${spec.label} so the shield-kya MCP server loads. Verify: ask the agent to list its MCP tools — kya.policy_evaluate, kya.session_ingest, kya.request_approval should appear.`,
173
+ };
174
+ }
175
+ export function formatConnectHuman(r) {
176
+ const verb = r.status === "created"
177
+ ? "created"
178
+ : r.status === "wired"
179
+ ? "wired"
180
+ : "already wired (skipped — use --force to overwrite)";
181
+ return [
182
+ `KYA connect ${r.host}`,
183
+ `${verb}: ${r.path}`,
184
+ r.next,
185
+ ].join("\n");
186
+ }
187
+ //# sourceMappingURL=connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve-mcp.d.ts","sourceRoot":"","sources":["../../src/commands/serve-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAQ3E;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA4BzB"}
1
+ {"version":3,"file":"serve-mcp.d.ts","sourceRoot":"","sources":["../../src/commands/serve-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAQ3E;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAgCzB"}
@@ -18,6 +18,10 @@ export async function runServeMcp(config, options, client) {
18
18
  apiKey: config.apiKey,
19
19
  host: config.host,
20
20
  agentId: config.agentId,
21
+ // Offline (KYA_OFFLINE=1, as `kya start`/`kya connect` wire for hosts):
22
+ // start keyless — initialize/tools/list work; tool calls still fail
23
+ // closed at call time without a key.
24
+ requireApiKey: !config.offline,
21
25
  });
22
26
  if (options.mode === "stdio") {
23
27
  const stdio = startStdioMcp({
@@ -1 +1 @@
1
- {"version":3,"file":"serve-mcp.js","sourceRoot":"","sources":["../../src/commands/serve-mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAgBrD,MAAM,UAAU,uBAAuB,CAAC,MAAkB;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QAC9B,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACjC,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,OAAwB,EACxB,MAAsB;IAEtB,MAAM,UAAU,GACd,MAAM;QACN,IAAI,aAAa,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IAEL,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC;YAC1B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,WAAW;QACvC,IAAI;QACJ,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"serve-mcp.js","sourceRoot":"","sources":["../../src/commands/serve-mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAgBrD,MAAM,UAAU,uBAAuB,CAAC,MAAkB;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QAC9B,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACjC,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,OAAwB,EACxB,MAAsB;IAEtB,MAAM,UAAU,GACd,MAAM;QACN,IAAI,aAAa,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,wEAAwE;YACxE,oEAAoE;YACpE,qCAAqC;YACrC,aAAa,EAAE,CAAC,MAAM,CAAC,OAAO;SAC/B,CAAC,CAAC;IAEL,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC;YAC1B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,WAAW;QACvC,IAAI;QACJ,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,9 @@
1
+ # Droid (Factory) + Shield KYA
2
+
3
+ Preferred path is Droid's own CLI: `droid mcp add shield-kya "npx --no-install @shield-agent/kya@0.1.36 serve-mcp --stdio" --env KYA_BASE_URL=https://shield-agent.com --env KYA_API_KEY=$KYA_API_KEY --env KYA_HOST=ide`.
4
+
5
+ `mcp.example.json` shows the expected on-disk shape (`~/.factory/mcp.json`) — **schema not yet verified against a live Droid install**; treat as a starting point and prefer `droid mcp add`.
6
+
7
+ Verify from the `/mcp` manager — shield-kya should be listed.
8
+
9
+ Full recipe: [docs/hosts/droid.md](../docs/hosts/droid.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.1.34", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/grok/README.md CHANGED
@@ -40,7 +40,7 @@ chat = client.chat.create(
40
40
  There is no grok.com stdio path. For a local agent host use the same stdio launch as Claude:
41
41
 
42
42
  ```bash
43
- npx --no-install @shield-agent/kya@0.1.34 serve-mcp --stdio
43
+ npx --no-install @shield-agent/kya@0.1.36 serve-mcp --stdio
44
44
  ```
45
45
 
46
46
  Env: `KYA_BASE_URL`, `KYA_API_KEY`, `KYA_HOST`. Codex and Gemini example configs in this package show the full snippets.
package/kilo/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Kilo Code CLI + Shield KYA
2
+
3
+ Auto-wire: `kya connect kilo` (global `~/.config/kilo/kilo.json`) or `kya connect kilo --project` (`./kilo.json`).
4
+
5
+ Manual: merge `kilo.example.json` into your config (Kilo uses the `mcp` key with `type: "local"` + a command array, same shape as OpenCode).
6
+
7
+ Verify with `kilo mcp list` — shield-kya should show three tools.
8
+
9
+ Full recipe: [docs/hosts/kilo.md](../docs/hosts/kilo.md)
@@ -0,0 +1,14 @@
1
+ {
2
+ "mcp": {
3
+ "shield-kya": {
4
+ "type": "local",
5
+ "command": ["npx", "--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "enabled": true,
7
+ "environment": {
8
+ "KYA_BASE_URL": "https://shield-agent.com",
9
+ "KYA_API_KEY": "${KYA_API_KEY}",
10
+ "KYA_HOST": "ide"
11
+ }
12
+ }
13
+ }
14
+ }
package/kimi/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Kimi Code CLI + Shield KYA
2
+
3
+ Auto-wire: `kya connect kimi` (global `~/.kimi-code/mcp.json`) or `kya connect kimi --project` (`.kimi-code/mcp.json`).
4
+
5
+ Manual: merge `mcp.example.json` into your mcp.json (classic `mcpServers` shape).
6
+
7
+ Verify from the `/mcp-config` panel — shield-kya should show three tools.
8
+
9
+ Full recipe: [docs/hosts/kimi.md](../docs/hosts/kimi.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
package/kiro/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Kiro CLI + Shield KYA
2
+
3
+ Auto-wire: `kya connect kiro` (global `~/.kiro/settings/mcp.json`) or `kya connect kiro --project` (`.kiro/settings/mcp.json`).
4
+
5
+ Manual: merge `mcp.example.json` into your mcp.json (classic `mcpServers` shape).
6
+
7
+ Verify with `kiro-cli mcp list` — shield-kya should show three tools.
8
+
9
+ Full recipe: [docs/hosts/kiro.md](../docs/hosts/kiro.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "manifest_version": "0.3",
3
3
  "name": "shield-kya",
4
4
  "display_name": "Shield KYA",
5
- "version": "0.1.34",
5
+ "version": "0.1.36",
6
6
  "description": "Know Your Agent MCP gate: ALLOW / DENY / REQUIRE_APPROVE. Sole PEP is Shield.",
7
7
  "long_description": "Local Claude Desktop extension that runs the packaged `dist/cli.js serve-mcp --stdio` against your Shield control plane (local or https://shield-agent.com). Tools evaluate policy, ingest session risk, and open Hold tickets. They never execute irreversible side effects.",
8
8
  "author": {
@@ -81,7 +81,7 @@
81
81
  "api_key": {
82
82
  "type": "string",
83
83
  "title": "API key",
84
- "description": "Machine API key (sk_live_\u2026). Stored in the OS keychain.",
84
+ "description": "Machine API key (sk_live_). Stored in the OS keychain.",
85
85
  "sensitive": true,
86
86
  "required": true
87
87
  },
@@ -0,0 +1,9 @@
1
+ # MastraCode + Shield KYA
2
+
3
+ Auto-wire: `kya connect mastracode` (global `~/.mastracode/mcp.json`) or `kya connect mastracode --project` (`.mastracode/mcp.json`). MastraCode also reads `.mcp.json`, which `kya start` already wires.
4
+
5
+ Manual: merge `mcp.example.json` into your mcp.json (classic `mcpServers` shape).
6
+
7
+ Verify from the `/mcp` status panel — shield-kya should show three tools.
8
+
9
+ Full recipe: [docs/hosts/mastracode.md](../docs/hosts/mastracode.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
package/mcp.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "shield-kya": {
4
4
  "description": "Know Your Agent local MCP gate: wrap-before-write, named-agent registry, Hold/Clear.",
5
5
  "command": "npx",
6
- "args": ["--no-install", "@shield-agent/kya@0.1.34", "serve-mcp", "--stdio"],
6
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
7
7
  "env": {
8
8
  "KYA_BASE_URL": "${KYA_BASE_URL}",
9
9
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -11,7 +11,7 @@
11
11
  # --- Local stdio (OSS) ---
12
12
  [mcp_servers.shield-kya]
13
13
  command = "npx"
14
- args = ["--no-install", "@shield-agent/kya@0.1.34", "serve-mcp", "--stdio"]
14
+ args = ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"]
15
15
  startup_timeout_sec = 20
16
16
  env_vars = ["KYA_BASE_URL", "KYA_API_KEY", "KYA_HOST", "KYA_AGENT_ID"]
17
17
 
@@ -0,0 +1,9 @@
1
+ # OpenCode + Shield KYA
2
+
3
+ Auto-wire: `kya connect opencode` (global `~/.config/opencode/opencode.json`) or `kya connect opencode --project` (`./opencode.json`).
4
+
5
+ Manual: merge `opencode.example.json` into your config (OpenCode uses the `mcp` key with `type: "local"` + a command array).
6
+
7
+ Restart OpenCode, then ask it to list MCP tools — `kya.policy_evaluate`, `kya.session_ingest`, `kya.request_approval` should appear.
8
+
9
+ Full recipe: [docs/hosts/opencode.md](../docs/hosts/opencode.md)
@@ -0,0 +1,14 @@
1
+ {
2
+ "mcp": {
3
+ "shield-kya": {
4
+ "type": "local",
5
+ "command": ["npx", "--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "enabled": true,
7
+ "environment": {
8
+ "KYA_BASE_URL": "https://shield-agent.com",
9
+ "KYA_API_KEY": "${KYA_API_KEY}",
10
+ "KYA_HOST": "ide"
11
+ }
12
+ }
13
+ }
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shield-agent/kya",
3
- "version": "0.1.34",
3
+ "version": "0.1.36",
4
4
  "description": "Know Your Agent light CLI + local MCP gate (provider-agnostic, zero vertical packs required).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,7 +34,17 @@
34
34
  ".cursor-plugin",
35
35
  "openai",
36
36
  "gemini",
37
- "grok"
37
+ "grok",
38
+ "opencode",
39
+ "kilo",
40
+ "kiro",
41
+ "qwen",
42
+ "kimi",
43
+ "mastracode",
44
+ "amp",
45
+ "copilot",
46
+ "cline",
47
+ "droid"
38
48
  ],
39
49
  "homepage": "https://shield-agent.com/install",
40
50
  "repository": {
@@ -77,6 +87,7 @@
77
87
  "test": "vitest run",
78
88
  "test:watch": "vitest",
79
89
  "test:coverage": "vitest run --coverage",
80
- "pack:check": "pnpm run build && pnpm pack --pack-destination /tmp && node dist/cli.js --help"
90
+ "pack:check": "pnpm run build && pnpm pack --pack-destination /tmp && node dist/cli.js --help",
91
+ "sync:version": "node scripts/sync-version.mjs"
81
92
  }
82
93
  }
package/qwen/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Qwen Code + Shield KYA
2
+
3
+ Auto-wire: `kya connect qwen` (global `~/.qwen/settings.json`) or `kya connect qwen --project` (`.qwen/settings.json`).
4
+
5
+ Manual: merge `settings.example.json` (stdio) or `settings.hosted.example.json` (hosted HTTP via `httpUrl`) into your settings.
6
+
7
+ Verify with `qwen mcp list` — shield-kya should show three tools.
8
+
9
+ Full recipe: [docs/hosts/qwen.md](../docs/hosts/qwen.md)
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "command": "npx",
5
+ "args": ["--no-install", "@shield-agent/kya@0.1.36", "serve-mcp", "--stdio"],
6
+ "env": {
7
+ "KYA_BASE_URL": "https://shield-agent.com",
8
+ "KYA_API_KEY": "${KYA_API_KEY}",
9
+ "KYA_HOST": "ide"
10
+ }
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "mcpServers": {
3
+ "shield-kya": {
4
+ "httpUrl": "https://shield-agent.com/mcp",
5
+ "headers": {
6
+ "Authorization": "Bearer ${KYA_API_KEY}"
7
+ }
8
+ }
9
+ }
10
+ }
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/The-Pixel-Boys/shield-kya",
8
8
  "source": "github"
9
9
  },
10
- "version": "0.1.34",
10
+ "version": "0.1.36",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@shield-agent/kya",
15
- "version": "0.1.34",
15
+ "version": "0.1.36",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },