phpstan-mcp-mx 0.19.0 → 0.20.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.
- package/CHANGELOG.md +18 -0
- package/README.md +125 -3
- package/dist/changed.d.ts +35 -0
- package/dist/changed.js +80 -2
- package/dist/changed.js.map +1 -1
- package/dist/compare.d.ts +69 -0
- package/dist/compare.js +101 -0
- package/dist/compare.js.map +1 -0
- package/dist/composer.d.ts +68 -0
- package/dist/composer.js +313 -0
- package/dist/composer.js.map +1 -0
- package/dist/phpstan.d.ts +11 -0
- package/dist/phpstan.js +17 -0
- package/dist/phpstan.js.map +1 -1
- package/dist/project.d.ts +15 -0
- package/dist/project.js +54 -3
- package/dist/project.js.map +1 -1
- package/dist/report.d.ts +37 -1
- package/dist/report.js +134 -4
- package/dist/report.js.map +1 -1
- package/dist/runs.d.ts +26 -1
- package/dist/runs.js +22 -3
- package/dist/runs.js.map +1 -1
- package/dist/tools/analysis.js +47 -5
- package/dist/tools/analysis.js.map +1 -1
- package/dist/tools/inspect.js +102 -17
- package/dist/tools/inspect.js.map +1 -1
- package/dist/tools/prompts.js +24 -16
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools/shared.d.ts +46 -0
- package/dist/tools/shared.js +83 -7
- package/dist/tools/shared.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/shared.d.ts
CHANGED
|
@@ -51,6 +51,13 @@ export declare const analysisShape: {
|
|
|
51
51
|
count: z.ZodNumber;
|
|
52
52
|
docs: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
53
53
|
}, z.core.$strip>>;
|
|
54
|
+
byMessage: z.ZodArray<z.ZodObject<{
|
|
55
|
+
identifier: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
56
|
+
message: z.ZodString;
|
|
57
|
+
count: z.ZodNumber;
|
|
58
|
+
files: z.ZodArray<z.ZodString>;
|
|
59
|
+
fileCount: z.ZodNumber;
|
|
60
|
+
}, z.core.$strip>>;
|
|
54
61
|
}, z.core.$strip>;
|
|
55
62
|
findings: z.ZodArray<z.ZodObject<{
|
|
56
63
|
file: z.ZodString;
|
|
@@ -59,6 +66,7 @@ export declare const analysisShape: {
|
|
|
59
66
|
identifier: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
60
67
|
tip: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
61
68
|
onChangedLine: z.ZodOptional<z.ZodBoolean>;
|
|
69
|
+
inChangedFile: z.ZodOptional<z.ZodBoolean>;
|
|
62
70
|
}, z.core.$strip>>;
|
|
63
71
|
page: z.ZodObject<{
|
|
64
72
|
offset: z.ZodNumber;
|
|
@@ -68,16 +76,49 @@ export declare const analysisShape: {
|
|
|
68
76
|
hasMore: z.ZodBoolean;
|
|
69
77
|
}, z.core.$strip>;
|
|
70
78
|
filter: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<null>]>;
|
|
79
|
+
onlyIn: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<null>]>;
|
|
71
80
|
runId: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
72
81
|
changedLines: z.ZodUnion<readonly [z.ZodObject<{
|
|
73
82
|
onChangedLine: z.ZodNumber;
|
|
74
83
|
elsewhere: z.ZodNumber;
|
|
84
|
+
otherFiles: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<null>]>;
|
|
75
85
|
onlyChangedLines: z.ZodBoolean;
|
|
76
86
|
}, z.core.$strip>, z.ZodLiteral<null>]>;
|
|
87
|
+
comparison: z.ZodUnion<readonly [z.ZodObject<{
|
|
88
|
+
comparedTo: z.ZodString;
|
|
89
|
+
ageSeconds: z.ZodNumber;
|
|
90
|
+
fixed: z.ZodNumber;
|
|
91
|
+
new: z.ZodNumber;
|
|
92
|
+
remaining: z.ZodNumber;
|
|
93
|
+
fixedFindings: z.ZodArray<z.ZodObject<{
|
|
94
|
+
file: z.ZodString;
|
|
95
|
+
identifier: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
96
|
+
message: z.ZodString;
|
|
97
|
+
count: z.ZodNumber;
|
|
98
|
+
lines: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<null>]>>;
|
|
99
|
+
}, z.core.$strip>>;
|
|
100
|
+
newFindings: z.ZodArray<z.ZodObject<{
|
|
101
|
+
file: z.ZodString;
|
|
102
|
+
identifier: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
|
|
103
|
+
message: z.ZodString;
|
|
104
|
+
count: z.ZodNumber;
|
|
105
|
+
lines: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<null>]>>;
|
|
106
|
+
}, z.core.$strip>>;
|
|
107
|
+
omitted: z.ZodObject<{
|
|
108
|
+
fixed: z.ZodNumber;
|
|
109
|
+
new: z.ZodNumber;
|
|
110
|
+
}, z.core.$strip>;
|
|
111
|
+
notCompared: z.ZodObject<{
|
|
112
|
+
findings: z.ZodNumber;
|
|
113
|
+
files: z.ZodArray<z.ZodString>;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
}, z.core.$strip>, z.ZodLiteral<null>]>;
|
|
77
116
|
};
|
|
78
117
|
export declare const configArgument: z.ZodOptional<z.ZodString>;
|
|
118
|
+
export declare const compareArgument: z.ZodOptional<z.ZodString>;
|
|
79
119
|
export declare const windowShape: {
|
|
80
120
|
identifiers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
121
|
+
onlyIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
81
122
|
offset: z.ZodOptional<z.ZodNumber>;
|
|
82
123
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
83
124
|
runId: z.ZodOptional<z.ZodString>;
|
|
@@ -91,6 +132,8 @@ export interface Reuse {
|
|
|
91
132
|
readonly runs: RunStore;
|
|
92
133
|
readonly key: string;
|
|
93
134
|
readonly runId?: string | undefined;
|
|
135
|
+
/** Een eerdere run om deze analyse tegen te leggen. */
|
|
136
|
+
readonly compareTo?: string | undefined;
|
|
94
137
|
}
|
|
95
138
|
/**
|
|
96
139
|
* Argumenten die alle analyse-tools delen. Los gehouden van de zod-schema's, want
|
|
@@ -114,6 +157,7 @@ export declare function window(args: {
|
|
|
114
157
|
offset?: number | undefined;
|
|
115
158
|
limit?: number | undefined;
|
|
116
159
|
identifiers?: string[] | undefined;
|
|
160
|
+
onlyIn?: string[] | undefined;
|
|
117
161
|
onlyChangedLines?: boolean | undefined;
|
|
118
162
|
}): Window;
|
|
119
163
|
/**
|
|
@@ -128,6 +172,8 @@ type Plan = {
|
|
|
128
172
|
readonly options: AnalyseOptions;
|
|
129
173
|
readonly heading?: string;
|
|
130
174
|
readonly onChangedLine?: ChangedLineCheck;
|
|
175
|
+
/** Of een bestand bij de wijziging hoort; alleen als er ook andere bestanden meedoen. */
|
|
176
|
+
readonly inChangedFile?: (file: string) => boolean;
|
|
131
177
|
/** Wat de tool zelf erbij te melden heeft, naast wat deze server altijd meldt. */
|
|
132
178
|
readonly notices?: readonly string[];
|
|
133
179
|
} | {
|
package/dist/tools/shared.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { describeIncludedBaseline } from '../baseline.js';
|
|
3
|
+
import { compareRuns } from '../compare.js';
|
|
3
4
|
import { analyse } from '../phpstan.js';
|
|
4
5
|
import { DEFAULT_LIMIT, MAX_LIMIT, buildReport, renderReport } from '../report.js';
|
|
5
6
|
import { resolveProject, resolveWithin } from '../project.js';
|
|
@@ -19,6 +20,16 @@ export function nullable(schema) {
|
|
|
19
20
|
export const projectArgument = z
|
|
20
21
|
.string()
|
|
21
22
|
.describe('Absolute path to the project root, as returned by list_projects');
|
|
23
|
+
/** Eén groep uit een vergelijking: dezelfde melding in hetzelfde bestand. */
|
|
24
|
+
const comparedEntryShape = z.object({
|
|
25
|
+
file: z.string(),
|
|
26
|
+
identifier: nullable(z.string()),
|
|
27
|
+
message: z.string(),
|
|
28
|
+
count: z.number().describe('How many of these are fixed or new'),
|
|
29
|
+
lines: z
|
|
30
|
+
.array(nullable(z.number()))
|
|
31
|
+
.describe('Lines of all findings with this message in this file; if count is lower, which ones cannot be told apart'),
|
|
32
|
+
});
|
|
22
33
|
export const analysisShape = {
|
|
23
34
|
project: z.string(),
|
|
24
35
|
totals: z.object({ fileErrors: z.number(), generalErrors: z.number() }),
|
|
@@ -48,6 +59,16 @@ export const analysisShape = {
|
|
|
48
59
|
count: z.number(),
|
|
49
60
|
docs: nullable(z.string()).describe('Explanation of this kind of error on phpstan.org'),
|
|
50
61
|
})),
|
|
62
|
+
byMessage: z
|
|
63
|
+
.array(z.object({
|
|
64
|
+
identifier: nullable(z.string()),
|
|
65
|
+
message: z.string(),
|
|
66
|
+
count: z.number(),
|
|
67
|
+
files: z.array(z.string()).describe('The first files, alphabetically; fileCount has the total'),
|
|
68
|
+
fileCount: z.number(),
|
|
69
|
+
}))
|
|
70
|
+
.describe('Messages that occur more than once, most frequent first. Often one cause that one fix ' +
|
|
71
|
+
'solves, but a generic message can have separate causes'),
|
|
51
72
|
})
|
|
52
73
|
.describe('Counts over all findings, including those outside this page'),
|
|
53
74
|
findings: z.array(z.object({
|
|
@@ -61,6 +82,10 @@ export const analysisShape = {
|
|
|
61
82
|
.optional()
|
|
62
83
|
.describe('Only for analyse_changed: whether the finding is on a line that is part of the change. ' +
|
|
63
84
|
'False does not mean it was already there — a changed signature affects its callers'),
|
|
85
|
+
inChangedFile: z
|
|
86
|
+
.boolean()
|
|
87
|
+
.optional()
|
|
88
|
+
.describe('Only for analyse_changed with scope "project": whether the file is part of the change'),
|
|
64
89
|
})),
|
|
65
90
|
page: z
|
|
66
91
|
.object({
|
|
@@ -72,25 +97,52 @@ export const analysisShape = {
|
|
|
72
97
|
})
|
|
73
98
|
.describe('Which part of the findings this response contains'),
|
|
74
99
|
filter: nullable(z.array(z.string())).describe('The identifiers this page is limited to, or null if it is not filtered'),
|
|
100
|
+
onlyIn: nullable(z.array(z.string())).describe('The files or directories this page is limited to, or null if it is not limited'),
|
|
75
101
|
runId: nullable(z.string()).describe('Pass this for the next page so it comes from the same result; null if nothing was analysed'),
|
|
76
102
|
changedLines: nullable(z.object({
|
|
77
103
|
onChangedLine: z.number(),
|
|
78
|
-
elsewhere: z.number(),
|
|
104
|
+
elsewhere: z.number().describe('In the changed files, but not on a changed line'),
|
|
105
|
+
otherFiles: nullable(z.number()).describe('In files that are not changed; null unless scope is "project"'),
|
|
79
106
|
onlyChangedLines: z.boolean(),
|
|
80
107
|
})).describe('How many findings are on a changed line, over all findings; ' +
|
|
81
108
|
'null if there is no change to compare against'),
|
|
109
|
+
comparison: nullable(z.object({
|
|
110
|
+
comparedTo: z.string().describe('The runId this analysis was compared with'),
|
|
111
|
+
ageSeconds: z.number(),
|
|
112
|
+
fixed: z.number(),
|
|
113
|
+
new: z.number(),
|
|
114
|
+
remaining: z.number(),
|
|
115
|
+
fixedFindings: z.array(comparedEntryShape).describe('Line numbers are from the earlier analysis'),
|
|
116
|
+
newFindings: z.array(comparedEntryShape),
|
|
117
|
+
omitted: z.object({ fixed: z.number(), new: z.number() }),
|
|
118
|
+
notCompared: z
|
|
119
|
+
.object({ findings: z.number(), files: z.array(z.string()) })
|
|
120
|
+
.describe('Findings in files that only one of the two analyses covered; at most 10 files named'),
|
|
121
|
+
})).describe('How this analysis relates to the one in compareTo; null without compareTo'),
|
|
82
122
|
};
|
|
83
123
|
export const configArgument = z
|
|
84
124
|
.string()
|
|
85
125
|
.optional()
|
|
86
126
|
.describe('A different config file than PHPStan would pick itself, e.g. "phpstan-strict.neon". ' +
|
|
87
127
|
'Must be inside the project');
|
|
128
|
+
export const compareArgument = z
|
|
129
|
+
.string()
|
|
130
|
+
.optional()
|
|
131
|
+
.describe('The runId of an earlier analysis with the same arguments, e.g. from before your fix. ' +
|
|
132
|
+
'This is a new analysis, and the response also lists what was fixed and what is new ' +
|
|
133
|
+
'since then. Findings are matched on file, identifier and message, so a shifted line ' +
|
|
134
|
+
'still counts as the same finding. Usable for an hour');
|
|
88
135
|
export const windowShape = {
|
|
89
136
|
identifiers: z
|
|
90
137
|
.array(z.string())
|
|
91
138
|
.optional()
|
|
92
139
|
.describe('Limit the findings to these identifiers, e.g. ["argument.type"]. ' +
|
|
93
140
|
'"missingType" matches the whole group. The summary still counts everything'),
|
|
141
|
+
onlyIn: z
|
|
142
|
+
.array(z.string())
|
|
143
|
+
.optional()
|
|
144
|
+
.describe('Limit the findings to these files or directories, relative to the project root, e.g. ' +
|
|
145
|
+
'["app/Models"]. A directory matches up to a "/". The summary still counts everything'),
|
|
94
146
|
offset: z.number().int().min(0).optional().describe('Skip the first N findings'),
|
|
95
147
|
limit: z
|
|
96
148
|
.number()
|
|
@@ -103,8 +155,8 @@ export const windowShape = {
|
|
|
103
155
|
.string()
|
|
104
156
|
.optional()
|
|
105
157
|
.describe('The runId from an earlier response: this page then comes from that result instead of ' +
|
|
106
|
-
'a new analysis, so the totals stay the same. Only offset, limit, identifiers
|
|
107
|
-
'onlyChangedLines may differ'),
|
|
158
|
+
'a new analysis, so the totals stay the same. Only offset, limit, identifiers, onlyIn ' +
|
|
159
|
+
'and onlyChangedLines may differ'),
|
|
108
160
|
};
|
|
109
161
|
/**
|
|
110
162
|
* Zet de gedeelde argumenten om in AnalyseOptions. `config` gaat door resolveWithin:
|
|
@@ -126,6 +178,7 @@ export function window(args) {
|
|
|
126
178
|
offset: args.offset,
|
|
127
179
|
limit: args.limit,
|
|
128
180
|
...(args.identifiers === undefined ? {} : { identifiers: args.identifiers }),
|
|
181
|
+
...(args.onlyIn === undefined ? {} : { onlyIn: args.onlyIn }),
|
|
129
182
|
...(args.onlyChangedLines === undefined ? {} : { onlyChangedLines: args.onlyChangedLines }),
|
|
130
183
|
};
|
|
131
184
|
}
|
|
@@ -154,13 +207,22 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
154
207
|
if (reuse.runId !== undefined) {
|
|
155
208
|
const stored = reuse.runs.get(reuse.runId, resolved.path, reuse.key);
|
|
156
209
|
if (stored !== null)
|
|
157
|
-
return fromStoredRun(server, stored, window);
|
|
210
|
+
return fromStoredRun(server, stored, window, reuse.compareTo);
|
|
158
211
|
// Geen fout: dat kost het model een ronde om te ontdekken wat het toch al kan
|
|
159
212
|
// doen. Wel hardop, want de tellingen kunnen nu afwijken van eerdere pagina's.
|
|
160
213
|
fallback =
|
|
161
214
|
`runId "${reuse.runId}" is unknown, expired or belongs to different arguments; ` +
|
|
162
215
|
'this is a new analysis, so the counts may differ from earlier pages.';
|
|
163
216
|
}
|
|
217
|
+
// Vóór de analyse opzoeken: een nieuwe run in de opslag kan de oudste eruit duwen,
|
|
218
|
+
// en dat kan precies het "vóór" zijn waar het om gaat.
|
|
219
|
+
const before = reuse.compareTo === undefined ? null : reuse.runs.forComparison(reuse.compareTo, resolved.path, reuse.key);
|
|
220
|
+
// Geen fout, om dezelfde reden als bij een onbekende runId: de analyse zelf is nog
|
|
221
|
+
// steeds wat er gevraagd werd, alleen zonder "vóór".
|
|
222
|
+
const nothingToCompare = reuse.compareTo !== undefined && before === null
|
|
223
|
+
? `compareTo "${reuse.compareTo}" is unknown, older than an hour or belongs to different ` +
|
|
224
|
+
"arguments, so there is nothing to compare with. This analysis's runId can be the next starting point."
|
|
225
|
+
: null;
|
|
164
226
|
const chosen = await plan(resolved);
|
|
165
227
|
if ('nothingToDo' in chosen) {
|
|
166
228
|
// Toch het volledige rapportschema teruggeven: een client die op
|
|
@@ -200,6 +262,10 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
200
262
|
durationMs: Date.now() - begin,
|
|
201
263
|
});
|
|
202
264
|
const notices = [...collectNotices(resolved), ...(chosen.notices ?? [])];
|
|
265
|
+
const scope = chosen.options.paths ?? null;
|
|
266
|
+
const comparison = before === null
|
|
267
|
+
? null
|
|
268
|
+
: compareRuns(resolved.path, { result: before.result, scope: before.scope ?? null }, { result, scope }, { comparedTo: before.id, ageSeconds: Math.max(0, Math.round((Date.now() - before.createdAt) / 1000)) });
|
|
203
269
|
const runId = reuse.runs.put({
|
|
204
270
|
project: resolved.path,
|
|
205
271
|
key: reuse.key,
|
|
@@ -207,8 +273,11 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
207
273
|
notices,
|
|
208
274
|
...(chosen.heading === undefined ? {} : { heading: chosen.heading }),
|
|
209
275
|
...(chosen.onChangedLine === undefined ? {} : { onChangedLine: chosen.onChangedLine }),
|
|
276
|
+
...(chosen.inChangedFile === undefined ? {} : { inChangedFile: chosen.inChangedFile }),
|
|
277
|
+
...(scope === null ? {} : { scope }),
|
|
278
|
+
...(comparison === null ? {} : { comparison }),
|
|
210
279
|
});
|
|
211
|
-
const report = buildReport(result, window, fallback === null ?
|
|
280
|
+
const report = buildReport(result, window, [...notices, ...(fallback === null ? [] : [fallback]), ...(nothingToCompare === null ? [] : [nothingToCompare])], chosen.onChangedLine, comparison, chosen.inChangedFile);
|
|
212
281
|
const heading = chosen.heading === undefined ? '' : `${chosen.heading}\n\n`;
|
|
213
282
|
return {
|
|
214
283
|
content: [{ type: 'text', text: heading + renderReport(report, runId) }],
|
|
@@ -224,12 +293,19 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
224
293
|
* code veranderd is, zit hier niet in, en wie net iets gerepareerd heeft moet dat
|
|
225
294
|
* weten voordat hij denkt dat het niet geholpen heeft.
|
|
226
295
|
*/
|
|
227
|
-
function fromStoredRun(server, stored, window) {
|
|
296
|
+
function fromStoredRun(server, stored, window, compareTo) {
|
|
228
297
|
const seconden = Math.max(0, Math.round((Date.now() - stored.createdAt) / 1000));
|
|
229
298
|
const herkomst = `This page comes from the analysis of ${String(seconden)}s ago (runId ${stored.id}); ` +
|
|
230
299
|
'anything changed in the code since then is not included.';
|
|
300
|
+
// Een pagina uit de opslag start niets, dus er valt ook niets nieuws te vergelijken. Wel
|
|
301
|
+
// hardop: anders lijkt het alsof compareTo gewoon niets opleverde.
|
|
302
|
+
const genegeerd = compareTo === undefined || compareTo === stored.comparison?.comparedTo
|
|
303
|
+
? []
|
|
304
|
+
: [
|
|
305
|
+
`compareTo is ignored for a page from an earlier result; ${stored.comparison === undefined ? 'that analysis has no comparison' : 'the comparison below is the one made then'}. Leave out runId for a new analysis.`,
|
|
306
|
+
];
|
|
231
307
|
log(server, 'debug', { event: 'page from earlier analysis', project: stored.project, runId: stored.id });
|
|
232
|
-
const report = buildReport(stored.result, window, [...stored.notices, herkomst], stored.onChangedLine);
|
|
308
|
+
const report = buildReport(stored.result, window, [...stored.notices, herkomst, ...genegeerd], stored.onChangedLine, stored.comparison ?? null, stored.inChangedFile);
|
|
233
309
|
const heading = stored.heading === undefined ? '' : `${stored.heading}\n\n`;
|
|
234
310
|
return {
|
|
235
311
|
content: [{ type: 'text', text: heading + renderReport(report, stored.id) }],
|
package/dist/tools/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
|