sysml-v2-lsp 0.6.0 → 0.8.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 +39 -0
- package/README.md +6 -4
- package/dist/server/mcpServer.js +9 -4
- package/dist/server/server.js +31 -14
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.0]
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Update grammar files with Full OMG SysML v2 spec conformance: grammar now passes all official training, validation, and example files (309 .sysml files across 4 suites)
|
|
8
|
+
- `make update-grammar` now automatically rebuilds parser and regenerates DFA snapshot
|
|
9
|
+
- Standard library smoke test retained in LSP repo (`test/unit/conformance.test.ts`)
|
|
10
|
+
- 12 new grammar patches (Fix 40–51) in the grammar generator for spec conformance
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Grammar updated with conformance fixes: `endOccurrenceUsageElement` named ends, `unreservedKeyword` for 14 keywords used as names in OMG standard library, `//*..*/` block comment support, `REF` in body expressions, prefix metadata on enum members, `send` without inline payload, `actionNodeMember` reordering, `REGULAR_COMMENT` in expressions, `definitionBodyItem` in `functionBodyPart`
|
|
15
|
+
- `update-grammar` Makefile target now sources grammar from `daltskin/sysml-v2-grammar` (was `daltskin/grammars-v4`)
|
|
16
|
+
|
|
17
|
+
## [0.7.0]
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- Workspace-wide semantic validation with cross-file symbol indexes (byName, byParent, byQualifiedName, definitionsByName, portsByName)
|
|
22
|
+
- Three new validation rules: redefinition multiplicity, port type compatibility, constraint body references
|
|
23
|
+
- Quick-fix code actions for all three new rules (align multiplicity, switch port endpoint, suggest nearest member)
|
|
24
|
+
- Context-aware completions: port endpoints in `connect` blocks, type annotation filtering, workspace definition symbols
|
|
25
|
+
- Semantic feedback in hover tooltips — shows diagnostics and repair hints at the hovered position
|
|
26
|
+
- Cached semantic diagnostics per document version to avoid redundant revalidation
|
|
27
|
+
- MCP preview tool falls back to cached/loaded documents when `code` parameter is omitted
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- Unused-definition rule narrowed to PartDef/ActionDef, excludes types with base types, promoted from Hint to Warning, now workspace-scoped
|
|
32
|
+
- Grammar updated to OMG "2026-02 - SysML v2 Release" — removed local `end <keyword>` patch in favour of upstream `endFeatureUsage` rule
|
|
33
|
+
- MCP non-visual tools annotated with explicit "NOT Visualization" routing guidance
|
|
34
|
+
- MCP preview response stripped to minimal render data (mermaidMarkup + title)
|
|
35
|
+
- MCP tool routing guidance and aliases expanded for diagnostics, validation, and file-focused preview requests
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- Semantic validator signal quality: reduced specialization false positives and downgraded low-value unused-definition reports to warnings
|
|
40
|
+
- Document-close diagnostics race: pending validation timers are cancelled and diagnostics publishing is guarded for closed documents
|
|
41
|
+
|
|
3
42
|
## [0.6.0]
|
|
4
43
|
|
|
5
44
|
### Added
|
package/README.md
CHANGED
|
@@ -128,27 +128,29 @@ sysml-v2-lsp/
|
|
|
128
128
|
```bash
|
|
129
129
|
make help # Show all targets
|
|
130
130
|
make install # Install all dependencies
|
|
131
|
-
make
|
|
132
|
-
make build # Compile + bundle
|
|
131
|
+
make build # Generate parser + compile + bundle
|
|
133
132
|
make watch # Watch mode
|
|
134
133
|
make test # Run unit tests
|
|
135
134
|
make lint # ESLint
|
|
136
135
|
make package # Build .vsix
|
|
137
136
|
make package-server # Build server tarball for npm
|
|
138
137
|
make web # Launch web client (http://localhost:3000)
|
|
139
|
-
make update-grammar # Pull latest grammar
|
|
138
|
+
make update-grammar # Pull latest grammar, rebuild parser + DFA snapshot
|
|
140
139
|
make update-library # Pull latest SysML v2 standard library
|
|
140
|
+
make dfa # Regenerate DFA snapshot (after any grammar change)
|
|
141
141
|
make ci # Full CI pipeline (lint + build + test)
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
## Grammar Updates
|
|
145
145
|
|
|
146
|
-
The grammar files in `grammar/` are sourced from [daltskin/sysml-v2-grammar](https://github.com/daltskin/sysml-v2-grammar). To pull the latest version:
|
|
146
|
+
The grammar files in `grammar/` are sourced from [daltskin/sysml-v2-grammar](https://github.com/daltskin/sysml-v2-grammar). To pull the latest version, rebuild the parser, and regenerate the DFA snapshot:
|
|
147
147
|
|
|
148
148
|
```bash
|
|
149
149
|
make update-grammar
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
+
This fetches the `.g4` files, runs `npm run build`, and regenerates the DFA snapshot that eliminates the ANTLR4 cold-start penalty. If you edit grammar files manually, run `make dfa` afterwards.
|
|
153
|
+
|
|
152
154
|
## Technology Stack
|
|
153
155
|
|
|
154
156
|
| Component | Technology |
|