@midscene/core 1.12.10-beta-20260920031616.0 → 1.13.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.
Files changed (319) hide show
  1. package/dist/es/agent/agent.mjs +103 -6
  2. package/dist/es/agent/agent.mjs.map +1 -1
  3. package/dist/es/agent/index.mjs +4 -3
  4. package/dist/es/agent/tasks.mjs +2 -2
  5. package/dist/es/agent/tasks.mjs.map +1 -1
  6. package/dist/es/agent/test-runner-nodes.mjs +291 -40
  7. package/dist/es/agent/test-runner-nodes.mjs.map +1 -1
  8. package/dist/es/agent/utils.mjs +1 -1
  9. package/dist/es/device/index.mjs +15 -2
  10. package/dist/es/device/index.mjs.map +1 -1
  11. package/dist/es/dump/html-utils.mjs +37 -4
  12. package/dist/es/dump/html-utils.mjs.map +1 -1
  13. package/dist/es/dump/screenshot-store.mjs +8 -1
  14. package/dist/es/dump/screenshot-store.mjs.map +1 -1
  15. package/dist/es/report-cli.mjs +9 -4
  16. package/dist/es/report-cli.mjs.map +1 -1
  17. package/dist/es/report-generator.mjs +117 -4
  18. package/dist/es/report-generator.mjs.map +1 -1
  19. package/dist/es/report-html-template.mjs +1 -1
  20. package/dist/es/report.mjs +190 -41
  21. package/dist/es/report.mjs.map +1 -1
  22. package/dist/es/test-run-report.mjs.map +1 -1
  23. package/dist/es/test-runner/engine/case-runner.mjs +52 -0
  24. package/dist/es/test-runner/engine/case-runner.mjs.map +1 -0
  25. package/dist/es/test-runner/engine/document-runtime.mjs +273 -0
  26. package/dist/es/test-runner/engine/document-runtime.mjs.map +1 -0
  27. package/dist/es/test-runner/engine/execute-step.mjs +177 -0
  28. package/dist/es/test-runner/engine/execute-step.mjs.map +1 -0
  29. package/dist/es/test-runner/engine/execution-failure.mjs +39 -0
  30. package/dist/es/test-runner/engine/execution-failure.mjs.map +1 -0
  31. package/dist/es/test-runner/engine/index.mjs +12 -0
  32. package/dist/es/test-runner/engine/project-runtime.mjs +142 -0
  33. package/dist/es/test-runner/engine/project-runtime.mjs.map +1 -0
  34. package/dist/es/test-runner/engine/registry.mjs +61 -0
  35. package/dist/es/test-runner/engine/registry.mjs.map +1 -0
  36. package/dist/es/test-runner/engine/resource-operations.mjs +211 -0
  37. package/dist/es/test-runner/engine/resource-operations.mjs.map +1 -0
  38. package/dist/es/test-runner/engine/run-collected-case.mjs +193 -0
  39. package/dist/es/test-runner/engine/run-collected-case.mjs.map +1 -0
  40. package/dist/es/test-runner/engine/run-workflow-document.mjs +155 -0
  41. package/dist/es/test-runner/engine/run-workflow-document.mjs.map +1 -0
  42. package/dist/es/test-runner/engine/scheduler.mjs +27 -0
  43. package/dist/es/test-runner/engine/scheduler.mjs.map +1 -0
  44. package/dist/es/test-runner/engine/scope-teardown.mjs +16 -0
  45. package/dist/es/test-runner/engine/scope-teardown.mjs.map +1 -0
  46. package/dist/es/test-runner/engine/types.mjs +0 -0
  47. package/dist/es/test-runner/errors.mjs +201 -0
  48. package/dist/es/test-runner/errors.mjs.map +1 -0
  49. package/dist/es/test-runner/execution-record.mjs +83 -0
  50. package/dist/es/test-runner/execution-record.mjs.map +1 -0
  51. package/dist/es/test-runner/index.mjs +12 -0
  52. package/dist/es/test-runner/node/define-node.mjs +44 -0
  53. package/dist/es/test-runner/node/define-node.mjs.map +1 -0
  54. package/dist/es/test-runner/node/index.mjs +2 -0
  55. package/dist/es/test-runner/node/types.mjs +0 -0
  56. package/dist/es/test-runner/parser/document-format.mjs +21 -0
  57. package/dist/es/test-runner/parser/document-format.mjs.map +1 -0
  58. package/dist/es/test-runner/parser/normalize.mjs +87 -0
  59. package/dist/es/test-runner/parser/normalize.mjs.map +1 -0
  60. package/dist/es/test-runner/parser/types.mjs +0 -0
  61. package/dist/es/test-runner/project.mjs +0 -0
  62. package/dist/es/test-runner/reporting/agent-report.mjs +23 -0
  63. package/dist/es/test-runner/reporting/agent-report.mjs.map +1 -0
  64. package/dist/es/test-runner/reporting/execution-record.mjs +73 -0
  65. package/dist/es/test-runner/reporting/execution-record.mjs.map +1 -0
  66. package/dist/es/test-runner/reporting/merge-report.mjs +231 -0
  67. package/dist/es/test-runner/reporting/merge-report.mjs.map +1 -0
  68. package/dist/es/test-runner/reporting/sanitize.mjs +162 -0
  69. package/dist/es/test-runner/reporting/sanitize.mjs.map +1 -0
  70. package/dist/es/test-runner/reporting/test-run-report.mjs +327 -0
  71. package/dist/es/test-runner/reporting/test-run-report.mjs.map +1 -0
  72. package/dist/es/test-runner/reporting/types.mjs +0 -0
  73. package/dist/es/utils.mjs +1 -1
  74. package/dist/es/yaml/execution-context.node.mjs +6 -0
  75. package/dist/es/yaml/execution-context.node.mjs.map +1 -0
  76. package/dist/es/yaml/execution-context.stub.mjs +8 -0
  77. package/dist/es/yaml/execution-context.stub.mjs.map +1 -0
  78. package/dist/es/yaml/execution-session.mjs +90 -0
  79. package/dist/es/yaml/execution-session.mjs.map +1 -0
  80. package/dist/es/yaml/index.mjs +2 -1
  81. package/dist/es/yaml/legacy-yaml-execution-record.mjs +47 -0
  82. package/dist/es/yaml/legacy-yaml-execution-record.mjs.map +1 -0
  83. package/dist/es/yaml/legacy-yaml-report.mjs +52 -0
  84. package/dist/es/yaml/legacy-yaml-report.mjs.map +1 -0
  85. package/dist/es/yaml/legacy-yaml-runtime.mjs +119 -0
  86. package/dist/es/yaml/legacy-yaml-runtime.mjs.map +1 -0
  87. package/dist/es/yaml/player-state.mjs +15 -0
  88. package/dist/es/yaml/player-state.mjs.map +1 -0
  89. package/dist/es/yaml/player.mjs +214 -348
  90. package/dist/es/yaml/player.mjs.map +1 -1
  91. package/dist/es/yaml/report-policy.mjs +7 -0
  92. package/dist/es/yaml/report-policy.mjs.map +1 -0
  93. package/dist/es/yaml/test-runner-compat.mjs +301 -0
  94. package/dist/es/yaml/test-runner-compat.mjs.map +1 -0
  95. package/dist/es/yaml/test-runner-nodes.mjs +147 -0
  96. package/dist/es/yaml/test-runner-nodes.mjs.map +1 -0
  97. package/dist/es/yaml/utils.mjs +12 -1
  98. package/dist/es/yaml/utils.mjs.map +1 -1
  99. package/dist/es/yaml-runtime.mjs +7 -0
  100. package/dist/es/yaml.mjs.map +1 -1
  101. package/dist/lib/agent/agent.js +103 -6
  102. package/dist/lib/agent/agent.js.map +1 -1
  103. package/dist/lib/agent/index.js +37 -3
  104. package/dist/lib/agent/tasks.js +2 -2
  105. package/dist/lib/agent/tasks.js.map +1 -1
  106. package/dist/lib/agent/test-runner-nodes.js +329 -45
  107. package/dist/lib/agent/test-runner-nodes.js.map +1 -1
  108. package/dist/lib/agent/utils.js +1 -1
  109. package/dist/lib/device/index.js +15 -2
  110. package/dist/lib/device/index.js.map +1 -1
  111. package/dist/lib/dump/html-utils.js +43 -4
  112. package/dist/lib/dump/html-utils.js.map +1 -1
  113. package/dist/lib/dump/screenshot-store.js +8 -1
  114. package/dist/lib/dump/screenshot-store.js.map +1 -1
  115. package/dist/lib/report-cli.js +8 -3
  116. package/dist/lib/report-cli.js.map +1 -1
  117. package/dist/lib/report-generator.js +114 -1
  118. package/dist/lib/report-generator.js.map +1 -1
  119. package/dist/lib/report-html-template.js +1 -1
  120. package/dist/lib/report.js +187 -38
  121. package/dist/lib/report.js.map +1 -1
  122. package/dist/lib/test-run-report.js.map +1 -1
  123. package/dist/lib/test-runner/engine/case-runner.js +89 -0
  124. package/dist/lib/test-runner/engine/case-runner.js.map +1 -0
  125. package/dist/lib/test-runner/engine/document-runtime.js +307 -0
  126. package/dist/lib/test-runner/engine/document-runtime.js.map +1 -0
  127. package/dist/lib/test-runner/engine/execute-step.js +211 -0
  128. package/dist/lib/test-runner/engine/execute-step.js.map +1 -0
  129. package/dist/lib/test-runner/engine/execution-failure.js +79 -0
  130. package/dist/lib/test-runner/engine/execution-failure.js.map +1 -0
  131. package/dist/lib/test-runner/engine/index.js +137 -0
  132. package/dist/lib/test-runner/engine/index.js.map +1 -0
  133. package/dist/lib/test-runner/engine/project-runtime.js +176 -0
  134. package/dist/lib/test-runner/engine/project-runtime.js.map +1 -0
  135. package/dist/lib/test-runner/engine/registry.js +95 -0
  136. package/dist/lib/test-runner/engine/registry.js.map +1 -0
  137. package/dist/lib/test-runner/engine/resource-operations.js +272 -0
  138. package/dist/lib/test-runner/engine/resource-operations.js.map +1 -0
  139. package/dist/lib/test-runner/engine/run-collected-case.js +227 -0
  140. package/dist/lib/test-runner/engine/run-collected-case.js.map +1 -0
  141. package/dist/lib/test-runner/engine/run-workflow-document.js +189 -0
  142. package/dist/lib/test-runner/engine/run-workflow-document.js.map +1 -0
  143. package/dist/lib/test-runner/engine/scheduler.js +64 -0
  144. package/dist/lib/test-runner/engine/scheduler.js.map +1 -0
  145. package/dist/lib/test-runner/engine/scope-teardown.js +50 -0
  146. package/dist/lib/test-runner/engine/scope-teardown.js.map +1 -0
  147. package/dist/lib/test-runner/engine/types.js +20 -0
  148. package/dist/lib/test-runner/engine/types.js.map +1 -0
  149. package/dist/lib/test-runner/errors.js +283 -0
  150. package/dist/lib/test-runner/errors.js.map +1 -0
  151. package/dist/lib/test-runner/execution-record.js +123 -0
  152. package/dist/lib/test-runner/execution-record.js.map +1 -0
  153. package/dist/lib/test-runner/index.js +137 -0
  154. package/dist/lib/test-runner/index.js.map +1 -0
  155. package/dist/lib/test-runner/node/define-node.js +78 -0
  156. package/dist/lib/test-runner/node/define-node.js.map +1 -0
  157. package/dist/lib/test-runner/node/index.js +67 -0
  158. package/dist/lib/test-runner/node/index.js.map +1 -0
  159. package/dist/lib/test-runner/node/types.js +20 -0
  160. package/dist/lib/test-runner/node/types.js.map +1 -0
  161. package/dist/lib/test-runner/parser/document-format.js +58 -0
  162. package/dist/lib/test-runner/parser/document-format.js.map +1 -0
  163. package/dist/lib/test-runner/parser/normalize.js +124 -0
  164. package/dist/lib/test-runner/parser/normalize.js.map +1 -0
  165. package/dist/lib/test-runner/parser/types.js +20 -0
  166. package/dist/lib/test-runner/parser/types.js.map +1 -0
  167. package/dist/lib/test-runner/project.js +20 -0
  168. package/dist/lib/test-runner/project.js.map +1 -0
  169. package/dist/lib/test-runner/reporting/agent-report.js +57 -0
  170. package/dist/lib/test-runner/reporting/agent-report.js.map +1 -0
  171. package/dist/lib/test-runner/reporting/execution-record.js +107 -0
  172. package/dist/lib/test-runner/reporting/execution-record.js.map +1 -0
  173. package/dist/lib/test-runner/reporting/merge-report.js +265 -0
  174. package/dist/lib/test-runner/reporting/merge-report.js.map +1 -0
  175. package/dist/lib/test-runner/reporting/sanitize.js +202 -0
  176. package/dist/lib/test-runner/reporting/sanitize.js.map +1 -0
  177. package/dist/lib/test-runner/reporting/test-run-report.js +364 -0
  178. package/dist/lib/test-runner/reporting/test-run-report.js.map +1 -0
  179. package/dist/lib/test-runner/reporting/types.js +20 -0
  180. package/dist/lib/test-runner/reporting/types.js.map +1 -0
  181. package/dist/lib/utils.js +1 -1
  182. package/dist/lib/yaml/execution-context.node.js +43 -0
  183. package/dist/lib/yaml/execution-context.node.js.map +1 -0
  184. package/dist/lib/yaml/execution-context.stub.js +45 -0
  185. package/dist/lib/yaml/execution-context.stub.js.map +1 -0
  186. package/dist/lib/yaml/execution-session.js +136 -0
  187. package/dist/lib/yaml/execution-session.js.map +1 -0
  188. package/dist/lib/yaml/index.js +49 -7
  189. package/dist/lib/yaml/legacy-yaml-execution-record.js +81 -0
  190. package/dist/lib/yaml/legacy-yaml-execution-record.js.map +1 -0
  191. package/dist/lib/yaml/legacy-yaml-report.js +86 -0
  192. package/dist/lib/yaml/legacy-yaml-report.js.map +1 -0
  193. package/dist/lib/yaml/legacy-yaml-runtime.js +156 -0
  194. package/dist/lib/yaml/legacy-yaml-runtime.js.map +1 -0
  195. package/dist/lib/yaml/player-state.js +52 -0
  196. package/dist/lib/yaml/player-state.js.map +1 -0
  197. package/dist/lib/yaml/player.js +213 -347
  198. package/dist/lib/yaml/player.js.map +1 -1
  199. package/dist/lib/yaml/report-policy.js +41 -0
  200. package/dist/lib/yaml/report-policy.js.map +1 -0
  201. package/dist/lib/yaml/test-runner-compat.js +344 -0
  202. package/dist/lib/yaml/test-runner-compat.js.map +1 -0
  203. package/dist/lib/yaml/test-runner-nodes.js +184 -0
  204. package/dist/lib/yaml/test-runner-nodes.js.map +1 -0
  205. package/dist/lib/yaml/utils.js +18 -1
  206. package/dist/lib/yaml/utils.js.map +1 -1
  207. package/dist/lib/yaml-runtime.js +67 -0
  208. package/dist/lib/yaml-runtime.js.map +1 -0
  209. package/dist/lib/yaml.js.map +1 -1
  210. package/dist/types/agent/agent.d.ts +14 -1
  211. package/dist/types/agent/agent.d.ts.map +1 -1
  212. package/dist/types/agent/index.d.ts +4 -3
  213. package/dist/types/agent/index.d.ts.map +1 -1
  214. package/dist/types/agent/tasks.d.ts +1 -1
  215. package/dist/types/agent/tasks.d.ts.map +1 -1
  216. package/dist/types/agent/test-runner-nodes.d.ts +226 -0
  217. package/dist/types/agent/test-runner-nodes.d.ts.map +1 -1
  218. package/dist/types/device/index.d.ts +1 -1
  219. package/dist/types/device/index.d.ts.map +1 -1
  220. package/dist/types/dump/html-utils.d.ts +4 -0
  221. package/dist/types/dump/html-utils.d.ts.map +1 -1
  222. package/dist/types/dump/screenshot-store.d.ts +2 -1
  223. package/dist/types/dump/screenshot-store.d.ts.map +1 -1
  224. package/dist/types/report-cli.d.ts.map +1 -1
  225. package/dist/types/report-generator.d.ts +10 -0
  226. package/dist/types/report-generator.d.ts.map +1 -1
  227. package/dist/types/report.d.ts +3 -1
  228. package/dist/types/report.d.ts.map +1 -1
  229. package/dist/types/test-run-report.d.ts +18 -2
  230. package/dist/types/test-run-report.d.ts.map +1 -1
  231. package/dist/types/test-runner/engine/case-runner.d.ts +13 -0
  232. package/dist/types/test-runner/engine/case-runner.d.ts.map +1 -0
  233. package/dist/types/test-runner/engine/document-runtime.d.ts +4 -0
  234. package/dist/types/test-runner/engine/document-runtime.d.ts.map +1 -0
  235. package/dist/types/test-runner/engine/execute-step.d.ts +17 -0
  236. package/dist/types/test-runner/engine/execute-step.d.ts.map +1 -0
  237. package/dist/types/test-runner/engine/execution-failure.d.ts +13 -0
  238. package/dist/types/test-runner/engine/execution-failure.d.ts.map +1 -0
  239. package/dist/types/test-runner/engine/index.d.ts +13 -0
  240. package/dist/types/test-runner/engine/index.d.ts.map +1 -0
  241. package/dist/types/test-runner/engine/project-runtime.d.ts +3 -0
  242. package/dist/types/test-runner/engine/project-runtime.d.ts.map +1 -0
  243. package/dist/types/test-runner/engine/registry.d.ts +12 -0
  244. package/dist/types/test-runner/engine/registry.d.ts.map +1 -0
  245. package/dist/types/test-runner/engine/resource-operations.d.ts +32 -0
  246. package/dist/types/test-runner/engine/resource-operations.d.ts.map +1 -0
  247. package/dist/types/test-runner/engine/run-collected-case.d.ts +4 -0
  248. package/dist/types/test-runner/engine/run-collected-case.d.ts.map +1 -0
  249. package/dist/types/test-runner/engine/run-workflow-document.d.ts +4 -0
  250. package/dist/types/test-runner/engine/run-workflow-document.d.ts.map +1 -0
  251. package/dist/types/test-runner/engine/scheduler.d.ts +12 -0
  252. package/dist/types/test-runner/engine/scheduler.d.ts.map +1 -0
  253. package/dist/types/test-runner/engine/scope-teardown.d.ts +3 -0
  254. package/dist/types/test-runner/engine/scope-teardown.d.ts.map +1 -0
  255. package/dist/types/test-runner/engine/types.d.ts +226 -0
  256. package/dist/types/test-runner/engine/types.d.ts.map +1 -0
  257. package/dist/types/test-runner/errors.d.ts +79 -0
  258. package/dist/types/test-runner/errors.d.ts.map +1 -0
  259. package/dist/types/test-runner/execution-record.d.ts +43 -0
  260. package/dist/types/test-runner/execution-record.d.ts.map +1 -0
  261. package/dist/types/test-runner/index.d.ts +20 -0
  262. package/dist/types/test-runner/index.d.ts.map +1 -0
  263. package/dist/types/test-runner/node/define-node.d.ts +4 -0
  264. package/dist/types/test-runner/node/define-node.d.ts.map +1 -0
  265. package/dist/types/test-runner/node/index.d.ts +3 -0
  266. package/dist/types/test-runner/node/index.d.ts.map +1 -0
  267. package/dist/types/test-runner/node/types.d.ts +66 -0
  268. package/dist/types/test-runner/node/types.d.ts.map +1 -0
  269. package/dist/types/test-runner/parser/document-format.d.ts +8 -0
  270. package/dist/types/test-runner/parser/document-format.d.ts.map +1 -0
  271. package/dist/types/test-runner/parser/normalize.d.ts +9 -0
  272. package/dist/types/test-runner/parser/normalize.d.ts.map +1 -0
  273. package/dist/types/test-runner/parser/types.d.ts +69 -0
  274. package/dist/types/test-runner/parser/types.d.ts.map +1 -0
  275. package/dist/types/test-runner/project.d.ts +75 -0
  276. package/dist/types/test-runner/project.d.ts.map +1 -0
  277. package/dist/types/test-runner/reporting/agent-report.d.ts +9 -0
  278. package/dist/types/test-runner/reporting/agent-report.d.ts.map +1 -0
  279. package/dist/types/test-runner/reporting/execution-record.d.ts +9 -0
  280. package/dist/types/test-runner/reporting/execution-record.d.ts.map +1 -0
  281. package/dist/types/test-runner/reporting/merge-report.d.ts +15 -0
  282. package/dist/types/test-runner/reporting/merge-report.d.ts.map +1 -0
  283. package/dist/types/test-runner/reporting/sanitize.d.ts +6 -0
  284. package/dist/types/test-runner/reporting/sanitize.d.ts.map +1 -0
  285. package/dist/types/test-runner/reporting/test-run-report.d.ts +5 -0
  286. package/dist/types/test-runner/reporting/test-run-report.d.ts.map +1 -0
  287. package/dist/types/test-runner/reporting/types.d.ts +34 -0
  288. package/dist/types/test-runner/reporting/types.d.ts.map +1 -0
  289. package/dist/types/yaml/execution-context.node.d.ts +4 -0
  290. package/dist/types/yaml/execution-context.node.d.ts.map +1 -0
  291. package/dist/types/yaml/execution-context.stub.d.ts +6 -0
  292. package/dist/types/yaml/execution-context.stub.d.ts.map +1 -0
  293. package/dist/types/yaml/execution-session.d.ts +17 -0
  294. package/dist/types/yaml/execution-session.d.ts.map +1 -0
  295. package/dist/types/yaml/index.d.ts +1 -1
  296. package/dist/types/yaml/index.d.ts.map +1 -1
  297. package/dist/types/yaml/legacy-yaml-execution-record.d.ts +24 -0
  298. package/dist/types/yaml/legacy-yaml-execution-record.d.ts.map +1 -0
  299. package/dist/types/yaml/legacy-yaml-report.d.ts +19 -0
  300. package/dist/types/yaml/legacy-yaml-report.d.ts.map +1 -0
  301. package/dist/types/yaml/legacy-yaml-runtime.d.ts +23 -0
  302. package/dist/types/yaml/legacy-yaml-runtime.d.ts.map +1 -0
  303. package/dist/types/yaml/player-state.d.ts +11 -0
  304. package/dist/types/yaml/player-state.d.ts.map +1 -0
  305. package/dist/types/yaml/player.d.ts +11 -3
  306. package/dist/types/yaml/player.d.ts.map +1 -1
  307. package/dist/types/yaml/report-policy.d.ts +4 -0
  308. package/dist/types/yaml/report-policy.d.ts.map +1 -0
  309. package/dist/types/yaml/test-runner-compat.d.ts +17 -0
  310. package/dist/types/yaml/test-runner-compat.d.ts.map +1 -0
  311. package/dist/types/yaml/test-runner-nodes.d.ts +6 -0
  312. package/dist/types/yaml/test-runner-nodes.d.ts.map +1 -0
  313. package/dist/types/yaml/utils.d.ts +9 -0
  314. package/dist/types/yaml/utils.d.ts.map +1 -1
  315. package/dist/types/yaml-runtime.d.ts +13 -0
  316. package/dist/types/yaml-runtime.d.ts.map +1 -0
  317. package/dist/types/yaml.d.ts +25 -7
  318. package/dist/types/yaml.d.ts.map +1 -1
  319. package/package.json +28 -2
@@ -24,24 +24,38 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ insightOptionsInputSchema: ()=>insightOptionsInputSchema,
28
+ javascriptInputSchema: ()=>javascriptInputSchema,
27
29
  aiActOptionsInputSchema: ()=>aiActOptionsInputSchema,
28
30
  aiTapInputSchema: ()=>aiTapInputSchema,
29
- reportScreenshotInputSchema: ()=>reportScreenshotInputSchema,
31
+ aiScrollInputSchema: ()=>aiScrollInputSchema,
30
32
  createAgentTestRunnerNodeDefinition: ()=>createAgentTestRunnerNodeDefinition,
33
+ aiInputInputSchema: ()=>aiInputInputSchema,
34
+ reportScreenshotInputSchema: ()=>reportScreenshotInputSchema,
31
35
  insightInputSchema: ()=>insightInputSchema,
32
- locateOptionsInputSchema: ()=>locateOptionsInputSchema,
33
- structuredUserPromptInputSchema: ()=>structuredUserPromptInputSchema,
34
- promptImageInputSchema: ()=>promptImageInputSchema,
36
+ aiKeyboardPressInputSchema: ()=>aiKeyboardPressInputSchema,
37
+ aiPinchInputSchema: ()=>aiPinchInputSchema,
38
+ aiQueryInputSchema: ()=>aiQueryInputSchema,
39
+ aiLongPressInputSchema: ()=>aiLongPressInputSchema,
40
+ actionInputSchema: ()=>actionInputSchema,
35
41
  aiAssertInputSchema: ()=>aiAssertInputSchema,
36
42
  commonAgentTestRunnerNodeDefinitions: ()=>commonAgentTestRunnerNodeDefinitions,
43
+ locateOptionsInputSchema: ()=>locateOptionsInputSchema,
44
+ promptImageInputSchema: ()=>promptImageInputSchema,
37
45
  recordToReportInputSchema: ()=>recordToReportInputSchema,
38
46
  recordToReportOptionsInputSchema: ()=>recordToReportOptionsInputSchema,
47
+ runGherkinScenarioInputSchema: ()=>runGherkinScenarioInputSchema,
48
+ structuredUserPromptInputSchema: ()=>structuredUserPromptInputSchema,
49
+ aiWaitForInputSchema: ()=>aiWaitForInputSchema,
39
50
  userPromptInputSchema: ()=>userPromptInputSchema,
40
- aiAssertOptionsInputSchema: ()=>aiAssertOptionsInputSchema,
51
+ aiDragAndDropInputSchema: ()=>aiDragAndDropInputSchema,
41
52
  aiActInputSchema: ()=>aiActInputSchema,
42
- insightOptionsInputSchema: ()=>insightOptionsInputSchema
53
+ aiAssertOptionsInputSchema: ()=>aiAssertOptionsInputSchema
43
54
  });
44
55
  const v4_namespaceObject = require("zod/v4");
56
+ const input_strategy_js_namespaceObject = require("../device/input-strategy.js");
57
+ const errors_js_namespaceObject = require("../test-runner/errors.js");
58
+ const utils_js_namespaceObject = require("../yaml/utils.js");
45
59
  const createAgentTestRunnerNodeDefinition = (agentLabel = 'an Agent')=>(definition)=>({
46
60
  name: definition.name ?? definition.method,
47
61
  ...void 0 === definition.title ? {} : {
@@ -78,6 +92,11 @@ const userPromptInputSchema = v4_namespaceObject.z.union([
78
92
  structuredUserPromptInputSchema
79
93
  ]);
80
94
  const aiActOptionsInputSchema = v4_namespaceObject.z.strictObject({
95
+ effort: v4_namespaceObject.z["enum"]([
96
+ 'fast',
97
+ 'balance',
98
+ 'deepThink'
99
+ ]).optional().describe('Action planning effort: fast, balanced, or deeper reasoning.'),
81
100
  cacheable: v4_namespaceObject.z.boolean().optional().describe('Whether this action may use the Midscene cache.'),
82
101
  fileChooserAccept: v4_namespaceObject.z.union([
83
102
  v4_namespaceObject.z.string(),
@@ -126,6 +145,100 @@ const aiTapInputSchema = v4_namespaceObject.z.strictObject({
126
145
  prompt: userPromptInputSchema,
127
146
  options: locateOptionsInputSchema.optional()
128
147
  });
148
+ const aiInputInputSchema = v4_namespaceObject.z.strictObject({
149
+ prompt: userPromptInputSchema,
150
+ value: v4_namespaceObject.z.union([
151
+ v4_namespaceObject.z.string(),
152
+ v4_namespaceObject.z.number()
153
+ ]),
154
+ options: locateOptionsInputSchema.extend({
155
+ mode: v4_namespaceObject.z["enum"]([
156
+ 'replace',
157
+ 'clear',
158
+ 'typeOnly',
159
+ 'append'
160
+ ]).optional(),
161
+ autoDismissKeyboard: v4_namespaceObject.z.boolean().optional(),
162
+ keyboardTypeDelay: v4_namespaceObject.z.number().nonnegative().optional(),
163
+ inputStrategy: v4_namespaceObject.z["enum"](input_strategy_js_namespaceObject.inputStrategies).optional()
164
+ }).optional()
165
+ });
166
+ const aiKeyboardPressInputSchema = v4_namespaceObject.z.strictObject({
167
+ prompt: userPromptInputSchema.optional(),
168
+ keyName: nonBlankText('The key or key combination to press.'),
169
+ options: locateOptionsInputSchema.optional()
170
+ });
171
+ const aiScrollInputSchema = v4_namespaceObject.z.strictObject({
172
+ prompt: userPromptInputSchema.optional(),
173
+ options: locateOptionsInputSchema.extend({
174
+ direction: v4_namespaceObject.z["enum"]([
175
+ 'down',
176
+ 'up',
177
+ 'right',
178
+ 'left'
179
+ ]).optional(),
180
+ scrollType: v4_namespaceObject.z["enum"]([
181
+ 'singleAction',
182
+ 'scrollToBottom',
183
+ 'scrollToTop',
184
+ 'scrollToRight',
185
+ 'scrollToLeft',
186
+ 'once',
187
+ 'untilBottom',
188
+ 'untilTop',
189
+ 'untilRight',
190
+ 'untilLeft'
191
+ ]).optional(),
192
+ distance: v4_namespaceObject.z.number().nullable().optional()
193
+ }).optional()
194
+ });
195
+ const aiPinchInputSchema = v4_namespaceObject.z.strictObject({
196
+ prompt: userPromptInputSchema.optional(),
197
+ direction: v4_namespaceObject.z["enum"]([
198
+ 'in',
199
+ 'out'
200
+ ]),
201
+ options: locateOptionsInputSchema.extend({
202
+ distance: v4_namespaceObject.z.number().optional(),
203
+ duration: v4_namespaceObject.z.number().nonnegative().optional()
204
+ }).optional()
205
+ });
206
+ const aiLongPressInputSchema = v4_namespaceObject.z.strictObject({
207
+ prompt: userPromptInputSchema,
208
+ options: locateOptionsInputSchema.extend({
209
+ duration: v4_namespaceObject.z.number().nonnegative().optional()
210
+ }).optional()
211
+ });
212
+ const aiDragAndDropInputSchema = v4_namespaceObject.z.strictObject({
213
+ from: userPromptInputSchema,
214
+ to: userPromptInputSchema,
215
+ options: locateOptionsInputSchema.optional()
216
+ });
217
+ const aiQueryInputSchema = v4_namespaceObject.z.strictObject({
218
+ prompt: v4_namespaceObject.z.union([
219
+ nonBlankText('The extraction request.'),
220
+ v4_namespaceObject.z.record(v4_namespaceObject.z.string(), v4_namespaceObject.z.string())
221
+ ]),
222
+ options: insightOptionsInputSchema.optional()
223
+ });
224
+ const aiWaitForInputSchema = v4_namespaceObject.z.strictObject({
225
+ prompt: userPromptInputSchema,
226
+ options: insightOptionsInputSchema.extend({
227
+ timeoutMs: v4_namespaceObject.z.number().positive().optional(),
228
+ checkIntervalMs: v4_namespaceObject.z.number().positive().optional()
229
+ }).optional()
230
+ });
231
+ const javascriptInputSchema = v4_namespaceObject.z.strictObject({
232
+ script: nonBlankText('JavaScript to evaluate through the current interface.')
233
+ });
234
+ const runGherkinScenarioInputSchema = v4_namespaceObject.z.strictObject({
235
+ scenario: nonBlankText('The Gherkin scenario to execute.'),
236
+ options: aiActOptionsInputSchema.optional()
237
+ });
238
+ const actionInputSchema = v4_namespaceObject.z.strictObject({
239
+ name: nonBlankText('The ActionSpace action name, for example DragAndDrop.'),
240
+ params: v4_namespaceObject.z.unknown().optional()
241
+ });
129
242
  const insightInputSchema = v4_namespaceObject.z.strictObject({
130
243
  prompt: userPromptInputSchema,
131
244
  options: insightOptionsInputSchema.optional()
@@ -149,7 +262,11 @@ const recordToReportInputSchema = v4_namespaceObject.z.strictObject({
149
262
  options: recordToReportOptionsInputSchema.optional()
150
263
  });
151
264
  const defineCommonAgentNode = createAgentTestRunnerNodeDefinition('an Agent');
265
+ const defineAgentActionNode = createAgentTestRunnerNodeDefinition('an Agent');
152
266
  const promptText = (prompt)=>'string' == typeof prompt ? prompt : prompt.prompt;
267
+ const valueResult = (value)=>({
268
+ data: value
269
+ });
153
270
  const aiActNode = defineCommonAgentNode({
154
271
  method: 'aiAct',
155
272
  description: 'Perform a natural-language task with a Midscene UI Agent.',
@@ -197,14 +314,15 @@ const aiAssertNode = defineCommonAgentNode({
197
314
  input.prompt,
198
315
  input.message,
199
316
  {
317
+ keepRawResponse: true,
200
318
  ...input.options,
201
319
  abortSignal: context.signal
202
320
  }
203
321
  ];
204
322
  },
205
323
  toResult (output, input) {
206
- return {
207
- summary: `Assertion passed: ${promptText(input.prompt)}`,
324
+ const result = {
325
+ summary: `Assertion ${output?.pass === false ? 'failed' : 'passed'}: ${promptText(input.prompt)}`,
208
326
  ...void 0 === output ? {} : {
209
327
  data: {
210
328
  pass: output.pass,
@@ -217,74 +335,201 @@ const aiAssertNode = defineCommonAgentNode({
217
335
  }
218
336
  }
219
337
  };
338
+ if (output?.pass === false) throw new errors_js_namespaceObject.NodeExecutionError('aiAssert', new Error(output.message || input.message || output.thought || `Assertion failed: ${promptText(input.prompt)}`), result);
339
+ return result;
220
340
  }
221
341
  });
222
- const insightNode = (method)=>{
223
- if ('aiBoolean' === method) return defineCommonAgentNode({
342
+ const locateActionNode = (method)=>defineAgentActionNode({
224
343
  method,
225
- description: `Run ${method} with a Midscene UI Agent and store its value.`,
344
+ description: {
345
+ aiHover: 'Locate and hover over an element with a Midscene UI Agent.',
346
+ aiDoubleClick: 'Locate and double-click an element with a Midscene UI Agent.',
347
+ aiRightClick: 'Locate and right-click an element with a Midscene UI Agent.',
348
+ aiClearInput: 'Locate an input element and clear its value with a Midscene UI Agent.'
349
+ }[method],
226
350
  stringInputKey: 'prompt',
227
- inputSchema: insightInputSchema,
351
+ inputSchema: aiTapInputSchema,
228
352
  toArgs: (input)=>[
229
353
  input.prompt,
230
354
  input.options
231
355
  ],
232
- toResult: (value)=>({
233
- summary: `${method} returned ${value}`,
234
- data: {
235
- value
236
- }
356
+ toResult: (_output, input)=>({
357
+ summary: `${method}: ${promptText(input.prompt)}`
237
358
  })
238
359
  });
239
- if ('aiNumber' === method) return defineCommonAgentNode({
240
- method,
241
- description: `Run ${method} with a Midscene UI Agent and store its value.`,
360
+ const additionalAgentNodes = [
361
+ locateActionNode('aiHover'),
362
+ locateActionNode('aiDoubleClick'),
363
+ locateActionNode('aiRightClick'),
364
+ locateActionNode('aiClearInput'),
365
+ defineAgentActionNode({
366
+ method: 'aiInput',
367
+ description: 'Locate an input element and enter a value with a Midscene UI Agent.',
368
+ inputSchema: aiInputInputSchema,
369
+ toArgs: (input)=>[
370
+ input.prompt,
371
+ {
372
+ ...input.options,
373
+ value: input.value
374
+ }
375
+ ]
376
+ }),
377
+ defineAgentActionNode({
378
+ method: 'aiKeyboardPress',
379
+ description: 'Press a key or key combination, optionally targeting a located element.',
380
+ stringInputKey: 'keyName',
381
+ inputSchema: aiKeyboardPressInputSchema,
382
+ toArgs: (input)=>[
383
+ input.prompt,
384
+ {
385
+ ...input.options,
386
+ keyName: input.keyName
387
+ }
388
+ ]
389
+ }),
390
+ defineAgentActionNode({
391
+ method: 'aiScroll',
392
+ description: 'Scroll the page or a located region with a Midscene UI Agent.',
242
393
  stringInputKey: 'prompt',
243
- inputSchema: insightInputSchema,
394
+ inputSchema: aiScrollInputSchema,
244
395
  toArgs: (input)=>[
245
396
  input.prompt,
246
- input.options
247
- ],
248
- toResult: (value)=>({
249
- summary: `${method} returned ${value}`,
250
- data: {
251
- value
397
+ {
398
+ ...input.options
252
399
  }
253
- })
254
- });
255
- if ('aiString' === method) return defineCommonAgentNode({
256
- method,
257
- description: `Run ${method} with a Midscene UI Agent and store its value.`,
400
+ ]
401
+ }),
402
+ defineAgentActionNode({
403
+ method: 'aiPinch',
404
+ description: 'Perform a pinch-in or pinch-out gesture with a Midscene UI Agent.',
405
+ inputSchema: aiPinchInputSchema,
406
+ toArgs: (input)=>[
407
+ input.prompt,
408
+ {
409
+ ...input.options,
410
+ direction: input.direction
411
+ }
412
+ ]
413
+ }),
414
+ defineAgentActionNode({
415
+ method: 'aiLongPress',
416
+ description: 'Locate and long-press an element with a Midscene UI Agent.',
258
417
  stringInputKey: 'prompt',
259
- inputSchema: insightInputSchema,
418
+ inputSchema: aiLongPressInputSchema,
260
419
  toArgs: (input)=>[
261
420
  input.prompt,
262
421
  input.options
422
+ ]
423
+ }),
424
+ defineAgentActionNode({
425
+ method: 'callActionInActionSpace',
426
+ name: 'aiDragAndDrop',
427
+ description: 'Locate source and destination elements, then drag the source to the destination.',
428
+ inputSchema: aiDragAndDropInputSchema,
429
+ toArgs: (input)=>[
430
+ 'DragAndDrop',
431
+ {
432
+ from: (0, utils_js_namespaceObject.buildDetailedLocateParam)(input.from, input.options),
433
+ to: (0, utils_js_namespaceObject.buildDetailedLocateParam)(input.to, input.options)
434
+ }
435
+ ]
436
+ }),
437
+ defineAgentActionNode({
438
+ method: 'aiLocate',
439
+ description: "Locate an element from a natural-language description and store the result.",
440
+ stringInputKey: 'prompt',
441
+ inputSchema: aiTapInputSchema,
442
+ toArgs: (input, context)=>[
443
+ input.prompt,
444
+ {
445
+ ...input.options,
446
+ abortSignal: context.signal
447
+ }
263
448
  ],
264
- toResult: (value)=>({
265
- summary: `${method} returned ${JSON.stringify(value)}`,
266
- data: {
267
- value
449
+ toResult: valueResult
450
+ }),
451
+ defineAgentActionNode({
452
+ method: 'aiQuery',
453
+ description: 'Extract structured data from the current interface and store the result.',
454
+ stringInputKey: 'prompt',
455
+ inputSchema: aiQueryInputSchema,
456
+ toArgs: (input, context)=>[
457
+ input.prompt,
458
+ {
459
+ ...input.options,
460
+ abortSignal: context.signal
268
461
  }
269
- })
270
- });
271
- return defineCommonAgentNode({
462
+ ],
463
+ toResult: valueResult
464
+ }),
465
+ defineAgentActionNode({
466
+ method: 'aiWaitFor',
467
+ description: 'Wait until a natural-language condition is satisfied.',
468
+ stringInputKey: 'prompt',
469
+ inputSchema: aiWaitForInputSchema,
470
+ toArgs: (input, context)=>[
471
+ input.prompt,
472
+ {
473
+ ...input.options,
474
+ abortSignal: context.signal
475
+ }
476
+ ]
477
+ }),
478
+ defineAgentActionNode({
479
+ method: 'evaluateJavaScript',
480
+ name: "javascript",
481
+ description: 'Evaluate JavaScript in the current interface and store the result.',
482
+ stringInputKey: "script",
483
+ inputSchema: javascriptInputSchema,
484
+ toArgs: (input)=>[
485
+ input.script
486
+ ],
487
+ toResult: valueResult
488
+ }),
489
+ defineAgentActionNode({
490
+ method: 'runGherkinScenario',
491
+ description: 'Execute a Gherkin scenario with the current Midscene UI Agent.',
492
+ stringInputKey: 'scenario',
493
+ inputSchema: runGherkinScenarioInputSchema,
494
+ toArgs: (input, context)=>[
495
+ input.scenario,
496
+ {
497
+ ...input.options,
498
+ abortSignal: context.signal
499
+ }
500
+ ]
501
+ }),
502
+ defineAgentActionNode({
503
+ method: 'callActionInActionSpace',
504
+ name: 'action',
505
+ description: 'Call a platform or custom action. Its ActionSpace schema validates params when the action executes.',
506
+ inputSchema: actionInputSchema,
507
+ toArgs: (input)=>[
508
+ input.name,
509
+ input.params
510
+ ],
511
+ toResult: (value)=>void 0 === value ? void 0 : valueResult(value)
512
+ })
513
+ ];
514
+ const insightNode = (method)=>defineCommonAgentNode({
272
515
  method,
273
516
  description: `Run ${method} with a Midscene UI Agent and store its value.`,
274
517
  stringInputKey: 'prompt',
275
518
  inputSchema: insightInputSchema,
276
- toArgs: (input)=>[
519
+ toArgs: (input, context)=>[
277
520
  input.prompt,
278
- input.options
521
+ {
522
+ ...input.options,
523
+ abortSignal: context.signal
524
+ }
279
525
  ],
280
526
  toResult: (value)=>({
281
- summary: `${method} returned ${JSON.stringify(value)}`,
527
+ summary: `${method} returned ${'aiString' === method || 'aiAsk' === method ? JSON.stringify(value) : value}`,
282
528
  data: {
283
529
  value
284
530
  }
285
531
  })
286
532
  });
287
- };
288
533
  const recordToReportNode = defineCommonAgentNode({
289
534
  method: 'recordToReport',
290
535
  description: 'Add text or screenshots to the current Midscene report.',
@@ -303,6 +548,22 @@ const recordToReportNode = defineCommonAgentNode({
303
548
  }
304
549
  });
305
550
  const commonAgentTestRunnerNodeDefinitions = [
551
+ defineAgentActionNode({
552
+ method: 'sleep',
553
+ description: 'Wait for a fixed number of milliseconds, recording standard UI snapshots and honoring cancellation.',
554
+ inputSchema: v4_namespaceObject.z.strictObject({
555
+ ms: v4_namespaceObject.z.number().positive()
556
+ }),
557
+ toArgs (input, { signal }) {
558
+ signal.throwIfAborted();
559
+ return [
560
+ input.ms,
561
+ {
562
+ abortSignal: signal
563
+ }
564
+ ];
565
+ }
566
+ }),
306
567
  aiActNode,
307
568
  aiTapNode,
308
569
  aiAssertNode,
@@ -310,39 +571,62 @@ const commonAgentTestRunnerNodeDefinitions = [
310
571
  insightNode('aiNumber'),
311
572
  insightNode('aiString'),
312
573
  insightNode('aiAsk'),
313
- recordToReportNode
574
+ recordToReportNode,
575
+ ...additionalAgentNodes
314
576
  ];
577
+ exports.actionInputSchema = __webpack_exports__.actionInputSchema;
315
578
  exports.aiActInputSchema = __webpack_exports__.aiActInputSchema;
316
579
  exports.aiActOptionsInputSchema = __webpack_exports__.aiActOptionsInputSchema;
317
580
  exports.aiAssertInputSchema = __webpack_exports__.aiAssertInputSchema;
318
581
  exports.aiAssertOptionsInputSchema = __webpack_exports__.aiAssertOptionsInputSchema;
582
+ exports.aiDragAndDropInputSchema = __webpack_exports__.aiDragAndDropInputSchema;
583
+ exports.aiInputInputSchema = __webpack_exports__.aiInputInputSchema;
584
+ exports.aiKeyboardPressInputSchema = __webpack_exports__.aiKeyboardPressInputSchema;
585
+ exports.aiLongPressInputSchema = __webpack_exports__.aiLongPressInputSchema;
586
+ exports.aiPinchInputSchema = __webpack_exports__.aiPinchInputSchema;
587
+ exports.aiQueryInputSchema = __webpack_exports__.aiQueryInputSchema;
588
+ exports.aiScrollInputSchema = __webpack_exports__.aiScrollInputSchema;
319
589
  exports.aiTapInputSchema = __webpack_exports__.aiTapInputSchema;
590
+ exports.aiWaitForInputSchema = __webpack_exports__.aiWaitForInputSchema;
320
591
  exports.commonAgentTestRunnerNodeDefinitions = __webpack_exports__.commonAgentTestRunnerNodeDefinitions;
321
592
  exports.createAgentTestRunnerNodeDefinition = __webpack_exports__.createAgentTestRunnerNodeDefinition;
322
593
  exports.insightInputSchema = __webpack_exports__.insightInputSchema;
323
594
  exports.insightOptionsInputSchema = __webpack_exports__.insightOptionsInputSchema;
595
+ exports.javascriptInputSchema = __webpack_exports__.javascriptInputSchema;
324
596
  exports.locateOptionsInputSchema = __webpack_exports__.locateOptionsInputSchema;
325
597
  exports.promptImageInputSchema = __webpack_exports__.promptImageInputSchema;
326
598
  exports.recordToReportInputSchema = __webpack_exports__.recordToReportInputSchema;
327
599
  exports.recordToReportOptionsInputSchema = __webpack_exports__.recordToReportOptionsInputSchema;
328
600
  exports.reportScreenshotInputSchema = __webpack_exports__.reportScreenshotInputSchema;
601
+ exports.runGherkinScenarioInputSchema = __webpack_exports__.runGherkinScenarioInputSchema;
329
602
  exports.structuredUserPromptInputSchema = __webpack_exports__.structuredUserPromptInputSchema;
330
603
  exports.userPromptInputSchema = __webpack_exports__.userPromptInputSchema;
331
604
  for(var __rspack_i in __webpack_exports__)if (-1 === [
605
+ "actionInputSchema",
332
606
  "aiActInputSchema",
333
607
  "aiActOptionsInputSchema",
334
608
  "aiAssertInputSchema",
335
609
  "aiAssertOptionsInputSchema",
610
+ "aiDragAndDropInputSchema",
611
+ "aiInputInputSchema",
612
+ "aiKeyboardPressInputSchema",
613
+ "aiLongPressInputSchema",
614
+ "aiPinchInputSchema",
615
+ "aiQueryInputSchema",
616
+ "aiScrollInputSchema",
336
617
  "aiTapInputSchema",
618
+ "aiWaitForInputSchema",
337
619
  "commonAgentTestRunnerNodeDefinitions",
338
620
  "createAgentTestRunnerNodeDefinition",
339
621
  "insightInputSchema",
340
622
  "insightOptionsInputSchema",
623
+ "javascriptInputSchema",
341
624
  "locateOptionsInputSchema",
342
625
  "promptImageInputSchema",
343
626
  "recordToReportInputSchema",
344
627
  "recordToReportOptionsInputSchema",
345
628
  "reportScreenshotInputSchema",
629
+ "runGherkinScenarioInputSchema",
346
630
  "structuredUserPromptInputSchema",
347
631
  "userPromptInputSchema"
348
632
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];