@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,186 @@
1
+ /**
2
+ * Local OTLP/HTTP traces receiver. The gateway exports spans to
3
+ * `http://127.0.0.1:<otlpPort>/v1/traces`; each `tools/call` span becomes one
4
+ * TrailEvent on the global trail (mode "observe") so the report's MCP server
5
+ * facet lights up for gate traffic.
6
+ *
7
+ * Privacy: only whitelisted span attributes are read (method, target, tool
8
+ * name, session id). Tool arguments are never extracted, and the persisted
9
+ * fields pass through the secret scanner before hitting the trail.
10
+ *
11
+ * Known limitation: the receiver is unauthenticated — any local process can
12
+ * POST spans and inject trail events. That is the same trust boundary as the
13
+ * user-writable trail file itself (any local process can append to
14
+ * ~/.kya/trail.jsonl), so no new privilege is granted; remote injection is
15
+ * impossible because the receiver binds 127.0.0.1 only.
16
+ */
17
+ import { createServer } from "node:http";
18
+ import { appendTrail } from "../trail.js";
19
+ import { assertNoSecrets } from "../dash/render.js";
20
+ import { decodeTraceJson, decodeTraceProtobuf, } from "./otlp-decode.js";
21
+ const STATUS_ERROR = 2;
22
+ /** Twin-collapse window: how long a sessioned call suppresses its client-span twin. */
23
+ const TWIN_TTL_MS = 30_000;
24
+ // Verified against the real gateway (v1.5.0): a CEL-filtered tool call is
25
+ // refused as `-32602 Unknown tool` over HTTP 400; the span carries ERROR
26
+ // status and an "Unknown tool" error message. Downstream API denials (a
27
+ // tool's own 403/"forbidden" result) are NOT policy denials and must not
28
+ // match this signal — they classify as TOOL_ERROR.
29
+ const DENIAL_SIGNAL = /\bunknown tool\b/i;
30
+ function attr(span, key) {
31
+ const v = span.attributes[key];
32
+ return typeof v === "string" && v ? v : undefined;
33
+ }
34
+ /**
35
+ * Map one decoded span to a TrailEvent, or undefined when the span is not an
36
+ * MCP tools/call. toolId is `<target>__<tool>` so the registry's MCP facet
37
+ * recognizes calls to known servers.
38
+ */
39
+ export function spanToTrailEvent(span, ctx) {
40
+ if (attr(span, "mcp.method.name") !== "tools/call")
41
+ return undefined;
42
+ const tool = attr(span, "gen_ai.tool.name");
43
+ if (!tool)
44
+ return undefined;
45
+ const target = attr(span, "mcp.target") ?? "unknown";
46
+ const sessionId = attr(span, "mcp.session.id") || ctx.fallbackSessionId;
47
+ let verdict = "ALLOW";
48
+ let reasonCode = "ALLOW";
49
+ if (span.statusCode === STATUS_ERROR) {
50
+ if (DENIAL_SIGNAL.test(span.statusMessage ?? "")) {
51
+ verdict = "DENY";
52
+ reasonCode = "POLICY_DENY";
53
+ }
54
+ else {
55
+ // The gate allowed the call; the tool itself failed.
56
+ reasonCode = "TOOL_ERROR";
57
+ }
58
+ }
59
+ const toolId = `${target}__${tool}`;
60
+ // Defense-in-depth: nothing we persist may smuggle a secret out of a span.
61
+ assertNoSecrets(`${toolId}\n${sessionId}`);
62
+ return {
63
+ ts: new Date().toISOString(),
64
+ sessionId,
65
+ toolId,
66
+ verdict,
67
+ reasonCode,
68
+ mode: "observe",
69
+ summary: `gate: ${target}.${tool}`,
70
+ };
71
+ }
72
+ function readBody(req) {
73
+ return new Promise((resolve, reject) => {
74
+ const chunks = [];
75
+ let size = 0;
76
+ req.on("data", (c) => {
77
+ size += c.length;
78
+ if (size > 8 * 1024 * 1024) {
79
+ req.destroy();
80
+ reject(new Error("payload too large"));
81
+ return;
82
+ }
83
+ chunks.push(c);
84
+ });
85
+ req.on("end", () => resolve(Buffer.concat(chunks)));
86
+ req.on("error", reject);
87
+ });
88
+ }
89
+ /**
90
+ * Accept OTLP trace exports on 127.0.0.1 and append tools/call spans to the
91
+ * trail. Malformed payloads get a 400 and are dropped — the receiver never
92
+ * dies on bad input (the gateway keeps exporting).
93
+ */
94
+ export async function startOtlpReceiver(opts) {
95
+ const env = opts.env ?? process.env;
96
+ const append = opts.append ?? appendTrail;
97
+ const ctx = { fallbackSessionId: opts.fallbackSessionId, cwd: opts.cwd };
98
+ const seenSpanIds = new Set();
99
+ /** traceId|target__tool → expiry: sessioned calls, for cross-batch twin collapse. */
100
+ const sessionedCalls = new Map();
101
+ const server = createServer((req, res) => {
102
+ void (async () => {
103
+ if (req.method !== "POST" || req.url !== "/v1/traces") {
104
+ res.writeHead(404, { "content-type": "text/plain" }).end("not found\n");
105
+ return;
106
+ }
107
+ let spans;
108
+ try {
109
+ const body = await readBody(req);
110
+ const contentType = (req.headers["content-type"] ?? "").toLowerCase();
111
+ spans = contentType.includes("json")
112
+ ? decodeTraceJson(JSON.parse(body.toString("utf8")))
113
+ : decodeTraceProtobuf(body);
114
+ }
115
+ catch {
116
+ res.writeHead(400, { "content-type": "text/plain" }).end("bad otlp payload\n");
117
+ return;
118
+ }
119
+ // The gateway emits a client span per target call next to the server
120
+ // span for the same tools/call; only the server span carries
121
+ // mcp.session.id. Twins share a trace_id: collapse the sessionless one
122
+ // via a short-TTL cache so a pair split across export batches (or
123
+ // re-exported) still trails exactly once.
124
+ const now = Date.now();
125
+ for (const [k, exp] of sessionedCalls) {
126
+ if (exp <= now)
127
+ sessionedCalls.delete(k);
128
+ }
129
+ const twinKey = (s) => `${s.traceId ?? ""}|${String(s.attributes["mcp.target"] ?? "unknown")}__${String(s.attributes["gen_ai.tool.name"] ?? "")}`;
130
+ const batchTwins = new Set(spans
131
+ .filter((s) => s.attributes["mcp.method.name"] === "tools/call" &&
132
+ typeof s.attributes["mcp.session.id"] === "string")
133
+ .map(twinKey));
134
+ for (const span of spans) {
135
+ const isCall = span.attributes["mcp.method.name"] === "tools/call";
136
+ const hasSession = typeof span.attributes["mcp.session.id"] === "string";
137
+ if (isCall && hasSession) {
138
+ sessionedCalls.set(twinKey(span), now + TWIN_TTL_MS);
139
+ }
140
+ if (isCall &&
141
+ !hasSession &&
142
+ (batchTwins.has(twinKey(span)) ||
143
+ (sessionedCalls.get(twinKey(span)) ?? 0) > now)) {
144
+ continue;
145
+ }
146
+ if (span.spanId) {
147
+ if (seenSpanIds.has(span.spanId))
148
+ continue;
149
+ seenSpanIds.add(span.spanId);
150
+ if (seenSpanIds.size > 100_000)
151
+ seenSpanIds.clear();
152
+ }
153
+ try {
154
+ const event = spanToTrailEvent(span, ctx);
155
+ if (event)
156
+ append(opts.cwd, event, env);
157
+ }
158
+ catch {
159
+ // Secret-scanner trip or append failure: drop the event, keep serving.
160
+ }
161
+ }
162
+ // OTLP/HTTP success: partialSuccess-free empty response.
163
+ res.writeHead(200, { "content-type": "application/x-protobuf" }).end(Buffer.alloc(0));
164
+ })().catch(() => {
165
+ try {
166
+ res.writeHead(500).end();
167
+ }
168
+ catch {
169
+ /* already closed */
170
+ }
171
+ });
172
+ });
173
+ await new Promise((resolve, reject) => {
174
+ server.once("error", reject);
175
+ server.listen(opts.port, "127.0.0.1", () => resolve());
176
+ });
177
+ const port = server.address().port;
178
+ return {
179
+ port,
180
+ url: `http://127.0.0.1:${port}`,
181
+ close: () => new Promise((resolve) => {
182
+ server.close(() => resolve());
183
+ }),
184
+ };
185
+ }
186
+ //# sourceMappingURL=otlp-receiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otlp-receiver.js","sourceRoot":"","sources":["../../src/gate/otlp-receiver.ts"],"names":[],"mappings":"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"}
@@ -23,4 +23,12 @@ export declare function mcpServerLabel(serverId: string): string;
23
23
  * server, ADMIN first, then the server's default. Unknown server → undefined.
24
24
  */
25
25
  export declare function mcpToolTier(serverId: string, toolName: string): McpToolTier | undefined;
26
+ /**
27
+ * ADMIN-tier rule patterns (regex sources) for a known server, in registry
28
+ * order. Undefined for unknown servers — the gate's CEL generation treats
29
+ * those as "no server-specific deny rules" (destructive-name deny only).
30
+ */
31
+ export declare function mcpServerAdminPatterns(serverId: string): readonly string[] | undefined;
32
+ /** Fallback tier for tools no rule matches; undefined for unknown servers. */
33
+ export declare function mcpServerDefaultTier(serverId: string): McpToolTier | undefined;
26
34
  //# sourceMappingURL=mcp-servers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../src/mcp-servers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAyOD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAQrE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAQvF"}
1
+ {"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../src/mcp-servers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAyOD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAQrE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAQvF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAItF;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE9E"}
@@ -254,4 +254,19 @@ export function mcpToolTier(serverId, toolName) {
254
254
  }
255
255
  return entry.defaultTier;
256
256
  }
257
+ /**
258
+ * ADMIN-tier rule patterns (regex sources) for a known server, in registry
259
+ * order. Undefined for unknown servers — the gate's CEL generation treats
260
+ * those as "no server-specific deny rules" (destructive-name deny only).
261
+ */
262
+ export function mcpServerAdminPatterns(serverId) {
263
+ const entry = LOOKUP.get(normalizeId(serverId));
264
+ if (!entry)
265
+ return undefined;
266
+ return entry.rules.filter((rule) => rule.tier === "ADMIN").map((rule) => rule.pattern.source);
267
+ }
268
+ /** Fallback tier for tools no rule matches; undefined for unknown servers. */
269
+ export function mcpServerDefaultTier(serverId) {
270
+ return LOOKUP.get(normalizeId(serverId))?.defaultTier;
271
+ }
257
272
  //# sourceMappingURL=mcp-servers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../src/mcp-servers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../src/mcp-servers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * In-process boundary check for agent-to-agent sends (ADK / BeeAI / CrewAI
3
+ * style frameworks): evaluate `a2a__<peerId>__<action>` before the caller
4
+ * performs the send. `a2a` is a registry-unknown server, so offline evaluate
5
+ * lands on the safe REQUIRE_APPROVE/UNKNOWN path unless the action is
6
+ * declared irreversible. Fleet-level A2A governance (mTLS identity, org
7
+ * policy between runtimes) is the kya gateway's job — this is the
8
+ * single-process complement.
9
+ */
10
+ import type { ResolvedConfig } from "../config.js";
11
+ export interface GovernA2aSendOptions {
12
+ readonly peerId: string;
13
+ readonly peerUrl?: string;
14
+ readonly action: string;
15
+ /** Short human description of the payload — trail summary only, never the body. */
16
+ readonly payloadSummary?: string;
17
+ readonly irreversible?: boolean;
18
+ readonly config?: ResolvedConfig;
19
+ }
20
+ export interface A2aGateResult {
21
+ /** true for ALLOW and observed REQUIRE_APPROVE; false for DENY/unknown. */
22
+ readonly allow: boolean;
23
+ readonly verdict: string;
24
+ readonly reasonCode: string;
25
+ }
26
+ export declare function governA2aSend(options: GovernA2aSendOptions): Promise<A2aGateResult>;
27
+ //# sourceMappingURL=a2a.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../src/sdk/a2a.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAoBxB"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * In-process boundary check for agent-to-agent sends (ADK / BeeAI / CrewAI
3
+ * style frameworks): evaluate `a2a__<peerId>__<action>` before the caller
4
+ * performs the send. `a2a` is a registry-unknown server, so offline evaluate
5
+ * lands on the safe REQUIRE_APPROVE/UNKNOWN path unless the action is
6
+ * declared irreversible. Fleet-level A2A governance (mTLS identity, org
7
+ * policy between runtimes) is the kya gateway's job — this is the
8
+ * single-process complement.
9
+ */
10
+ import { runEvalTool } from "../commands/eval-tool.js";
11
+ import { recordSdkTrail, resolveSdkConfig } from "./govern.js";
12
+ export async function governA2aSend(options) {
13
+ const toolId = `a2a__${options.peerId.trim()}__${options.action.trim()}`;
14
+ const config = resolveSdkConfig(options.config);
15
+ const args = {
16
+ peer: options.peerId,
17
+ ...(options.peerUrl ? { url: options.peerUrl } : {}),
18
+ ...(options.payloadSummary ? { note: options.payloadSummary } : {}),
19
+ };
20
+ const evalResult = await runEvalTool(config, {
21
+ toolId,
22
+ args,
23
+ irreversible: options.irreversible,
24
+ });
25
+ recordSdkTrail(config, evalResult, args);
26
+ const verdict = (evalResult.response.verdict ?? "").toUpperCase();
27
+ return {
28
+ allow: verdict === "ALLOW" || verdict === "REQUIRE_APPROVE",
29
+ verdict: verdict || "DENY",
30
+ reasonCode: evalResult.response.reasonCode ?? "",
31
+ };
32
+ }
33
+ //# sourceMappingURL=a2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/sdk/a2a.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmB/D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA6B;IAE7B,MAAM,MAAM,GAAG,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;QAC3C,MAAM;QACN,IAAI;QACJ,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;IACH,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,OAAO;QACL,KAAK,EAAE,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,iBAAiB;QAC3D,OAAO,EAAE,OAAO,IAAI,MAAM;QAC1B,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Anthropic Agent SDK tool adapter. Structural only — no
3
+ * @anthropic-ai/claude-agent-sdk import. Matches the
4
+ * `{ name, description, inputSchema, handler }` in-process tool shape where
5
+ * handler receives parsed args plus SDK extras; returns the same shape with
6
+ * a governed handler.
7
+ */
8
+ import { type GovernanceOptions } from "../govern.js";
9
+ export interface ClaudeAgentToolLike<TArgs = unknown, TResult = unknown> {
10
+ readonly name: string;
11
+ readonly description: string;
12
+ readonly inputSchema: unknown;
13
+ readonly handler: (args: TArgs, extra?: unknown) => Promise<TResult> | TResult;
14
+ }
15
+ export declare function governClaudeAgentTool<TArgs, TResult>(tool: ClaudeAgentToolLike<TArgs, TResult>, options?: GovernanceOptions): ClaudeAgentToolLike<TArgs, TResult>;
16
+ //# sourceMappingURL=claude-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../src/sdk/adapters/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,WAAW,mBAAmB,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAChF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAClD,IAAI,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EACzC,OAAO,GAAE,iBAAsB,GAC9B,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAcrC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Anthropic Agent SDK tool adapter. Structural only — no
3
+ * @anthropic-ai/claude-agent-sdk import. Matches the
4
+ * `{ name, description, inputSchema, handler }` in-process tool shape where
5
+ * handler receives parsed args plus SDK extras; returns the same shape with
6
+ * a governed handler.
7
+ */
8
+ import { createGateCheck } from "../govern.js";
9
+ export function governClaudeAgentTool(tool, options = {}) {
10
+ const check = createGateCheck({
11
+ toolId: tool.name,
12
+ server: options.server,
13
+ irreversible: options.irreversible,
14
+ config: options.config,
15
+ });
16
+ return {
17
+ ...tool,
18
+ handler: async (args, extra) => {
19
+ await check(args);
20
+ return tool.handler(args, extra);
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=claude-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-agent.js","sourceRoot":"","sources":["../../../src/sdk/adapters/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAA0B,MAAM,cAAc,CAAC;AASvE,MAAM,UAAU,qBAAqB,CACnC,IAAyC,EACzC,UAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,eAAe,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,KAAK,EAAE,IAAW,EAAE,KAAe,EAAoB,EAAE;YAChE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * LangGraph.js-style tool adapter. Structural only — no @langgraph imports.
3
+ * Matches the `{ name, description, schema, func }` tool shape; returns the
4
+ * same shape with a governed func.
5
+ */
6
+ import { type GovernanceOptions } from "../govern.js";
7
+ export interface LangGraphToolLike<TArgs = unknown, TResult = unknown> {
8
+ readonly name: string;
9
+ readonly description: string;
10
+ readonly schema: unknown;
11
+ readonly func: (args: TArgs) => Promise<TResult> | TResult;
12
+ }
13
+ export declare function governLangGraphTool<TArgs, TResult>(tool: LangGraphToolLike<TArgs, TResult>, options?: GovernanceOptions): LangGraphToolLike<TArgs, TResult>;
14
+ //# sourceMappingURL=langgraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langgraph.d.ts","sourceRoot":"","sources":["../../../src/sdk/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC5D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAChD,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,EACvC,OAAO,GAAE,iBAAsB,GAC9B,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAWnC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * LangGraph.js-style tool adapter. Structural only — no @langgraph imports.
3
+ * Matches the `{ name, description, schema, func }` tool shape; returns the
4
+ * same shape with a governed func.
5
+ */
6
+ import { governed } from "../govern.js";
7
+ export function governLangGraphTool(tool, options = {}) {
8
+ return {
9
+ ...tool,
10
+ func: governed({
11
+ toolId: tool.name,
12
+ server: options.server,
13
+ irreversible: options.irreversible,
14
+ config: options.config,
15
+ fn: tool.func,
16
+ }),
17
+ };
18
+ }
19
+ //# sourceMappingURL=langgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../../src/sdk/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAShE,MAAM,UAAU,mBAAmB,CACjC,IAAuC,EACvC,UAA6B,EAAE;IAE/B,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,QAAQ,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,IAAI,CAAC,IAAI;SACd,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Mastra-style tool adapter. Structural only — no @mastra imports. Matches
3
+ * the `{ id, description, inputSchema, execute }` tool shape; returns the
4
+ * same shape with a governed execute.
5
+ */
6
+ import { type GovernanceOptions } from "../govern.js";
7
+ export interface MastraToolLike<TArgs = unknown, TResult = unknown> {
8
+ readonly id: string;
9
+ readonly description: string;
10
+ readonly inputSchema: unknown;
11
+ readonly execute: (args: TArgs) => Promise<TResult> | TResult;
12
+ }
13
+ export declare function governMastraTool<TArgs, TResult>(tool: MastraToolLike<TArgs, TResult>, options?: GovernanceOptions): MastraToolLike<TArgs, TResult>;
14
+ //# sourceMappingURL=mastra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mastra.d.ts","sourceRoot":"","sources":["../../../src/sdk/adapters/mastra.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAC7C,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EACpC,OAAO,GAAE,iBAAsB,GAC9B,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAWhC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Mastra-style tool adapter. Structural only — no @mastra imports. Matches
3
+ * the `{ id, description, inputSchema, execute }` tool shape; returns the
4
+ * same shape with a governed execute.
5
+ */
6
+ import { governed } from "../govern.js";
7
+ export function governMastraTool(tool, options = {}) {
8
+ return {
9
+ ...tool,
10
+ execute: governed({
11
+ toolId: tool.id,
12
+ server: options.server,
13
+ irreversible: options.irreversible,
14
+ config: options.config,
15
+ fn: tool.execute,
16
+ }),
17
+ };
18
+ }
19
+ //# sourceMappingURL=mastra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mastra.js","sourceRoot":"","sources":["../../../src/sdk/adapters/mastra.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAShE,MAAM,UAAU,gBAAgB,CAC9B,IAAoC,EACpC,UAA6B,EAAE;IAE/B,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,IAAI,CAAC,OAAO;SACjB,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * OpenAI Agents TS function-tool adapter. Structural only — no
3
+ * @openai/agents import. Matches the `{ name, description, parameters,
4
+ * invoke }` function-tool shape where invoke receives the run context and a
5
+ * JSON string input; returns the same shape with a governed invoke. The
6
+ * parsed input is what gets evaluated; the original string is what the tool
7
+ * receives.
8
+ */
9
+ import { type GovernanceOptions } from "../govern.js";
10
+ export interface OpenAiAgentsToolLike<TResult = unknown> {
11
+ readonly name: string;
12
+ readonly description: string;
13
+ readonly parameters: unknown;
14
+ readonly invoke: (runContext: unknown, input: string) => Promise<TResult> | TResult;
15
+ }
16
+ export declare function governOpenAiAgentsTool<TResult>(tool: OpenAiAgentsToolLike<TResult>, options?: GovernanceOptions): OpenAiAgentsToolLike<TResult>;
17
+ //# sourceMappingURL=openai-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-agents.d.ts","sourceRoot":"","sources":["../../../src/sdk/adapters/openai-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,OAAO;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACrF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAC5C,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACnC,OAAO,GAAE,iBAAsB,GAC9B,oBAAoB,CAAC,OAAO,CAAC,CAoB/B"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * OpenAI Agents TS function-tool adapter. Structural only — no
3
+ * @openai/agents import. Matches the `{ name, description, parameters,
4
+ * invoke }` function-tool shape where invoke receives the run context and a
5
+ * JSON string input; returns the same shape with a governed invoke. The
6
+ * parsed input is what gets evaluated; the original string is what the tool
7
+ * receives.
8
+ */
9
+ import { createGateCheck } from "../govern.js";
10
+ export function governOpenAiAgentsTool(tool, options = {}) {
11
+ const check = createGateCheck({
12
+ toolId: tool.name,
13
+ server: options.server,
14
+ irreversible: options.irreversible,
15
+ config: options.config,
16
+ });
17
+ return {
18
+ ...tool,
19
+ invoke: async (runContext, input) => {
20
+ let args = input;
21
+ try {
22
+ args = JSON.parse(input);
23
+ }
24
+ catch {
25
+ /* evaluate the raw string when input is not JSON */
26
+ }
27
+ await check(args);
28
+ return tool.invoke(runContext, input);
29
+ },
30
+ };
31
+ }
32
+ //# sourceMappingURL=openai-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-agents.js","sourceRoot":"","sources":["../../../src/sdk/adapters/openai-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAA0B,MAAM,cAAc,CAAC;AASvE,MAAM,UAAU,sBAAsB,CACpC,IAAmC,EACnC,UAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,eAAe,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,KAAK,EAAE,UAAmB,EAAE,KAAa,EAAoB,EAAE;YACrE,IAAI,IAAI,GAAY,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Vercel AI SDK tool adapter. Structural only — no `ai` import. Matches the
3
+ * `{ description, parameters, execute }` tool shape; returns the same shape
4
+ * with a governed execute. AI SDK tools are keyed by name in the tools
5
+ * record, so the name is an explicit adapter option.
6
+ */
7
+ import { type GovernanceOptions } from "../govern.js";
8
+ export interface VercelAiToolLike<TArgs = unknown, TResult = unknown> {
9
+ readonly description?: string;
10
+ readonly parameters: unknown;
11
+ readonly execute: (args: TArgs) => Promise<TResult> | TResult;
12
+ }
13
+ export interface GovernVercelAiOptions extends GovernanceOptions {
14
+ /** Tool name — the key this definition is registered under. */
15
+ readonly name: string;
16
+ }
17
+ export declare function governVercelAiTool<TArgs, TResult>(tool: VercelAiToolLike<TArgs, TResult>, options: GovernVercelAiOptions): VercelAiToolLike<TArgs, TResult>;
18
+ //# sourceMappingURL=vercel-ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/sdk/adapters/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAC/C,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EACtC,OAAO,EAAE,qBAAqB,GAC7B,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAWlC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Vercel AI SDK tool adapter. Structural only — no `ai` import. Matches the
3
+ * `{ description, parameters, execute }` tool shape; returns the same shape
4
+ * with a governed execute. AI SDK tools are keyed by name in the tools
5
+ * record, so the name is an explicit adapter option.
6
+ */
7
+ import { governed } from "../govern.js";
8
+ export function governVercelAiTool(tool, options) {
9
+ return {
10
+ ...tool,
11
+ execute: governed({
12
+ toolId: options.name,
13
+ server: options.server,
14
+ irreversible: options.irreversible,
15
+ config: options.config,
16
+ fn: tool.execute,
17
+ }),
18
+ };
19
+ }
20
+ //# sourceMappingURL=vercel-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../../../src/sdk/adapters/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAahE,MAAM,UAAU,kBAAkB,CAChC,IAAsC,EACtC,OAA8B;IAE9B,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ,CAAC;YAChB,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,IAAI,CAAC,OAAO;SACjB,CAAC;KACH,CAAC;AACJ,CAAC"}