@shield-agent/kya 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mcp.json +1 -1
- package/README.md +14 -4
- package/amp/README.md +1 -1
- package/amp/settings.example.json +1 -1
- package/claude/claude_desktop_config.example.json +1 -1
- package/cline/cline_mcp_settings.example.json +1 -1
- package/copilot/mcp-config.example.json +1 -1
- package/dist/commands/connect.d.ts +2 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +7 -1
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +11 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/host-reload.d.ts +19 -0
- package/dist/host-reload.d.ts.map +1 -0
- package/dist/host-reload.js +155 -0
- package/dist/host-reload.js.map +1 -0
- package/dist/node-upgrade.d.ts +17 -1
- package/dist/node-upgrade.d.ts.map +1 -1
- package/dist/node-upgrade.js +152 -5
- package/dist/node-upgrade.js.map +1 -1
- package/droid/README.md +1 -1
- package/droid/mcp.example.json +1 -1
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/kilo/kilo.example.json +1 -1
- package/kimi/mcp.example.json +1 -1
- package/kiro/mcp.example.json +1 -1
- package/manifest.json +1 -1
- package/mastracode/mcp.example.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/opencode/opencode.example.json +1 -1
- package/package.json +1 -1
- package/qwen/settings.example.json +1 -1
- 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.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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
|
@@ -7,6 +7,16 @@
|
|
|
7
7
|
[](https://shield-agent.com/install)
|
|
8
8
|
[](https://x.com/coscosmico)
|
|
9
9
|
|
|
10
|
+
|
|
11
|
+
Gate agent tool calls (Allow / Deny / Hold) before they write or deploy. Local activity receipt included. Free forever under MIT.
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm i -g @shield-agent/kya@latest && kya start
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Requires **Node.js 24+**. Restart Cursor / Claude Code / Codex once so MCP loads. Hosted desk: [shield-agent.com](https://shield-agent.com/install).
|
|
18
|
+
|
|
19
|
+
|
|
10
20
|
CLI and local MCP gate for Shield’s Know Your Agent path.
|
|
11
21
|
|
|
12
22
|
If an agent can change a real system, it has to ask Shield first. You register the agent, wrap the tool, and get Allow, Hold, or Deny. Hold waits for a person. This package does not scan your network. Agents that never call evaluate stay invisible on purpose.
|
|
@@ -33,7 +43,7 @@ npm i -g @shield-agent/kya@latest && kya start
|
|
|
33
43
|
|
|
34
44
|
Run it in your project directory. (From a clone of this repo, `./scripts/install-local.sh` replaces the npm install.)
|
|
35
45
|
|
|
36
|
-
That **inits** `.kya/`, **wires** local MCP (`.mcp.json`, `mcp.json`, `.cursor/mcp.json` → `kya serve-mcp --stdio`), and **opens** the live activity report. The report runs in the background — you get your terminal back; `kya stop` stops it, `kya receipt --open` reopens it.
|
|
46
|
+
That **inits** `.kya/`, **wires** local MCP (`.mcp.json`, `mcp.json`, `.cursor/mcp.json` → `kya serve-mcp --stdio`), and **opens** the live activity report. The report runs in the background — you get your terminal back; `kya stop` stops it, `kya receipt --open` reopens it. Cursor, Kiro, Qwen, Amp, Droid, Cline, and Grok pick the server up live with no restart (Kimi: just a new session); Claude Code, Codex, OpenCode, Gemini, Copilot CLI, and Kilo CLI load it on next launch — `claude --resume` keeps your conversation.
|
|
37
47
|
|
|
38
48
|

|
|
39
49
|
|
|
@@ -119,7 +129,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
|
|
|
119
129
|
"mcpServers": {
|
|
120
130
|
"shield-kya": {
|
|
121
131
|
"command": "npx",
|
|
122
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
132
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
123
133
|
"env": {
|
|
124
134
|
"KYA_BASE_URL": "http://127.0.0.1:8090",
|
|
125
135
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -146,7 +156,7 @@ npx @shield-agent/kya reject --id <approval-id>
|
|
|
146
156
|
|
|
147
157
|
```bash
|
|
148
158
|
# Prefer a preinstalled package (no registry auto-install):
|
|
149
|
-
npx --no-install @shield-agent/kya@0.1.
|
|
159
|
+
npx --no-install @shield-agent/kya@0.1.39 serve-mcp --stdio
|
|
150
160
|
# Or after npm i -g / local install:
|
|
151
161
|
kya serve-mcp --stdio
|
|
152
162
|
```
|
|
@@ -157,7 +167,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
|
|
|
157
167
|
|
|
158
168
|
## OpenAI (Codex / Responses)
|
|
159
169
|
|
|
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.
|
|
170
|
+
**Codex CLI / IDE:** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.1.39 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
|
|
161
171
|
|
|
162
172
|
**Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
|
|
163
173
|
|
package/amp/README.md
CHANGED
|
@@ -4,6 +4,6 @@ Auto-wire: `kya connect amp` (global `~/.config/amp/settings.json`; `%APPDATA%\a
|
|
|
4
4
|
|
|
5
5
|
Manual: merge `settings.example.json` into your settings — note Amp's prefixed root key `amp.mcpServers`, not bare `mcpServers`.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Amp applies the settings change live — ask it to list MCP tools and the three `kya.*` tools should appear, no restart.
|
|
8
8
|
|
|
9
9
|
Full recipe: [docs/hosts/amp.md](../docs/hosts/amp.md)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"amp.mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -15,6 +15,8 @@ export interface ConnectInput {
|
|
|
15
15
|
readonly host: string;
|
|
16
16
|
readonly scope?: ConnectScope;
|
|
17
17
|
readonly force?: boolean;
|
|
18
|
+
/** Test hook: running process basenames instead of a live ps scan. */
|
|
19
|
+
readonly procs?: ReadonlySet<string>;
|
|
18
20
|
}
|
|
19
21
|
export declare function runConnect(config: ResolvedConfig, input: ConnectInput, env?: NodeJS.ProcessEnv): Promise<ConnectResult>;
|
|
20
22
|
export declare function formatConnectHuman(r: ConnectResult): string;
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,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;IACzB,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACtC;AA2CD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,aAAa,CAAC,CAuCxB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAY3D"}
|
package/dist/commands/connect.js
CHANGED
|
@@ -9,6 +9,7 @@ import { homedir } from "node:os";
|
|
|
9
9
|
import { dirname, join } from "node:path";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import { UsageError } from "../errors.js";
|
|
12
|
+
import { hostReload, hostRunning, listProcessNames, reloadMessage } from "../host-reload.js";
|
|
12
13
|
function cliJsPath() {
|
|
13
14
|
// connect.ts → ../cli.js in dist; when running from dist/commands/connect.js
|
|
14
15
|
return fileURLToPath(new URL("../cli.js", import.meta.url));
|
|
@@ -163,13 +164,18 @@ export async function runConnect(config, input, env = process.env) {
|
|
|
163
164
|
throw new UsageError(`${spec.label} has no ${scope}-scope config — try --${scope === "project" ? "global" : "project"}`);
|
|
164
165
|
}
|
|
165
166
|
const status = mergeHostConfig(path, spec, Boolean(input.force));
|
|
167
|
+
const verify = "Verify: ask the agent to list its MCP tools — kya.policy_evaluate, kya.session_ingest, kya.request_approval should appear.";
|
|
168
|
+
const reload = hostReload(key);
|
|
169
|
+
const next = reload
|
|
170
|
+
? `${reloadMessage(reload, spec.label, hostRunning(reload, input.procs ?? listProcessNames()))} ${verify}`
|
|
171
|
+
: `Restart ${spec.label} so the shield-kya MCP server loads. ${verify}`;
|
|
166
172
|
return {
|
|
167
173
|
host: key,
|
|
168
174
|
label: spec.label,
|
|
169
175
|
path,
|
|
170
176
|
status,
|
|
171
177
|
scope,
|
|
172
|
-
next
|
|
178
|
+
next,
|
|
173
179
|
};
|
|
174
180
|
}
|
|
175
181
|
export function formatConnectHuman(r) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/start.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface StartResult {
|
|
|
11
11
|
export declare function runStart(config: ResolvedConfig, input?: {
|
|
12
12
|
force?: boolean;
|
|
13
13
|
open?: boolean;
|
|
14
|
+
procs?: ReadonlySet<string>;
|
|
14
15
|
}): Promise<StartResult>;
|
|
15
16
|
export declare function formatStartHuman(r: StartResult): string;
|
|
16
17
|
//# sourceMappingURL=start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAOnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAoED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,KAAK,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAO,GAC3E,OAAO,CAAC,WAAW,CAAC,CA2DtB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAUvD"}
|
package/dist/commands/start.js
CHANGED
|
@@ -8,6 +8,7 @@ import { runInit } from "./init.js";
|
|
|
8
8
|
import { openPath, runReceipt } from "./receipt.js";
|
|
9
9
|
import { ensureReceiptDaemon } from "../receipt/daemon.js";
|
|
10
10
|
import { appendTrail, defaultSessionId } from "../trail.js";
|
|
11
|
+
import { hostReload, hostRunning, listProcessNames, reloadMessage } from "../host-reload.js";
|
|
11
12
|
function cliJsPath() {
|
|
12
13
|
// start.ts → ../cli.js in dist; when running from dist/commands/start.js
|
|
13
14
|
return fileURLToPath(new URL("../cli.js", import.meta.url));
|
|
@@ -95,6 +96,15 @@ export async function runStart(config, input = {}) {
|
|
|
95
96
|
reportReused = daemon.reused;
|
|
96
97
|
openPath(daemon.url);
|
|
97
98
|
}
|
|
99
|
+
// start wires the configs Claude Code (.mcp.json / mcp.json) and Cursor
|
|
100
|
+
// (.cursor/mcp.json) read — the reload note is per-host, not a blanket
|
|
101
|
+
// "restart everything".
|
|
102
|
+
const procs = input.procs ?? listProcessNames();
|
|
103
|
+
const hostNotes = ["cursor", "claude"]
|
|
104
|
+
.map((id) => hostReload(id))
|
|
105
|
+
.filter((info) => Boolean(info))
|
|
106
|
+
.map((info) => reloadMessage(info, info.id === "claude" ? "Claude Code" : "Cursor", hostRunning(info, procs)))
|
|
107
|
+
.join(" ");
|
|
98
108
|
return {
|
|
99
109
|
initCreated: init.created,
|
|
100
110
|
wired,
|
|
@@ -102,7 +112,7 @@ export async function runStart(config, input = {}) {
|
|
|
102
112
|
liveUrl,
|
|
103
113
|
reportPid,
|
|
104
114
|
reportReused,
|
|
105
|
-
next:
|
|
115
|
+
next: `${hostNotes} ` +
|
|
106
116
|
"The report runs in the background — reopen with `kya receipt --open`, " +
|
|
107
117
|
"stop with `kya stop`.",
|
|
108
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ReloadClass = "auto" | "session" | "restart";
|
|
2
|
+
export interface HostReload {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly reload: ReloadClass;
|
|
5
|
+
/** One-line mechanism note, shown verbatim to users. */
|
|
6
|
+
readonly detail: string;
|
|
7
|
+
/** Process-name fragments (basename, lowercase) for running detection. */
|
|
8
|
+
readonly processNames: readonly string[];
|
|
9
|
+
/** Context-preserving relaunch tip, when the host has one. */
|
|
10
|
+
readonly resumeTip?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const HOST_RELOAD: Readonly<Record<string, HostReload>>;
|
|
13
|
+
export declare function hostReload(id: string): HostReload | undefined;
|
|
14
|
+
/** Basenames of running processes (lowercase). POSIX ps; empty on failure. */
|
|
15
|
+
export declare function listProcessNames(platform?: NodeJS.Platform): ReadonlySet<string>;
|
|
16
|
+
export declare function hostRunning(info: HostReload, procs: ReadonlySet<string>): boolean;
|
|
17
|
+
/** Human next-step line for a just-wired host, accurate about restarts. */
|
|
18
|
+
export declare function reloadMessage(info: HostReload, label: string, running: boolean): string;
|
|
19
|
+
//# sourceMappingURL=host-reload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-reload.d.ts","sourceRoot":"","sources":["../src/host-reload.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA4F5D,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,WAAW,CAAC,MAAM,CAAC,CA2BlG;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEjF;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAavF"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-host MCP reload behavior — researched against official docs, 2026-09.
|
|
3
|
+
* The blanket "restart your host" instruction was wrong for most hosts: many
|
|
4
|
+
* watch their config file (or offer an in-session reload) and pick up a new
|
|
5
|
+
* server with no restart at all. Messaging in `connect` / `start` is built
|
|
6
|
+
* from this table, and docs/hosts/<id>.md pages mirror it.
|
|
7
|
+
*
|
|
8
|
+
* Classes:
|
|
9
|
+
* auto — new server is picked up in the running host (file watcher or
|
|
10
|
+
* in-session refresh; detail says which)
|
|
11
|
+
* session — loads in the next session/conversation; app stays open
|
|
12
|
+
* restart — process must be relaunched (resumeTip preserves context if any)
|
|
13
|
+
*/
|
|
14
|
+
import { execFileSync } from "node:child_process";
|
|
15
|
+
export const HOST_RELOAD = {
|
|
16
|
+
cursor: {
|
|
17
|
+
id: "cursor",
|
|
18
|
+
reload: "auto",
|
|
19
|
+
detail: "Cursor watches mcp.json and starts new stdio servers on its own",
|
|
20
|
+
processNames: ["cursor", "cursor-agent"],
|
|
21
|
+
},
|
|
22
|
+
kiro: {
|
|
23
|
+
id: "kiro",
|
|
24
|
+
reload: "auto",
|
|
25
|
+
detail: "Kiro hot-reloads mcp.json on save — only the new server starts",
|
|
26
|
+
processNames: ["kiro", "kiro-cli"],
|
|
27
|
+
},
|
|
28
|
+
qwen: {
|
|
29
|
+
id: "qwen",
|
|
30
|
+
reload: "auto",
|
|
31
|
+
detail: "Qwen Code live-reconciles MCP servers when settings.json changes",
|
|
32
|
+
processNames: ["qwen"],
|
|
33
|
+
},
|
|
34
|
+
amp: {
|
|
35
|
+
id: "amp",
|
|
36
|
+
reload: "auto",
|
|
37
|
+
detail: "Amp applies settings.json changes live (workspace entries need one approval)",
|
|
38
|
+
processNames: ["amp"],
|
|
39
|
+
},
|
|
40
|
+
droid: {
|
|
41
|
+
id: "droid",
|
|
42
|
+
reload: "auto",
|
|
43
|
+
detail: "Droid reloads automatically when mcp.json changes",
|
|
44
|
+
processNames: ["droid"],
|
|
45
|
+
},
|
|
46
|
+
cline: {
|
|
47
|
+
id: "cline",
|
|
48
|
+
reload: "auto",
|
|
49
|
+
detail: "Cline watches cline_mcp_settings.json and connects new servers on save",
|
|
50
|
+
processNames: ["code", "code-insiders"],
|
|
51
|
+
},
|
|
52
|
+
grok: {
|
|
53
|
+
id: "grok",
|
|
54
|
+
reload: "auto",
|
|
55
|
+
detail: "in a running Grok session press r in /mcps to refresh after config edits",
|
|
56
|
+
processNames: ["grok"],
|
|
57
|
+
},
|
|
58
|
+
mastracode: {
|
|
59
|
+
id: "mastracode",
|
|
60
|
+
reload: "auto",
|
|
61
|
+
detail: "in a running MastraCode session run /mcp to reload connections",
|
|
62
|
+
processNames: ["mastracode"],
|
|
63
|
+
},
|
|
64
|
+
kimi: {
|
|
65
|
+
id: "kimi",
|
|
66
|
+
reload: "session",
|
|
67
|
+
detail: "Kimi Code registers MCP servers at session start — a new session is enough",
|
|
68
|
+
processNames: ["kimi"],
|
|
69
|
+
},
|
|
70
|
+
claude: {
|
|
71
|
+
id: "claude",
|
|
72
|
+
reload: "restart",
|
|
73
|
+
detail: "Claude Code loads MCP servers at process start",
|
|
74
|
+
processNames: ["claude"],
|
|
75
|
+
resumeTip: "claude --resume keeps the conversation",
|
|
76
|
+
},
|
|
77
|
+
codex: {
|
|
78
|
+
id: "codex",
|
|
79
|
+
reload: "restart",
|
|
80
|
+
detail: "Codex loads MCP servers at process start",
|
|
81
|
+
processNames: ["codex"],
|
|
82
|
+
},
|
|
83
|
+
gemini: {
|
|
84
|
+
id: "gemini",
|
|
85
|
+
reload: "restart",
|
|
86
|
+
detail: "Gemini CLI reads mcpServers once at startup (marked requiresRestart)",
|
|
87
|
+
processNames: ["gemini"],
|
|
88
|
+
},
|
|
89
|
+
copilot: {
|
|
90
|
+
id: "copilot",
|
|
91
|
+
reload: "restart",
|
|
92
|
+
detail: "Copilot CLI loads MCP servers at startup",
|
|
93
|
+
processNames: ["copilot"],
|
|
94
|
+
},
|
|
95
|
+
opencode: {
|
|
96
|
+
id: "opencode",
|
|
97
|
+
reload: "restart",
|
|
98
|
+
detail: "OpenCode connects MCP servers once at startup (hot-reload lands in v2)",
|
|
99
|
+
processNames: ["opencode"],
|
|
100
|
+
},
|
|
101
|
+
kilo: {
|
|
102
|
+
id: "kilo",
|
|
103
|
+
reload: "restart",
|
|
104
|
+
detail: "Kilo Code CLI reads kilo.json at startup (the VS Code extension hot-reloads instead)",
|
|
105
|
+
processNames: ["kilo"],
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
export function hostReload(id) {
|
|
109
|
+
return HOST_RELOAD[id];
|
|
110
|
+
}
|
|
111
|
+
/** Basenames of running processes (lowercase). POSIX ps; empty on failure. */
|
|
112
|
+
export function listProcessNames(platform = process.platform) {
|
|
113
|
+
try {
|
|
114
|
+
if (platform === "win32") {
|
|
115
|
+
const out = execFileSync("tasklist", ["/fo", "csv", "/nh"], {
|
|
116
|
+
encoding: "utf8",
|
|
117
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
118
|
+
});
|
|
119
|
+
return new Set(out
|
|
120
|
+
.split("\n")
|
|
121
|
+
.map((line) => line.split('","')[0]?.replace(/^"|"$/g, "").toLowerCase())
|
|
122
|
+
.filter((name) => Boolean(name)));
|
|
123
|
+
}
|
|
124
|
+
const out = execFileSync("ps", ["-axo", "comm="], {
|
|
125
|
+
encoding: "utf8",
|
|
126
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
127
|
+
});
|
|
128
|
+
return new Set(out
|
|
129
|
+
.split("\n")
|
|
130
|
+
.map((line) => line.trim().split("/").pop()?.toLowerCase())
|
|
131
|
+
.filter((name) => Boolean(name)));
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return new Set();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export function hostRunning(info, procs) {
|
|
138
|
+
return info.processNames.some((name) => procs.has(name));
|
|
139
|
+
}
|
|
140
|
+
/** Human next-step line for a just-wired host, accurate about restarts. */
|
|
141
|
+
export function reloadMessage(info, label, running) {
|
|
142
|
+
switch (info.reload) {
|
|
143
|
+
case "auto":
|
|
144
|
+
return `No restart needed — ${info.detail}.`;
|
|
145
|
+
case "session":
|
|
146
|
+
return running
|
|
147
|
+
? `${label} is running — start a new session to load shield-kya (${info.detail}). No app restart.`
|
|
148
|
+
: `shield-kya loads in your next ${label} session — no restart needed.`;
|
|
149
|
+
case "restart":
|
|
150
|
+
return running
|
|
151
|
+
? `${label} is running — relaunch it to load shield-kya (${info.detail}${info.resumeTip ? `; ${info.resumeTip}` : ""}).`
|
|
152
|
+
: `shield-kya loads when you next start ${label} — it is not running, so nothing to restart.`;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=host-reload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-reload.js","sourceRoot":"","sources":["../src/host-reload.ts"],"names":[],"mappings":"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"}
|
package/dist/node-upgrade.d.ts
CHANGED
|
@@ -5,12 +5,28 @@ export interface NodeGateDeps {
|
|
|
5
5
|
readonly platform?: NodeJS.Platform;
|
|
6
6
|
readonly hasCmd?: (cmd: string) => boolean;
|
|
7
7
|
readonly hasFile?: (path: string) => boolean;
|
|
8
|
-
readonly run?: (
|
|
8
|
+
readonly run?: (cmd: string, args: readonly string[], env: NodeJS.ProcessEnv) => Promise<number>;
|
|
9
|
+
readonly readdir?: (dir: string) => readonly string[];
|
|
10
|
+
readonly firstNodeOnPath?: () => string | undefined;
|
|
11
|
+
readonly cliJs?: string;
|
|
9
12
|
}
|
|
10
13
|
export declare function currentNodeMajor(version?: string): number;
|
|
11
14
|
export declare function nodeSatisfied(version?: string): boolean;
|
|
12
15
|
/** Priority: dedicated managers first, brew last (shared global prefix). */
|
|
13
16
|
export declare function detectNodeManager(env: NodeJS.ProcessEnv, deps?: NodeGateDeps): NodeManager | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Newest already-installed Node that satisfies the requirement, per the
|
|
19
|
+
* manager's own versions dir. The gate uses this to never re-offer an install
|
|
20
|
+
* that already succeeded — a repeat prompt means the shell is shadowing the
|
|
21
|
+
* manager's node, not that the upgrade is missing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function findInstalledNode(manager: NodeManager, env: NodeJS.ProcessEnv, deps?: NodeGateDeps): string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Absolute path to the node binary for an installed version, per manager
|
|
26
|
+
* layout. Lets the gate re-exec the current command under the compliant
|
|
27
|
+
* runtime directly — no shell sourcing, immune to the user's PATH order.
|
|
28
|
+
*/
|
|
29
|
+
export declare function installedNodeBin(manager: NodeManager, installed: string, env: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string | undefined;
|
|
14
30
|
/** Shell script that installs Node 24, reinstalls the CLI, and re-runs argv. */
|
|
15
31
|
export declare function buildUpgradeScript(manager: NodeManager, env: NodeJS.ProcessEnv, argv: readonly string[]): {
|
|
16
32
|
shell: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-upgrade.d.ts","sourceRoot":"","sources":["../src/node-upgrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-upgrade.d.ts","sourceRoot":"","sources":["../src/node-upgrade.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CAG1E;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAwB,GAAG,OAAO,CAExE;AAkBD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,GAAE,YAAiB,GACtB,WAAW,GAAG,SAAS,CASzB;AAgDD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,GAAE,YAAiB,GACtB,MAAM,GAAG,SAAS,CAKpB;AAkCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAepB;AASD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CA8B5C;AAwBD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAID;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwE7B"}
|
package/dist/node-upgrade.js
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* set by the upgrade re-exec and by the receipt daemon child so the check
|
|
10
10
|
* never loops.
|
|
11
11
|
*/
|
|
12
|
-
import { existsSync } from "node:fs";
|
|
12
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
13
13
|
import { spawn } from "node:child_process";
|
|
14
14
|
import { join } from "node:path";
|
|
15
|
+
import { fileURLToPath } from "node:url";
|
|
15
16
|
import { createInterface } from "node:readline";
|
|
16
17
|
export const REQUIRED_NODE_MAJOR = 24;
|
|
17
18
|
export function currentNodeMajor(version = process.version) {
|
|
@@ -52,6 +53,118 @@ export function detectNodeManager(env, deps = {}) {
|
|
|
52
53
|
return "brew";
|
|
53
54
|
return undefined;
|
|
54
55
|
}
|
|
56
|
+
function safeReaddir(dir) {
|
|
57
|
+
try {
|
|
58
|
+
return readdirSync(dir);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function bestSatisfying(entries) {
|
|
65
|
+
let best;
|
|
66
|
+
let bestMajor = -1;
|
|
67
|
+
let bestMinor = -1;
|
|
68
|
+
let bestPatch = -1;
|
|
69
|
+
for (const entry of entries) {
|
|
70
|
+
const match = /^v?(\d+)\.(\d+)\.(\d+)$/.exec(entry);
|
|
71
|
+
if (!match)
|
|
72
|
+
continue;
|
|
73
|
+
const [major, minor, patch] = [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
74
|
+
if (major < REQUIRED_NODE_MAJOR)
|
|
75
|
+
continue;
|
|
76
|
+
if (major > bestMajor ||
|
|
77
|
+
(major === bestMajor && minor > bestMinor) ||
|
|
78
|
+
(major === bestMajor && minor === bestMinor && patch > bestPatch)) {
|
|
79
|
+
best = `v${major}.${minor}.${patch}`;
|
|
80
|
+
bestMajor = major;
|
|
81
|
+
bestMinor = minor;
|
|
82
|
+
bestPatch = patch;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return best;
|
|
86
|
+
}
|
|
87
|
+
function managerVersionsDir(manager, env) {
|
|
88
|
+
const home = env.HOME ?? "";
|
|
89
|
+
switch (manager) {
|
|
90
|
+
case "nvm":
|
|
91
|
+
return join(env.NVM_DIR ?? join(home, ".nvm"), "versions", "node");
|
|
92
|
+
case "volta":
|
|
93
|
+
return join(home, ".volta", "tools", "image", "node");
|
|
94
|
+
case "fnm":
|
|
95
|
+
return join(env.FNM_DIR ?? join(home, ".local", "share", "fnm"), "node-versions");
|
|
96
|
+
case "brew":
|
|
97
|
+
return undefined; // cellar layout varies; rely on the prompt path
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Newest already-installed Node that satisfies the requirement, per the
|
|
102
|
+
* manager's own versions dir. The gate uses this to never re-offer an install
|
|
103
|
+
* that already succeeded — a repeat prompt means the shell is shadowing the
|
|
104
|
+
* manager's node, not that the upgrade is missing.
|
|
105
|
+
*/
|
|
106
|
+
export function findInstalledNode(manager, env, deps = {}) {
|
|
107
|
+
const dir = managerVersionsDir(manager, env);
|
|
108
|
+
if (!dir)
|
|
109
|
+
return undefined;
|
|
110
|
+
const readdir = deps.readdir ?? safeReaddir;
|
|
111
|
+
return bestSatisfying(readdir(dir));
|
|
112
|
+
}
|
|
113
|
+
function defaultFirstNodeOnPath() {
|
|
114
|
+
const pathEnv = process.env.PATH ?? "";
|
|
115
|
+
for (const dir of pathEnv.split(process.platform === "win32" ? ";" : ":")) {
|
|
116
|
+
if (!dir)
|
|
117
|
+
continue;
|
|
118
|
+
const candidate = join(dir, process.platform === "win32" ? "node.exe" : "node");
|
|
119
|
+
if (existsSync(candidate))
|
|
120
|
+
return candidate;
|
|
121
|
+
}
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* cli.js sits next to this module when compiled (dist/), one level down in
|
|
126
|
+
* dist/ when running from source (tests). Resolve whichever exists.
|
|
127
|
+
*/
|
|
128
|
+
function defaultCliJs() {
|
|
129
|
+
const compiled = fileURLToPath(new URL("./cli.js", import.meta.url));
|
|
130
|
+
if (existsSync(compiled))
|
|
131
|
+
return compiled;
|
|
132
|
+
return fileURLToPath(new URL("../dist/cli.js", import.meta.url));
|
|
133
|
+
}
|
|
134
|
+
function switchHint(manager, installed) {
|
|
135
|
+
switch (manager) {
|
|
136
|
+
case "nvm":
|
|
137
|
+
return `nvm use ${installed}`;
|
|
138
|
+
case "fnm":
|
|
139
|
+
return `fnm use ${installed}`;
|
|
140
|
+
case "volta":
|
|
141
|
+
return `volta install node@${installed.replace(/^v/, "")}`;
|
|
142
|
+
case "brew":
|
|
143
|
+
return "check PATH order";
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Absolute path to the node binary for an installed version, per manager
|
|
148
|
+
* layout. Lets the gate re-exec the current command under the compliant
|
|
149
|
+
* runtime directly — no shell sourcing, immune to the user's PATH order.
|
|
150
|
+
*/
|
|
151
|
+
export function installedNodeBin(manager, installed, env, platform = process.platform) {
|
|
152
|
+
const dir = managerVersionsDir(manager, env);
|
|
153
|
+
if (!dir)
|
|
154
|
+
return undefined;
|
|
155
|
+
const bare = installed.replace(/^v/, "");
|
|
156
|
+
const exe = platform === "win32" ? "node.exe" : "node";
|
|
157
|
+
switch (manager) {
|
|
158
|
+
case "nvm":
|
|
159
|
+
return join(dir, `v${bare}`, "bin", exe);
|
|
160
|
+
case "volta":
|
|
161
|
+
return join(dir, bare, "bin", exe);
|
|
162
|
+
case "fnm":
|
|
163
|
+
return join(dir, `v${bare}`, "installation", "bin", exe);
|
|
164
|
+
case "brew":
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
55
168
|
function rerunTail(argv) {
|
|
56
169
|
// --force on start so MCP blocks are rewritten to the new node's execPath.
|
|
57
170
|
const needsForce = argv[0] === "start" && !argv.includes("--force");
|
|
@@ -85,9 +198,9 @@ export function buildUpgradeScript(manager, env, argv) {
|
|
|
85
198
|
lines.push(tail);
|
|
86
199
|
return { shell: "bash", args: ["-c", lines.join("\n")] };
|
|
87
200
|
}
|
|
88
|
-
async function defaultRun(
|
|
201
|
+
async function defaultRun(cmd, args, env) {
|
|
89
202
|
return new Promise((resolve, reject) => {
|
|
90
|
-
const child = spawn(
|
|
203
|
+
const child = spawn(cmd, [...args], { stdio: "inherit", env });
|
|
91
204
|
child.on("error", reject);
|
|
92
205
|
child.on("close", (code) => resolve(code ?? 1));
|
|
93
206
|
});
|
|
@@ -116,13 +229,42 @@ export async function ensureSupportedNode(io, env, argv, command, deps = {}) {
|
|
|
116
229
|
if (nodeSatisfied(version))
|
|
117
230
|
return undefined;
|
|
118
231
|
const warn = `KYA needs Node.js ${REQUIRED_NODE_MAJOR}+ (you have ${version}).`;
|
|
232
|
+
const manager = detectNodeManager(env, deps);
|
|
233
|
+
// Upgrade already done once? Don't re-offer the install — re-exec this
|
|
234
|
+
// command under the installed runtime directly (immune to PATH order).
|
|
235
|
+
// Only the shadow case (binary missing on disk) falls back to a message.
|
|
236
|
+
const installed = manager ? findInstalledNode(manager, env, deps) : undefined;
|
|
237
|
+
if (manager && installed) {
|
|
238
|
+
const bin = (deps.platform ?? process.platform) === "win32"
|
|
239
|
+
? undefined
|
|
240
|
+
: installedNodeBin(manager, installed, env, deps.platform ?? process.platform);
|
|
241
|
+
const hasFile = deps.hasFile ?? existsSync;
|
|
242
|
+
if (bin && hasFile(bin) && env.KYA_NODE_REEXEC !== "1") {
|
|
243
|
+
const cliJs = deps.cliJs ?? defaultCliJs();
|
|
244
|
+
const run = deps.run ?? defaultRun;
|
|
245
|
+
io.error(`Running under Node ${installed} (already installed via ${manager}; this shell defaults to ${version} — ${switchHint(manager, installed)} makes it permanent).`);
|
|
246
|
+
return run(bin, [cliJs, ...argv], {
|
|
247
|
+
...env,
|
|
248
|
+
KYA_NODE_CHECKED: "1",
|
|
249
|
+
KYA_NODE_REEXEC: "1",
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
const firstNode = (deps.firstNodeOnPath ?? defaultFirstNodeOnPath)();
|
|
253
|
+
const versionsDir = managerVersionsDir(manager, env);
|
|
254
|
+
const shadow = firstNode && versionsDir && !firstNode.startsWith(versionsDir)
|
|
255
|
+
? ` from ${firstNode}`
|
|
256
|
+
: "";
|
|
257
|
+
io.error(`Node ${installed} is already installed via ${manager}, but this shell runs ${version}${shadow}. ` +
|
|
258
|
+
`Run \`${switchHint(manager, installed)}\` or open a new terminal — then this warning stops. ` +
|
|
259
|
+
`Continuing on ${version}.`);
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
119
262
|
const isTty = io.isTty ?? Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
120
263
|
const confirm = io.confirm ?? defaultConfirm;
|
|
121
264
|
if (!isTty) {
|
|
122
265
|
io.error(`${warn} Continuing anyway — some features may break.`);
|
|
123
266
|
return undefined;
|
|
124
267
|
}
|
|
125
|
-
const manager = detectNodeManager(env, deps);
|
|
126
268
|
const question = manager
|
|
127
269
|
? `${warn} Upgrade to Node 24 via ${manager} now and continue? [Y/n]`
|
|
128
270
|
: `${warn} No version manager found (nodejs.org/en/download). Continue anyway? [Y/n]`;
|
|
@@ -135,6 +277,11 @@ export async function ensureSupportedNode(io, env, argv, command, deps = {}) {
|
|
|
135
277
|
return undefined;
|
|
136
278
|
const script = buildUpgradeScript(manager, env, argv);
|
|
137
279
|
const run = deps.run ?? defaultRun;
|
|
138
|
-
|
|
280
|
+
const code = await run(script.shell, script.args, env);
|
|
281
|
+
if (code === 0) {
|
|
282
|
+
io.error(`Node 24 installed and set as default. This terminal still runs ${version} — ` +
|
|
283
|
+
"open a new terminal next time (your command above already finished on Node 24).");
|
|
284
|
+
}
|
|
285
|
+
return code;
|
|
139
286
|
}
|
|
140
287
|
//# sourceMappingURL=node-upgrade.js.map
|
package/dist/node-upgrade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-upgrade.js","sourceRoot":"","sources":["../src/node-upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node-upgrade.js","sourceRoot":"","sources":["../src/node-upgrade.ts"],"names":[],"mappings":"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"}
|
package/droid/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Droid (Factory) + Shield KYA
|
|
2
2
|
|
|
3
|
-
Preferred path is Droid's own CLI: `droid mcp add shield-kya "npx --no-install @shield-agent/kya@0.1.
|
|
3
|
+
Preferred path is Droid's own CLI: `droid mcp add shield-kya "npx --no-install @shield-agent/kya@0.1.39 serve-mcp --stdio" --env KYA_BASE_URL=https://shield-agent.com --env KYA_API_KEY=$KYA_API_KEY --env KYA_HOST=ide`.
|
|
4
4
|
|
|
5
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
6
|
|
package/droid/mcp.example.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.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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.
|
|
43
|
+
npx --no-install @shield-agent/kya@0.1.39 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/kilo.example.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcp": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"type": "local",
|
|
5
|
-
"command": ["npx", "--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"command": ["npx", "--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"enabled": true,
|
|
7
7
|
"environment": {
|
|
8
8
|
"KYA_BASE_URL": "https://shield-agent.com",
|
package/kimi/mcp.example.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.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
package/kiro/mcp.example.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.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
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.
|
|
5
|
+
"version": "0.1.39",
|
|
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": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
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.
|
|
6
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "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.
|
|
14
|
+
args = ["--no-install", "@shield-agent/kya@0.1.39", "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
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcp": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"type": "local",
|
|
5
|
-
"command": ["npx", "--no-install", "@shield-agent/kya@0.1.
|
|
5
|
+
"command": ["npx", "--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"enabled": true,
|
|
7
7
|
"environment": {
|
|
8
8
|
"KYA_BASE_URL": "https://shield-agent.com",
|
package/package.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.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.1.39", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
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.
|
|
10
|
+
"version": "0.1.39",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@shield-agent/kya",
|
|
15
|
-
"version": "0.1.
|
|
15
|
+
"version": "0.1.39",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|