mcp-lint 1.0.0 → 1.0.4

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 (68) hide show
  1. package/README.md +24 -16
  2. package/dist/audit/format.js +24 -0
  3. package/dist/audit/format.js.map +1 -1
  4. package/dist/audit/index.d.ts +1 -1
  5. package/dist/audit/index.js.map +1 -1
  6. package/dist/audit/report.d.ts +89 -2
  7. package/dist/audit/report.js +76 -3
  8. package/dist/audit/report.js.map +1 -1
  9. package/dist/catalog/lint.d.ts +12 -0
  10. package/dist/catalog/lint.js +113 -0
  11. package/dist/catalog/lint.js.map +1 -0
  12. package/dist/catalog/list.d.ts +6 -0
  13. package/dist/catalog/list.js.map +1 -1
  14. package/dist/cli/commands/catalog.d.ts +3 -0
  15. package/dist/cli/commands/catalog.js +17 -6
  16. package/dist/cli/commands/catalog.js.map +1 -1
  17. package/dist/cli/commands/check.js +2 -2
  18. package/dist/cli/commands/check.js.map +1 -1
  19. package/dist/cli/commands/compat.d.ts +1 -0
  20. package/dist/cli/commands/compat.js +7 -2
  21. package/dist/cli/commands/compat.js.map +1 -1
  22. package/dist/cli/commands/explain.d.ts +2 -0
  23. package/dist/cli/commands/explain.js +46 -31
  24. package/dist/cli/commands/explain.js.map +1 -1
  25. package/dist/cli/formatters/layout.d.ts +31 -0
  26. package/dist/cli/formatters/layout.js +52 -0
  27. package/dist/cli/formatters/layout.js.map +1 -0
  28. package/dist/cli/formatters/terminal.d.ts +1 -1
  29. package/dist/cli/formatters/terminal.js +43 -22
  30. package/dist/cli/formatters/terminal.js.map +1 -1
  31. package/dist/core/rule.d.ts +3 -1
  32. package/dist/discover/format.js +1 -1
  33. package/dist/discover/format.js.map +1 -1
  34. package/dist/recover/score.js +2 -3
  35. package/dist/recover/score.js.map +1 -1
  36. package/dist/rules/catalog.d.ts +9 -0
  37. package/dist/rules/catalog.js +33 -0
  38. package/dist/rules/catalog.js.map +1 -0
  39. package/dist/rules/client-specific/claude.js +1 -0
  40. package/dist/rules/client-specific/claude.js.map +1 -1
  41. package/dist/rules/client-specific/cline.js +1 -0
  42. package/dist/rules/client-specific/cline.js.map +1 -1
  43. package/dist/rules/client-specific/continue.js +1 -0
  44. package/dist/rules/client-specific/continue.js.map +1 -1
  45. package/dist/rules/client-specific/cursor.js +2 -0
  46. package/dist/rules/client-specific/cursor.js.map +1 -1
  47. package/dist/rules/client-specific/openai.js +1 -0
  48. package/dist/rules/client-specific/openai.js.map +1 -1
  49. package/dist/rules/client-specific/windsurf.js +1 -0
  50. package/dist/rules/client-specific/windsurf.js.map +1 -1
  51. package/dist/rules/destructive-hint.js +1 -0
  52. package/dist/rules/destructive-hint.js.map +1 -1
  53. package/dist/rules/index.js +2 -0
  54. package/dist/rules/index.js.map +1 -1
  55. package/dist/rules/no-content-encoding.js +7 -0
  56. package/dist/rules/no-content-encoding.js.map +1 -1
  57. package/dist/rules/no-empty-enum.js +1 -0
  58. package/dist/rules/no-empty-enum.js.map +1 -1
  59. package/dist/rules/no-required-false.js +7 -0
  60. package/dist/rules/no-required-false.js.map +1 -1
  61. package/dist/rules/no-unsupported-formats.js +1 -0
  62. package/dist/rules/no-unsupported-formats.js.map +1 -1
  63. package/dist/rules/tool-name.js +3 -0
  64. package/dist/rules/tool-name.js.map +1 -1
  65. package/dist/version.d.ts +1 -1
  66. package/dist/version.js +1 -1
  67. package/examples/github-action.yml +4 -2
  68. package/package.json +7 -3
package/README.md CHANGED
@@ -13,7 +13,7 @@ Proof page, with a live bench: [mcp-lint-alpha.vercel.app](https://mcp-lint-alph
13
13
 
14
14
  MCP servers expose tool schemas consumed by **Claude**, **Cursor**, **Gemini**, **VS Code Copilot**, **Windsurf**, **Cline**, **OpenAI Agents SDK**, and **Continue.dev**. Each client has different JSON Schema support and quirks — a schema that works in Claude may silently break in Cursor or OpenAI. `mcp-lint` catches these issues before your users do.
15
15
 
16
- This repository is **1.0.0**. npm `latest` is 1.0.0. Design notes: [PRODUCT.md](PRODUCT.md), [ROADMAP.md](ROADMAP.md), [ARCHITECTURE.md](ARCHITECTURE.md), [SECURITY.md](SECURITY.md), [RELEASE.md](RELEASE.md). Those files describe the current code. They are not extra commands.
16
+ This repository is **1.0.4**. Install it with `npx mcp-lint@1.0.4`. npm `1.0.3` is the previous registry release. npm `1.0.1` and npm `1.0.2` were not published. Design notes: [PRODUCT.md](PRODUCT.md), [ROADMAP.md](ROADMAP.md), [ARCHITECTURE.md](ARCHITECTURE.md), [SECURITY.md](SECURITY.md), [RELEASE.md](RELEASE.md). Those files describe the current code. They are not extra commands.
17
17
 
18
18
  ```
19
19
  $ npx mcp-lint check tools.json
@@ -25,6 +25,8 @@ search-tool
25
25
  inputSchema.properties.limit [description-exists]
26
26
 
27
27
  1 error, 1 warning
28
+ Next: mcp-lint explain no-required-false
29
+ mcp-lint fix tools.json --dry-run
28
30
  ```
29
31
 
30
32
  ---
@@ -50,7 +52,8 @@ npm install --save-dev mcp-lint
50
52
  ## Quick Start
51
53
 
52
54
  ```bash
53
- # Look for tools.json, tools.yaml, or mcp-tools.json in this directory
55
+ # Look in this directory, and one level down, for tools.json, tools.yaml,
56
+ # tools.yml, mcp-tools.json, mcp-tools.yaml, or mcp-tools.yml
54
57
  npx mcp-lint
55
58
 
56
59
  # Check a JSON or YAML file
@@ -116,7 +119,8 @@ $ mcp-lint explain openai/no-additional-properties
116
119
  Rule: openai/no-additional-properties
117
120
  Severity: error
118
121
  Clients: openai
119
- Fixable: yes
122
+ Fix: review
123
+ mcp-lint fix lists this and does not write it.
120
124
 
121
125
  Description
122
126
  OpenAI Agents SDK strict mode requires `additionalProperties: false` on the root inputSchema.
@@ -138,7 +142,7 @@ Good example
138
142
  "additionalProperties": false
139
143
  }
140
144
 
141
- Auto-fix
145
+ Change
142
146
  Add `"additionalProperties": false` to the root inputSchema.
143
147
  ```
144
148
 
@@ -182,9 +186,9 @@ mcp-lint check --server sse --url http://localhost:3000/sse
182
186
 
183
187
  | Code | Meaning |
184
188
  |------|---------|
185
- | `0` | No errors (warnings don't count) |
186
- | `1` | One or more errors found |
187
- | `2` | Invalid input or configuration error |
189
+ | `0` | No schema errors. Warnings do not fail the command. |
190
+ | `1` | One or more schema errors, or the command could not read its input. |
191
+ | `2` | `--watch` was used without a file. |
188
192
 
189
193
  ### `mcp-lint report <file>`
190
194
 
@@ -197,7 +201,7 @@ mcp-lint report tools.json --format html --output report.html
197
201
  mcp-lint report tools.json --format markdown
198
202
  ```
199
203
 
200
- Formats are `terminal`, `json`, `markdown`, `sarif`, and `html`. The HTML file has inline CSS and no script. Token totals are a local `chars / 4` estimate. Recovery, preflight, and live inspection stay marked as not run. When the run has no schema errors, the report says: "No schema errors in this run. Recovery, preflight, and live inspection were not measured."
204
+ Formats are `terminal`, `json`, `markdown`, `sarif`, and `html`. The HTML file has inline CSS and no script. Token totals are a local `chars / 4` estimate. The compatibility section is filled from that same lint. A cell is `measured` or `not_observed`. An empty tool list leaves the section not run. Recovery, preflight, and live inspection stay marked as not run. When the run has no schema errors, the report says: "No schema errors in this run. Recovery, preflight, and live inspection were not measured."
201
205
 
202
206
  ```bash
203
207
  mcp-lint report tools.json --baseline audit.baseline.json
@@ -208,14 +212,14 @@ mcp-lint report tools.json --update-baseline audit.baseline.json
208
212
 
209
213
  ### `mcp-lint catalog`
210
214
 
211
- Lists resources and prompts from one live server. It does not read installed configs and it does not call a tool.
215
+ Lists resources and prompts from one live server, then lints that list. It does not read installed configs and it does not call a tool. An empty or repeated URI, an empty resource name, an empty or repeated prompt name, and an empty or repeated argument name are errors and exit 1. A repeated resource display name, and a missing description, are warnings and do not. `explain` prints the rule. The fix class is `manual`: the command does not rewrite the server.
212
216
 
213
217
  ```bash
214
218
  mcp-lint catalog --server stdio -- node server.js
215
219
  mcp-lint catalog --server http --url https://example.com/mcp --format json
216
220
  ```
217
221
 
218
- `--server` is `stdio`, `sse`, or `http`. Remote transports need `--url`. `--timeout`, `--max-items`, and `--max-bytes` bound each list. A method the server does not implement is `unsupported` and exits 0. Any other list failure exits 1. Usage errors exit 2. `--format` is `terminal` or `json`.
222
+ `--server` is `stdio`, `sse`, or `http`. Remote transports need `--url`. `--timeout`, `--max-items`, and `--max-bytes` bound each list. A method the server does not implement is `unsupported` and exits 0. Any other list failure exits 1. A lint error also exits 1. Usage errors exit 2. `--format` is `terminal` or `json`. JSON adds a `findings` array to the list. The array is empty when the list is clean.
219
223
 
220
224
  ---
221
225
 
@@ -428,8 +432,10 @@ jobs:
428
432
  runs-on: ubuntu-latest
429
433
  steps:
430
434
  - uses: actions/checkout@v4
431
- - uses: robert19001-cmyk/mcp-lint@v1.0.0
432
- # Tag v1.0.0. The action installs npm latest.
435
+ - uses: robert19001-cmyk/mcp-lint@v1.0.4
436
+ # Tag v1.0.4 installs mcp-lint@1 unless version is set.
437
+ # Tag v1.0.3, tag v1.0.2, and tag v1.0.1 do the same.
438
+ # Tag v1.0.0 still installs npm latest.
433
439
  with:
434
440
  input: tools.json
435
441
  severity: warning
@@ -441,15 +447,17 @@ jobs:
441
447
 
442
448
  | Input | Default | Description |
443
449
  |-------|---------|-------------|
444
- | `input` | first `tools.json` in the repo | Path to an MCP tools JSON or YAML file |
450
+ | `input` | first matching file | `tools.json`, `tools.yaml`, `tools.yml`, `mcp-tools.json`, `mcp-tools.yaml`, or `mcp-tools.yml` in the repo root, then one directory down |
445
451
  | `format` | `terminal` | `terminal\|json\|markdown` |
446
452
  | `severity` | `info` | Minimum severity to report |
447
453
  | `clients` | all | Comma-separated client filter |
448
- | `fail_on` | `error` | Fail CI when issues at this severity found |
454
+ | `fail_on` | `error` | Fail the job at this severity or above. `warning` and `info` read the full diagnostic list. The CLI itself exits 1 only for schema errors. |
449
455
  | `score` | `false` | Show quality score |
456
+ | `recover` | empty | Path to a recovery JSON file. The job fails when recover exits non-zero |
450
457
  | `sarif` | `false` | Upload SARIF when this `mcp-lint` release includes `report`. The workflow needs `security-events: write`. |
458
+ | `version` | `1` | npm dist-tag or version. `1` installs `mcp-lint@1`. Tag `v1.0.0` ignores this input and installs `latest`. |
451
459
 
452
- The action in this repository writes a `::error`, `::warning`, or `::notice` annotation from `check --format json`. With an empty `input` it also looks one directory down, skipping `node_modules` and dot directories. `sarif: true` uploads SARIF when the installed CLI has `report`. The action installs npm `latest`, which is 1.0.0. The workflow needs `security-events: write`.
460
+ The action in this repository writes a `::error`, `::warning`, or `::notice` annotation from `check --format json`. With an empty `input` it also looks one directory down, skipping `node_modules` and dot directories. `sarif: true` uploads SARIF when the installed CLI has `report`. Tag `v1.0.4` installs `mcp-lint@1` unless `version` is set. Tag `v1.0.3`, tag `v1.0.2`, and tag `v1.0.1` do the same. Tag `v1.0.0` still installs npm `latest`. The workflow needs `security-events: write`.
453
461
 
454
462
  ### Manual workflow
455
463
 
@@ -766,7 +774,7 @@ The repository includes `glama.json` and a production Dockerfile so MCP director
766
774
 
767
775
  ## Site
768
776
 
769
- The proof page is in `site/`. Version 1.0.0. It runs the same recovery scorer, schema linter, and preflight function as the CLI.
777
+ The proof page is in `site/`. Version 1.0.4. It runs the same recovery scorer, schema linter, and preflight function as the CLI. The check bench uses the same error index, title collapse, and next step as the terminal. `catalog` lints the resources and prompts it listed.
770
778
 
771
779
  ```bash
772
780
  npm run site
@@ -25,6 +25,22 @@ export function escapeHtml(value) {
25
25
  .replace(/"/g, '&quot;')
26
26
  .replace(/'/g, '&#39;');
27
27
  }
28
+ function compatibilitySummary(report) {
29
+ if (report.compatibility.status !== 'ran')
30
+ return null;
31
+ let measured = 0;
32
+ let errors = 0;
33
+ for (const tool of report.compatibility.data.tools) {
34
+ for (const cell of Object.values(tool.cells)) {
35
+ if (cell.evidence === 'measured')
36
+ measured += 1;
37
+ errors += cell.errorCount;
38
+ }
39
+ }
40
+ const count = report.compatibility.data.tools.length;
41
+ const noun = count === 1 ? 'tool' : 'tools';
42
+ return `Compatibility ran for ${count} ${noun}. Measured cells: ${measured}. Client errors: ${errors}. A not_observed cell is not proof that the client accepts the schema.`;
43
+ }
28
44
  function findingRows(findings) {
29
45
  return findings.map((finding) => {
30
46
  const cells = [finding.severity, finding.toolName, finding.ruleId, finding.path, finding.message]
@@ -55,6 +71,7 @@ function formatMarkdownReport(report) {
55
71
  : `${report.tokenBudget.status === 'partial' ? report.tokenBudget.reason : report.tokenBudget.reason}\n`;
56
72
  const notRun = report.coverage.notRun.map((name) => `- ${name}`).join('\n');
57
73
  const recommendations = report.recommendations.map((line) => `- ${line}`).join('\n');
74
+ const compatibility = compatibilitySummary(report);
58
75
  return [
59
76
  `# mcp-lint report`,
60
77
  '',
@@ -76,6 +93,7 @@ function formatMarkdownReport(report) {
76
93
  '',
77
94
  tokens.trimEnd(),
78
95
  '',
96
+ ...(compatibility ? ['## Compatibility', '', compatibility, ''] : []),
79
97
  '## Not measured',
80
98
  '',
81
99
  notRun || '- none',
@@ -116,6 +134,9 @@ function formatTerminalReport(report, noColor) {
116
134
  if (report.tokenBudget.status === 'ran') {
117
135
  lines.push(`Token estimate (chars/4, approximate): ${report.tokenBudget.data.tokens} level ${report.tokenBudget.data.level}`);
118
136
  }
137
+ const compatibility = compatibilitySummary(report);
138
+ if (compatibility)
139
+ lines.push(compatibility);
119
140
  for (const line of report.recommendations)
120
141
  lines.push(line);
121
142
  lines.push(`Not measured: ${report.coverage.notRun.join(', ')}`);
@@ -205,6 +226,8 @@ ${report.findings.data.map((finding) => `<tr>
205
226
  const counts = report.severity.status === 'ran'
206
227
  ? `${report.severity.data.error} errors, ${report.severity.data.warning} warnings, ${report.severity.data.info} info`
207
228
  : report.severity.reason;
229
+ const compatibility = compatibilitySummary(report);
230
+ const compatibilityHtml = compatibility ? `<h2>Compatibility</h2><p>${escapeHtml(compatibility)}</p>` : '';
208
231
  const notRun = report.coverage.notRun.map((name) => `<li>${escapeHtml(name)}</li>`).join('');
209
232
  const recommendations = report.recommendations.map((line) => `<li>${escapeHtml(line)}</li>`).join('');
210
233
  return `<!DOCTYPE html>
@@ -234,6 +257,7 @@ ${report.findings.data.map((finding) => `<tr>
234
257
  ${findings}
235
258
  <h2>Token estimate</h2>
236
259
  ${tokens}
260
+ ${compatibilityHtml}
237
261
  <h2>Not measured</h2>
238
262
  <ul>${notRun}</ul>
239
263
  <h2>Recommendations</h2>
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/audit/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/audit/format.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { AUDIT_REPORT_SCHEMA_VERSION, QUALITY_ALGORITHM, AuditInputError, AuditReportSchema, buildAuditReport, parseAuditReport, } from './report.js';
2
- export type { AuditFinding, AuditTool, BuildAuditReportInput, MCPAuditReport, QualitySectionData, Section, SectionStatus, SeverityCounts, } from './report.js';
2
+ export type { AuditFinding, AuditTool, BuildAuditReportInput, CompatCellSummary, CompatibilitySectionData, MCPAuditReport, QualitySectionData, Section, SectionStatus, SeverityCounts, } from './report.js';
3
3
  export { AUDIT_FORMATS, escapeHtml, formatAuditReport } from './format.js';
4
4
  export { auditBaselineDiff, projectAuditReport } from './baseline.js';
5
5
  export type { AuditFormat } from './format.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAWrB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAarB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import type { Diagnostic } from '../core/diagnostic.js';
3
+ import type { ClientId } from '../core/rule.js';
3
4
  import { type TokenBudget, type TokenThresholds } from './tokens.js';
4
5
  export declare const AUDIT_REPORT_SCHEMA_VERSION: 1;
5
6
  export declare const QUALITY_ALGORITHM: "quality-v2";
@@ -62,6 +63,18 @@ export interface SeverityCounts {
62
63
  warning: number;
63
64
  info: number;
64
65
  }
66
+ export interface CompatCellSummary {
67
+ compatible: boolean;
68
+ errorCount: number;
69
+ evidence: 'measured' | 'not_observed';
70
+ }
71
+ export interface CompatibilitySectionData {
72
+ clients: ClientId[];
73
+ tools: Array<{
74
+ name: string;
75
+ cells: Record<ClientId, CompatCellSummary>;
76
+ }>;
77
+ }
65
78
  export interface MCPAuditReport {
66
79
  schemaVersion: typeof AUDIT_REPORT_SCHEMA_VERSION;
67
80
  generatedAt: string;
@@ -79,7 +92,7 @@ export interface MCPAuditReport {
79
92
  duplicateToolNames: string[];
80
93
  findings: Section<AuditFinding[]>;
81
94
  severity: Section<SeverityCounts>;
82
- compatibility: NotRunSection;
95
+ compatibility: Section<CompatibilitySectionData>;
83
96
  tokenBudget: Section<TokenBudget>;
84
97
  quality: Section<QualitySectionData>;
85
98
  recovery: NotRunSection;
@@ -158,9 +171,83 @@ export declare const AuditReportSchema: z.ZodObject<{
158
171
  compatibility: z.ZodObject<{
159
172
  status: z.ZodEnum<{
160
173
  failed: "failed";
174
+ ran: "ran";
161
175
  not_run: "not_run";
176
+ partial: "partial";
162
177
  }>;
163
- reason: z.ZodString;
178
+ reason: z.ZodOptional<z.ZodString>;
179
+ data: z.ZodOptional<z.ZodObject<{
180
+ clients: z.ZodTuple<[z.ZodLiteral<"claude">, z.ZodLiteral<"cursor">, z.ZodLiteral<"gemini">, z.ZodLiteral<"vscode">, z.ZodLiteral<"windsurf">, z.ZodLiteral<"cline">, z.ZodLiteral<"openai">, z.ZodLiteral<"continue">], null>;
181
+ tools: z.ZodArray<z.ZodObject<{
182
+ name: z.ZodString;
183
+ cells: z.ZodObject<{
184
+ claude: z.ZodObject<{
185
+ compatible: z.ZodBoolean;
186
+ errorCount: z.ZodNumber;
187
+ evidence: z.ZodEnum<{
188
+ measured: "measured";
189
+ not_observed: "not_observed";
190
+ }>;
191
+ }, z.core.$strict>;
192
+ cursor: z.ZodObject<{
193
+ compatible: z.ZodBoolean;
194
+ errorCount: z.ZodNumber;
195
+ evidence: z.ZodEnum<{
196
+ measured: "measured";
197
+ not_observed: "not_observed";
198
+ }>;
199
+ }, z.core.$strict>;
200
+ gemini: z.ZodObject<{
201
+ compatible: z.ZodBoolean;
202
+ errorCount: z.ZodNumber;
203
+ evidence: z.ZodEnum<{
204
+ measured: "measured";
205
+ not_observed: "not_observed";
206
+ }>;
207
+ }, z.core.$strict>;
208
+ vscode: z.ZodObject<{
209
+ compatible: z.ZodBoolean;
210
+ errorCount: z.ZodNumber;
211
+ evidence: z.ZodEnum<{
212
+ measured: "measured";
213
+ not_observed: "not_observed";
214
+ }>;
215
+ }, z.core.$strict>;
216
+ windsurf: z.ZodObject<{
217
+ compatible: z.ZodBoolean;
218
+ errorCount: z.ZodNumber;
219
+ evidence: z.ZodEnum<{
220
+ measured: "measured";
221
+ not_observed: "not_observed";
222
+ }>;
223
+ }, z.core.$strict>;
224
+ cline: z.ZodObject<{
225
+ compatible: z.ZodBoolean;
226
+ errorCount: z.ZodNumber;
227
+ evidence: z.ZodEnum<{
228
+ measured: "measured";
229
+ not_observed: "not_observed";
230
+ }>;
231
+ }, z.core.$strict>;
232
+ openai: z.ZodObject<{
233
+ compatible: z.ZodBoolean;
234
+ errorCount: z.ZodNumber;
235
+ evidence: z.ZodEnum<{
236
+ measured: "measured";
237
+ not_observed: "not_observed";
238
+ }>;
239
+ }, z.core.$strict>;
240
+ continue: z.ZodObject<{
241
+ compatible: z.ZodBoolean;
242
+ errorCount: z.ZodNumber;
243
+ evidence: z.ZodEnum<{
244
+ measured: "measured";
245
+ not_observed: "not_observed";
246
+ }>;
247
+ }, z.core.$strict>;
248
+ }, z.core.$strict>;
249
+ }, z.core.$strict>>;
250
+ }, z.core.$strict>>;
164
251
  }, z.core.$strict>;
165
252
  tokenBudget: z.ZodObject<{
166
253
  status: z.ZodEnum<{
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { buildCompatMatrix } from '../core/compat-matrix.js';
2
3
  import { computeQualityReport } from '../core/quality-score.js';
3
4
  import { buildTokenBudget, DEFAULT_TOKEN_THRESHOLDS, } from './tokens.js';
4
5
  import { VERSION } from '../version.js';
@@ -93,6 +94,36 @@ const notRunSchema = z.object({
93
94
  status: z.enum(['not_run', 'failed']),
94
95
  reason: z.string().min(1),
95
96
  }).strict();
97
+ const compatCellSchema = z.object({
98
+ compatible: z.boolean(),
99
+ errorCount: z.number().int().nonnegative(),
100
+ evidence: z.enum(['measured', 'not_observed']),
101
+ }).strict();
102
+ const compatibilitySchema = z.object({
103
+ clients: z.tuple([
104
+ z.literal('claude'),
105
+ z.literal('cursor'),
106
+ z.literal('gemini'),
107
+ z.literal('vscode'),
108
+ z.literal('windsurf'),
109
+ z.literal('cline'),
110
+ z.literal('openai'),
111
+ z.literal('continue'),
112
+ ]),
113
+ tools: z.array(z.object({
114
+ name: z.string().min(1),
115
+ cells: z.object({
116
+ claude: compatCellSchema,
117
+ cursor: compatCellSchema,
118
+ gemini: compatCellSchema,
119
+ vscode: compatCellSchema,
120
+ windsurf: compatCellSchema,
121
+ cline: compatCellSchema,
122
+ openai: compatCellSchema,
123
+ continue: compatCellSchema,
124
+ }).strict(),
125
+ }).strict()),
126
+ }).strict();
96
127
  export const AuditReportSchema = z.object({
97
128
  schemaVersion: z.literal(AUDIT_REPORT_SCHEMA_VERSION),
98
129
  generatedAt: z.string().min(1),
@@ -111,7 +142,7 @@ export const AuditReportSchema = z.object({
111
142
  warning: z.number().int().nonnegative(),
112
143
  info: z.number().int().nonnegative(),
113
144
  }).strict()),
114
- compatibility: notRunSchema,
145
+ compatibility: sectionSchema(compatibilitySchema),
115
146
  tokenBudget: sectionSchema(tokenBudgetSchema),
116
147
  quality: sectionSchema(qualitySchema),
117
148
  recovery: notRunSchema,
@@ -126,6 +157,43 @@ export const AuditReportSchema = z.object({
126
157
  function notRun(reason) {
127
158
  return { status: 'not_run', reason };
128
159
  }
160
+ function compatibilitySection(tools, diagnostics, findingsRan) {
161
+ if (!findingsRan)
162
+ return notRun('Schema lint did not run, so compatibility was not measured.');
163
+ if (tools.length === 0)
164
+ return notRun('No tools were supplied, so compatibility was not measured.');
165
+ const matrix = buildCompatMatrix(asMatrixTools(tools), diagnostics ?? []);
166
+ const seen = new Set();
167
+ const rows = [];
168
+ for (const name of matrix.tools) {
169
+ if (seen.has(name))
170
+ continue;
171
+ seen.add(name);
172
+ const source = matrix.cells[name];
173
+ const cells = {};
174
+ for (const client of matrix.clients) {
175
+ const cell = source[client];
176
+ cells[client] = {
177
+ compatible: cell.compatible,
178
+ errorCount: cell.errorCount,
179
+ evidence: cell.evidence,
180
+ };
181
+ }
182
+ rows.push({ name, cells });
183
+ }
184
+ return {
185
+ status: 'ran',
186
+ data: { clients: matrix.clients, tools: rows },
187
+ };
188
+ }
189
+ function asMatrixTools(tools) {
190
+ return tools.map((tool) => ({
191
+ name: tool.name,
192
+ description: typeof tool.description === 'string' ? tool.description : undefined,
193
+ inputSchema: isRecord(tool.inputSchema) ? tool.inputSchema : {},
194
+ outputSchema: isRecord(tool.outputSchema) ? tool.outputSchema : undefined,
195
+ }));
196
+ }
129
197
  function isRecord(value) {
130
198
  return value !== null && typeof value === 'object' && !Array.isArray(value);
131
199
  }
@@ -264,6 +332,7 @@ export function buildAuditReport(input) {
264
332
  },
265
333
  };
266
334
  }
335
+ const compatibility = compatibilitySection(tools, input.diagnostics, findingsRan);
267
336
  const tokenLevel = tokenSection.status === 'ran' ? tokenSection.data.level : undefined;
268
337
  const lines = recommendations({
269
338
  findingsRan,
@@ -282,7 +351,11 @@ export function buildAuditReport(input) {
282
351
  ran.push('findings', 'severity');
283
352
  if (quality.status === 'ran')
284
353
  ran.push('quality');
285
- const notRunNames = ['compatibility', 'recovery', 'preflight'];
354
+ if (compatibility.status === 'ran')
355
+ ran.push('compatibility');
356
+ const notRunNames = ['recovery', 'preflight'];
357
+ if (compatibility.status !== 'ran')
358
+ notRunNames.unshift('compatibility');
286
359
  if (!findingsRan)
287
360
  notRunNames.push('findings', 'severity');
288
361
  if (quality.status !== 'ran')
@@ -308,7 +381,7 @@ export function buildAuditReport(input) {
308
381
  duplicateToolNames: duplicates,
309
382
  findings: findings ? { status: 'ran', data: findings } : notRun('Schema lint did not run.'),
310
383
  severity: counts ? { status: 'ran', data: counts } : notRun('Schema lint did not run.'),
311
- compatibility: notRun('Client compatibility was not re-checked for this report.'),
384
+ compatibility,
312
385
  tokenBudget: tokenSection,
313
386
  quality,
314
387
  recovery: notRun('Recovery was not scored.'),
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/audit/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/audit/report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Diagnostic } from '../core/diagnostic.js';
2
+ import type { CatalogReport } from './list.js';
3
+ export interface CatalogFinding {
4
+ kind: 'resource' | 'prompt';
5
+ ruleId: string;
6
+ severity: 'error' | 'warning';
7
+ message: string;
8
+ name: string;
9
+ path: string;
10
+ }
11
+ export declare function lintCatalog(report: CatalogReport): CatalogFinding[];
12
+ export declare function catalogFindingsToDiagnostics(findings: CatalogFinding[]): Diagnostic[];