@phosphor-dom/sentinel-ai 0.2.0 → 0.4.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 (79) hide show
  1. package/README.md +41 -0
  2. package/dist/cli/commands/agents.d.ts.map +1 -1
  3. package/dist/cli/commands/agents.js +10 -5
  4. package/dist/cli/commands/agents.js.map +1 -1
  5. package/dist/cli/commands/dashboard.js +43 -41
  6. package/dist/cli/commands/dashboard.js.map +1 -1
  7. package/dist/cli/commands/events.d.ts.map +1 -1
  8. package/dist/cli/commands/events.js +5 -7
  9. package/dist/cli/commands/events.js.map +1 -1
  10. package/dist/cli/commands/report.d.ts.map +1 -1
  11. package/dist/cli/commands/report.js +5 -4
  12. package/dist/cli/commands/report.js.map +1 -1
  13. package/dist/cli/commands/scan.d.ts +1 -1
  14. package/dist/cli/commands/scan.d.ts.map +1 -1
  15. package/dist/cli/commands/scan.js +16 -12
  16. package/dist/cli/commands/scan.js.map +1 -1
  17. package/dist/cli/index.js +25 -26
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/utils/format.d.ts +13 -0
  20. package/dist/cli/utils/format.d.ts.map +1 -1
  21. package/dist/cli/utils/format.js +66 -16
  22. package/dist/cli/utils/format.js.map +1 -1
  23. package/dist/core/correlation-engine.js +1 -1
  24. package/dist/core/correlation-engine.js.map +1 -1
  25. package/dist/core/event-bus.d.ts +1 -1
  26. package/dist/core/event-bus.d.ts.map +1 -1
  27. package/dist/core/inter-agent-communication.d.ts +1 -1
  28. package/dist/core/inter-agent-communication.d.ts.map +1 -1
  29. package/dist/core/inter-agent-communication.js +1 -1
  30. package/dist/core/inter-agent-communication.js.map +1 -1
  31. package/dist/core/orchestrator.d.ts +9 -5
  32. package/dist/core/orchestrator.d.ts.map +1 -1
  33. package/dist/core/orchestrator.js +254 -13
  34. package/dist/core/orchestrator.js.map +1 -1
  35. package/dist/core/provider-abstraction.d.ts +7 -0
  36. package/dist/core/provider-abstraction.d.ts.map +1 -1
  37. package/dist/core/provider-abstraction.js +118 -5
  38. package/dist/core/provider-abstraction.js.map +1 -1
  39. package/dist/index.d.ts +25 -21
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +17 -13
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp/client.d.ts +10 -0
  44. package/dist/mcp/client.d.ts.map +1 -0
  45. package/dist/mcp/client.js +50 -0
  46. package/dist/mcp/client.js.map +1 -0
  47. package/dist/mcp/index.d.ts +7 -0
  48. package/dist/mcp/index.d.ts.map +1 -0
  49. package/dist/mcp/index.js +11 -0
  50. package/dist/mcp/index.js.map +1 -0
  51. package/dist/mcp/server.d.ts +10 -0
  52. package/dist/mcp/server.d.ts.map +1 -0
  53. package/dist/mcp/server.js +28 -0
  54. package/dist/mcp/server.js.map +1 -0
  55. package/dist/mcp/tools.d.ts +8 -0
  56. package/dist/mcp/tools.d.ts.map +1 -0
  57. package/dist/mcp/tools.js +465 -0
  58. package/dist/mcp/tools.js.map +1 -0
  59. package/dist/mcp/types.d.ts +41 -0
  60. package/dist/mcp/types.d.ts.map +1 -0
  61. package/dist/mcp/types.js +2 -0
  62. package/dist/mcp/types.js.map +1 -0
  63. package/dist/skills/builtins.d.ts +3 -0
  64. package/dist/skills/builtins.d.ts.map +1 -0
  65. package/dist/skills/builtins.js +312 -0
  66. package/dist/skills/builtins.js.map +1 -0
  67. package/dist/skills/index.d.ts +5 -0
  68. package/dist/skills/index.d.ts.map +1 -0
  69. package/dist/skills/index.js +6 -0
  70. package/dist/skills/index.js.map +1 -0
  71. package/dist/skills/registry.d.ts +19 -0
  72. package/dist/skills/registry.d.ts.map +1 -0
  73. package/dist/skills/registry.js +72 -0
  74. package/dist/skills/registry.js.map +1 -0
  75. package/dist/skills/types.d.ts +25 -0
  76. package/dist/skills/types.d.ts.map +1 -0
  77. package/dist/skills/types.js +2 -0
  78. package/dist/skills/types.js.map +1 -0
  79. package/package.json +4 -2
@@ -5,13 +5,51 @@ const ROLE_MODEL_MAP = {
5
5
  reasoning: ["o4-mini", "deepseek-r1", "claude-sonnet-4"],
6
6
  writing: ["claude-sonnet-4", "gpt-4o", "gemini-2.5-pro"],
7
7
  };
8
+ function env(key) {
9
+ if (typeof process !== "undefined" && process.env)
10
+ return process.env[key];
11
+ return undefined;
12
+ }
8
13
  export class ProviderAbstraction {
9
14
  providers = [];
10
15
  fallbackChain = ["precision", "balanced", "fast"];
16
+ constructor() {
17
+ this.registerDefaults();
18
+ }
19
+ registerDefaults() {
20
+ const openaiKey = env("OPENAI_API_KEY") || env("OPENAI_KEY");
21
+ if (openaiKey) {
22
+ this.register({
23
+ name: "openai",
24
+ apiKey: openaiKey,
25
+ baseUrl: "https://api.openai.com/v1",
26
+ models: ["gpt-4o", "gpt-4o-mini", "o4-mini"],
27
+ roles: { fast: "gpt-4o-mini", balanced: "gpt-4o", reasoning: "o4-mini", precision: "gpt-4o", writing: "gpt-4o" },
28
+ priority: 100,
29
+ apiType: "openai",
30
+ });
31
+ }
32
+ const anthropicKey = env("ANTHROPIC_API_KEY");
33
+ if (anthropicKey) {
34
+ this.register({
35
+ name: "anthropic",
36
+ apiKey: anthropicKey,
37
+ baseUrl: "https://api.anthropic.com/v1",
38
+ models: ["claude-sonnet-4", "claude-haiku-4-5"],
39
+ roles: { fast: "claude-haiku-4-5", balanced: "claude-sonnet-4", precision: "claude-sonnet-4", writing: "claude-sonnet-4" },
40
+ priority: 90,
41
+ apiType: "anthropic",
42
+ });
43
+ }
44
+ }
11
45
  register(config) {
46
+ this.providers = this.providers.filter((p) => p.name !== config.name);
12
47
  this.providers.push(config);
13
48
  this.providers.sort((a, b) => b.priority - a.priority);
14
49
  }
50
+ isConfigured() {
51
+ return this.providers.length > 0;
52
+ }
15
53
  async complete(role, request) {
16
54
  const modelName = request.model || ROLE_MODEL_MAP[role][0];
17
55
  const provider = this.resolveProvider(modelName, role);
@@ -49,19 +87,94 @@ export class ProviderAbstraction {
49
87
  return this.providers[0];
50
88
  }
51
89
  async callProvider(provider, model, request) {
52
- // In production, this routes to the actual provider API
53
- // For now, returns a stub that works with opencode's built-in provider resolution
90
+ const apiKey = provider.apiKey;
91
+ if (!apiKey) {
92
+ return { content: "", model, provider: provider.name, tokens: { input: 0, output: 0 } };
93
+ }
94
+ try {
95
+ if (provider.apiType === "anthropic") {
96
+ return await this.callAnthropic(provider, model, request);
97
+ }
98
+ return await this.callOpenAI(provider, model, request);
99
+ }
100
+ catch {
101
+ return { content: "", model, provider: provider.name, tokens: { input: 0, output: 0 } };
102
+ }
103
+ }
104
+ async callOpenAI(provider, model, request) {
105
+ const baseUrl = provider.baseUrl || "https://api.openai.com/v1";
106
+ const body = {
107
+ model,
108
+ messages: request.messages,
109
+ temperature: request.temperature ?? 0.3,
110
+ max_tokens: request.maxTokens ?? 2048,
111
+ };
112
+ if (request.responseFormat === "json_object") {
113
+ body.response_format = { type: "json_object" };
114
+ }
115
+ const res = await fetch(`${baseUrl}/chat/completions`, {
116
+ method: "POST",
117
+ headers: {
118
+ "Content-Type": "application/json",
119
+ Authorization: `Bearer ${provider.apiKey}`,
120
+ },
121
+ body: JSON.stringify(body),
122
+ });
123
+ if (!res.ok) {
124
+ const text = await res.text().catch(() => "");
125
+ throw new Error(`OpenAI API error ${res.status}: ${text}`);
126
+ }
127
+ const json = await res.json();
54
128
  return {
55
- content: "",
129
+ content: json.choices[0]?.message?.content || "",
130
+ model: json.model || model,
131
+ provider: provider.name,
132
+ tokens: {
133
+ input: json.usage?.prompt_tokens || 0,
134
+ output: json.usage?.completion_tokens || 0,
135
+ },
136
+ };
137
+ }
138
+ async callAnthropic(provider, model, request) {
139
+ const baseUrl = provider.baseUrl || "https://api.anthropic.com/v1";
140
+ const systemMessages = request.messages.filter((m) => m.role === "system");
141
+ const nonSystemMessages = request.messages.filter((m) => m.role !== "system");
142
+ const body = {
56
143
  model,
144
+ max_tokens: request.maxTokens ?? 2048,
145
+ messages: nonSystemMessages.map((m) => ({ role: m.role, content: m.content })),
146
+ };
147
+ if (systemMessages.length > 0) {
148
+ body.system = systemMessages.map((m) => m.content).join("\n\n");
149
+ }
150
+ const res = await fetch(`${baseUrl}/messages`, {
151
+ method: "POST",
152
+ headers: {
153
+ "Content-Type": "application/json",
154
+ "x-api-key": provider.apiKey,
155
+ "anthropic-version": "2023-06-01",
156
+ },
157
+ body: JSON.stringify(body),
158
+ });
159
+ if (!res.ok) {
160
+ const text = await res.text().catch(() => "");
161
+ throw new Error(`Anthropic API error ${res.status}: ${text}`);
162
+ }
163
+ const json = await res.json();
164
+ return {
165
+ content: json.content?.map((c) => c.text).join("") || "",
166
+ model: json.model || model,
57
167
  provider: provider.name,
58
- tokens: { input: 0, output: 0 },
168
+ tokens: {
169
+ input: json.usage?.input_tokens || 0,
170
+ output: json.usage?.output_tokens || 0,
171
+ },
59
172
  };
60
173
  }
61
174
  }
62
175
  export class NoProviderAvailable extends Error {
63
176
  constructor(role) {
64
- super(`No provider available for role: ${role}`);
177
+ super(`No provider available for role: ${role}. Set OPENAI_API_KEY or ANTHROPIC_API_KEY in your environment.`);
65
178
  this.name = "NoProviderAvailable";
66
179
  }
67
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-abstraction.js","sourceRoot":"","sources":["../../src/core/provider-abstraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-abstraction.js","sourceRoot":"","sources":["../../src/core/provider-abstraction.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,23 +1,27 @@
1
- import { type AuditScope } from "./core/orchestrator";
1
+ import { type AuditScope } from "./core/orchestrator.js";
2
2
  export declare function runAudit(scope: AuditScope): Promise<void>;
3
- export { SentinelOrchestrator } from "./core/orchestrator";
4
- export { EventBus } from "./core/event-bus";
5
- export { ProviderAbstraction } from "./core/provider-abstraction";
6
- export { MemoryManager } from "./core/memory-manager";
7
- export { InterAgentCommunication } from "./core/inter-agent-communication";
8
- export { ContextCompression } from "./core/context-compression";
9
- export { CorrelationEngine } from "./core/correlation-engine";
10
- export { EvidenceManager } from "./core/evidence-manager";
11
- export { RiskAnalysis } from "./core/risk-analysis";
12
- export { PluginManager } from "./core/plugin-manager";
13
- export { ReportGenerator } from "./core/report-generator";
14
- export { KnowledgeBase } from "./core/knowledge-base";
15
- export type { AuditScope } from "./core/orchestrator";
16
- export type { CompressedContext } from "./core/context-compression";
17
- export type { AttackChain, CorrelationRule } from "./core/correlation-engine";
18
- export type { Evidence } from "./core/evidence-manager";
19
- export type { RiskScore } from "./core/risk-analysis";
20
- export type { PluginManifest, PluginResult } from "./core/plugin-manager";
21
- export type { ReportConfig, ReportSection } from "./core/report-generator";
22
- export type { KbEntry, KbEnrichment } from "./core/knowledge-base";
3
+ export { SentinelOrchestrator } from "./core/orchestrator.js";
4
+ export { EventBus } from "./core/event-bus.js";
5
+ export { ProviderAbstraction } from "./core/provider-abstraction.js";
6
+ export { MemoryManager } from "./core/memory-manager.js";
7
+ export { InterAgentCommunication } from "./core/inter-agent-communication.js";
8
+ export { ContextCompression } from "./core/context-compression.js";
9
+ export { CorrelationEngine } from "./core/correlation-engine.js";
10
+ export { EvidenceManager } from "./core/evidence-manager.js";
11
+ export { RiskAnalysis } from "./core/risk-analysis.js";
12
+ export { PluginManager } from "./core/plugin-manager.js";
13
+ export { ReportGenerator } from "./core/report-generator.js";
14
+ export { KnowledgeBase } from "./core/knowledge-base.js";
15
+ export type { AuditScope } from "./core/orchestrator.js";
16
+ export type { CompressedContext } from "./core/context-compression.js";
17
+ export type { AttackChain, CorrelationRule } from "./core/correlation-engine.js";
18
+ export type { Evidence } from "./core/evidence-manager.js";
19
+ export type { RiskScore } from "./core/risk-analysis.js";
20
+ export type { PluginManifest, PluginResult } from "./core/plugin-manager.js";
21
+ export type { ReportConfig, ReportSection } from "./core/report-generator.js";
22
+ export type { KbEntry, KbEnrichment } from "./core/knowledge-base.js";
23
+ export { SkillRegistry } from "./skills/index.js";
24
+ export type { SkillDefinition, SkillOperation, SkillManifest, SkillCategory } from "./skills/index.js";
25
+ export { MCPServer, MCPClient, registerAllTools, createMCPServer } from "./mcp/index.js";
26
+ export type { MCPToolDef, MCPCallRequest, MCPCallResult, MCPServerConfig, MCPTransport } from "./mcp/index.js";
23
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAI3E,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB/D;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC7E,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC1E,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAI9E,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB/D;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAChF,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5E,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC7E,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACxF,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { SentinelOrchestrator } from "./core/orchestrator";
1
+ import { SentinelOrchestrator } from "./core/orchestrator.js";
2
2
  const orchestrator = new SentinelOrchestrator();
3
3
  export async function runAudit(scope) {
4
4
  console.log(`\n🔍 Sentinel Security Platform — Auditoría iniciada`);
@@ -23,16 +23,20 @@ export async function runAudit(scope) {
23
23
  }
24
24
  }
25
25
  }
26
- export { SentinelOrchestrator } from "./core/orchestrator";
27
- export { EventBus } from "./core/event-bus";
28
- export { ProviderAbstraction } from "./core/provider-abstraction";
29
- export { MemoryManager } from "./core/memory-manager";
30
- export { InterAgentCommunication } from "./core/inter-agent-communication";
31
- export { ContextCompression } from "./core/context-compression";
32
- export { CorrelationEngine } from "./core/correlation-engine";
33
- export { EvidenceManager } from "./core/evidence-manager";
34
- export { RiskAnalysis } from "./core/risk-analysis";
35
- export { PluginManager } from "./core/plugin-manager";
36
- export { ReportGenerator } from "./core/report-generator";
37
- export { KnowledgeBase } from "./core/knowledge-base";
26
+ export { SentinelOrchestrator } from "./core/orchestrator.js";
27
+ export { EventBus } from "./core/event-bus.js";
28
+ export { ProviderAbstraction } from "./core/provider-abstraction.js";
29
+ export { MemoryManager } from "./core/memory-manager.js";
30
+ export { InterAgentCommunication } from "./core/inter-agent-communication.js";
31
+ export { ContextCompression } from "./core/context-compression.js";
32
+ export { CorrelationEngine } from "./core/correlation-engine.js";
33
+ export { EvidenceManager } from "./core/evidence-manager.js";
34
+ export { RiskAnalysis } from "./core/risk-analysis.js";
35
+ export { PluginManager } from "./core/plugin-manager.js";
36
+ export { ReportGenerator } from "./core/report-generator.js";
37
+ export { KnowledgeBase } from "./core/knowledge-base.js";
38
+ // Skills
39
+ export { SkillRegistry } from "./skills/index.js";
40
+ // MCP
41
+ export { MCPServer, MCPClient, registerAllTools, createMCPServer } from "./mcp/index.js";
38
42
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,qBAAqB,CAAA;AAE3E,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAiB;IAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;IAC7C,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IACrE,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAE/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACvF,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;AACH,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,wBAAwB,CAAA;AAE9E,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAiB;IAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;IAC7C,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IACrE,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAE/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACvF,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;AACH,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAUxD,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD,MAAM;AACN,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { MCPToolDef, MCPCallRequest, MCPCallResult, MCPServerConfig } from "./types.js";
2
+ export declare class MCPClient {
3
+ private config;
4
+ private toolMap;
5
+ constructor(config: MCPServerConfig);
6
+ call(request: MCPCallRequest): Promise<MCPCallResult>;
7
+ private execRemote;
8
+ listTools(): MCPToolDef[];
9
+ }
10
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5F,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAqC;gBAExC,MAAM,EAAE,eAAe;IAO7B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YAmB7C,UAAU;IAoBxB,SAAS,IAAI,UAAU,EAAE;CAG1B"}
@@ -0,0 +1,50 @@
1
+ export class MCPClient {
2
+ config;
3
+ toolMap = new Map();
4
+ constructor(config) {
5
+ this.config = config;
6
+ for (const tool of config.tools) {
7
+ this.toolMap.set(tool.name, tool);
8
+ }
9
+ }
10
+ async call(request) {
11
+ const toolDef = this.toolMap.get(request.tool);
12
+ if (!toolDef) {
13
+ return {
14
+ content: [{ type: "text", text: `Unknown tool: ${request.tool}` }],
15
+ isError: true,
16
+ };
17
+ }
18
+ if (this.config.command) {
19
+ return this.execRemote(request);
20
+ }
21
+ return {
22
+ content: [{ type: "text", text: JSON.stringify({ status: "not_connected", tool: request.tool }) }],
23
+ isError: true,
24
+ };
25
+ }
26
+ async execRemote(request) {
27
+ try {
28
+ const { execSync } = await import("node:child_process");
29
+ const args = this.config.args ? [...this.config.args, request.tool, JSON.stringify(request.args)] : [request.tool, JSON.stringify(request.args)];
30
+ const output = execSync(`${this.config.command} ${args.join(" ")}`, {
31
+ encoding: "utf-8",
32
+ timeout: 30000,
33
+ });
34
+ return {
35
+ content: [{ type: "text", text: output }],
36
+ isError: false,
37
+ };
38
+ }
39
+ catch (err) {
40
+ return {
41
+ content: [{ type: "text", text: `Remote execution error: ${err instanceof Error ? err.message : String(err)}` }],
42
+ isError: true,
43
+ };
44
+ }
45
+ }
46
+ listTools() {
47
+ return Array.from(this.toolMap.values());
48
+ }
49
+ }
50
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IACZ,MAAM,CAAiB;IACvB,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAA;IAEpD,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClG,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAuB;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAChJ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBAClE,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzC,OAAO,EAAE,KAAK;aACf,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAChH,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1C,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { MCPServer } from "./server.js";
2
+ export { MCPServer } from "./server.js";
3
+ export { MCPClient } from "./client.js";
4
+ export { registerAllTools } from "./tools.js";
5
+ export type { MCPToolDef, MCPCallRequest, MCPCallResult, MCPServerConfig, MCPTransport } from "./types.js";
6
+ export declare function createMCPServer(): MCPServer;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAIvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE1G,wBAAgB,eAAe,IAAI,SAAS,CAI3C"}
@@ -0,0 +1,11 @@
1
+ import { MCPServer } from "./server.js";
2
+ import { registerAllTools } from "./tools.js";
3
+ export { MCPServer } from "./server.js";
4
+ export { MCPClient } from "./client.js";
5
+ export { registerAllTools } from "./tools.js";
6
+ export function createMCPServer() {
7
+ const server = new MCPServer();
8
+ registerAllTools(server);
9
+ return server;
10
+ }
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAG7C,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAA;IAC9B,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACxB,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { MCPToolDef, MCPCallRequest, MCPCallResult } from "./types.js";
2
+ type ToolHandler = (args: Record<string, unknown>) => Promise<MCPCallResult>;
3
+ export declare class MCPServer {
4
+ private tools;
5
+ registerTool(def: MCPToolDef, handler: ToolHandler): void;
6
+ call(request: MCPCallRequest): Promise<MCPCallResult>;
7
+ listTools(): MCPToolDef[];
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE3E,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5E,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAoE;IAEjF,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAInD,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB3D,SAAS,IAAI,UAAU,EAAE;CAG1B"}
@@ -0,0 +1,28 @@
1
+ export class MCPServer {
2
+ tools = new Map();
3
+ registerTool(def, handler) {
4
+ this.tools.set(def.name, { def, handler });
5
+ }
6
+ async call(request) {
7
+ const entry = this.tools.get(request.tool);
8
+ if (!entry) {
9
+ return {
10
+ content: [{ type: "text", text: `Tool not found: ${request.tool}` }],
11
+ isError: true,
12
+ };
13
+ }
14
+ try {
15
+ return await entry.handler(request.args);
16
+ }
17
+ catch (err) {
18
+ return {
19
+ content: [{ type: "text", text: `Error: ${err instanceof Error ? err.message : String(err)}` }],
20
+ isError: true,
21
+ };
22
+ }
23
+ }
24
+ listTools() {
25
+ return Array.from(this.tools.values()).map((e) => e.def);
26
+ }
27
+ }
28
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,SAAS;IACZ,KAAK,GAA2D,IAAI,GAAG,EAAE,CAAA;IAEjF,YAAY,CAAC,GAAe,EAAE,OAAoB;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpE,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC/F,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1D,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import { MCPServer } from "./server.js";
2
+ export declare function createReconTools(server: MCPServer): void;
3
+ export declare function createInfrastructureTools(server: MCPServer): void;
4
+ export declare function createWebSecurityTools(server: MCPServer): void;
5
+ export declare function createCodeAuditTools(server: MCPServer): void;
6
+ export declare function createCveTools(server: MCPServer): void;
7
+ export declare function registerAllTools(server: MCPServer): void;
8
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AA6BvC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuFxD;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgFjE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+D9D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2H5D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+DtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMxD"}