octoparse-cli 0.1.14

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 (278) hide show
  1. package/README.md +271 -0
  2. package/RUNTIME_SECURITY_NOTICE.txt +41 -0
  3. package/SECURITY.md +24 -0
  4. package/dist/cli/args.js +34 -0
  5. package/dist/cli/help.js +214 -0
  6. package/dist/cli/output.js +39 -0
  7. package/dist/commands/auth.js +283 -0
  8. package/dist/commands/capabilities.js +118 -0
  9. package/dist/commands/cloud.js +241 -0
  10. package/dist/commands/data.js +220 -0
  11. package/dist/commands/doctor.js +73 -0
  12. package/dist/commands/env.js +63 -0
  13. package/dist/commands/local.js +251 -0
  14. package/dist/commands/run.js +622 -0
  15. package/dist/commands/runs.js +171 -0
  16. package/dist/commands/task.js +101 -0
  17. package/dist/index.js +133 -0
  18. package/dist/runtime/account-capabilities.js +71 -0
  19. package/dist/runtime/api-client.js +290 -0
  20. package/dist/runtime/artifacts.js +33 -0
  21. package/dist/runtime/auth.js +94 -0
  22. package/dist/runtime/bridge-hub.js +173 -0
  23. package/dist/runtime/client-headers.js +23 -0
  24. package/dist/runtime/cloud-data.js +75 -0
  25. package/dist/runtime/config.js +48 -0
  26. package/dist/runtime/data-exporter.js +267 -0
  27. package/dist/runtime/engine-host.js +449 -0
  28. package/dist/runtime/local-runs.js +92 -0
  29. package/dist/runtime/naming.js +13 -0
  30. package/dist/runtime/run-control.js +363 -0
  31. package/dist/runtime/run-services.js +380 -0
  32. package/dist/runtime/security-notice.js +78 -0
  33. package/dist/runtime/task-definition-provider.js +282 -0
  34. package/dist/types.js +4 -0
  35. package/examples/minimal-task.json +6 -0
  36. package/examples/navigate-example-task.json +6 -0
  37. package/node_modules/@octopus/bpmn/index.js +3 -0
  38. package/node_modules/@octopus/bpmn/lib/Context.js +245 -0
  39. package/node_modules/@octopus/bpmn/lib/Definition.js +258 -0
  40. package/node_modules/@octopus/bpmn/lib/Engine.js +275 -0
  41. package/node_modules/@octopus/bpmn/lib/PrematureStopError.js +7 -0
  42. package/node_modules/@octopus/bpmn/lib/activities/Activity.js +202 -0
  43. package/node_modules/@octopus/bpmn/lib/activities/BaseProcess.js +308 -0
  44. package/node_modules/@octopus/bpmn/lib/activities/BaseTask.js +145 -0
  45. package/node_modules/@octopus/bpmn/lib/activities/BoundaryEvent.js +12 -0
  46. package/node_modules/@octopus/bpmn/lib/activities/Dummy.js +10 -0
  47. package/node_modules/@octopus/bpmn/lib/activities/EventDefinition.js +99 -0
  48. package/node_modules/@octopus/bpmn/lib/activities/Flow.js +52 -0
  49. package/node_modules/@octopus/bpmn/lib/activities/Form.js +67 -0
  50. package/node_modules/@octopus/bpmn/lib/activities/InputOutput.js +53 -0
  51. package/node_modules/@octopus/bpmn/lib/activities/IntermediateCatchEvent.js +12 -0
  52. package/node_modules/@octopus/bpmn/lib/activities/MessageFlow.js +19 -0
  53. package/node_modules/@octopus/bpmn/lib/activities/MultiInstanceLoopCharacteristics.js +160 -0
  54. package/node_modules/@octopus/bpmn/lib/activities/Properties.js +27 -0
  55. package/node_modules/@octopus/bpmn/lib/activities/SequenceFlow.js +56 -0
  56. package/node_modules/@octopus/bpmn/lib/activities/ServiceConnector.js +71 -0
  57. package/node_modules/@octopus/bpmn/lib/context-helper.js +198 -0
  58. package/node_modules/@octopus/bpmn/lib/events/EndEvent.js +22 -0
  59. package/node_modules/@octopus/bpmn/lib/events/ErrorEvent.js +41 -0
  60. package/node_modules/@octopus/bpmn/lib/events/MessageEvent.js +19 -0
  61. package/node_modules/@octopus/bpmn/lib/events/StartEvent.js +55 -0
  62. package/node_modules/@octopus/bpmn/lib/events/TimerEvent.js +75 -0
  63. package/node_modules/@octopus/bpmn/lib/expressions.js +41 -0
  64. package/node_modules/@octopus/bpmn/lib/gateways/ExclusiveGateway.js +86 -0
  65. package/node_modules/@octopus/bpmn/lib/gateways/InclusiveGateway.js +56 -0
  66. package/node_modules/@octopus/bpmn/lib/gateways/ParallelGateway.js +195 -0
  67. package/node_modules/@octopus/bpmn/lib/getPropertyValue.js +83 -0
  68. package/node_modules/@octopus/bpmn/lib/index.js +6 -0
  69. package/node_modules/@octopus/bpmn/lib/mapper.js +55 -0
  70. package/node_modules/@octopus/bpmn/lib/parameter.js +119 -0
  71. package/node_modules/@octopus/bpmn/lib/script-helper.js +45 -0
  72. package/node_modules/@octopus/bpmn/lib/tasks/ManualTask.js +31 -0
  73. package/node_modules/@octopus/bpmn/lib/tasks/ReceiveTask.js +31 -0
  74. package/node_modules/@octopus/bpmn/lib/tasks/ScriptTask.js +35 -0
  75. package/node_modules/@octopus/bpmn/lib/tasks/SendTask.js +16 -0
  76. package/node_modules/@octopus/bpmn/lib/tasks/ServiceTask.js +68 -0
  77. package/node_modules/@octopus/bpmn/lib/tasks/SubProcess.js +17 -0
  78. package/node_modules/@octopus/bpmn/lib/tasks/Task.js +16 -0
  79. package/node_modules/@octopus/bpmn/lib/tasks/UserTask.js +47 -0
  80. package/node_modules/@octopus/bpmn/lib/transformer.js +13 -0
  81. package/node_modules/@octopus/bpmn/lib/validation.js +111 -0
  82. package/node_modules/@octopus/bpmn/package.json +17 -0
  83. package/node_modules/@octopus/bpmn/types/bpmn.d.ts +85 -0
  84. package/node_modules/@octopus/engine/README.md +370 -0
  85. package/node_modules/@octopus/engine/dist/actions/BackPreWebPageAction.d.ts +4 -0
  86. package/node_modules/@octopus/engine/dist/actions/BackPreWebPageAction.js +1 -0
  87. package/node_modules/@octopus/engine/dist/actions/BaseAction.d.ts +339 -0
  88. package/node_modules/@octopus/engine/dist/actions/BaseAction.js +1559 -0
  89. package/node_modules/@octopus/engine/dist/actions/BranchAction.d.ts +9 -0
  90. package/node_modules/@octopus/engine/dist/actions/BranchAction.js +1 -0
  91. package/node_modules/@octopus/engine/dist/actions/ClickAction.d.ts +22 -0
  92. package/node_modules/@octopus/engine/dist/actions/ClickAction.js +1 -0
  93. package/node_modules/@octopus/engine/dist/actions/ConditionAction.d.ts +4 -0
  94. package/node_modules/@octopus/engine/dist/actions/ConditionAction.js +1 -0
  95. package/node_modules/@octopus/engine/dist/actions/EmptyAction.d.ts +4 -0
  96. package/node_modules/@octopus/engine/dist/actions/EmptyAction.js +12 -0
  97. package/node_modules/@octopus/engine/dist/actions/EnterCaptchaAction.d.ts +28 -0
  98. package/node_modules/@octopus/engine/dist/actions/EnterCaptchaAction.js +1 -0
  99. package/node_modules/@octopus/engine/dist/actions/EnterTextAction.d.ts +20 -0
  100. package/node_modules/@octopus/engine/dist/actions/EnterTextAction.js +1 -0
  101. package/node_modules/@octopus/engine/dist/actions/ExtractDataAction.d.ts +40 -0
  102. package/node_modules/@octopus/engine/dist/actions/ExtractDataAction.js +1 -0
  103. package/node_modules/@octopus/engine/dist/actions/LoopAction.d.ts +41 -0
  104. package/node_modules/@octopus/engine/dist/actions/LoopAction.js +526 -0
  105. package/node_modules/@octopus/engine/dist/actions/LoopStartAction.d.ts +47 -0
  106. package/node_modules/@octopus/engine/dist/actions/LoopStartAction.js +607 -0
  107. package/node_modules/@octopus/engine/dist/actions/MouseOverAction.d.ts +8 -0
  108. package/node_modules/@octopus/engine/dist/actions/MouseOverAction.js +34 -0
  109. package/node_modules/@octopus/engine/dist/actions/NavigateAction.d.ts +38 -0
  110. package/node_modules/@octopus/engine/dist/actions/NavigateAction.js +535 -0
  111. package/node_modules/@octopus/engine/dist/actions/SwitchComboAction.d.ts +13 -0
  112. package/node_modules/@octopus/engine/dist/actions/SwitchComboAction.js +69 -0
  113. package/node_modules/@octopus/engine/dist/browser.d.ts +17 -0
  114. package/node_modules/@octopus/engine/dist/browser.js +157 -0
  115. package/node_modules/@octopus/engine/dist/browserProxy.d.ts +90 -0
  116. package/node_modules/@octopus/engine/dist/browserProxy.js +1 -0
  117. package/node_modules/@octopus/engine/dist/configs/BaseConfig.d.ts +20 -0
  118. package/node_modules/@octopus/engine/dist/configs/BaseConfig.js +88 -0
  119. package/node_modules/@octopus/engine/dist/configs/BranchConfig.d.ts +7 -0
  120. package/node_modules/@octopus/engine/dist/configs/BranchConfig.js +1 -0
  121. package/node_modules/@octopus/engine/dist/configs/ClickConfig.d.ts +36 -0
  122. package/node_modules/@octopus/engine/dist/configs/ClickConfig.js +65 -0
  123. package/node_modules/@octopus/engine/dist/configs/EnterCaptchaConfig.d.ts +19 -0
  124. package/node_modules/@octopus/engine/dist/configs/EnterCaptchaConfig.js +25 -0
  125. package/node_modules/@octopus/engine/dist/configs/EnterTextConfig.d.ts +24 -0
  126. package/node_modules/@octopus/engine/dist/configs/EnterTextConfig.js +36 -0
  127. package/node_modules/@octopus/engine/dist/configs/ExtractDataConfig.d.ts +12 -0
  128. package/node_modules/@octopus/engine/dist/configs/ExtractDataConfig.js +1 -0
  129. package/node_modules/@octopus/engine/dist/configs/LoopConfig.d.ts +25 -0
  130. package/node_modules/@octopus/engine/dist/configs/LoopConfig.js +40 -0
  131. package/node_modules/@octopus/engine/dist/configs/LoopStartConfig.d.ts +4 -0
  132. package/node_modules/@octopus/engine/dist/configs/LoopStartConfig.js +12 -0
  133. package/node_modules/@octopus/engine/dist/configs/MouseOverConfig.d.ts +8 -0
  134. package/node_modules/@octopus/engine/dist/configs/MouseOverConfig.js +15 -0
  135. package/node_modules/@octopus/engine/dist/configs/NavigateConfig.d.ts +41 -0
  136. package/node_modules/@octopus/engine/dist/configs/NavigateConfig.js +121 -0
  137. package/node_modules/@octopus/engine/dist/configs/SwitchComboConfig.d.ts +8 -0
  138. package/node_modules/@octopus/engine/dist/configs/SwitchComboConfig.js +15 -0
  139. package/node_modules/@octopus/engine/dist/enums/index.d.ts +419 -0
  140. package/node_modules/@octopus/engine/dist/enums/index.js +314 -0
  141. package/node_modules/@octopus/engine/dist/extension/BrowserWebSocketTransport-D_zAGZMQ.js +1 -0
  142. package/node_modules/@octopus/engine/dist/extension/LaunchOptions-DxvePrV4.js +6 -0
  143. package/node_modules/@octopus/engine/dist/extension/NodeWebSocketTransport-BTgRVB7Z.js +6 -0
  144. package/node_modules/@octopus/engine/dist/extension/background.js +396 -0
  145. package/node_modules/@octopus/engine/dist/extension/bidi-C_GIZ8Uz.js +131 -0
  146. package/node_modules/@octopus/engine/dist/extension/manifest.json +27 -0
  147. package/node_modules/@octopus/engine/dist/extension/src/content/anti-detection.js +1 -0
  148. package/node_modules/@octopus/engine/dist/extension-bridge/BaseExtensionBridge.d.ts +21 -0
  149. package/node_modules/@octopus/engine/dist/extension-bridge/BaseExtensionBridge.js +117 -0
  150. package/node_modules/@octopus/engine/dist/extension-bridge/SessionExtensionBridge.d.ts +17 -0
  151. package/node_modules/@octopus/engine/dist/extension-bridge/SessionExtensionBridge.js +29 -0
  152. package/node_modules/@octopus/engine/dist/extension-bridge/index.d.ts +2 -0
  153. package/node_modules/@octopus/engine/dist/extension-bridge/index.js +5 -0
  154. package/node_modules/@octopus/engine/dist/extension-bridge/types.d.ts +159 -0
  155. package/node_modules/@octopus/engine/dist/extension-bridge/types.js +5 -0
  156. package/node_modules/@octopus/engine/dist/extensions/ublock-origin/uBlock0.chromium.tar.xz +0 -0
  157. package/node_modules/@octopus/engine/dist/extensions/ublock-origin-lite/uBOLite.chromium.tar.xz +0 -0
  158. package/node_modules/@octopus/engine/dist/index.d.ts +169 -0
  159. package/node_modules/@octopus/engine/dist/index.js +1 -0
  160. package/node_modules/@octopus/engine/dist/models/actionItem.d.ts +16 -0
  161. package/node_modules/@octopus/engine/dist/models/actionItem.js +15 -0
  162. package/node_modules/@octopus/engine/dist/models/conditionCheckArgs.d.ts +11 -0
  163. package/node_modules/@octopus/engine/dist/models/conditionCheckArgs.js +11 -0
  164. package/node_modules/@octopus/engine/dist/models/customizeCookie.d.ts +14 -0
  165. package/node_modules/@octopus/engine/dist/models/customizeCookie.js +6 -0
  166. package/node_modules/@octopus/engine/dist/models/downloadFileConfig.d.ts +17 -0
  167. package/node_modules/@octopus/engine/dist/models/downloadFileConfig.js +26 -0
  168. package/node_modules/@octopus/engine/dist/models/elementNotFoundArgs.d.ts +8 -0
  169. package/node_modules/@octopus/engine/dist/models/elementNotFoundArgs.js +12 -0
  170. package/node_modules/@octopus/engine/dist/models/elementNotFoundError.d.ts +2 -0
  171. package/node_modules/@octopus/engine/dist/models/elementNotFoundError.js +6 -0
  172. package/node_modules/@octopus/engine/dist/models/extractItem.d.ts +37 -0
  173. package/node_modules/@octopus/engine/dist/models/extractItem.js +35 -0
  174. package/node_modules/@octopus/engine/dist/models/extractTemplate.d.ts +11 -0
  175. package/node_modules/@octopus/engine/dist/models/extractTemplate.js +48 -0
  176. package/node_modules/@octopus/engine/dist/models/extractTextItem.d.ts +10 -0
  177. package/node_modules/@octopus/engine/dist/models/extractTextItem.js +17 -0
  178. package/node_modules/@octopus/engine/dist/models/globalConfig.d.ts +5 -0
  179. package/node_modules/@octopus/engine/dist/models/globalConfig.js +1 -0
  180. package/node_modules/@octopus/engine/dist/models/httpHeader.d.ts +4 -0
  181. package/node_modules/@octopus/engine/dist/models/httpHeader.js +10 -0
  182. package/node_modules/@octopus/engine/dist/models/operation.d.ts +27 -0
  183. package/node_modules/@octopus/engine/dist/models/operation.js +242 -0
  184. package/node_modules/@octopus/engine/dist/models/retryCondition.d.ts +7 -0
  185. package/node_modules/@octopus/engine/dist/models/retryCondition.js +10 -0
  186. package/node_modules/@octopus/engine/dist/models/task.d.ts +89 -0
  187. package/node_modules/@octopus/engine/dist/models/task.js +120 -0
  188. package/node_modules/@octopus/engine/dist/models/trigger.d.ts +66 -0
  189. package/node_modules/@octopus/engine/dist/models/trigger.js +117 -0
  190. package/node_modules/@octopus/engine/dist/package.json +26 -0
  191. package/node_modules/@octopus/engine/dist/public-types.d.ts +13 -0
  192. package/node_modules/@octopus/engine/dist/public-types.js +2 -0
  193. package/node_modules/@octopus/engine/dist/settings.d.ts +41 -0
  194. package/node_modules/@octopus/engine/dist/settings.js +20 -0
  195. package/node_modules/@octopus/engine/dist/solvers/captcha/ClickCaptchaSolver.d.ts +6 -0
  196. package/node_modules/@octopus/engine/dist/solvers/captcha/ClickCaptchaSolver.js +1 -0
  197. package/node_modules/@octopus/engine/dist/solvers/captcha/HCaptchaSolver.d.ts +4 -0
  198. package/node_modules/@octopus/engine/dist/solvers/captcha/HCaptchaSolver.js +73 -0
  199. package/node_modules/@octopus/engine/dist/solvers/captcha/ImageCaptchaSolver.d.ts +2 -0
  200. package/node_modules/@octopus/engine/dist/solvers/captcha/ImageCaptchaSolver.js +74 -0
  201. package/node_modules/@octopus/engine/dist/solvers/captcha/RecaptchaSolver.d.ts +9 -0
  202. package/node_modules/@octopus/engine/dist/solvers/captcha/RecaptchaSolver.js +371 -0
  203. package/node_modules/@octopus/engine/dist/solvers/captcha/SliderCaptchaSolver.d.ts +6 -0
  204. package/node_modules/@octopus/engine/dist/solvers/captcha/SliderCaptchaSolver.js +184 -0
  205. package/node_modules/@octopus/engine/dist/solvers/captcha/SlidingTrajectory.d.ts +50 -0
  206. package/node_modules/@octopus/engine/dist/solvers/captcha/SlidingTrajectory.js +125 -0
  207. package/node_modules/@octopus/engine/dist/solvers/captcha/types.d.ts +68 -0
  208. package/node_modules/@octopus/engine/dist/solvers/captcha/types.js +34 -0
  209. package/node_modules/@octopus/engine/dist/solvers/captcha/utils.d.ts +2 -0
  210. package/node_modules/@octopus/engine/dist/solvers/captcha/utils.js +15 -0
  211. package/node_modules/@octopus/engine/dist/translator/actionFactory.d.ts +6 -0
  212. package/node_modules/@octopus/engine/dist/translator/actionFactory.js +1 -0
  213. package/node_modules/@octopus/engine/dist/translator/activityTypeEnum.d.ts +22 -0
  214. package/node_modules/@octopus/engine/dist/translator/activityTypeEnum.js +1 -0
  215. package/node_modules/@octopus/engine/dist/translator/backPreWebPageAction.d.ts +5 -0
  216. package/node_modules/@octopus/engine/dist/translator/backPreWebPageAction.js +1 -0
  217. package/node_modules/@octopus/engine/dist/translator/baseAction.d.ts +31 -0
  218. package/node_modules/@octopus/engine/dist/translator/baseAction.js +1 -0
  219. package/node_modules/@octopus/engine/dist/translator/breakActivity.d.ts +5 -0
  220. package/node_modules/@octopus/engine/dist/translator/breakActivity.js +1 -0
  221. package/node_modules/@octopus/engine/dist/translator/clickAction.d.ts +5 -0
  222. package/node_modules/@octopus/engine/dist/translator/clickAction.js +1 -0
  223. package/node_modules/@octopus/engine/dist/translator/completeWF.d.ts +5 -0
  224. package/node_modules/@octopus/engine/dist/translator/completeWF.js +1 -0
  225. package/node_modules/@octopus/engine/dist/translator/conditionAction.d.ts +6 -0
  226. package/node_modules/@octopus/engine/dist/translator/conditionAction.js +1 -0
  227. package/node_modules/@octopus/engine/dist/translator/emptyAction.d.ts +5 -0
  228. package/node_modules/@octopus/engine/dist/translator/emptyAction.js +1 -0
  229. package/node_modules/@octopus/engine/dist/translator/enterCapachaAction.d.ts +5 -0
  230. package/node_modules/@octopus/engine/dist/translator/enterCapachaAction.js +1 -0
  231. package/node_modules/@octopus/engine/dist/translator/enterTextAction.d.ts +5 -0
  232. package/node_modules/@octopus/engine/dist/translator/enterTextAction.js +1 -0
  233. package/node_modules/@octopus/engine/dist/translator/extractDataAction.d.ts +13 -0
  234. package/node_modules/@octopus/engine/dist/translator/extractDataAction.js +1 -0
  235. package/node_modules/@octopus/engine/dist/translator/loopAction.d.ts +5 -0
  236. package/node_modules/@octopus/engine/dist/translator/loopAction.js +1 -0
  237. package/node_modules/@octopus/engine/dist/translator/mouseOverAction.d.ts +5 -0
  238. package/node_modules/@octopus/engine/dist/translator/mouseOverAction.js +19 -0
  239. package/node_modules/@octopus/engine/dist/translator/navigateAction.d.ts +5 -0
  240. package/node_modules/@octopus/engine/dist/translator/navigateAction.js +117 -0
  241. package/node_modules/@octopus/engine/dist/translator/rootAction.d.ts +6 -0
  242. package/node_modules/@octopus/engine/dist/translator/rootAction.js +80 -0
  243. package/node_modules/@octopus/engine/dist/translator/switchCombo2Action.d.ts +5 -0
  244. package/node_modules/@octopus/engine/dist/translator/switchCombo2Action.js +19 -0
  245. package/node_modules/@octopus/engine/dist/translator/translator.d.ts +1 -0
  246. package/node_modules/@octopus/engine/dist/translator/translator.js +36 -0
  247. package/node_modules/@octopus/engine/dist/type.d.ts +25 -0
  248. package/node_modules/@octopus/engine/dist/type.js +2 -0
  249. package/node_modules/@octopus/engine/dist/types/browser.d.ts +191 -0
  250. package/node_modules/@octopus/engine/dist/types/browser.js +1 -0
  251. package/node_modules/@octopus/engine/dist/types/browserManager.d.ts +41 -0
  252. package/node_modules/@octopus/engine/dist/types/browserManager.js +1 -0
  253. package/node_modules/@octopus/engine/dist/types/index.d.ts +40 -0
  254. package/node_modules/@octopus/engine/dist/types/index.js +2 -0
  255. package/node_modules/@octopus/engine/dist/types/plugin.d.ts +29 -0
  256. package/node_modules/@octopus/engine/dist/types/plugin.js +2 -0
  257. package/node_modules/@octopus/engine/dist/utils/AsyncEmitter.d.ts +15 -0
  258. package/node_modules/@octopus/engine/dist/utils/AsyncEmitter.js +1 -0
  259. package/node_modules/@octopus/engine/dist/utils/DataStore.d.ts +58 -0
  260. package/node_modules/@octopus/engine/dist/utils/DataStore.js +1 -0
  261. package/node_modules/@octopus/engine/dist/utils/DateTimeFormatHelper.d.ts +22 -0
  262. package/node_modules/@octopus/engine/dist/utils/DateTimeFormatHelper.js +173 -0
  263. package/node_modules/@octopus/engine/dist/utils/FileDownloader.d.ts +108 -0
  264. package/node_modules/@octopus/engine/dist/utils/FileDownloader.js +1 -0
  265. package/node_modules/@octopus/engine/dist/utils/HttpRequester.d.ts +43 -0
  266. package/node_modules/@octopus/engine/dist/utils/HttpRequester.js +174 -0
  267. package/node_modules/@octopus/engine/dist/utils/JsonParser.d.ts +95 -0
  268. package/node_modules/@octopus/engine/dist/utils/JsonParser.js +439 -0
  269. package/node_modules/@octopus/engine/dist/utils/Operations.d.ts +27 -0
  270. package/node_modules/@octopus/engine/dist/utils/Operations.js +115 -0
  271. package/node_modules/@octopus/engine/dist/utils/index.d.ts +28 -0
  272. package/node_modules/@octopus/engine/dist/utils/index.js +356 -0
  273. package/node_modules/@octopus/engine/package.json +58 -0
  274. package/package.json +79 -0
  275. package/schemas/capabilities-v1.schema.json +234 -0
  276. package/schemas/detached-bootstrap-v1.schema.json +42 -0
  277. package/schemas/json-envelope-v1.schema.json +39 -0
  278. package/schemas/run-event-v1.schema.json +47 -0
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.solveSliderCaptcha = solveSliderCaptcha;
4
+ const Operations_1 = require("../../utils/Operations");
5
+ const enums_1 = require("../../enums");
6
+ const SlidingTrajectory_1 = require("./SlidingTrajectory");
7
+ const utils_1 = require("./utils");
8
+ /**
9
+ * 滑块验证码求解
10
+ * 流程:截图 → 识别滑动距离 → 模拟人类滑动轨迹
11
+ */
12
+ async function solveSliderCaptcha(ctx) {
13
+ if (!ctx.config.imageXPath || !ctx.config.inputXPath) {
14
+ return;
15
+ }
16
+ do {
17
+ try {
18
+ if (ctx.retryTimes > 0) {
19
+ ctx.log(enums_1.LogKey.EnterCapacha.Error.Retry, ctx.name, ctx.retryTimes);
20
+ }
21
+ // 检查必要元素是否存在
22
+ const imageElement = await (0, Operations_1.getElement)(ctx.config.imageXPath, ctx.page);
23
+ if (!imageElement) {
24
+ ctx.error(enums_1.LogKey.EnterCapacha.Error.ImageNotFound, ctx.config.caption);
25
+ break;
26
+ }
27
+ const subImgElement = ctx.config.subImgXPath ? await (0, Operations_1.getElement)(ctx.config.subImgXPath, ctx.page) : null;
28
+ if (ctx.config.subImgXPath && !subImgElement) {
29
+ const text = ctx.config.capachaType === enums_1.LocalCaptchaType.Silder ? enums_1.LogKey.EnterCapacha.Error.HuaKuaiImageNotFound : enums_1.LogKey.EnterCapacha.Error.TipImageNotFound;
30
+ ctx.error(text, ctx.config.caption);
31
+ break;
32
+ }
33
+ const inputElement = await (0, Operations_1.getElement)(ctx.config.inputXPath, ctx.page);
34
+ if (!inputElement) {
35
+ ctx.error(enums_1.LogKey.EnterCapacha.Error.InputNotFound, ctx.config.caption);
36
+ break;
37
+ }
38
+ // 滚动到验证码图片位置
39
+ await (0, Operations_1.processElement)(ctx.config.imageXPath, ctx.page, '$eval', (ele) => {
40
+ return ele.scrollIntoView({
41
+ behavior: 'auto',
42
+ block: 'center',
43
+ inline: 'nearest',
44
+ });
45
+ });
46
+ await ctx.sleep(1000);
47
+ await ctx.checkPause();
48
+ // 截取验证码图片
49
+ const codeElement = await (0, Operations_1.getElement)(ctx.config.imageXPath, ctx.page);
50
+ if (!codeElement) {
51
+ ctx.error(enums_1.LogKey.EnterCapacha.Error.Captcha, ctx.config.caption);
52
+ break;
53
+ }
54
+ // 确保元素可见且有尺寸,避免 "Node is either not visible or not an HTMLElement" 错误
55
+ const box = await codeElement.boundingBox();
56
+ if (!box || box.width === 0 || box.height === 0) {
57
+ ctx.error(enums_1.LogKey.EnterCapacha.Error.ImageNotFound, ctx.config.caption);
58
+ break;
59
+ }
60
+ const imageBase64 = (await codeElement.screenshot({
61
+ encoding: 'base64',
62
+ }));
63
+ // 调用识别接口获取滑动距离
64
+ const { distance, status, isAvailable } = (await ctx.getCaptchaToken({
65
+ image: imageBase64,
66
+ captchaType: enums_1.LocalCaptchaType.Silder,
67
+ }));
68
+ if (!isAvailable) {
69
+ ctx.isCaptchaSuccess = true;
70
+ break;
71
+ }
72
+ if (distance <= 0) {
73
+ ctx.isCaptchaSuccess = false;
74
+ ctx.error(enums_1.LogKey.EnterCapacha.Error.Distance, ctx.config.caption, status);
75
+ continue;
76
+ }
77
+ // 执行滑动操作
78
+ await executeSlideEvent(ctx, distance, inputElement, subImgElement);
79
+ // 等待页面响应
80
+ const { ajaxLoad, ajaxTimeout } = ctx.config;
81
+ if (ajaxLoad && ajaxTimeout > 0) {
82
+ await ctx.sleep(ajaxTimeout);
83
+ }
84
+ else {
85
+ await ctx.sleep(2000);
86
+ }
87
+ // 检查验证结果
88
+ if (await ctx.capachaSuccess()) {
89
+ ctx.isCaptchaSuccess = true;
90
+ }
91
+ else {
92
+ ctx.isCaptchaSuccess = false;
93
+ }
94
+ }
95
+ catch (error) {
96
+ ctx.isCaptchaSuccess = false;
97
+ await ctx.checkPause();
98
+ console.log('slider captcha error', error);
99
+ }
100
+ finally {
101
+ await ctx.checkPause();
102
+ ctx.retryTimes += 1;
103
+ }
104
+ } while (!ctx.isCaptchaSuccess && ctx.retryTimes <= ctx.config.capachaMaxRetry);
105
+ }
106
+ /**
107
+ * 执行滑动事件
108
+ * 拟人策略:按下 → 先加速后减速前进(含过冲) → 减速回退 → 终点微调抖动 → 松开
109
+ */
110
+ async function executeSlideEvent(ctx, distance, inputElement, subImgElement) {
111
+ const inputBox = await inputElement.boundingBox();
112
+ if (!inputBox)
113
+ return;
114
+ // 获取页面缩放比例
115
+ let zoom = 1;
116
+ try {
117
+ zoom = await ctx.page.evaluate(() => window.devicePixelRatio || 1);
118
+ }
119
+ catch {
120
+ zoom = 1;
121
+ }
122
+ const adjustedDistance = distance / zoom;
123
+ // 滑块起始位置(滑块中心点,加小幅随机偏移模拟真人点击不精确)
124
+ const startX = inputBox.x + inputBox.width / 2 + (0, utils_1.getRandomInt)(-3, 3);
125
+ const startY = inputBox.y + inputBox.height / 2 + (0, utils_1.getRandomInt)(-2, 2);
126
+ // 记录子图初始位置(用于距离校准)
127
+ let subImgInitX = 0;
128
+ if (subImgElement) {
129
+ const subImgBox = await subImgElement.boundingBox();
130
+ if (subImgBox)
131
+ subImgInitX = subImgBox.x;
132
+ }
133
+ // 生成滑动轨迹
134
+ const trajectory = new SlidingTrajectory_1.SlidingTrajectory();
135
+ const overshoot = trajectory.getDynamicOvershoot(adjustedDistance);
136
+ const forwardDistance = adjustedDistance + overshoot;
137
+ const forward = trajectory.generateForwardTrack(forwardDistance);
138
+ // 先移动到滑块位置(模拟鼠标移入)
139
+ await ctx.page.mouse.move(inputBox.x + (0, utils_1.getRandomInt)(5, 15), inputBox.y + (0, utils_1.getRandomInt)(3, 8));
140
+ await ctx.sleep((0, utils_1.getRandomInt)(80, 200));
141
+ // 移到按下点
142
+ await ctx.page.mouse.move(startX, startY);
143
+ await ctx.sleep((0, utils_1.getRandomInt)(50, 150));
144
+ // 按下鼠标
145
+ await ctx.page.mouse.down();
146
+ await ctx.sleep((0, utils_1.getRandomInt)(150, 300));
147
+ // 前进轨迹(先加速后减速,含过冲)
148
+ const ratioArr = [];
149
+ for (const step of forward) {
150
+ const [_x, _y, _t] = step;
151
+ await ctx.page.mouse.move(startX + _x, startY + _y);
152
+ // 距离校准:记录实际移动比例
153
+ if (subImgElement && _x >= adjustedDistance) {
154
+ const subImgBox = await subImgElement.boundingBox();
155
+ if (subImgBox) {
156
+ const realMoved = Math.abs(subImgBox.x - subImgInitX);
157
+ ratioArr.push(realMoved / _x || 1);
158
+ }
159
+ }
160
+ await ctx.sleep(_t);
161
+ }
162
+ // 过冲后短暂停顿(模拟人发现滑过了)
163
+ await ctx.sleep((0, utils_1.getRandomInt)(150, 350));
164
+ // 回退轨迹(减速到精确位置)
165
+ const ratio = ratioArr.length > 0 ? ratioArr[ratioArr.length - 1] : 1;
166
+ const targetX = Math.floor(adjustedDistance / ratio);
167
+ const backward = trajectory.generateBackwardTrack(forwardDistance, targetX);
168
+ for (const step of backward) {
169
+ const [_x, _y, _t] = step;
170
+ await ctx.page.mouse.move(startX + _x, startY + _y);
171
+ await ctx.sleep(_t);
172
+ }
173
+ // 终点微调抖动(模拟人手到达位置后的细微震荡)
174
+ await ctx.sleep((0, utils_1.getRandomInt)(100, 250));
175
+ const jitter = trajectory.generateFinalJitter(targetX);
176
+ for (const step of jitter) {
177
+ const [_x, _y, _t] = step;
178
+ await ctx.page.mouse.move(startX + _x, startY + _y);
179
+ await ctx.sleep(_t);
180
+ }
181
+ // 最终停顿后松开鼠标(模拟人确认位置后松手)
182
+ await ctx.sleep((0, utils_1.getRandomInt)(200, 500));
183
+ await ctx.page.mouse.up();
184
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 拟人滑动轨迹生成器
3
+ * 采用先加速后减速 + 微小回退的策略,模拟真实人类滑动行为
4
+ */
5
+ export declare class SlidingTrajectory {
6
+ /** 超过目标的过冲量,会根据距离动态调整 */
7
+ offsetX: number;
8
+ setOffsetX(n: number): void;
9
+ /**
10
+ * 贝塞尔缓动:先加速后减速(类似 ease-in-out)
11
+ * 前40%加速,后60%减速,更贴近真人手指发力特征
12
+ */
13
+ private easeInOutCubic;
14
+ /**
15
+ * 减速缓动,用于回退阶段
16
+ */
17
+ private easeOutQuad;
18
+ /**
19
+ * 生成Y轴随机偏移,模拟人手抖动(上下均有)
20
+ */
21
+ private getHumanY;
22
+ /**
23
+ * 根据进度返回步间延时(ms)
24
+ * 起步和结尾慢(间隔大),中间快(间隔小)
25
+ */
26
+ private getStepDelay;
27
+ /**
28
+ * 生成前进滑动轨迹(先加速后减速)
29
+ * @param totalDistance 总滑动距离(含过冲)
30
+ * @returns 轨迹数组 [[x, y, delay], ...]
31
+ */
32
+ generateForwardTrack(totalDistance: number): number[][];
33
+ /**
34
+ * 生成回退轨迹(减速到精确位置)
35
+ * @param fromX 当前位置
36
+ * @param toX 目标位置
37
+ * @returns 轨迹数组 [[x, y, delay], ...]
38
+ */
39
+ generateBackwardTrack(fromX: number, toX: number): number[][];
40
+ /**
41
+ * 生成终点微调抖动(模拟人手到达终点后的细微震荡)
42
+ * @param targetX 目标X位置
43
+ * @returns 轨迹数组 [[x, y, delay], ...]
44
+ */
45
+ generateFinalJitter(targetX: number): number[][];
46
+ /**
47
+ * 计算动态过冲量(根据总距离)
48
+ */
49
+ getDynamicOvershoot(distance: number): number;
50
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlidingTrajectory = void 0;
4
+ const utils_1 = require("./utils");
5
+ /**
6
+ * 拟人滑动轨迹生成器
7
+ * 采用先加速后减速 + 微小回退的策略,模拟真实人类滑动行为
8
+ */
9
+ class SlidingTrajectory {
10
+ constructor() {
11
+ /** 超过目标的过冲量,会根据距离动态调整 */
12
+ this.offsetX = 20;
13
+ }
14
+ setOffsetX(n) {
15
+ this.offsetX = n;
16
+ }
17
+ /**
18
+ * 贝塞尔缓动:先加速后减速(类似 ease-in-out)
19
+ * 前40%加速,后60%减速,更贴近真人手指发力特征
20
+ */
21
+ easeInOutCubic(x) {
22
+ return x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2;
23
+ }
24
+ /**
25
+ * 减速缓动,用于回退阶段
26
+ */
27
+ easeOutQuad(x) {
28
+ return 1 - (1 - x) * (1 - x);
29
+ }
30
+ /**
31
+ * 生成Y轴随机偏移,模拟人手抖动(上下均有)
32
+ */
33
+ getHumanY(progress) {
34
+ // 中间段抖动大,起止段抖动小
35
+ const amplitude = Math.sin(progress * Math.PI) * 3;
36
+ return Math.round((Math.random() - 0.5) * 2 * amplitude);
37
+ }
38
+ /**
39
+ * 根据进度返回步间延时(ms)
40
+ * 起步和结尾慢(间隔大),中间快(间隔小)
41
+ */
42
+ getStepDelay(progress) {
43
+ if (progress < 0.15) {
44
+ // 起步阶段:较大延时
45
+ return (0, utils_1.getRandomInt)(18, 35);
46
+ }
47
+ else if (progress > 0.85) {
48
+ // 减速阶段:较大延时
49
+ return (0, utils_1.getRandomInt)(20, 40);
50
+ }
51
+ else {
52
+ // 中间快速阶段
53
+ return (0, utils_1.getRandomInt)(6, 16);
54
+ }
55
+ }
56
+ /**
57
+ * 生成前进滑动轨迹(先加速后减速)
58
+ * @param totalDistance 总滑动距离(含过冲)
59
+ * @returns 轨迹数组 [[x, y, delay], ...]
60
+ */
61
+ generateForwardTrack(totalDistance) {
62
+ const track = [];
63
+ // 步数与距离相关,保持合理密度
64
+ const count = Math.max(25, Math.min(60, Math.floor(totalDistance * 0.3) + (0, utils_1.getRandomInt)(10, 20)));
65
+ let prevX = 0;
66
+ for (let i = 0; i <= count; i++) {
67
+ const progress = i / count;
68
+ const x = Math.round(this.easeInOutCubic(progress) * totalDistance);
69
+ if (x === prevX && i > 0 && i < count)
70
+ continue;
71
+ const y = this.getHumanY(progress);
72
+ const delay = this.getStepDelay(progress);
73
+ track.push([x, y, delay]);
74
+ prevX = x;
75
+ }
76
+ return track;
77
+ }
78
+ /**
79
+ * 生成回退轨迹(减速到精确位置)
80
+ * @param fromX 当前位置
81
+ * @param toX 目标位置
82
+ * @returns 轨迹数组 [[x, y, delay], ...]
83
+ */
84
+ generateBackwardTrack(fromX, toX) {
85
+ const track = [];
86
+ const d = fromX - toX;
87
+ const count = (0, utils_1.getRandomInt)(8, 15);
88
+ for (let i = 0; i <= count; i++) {
89
+ const progress = i / count;
90
+ const offset = Math.round(d * (1 - this.easeOutQuad(progress)));
91
+ const x = toX + offset;
92
+ // 回退阶段Y偏移更小
93
+ const y = Math.round((Math.random() - 0.5) * 2);
94
+ const delay = (0, utils_1.getRandomInt)(15, 35);
95
+ track.push([x, y, delay]);
96
+ }
97
+ return track;
98
+ }
99
+ /**
100
+ * 生成终点微调抖动(模拟人手到达终点后的细微震荡)
101
+ * @param targetX 目标X位置
102
+ * @returns 轨迹数组 [[x, y, delay], ...]
103
+ */
104
+ generateFinalJitter(targetX) {
105
+ const track = [];
106
+ const jitterCount = (0, utils_1.getRandomInt)(2, 4);
107
+ for (let i = 0; i < jitterCount; i++) {
108
+ const jitterX = targetX + (0, utils_1.getRandomInt)(-2, 2);
109
+ const jitterY = (0, utils_1.getRandomInt)(-1, 1);
110
+ track.push([jitterX, jitterY, (0, utils_1.getRandomInt)(30, 80)]);
111
+ }
112
+ // 最后回到精确位置
113
+ track.push([targetX, 0, (0, utils_1.getRandomInt)(40, 80)]);
114
+ return track;
115
+ }
116
+ /**
117
+ * 计算动态过冲量(根据总距离)
118
+ */
119
+ getDynamicOvershoot(distance) {
120
+ // 距离越远过冲越大,加随机因素
121
+ const base = Math.max(8, Math.min(30, distance * 0.08));
122
+ return Math.round(base + (0, utils_1.getRandomFloat)(-3, 5));
123
+ }
124
+ }
125
+ exports.SlidingTrajectory = SlidingTrajectory;
@@ -0,0 +1,68 @@
1
+ import { Page } from 'puppeteer-core';
2
+ import { LocalCaptchaType } from '../../enums';
3
+ import type EnterCaptchaConfig from '../../configs/EnterCaptchaConfig';
4
+ declare global {
5
+ interface Window {
6
+ ___grecaptcha_cfg?: {
7
+ clients: Record<string, any>;
8
+ };
9
+ }
10
+ }
11
+ export type SiteKeyResult = string | {
12
+ key: string;
13
+ action: string;
14
+ };
15
+ export interface CaptchaTokenParams {
16
+ key?: string;
17
+ captchaType: LocalCaptchaType;
18
+ url: string;
19
+ action?: string;
20
+ image?: string;
21
+ }
22
+ export interface SlideCaptchaResult {
23
+ status: number;
24
+ distance: number;
25
+ isAvailable: boolean;
26
+ }
27
+ export interface ClickCaptchaResult {
28
+ status: number;
29
+ clickArea: string[];
30
+ isAvailable: boolean;
31
+ }
32
+ export declare const CAPTCHA_FAMILIES: {
33
+ readonly IMAGE: readonly [LocalCaptchaType.TextInput, LocalCaptchaType.Chars];
34
+ readonly RECAPTCHA_V2: readonly [LocalCaptchaType.reCAPTCHA_V2, LocalCaptchaType.reCAPTCHA_V2_Callback];
35
+ readonly RECAPTCHA_V3: readonly [LocalCaptchaType.ReCAPTCHA_V3, LocalCaptchaType.reCAPTCHA_V3_Callback];
36
+ readonly HCAPTCHA: readonly [LocalCaptchaType.HCaptcha, LocalCaptchaType.HCaptcha_Callback];
37
+ readonly CALLBACK_TYPES: readonly [LocalCaptchaType.reCAPTCHA_V2_Callback, LocalCaptchaType.HCaptcha_Callback, LocalCaptchaType.ReCAPTCHA_V3, LocalCaptchaType.reCAPTCHA_V3_Callback];
38
+ readonly SLIDER: readonly [LocalCaptchaType.Silder, LocalCaptchaType.SilderWithoutImage];
39
+ readonly CLICK: readonly [LocalCaptchaType.Click];
40
+ readonly KEY_BASED: readonly [LocalCaptchaType.reCAPTCHA_V2, LocalCaptchaType.reCAPTCHA_V2_Callback, LocalCaptchaType.HCaptcha, LocalCaptchaType.HCaptcha_Callback, LocalCaptchaType.ReCAPTCHA_V3, LocalCaptchaType.reCAPTCHA_V3_Callback];
41
+ };
42
+ export type StringKeyCaptchaTypes = LocalCaptchaType.reCAPTCHA_V2 | LocalCaptchaType.reCAPTCHA_V2_Callback | LocalCaptchaType.HCaptcha | LocalCaptchaType.HCaptcha_Callback;
43
+ export type ObjectKeyCaptchaTypes = LocalCaptchaType.ReCAPTCHA_V3 | LocalCaptchaType.reCAPTCHA_V3_Callback;
44
+ /**
45
+ * 验证码求解器的上下文接口
46
+ * Solver 通过此接口访问 EnterCaptchaAction 的能力,避免直接依赖继承链
47
+ */
48
+ export interface ICaptchaContext {
49
+ page: Page;
50
+ config: EnterCaptchaConfig;
51
+ retryTimes: number;
52
+ isCaptchaSuccess: boolean;
53
+ name: string;
54
+ sleep(delay: number): Promise<void>;
55
+ checkPause(): Promise<void>;
56
+ log(key: string, ...args: any[]): void;
57
+ error(key: string, ...args: any[]): void;
58
+ resource(key: string, ...args: any[]): void;
59
+ capachaSuccess(): Promise<boolean>;
60
+ getCaptchaToken(data: {
61
+ url?: string;
62
+ captchaType: LocalCaptchaType;
63
+ image?: string;
64
+ image2?: string;
65
+ key?: string;
66
+ action?: string;
67
+ }): Promise<string | SlideCaptchaResult | ClickCaptchaResult>;
68
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CAPTCHA_FAMILIES = void 0;
4
+ const enums_1 = require("../../enums");
5
+ // 验证码家族分组
6
+ exports.CAPTCHA_FAMILIES = {
7
+ // 图片验证码家族
8
+ IMAGE: [enums_1.LocalCaptchaType.TextInput, enums_1.LocalCaptchaType.Chars],
9
+ // reCAPTCHA 家族
10
+ RECAPTCHA_V2: [enums_1.LocalCaptchaType.reCAPTCHA_V2, enums_1.LocalCaptchaType.reCAPTCHA_V2_Callback],
11
+ RECAPTCHA_V3: [enums_1.LocalCaptchaType.ReCAPTCHA_V3, enums_1.LocalCaptchaType.reCAPTCHA_V3_Callback],
12
+ // hCaptcha 家族
13
+ HCAPTCHA: [enums_1.LocalCaptchaType.HCaptcha, enums_1.LocalCaptchaType.HCaptcha_Callback],
14
+ // 需要回调的验证码类型
15
+ CALLBACK_TYPES: [
16
+ enums_1.LocalCaptchaType.reCAPTCHA_V2_Callback,
17
+ enums_1.LocalCaptchaType.HCaptcha_Callback,
18
+ enums_1.LocalCaptchaType.ReCAPTCHA_V3,
19
+ enums_1.LocalCaptchaType.reCAPTCHA_V3_Callback,
20
+ ],
21
+ // 滑块验证码家族
22
+ SLIDER: [enums_1.LocalCaptchaType.Silder, enums_1.LocalCaptchaType.SilderWithoutImage],
23
+ // 点选验证码家族
24
+ CLICK: [enums_1.LocalCaptchaType.Click],
25
+ // 基于密钥的验证码家族
26
+ KEY_BASED: [
27
+ enums_1.LocalCaptchaType.reCAPTCHA_V2,
28
+ enums_1.LocalCaptchaType.reCAPTCHA_V2_Callback,
29
+ enums_1.LocalCaptchaType.HCaptcha,
30
+ enums_1.LocalCaptchaType.HCaptcha_Callback,
31
+ enums_1.LocalCaptchaType.ReCAPTCHA_V3,
32
+ enums_1.LocalCaptchaType.reCAPTCHA_V3_Callback,
33
+ ],
34
+ };
@@ -0,0 +1,2 @@
1
+ export declare const getRandomInt: (min: number, max: number) => number;
2
+ export declare const getRandomFloat: (min: number, max: number) => number;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRandomFloat = exports.getRandomInt = void 0;
4
+ // 生成随机整数
5
+ const getRandomInt = (min, max) => {
6
+ min = Math.ceil(min);
7
+ max = Math.floor(max);
8
+ return Math.floor(Math.random() * (max - min + 1)) + min;
9
+ };
10
+ exports.getRandomInt = getRandomInt;
11
+ // 生成随机浮点数
12
+ const getRandomFloat = (min, max) => {
13
+ return Math.random() * (max - min) + min;
14
+ };
15
+ exports.getRandomFloat = getRandomFloat;
@@ -0,0 +1,6 @@
1
+ import { BaseAction } from './baseAction';
2
+ export declare class ActionFactory {
3
+ private static Maps;
4
+ private static getMaps;
5
+ static getAction(key: string, json: any, parent?: BaseAction): BaseAction;
6
+ }
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ActionFactory']=void 0x0;const rootAction_1=require('./rootAction'),loopAction_1=require('./loopAction'),clickAction_1=require('./clickAction'),navigateAction_1=require('./navigateAction'),conditionAction_1=require('./conditionAction'),extractDataAction_1=require('./extractDataAction'),enterTextAction_1=require('./enterTextAction'),mouseOverAction_1=require('./mouseOverAction'),switchCombo2Action_1=require('./switchCombo2Action'),enterCapachaAction_1=require('./enterCapachaAction'),breakActivity_1=require('./breakActivity'),completeWF_1=require('./completeWF'),emptyAction_1=require('./emptyAction'),backPreWebPageAction_1=require('./backPreWebPageAction');class ActionFactory{static['getMaps'](_0x36827b){if(this['Maps']==null){var _0x4ea521={};_0x4ea521['ns0:RootAction']=rootAction_1['RootAction'],_0x4ea521['ns0:LoopAction']=loopAction_1['LoopAction'],_0x4ea521['ns0:NavigateAction']=navigateAction_1['NavigateAction'],_0x4ea521['ns0:ClickAction']=clickAction_1['ClickAction'],_0x4ea521['ns0:ExtractDataAction']=extractDataAction_1['ExtractDataAction'],_0x4ea521['ns0:ConditionAction']=conditionAction_1['ConditionAction'],_0x4ea521['ns0:EnterTextAction']=enterTextAction_1['EnterTextAction'],_0x4ea521['ns0:MouseOverAction']=mouseOverAction_1['MouseOverAction'],_0x4ea521['ns0:SwitchCombo2Action']=switchCombo2Action_1['SwitchCombo2Action'],_0x4ea521['ns0:EnterCapachaAction']=enterCapachaAction_1['EnterCapachaAction'],_0x4ea521['ns0:BreakActivity']=breakActivity_1['BreakActivity'],_0x4ea521['ns0:CompleteWF']=completeWF_1['CompleteWF'],_0x4ea521['ns0:EmptyAction']=emptyAction_1['EmptyAction'],_0x4ea521['ns0:BackPreWebPageAction']=backPreWebPageAction_1['BackPreWebPageAction'],this['Maps']=_0x4ea521;}return this['Maps'][_0x36827b];}static['getAction'](_0x52c251,_0x16e7c3,_0xa83f4e){if(_0x52c251['indexOf']('|')==-0x1)return null;let _0xcf3ea4=_0x52c251['substring'](_0x52c251['indexOf']('|')+0x1),_0x39d845=null;var _0x1e0302=this['getMaps'](_0xcf3ea4);if(_0x1e0302!=null)_0x39d845=new _0x1e0302();else return null;return _0x39d845&&(_0x39d845['setConfigJSon'](_0x16e7c3),_0x39d845['setParentAction'](_0xa83f4e)),_0x39d845;}}exports['ActionFactory']=ActionFactory,ActionFactory['Maps']=null;
@@ -0,0 +1,22 @@
1
+ export declare enum ActivityType {
2
+ StartEvent = "start-event",
3
+ EndEvent = "end-event",
4
+ SequenceFlow = "sequence-flow",
5
+ NavigateTask = "navigate-task",
6
+ LoopProcess = "loop-process",
7
+ LoopProcessItemStart = "loop-process-item-start",
8
+ LoopProcessEnd = "loop-process-end",
9
+ ClickTask = "click-task",
10
+ ExtractDataTask = "extractdata-task",
11
+ EnterTextTask = "entertext-task",
12
+ BreakActivityTask = "break-activity-task",
13
+ ConditionTask = "condition-task",
14
+ ConditionEndTask = "condition-end-task",
15
+ BranchTask = "branch-task",
16
+ EnterCapachaTask = "enter-capacha-task",
17
+ MouseOverTask = "mouse-over-task",
18
+ SwitchComboTask = "switch-combo-task",
19
+ CompleteWorkFlow = "complete-workflow",
20
+ EmptyTask = "empty-task",
21
+ BackPreWebPageTask = "back-preweb-page-task"
22
+ }
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ActivityType']=void 0x0;var ActivityType;(function(_0x2d8da1){_0x2d8da1['StartEvent']='start-event',_0x2d8da1['EndEvent']='end-event',_0x2d8da1['SequenceFlow']='sequence-flow',_0x2d8da1['NavigateTask']='navigate-task',_0x2d8da1['LoopProcess']='loop-process',_0x2d8da1['LoopProcessItemStart']='loop-process-item-start',_0x2d8da1['LoopProcessEnd']='loop-process-end',_0x2d8da1['ClickTask']='click-task',_0x2d8da1['ExtractDataTask']='extractdata-task',_0x2d8da1['EnterTextTask']='entertext-task',_0x2d8da1['BreakActivityTask']='break-activity-task',_0x2d8da1['ConditionTask']='condition-task',_0x2d8da1['ConditionEndTask']='condition-end-task',_0x2d8da1['BranchTask']='branch-task',_0x2d8da1['EnterCapachaTask']='enter-capacha-task',_0x2d8da1['MouseOverTask']='mouse-over-task',_0x2d8da1['SwitchComboTask']='switch-combo-task',_0x2d8da1['CompleteWorkFlow']='complete-workflow',_0x2d8da1['EmptyTask']='empty-task',_0x2d8da1['BackPreWebPageTask']='back-preweb-page-task';}(ActivityType||(exports['ActivityType']=ActivityType={})));
@@ -0,0 +1,5 @@
1
+ import { BaseAction } from './baseAction';
2
+ export declare class BackPreWebPageAction extends BaseAction {
3
+ constructor();
4
+ doActions(): void;
5
+ }
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['BackPreWebPageAction']=void 0x0;const baseAction_1=require('./baseAction'),activityTypeEnum_1=require('./activityTypeEnum');class BackPreWebPageAction extends baseAction_1['BaseAction']{constructor(){super(),this['name']='BackPreWebPageAction';}['doActions'](){this['parentAction']&&this['parentAction']['element']&&(this['element']=this['parentAction']['element']['ele']('userTask',{'actionType':'BackPreWebPageAction','id':this['id']}),this['cacheActivityMap'](this['id'],activityTypeEnum_1['ActivityType']['BackPreWebPageTask']),this['bindingBasicAttrs']());}}exports['BackPreWebPageAction']=BackPreWebPageAction;
@@ -0,0 +1,31 @@
1
+ import { ActivityType } from './activityTypeEnum';
2
+ export declare const TransActivityMaps: Map<string, ActivityType>;
3
+ export declare class BaseAction {
4
+ name: string;
5
+ configJSon: any;
6
+ properties: any;
7
+ parentAction: BaseAction;
8
+ element: any;
9
+ id: string;
10
+ flowIndex: number;
11
+ content: string;
12
+ constructor();
13
+ getRealNameTagName(valObj: any): string;
14
+ setConfigJSon(val: any): void;
15
+ setParentAction(val: BaseAction): void;
16
+ /**
17
+ * 生成该action的bpmn格式的xml
18
+ */
19
+ doActions(): void;
20
+ getEndId(): string;
21
+ bindingBasicAttrs(): void;
22
+ cacheActivityMap(id: string, type: ActivityType): void;
23
+ private readonly timespanRegex;
24
+ bindingAtts(element: any, properties: any): void;
25
+ keyFilter(key: string): boolean;
26
+ getFormatValue(val: any): any;
27
+ getActionItem(val: string): any;
28
+ sleep(delay: any): Promise<unknown>;
29
+ delayPromise(ms: any): Promise<unknown>;
30
+ timeoutPromise(promise: any, ms: any): Promise<any>;
31
+ }
@@ -0,0 +1 @@
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x2cbdfe,_0x41ee10,_0x55be17,_0x29e85f){if(_0x29e85f===undefined)_0x29e85f=_0x55be17;var _0xc7d246=Object['getOwnPropertyDescriptor'](_0x41ee10,_0x55be17);(!_0xc7d246||('get'in _0xc7d246?!_0x41ee10['__esModule']:_0xc7d246['writable']||_0xc7d246['configurable']))&&(_0xc7d246={'enumerable':!![],'get':function(){return _0x41ee10[_0x55be17];}}),Object['defineProperty'](_0x2cbdfe,_0x29e85f,_0xc7d246);}:function(_0x321f38,_0x37d08f,_0x3e31a3,_0x42f5fe){if(_0x42f5fe===undefined)_0x42f5fe=_0x3e31a3;_0x321f38[_0x42f5fe]=_0x37d08f[_0x3e31a3];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x672b5d,_0x2b9137){Object['defineProperty'](_0x672b5d,'default',{'enumerable':!![],'value':_0x2b9137});}:function(_0x2fda85,_0x1f472e){_0x2fda85['default']=_0x1f472e;}),__importStar=this&&this['__importStar']||(function(){var _0x5d5815=function(_0x565816){return _0x5d5815=Object['getOwnPropertyNames']||function(_0x2699d2){var _0x3b1414=[];for(var _0xa36455 in _0x2699d2)if(Object['prototype']['hasOwnProperty']['call'](_0x2699d2,_0xa36455))_0x3b1414[_0x3b1414['length']]=_0xa36455;return _0x3b1414;},_0x5d5815(_0x565816);};return function(_0x385e09){if(_0x385e09&&_0x385e09['__esModule'])return _0x385e09;var _0x5753ee={};if(_0x385e09!=null){for(var _0x566925=_0x5d5815(_0x385e09),_0x4e5be7=0x0;_0x4e5be7<_0x566925['length'];_0x4e5be7++)if(_0x566925[_0x4e5be7]!=='default')__createBinding(_0x5753ee,_0x385e09,_0x566925[_0x4e5be7]);}return __setModuleDefault(_0x5753ee,_0x385e09),_0x5753ee;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['BaseAction']=exports['TransActivityMaps']=void 0x0;const xml2js=__importStar(require('xml2js')),uuid=__importStar(require('uuid')),utils_1=require('../utils');exports['TransActivityMaps']=new Map();const parser=new xml2js['Parser']({'explicitArray':![],'ignoreAttrs':![]});class BaseAction{constructor(){this['flowIndex']=0x0,this['timespanRegex']=/^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/,this['name']='BaseAction';}['getRealNameTagName'](_0x2422d0){let _0x1a3f6d='x:Name';for(const _0x4caafa in _0x2422d0){_0x4caafa['indexOf'](':Name')>-0x1&&(_0x1a3f6d=_0x4caafa);}return _0x1a3f6d;}['setConfigJSon'](_0x2c9e12){this['configJSon']=_0x2c9e12,this['properties']=_0x2c9e12['$'];(_0x2c9e12==null||_0x2c9e12['$']==undefined)&&console['log']('undefined');const _0x4fea3f=this['getRealNameTagName'](_0x2c9e12['$']);this['id']=_0x2c9e12['$'][_0x4fea3f],(0x0,utils_1['isNullOrEmpty'])(this['id'])&&(this['id']=uuid['v1']());}['setParentAction'](_0x5edfa3){this['parentAction']=_0x5edfa3;}['doActions'](){console['log'](this['name']),console['log'](this['configJSon']);}['getEndId'](){return this['id'];}['bindingBasicAttrs'](){this['bindingAtts'](this['element'],this['properties']);}['cacheActivityMap'](_0x380a8f,_0x4218f5){exports['TransActivityMaps']['set'](_0x380a8f,_0x4218f5);}['bindingAtts'](_0x438226,_0x29376f){for(const _0x5155bd in _0x29376f){if(_0x5155bd!='$'&&this['keyFilter'](_0x5155bd)){const _0x549bee=_0x29376f[_0x5155bd];if(_0x5155bd['toLowerCase']()=='timeout'&&this['timespanRegex']['test'](_0x549bee)){const _0x2267ad=_0x549bee['split'](':'),_0xedc6dd=parseInt(_0x2267ad[0x0])*0x3c*0x3c+parseInt(_0x2267ad[0x1])*0x3c+parseInt(_0x2267ad[0x2]);_0x438226['att'](_0x5155bd,_0xedc6dd);}else _0x5155bd==='FixedValue'?_0x438226['att'](_0x5155bd,_0x549bee):_0x438226['att'](_0x5155bd,this['getFormatValue'](_0x29376f[_0x5155bd]));}}}['keyFilter'](_0x7afbcf){return _0x7afbcf['indexOf'](':')>-0x1||this['name']=='ExtractDataAction'&&(_0x7afbcf=='ExtractTemplate'||_0x7afbcf=='Operations')?![]:!![];}['getFormatValue'](_0x5bba0e){if(_0x5bba0e=='False')return'false';else{if(_0x5bba0e=='True')return'true';else{if(_0x5bba0e=='{x:Null}'||_0x5bba0e=='{p3:Null}')return'';}}return _0x5bba0e;}['getActionItem'](_0x17c1ed){if(_0x17c1ed){let _0xd58c84=undefined;return parser['parseString'](_0x17c1ed,function(_0x3b705d,_0x1f6dd6){_0xd58c84=_0x1f6dd6;}),_0xd58c84;}else return undefined;}['sleep'](_0x53ec65){return new Promise((_0x513fc6,_0x92b6de)=>{setTimeout(()=>{try{_0x513fc6(0x1);}catch(_0x416aac){_0x92b6de(0x0);}},_0x53ec65);});}['delayPromise'](_0x3d246f){return new Promise(function(_0x4ad354){setTimeout(_0x4ad354,_0x3d246f);});}['timeoutPromise'](_0x52fa6d,_0x385c28){const _0x494cfa=this['delayPromise'](_0x385c28)['then'](function(){console['log']('time\x20out');});return Promise['race']([_0x494cfa,_0x52fa6d]);}}exports['BaseAction']=BaseAction;
@@ -0,0 +1,5 @@
1
+ import { BaseAction } from "./baseAction";
2
+ export declare class BreakActivity extends BaseAction {
3
+ constructor();
4
+ doActions(): void;
5
+ }
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['BreakActivity']=void 0x0;const baseAction_1=require('./baseAction'),activityTypeEnum_1=require('./activityTypeEnum');class BreakActivity extends baseAction_1['BaseAction']{constructor(){super(),this['name']='BreakActivity';}['doActions'](){if(this['parentAction']&&this['parentAction']['element']){this['element']=this['parentAction']['element']['ele']('userTask',{'actionType':'BreakActivity','id':this['id']}),this['cacheActivityMap'](this['id'],activityTypeEnum_1['ActivityType']['BreakActivityTask']);let _0x213a94=this['parentAction'],_0x274c94='theProcess';while(_0x213a94){if(_0x213a94['name']=='LoopAction'){_0x274c94=_0x213a94['id'];break;}_0x213a94=_0x213a94['parentAction'];}this['element']['att']('parent',_0x274c94),this['bindingBasicAttrs']();}}}exports['BreakActivity']=BreakActivity;
@@ -0,0 +1,5 @@
1
+ import { BaseAction } from './baseAction';
2
+ export declare class ClickAction extends BaseAction {
3
+ constructor();
4
+ doActions(): void;
5
+ }
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ClickAction']=void 0x0;const baseAction_1=require('./baseAction'),activityTypeEnum_1=require('./activityTypeEnum');class ClickAction extends baseAction_1['BaseAction']{constructor(){super(),this['name']='ClickAction';}['doActions'](){if(this['parentAction']&&this['parentAction']['element']){this['element']=this['parentAction']['element']['ele']('userTask',{'actionType':'ClickAction','id':this['id']}),this['bindingBasicAttrs'](),this['cacheActivityMap'](this['id'],activityTypeEnum_1['ActivityType']['ClickTask']);if(this['configJSon']['ns0:ClickAction.RetryConditions']){let _0x5b225b=this['element']['ele']('extensionElements'),_0xc0da13=_0x5b225b['ele']('xml:ClickAction.RetryConditions'),_0x323fce='x:Array';for(let _0x457a0f in this['configJSon']['ns0:ClickAction.RetryConditions']){_0x323fce=_0x457a0f;}if(this['configJSon']['ns0:ClickAction.RetryConditions'][_0x323fce]){if(this['configJSon']['ns0:ClickAction.RetryConditions'][_0x323fce]['ns2:RetryCondition']){if(Array['isArray'](this['configJSon']['ns0:ClickAction.RetryConditions'][_0x323fce]['ns2:RetryCondition']))for(let _0x11311b of this['configJSon']['ns0:ClickAction.RetryConditions'][_0x323fce]['ns2:RetryCondition']){let _0x46a0f4=_0xc0da13['ele']('xml:RetryCondition');this['bindingAtts'](_0x46a0f4,_0x11311b['$']);}else{let _0x17f8de=this['configJSon']['ns0:ClickAction.RetryConditions'][_0x323fce]['ns2:RetryCondition'],_0x582175=_0xc0da13['ele']('xml:RetryCondition');this['bindingAtts'](_0x582175,_0x17f8de['$']);}}}if(this['configJSon']['ns0:ClickAction.UserAgents']){let _0x11d817=_0x5b225b['ele']('xml:ClickAction.UserAgents');try{let _0x2a5adc='x:Array';for(let _0x40baf7 in this['configJSon']['ns0:ClickAction.UserAgents']){_0x2a5adc=_0x40baf7;}if(this['configJSon']['ns0:ClickAction.UserAgents'][_0x2a5adc]){let _0x508c33='ns1:String';for(let _0x320551 in this['configJSon']['ns0:ClickAction.UserAgents'][_0x2a5adc]){if(_0x320551['indexOf']('UserAgents')>0x0){_0x508c33=_0x320551;break;}}if(this['configJSon']['ns0:ClickAction.UserAgents'][_0x2a5adc][_0x508c33]){if(Array['isArray'](this['configJSon']['ns0:ClickAction.UserAgents'][_0x2a5adc][_0x508c33]))for(let _0x2b0d6e of this['configJSon']['ns0:ClickAction.UserAgents'][_0x2a5adc][_0x508c33]){let _0x369bcf=_0x11d817['ele']('xml:UserAgents');this['bindingAtts'](_0x369bcf,{'userAgent':_0x2b0d6e['_']});}else{let _0x286fc1=this['configJSon']['ns0:ClickAction.UserAgents'][_0x2a5adc][_0x508c33],_0x91429c=_0x11d817['ele']('xml:UserAgents');this['bindingAtts'](_0x91429c,{'userAgent':_0x286fc1['_']});}}}}catch(_0x459004){console['error'](_0x459004);}}}}}}exports['ClickAction']=ClickAction;
@@ -0,0 +1,5 @@
1
+ import { BaseAction } from "./baseAction";
2
+ export declare class CompleteWF extends BaseAction {
3
+ constructor();
4
+ doActions(): void;
5
+ }
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['CompleteWF']=void 0x0;const baseAction_1=require('./baseAction'),activityTypeEnum_1=require('./activityTypeEnum');class CompleteWF extends baseAction_1['BaseAction']{constructor(){super(),this['name']='CompleteWF';}['doActions'](){this['parentAction']&&this['parentAction']['element']&&(this['element']=this['parentAction']['element']['ele']('userTask',{'actionType':'CompleteWF','id':this['id']}),this['cacheActivityMap'](this['id'],activityTypeEnum_1['ActivityType']['CompleteWorkFlow']),this['bindingBasicAttrs']());}}exports['CompleteWF']=CompleteWF;
@@ -0,0 +1,6 @@
1
+ import { BaseAction } from './baseAction';
2
+ export declare class ConditionAction extends BaseAction {
3
+ constructor();
4
+ doActions(): void;
5
+ getEndId(): string;
6
+ }
@@ -0,0 +1 @@
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0xe8d88b,_0x13a096,_0x533c4e,_0x148f26){if(_0x148f26===undefined)_0x148f26=_0x533c4e;var _0x2e5a6b=Object['getOwnPropertyDescriptor'](_0x13a096,_0x533c4e);(!_0x2e5a6b||('get'in _0x2e5a6b?!_0x13a096['__esModule']:_0x2e5a6b['writable']||_0x2e5a6b['configurable']))&&(_0x2e5a6b={'enumerable':!![],'get':function(){return _0x13a096[_0x533c4e];}}),Object['defineProperty'](_0xe8d88b,_0x148f26,_0x2e5a6b);}:function(_0x3442fa,_0x29fd2d,_0x363a52,_0x46bcf2){if(_0x46bcf2===undefined)_0x46bcf2=_0x363a52;_0x3442fa[_0x46bcf2]=_0x29fd2d[_0x363a52];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x4c9453,_0x1bff70){Object['defineProperty'](_0x4c9453,'default',{'enumerable':!![],'value':_0x1bff70});}:function(_0x1a0fad,_0xec3295){_0x1a0fad['default']=_0xec3295;}),__importStar=this&&this['__importStar']||(function(){var _0xf8ea75=function(_0x3589d6){return _0xf8ea75=Object['getOwnPropertyNames']||function(_0x16bc7f){var _0x1d1f75=[];for(var _0x2a5fd1 in _0x16bc7f)if(Object['prototype']['hasOwnProperty']['call'](_0x16bc7f,_0x2a5fd1))_0x1d1f75[_0x1d1f75['length']]=_0x2a5fd1;return _0x1d1f75;},_0xf8ea75(_0x3589d6);};return function(_0x4cbe30){if(_0x4cbe30&&_0x4cbe30['__esModule'])return _0x4cbe30;var _0x3fa576={};if(_0x4cbe30!=null){for(var _0x2b4e20=_0xf8ea75(_0x4cbe30),_0x1cf135=0x0;_0x1cf135<_0x2b4e20['length'];_0x1cf135++)if(_0x2b4e20[_0x1cf135]!=='default')__createBinding(_0x3fa576,_0x4cbe30,_0x2b4e20[_0x1cf135]);}return __setModuleDefault(_0x3fa576,_0x4cbe30),_0x3fa576;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ConditionAction']=void 0x0;const baseAction_1=require('./baseAction'),activityTypeEnum_1=require('./activityTypeEnum'),uuid=__importStar(require('uuid')),actionFactory_1=require('./actionFactory');class ConditionAction extends baseAction_1['BaseAction']{constructor(){super(),this['name']='ConditionAction';}['doActions'](){if(this['parentAction']&&this['parentAction']['element']){let _0x4a46ce='defaultbranch-'+this['id'];this['element']=this['parentAction']['element']['ele']('exclusiveGateway',{'actionType':'ConditionAction','id':this['id'],'default':_0x4a46ce}),this['cacheActivityMap'](this['id'],activityTypeEnum_1['ActivityType']['ConditionTask']),this['bindingBasicAttrs']();this['configJSon']['ns0:BranchAction']&&!(this['configJSon']['ns0:BranchAction']instanceof Array)&&(this['configJSon']['ns0:BranchAction']=[this['configJSon']['ns0:BranchAction']]);let _0x46ffe9=0x0,_0x30aeef=0x0;for(let _0x25c5da of this['configJSon']['ns0:BranchAction']){_0x30aeef++;let _0x15fb2e=[],_0x4a796d=[],_0x1b48bf=this['id'];for(let _0x18a622 in _0x25c5da){let _0x2f2100=actionFactory_1['ActionFactory']['getAction'](_0x18a622,_0x25c5da[_0x18a622],this['parentAction']);_0x2f2100&&_0x4a796d['push'](_0x2f2100);}_0x46ffe9=Math['max'](_0x4a796d['length'],_0x46ffe9);if(_0x30aeef===Object['keys'](this['configJSon']['ns0:BranchAction'])['length'])while(_0x4a796d['length']<_0x46ffe9+0x1){const _0x543a50={'PageIndex':_0x25c5da['$']['PageIndex'],'x:Name':'emptyAction-'+uuid['v1']()+'-FIX','FilePath':'{x:Null}','Caption':'不做任何事的空步骤','Description':'不做任何事的空步骤'};let _0x3d6661=actionFactory_1['ActionFactory']['getAction']('-1|ns0:EmptyAction',{'$':_0x543a50},this['parentAction']);_0x4a796d['unshift'](_0x3d6661);}let _0x30afaa=this['getRealNameTagName'](_0x25c5da['$']);if(_0x4a796d['length']===0x0){let _0x2a0842=this['parentAction']['element']['ele']('sequenceFlow',{'actionType':'BranchAction','id':_0x25c5da['$'][_0x30afaa],'sourceRef':_0x1b48bf,'targetRef':this['getEndId']()});this['cacheActivityMap'](_0x25c5da['$'][_0x30afaa],activityTypeEnum_1['ActivityType']['BranchTask']),this['bindingAtts'](_0x2a0842,_0x25c5da['$']);let _0x1b6831=_0x2a0842['ele']('conditionExpression',{'xsi:type':'tFormalExpression'},'${services.decisionTest()}');}else{let _0x1c59a4=this['parentAction']['element']['ele']('sequenceFlow',{'actionType':'BranchAction','id':_0x25c5da['$'][_0x30afaa],'sourceRef':_0x1b48bf,'targetRef':_0x4a796d[0x0]['id']});this['cacheActivityMap'](_0x25c5da['$'][_0x30afaa],activityTypeEnum_1['ActivityType']['BranchTask']),this['bindingAtts'](_0x1c59a4,_0x25c5da['$']);let _0x1352d6=_0x1c59a4['ele']('conditionExpression',{'xsi:type':'tFormalExpression'},'${services.decisionTest()}');for(let _0x4b81d8 of _0x4a796d){_0x15fb2e['length']>0x0&&this['parentAction']['element']['ele']('sequenceFlow',{'id':this['parentAction']['id']+'flow'+this['parentAction']['flowIndex']++,'sourceRef':_0x1b48bf,'targetRef':_0x4b81d8['id']}),_0x4b81d8['doActions'](),_0x15fb2e[_0x15fb2e['length']]=_0x4b81d8,_0x1b48bf=_0x4b81d8['getEndId']();}this['parentAction']['element']['ele']('sequenceFlow',{'id':this['parentAction']['id']+'flow'+this['parentAction']['flowIndex']++,'sourceRef':_0x1b48bf,'targetRef':this['getEndId']()});}}this['parentAction']['element']['ele']('sequenceFlow',{'id':_0x4a46ce,'sourceRef':this['id'],'targetRef':this['getEndId']()});let _0x50519d=this['parentAction']['element']['ele']('task',{'id':this['getEndId']()});this['cacheActivityMap'](this['getEndId'](),activityTypeEnum_1['ActivityType']['ConditionEndTask']);}}['getEndId'](){return this['id']+'ConditionEnd';}}exports['ConditionAction']=ConditionAction;