@vyuhlabs/dxkit 2.2.0 → 2.3.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 (145) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/README.md +40 -29
  3. package/dist/analyzers/bom/discovery.d.ts +38 -0
  4. package/dist/analyzers/bom/discovery.d.ts.map +1 -0
  5. package/dist/analyzers/bom/discovery.js +166 -0
  6. package/dist/analyzers/bom/discovery.js.map +1 -0
  7. package/dist/analyzers/bom/gather.d.ts +28 -0
  8. package/dist/analyzers/bom/gather.d.ts.map +1 -1
  9. package/dist/analyzers/bom/gather.js +98 -0
  10. package/dist/analyzers/bom/gather.js.map +1 -1
  11. package/dist/analyzers/bom/index.d.ts +49 -2
  12. package/dist/analyzers/bom/index.d.ts.map +1 -1
  13. package/dist/analyzers/bom/index.js +188 -12
  14. package/dist/analyzers/bom/index.js.map +1 -1
  15. package/dist/analyzers/bom/types.d.ts +33 -1
  16. package/dist/analyzers/bom/types.d.ts.map +1 -1
  17. package/dist/analyzers/licenses/index.d.ts +1 -1
  18. package/dist/analyzers/licenses/index.d.ts.map +1 -1
  19. package/dist/analyzers/licenses/index.js +22 -7
  20. package/dist/analyzers/licenses/index.js.map +1 -1
  21. package/dist/analyzers/security/detailed.d.ts.map +1 -1
  22. package/dist/analyzers/security/detailed.js +21 -8
  23. package/dist/analyzers/security/detailed.js.map +1 -1
  24. package/dist/analyzers/security/gather.d.ts.map +1 -1
  25. package/dist/analyzers/security/gather.js +76 -1
  26. package/dist/analyzers/security/gather.js.map +1 -1
  27. package/dist/analyzers/security/index.d.ts.map +1 -1
  28. package/dist/analyzers/security/index.js +20 -7
  29. package/dist/analyzers/security/index.js.map +1 -1
  30. package/dist/analyzers/tools/epss.d.ts +55 -0
  31. package/dist/analyzers/tools/epss.d.ts.map +1 -0
  32. package/dist/analyzers/tools/epss.js +133 -0
  33. package/dist/analyzers/tools/epss.js.map +1 -0
  34. package/dist/analyzers/tools/graphify.d.ts.map +1 -1
  35. package/dist/analyzers/tools/graphify.js +17 -7
  36. package/dist/analyzers/tools/graphify.js.map +1 -1
  37. package/dist/analyzers/tools/kev.d.ts +52 -0
  38. package/dist/analyzers/tools/kev.d.ts.map +1 -0
  39. package/dist/analyzers/tools/kev.js +95 -0
  40. package/dist/analyzers/tools/kev.js.map +1 -0
  41. package/dist/analyzers/tools/npm-registry.d.ts +43 -0
  42. package/dist/analyzers/tools/npm-registry.d.ts.map +1 -0
  43. package/dist/analyzers/tools/npm-registry.js +107 -0
  44. package/dist/analyzers/tools/npm-registry.js.map +1 -0
  45. package/dist/analyzers/tools/osv.d.ts +12 -0
  46. package/dist/analyzers/tools/osv.d.ts.map +1 -1
  47. package/dist/analyzers/tools/osv.js +45 -2
  48. package/dist/analyzers/tools/osv.js.map +1 -1
  49. package/dist/analyzers/tools/reachability.d.ts +60 -0
  50. package/dist/analyzers/tools/reachability.d.ts.map +1 -0
  51. package/dist/analyzers/tools/reachability.js +104 -0
  52. package/dist/analyzers/tools/reachability.js.map +1 -0
  53. package/dist/analyzers/tools/risk-score.d.ts +69 -0
  54. package/dist/analyzers/tools/risk-score.d.ts.map +1 -0
  55. package/dist/analyzers/tools/risk-score.js +86 -0
  56. package/dist/analyzers/tools/risk-score.js.map +1 -0
  57. package/dist/analyzers/tools/tool-registry.d.ts +10 -0
  58. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  59. package/dist/analyzers/tools/tool-registry.js +35 -20
  60. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  61. package/dist/analyzers/xlsx/bom.d.ts.map +1 -1
  62. package/dist/analyzers/xlsx/bom.js +1 -2
  63. package/dist/analyzers/xlsx/bom.js.map +1 -1
  64. package/dist/cli.d.ts.map +1 -1
  65. package/dist/cli.js +41 -10
  66. package/dist/cli.js.map +1 -1
  67. package/dist/languages/capabilities/types.d.ts +6 -0
  68. package/dist/languages/capabilities/types.d.ts.map +1 -1
  69. package/dist/languages/csharp.d.ts.map +1 -1
  70. package/dist/languages/csharp.js +8 -0
  71. package/dist/languages/csharp.js.map +1 -1
  72. package/dist/languages/go.d.ts.map +1 -1
  73. package/dist/languages/go.js +24 -7
  74. package/dist/languages/go.js.map +1 -1
  75. package/dist/languages/python.d.ts.map +1 -1
  76. package/dist/languages/python.js +8 -0
  77. package/dist/languages/python.js.map +1 -1
  78. package/dist/languages/rust.d.ts.map +1 -1
  79. package/dist/languages/rust.js +9 -0
  80. package/dist/languages/rust.js.map +1 -1
  81. package/dist/languages/typescript.d.ts.map +1 -1
  82. package/dist/languages/typescript.js +23 -1
  83. package/dist/languages/typescript.js.map +1 -1
  84. package/package.json +4 -3
  85. package/templates/.claude/agents-available/dashboard-builder.md +7 -7
  86. package/templates/.claude/agents-available/dev-report.md +4 -4
  87. package/templates/.claude/agents-available/health-auditor.md +1 -1
  88. package/templates/.claude/agents-available/strategic-planner.md +7 -7
  89. package/templates/.claude/agents-available/vulnerability-scanner.md +3 -3
  90. package/templates/.claude/commands/dashboard.md +1 -1
  91. package/templates/.claude/commands/deps.md +1 -1
  92. package/templates/.claude/commands/dev-report.md +2 -2
  93. package/templates/.claude/commands/docs.md +1 -1
  94. package/templates/.claude/commands/export-pdf.md +3 -3
  95. package/templates/.claude/commands/health.md +3 -3
  96. package/templates/.claude/commands/plan.md +1 -1
  97. package/templates/.claude/commands/quality.md.template +2 -2
  98. package/templates/.claude/commands/stealth-mode.md +1 -1
  99. package/templates/.claude/commands/test-gaps.md +2 -2
  100. package/templates/.claude/commands/vulnerabilities.md +3 -3
  101. package/dist/agents/extract.d.ts +0 -25
  102. package/dist/agents/extract.d.ts.map +0 -1
  103. package/dist/agents/extract.js +0 -186
  104. package/dist/agents/extract.js.map +0 -1
  105. package/dist/agents/schemas.d.ts +0 -106
  106. package/dist/agents/schemas.d.ts.map +0 -1
  107. package/dist/agents/schemas.js +0 -86
  108. package/dist/agents/schemas.js.map +0 -1
  109. package/dist/agents/session.d.ts +0 -28
  110. package/dist/agents/session.d.ts.map +0 -1
  111. package/dist/agents/session.js +0 -223
  112. package/dist/agents/session.js.map +0 -1
  113. package/dist/analyzers/index.d.ts +0 -3
  114. package/dist/analyzers/index.d.ts.map +0 -1
  115. package/dist/analyzers/index.js +0 -6
  116. package/dist/analyzers/index.js.map +0 -1
  117. package/dist/analyzers/security/report.d.ts +0 -6
  118. package/dist/analyzers/security/report.d.ts.map +0 -1
  119. package/dist/analyzers/security/report.js +0 -118
  120. package/dist/analyzers/security/report.js.map +0 -1
  121. package/dist/analyzers/tools/dotnet.d.ts +0 -8
  122. package/dist/analyzers/tools/dotnet.d.ts.map +0 -1
  123. package/dist/analyzers/tools/dotnet.js +0 -81
  124. package/dist/analyzers/tools/dotnet.js.map +0 -1
  125. package/dist/analyzers/tools/gather-cache.d.ts +0 -16
  126. package/dist/analyzers/tools/gather-cache.d.ts.map +0 -1
  127. package/dist/analyzers/tools/gather-cache.js +0 -126
  128. package/dist/analyzers/tools/gather-cache.js.map +0 -1
  129. package/dist/analyzers/tools/go.d.ts +0 -8
  130. package/dist/analyzers/tools/go.d.ts.map +0 -1
  131. package/dist/analyzers/tools/go.js +0 -84
  132. package/dist/analyzers/tools/go.js.map +0 -1
  133. package/dist/analyzers/tools/node.d.ts +0 -8
  134. package/dist/analyzers/tools/node.d.ts.map +0 -1
  135. package/dist/analyzers/tools/node.js +0 -160
  136. package/dist/analyzers/tools/node.js.map +0 -1
  137. package/dist/analyzers/tools/python.d.ts +0 -8
  138. package/dist/analyzers/tools/python.d.ts.map +0 -1
  139. package/dist/analyzers/tools/python.js +0 -81
  140. package/dist/analyzers/tools/python.js.map +0 -1
  141. package/dist/analyzers/tools/rust.d.ts +0 -8
  142. package/dist/analyzers/tools/rust.d.ts.map +0 -1
  143. package/dist/analyzers/tools/rust.js +0 -86
  144. package/dist/analyzers/tools/rust.js.map +0 -1
  145. package/templates/.ai/templates/session-checkpoint-template.md +0 -97
@@ -1,86 +0,0 @@
1
- "use strict";
2
- /**
3
- * JSON output schemas for Managed Agent responses.
4
- * Each agent type returns structured JSON matching these schemas.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SCHEMA_JSON = void 0;
8
- exports.getSchema = getSchema;
9
- /** JSON schema objects for injection into system prompts. */
10
- exports.SCHEMA_JSON = {
11
- health: {
12
- type: 'object',
13
- properties: {
14
- repo: { type: 'string' },
15
- analyzedAt: { type: 'string' },
16
- summary: {
17
- type: 'object',
18
- properties: {
19
- overallScore: { type: 'number' },
20
- maxScore: { type: 'number', const: 60 },
21
- grade: { type: 'string', enum: ['A', 'B', 'C', 'D', 'F'] },
22
- },
23
- },
24
- dimensions: {
25
- type: 'object',
26
- properties: {
27
- testing: { type: 'object', properties: { score: { type: 'number' }, details: { type: 'string' } } },
28
- quality: { type: 'object', properties: { score: { type: 'number' }, details: { type: 'string' } } },
29
- documentation: { type: 'object', properties: { score: { type: 'number' }, details: { type: 'string' } } },
30
- security: { type: 'object', properties: { score: { type: 'number' }, details: { type: 'string' } } },
31
- maintainability: { type: 'object', properties: { score: { type: 'number' }, details: { type: 'string' } } },
32
- developerExperience: { type: 'object', properties: { score: { type: 'number' }, details: { type: 'string' } } },
33
- },
34
- },
35
- recommendations: {
36
- type: 'array',
37
- items: {
38
- type: 'object',
39
- properties: {
40
- priority: { type: 'number' },
41
- title: { type: 'string' },
42
- description: { type: 'string' },
43
- affectedFiles: { type: 'array', items: { type: 'string' } },
44
- },
45
- },
46
- },
47
- },
48
- },
49
- vulnerabilities: {
50
- type: 'object',
51
- properties: {
52
- repo: { type: 'string' },
53
- analyzedAt: { type: 'string' },
54
- summary: {
55
- type: 'object',
56
- properties: {
57
- total: { type: 'number' },
58
- critical: { type: 'number' },
59
- high: { type: 'number' },
60
- medium: { type: 'number' },
61
- low: { type: 'number' },
62
- },
63
- },
64
- findings: {
65
- type: 'array',
66
- items: {
67
- type: 'object',
68
- properties: {
69
- cwe: { type: 'string' },
70
- severity: { type: 'string' },
71
- title: { type: 'string' },
72
- file: { type: 'string' },
73
- line: { type: ['number', 'null'] },
74
- description: { type: 'string' },
75
- recommendation: { type: 'string' },
76
- },
77
- },
78
- },
79
- },
80
- },
81
- };
82
- /** Map agent type names to their JSON schemas. */
83
- function getSchema(agentType) {
84
- return exports.SCHEMA_JSON[agentType];
85
- }
86
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/agents/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Managed Agent session orchestration.
3
- *
4
- * Creates sessions, mounts repos, sends tasks, streams results.
5
- * Requires @anthropic-ai/sdk and ANTHROPIC_API_KEY.
6
- */
7
- /** Stored agent config — persisted to .dxkit-agents.json */
8
- export interface AgentConfig {
9
- version: string;
10
- environment_id: string;
11
- agents: Record<string, {
12
- agent_id: string;
13
- agent_version: string;
14
- prompt_hash: string;
15
- }>;
16
- }
17
- /** Load agent config from disk. */
18
- export declare function loadConfig(cwd: string): AgentConfig | null;
19
- /**
20
- * Set up all agents on Anthropic's infrastructure.
21
- * Creates an environment and one agent per template.
22
- */
23
- export declare function setupAgents(cwd: string, modelOverride?: string): Promise<AgentConfig>;
24
- /** List registered agents. */
25
- export declare function listAgents(cwd: string): void;
26
- /** Run an agent session on a GitHub repo. */
27
- export declare function runAgent(cwd: string, agentType: string, repoUrl: string, githubToken: string, branch?: string, task?: string): Promise<string>;
28
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agents/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CACF,CAAC;CACH;AAID,mCAAmC;AACnC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQ1D;AAkBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsD3F;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAe5C;AAED,6CAA6C;AAC7C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAuFjB"}
@@ -1,223 +0,0 @@
1
- "use strict";
2
- /**
3
- * Managed Agent session orchestration.
4
- *
5
- * Creates sessions, mounts repos, sends tasks, streams results.
6
- * Requires @anthropic-ai/sdk and ANTHROPIC_API_KEY.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __importDefault = (this && this.__importDefault) || function (mod) {
42
- return (mod && mod.__esModule) ? mod : { "default": mod };
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.loadConfig = loadConfig;
46
- exports.setupAgents = setupAgents;
47
- exports.listAgents = listAgents;
48
- exports.runAgent = runAgent;
49
- const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
50
- const fs = __importStar(require("fs"));
51
- const path = __importStar(require("path"));
52
- const extract_1 = require("./extract");
53
- const logger = __importStar(require("../logger"));
54
- const CONFIG_FILE = '.dxkit-agents.json';
55
- /** Load agent config from disk. */
56
- function loadConfig(cwd) {
57
- const configPath = path.join(cwd, CONFIG_FILE);
58
- if (!fs.existsSync(configPath))
59
- return null;
60
- try {
61
- return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
62
- }
63
- catch {
64
- return null;
65
- }
66
- }
67
- /** Save agent config to disk. */
68
- function saveConfig(cwd, config) {
69
- fs.writeFileSync(path.join(cwd, CONFIG_FILE), JSON.stringify(config, null, 2));
70
- }
71
- /** Simple hash for change detection. */
72
- function hashPrompt(content) {
73
- let hash = 0;
74
- for (let i = 0; i < content.length; i++) {
75
- const char = content.charCodeAt(i);
76
- hash = (hash << 5) - hash + char;
77
- hash |= 0;
78
- }
79
- return `hash:${hash.toString(36)}`;
80
- }
81
- /**
82
- * Set up all agents on Anthropic's infrastructure.
83
- * Creates an environment and one agent per template.
84
- */
85
- async function setupAgents(cwd, modelOverride) {
86
- const client = new sdk_1.default();
87
- logger.header('Setting up Managed Agents');
88
- // Create environment
89
- logger.info('Creating environment...');
90
- const env = await client.beta.environments.create({
91
- name: `dxkit-${Date.now()}`,
92
- config: {
93
- type: 'cloud',
94
- networking: { type: 'unrestricted' },
95
- },
96
- });
97
- logger.success(`Environment: ${env.id}`);
98
- // Create agents from templates
99
- const templates = (0, extract_1.listAgentTemplates)();
100
- const agents = {};
101
- for (const name of templates) {
102
- const extracted = (0, extract_1.extractAgent)(name, modelOverride);
103
- logger.info(`Creating agent: ${extracted.name}...`);
104
- try {
105
- const agent = await client.beta.agents.create({
106
- name: extracted.name,
107
- model: extracted.model,
108
- system: extracted.systemPrompt,
109
- tools: extracted.tools,
110
- });
111
- agents[name] = {
112
- agent_id: agent.id,
113
- agent_version: String(agent.version),
114
- prompt_hash: hashPrompt(extracted.systemPrompt),
115
- };
116
- logger.success(` ${extracted.name} → ${agent.id}`);
117
- }
118
- catch (err) {
119
- logger.warn(` Failed to create ${extracted.name}: ${err instanceof Error ? err.message : err}`);
120
- }
121
- }
122
- const config = {
123
- version: '1.5.1',
124
- environment_id: env.id,
125
- agents,
126
- };
127
- saveConfig(cwd, config);
128
- logger.success(`\nConfig saved to ${CONFIG_FILE}`);
129
- logger.info(`${Object.keys(agents).length} agents created.`);
130
- return config;
131
- }
132
- /** List registered agents. */
133
- function listAgents(cwd) {
134
- const config = loadConfig(cwd);
135
- if (!config) {
136
- logger.warn('No agents configured. Run: npx @vyuhlabs/dxkit agents setup');
137
- return;
138
- }
139
- logger.header('Registered Agents');
140
- logger.info(`Environment: ${config.environment_id}`);
141
- console.log('');
142
- for (const [name, agent] of Object.entries(config.agents)) {
143
- console.log(` ${name.padEnd(25)} ${agent.agent_id}`);
144
- }
145
- console.log(`\n ${Object.keys(config.agents).length} agents total.`);
146
- }
147
- /** Run an agent session on a GitHub repo. */
148
- async function runAgent(cwd, agentType, repoUrl, githubToken, branch, task) {
149
- const config = loadConfig(cwd);
150
- if (!config) {
151
- throw new Error('No agents configured. Run: npx @vyuhlabs/dxkit agents setup');
152
- }
153
- const agentDef = config.agents[agentType];
154
- if (!agentDef) {
155
- throw new Error(`Unknown agent: ${agentType}. Available: ${Object.keys(config.agents).join(', ')}`);
156
- }
157
- const client = new sdk_1.default();
158
- logger.info(`Running ${agentType} on ${repoUrl}...`);
159
- // Create session with repo mounted
160
- const session = await client.beta.sessions.create({
161
- agent: {
162
- type: 'agent',
163
- id: agentDef.agent_id,
164
- version: Number(agentDef.agent_version),
165
- },
166
- environment_id: config.environment_id,
167
- resources: [
168
- {
169
- type: 'github_repository',
170
- url: repoUrl,
171
- authorization_token: githubToken,
172
- checkout: branch ? { type: 'branch', name: branch } : undefined,
173
- },
174
- ],
175
- });
176
- logger.info(`Session: ${session.id}`);
177
- // Send task
178
- const taskMessage = task || 'Analyze this codebase thoroughly and return your findings as JSON.';
179
- // Open stream first, then send message
180
- const stream = await client.beta.sessions.events.stream(session.id);
181
- await client.beta.sessions.events.send(session.id, {
182
- events: [
183
- {
184
- type: 'user.message',
185
- content: [{ type: 'text', text: taskMessage }],
186
- },
187
- ],
188
- });
189
- // Collect output
190
- let output = '';
191
- let lastEventType = '';
192
- for await (const event of stream) {
193
- if (event.type === 'agent.message') {
194
- for (const block of event.content) {
195
- if (block.type === 'text' && block.text) {
196
- output += block.text;
197
- process.stdout.write('.');
198
- }
199
- }
200
- }
201
- else if (event.type === 'session.status_idle') {
202
- const idleEvent = event;
203
- if (idleEvent.stop_reason?.type !== 'requires_action') {
204
- break;
205
- }
206
- }
207
- else if (event.type === 'session.status_terminated') {
208
- break;
209
- }
210
- lastEventType = event.type;
211
- }
212
- console.log(''); // newline after dots
213
- logger.success(`Session completed (last event: ${lastEventType})`);
214
- // Cleanup
215
- try {
216
- await client.beta.sessions.archive(session.id);
217
- }
218
- catch {
219
- // Archive may fail if session is already terminated
220
- }
221
- return output;
222
- }
223
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agents/session.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { analyzeHealth } from './health';
2
- export type { HealthMetrics, HealthReport, DimensionScore } from './types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyzers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzeHealth = void 0;
4
- var health_1 = require("./health");
5
- Object.defineProperty(exports, "analyzeHealth", { enumerable: true, get: function () { return health_1.analyzeHealth; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyzers/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAAhC,uGAAA,aAAa,OAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Markdown report formatter matching tmp/reports/vulnerability-scan-*.md format.
3
- */
4
- import { SecurityReport } from './types';
5
- export declare function formatSecurityReport(report: SecurityReport, elapsed: string): string;
6
- //# sourceMappingURL=report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/analyzers/security/report.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAC;AA6C1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAuFpF"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatSecurityReport = formatSecurityReport;
4
- const SEVERITY_ORDER = ['critical', 'high', 'medium', 'low'];
5
- const CATEGORY_SECTIONS = [
6
- {
7
- key: 'secrets-and-keys',
8
- title: '1. Secrets & Credentials Exposure',
9
- filter: (f) => f.category === 'secret' || f.category === 'private-key',
10
- },
11
- {
12
- key: 'code-vuln',
13
- title: '2. Code Vulnerability Patterns',
14
- filter: (f) => f.category === 'code-vuln',
15
- },
16
- {
17
- key: 'config',
18
- title: '3. Configuration Vulnerabilities',
19
- filter: (f) => f.category === 'config',
20
- },
21
- ];
22
- function severityLabel(s) {
23
- return s.toUpperCase();
24
- }
25
- function formatFinding(f) {
26
- const lines = [];
27
- lines.push(`### ${severityLabel(f.severity)}: ${f.description}`);
28
- if (f.file) {
29
- const loc = f.line ? `${f.file}:${f.line}` : f.file;
30
- lines.push(`- **File:** \`${loc}\``);
31
- }
32
- if (f.cwe)
33
- lines.push(`- **CWE:** ${f.cwe}`);
34
- lines.push(`- **Rule:** ${f.rule}`);
35
- if (f.snippet)
36
- lines.push(`- **Snippet:** \`${f.snippet}\``);
37
- if (f.remediation)
38
- lines.push(`- **Remediation:** ${f.remediation}`);
39
- lines.push('');
40
- return lines.join('\n');
41
- }
42
- function formatSecurityReport(report, elapsed) {
43
- const lines = [];
44
- lines.push('# Vulnerability Scan Report');
45
- lines.push('');
46
- lines.push(`**Date:** ${report.analyzedAt.slice(0, 10)}`);
47
- lines.push(`**Repository:** ${report.repo}`);
48
- lines.push(`**Branch:** ${report.branch}`);
49
- lines.push(`**Commit:** ${report.commitSha}`);
50
- lines.push('');
51
- lines.push('---');
52
- lines.push('');
53
- // Executive Summary
54
- lines.push('## Executive Summary');
55
- lines.push('');
56
- lines.push('| Severity | Count |');
57
- lines.push('|----------|-------|');
58
- lines.push(`| CRITICAL | ${report.summary.critical} |`);
59
- lines.push(`| HIGH | ${report.summary.high} |`);
60
- lines.push(`| MEDIUM | ${report.summary.medium} |`);
61
- lines.push(`| LOW | ${report.summary.low} |`);
62
- lines.push(`| **Total** | **${report.summary.total}** |`);
63
- lines.push('');
64
- lines.push(`Overall severity: **${report.summary.overallSeverity.toUpperCase()}**. ` +
65
- `Dependency audit flagged ${report.dependencies.total} vulnerable packages.`);
66
- lines.push('');
67
- lines.push('---');
68
- lines.push('');
69
- // Category sections — sorted by severity within each
70
- for (const section of CATEGORY_SECTIONS) {
71
- const sectionFindings = report.findings.filter(section.filter);
72
- if (sectionFindings.length === 0)
73
- continue;
74
- lines.push(`## ${section.title}`);
75
- lines.push('');
76
- sectionFindings.sort((a, b) => SEVERITY_ORDER.indexOf(a.severity) - SEVERITY_ORDER.indexOf(b.severity));
77
- for (const f of sectionFindings) {
78
- lines.push(formatFinding(f));
79
- }
80
- lines.push('---');
81
- lines.push('');
82
- }
83
- // Dependency section
84
- lines.push('## 4. Dependency Vulnerabilities');
85
- lines.push('');
86
- lines.push(`**Tool:** ${report.dependencies.tool || 'not available'}`);
87
- lines.push('');
88
- lines.push('| Severity | Count |');
89
- lines.push('|----------|-------|');
90
- lines.push(`| Critical | ${report.dependencies.critical} |`);
91
- lines.push(`| High | ${report.dependencies.high} |`);
92
- lines.push(`| Medium | ${report.dependencies.medium} |`);
93
- lines.push(`| Low | ${report.dependencies.low} |`);
94
- lines.push(`| **Total** | **${report.dependencies.total}** |`);
95
- lines.push('');
96
- if (report.dependencies.subprojects && report.dependencies.subprojects.length > 0) {
97
- lines.push('### By subproject');
98
- lines.push('');
99
- lines.push('| Subproject | Critical | High | Medium | Low | Total |');
100
- lines.push('|------------|----------|------|--------|-----|-------|');
101
- for (const sp of report.dependencies.subprojects) {
102
- lines.push(`| ${sp.name} | ${sp.critical} | ${sp.high} | ${sp.medium} | ${sp.low} | ${sp.total} |`);
103
- }
104
- lines.push('');
105
- }
106
- lines.push('---');
107
- lines.push('');
108
- // Footer
109
- lines.push(`**Tools used:** ${report.toolsUsed.join(', ')}`);
110
- if (report.toolsUnavailable.length > 0) {
111
- lines.push(`**Tools unavailable:** ${report.toolsUnavailable.join(', ')}`);
112
- }
113
- lines.push(`**Analysis time:** ${elapsed}s`);
114
- lines.push('');
115
- lines.push('*Generated by [VyuhLabs DXKit](https://www.npmjs.com/package/@vyuhlabs/dxkit)*');
116
- return lines.join('\n');
117
- }
118
- //# sourceMappingURL=report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/analyzers/security/report.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * C# / .NET tool runner — dotnet format, dotnet list package --vulnerable.
3
- * Layer 1: language-specific tools for .NET projects.
4
- */
5
- import { HealthMetrics } from '../types';
6
- /** Gather .NET-specific metrics. */
7
- export declare function gatherDotnetMetrics(cwd: string): Partial<HealthMetrics>;
8
- //# sourceMappingURL=dotnet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotnet.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/dotnet.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,oCAAoC;AACpC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqFvE"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gatherDotnetMetrics = gatherDotnetMetrics;
4
- const runner_1 = require("./runner");
5
- const tool_registry_1 = require("./tool-registry");
6
- /** Gather .NET-specific metrics. */
7
- function gatherDotnetMetrics(cwd) {
8
- const metrics = {
9
- toolsUsed: [],
10
- toolsUnavailable: [],
11
- };
12
- // dotnet format (lint/formatting check)
13
- const dotnet = (0, tool_registry_1.findTool)(tool_registry_1.TOOL_DEFS['dotnet-format'], cwd);
14
- if (dotnet.available) {
15
- const exitCode = (0, runner_1.runExitCode)('dotnet format --verify-no-changes 2>/dev/null', cwd, 120000);
16
- if (exitCode === 0) {
17
- metrics.lintErrors = 0;
18
- metrics.lintWarnings = 0;
19
- }
20
- else {
21
- // Count format violations from output
22
- const raw = (0, runner_1.run)('dotnet format --verify-no-changes 2>&1', cwd, 120000);
23
- const violations = raw ? raw.split('\n').filter((l) => l.includes('Formatted')).length : 1;
24
- metrics.lintErrors = violations;
25
- metrics.lintWarnings = 0;
26
- }
27
- metrics.lintTool = 'dotnet-format';
28
- metrics.toolsUsed.push('dotnet-format');
29
- }
30
- else {
31
- metrics.toolsUnavailable.push('dotnet-format');
32
- }
33
- // dotnet list package --vulnerable
34
- if (dotnet.available) {
35
- const raw = (0, runner_1.run)('dotnet list package --vulnerable --format json 2>/dev/null', cwd, 120000);
36
- if (raw) {
37
- try {
38
- const data = JSON.parse(raw);
39
- let critical = 0, high = 0, medium = 0, low = 0;
40
- for (const proj of data.projects || []) {
41
- for (const fw of proj.frameworks || []) {
42
- for (const pkg of fw.topLevelPackages || []) {
43
- for (const adv of pkg.advisories || []) {
44
- const sev = adv.severity?.toLowerCase();
45
- if (sev === 'critical')
46
- critical++;
47
- else if (sev === 'high')
48
- high++;
49
- else if (sev === 'moderate' || sev === 'medium')
50
- medium++;
51
- else
52
- low++;
53
- }
54
- }
55
- }
56
- }
57
- if (critical + high + medium + low > 0) {
58
- metrics.depVulnCritical = critical;
59
- metrics.depVulnHigh = high;
60
- metrics.depVulnMedium = medium;
61
- metrics.depVulnLow = low;
62
- metrics.depAuditTool = 'dotnet-vulnerable';
63
- metrics.toolsUsed.push('dotnet-vulnerable');
64
- }
65
- }
66
- catch {
67
- // --format json not supported in older SDKs — try text parsing
68
- metrics.toolsUnavailable.push('dotnet-vulnerable (parse error)');
69
- }
70
- }
71
- }
72
- // Test framework detection
73
- if ((0, runner_1.fileExists)(cwd, '*.csproj')) {
74
- const csproj = (0, runner_1.run)("find . -name '*.csproj' -exec grep -l 'xunit\\|nunit\\|MSTest' {} \\; 2>/dev/null | head -1", cwd);
75
- if (csproj) {
76
- metrics.testFramework = 'dotnet-test';
77
- }
78
- }
79
- return metrics;
80
- }
81
- //# sourceMappingURL=dotnet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotnet.js","sourceRoot":"","sources":["../../../src/analyzers/tools/dotnet.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare class GatherCache {
2
- private cacheDir;
3
- private commitSha;
4
- private memory;
5
- constructor(targetRepo: string);
6
- /**
7
- * Get cached result or compute and cache it.
8
- * Checks in-memory first (same process), then file cache (cross-process).
9
- */
10
- getOrCompute<T>(toolName: string, compute: () => T): T;
11
- /** Check if a tool has a cached result. */
12
- has(toolName: string): boolean;
13
- /** Remove cached entries for a tool from different commits. */
14
- private cleanStale;
15
- }
16
- //# sourceMappingURL=gather-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gather-cache.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/gather-cache.ts"],"names":[],"mappings":"AAoBA,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAA8B;gBAEhC,UAAU,EAAE,MAAM;IAK9B;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IAsCtD,2CAA2C;IAC3C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAO9B,+DAA+D;IAC/D,OAAO,CAAC,UAAU;CAYnB"}