@testsmith/testblocks 0.9.4 → 0.9.7

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 (300) hide show
  1. package/dist/cli/index.js +4 -1
  2. package/dist/client/assets/index-B8OSvcUg.css +1 -0
  3. package/dist/client/assets/index-CMMJHs_d.js +2197 -0
  4. package/dist/client/assets/index-CMMJHs_d.js.map +1 -0
  5. package/dist/client/index.html +2 -2
  6. package/dist/core/blocks/api/ApiAssertBodyContainsBlock.d.ts +13 -0
  7. package/dist/core/blocks/api/ApiAssertBodyContainsBlock.js +40 -0
  8. package/dist/core/blocks/api/ApiAssertStatusBlock.d.ts +13 -0
  9. package/dist/core/blocks/api/ApiAssertStatusBlock.js +35 -0
  10. package/dist/core/blocks/api/ApiClearHeadersBlock.d.ts +13 -0
  11. package/dist/core/blocks/api/ApiClearHeadersBlock.js +25 -0
  12. package/dist/core/blocks/api/ApiDeleteBlock.d.ts +13 -0
  13. package/dist/core/blocks/api/ApiDeleteBlock.js +37 -0
  14. package/dist/core/blocks/api/ApiExtractBlock.d.ts +14 -0
  15. package/dist/core/blocks/api/ApiExtractBlock.js +40 -0
  16. package/dist/core/blocks/api/ApiExtractJsonPathBlock.d.ts +13 -0
  17. package/dist/core/blocks/api/ApiExtractJsonPathBlock.js +47 -0
  18. package/dist/core/blocks/api/ApiExtractXPathBlock.d.ts +13 -0
  19. package/dist/core/blocks/api/ApiExtractXPathBlock.js +70 -0
  20. package/dist/core/blocks/api/ApiGetBlock.d.ts +13 -0
  21. package/dist/core/blocks/api/ApiGetBlock.js +36 -0
  22. package/dist/core/blocks/api/ApiHeadersBlock.d.ts +14 -0
  23. package/dist/core/blocks/api/ApiHeadersBlock.js +44 -0
  24. package/dist/core/blocks/api/ApiJsonBodyBlock.d.ts +14 -0
  25. package/dist/core/blocks/api/ApiJsonBodyBlock.js +28 -0
  26. package/dist/core/blocks/api/ApiPatchBlock.d.ts +13 -0
  27. package/dist/core/blocks/api/ApiPatchBlock.js +47 -0
  28. package/dist/core/blocks/api/ApiPostBlock.d.ts +13 -0
  29. package/dist/core/blocks/api/ApiPostBlock.js +47 -0
  30. package/dist/core/blocks/api/ApiPutBlock.d.ts +13 -0
  31. package/dist/core/blocks/api/ApiPutBlock.js +47 -0
  32. package/dist/core/blocks/api/ApiSetHeaderBlock.d.ts +13 -0
  33. package/dist/core/blocks/api/ApiSetHeaderBlock.js +37 -0
  34. package/dist/core/blocks/api/ApiSetHeadersBlock.d.ts +13 -0
  35. package/dist/core/blocks/api/ApiSetHeadersBlock.js +41 -0
  36. package/dist/core/blocks/api/index.d.ts +25 -0
  37. package/dist/core/blocks/api/index.js +83 -0
  38. package/dist/core/blocks/base/Block.d.ts +59 -0
  39. package/dist/core/blocks/base/Block.js +151 -0
  40. package/dist/core/blocks/base/ContainerBlock.d.ts +14 -0
  41. package/dist/core/blocks/base/ContainerBlock.js +16 -0
  42. package/dist/core/blocks/base/ControlFlowBlock.d.ts +13 -0
  43. package/dist/core/blocks/base/ControlFlowBlock.js +17 -0
  44. package/dist/core/blocks/base/StatementBlock.d.ts +9 -0
  45. package/dist/core/blocks/base/StatementBlock.js +16 -0
  46. package/dist/core/blocks/base/ValueBlock.d.ts +12 -0
  47. package/dist/core/blocks/base/ValueBlock.js +16 -0
  48. package/dist/core/blocks/base/index.d.ts +5 -0
  49. package/dist/core/blocks/base/index.js +13 -0
  50. package/dist/core/blocks/data/DataCsvBlock.d.ts +14 -0
  51. package/dist/core/blocks/data/DataCsvBlock.js +51 -0
  52. package/dist/core/blocks/data/DataDefineBlock.d.ts +14 -0
  53. package/dist/core/blocks/data/DataDefineBlock.js +28 -0
  54. package/dist/core/blocks/data/DataForeachBlock.d.ts +13 -0
  55. package/dist/core/blocks/data/DataForeachBlock.js +37 -0
  56. package/dist/core/blocks/data/DataFromVariableBlock.d.ts +14 -0
  57. package/dist/core/blocks/data/DataFromVariableBlock.js +27 -0
  58. package/dist/core/blocks/data/DataGetCurrentBlock.d.ts +14 -0
  59. package/dist/core/blocks/data/DataGetCurrentBlock.js +34 -0
  60. package/dist/core/blocks/data/DataGetIndexBlock.d.ts +14 -0
  61. package/dist/core/blocks/data/DataGetIndexBlock.js +24 -0
  62. package/dist/core/blocks/data/DataGetNameBlock.d.ts +14 -0
  63. package/dist/core/blocks/data/DataGetNameBlock.js +24 -0
  64. package/dist/core/blocks/data/DataRangeBlock.d.ts +14 -0
  65. package/dist/core/blocks/data/DataRangeBlock.js +40 -0
  66. package/dist/core/blocks/data/DataRowBlock.d.ts +14 -0
  67. package/dist/core/blocks/data/DataRowBlock.js +33 -0
  68. package/dist/core/blocks/data/DataTableBlock.d.ts +14 -0
  69. package/dist/core/blocks/data/DataTableBlock.js +51 -0
  70. package/dist/core/blocks/data/index.d.ts +20 -0
  71. package/dist/core/blocks/data/index.js +57 -0
  72. package/dist/core/blocks/index.d.ts +66 -5
  73. package/dist/core/blocks/index.js +134 -35
  74. package/dist/core/blocks/lifecycle/LifecycleAfterAllBlock.d.ts +15 -0
  75. package/dist/core/blocks/lifecycle/LifecycleAfterAllBlock.js +27 -0
  76. package/dist/core/blocks/lifecycle/LifecycleAfterEachBlock.d.ts +15 -0
  77. package/dist/core/blocks/lifecycle/LifecycleAfterEachBlock.js +27 -0
  78. package/dist/core/blocks/lifecycle/LifecycleBeforeAllBlock.d.ts +15 -0
  79. package/dist/core/blocks/lifecycle/LifecycleBeforeAllBlock.js +28 -0
  80. package/dist/core/blocks/lifecycle/LifecycleBeforeEachBlock.d.ts +15 -0
  81. package/dist/core/blocks/lifecycle/LifecycleBeforeEachBlock.js +27 -0
  82. package/dist/core/blocks/lifecycle/LifecycleOnFailureBlock.d.ts +13 -0
  83. package/dist/core/blocks/lifecycle/LifecycleOnFailureBlock.js +25 -0
  84. package/dist/core/blocks/lifecycle/LifecycleRetryBlock.d.ts +13 -0
  85. package/dist/core/blocks/lifecycle/LifecycleRetryBlock.js +29 -0
  86. package/dist/core/blocks/lifecycle/LifecycleSetupBlock.d.ts +13 -0
  87. package/dist/core/blocks/lifecycle/LifecycleSetupBlock.js +27 -0
  88. package/dist/core/blocks/lifecycle/LifecycleSkipIfBlock.d.ts +13 -0
  89. package/dist/core/blocks/lifecycle/LifecycleSkipIfBlock.js +31 -0
  90. package/dist/core/blocks/lifecycle/LifecycleTeardownBlock.d.ts +13 -0
  91. package/dist/core/blocks/lifecycle/LifecycleTeardownBlock.js +27 -0
  92. package/dist/core/blocks/lifecycle/TestCaseBlock.d.ts +21 -0
  93. package/dist/core/blocks/lifecycle/TestCaseBlock.js +72 -0
  94. package/dist/core/blocks/lifecycle/TestCaseDataDrivenBlock.d.ts +21 -0
  95. package/dist/core/blocks/lifecycle/TestCaseDataDrivenBlock.js +102 -0
  96. package/dist/core/blocks/lifecycle/index.d.ts +21 -0
  97. package/dist/core/blocks/lifecycle/index.js +63 -0
  98. package/dist/core/blocks/logic/LogicArrayBlock.d.ts +14 -0
  99. package/dist/core/blocks/logic/LogicArrayBlock.js +28 -0
  100. package/dist/core/blocks/logic/LogicAssertBlock.d.ts +13 -0
  101. package/dist/core/blocks/logic/LogicAssertBlock.js +32 -0
  102. package/dist/core/blocks/logic/LogicBooleanBlock.d.ts +14 -0
  103. package/dist/core/blocks/logic/LogicBooleanBlock.js +26 -0
  104. package/dist/core/blocks/logic/LogicBooleanOpBlock.d.ts +14 -0
  105. package/dist/core/blocks/logic/LogicBooleanOpBlock.js +31 -0
  106. package/dist/core/blocks/logic/LogicCommentBlock.d.ts +13 -0
  107. package/dist/core/blocks/logic/LogicCommentBlock.js +26 -0
  108. package/dist/core/blocks/logic/LogicCompareBlock.d.ts +14 -0
  109. package/dist/core/blocks/logic/LogicCompareBlock.js +52 -0
  110. package/dist/core/blocks/logic/LogicFailBlock.d.ts +16 -0
  111. package/dist/core/blocks/logic/LogicFailBlock.js +30 -0
  112. package/dist/core/blocks/logic/LogicForeachBlock.d.ts +13 -0
  113. package/dist/core/blocks/logic/LogicForeachBlock.js +29 -0
  114. package/dist/core/blocks/logic/LogicGetVariableBlock.d.ts +14 -0
  115. package/dist/core/blocks/logic/LogicGetVariableBlock.js +27 -0
  116. package/dist/core/blocks/logic/LogicIfBlock.d.ts +13 -0
  117. package/dist/core/blocks/logic/LogicIfBlock.js +36 -0
  118. package/dist/core/blocks/logic/LogicLogBlock.d.ts +13 -0
  119. package/dist/core/blocks/logic/LogicLogBlock.js +30 -0
  120. package/dist/core/blocks/logic/LogicNotBlock.d.ts +14 -0
  121. package/dist/core/blocks/logic/LogicNotBlock.js +26 -0
  122. package/dist/core/blocks/logic/LogicNumberBlock.d.ts +14 -0
  123. package/dist/core/blocks/logic/LogicNumberBlock.js +26 -0
  124. package/dist/core/blocks/logic/LogicObjectBlock.d.ts +14 -0
  125. package/dist/core/blocks/logic/LogicObjectBlock.js +28 -0
  126. package/dist/core/blocks/logic/LogicRepeatBlock.d.ts +13 -0
  127. package/dist/core/blocks/logic/LogicRepeatBlock.js +27 -0
  128. package/dist/core/blocks/logic/LogicSetVariableBlock.d.ts +13 -0
  129. package/dist/core/blocks/logic/LogicSetVariableBlock.js +34 -0
  130. package/dist/core/blocks/logic/LogicTextBlock.d.ts +14 -0
  131. package/dist/core/blocks/logic/LogicTextBlock.js +27 -0
  132. package/dist/core/blocks/logic/LogicTryCatchBlock.d.ts +13 -0
  133. package/dist/core/blocks/logic/LogicTryCatchBlock.js +26 -0
  134. package/dist/core/blocks/logic/index.d.ts +28 -0
  135. package/dist/core/blocks/logic/index.js +95 -0
  136. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleDescriptionBlock.d.ts +13 -0
  137. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleDescriptionBlock.js +41 -0
  138. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleNameBlock.d.ts +13 -0
  139. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleNameBlock.js +41 -0
  140. package/dist/core/blocks/playwright/assertions/WebAssertAttachedBlock.d.ts +13 -0
  141. package/dist/core/blocks/playwright/assertions/WebAssertAttachedBlock.js +39 -0
  142. package/dist/core/blocks/playwright/assertions/WebAssertAttributeBlock.d.ts +13 -0
  143. package/dist/core/blocks/playwright/assertions/WebAssertAttributeBlock.js +44 -0
  144. package/dist/core/blocks/playwright/assertions/WebAssertCheckedBlock.d.ts +13 -0
  145. package/dist/core/blocks/playwright/assertions/WebAssertCheckedBlock.js +48 -0
  146. package/dist/core/blocks/playwright/assertions/WebAssertClassBlock.d.ts +13 -0
  147. package/dist/core/blocks/playwright/assertions/WebAssertClassBlock.js +43 -0
  148. package/dist/core/blocks/playwright/assertions/WebAssertCountBlock.d.ts +13 -0
  149. package/dist/core/blocks/playwright/assertions/WebAssertCountBlock.js +41 -0
  150. package/dist/core/blocks/playwright/assertions/WebAssertCssBlock.d.ts +13 -0
  151. package/dist/core/blocks/playwright/assertions/WebAssertCssBlock.js +44 -0
  152. package/dist/core/blocks/playwright/assertions/WebAssertDisabledBlock.d.ts +13 -0
  153. package/dist/core/blocks/playwright/assertions/WebAssertDisabledBlock.js +39 -0
  154. package/dist/core/blocks/playwright/assertions/WebAssertEditableBlock.d.ts +13 -0
  155. package/dist/core/blocks/playwright/assertions/WebAssertEditableBlock.js +39 -0
  156. package/dist/core/blocks/playwright/assertions/WebAssertEmptyBlock.d.ts +13 -0
  157. package/dist/core/blocks/playwright/assertions/WebAssertEmptyBlock.js +39 -0
  158. package/dist/core/blocks/playwright/assertions/WebAssertEnabledBlock.d.ts +13 -0
  159. package/dist/core/blocks/playwright/assertions/WebAssertEnabledBlock.js +39 -0
  160. package/dist/core/blocks/playwright/assertions/WebAssertFocusedBlock.d.ts +13 -0
  161. package/dist/core/blocks/playwright/assertions/WebAssertFocusedBlock.js +39 -0
  162. package/dist/core/blocks/playwright/assertions/WebAssertIdBlock.d.ts +13 -0
  163. package/dist/core/blocks/playwright/assertions/WebAssertIdBlock.js +41 -0
  164. package/dist/core/blocks/playwright/assertions/WebAssertInViewportBlock.d.ts +13 -0
  165. package/dist/core/blocks/playwright/assertions/WebAssertInViewportBlock.js +39 -0
  166. package/dist/core/blocks/playwright/assertions/WebAssertNotVisibleBlock.d.ts +13 -0
  167. package/dist/core/blocks/playwright/assertions/WebAssertNotVisibleBlock.js +39 -0
  168. package/dist/core/blocks/playwright/assertions/WebAssertRoleBlock.d.ts +13 -0
  169. package/dist/core/blocks/playwright/assertions/WebAssertRoleBlock.js +69 -0
  170. package/dist/core/blocks/playwright/assertions/WebAssertTextContainsBlock.d.ts +13 -0
  171. package/dist/core/blocks/playwright/assertions/WebAssertTextContainsBlock.js +41 -0
  172. package/dist/core/blocks/playwright/assertions/WebAssertTextEqualsBlock.d.ts +13 -0
  173. package/dist/core/blocks/playwright/assertions/WebAssertTextEqualsBlock.js +41 -0
  174. package/dist/core/blocks/playwright/assertions/WebAssertTitleContainsBlock.d.ts +13 -0
  175. package/dist/core/blocks/playwright/assertions/WebAssertTitleContainsBlock.js +39 -0
  176. package/dist/core/blocks/playwright/assertions/WebAssertTitleEqualsBlock.d.ts +13 -0
  177. package/dist/core/blocks/playwright/assertions/WebAssertTitleEqualsBlock.js +36 -0
  178. package/dist/core/blocks/playwright/assertions/WebAssertUrlContainsBlock.d.ts +13 -0
  179. package/dist/core/blocks/playwright/assertions/WebAssertUrlContainsBlock.js +40 -0
  180. package/dist/core/blocks/playwright/assertions/WebAssertUrlEqualsBlock.d.ts +13 -0
  181. package/dist/core/blocks/playwright/assertions/WebAssertUrlEqualsBlock.js +37 -0
  182. package/dist/core/blocks/playwright/assertions/WebAssertValueBlock.d.ts +13 -0
  183. package/dist/core/blocks/playwright/assertions/WebAssertValueBlock.js +43 -0
  184. package/dist/core/blocks/playwright/assertions/WebAssertValueContainsBlock.d.ts +13 -0
  185. package/dist/core/blocks/playwright/assertions/WebAssertValueContainsBlock.js +43 -0
  186. package/dist/core/blocks/playwright/assertions/WebAssertVisibleBlock.d.ts +13 -0
  187. package/dist/core/blocks/playwright/assertions/WebAssertVisibleBlock.js +39 -0
  188. package/dist/core/blocks/playwright/assertions/index.d.ts +36 -0
  189. package/dist/core/blocks/playwright/assertions/index.js +127 -0
  190. package/dist/core/blocks/playwright/index.d.ts +16 -0
  191. package/dist/core/blocks/playwright/index.js +28 -3
  192. package/dist/core/blocks/playwright/interactions/WebCheckboxBlock.d.ts +13 -0
  193. package/dist/core/blocks/playwright/interactions/WebCheckboxBlock.js +43 -0
  194. package/dist/core/blocks/playwright/interactions/WebClickBlock.d.ts +13 -0
  195. package/dist/core/blocks/playwright/interactions/WebClickBlock.js +34 -0
  196. package/dist/core/blocks/playwright/interactions/WebDragAndDropBlock.d.ts +13 -0
  197. package/dist/core/blocks/playwright/interactions/WebDragAndDropBlock.js +37 -0
  198. package/dist/core/blocks/playwright/interactions/WebFillBlock.d.ts +13 -0
  199. package/dist/core/blocks/playwright/interactions/WebFillBlock.js +38 -0
  200. package/dist/core/blocks/playwright/interactions/WebFocusBlock.d.ts +13 -0
  201. package/dist/core/blocks/playwright/interactions/WebFocusBlock.js +34 -0
  202. package/dist/core/blocks/playwright/interactions/WebHoverBlock.d.ts +13 -0
  203. package/dist/core/blocks/playwright/interactions/WebHoverBlock.js +34 -0
  204. package/dist/core/blocks/playwright/interactions/WebPressKeyBlock.d.ts +13 -0
  205. package/dist/core/blocks/playwright/interactions/WebPressKeyBlock.js +37 -0
  206. package/dist/core/blocks/playwright/interactions/WebScrollIntoViewBlock.d.ts +13 -0
  207. package/dist/core/blocks/playwright/interactions/WebScrollIntoViewBlock.js +34 -0
  208. package/dist/core/blocks/playwright/interactions/WebSelectBlock.d.ts +13 -0
  209. package/dist/core/blocks/playwright/interactions/WebSelectBlock.js +37 -0
  210. package/dist/core/blocks/playwright/interactions/WebTypeBlock.d.ts +13 -0
  211. package/dist/core/blocks/playwright/interactions/WebTypeBlock.js +41 -0
  212. package/dist/core/blocks/playwright/interactions/WebUploadFileBlock.d.ts +13 -0
  213. package/dist/core/blocks/playwright/interactions/WebUploadFileBlock.js +39 -0
  214. package/dist/core/blocks/playwright/interactions/index.d.ts +21 -0
  215. package/dist/core/blocks/playwright/interactions/index.js +56 -0
  216. package/dist/core/blocks/playwright/navigation/WebNavigateBlock.d.ts +13 -0
  217. package/dist/core/blocks/playwright/navigation/WebNavigateBlock.js +36 -0
  218. package/dist/core/blocks/playwright/navigation/WebScreenshotBlock.d.ts +13 -0
  219. package/dist/core/blocks/playwright/navigation/WebScreenshotBlock.js +36 -0
  220. package/dist/core/blocks/playwright/navigation/WebWaitBlock.d.ts +13 -0
  221. package/dist/core/blocks/playwright/navigation/WebWaitBlock.js +32 -0
  222. package/dist/core/blocks/playwright/navigation/WebWaitForElementBlock.d.ts +13 -0
  223. package/dist/core/blocks/playwright/navigation/WebWaitForElementBlock.js +37 -0
  224. package/dist/core/blocks/playwright/navigation/WebWaitForUrlBlock.d.ts +13 -0
  225. package/dist/core/blocks/playwright/navigation/WebWaitForUrlBlock.js +34 -0
  226. package/dist/core/blocks/playwright/navigation/index.d.ts +15 -0
  227. package/dist/core/blocks/playwright/navigation/index.js +32 -0
  228. package/dist/core/blocks/playwright/retrieval/WebCountElementsBlock.d.ts +16 -0
  229. package/dist/core/blocks/playwright/retrieval/WebCountElementsBlock.js +36 -0
  230. package/dist/core/blocks/playwright/retrieval/WebGetAttributeBlock.d.ts +16 -0
  231. package/dist/core/blocks/playwright/retrieval/WebGetAttributeBlock.js +42 -0
  232. package/dist/core/blocks/playwright/retrieval/WebGetInputValueBlock.d.ts +16 -0
  233. package/dist/core/blocks/playwright/retrieval/WebGetInputValueBlock.js +40 -0
  234. package/dist/core/blocks/playwright/retrieval/WebGetTextBlock.d.ts +16 -0
  235. package/dist/core/blocks/playwright/retrieval/WebGetTextBlock.js +40 -0
  236. package/dist/core/blocks/playwright/retrieval/WebGetTitleBlock.d.ts +16 -0
  237. package/dist/core/blocks/playwright/retrieval/WebGetTitleBlock.js +31 -0
  238. package/dist/core/blocks/playwright/retrieval/WebGetUrlBlock.d.ts +16 -0
  239. package/dist/core/blocks/playwright/retrieval/WebGetUrlBlock.js +31 -0
  240. package/dist/core/blocks/playwright/retrieval/index.d.ts +16 -0
  241. package/dist/core/blocks/playwright/retrieval/index.js +36 -0
  242. package/dist/core/blocks/playwright/types.d.ts +14 -0
  243. package/dist/core/blocks/procedures/ProcedureCallBlock.d.ts +13 -0
  244. package/dist/core/blocks/procedures/ProcedureCallBlock.js +66 -0
  245. package/dist/core/blocks/procedures/ProcedureCallWithReturnBlock.d.ts +14 -0
  246. package/dist/core/blocks/procedures/ProcedureCallWithReturnBlock.js +51 -0
  247. package/dist/core/blocks/procedures/ProcedureDefineBlock.d.ts +15 -0
  248. package/dist/core/blocks/procedures/ProcedureDefineBlock.js +59 -0
  249. package/dist/core/blocks/procedures/ProcedureFillFormBlock.d.ts +13 -0
  250. package/dist/core/blocks/procedures/ProcedureFillFormBlock.js +30 -0
  251. package/dist/core/blocks/procedures/ProcedureGetParamBlock.d.ts +14 -0
  252. package/dist/core/blocks/procedures/ProcedureGetParamBlock.js +33 -0
  253. package/dist/core/blocks/procedures/ProcedureInlineBlock.d.ts +14 -0
  254. package/dist/core/blocks/procedures/ProcedureInlineBlock.js +31 -0
  255. package/dist/core/blocks/procedures/ProcedureLoginBlock.d.ts +13 -0
  256. package/dist/core/blocks/procedures/ProcedureLoginBlock.js +37 -0
  257. package/dist/core/blocks/procedures/ProcedureMapBlock.d.ts +14 -0
  258. package/dist/core/blocks/procedures/ProcedureMapBlock.js +36 -0
  259. package/dist/core/blocks/procedures/ProcedureReturnBlock.d.ts +15 -0
  260. package/dist/core/blocks/procedures/ProcedureReturnBlock.js +28 -0
  261. package/dist/core/blocks/procedures/ProcedureWaitAndClickBlock.d.ts +13 -0
  262. package/dist/core/blocks/procedures/ProcedureWaitAndClickBlock.js +32 -0
  263. package/dist/core/blocks/procedures/index.d.ts +21 -0
  264. package/dist/core/blocks/procedures/index.js +62 -0
  265. package/dist/core/blocks/{procedures.d.ts → procedures/procedureRegistry.d.ts} +10 -2
  266. package/dist/core/blocks/procedures/procedureRegistry.js +27 -0
  267. package/dist/core/blocks/utils/apiUtils.d.ts +81 -0
  268. package/dist/core/blocks/utils/apiUtils.js +176 -0
  269. package/dist/core/blocks/utils/index.d.ts +2 -0
  270. package/dist/core/blocks/utils/index.js +16 -0
  271. package/dist/core/blocks/utils/variableUtils.d.ts +19 -0
  272. package/dist/core/blocks/utils/variableUtils.js +69 -0
  273. package/dist/server/index.js +117 -11
  274. package/dist/server/openApiParser.d.ts +82 -0
  275. package/dist/server/openApiParser.js +495 -0
  276. package/dist/server/startServer.d.ts +1 -0
  277. package/dist/server/startServer.js +164 -0
  278. package/package.json +4 -2
  279. package/dist/client/assets/index-BLBBQ6Rn.js +0 -2195
  280. package/dist/client/assets/index-BLBBQ6Rn.js.map +0 -1
  281. package/dist/client/assets/index-qjoPPl9y.css +0 -1
  282. package/dist/core/blocks/api.d.ts +0 -2
  283. package/dist/core/blocks/api.js +0 -607
  284. package/dist/core/blocks/data-driven.d.ts +0 -2
  285. package/dist/core/blocks/data-driven.js +0 -245
  286. package/dist/core/blocks/lifecycle.d.ts +0 -2
  287. package/dist/core/blocks/lifecycle.js +0 -201
  288. package/dist/core/blocks/logic.d.ts +0 -2
  289. package/dist/core/blocks/logic.js +0 -360
  290. package/dist/core/blocks/playwright/assertions.d.ts +0 -5
  291. package/dist/core/blocks/playwright/assertions.js +0 -311
  292. package/dist/core/blocks/playwright/interactions.d.ts +0 -5
  293. package/dist/core/blocks/playwright/interactions.js +0 -208
  294. package/dist/core/blocks/playwright/navigation.d.ts +0 -5
  295. package/dist/core/blocks/playwright/navigation.js +0 -131
  296. package/dist/core/blocks/playwright/retrieval.d.ts +0 -5
  297. package/dist/core/blocks/playwright/retrieval.js +0 -153
  298. package/dist/core/blocks/playwright.d.ts +0 -13
  299. package/dist/core/blocks/playwright.js +0 -17
  300. package/dist/core/blocks/procedures.js +0 -321
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific accessible description (auto-waits).
5
+ */
6
+ export declare class WebAssertAccessibleDescriptionBlock extends StatementBlock {
7
+ readonly type = "web_assert_accessible_description";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific accessible description (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertAccessibleDescriptionBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific accessible description (auto-waits).
8
+ */
9
+ class WebAssertAccessibleDescriptionBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_accessible_description';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific accessible description (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'DESCRIPTION', type: 'field', fieldType: 'text', required: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedDescription = (0, utils_1.resolveVariables)(params.DESCRIPTION, context);
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} has accessible description "${expectedDescription}"`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveAccessibleDescription(expectedDescription, { timeout }); }, `Expected element ${displaySelector} to have accessible description "${expectedDescription}"`, { stepType: 'web_assert_accessible_description', expected: expectedDescription });
33
+ context.logger.info(`✓ Element ${displaySelector} has accessible description "${expectedDescription}"`);
34
+ return {
35
+ _summary: `accessible description "${expectedDescription}"`,
36
+ selector,
37
+ expectedDescription,
38
+ };
39
+ }
40
+ }
41
+ exports.WebAssertAccessibleDescriptionBlock = WebAssertAccessibleDescriptionBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific accessible name (auto-waits).
5
+ */
6
+ export declare class WebAssertAccessibleNameBlock extends StatementBlock {
7
+ readonly type = "web_assert_accessible_name";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific accessible name (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertAccessibleNameBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific accessible name (auto-waits).
8
+ */
9
+ class WebAssertAccessibleNameBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_accessible_name';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific accessible name (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'NAME', type: 'field', fieldType: 'text', required: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedName = (0, utils_1.resolveVariables)(params.NAME, context);
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} has accessible name "${expectedName}"`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveAccessibleName(expectedName, { timeout }); }, `Expected element ${displaySelector} to have accessible name "${expectedName}"`, { stepType: 'web_assert_accessible_name', expected: expectedName });
33
+ context.logger.info(`✓ Element ${displaySelector} has accessible name "${expectedName}"`);
34
+ return {
35
+ _summary: `accessible name "${expectedName}"`,
36
+ selector,
37
+ expectedName,
38
+ };
39
+ }
40
+ }
41
+ exports.WebAssertAccessibleNameBlock = WebAssertAccessibleNameBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is attached to the DOM (auto-waits).
5
+ */
6
+ export declare class WebAssertAttachedBlock extends StatementBlock {
7
+ readonly type = "web_assert_attached";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is attached to the DOM (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertAttachedBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is attached to the DOM (auto-waits).
8
+ */
9
+ class WebAssertAttachedBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_attached';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is attached to the DOM (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is attached`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeAttached({ timeout }); }, `Expected element ${displaySelector} to be attached`, { stepType: 'web_assert_attached', expected: 'attached', actual: 'detached' });
31
+ context.logger.info(`✓ Element ${displaySelector} is attached`);
32
+ return {
33
+ _summary: `${displaySelector} is attached`,
34
+ selector,
35
+ isAttached: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertAttachedBlock = WebAssertAttachedBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific attribute value (auto-waits).
5
+ */
6
+ export declare class WebAssertAttributeBlock extends StatementBlock {
7
+ readonly type = "web_assert_attribute";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific attribute value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertAttributeBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific attribute value (auto-waits).
8
+ */
9
+ class WebAssertAttributeBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_attribute';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific attribute value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'ATTRIBUTE', type: 'field', fieldType: 'text', required: true },
21
+ { name: 'VALUE', type: 'field', fieldType: 'text', required: true },
22
+ ];
23
+ }
24
+ async execute(params, context) {
25
+ const page = context.page;
26
+ const selector = (0, utils_1.resolveSelector)(params, context);
27
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
28
+ const attribute = params.ATTRIBUTE;
29
+ const expectedValue = (0, utils_1.resolveVariables)(params.VALUE, context);
30
+ const timeout = (0, utils_1.getTimeout)(context);
31
+ const expect = await (0, utils_1.getExpect)();
32
+ const locator = page.locator(selector);
33
+ context.logger.info(`Asserting ${displaySelector} has attribute ${attribute}="${expectedValue}"`);
34
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveAttribute(attribute, expectedValue, { timeout }); }, `Expected element ${displaySelector} to have attribute ${attribute}="${expectedValue}"`, { stepType: 'web_assert_attribute', expected: expectedValue });
35
+ context.logger.info(`✓ Element ${displaySelector} has attribute ${attribute}="${expectedValue}"`);
36
+ return {
37
+ _summary: `${attribute}="${expectedValue}"`,
38
+ selector,
39
+ attribute,
40
+ expectedValue,
41
+ };
42
+ }
43
+ }
44
+ exports.WebAssertAttributeBlock = WebAssertAttributeBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that a checkbox is checked (auto-waits).
5
+ */
6
+ export declare class WebAssertCheckedBlock extends StatementBlock {
7
+ readonly type = "web_assert_checked";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that a checkbox is checked (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertCheckedBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that a checkbox is checked (auto-waits).
8
+ */
9
+ class WebAssertCheckedBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_checked';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that a checkbox is checked (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'EXPECTED', type: 'field', fieldType: 'checkbox', default: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expected = params.EXPECTED;
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} is ${expected ? 'checked' : 'unchecked'}`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => {
33
+ if (expected) {
34
+ await expect(locator).toBeChecked({ timeout });
35
+ }
36
+ else {
37
+ await expect(locator).not.toBeChecked({ timeout });
38
+ }
39
+ }, `Expected checkbox ${displaySelector} to be ${expected ? 'checked' : 'unchecked'}`, { stepType: 'web_assert_checked', expected: expected ? 'checked' : 'unchecked' });
40
+ context.logger.info(`✓ Checkbox ${displaySelector} is ${expected ? 'checked' : 'unchecked'}`);
41
+ return {
42
+ _summary: `${displaySelector} is ${expected ? 'checked' : 'unchecked'}`,
43
+ selector,
44
+ expected,
45
+ };
46
+ }
47
+ }
48
+ exports.WebAssertCheckedBlock = WebAssertCheckedBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific CSS class (auto-waits).
5
+ */
6
+ export declare class WebAssertClassBlock extends StatementBlock {
7
+ readonly type = "web_assert_class";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific CSS class (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertClassBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific CSS class (auto-waits).
8
+ */
9
+ class WebAssertClassBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_class';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific CSS class (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'CLASS', type: 'field', fieldType: 'text', required: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedClass = (0, utils_1.resolveVariables)(params.CLASS, context);
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ // Use regex to match class anywhere in the class attribute
32
+ const classPattern = new RegExp(`(^|\\s)${expectedClass}($|\\s)`);
33
+ context.logger.info(`Asserting ${displaySelector} has class "${expectedClass}"`);
34
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveClass(classPattern, { timeout }); }, `Expected element ${displaySelector} to have class "${expectedClass}"`, { stepType: 'web_assert_class', expected: expectedClass });
35
+ context.logger.info(`✓ Element ${displaySelector} has class "${expectedClass}"`);
36
+ return {
37
+ _summary: `has class "${expectedClass}"`,
38
+ selector,
39
+ expectedClass,
40
+ };
41
+ }
42
+ }
43
+ exports.WebAssertClassBlock = WebAssertClassBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that a selector matches a specific number of elements (auto-waits).
5
+ */
6
+ export declare class WebAssertCountBlock extends StatementBlock {
7
+ readonly type = "web_assert_count";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that a selector matches a specific number of elements (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertCountBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that a selector matches a specific number of elements (auto-waits).
8
+ */
9
+ class WebAssertCountBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_count';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that a selector matches a specific number of elements (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'COUNT', type: 'field', fieldType: 'number', required: true, default: 1 },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedCount = params.COUNT;
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} has count ${expectedCount}`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveCount(expectedCount, { timeout }); }, `Expected ${displaySelector} to have ${expectedCount} elements`, { stepType: 'web_assert_count', expected: expectedCount });
33
+ context.logger.info(`✓ Selector ${displaySelector} has ${expectedCount} elements`);
34
+ return {
35
+ _summary: `${expectedCount} elements`,
36
+ selector,
37
+ expectedCount,
38
+ };
39
+ }
40
+ }
41
+ exports.WebAssertCountBlock = WebAssertCountBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific CSS property value (auto-waits).
5
+ */
6
+ export declare class WebAssertCssBlock extends StatementBlock {
7
+ readonly type = "web_assert_css";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific CSS property value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertCssBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific CSS property value (auto-waits).
8
+ */
9
+ class WebAssertCssBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_css';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific CSS property value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'PROPERTY', type: 'field', fieldType: 'text', required: true },
21
+ { name: 'VALUE', type: 'field', fieldType: 'text', required: true },
22
+ ];
23
+ }
24
+ async execute(params, context) {
25
+ const page = context.page;
26
+ const selector = (0, utils_1.resolveSelector)(params, context);
27
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
28
+ const property = params.PROPERTY;
29
+ const expectedValue = (0, utils_1.resolveVariables)(params.VALUE, context);
30
+ const timeout = (0, utils_1.getTimeout)(context);
31
+ const expect = await (0, utils_1.getExpect)();
32
+ const locator = page.locator(selector);
33
+ context.logger.info(`Asserting ${displaySelector} has CSS ${property}: ${expectedValue}`);
34
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveCSS(property, expectedValue, { timeout }); }, `Expected element ${displaySelector} to have CSS ${property}: ${expectedValue}`, { stepType: 'web_assert_css', expected: expectedValue });
35
+ context.logger.info(`✓ Element ${displaySelector} has CSS ${property}: ${expectedValue}`);
36
+ return {
37
+ _summary: `${property}: ${expectedValue}`,
38
+ selector,
39
+ property,
40
+ expectedValue,
41
+ };
42
+ }
43
+ }
44
+ exports.WebAssertCssBlock = WebAssertCssBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is disabled (auto-waits).
5
+ */
6
+ export declare class WebAssertDisabledBlock extends StatementBlock {
7
+ readonly type = "web_assert_disabled";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is disabled (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertDisabledBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is disabled (auto-waits).
8
+ */
9
+ class WebAssertDisabledBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_disabled';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is disabled (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is disabled`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeDisabled({ timeout }); }, `Expected element ${displaySelector} to be disabled`, { stepType: 'web_assert_disabled', expected: 'disabled', actual: 'enabled' });
31
+ context.logger.info(`✓ Element ${displaySelector} is disabled`);
32
+ return {
33
+ _summary: `${displaySelector} is disabled`,
34
+ selector,
35
+ isDisabled: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertDisabledBlock = WebAssertDisabledBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is editable (auto-waits).
5
+ */
6
+ export declare class WebAssertEditableBlock extends StatementBlock {
7
+ readonly type = "web_assert_editable";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is editable (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertEditableBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is editable (auto-waits).
8
+ */
9
+ class WebAssertEditableBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_editable';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is editable (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is editable`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeEditable({ timeout }); }, `Expected element ${displaySelector} to be editable`, { stepType: 'web_assert_editable', expected: 'editable', actual: 'not editable' });
31
+ context.logger.info(`✓ Element ${displaySelector} is editable`);
32
+ return {
33
+ _summary: `${displaySelector} is editable`,
34
+ selector,
35
+ isEditable: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertEditableBlock = WebAssertEditableBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that a container element is empty (auto-waits).
5
+ */
6
+ export declare class WebAssertEmptyBlock extends StatementBlock {
7
+ readonly type = "web_assert_empty";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that a container element is empty (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertEmptyBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that a container element is empty (auto-waits).
8
+ */
9
+ class WebAssertEmptyBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_empty';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that a container element is empty (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is empty`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeEmpty({ timeout }); }, `Expected element ${displaySelector} to be empty`, { stepType: 'web_assert_empty', expected: 'empty', actual: 'not empty' });
31
+ context.logger.info(`✓ Element ${displaySelector} is empty`);
32
+ return {
33
+ _summary: `${displaySelector} is empty`,
34
+ selector,
35
+ isEmpty: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertEmptyBlock = WebAssertEmptyBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is enabled (auto-waits).
5
+ */
6
+ export declare class WebAssertEnabledBlock extends StatementBlock {
7
+ readonly type = "web_assert_enabled";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is enabled (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }