@inkog-io/mcp 1.0.0 ā 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.d.ts +7 -6
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +28 -23
- package/dist/api/client.js.map +1 -1
- package/dist/api/types.d.ts +278 -135
- package/dist/api/types.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -3
- package/dist/config.js.map +1 -1
- package/dist/tools/audit-a2a.d.ts.map +1 -1
- package/dist/tools/audit-a2a.js +219 -123
- package/dist/tools/audit-a2a.js.map +1 -1
- package/dist/tools/audit-mcp.d.ts.map +1 -1
- package/dist/tools/audit-mcp.js +114 -68
- package/dist/tools/audit-mcp.js.map +1 -1
- package/dist/tools/compliance.d.ts.map +1 -1
- package/dist/tools/compliance.js +199 -38
- package/dist/tools/compliance.js.map +1 -1
- package/dist/tools/explain.d.ts.map +1 -1
- package/dist/tools/explain.js +67 -42
- package/dist/tools/explain.js.map +1 -1
- package/dist/tools/governance.d.ts.map +1 -1
- package/dist/tools/governance.js +174 -39
- package/dist/tools/governance.js.map +1 -1
- package/dist/tools/mlbom.d.ts.map +1 -1
- package/dist/tools/mlbom.js +162 -142
- package/dist/tools/mlbom.js.map +1 -1
- package/dist/tools/scan.d.ts.map +1 -1
- package/dist/tools/scan.js +63 -10
- package/dist/tools/scan.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/governance.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* This is Inkog's unique differentiator - no other tool does this.
|
|
13
13
|
*/
|
|
14
14
|
import { z } from 'zod';
|
|
15
|
-
import { getClient, InkogAuthError, InkogNetworkError } from '../api/client.js';
|
|
15
|
+
import { getClient, InkogApiError, InkogAuthError, InkogNetworkError, InkogRateLimitError, } from '../api/client.js';
|
|
16
16
|
import { findAgentsMd, getRelativePaths, readDirectory } from '../utils/file-reader.js';
|
|
17
17
|
// =============================================================================
|
|
18
18
|
// Schema
|
|
@@ -23,30 +23,77 @@ const GovernanceArgsSchema = z.object({
|
|
|
23
23
|
// =============================================================================
|
|
24
24
|
// Helpers
|
|
25
25
|
// =============================================================================
|
|
26
|
+
function formatSeverityIcon(severity) {
|
|
27
|
+
const upper = severity.toUpperCase();
|
|
28
|
+
switch (upper) {
|
|
29
|
+
case 'CRITICAL':
|
|
30
|
+
return 'š“';
|
|
31
|
+
case 'HIGH':
|
|
32
|
+
return 'š ';
|
|
33
|
+
case 'MEDIUM':
|
|
34
|
+
return 'š”';
|
|
35
|
+
case 'LOW':
|
|
36
|
+
return 'š¢';
|
|
37
|
+
default:
|
|
38
|
+
return 'āŖ';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
26
41
|
function formatMismatch(mismatch) {
|
|
27
|
-
const icon = mismatch.severity
|
|
28
|
-
|
|
29
|
-
: mismatch.severity === 'HIGH'
|
|
30
|
-
? 'š '
|
|
31
|
-
: mismatch.severity === 'MEDIUM'
|
|
32
|
-
? 'š”'
|
|
33
|
-
: 'š¢';
|
|
34
|
-
let output = `${icon} GOVERNANCE MISMATCH\n`;
|
|
42
|
+
const icon = formatSeverityIcon(mismatch.severity);
|
|
43
|
+
let output = `${icon} GOVERNANCE MISMATCH [${mismatch.severity.toUpperCase()}]\n`;
|
|
35
44
|
output += ` š ${mismatch.file}:${mismatch.line}\n`;
|
|
36
|
-
output += `
|
|
45
|
+
output += ` šÆ Capability: ${mismatch.capability}\n`;
|
|
46
|
+
output += ` š Expected: "${mismatch.expected}"\n`;
|
|
37
47
|
output += ` ā ļø Actual: "${mismatch.actual}"\n`;
|
|
38
|
-
|
|
48
|
+
if (mismatch.evidence) {
|
|
49
|
+
output += ` š Evidence: ${mismatch.evidence}\n`;
|
|
50
|
+
}
|
|
51
|
+
return output;
|
|
52
|
+
}
|
|
53
|
+
function formatCapability(cap) {
|
|
54
|
+
const statusIcon = cap.status === 'valid' ? 'ā
' :
|
|
55
|
+
cap.status === 'violated' ? 'ā' : 'āŖ';
|
|
56
|
+
let output = `${statusIcon} ${cap.name}`;
|
|
57
|
+
if (cap.constraint_type) {
|
|
58
|
+
output += ` [${cap.constraint_type}]`;
|
|
59
|
+
}
|
|
60
|
+
output += '\n';
|
|
61
|
+
if (cap.description) {
|
|
62
|
+
output += ` ${cap.description}\n`;
|
|
63
|
+
}
|
|
64
|
+
if (cap.line) {
|
|
65
|
+
output += ` Line: ${cap.line}\n`;
|
|
66
|
+
}
|
|
39
67
|
return output;
|
|
40
68
|
}
|
|
41
|
-
function
|
|
42
|
-
if (
|
|
43
|
-
return
|
|
69
|
+
function formatScore(score) {
|
|
70
|
+
if (score >= 90) {
|
|
71
|
+
return `ā
${score}/100 (Excellent)`;
|
|
72
|
+
}
|
|
73
|
+
else if (score >= 70) {
|
|
74
|
+
return `š¢ ${score}/100 (Good)`;
|
|
75
|
+
}
|
|
76
|
+
else if (score >= 50) {
|
|
77
|
+
return `š” ${score}/100 (Fair)`;
|
|
78
|
+
}
|
|
79
|
+
else if (score >= 30) {
|
|
80
|
+
return `š ${score}/100 (Poor)`;
|
|
44
81
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
82
|
+
else {
|
|
83
|
+
return `š“ ${score}/100 (Critical)`;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function formatOverallStatus(status) {
|
|
87
|
+
switch (status.toLowerCase()) {
|
|
88
|
+
case 'valid':
|
|
89
|
+
return 'ā
Valid';
|
|
90
|
+
case 'invalid':
|
|
91
|
+
return 'ā Invalid';
|
|
92
|
+
case 'partial':
|
|
93
|
+
return 'ā ļø Partial';
|
|
94
|
+
default:
|
|
95
|
+
return status;
|
|
48
96
|
}
|
|
49
|
-
return output + '\n';
|
|
50
97
|
}
|
|
51
98
|
// =============================================================================
|
|
52
99
|
// Handler
|
|
@@ -84,16 +131,31 @@ async function governanceHandler(rawArgs) {
|
|
|
84
131
|
}
|
|
85
132
|
// Get relative paths for cleaner output
|
|
86
133
|
const files = getRelativePaths(readResult.files, args.path);
|
|
87
|
-
// Call Inkog API
|
|
134
|
+
// Call Inkog API - first scan, then verify governance
|
|
88
135
|
const client = getClient();
|
|
89
|
-
|
|
136
|
+
// Step 1: Run a scan to get a scan_id
|
|
137
|
+
const scanResponse = await client.scan(files, { policy: 'governance' });
|
|
138
|
+
if (!scanResponse.success || !scanResponse.scan_id) {
|
|
139
|
+
return {
|
|
140
|
+
content: [
|
|
141
|
+
{
|
|
142
|
+
type: 'text',
|
|
143
|
+
text: 'Scan failed: Unable to analyze files',
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
isError: true,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
// Step 2: Use scan_id to verify governance
|
|
150
|
+
const response = await client.verifyGovernance({ scanId: scanResponse.scan_id });
|
|
90
151
|
// Build output
|
|
91
152
|
let output = 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n';
|
|
92
153
|
output += 'ā šļø AGENTS.md Governance Verification ā\n';
|
|
93
154
|
output += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n\n';
|
|
94
155
|
// AGENTS.md status
|
|
95
|
-
|
|
96
|
-
|
|
156
|
+
const hasAgentsMd = response.hasAgentsMd ?? (agentsMdPath !== null);
|
|
157
|
+
if (hasAgentsMd) {
|
|
158
|
+
output += `ā
AGENTS.md found: ${agentsMdPath ?? 'AGENTS.md'}\n\n`;
|
|
97
159
|
}
|
|
98
160
|
else {
|
|
99
161
|
output += 'ā ļø No AGENTS.md file found\n\n';
|
|
@@ -108,35 +170,77 @@ async function governanceHandler(rawArgs) {
|
|
|
108
170
|
output +=
|
|
109
171
|
'Learn more: https://docs.inkog.io/governance/agents-md\n\n';
|
|
110
172
|
}
|
|
111
|
-
//
|
|
112
|
-
output += `š
|
|
113
|
-
|
|
114
|
-
if
|
|
173
|
+
// Overall status and score
|
|
174
|
+
output += `š Status: ${formatOverallStatus(response.overall_status)}\n`;
|
|
175
|
+
output += `š Governance Score: ${formatScore(response.score)}\n\n`;
|
|
176
|
+
// Summary if available
|
|
177
|
+
if (response.summary) {
|
|
178
|
+
output += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n\n';
|
|
179
|
+
output += 'š SUMMARY\n\n';
|
|
180
|
+
output += ` Total declarations: ${response.summary.total_declarations}\n`;
|
|
181
|
+
output += ` ā
Valid: ${response.summary.valid_declarations}\n`;
|
|
182
|
+
output += ` ā Violated: ${response.summary.violated_constraints}\n`;
|
|
183
|
+
output += ` āŖ Unverified: ${response.summary.unverified_items}\n`;
|
|
184
|
+
output += ` š Files analyzed: ${response.summary.files_analyzed}\n\n`;
|
|
185
|
+
}
|
|
186
|
+
// Declared capabilities
|
|
187
|
+
const declaredCaps = response.declared_capabilities ?? [];
|
|
188
|
+
if (declaredCaps.length > 0) {
|
|
115
189
|
output += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n\n';
|
|
116
|
-
output += 'š DECLARED
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
190
|
+
output += 'š DECLARED CAPABILITIES\n\n';
|
|
191
|
+
// Group by status
|
|
192
|
+
const valid = declaredCaps.filter((c) => c.status === 'valid');
|
|
193
|
+
const violated = declaredCaps.filter((c) => c.status === 'violated');
|
|
194
|
+
const unverified = declaredCaps.filter((c) => c.status === 'unverified');
|
|
195
|
+
if (violated.length > 0) {
|
|
196
|
+
output += 'ā VIOLATED:\n\n';
|
|
197
|
+
for (const cap of violated) {
|
|
198
|
+
output += formatCapability(cap);
|
|
199
|
+
}
|
|
200
|
+
output += '\n';
|
|
201
|
+
}
|
|
202
|
+
if (unverified.length > 0) {
|
|
203
|
+
output += 'āŖ UNVERIFIED:\n\n';
|
|
204
|
+
for (const cap of unverified) {
|
|
205
|
+
output += formatCapability(cap);
|
|
206
|
+
}
|
|
207
|
+
output += '\n';
|
|
208
|
+
}
|
|
209
|
+
if (valid.length > 0) {
|
|
210
|
+
output += 'ā
VALID:\n\n';
|
|
211
|
+
for (const cap of valid) {
|
|
212
|
+
output += ` ${cap.name}`;
|
|
213
|
+
if (cap.constraint_type) {
|
|
214
|
+
output += ` [${cap.constraint_type}]`;
|
|
215
|
+
}
|
|
216
|
+
output += '\n';
|
|
217
|
+
}
|
|
218
|
+
output += '\n';
|
|
219
|
+
}
|
|
120
220
|
}
|
|
121
221
|
// Mismatches
|
|
122
|
-
|
|
222
|
+
const mismatches = response.mismatches ?? [];
|
|
223
|
+
if (mismatches.length > 0) {
|
|
123
224
|
output += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n\n';
|
|
124
|
-
output += `ā ļø GOVERNANCE MISMATCHES (${
|
|
225
|
+
output += `ā ļø GOVERNANCE MISMATCHES (${mismatches.length})\n\n`;
|
|
125
226
|
output += 'The following code behaviors do not match AGENTS.md declarations:\n\n';
|
|
126
|
-
for (const mismatch of
|
|
127
|
-
output += formatMismatch(mismatch) + '\n
|
|
227
|
+
for (const mismatch of mismatches) {
|
|
228
|
+
output += formatMismatch(mismatch) + '\n';
|
|
128
229
|
}
|
|
129
230
|
}
|
|
130
|
-
else if (
|
|
231
|
+
else if (hasAgentsMd) {
|
|
131
232
|
output += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n\n';
|
|
132
233
|
output += 'ā
No governance mismatches detected!\n\n';
|
|
133
234
|
output += 'Your agent code aligns with its AGENTS.md declarations.\n\n';
|
|
134
235
|
}
|
|
135
236
|
// Recommendations
|
|
136
|
-
|
|
237
|
+
const recommendations = response.recommendations ?? [];
|
|
238
|
+
if (recommendations.length > 0) {
|
|
137
239
|
output += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n\n';
|
|
138
|
-
output += 'š”
|
|
139
|
-
|
|
240
|
+
output += 'š” RECOMMENDATIONS\n\n';
|
|
241
|
+
for (let i = 0; i < recommendations.length; i++) {
|
|
242
|
+
output += `${i + 1}. ${recommendations[i]}\n`;
|
|
243
|
+
}
|
|
140
244
|
}
|
|
141
245
|
// Footer
|
|
142
246
|
output += '\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n';
|
|
@@ -163,6 +267,17 @@ async function governanceHandler(rawArgs) {
|
|
|
163
267
|
isError: true,
|
|
164
268
|
};
|
|
165
269
|
}
|
|
270
|
+
if (error instanceof InkogRateLimitError) {
|
|
271
|
+
return {
|
|
272
|
+
content: [
|
|
273
|
+
{
|
|
274
|
+
type: 'text',
|
|
275
|
+
text: `ā±ļø Rate Limited\n\nToo many requests. Please retry after ${error.retryAfter} seconds.`,
|
|
276
|
+
},
|
|
277
|
+
],
|
|
278
|
+
isError: true,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
166
281
|
if (error instanceof InkogNetworkError) {
|
|
167
282
|
return {
|
|
168
283
|
content: [
|
|
@@ -174,7 +289,27 @@ async function governanceHandler(rawArgs) {
|
|
|
174
289
|
isError: true,
|
|
175
290
|
};
|
|
176
291
|
}
|
|
177
|
-
|
|
292
|
+
if (error instanceof InkogApiError) {
|
|
293
|
+
return {
|
|
294
|
+
content: [
|
|
295
|
+
{
|
|
296
|
+
type: 'text',
|
|
297
|
+
text: `API error: ${error.message}${error.details ? `\n\nDetails: ${JSON.stringify(error.details)}` : ''}`,
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
isError: true,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
const message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
304
|
+
return {
|
|
305
|
+
content: [
|
|
306
|
+
{
|
|
307
|
+
type: 'text',
|
|
308
|
+
text: `Error: ${message}`,
|
|
309
|
+
},
|
|
310
|
+
],
|
|
311
|
+
isError: true,
|
|
312
|
+
};
|
|
178
313
|
}
|
|
179
314
|
}
|
|
180
315
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mlbom.d.ts","sourceRoot":"","sources":["../../src/tools/mlbom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"mlbom.d.ts","sourceRoot":"","sources":["../../src/tools/mlbom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAgX7D,eAAO,MAAM,SAAS,EAAE,cA4BvB,CAAC"}
|