@shield-agent/kya 0.1.19 → 0.1.21
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 +7 -4
- package/claude/claude_desktop_config.example.json +1 -1
- package/dist/commands/dash.d.ts.map +1 -1
- package/dist/commands/dash.js +192 -40
- package/dist/commands/dash.js.map +1 -1
- package/dist/commands/orr.d.ts +3 -0
- package/dist/commands/orr.d.ts.map +1 -1
- package/dist/commands/orr.js +23 -51
- package/dist/commands/orr.js.map +1 -1
- package/dist/dash/dash.d.ts +4 -0
- package/dist/dash/dash.d.ts.map +1 -1
- package/dist/dash/dash.js +21 -4
- package/dist/dash/dash.js.map +1 -1
- package/dist/dash/entitlement.d.ts +1 -1
- package/dist/dash/entitlement.d.ts.map +1 -1
- package/dist/dash/entitlement.js +1 -0
- package/dist/dash/entitlement.js.map +1 -1
- package/dist/dash/input.d.ts +1 -1
- package/dist/dash/input.d.ts.map +1 -1
- package/dist/dash/input.js +11 -0
- package/dist/dash/input.js.map +1 -1
- package/dist/dash/policy-cache.d.ts +18 -0
- package/dist/dash/policy-cache.d.ts.map +1 -0
- package/dist/dash/policy-cache.js +37 -0
- package/dist/dash/policy-cache.js.map +1 -0
- package/dist/dash/render.d.ts.map +1 -1
- package/dist/dash/render.js +3 -2
- package/dist/dash/render.js.map +1 -1
- package/dist/dash/screens/free.d.ts +9 -1
- package/dist/dash/screens/free.d.ts.map +1 -1
- package/dist/dash/screens/free.js +24 -7
- package/dist/dash/screens/free.js.map +1 -1
- package/dist/orr/scorecard.d.ts +30 -0
- package/dist/orr/scorecard.d.ts.map +1 -0
- package/dist/orr/scorecard.js +107 -0
- package/dist/orr/scorecard.js.map +1 -0
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/manifest.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional ORR producer for OpenSSF Scorecard (CLI `scorecard`).
|
|
3
|
+
* Evidence only — never a PEP. Never --fix, never npx -y.
|
|
4
|
+
*/
|
|
5
|
+
import type { OrrCoverageGap, OrrFinding } from "../commands/orr.js";
|
|
6
|
+
export declare const SCORECARD_PRODUCER_ID = "openssf.scorecard";
|
|
7
|
+
export interface ScorecardSpawnResult {
|
|
8
|
+
readonly status: number | null;
|
|
9
|
+
readonly stdout: string | Buffer;
|
|
10
|
+
readonly stderr: string | Buffer;
|
|
11
|
+
readonly error?: NodeJS.ErrnoException;
|
|
12
|
+
}
|
|
13
|
+
export type ScorecardSpawnFn = (command: string, args: readonly string[], options: {
|
|
14
|
+
encoding: "utf8";
|
|
15
|
+
timeout: number;
|
|
16
|
+
maxBuffer: number;
|
|
17
|
+
windowsHide: boolean;
|
|
18
|
+
}) => ScorecardSpawnResult;
|
|
19
|
+
export declare function buildScorecardArgv(absPath: string): {
|
|
20
|
+
command: string;
|
|
21
|
+
args: readonly string[];
|
|
22
|
+
};
|
|
23
|
+
/** Map Scorecard JSON dump into observational findings. Never maps to ALLOW. */
|
|
24
|
+
export declare function ingestScorecardJson(parsed: unknown, evidencePath: string): OrrFinding[];
|
|
25
|
+
export declare function tryRunScorecardCli(targetPath: string, spawn?: ScorecardSpawnFn): {
|
|
26
|
+
findings: OrrFinding[];
|
|
27
|
+
} | {
|
|
28
|
+
gap: OrrCoverageGap;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=scorecard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scorecard.d.ts","sourceRoot":"","sources":["../../src/orr/scorecard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB,KACE,oBAAoB,CAAC;AAE1B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB,CAMA;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,MAAM,GACnB,UAAU,EAAE,CAmCd;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,gBAAgB,GACvB;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,CA8BtD"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional ORR producer for OpenSSF Scorecard (CLI `scorecard`).
|
|
3
|
+
* Evidence only — never a PEP. Never --fix, never npx -y.
|
|
4
|
+
*/
|
|
5
|
+
import { spawnSync } from "node:child_process";
|
|
6
|
+
export const SCORECARD_PRODUCER_ID = "openssf.scorecard";
|
|
7
|
+
export function buildScorecardArgv(absPath) {
|
|
8
|
+
const fromEnv = process.env.SCORECARD_BIN?.trim();
|
|
9
|
+
return {
|
|
10
|
+
command: fromEnv && fromEnv.length > 0 ? fromEnv : "scorecard",
|
|
11
|
+
args: ["--local", absPath, "--format", "json"],
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** Map Scorecard JSON dump into observational findings. Never maps to ALLOW. */
|
|
15
|
+
export function ingestScorecardJson(parsed, evidencePath) {
|
|
16
|
+
const obj = parsed && typeof parsed === "object" ? parsed : {};
|
|
17
|
+
const score = typeof obj.score === "number" ? obj.score : undefined;
|
|
18
|
+
const checks = Array.isArray(obj.checks) ? obj.checks : [];
|
|
19
|
+
const findings = [
|
|
20
|
+
{
|
|
21
|
+
id: "sa.scorecard.ingested",
|
|
22
|
+
category: "enterprise_readiness",
|
|
23
|
+
severity: "info",
|
|
24
|
+
title: "Scorecard ingested as evidence",
|
|
25
|
+
detail: score === undefined
|
|
26
|
+
? "Scorecard dump loaded. Does not ALLOW side effects."
|
|
27
|
+
: `Scorecard score=${score} (evidence only — not a PEP).`,
|
|
28
|
+
evidence: evidencePath,
|
|
29
|
+
source_tool: SCORECARD_PRODUCER_ID,
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
for (const raw of checks.slice(0, 24)) {
|
|
33
|
+
if (!raw || typeof raw !== "object")
|
|
34
|
+
continue;
|
|
35
|
+
const check = raw;
|
|
36
|
+
const name = typeof check.name === "string" ? check.name : "check";
|
|
37
|
+
const checkScore = check.score;
|
|
38
|
+
findings.push({
|
|
39
|
+
id: `sa.scorecard.check.${name.toLowerCase().replace(/[^a-z0-9]+/g, "_")}`,
|
|
40
|
+
category: "enterprise_readiness",
|
|
41
|
+
severity: "info",
|
|
42
|
+
title: `Scorecard ${name}`,
|
|
43
|
+
detail: `score=${String(checkScore ?? "n/a")} — evidence only`,
|
|
44
|
+
evidence: evidencePath,
|
|
45
|
+
source_tool: SCORECARD_PRODUCER_ID,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return findings;
|
|
49
|
+
}
|
|
50
|
+
export function tryRunScorecardCli(targetPath, spawn) {
|
|
51
|
+
const run = spawn ?? defaultScorecardSpawn;
|
|
52
|
+
const { command, args } = buildScorecardArgv(targetPath);
|
|
53
|
+
let result;
|
|
54
|
+
try {
|
|
55
|
+
result = run(command, args, {
|
|
56
|
+
encoding: "utf8",
|
|
57
|
+
timeout: 120_000,
|
|
58
|
+
maxBuffer: 8 * 1024 * 1024,
|
|
59
|
+
windowsHide: true,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
const code = err && typeof err === "object" && "code" in err
|
|
64
|
+
? String(err.code)
|
|
65
|
+
: "";
|
|
66
|
+
if (code === "ENOENT") {
|
|
67
|
+
return { gap: { adapter_id: SCORECARD_PRODUCER_ID, reason: "binary_not_found" } };
|
|
68
|
+
}
|
|
69
|
+
return { gap: { adapter_id: SCORECARD_PRODUCER_ID, reason: "error_non_fatal" } };
|
|
70
|
+
}
|
|
71
|
+
if (result.error?.code === "ENOENT") {
|
|
72
|
+
return { gap: { adapter_id: SCORECARD_PRODUCER_ID, reason: "binary_not_found" } };
|
|
73
|
+
}
|
|
74
|
+
const stdout = bufferToString(result.stdout);
|
|
75
|
+
const parsed = tryParseJson(stdout);
|
|
76
|
+
if (parsed === undefined) {
|
|
77
|
+
return { gap: { adapter_id: SCORECARD_PRODUCER_ID, reason: "error_non_fatal" } };
|
|
78
|
+
}
|
|
79
|
+
return { findings: ingestScorecardJson(parsed, `scorecard://local/${targetPath}`) };
|
|
80
|
+
}
|
|
81
|
+
function defaultScorecardSpawn(command, args, options) {
|
|
82
|
+
return spawnSync(command, [...args], {
|
|
83
|
+
encoding: options.encoding,
|
|
84
|
+
timeout: options.timeout,
|
|
85
|
+
maxBuffer: options.maxBuffer,
|
|
86
|
+
windowsHide: options.windowsHide,
|
|
87
|
+
shell: false,
|
|
88
|
+
env: process.env,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function bufferToString(value) {
|
|
92
|
+
if (typeof value === "string")
|
|
93
|
+
return value;
|
|
94
|
+
return Buffer.isBuffer(value) ? value.toString("utf8") : "";
|
|
95
|
+
}
|
|
96
|
+
function tryParseJson(text) {
|
|
97
|
+
const trimmed = text.trim();
|
|
98
|
+
if (!trimmed)
|
|
99
|
+
return undefined;
|
|
100
|
+
try {
|
|
101
|
+
return JSON.parse(trimmed);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=scorecard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scorecard.js","sourceRoot":"","sources":["../../src/orr/scorecard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAoBzD,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAIhD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;QAC9D,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CACjC,MAAe,EACf,YAAoB;IAEpB,MAAM,GAAG,GACP,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAiB;QAC7B;YACE,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,gCAAgC;YACvC,MAAM,EACJ,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,qDAAqD;gBACvD,CAAC,CAAC,mBAAmB,KAAK,+BAA+B;YAC7D,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,qBAAqB;SACnC;KACF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC9C,MAAM,KAAK,GAAG,GAA8B,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,sBAAsB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;YAC1E,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,aAAa,IAAI,EAAE;YAC1B,MAAM,EAAE,SAAS,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,kBAAkB;YAC9D,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,qBAAqB;SACnC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,KAAwB;IAExB,MAAM,GAAG,GAAG,KAAK,IAAI,qBAAqB,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,MAA4B,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;YAC1B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GACR,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG;YAC7C,CAAC,CAAC,MAAM,CAAE,GAA0B,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,UAAU,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAe,EACf,IAAuB,EACvB,OAKC;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -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.21", "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.21 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/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.21",
|
|
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": {
|
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.21", "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.21", "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
|
|
package/package.json
CHANGED
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.21",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@shield-agent/kya",
|
|
15
|
-
"version": "0.1.
|
|
15
|
+
"version": "0.1.21",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|