@mlightcad/cad-mcp-server 1.7.8-preview.5 → 1.7.8
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 +21 -21
- package/README.md +217 -216
- package/dist/catalogTools.d.ts +1 -1
- package/dist/catalogTools.js +2 -2
- package/dist/catalogTools.js.map +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/session.js +1 -1
- package/dist/session.js.map +1 -1
- package/dist/toolResult.d.ts +2 -2
- package/dist/toolResult.js +1 -1
- package/dist-runner/assets/{index-0HpPU7Px.js → index-NTanuhWU.js} +399 -398
- package/dist-runner/index.html +12 -12
- package/dist-runner/workers/mtext-renderer-worker.js +1208 -1178
- package/package.json +7 -6
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 mlightcad
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 mlightcad
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,216 +1,217 @@
|
|
|
1
|
-
# @mlightcad/cad-mcp-server
|
|
2
|
-
|
|
3
|
-
stdio [Model Context Protocol](https://modelcontextprotocol.io) server that lets
|
|
4
|
-
third-party agents (Claude Code, Cursor, Codex, …) drive CAD drawings through
|
|
5
|
-
the same **script-first** API as the in-app CAD Agent.
|
|
6
|
-
|
|
7
|
-
## Why scripts, not hundreds of tools?
|
|
8
|
-
|
|
9
|
-
MCP is a great way to connect agents to CAD. It is a poor place to re-export
|
|
10
|
-
every drawing primitive as its own tool. A catalog of `draw_line`,
|
|
11
|
-
`draw_circle`, `set_entity_layer`, … never finishes, burns tokens on every
|
|
12
|
-
request, and still cannot cover one-off analysis (“find bolt-hole outliers by
|
|
13
|
-
layer and report them”).
|
|
14
|
-
|
|
15
|
-
This server follows the design in
|
|
16
|
-
[Building a CAD Agent: MCP, Tools, or Let AI Write Code?](https://dev.to/mlightcad/building-a-cad-agent-mcp-tools-or-let-ai-write-code-2nc4):
|
|
17
|
-
|
|
18
|
-
- **Tools** for clear lifecycle steps (open / blank drawing)
|
|
19
|
-
- **Scripts** for combining the CAD API into analysis, edits, and verification
|
|
20
|
-
|
|
21
|
-
The model writes a `cad.*` function body; the Chromium viewer runs it (headless
|
|
22
|
-
or with a visible window). Same runtime as the in-app CAD Agent
|
|
23
|
-
(`@mlightcad/cad-agent-core`), so external agents get flexibility without a
|
|
24
|
-
ballooning tool list — and with lower token and round-trip cost for bulk work.
|
|
25
|
-
|
|
26
|
-
## Tools (intentionally small)
|
|
27
|
-
|
|
28
|
-
| Tool | Purpose |
|
|
29
|
-
| --- | --- |
|
|
30
|
-
| `open_drawing` | Open a local/remote DXF/DWG, or omit `path` for a blank ISO template |
|
|
31
|
-
| `execute_cad_script` | Run a `cad.*` JavaScript function body ([script API](https://mlightcad.github.io/cad-viewer/guide/script/overview.html)) |
|
|
32
|
-
|
|
33
|
-
Both tools accept optional `visible`:
|
|
34
|
-
|
|
35
|
-
| `visible` | Browser | Session lifecycle |
|
|
36
|
-
| --- | --- | --- |
|
|
37
|
-
| `false` / omit | Headless Chromium | Reused across tool calls; **auto-closes after idle** (default 30s) |
|
|
38
|
-
| `true` | Visible Chromium window | Stays open so the user can watch the drawing |
|
|
39
|
-
|
|
40
|
-
The agent chooses based on the user prompt (e.g. “open the browser so I can
|
|
41
|
-
see the drawing” → `visible: true`; batch QA → headless). Changing `visible`
|
|
42
|
-
after a session started rebuilds the browser and **resets drawing state**.
|
|
43
|
-
|
|
44
|
-
There are **no** per-entity `draw_line` / `draw_circle` tools. All drawing,
|
|
45
|
-
queries, edits, and context live inside one script call.
|
|
46
|
-
|
|
47
|
-
## Works with cad-simple-viewer and cad-viewer
|
|
48
|
-
|
|
49
|
-
Both products share `AcApDocManager` from `@mlightcad/cad-simple-viewer`. This
|
|
50
|
-
server’s runner boots that kernel (not the Vue UI package). Scripts you write
|
|
51
|
-
for the Script panel or CAD Agent in either product are valid here, and the
|
|
52
|
-
reverse is true.
|
|
53
|
-
|
|
54
|
-
This package does **not** depend on `@mlightcad/cad-viewer`.
|
|
55
|
-
|
|
56
|
-
## Requirements
|
|
57
|
-
|
|
58
|
-
- Node.js ≥ 20
|
|
59
|
-
- Chromium for Playwright (`pnpm --filter @mlightcad/cad-mcp-server install-browser`)
|
|
60
|
-
|
|
61
|
-
## Install / run
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
pnpm --filter @mlightcad/cad-mcp-server build
|
|
65
|
-
pnpm --filter @mlightcad/cad-mcp-server install-browser
|
|
66
|
-
cad-mcp-server
|
|
67
|
-
# or: node packages/cad-mcp-server/dist/cli.js
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Environment variables
|
|
71
|
-
|
|
72
|
-
| Variable | Purpose |
|
|
73
|
-
| --- | --- |
|
|
74
|
-
| `CAD_MCP_VISIBLE=1` | Default headed when tools omit `visible` |
|
|
75
|
-
| `CAD_MCP_IDLE_CLOSE_MS` | Headless idle auto-close delay in ms (default `30000`) |
|
|
76
|
-
|
|
77
|
-
## MCP client config
|
|
78
|
-
|
|
79
|
-
### Cursor (this monorepo)
|
|
80
|
-
|
|
81
|
-
`npx` from the workspace root crashes npm (Arborist + workspace link). Use the
|
|
82
|
-
launcher, which runs npx from the OS temp directory:
|
|
83
|
-
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"mcpServers": {
|
|
87
|
-
"cad": {
|
|
88
|
-
"command": "node",
|
|
89
|
-
"args": [
|
|
90
|
-
"${workspaceFolder}/packages/cad-mcp-server/scripts/run-published.mjs"
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Override the pin with `CAD_MCP_SERVER_VERSION` (default `1.7.8-preview.1`).
|
|
98
|
-
|
|
99
|
-
To force a visible browser by default (agent can still pass `visible: false`):
|
|
100
|
-
|
|
101
|
-
```json
|
|
102
|
-
{
|
|
103
|
-
"mcpServers": {
|
|
104
|
-
"cad": {
|
|
105
|
-
"command": "node",
|
|
106
|
-
"args": [
|
|
107
|
-
"${workspaceFolder}/packages/cad-mcp-server/dist/cli.js"
|
|
108
|
-
],
|
|
109
|
-
"env": {
|
|
110
|
-
"CAD_MCP_VISIBLE": "1"
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Claude Code / Claude Desktop (outside this repo)
|
|
118
|
-
|
|
119
|
-
```json
|
|
120
|
-
{
|
|
121
|
-
"mcpServers": {
|
|
122
|
-
"cad": {
|
|
123
|
-
"command": "npx",
|
|
124
|
-
"args": [
|
|
125
|
-
"-y",
|
|
126
|
-
"--package=@mlightcad/cad-mcp-server@1.7.8-preview.1",
|
|
127
|
-
"cad-mcp-server"
|
|
128
|
-
]
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
For local monorepo development against an unbuilt/unpublished tree, point at
|
|
135
|
-
the built CLI instead:
|
|
136
|
-
|
|
137
|
-
```json
|
|
138
|
-
{
|
|
139
|
-
"mcpServers": {
|
|
140
|
-
"cad": {
|
|
141
|
-
"command": "node",
|
|
142
|
-
"args": [
|
|
143
|
-
"${workspaceFolder}/packages/cad-mcp-server/dist/cli.js"
|
|
144
|
-
]
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## Typical flow
|
|
151
|
-
|
|
152
|
-
1. `open_drawing` with `{ "path": "./plan.dxf", "mode": "write" }`
|
|
153
|
-
(local path or http(s) URL; omit `path` to start blank).
|
|
154
|
-
Add `"visible": true` when the user should see the drawing.
|
|
155
|
-
2. `execute_cad_script` with a function body:
|
|
156
|
-
|
|
157
|
-
```js
|
|
158
|
-
let id
|
|
159
|
-
cad.edit.transaction('circle', tx => {
|
|
160
|
-
id = tx.drawCircle({ center: { x: 0, y: 0 }, radius: 100 })
|
|
161
|
-
})
|
|
162
|
-
cad.view.zoomExtents()
|
|
163
|
-
return cad.measure.report([
|
|
164
|
-
cad.measure.check('r', 100, cad.measure.radius(id))
|
|
165
|
-
])
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
`cad.view.capturePreview` is enabled; screenshots are returned as MCP image
|
|
169
|
-
content.
|
|
170
|
-
|
|
171
|
-
Save the drawing after edits:
|
|
172
|
-
|
|
173
|
-
```js
|
|
174
|
-
cad.file.saveDxf('./plan-out.dxf')
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
The MCP server writes that path (relative to the server process working
|
|
178
|
-
directory). The DXF text is not sent back to the model; the tool result
|
|
179
|
-
includes `savedFiles` with the absolute path. In the in-app CAD agent the same
|
|
180
|
-
call downloads the file instead.
|
|
181
|
-
|
|
182
|
-
## Architecture
|
|
183
|
-
|
|
184
|
-
```
|
|
185
|
-
MCP client --stdio--> cad-mcp-server (Node)
|
|
186
|
-
|
|
|
187
|
-
| Playwright (lazy)
|
|
188
|
-
v
|
|
189
|
-
Chromium (headless or headed)
|
|
190
|
-
cad-simple-viewer + cad-agent-core
|
|
191
|
-
createCadToolCatalog / execute_cad_script
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
Headless sessions persist across tool calls until idle timeout. Headed sessions
|
|
195
|
-
stay open until the MCP process exits.
|
|
196
|
-
|
|
197
|
-
## Library API
|
|
198
|
-
|
|
199
|
-
```ts
|
|
200
|
-
import {
|
|
201
|
-
createCadMcpServer,
|
|
202
|
-
registerCadMcpTools,
|
|
203
|
-
CadMcpSession,
|
|
204
|
-
resolveVisible
|
|
205
|
-
} from '@mlightcad/cad-mcp-server'
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
`registerCadMcpTools` maps the same tool surface for a custom `McpServer`
|
|
209
|
-
(e.g. a future in-page WebMCP host that already has `AcApDocManager`).
|
|
210
|
-
|
|
211
|
-
## Related packages
|
|
212
|
-
|
|
213
|
-
- `@mlightcad/cad-
|
|
214
|
-
- `@mlightcad/cad-agent-
|
|
215
|
-
- `@mlightcad/cad-
|
|
216
|
-
- `@mlightcad/cad-
|
|
1
|
+
# @mlightcad/cad-mcp-server
|
|
2
|
+
|
|
3
|
+
stdio [Model Context Protocol](https://modelcontextprotocol.io) server that lets
|
|
4
|
+
third-party agents (Claude Code, Cursor, Codex, …) drive CAD drawings through
|
|
5
|
+
the same **script-first** API as the in-app CAD Agent.
|
|
6
|
+
|
|
7
|
+
## Why scripts, not hundreds of tools?
|
|
8
|
+
|
|
9
|
+
MCP is a great way to connect agents to CAD. It is a poor place to re-export
|
|
10
|
+
every drawing primitive as its own tool. A catalog of `draw_line`,
|
|
11
|
+
`draw_circle`, `set_entity_layer`, … never finishes, burns tokens on every
|
|
12
|
+
request, and still cannot cover one-off analysis (“find bolt-hole outliers by
|
|
13
|
+
layer and report them”).
|
|
14
|
+
|
|
15
|
+
This server follows the design in
|
|
16
|
+
[Building a CAD Agent: MCP, Tools, or Let AI Write Code?](https://dev.to/mlightcad/building-a-cad-agent-mcp-tools-or-let-ai-write-code-2nc4):
|
|
17
|
+
|
|
18
|
+
- **Tools** for clear lifecycle steps (open / blank drawing)
|
|
19
|
+
- **Scripts** for combining the CAD API into analysis, edits, and verification
|
|
20
|
+
|
|
21
|
+
The model writes a `cad.*` function body; the Chromium viewer runs it (headless
|
|
22
|
+
or with a visible window). Same runtime as the in-app CAD Agent
|
|
23
|
+
(`@mlightcad/cad-agent-core`), so external agents get flexibility without a
|
|
24
|
+
ballooning tool list — and with lower token and round-trip cost for bulk work.
|
|
25
|
+
|
|
26
|
+
## Tools (intentionally small)
|
|
27
|
+
|
|
28
|
+
| Tool | Purpose |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| `open_drawing` | Open a local/remote DXF/DWG, or omit `path` for a blank ISO template |
|
|
31
|
+
| `execute_cad_script` | Run a `cad.*` JavaScript function body ([script API](https://mlightcad.github.io/cad-viewer/guide/script/overview.html)) |
|
|
32
|
+
|
|
33
|
+
Both tools accept optional `visible`:
|
|
34
|
+
|
|
35
|
+
| `visible` | Browser | Session lifecycle |
|
|
36
|
+
| --- | --- | --- |
|
|
37
|
+
| `false` / omit | Headless Chromium | Reused across tool calls; **auto-closes after idle** (default 30s) |
|
|
38
|
+
| `true` | Visible Chromium window | Stays open so the user can watch the drawing |
|
|
39
|
+
|
|
40
|
+
The agent chooses based on the user prompt (e.g. “open the browser so I can
|
|
41
|
+
see the drawing” → `visible: true`; batch QA → headless). Changing `visible`
|
|
42
|
+
after a session started rebuilds the browser and **resets drawing state**.
|
|
43
|
+
|
|
44
|
+
There are **no** per-entity `draw_line` / `draw_circle` tools. All drawing,
|
|
45
|
+
queries, edits, and context live inside one script call.
|
|
46
|
+
|
|
47
|
+
## Works with cad-simple-viewer and cad-viewer
|
|
48
|
+
|
|
49
|
+
Both products share `AcApDocManager` from `@mlightcad/cad-simple-viewer`. This
|
|
50
|
+
server’s runner boots that kernel (not the Vue UI package). Scripts you write
|
|
51
|
+
for the Script panel or CAD Agent in either product are valid here, and the
|
|
52
|
+
reverse is true.
|
|
53
|
+
|
|
54
|
+
This package does **not** depend on `@mlightcad/cad-viewer`.
|
|
55
|
+
|
|
56
|
+
## Requirements
|
|
57
|
+
|
|
58
|
+
- Node.js ≥ 20
|
|
59
|
+
- Chromium for Playwright (`pnpm --filter @mlightcad/cad-mcp-server install-browser`)
|
|
60
|
+
|
|
61
|
+
## Install / run
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pnpm --filter @mlightcad/cad-mcp-server build
|
|
65
|
+
pnpm --filter @mlightcad/cad-mcp-server install-browser
|
|
66
|
+
cad-mcp-server
|
|
67
|
+
# or: node packages/cad-mcp-server/dist/cli.js
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Environment variables
|
|
71
|
+
|
|
72
|
+
| Variable | Purpose |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| `CAD_MCP_VISIBLE=1` | Default headed when tools omit `visible` |
|
|
75
|
+
| `CAD_MCP_IDLE_CLOSE_MS` | Headless idle auto-close delay in ms (default `30000`) |
|
|
76
|
+
|
|
77
|
+
## MCP client config
|
|
78
|
+
|
|
79
|
+
### Cursor (this monorepo)
|
|
80
|
+
|
|
81
|
+
`npx` from the workspace root crashes npm (Arborist + workspace link). Use the
|
|
82
|
+
launcher, which runs npx from the OS temp directory:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"mcpServers": {
|
|
87
|
+
"cad": {
|
|
88
|
+
"command": "node",
|
|
89
|
+
"args": [
|
|
90
|
+
"${workspaceFolder}/packages/cad-mcp-server/scripts/run-published.mjs"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Override the pin with `CAD_MCP_SERVER_VERSION` (default `1.7.8-preview.1`).
|
|
98
|
+
|
|
99
|
+
To force a visible browser by default (agent can still pass `visible: false`):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"mcpServers": {
|
|
104
|
+
"cad": {
|
|
105
|
+
"command": "node",
|
|
106
|
+
"args": [
|
|
107
|
+
"${workspaceFolder}/packages/cad-mcp-server/dist/cli.js"
|
|
108
|
+
],
|
|
109
|
+
"env": {
|
|
110
|
+
"CAD_MCP_VISIBLE": "1"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Claude Code / Claude Desktop (outside this repo)
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"mcpServers": {
|
|
122
|
+
"cad": {
|
|
123
|
+
"command": "npx",
|
|
124
|
+
"args": [
|
|
125
|
+
"-y",
|
|
126
|
+
"--package=@mlightcad/cad-mcp-server@1.7.8-preview.1",
|
|
127
|
+
"cad-mcp-server"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
For local monorepo development against an unbuilt/unpublished tree, point at
|
|
135
|
+
the built CLI instead:
|
|
136
|
+
|
|
137
|
+
```json
|
|
138
|
+
{
|
|
139
|
+
"mcpServers": {
|
|
140
|
+
"cad": {
|
|
141
|
+
"command": "node",
|
|
142
|
+
"args": [
|
|
143
|
+
"${workspaceFolder}/packages/cad-mcp-server/dist/cli.js"
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Typical flow
|
|
151
|
+
|
|
152
|
+
1. `open_drawing` with `{ "path": "./plan.dxf", "mode": "write" }`
|
|
153
|
+
(local path or http(s) URL; omit `path` to start blank).
|
|
154
|
+
Add `"visible": true` when the user should see the drawing.
|
|
155
|
+
2. `execute_cad_script` with a function body:
|
|
156
|
+
|
|
157
|
+
```js
|
|
158
|
+
let id
|
|
159
|
+
cad.edit.transaction('circle', tx => {
|
|
160
|
+
id = tx.drawCircle({ center: { x: 0, y: 0 }, radius: 100 })
|
|
161
|
+
})
|
|
162
|
+
cad.view.zoomExtents()
|
|
163
|
+
return cad.measure.report([
|
|
164
|
+
cad.measure.check('r', 100, cad.measure.radius(id))
|
|
165
|
+
])
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
`cad.view.capturePreview` is enabled; screenshots are returned as MCP image
|
|
169
|
+
content.
|
|
170
|
+
|
|
171
|
+
Save the drawing after edits:
|
|
172
|
+
|
|
173
|
+
```js
|
|
174
|
+
cad.file.saveDxf('./plan-out.dxf')
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
The MCP server writes that path (relative to the server process working
|
|
178
|
+
directory). The DXF text is not sent back to the model; the tool result
|
|
179
|
+
includes `savedFiles` with the absolute path. In the in-app CAD agent the same
|
|
180
|
+
call downloads the file instead.
|
|
181
|
+
|
|
182
|
+
## Architecture
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
MCP client --stdio--> cad-mcp-server (Node)
|
|
186
|
+
|
|
|
187
|
+
| Playwright (lazy)
|
|
188
|
+
v
|
|
189
|
+
Chromium (headless or headed)
|
|
190
|
+
cad-simple-viewer + cad-agent-core
|
|
191
|
+
createCadToolCatalog / execute_cad_script
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Headless sessions persist across tool calls until idle timeout. Headed sessions
|
|
195
|
+
stay open until the MCP process exits.
|
|
196
|
+
|
|
197
|
+
## Library API
|
|
198
|
+
|
|
199
|
+
```ts
|
|
200
|
+
import {
|
|
201
|
+
createCadMcpServer,
|
|
202
|
+
registerCadMcpTools,
|
|
203
|
+
CadMcpSession,
|
|
204
|
+
resolveVisible
|
|
205
|
+
} from '@mlightcad/cad-mcp-server'
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
`registerCadMcpTools` maps the same tool surface for a custom `McpServer`
|
|
209
|
+
(e.g. a future in-page WebMCP host that already has `AcApDocManager`).
|
|
210
|
+
|
|
211
|
+
## Related packages
|
|
212
|
+
|
|
213
|
+
- `@mlightcad/cad-script-core` — script host and tool catalog (data-model only; the Node side imports its `script-api` entry)
|
|
214
|
+
- `@mlightcad/cad-agent-core` — binds the runtime to the viewer inside the Chromium runner page
|
|
215
|
+
- `@mlightcad/cad-agent-plugin` — in-app chat agent
|
|
216
|
+
- `@mlightcad/cad-script-plugin` — manual script console
|
|
217
|
+
- `@mlightcad/cad-simple-viewer-cli` — AutoCAD `.scr` headless CLI (different script model)
|
package/dist/catalogTools.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
/**
|
|
4
4
|
* Input schema for `execute_cad_script`.
|
|
5
5
|
*
|
|
6
|
-
* Kept in sync with {@link createCadToolCatalog} in `@mlightcad/cad-
|
|
6
|
+
* Kept in sync with {@link createCadToolCatalog} in `@mlightcad/cad-script-core`
|
|
7
7
|
* (`code` first so streaming providers do not finalize on `intent` alone).
|
|
8
8
|
*/
|
|
9
9
|
export declare const executeCadScriptInputSchema: {
|
package/dist/catalogTools.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CAD_SCRIPT_API_SUMMARY } from '@mlightcad/cad-
|
|
1
|
+
import { CAD_SCRIPT_API_SUMMARY } from '@mlightcad/cad-script-core/script-api';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { toolResultToMcpContent } from './toolResult.js';
|
|
4
4
|
const visibleField = z
|
|
@@ -8,7 +8,7 @@ const visibleField = z
|
|
|
8
8
|
/**
|
|
9
9
|
* Input schema for `execute_cad_script`.
|
|
10
10
|
*
|
|
11
|
-
* Kept in sync with {@link createCadToolCatalog} in `@mlightcad/cad-
|
|
11
|
+
* Kept in sync with {@link createCadToolCatalog} in `@mlightcad/cad-script-core`
|
|
12
12
|
* (`code` first so streaming providers do not finalize on `intent` alone).
|
|
13
13
|
*/
|
|
14
14
|
export const executeCadScriptInputSchema = {
|
package/dist/catalogTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogTools.js","sourceRoot":"","sources":["../src/catalogTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"catalogTools.js","sourceRoot":"","sources":["../src/catalogTools.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ToolResult } from '@mlightcad/cad-
|
|
1
|
+
import type { ToolResult } from '@mlightcad/cad-script-core';
|
|
2
2
|
export type CadMcpOpenMode = 'read' | 'write';
|
|
3
3
|
export interface CadMcpSessionCreateOptions {
|
|
4
4
|
/** Prefer hardware GPU WebGL. Default `true`. */
|
package/dist/session.js
CHANGED
|
@@ -3,7 +3,7 @@ import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
|
3
3
|
import { createServer } from 'node:http';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
|
-
import { CAD_MCP_DXF_OUTBOX_KEY } from '@mlightcad/cad-
|
|
6
|
+
import { CAD_MCP_DXF_OUTBOX_KEY } from '@mlightcad/cad-script-core/script-api';
|
|
7
7
|
import { launchHeadlessChromium } from './headlessGpu.js';
|
|
8
8
|
const DEFAULT_IDLE_CLOSE_MS = 30_000;
|
|
9
9
|
async function writeDxfOutbox(page) {
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EACL,YAAY,EAGb,MAAM,WAAW,CAAA;AAClB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAG7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAIzD,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAuBpC,KAAK,UAAU,cAAc,CAAC,IAAU;IACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,MAA4C,CAAA;QACzD,MAAM,MAAM,GACT,IAAI,CAAC,GAAG,CAEK,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACd,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAE1B,MAAM,KAAK,GAA0B,EAAE,CAAA;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAA;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAA;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,GAAG,QAAQ,MAAM,CAAA;QACrB,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAA;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;IAChD,MAAM,KAAK,GAA2B;QACpC,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,0BAA0B;KACnC,CAAA;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAA;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiB;IAC3C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;IACjD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC/C,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,KAAK,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,KAAK,UAAU,aAAa,CAAC,GAAoB,EAAE,GAAmB;YACpE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,kBAAkB,CAChC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CACtC,CAAA;gBAED,IAAI,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBAC3C,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACvC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;wBAClB,GAAG,CAAC,GAAG,EAAE,CAAA;wBACT,OAAM;oBACR,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBACrC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;oBACvD,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;oBACxD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;oBAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACb,OAAM;gBACR,CAAC;gBAED,MAAM,QAAQ,GACZ,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAE1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;oBAClB,GAAG,CAAC,GAAG,EAAE,CAAA;oBACT,OAAM;gBACR,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;oBAClB,GAAG,CAAC,GAAG,EAAE,CAAA;oBACT,OAAM;gBACR,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACvD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACrC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAClB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;YAChC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAA;gBAClE,OAAM;YACR,CAAC;YACD,MAAM,OAAO,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAA;YAClD,OAAO,CAAC;gBACN,GAAG,EAAE,OAAO;gBACZ,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;oBAChC,MAAM,OAAO,GAAG,kBAAkB,KAAK,EAAE,CAAA;oBACzC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;oBACxC,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,CAAA;gBAC/B,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;oBACxC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;gBAChE,CAAC,CAAC;aACL,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAIL;IACA;IACA;IACR;IACQ;IAPX,SAAS,CAA2C;IAE5D,YACmB,OAAgB,EAChB,IAAU,EACV,MAAuB,EAC/B,MAAe,EACP,WAAmB;QAJnB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAM;QACV,WAAM,GAAN,MAAM,CAAiB;QAC/B,WAAM,GAAN,MAAM,CAAS;QACP,gBAAW,GAAX,WAAW,CAAQ;IACnC,CAAC;IAEI,MAAM,CAAC,QAAQ,CAAoC;IAC3D,sEAAsE;IAC9D,MAAM,CAAC,QAAQ,CAA2B;IAElD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,UAAsC,EAAE;QAExC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAA;QAEtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,QAAQ,CAAA;gBACjB,CAAC;gBACD,OAAO,CAAC,KAAK,CACX,iCAAiC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,4CAA4C,CAC5G,CAAA;gBACD,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;YACxB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;iBACjC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;gBACvB,OAAO,OAAO,CAAA;YAChB,CAAC,CAAC;iBACD,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;gBACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;gBACzB,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;QACN,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,UAAsC,EAAE;QAExC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAA;QACtC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;QACtD,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC;YACvC,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM;SACP,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC3B,OAAO,CAAC,KAAK,CACX,2BAA2B,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,MAAM,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAC9F,CAAA;QACD,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CACxC,CAAA;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACpC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvC,OAAM;YACR,CAAC;YACD,IACE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACnC,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO;gBACtB,GAAG,CAAC,IAAI,EAAE,KAAK,SAAS,EACxB,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YAC3B,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;QACzE,MAAM,IAAI,CAAC,eAAe,CACxB,GAAG,EAAE,CACH,OAAQ,MAA4C,CAAC,QAAQ;YAC7D,WAAW,CACd,CAAA;QACD,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,KAAK,CACX,kCAAkC,IAAI,CAAC,WAAW,qBAAqB,CACxE,CAAA;YACD,KAAK,IAAI,CAAC,KAAK,EAAE,CAAA;QACnB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QACpB,iEAAiE;QACjE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAA;IAC1B,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,EAAE,CAAA;YACrB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAGjB;QACC,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,CAAC,cAAc,EAAE,CAAA;QAErB,IAAI,QAAQ,GAAkB,IAAI,CAAA;QAClC,IAAI,UAAU,GAAkB,IAAI,CAAA;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;QAElC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvB,UAAU,GAAG,OAAO,CAAA;gBACpB,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;gBACnD,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAE5C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC5D,MAAM,GAAG,GACP,MAUD,CAAC,QAAQ,CAAA;gBACV,OAAO,GAAG,CAAC,WAAW,CAAC;oBACrB,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,CAAC,GAAG;iBACjB,CAAC,CAAA;YACJ,CAAC,EACD,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAC/B,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAGtB;QACC,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,CAAC,cAAc,EAAE,CAAA;QAErB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;gBACnD,MAAM,GAAG,GACP,MAQD,CAAC,QAAQ,CAAA;gBACV,OAAO,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC,EAAE,KAAK,CAAC,CAAA;YACT,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,UAAU,GAAG,OAAO,CAAA;YAC7B,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAA;QACpC,CAAC;QACD,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAA;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/toolResult.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ToolResult } from '@mlightcad/cad-
|
|
1
|
+
import type { ToolResult } from '@mlightcad/cad-script-core';
|
|
2
2
|
/**
|
|
3
3
|
* MCP tool-result content block (text or image).
|
|
4
4
|
*/
|
|
@@ -11,7 +11,7 @@ export type McpContentBlock = {
|
|
|
11
11
|
mimeType: string;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
* Converts a cad-
|
|
14
|
+
* Converts a cad-script-core {@link ToolResult} into MCP content blocks.
|
|
15
15
|
*
|
|
16
16
|
* Screenshot data URLs from `cad.view.capturePreview` become image parts;
|
|
17
17
|
* the JSON summary omits bulky data URLs.
|
package/dist/toolResult.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Converts a cad-
|
|
2
|
+
* Converts a cad-script-core {@link ToolResult} into MCP content blocks.
|
|
3
3
|
*
|
|
4
4
|
* Screenshot data URLs from `cad.view.capturePreview` become image parts;
|
|
5
5
|
* the JSON summary omits bulky data URLs.
|