@creatoria/miniapp-mcp 0.2.0 → 0.2.2

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.
Files changed (228) hide show
  1. package/README.md +127 -73
  2. package/dist/capabilities/assert/handlers/assert-handlers.d.ts +98 -0
  3. package/dist/capabilities/assert/handlers/assert-handlers.d.ts.map +1 -0
  4. package/dist/capabilities/assert/handlers/assert-handlers.js +179 -0
  5. package/dist/capabilities/assert/handlers/assert-handlers.js.map +1 -0
  6. package/dist/capabilities/assert/handlers/index.d.ts +7 -0
  7. package/dist/capabilities/assert/handlers/index.d.ts.map +1 -0
  8. package/dist/capabilities/assert/handlers/index.js +7 -0
  9. package/dist/capabilities/assert/handlers/index.js.map +1 -0
  10. package/dist/capabilities/assert/index.d.ts +12 -2
  11. package/dist/capabilities/assert/index.d.ts.map +1 -1
  12. package/dist/capabilities/assert/index.js +87 -2
  13. package/dist/capabilities/assert/index.js.map +1 -1
  14. package/dist/capabilities/assert/schemas/index.d.ts +101 -0
  15. package/dist/capabilities/assert/schemas/index.d.ts.map +1 -0
  16. package/dist/capabilities/assert/schemas/index.js +62 -0
  17. package/dist/capabilities/assert/schemas/index.js.map +1 -0
  18. package/dist/capabilities/automator/handlers/close.d.ts +18 -0
  19. package/dist/capabilities/automator/handlers/close.d.ts.map +1 -0
  20. package/dist/capabilities/automator/handlers/close.js +45 -0
  21. package/dist/capabilities/automator/handlers/close.js.map +1 -0
  22. package/dist/capabilities/automator/handlers/connect.d.ts +24 -0
  23. package/dist/capabilities/automator/handlers/connect.d.ts.map +1 -0
  24. package/dist/capabilities/automator/handlers/connect.js +51 -0
  25. package/dist/capabilities/automator/handlers/connect.js.map +1 -0
  26. package/dist/capabilities/automator/handlers/disconnect.d.ts +16 -0
  27. package/dist/capabilities/automator/handlers/disconnect.d.ts.map +1 -0
  28. package/dist/capabilities/automator/handlers/disconnect.js +44 -0
  29. package/dist/capabilities/automator/handlers/disconnect.js.map +1 -0
  30. package/dist/capabilities/automator/handlers/index.d.ts +8 -0
  31. package/dist/capabilities/automator/handlers/index.d.ts.map +1 -0
  32. package/dist/capabilities/automator/handlers/index.js +8 -0
  33. package/dist/capabilities/automator/handlers/index.js.map +1 -0
  34. package/dist/capabilities/automator/handlers/launch.d.ts +25 -0
  35. package/dist/capabilities/automator/handlers/launch.d.ts.map +1 -0
  36. package/dist/capabilities/automator/handlers/launch.js +61 -0
  37. package/dist/capabilities/automator/handlers/launch.js.map +1 -0
  38. package/dist/capabilities/automator/index.d.ts +11 -2
  39. package/dist/capabilities/automator/index.d.ts.map +1 -1
  40. package/dist/capabilities/automator/index.js +51 -2
  41. package/dist/capabilities/automator/index.js.map +1 -1
  42. package/dist/capabilities/automator/schemas/index.d.ts +5 -0
  43. package/dist/capabilities/automator/schemas/index.d.ts.map +1 -1
  44. package/dist/capabilities/automator/schemas/index.js +6 -4
  45. package/dist/capabilities/automator/schemas/index.js.map +1 -1
  46. package/dist/capabilities/element/handlers/element-handlers.d.ts +212 -0
  47. package/dist/capabilities/element/handlers/element-handlers.d.ts.map +1 -0
  48. package/dist/capabilities/element/handlers/element-handlers.js +383 -0
  49. package/dist/capabilities/element/handlers/element-handlers.js.map +1 -0
  50. package/dist/capabilities/element/handlers/index.d.ts +7 -0
  51. package/dist/capabilities/element/handlers/index.d.ts.map +1 -0
  52. package/dist/capabilities/element/handlers/index.js +27 -0
  53. package/dist/capabilities/element/handlers/index.js.map +1 -0
  54. package/dist/capabilities/element/index.d.ts +17 -2
  55. package/dist/capabilities/element/index.d.ts.map +1 -1
  56. package/dist/capabilities/element/index.js +196 -2
  57. package/dist/capabilities/element/index.js.map +1 -1
  58. package/dist/capabilities/element/schemas/index.d.ts +325 -0
  59. package/dist/capabilities/element/schemas/index.d.ts.map +1 -0
  60. package/dist/capabilities/element/schemas/index.js +168 -0
  61. package/dist/capabilities/element/schemas/index.js.map +1 -0
  62. package/dist/capabilities/index.d.ts +23 -4
  63. package/dist/capabilities/index.d.ts.map +1 -1
  64. package/dist/capabilities/index.js +29 -3
  65. package/dist/capabilities/index.js.map +1 -1
  66. package/dist/capabilities/loader.d.ts +61 -0
  67. package/dist/capabilities/loader.d.ts.map +1 -0
  68. package/dist/capabilities/loader.js +164 -0
  69. package/dist/capabilities/loader.js.map +1 -0
  70. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts +24 -0
  71. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts.map +1 -0
  72. package/dist/capabilities/miniprogram/handlers/call-wx.js +37 -0
  73. package/dist/capabilities/miniprogram/handlers/call-wx.js.map +1 -0
  74. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts +32 -0
  75. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts.map +1 -0
  76. package/dist/capabilities/miniprogram/handlers/evaluate.js +51 -0
  77. package/dist/capabilities/miniprogram/handlers/evaluate.js.map +1 -0
  78. package/dist/capabilities/miniprogram/handlers/index.d.ts +12 -0
  79. package/dist/capabilities/miniprogram/handlers/index.d.ts.map +1 -0
  80. package/dist/capabilities/miniprogram/handlers/index.js +12 -0
  81. package/dist/capabilities/miniprogram/handlers/index.js.map +1 -0
  82. package/dist/capabilities/miniprogram/handlers/navigate.d.ts +26 -0
  83. package/dist/capabilities/miniprogram/handlers/navigate.d.ts.map +1 -0
  84. package/dist/capabilities/miniprogram/handlers/navigate.js +56 -0
  85. package/dist/capabilities/miniprogram/handlers/navigate.js.map +1 -0
  86. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts +20 -0
  87. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts.map +1 -0
  88. package/dist/capabilities/miniprogram/handlers/page-stack.js +37 -0
  89. package/dist/capabilities/miniprogram/handlers/page-stack.js.map +1 -0
  90. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts +33 -0
  91. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts.map +1 -0
  92. package/dist/capabilities/miniprogram/handlers/screenshot.js +132 -0
  93. package/dist/capabilities/miniprogram/handlers/screenshot.js.map +1 -0
  94. package/dist/capabilities/miniprogram/handlers/system-info.d.ts +17 -0
  95. package/dist/capabilities/miniprogram/handlers/system-info.d.ts.map +1 -0
  96. package/dist/capabilities/miniprogram/handlers/system-info.js +31 -0
  97. package/dist/capabilities/miniprogram/handlers/system-info.js.map +1 -0
  98. package/dist/capabilities/miniprogram/index.d.ts +12 -2
  99. package/dist/capabilities/miniprogram/index.d.ts.map +1 -1
  100. package/dist/capabilities/miniprogram/index.js +66 -2
  101. package/dist/capabilities/miniprogram/index.js.map +1 -1
  102. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts +15 -0
  103. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts.map +1 -0
  104. package/dist/capabilities/miniprogram/schemas/call-wx.js +11 -0
  105. package/dist/capabilities/miniprogram/schemas/call-wx.js.map +1 -0
  106. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts +15 -0
  107. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts.map +1 -0
  108. package/dist/capabilities/miniprogram/schemas/evaluate.js +11 -0
  109. package/dist/capabilities/miniprogram/schemas/evaluate.js.map +1 -0
  110. package/dist/capabilities/miniprogram/schemas/index.d.ts +10 -0
  111. package/dist/capabilities/miniprogram/schemas/index.d.ts.map +1 -0
  112. package/dist/capabilities/miniprogram/schemas/index.js +10 -0
  113. package/dist/capabilities/miniprogram/schemas/index.js.map +1 -0
  114. package/dist/capabilities/miniprogram/schemas/navigate.d.ts +18 -0
  115. package/dist/capabilities/miniprogram/schemas/navigate.d.ts.map +1 -0
  116. package/dist/capabilities/miniprogram/schemas/navigate.js +22 -0
  117. package/dist/capabilities/miniprogram/schemas/navigate.js.map +1 -0
  118. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts +6 -0
  119. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts.map +1 -0
  120. package/dist/capabilities/miniprogram/schemas/page-stack.js +6 -0
  121. package/dist/capabilities/miniprogram/schemas/page-stack.js.map +1 -0
  122. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts +18 -0
  123. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts.map +1 -0
  124. package/dist/capabilities/miniprogram/schemas/screenshot.js +21 -0
  125. package/dist/capabilities/miniprogram/schemas/screenshot.js.map +1 -0
  126. package/dist/capabilities/miniprogram/schemas/system-info.d.ts +6 -0
  127. package/dist/capabilities/miniprogram/schemas/system-info.d.ts.map +1 -0
  128. package/dist/capabilities/miniprogram/schemas/system-info.js +6 -0
  129. package/dist/capabilities/miniprogram/schemas/system-info.js.map +1 -0
  130. package/dist/capabilities/network/handlers/index.d.ts +7 -0
  131. package/dist/capabilities/network/handlers/index.d.ts.map +1 -0
  132. package/dist/capabilities/network/handlers/index.js +7 -0
  133. package/dist/capabilities/network/handlers/index.js.map +1 -0
  134. package/dist/capabilities/network/handlers/network-handlers.d.ts +53 -0
  135. package/dist/capabilities/network/handlers/network-handlers.d.ts.map +1 -0
  136. package/dist/capabilities/network/handlers/network-handlers.js +127 -0
  137. package/dist/capabilities/network/handlers/network-handlers.js.map +1 -0
  138. package/dist/capabilities/network/index.d.ts +12 -2
  139. package/dist/capabilities/network/index.d.ts.map +1 -1
  140. package/dist/capabilities/network/index.js +66 -2
  141. package/dist/capabilities/network/index.js.map +1 -1
  142. package/dist/capabilities/network/schemas/index.d.ts +53 -0
  143. package/dist/capabilities/network/schemas/index.d.ts.map +1 -0
  144. package/dist/capabilities/network/schemas/index.js +33 -0
  145. package/dist/capabilities/network/schemas/index.js.map +1 -0
  146. package/dist/capabilities/page/handlers/index.d.ts +7 -0
  147. package/dist/capabilities/page/handlers/index.d.ts.map +1 -0
  148. package/dist/capabilities/page/handlers/index.js +7 -0
  149. package/dist/capabilities/page/handlers/index.js.map +1 -0
  150. package/dist/capabilities/page/handlers/page-handlers.d.ts +165 -0
  151. package/dist/capabilities/page/handlers/page-handlers.d.ts.map +1 -0
  152. package/dist/capabilities/page/handlers/page-handlers.js +258 -0
  153. package/dist/capabilities/page/handlers/page-handlers.js.map +1 -0
  154. package/dist/capabilities/page/index.d.ts +12 -2
  155. package/dist/capabilities/page/index.d.ts.map +1 -1
  156. package/dist/capabilities/page/index.js +80 -2
  157. package/dist/capabilities/page/index.js.map +1 -1
  158. package/dist/capabilities/page/schemas/index.d.ts +91 -0
  159. package/dist/capabilities/page/schemas/index.d.ts.map +1 -0
  160. package/dist/capabilities/page/schemas/index.js +55 -0
  161. package/dist/capabilities/page/schemas/index.js.map +1 -0
  162. package/dist/capabilities/record/handlers/index.d.ts +7 -0
  163. package/dist/capabilities/record/handlers/index.d.ts.map +1 -0
  164. package/dist/capabilities/record/handlers/index.js +7 -0
  165. package/dist/capabilities/record/handlers/index.js.map +1 -0
  166. package/dist/capabilities/record/handlers/record-handlers.d.ts +76 -0
  167. package/dist/capabilities/record/handlers/record-handlers.d.ts.map +1 -0
  168. package/dist/capabilities/record/handlers/record-handlers.js +255 -0
  169. package/dist/capabilities/record/handlers/record-handlers.js.map +1 -0
  170. package/dist/capabilities/record/index.d.ts +12 -2
  171. package/dist/capabilities/record/index.d.ts.map +1 -1
  172. package/dist/capabilities/record/index.js +66 -2
  173. package/dist/capabilities/record/index.js.map +1 -1
  174. package/dist/capabilities/record/schemas/index.d.ts +47 -0
  175. package/dist/capabilities/record/schemas/index.d.ts.map +1 -0
  176. package/dist/capabilities/record/schemas/index.js +33 -0
  177. package/dist/capabilities/record/schemas/index.js.map +1 -0
  178. package/dist/capabilities/registry.d.ts +138 -0
  179. package/dist/capabilities/registry.d.ts.map +1 -0
  180. package/dist/capabilities/registry.js +261 -0
  181. package/dist/capabilities/registry.js.map +1 -0
  182. package/dist/capabilities/snapshot/handlers/index.d.ts +7 -0
  183. package/dist/capabilities/snapshot/handlers/index.d.ts.map +1 -0
  184. package/dist/capabilities/snapshot/handlers/index.js +7 -0
  185. package/dist/capabilities/snapshot/handlers/index.js.map +1 -0
  186. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts +75 -0
  187. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts.map +1 -0
  188. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js +201 -0
  189. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js.map +1 -0
  190. package/dist/capabilities/snapshot/index.d.ts +12 -2
  191. package/dist/capabilities/snapshot/index.d.ts.map +1 -1
  192. package/dist/capabilities/snapshot/index.js +45 -2
  193. package/dist/capabilities/snapshot/index.js.map +1 -1
  194. package/dist/capabilities/snapshot/schemas/index.d.ts +47 -0
  195. package/dist/capabilities/snapshot/schemas/index.d.ts.map +1 -0
  196. package/dist/capabilities/snapshot/schemas/index.js +28 -0
  197. package/dist/capabilities/snapshot/schemas/index.js.map +1 -0
  198. package/dist/runtime/index.d.ts +2 -1
  199. package/dist/runtime/index.d.ts.map +1 -1
  200. package/dist/runtime/index.js +2 -1
  201. package/dist/runtime/index.js.map +1 -1
  202. package/dist/runtime/logging/tool-logger.js +2 -2
  203. package/dist/runtime/logging/tool-logger.js.map +1 -1
  204. package/dist/runtime/retry/index.d.ts +5 -0
  205. package/dist/runtime/retry/index.d.ts.map +1 -0
  206. package/dist/runtime/retry/index.js +5 -0
  207. package/dist/runtime/retry/index.js.map +1 -0
  208. package/dist/runtime/retry/retry.d.ts +61 -0
  209. package/dist/runtime/retry/retry.d.ts.map +1 -0
  210. package/dist/runtime/retry/retry.js +90 -0
  211. package/dist/runtime/retry/retry.js.map +1 -0
  212. package/dist/runtime/timeout/timeout.d.ts +10 -0
  213. package/dist/runtime/timeout/timeout.d.ts.map +1 -1
  214. package/dist/runtime/timeout/timeout.js +10 -0
  215. package/dist/runtime/timeout/timeout.js.map +1 -1
  216. package/dist/server.js +4 -4
  217. package/dist/server.js.map +1 -1
  218. package/dist/tools/index.d.ts.map +1 -1
  219. package/dist/tools/index.js +7 -3
  220. package/dist/tools/index.js.map +1 -1
  221. package/dist/tools/miniprogram.d.ts +11 -1
  222. package/dist/tools/miniprogram.d.ts.map +1 -1
  223. package/dist/tools/miniprogram.js +102 -20
  224. package/dist/tools/miniprogram.js.map +1 -1
  225. package/docs/current/01-architecture-migration.md +337 -0
  226. package/docs/current/02-screenshot-timeout-fix.md +589 -0
  227. package/docs/current/README.md +226 -0
  228. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/element/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,28 @@
1
1
  /**
2
- * Capability registry facade exposing legacy tool metadata while new structure is introduced.
2
+ * Capabilities Module - New Architecture Entry Point
3
+ *
4
+ * Each capability (automator, miniprogram, page, element, etc.) is a self-contained module:
5
+ * - schemas/: Zod schema definitions for tool inputs
6
+ * - handlers/: Handler implementations
7
+ * - index.ts: CapabilityModule export with tools array
8
+ *
9
+ * The ToolRegistry provides centralized tool management and the loader
10
+ * dynamically loads and registers capabilities with the MCP server.
3
11
  */
4
- export type { ToolHandler, ToolCategory } from '../tools/index.js';
5
- export { AUTOMATOR_TOOLS, AUTOMATOR_TOOL_HANDLERS, MINIPROGRAM_TOOLS, MINIPROGRAM_TOOL_HANDLERS, PAGE_TOOLS, PAGE_TOOL_HANDLERS, ELEMENT_TOOLS, ELEMENT_TOOL_HANDLERS, ASSERT_TOOLS, ASSERT_TOOL_HANDLERS, SNAPSHOT_TOOLS, SNAPSHOT_TOOL_HANDLERS, RECORD_TOOLS, RECORD_TOOL_HANDLERS, NETWORK_TOOLS, NETWORK_TOOL_HANDLERS, CORE_TOOLS, CORE_TOOL_HANDLERS, TOOL_CATEGORIES, SUPPORTED_CAPABILITIES, validateToolRegistration, getToolStats, getToolByName, getToolsByCategory, registerTools, } from '../tools/index.js';
12
+ export { ToolRegistry, globalRegistry } from './registry.js';
13
+ export type { ToolHandler, ToolDefinition, CapabilityModule } from './registry.js';
14
+ export { loadCapability, loadCapabilities, registerCapabilitiesWithServer, setupCapabilities, SUPPORTED_CAPABILITIES, } from './loader.js';
15
+ export type { LoaderOptions, CapabilityName } from './loader.js';
16
+ export { capability as automatorCapability } from './automator/index.js';
17
+ export { capability as miniprogramCapability } from './miniprogram/index.js';
18
+ export { capability as pageCapability } from './page/index.js';
19
+ export { capability as elementCapability } from './element/index.js';
20
+ export { capability as assertCapability } from './assert/index.js';
21
+ export { capability as snapshotCapability } from './snapshot/index.js';
22
+ export { capability as recordCapability } from './record/index.js';
23
+ export { capability as networkCapability } from './network/index.js';
24
+ export type { ToolSchemaDefinition, ToolSchemaRegistry, ToolSchemaLookupResult } from './schema-types.js';
25
+ export { getToolSchema, listToolSchemas } from './schema-registry.js';
6
26
  export * as automator from './automator/index.js';
7
27
  export * as miniprogram from './miniprogram/index.js';
8
28
  export * as page from './page/index.js';
@@ -11,5 +31,4 @@ export * as assert from './assert/index.js';
11
31
  export * as snapshot from './snapshot/index.js';
12
32
  export * as record from './record/index.js';
13
33
  export * as network from './network/index.js';
14
- export { getToolSchema, listToolSchemas } from './schema-registry.js';
15
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMhE,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAMpE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMrE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -1,7 +1,34 @@
1
1
  /**
2
- * Capability registry facade exposing legacy tool metadata while new structure is introduced.
2
+ * Capabilities Module - New Architecture Entry Point
3
+ *
4
+ * Each capability (automator, miniprogram, page, element, etc.) is a self-contained module:
5
+ * - schemas/: Zod schema definitions for tool inputs
6
+ * - handlers/: Handler implementations
7
+ * - index.ts: CapabilityModule export with tools array
8
+ *
9
+ * The ToolRegistry provides centralized tool management and the loader
10
+ * dynamically loads and registers capabilities with the MCP server.
3
11
  */
4
- export { AUTOMATOR_TOOLS, AUTOMATOR_TOOL_HANDLERS, MINIPROGRAM_TOOLS, MINIPROGRAM_TOOL_HANDLERS, PAGE_TOOLS, PAGE_TOOL_HANDLERS, ELEMENT_TOOLS, ELEMENT_TOOL_HANDLERS, ASSERT_TOOLS, ASSERT_TOOL_HANDLERS, SNAPSHOT_TOOLS, SNAPSHOT_TOOL_HANDLERS, RECORD_TOOLS, RECORD_TOOL_HANDLERS, NETWORK_TOOLS, NETWORK_TOOL_HANDLERS, CORE_TOOLS, CORE_TOOL_HANDLERS, TOOL_CATEGORIES, SUPPORTED_CAPABILITIES, validateToolRegistration, getToolStats, getToolByName, getToolsByCategory, registerTools, } from '../tools/index.js';
12
+ // ============================================================================
13
+ // Registry and Loader
14
+ // ============================================================================
15
+ export { ToolRegistry, globalRegistry } from './registry.js';
16
+ export { loadCapability, loadCapabilities, registerCapabilitiesWithServer, setupCapabilities, SUPPORTED_CAPABILITIES, } from './loader.js';
17
+ // ============================================================================
18
+ // Capability Modules
19
+ // ============================================================================
20
+ export { capability as automatorCapability } from './automator/index.js';
21
+ export { capability as miniprogramCapability } from './miniprogram/index.js';
22
+ export { capability as pageCapability } from './page/index.js';
23
+ export { capability as elementCapability } from './element/index.js';
24
+ export { capability as assertCapability } from './assert/index.js';
25
+ export { capability as snapshotCapability } from './snapshot/index.js';
26
+ export { capability as recordCapability } from './record/index.js';
27
+ export { capability as networkCapability } from './network/index.js';
28
+ export { getToolSchema, listToolSchemas } from './schema-registry.js';
29
+ // ============================================================================
30
+ // Capability Namespaces (for accessing individual capability exports)
31
+ // ============================================================================
5
32
  export * as automator from './automator/index.js';
6
33
  export * as miniprogram from './miniprogram/index.js';
7
34
  export * as page from './page/index.js';
@@ -10,5 +37,4 @@ export * as assert from './assert/index.js';
10
37
  export * as snapshot from './snapshot/index.js';
11
38
  export * as record from './record/index.js';
12
39
  export * as network from './network/index.js';
13
- export { getToolSchema, listToolSchemas } from './schema-registry.js';
14
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAGpB,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAOpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAErE,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAE/E,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Capability Loader for Dynamic Tool Registration
3
+ *
4
+ * Provides functions to load and register capabilities dynamically.
5
+ * Each capability module exports a CapabilityModule that can be loaded.
6
+ */
7
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
+ import { type Tool } from '@modelcontextprotocol/sdk/types.js';
9
+ import type { SessionState } from '../types.js';
10
+ import { ToolRegistry, type CapabilityModule } from './registry.js';
11
+ /**
12
+ * Options for loading and registering capabilities
13
+ */
14
+ export interface LoaderOptions {
15
+ /** List of capability names to load */
16
+ capabilities: string[];
17
+ /** Session ID for this server instance */
18
+ sessionId: string;
19
+ /** Function to get or create a session */
20
+ getSession: (sessionId: string) => SessionState;
21
+ /** Optional function to delete a session */
22
+ deleteSession?: (sessionId: string) => Promise<void>;
23
+ }
24
+ /**
25
+ * Supported capability names
26
+ */
27
+ export declare const SUPPORTED_CAPABILITIES: readonly ["core", "automator", "miniprogram", "page", "element", "assert", "snapshot", "record", "network"];
28
+ export type CapabilityName = (typeof SUPPORTED_CAPABILITIES)[number];
29
+ /**
30
+ * Load a single capability module by name
31
+ */
32
+ export declare function loadCapability(name: string): Promise<CapabilityModule | null>;
33
+ /**
34
+ * Load multiple capabilities and register them in the registry
35
+ */
36
+ export declare function loadCapabilities(registry: ToolRegistry, capabilityNames: string[]): Promise<void>;
37
+ /**
38
+ * Register tools with MCP server using the new registry
39
+ *
40
+ * This is a drop-in replacement for the old registerTools function
41
+ * from tools/index.ts, but uses the new capability-based architecture.
42
+ */
43
+ export declare function registerCapabilitiesWithServer(server: Server, registry: ToolRegistry, options: LoaderOptions): Tool[];
44
+ /**
45
+ * High-level function to set up capabilities for an MCP server
46
+ *
47
+ * Usage:
48
+ * ```typescript
49
+ * const tools = await setupCapabilities(server, {
50
+ * capabilities: ['core'],
51
+ * sessionId: 'session-123',
52
+ * getSession: (id) => sessionStore.getOrCreate(id),
53
+ * deleteSession: (id) => sessionStore.delete(id),
54
+ * })
55
+ * ```
56
+ */
57
+ export declare function setupCapabilities(server: Server, options: LoaderOptions): Promise<{
58
+ registry: ToolRegistry;
59
+ tools: Tool[];
60
+ }>;
61
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/capabilities/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAoB,MAAM,eAAe,CAAA;AAGrF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAA;IAC/C,4CAA4C;IAC5C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,6GAUzB,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsBnF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,aAAa,GACrB,IAAI,EAAE,CA0ER;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAkBpD"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Capability Loader for Dynamic Tool Registration
3
+ *
4
+ * Provides functions to load and register capabilities dynamically.
5
+ * Each capability module exports a CapabilityModule that can be loaded.
6
+ */
7
+ import { CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
8
+ import { ToolRegistry } from './registry.js';
9
+ import { ToolLogger } from '../runtime/logging/tool-logger.js';
10
+ /**
11
+ * Supported capability names
12
+ */
13
+ export const SUPPORTED_CAPABILITIES = [
14
+ 'core', // All tools (default)
15
+ 'automator', // Connection and lifecycle
16
+ 'miniprogram', // MiniProgram-level operations
17
+ 'page', // Page-level operations
18
+ 'element', // Element interactions
19
+ 'assert', // Testing and verification
20
+ 'snapshot', // State capture
21
+ 'record', // Recording and replay
22
+ 'network', // Network mocking
23
+ ];
24
+ /**
25
+ * Load a single capability module by name
26
+ */
27
+ export async function loadCapability(name) {
28
+ try {
29
+ // Dynamic import based on capability name
30
+ const module = await import(`./${name}/index.js`);
31
+ // Expect module to export a 'capability' object
32
+ if (module.capability && typeof module.capability === 'object') {
33
+ return module.capability;
34
+ }
35
+ // Fallback: check for default export
36
+ if (module.default && typeof module.default === 'object') {
37
+ return module.default;
38
+ }
39
+ console.error(`Capability ${name} does not export a valid capability module`);
40
+ return null;
41
+ }
42
+ catch (error) {
43
+ // Capability not found or failed to load
44
+ console.error(`Failed to load capability ${name}:`, error);
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * Load multiple capabilities and register them in the registry
50
+ */
51
+ export async function loadCapabilities(registry, capabilityNames) {
52
+ // If 'core' is specified, load all capabilities
53
+ const namesToLoad = capabilityNames.includes('core')
54
+ ? SUPPORTED_CAPABILITIES.filter((c) => c !== 'core')
55
+ : capabilityNames;
56
+ for (const name of namesToLoad) {
57
+ const capability = await loadCapability(name);
58
+ if (capability) {
59
+ registry.registerCapability(capability);
60
+ }
61
+ }
62
+ }
63
+ /**
64
+ * Register tools with MCP server using the new registry
65
+ *
66
+ * This is a drop-in replacement for the old registerTools function
67
+ * from tools/index.ts, but uses the new capability-based architecture.
68
+ */
69
+ export function registerCapabilitiesWithServer(server, registry, options) {
70
+ const { capabilities, sessionId, getSession, deleteSession } = options;
71
+ // Get tools and handlers for the specified capabilities
72
+ const tools = registry.toMCPToolsForCapabilities(capabilities);
73
+ const handlers = registry.getHandlersForCapabilities(capabilities);
74
+ // Log registration stats
75
+ const stats = registry.getStats();
76
+ console.error(`Registering ${tools.length} tools (capabilities: ${capabilities.join(', ')}):`);
77
+ for (const [cap, count] of Object.entries(stats.byCapability)) {
78
+ if (capabilities.includes('core') || capabilities.includes(cap)) {
79
+ console.error(` - ${cap}: ${count}`);
80
+ }
81
+ }
82
+ // Register CallToolRequest handler
83
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
84
+ const { name, arguments: args } = request.params;
85
+ // Get session using the unique session ID for this server instance
86
+ const session = getSession(sessionId);
87
+ try {
88
+ // Get handler for this tool
89
+ const handler = handlers.get(name);
90
+ if (!handler) {
91
+ throw new Error(`Unknown tool: ${name}`);
92
+ }
93
+ // Wrap handler with automatic logging if logger is available
94
+ let wrappedHandler = handler;
95
+ if (session.logger) {
96
+ const toolLogger = new ToolLogger(session.logger, session.loggerConfig);
97
+ wrappedHandler = toolLogger.wrap(name, handler);
98
+ }
99
+ // Execute handler
100
+ const result = await wrappedHandler(session, args);
101
+ // Handle session deletion for close tool
102
+ if (name === 'miniprogram_close' && deleteSession) {
103
+ try {
104
+ await deleteSession(sessionId);
105
+ console.error(`Session ${sessionId} deleted after close`);
106
+ }
107
+ catch (error) {
108
+ console.error(`Failed to delete session ${sessionId} after close:`, error);
109
+ }
110
+ }
111
+ // Return formatted response
112
+ return {
113
+ content: [
114
+ {
115
+ type: 'text',
116
+ text: JSON.stringify(result, null, 2),
117
+ },
118
+ ],
119
+ };
120
+ }
121
+ catch (error) {
122
+ const errorMessage = error instanceof Error ? error.message : String(error);
123
+ return {
124
+ content: [
125
+ {
126
+ type: 'text',
127
+ text: `Error executing tool ${name}: ${errorMessage}`,
128
+ },
129
+ ],
130
+ isError: true,
131
+ };
132
+ }
133
+ });
134
+ return tools;
135
+ }
136
+ /**
137
+ * High-level function to set up capabilities for an MCP server
138
+ *
139
+ * Usage:
140
+ * ```typescript
141
+ * const tools = await setupCapabilities(server, {
142
+ * capabilities: ['core'],
143
+ * sessionId: 'session-123',
144
+ * getSession: (id) => sessionStore.getOrCreate(id),
145
+ * deleteSession: (id) => sessionStore.delete(id),
146
+ * })
147
+ * ```
148
+ */
149
+ export async function setupCapabilities(server, options) {
150
+ const registry = new ToolRegistry();
151
+ // Load all requested capabilities
152
+ await loadCapabilities(registry, options.capabilities);
153
+ // Validate registration
154
+ const validation = registry.validate();
155
+ if (!validation.valid) {
156
+ console.error('Tool registration validation failed:');
157
+ validation.errors.forEach((err) => console.error(` - ${err}`));
158
+ throw new Error('Tool registration validation failed');
159
+ }
160
+ // Register with server
161
+ const tools = registerCapabilitiesWithServer(server, registry, options);
162
+ return { registry, tools };
163
+ }
164
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/capabilities/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * CallWx handler - Call WeChat API methods (wx.*)
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * CallWx input arguments
7
+ */
8
+ export interface CallWxArgs {
9
+ method: string;
10
+ args?: any[];
11
+ }
12
+ /**
13
+ * CallWx result
14
+ */
15
+ export interface CallWxResult {
16
+ success: boolean;
17
+ message: string;
18
+ result?: any;
19
+ }
20
+ /**
21
+ * Call a WeChat API method (wx.*)
22
+ */
23
+ export declare function callWx(session: SessionState, args: CallWxArgs): Promise<CallWxResult>;
24
+ //# sourceMappingURL=call-wx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-wx.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAwC3F"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * CallWx handler - Call WeChat API methods (wx.*)
3
+ */
4
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
5
+ /**
6
+ * Call a WeChat API method (wx.*)
7
+ */
8
+ export async function callWx(session, args) {
9
+ const { method, args: wxArgs = [] } = args;
10
+ const logger = session.logger;
11
+ try {
12
+ if (!session.miniProgram) {
13
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
14
+ }
15
+ logger?.info(`Calling wx.${method}`, { args: wxArgs });
16
+ // Get timeout for wx API calls
17
+ const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.callWx);
18
+ // Call WX API method with timeout protection
19
+ const result = await withTimeout(session.miniProgram.callWxMethod(method, ...wxArgs), timeoutMs, `wx.${method} call`);
20
+ logger?.info(`wx.${method} call successful`, { result });
21
+ return {
22
+ success: true,
23
+ message: `Successfully called wx.${method}`,
24
+ result,
25
+ };
26
+ }
27
+ catch (error) {
28
+ const errorMessage = error instanceof Error ? error.message : String(error);
29
+ logger?.error(`wx.${method} call failed`, {
30
+ error: errorMessage,
31
+ method,
32
+ args: wxArgs,
33
+ });
34
+ throw new Error(`wx.${method} call failed: ${errorMessage}`);
35
+ }
36
+ }
37
+ //# sourceMappingURL=call-wx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-wx.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAmB/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAqB,EAAE,IAAgB;IAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,cAAc,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAEtD,+BAA+B;QAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAE9E,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,EACnD,SAAS,EACT,MAAM,MAAM,OAAO,CACpB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,MAAM,MAAM,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAExD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,0BAA0B,MAAM,EAAE;YAC3C,MAAM;SACP,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,MAAM,MAAM,cAAc,EAAE;YACxC,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,iBAAiB,YAAY,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Evaluate handler - Execute JavaScript in mini program context
3
+ *
4
+ * ⚠️ SECURITY WARNING:
5
+ * This tool executes arbitrary JavaScript code in the mini program context.
6
+ * Use with caution:
7
+ * - All evaluations are logged for audit
8
+ * - Evaluations are limited by timeout (default: 5s)
9
+ * - Consider restricting this tool in production environments
10
+ * - Never pass untrusted user input directly to this function
11
+ */
12
+ import type { SessionState } from '../../../types.js';
13
+ /**
14
+ * Evaluate input arguments
15
+ */
16
+ export interface EvaluateArgs {
17
+ expression: string;
18
+ args?: any[];
19
+ }
20
+ /**
21
+ * Evaluate result
22
+ */
23
+ export interface EvaluateResult {
24
+ success: boolean;
25
+ message: string;
26
+ result?: any;
27
+ }
28
+ /**
29
+ * Evaluate JavaScript code in the mini program context
30
+ */
31
+ export declare function evaluate(session: SessionState, args: EvaluateArgs): Promise<EvaluateResult>;
32
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CjG"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Evaluate handler - Execute JavaScript in mini program context
3
+ *
4
+ * ⚠️ SECURITY WARNING:
5
+ * This tool executes arbitrary JavaScript code in the mini program context.
6
+ * Use with caution:
7
+ * - All evaluations are logged for audit
8
+ * - Evaluations are limited by timeout (default: 5s)
9
+ * - Consider restricting this tool in production environments
10
+ * - Never pass untrusted user input directly to this function
11
+ */
12
+ import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
13
+ /**
14
+ * Evaluate JavaScript code in the mini program context
15
+ */
16
+ export async function evaluate(session, args) {
17
+ const { expression, args: evalArgs = [] } = args;
18
+ const logger = session.logger;
19
+ try {
20
+ if (!session.miniProgram) {
21
+ throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
22
+ }
23
+ // Security: Log all evaluate calls for audit
24
+ logger?.info('[SECURITY] Evaluating expression', {
25
+ expression,
26
+ argsCount: evalArgs.length,
27
+ timestamp: new Date().toISOString(),
28
+ });
29
+ // Get timeout from config or use default (5 seconds for evaluate)
30
+ const timeoutMs = getTimeout(session.config?.evaluateTimeout, DEFAULT_TIMEOUTS.evaluate);
31
+ // Evaluate expression with timeout protection
32
+ const result = await withTimeout(session.miniProgram.evaluate(expression, ...evalArgs), timeoutMs, 'Evaluate expression');
33
+ logger?.info('Evaluation successful', { result });
34
+ return {
35
+ success: true,
36
+ message: 'Expression evaluated successfully',
37
+ result,
38
+ };
39
+ }
40
+ catch (error) {
41
+ const errorMessage = error instanceof Error ? error.message : String(error);
42
+ // Security: Log failed evaluations
43
+ logger?.error('[SECURITY] Evaluation failed', {
44
+ error: errorMessage,
45
+ expression,
46
+ timestamp: new Date().toISOString(),
47
+ });
48
+ throw new Error(`Evaluation failed: ${errorMessage}`);
49
+ }
50
+ }
51
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAmB/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAkB;IACtE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,EAAE,IAAI,CAAC,kCAAkC,EAAE;YAC/C,UAAU;YACV,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,kEAAkE;QAClE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAExF,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,EACrD,SAAS,EACT,qBAAqB,CACtB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mCAAmC;YAC5C,MAAM;SACP,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3E,mCAAmC;QACnC,MAAM,EAAE,KAAK,CAAC,8BAA8B,EAAE;YAC5C,KAAK,EAAE,YAAY;YACnB,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MiniProgram handlers exports
3
+ *
4
+ * All handlers are now independently implemented in this directory.
5
+ */
6
+ export { navigate, type NavigateArgs, type NavigateResult } from './navigate.js';
7
+ export { callWx, type CallWxArgs, type CallWxResult } from './call-wx.js';
8
+ export { evaluate, type EvaluateArgs, type EvaluateResult } from './evaluate.js';
9
+ export { screenshot, type ScreenshotArgs, type ScreenshotResult } from './screenshot.js';
10
+ export { getPageStack, type PageStackResult } from './page-stack.js';
11
+ export { getSystemInfo, type SystemInfoResult } from './system-info.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MiniProgram handlers exports
3
+ *
4
+ * All handlers are now independently implemented in this directory.
5
+ */
6
+ export { navigate } from './navigate.js';
7
+ export { callWx } from './call-wx.js';
8
+ export { evaluate } from './evaluate.js';
9
+ export { screenshot } from './screenshot.js';
10
+ export { getPageStack } from './page-stack.js';
11
+ export { getSystemInfo } from './system-info.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAsC,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,UAAU,EAA8C,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Navigate handler - Page navigation operations
3
+ */
4
+ import type { SessionState } from '../../../types.js';
5
+ /**
6
+ * Navigate input arguments
7
+ */
8
+ export interface NavigateArgs {
9
+ method: 'navigateTo' | 'redirectTo' | 'reLaunch' | 'switchTab' | 'navigateBack';
10
+ url?: string;
11
+ delta?: number;
12
+ }
13
+ /**
14
+ * Navigate result
15
+ */
16
+ export interface NavigateResult {
17
+ success: boolean;
18
+ message: string;
19
+ currentPage?: string;
20
+ }
21
+ /**
22
+ * Navigate to a page in the mini program
23
+ * Supports: navigateTo, redirectTo, reLaunch, switchTab, navigateBack
24
+ */
25
+ export declare function navigate(session: SessionState, args: NavigateArgs): Promise<NavigateResult>;
26
+ //# sourceMappingURL=navigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAqEjG"}