weapp-ide-cli 6.0.8 → 6.1.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.
@@ -1,6 +1,6 @@
1
1
  import { $ as createLocaleConfig, B as resolveCliPath, C as configureLocaleFromArgv, H as getConfiguredLocale, J as colors, Q as createCustomConfig, T as validateLocaleOption, U as resolveDevtoolsAutomationDefaults, X as createAutoBootstrapDevtoolsConfig, Y as logger_default, Z as createAutoTrustProjectConfig, a as releaseSharedMiniProgram, et as overwriteCustomConfig, it as defaultCustomConfigFilePath, n as closeSharedMiniProgram, nt as removeCustomConfigKey, r as connectMiniProgram, t as acquireSharedMiniProgram, tt as readCustomConfig, w as i18nText } from "./automator-session-BIjYknSi.js";
2
2
  import { A as isWechatIdeLoggedIn, B as runWechatCliCommand, C as clearWechatIdeCache, F as quitWechatIde, G as transformArgv, H as execute, K as promptForCliPath, L as resetWechatIdeFileUtils, M as openWechatIde, N as openWechatIdeOtherProject, P as previewWechatIde, Q as startWechatIdeEngineBuildByHttp, S as buildWechatIdeNpm, T as closeWechatIdeProject, U as createAlias, W as createPathCompat, Y as pollWechatIdeEngineBuildResultByHttp, _ as autoPreviewWechatIde, a as navigateBack, b as buildWechatIdeApk, c as pageStack, d as remote, f as scrollTo, g as tap, i as input, it as removeOption, j as loginWechatIde, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as readBooleanOption, o as navigateTo, p as switchTab, r as currentPage, rt as readOptionValue, s as pageData, t as audit, tt as parseAutomatorArgs, u as redirectTo, v as autoReplayWechatIde, x as buildWechatIdeIpa, y as autoWechatIde, z as uploadWechatIde } from "./commands-9WCVsqHn.js";
3
- import "./run-mcp-BHW8rcxB.js";
3
+ import "./run-mcp-BTB9ire3.js";
4
4
  import fs from "node:fs/promises";
5
5
  import path from "node:path";
6
6
  import { fs as fs$1 } from "@weapp-core/shared/fs";
@@ -1774,7 +1774,7 @@ async function parse(argv) {
1774
1774
  return;
1775
1775
  }
1776
1776
  if (matchedCommand === "mcp") {
1777
- const { runMcpCommand } = await import("./run-mcp-CWdKWbN_.js");
1777
+ const { runMcpCommand } = await import("./run-mcp-Q3skAZs_.js");
1778
1778
  await runMcpCommand(argv.slice(1));
1779
1779
  return;
1780
1780
  }
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Y as logger_default } from "./automator-session-BIjYknSi.js";
2
- import { n as parse } from "./cli-BvhTwRjo.js";
2
+ import { n as parse } from "./cli-CFRAOBIw.js";
3
3
  import process from "node:process";
4
4
  //#region src/cli.ts
5
5
  const argv = process.argv.slice(2);
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  import { AutomatorElement, AutomatorMiniProgram, AutomatorPage, DevtoolsConnectionInput, DevtoolsContext, DevtoolsElementSnapshot, DevtoolsPageSnapshot, DevtoolsRuntimeSessionOptions, DevtoolsToolResult, MiniProgramEventMap, closeSharedMiniProgram, getSharedMiniProgramSessionCount, readDevtoolsElementSnapshot as readElementSnapshot, releaseSharedMiniProgram, resolveDevtoolsProjectPath as resolveProjectPath, toDevtoolsSerializableValue as toSerializableValue } from "@weapp-vite/devtools-runtime";
3
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { McpServer } from "@modelcontextprotocol/server";
4
4
  //#region src/cli/automator.d.ts
5
5
  interface AutomatorOptions {
6
6
  projectPath: string;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { $ as createLocaleConfig, A as isAutomatorPortInUseError, B as resolveCliPath, D as formatAutomatorLoginError, E as connectOpenedAutomator, F as isRetryableAutomatorLaunchError, G as getDefaultCliPath, H as getConfiguredLocale, I as launchAutomator, K as isOperatingSystemSupported, L as resolveProjectAutomatorPort, M as isAutomatorWsConnectError, N as isDevtoolsExtensionContextInvalidatedError, O as getAutomatorProtocolTimeoutMethod, P as isDevtoolsHttpPortError, Q as createCustomConfig, R as bootstrapWechatDevtoolsSettings, S as waitForExclusiveKeypress, U as resolveDevtoolsAutomationDefaults, V as getConfig, W as SupportedPlatformsMap, X as createAutoBootstrapDevtoolsConfig, Z as createAutoTrustProjectConfig, _ as promptRetryKeypress, a as releaseSharedMiniProgram, at as resolvePath, b as createSharedInputSession, c as RETRY_CANCEL_KEYS, d as createWechatIdeLoginRequiredExitError, et as overwriteCustomConfig, f as extractExecutionErrorText, g as isWechatIdeLoginRequiredExitError, h as isWechatIdeLoginRequiredError, i as getSharedMiniProgramSessionCount, it as defaultCustomConfigFilePath, j as isAutomatorProtocolTimeoutError, k as isAutomatorLoginError, l as RETRY_CONFIRM_KEYS, m as formatWechatIdeLoginRequiredError, n as closeSharedMiniProgram, nt as removeCustomConfigKey, o as withMiniProgram, p as formatRetryHotkeyPrompt, q as operatingSystemName, r as connectMiniProgram, rt as defaultCustomConfigDirPath, s as runRetryableCommand, t as acquireSharedMiniProgram, tt as readCustomConfig, u as RETRY_PROMPT_INITIAL_IGNORE_MS, v as promptWechatIdeLoginRetry, x as runWithSuspendedSharedInput, y as waitForRetryKeypress, z as detectWechatDevtoolsServicePort } from "./automator-session-BIjYknSi.js";
2
2
  import { $ as getRuntimeWechatDevtoolsServicePort, A as isWechatIdeLoggedIn, C as clearWechatIdeCache, D as getWechatIdeTestAccounts, E as compileWechatIdeByAutomator, F as quitWechatIde, G as transformArgv, H as execute, I as refreshWechatIdeTicket, J as openWechatIdeProjectByHttp, K as promptForCliPath, L as resetWechatIdeFileUtils, M as openWechatIde, N as openWechatIdeOtherProject, O as getWechatIdeTicket, P as previewWechatIde, Q as startWechatIdeEngineBuildByHttp, R as setWechatIdeTicket, S as buildWechatIdeNpm, T as closeWechatIdeProject, U as createAlias, V as runWechatCliWithRetry, W as createPathCompat, X as requestWechatDevtoolsHttp, Y as pollWechatIdeEngineBuildResultByHttp, Z as resetWechatIdeFileUtilsByHttp, _ as autoPreviewWechatIde, a as navigateBack, b as buildWechatIdeApk, c as pageStack, d as remote, et as setRuntimeWechatDevtoolsServicePort, f as scrollTo, g as tap, h as takeScreenshot, i as input, it as removeOption, j as loginWechatIde, k as getWechatIdeToolInfo, l as reLaunch, m as systemInfo, n as captureScreenshotBuffer, nt as readBooleanOption, o as navigateTo, p as switchTab, q as WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, r as currentPage, rt as readOptionValue, s as pageData, t as audit, tt as parseAutomatorArgs, u as redirectTo, v as autoReplayWechatIde, w as clearWechatIdeCacheByAutomator, x as buildWechatIdeIpa, y as autoWechatIde, z as uploadWechatIde } from "./commands-9WCVsqHn.js";
3
- import { C as parseCompareArgs, S as printScreenshotHelp, _ as AUTOMATOR_COMMAND_NAMES, a as runMinidev, b as runAutomatorCommand, c as runWechatIdeEngineBuild, d as CONFIG_COMMAND_NAME, f as MCP_COMMAND_NAME, g as isWeappIdeTopLevelCommand, h as WECHAT_CLI_COMMAND_NAMES, i as validateWechatCliCommandArgs, l as runWechatIdeEngineBuildByHttp, m as WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, n as parse, o as startForwardConsole, p as MINIDEV_NAMESPACE_COMMAND_NAMES, r as dispatchWechatCliCommand, s as isWechatIdeEngineBuildEndpointMissingError, t as createCli, u as handleConfigCommand, v as getAutomatorCommandHelp, w as printCompareHelp, x as parseScreenshotArgs, y as isAutomatorCommand } from "./cli-BvhTwRjo.js";
4
- import { a as readElementSnapshot, i as registerWeappIdeMcpTools, n as startWeappIdeMcpServer, o as resolveProjectPath, r as createWeappIdeMcpServer, s as toSerializableValue, t as runMcpCommand } from "./run-mcp-BHW8rcxB.js";
3
+ import { C as parseCompareArgs, S as printScreenshotHelp, _ as AUTOMATOR_COMMAND_NAMES, a as runMinidev, b as runAutomatorCommand, c as runWechatIdeEngineBuild, d as CONFIG_COMMAND_NAME, f as MCP_COMMAND_NAME, g as isWeappIdeTopLevelCommand, h as WECHAT_CLI_COMMAND_NAMES, i as validateWechatCliCommandArgs, l as runWechatIdeEngineBuildByHttp, m as WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, n as parse, o as startForwardConsole, p as MINIDEV_NAMESPACE_COMMAND_NAMES, r as dispatchWechatCliCommand, s as isWechatIdeEngineBuildEndpointMissingError, t as createCli, u as handleConfigCommand, v as getAutomatorCommandHelp, w as printCompareHelp, x as parseScreenshotArgs, y as isAutomatorCommand } from "./cli-CFRAOBIw.js";
4
+ import { a as readElementSnapshot, i as registerWeappIdeMcpTools, n as startWeappIdeMcpServer, o as resolveProjectPath, r as createWeappIdeMcpServer, s as toSerializableValue, t as runMcpCommand } from "./run-mcp-BTB9ire3.js";
5
5
  export { AUTOMATOR_COMMAND_NAMES, CONFIG_COMMAND_NAME, MCP_COMMAND_NAME, MINIDEV_NAMESPACE_COMMAND_NAMES, RETRY_CANCEL_KEYS, RETRY_CONFIRM_KEYS, RETRY_PROMPT_INITIAL_IGNORE_MS, SupportedPlatformsMap, WEAPP_IDE_TOP_LEVEL_COMMAND_NAMES, WECHAT_CLI_COMMAND_NAMES, WECHAT_DEVTOOLS_ENGINE_BUILD_STATUSES, acquireSharedMiniProgram, audit, autoPreviewWechatIde, autoReplayWechatIde, autoWechatIde, bootstrapWechatDevtoolsSettings, buildWechatIdeApk, buildWechatIdeIpa, buildWechatIdeNpm, captureScreenshotBuffer, clearWechatIdeCache, clearWechatIdeCacheByAutomator, closeSharedMiniProgram, closeWechatIdeProject, compileWechatIdeByAutomator, connectMiniProgram, connectOpenedAutomator, createAlias, createAutoBootstrapDevtoolsConfig, createAutoTrustProjectConfig, createCli, createCustomConfig, createLocaleConfig, createPathCompat, createSharedInputSession, createWeappIdeMcpServer, createWechatIdeLoginRequiredExitError, currentPage, defaultCustomConfigDirPath, defaultCustomConfigFilePath, detectWechatDevtoolsServicePort, dispatchWechatCliCommand, execute, extractExecutionErrorText, formatAutomatorLoginError, formatRetryHotkeyPrompt, formatWechatIdeLoginRequiredError, getAutomatorCommandHelp, getAutomatorProtocolTimeoutMethod, getConfig, getConfiguredLocale, getDefaultCliPath, getRuntimeWechatDevtoolsServicePort, getSharedMiniProgramSessionCount, getWechatIdeTestAccounts, getWechatIdeTicket, getWechatIdeToolInfo, handleConfigCommand, input, isAutomatorCommand, isAutomatorLoginError, isAutomatorPortInUseError, isAutomatorProtocolTimeoutError, isAutomatorWsConnectError, isDevtoolsExtensionContextInvalidatedError, isDevtoolsHttpPortError, isOperatingSystemSupported, isRetryableAutomatorLaunchError, isWeappIdeTopLevelCommand, isWechatIdeEngineBuildEndpointMissingError, isWechatIdeLoggedIn, isWechatIdeLoginRequiredError, isWechatIdeLoginRequiredExitError, launchAutomator, loginWechatIde, navigateBack, navigateTo, openWechatIde, openWechatIdeOtherProject, openWechatIdeProjectByHttp, operatingSystemName, overwriteCustomConfig, pageData, pageStack, parse, parseAutomatorArgs, parseCompareArgs, parseScreenshotArgs, pollWechatIdeEngineBuildResultByHttp, previewWechatIde, printCompareHelp, printScreenshotHelp, promptForCliPath, promptRetryKeypress, promptWechatIdeLoginRetry, quitWechatIde, reLaunch, readBooleanOption, readCustomConfig, readElementSnapshot, readOptionValue, redirectTo, refreshWechatIdeTicket, registerWeappIdeMcpTools, releaseSharedMiniProgram, remote, removeCustomConfigKey, removeOption, requestWechatDevtoolsHttp, resetWechatIdeFileUtils, resetWechatIdeFileUtilsByHttp, resolveCliPath, resolveDevtoolsAutomationDefaults, resolvePath, resolveProjectAutomatorPort, resolveProjectPath, runAutomatorCommand, runMcpCommand, runMinidev, runRetryableCommand, runWechatCliWithRetry, runWechatIdeEngineBuild, runWechatIdeEngineBuildByHttp, runWithSuspendedSharedInput, scrollTo, setRuntimeWechatDevtoolsServicePort, setWechatIdeTicket, startForwardConsole, startWeappIdeMcpServer, startWechatIdeEngineBuildByHttp, switchTab, systemInfo, takeScreenshot, tap, toSerializableValue, transformArgv, uploadWechatIde, validateWechatCliCommandArgs, waitForExclusiveKeypress, waitForRetryKeypress, withMiniProgram };
@@ -4,8 +4,8 @@ import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import process from "node:process";
6
6
  import { readDevtoolsElementSnapshot as readElementSnapshot, resolveDevtoolsProjectPath as resolveProjectPath, toDevtoolsSerializableValue as toSerializableValue } from "@weapp-vite/devtools-runtime";
7
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
8
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
7
+ import { serveStdio } from "@modelcontextprotocol/server/stdio";
8
+ import { McpServer } from "@modelcontextprotocol/server";
9
9
  import { z } from "zod";
10
10
  //#region src/mcp/server.ts
11
11
  function createResolvedProjectPath(workspaceRoot, projectPath) {
@@ -55,7 +55,7 @@ function registerWeappIdeMcpTools(server, options) {
55
55
  server.registerTool("weapp_devtools_connect", {
56
56
  title: "Connect DevTools",
57
57
  description: "连接当前项目的微信开发者工具并返回页面信息。",
58
- inputSchema: defineConnectionSchema()
58
+ inputSchema: z.object(defineConnectionSchema())
59
59
  }, async (input) => {
60
60
  try {
61
61
  const result = await withConnectedMiniProgram(options.runtimeHooks, workspaceRoot, input, async (miniProgram) => {
@@ -91,7 +91,7 @@ function registerWeappIdeMcpTools(server, options) {
91
91
  server.registerTool("weapp_devtools_active_page", {
92
92
  title: "Current Page",
93
93
  description: "读取当前页面路径、query、尺寸、滚动位置和页面 data。",
94
- inputSchema: definePageSchema()
94
+ inputSchema: z.object(definePageSchema())
95
95
  }, async (input) => {
96
96
  try {
97
97
  const result = await withConnectedPage(options.runtimeHooks, workspaceRoot, input, async (page) => {
@@ -128,7 +128,7 @@ function registerWeappIdeMcpTools(server, options) {
128
128
  server.registerTool("weapp_devtools_page_stack", {
129
129
  title: "Page Stack",
130
130
  description: "读取当前小程序页面栈。",
131
- inputSchema: defineConnectionSchema()
131
+ inputSchema: z.object(defineConnectionSchema())
132
132
  }, async (input) => {
133
133
  try {
134
134
  const result = await withConnectedMiniProgram(options.runtimeHooks, workspaceRoot, input, async (miniProgram) => {
@@ -157,11 +157,11 @@ function registerWeappIdeMcpTools(server, options) {
157
157
  server.registerTool("weapp_runtime_find_node", {
158
158
  title: "Find Node",
159
159
  description: "通过 selector 查找单个节点,并返回节点快照。",
160
- inputSchema: {
160
+ inputSchema: z.object({
161
161
  ...defineElementSchema(),
162
162
  attributes: z.array(z.string().trim().min(1)).optional(),
163
163
  styles: z.array(z.string().trim().min(1)).optional()
164
- }
164
+ })
165
165
  }, async (input) => {
166
166
  try {
167
167
  const result = await withConnectedPage(options.runtimeHooks, workspaceRoot, input, async (page) => {
@@ -189,10 +189,10 @@ function registerWeappIdeMcpTools(server, options) {
189
189
  server.registerTool("weapp_runtime_find_nodes", {
190
190
  title: "Find Nodes",
191
191
  description: "通过 selector 查找多个节点,并返回节点快照列表。",
192
- inputSchema: {
192
+ inputSchema: z.object({
193
193
  ...defineElementSchema(),
194
194
  limit: z.number().int().positive().max(100).optional()
195
- }
195
+ })
196
196
  }, async (input) => {
197
197
  try {
198
198
  const result = await withConnectedPage(options.runtimeHooks, workspaceRoot, input, async (page) => {
@@ -220,7 +220,7 @@ function registerWeappIdeMcpTools(server, options) {
220
220
  server.registerTool("weapp_runtime_tap_node", {
221
221
  title: "Tap Node",
222
222
  description: "点击指定节点。",
223
- inputSchema: defineElementSchema()
223
+ inputSchema: z.object(defineElementSchema())
224
224
  }, async (input) => {
225
225
  try {
226
226
  const result = await withConnectedPage(options.runtimeHooks, workspaceRoot, input, async (page) => {
@@ -252,10 +252,10 @@ function registerWeappIdeMcpTools(server, options) {
252
252
  server.registerTool("weapp_runtime_input_node", {
253
253
  title: "Input Node",
254
254
  description: "向指定节点输入文本。",
255
- inputSchema: {
255
+ inputSchema: z.object({
256
256
  ...defineElementSchema(),
257
257
  value: z.string()
258
- }
258
+ })
259
259
  }, async (input) => {
260
260
  try {
261
261
  const result = await withConnectedPage(options.runtimeHooks, workspaceRoot, input, async (page) => {
@@ -290,10 +290,10 @@ function registerWeappIdeMcpTools(server, options) {
290
290
  server.registerTool("weapp_devtools_capture", {
291
291
  title: "Capture Screenshot",
292
292
  description: "截取当前小程序视口并返回 base64,支持保存到文件。",
293
- inputSchema: {
293
+ inputSchema: z.object({
294
294
  ...defineConnectionSchema(),
295
295
  outputPath: z.string().trim().min(1).optional()
296
- }
296
+ })
297
297
  }, async (input) => {
298
298
  try {
299
299
  const result = await withConnectedMiniProgram(options.runtimeHooks, workspaceRoot, input, async (miniProgram) => {
@@ -334,11 +334,11 @@ function registerWeappIdeMcpTools(server, options) {
334
334
  server.registerTool("weapp_devtools_host_api", {
335
335
  title: "Call wx Method",
336
336
  description: "调用小程序 wx API。",
337
- inputSchema: {
337
+ inputSchema: z.object({
338
338
  ...defineConnectionSchema(),
339
339
  method: z.string().trim().min(1),
340
340
  args: z.array(z.unknown()).optional()
341
- }
341
+ })
342
342
  }, async (input) => {
343
343
  try {
344
344
  const result = await withConnectedMiniProgram(options.runtimeHooks, workspaceRoot, input, async (miniProgram) => {
@@ -380,14 +380,16 @@ async function createWeappIdeMcpServer(options) {
380
380
  //#endregion
381
381
  //#region src/mcp/runtime.ts
382
382
  async function startWeappIdeMcpServer(options = {}) {
383
- const { server } = await createWeappIdeMcpServer({
383
+ const serverOptions = {
384
384
  runtimeHooks: { withMiniProgram: withMiniProgram$1 },
385
385
  workspaceRoot: options.workspaceRoot
386
+ };
387
+ const handle = serveStdio(async () => {
388
+ const { server } = await createWeappIdeMcpServer(serverOptions);
389
+ return server;
386
390
  });
387
- const transport = new StdioServerTransport();
388
- await server.connect(transport);
389
391
  return { close: async () => {
390
- await transport.close();
392
+ await handle.close();
391
393
  } };
392
394
  }
393
395
  //#endregion
@@ -0,0 +1,2 @@
1
+ import { t as runMcpCommand } from "./run-mcp-BTB9ire3.js";
2
+ export { runMcpCommand };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-ide-cli",
3
3
  "type": "module",
4
- "version": "6.0.8",
4
+ "version": "6.1.0",
5
5
  "description": "让微信开发者工具,用起来更加方便!",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -62,17 +62,20 @@
62
62
  "registry": "https://registry.npmjs.org/"
63
63
  },
64
64
  "dependencies": {
65
- "@modelcontextprotocol/sdk": "^1.30.0",
65
+ "@modelcontextprotocol/server": "^2.0.0",
66
66
  "cac": "^7.0.0",
67
67
  "execa": "10.0.1",
68
68
  "pathe": "^2.0.3",
69
69
  "pixelmatch": "^7.2.0",
70
70
  "pngjs": "^7.0.0",
71
71
  "zod": "^4.4.3",
72
- "@weapp-vite/miniprogram-automator": "1.2.15",
72
+ "@weapp-core/logger": "3.1.1",
73
73
  "@weapp-core/shared": "3.2.0",
74
- "@weapp-vite/devtools-runtime": "0.4.16",
75
- "@weapp-core/logger": "3.1.1"
74
+ "@weapp-vite/devtools-runtime": "0.4.17",
75
+ "@weapp-vite/miniprogram-automator": "1.2.16"
76
+ },
77
+ "devDependencies": {
78
+ "@types/node": "^26.4.0"
76
79
  },
77
80
  "scripts": {
78
81
  "dev": "tsdown -w --sourcemap",
@@ -1,2 +0,0 @@
1
- import { t as runMcpCommand } from "./run-mcp-BHW8rcxB.js";
2
- export { runMcpCommand };