@codesys/mcp-toolkit 2.1.1 → 2.2.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 -0
- package/README.md +84 -4
- package/README.zh-CN.md +191 -0
- package/dist/bridge/bridge.d.ts +12 -1
- package/dist/bridge/bridge.js +77 -11
- package/dist/bridge/bridge.js.map +1 -1
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/tools.js +1 -1
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
- package/watcher/mcp_ops.py +7 -3
- package/watcher/watcher.py +18 -10
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.2.0] - 2026-11-14
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `--show-window`: start CODESYS with its window instead of headless, to watch
|
|
12
|
+
the work in clients without the live panel (such as OpenCode). Prompts are
|
|
13
|
+
answered as when headless, and the toolkit never closes the window: not on a
|
|
14
|
+
hang, not when the server stops.
|
|
15
|
+
- README: setup for OpenCode and other MCP clients, and the models tested with
|
|
16
|
+
OpenCode 1.19.5 on CODESYS SP22 (DeepSeek V4.1 Flash, Qwen 3.6 Plus, GLM 5.3,
|
|
17
|
+
MiniMax M3: all passed). New screenshots: Claude building and testing a
|
|
18
|
+
tank level controller next to the workspace (top of the README), an OpenCode
|
|
19
|
+
session, the browser workspace and the CODESYS window.
|
|
20
|
+
- A Simplified Chinese README (`README.zh-CN.md`): setup for OpenCode and other
|
|
21
|
+
clients that work in China, an npmmirror install line, and the tested models.
|
|
22
|
+
|
|
23
|
+
## [2.1.2] - 2026-11-13
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- `get_devices` really shows Machine Expert modules by their module id. 2.1.1
|
|
27
|
+
expected `get_module_identification()` to return an object, but in CODESYS
|
|
28
|
+
and Machine Expert 2.3 it returns the module id as a string (empty for a
|
|
29
|
+
device that isn't a module), so the module id was never read.
|
|
30
|
+
|
|
8
31
|
## [2.1.1] - 2026-11-13
|
|
9
32
|
|
|
10
33
|
### Fixed
|
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# CODESYS MCP Toolkit
|
|
4
4
|
|
|
5
|
-
**Let Claude read, write, compile and simulate Structured Text in your CODESYS V3.5 projects.**
|
|
5
|
+
**Let Claude, or any MCP client, read, write, compile and simulate Structured Text in your CODESYS V3.5 projects.**
|
|
6
|
+
|
|
7
|
+
English | [简体中文](README.zh-CN.md)
|
|
6
8
|
|
|
7
9
|
[](LICENSE)
|
|
8
10
|
[](https://www.npmjs.com/package/@codesys/mcp-toolkit)
|
|
@@ -18,7 +20,7 @@ open in the background and gives Claude, or any MCP client, direct access to
|
|
|
18
20
|
it. Claude works on your real project with the real CODESYS compiler, and you
|
|
19
21
|
can watch the code change as it happens.
|
|
20
22
|
|
|
21
|
-

|
|
22
24
|
|
|
23
25
|
## Highlights
|
|
24
26
|
|
|
@@ -79,6 +81,9 @@ Claude Desktop:
|
|
|
79
81
|
`--codesys-path` and `--codesys-profile` are optional. Without them the server
|
|
80
82
|
uses the newest CODESYS install under Program Files and its newest profile.
|
|
81
83
|
|
|
84
|
+
Using OpenCode, Cursor, Cline or another client, or a model such as DeepSeek or
|
|
85
|
+
Qwen? See [Other clients and models](#other-clients-and-models).
|
|
86
|
+
|
|
82
87
|
### Try it
|
|
83
88
|
|
|
84
89
|
> Create a project called `BlinkDemo.project`. Add a function block that toggles
|
|
@@ -125,6 +130,8 @@ the project tree, editor tabs, compile problems and a review list.
|
|
|
125
130
|
From the panel you can **Accept** or **Revert** each change, compare it with
|
|
126
131
|
the version you last reviewed, and **Pause Claude** while you look around.
|
|
127
132
|
|
|
133
|
+

|
|
134
|
+
|
|
128
135
|
The card needs a client that supports
|
|
129
136
|
[MCP Apps](https://modelcontextprotocol.io/extensions/apps). In our testing
|
|
130
137
|
Claude Desktop draws it in the Code tab but not in a normal chat
|
|
@@ -134,6 +141,56 @@ the browser never opens by itself.
|
|
|
134
141
|
|
|
135
142
|
[More about the panel](docs/reference.md#live-panel)
|
|
136
143
|
|
|
144
|
+
## Other clients and models
|
|
145
|
+
|
|
146
|
+
The server works with any MCP client, not only Claude. For
|
|
147
|
+
[OpenCode](https://opencode.ai), put this in `opencode.json` in your project
|
|
148
|
+
folder (or in `~/.config/opencode/opencode.json`):
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"$schema": "https://opencode.ai/config.json",
|
|
153
|
+
"mcp": {
|
|
154
|
+
"codesys": {
|
|
155
|
+
"type": "local",
|
|
156
|
+
"command": [
|
|
157
|
+
"codesys-mcp-tool",
|
|
158
|
+
"--codesys-path", "C:\\Program Files\\CODESYS 3.5.22.40\\CODESYS\\Common\\CODESYS.exe",
|
|
159
|
+
"--codesys-profile", "CODESYS V3.5 SP22 Patch 4",
|
|
160
|
+
"--workspace", "C:\\PLC\\Projects"
|
|
161
|
+
],
|
|
162
|
+
"enabled": true
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
`opencode mcp list` should then show `codesys` as connected. Clients that read
|
|
169
|
+
an `mcpServers` file (Cursor, Cline, VS Code and others) take the same
|
|
170
|
+
`command` and `args` as the Claude Desktop example above.
|
|
171
|
+
|
|
172
|
+
Tested on 13 November 2026 with OpenCode 1.19.5 and CODESYS V3.5 SP22: each of
|
|
173
|
+
these models created a project, read and changed `PLC_PRG`, compiled, listed
|
|
174
|
+
libraries and devices, and ran the simulation, without help.
|
|
175
|
+
|
|
176
|
+
| Model | Result |
|
|
177
|
+
| --- | --- |
|
|
178
|
+
| DeepSeek V4.1 Flash | All steps passed |
|
|
179
|
+
| Qwen 3.6 Plus | All steps passed |
|
|
180
|
+
| GLM 5.3 | All steps passed |
|
|
181
|
+
| MiniMax M3 | All steps passed |
|
|
182
|
+
|
|
183
|
+

|
|
184
|
+
|
|
185
|
+
The live panel needs a client that shows MCP Apps cards (see
|
|
186
|
+
[Live panel](#live-panel)). In other clients `open_sim_panel` does nothing
|
|
187
|
+
visible; ask the model to open the workspace (`open_workspace`) to get the same
|
|
188
|
+
view in your browser, or start the server with
|
|
189
|
+
[`--show-window`](#watch-it-in-the-codesys-window) to watch the CODESYS window
|
|
190
|
+
itself.
|
|
191
|
+
|
|
192
|
+

|
|
193
|
+
|
|
137
194
|
## Safety
|
|
138
195
|
|
|
139
196
|
- **No real controller.** The toolkit doesn't log in or download to a
|
|
@@ -166,6 +223,27 @@ the browser never opens by itself.
|
|
|
166
223
|
| `--no-viewer` | Don't serve the browser workspace |
|
|
167
224
|
| `--no-shared` | Run CODESYS in this process instead of the shared session |
|
|
168
225
|
| `--attach <dir>` | Experimental: work in a CODESYS / Machine Expert window you already have open, instead of starting one. See [Working in an open window](#work-in-a-window-you-already-have-open-experimental) |
|
|
226
|
+
| `--show-window` | Start CODESYS with its window instead of headless. See [Watch it in the CODESYS window](#watch-it-in-the-codesys-window) |
|
|
227
|
+
|
|
228
|
+
### Watch it in the CODESYS window
|
|
229
|
+
|
|
230
|
+
By default CODESYS runs headless. With `--show-window` the server starts it with
|
|
231
|
+
its normal window, so you can see the project take shape (objects appear in the
|
|
232
|
+
tree as the model creates them) in any MCP client.
|
|
233
|
+
|
|
234
|
+

|
|
235
|
+
|
|
236
|
+
While the server is connected, the window is for watching: the toolkit's script
|
|
237
|
+
keeps running in it (that is what lets it answer CODESYS's prompts, such as a
|
|
238
|
+
storage-format upgrade, the same way as headless), so CODESYS treats it as one
|
|
239
|
+
long operation. The status bar says "Executing script"; its **Click here to
|
|
240
|
+
CANCEL** link stops the toolkit's script, so leave it alone while you work with
|
|
241
|
+
the model. When the server stops, the script ends and the window is yours to
|
|
242
|
+
work in.
|
|
243
|
+
|
|
244
|
+
The toolkit never closes the window: not when a call hangs or a dialog waits
|
|
245
|
+
for an answer (answer it in the window), and not when the server stops. Close it
|
|
246
|
+
yourself when you're done; the next call then starts a new one.
|
|
169
247
|
|
|
170
248
|
### Several CODESYS versions
|
|
171
249
|
|
|
@@ -221,6 +299,8 @@ MCP client ── stdio ──▶ codesys-mcp-tool (Node.js)
|
|
|
221
299
|
└─ fixed operation handlers (IronPython 2.7)
|
|
222
300
|
```
|
|
223
301
|
|
|
302
|
+
With `--show-window`, CODESYS starts without `--noUI` and runs the same watcher.
|
|
303
|
+
|
|
224
304
|
- **No generated code.** Requests are an operation name plus JSON arguments,
|
|
225
305
|
handled by fixed functions in `watcher/mcp_ops.py`.
|
|
226
306
|
- **Hang detection.** The watcher reports `busy` with a deadline. If CODESYS
|
|
@@ -238,8 +318,8 @@ MCP client ── stdio ──▶ codesys-mcp-tool (Node.js)
|
|
|
238
318
|
| **CODESYS is still starting** | The first start after boot can take minutes. Check `codesys_status`, then try again. |
|
|
239
319
|
| **`startup_failed`** or **`startup_timeout`** | Check the profile name and that CODESYS starts by hand. The error includes the last lines of `watcher.log`. |
|
|
240
320
|
| **Library errors after `create_project`** ([#4](https://github.com/johannesPettersson80/codesys-mcp-toolkit/issues/4)) | The default template is brought up to the running CODESYS, so its libraries should resolve. A template you pass yourself is used as it is. If libraries are still missing, install them with the CODESYS Library Repository. |
|
|
241
|
-
| **`hung`** or **`timeout`** | CODESYS was restarted. Re-open the project. |
|
|
242
|
-
| **`dialog`** | CODESYS opened a dialog, named in the error, that a session without a window can't answer. CODESYS was stopped and restarts on the next call. Do the same step once in the CODESYS window, answer the dialog there, and try again. |
|
|
321
|
+
| **`hung`** or **`timeout`** | CODESYS was restarted. Re-open the project. With `--show-window` nothing is closed: check the window. |
|
|
322
|
+
| **`dialog`** | CODESYS opened a dialog, named in the error, that a session without a window can't answer. CODESYS was stopped and restarts on the next call. Do the same step once in the CODESYS window, answer the dialog there, and try again. With `--show-window`, answer it in the window. |
|
|
243
323
|
|
|
244
324
|
Each session folder keeps a `watcher.log`.
|
|
245
325
|
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# CODESYS MCP 工具包
|
|
4
|
+
|
|
5
|
+
**让 Claude 或任何 MCP 客户端,在你的 CODESYS V3.5 项目中读取、编写、编译并仿真结构化文本(ST)代码。**
|
|
6
|
+
|
|
7
|
+
[English](README.md) | 简体中文
|
|
8
|
+
|
|
9
|
+
[](LICENSE)
|
|
10
|
+
[](https://www.npmjs.com/package/@codesys/mcp-toolkit)
|
|
11
|
+

|
|
12
|
+

|
|
13
|
+

|
|
14
|
+
[](https://modelcontextprotocol.io)
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
这是一个 [MCP](https://modelcontextprotocol.io)(模型上下文协议)服务器。它在后台保持一个
|
|
19
|
+
CODESYS 会话,让 AI 助手直接操作你的真实项目:用真正的 CODESYS 编译器编译,在 CODESYS
|
|
20
|
+
自带的仿真中测试,而你可以实时看到代码的变化。它不绑定 Claude:DeepSeek、通义千问(Qwen)、
|
|
21
|
+
GLM、MiniMax 等模型通过 OpenCode 等客户端同样可以使用。
|
|
22
|
+
|
|
23
|
+

|
|
24
|
+
|
|
25
|
+
## 主要功能
|
|
26
|
+
|
|
27
|
+
- **直接修改真实项目。** 以结构化文本编写 POU、方法、属性、接口、DUT 和 GVL。
|
|
28
|
+
- **用真正的编译器编译。** 错误会带上对象、行号和错误代码返回,包括还没有被任何任务调用的代码。
|
|
29
|
+
- **在仿真中测试。** 在 CODESYS 自带的仿真中运行、按周期单步执行、读取、写入和强制变量,
|
|
30
|
+
无需安装其他软件,也不需要 PLC 硬件。
|
|
31
|
+
- **理解整个项目。** 提供项目大纲、I/O 列表、设备树和库接口,无需逐个读取对象。
|
|
32
|
+
- **过程可见。** 实时面板显示项目树、正在编写的代码和编译结果,每个改动都可以接受或还原。
|
|
33
|
+
- **绝不连接真实控制器。** 唯一的在线连接是 CODESYS 自带的仿真,每次在线操作前都会先检查。
|
|
34
|
+
|
|
35
|
+
## 快速开始
|
|
36
|
+
|
|
37
|
+
### 环境要求
|
|
38
|
+
|
|
39
|
+
- Windows,安装 **CODESYS V3.5** 及其 **Scripting**(脚本)插件。已在 SP21 和 SP22
|
|
40
|
+
上测试,SP16 及以上版本应该都可以使用。
|
|
41
|
+
- **Node.js 20** 或更高版本。
|
|
42
|
+
|
|
43
|
+
施耐德 EcoStruxure Machine Expert V2.3(`LogicBuilder.exe`)同样可用:只设置
|
|
44
|
+
`--codesys-path`,不要设置 `--codesys-profile`,因为 Machine Expert 没有配置文件。
|
|
45
|
+
详见 [Machine Expert 说明](docs/machine-expert-testing.md)(英文)。
|
|
46
|
+
|
|
47
|
+
### 安装
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install -g @codesys/mcp-toolkit
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
如果从 npm 下载很慢,可以使用 npmmirror 镜像:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm install -g @codesys/mcp-toolkit --registry=https://registry.npmmirror.com
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 在 OpenCode 中使用
|
|
60
|
+
|
|
61
|
+
在项目文件夹的 `opencode.json` 中(或 `~/.config/opencode/opencode.json`)加入:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"$schema": "https://opencode.ai/config.json",
|
|
66
|
+
"mcp": {
|
|
67
|
+
"codesys": {
|
|
68
|
+
"type": "local",
|
|
69
|
+
"command": [
|
|
70
|
+
"codesys-mcp-tool",
|
|
71
|
+
"--codesys-path", "C:\\Program Files\\CODESYS 3.5.22.40\\CODESYS\\Common\\CODESYS.exe",
|
|
72
|
+
"--codesys-profile", "CODESYS V3.5 SP22 Patch 4",
|
|
73
|
+
"--workspace", "C:\\PLC\\Projects"
|
|
74
|
+
],
|
|
75
|
+
"enabled": true
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
运行 `opencode mcp list`,应能看到 `codesys` 显示为已连接(connected)。
|
|
82
|
+
|
|
83
|
+
### 其他客户端
|
|
84
|
+
|
|
85
|
+
Cline、Trae、通义灵码、Cursor、Claude Desktop 等使用 `mcpServers` 配置的客户端,
|
|
86
|
+
一般都采用下面的格式(具体位置见各客户端的 MCP 设置):
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"mcpServers": {
|
|
91
|
+
"codesys": {
|
|
92
|
+
"command": "codesys-mcp-tool",
|
|
93
|
+
"args": [
|
|
94
|
+
"--codesys-path", "C:\\Program Files\\CODESYS 3.5.21.0\\CODESYS\\Common\\CODESYS.exe",
|
|
95
|
+
"--codesys-profile", "CODESYS V3.5 SP21",
|
|
96
|
+
"--workspace", "C:\\PLC\\Projects"
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
`--codesys-path` 和 `--codesys-profile` 可以省略,省略时服务器会使用 Program Files 下
|
|
104
|
+
最新安装的 CODESYS 及其最新的配置文件。
|
|
105
|
+
|
|
106
|
+
### 试一试
|
|
107
|
+
|
|
108
|
+
> 创建一个名为 `BlinkDemo.project` 的项目。添加一个每秒翻转一次输出的功能块,在 `PLC_PRG`
|
|
109
|
+
> 中调用它,编译,并在仿真中证明输出确实在翻转。
|
|
110
|
+
|
|
111
|
+
服务器启动时,CODESYS 会在后台启动。首次冷启动需要 1 到 3 分钟,之后大约 10 秒。
|
|
112
|
+
|
|
113
|
+
## 已测试的模型
|
|
114
|
+
|
|
115
|
+
2026 年 11 月 13 日,使用 OpenCode 1.19.5 和 CODESYS V3.5 SP22 测试:每个模型都在没有人工
|
|
116
|
+
帮助的情况下完成了创建项目、读取并修改 `PLC_PRG`、编译、列出库和设备,以及运行仿真。
|
|
117
|
+
|
|
118
|
+
| 模型 | 结果 |
|
|
119
|
+
| --- | --- |
|
|
120
|
+
| DeepSeek V4.1 Flash | 全部通过 |
|
|
121
|
+
| Qwen 3.6 Plus | 全部通过 |
|
|
122
|
+
| GLM 5.3 | 全部通过 |
|
|
123
|
+
| MiniMax M3 | 全部通过 |
|
|
124
|
+
|
|
125
|
+

|
|
126
|
+
|
|
127
|
+
## 实时查看 AI 的工作
|
|
128
|
+
|
|
129
|
+
有三种方式:
|
|
130
|
+
|
|
131
|
+
- **实时面板(MCP Apps 卡片)。** 在支持 [MCP Apps](https://modelcontextprotocol.io/extensions/apps)
|
|
132
|
+
的客户端中,打开或创建项目后,面板会以卡片形式显示在对话中:项目树、正在编写的代码、
|
|
133
|
+
编译问题,以及每个改动的“接受”和“还原”。
|
|
134
|
+
- **浏览器中的工作区。** 在其他客户端中,让模型“打开 CODESYS 工作区”(`open_workspace`),
|
|
135
|
+
同样的界面会在浏览器中打开,只监听本机 127.0.0.1,并带有访问令牌。浏览器不会自动打开。
|
|
136
|
+
- **CODESYS 窗口。** 启动参数加上 `--show-window`,CODESYS 会以正常窗口运行,而不是在后台
|
|
137
|
+
无界面运行,可以看到模型创建的对象出现在项目树中。工具包不会自动关闭这个窗口。
|
|
138
|
+
|
|
139
|
+

|
|
140
|
+
|
|
141
|
+
## 可用操作
|
|
142
|
+
|
|
143
|
+
所有操作都通过一个 MCP 工具 `codesys` 完成,每个操作对应一个 action。
|
|
144
|
+
[参考文档](docs/reference.md)(英文)详细说明了每一个操作。
|
|
145
|
+
|
|
146
|
+
| 类别 | 操作 |
|
|
147
|
+
| --- | --- |
|
|
148
|
+
| **项目** | `open_project` `create_project` `save_project` `close_project` `codesys_status` |
|
|
149
|
+
| **读取代码** | `get_project_tree` `read_objects` `search_code` `get_outline` |
|
|
150
|
+
| **修改代码** | `write_object` `create_object` `delete_object` `rename_object` |
|
|
151
|
+
| **编译** | `compile` |
|
|
152
|
+
| **库** | `list_libraries` `add_library` `remove_library` `get_library_api` |
|
|
153
|
+
| **任务与 I/O** | `list_tasks` `configure_task` `get_io_list` `get_devices` |
|
|
154
|
+
| **改动跟踪** | `checkpoint` `get_changes` `revert_object` |
|
|
155
|
+
| **仿真** | `codesys_sim_start` `codesys_sim_stop` `codesys_sim_status` `codesys_sim_control` `codesys_sim_cycle` `codesys_sim_read` `codesys_sim_write` `codesys_sim_force` `codesys_sim_unforce` |
|
|
156
|
+
| **辅助** | `batch` `wait` `help` `open_workspace` |
|
|
157
|
+
|
|
158
|
+
`batch` 可以在一次调用中执行最多 50 个操作,比逐个调用快得多。
|
|
159
|
+
|
|
160
|
+
第 2 版只编辑结构化文本。图形化语言(SFC、CFC、LD、FBD)的对象会显示在项目树中,可以以
|
|
161
|
+
PLCopenXML 形式读取,但不能编辑。
|
|
162
|
+
|
|
163
|
+
## 安全
|
|
164
|
+
|
|
165
|
+
- **不连接真实控制器。** 工具包不会登录或下载到控制器,只会连接 CODESYS 自带的仿真,
|
|
166
|
+
每次在线操作前都会检查仿真模式是否开启。
|
|
167
|
+
- **一次授权涵盖所有操作,** 包括修改或删除项目代码的操作。请在副本上工作,或使用版本控制。
|
|
168
|
+
- **改动可以撤销。** 打开项目时会自动创建检查点,`revert_object` 可以把对象(包括其方法和
|
|
169
|
+
属性)恢复到检查点时的状态。
|
|
170
|
+
- **自动保存。** 默认每次改动后都会保存项目;使用 `--no-autosave` 只在需要时保存。
|
|
171
|
+
- **仿真不会改动项目。** 仿真运行时禁止编辑,设备上的仿真设置也不会被保存。
|
|
172
|
+
|
|
173
|
+
## 更多内容(英文)
|
|
174
|
+
|
|
175
|
+
- [全部启动参数](README.md#configuration)
|
|
176
|
+
- [故障排除](README.md#troubleshooting)
|
|
177
|
+
- [工作原理](README.md#how-it-works)
|
|
178
|
+
- [开发与测试](README.md#development)
|
|
179
|
+
- [参与贡献](CONTRIBUTING.md)
|
|
180
|
+
|
|
181
|
+
欢迎提交 Issue 和 Pull Request,中文或英文均可。
|
|
182
|
+
|
|
183
|
+
## 许可证
|
|
184
|
+
|
|
185
|
+
[MIT](LICENSE)
|
|
186
|
+
|
|
187
|
+
CODESYS 是 CODESYS GmbH 的商标。本项目为独立项目,与 CODESYS GmbH 无关联,也未获其认可。
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
本文档对应 2026 年 11 月 14 日的英文 README。如有出入,以[英文版](README.md)为准。
|
package/dist/bridge/bridge.d.ts
CHANGED
|
@@ -6,7 +6,11 @@ export interface BridgeOptions {
|
|
|
6
6
|
profile?: string;
|
|
7
7
|
/** CODESYS's additional folder (SP22 keeps its add-ons there, e.g. Scripting). */
|
|
8
8
|
additionalFolder?: string;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Run CODESYS without UI (default true). false (--show-window) starts it with its window,
|
|
11
|
+
* which keeps painting while the watcher waits (system.delay serves the message loop). The
|
|
12
|
+
* bridge never closes that window itself (not on a hang, not on stop) unless it never got ready.
|
|
13
|
+
*/
|
|
10
14
|
noUI?: boolean;
|
|
11
15
|
/** Folder that holds watcher.py and its modules (copied into the session). */
|
|
12
16
|
watcherSource: string;
|
|
@@ -81,6 +85,10 @@ export declare class CodesysBridge {
|
|
|
81
85
|
private output;
|
|
82
86
|
constructor(options: BridgeOptions);
|
|
83
87
|
get currentState(): BridgeState;
|
|
88
|
+
/** CODESYS runs with its window, which the user may be working in (--show-window). */
|
|
89
|
+
get visible(): boolean;
|
|
90
|
+
/** The window or watcher belongs to the user, so it is never closed on a hang. */
|
|
91
|
+
private get keepsWindow();
|
|
84
92
|
/** Start CODESYS + watcher (idempotent). Resolves when the watcher is ready. */
|
|
85
93
|
start(): Promise<void>;
|
|
86
94
|
/** Wait at most `ms` for the bridge to be ready; false if still starting. */
|
|
@@ -88,6 +96,8 @@ export declare class CodesysBridge {
|
|
|
88
96
|
private doStart;
|
|
89
97
|
/** Path of the script the user runs in their own window to start the watcher (attach mode). */
|
|
90
98
|
get attachScript(): string | undefined;
|
|
99
|
+
/** Wait until the watcher in the window we started answers again (--show-window). */
|
|
100
|
+
private rejoinWindow;
|
|
91
101
|
/** Prepare the session folder and wait for a watcher the user started in an open window. */
|
|
92
102
|
private doAttach;
|
|
93
103
|
private attachTo;
|
|
@@ -108,6 +118,7 @@ export declare class CodesysBridge {
|
|
|
108
118
|
health(): BridgeHealth;
|
|
109
119
|
/** Ask the watcher to exit, then make sure the process is gone. */
|
|
110
120
|
stop(): Promise<void>;
|
|
121
|
+
/** `force` closes even a visible window (one that never got ready). */
|
|
111
122
|
private kill;
|
|
112
123
|
/** Last lines of watcher.log, for error messages. */
|
|
113
124
|
logTail(lines?: number): string;
|
package/dist/bridge/bridge.js
CHANGED
|
@@ -86,6 +86,14 @@ export class CodesysBridge {
|
|
|
86
86
|
get currentState() {
|
|
87
87
|
return this.state;
|
|
88
88
|
}
|
|
89
|
+
/** CODESYS runs with its window, which the user may be working in (--show-window). */
|
|
90
|
+
get visible() {
|
|
91
|
+
return !this.opts.noUI && !this.opts.attachDir;
|
|
92
|
+
}
|
|
93
|
+
/** The window or watcher belongs to the user, so it is never closed on a hang. */
|
|
94
|
+
get keepsWindow() {
|
|
95
|
+
return this.visible || !!this.opts.attachDir;
|
|
96
|
+
}
|
|
89
97
|
/** Start CODESYS + watcher (idempotent). Resolves when the watcher is ready. */
|
|
90
98
|
start() {
|
|
91
99
|
if (this.state === "ready")
|
|
@@ -120,6 +128,10 @@ export class CodesysBridge {
|
|
|
120
128
|
this.readyAt = undefined;
|
|
121
129
|
if (this.opts.attachDir)
|
|
122
130
|
return this.doAttach(this.opts.attachDir);
|
|
131
|
+
// A window that stopped answering (busy with the user, or a dialog) is still there:
|
|
132
|
+
// wait for its watcher again rather than start a second CODESYS.
|
|
133
|
+
if (this.visible && this.child && this.sessionDir)
|
|
134
|
+
return this.rejoinWindow();
|
|
123
135
|
const id = `${new Date().toISOString().replace(/[:.]/g, "-")}-${process.pid}-${randomBytes(3).toString("hex")}`;
|
|
124
136
|
const dir = join(this.opts.sessionRoot, id);
|
|
125
137
|
const scripts = join(dir, "scripts");
|
|
@@ -148,14 +160,21 @@ export class CodesysBridge {
|
|
|
148
160
|
CODESYS_MCP_DIR: dir,
|
|
149
161
|
CODESYS_MCP_SCRIPTS: scripts,
|
|
150
162
|
CODESYS_MCP_PARENT_PID: String(process.pid),
|
|
163
|
+
...(this.visible ? { CODESYS_MCP_UI: "1" } : {}),
|
|
151
164
|
},
|
|
152
|
-
// stdout/stderr are kept (the last 4 KB) so a failed start can say why.
|
|
153
|
-
|
|
154
|
-
|
|
165
|
+
// stdout/stderr are kept (the last 4 KB) so a failed start can say why. A window
|
|
166
|
+
// (--show-window) is the user's and outlives the server: detached, with no pipes that
|
|
167
|
+
// tie the two together; CODESYS shows its start-up errors in the window itself.
|
|
168
|
+
stdio: this.visible ? "ignore" : ["ignore", "pipe", "pipe"],
|
|
169
|
+
detached: this.visible,
|
|
170
|
+
// windowsHide also hides a program's first window, so only without UI.
|
|
171
|
+
windowsHide: !this.visible,
|
|
155
172
|
// CODESYS wants --option="value with spaces"; pass our own quoting through.
|
|
156
173
|
windowsVerbatimArguments: !this.opts.args,
|
|
157
174
|
});
|
|
158
175
|
this.child = child;
|
|
176
|
+
if (this.visible)
|
|
177
|
+
child.unref(); // the server may exit while the window stays open
|
|
159
178
|
this.output = "";
|
|
160
179
|
const keep = (d) => {
|
|
161
180
|
this.output = (this.output + d.toString()).slice(-4096);
|
|
@@ -201,7 +220,7 @@ export class CodesysBridge {
|
|
|
201
220
|
}
|
|
202
221
|
await sleep(100);
|
|
203
222
|
}
|
|
204
|
-
await this.kill("startup timeout");
|
|
223
|
+
await this.kill("startup timeout", true);
|
|
205
224
|
const msg = `CODESYS did not start the watcher within ${Math.round(this.opts.startupTimeoutMs / 1000)}s. ${startupHint(this.output)}${this.consoleTail()}${this.logTail()}`;
|
|
206
225
|
this.lastError = msg;
|
|
207
226
|
throw new BridgeError("startup_timeout", msg);
|
|
@@ -210,6 +229,31 @@ export class CodesysBridge {
|
|
|
210
229
|
get attachScript() {
|
|
211
230
|
return this.opts.attachDir ? join(this.opts.attachDir, "scripts", "start_attach.py") : undefined;
|
|
212
231
|
}
|
|
232
|
+
/** Wait until the watcher in the window we started answers again (--show-window). */
|
|
233
|
+
async rejoinWindow() {
|
|
234
|
+
const deadline = Date.now() + this.opts.startupTimeoutMs;
|
|
235
|
+
while (Date.now() < deadline && this.child) {
|
|
236
|
+
const hb = this.readHeartbeat();
|
|
237
|
+
// A busy op past its own deadline is the one that just failed: still stuck. (No grace
|
|
238
|
+
// here, or a call that timed out a few ms before deadline + grace would count as working.)
|
|
239
|
+
const working = hb?.state === "busy" && !(hb.deadline && Date.now() > hb.deadline * 1000);
|
|
240
|
+
if (hb && hb.ageMs < this.opts.staleHeartbeatMs && (hb.state === "idle" || working)) {
|
|
241
|
+
this.state = "ready";
|
|
242
|
+
this.readyAt = Date.now();
|
|
243
|
+
this.log(`the CODESYS window (pid ${this.child.pid}) answers again`);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
if (hb && (hb.state === "stopped" || hb.state === "crashed"))
|
|
247
|
+
break; // its watcher is gone for good
|
|
248
|
+
await sleep(250);
|
|
249
|
+
}
|
|
250
|
+
if (!this.child)
|
|
251
|
+
return this.doStart(); // the window was closed meanwhile: start a new one
|
|
252
|
+
this.state = "dead";
|
|
253
|
+
const msg = `The CODESYS window (pid ${this.child.pid}) doesn't answer: a dialog may be open there, or its watcher stopped. Nothing was closed. Answer or close the dialog, or close the window so the next call starts a new one.`;
|
|
254
|
+
this.lastError = msg;
|
|
255
|
+
throw new BridgeError("window_unresponsive", msg);
|
|
256
|
+
}
|
|
213
257
|
/** Prepare the session folder and wait for a watcher the user started in an open window. */
|
|
214
258
|
async doAttach(dir) {
|
|
215
259
|
try {
|
|
@@ -347,7 +391,9 @@ export class CodesysBridge {
|
|
|
347
391
|
const dialog = this.pendingDialog();
|
|
348
392
|
if (dialog) {
|
|
349
393
|
await this.kill(`dialog "${dialog}" during '${op}'`);
|
|
350
|
-
const msg =
|
|
394
|
+
const msg = this.visible
|
|
395
|
+
? `CODESYS opened a dialog ("${dialog}") during '${op}' and is waiting for an answer. Nothing was closed: answer it in the CODESYS window, then check the result and retry if needed.`
|
|
396
|
+
: `CODESYS opened a dialog ("${dialog}") during '${op}' and is waiting for an answer, which a session without a window can't give. CODESYS was stopped and will restart on the next call; unsaved changes are lost. Do the same step once in the CODESYS window and answer the dialog there, then try again.`;
|
|
351
397
|
this.lastError = msg;
|
|
352
398
|
throw new BridgeError("dialog", msg);
|
|
353
399
|
}
|
|
@@ -356,8 +402,10 @@ export class CodesysBridge {
|
|
|
356
402
|
await this.kill(`hung during '${op}'`);
|
|
357
403
|
const msg = this.opts.attachDir
|
|
358
404
|
? `The open window stopped responding during '${op}' (a dialog may be waiting, or the watcher script was stopped). Nothing was closed. Check the window, run ${this.attachScript} again if needed, then retry.`
|
|
359
|
-
:
|
|
360
|
-
|
|
405
|
+
: this.visible
|
|
406
|
+
? `The CODESYS window stopped responding during '${op}' (a dialog may be waiting there). Nothing was closed. Check the window, then retry.`
|
|
407
|
+
: `CODESYS stopped responding during '${op}' and was restarted on the next call. Unsaved changes are lost.`;
|
|
408
|
+
if (this.keepsWindow)
|
|
361
409
|
await unlink(reqPath).catch(() => undefined);
|
|
362
410
|
this.lastError = msg;
|
|
363
411
|
throw new BridgeError("hung", msg);
|
|
@@ -365,10 +413,10 @@ export class CodesysBridge {
|
|
|
365
413
|
}
|
|
366
414
|
if (now - started > timeoutMs + this.opts.hungGraceMs) {
|
|
367
415
|
await this.kill(`timeout in '${op}'`);
|
|
368
|
-
const msg = this.
|
|
369
|
-
? `'${op}' took longer than ${Math.round(timeoutMs / 1000)}s in the open window. Nothing was closed; check the window, then retry.`
|
|
416
|
+
const msg = this.keepsWindow
|
|
417
|
+
? `'${op}' took longer than ${Math.round(timeoutMs / 1000)}s in the ${this.visible ? "CODESYS" : "open"} window. Nothing was closed; check the window, then retry.`
|
|
370
418
|
: `'${op}' took longer than ${Math.round(timeoutMs / 1000)}s; CODESYS was stopped and will restart on the next call.`;
|
|
371
|
-
if (this.
|
|
419
|
+
if (this.keepsWindow)
|
|
372
420
|
await unlink(reqPath).catch(() => undefined);
|
|
373
421
|
this.lastError = msg;
|
|
374
422
|
throw new BridgeError("timeout", msg);
|
|
@@ -448,6 +496,17 @@ export class CodesysBridge {
|
|
|
448
496
|
this.state = "stopped";
|
|
449
497
|
return;
|
|
450
498
|
}
|
|
499
|
+
if (this.visible) {
|
|
500
|
+
// The user may be working in the window: stop its watcher and leave the window open.
|
|
501
|
+
const pid = this.child?.pid;
|
|
502
|
+
if (this.state === "ready" && this.child)
|
|
503
|
+
await this.exchange("shutdown", {}, 5_000).catch(() => undefined);
|
|
504
|
+
if (pid)
|
|
505
|
+
this.log(`stopped; the CODESYS window (pid ${pid}) stays open`);
|
|
506
|
+
this.child = undefined;
|
|
507
|
+
this.state = "stopped";
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
451
510
|
if (this.state === "ready" && this.child) {
|
|
452
511
|
try {
|
|
453
512
|
await this.exchange("shutdown", {}, 5_000);
|
|
@@ -462,13 +521,20 @@ export class CodesysBridge {
|
|
|
462
521
|
await this.kill("stop");
|
|
463
522
|
this.state = "stopped";
|
|
464
523
|
}
|
|
465
|
-
|
|
524
|
+
/** `force` closes even a visible window (one that never got ready). */
|
|
525
|
+
async kill(reason, force = false) {
|
|
466
526
|
if (this.opts.attachDir) {
|
|
467
527
|
// Never close the user's window; just forget the watcher until it answers again.
|
|
468
528
|
this.log(`attach: ${reason}; the window is left open`);
|
|
469
529
|
this.state = "dead";
|
|
470
530
|
return;
|
|
471
531
|
}
|
|
532
|
+
if (this.visible && !force && this.child) {
|
|
533
|
+
// The window may be busy with the user or a dialog: keep it, and wait for it on the next call.
|
|
534
|
+
this.log(`${reason}; the CODESYS window (pid ${this.child.pid}) is left open`);
|
|
535
|
+
this.state = "dead";
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
472
538
|
const child = this.child;
|
|
473
539
|
if (!child?.pid) {
|
|
474
540
|
if (this.state !== "stopped")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAiE1C,MAAM,OAAO,WAAY,SAAQ,KAAK;IAE3B,IAAI;IAEJ,MAAM;IAHf,YACS,IAAY,EACnB,OAAe,EACR,MAAe;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;oBAJR,IAAI;sBAEJ,MAAM;QAGb,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAUD,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpE,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,OAAO,uTAAuT,CAAC;IACjU,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,wHAAwH,CAAC;IAC5K,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1D;;;;GAIG;AACH,KAAK,UAAU,OAAO,CAAI,EAAoB,EAAE,OAAO,GAAG,KAAK;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,GAAG,CAAE,CAA2B,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK;gBAAE,MAAM,CAAC,CAAC;YACrG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,kHAAkH;AAClH,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,MAAM,OAAO,aAAa;IAChB,IAAI,CAC4D;IAChE,KAAK,CAAgB;IACrB,KAAK,GAAgB,SAAS,CAAC;IAC/B,YAAY,CAAiB;IAC7B,UAAU,CAAU;IACpB,KAAK,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,GAAG,GAAG,CAAC,CAAC;IACR,KAAK,GAAG,CAAC,CAAC;IACV,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,SAAS,CAAU;IACnB,QAAQ,CAAU;IAC1B,qEAAqE;IAC7D,MAAM,GAAG,EAAE,CAAC;IAEpB,YAAY,OAAsB;QAChC,IAAI,CAAC,IAAI,GAAG;YACV,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,MAAM;YACxB,WAAW,EAAE,MAAM;YACnB,gBAAgB,EAAE,MAAM;YACxB,GAAG,OAAO;SACS,CAAC;IACxB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,sFAAsF;IACtF,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,kFAAkF;IAClF,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,gFAAgF;IAChF,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,KAAiC,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,oFAAoF;QACpF,iEAAiE;QACjE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9E,MAAM,EAAE,GAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/G,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;YACzB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,CAAC,CAAC;gBACE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,gBAAgB,MAAM,GAAG;gBACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9F,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;YAC3C,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG;gBAChB,eAAe,EAAE,GAAG;gBACpB,mBAAmB,EAAE,OAAO;gBAC5B,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD;YACD,iFAAiF;YACjF,sFAAsF;YACtF,gFAAgF;YAChF,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YAC3D,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,uEAAuE;YACvE,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO;YAC1B,4EAA4E;YAC5E,wBAAwB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,kDAAkD;QACnF,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,aAAa,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/E,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,GAAG,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAmC,CAAC,SAAS,IAAI,SAAS,CAAC;gBAC3I,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,wBAAwB;gBACtD,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,WAAW,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9I,OAAO;YACT,CAAC;YACD,IAAK,IAAI,CAAC,KAAqB,KAAK,MAAM,EAAE,CAAC;gBAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B;gBAC/C,MAAM,GAAG,GAAG,kCAAkC,IAAI,CAAC,QAAQ,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClI,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,4CAA4C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5K,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,MAAM,IAAI,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,+FAA+F;IAC/F,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,CAAC;IAED,qFAAqF;IAC7E,KAAK,CAAC,YAAY;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,sFAAsF;YACtF,2FAA2F;YAC3F,MAAM,OAAO,GAAG,EAAE,EAAE,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC1F,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;gBACpF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;gBAAE,MAAM,CAAC,+BAA+B;YACpG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,mDAAmD;QAC3F,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,MAAM,GAAG,GAAG,2BAA2B,IAAI,CAAC,KAAK,CAAC,GAAG,8KAA8K,CAAC;QACpO,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,4FAA4F;IACpF,KAAK,CAAC,QAAQ,CAAC,GAAW;QAChC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,mEAAmE;YACxF,IAAI,CAAC,SAAS,GAAI,CAAW,CAAC,OAAO,CAAC;YACtC,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,GAAW;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC;YAAE,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,0FAA0F;QAC1F,gEAAgE;QAChE,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM;oBAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAAE,SAAS;gBAC5E,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,4FAA4F;gBAC5F,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,KAAM,CAA2B,CAAC,IAAI,IAAK,CAAW,CAAC,OAAO,0CAA0C,CAAC,CAAC;YAClJ,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG;YACf,0GAA0G;YAC1G,gBAAgB;YAChB,6DAA6D;YAC7D,yBAAyB;YACzB,qCAAqC,GAAG,GAAG;YAC3C,yCAAyC,OAAO,GAAG;YACnD,wCAAwC;YACxC,UAAU,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG;YACxC,eAAe;YACf,kBAAkB;YAClB,YAAY;YACZ,8DAA8D;YAC9D,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,SAAS,CAAC,IAAI,CAAC,YAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,YAAY,+DAA+D,CAAC,CAAC;QAE/G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAmC,CAAC,SAAS,IAAI,SAAS,CAAC;gBACzJ,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC7B,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChH,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,MAAM,GAAG,GAAG,0BAA0B,GAAG,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uDAAuD,IAAI,CAAC,YAAY,gEAAgE,CAAC;QAC1O,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAc,EAAU,EAAE,IAAI,GAA4B,EAAE,EAAE,IAAI,GAA2B,EAAE;QACjG,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACrB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClF,CAAC,CAAC;QACF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAI,EAAU,EAAE,IAA6B,EAAE,SAAiB;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,UAAW,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,OAAO,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACnH,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAA4B,CAAC;QACjC,SAAS,CAAC;YACR,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,GAAkB,CAAC;gBACvB,IAAI,CAAC;oBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAkB,CAAC;gBAC3D,CAAC;gBAAC,MAAM,CAAC;oBACP,0FAA0F;oBAC1F,QAAQ,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;oBACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,aAAa,EAAE,CAAC;wBAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC7C,MAAM,GAAG,GAAG,kBAAkB,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC3F,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;wBACrB,MAAM,IAAI,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;oBACD,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;oBAChB,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,GAAG,CAAC,MAAW,CAAC;gBACnC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;gBACzF,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,kCAAkC,EAAE,MAAM,IAAI,CAAC,QAAQ,IAAI,gBAAgB,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnI,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,GAAG,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;gBAC3B,SAAS,GAAG,GAAG,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,MAAM,aAAa,EAAE,GAAG,CAAC,CAAC;oBACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO;wBACtB,CAAC,CAAC,6BAA6B,MAAM,cAAc,EAAE,iIAAiI;wBACtL,CAAC,CAAC,6BAA6B,MAAM,cAAc,EAAE,wPAAwP,CAAC;oBAChT,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,MAAM,IAAI,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS;wBAC7B,CAAC,CAAC,8CAA8C,EAAE,6GAA6G,IAAI,CAAC,YAAY,+BAA+B;wBAC/M,CAAC,CAAC,IAAI,CAAC,OAAO;4BACZ,CAAC,CAAC,iDAAiD,EAAE,sFAAsF;4BAC3I,CAAC,CAAC,sCAAsC,EAAE,iEAAiE,CAAC;oBAChH,IAAI,IAAI,CAAC,WAAW;wBAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,IAAI,GAAG,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW;oBAC1B,CAAC,CAAC,IAAI,EAAE,sBAAsB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,4DAA4D;oBACnK,CAAC,CAAC,IAAI,EAAE,sBAAsB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,2DAA2D,CAAC;gBACxH,IAAI,IAAI,CAAC,WAAW;oBAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,MAAM,IAAI,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAc,CAAC;YACpH,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,+DAA+D;IACvD,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,gFAAgF;IACxE,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,CAAC;YACH,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAwB,CAAC,KAAK,IAAI,UAAU,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,CAAC,6CAA6C;QACjE,CAAC;IACH,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC1B,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACpE,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO,MAAM,CAAC;YAC1F,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,gDAAgD;IAChD,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YAC9E,YAAY,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACxF,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACxB,kFAAkF;YAClF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,qFAAqF;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5G,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,oCAAoC,GAAG,cAAc,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YAClC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,uEAAuE;IAC/D,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,KAAK,GAAG,KAAK;QAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACxB,iFAAiF;YACjF,IAAI,CAAC,GAAG,CAAC,WAAW,MAAM,2BAA2B,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,+FAA+F;YAC/F,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,6BAA6B,IAAI,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC;YAC/E,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,OAAO,CAAC,KAAK,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7F,OAAO,gBAAgB,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,sBAAsB,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,GAAG,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ;IAC5E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC7H,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
* --attach <dir> work in a window you already have open instead of starting CODESYS: the
|
|
17
17
|
* server writes <dir>\scripts\start_attach.py, which you run there with
|
|
18
18
|
* Tools > Scripting > Execute Script File (a UI timer, so the window stays usable)
|
|
19
|
+
* --show-window start CODESYS with its window instead of headless, to watch the work.
|
|
20
|
+
* The toolkit never closes that window itself.
|
|
19
21
|
*
|
|
20
22
|
* By default every process started with the same options shares one session
|
|
21
23
|
* (one CODESYS, one viewer): see daemon.ts.
|
|
@@ -53,6 +55,7 @@ async function main() {
|
|
|
53
55
|
"no-viewer": { type: "boolean" },
|
|
54
56
|
"no-shared": { type: "boolean" },
|
|
55
57
|
attach: { type: "string" },
|
|
58
|
+
"show-window": { type: "boolean" },
|
|
56
59
|
"trust-runtime": { type: "string" },
|
|
57
60
|
"mirror-dir": { type: "string" },
|
|
58
61
|
"no-sim": { type: "boolean" },
|
|
@@ -68,7 +71,7 @@ async function main() {
|
|
|
68
71
|
return;
|
|
69
72
|
}
|
|
70
73
|
if (values.help) {
|
|
71
|
-
process.stdout.write("codesys-mcp-tool [--codesys-path <CODESYS.exe>] [--codesys-profile <name>] [--codesys-additional-folder <dir>] [--workspace <dir>] [--project <file>] [--session-dir <dir>] [--no-autostart] [--no-autosave] [--viewer-port <port>] [--no-viewer] [--no-shared] [--attach <dir>]\n");
|
|
74
|
+
process.stdout.write("codesys-mcp-tool [--codesys-path <CODESYS.exe>] [--codesys-profile <name>] [--codesys-additional-folder <dir>] [--workspace <dir>] [--project <file>] [--session-dir <dir>] [--no-autostart] [--no-autosave] [--viewer-port <port>] [--no-viewer] [--no-shared] [--attach <dir>] [--show-window]\n");
|
|
72
75
|
return;
|
|
73
76
|
}
|
|
74
77
|
const stateDir = process.env.CODESYS_MCP_STATE_DIR ?? join(process.env.LOCALAPPDATA ?? tmpdir(), "codesys-mcp-toolkit");
|
|
@@ -124,9 +127,12 @@ async function main() {
|
|
|
124
127
|
additionalFolder: codesys.install.additionalFolder,
|
|
125
128
|
watcherSource,
|
|
126
129
|
sessionRoot,
|
|
130
|
+
noUI: !values["show-window"],
|
|
127
131
|
...(attachDir ? { attachDir, startupTimeoutMs: 120_000 } : {}),
|
|
128
132
|
log,
|
|
129
133
|
});
|
|
134
|
+
if (values["show-window"] && attachDir)
|
|
135
|
+
log("--show-window has no effect with --attach: the window is already open");
|
|
130
136
|
const ctx = {
|
|
131
137
|
bridge,
|
|
132
138
|
autosave: !values["no-autosave"],
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAExE,iHAAiH;AACjH,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAE3E,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,2BAA2B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAChC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,8DAA8D;YAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SACtC;QACD,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oSAAoS,CACrS,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACxH,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,wEAAwE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACtG,MAAM,GAAG,GAAG,UAAU,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mEAAmE;QAC5G,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO;QAChC,GAAG,EAAE,EAAE;KACR,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC;gBAC5B,GAAG,EAAE,QAAQ;gBACb,GAAG;gBACH,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;oBACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACnC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtL,CAAC;aACF,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,oCAAoC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACxG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,+BAAgC,CAAW,CAAC,OAAO,4BAA4B,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IAAI,OAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACnH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,CAAC;QACxB,oFAAoF;QACpF,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC;QACxH,GAAG,CAAC,qBAAsB,CAAW,CAAC,OAAO,8BAA8B,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnF,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,GAAG;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;QAClD,aAAa;QACb,WAAW;QACX,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;QAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,SAAS;QAAE,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACrH,MAAM,GAAG,GAAe;QACtB,MAAM;QACN,QAAQ,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;QAChC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;QAC3E,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY;QAC1C,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;QACrF,WAAW,EAAE,MAAM;QACnB,GAAG;KACJ,CAAC;IACF,GAAG,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC;IAChH,GAAG,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IAC/B,GAAG,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,MAAM;QAAE,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1G,IAAI,OAAO,CAAC,OAAO;QAAE,GAAG,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,WAAW,EAAE,CAAC,CAAC;IAE9P,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACxH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAAqC,CAAC;IAC1C,IAAI,MAA8C,CAAC;IACnD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,WAAW,EAAE,EAAE,CAAC;QAChB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,gFAAgF;QAChF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;YAC9B,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,MAAM,CAAC,MAAM,IAAI,GAAG;YACzB,MAAM;YACN,GAAG;YACH,MAAM,EAAE,GAAG,EAAE;gBACX,GAAG,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/D,KAAK,QAAQ,EAAE,CAAC;YAClB,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrE,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,CAAC;SACF,CAAC,CAAC;QACH,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5B,MAAM;aACH,KAAK,EAAE;aACP,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAyC,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9J,GAAG,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;IACxB,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import { type AppContext } from "./tools.js";
|
|
3
|
-
export declare const VERSION = "2.
|
|
3
|
+
export declare const VERSION = "2.2.0";
|
|
4
4
|
export declare function createServer(ctx: AppContext): McpServer;
|
|
5
5
|
export type { AppContext };
|
package/dist/server.js
CHANGED
|
@@ -3,7 +3,7 @@ import { EXTENSION_ID } from "@modelcontextprotocol/ext-apps/server";
|
|
|
3
3
|
import { currentCodesysSim } from "./codesys/simulation.js";
|
|
4
4
|
import { registerTools, revertObject, versionLine } from "./tools.js";
|
|
5
5
|
import { registerPanel } from "./panel.js";
|
|
6
|
-
export const VERSION = "2.
|
|
6
|
+
export const VERSION = "2.2.0";
|
|
7
7
|
const INSTRUCTIONS = `CODESYS V3.5 automation through a persistent CODESYS session.
|
|
8
8
|
Everything goes through the one tool named codesys, as {"action": "<name>", "args": {...}}. The names below are its actions; {"action": "help"} lists them all with their arguments.
|
|
9
9
|
Use batch whenever you know the next steps: it sends several actions in one call and is much faster than separate calls. For example, all the create_object and write_object calls of a step followed by compile, or codesys_sim_force, wait, codesys_sim_cycle and codesys_sim_read for one test.
|
package/dist/tools.js
CHANGED
|
@@ -203,7 +203,7 @@ export function registerTools(server, ctx) {
|
|
|
203
203
|
const h = b.health();
|
|
204
204
|
const lines = [
|
|
205
205
|
`CODESYS: ${ctx.codesys ? `${ctx.codesys.label} (${ctx.codesys.profile ? `profile "${ctx.codesys.profile}"` : "no profile"})${h.scripting ? `, Scripting ${h.scripting}` : ""}` : "unknown"}`,
|
|
206
|
-
`Bridge: ${h.state} / ${h.verdict}${h.pid ? `, pid ${h.pid}` : ""}${h.readyAfterMs ? `, started in ${Math.round(h.readyAfterMs / 1000)}s` : ""}, ${h.calls} call(s), ${h.restarts} restart(s)`,
|
|
206
|
+
`Bridge: ${h.state} / ${h.verdict}${h.pid ? `, pid ${h.pid}` : ""}${h.readyAfterMs ? `, started in ${Math.round(h.readyAfterMs / 1000)}s` : ""}, ${h.calls} call(s), ${h.restarts} restart(s)${b.visible ? ", window shown (--show-window)" : ""}`,
|
|
207
207
|
];
|
|
208
208
|
if (h.heartbeat)
|
|
209
209
|
lines.push(`Watcher: ${h.heartbeat.state}${h.heartbeat.op ? ` (${h.heartbeat.op})` : ""}, heartbeat ${Math.round(h.heartbeat.ageMs / 1000)}s ago`);
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codesys/mcp-toolkit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "MCP server for CODESYS V3.5: read, write, compile and simulate Structured Text through a persistent CODESYS session",
|
|
5
5
|
"mcpName": "io.github.johannesPettersson80/codesys-mcp-toolkit",
|
|
6
6
|
"type": "module",
|
package/watcher/mcp_ops.py
CHANGED
|
@@ -10,7 +10,7 @@ import sys
|
|
|
10
10
|
|
|
11
11
|
import scriptengine as se
|
|
12
12
|
|
|
13
|
-
from mcp_compat import PY2, to_text
|
|
13
|
+
from mcp_compat import PY2, string_types, to_text
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class OpError(Exception):
|
|
@@ -840,9 +840,13 @@ def op_devices_list(args):
|
|
|
840
840
|
ident = _safe(lambda: ch.get_device_identification())
|
|
841
841
|
# A module (a device that exists only inside its owner, such as Machine Expert's
|
|
842
842
|
# local I/O and embedded functions) reports its owner's type and id; its module
|
|
843
|
-
# id is what tells it apart.
|
|
843
|
+
# id is what tells it apart. get_module_identification() returns that id as a
|
|
844
|
+
# string, empty for a device that isn't a module (CODESYS and Machine Expert 2.3,
|
|
845
|
+
# Scripting 4.1). Schneider's DeviceIdDto carries it as module_id instead.
|
|
844
846
|
mod = _safe(lambda: ch.get_module_identification())
|
|
845
|
-
|
|
847
|
+
if mod is not None and not isinstance(mod, string_types):
|
|
848
|
+
mod = _safe(lambda: mod.module_id)
|
|
849
|
+
module = (to_text(mod) or "").strip() if mod is not None else ""
|
|
846
850
|
info = {
|
|
847
851
|
"path": "/".join(names + [nm]),
|
|
848
852
|
"name": nm,
|
package/watcher/watcher.py
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
# codesys-mcp-toolkit v2 watcher.
|
|
3
3
|
#
|
|
4
4
|
# Started by the MCP server as: CODESYS.exe --profile="..." --noUI --runscript="<dir>/watcher.py"
|
|
5
|
+
# (with --show-window: no --noUI and CODESYS_MCP_UI=1. The same blocking loop runs: CODESYS
|
|
6
|
+
# applies script_prompt_handling only while a script runs, so a timer that runs requests after
|
|
7
|
+
# the script returned would show every prompt as a dialog. system.delay() serves the window's
|
|
8
|
+
# message loop, so the window keeps painting while the loop waits.)
|
|
5
9
|
# Environment (inherited from the server):
|
|
6
10
|
# CODESYS_MCP_DIR session folder (requests/, results/, heartbeat.json, ready.json, watcher.log)
|
|
7
11
|
# CODESYS_MCP_SCRIPTS folder holding this file and its modules
|
|
@@ -97,20 +101,24 @@ def scripting_version():
|
|
|
97
101
|
return m.group(1) if m else None
|
|
98
102
|
|
|
99
103
|
|
|
100
|
-
def find_dialog():
|
|
104
|
+
def find_dialog(ui=False):
|
|
101
105
|
# A session without a UI has no open forms and no main window (checked on SP21 and
|
|
102
106
|
# SP22), so a modal form or a main window means CODESYS is waiting for an answer.
|
|
107
|
+
# With a window (ui), only a modal form counts.
|
|
103
108
|
from System.Windows.Forms import Application
|
|
104
109
|
from System.Diagnostics import Process
|
|
105
110
|
for f in Application.OpenForms:
|
|
106
111
|
if f.Modal:
|
|
107
112
|
return to_text(f.Text) or "(untitled)"
|
|
113
|
+
if ui:
|
|
114
|
+
return None
|
|
108
115
|
return to_text(Process.GetCurrentProcess().MainWindowTitle) or None
|
|
109
116
|
|
|
110
117
|
|
|
111
|
-
def watch_dialogs():
|
|
118
|
+
def watch_dialogs(ui=False):
|
|
112
119
|
# Runs beside the request loop. A dialog blocks that loop for good and nobody can
|
|
113
120
|
# answer it in a session without a window, so tell the server (dialog.json).
|
|
121
|
+
# With a window the user can answer it; the server is still told, so the call ends.
|
|
114
122
|
import clr
|
|
115
123
|
clr.AddReference("System.Windows.Forms")
|
|
116
124
|
title, since, reported, failed = None, 0.0, False, False
|
|
@@ -120,7 +128,7 @@ def watch_dialogs():
|
|
|
120
128
|
current = None
|
|
121
129
|
if busy is not None and now() - busy > 2.0:
|
|
122
130
|
try:
|
|
123
|
-
current = find_dialog()
|
|
131
|
+
current = find_dialog(ui)
|
|
124
132
|
except Exception as e: # e.g. the form list changed while it was read
|
|
125
133
|
if not failed:
|
|
126
134
|
log("dialog check failed: %s" % to_text(e))
|
|
@@ -137,12 +145,12 @@ def watch_dialogs():
|
|
|
137
145
|
reported = True
|
|
138
146
|
|
|
139
147
|
|
|
140
|
-
def start_dialog_watch():
|
|
148
|
+
def start_dialog_watch(ui=False):
|
|
141
149
|
import threading
|
|
142
150
|
|
|
143
151
|
def run():
|
|
144
152
|
try:
|
|
145
|
-
watch_dialogs()
|
|
153
|
+
watch_dialogs(ui)
|
|
146
154
|
except BaseException as e:
|
|
147
155
|
log("dialog watch stopped: %s" % to_text(e))
|
|
148
156
|
t = threading.Thread(target=run)
|
|
@@ -216,20 +224,20 @@ def handle(ops_mod, fname):
|
|
|
216
224
|
return not stop
|
|
217
225
|
|
|
218
226
|
|
|
219
|
-
def main():
|
|
227
|
+
def main(ui=False):
|
|
220
228
|
for d in (REQ_DIR, RES_DIR):
|
|
221
229
|
if not os.path.isdir(d):
|
|
222
230
|
os.makedirs(d)
|
|
223
|
-
log("watcher starting pid=%s parent=%s python=%s" % (PID, PARENT_PID, sys.version.split()[0]))
|
|
231
|
+
log("watcher starting pid=%s parent=%s python=%s%s" % (PID, PARENT_PID, sys.version.split()[0], " (window shown)" if ui else ""))
|
|
224
232
|
import scriptengine as se
|
|
225
233
|
import mcp_ops
|
|
226
234
|
import mcp_sim # noqa: F401 (adds its operations to mcp_ops.OPS)
|
|
227
235
|
prompts = setup_prompts(se)
|
|
228
236
|
log(prompts)
|
|
229
237
|
if not hasattr(se, "FAKE"):
|
|
230
|
-
start_dialog_watch()
|
|
238
|
+
start_dialog_watch(ui)
|
|
231
239
|
beat("idle")
|
|
232
|
-
write_json_atomic(READY, {"pid": PID, "ts": now(), "python": sys.version.split()[0], "prompts": prompts, "scripting": scripting_version()})
|
|
240
|
+
write_json_atomic(READY, {"pid": PID, "ts": now(), "python": sys.version.split()[0], "prompts": prompts, "scripting": scripting_version(), "window": ui})
|
|
233
241
|
last_parent_check = 0.0
|
|
234
242
|
while True:
|
|
235
243
|
t = now()
|
|
@@ -317,7 +325,7 @@ try:
|
|
|
317
325
|
if os.environ.get("CODESYS_MCP_ATTACH") == "1":
|
|
318
326
|
main_attach()
|
|
319
327
|
else:
|
|
320
|
-
main()
|
|
328
|
+
main(ui=os.environ.get("CODESYS_MCP_UI") == "1")
|
|
321
329
|
except BaseException:
|
|
322
330
|
log("watcher crashed: " + traceback.format_exc())
|
|
323
331
|
try:
|