@silasfmartins/testhub 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/.github/copilot-instructions.md +520 -0
  2. package/biome.json +37 -0
  3. package/dist/index.d.ts +45 -0
  4. package/dist/index.js +169 -0
  5. package/dist/scripts/consumer-postinstall.d.ts +15 -0
  6. package/dist/scripts/consumer-postinstall.js +785 -0
  7. package/dist/scripts/generate-docs.d.ts +16 -0
  8. package/dist/scripts/generate-docs.js +1363 -0
  9. package/dist/scripts/generate-index.d.ts +2 -0
  10. package/dist/scripts/generate-index.js +314 -0
  11. package/dist/scripts/init-api.d.ts +2 -0
  12. package/dist/scripts/init-api.js +525 -0
  13. package/dist/scripts/init-banco.d.ts +2 -0
  14. package/dist/scripts/init-banco.js +347 -0
  15. package/dist/scripts/init-frontend.d.ts +2 -0
  16. package/dist/scripts/init-frontend.js +627 -0
  17. package/dist/scripts/init-mobile.d.ts +2 -0
  18. package/dist/scripts/init-mobile.js +481 -0
  19. package/dist/scripts/init-scenarios.d.ts +2 -0
  20. package/dist/scripts/init-scenarios.js +846 -0
  21. package/dist/scripts/init-ssh.d.ts +2 -0
  22. package/dist/scripts/init-ssh.js +639 -0
  23. package/dist/scripts/package-versions.d.ts +57 -0
  24. package/dist/scripts/package-versions.js +768 -0
  25. package/dist/scripts/postinstall.d.ts +1 -0
  26. package/dist/scripts/postinstall.js +527 -0
  27. package/dist/scripts/robust-build.d.ts +7 -0
  28. package/dist/scripts/robust-build.js +88 -0
  29. package/dist/scripts/setup-local-packages.d.ts +31 -0
  30. package/dist/scripts/setup-local-packages.js +237 -0
  31. package/dist/scripts/smart-override.d.ts +2 -0
  32. package/dist/scripts/smart-override.js +1360 -0
  33. package/dist/scripts/sync-configs.d.ts +27 -0
  34. package/dist/scripts/sync-configs.js +248 -0
  35. package/dist/scripts/test-biome-parse.d.ts +5 -0
  36. package/dist/scripts/test-biome-parse.js +84 -0
  37. package/dist/scripts/ultracite-setup.d.ts +4 -0
  38. package/dist/scripts/ultracite-setup.js +310 -0
  39. package/dist/scripts/update-all-init-scripts.d.ts +2 -0
  40. package/dist/scripts/update-all-init-scripts.js +52 -0
  41. package/dist/scripts/update-biome-schema.d.ts +15 -0
  42. package/dist/scripts/update-biome-schema.js +124 -0
  43. package/dist/src/AutoCoreFacade.d.ts +145 -0
  44. package/dist/src/AutoCoreFacade.js +217 -0
  45. package/dist/src/api/ApiActions.d.ts +297 -0
  46. package/dist/src/api/ApiActions.js +1905 -0
  47. package/dist/src/api/Certificate.d.ts +60 -0
  48. package/dist/src/api/Certificate.js +79 -0
  49. package/dist/src/api/JsonResponse.d.ts +116 -0
  50. package/dist/src/api/JsonResponse.js +206 -0
  51. package/dist/src/appium/DeviceFarmViewer.d.ts +79 -0
  52. package/dist/src/appium/DeviceFarmViewer.js +1083 -0
  53. package/dist/src/appium/MobileActions.d.ts +347 -0
  54. package/dist/src/appium/MobileActions.js +1632 -0
  55. package/dist/src/appium/MobileConnection.d.ts +160 -0
  56. package/dist/src/appium/MobileConnection.js +772 -0
  57. package/dist/src/config/envLoader.d.ts +123 -0
  58. package/dist/src/config/envLoader.js +361 -0
  59. package/dist/src/config/jest-safe-setup.d.ts +19 -0
  60. package/dist/src/config/jest-safe-setup.js +369 -0
  61. package/dist/src/config/timeouts.d.ts +32 -0
  62. package/dist/src/config/timeouts.js +38 -0
  63. package/dist/src/desktop/DesktopActions.d.ts +46 -0
  64. package/dist/src/desktop/DesktopActions.js +398 -0
  65. package/dist/src/desktop/DesktopConnection.d.ts +32 -0
  66. package/dist/src/desktop/DesktopConnection.js +84 -0
  67. package/dist/src/domain/entities/TestExecution.d.ts +117 -0
  68. package/dist/src/domain/entities/TestExecution.js +150 -0
  69. package/dist/src/domain/entities/TestReport.d.ts +114 -0
  70. package/dist/src/domain/entities/TestReport.js +179 -0
  71. package/dist/src/domain/repositories/ITestRepository.d.ts +196 -0
  72. package/dist/src/domain/repositories/ITestRepository.js +14 -0
  73. package/dist/src/domain/schemas/ValidationSchemas.d.ts +159 -0
  74. package/dist/src/domain/schemas/ValidationSchemas.js +181 -0
  75. package/dist/src/functions/errors/BaseError.d.ts +78 -0
  76. package/dist/src/functions/errors/BaseError.js +245 -0
  77. package/dist/src/functions/errors/ConfigurationError.d.ts +16 -0
  78. package/dist/src/functions/errors/ConfigurationError.js +48 -0
  79. package/dist/src/functions/errors/ErrorCatalog.d.ts +148 -0
  80. package/dist/src/functions/errors/ErrorCatalog.js +157 -0
  81. package/dist/src/functions/errors/GlobalErrorHandler.d.ts +101 -0
  82. package/dist/src/functions/errors/GlobalErrorHandler.js +281 -0
  83. package/dist/src/functions/errors/IntegrationError.d.ts +17 -0
  84. package/dist/src/functions/errors/IntegrationError.js +51 -0
  85. package/dist/src/functions/errors/SecurityError.d.ts +14 -0
  86. package/dist/src/functions/errors/SecurityError.js +42 -0
  87. package/dist/src/functions/errors/SystemError.d.ts +12 -0
  88. package/dist/src/functions/errors/SystemError.js +36 -0
  89. package/dist/src/functions/errors/ValidationError.d.ts +14 -0
  90. package/dist/src/functions/errors/ValidationError.js +61 -0
  91. package/dist/src/functions/errors/index.d.ts +12 -0
  92. package/dist/src/functions/errors/index.js +13 -0
  93. package/dist/src/global-setup.d.ts +1 -0
  94. package/dist/src/global-setup.js +1037 -0
  95. package/dist/src/helpers/BancoActions.d.ts +188 -0
  96. package/dist/src/helpers/BancoActions.js +581 -0
  97. package/dist/src/helpers/EnviromentHelper.d.ts +17 -0
  98. package/dist/src/helpers/EnviromentHelper.js +66 -0
  99. package/dist/src/helpers/ParallelExecutionHelper.d.ts +183 -0
  100. package/dist/src/helpers/ParallelExecutionHelper.js +375 -0
  101. package/dist/src/helpers/SyncSignal.d.ts +15 -0
  102. package/dist/src/helpers/SyncSignal.js +44 -0
  103. package/dist/src/hubdocs/CategoryDetector.d.ts +83 -0
  104. package/dist/src/hubdocs/CategoryDetector.js +401 -0
  105. package/dist/src/hubdocs/DirectStatementInterceptor.d.ts +54 -0
  106. package/dist/src/hubdocs/DirectStatementInterceptor.js +243 -0
  107. package/dist/src/hubdocs/ExecutionTracker.d.ts +107 -0
  108. package/dist/src/hubdocs/ExecutionTracker.js +702 -0
  109. package/dist/src/hubdocs/HubDocs.d.ts +395 -0
  110. package/dist/src/hubdocs/HubDocs.js +3586 -0
  111. package/dist/src/hubdocs/StatementMethodFilter.d.ts +71 -0
  112. package/dist/src/hubdocs/StatementMethodFilter.js +618 -0
  113. package/dist/src/hubdocs/StatementTracker.d.ts +417 -0
  114. package/dist/src/hubdocs/StatementTracker.js +2419 -0
  115. package/dist/src/hubdocs/SwaggerGenerator.d.ts +59 -0
  116. package/dist/src/hubdocs/SwaggerGenerator.js +405 -0
  117. package/dist/src/hubdocs/index.d.ts +9 -0
  118. package/dist/src/hubdocs/index.js +9 -0
  119. package/dist/src/hubdocs/types.d.ts +114 -0
  120. package/dist/src/hubdocs/types.js +5 -0
  121. package/dist/src/infrastructure/DependencyContainer.d.ts +142 -0
  122. package/dist/src/infrastructure/DependencyContainer.js +250 -0
  123. package/dist/src/infrastructure/adapters/AppiumAdapter.d.ts +168 -0
  124. package/dist/src/infrastructure/adapters/AppiumAdapter.js +468 -0
  125. package/dist/src/infrastructure/adapters/OracleAdapter.d.ts +150 -0
  126. package/dist/src/infrastructure/adapters/OracleAdapter.js +388 -0
  127. package/dist/src/infrastructure/adapters/PlaywrightAdapter.d.ts +192 -0
  128. package/dist/src/infrastructure/adapters/PlaywrightAdapter.js +382 -0
  129. package/dist/src/infrastructure/adapters/SSHAdapter.d.ts +141 -0
  130. package/dist/src/infrastructure/adapters/SSHAdapter.js +428 -0
  131. package/dist/src/interfaces.d.ts +501 -0
  132. package/dist/src/interfaces.js +25 -0
  133. package/dist/src/internal/fakes/__fake-actions__.d.ts +17 -0
  134. package/dist/src/internal/fakes/__fake-actions__.js +21 -0
  135. package/dist/src/internal/fakes/__forbidden__.d.ts +10 -0
  136. package/dist/src/internal/fakes/__forbidden__.js +18 -0
  137. package/dist/src/internal/fakes/__honeypot__.d.ts +15 -0
  138. package/dist/src/internal/fakes/__honeypot__.js +24 -0
  139. package/dist/src/octane/OctaneReporter.d.ts +13 -0
  140. package/dist/src/octane/OctaneReporter.js +61 -0
  141. package/dist/src/playwright/CryptoActions.d.ts +20 -0
  142. package/dist/src/playwright/CryptoActions.js +75 -0
  143. package/dist/src/playwright/EnhancedWebActions.d.ts +7 -0
  144. package/dist/src/playwright/EnhancedWebActions.js +65 -0
  145. package/dist/src/playwright/WebActions.d.ts +1599 -0
  146. package/dist/src/playwright/WebActions.js +11788 -0
  147. package/dist/src/playwright/actions/ActionTimeline.d.ts +36 -0
  148. package/dist/src/playwright/actions/ActionTimeline.js +101 -0
  149. package/dist/src/playwright/actions/RecoveryQueue.d.ts +82 -0
  150. package/dist/src/playwright/actions/RecoveryQueue.js +130 -0
  151. package/dist/src/playwright/actions/SelectorCache.d.ts +53 -0
  152. package/dist/src/playwright/actions/SelectorCache.js +96 -0
  153. package/dist/src/playwright/actions/index.d.ts +13 -0
  154. package/dist/src/playwright/actions/index.js +14 -0
  155. package/dist/src/playwright/actions/types.d.ts +147 -0
  156. package/dist/src/playwright/actions/types.js +5 -0
  157. package/dist/src/playwright/fixtures.d.ts +112 -0
  158. package/dist/src/playwright/fixtures.js +718 -0
  159. package/dist/src/playwright/network-logs-reporter.d.ts +7 -0
  160. package/dist/src/playwright/network-logs-reporter.js +66 -0
  161. package/dist/src/playwright/registerRecoveryWrappers.d.ts +1 -0
  162. package/dist/src/playwright/registerRecoveryWrappers.js +54 -0
  163. package/dist/src/security/BuildSecurity.d.ts +12 -0
  164. package/dist/src/security/BuildSecurity.js +138 -0
  165. package/dist/src/security/EulaProtection.d.ts +70 -0
  166. package/dist/src/security/EulaProtection.js +155 -0
  167. package/dist/src/security/HoneypotManager.d.ts +46 -0
  168. package/dist/src/security/HoneypotManager.js +234 -0
  169. package/dist/src/security/KeysManager.d.ts +36 -0
  170. package/dist/src/security/KeysManager.js +158 -0
  171. package/dist/src/security/ProofOfWorkIntegration.d.ts +64 -0
  172. package/dist/src/security/ProofOfWorkIntegration.js +206 -0
  173. package/dist/src/security/SecurityValidation.d.ts +21 -0
  174. package/dist/src/security/SecurityValidation.js +163 -0
  175. package/dist/src/security/SourceMapProtection.d.ts +55 -0
  176. package/dist/src/security/SourceMapProtection.js +220 -0
  177. package/dist/src/security/protector.d.ts +1 -0
  178. package/dist/src/security/protector.js +97 -0
  179. package/dist/src/ssh/SSHActions.d.ts +262 -0
  180. package/dist/src/ssh/SSHActions.js +790 -0
  181. package/dist/src/ssh/SSHClient.d.ts +99 -0
  182. package/dist/src/ssh/SSHClient.js +409 -0
  183. package/dist/src/statements/BaseStatement.d.ts +38 -0
  184. package/dist/src/statements/BaseStatement.js +78 -0
  185. package/dist/src/testContext/AuthStateManager.d.ts +93 -0
  186. package/dist/src/testContext/AuthStateManager.js +256 -0
  187. package/dist/src/testContext/CoverageManager.d.ts +198 -0
  188. package/dist/src/testContext/CoverageManager.js +917 -0
  189. package/dist/src/testContext/TestAnnotations.d.ts +476 -0
  190. package/dist/src/testContext/TestAnnotations.js +2647 -0
  191. package/dist/src/testContext/TestContext.d.ts +138 -0
  192. package/dist/src/testContext/TestContext.js +369 -0
  193. package/dist/src/testContext/UnifiedHtmlGenerator.d.ts +7 -0
  194. package/dist/src/testContext/UnifiedHtmlGenerator.js +264 -0
  195. package/dist/src/testContext/UnifiedReportManager.d.ts +211 -0
  196. package/dist/src/testContext/UnifiedReportManager.js +1206 -0
  197. package/dist/src/testhub/DynamicConfigManager.d.ts +121 -0
  198. package/dist/src/testhub/DynamicConfigManager.js +320 -0
  199. package/dist/src/testhub/SystemsManager.d.ts +119 -0
  200. package/dist/src/testhub/SystemsManager.js +365 -0
  201. package/dist/src/testhub/TestHubClient.d.ts +335 -0
  202. package/dist/src/testhub/TestHubClient.js +1215 -0
  203. package/dist/src/testhub/TestHubReporter.d.ts +62 -0
  204. package/dist/src/testhub/TestHubReporter.js +576 -0
  205. package/dist/src/testhub/TestHubVars.d.ts +116 -0
  206. package/dist/src/testhub/TestHubVars.js +273 -0
  207. package/dist/src/utils/ActionInterceptor.d.ts +59 -0
  208. package/dist/src/utils/ActionInterceptor.js +741 -0
  209. package/dist/src/utils/ArtifactsCompressor.d.ts +43 -0
  210. package/dist/src/utils/ArtifactsCompressor.js +181 -0
  211. package/dist/src/utils/AutoLogsFinal.d.ts +47 -0
  212. package/dist/src/utils/AutoLogsFinal.js +148 -0
  213. package/dist/src/utils/CodeGenSession.d.ts +114 -0
  214. package/dist/src/utils/CodeGenSession.js +264 -0
  215. package/dist/src/utils/ConfigLogger.d.ts +133 -0
  216. package/dist/src/utils/ConfigLogger.js +611 -0
  217. package/dist/src/utils/CustomReporter.d.ts +22 -0
  218. package/dist/src/utils/CustomReporter.js +352 -0
  219. package/dist/src/utils/DataStore.d.ts +171 -0
  220. package/dist/src/utils/DataStore.js +484 -0
  221. package/dist/src/utils/DatabaseInterceptor.d.ts +19 -0
  222. package/dist/src/utils/DatabaseInterceptor.js +295 -0
  223. package/dist/src/utils/DateHelper.d.ts +16 -0
  224. package/dist/src/utils/DateHelper.js +120 -0
  225. package/dist/src/utils/DateValidator.d.ts +4 -0
  226. package/dist/src/utils/DateValidator.js +51 -0
  227. package/dist/src/utils/DocumentGenerator.d.ts +35 -0
  228. package/dist/src/utils/DocumentGenerator.js +129 -0
  229. package/dist/src/utils/EvidenceCapture.d.ts +90 -0
  230. package/dist/src/utils/EvidenceCapture.js +600 -0
  231. package/dist/src/utils/EvidenceReportGenerator.d.ts +70 -0
  232. package/dist/src/utils/EvidenceReportGenerator.js +799 -0
  233. package/dist/src/utils/FrameManagementUtil.d.ts +42 -0
  234. package/dist/src/utils/FrameManagementUtil.js +75 -0
  235. package/dist/src/utils/GlobalStatementsInterceptor.d.ts +1 -0
  236. package/dist/src/utils/GlobalStatementsInterceptor.js +1 -0
  237. package/dist/src/utils/HTMLTemplate.d.ts +1 -0
  238. package/dist/src/utils/HTMLTemplate.js +1034 -0
  239. package/dist/src/utils/InterceptacaoMagica.d.ts +23 -0
  240. package/dist/src/utils/InterceptacaoMagica.js +365 -0
  241. package/dist/src/utils/LogSanitizer.d.ts +35 -0
  242. package/dist/src/utils/LogSanitizer.js +110 -0
  243. package/dist/src/utils/Logger.d.ts +65 -0
  244. package/dist/src/utils/Logger.js +284 -0
  245. package/dist/src/utils/McpLocalClient.d.ts +141 -0
  246. package/dist/src/utils/McpLocalClient.js +871 -0
  247. package/dist/src/utils/PDFEvidenceGenerator.d.ts +20 -0
  248. package/dist/src/utils/PDFEvidenceGenerator.js +156 -0
  249. package/dist/src/utils/SpecFileAnalyzer.d.ts +35 -0
  250. package/dist/src/utils/SpecFileAnalyzer.js +209 -0
  251. package/dist/src/utils/StatementInterceptor.d.ts +18 -0
  252. package/dist/src/utils/StatementInterceptor.js +87 -0
  253. package/dist/src/utils/StatementLogger.d.ts +33 -0
  254. package/dist/src/utils/StatementLogger.js +113 -0
  255. package/dist/src/utils/StatementsInterceptor.d.ts +1 -0
  256. package/dist/src/utils/StatementsInterceptor.js +1 -0
  257. package/dist/src/utils/TeamsFlushHook.d.ts +17 -0
  258. package/dist/src/utils/TeamsFlushHook.js +168 -0
  259. package/dist/src/utils/TerminalLogCapture.d.ts +158 -0
  260. package/dist/src/utils/TerminalLogCapture.js +531 -0
  261. package/dist/src/utils/TestMethodLogger.d.ts +70 -0
  262. package/dist/src/utils/TestMethodLogger.js +95 -0
  263. package/dist/src/utils/UnifiedTeardown.d.ts +4 -0
  264. package/dist/src/utils/UnifiedTeardown.js +400 -0
  265. package/dist/src/utils/XPathCatalog.d.ts +152 -0
  266. package/dist/src/utils/XPathCatalog.js +350 -0
  267. package/dist/src/utils/generators.d.ts +90 -0
  268. package/dist/src/utils/generators.js +167 -0
  269. package/dist/src/utils/testRecovery/ResilientPlaywright.d.ts +152 -0
  270. package/dist/src/utils/testRecovery/ResilientPlaywright.js +715 -0
  271. package/dist/src/utils/testRecovery/TestRecoveryClient.d.ts +801 -0
  272. package/dist/src/utils/testRecovery/TestRecoveryClient.js +1415 -0
  273. package/dist/src/utils/testRecovery/autoFixCode.d.ts +65 -0
  274. package/dist/src/utils/testRecovery/autoFixCode.js +32 -0
  275. package/dist/vitest.config.d.ts +2 -0
  276. package/dist/vitest.config.js +59 -0
  277. package/dist/wdio.conf.d.ts +1 -0
  278. package/dist/wdio.conf.js +420 -0
  279. package/package.json +137 -0
  280. package/protect-loader.mjs +643 -0
  281. package/scripts/consumer-postinstall.ts +975 -0
  282. package/scripts/generate-index.ts +343 -0
  283. package/scripts/init-api.ts +613 -0
  284. package/scripts/init-banco.ts +437 -0
  285. package/scripts/init-frontend.ts +727 -0
  286. package/scripts/init-mobile.ts +558 -0
  287. package/scripts/init-scenarios.ts +925 -0
  288. package/scripts/init-ssh.ts +734 -0
  289. package/scripts/package-versions.ts +978 -0
  290. package/scripts/postinstall.ts +605 -0
  291. package/scripts/smart-override.ts +1675 -0
  292. package/scripts/sync-configs.ts +302 -0
  293. package/scripts/ultracite-setup.ts +370 -0
  294. package/src/types/globals.d.ts +48 -0
  295. package/tsconfig.json +29 -0
  296. package/types/autocore-sync-signal.d.ts +10 -0
@@ -0,0 +1,501 @@
1
+ /**
2
+ * Interfaces unificadas para evitar carregamento direto do Playwright
3
+ * ATUALIZADO: Expandido para suportar todos os contextos de teste
4
+ */
5
+ /**
6
+ * Interface que representa um ElementHandle do Playwright
7
+ */
8
+ export interface IElementHandle {
9
+ boundingBox: () => Promise<{
10
+ x: number;
11
+ y: number;
12
+ width: number;
13
+ height: number;
14
+ } | null>;
15
+ evaluate: <R = unknown>(pageFunction: string | ((...args: any[]) => R | Promise<R>), arg?: unknown) => Promise<R>;
16
+ dispose: () => Promise<void>;
17
+ contentFrame: () => Promise<IFrame | null>;
18
+ getAttribute: (name: string) => Promise<string | null>;
19
+ click: (options?: Record<string, unknown>) => Promise<void>;
20
+ scrollIntoViewIfNeeded: (options?: Record<string, unknown>) => Promise<void>;
21
+ }
22
+ /**
23
+ * Interface que representa um Frame do Playwright
24
+ */
25
+ export interface IFrame {
26
+ locator: (selector: string) => ILocator;
27
+ url: () => string;
28
+ name: () => string;
29
+ goto: (url: string, options?: Record<string, unknown>) => Promise<Response | null>;
30
+ waitForSelector: (selector: string, options?: Record<string, unknown>) => Promise<unknown>;
31
+ evaluate: <R = unknown>(pageFunction: string | ((...args: any[]) => R | Promise<R>), arg?: unknown) => Promise<R>;
32
+ content: () => Promise<string>;
33
+ title: () => Promise<string>;
34
+ }
35
+ /**
36
+ * Interface que representa uma página do browser
37
+ * Compatível com Playwright Page mas sem dependência direta
38
+ */
39
+ export interface IPage {
40
+ goto: (url: string, options?: Record<string, unknown>) => Promise<Response | null>;
41
+ locator: (selector: string) => ILocator;
42
+ getByRole: (role: string, options?: Record<string, unknown>) => ILocator;
43
+ getByText: (text: string, options?: Record<string, unknown>) => ILocator;
44
+ getByLabel: (label: string, options?: Record<string, unknown>) => ILocator;
45
+ getByPlaceholder: (placeholder: string, options?: Record<string, unknown>) => ILocator;
46
+ getByTestId: (testId: string) => ILocator;
47
+ waitForSelector: (selector: string, options?: Record<string, unknown>) => Promise<unknown>;
48
+ waitForLoadState: (state: string, options?: Record<string, unknown>) => Promise<void>;
49
+ waitForNavigation(options?: Record<string, unknown>): Promise<Response | null>;
50
+ waitForURL: (url: string | RegExp, options?: Record<string, unknown>) => Promise<void>;
51
+ waitForTimeout: (timeout: number) => Promise<void>;
52
+ screenshot: (options?: Record<string, unknown>) => Promise<Buffer>;
53
+ reload: (options?: Record<string, unknown>) => Promise<Response | null>;
54
+ goBack: (options?: Record<string, unknown>) => Promise<Response | null>;
55
+ goForward: (options?: Record<string, unknown>) => Promise<Response | null>;
56
+ title: () => Promise<string>;
57
+ url: () => string;
58
+ content: () => Promise<string>;
59
+ setContent: (html: string, options?: Record<string, unknown>) => Promise<void>;
60
+ setViewportSize: (viewportSize: {
61
+ width: number;
62
+ height: number;
63
+ }) => Promise<void>;
64
+ viewportSize: () => {
65
+ width: number;
66
+ height: number;
67
+ } | null;
68
+ evaluate: <R = unknown>(pageFunction: string | ((...args: any[]) => R | Promise<R>), arg?: unknown) => Promise<R>;
69
+ evaluateHandle: <R = unknown>(pageFunction: string | ((...args: any[]) => R | Promise<R>), arg?: unknown) => Promise<R>;
70
+ addScriptTag: (options: {
71
+ url?: string;
72
+ path?: string;
73
+ content?: string;
74
+ type?: string;
75
+ }) => Promise<unknown>;
76
+ addStyleTag: (options: {
77
+ url?: string;
78
+ path?: string;
79
+ content?: string;
80
+ }) => Promise<unknown>;
81
+ exposeFunction: (name: string, callback: (...args: unknown[]) => unknown) => Promise<void>;
82
+ setDefaultTimeout: (timeout: number) => void;
83
+ setDefaultNavigationTimeout: (timeout: number) => void;
84
+ keyboard: {
85
+ press: (key: string, options?: Record<string, unknown>) => Promise<void>;
86
+ down: (key: string, options?: Record<string, unknown>) => Promise<void>;
87
+ up: (key: string, options?: Record<string, unknown>) => Promise<void>;
88
+ type: (text: string, options?: Record<string, unknown>) => Promise<void>;
89
+ insertText: (text: string) => Promise<void>;
90
+ };
91
+ mouse: {
92
+ click: (x: number, y: number, options?: Record<string, unknown>) => Promise<void>;
93
+ dblclick: (x: number, y: number, options?: Record<string, unknown>) => Promise<void>;
94
+ down: (options?: Record<string, unknown>) => Promise<void>;
95
+ up: (options?: Record<string, unknown>) => Promise<void>;
96
+ move: (x: number, y: number, options?: Record<string, unknown>) => Promise<void>;
97
+ wheel: (deltaX: number, deltaY: number) => Promise<void>;
98
+ };
99
+ dblclick: (selector: string | ILocator, options?: Record<string, unknown>) => Promise<void>;
100
+ close: (options?: Record<string, unknown>) => Promise<void>;
101
+ isClosed: () => boolean;
102
+ context: () => unknown;
103
+ frame: (options: string | {
104
+ name?: string;
105
+ url?: string | RegExp;
106
+ }) => IFrame | null;
107
+ frames: () => IFrame[];
108
+ mainFrame: () => IFrame;
109
+ opener: () => Promise<IPage | null>;
110
+ pdf: (options?: Record<string, unknown>) => Promise<Buffer>;
111
+ route: (url: string | RegExp, handler: (route: unknown, request: unknown) => Promise<void> | void) => Promise<void>;
112
+ unroute: (url: string | RegExp, handler?: (route: unknown, request: unknown) => Promise<void> | void) => Promise<void>;
113
+ setExtraHTTPHeaders: (headers: Record<string, string>) => Promise<void>;
114
+ emulateMedia: (options?: Record<string, unknown>) => Promise<void>;
115
+ setGeolocation: (geolocation: {
116
+ latitude: number;
117
+ longitude: number;
118
+ accuracy?: number;
119
+ }) => Promise<void>;
120
+ dragAndDrop: (source: string, target: string, options?: Record<string, unknown>) => Promise<void>;
121
+ coverage?: {
122
+ startJSCoverage: (options?: {
123
+ resetOnNavigation?: boolean;
124
+ includeRawScriptCoverage?: boolean;
125
+ }) => Promise<void>;
126
+ stopJSCoverage: () => Promise<unknown[]>;
127
+ startCSSCoverage: (options?: {
128
+ resetOnNavigation?: boolean;
129
+ }) => Promise<void>;
130
+ stopCSSCoverage: () => Promise<unknown[]>;
131
+ };
132
+ }
133
+ /**
134
+ * Interface que representa um locator de elemento
135
+ * Compatível com Playwright Locator mas sem dependência direta
136
+ */
137
+ export interface ILocator {
138
+ click: (options?: Record<string, unknown>) => Promise<void>;
139
+ dblclick: (options?: Record<string, unknown>) => Promise<void>;
140
+ fill: (value: string, options?: Record<string, unknown>) => Promise<void>;
141
+ clear: (options?: Record<string, unknown>) => Promise<void>;
142
+ type: (text: string, options?: Record<string, unknown>) => Promise<void>;
143
+ press: (key: string, options?: Record<string, unknown>) => Promise<void>;
144
+ check: (options?: Record<string, unknown>) => Promise<void>;
145
+ uncheck: (options?: Record<string, unknown>) => Promise<void>;
146
+ setChecked: (checked: boolean, options?: Record<string, unknown>) => Promise<void>;
147
+ selectOption: (values: string | string[] | {
148
+ value?: string;
149
+ label?: string;
150
+ index?: number;
151
+ }, options?: Record<string, unknown>) => Promise<string[]>;
152
+ selectText: (options?: Record<string, unknown>) => Promise<void>;
153
+ setInputFiles: (files: string | string[] | {
154
+ name: string;
155
+ mimeType: string;
156
+ buffer: Buffer;
157
+ }, options?: Record<string, unknown>) => Promise<void>;
158
+ focus: (options?: Record<string, unknown>) => Promise<void>;
159
+ blur: () => Promise<void>;
160
+ tap: (options?: Record<string, unknown>) => Promise<void>;
161
+ dragTo: (target: ILocator, options?: Record<string, unknown>) => Promise<void>;
162
+ hover: (options?: Record<string, unknown>) => Promise<void>;
163
+ screenshot: (options?: Record<string, unknown>) => Promise<Buffer>;
164
+ scrollIntoViewIfNeeded: (options?: Record<string, unknown>) => Promise<void>;
165
+ waitFor: (options?: Record<string, unknown>) => Promise<void>;
166
+ isVisible: (options?: Record<string, unknown>) => Promise<boolean>;
167
+ isHidden: (options?: Record<string, unknown>) => Promise<boolean>;
168
+ isEnabled: (options?: Record<string, unknown>) => Promise<boolean>;
169
+ isDisabled: (options?: Record<string, unknown>) => Promise<boolean>;
170
+ isEditable: (options?: Record<string, unknown>) => Promise<boolean>;
171
+ isChecked: (options?: Record<string, unknown>) => Promise<boolean>;
172
+ textContent: (options?: Record<string, unknown>) => Promise<string | null>;
173
+ innerText: (options?: Record<string, unknown>) => Promise<string>;
174
+ innerHTML: (options?: Record<string, unknown>) => Promise<string>;
175
+ inputValue: (options?: Record<string, unknown>) => Promise<string>;
176
+ getAttribute: (name: string, options?: Record<string, unknown>) => Promise<string | null>;
177
+ locator: (selector: string) => ILocator;
178
+ getByRole: (role: string, options?: Record<string, unknown>) => ILocator;
179
+ getByText: (text: string, options?: Record<string, unknown>) => ILocator;
180
+ getByLabel: (label: string, options?: Record<string, unknown>) => ILocator;
181
+ getByPlaceholder: (placeholder: string, options?: Record<string, unknown>) => ILocator;
182
+ getByTestId: (testId: string) => ILocator;
183
+ filter: (options: Record<string, unknown>) => ILocator;
184
+ first: () => ILocator;
185
+ last: () => ILocator;
186
+ nth: (index: number) => ILocator;
187
+ count: () => Promise<number>;
188
+ all: () => Promise<ILocator[]>;
189
+ allTextContents: () => Promise<string[]>;
190
+ allInnerTexts: () => Promise<string[]>;
191
+ evaluate: <R = unknown>(pageFunction: string | ((...args: any[]) => R | Promise<R>), arg?: unknown) => Promise<R>;
192
+ evaluateAll: <R = unknown>(pageFunction: string | ((...args: any[]) => R | Promise<R>), arg?: unknown) => Promise<R>;
193
+ highlight: () => Promise<void>;
194
+ boundingBox: () => Promise<{
195
+ x: number;
196
+ y: number;
197
+ width: number;
198
+ height: number;
199
+ } | null>;
200
+ page: () => IPage;
201
+ elementHandle: () => Promise<IElementHandle | null>;
202
+ elementHandles: () => Promise<IElementHandle[]>;
203
+ }
204
+ /**
205
+ * NOVO: Interface para contexto de API
206
+ */
207
+ export interface IAPIRequestContext {
208
+ get: (url: string, options?: Record<string, unknown>) => Promise<IAPIResponse>;
209
+ post: (url: string, options?: Record<string, unknown>) => Promise<IAPIResponse>;
210
+ put: (url: string, options?: Record<string, unknown>) => Promise<IAPIResponse>;
211
+ patch: (url: string, options?: Record<string, unknown>) => Promise<IAPIResponse>;
212
+ delete: (url: string, options?: Record<string, unknown>) => Promise<IAPIResponse>;
213
+ head: (url: string, options?: Record<string, unknown>) => Promise<IAPIResponse>;
214
+ fetch: (urlOrRequest: string | Request, options?: Record<string, unknown>) => Promise<IAPIResponse>;
215
+ storageState: (options?: Record<string, unknown>) => Promise<unknown>;
216
+ dispose: () => Promise<void>;
217
+ }
218
+ /**
219
+ * NOVO: Interface para Response de API
220
+ */
221
+ export interface IAPIResponse {
222
+ ok: () => boolean;
223
+ status: () => number;
224
+ statusText: () => string;
225
+ url: () => string;
226
+ headers: () => Record<string, string>;
227
+ headersArray: () => Array<{
228
+ name: string;
229
+ value: string;
230
+ }>;
231
+ json: () => Promise<unknown>;
232
+ text: () => Promise<string>;
233
+ body: () => Promise<Buffer>;
234
+ dispose: () => Promise<void>;
235
+ }
236
+ /**
237
+ * NOVO: Interface para driver Mobile (Appium)
238
+ */
239
+ export interface IMobileDriver {
240
+ $: (selector: string) => Promise<IMobileElement>;
241
+ $$: (selector: string) => Promise<IMobileElement[]>;
242
+ findElement: (strategy: string, selector: string) => Promise<IMobileElement>;
243
+ findElements: (strategy: string, selector: string) => Promise<IMobileElement[]>;
244
+ executeScript: (script: string, args?: unknown[]) => Promise<unknown>;
245
+ getPageSource: () => Promise<string>;
246
+ getScreenshot: () => Promise<string>;
247
+ swipe: (startX: number, startY: number, endX: number, endY: number, duration?: number) => Promise<void>;
248
+ touchAction: (actions: Record<string, unknown> | Record<string, unknown>[]) => Promise<void>;
249
+ switchContext: (context: string) => Promise<void>;
250
+ getContexts: () => Promise<string[]>;
251
+ getCurrentContext: () => Promise<string>;
252
+ getOrientation: () => Promise<string>;
253
+ setOrientation: (orientation: string) => Promise<void>;
254
+ getWindowSize: () => Promise<{
255
+ width: number;
256
+ height: number;
257
+ }>;
258
+ setWindowSize: (width: number, height: number) => Promise<void>;
259
+ background: (seconds: number) => Promise<void>;
260
+ isAppInstalled: (bundleId: string) => Promise<boolean>;
261
+ installApp: (appPath: string) => Promise<void>;
262
+ removeApp: (bundleId: string) => Promise<void>;
263
+ launchApp: () => Promise<void>;
264
+ closeApp: () => Promise<void>;
265
+ reset: () => Promise<void>;
266
+ lock: (seconds?: number) => Promise<void>;
267
+ unlock: () => Promise<void>;
268
+ isLocked: () => Promise<boolean>;
269
+ startActivity: (appPackage: string, appActivity: string) => Promise<void>;
270
+ getCurrentActivity: () => Promise<string>;
271
+ getCurrentPackage: () => Promise<string>;
272
+ pressKeyCode: (keyCode: number) => Promise<void>;
273
+ hideKeyboard: () => Promise<void>;
274
+ isKeyboardShown: () => Promise<boolean>;
275
+ pullFile: (path: string) => Promise<string>;
276
+ pushFile: (path: string, data: string) => Promise<void>;
277
+ getDeviceTime: () => Promise<string>;
278
+ openNotifications: () => Promise<void>;
279
+ shake: () => Promise<void>;
280
+ performTouchAction: (action: Record<string, unknown>) => Promise<void>;
281
+ performActions: (actions: Record<string, unknown>[]) => Promise<void>;
282
+ releaseActions: () => Promise<void>;
283
+ getClipboard: () => Promise<string>;
284
+ setClipboard: (content: string) => Promise<void>;
285
+ }
286
+ /**
287
+ * NOVO: Interface para elemento Mobile
288
+ */
289
+ export interface IMobileElement {
290
+ click: () => Promise<void>;
291
+ clear: () => Promise<void>;
292
+ sendKeys: (text: string) => Promise<void>;
293
+ getText: () => Promise<string>;
294
+ getAttribute: (name: string) => Promise<string | null>;
295
+ getSize: () => Promise<{
296
+ width: number;
297
+ height: number;
298
+ }>;
299
+ getLocation: () => Promise<{
300
+ x: number;
301
+ y: number;
302
+ }>;
303
+ isDisplayed: () => Promise<boolean>;
304
+ isEnabled: () => Promise<boolean>;
305
+ isSelected: () => Promise<boolean>;
306
+ waitForDisplayed: (options?: Record<string, unknown>) => Promise<void>;
307
+ waitForEnabled: (options?: Record<string, unknown>) => Promise<void>;
308
+ waitForExist: (options?: Record<string, unknown>) => Promise<void>;
309
+ waitForClickable: (options?: Record<string, unknown>) => Promise<void>;
310
+ tap: () => Promise<void>;
311
+ doubleClick: () => Promise<void>;
312
+ touchAction: (action: Record<string, unknown> | Record<string, unknown>[]) => Promise<void>;
313
+ setValue: (value: string) => Promise<void>;
314
+ addValue: (value: string) => Promise<void>;
315
+ selectByVisibleText: (text: string) => Promise<void>;
316
+ selectByAttribute: (attribute: string, value: string) => Promise<void>;
317
+ selectByIndex: (index: number) => Promise<void>;
318
+ scrollIntoView: () => Promise<void>;
319
+ moveTo: () => Promise<void>;
320
+ dragAndDrop: (target: IMobileElement) => Promise<void>;
321
+ screenshot: () => Promise<string>;
322
+ }
323
+ /**
324
+ * NOVO: Interface para conexão SSH
325
+ */
326
+ export interface ISSHConnection {
327
+ connect: (config: Record<string, unknown>) => Promise<void>;
328
+ exec: (command: string, callback: (err: Error | null, stream: ISSHStream) => void) => void;
329
+ end: () => void;
330
+ on: (event: string, listener: (...args: unknown[]) => void) => ISSHConnection;
331
+ }
332
+ /**
333
+ * NOVO: Interface para stream SSH
334
+ */
335
+ export interface ISSHStream {
336
+ on: (event: string, listener: (...args: unknown[]) => void) => ISSHStream;
337
+ stderr: {
338
+ on: (event: string, listener: (...args: unknown[]) => void) => void;
339
+ };
340
+ }
341
+ /**
342
+ * NOVO: Interface para conexão de banco de dados
343
+ */
344
+ export interface IDatabaseConnection {
345
+ execute: (sql: string, binds?: Record<string, unknown>, options?: Record<string, unknown>) => Promise<IDatabaseResult>;
346
+ close: () => Promise<void>;
347
+ }
348
+ /**
349
+ * NOVO: Interface para resultado de query de banco
350
+ */
351
+ export interface IDatabaseResult {
352
+ rows?: unknown[];
353
+ rowsAffected?: number;
354
+ metaData?: Array<{
355
+ name: string;
356
+ }>;
357
+ outBinds?: Record<string, unknown>;
358
+ }
359
+ /**
360
+ * NOVO: Interface para configuração de teste unificado
361
+ */
362
+ export interface ITestConfig {
363
+ testName: string;
364
+ testType: 'API' | 'Frontend' | 'Mobile' | 'SSH' | 'Banco' | 'Mixed';
365
+ testInfo?: Record<string, unknown>;
366
+ metadata?: {
367
+ description?: string;
368
+ tags?: string[];
369
+ priority?: 'low' | 'medium' | 'high' | 'critical';
370
+ timeout?: number;
371
+ retries?: number;
372
+ [key: string]: unknown;
373
+ };
374
+ }
375
+ /**
376
+ * NOVO: Interface para contexto de execução
377
+ */
378
+ export interface IExecutionContext {
379
+ page?: IPage;
380
+ apiContext?: IAPIRequestContext;
381
+ mobileDriver?: IMobileDriver;
382
+ sshConnection?: ISSHConnection;
383
+ dbConnection?: IDatabaseConnection;
384
+ testConfig?: ITestConfig;
385
+ startTime?: Date;
386
+ endTime?: Date;
387
+ logs?: string[];
388
+ screenshots?: Buffer[];
389
+ errors?: string[];
390
+ warnings?: string[];
391
+ }
392
+ /**
393
+ * NOVO: Interface para relatório unificado
394
+ */
395
+ export interface IUnifiedReport {
396
+ testName: string;
397
+ testType: 'API' | 'Frontend' | 'Mobile' | 'SSH' | 'Banco' | 'Mixed';
398
+ result: 'PASS' | 'FAIL' | 'SKIP';
399
+ duration: number;
400
+ timestamp: Date;
401
+ logs: string[];
402
+ screenshots: string[];
403
+ errors: string[];
404
+ warnings: string[];
405
+ metadata: {
406
+ requests?: number;
407
+ validations?: number;
408
+ interactions?: number;
409
+ [key: string]: unknown;
410
+ };
411
+ }
412
+ /**
413
+ * NOVO: Interface para métricas de performance
414
+ */
415
+ export interface IPerformanceMetrics {
416
+ testType: string;
417
+ totalTests: number;
418
+ passedTests: number;
419
+ failedTests: number;
420
+ skippedTests: number;
421
+ totalDuration: number;
422
+ averageDuration: number;
423
+ minDuration: number;
424
+ maxDuration: number;
425
+ requestsCount?: number;
426
+ screenshotsCount?: number;
427
+ errorsCount?: number;
428
+ warningsCount?: number;
429
+ }
430
+ /**
431
+ * NOVO: Type guards para verificação de tipos
432
+ */
433
+ export declare function isIPage(obj: unknown): obj is IPage;
434
+ export declare function isILocator(obj: unknown): obj is ILocator;
435
+ export declare function isIAPIRequestContext(obj: unknown): obj is IAPIRequestContext;
436
+ export declare function isIMobileDriver(obj: unknown): obj is IMobileDriver;
437
+ export declare function isISSHConnection(obj: unknown): obj is ISSHConnection;
438
+ export declare function isIDatabaseConnection(obj: unknown): obj is IDatabaseConnection;
439
+ /**
440
+ * NOVO: Types auxiliares para melhor tipagem
441
+ */
442
+ export type TestType = 'API' | 'Frontend' | 'Mobile' | 'SSH' | 'Banco' | 'Mixed';
443
+ export type TestResult = 'PASS' | 'FAIL' | 'SKIP';
444
+ export type LogLevel = 'debug' | 'info' | 'warning' | 'error';
445
+ export type TestPriority = 'low' | 'medium' | 'high' | 'critical';
446
+ /**
447
+ * NOVO: Utility types para configurações avançadas
448
+ */
449
+ export type Awaitable<T> = T | Promise<T>;
450
+ export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
451
+ export type Required<T, K extends keyof T> = T & {
452
+ [P in K]-?: T[P];
453
+ };
454
+ /**
455
+ * NOVO: Interface para callbacks de teste
456
+ */
457
+ export interface ITestCallbacks {
458
+ onStart?: (context: IExecutionContext) => Awaitable<void>;
459
+ onEnd?: (context: IExecutionContext, result: TestResult) => Awaitable<void>;
460
+ onError?: (context: IExecutionContext, error: Error) => Awaitable<void>;
461
+ onStep?: (context: IExecutionContext, step: string) => Awaitable<void>;
462
+ onScreenshot?: (context: IExecutionContext, screenshot: Buffer) => Awaitable<void>;
463
+ onLog?: (context: IExecutionContext, message: string, level: LogLevel) => Awaitable<void>;
464
+ }
465
+ /**
466
+ * NOVO: Interface para configuração global do framework
467
+ */
468
+ export interface IFrameworkConfig {
469
+ projectType?: TestType;
470
+ defaultTimeout?: number;
471
+ defaultRetries?: number;
472
+ screenshotOnFailure?: boolean;
473
+ videoOnFailure?: boolean;
474
+ traceOnFailure?: boolean;
475
+ reportFormats?: string[];
476
+ logLevel?: LogLevel;
477
+ parallelTests?: boolean;
478
+ maxWorkers?: number;
479
+ baseURL?: string;
480
+ apiBaseURLs?: Record<string, string>;
481
+ mobileConfig?: {
482
+ platformName?: string;
483
+ deviceName?: string;
484
+ app?: string;
485
+ appPackage?: string;
486
+ appActivity?: string;
487
+ };
488
+ sshConfig?: {
489
+ host?: string;
490
+ port?: number;
491
+ username?: string;
492
+ privateKeyPath?: string;
493
+ };
494
+ databaseConfig?: {
495
+ host?: string;
496
+ port?: number;
497
+ service?: string;
498
+ username?: string;
499
+ password?: string;
500
+ };
501
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Interfaces unificadas para evitar carregamento direto do Playwright
3
+ * ATUALIZADO: Expandido para suportar todos os contextos de teste
4
+ */
5
+ /**
6
+ * NOVO: Type guards para verificação de tipos
7
+ */
8
+ export function isIPage(obj) {
9
+ return (obj != null && typeof obj.goto === 'function' && typeof obj.locator === 'function');
10
+ }
11
+ export function isILocator(obj) {
12
+ return (obj != null && typeof obj.click === 'function' && typeof obj.fill === 'function');
13
+ }
14
+ export function isIAPIRequestContext(obj) {
15
+ return obj != null && typeof obj.get === 'function' && typeof obj.post === 'function';
16
+ }
17
+ export function isIMobileDriver(obj) {
18
+ return (obj != null && typeof obj.$ === 'function' && typeof obj.findElement === 'function');
19
+ }
20
+ export function isISSHConnection(obj) {
21
+ return (obj != null && typeof obj.connect === 'function' && typeof obj.exec === 'function');
22
+ }
23
+ export function isIDatabaseConnection(obj) {
24
+ return (obj != null && typeof obj.execute === 'function' && typeof obj.close === 'function');
25
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Fake Actions: canário para detectar reflexão automática de APIs
3
+ * Métodos que simulam a API real mas marcam uso suspeito
4
+ */
5
+ export declare function click(): void;
6
+ export declare function type(): void;
7
+ export declare function waitForElement(): void;
8
+ export declare function validateText(): boolean;
9
+ export declare function takeScreenshot(): void;
10
+ declare const _default: {
11
+ click: typeof click;
12
+ type: typeof type;
13
+ waitForElement: typeof waitForElement;
14
+ validateText: typeof validateText;
15
+ takeScreenshot: typeof takeScreenshot;
16
+ };
17
+ export default _default;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Fake Actions: canário para detectar reflexão automática de APIs
3
+ * Métodos que simulam a API real mas marcam uso suspeito
4
+ */
5
+ export function click() {
6
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
7
+ }
8
+ export function type() {
9
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
10
+ }
11
+ export function waitForElement() {
12
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
13
+ }
14
+ export function validateText() {
15
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
16
+ return false;
17
+ }
18
+ export function takeScreenshot() {
19
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
20
+ }
21
+ export default { click, type, waitForElement, validateText, takeScreenshot };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Honeypot: módulo falso para detectar uso automatizado
3
+ * Qualquer importação deste arquivo marca degradação imediata
4
+ */
5
+ export declare class ForbiddenActions {
6
+ static validateDashboard(): Promise<boolean>;
7
+ static navigateToSection(): Promise<void>;
8
+ static getSecretToken(): string;
9
+ }
10
+ export default ForbiddenActions;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Honeypot: módulo falso para detectar uso automatizado
3
+ * Qualquer importação deste arquivo marca degradação imediata
4
+ */
5
+ export class ForbiddenActions {
6
+ static async validateDashboard() {
7
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
8
+ return false;
9
+ }
10
+ static async navigateToSection() {
11
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
12
+ }
13
+ static getSecretToken() {
14
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
15
+ return '';
16
+ }
17
+ }
18
+ export default ForbiddenActions;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Honeypot: módulo falso para detectar uso automatizado
3
+ * Qualquer importação deste arquivo marca degradação imediata
4
+ */
5
+ export declare function validateDashboard(): boolean;
6
+ export declare function navigateToSection(): void;
7
+ export declare function getSecretToken(): string;
8
+ export declare function __honeypot__(): void;
9
+ declare const _default: {
10
+ validateDashboard: typeof validateDashboard;
11
+ navigateToSection: typeof navigateToSection;
12
+ getSecretToken: typeof getSecretToken;
13
+ __honeypot__: typeof __honeypot__;
14
+ };
15
+ export default _default;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Honeypot: módulo falso para detectar uso automatizado
3
+ * Qualquer importação deste arquivo marca degradação imediata
4
+ */
5
+ export function validateDashboard() {
6
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
7
+ return false;
8
+ }
9
+ export function navigateToSection() {
10
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
11
+ }
12
+ export function getSecretToken() {
13
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
14
+ return '';
15
+ }
16
+ export function __honeypot__() {
17
+ process.env.AUTOCORE_HONEYPOT_TRIPPED = 'true';
18
+ }
19
+ export default {
20
+ validateDashboard,
21
+ navigateToSection,
22
+ getSecretToken,
23
+ __honeypot__,
24
+ };
@@ -0,0 +1,13 @@
1
+ type Step = {
2
+ name: string;
3
+ status: string;
4
+ img?: string;
5
+ };
6
+ export declare function addScenarioToReport(featureName: string, scenarioName: string, octaneTag: string, steps: Step[], status: string): void;
7
+ export declare function saveReport(): void;
8
+ /**
9
+ * Envia o relatório octane-report.json para o endpoint do Octane/ALM
10
+ * Ignora validação SSL (inseguro, apenas para ambientes controlados)
11
+ */
12
+ export declare function sendReportToOctane(octaneUrl: string, clientId: string, clientSecret: string): Promise<void>;
13
+ export {};