ast-mcp-server 0.11.2 → 0.13.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 +23 -2
- package/README.md +60 -10
- package/SECURITY.md +1 -1
- package/cordis.patch.yml +31 -0
- package/dist/batch/schema.js +7 -16
- package/dist/server.js +7 -32
- package/dist/services/agent-setup.js +85 -19
- package/dist/services/agent-targets.js +170 -80
- package/dist/services/diagnostics.js +55 -0
- package/dist/services/opencode-config.js +84 -7
- package/dist/services/runtime-policy.js +15 -0
- package/dist/tools/apply_operation.js +5 -2
- package/dist/tools/catalog.js +83 -0
- package/dist/tools/explore.js +5 -2
- package/dist/tools/find_references.js +5 -2
- package/dist/tools/find_test_candidates.js +5 -2
- package/dist/tools/get_diagnostics.js +36 -4
- package/dist/tools/get_file.js +5 -2
- package/dist/tools/get_impact.js +5 -2
- package/dist/tools/get_operation_preview.js +5 -2
- package/dist/tools/get_outline.js +5 -2
- package/dist/tools/get_project_status.js +5 -2
- package/dist/tools/get_symbol_source.js +5 -2
- package/dist/tools/list_files.js +5 -2
- package/dist/tools/rename_symbol.js +5 -2
- package/dist/tools/replace_symbol_body.js +5 -2
- package/dist/tools/scaffold_class.js +5 -2
- package/dist/tools/search_symbols.js +5 -2
- package/dist/worker-runtime.js +2 -2
- package/docs/support.md +7 -7
- package/package.json +16 -3
- package/skills/structural-code-editing/SKILL.md +14 -2
- package/skills/structural-code-editing/releases.json +22 -2
package/docs/support.md
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# Support policy
|
|
2
2
|
|
|
3
|
-
This document defines the supported platform, runtime, persistence, and operational boundary for published `ast-mcp-server` v0.
|
|
3
|
+
This document defines the supported platform, runtime, persistence, and operational boundary for published `ast-mcp-server` v0.12.0.
|
|
4
4
|
|
|
5
5
|
## Supported release target
|
|
6
6
|
|
|
7
7
|
| Environment | Status | Contract |
|
|
8
8
|
| ----------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------- |
|
|
9
9
|
| Linux x64 with required GNU coreutils and procfs, Node.js 22.5.0 | Historical | Immutable v0.8.1 release evidence; not the runtime floor of the published or candidate lines. |
|
|
10
|
-
| Linux x64 with required GNU coreutils and procfs, exact Node.js 22.13.0 | Supported | Published v0.
|
|
11
|
-
| Linux x64 with required GNU coreutils and procfs, current Node.js 24 line | Supported | Published v0.
|
|
10
|
+
| Linux x64 with required GNU coreutils and procfs, exact Node.js 22.13.0 | Supported | Published v0.12.0 matrix bound to its immutable package and tree bytes. |
|
|
11
|
+
| Linux x64 with required GNU coreutils and procfs, current Node.js 24 line | Supported | Published v0.12.0 matrix bound to its immutable package and tree bytes. |
|
|
12
12
|
| Other Linux architectures or systems without the required filesystem features | Unverified | Not supported until equivalent architecture, mutation, and filesystem-publication gates pass. |
|
|
13
13
|
| macOS | Unverified | Not supported until equivalent filesystem, process, package, mutation, and canary gates pass. |
|
|
14
14
|
| Windows | Unverified | Not supported until equivalent filesystem, process, package, mutation, and canary gates pass. |
|
|
15
15
|
| Remote, untrusted, or multi-tenant service use | Unsupported | No network authentication, sandbox, or tenant-isolation boundary is provided. |
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Published v0.12.0 requires Node.js `>=22.13.0`; its immutable matrix targets exact Node.js 22.13.0 and the governed Node.js 24 major. The earlier v0.8.1 Node.js 22.5.0/24 matrix remains historical evidence for those bytes only. A future runtime satisfying an engine range is not automatically a verified release target.
|
|
18
18
|
|
|
19
19
|
The checked-evidence freezer requires GNU coreutils 9.7 `mv` with `--update=none-fail`, `--no-copy`, and `--no-target-directory`. Managed setup-file mutation additionally requires that same `mv` with `--exchange`, GNU coreutils `ln -L -T`, procfs descriptor paths at `/proc/self/fd`, `O_DIRECTORY`, and `O_NOFOLLOW`. It fails closed when any verified Linux primitive is unavailable. Equivalent publication, exchange, descriptor-link, and descriptor-relative mutation semantics have not been verified on other operating systems or architectures.
|
|
20
20
|
|
|
@@ -50,7 +50,7 @@ The scoped Linux evidence passed on exact Node.js 22.13.0 and the governed Node.
|
|
|
50
50
|
|
|
51
51
|
## Symbol-index persistence
|
|
52
52
|
|
|
53
|
-
Published v0.
|
|
53
|
+
Published v0.12.0 selects native SQLite when the persistence setting is absent or explicitly `enabled`; operators requiring no persistent index state must set `disabled` explicitly:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
56
|
AST_SYMBOL_INDEX_PERSISTENCE=disabled \
|
|
@@ -76,11 +76,11 @@ ast-tool cache inspect
|
|
|
76
76
|
ast-tool cache clear --yes
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
Both commands are bounded and path-free. Clear preflights the tree, refuses unsafe or active SQLite artifacts, rechecks identity before unlink and preserves unknown regular files/directories. There is no automatic garbage collection in this
|
|
79
|
+
Both commands are bounded and path-free. Clear preflights the tree, refuses unsafe or active SQLite artifacts, rechecks identity before unlink and preserves unknown regular files/directories. There is no automatic garbage collection in this release.
|
|
80
80
|
|
|
81
81
|
## Production-readiness acceptance
|
|
82
82
|
|
|
83
|
-
The four retained Linux x64 production-readiness reports cover `ast-mcp-server` and `x-scraper` under Node.js 22.5.0 and Node.js 24 for package version 0.6.0, commit `2d0b21bbb80fae1acfca6a85d5891d87e68b59c1`, and tree `af931d49769fabdf06f623965a6cfe1f9afb8a81`. They are historical integration evidence only: they are not reattributed to v0.8.1, published-next v0.9.0 or v0.9.1, the local 0.9.2 candidate, published v0.10.0, published-next v0.11.0 or v0.11.1,
|
|
83
|
+
The four retained Linux x64 production-readiness reports cover `ast-mcp-server` and `x-scraper` under Node.js 22.5.0 and Node.js 24 for package version 0.6.0, commit `2d0b21bbb80fae1acfca6a85d5891d87e68b59c1`, and tree `af931d49769fabdf06f623965a6cfe1f9afb8a81`. They are historical integration evidence only: they are not reattributed to v0.8.1, published-next v0.9.0 or v0.9.1, the local 0.9.2 candidate, published v0.10.0, published-next v0.11.0 or v0.11.1, published v0.11.2, or published v0.12.0. The exact 0.9.0 and 0.9.1 release matrices remain historical evidence for their immutable published-next bytes, the exact 0.9.2 matrix remains historical local-candidate evidence, the exact 0.10.0 matrix remains historical published-release evidence, the exact 0.11.0 and 0.11.1 matrices remain historical evidence for their immutable published-next bytes before public-registry verification exposed their distinct verifier defects, and the exact 0.11.2 matrix remains historical published-release evidence. The exact 0.12.0 matrix is current published-release evidence under both supported runtime lines, including bounded diagnostic aggregates, catalog-derived tool capability projections, and their independent release oracles; none of these matrices rebinds the older retained reports. MCP-PROD-404 remains normative for admission:
|
|
84
84
|
|
|
85
85
|
- zero semantic mismatches across disabled, cold, warm, restart, and rollback reads;
|
|
86
86
|
- byte-identical real-repository status and worktree trees;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ast-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Structural code MCP server and batch CLI for compact TypeScript/JavaScript reads and hash-bound AST edits.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -26,6 +26,16 @@
|
|
|
26
26
|
},
|
|
27
27
|
"type": "module",
|
|
28
28
|
"packageManager": "yarn@4.15.0",
|
|
29
|
+
"dsh": {
|
|
30
|
+
"bundle": {
|
|
31
|
+
"patch": "./cordis.patch.yml"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"deepseekHarness": {
|
|
35
|
+
"revision": "cd5ef8148158c3a752a658978873241fdf8e2bbc",
|
|
36
|
+
"tag": "dsh-v0.1.2-alpha.1",
|
|
37
|
+
"mcpClientVersion": "0.1.2-alpha.1"
|
|
38
|
+
},
|
|
29
39
|
"main": "dist/index.js",
|
|
30
40
|
"bin": {
|
|
31
41
|
"ast-mcp-server": "dist/index.js",
|
|
@@ -34,6 +44,7 @@
|
|
|
34
44
|
"files": [
|
|
35
45
|
"dist",
|
|
36
46
|
"skills",
|
|
47
|
+
"cordis.patch.yml",
|
|
37
48
|
"README.md",
|
|
38
49
|
"CHANGELOG.md",
|
|
39
50
|
"SECURITY.md",
|
|
@@ -56,6 +67,7 @@
|
|
|
56
67
|
"test:cli": "yarn build && node scripts/cli-smoke.mjs",
|
|
57
68
|
"test:errors": "yarn build && node scripts/public-error-smoke.mjs",
|
|
58
69
|
"test:package": "node scripts/package-smoke.mjs",
|
|
70
|
+
"test:dsh-adapter": "node scripts/dsh-adapter-smoke.mjs",
|
|
59
71
|
"test:local-registry": "node scripts/local-registry-consumer-smoke.mjs",
|
|
60
72
|
"test:installed-agents": "yarn build && node scripts/installed-agent-guidance-smoke.mjs",
|
|
61
73
|
"test:agent-fixtures": "node scripts/admit-agent-fixtures.mjs --check",
|
|
@@ -95,7 +107,8 @@
|
|
|
95
107
|
"prettier": "^3.9.6",
|
|
96
108
|
"typescript": "^5.6.0",
|
|
97
109
|
"typescript-eslint": "^8.65.0",
|
|
98
|
-
"vitest": "^4.1.10"
|
|
110
|
+
"vitest": "^4.1.10",
|
|
111
|
+
"yaml": "^2.9.0"
|
|
99
112
|
},
|
|
100
|
-
"gitHead": "
|
|
113
|
+
"gitHead": "75302189733f40aba6a36a8379c5b1f65fc3bd84"
|
|
101
114
|
}
|
|
@@ -4,7 +4,7 @@ description: "Trigger: navegar, analizar o editar TypeScript/JavaScript con el c
|
|
|
4
4
|
license: "ISC"
|
|
5
5
|
metadata:
|
|
6
6
|
author: "yail"
|
|
7
|
-
version: "4.
|
|
7
|
+
version: "4.6.0"
|
|
8
8
|
hermes:
|
|
9
9
|
tags: ["typescript", "javascript", "ast", "refactoring", "mcp"]
|
|
10
10
|
homepage: "https://github.com/yailPeralta/ast-mcp-server"
|
|
@@ -18,7 +18,7 @@ Cargar este skill antes de navegar semánticamente, analizar impacto o referenci
|
|
|
18
18
|
|
|
19
19
|
No forzar un roundtrip AST para Markdown, configuración, comentarios ni una edición textual trivial en un archivo ya conocido. Si las tools `ast_*` no están disponibles, declarar el fallback y no presentar búsquedas textuales como evidencia compiler-backed.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Published v0.12.0 requires Node.js `>=22.13.0` and retains immutable release evidence from exact Node.js 22.13.0 plus the governed Node.js 24 line.
|
|
22
22
|
|
|
23
23
|
## Hard Rules
|
|
24
24
|
|
|
@@ -29,6 +29,18 @@ The local 0.11.2 release candidate requires Node.js `>=22.13.0` and is verified
|
|
|
29
29
|
- Nunca reconstruir postimages desde un diff; después del apply, ejecutar el gate canónico del proyecto.
|
|
30
30
|
- Conservar `correlation_id` en errores públicos sin exponer source, paths absolutos, argumentos, environment, cache, stacks ni credenciales.
|
|
31
31
|
|
|
32
|
+
## Diagnostic aggregates
|
|
33
|
+
|
|
34
|
+
`ast_get_diagnostics` keeps its existing response shape unless `include_aggregates: true` is requested. Enabled summaries cover the complete normalized snapshot, not only the selected raw page, and cap both code and file groups at 20.
|
|
35
|
+
|
|
36
|
+
For each dimension, `groups.length + omitted_group_count = total_group_count` and group counts sum to `covered_diagnostic_count`. Code coverage plus omitted diagnostics equals the total; file coverage additionally includes `unfiled_diagnostic_count`. File groups expose normalized project-relative paths only and may include paths absent from the raw page.
|
|
37
|
+
|
|
38
|
+
## Contributor contract
|
|
39
|
+
|
|
40
|
+
Al agregar o modificar una tool, mantener schemas, metadata, annotations, handler, errores y serialización en su módulo. Exportar un descriptor congelado y ubicarlo deliberadamente en `src/tools/catalog.ts`; el catálogo solo admite hechos estáticos de efecto, batch, compatibilidad y formatos directos.
|
|
41
|
+
|
|
42
|
+
Las expectativas de `tools/list` deben seguir siendo independientes: revisar el inventario y metadata completos antes de actualizar sus hashes, sin importar ni derivar valores desde el catálogo.
|
|
43
|
+
|
|
32
44
|
## Decision Gates
|
|
33
45
|
|
|
34
46
|
| Situación | Acción |
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"algorithm": "sha256",
|
|
4
4
|
"current": {
|
|
5
|
-
"version": "4.
|
|
5
|
+
"version": "4.6.0",
|
|
6
6
|
"files": [
|
|
7
7
|
{
|
|
8
8
|
"path": "SKILL.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "df2ebc3f3903cf5abf4eb6612da527cad97a92f29f1a9a475ea6e8b4cf47abfb"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"path": "references/operations.md",
|
|
@@ -79,6 +79,26 @@
|
|
|
79
79
|
"version": "4.4.0",
|
|
80
80
|
"sha256": "253b588c56d44c8f5565db3f33ce227d80c7c29aa6604d362844f44b1278385a",
|
|
81
81
|
"npm_versions": ["0.10.0"]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"version": "4.5.0",
|
|
85
|
+
"sha256": "be757e8bd98733c7ee952d63a2805dcd9877becf651b4fcb6ab63d20f6546f21",
|
|
86
|
+
"npm_versions": ["0.11.0"]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"version": "4.5.0",
|
|
90
|
+
"sha256": "2729b30ff6b7344e6680c7ee02ab540bc6db9774ad7111f091cd356f8cc9d4ce",
|
|
91
|
+
"npm_versions": ["0.11.1"]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"version": "4.5.0",
|
|
95
|
+
"sha256": "18132b4b747d135e4ccfbca9e2190a9afb41e144cc06c31c5e6bc0f1571e11da",
|
|
96
|
+
"npm_versions": ["0.11.2"]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"version": "4.6.0",
|
|
100
|
+
"sha256": "d0048ffd9a585d00791540c6fa5e0bec91ff95b1448479678f85702e6b09be8a",
|
|
101
|
+
"npm_versions": ["0.12.0"]
|
|
82
102
|
}
|
|
83
103
|
]
|
|
84
104
|
}
|