@shield-agent/kya 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/.mcp.json +1 -1
  2. package/README.md +17 -3
  3. package/amp/settings.example.json +1 -1
  4. package/claude/claude_desktop_config.example.json +1 -1
  5. package/cline/cline_mcp_settings.example.json +1 -1
  6. package/copilot/mcp-config.example.json +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +80 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/connect.d.ts +14 -2
  11. package/dist/commands/connect.d.ts.map +1 -1
  12. package/dist/commands/connect.js +84 -31
  13. package/dist/commands/connect.js.map +1 -1
  14. package/dist/commands/gate-serve.d.ts +23 -0
  15. package/dist/commands/gate-serve.d.ts.map +1 -0
  16. package/dist/commands/gate-serve.js +93 -0
  17. package/dist/commands/gate-serve.js.map +1 -0
  18. package/dist/commands/gate.d.ts +85 -0
  19. package/dist/commands/gate.d.ts.map +1 -0
  20. package/dist/commands/gate.js +268 -0
  21. package/dist/commands/gate.js.map +1 -0
  22. package/dist/commands/stop.d.ts +3 -0
  23. package/dist/commands/stop.d.ts.map +1 -1
  24. package/dist/commands/stop.js +34 -0
  25. package/dist/commands/stop.js.map +1 -1
  26. package/dist/gate/binary.d.ts +49 -0
  27. package/dist/gate/binary.d.ts.map +1 -0
  28. package/dist/gate/binary.js +129 -0
  29. package/dist/gate/binary.js.map +1 -0
  30. package/dist/gate/config-gen.d.ts +24 -0
  31. package/dist/gate/config-gen.d.ts.map +1 -0
  32. package/dist/gate/config-gen.js +146 -0
  33. package/dist/gate/config-gen.js.map +1 -0
  34. package/dist/gate/config.d.ts +39 -0
  35. package/dist/gate/config.d.ts.map +1 -0
  36. package/dist/gate/config.js +177 -0
  37. package/dist/gate/config.js.map +1 -0
  38. package/dist/gate/daemon.d.ts +38 -0
  39. package/dist/gate/daemon.d.ts.map +1 -0
  40. package/dist/gate/daemon.js +117 -0
  41. package/dist/gate/daemon.js.map +1 -0
  42. package/dist/gate/otlp-decode.d.ts +21 -0
  43. package/dist/gate/otlp-decode.d.ts.map +1 -0
  44. package/dist/gate/otlp-decode.js +268 -0
  45. package/dist/gate/otlp-decode.js.map +1 -0
  46. package/dist/gate/otlp-receiver.d.ts +35 -0
  47. package/dist/gate/otlp-receiver.d.ts.map +1 -0
  48. package/dist/gate/otlp-receiver.js +186 -0
  49. package/dist/gate/otlp-receiver.js.map +1 -0
  50. package/dist/mcp-servers.d.ts +8 -0
  51. package/dist/mcp-servers.d.ts.map +1 -1
  52. package/dist/mcp-servers.js +15 -0
  53. package/dist/mcp-servers.js.map +1 -1
  54. package/dist/sdk/a2a.d.ts +27 -0
  55. package/dist/sdk/a2a.d.ts.map +1 -0
  56. package/dist/sdk/a2a.js +33 -0
  57. package/dist/sdk/a2a.js.map +1 -0
  58. package/dist/sdk/adapters/claude-agent.d.ts +16 -0
  59. package/dist/sdk/adapters/claude-agent.d.ts.map +1 -0
  60. package/dist/sdk/adapters/claude-agent.js +24 -0
  61. package/dist/sdk/adapters/claude-agent.js.map +1 -0
  62. package/dist/sdk/adapters/langgraph.d.ts +14 -0
  63. package/dist/sdk/adapters/langgraph.d.ts.map +1 -0
  64. package/dist/sdk/adapters/langgraph.js +19 -0
  65. package/dist/sdk/adapters/langgraph.js.map +1 -0
  66. package/dist/sdk/adapters/mastra.d.ts +14 -0
  67. package/dist/sdk/adapters/mastra.d.ts.map +1 -0
  68. package/dist/sdk/adapters/mastra.js +19 -0
  69. package/dist/sdk/adapters/mastra.js.map +1 -0
  70. package/dist/sdk/adapters/openai-agents.d.ts +17 -0
  71. package/dist/sdk/adapters/openai-agents.d.ts.map +1 -0
  72. package/dist/sdk/adapters/openai-agents.js +32 -0
  73. package/dist/sdk/adapters/openai-agents.js.map +1 -0
  74. package/dist/sdk/adapters/vercel-ai.d.ts +18 -0
  75. package/dist/sdk/adapters/vercel-ai.d.ts.map +1 -0
  76. package/dist/sdk/adapters/vercel-ai.js +20 -0
  77. package/dist/sdk/adapters/vercel-ai.js.map +1 -0
  78. package/dist/sdk/govern.d.ts +52 -0
  79. package/dist/sdk/govern.d.ts.map +1 -0
  80. package/dist/sdk/govern.js +95 -0
  81. package/dist/sdk/govern.js.map +1 -0
  82. package/dist/sdk/index.d.ts +14 -0
  83. package/dist/sdk/index.d.ts.map +1 -0
  84. package/dist/sdk/index.js +13 -0
  85. package/dist/sdk/index.js.map +1 -0
  86. package/droid/README.md +1 -1
  87. package/droid/mcp.example.json +1 -1
  88. package/gemini/settings.example.json +1 -1
  89. package/grok/README.md +1 -1
  90. package/kilo/kilo.example.json +1 -1
  91. package/kimi/mcp.example.json +1 -1
  92. package/kiro/mcp.example.json +1 -1
  93. package/manifest.json +1 -1
  94. package/mastracode/mcp.example.json +1 -1
  95. package/mcp.json +1 -1
  96. package/openai/codex.config.example.toml +1 -1
  97. package/opencode/opencode.example.json +1 -1
  98. package/package.json +5 -1
  99. package/qwen/settings.example.json +1 -1
  100. package/server.json +2 -2
@@ -0,0 +1,52 @@
1
+ /**
2
+ * In-process governance shim: evaluate a tool call through the same path
3
+ * `kya wrap` uses (offline sample evaluate by default — no network, no hosted
4
+ * plane required), record the trail event, then ALLOW/REQUIRE_APPROVE run the
5
+ * function while DENY throws KyaDeniedError without running it.
6
+ *
7
+ * Importing this module starts nothing: config resolves lazily on first call.
8
+ *
9
+ * Deliberate coupling: the trail write is fail-closed — a governance shim
10
+ * where the audit record cannot be written does not run the action.
11
+ */
12
+ import type { ResolvedConfig } from "../config.js";
13
+ import { KyaError } from "../errors.js";
14
+ import { type EvalToolResult } from "../commands/eval-tool.js";
15
+ export declare class KyaDeniedError extends KyaError {
16
+ readonly verdict: string;
17
+ readonly reasonCode: string;
18
+ readonly toolId: string;
19
+ constructor(input: {
20
+ verdict: string;
21
+ reasonCode: string;
22
+ toolId: string;
23
+ });
24
+ }
25
+ export interface GovernanceOptions {
26
+ /** MCP server id; toolId becomes `<server>__<toolId>` so the taxonomy lights up. */
27
+ readonly server?: string;
28
+ readonly irreversible?: boolean;
29
+ /** Explicit config (hosted plane honored). Default: lazy offline resolve. */
30
+ readonly config?: ResolvedConfig;
31
+ }
32
+ export interface GovernedOptions<TArgs, TResult> extends GovernanceOptions {
33
+ readonly toolId: string;
34
+ readonly fn: (args: TArgs) => Promise<TResult> | TResult;
35
+ }
36
+ /** `<server>__<name>` when a server is given, else the bare name. */
37
+ export declare function deriveSdkToolId(name: string, server?: string): string;
38
+ export declare function resolveSdkConfig(config?: ResolvedConfig): ResolvedConfig;
39
+ /** Trail parity with wrap: verdict/mode/reasonCode + change fields when derivable. */
40
+ export declare function recordSdkTrail(config: ResolvedConfig, evalResult: EvalToolResult, args: unknown, env?: NodeJS.ProcessEnv): void;
41
+ export interface GateCheckOptions extends GovernanceOptions {
42
+ readonly toolId: string;
43
+ }
44
+ /**
45
+ * The evaluate + trail half of governed(), constructed once per wrapped tool
46
+ * so the lazy config cache hits across calls. Adapters whose execution path
47
+ * closes over per-call context use this directly and invoke the framework
48
+ * callable themselves after the check passes.
49
+ */
50
+ export declare function createGateCheck(options: GateCheckOptions): (args: unknown) => Promise<void>;
51
+ export declare function governed<TArgs, TResult>(options: GovernedOptions<TArgs, TResult>): (args: TArgs) => Promise<TResult>;
52
+ //# sourceMappingURL=govern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govern.d.ts","sourceRoot":"","sources":["../../src/sdk/govern.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI5E,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAW3E;AAED,MAAM,WAAW,iBAAiB;IAChC,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAED,MAAM,WAAW,eAAe,CAAC,KAAK,EAAE,OAAO,CAAE,SAAQ,iBAAiB;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC1D;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAExE;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,OAAO,EACb,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CAuBN;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,GACxB,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAqBlC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EACrC,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,GACvC,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAMnC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * In-process governance shim: evaluate a tool call through the same path
3
+ * `kya wrap` uses (offline sample evaluate by default — no network, no hosted
4
+ * plane required), record the trail event, then ALLOW/REQUIRE_APPROVE run the
5
+ * function while DENY throws KyaDeniedError without running it.
6
+ *
7
+ * Importing this module starts nothing: config resolves lazily on first call.
8
+ *
9
+ * Deliberate coupling: the trail write is fail-closed — a governance shim
10
+ * where the audit record cannot be written does not run the action.
11
+ */
12
+ import { resolveConfig } from "../config.js";
13
+ import { KyaError } from "../errors.js";
14
+ import { runEvalTool } from "../commands/eval-tool.js";
15
+ import { appendTrail, defaultSessionId } from "../trail.js";
16
+ import { deriveWireChangeFields } from "../diff-preview.js";
17
+ export class KyaDeniedError extends KyaError {
18
+ verdict;
19
+ reasonCode;
20
+ toolId;
21
+ constructor(input) {
22
+ super(`kya ${input.verdict}: ${input.toolId} (${input.reasonCode || "no reason"}) — function not executed`, "KYA_DENIED", 1);
23
+ this.name = "KyaDeniedError";
24
+ this.verdict = input.verdict;
25
+ this.reasonCode = input.reasonCode;
26
+ this.toolId = input.toolId;
27
+ }
28
+ }
29
+ /** `<server>__<name>` when a server is given, else the bare name. */
30
+ export function deriveSdkToolId(name, server) {
31
+ const n = name.trim();
32
+ const s = server?.trim();
33
+ return s ? `${s}__${n}` : n;
34
+ }
35
+ export function resolveSdkConfig(config) {
36
+ return config ?? resolveConfig({ offline: true, allowMissingApiKey: true });
37
+ }
38
+ /** Trail parity with wrap: verdict/mode/reasonCode + change fields when derivable. */
39
+ export function recordSdkTrail(config, evalResult, args, env = process.env) {
40
+ const reason = evalResult.response.reasonCode ?? "";
41
+ const toolId = evalResult.response.toolId ?? "";
42
+ const mode = evalResult.offline || config.offline ? "offline" : "observe";
43
+ const fields = deriveWireChangeFields(toolId, args, env);
44
+ appendTrail(config.cwd, {
45
+ ts: new Date().toISOString(),
46
+ sessionId: defaultSessionId(env),
47
+ host: config.host,
48
+ toolId,
49
+ verdict: evalResult.response.verdict,
50
+ reasonCode: reason,
51
+ mode,
52
+ neverEvent: reason === "NEVER_EVENT",
53
+ argsHash: evalResult.argsHash,
54
+ ...(fields?.summary ? { summary: fields.summary } : {}),
55
+ ...(fields?.diffPreview ? { diffPreview: fields.diffPreview } : {}),
56
+ ...(fields?.targetPath ? { targetPath: fields.targetPath } : {}),
57
+ }, env);
58
+ }
59
+ /**
60
+ * The evaluate + trail half of governed(), constructed once per wrapped tool
61
+ * so the lazy config cache hits across calls. Adapters whose execution path
62
+ * closes over per-call context use this directly and invoke the framework
63
+ * callable themselves after the check passes.
64
+ */
65
+ export function createGateCheck(options) {
66
+ const toolId = deriveSdkToolId(options.toolId, options.server);
67
+ let cached = options.config;
68
+ return async (args) => {
69
+ if (!cached)
70
+ cached = resolveSdkConfig();
71
+ const evalResult = await runEvalTool(cached, {
72
+ toolId,
73
+ args,
74
+ irreversible: options.irreversible,
75
+ });
76
+ recordSdkTrail(cached, evalResult, args);
77
+ const verdict = (evalResult.response.verdict ?? "").toUpperCase();
78
+ if (verdict === "ALLOW" || verdict === "REQUIRE_APPROVE") {
79
+ return;
80
+ }
81
+ throw new KyaDeniedError({
82
+ verdict: verdict || "DENY",
83
+ reasonCode: evalResult.response.reasonCode ?? "",
84
+ toolId: evalResult.response.toolId ?? toolId,
85
+ });
86
+ };
87
+ }
88
+ export function governed(options) {
89
+ const check = createGateCheck(options);
90
+ return async (args) => {
91
+ await check(args);
92
+ return options.fn(args);
93
+ };
94
+ }
95
+ //# sourceMappingURL=govern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/sdk/govern.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAuB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACjC,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,MAAM,CAAS;IAExB,YAAY,KAA8D;QACxE,KAAK,CACH,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,IAAI,WAAW,2BAA2B,EACpG,YAAY,EACZ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AAeD,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAAe;IAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IACzB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,OAAO,MAAM,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAC5B,MAAsB,EACtB,UAA0B,EAC1B,IAAa,EACb,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,WAAW,CACT,MAAM,CAAC,GAAG,EACV;QACE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM;QACN,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO;QACpC,UAAU,EAAE,MAAM;QAClB,IAAI;QACJ,UAAU,EAAE,MAAM,KAAK,aAAa;QACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AAMD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAyB;IAEzB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,OAAO,KAAK,EAAE,IAAa,EAAiB,EAAE;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YAC3C,MAAM;YACN,IAAI;YACJ,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,cAAc,CAAC;YACvB,OAAO,EAAE,OAAO,IAAI,MAAM;YAC1B,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE;YAChD,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM;SAC7C,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAwC;IAExC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,EAAE,IAAW,EAAoB,EAAE;QAC7C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @shield-agent/kya/sdk — in-process governance shims for agent frameworks.
3
+ * Importing this surface starts no daemons, telemetry, or network clients;
4
+ * evaluation defaults to the offline sample path.
5
+ */
6
+ export { governed, deriveSdkToolId, KyaDeniedError, type GovernedOptions, type GovernanceOptions, } from "./govern.js";
7
+ export { governA2aSend, type GovernA2aSendOptions, type A2aGateResult, } from "./a2a.js";
8
+ export { governLangGraphTool, type LangGraphToolLike } from "./adapters/langgraph.js";
9
+ export { governVercelAiTool, type VercelAiToolLike, type GovernVercelAiOptions, } from "./adapters/vercel-ai.js";
10
+ export { governMastraTool, type MastraToolLike } from "./adapters/mastra.js";
11
+ export { governOpenAiAgentsTool, type OpenAiAgentsToolLike, } from "./adapters/openai-agents.js";
12
+ export { governClaudeAgentTool, type ClaudeAgentToolLike, } from "./adapters/claude-agent.js";
13
+ export type { ResolvedConfig } from "../config.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @shield-agent/kya/sdk — in-process governance shims for agent frameworks.
3
+ * Importing this surface starts no daemons, telemetry, or network clients;
4
+ * evaluation defaults to the offline sample path.
5
+ */
6
+ export { governed, deriveSdkToolId, KyaDeniedError, } from "./govern.js";
7
+ export { governA2aSend, } from "./a2a.js";
8
+ export { governLangGraphTool } from "./adapters/langgraph.js";
9
+ export { governVercelAiTool, } from "./adapters/vercel-ai.js";
10
+ export { governMastraTool } from "./adapters/mastra.js";
11
+ export { governOpenAiAgentsTool, } from "./adapters/openai-agents.js";
12
+ export { governClaudeAgentTool, } from "./adapters/claude-agent.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,GAGd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAA0B,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,GAEtB,MAAM,4BAA4B,CAAC"}
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.11.0 serve-mcp --stdio" --env KYA_BASE_URL=https://shield-agent.com --env KYA_API_KEY=$KYA_API_KEY --env KYA_HOST=ide`.
3
+ Preferred path is Droid's own CLI: `droid mcp add shield-kya "npx --no-install @shield-agent/kya@0.13.0 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
 
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.11.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.11.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/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.11.0 serve-mcp --stdio
43
+ npx --no-install @shield-agent/kya@0.13.0 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.
@@ -2,7 +2,7 @@
2
2
  "mcp": {
3
3
  "shield-kya": {
4
4
  "type": "local",
5
- "command": ["npx", "--no-install", "@shield-agent/kya@0.11.0", "serve-mcp", "--stdio"],
5
+ "command": ["npx", "--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "enabled": true,
7
7
  "environment": {
8
8
  "KYA_BASE_URL": "https://shield-agent.com",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.11.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.11.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/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.11.0",
5
+ "version": "0.13.0",
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.11.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/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.11.0", "serve-mcp", "--stdio"],
6
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "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.11.0", "serve-mcp", "--stdio"]
14
+ args = ["--no-install", "@shield-agent/kya@0.13.0", "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.11.0", "serve-mcp", "--stdio"],
5
+ "command": ["npx", "--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "enabled": true,
7
7
  "environment": {
8
8
  "KYA_BASE_URL": "https://shield-agent.com",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shield-agent/kya",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Audit trail & traceability for AI agents — local MCP gate (Allow/Review/Deny), live receipt dashboard, trust-baseline certification.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,6 +16,10 @@
16
16
  ".": {
17
17
  "types": "./dist/index.d.ts",
18
18
  "import": "./dist/index.js"
19
+ },
20
+ "./sdk": {
21
+ "types": "./dist/sdk/index.d.ts",
22
+ "import": "./dist/sdk/index.js"
19
23
  }
20
24
  },
21
25
  "files": [
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "shield-kya": {
4
4
  "command": "npx",
5
- "args": ["--no-install", "@shield-agent/kya@0.11.0", "serve-mcp", "--stdio"],
5
+ "args": ["--no-install", "@shield-agent/kya@0.13.0", "serve-mcp", "--stdio"],
6
6
  "env": {
7
7
  "KYA_BASE_URL": "https://shield-agent.com",
8
8
  "KYA_API_KEY": "${KYA_API_KEY}",
package/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.11.0",
10
+ "version": "0.13.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@shield-agent/kya",
15
- "version": "0.11.0",
15
+ "version": "0.13.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },