phpstan-mcp-mx 0.24.0 → 0.26.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 +19 -0
- package/README.md +72 -10
- package/dist/dumptype.d.ts +2 -0
- package/dist/dumptype.js +26 -4
- package/dist/dumptype.js.map +1 -1
- package/dist/finding.d.ts +65 -0
- package/dist/finding.js +177 -0
- package/dist/finding.js.map +1 -0
- package/dist/tools/inspect.d.ts +2 -0
- package/dist/tools/inspect.js +62 -0
- package/dist/tools/inspect.js.map +1 -1
- package/dist/tools/prompts.js +23 -13
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools.js +2 -1
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes per version. Generated by semantic-release from the commit
|
|
4
4
|
history since 0.10.0; the versions before that were written by hand.
|
|
5
5
|
|
|
6
|
+
# [0.26.0](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/compare/v0.25.0...v0.26.0) (2026-09-13)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* point the prompts to baseline_history and show_finding ([764c060](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/commit/764c060bf83610ab4365657a4dd993415f823574))
|
|
12
|
+
|
|
13
|
+
# [0.25.0](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/compare/v0.24.0...v0.25.0) (2026-09-13)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* insert inspect_type's probes above the comment that belongs to the line ([42b433a](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/commit/42b433a96f8b50fd63a833e3aef0dbe5483370ee))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* add show_finding to look at a finding in context ([bca72e0](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/commit/bca72e00983b3728764cbf4c6dbe87065a90cf31))
|
|
24
|
+
|
|
6
25
|
# [0.24.0](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/compare/v0.23.0...v0.24.0) (2026-09-13)
|
|
7
26
|
|
|
8
27
|
|
package/README.md
CHANGED
|
@@ -591,7 +591,9 @@ copy in place of the original (PHPStan's editor mode, `--tmp-file` and `--instea
|
|
|
591
591
|
copy lives in the server's temp directory, or with `PHPSTAN_MCP_RUNNERS` in the temp
|
|
592
592
|
directory of that environment, like the config of `unmatched_ignores`. Only that one file is
|
|
593
593
|
analysed, so it also works for a file outside the `paths` of your config and doesn't need a
|
|
594
|
-
warm result cache
|
|
594
|
+
warm result cache: on a small project it took one to two seconds, on a Larastan project (where
|
|
595
|
+
Laravel boots first) 7 to 15 seconds, also with an empty cache. The first call after the machine
|
|
596
|
+
did other heavy work can take much longer; see [Known sharp edges](#known-sharp-edges).
|
|
595
597
|
|
|
596
598
|
`line` has to be the first line of a statement inside a function or method. Anywhere else —
|
|
597
599
|
in the middle of an array literal that spans several lines, directly in a class body the
|
|
@@ -600,6 +602,59 @@ the line numbers of your original file. A file under `excludePaths` fails with t
|
|
|
600
602
|
`nothing_to_analyse`. Editor mode needs a recent PHPStan; an older one fails with a message
|
|
601
603
|
that says to update it.
|
|
602
604
|
|
|
605
|
+
Comment lines directly above `line` stay with it: the dumps go above them. A `/** @var … */`
|
|
606
|
+
narrows the statement below it, and a `@phpstan-ignore` on a line of its own applies to the
|
|
607
|
+
line below it; between the comment and the statement, both would apply to the inserted line
|
|
608
|
+
instead.
|
|
609
|
+
|
|
610
|
+
### `show_finding`
|
|
611
|
+
|
|
612
|
+
A finding in context: the code around one line, what PHPStan reports on that line, and the
|
|
613
|
+
types it infers right before it for the variables and properties used there. Meant for a
|
|
614
|
+
client that cannot open files itself, such as Claude Desktop, where the model otherwise sees
|
|
615
|
+
only the message of a finding.
|
|
616
|
+
|
|
617
|
+
| Argument | Required | Meaning |
|
|
618
|
+
| --- | --- | --- |
|
|
619
|
+
| `project` | yes | path to the project root, absolute or relative to the client's directory |
|
|
620
|
+
| `path` | yes | the file, as the finding names it |
|
|
621
|
+
| `line` | yes | the line of the finding |
|
|
622
|
+
| `context` | no | lines before and after it (5 by default, at most 30) |
|
|
623
|
+
| `expressions` | no | expressions to show the type of, instead of the variables on the line |
|
|
624
|
+
| `config` | no | a different config file; must lie inside the project |
|
|
625
|
+
| `memoryLimit` / `timeoutSeconds` | no | as with the analysis tools |
|
|
626
|
+
|
|
627
|
+
```
|
|
628
|
+
app/Exports/OrderExport.php, line 42:
|
|
629
|
+
|
|
630
|
+
39 | public function export(Order $order): string
|
|
631
|
+
40 | {
|
|
632
|
+
41 | $customer = $order->customer;
|
|
633
|
+
> 42 | return $this->formatter->line($customer->email, $order->total);
|
|
634
|
+
43 | }
|
|
635
|
+
|
|
636
|
+
PHPStan reports on this line:
|
|
637
|
+
- argument.type: Parameter #1 $email of method App\Support\Formatter::line() expects string, string|null given.
|
|
638
|
+
|
|
639
|
+
Types right before line 42:
|
|
640
|
+
- $this->formatter: App\Support\Formatter
|
|
641
|
+
- $customer->email: string|null
|
|
642
|
+
- $order->total: int
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
The types and the findings come from one run, the same way as `inspect_type`, so the project
|
|
646
|
+
is not changed. Without `expressions`, the variables and property chains on the line are
|
|
647
|
+
used, except what only comes into existence there: the target of an assignment, the variables
|
|
648
|
+
of a `foreach … as`, and the parameters of a closure. On a line without any variable PHPStan
|
|
649
|
+
is not started, and you get only the code. When the line does not start a statement (inside
|
|
650
|
+
a multi-line array or method chain), the answer says so instead of guessing another line.
|
|
651
|
+
|
|
652
|
+
On two Larastan projects one call took 7 to 15 seconds, also with an empty cache and right
|
|
653
|
+
after an analysis with a different config: well within the 60 seconds after which Claude
|
|
654
|
+
Desktop gives up on a tool call. The exception is the first call on a project after the
|
|
655
|
+
machine did other heavy work, which can pass that limit as any tool's can; trying again then
|
|
656
|
+
helps (see [Known sharp edges](#known-sharp-edges)).
|
|
657
|
+
|
|
603
658
|
### `server_config`
|
|
604
659
|
|
|
605
660
|
Returns what *this* server is running with: the project directories in reach, the default
|
|
@@ -914,10 +969,12 @@ comes from a trial run on a real project that went wrong without that sentence.
|
|
|
914
969
|
with `limit: 1` and the difference per kind. The level is often set in a shared config in
|
|
915
970
|
`vendor/`, and `ignore.*` findings don't count: those are inline `@phpstan-ignore` comments
|
|
916
971
|
that have nothing to ignore on a different level.
|
|
917
|
-
- **`phpstan_shrink_baseline`**
|
|
918
|
-
(`
|
|
919
|
-
|
|
920
|
-
|
|
972
|
+
- **`phpstan_shrink_baseline`** whether the baseline is growing or shrinking
|
|
973
|
+
(`baseline_history`), what in it is stale (`unmatched_ignores`), what a new baseline would
|
|
974
|
+
hide (`analyse_project`), and the cheapest real reduction. A baseline that keeps growing needs
|
|
975
|
+
an agreement before a clean-up round. Cleaning up and hiding stay two separate things:
|
|
976
|
+
`generate_baseline` is only suggested when there is nothing to hide, and never called on its
|
|
977
|
+
own initiative.
|
|
921
978
|
- **`phpstan_fix_identifier`** a clean-up round for one identifier or a
|
|
922
979
|
group such as `missingType`, with the `runId` within the round and without `runId` after
|
|
923
980
|
every fix. Without `identifier` the model picks a kind: first what can be fixed at the
|
|
@@ -1110,11 +1167,16 @@ How many were left out is in `omitted`, and in the text as "N more message(s) no
|
|
|
1110
1167
|
- **Claude Desktop gives up on a tool call after 60 seconds,** whatever `timeoutSeconds` says,
|
|
1111
1168
|
and that limit can't be configured (reported in
|
|
1112
1169
|
[anthropics/claude-code#43791](https://github.com/anthropics/claude-code/issues/43791)).
|
|
1113
|
-
Claude Code has no such practical limit. On the projects this server was measured
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1170
|
+
Claude Code has no such practical limit. On the Larastan projects this server was measured
|
|
1171
|
+
on (on Windows), one file took 7 to 9 seconds and a full analysis 21 to 34, also with PHPStan's
|
|
1172
|
+
caches empty. **The first call on a project after the machine did other heavy work is the
|
|
1173
|
+
exception:** PHPStan with Larastan reads thousands of files from `vendor/`, and a file that is no
|
|
1174
|
+
longer in the operating system's file cache took about a millisecond to read there. That first
|
|
1175
|
+
call took 43 to 72 seconds for one file and up to 141 for a whole project, past the limit, with
|
|
1176
|
+
any tool. **Trying again helps:** what the first call read is cached by then, and the second one
|
|
1177
|
+
took 7 seconds. In Desktop, also analyse part of a large project (`paths`, `analyse_changed`)
|
|
1178
|
+
rather than all of it. A client built on the MCP SDK cancels the request when it gives up, and
|
|
1179
|
+
the server then stops PHPStan instead of letting it run on.
|
|
1118
1180
|
|
|
1119
1181
|
## Development
|
|
1120
1182
|
|
package/dist/dumptype.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface Probe {
|
|
|
10
10
|
readonly content: string;
|
|
11
11
|
/** De regel waarvóór is ingevoegd; de dumps staan op deze regel en de volgende. */
|
|
12
12
|
readonly line: number;
|
|
13
|
+
/** De gevraagde regel. Anders dan `line` als er commentaar direct boven staat (zie insertionPoint). */
|
|
14
|
+
readonly target: number;
|
|
13
15
|
/** De expressies zoals ze ingevoegd zijn, na het opschonen. */
|
|
14
16
|
readonly expressions: readonly string[];
|
|
15
17
|
}
|
package/dist/dumptype.js
CHANGED
|
@@ -46,8 +46,30 @@ export function insertProbes(source, line, expressions) {
|
|
|
46
46
|
if (!Number.isInteger(line) || line < 1 || line > count) {
|
|
47
47
|
throw new PhpstanError(`Line ${String(line)} is outside the file, which has ${String(count)} line(s).`, 'invalid_argument', { hint: 'Pass the first line of a statement inside a function or method.' });
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
const at = insertionPoint(lines, line);
|
|
50
|
+
lines.splice(at - 1, 0, ...cleaned.map((expression) => `\\PHPStan\\dumpType(${expression});`));
|
|
51
|
+
return { content: lines.join('\n'), line: at, target: line, expressions: cleaned };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Waar de dumps komen: vóór `line`, of vóór het commentaar dat daar direct boven staat.
|
|
55
|
+
*
|
|
56
|
+
* Een docblock of regelcommentaar boven een statement hoort bíj dat statement: een
|
|
57
|
+
* `/** @var Type $x *\/` versmalt de toewijzing eronder, en een `@phpstan-ignore` op een eigen
|
|
58
|
+
* regel werkt op de regel eronder. Kwamen de dumps daartussen, dan sloegen die op de eerste dump.
|
|
59
|
+
* Nagemeten op een echt project: `show_finding` meldde een `cast.string` die de ignore erboven
|
|
60
|
+
* normaal onderdrukt. Commentaar voert niets uit, dus de types zijn erboven dezelfde.
|
|
61
|
+
*/
|
|
62
|
+
function insertionPoint(lines, line) {
|
|
63
|
+
let at = line;
|
|
64
|
+
for (let index = line - 2; index >= 0; index--) {
|
|
65
|
+
const trimmed = (lines[index] ?? '').trim();
|
|
66
|
+
// Alleen regels die helemaal commentaar zijn; `#[` is een attribuut, geen commentaar.
|
|
67
|
+
if (!/^(?:\/\/|#(?!\[)|\/\*|\*)/.test(trimmed)) {
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
at = index + 1;
|
|
71
|
+
}
|
|
72
|
+
return at;
|
|
51
73
|
}
|
|
52
74
|
/**
|
|
53
75
|
* Een expressie zoals hij tussen de haakjes past. Een afsluitende `;` is vergeeflijk wie
|
|
@@ -93,7 +115,7 @@ export function readProbes(project, file, probe, result) {
|
|
|
93
115
|
const onProbe = at !== null && at >= first && at < first + inserted;
|
|
94
116
|
if (finding.identifier === 'phpstan.parse') {
|
|
95
117
|
parseErrors.push({
|
|
96
|
-
line: at === null ? null : onProbe ?
|
|
118
|
+
line: at === null ? null : onProbe ? probe.target : at >= first + inserted ? at - inserted : at,
|
|
97
119
|
inserted: onProbe,
|
|
98
120
|
// PHPStan zet het (verschoven) regelnummer ook in de tekst; dat staat nu in `line`.
|
|
99
121
|
message: finding.message.replace(/ on line \d+$/, ''),
|
|
@@ -119,7 +141,7 @@ export function readProbes(project, file, probe, result) {
|
|
|
119
141
|
return {
|
|
120
142
|
project,
|
|
121
143
|
file: displayPath(project, file),
|
|
122
|
-
line: probe.
|
|
144
|
+
line: probe.target,
|
|
123
145
|
types,
|
|
124
146
|
parseErrors: parseErrors.slice(0, MAX_MESSAGES),
|
|
125
147
|
generalErrors: generalErrors.kept,
|
package/dist/dumptype.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dumptype.js","sourceRoot":"","sources":["../src/dumptype.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,6FAA6F;AAC7F,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,4DAA4D;AAC5D,MAAM,MAAM,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"dumptype.js","sourceRoot":"","sources":["../src/dumptype.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ParseProblem, ProbedType } from './dumptype.js';
|
|
2
|
+
import type { AnalyseOptions } from './phpstan.js';
|
|
3
|
+
import type { ResolvedProject } from './project.js';
|
|
4
|
+
/** Hoeveel regels er standaard voor en na de regel getoond worden. */
|
|
5
|
+
export declare const DEFAULT_CONTEXT = 5;
|
|
6
|
+
/** Meer is geen context meer maar het bestand; dat hoort bij een tool die het bestand leest. */
|
|
7
|
+
export declare const MAX_CONTEXT = 30;
|
|
8
|
+
/** Wat een aanroep vraagt. */
|
|
9
|
+
export interface FindingRequest {
|
|
10
|
+
readonly path: string;
|
|
11
|
+
readonly line: number;
|
|
12
|
+
readonly context?: number | undefined;
|
|
13
|
+
/** Zonder: de variabelen en property-ketens op de regel zelf. */
|
|
14
|
+
readonly expressions?: readonly string[] | undefined;
|
|
15
|
+
}
|
|
16
|
+
/** Een bevinding van PHPStan op de gevraagde regel, uit dezelfde run als de types. */
|
|
17
|
+
export interface LineFinding {
|
|
18
|
+
readonly message: string;
|
|
19
|
+
readonly identifier: string | null;
|
|
20
|
+
readonly tip: string | null;
|
|
21
|
+
}
|
|
22
|
+
/** Het antwoord van `show_finding`. */
|
|
23
|
+
export interface FindingView {
|
|
24
|
+
readonly project: string;
|
|
25
|
+
/** Pad relatief aan de projectroot. */
|
|
26
|
+
readonly file: string;
|
|
27
|
+
readonly line: number;
|
|
28
|
+
/** De code rond de regel, met de regelnummers van het bestand. */
|
|
29
|
+
readonly code: readonly {
|
|
30
|
+
number: number;
|
|
31
|
+
text: string;
|
|
32
|
+
}[];
|
|
33
|
+
/** Wat PHPStan op deze regel meldt; null als PHPStan niet gestart is of het bestand niet kon lezen. */
|
|
34
|
+
readonly findings: readonly LineFinding[] | null;
|
|
35
|
+
readonly types: readonly ProbedType[];
|
|
36
|
+
/** Waarom er geen types zijn, of null als ze er zijn. */
|
|
37
|
+
readonly typesProblem: string | null;
|
|
38
|
+
readonly parseErrors: readonly ParseProblem[];
|
|
39
|
+
readonly generalErrors: readonly string[];
|
|
40
|
+
readonly warnings: readonly string[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Een bevinding met de code eromheen en de types die PHPStan vlak vóór die regel afleidt.
|
|
44
|
+
*
|
|
45
|
+
* Voor een client die zelf geen bestanden kan lezen (Claude Desktop): daar ziet het model
|
|
46
|
+
* van een bevinding alleen de melding. In Claude Code kan het model het bestand zelf openen,
|
|
47
|
+
* maar de types niet zien; die komen uit hetzelfde mechanisme als `inspect_type`, een kopie
|
|
48
|
+
* in editor mode, en dezelfde run levert de bevindingen op die regel.
|
|
49
|
+
*
|
|
50
|
+
* Staat er op de regel geen variabele, dan start PHPStan niet: er valt niets te dumpen, en de
|
|
51
|
+
* melding had het model al. Is de regel geen begin van een statement, dan geeft PHPStan een
|
|
52
|
+
* parse-fout; die wordt benoemd, en er wordt niet naar een andere regel gegokt.
|
|
53
|
+
*/
|
|
54
|
+
export declare function showFinding(project: ResolvedProject, request: FindingRequest, options?: Pick<AnalyseOptions, 'config' | 'memoryLimit' | 'timeoutMs' | 'signal'>): Promise<FindingView>;
|
|
55
|
+
/**
|
|
56
|
+
* De variabelen en property-ketens op een regel, zoals ze vóór die regel al bestaan: `$user`,
|
|
57
|
+
* `$this->repo`, `$order->customer->email`. Geen methode-aanroepen (daar horen argumenten bij),
|
|
58
|
+
* geen kale `$this` (dat is de klasse), en niets wat pas op deze regel ontstaat: het doel van
|
|
59
|
+
* een toewijzing, de variabelen van een `foreach … as` en de parameters van een closure. Die
|
|
60
|
+
* geven vóór de regel alleen `*ERROR*`. Een tekst tussen enkele quotes en commentaar tellen niet
|
|
61
|
+
* mee; tussen dubbele quotes wel, want daar wordt een variabele ingevuld.
|
|
62
|
+
*/
|
|
63
|
+
export declare function variablesOn(line: string): string[];
|
|
64
|
+
/** Schrijft de bevinding uit als tekst voor het model. */
|
|
65
|
+
export declare function renderFinding(view: FindingView): string;
|
package/dist/finding.js
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { readFileSync, statSync } from 'node:fs';
|
|
2
|
+
import { MAX_EXPRESSIONS, insertProbes, readProbes } from './dumptype.js';
|
|
3
|
+
import { PhpstanError, analyseEdited, tmpCopyName } from './phpstan.js';
|
|
4
|
+
import { resolveWithin } from './project.js';
|
|
5
|
+
import { displayPath } from './report.js';
|
|
6
|
+
/** Hoeveel regels er standaard voor en na de regel getoond worden. */
|
|
7
|
+
export const DEFAULT_CONTEXT = 5;
|
|
8
|
+
/** Meer is geen context meer maar het bestand; dat hoort bij een tool die het bestand leest. */
|
|
9
|
+
export const MAX_CONTEXT = 30;
|
|
10
|
+
/** Een regel code wordt ingekort; een geminificeerd bestand heeft er één van een megabyte. */
|
|
11
|
+
const MAX_LINE_CHARS = 300;
|
|
12
|
+
/**
|
|
13
|
+
* Een bevinding met de code eromheen en de types die PHPStan vlak vóór die regel afleidt.
|
|
14
|
+
*
|
|
15
|
+
* Voor een client die zelf geen bestanden kan lezen (Claude Desktop): daar ziet het model
|
|
16
|
+
* van een bevinding alleen de melding. In Claude Code kan het model het bestand zelf openen,
|
|
17
|
+
* maar de types niet zien; die komen uit hetzelfde mechanisme als `inspect_type`, een kopie
|
|
18
|
+
* in editor mode, en dezelfde run levert de bevindingen op die regel.
|
|
19
|
+
*
|
|
20
|
+
* Staat er op de regel geen variabele, dan start PHPStan niet: er valt niets te dumpen, en de
|
|
21
|
+
* melding had het model al. Is de regel geen begin van een statement, dan geeft PHPStan een
|
|
22
|
+
* parse-fout; die wordt benoemd, en er wordt niet naar een andere regel gegokt.
|
|
23
|
+
*/
|
|
24
|
+
export async function showFinding(project, request, options = {}) {
|
|
25
|
+
const file = resolveWithin(project, request.path);
|
|
26
|
+
if (!statSync(file).isFile()) {
|
|
27
|
+
throw new PhpstanError(`"${request.path}" is a directory; show_finding needs one PHP file.`, 'invalid_argument', {
|
|
28
|
+
hint: 'Pass the path of the file the finding is in.',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const source = readFileSync(file, 'utf8');
|
|
32
|
+
const lines = source.split('\n').map((line) => line.replace(/\r$/, ''));
|
|
33
|
+
// Een afsluitend regeleinde levert een lege laatste "regel" op die in geen editor bestaat.
|
|
34
|
+
const count = source.endsWith('\n') ? lines.length - 1 : lines.length;
|
|
35
|
+
if (!Number.isInteger(request.line) || request.line < 1 || request.line > count) {
|
|
36
|
+
throw new PhpstanError(`Line ${String(request.line)} is outside the file, which has ${String(count)} line(s).`, 'invalid_argument', {
|
|
37
|
+
hint: 'Pass the line from the finding.',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const context = Math.min(Math.max(Math.trunc(request.context ?? DEFAULT_CONTEXT), 0), MAX_CONTEXT);
|
|
41
|
+
const from = Math.max(request.line - context, 1);
|
|
42
|
+
const to = Math.min(request.line + context, count);
|
|
43
|
+
const code = lines.slice(from - 1, to).map((text, index) => ({ number: from + index, text: shorten(text) }));
|
|
44
|
+
const base = { project: project.path, file: displayPath(project.path, file), line: request.line, code };
|
|
45
|
+
const expressions = request.expressions ?? variablesOn(lines[request.line - 1] ?? '');
|
|
46
|
+
if (expressions.length === 0) {
|
|
47
|
+
return {
|
|
48
|
+
...base,
|
|
49
|
+
findings: null,
|
|
50
|
+
types: [],
|
|
51
|
+
typesProblem: 'There is no variable on this line, so PHPStan was not started. Pass expressions to see their types.',
|
|
52
|
+
parseErrors: [],
|
|
53
|
+
generalErrors: [],
|
|
54
|
+
warnings: [],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const probe = insertProbes(source, request.line, expressions);
|
|
58
|
+
const result = await analyseEdited(project, { insteadOf: file, content: probe.content, name: tmpCopyName(project.path, 'finding') }, options);
|
|
59
|
+
const report = readProbes(project.path, file, probe, result);
|
|
60
|
+
// Na het invoegen staat de gevraagde regel zoveel regels lager als er dumps zijn.
|
|
61
|
+
const verschoven = request.line + probe.expressions.length;
|
|
62
|
+
const findings = result.findings
|
|
63
|
+
.filter((finding) => finding.file === file && finding.line === verschoven && finding.identifier !== 'phpstan.parse')
|
|
64
|
+
.map((finding) => ({ message: finding.message, identifier: finding.identifier, tip: finding.tip }));
|
|
65
|
+
if (report.parseErrors.length > 0) {
|
|
66
|
+
return {
|
|
67
|
+
...base,
|
|
68
|
+
findings: null,
|
|
69
|
+
types: [],
|
|
70
|
+
typesProblem: `Line ${String(request.line)} does not start a statement (it is, for example, inside an array or a method ` +
|
|
71
|
+
'chain that spans several lines), so nothing can be inserted before it. Call inspect_type with the line ' +
|
|
72
|
+
'where the statement starts.',
|
|
73
|
+
parseErrors: report.parseErrors,
|
|
74
|
+
generalErrors: report.generalErrors,
|
|
75
|
+
warnings: report.warnings,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
...base,
|
|
80
|
+
findings,
|
|
81
|
+
types: report.types,
|
|
82
|
+
typesProblem: null,
|
|
83
|
+
parseErrors: [],
|
|
84
|
+
generalErrors: report.generalErrors,
|
|
85
|
+
warnings: report.warnings,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* De variabelen en property-ketens op een regel, zoals ze vóór die regel al bestaan: `$user`,
|
|
90
|
+
* `$this->repo`, `$order->customer->email`. Geen methode-aanroepen (daar horen argumenten bij),
|
|
91
|
+
* geen kale `$this` (dat is de klasse), en niets wat pas op deze regel ontstaat: het doel van
|
|
92
|
+
* een toewijzing, de variabelen van een `foreach … as` en de parameters van een closure. Die
|
|
93
|
+
* geven vóór de regel alleen `*ERROR*`. Een tekst tussen enkele quotes en commentaar tellen niet
|
|
94
|
+
* mee; tussen dubbele quotes wel, want daar wordt een variabele ingevuld.
|
|
95
|
+
*/
|
|
96
|
+
export function variablesOn(line) {
|
|
97
|
+
const code = line
|
|
98
|
+
.replace(/'(?:[^'\\]|\\.)*'/g, "''")
|
|
99
|
+
.replace(/\/\*.*?\*\//g, '')
|
|
100
|
+
.replace(/(?:\/\/|#(?!\[)).*$/, '');
|
|
101
|
+
const nieuw = new Set();
|
|
102
|
+
for (const match of code.matchAll(/(\$\w+)\s*(?:=(?![=>])|\?\?=)/g)) {
|
|
103
|
+
// `??=` laat een bestaande waarde staan, maar de variabele hoeft nog niet te bestaan.
|
|
104
|
+
nieuw.add(match[1] ?? '');
|
|
105
|
+
}
|
|
106
|
+
for (const match of code.matchAll(/\bas\s+(?:&?\s*(\$\w+)\s*=>\s*)?&?\s*(\$\w+)/g)) {
|
|
107
|
+
nieuw.add(match[1] ?? '');
|
|
108
|
+
nieuw.add(match[2] ?? '');
|
|
109
|
+
}
|
|
110
|
+
for (const match of code.matchAll(/\b(?:fn|function)\s*&?\s*\(([^)]*)\)/g)) {
|
|
111
|
+
for (const parameter of (match[1] ?? '').matchAll(/\$\w+/g)) {
|
|
112
|
+
nieuw.add(parameter[0]);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const gevonden = [];
|
|
116
|
+
// `(?!\w)` vóór de lookahead op `(`: anders maakt backtracking van `$a->foo()` een `$a->fo`.
|
|
117
|
+
// Niet na `::`: `self::$x` is een statische property, geen lokale variabele.
|
|
118
|
+
for (const match of code.matchAll(/(?<!::)\$\w+(?:\s*\??->\s*\w+(?!\w)(?!\s*\())*/g)) {
|
|
119
|
+
const expressie = match[0].replace(/\s+/g, '');
|
|
120
|
+
const variabele = /^\$\w+/.exec(expressie)?.[0] ?? '';
|
|
121
|
+
if (expressie === '$this' || nieuw.has(variabele) || gevonden.includes(expressie)) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
gevonden.push(expressie);
|
|
125
|
+
}
|
|
126
|
+
return gevonden.slice(0, MAX_EXPRESSIONS);
|
|
127
|
+
}
|
|
128
|
+
/** Schrijft de bevinding uit als tekst voor het model. */
|
|
129
|
+
export function renderFinding(view) {
|
|
130
|
+
const lines = [`${view.file}, line ${String(view.line)}:`, ''];
|
|
131
|
+
const breedte = String(view.code.at(-1)?.number ?? view.line).length;
|
|
132
|
+
for (const regel of view.code) {
|
|
133
|
+
const teken = regel.number === view.line ? '>' : ' ';
|
|
134
|
+
lines.push(`${teken} ${String(regel.number).padStart(breedte)} | ${regel.text}`.trimEnd());
|
|
135
|
+
}
|
|
136
|
+
if (view.warnings.length > 0) {
|
|
137
|
+
lines.push('', 'WARNING PHPStan reported this alongside the result:', ...view.warnings.map((warning) => `- ${warning}`));
|
|
138
|
+
}
|
|
139
|
+
if (view.generalErrors.length > 0) {
|
|
140
|
+
lines.push('', 'Errors not tied to a file:', ...view.generalErrors.map((error) => `- ${error}`));
|
|
141
|
+
}
|
|
142
|
+
if (view.findings !== null) {
|
|
143
|
+
lines.push('');
|
|
144
|
+
if (view.findings.length === 0) {
|
|
145
|
+
lines.push('PHPStan reports nothing on this line.');
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
lines.push('PHPStan reports on this line:');
|
|
149
|
+
for (const finding of view.findings) {
|
|
150
|
+
lines.push(`- ${finding.identifier === null ? '' : `${finding.identifier}: `}${finding.message}`);
|
|
151
|
+
if (finding.tip !== null) {
|
|
152
|
+
lines.push(` tip: ${finding.tip}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
lines.push('');
|
|
158
|
+
if (view.typesProblem !== null) {
|
|
159
|
+
lines.push(`No types: ${view.typesProblem}`);
|
|
160
|
+
for (const error of view.parseErrors) {
|
|
161
|
+
lines.push(`- ${error.inserted ? 'inserted line' : error.line === null ? 'no line' : `line ${String(error.line)}`}: ${error.message}`);
|
|
162
|
+
}
|
|
163
|
+
return lines.join('\n');
|
|
164
|
+
}
|
|
165
|
+
lines.push(`Types right before line ${String(view.line)}:`);
|
|
166
|
+
for (const probed of view.types) {
|
|
167
|
+
lines.push(`- ${probed.expression}: ${probed.type ?? 'no type reported'}`);
|
|
168
|
+
for (const problem of probed.problems) {
|
|
169
|
+
lines.push(` ${problem.identifier === null ? '' : `${problem.identifier}: `}${problem.message}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return lines.join('\n');
|
|
173
|
+
}
|
|
174
|
+
function shorten(text) {
|
|
175
|
+
return text.length <= MAX_LINE_CHARS ? text : `${text.slice(0, MAX_LINE_CHARS)}… (line cut off)`;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=finding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finding.js","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/inspect.d.ts
CHANGED
|
@@ -18,3 +18,5 @@ export declare function registerBaselineHistory(server: McpServer, roots: RootSo
|
|
|
18
18
|
export declare function registerUnmatchedIgnores(server: McpServer, roots: RootSource): void;
|
|
19
19
|
/** Hangt `inspect_type` aan de server: het type dat PHPStan op een regel afleidt. */
|
|
20
20
|
export declare function registerInspectType(server: McpServer, roots: RootSource): void;
|
|
21
|
+
/** Hangt `show_finding` aan de server: een bevinding met de code en de types eromheen. */
|
|
22
|
+
export declare function registerShowFinding(server: McpServer, roots: RootSource): void;
|
package/dist/tools/inspect.js
CHANGED
|
@@ -13,6 +13,7 @@ import { DEFAULT_LIMIT, MAX_LIMIT } from '../report.js';
|
|
|
13
13
|
import { loadTmpDirMode } from '../tmpdir.js';
|
|
14
14
|
import { findUnmatchedIgnores, renderUnmatched } from '../unmatched.js';
|
|
15
15
|
import { MAX_EXPRESSIONS, inspectType, renderTypes } from '../dumptype.js';
|
|
16
|
+
import { DEFAULT_CONTEXT, MAX_CONTEXT, renderFinding, showFinding } from '../finding.js';
|
|
16
17
|
import { renderParameters } from '../phpstan/parameters.js';
|
|
17
18
|
import { VERSION } from '../version.js';
|
|
18
19
|
import { common, configArgument, failure, log, nullable, projectArgument, readOnly, toFailure } from './shared.js';
|
|
@@ -711,4 +712,65 @@ export function registerInspectType(server, roots) {
|
|
|
711
712
|
}
|
|
712
713
|
});
|
|
713
714
|
}
|
|
715
|
+
/** Hangt `show_finding` aan de server: een bevinding met de code en de types eromheen. */
|
|
716
|
+
export function registerShowFinding(server, roots) {
|
|
717
|
+
server.registerTool('show_finding', {
|
|
718
|
+
title: 'Show finding in context',
|
|
719
|
+
description: 'Shows the code around one line of a PHP file, what PHPStan reports on that line, and the types PHPStan ' +
|
|
720
|
+
'infers right before it for the variables and properties used there. For looking at a finding from ' +
|
|
721
|
+
'analyse_project, analyse_file or analyse_changed when you cannot open the file yourself. Does not change ' +
|
|
722
|
+
'the project: the types come from a temporary copy, like inspect_type. On a line without variables, ' +
|
|
723
|
+
'PHPStan is not started and only the code is shown.',
|
|
724
|
+
inputSchema: {
|
|
725
|
+
project: projectArgument,
|
|
726
|
+
path: z.string().describe('PHP file inside the project, as the finding names it'),
|
|
727
|
+
line: z.number().int().min(1).describe('The line of the finding'),
|
|
728
|
+
context: z
|
|
729
|
+
.number()
|
|
730
|
+
.int()
|
|
731
|
+
.min(0)
|
|
732
|
+
.max(MAX_CONTEXT)
|
|
733
|
+
.optional()
|
|
734
|
+
.describe(`Lines of code before and after it (default ${String(DEFAULT_CONTEXT)})`),
|
|
735
|
+
expressions: z
|
|
736
|
+
.array(z.string())
|
|
737
|
+
.min(1)
|
|
738
|
+
.max(MAX_EXPRESSIONS)
|
|
739
|
+
.optional()
|
|
740
|
+
.describe('Expressions to show the type of instead of the variables on the line'),
|
|
741
|
+
config: configArgument,
|
|
742
|
+
memoryLimit: z.string().optional(),
|
|
743
|
+
timeoutSeconds: z.number().int().positive().max(1800).optional(),
|
|
744
|
+
},
|
|
745
|
+
outputSchema: {
|
|
746
|
+
project: z.string(),
|
|
747
|
+
file: z.string().describe('Path relative to the project root'),
|
|
748
|
+
line: z.number(),
|
|
749
|
+
code: z.array(z.object({ number: z.number(), text: z.string() })).describe('The lines around it, with their numbers'),
|
|
750
|
+
findings: nullable(z.array(z.object({ message: z.string(), identifier: nullable(z.string()), tip: nullable(z.string()) }))).describe('What PHPStan reports on this line; null if PHPStan was not started or could not read the copy'),
|
|
751
|
+
types: z.array(z.object({
|
|
752
|
+
expression: z.string(),
|
|
753
|
+
type: nullable(z.string()).describe('As PHPStan infers it; null if PHPStan reported none'),
|
|
754
|
+
problems: z.array(z.object({ identifier: nullable(z.string()), message: z.string() })),
|
|
755
|
+
})),
|
|
756
|
+
typesProblem: nullable(z.string()).describe('Why there are no types; null when there are'),
|
|
757
|
+
parseErrors: z.array(z.object({ line: nullable(z.number()), inserted: z.boolean(), message: z.string() })),
|
|
758
|
+
generalErrors: z.array(z.string()),
|
|
759
|
+
warnings: z.array(z.string()),
|
|
760
|
+
},
|
|
761
|
+
annotations: readOnly(),
|
|
762
|
+
}, async (args, extra) => {
|
|
763
|
+
try {
|
|
764
|
+
const resolved = await roots.resolveProject(args.project);
|
|
765
|
+
const view = await showFinding(resolved, { path: args.path, line: args.line, context: args.context, expressions: args.expressions }, { ...common(resolved, args), signal: extra.signal });
|
|
766
|
+
return {
|
|
767
|
+
content: [{ type: 'text', text: renderFinding(view) }],
|
|
768
|
+
structuredContent: { ...view },
|
|
769
|
+
};
|
|
770
|
+
}
|
|
771
|
+
catch (error) {
|
|
772
|
+
return toFailure(error);
|
|
773
|
+
}
|
|
774
|
+
});
|
|
775
|
+
}
|
|
714
776
|
//# sourceMappingURL=inspect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/tools/inspect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/tools/inspect.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/prompts.js
CHANGED
|
@@ -105,7 +105,8 @@ function registerReviewPrompt(server, roots) {
|
|
|
105
105
|
' you changed comes from your change; the rest may have been there already.',
|
|
106
106
|
'4. Fix the findings at the source. Do not weaken types to `mixed` and do not add',
|
|
107
107
|
' anything to the baseline. If it is unclear what PHPStan infers for a value,',
|
|
108
|
-
' ask `inspect_type` instead of guessing.',
|
|
108
|
+
' ask `inspect_type` instead of guessing. Only if you cannot open the file',
|
|
109
|
+
' yourself: `show_finding` shows the code around a finding, with those types.',
|
|
109
110
|
metBase
|
|
110
111
|
? '5. Run `analyse_changed` again, with the same base, until it is clean. Do that'
|
|
111
112
|
: '5. Run `analyse_changed` again until it is clean. Do that',
|
|
@@ -215,7 +216,14 @@ function registerBaselinePrompt(server, roots) {
|
|
|
215
216
|
' number too, since a new baseline does not touch them, and those without an',
|
|
216
217
|
' identifier hide every error on their line. If it says `hasBaseline: false`,',
|
|
217
218
|
' say there is no baseline to shrink, mention the inline count, and stop.',
|
|
218
|
-
'2. `
|
|
219
|
+
'2. `baseline_history`: whether the baseline has been shrinking or growing, and which',
|
|
220
|
+
' change added the most. If it has been growing, say so first: a clean-up round',
|
|
221
|
+
' helps little while errors keep being added, so that needs an agreement first',
|
|
222
|
+
' (fix new errors at the source, generate a baseline only on purpose). A row',
|
|
223
|
+
' without a commit is an uncommitted change to the baseline: mention it, since it',
|
|
224
|
+
' is not what the team has. If the tool fails with `not_a_git_repository` or',
|
|
225
|
+
' `git_missing`, say so and go on.',
|
|
226
|
+
'3. `unmatched_ignores` a full analysis; for a large project, pass',
|
|
219
227
|
' `timeoutSeconds`. Split the outcome into three groups:',
|
|
220
228
|
' - entries that no longer match anything (`inBaseline: true`): the error is',
|
|
221
229
|
' fixed, the entry can go;',
|
|
@@ -231,29 +239,29 @@ function registerBaselinePrompt(server, roots) {
|
|
|
231
239
|
' If `inBaseline` is null, the baseline could not be read: report that and do not',
|
|
232
240
|
' guess. If the tool refuses with `unsupported_with_runner`, the environment where',
|
|
233
241
|
' PHPStan runs has no `sh`: say this step is not possible here and continue with',
|
|
234
|
-
' step
|
|
235
|
-
'
|
|
242
|
+
' step 4.',
|
|
243
|
+
'4. `analyse_project` with `limit: 1`. That total is exactly what a new baseline',
|
|
236
244
|
' would hide; say that in so many words. Leave out `ignore.unmatchedLine` and',
|
|
237
245
|
' `ignore.unmatchedIdentifier` from `summary.byIdentifier`: those are the stale',
|
|
238
|
-
' inline ignores from step
|
|
239
|
-
'
|
|
246
|
+
' inline ignores from step 3, and PHPStan does not put them in a baseline.',
|
|
247
|
+
'5. Pick the cheapest real reduction: a file with few baseline entries and a kind',
|
|
240
248
|
' that can be fixed at the source, such as `missingType.*`. Which kinds are in',
|
|
241
249
|
' which file is given by `baseline_summary` with `path` set to that file: per',
|
|
242
250
|
' entry the identifier, the count and the pattern. Fix at the source:',
|
|
243
251
|
' no `mixed`, no `@phpstan-ignore`, no cast to silence an error.',
|
|
244
252
|
' Check with `analyse_file` on that file that nothing new appears; the baseline',
|
|
245
253
|
' entries that have become stale because of it can then go.',
|
|
246
|
-
'
|
|
247
|
-
' nothing: the findings from step
|
|
254
|
+
'6. `prune_baseline` removes what step 3 found stale and lowers the counts, and adds',
|
|
255
|
+
' nothing: the findings from step 4 stay reported. It only exists when the server',
|
|
248
256
|
' has write permission, and even then you do not call it yourself: it rewrites a',
|
|
249
257
|
' file that is in git. Suggest it, and let me choose.',
|
|
250
|
-
'
|
|
258
|
+
'7. `generate_baseline` also cleans up, but puts the total from step 4 into the',
|
|
251
259
|
' baseline as well. So only suggest it when that total is zero; if it is not, fix',
|
|
252
260
|
' those findings first. The same holds here: suggest it, do not call it.',
|
|
253
261
|
'',
|
|
254
|
-
'Report: how large the baseline is,
|
|
255
|
-
'findings a new baseline would hide, and which
|
|
256
|
-
'done.',
|
|
262
|
+
'Report: how large the baseline is, whether it is growing or shrinking, how many',
|
|
263
|
+
'entries are stale, how many current findings a new baseline would hide, and which',
|
|
264
|
+
'reduction you propose or have done.',
|
|
257
265
|
].join('\n'),
|
|
258
266
|
},
|
|
259
267
|
},
|
|
@@ -315,7 +323,9 @@ function registerKindPrompt(server, roots) {
|
|
|
315
323
|
' baseline, and no cast or `assert()` to silence an error. A cast is only',
|
|
316
324
|
' right if you are sure the value has that type and then that type belongs',
|
|
317
325
|
' at the source, not at the place of the finding. To see what PHPStan infers',
|
|
318
|
-
' for a value at a given line, use `inspect_type` rather than guessing.',
|
|
326
|
+
' for a value at a given line, use `inspect_type` rather than guessing. Only if',
|
|
327
|
+
' you cannot open the file yourself: `show_finding` shows the code around a',
|
|
328
|
+
' finding, with those types.',
|
|
319
329
|
'4. After a fix, analyse again with `identifiers`, without a runId: that gives',
|
|
320
330
|
' the result from before your fix, and then the round seems to do nothing. Pass',
|
|
321
331
|
' `compareTo` with the runId from before the fix: the comparison counts over all',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,KAAiB;IAElE,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAa,EAAE,OAAgB;IAEtF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;SACrD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CAAC,KAAiB,EAAE,WAAmB,EAAE,OAA6E;IAE5I,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,OAAgD,EAAE,EAAE,CAC/F,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,mBAAmB,GAAG,wHAAwH,CAAC;AAErJ,qFAAqF;AACrF,SAAS,OAAO,CAAC,OAA2B,EAAE,GAAW;IAEvD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;QAC5C,CAAC,CAAC,qDAAqD,GAAG,GAAG;QAC7D,CAAC,CAAC,uBAAuB,OAAO,GAAG,CAAC;AACxC,CAAC;AAED,+FAA+F;AAC/F,SAAS,oBAAoB,CAAC,MAAiB,EAAE,KAAiB;IAEhE,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACT,iFAAiF;QACnF,UAAU,EAAE;YACV,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC;YACpD,8EAA8E;YAC9E,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iFAAiF,CAAC;SAC/F;KACF,EACD,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC;QAClD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC;4BACnC,EAAE;4BACF,sBAAsB;4BACtB,OAAO;gCACL,CAAC,CAAC,yDAAyD,IAAI,8BAA8B;gCAC7F,CAAC,CAAC,iFAAiF;4BACrF,OAAO;gCACL,CAAC,CAAC,sCAAsC,IAAI,0CAA0C;gCACtF,CAAC,CAAC,8EAA8E;4BAClF,OAAO;gCACL,CAAC,CAAC,iFAAiF;gCACnF,CAAC,CAAC,mEAAmE;4BACvE,4EAA4E;4BAC5E,2EAA2E;4BAC3E,iFAAiF;4BACjF,gFAAgF;4BAChF,gEAAgE;4BAChE,gFAAgF;4BAChF,6EAA6E;4BAC7E,gFAAgF;4BAChF,8EAA8E;4BAC9E,mFAAmF;4BACnF,+EAA+E;4BAC/E,8EAA8E;4BAC9E,kFAAkF;4BAClF,gFAAgF;4BAChF,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RunStore } from './runs.js';
|
|
2
2
|
import { registerAnalyseChanged, registerAnalyseFile, registerAnalyseProject, } from './tools/analysis.js';
|
|
3
|
-
import { registerBaselineHistory, registerBaselineSummary, registerDiagnose, registerInspectType, registerListProjects, registerServerConfig, registerUnmatchedIgnores, } from './tools/inspect.js';
|
|
3
|
+
import { registerBaselineHistory, registerBaselineSummary, registerDiagnose, registerInspectType, registerListProjects, registerServerConfig, registerShowFinding, registerUnmatchedIgnores, } from './tools/inspect.js';
|
|
4
4
|
import { registerPrompts } from './tools/prompts.js';
|
|
5
5
|
import { registerClearResultCache, registerGenerateBaseline, registerPruneBaseline, writesAllowed, } from './tools/writes.js';
|
|
6
6
|
/** Hangt alle tools aan de server. */
|
|
@@ -13,6 +13,7 @@ export function registerTools(server, roots) {
|
|
|
13
13
|
registerAnalyseFile(server, roots, runs);
|
|
14
14
|
registerAnalyseChanged(server, roots, runs);
|
|
15
15
|
registerInspectType(server, roots);
|
|
16
|
+
registerShowFinding(server, roots);
|
|
16
17
|
registerBaselineSummary(server, roots);
|
|
17
18
|
registerBaselineHistory(server, roots);
|
|
18
19
|
registerUnmatchedIgnores(server, roots);
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAiB;IAEhE,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAExC,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAiB;IAEhE,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAExC,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
|