@openmbee/sysml-mcp-linux-arm64 0.0.0-stage → 0.11.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/LICENSE ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright 2026 Open-MBEE
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
- # Temporary Holding Version
1
+ # @openmbee/sysml-mcp-linux-arm64
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ sysml-mcp Model Context Protocol server binary for linux-arm64. Installed as an
4
+ optional dependency of [`@openmbee/sysml-mcp`](https://www.npmjs.com/package/@openmbee/sysml-mcp);
5
+ there is nothing to import here.
6
+
7
+ SHA-256 of `bin/sysml-mcp`: `e4e18c4a7cbacad32a930f9353f315dddd48e0293cdbb08442662d85792cccff`
package/bin/sysml-mcp ADDED
@@ -0,0 +1,4 @@
1
+ [diffend] Oversized file quarantined before diffing.
2
+ name: package/bin/sysml-mcp
3
+ size: 52232376 bytes
4
+ sha256: e4e18c4a7cbacad32a930f9353f315dddd48e0293cdbb08442662d85792cccff
package/package.json CHANGED
@@ -1,6 +1,23 @@
1
1
  {
2
2
  "name": "@openmbee/sysml-mcp-linux-arm64",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.11.0",
4
+ "description": "sysml-mcp Model Context Protocol server binary for linux-arm64",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Open-MBEE/OpenSysML.git",
9
+ "directory": "packaging/npm/sysml-mcp"
10
+ },
11
+ "os": [
12
+ "linux"
13
+ ],
14
+ "cpu": [
15
+ "arm64"
16
+ ],
17
+ "files": [
18
+ "bin",
19
+ "LICENSE",
20
+ "share",
21
+ "README.md"
22
+ ]
23
+ }
@@ -0,0 +1,610 @@
1
+ .\" Generated by "sysml-mcp -man"; edit the description in the command's usage.go.
2
+ .TH SYSML-MCP 1 "2026-08-30" "OpenSysML" "OpenSysML Manual"
3
+ .SH NAME
4
+ sysml\-mcp \- Model Context Protocol server for SysML v2 and KerML
5
+ .SH SYNOPSIS
6
+ .B sysml\-mcp
7
+ [options]
8
+ .br
9
+ .B sysml\-mcp
10
+ \-http ADDR [options]
11
+ .SH DESCRIPTION
12
+ sysml\-mcp serves OpenSysML to coding agents over the Model Context Protocol,
13
+ as tools an agent calls: the language server's diagnostics, navigation,
14
+ editing and rendering over the model documents under the workspace root; the
15
+ runtime's one\-shot parsing, evaluation, instantiation, execution,
16
+ verification, querying and conversion; and named REPL sessions whose
17
+ declarations, instances and runs persist across calls; the protocol is spoken
18
+ over stdin/stdout, so an agent host starts this server rather than a shell, or
19
+ over Streamable HTTP at the address \-http names.
20
+ .PP
21
+ The documents under the root are managed as one workspace, so a declaration in
22
+ one resolves against the others, and the standard library is the copy embedded
23
+ in this binary unless OPENSYSML_LIBRARY_PATH names another.
24
+ .SH OPTIONS
25
+ .TP
26
+ .BI \-allow\-origin " string"
27
+ Origins, comma\-separated as scheme://host[:port], granted cross\-origin
28
+ access to the HTTP transport (the CORS headers and preflight answer a browser
29
+ needs); loopback origins and requests with no Origin header are admitted
30
+ without a grant, any other origin is refused
31
+ .TP
32
+ .BI \-cache\-size " int"
33
+ Maximum number of parsed models the runtime tools hold; at least 1. The
34
+ default is 100.
35
+ .TP
36
+ .B \-h
37
+ Show this help (shorthand)
38
+ .TP
39
+ .B \-help
40
+ Show this help and exit
41
+ .TP
42
+ .BI \-http " string"
43
+ Serve over Streamable HTTP at the path /mcp of this address instead of
44
+ stdin/stdout, as host:port or a port alone, which binds loopback; every client
45
+ shares the one workspace, runtime cache and set of REPL sessions. An address
46
+ other machines reach is served only with a bearer token (\-token\-file,
47
+ \-token or OPENSYSML_MCP_TOKEN)
48
+ .TP
49
+ .BI \-log\-level " string"
50
+ Lowest level logged to stderr: debug, info, warn or error. The default is
51
+ warn.
52
+ .TP
53
+ .B \-man
54
+ Write this command's manual page, in roff, to stdout and exit
55
+ .TP
56
+ .B \-no\-record\-cache
57
+ Parse every document and hold it loaded, reading no interface record from the
58
+ record cache and writing none; default off, or OPENSYSML_RECORD_CACHE=0
59
+ .TP
60
+ .B \-print\-config
61
+ Write the configuration block declaring this server to an agent host \(em
62
+ opencode, claude\-code, cursor, codex, vscode, gemini, devin \(em to stdout
63
+ and exit; alone, list the hosts
64
+ .TP
65
+ .BI \-print\-config\-command " string"
66
+ Command the \-print\-config block names instead of this binary's absolute
67
+ path, such as sysml\-mcp when it is on PATH
68
+ .TP
69
+ .B \-print\-config\-npx
70
+ Make the \-print\-config block start the server as npx \-y
71
+ @openmbee/sysml\-mcp, which npm installs on first use, instead of naming this
72
+ binary
73
+ .TP
74
+ .BI \-public\-url " string"
75
+ URL clients reach the HTTP transport at when a proxy in front terminates TLS
76
+ or rewrites the path, as https://models.example.org/mcp (a plain path, no
77
+ query); named as the protected resource and in the bearer challenge, and by
78
+ the \-print\-config block; default each request's own scheme and Host
79
+ .TP
80
+ .BI \-root " string"
81
+ Workspace folder whose model documents the server indexes and edits; default
82
+ the current directory, which an agent host sets to the project. The default is
83
+ \&..
84
+ .TP
85
+ .B \-stdio
86
+ Serve over stdin/stdout (the default transport; accepted for hosts that name
87
+ it; not with \-http)
88
+ .TP
89
+ .B \-strict
90
+ Serve strict conformance from the start: notation no pinned SysML v2
91
+ production admits is an error
92
+ .TP
93
+ .BI \-tls\-cert " string"
94
+ TLS certificate file for the HTTP transport; with \-tls\-key, the transport
95
+ serves https
96
+ .TP
97
+ .BI \-tls\-key " string"
98
+ TLS private key file for the HTTP transport
99
+ .TP
100
+ .BI \-token " string"
101
+ The bearer token itself, for a shell whose command line is private;
102
+ \-token\-file keeps it out of the process list, and OPENSYSML_MCP_TOKEN is
103
+ read when neither flag names one
104
+ .TP
105
+ .BI \-token\-file " string"
106
+ File holding the bearer token every HTTP request must carry as Authorization:
107
+ Bearer TOKEN (a trailing line break is not part of it); required for an
108
+ address other machines reach, enforced on loopback too when given
109
+ .TP
110
+ .BI \-tools " string"
111
+ Tool groups to serve, comma\-separated: lsp (diagnostics, navigation, editing,
112
+ rendering), runtime (one\-shot evaluation, execution, verification,
113
+ conversion), session (persistent REPL sessions); default all. The default is
114
+ all.
115
+ .TP
116
+ .B \-v
117
+ Show version (shorthand)
118
+ .TP
119
+ .B \-version
120
+ Show version information
121
+ .SH STARTING THE SERVER
122
+ .RS 2
123
+ .nf
124
+ # What an agent host runs, in the project directory
125
+ sysml\-mcp
126
+ # Serve the models under another folder
127
+ sysml\-mcp \-root models
128
+ # Serve without persistent sessions
129
+ sysml\-mcp \-tools lsp,runtime
130
+ .fi
131
+ .RE
132
+ .PP
133
+ An agent host declares the server in its configuration, as {"mcp": {"sysml":
134
+ {"type": "local", "command": ["sysml\-mcp"]}}} in OpenCode's opencode.json,
135
+ and starts it with the project as the working directory.
136
+ .SH TRANSPORTS
137
+ Without \-http the protocol is spoken over stdin and stdout: the host starts
138
+ the server, which serves that one client and exits when the stream closes.
139
+ With \-http the server is started once and serves every client that connects
140
+ to its address over the Streamable HTTP transport, at the path /mcp, until it
141
+ is told to stop with SIGINT or SIGTERM; stopping closes the sessions and waits
142
+ up to 30 seconds for the connections to drain. The clients share one
143
+ workspace, one runtime cache and one set of REPL sessions, so a session_* name
144
+ opened by one is the session every other sees under that name.
145
+ .PP
146
+ .RS 2
147
+ .nf
148
+ sysml\-mcp \-http 8765 # Serve http://localhost:8765/mcp to this machine
149
+ # Serve every interface over https to clients that hold the token
150
+ sysml\-mcp \-http 0.0.0.0:8765 \-token\-file mcp.token \-tls\-cert \e
151
+ server.crt \-tls\-key server.key
152
+ # Answer one browser origin besides loopback
153
+ sysml\-mcp \-http 0.0.0.0:8765 \-token\-file mcp.token \-allow\-origin \e
154
+ https://agents.example.org
155
+ # Serve loopback behind a proxy that terminates TLS at that URL
156
+ sysml\-mcp \-http 8765 \-token\-file mcp.token \-public\-url \e
157
+ https://models.example.org/mcp
158
+ .fi
159
+ .RE
160
+ .PP
161
+ An address with no host, or a port alone, binds loopback, which only this
162
+ machine reaches, and is served as it is. Any other address is served only with
163
+ a bearer token, named by \-token\-file, \-token or OPENSYSML_MCP_TOKEN: the
164
+ server is an OAuth 2.1 resource server in the minimal form, with one token
165
+ issued by whoever runs it, so every request must carry Authorization: Bearer
166
+ TOKEN, and one that does not is refused with 401 and a WWW\-Authenticate
167
+ challenge naming the resource metadata at
168
+ /.well\-known/oauth\-protected\-resource/mcp, both naming the endpoint as the
169
+ request reached it, or as \-public\-url says when a proxy in front terminates
170
+ TLS. Starting on such an address with no token is refused. A token given for a
171
+ loopback address is enforced the same way. The token is letters, digits and
172
+ \-._~+/ (RFC 6750), is never logged, and is best generated, as by openssl rand
173
+ \-base64 32, and kept in a file only the server's user reads. \-tls\-cert and
174
+ \-tls\-key, both given, serve https, which a token sent over a network needs;
175
+ one without the other is refused.
176
+ .PP
177
+ A request is answered when its Origin header is absent, names a loopback
178
+ origin (localhost, 127.0.0.0/8 or ::1 over any scheme and port) or names an
179
+ origin listed in \-allow\-origin exactly; any other origin is refused with
180
+ 403, which keeps a page on another site from reaching the server through a DNS
181
+ name rebound to this machine. The wildcard origin is not accepted. A request
182
+ whose MCP\-Protocol\-Version header names a version the server does not speak
183
+ is refused with 400.
184
+ .SH CONFIGURING A HOST
185
+ \-print\-config writes the block a host reads, naming this binary by its
186
+ absolute path so the host finds it wherever it was installed;
187
+ \-print\-config\-command names another command instead, such as sysml\-mcp
188
+ when it is on PATH, and \-print\-config\-npx names npx \-y
189
+ @openmbee/sysml\-mcp, which installs the release binary for the host's
190
+ platform from npm on first use, so a machine with Node needs nothing else.
191
+ With \-http (and \-tls\-cert for https) the block names the URL of a server
192
+ already serving that address instead, and with its token (\-token\-file,
193
+ \-token or OPENSYSML_MCP_TOKEN) the Authorization header the host sends,
194
+ written in clear, so such a block belongs in a file the host reads privately,
195
+ not in version control; every host reads the URL form. The hosts, with the
196
+ file each reads, are opencode (opencode.json), claude\-code (.mcp.json),
197
+ cursor (.cursor/mcp.json), codex (~/.codex/config.toml), vscode
198
+ (.vscode/mcp.json), gemini (.gemini/settings.json), devin (Customize > MCPs >
199
+ Add custom MCP).
200
+ .PP
201
+ .RS 2
202
+ .nf
203
+ # List the hosts
204
+ sysml\-mcp \-print\-config
205
+ # The mcp block of opencode.json
206
+ sysml\-mcp \-print\-config opencode
207
+ # Append the [mcp_servers.sysml] table
208
+ sysml\-mcp \-print\-config codex >> ~/.codex/config.toml
209
+ # A block that finds the server on PATH
210
+ sysml\-mcp \-print\-config cursor \-print\-config\-command sysml\-mcp
211
+ # A block that runs the server from npm
212
+ sysml\-mcp \-print\-config vscode \-print\-config\-npx
213
+ # A block reaching http://localhost:8765/mcp
214
+ sysml\-mcp \-print\-config vscode \-http 8765
215
+ # A block reaching a remote server with its token
216
+ sysml\-mcp \-print\-config cursor \-http models.example.org:8443 \e
217
+ \-tls\-cert server.crt \-tls\-key server.key \-token\-file mcp.token
218
+ .fi
219
+ .RE
220
+ .SH TOOLS
221
+ The tools, by the group that serves them (\-tools), each with the sysml\-grpc
222
+ RPC or sysml flag it stands for. The tool_catalog tool answers this list to
223
+ the client, narrowed to the groups served.
224
+ .TP
225
+ .B tool_catalog
226
+ every group: List the tools this server serves, each with the RPC or sysml
227
+ flag it stands for.
228
+ .TP
229
+ .B apply_model_edit
230
+ lsp: Edit a model by operations on its elements (setValue, rename, addMember,
231
+ delete, move, ...) and answer the text edits; write them with apply.
232
+ .TP
233
+ .B close_document
234
+ lsp: Release a document held open by open_document; the server reads the file
235
+ on disk again.
236
+ .TP
237
+ .B code_actions
238
+ lsp: List the quick fixes and refactorings available for a range of a
239
+ document, each with its edits.
240
+ .TP
241
+ .B completion
242
+ lsp: Propose completions at a position: keywords, names in scope and members
243
+ of the accessed type.
244
+ .TP
245
+ .B definition
246
+ lsp: Find where the name at a position is declared.
247
+ .TP
248
+ .B document_symbols
249
+ lsp: Outline a document: the elements it declares, nested as they are owned.
250
+ .TP
251
+ .B documents
252
+ lsp: List the document definitions declared across the workspace.
253
+ .TP
254
+ .B format
255
+ lsp: Format a document, or a range of it, in the canonical style; write the
256
+ file with apply.
257
+ .TP
258
+ .B hover
259
+ lsp: Explain the element at a position: kind, qualified name, type, value and
260
+ documentation.
261
+ .TP
262
+ .B inlay_hints
263
+ lsp: List the inferred types and values an editor would show inline for a
264
+ document or range.
265
+ .TP
266
+ .B open_document
267
+ lsp: Hold a document open with the given text, analyzed instead of the file on
268
+ disk.
269
+ .TP
270
+ .B references
271
+ lsp: Find every place in the workspace that refers to the element at a
272
+ position.
273
+ .TP
274
+ .B rename
275
+ lsp: Rename the element at a position everywhere in the workspace; write the
276
+ files with apply.
277
+ .TP
278
+ .B render_document
279
+ lsp: Render a document definition of the workspace to Markdown, its queries
280
+ evaluated and its diagrams embedded.
281
+ .TP
282
+ .B render_view
283
+ lsp: Render a declared view or pseudo\-view of a workspace document as
284
+ Mermaid, dot, PlantUML, D2, text or a table.
285
+ .TP
286
+ .B signature_help
287
+ lsp: Describe the invocation enclosing a position: its parameters and the
288
+ active one.
289
+ .TP
290
+ .B update_document
291
+ lsp: Replace the text of a document held open by open_document and answer the
292
+ diagnostics of the new text.
293
+ .TP
294
+ .B views
295
+ lsp: List the views a document declares and the pseudo\-views render_view can
296
+ draw of it.
297
+ .TP
298
+ .B workspace_diagnostics
299
+ lsp: List the errors, warnings and hints of one workspace document or of the
300
+ whole workspace.
301
+ .TP
302
+ .B workspace_info
303
+ lsp: Describe the workspace root and the documents it holds, with their
304
+ diagnostic counts.
305
+ .TP
306
+ .B workspace_symbols
307
+ lsp: Search the workspace's declared elements by name substring.
308
+ .TP
309
+ .B apply_edits
310
+ runtime: Apply workspace edits to a parsed model and answer the edited
311
+ documents (rpc ApplyEdits).
312
+ .TP
313
+ .B compare_results
314
+ runtime: Run the configurations a SysML v1 tool's results index and table the
315
+ tool's distributions beside the runs' (rpc CompareResults, sysml
316
+ \-compare\-results).
317
+ .TP
318
+ .B convert
319
+ runtime: Convert a model between the textual notation, JSON, RDF and XMI (rpc
320
+ Convert, sysml \-convert, sysml \-from, sysml \-id).
321
+ .TP
322
+ .B diagnostics
323
+ runtime: Report every diagnostic of a parsed model, as sysml \-validate does
324
+ (rpc GetDiagnostics, sysml \-validate, sysml \-disable\-lint, sysml
325
+ \-enable\-lint).
326
+ .TP
327
+ .B explain_diagnostic
328
+ runtime: Explain a diagnostic code, or list every code with its summary (sysml
329
+ \-explain).
330
+ .TP
331
+ .B evaluate
332
+ runtime: Evaluate an expression against a parsed model (rpc Evaluate, sysml
333
+ \-eval).
334
+ .TP
335
+ .B evaluate_calc
336
+ runtime: Evaluate a calculation definition or usage (rpc EvaluateCalc, sysml
337
+ \-calc).
338
+ .TP
339
+ .B execute_action
340
+ runtime: Execute an action with bound inputs and report its outputs (rpc
341
+ ExecuteAction, sysml \-action, sysml \-schedule, sysml \-advance, sysml
342
+ \-seed, sysml \-draws, sysml \-clock\-step).
343
+ .TP
344
+ .B execute_state
345
+ runtime: Run a state machine over a sequence of events and report the trace
346
+ (rpc ExecuteState, sysml \-state).
347
+ .TP
348
+ .B export_graphs
349
+ runtime: Export the lowered action and state graphs of a model (rpc
350
+ ExportGraphs, sysml \-graphs).
351
+ .TP
352
+ .B import_data
353
+ runtime: Set the feature values a CSV, TSV, JSON or JSON Lines file assigns,
354
+ one row per element (rpc ImportData, sysml \-import, sysml \-import\-as, sysml
355
+ \-import\-map, sysml \-import\-format, sysml \-import\-dry\-run).
356
+ .TP
357
+ .B instantiate
358
+ runtime: Instantiate a definition or usage and report the object's feature
359
+ values (rpc Instantiate, sysml \-instantiate).
360
+ .TP
361
+ .B list_engines
362
+ runtime: List the analysis engines and whether each is ready (rpc ListEngines,
363
+ sysml \-engines, sysml \-probe).
364
+ .TP
365
+ .B migrate
366
+ runtime: Migrate a SysML v1 model to SysML v2 and report what moved (rpc
367
+ Migrate, sysml \-migrate, sysml \-migration\-report, sysml
368
+ \-migration\-results, sysml \-layout, sysml \-image\-base\-url).
369
+ .TP
370
+ .B parse
371
+ runtime: Parse files or inline sources and answer the roots, diagnostics and a
372
+ model hash (rpc ParseFile, rpc ParseSources, sysml \-strict).
373
+ .TP
374
+ .B query
375
+ runtime: Run an OSLC query against a parsed model (rpc Query, sysml \-query).
376
+ .TP
377
+ .B render_model_document
378
+ runtime: Render a document definition as Markdown or HTML (rpc RenderDocument,
379
+ sysml \-render\-document, sysml \-doc\-form).
380
+ .TP
381
+ .B record_run
382
+ runtime: Run an analysis case and record the runs into the model as
383
+ AnalysisRecords declarations (rpc RecordRun, sysml \-record\-run, sysml
384
+ \-record\-into).
385
+ .TP
386
+ .B render_model_view
387
+ runtime: Render a view as its nodes, edges and compartments (rpc RenderView,
388
+ sysml \-render, sysml \-render\-ports, sysml \-render\-show, sysml
389
+ \-render\-depth, sysml \-render\-compartments).
390
+ .TP
391
+ .B check_behavior
392
+ runtime: Search every schedule of an action or state machine for violated
393
+ properties, deadlocks, failures and divergent values (rpc CheckBehavior, sysml
394
+ \-check\-property, sysml \-check\-diverge, sysml \-check\-input, sysml
395
+ \-check\-assume, sysml \-check\-witness, sysml \-check\-depth, sysml
396
+ \-check\-states, sysml \-check\-unroll, sysml \-check\-timeout).
397
+ .TP
398
+ .B run_analysis
399
+ runtime: Run an analysis case and report its result (rpc RunAnalysis, sysml
400
+ \-analysis, sysml \-engine, sysml \-tool\-dry\-run).
401
+ .TP
402
+ .B run_document_query
403
+ runtime: Run a document query definition and report its rows (rpc
404
+ RunDocumentQuery, sysml \-run\-query).
405
+ .TP
406
+ .B run_runs
407
+ runtime: Run an action or a Monte Carlo case repeatedly and table what the
408
+ runs observed (rpc RunRuns, sysml \-runs, sysml \-observe).
409
+ .TP
410
+ .B run_sweep
411
+ runtime: Run an analysis case over ranges of its parameters (rpc RunSweep,
412
+ sysml \-sweep, sysml \-samples).
413
+ .TP
414
+ .B self_check
415
+ runtime: Apply the reflective SysMLValidation constraints to every element of
416
+ a model (rpc SelfCheck, sysml \-self\-check, sysml \-self\-check\-package).
417
+ .TP
418
+ .B server_info
419
+ runtime: Report the service version and the capabilities it serves (rpc
420
+ GetServerInfo).
421
+ .TP
422
+ .B symbol
423
+ runtime: Describe one element of a parsed model (rpc GetSymbol).
424
+ .TP
425
+ .B validate_instance
426
+ runtime: Validate an instantiated object against its definition, as sysml
427
+ \-validate=<object> does (rpc ValidateInstance).
428
+ .TP
429
+ .B verify_constraint
430
+ runtime: Verify a constraint and answer the verdict (rpc VerifyConstraint,
431
+ sysml \-constraint).
432
+ .TP
433
+ .B verify_requirement
434
+ runtime: Verify a requirement and answer the verdict (rpc VerifyRequirement,
435
+ sysml \-requirement).
436
+ .TP
437
+ .B verify_satisfaction
438
+ runtime: Verify a satisfy relationship and answer the verdict (rpc
439
+ VerifySatisfaction, sysml \-satisfy).
440
+ .TP
441
+ .B advance
442
+ session: Advance the debugged state machine's clock by a duration, firing the
443
+ timed transitions due.
444
+ .TP
445
+ .B check
446
+ session: Check with the SMT solver whether an element's constraints are
447
+ satisfiable.
448
+ .TP
449
+ .B configure
450
+ session: Choose variant selections for a variation model, or enumerate every
451
+ valid configuration.
452
+ .TP
453
+ .B debug_breakpoints
454
+ session: List, set or clear the breakpoints of the debugged action.
455
+ .TP
456
+ .B debug_continue
457
+ session: Run the debugged action or state machine on to its next breakpoint or
458
+ its end.
459
+ .TP
460
+ .B debug_current
461
+ session: Report the debugger's state: the action's tokens and breakpoints, or
462
+ the machine's state, clock and event queue.
463
+ .TP
464
+ .B debug_start
465
+ session: Start debugging an action or a state machine by qualified name.
466
+ .TP
467
+ .B debug_step
468
+ session: Step the debugged action or state machine once.
469
+ .TP
470
+ .B debug_stop
471
+ session: Stop debugging and discard the debugged executors.
472
+ .TP
473
+ .B explain
474
+ session: Explain why an element's constraints are unsatisfiable, naming the
475
+ conflicting ones.
476
+ .TP
477
+ .B features
478
+ session: List a runtime instance's feature values, with its object graph.
479
+ .TP
480
+ .B instances
481
+ session: List the runtime instances the session holds.
482
+ .TP
483
+ .B optimize
484
+ session: Optimize an analysis case's objective with the solver and answer the
485
+ optimum.
486
+ .TP
487
+ .B render_run
488
+ session: Render a run's trace as a timeline or a sequence diagram.
489
+ .TP
490
+ .B repl_command
491
+ session: Run one % meta command of the REPL and answer its output lines.
492
+ .TP
493
+ .B runs
494
+ session: Run an action repeatedly, or a Monte Carlo case, and table the
495
+ outcomes.
496
+ .TP
497
+ .B send
498
+ session: Send a signal to the debugged state machine.
499
+ .TP
500
+ .B session_clear
501
+ session: Clear a session's declarations, instances and debuggers.
502
+ .TP
503
+ .B session_close
504
+ session: Close an open REPL session.
505
+ .TP
506
+ .B session_eval
507
+ session: Evaluate an expression in a session and answer its value.
508
+ .TP
509
+ .B session_list
510
+ session: List the open REPL sessions.
511
+ .TP
512
+ .B session_load
513
+ session: Load model files under the workspace root into a session and answer
514
+ the diagnostics.
515
+ .TP
516
+ .B session_open
517
+ session: Open a REPL session over a workspace and answer its id.
518
+ .TP
519
+ .B session_print
520
+ session: Print a session's declarations back as SysML notation.
521
+ .TP
522
+ .B session_run
523
+ session: Run an action, state machine, calculation or analysis case in a
524
+ session and answer the verdict.
525
+ .TP
526
+ .B session_save
527
+ session: Preview a session's model as a file under the workspace root, or
528
+ write it with apply.
529
+ .TP
530
+ .B session_submit
531
+ session: Submit declarations to a session and answer what was declared and the
532
+ diagnostics.
533
+ .TP
534
+ .B solve
535
+ session: Synthesize feature values satisfying an element's constraints with
536
+ the solver.
537
+ .TP
538
+ .B sweep
539
+ session: Sweep a calculation over a range or sampled values and table the
540
+ results.
541
+ .SH EXIT STATUS
542
+ The status reports how the session ended:
543
+ .TP
544
+ .B 0
545
+ The protocol was served to its end: the client closed the stream, or the
546
+ process was told to stop.
547
+ .TP
548
+ .B 1
549
+ The server could not start, as when the \-http address is in use, or the
550
+ session ended in a protocol error.
551
+ .TP
552
+ .B 2
553
+ The command line could not be acted on.
554
+ .SH ENVIRONMENT
555
+ .TP
556
+ .B OPENSYSML_LIBRARY_PATH
557
+ Directory to load the SysML/KerML standard library from, instead of the copy
558
+ embedded in the binary.
559
+ .TP
560
+ .B OPENSYSML_LIBRARY_ROOTS
561
+ Directories, separated as PATH is, to look for installed projects under when a
562
+ loaded file belongs to a project (a directory holding .project.json), besides
563
+ the project's own well\-known library directory (.sysand/lib).
564
+ .TP
565
+ .B OPENSYSML_MAX_STEPS
566
+ Expression evaluations one run may spend before it is reported as a runaway.
567
+ Default 10000000.
568
+ .TP
569
+ .B OPENSYSML_MAX_ACTION_STEPS
570
+ Token\-flow steps one action run may perform. Default 1000000.
571
+ .TP
572
+ .B OPENSYSML_MAX_EVENTS
573
+ Events one state machine run may dispatch. Default 1000000.
574
+ .TP
575
+ .B OPENSYSML_MAX_DO_STEPS
576
+ Do actions one state machine run may perform. Default 5000000.
577
+ .TP
578
+ .B OPENSYSML_MAX_ELEMENTS
579
+ Collection elements one evaluation may hold, which bounds the memory a run
580
+ holds rather than the work it does. Default 1000000.
581
+ .TP
582
+ .B OPENSYSML_MAX_CALC_DEPTH
583
+ Nested calc invocations one run may hold on the stack, which is what a
584
+ recursion spends. Default 10000, ceiling 25000.
585
+ .TP
586
+ .B OPENSYSML_MAX_SWEEP_RUNS
587
+ Runs one parameter sweep or sample may make, each a whole analysis or calc run
588
+ of its own with its own budgets. Default 1000.
589
+ .TP
590
+ .B OPENSYSML_MAX_INTEGER_BITS
591
+ Bits the magnitude of one Integer a run computes may take; Integers are
592
+ otherwise unbounded, and a result past it, such as a large power, is refused
593
+ before it is computed. At least 64, so every machine\-word Integer fits;
594
+ default 1048576.
595
+ .PP
596
+ Each variable above also answers to its legacy SYSML_\-prefixed name
597
+ (SYSML_MAX_STEPS for OPENSYSML_MAX_STEPS, and so on), which remains accepted.
598
+ When both are set and the OPENSYSML_ value is non\-empty, the OPENSYSML_ value
599
+ wins; setting only the legacy name prints a one\-time deprecation warning on
600
+ standard error.
601
+ .PP
602
+ A budget bounds one run \(em one evaluation, one instantiation, one calc
603
+ invocation, one action, one state machine \(em not a whole session, so a long
604
+ session of small operations never exhausts one. A run started inside another
605
+ shares the outer run's budget.
606
+ .SH REPORTING BUGS
607
+ Report bugs at https://github.com/Open\-MBEE/OpenSysML/issues.
608
+ .SH SEE ALSO
609
+ sysml(1), sysml\-lsp(1), sysml\-grpc(1),
610
+ https://github.com/Open\-MBEE/OpenSysML