@cool-mcp/desktop-automation 1.0.0 → 1.0.1
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/dist/screenshot.d.ts.map +1 -1
- package/dist/screenshot.js +78 -48
- package/dist/screenshot.js.map +1 -1
- package/dist/window-manager.d.ts.map +1 -1
- package/dist/window-manager.js +79 -12
- package/dist/window-manager.js.map +1 -1
- package/package.json +3 -2
package/dist/screenshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../src/screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../src/screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWhE,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CA8B1D;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA8MlC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA4ClC"}
|
package/dist/screenshot.js
CHANGED
|
@@ -7,7 +7,10 @@ import { promisify } from 'util';
|
|
|
7
7
|
import { Jimp } from 'jimp';
|
|
8
8
|
import { isMacOS, isWindows } from './utils.js';
|
|
9
9
|
import { getWindowByProcess, activateWindow, getActiveWindow } from './window-manager.js';
|
|
10
|
+
import { openWindows } from 'get-windows';
|
|
10
11
|
const execAsync = promisify(exec);
|
|
12
|
+
// get-windows 配置:不需要 url,需要 title
|
|
13
|
+
const getWindowsOptions = { accessibilityPermission: false, screenRecordingPermission: true };
|
|
11
14
|
/**
|
|
12
15
|
* 获取所有显示器信息
|
|
13
16
|
*/
|
|
@@ -60,65 +63,61 @@ export async function screenshotByProcess(processName, options = {}) {
|
|
|
60
63
|
let scaleFactor = 1;
|
|
61
64
|
if (isMacOS()) {
|
|
62
65
|
// macOS: 使用窗口 ID 直接截图,避免坐标问题
|
|
63
|
-
// 获取窗口 ID 和 bounds
|
|
64
|
-
const windowInfoScript = `
|
|
65
|
-
tell application "System Events"
|
|
66
|
-
tell process "${processName}"
|
|
67
|
-
if (count of windows) > 0 then
|
|
68
|
-
set frontWin to first window
|
|
69
|
-
set winId to id of frontWin
|
|
70
|
-
set winPos to position of frontWin
|
|
71
|
-
set winSize to size of frontWin
|
|
72
|
-
return (winId as string) & "," & (item 1 of winPos) & "," & (item 2 of winPos) & "," & (item 1 of winSize) & "," & (item 2 of winSize)
|
|
73
|
-
end if
|
|
74
|
-
end tell
|
|
75
|
-
end tell
|
|
76
|
-
`;
|
|
77
|
-
// 尝试通过 AppleScript 获取窗口 ID
|
|
78
66
|
let windowId = null;
|
|
67
|
+
// 方法1: 使用 get-windows 包获取窗口信息(跨平台,不依赖 Python)
|
|
79
68
|
try {
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
69
|
+
const windows = await openWindows(getWindowsOptions);
|
|
70
|
+
const processNameLower = processName.toLowerCase();
|
|
71
|
+
const targetWindow = windows.find(w => {
|
|
72
|
+
const ownerLower = w.owner.name.toLowerCase();
|
|
73
|
+
const titleLower = w.title.toLowerCase();
|
|
74
|
+
// 支持双向匹配:processName 包含 owner.name 或 owner.name 包含 processName
|
|
75
|
+
return ownerLower.includes(processNameLower) ||
|
|
76
|
+
processNameLower.includes(ownerLower) ||
|
|
77
|
+
titleLower.includes(processNameLower);
|
|
78
|
+
});
|
|
79
|
+
if (targetWindow) {
|
|
80
|
+
windowId = targetWindow.id;
|
|
81
|
+
windowBounds = {
|
|
82
|
+
x: targetWindow.bounds.x,
|
|
83
|
+
y: targetWindow.bounds.y,
|
|
84
|
+
width: targetWindow.bounds.width,
|
|
85
|
+
height: targetWindow.bounds.height
|
|
86
|
+
};
|
|
87
|
+
console.error(`[${timestamp}] [bot_screenshot] get-windows 窗口信息: id=${windowId}, bounds=${JSON.stringify(windowBounds)}`);
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
catch (e) {
|
|
89
|
-
console.error(`[${timestamp}] [bot_screenshot]
|
|
91
|
+
console.error(`[${timestamp}] [bot_screenshot] get-windows 获取窗口信息失败:`, e);
|
|
90
92
|
}
|
|
91
|
-
// 如果
|
|
93
|
+
// 方法2: 如果 get-windows 失败,尝试 AppleScript 获取窗口位置
|
|
92
94
|
if (!windowId) {
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
break
|
|
104
|
-
`;
|
|
95
|
+
const windowInfoScript = `tell application "System Events"
|
|
96
|
+
tell process "${processName}"
|
|
97
|
+
if (count of windows) > 0 then
|
|
98
|
+
set frontWin to first window
|
|
99
|
+
set winPos to position of frontWin
|
|
100
|
+
set winSize to size of frontWin
|
|
101
|
+
return (item 1 of winPos) & "," & (item 2 of winPos) & "," & (item 1 of winSize) & "," & (item 2 of winSize)
|
|
102
|
+
end if
|
|
103
|
+
end tell
|
|
104
|
+
end tell`;
|
|
105
105
|
try {
|
|
106
|
-
const { stdout } = await execAsync(`
|
|
106
|
+
const { stdout } = await execAsync(`osascript -e '${windowInfoScript}'`);
|
|
107
107
|
const parts = stdout.trim().split(',').map(n => parseInt(n.trim()));
|
|
108
|
-
if (parts.length >=
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
console.error(`[${timestamp}] [bot_screenshot] CGWindowList 窗口信息: id=${windowId}, bounds=${JSON.stringify(windowBounds)}`);
|
|
108
|
+
if (parts.length >= 4 && !isNaN(parts[0])) {
|
|
109
|
+
windowBounds = { x: parts[0], y: parts[1], width: parts[2], height: parts[3] };
|
|
110
|
+
console.error(`[${timestamp}] [bot_screenshot] AppleScript 窗口位置: bounds=${JSON.stringify(windowBounds)}`);
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
113
|
catch (e) {
|
|
115
|
-
console.error(`[${timestamp}] [bot_screenshot]
|
|
114
|
+
console.error(`[${timestamp}] [bot_screenshot] AppleScript 获取窗口位置失败:`, e);
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
const tmpFile = `/tmp/screenshot_${Date.now()}.png`;
|
|
119
118
|
if (windowId) {
|
|
120
|
-
// 使用窗口 ID
|
|
121
|
-
const cmd = `screencapture -l ${windowId} -x ${tmpFile}`;
|
|
119
|
+
// 使用窗口 ID 截图(最可靠),-o 去掉窗口阴影
|
|
120
|
+
const cmd = `screencapture -l ${windowId} -o -x ${tmpFile}`;
|
|
122
121
|
console.error(`[${timestamp}] [bot_screenshot] 使用窗口 ID 截图: ${cmd}`);
|
|
123
122
|
await execAsync(cmd);
|
|
124
123
|
}
|
|
@@ -146,12 +145,43 @@ export async function screenshotByProcess(processName, options = {}) {
|
|
|
146
145
|
scaleFactor = display?.scaleFactor || 1;
|
|
147
146
|
}
|
|
148
147
|
else if (isWindows()) {
|
|
149
|
-
// Windows: 获取窗口信息
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
// Windows: 使用 get-windows 获取窗口信息
|
|
149
|
+
try {
|
|
150
|
+
const windows = await openWindows(getWindowsOptions);
|
|
151
|
+
const processNameLower = processName.toLowerCase();
|
|
152
|
+
const targetWindow = windows.find(w => {
|
|
153
|
+
const ownerLower = w.owner.name.toLowerCase();
|
|
154
|
+
const titleLower = w.title.toLowerCase();
|
|
155
|
+
return ownerLower.includes(processNameLower) ||
|
|
156
|
+
processNameLower.includes(ownerLower) ||
|
|
157
|
+
titleLower.includes(processNameLower);
|
|
158
|
+
});
|
|
159
|
+
if (targetWindow) {
|
|
160
|
+
windowBounds = {
|
|
161
|
+
x: targetWindow.bounds.x,
|
|
162
|
+
y: targetWindow.bounds.y,
|
|
163
|
+
width: targetWindow.bounds.width,
|
|
164
|
+
height: targetWindow.bounds.height
|
|
165
|
+
};
|
|
166
|
+
console.error(`[${timestamp}] [bot_screenshot] get-windows 窗口信息: bounds=${JSON.stringify(windowBounds)}`);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// 回退到原来的方法
|
|
170
|
+
const winInfo = await getWindowByProcess(processName);
|
|
171
|
+
if (!winInfo) {
|
|
172
|
+
throw new Error(`Window not found for process: ${processName}`);
|
|
173
|
+
}
|
|
174
|
+
windowBounds = winInfo.bounds;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (e) {
|
|
178
|
+
console.error(`[${timestamp}] [bot_screenshot] get-windows 获取失败,尝试备用方法:`, e);
|
|
179
|
+
const winInfo = await getWindowByProcess(processName);
|
|
180
|
+
if (!winInfo) {
|
|
181
|
+
throw new Error(`Window not found for process: ${processName}`);
|
|
182
|
+
}
|
|
183
|
+
windowBounds = winInfo.bounds;
|
|
153
184
|
}
|
|
154
|
-
windowBounds = winInfo.bounds;
|
|
155
185
|
// Windows: 使用 node-screenshots
|
|
156
186
|
const screenshots = await import('node-screenshots');
|
|
157
187
|
const monitors = screenshots.Monitor.all();
|
package/dist/screenshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../src/screenshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../src/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-manager.d.ts","sourceRoot":"","sources":["../src/window-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"window-manager.d.ts","sourceRoot":"","sources":["../src/window-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAW7C;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyD1F;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAyHlE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA0HxF;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAyGzD"}
|
package/dist/window-manager.js
CHANGED
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
import { exec } from 'child_process';
|
|
6
6
|
import { promisify } from 'util';
|
|
7
7
|
import { isMacOS, isWindows } from './utils.js';
|
|
8
|
+
import { activeWindow, openWindows } from 'get-windows';
|
|
8
9
|
const execAsync = promisify(exec);
|
|
10
|
+
// get-windows 配置:不需要 url,需要 title
|
|
11
|
+
const getWindowsOptions = { accessibilityPermission: false, screenRecordingPermission: true };
|
|
9
12
|
/**
|
|
10
13
|
* 根据进程名激活窗口(置顶)
|
|
11
14
|
* @param processName 进程名称
|
|
@@ -75,10 +78,32 @@ export async function activateWindow(processName, title) {
|
|
|
75
78
|
* 获取当前活动窗口信息
|
|
76
79
|
*/
|
|
77
80
|
export async function getActiveWindow() {
|
|
81
|
+
try {
|
|
82
|
+
// 优先使用 get-windows(跨平台)
|
|
83
|
+
const win = await activeWindow(getWindowsOptions);
|
|
84
|
+
if (win) {
|
|
85
|
+
return {
|
|
86
|
+
title: win.title,
|
|
87
|
+
owner: {
|
|
88
|
+
name: win.owner.name,
|
|
89
|
+
processId: win.owner.processId
|
|
90
|
+
},
|
|
91
|
+
bounds: {
|
|
92
|
+
x: win.bounds.x,
|
|
93
|
+
y: win.bounds.y,
|
|
94
|
+
width: win.bounds.width,
|
|
95
|
+
height: win.bounds.height
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
console.error('[getActiveWindow] get-windows 失败,尝试备用方法:', e);
|
|
102
|
+
}
|
|
103
|
+
// 备用方法
|
|
78
104
|
const SEP = ':::SEP:::';
|
|
79
105
|
try {
|
|
80
106
|
if (isMacOS()) {
|
|
81
|
-
// 使用 focused window 而不是 first window,确保获取真正激活的窗口
|
|
82
107
|
const script = `
|
|
83
108
|
tell application "System Events"
|
|
84
109
|
set frontApp to first application process whose frontmost is true
|
|
@@ -87,7 +112,6 @@ export async function getActiveWindow() {
|
|
|
87
112
|
tell frontApp
|
|
88
113
|
set winCount to count of windows
|
|
89
114
|
if winCount > 0 then
|
|
90
|
-
-- 尝试获取 focused window,如果失败则用 first window
|
|
91
115
|
try
|
|
92
116
|
set frontWin to (first window whose value of attribute "AXMain" is true)
|
|
93
117
|
on error
|
|
@@ -96,7 +120,6 @@ export async function getActiveWindow() {
|
|
|
96
120
|
set winTitle to name of frontWin
|
|
97
121
|
set winPos to position of frontWin
|
|
98
122
|
set winSize to size of frontWin
|
|
99
|
-
-- 调试:输出窗口数量
|
|
100
123
|
return appName & ":::SEP:::" & appId & ":::SEP:::" & winTitle & ":::SEP:::" & (item 1 of winPos) & "," & (item 2 of winPos) & "," & (item 1 of winSize) & "," & (item 2 of winSize) & ":::SEP:::" & winCount
|
|
101
124
|
else
|
|
102
125
|
return appName & ":::SEP:::" & appId & ":::SEP:::" & ":::SEP:::" & "0,0,800,600" & ":::SEP:::" & "0"
|
|
@@ -104,15 +127,10 @@ export async function getActiveWindow() {
|
|
|
104
127
|
end tell
|
|
105
128
|
end tell
|
|
106
129
|
`;
|
|
107
|
-
const { stdout
|
|
108
|
-
console.error(`[getActiveWindow] AppleScript stdout: ${stdout.trim()}`);
|
|
109
|
-
if (stderr)
|
|
110
|
-
console.error(`[getActiveWindow] AppleScript stderr: ${stderr}`);
|
|
130
|
+
const { stdout } = await execAsync(`osascript -e '${script}'`);
|
|
111
131
|
const parts = stdout.trim().split(SEP);
|
|
112
132
|
if (parts.length >= 4) {
|
|
113
133
|
const bounds = parts[3].split(',').map(n => parseInt(n.trim()));
|
|
114
|
-
const winCount = parts[4] ? parseInt(parts[4]) : 0;
|
|
115
|
-
console.error(`[getActiveWindow] 解析结果: app=${parts[0]}, title=${parts[2]}, bounds=${parts[3]}, winCount=${winCount}`);
|
|
116
134
|
return {
|
|
117
135
|
title: parts[2],
|
|
118
136
|
owner: {
|
|
@@ -187,10 +205,40 @@ export async function getActiveWindow() {
|
|
|
187
205
|
* 根据进程名获取窗口信息
|
|
188
206
|
*/
|
|
189
207
|
export async function getWindowByProcess(processName) {
|
|
208
|
+
try {
|
|
209
|
+
// 优先使用 get-windows(跨平台)
|
|
210
|
+
const windows = await openWindows(getWindowsOptions);
|
|
211
|
+
const processNameLower = processName.toLowerCase();
|
|
212
|
+
const targetWindow = windows.find(w => {
|
|
213
|
+
const ownerLower = w.owner.name.toLowerCase();
|
|
214
|
+
const titleLower = w.title.toLowerCase();
|
|
215
|
+
return ownerLower.includes(processNameLower) ||
|
|
216
|
+
processNameLower.includes(ownerLower) ||
|
|
217
|
+
titleLower.includes(processNameLower);
|
|
218
|
+
});
|
|
219
|
+
if (targetWindow) {
|
|
220
|
+
return {
|
|
221
|
+
title: targetWindow.title,
|
|
222
|
+
owner: {
|
|
223
|
+
name: targetWindow.owner.name,
|
|
224
|
+
processId: targetWindow.owner.processId
|
|
225
|
+
},
|
|
226
|
+
bounds: {
|
|
227
|
+
x: targetWindow.bounds.x,
|
|
228
|
+
y: targetWindow.bounds.y,
|
|
229
|
+
width: targetWindow.bounds.width,
|
|
230
|
+
height: targetWindow.bounds.height
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
console.error('[getWindowByProcess] get-windows 失败,尝试备用方法:', e);
|
|
237
|
+
}
|
|
238
|
+
// 备用方法
|
|
190
239
|
const SEP = ':::SEP:::';
|
|
191
240
|
try {
|
|
192
241
|
if (isMacOS()) {
|
|
193
|
-
// 直接使用传入的进程名查找
|
|
194
242
|
const script = `
|
|
195
243
|
tell application "System Events"
|
|
196
244
|
tell process "${processName}"
|
|
@@ -282,14 +330,33 @@ export async function getWindowByProcess(processName) {
|
|
|
282
330
|
* 列出所有窗口
|
|
283
331
|
*/
|
|
284
332
|
export async function listWindows() {
|
|
333
|
+
try {
|
|
334
|
+
// 优先使用 get-windows(跨平台)
|
|
335
|
+
const windows = await openWindows(getWindowsOptions);
|
|
336
|
+
return windows.map(w => ({
|
|
337
|
+
title: w.title,
|
|
338
|
+
owner: {
|
|
339
|
+
name: w.owner.name,
|
|
340
|
+
processId: w.owner.processId
|
|
341
|
+
},
|
|
342
|
+
bounds: {
|
|
343
|
+
x: w.bounds.x,
|
|
344
|
+
y: w.bounds.y,
|
|
345
|
+
width: w.bounds.width,
|
|
346
|
+
height: w.bounds.height
|
|
347
|
+
}
|
|
348
|
+
}));
|
|
349
|
+
}
|
|
350
|
+
catch (e) {
|
|
351
|
+
console.error('[listWindows] get-windows 失败,尝试备用方法:', e);
|
|
352
|
+
}
|
|
353
|
+
// 备用方法
|
|
285
354
|
const SEP = ':::SEP:::';
|
|
286
355
|
try {
|
|
287
356
|
if (isMacOS()) {
|
|
288
|
-
// 获取所有前台进程
|
|
289
357
|
const { stdout: procList } = await execAsync(`osascript -e 'tell application "System Events" to get name of every process whose background only is false'`);
|
|
290
358
|
const procNames = procList.trim().split(', ');
|
|
291
359
|
const windows = [];
|
|
292
|
-
// 逐个获取窗口信息
|
|
293
360
|
for (const procName of procNames) {
|
|
294
361
|
try {
|
|
295
362
|
const script = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-manager.js","sourceRoot":"","sources":["../src/window-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"window-manager.js","sourceRoot":"","sources":["../src/window-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cool-mcp/desktop-automation",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MCP server for desktop automation - mouse, keyboard, screenshot, window management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,8 +38,9 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
42
41
|
"@computer-use/nut-js": "^4.2.0",
|
|
42
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
43
|
+
"get-windows": "^9.2.3",
|
|
43
44
|
"jimp": "1.6.0",
|
|
44
45
|
"node-screenshots": "^0.2.1",
|
|
45
46
|
"zod": "^3.23.0"
|