@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,262 @@
1
+ import '../hubdocs/StatementTracker.js';
2
+ /**
3
+ * Classe principal de ações SSH, inspirada no padrão Java Actions.
4
+ * Permite executar comandos, ler saídas, validar resultados e registrar logs/unificados.
5
+ */
6
+ export declare class SSHActions {
7
+ /** Instância única de SSHClient para uso nas ações */
8
+ private static client;
9
+ private static inicioExecucao;
10
+ private static fimExecucao;
11
+ private static duracoes;
12
+ /**
13
+ * Conecta ao servidor SSH usando chave privada.
14
+ *
15
+ * 🆕 HOST e USERNAME vêm automaticamente do AutoCore Hub!
16
+ * A chave privada é o único parâmetro obrigatório.
17
+ *
18
+ * @param keyPath Caminho para a chave privada.
19
+ * @param options Opções para sobrescrever valores do Hub (opcional)
20
+ */
21
+ /**
22
+ * Conecta ao SSH usando chave privada relativa ao diretório do projeto.
23
+ *
24
+ * 🆕 HOST e USERNAME vêm automaticamente do AutoCore Hub!
25
+ * Basta chamar TestAnnotations.setSystem('SEU_SISTEMA') antes.
26
+ * A chave privada é o único parâmetro obrigatório (local).
27
+ *
28
+ * @param relativePath Caminho relativo à raiz do projeto (ex: 'secrets/key', './secrets/key')
29
+ * @param options Opções opcionais para sobrescrever valores do Hub
30
+ *
31
+ * @example
32
+ * // ✅ Simples - host/user vêm do Hub, só passa a chave
33
+ * await TestAnnotations.setSystem('SANITY_SSH')
34
+ * await SSHActions.connectWithKey('secrets/UserSistAutBRM')
35
+ *
36
+ * // ✅ Também funciona com ./
37
+ * await SSHActions.connectWithKey('./secrets/UserSistAutBRM')
38
+ *
39
+ * // ✅ Sobrescrevendo valores do Hub se necessário
40
+ * await SSHActions.connectWithKey('secrets/key', { host: 'outro-host.com' })
41
+ */
42
+ static connectWithKey(relativePath: string, options?: {
43
+ host?: string;
44
+ port?: number;
45
+ username?: string;
46
+ passphrase?: string;
47
+ }): Promise<void>;
48
+ /**
49
+ * 🆕 Conecta ao servidor SSH usando usuário e senha do AutoCore Hub.
50
+ * Chamado automaticamente pelo setSystem() quando PROJECT_TYPE=SSH.
51
+ *
52
+ * @param host Host do servidor SSH
53
+ * @param port Porta SSH (default: 22)
54
+ * @param username Usuário SSH
55
+ * @param password Senha SSH
56
+ *
57
+ * @example
58
+ * // Conexão manual com senha
59
+ * await SSHActions.conectarComSenha('servidor.com', 22, 'user', 'senha')
60
+ *
61
+ * // Ou use auto-conexão (recomendado):
62
+ * await SSHActions.autoConectar() // Usa credenciais do Hub
63
+ */
64
+ static connectWithPassword(host: string, port: number | undefined, username: string, password: string): Promise<void>;
65
+ /**
66
+ * 🆕 Auto-conexão SSH usando credenciais do AutoCore Hub.
67
+ * Usa as variáveis SSH_HOST, SSH_USER e SSH_PASSWORD injetadas pelo setSystem().
68
+ *
69
+ * @throws {IntegrationError} Se as credenciais não estiverem configuradas
70
+ *
71
+ * @example
72
+ * // No teste:
73
+ * test('CT01', async ({}, testInfo) => {
74
+ * TestAnnotations.SSH.testInfo = testInfo
75
+ * await TestAnnotations.setSystem('MEU_SISTEMA_SSH')
76
+ * await SSHActions.autoConnect() // 👈 Usa credenciais do Hub automaticamente
77
+ * await SSHActions.write('ls -la', 'Listar arquivos')
78
+ * })
79
+ */
80
+ static autoConnect(): Promise<void>;
81
+ /**
82
+ * 🆕 Verifica se o cliente SSH está conectado.
83
+ * @returns true se conectado, false caso contrário
84
+ */
85
+ static isConnected(): boolean;
86
+ /**
87
+ * 🆕 Garante que o cliente SSH está conectado, tentando auto-conexão se necessário.
88
+ * @param actionName Nome da ação para mensagens de erro
89
+ * @throws IntegrationError se não conseguir conectar
90
+ */
91
+ private static ensureConnected;
92
+ /**
93
+ * Desconecta do servidor SSH.
94
+ */
95
+ static desconectar(): Promise<void>;
96
+ /**
97
+ * Envia um comando SSH para o servidor remoto.
98
+ * @param command Comando SSH a ser enviado.
99
+ * @param descriptionToAction Descrição da ação, usada no relatório.
100
+ * @returns this
101
+ */
102
+ static write(command: string, descriptionToAction: string): Promise<typeof SSHActions>;
103
+ /**
104
+ * Envia um comando SSH e verifica o resultado do comando (usando "$?").
105
+ * @param command Comando SSH a ser enviado.
106
+ * @param descriptionToAction Descrição da ação, usada no relatório.
107
+ * @returns true se sucesso, false caso contrário.
108
+ */
109
+ static writeAndReturnCommand(command: string, descriptionToAction: string): Promise<boolean>;
110
+ /**
111
+ * Lê a saída do log do servidor remoto.
112
+ * @param descriptionToAction Descrição da ação, usada no relatório.
113
+ * @returns Saída do log como string.
114
+ */
115
+ static read(descriptionToAction: string): string;
116
+ /**
117
+ * Verifica a saída do comando enviado ao servidor remoto.
118
+ * @returns true se o comando foi executado com sucesso, false caso contrário.
119
+ */
120
+ static readOutputCommand(): Promise<boolean>;
121
+ /**
122
+ * Faz download de arquivo do servidor remoto para o caminho de destino especificado.
123
+ * @param sourcePath Caminho do arquivo no servidor remoto.
124
+ * @param destinyPath Caminho de destino para salvar o arquivo.
125
+ * @param descriptionToAction Descrição da ação, usada no relatório.
126
+ */
127
+ static download(sourcePath: string, destinyPath: string, descriptionToAction: string): Promise<void>;
128
+ /**
129
+ * Registra o início da execução e limpa o contexto SSH.
130
+ */
131
+ static registrarInicioExecucao(): void;
132
+ /**
133
+ * Registra o fim da execução.
134
+ */
135
+ static registrarFimExecucao(): void;
136
+ /**
137
+ * Registra um evento de log no contexto SSH.
138
+ * @param message Mensagem de log.
139
+ */
140
+ static logEvent(message: string): void;
141
+ /**
142
+ * Registra a duração de um teste SSH.
143
+ * @param nome Nome do teste.
144
+ * @param duracao Duração em milissegundos.
145
+ */
146
+ static registrarDuracaoDoTeste(nome: string, duracao: number): void;
147
+ /**
148
+ * Valida se a saída contém o texto esperado.
149
+ * @param output Saída do comando SSH.
150
+ * @param expected Texto esperado.
151
+ * @param message Mensagem descritiva da validação.
152
+ * @throws {Error} Se o texto não for encontrado.
153
+ */
154
+ static validateContains(output: string, expected: string, message: string): void;
155
+ /**
156
+ * Valida se a saída NÃO contém o texto especificado.
157
+ * @param output Saída do comando SSH.
158
+ * @param notExpected Texto que não deve estar presente.
159
+ * @param message Mensagem descritiva da validação.
160
+ * @throws {Error} Se o texto for encontrado.
161
+ */
162
+ static validateNotContains(output: string, notExpected: string, message: string): void;
163
+ /**
164
+ * Valida se a saída corresponde a uma expressão regular.
165
+ * @param output Saída do comando SSH.
166
+ * @param pattern Padrão regex.
167
+ * @param message Mensagem descritiva da validação.
168
+ * @throws {Error} Se a saída não corresponder ao padrão.
169
+ */
170
+ static validateMatches(output: string, pattern: RegExp, message: string): void;
171
+ /**
172
+ * Adiciona log personalizado ao contexto SSH.
173
+ * @param mensagem Mensagem de log.
174
+ * @param tipo Tipo do log ('info', 'success', 'error', 'warning').
175
+ */
176
+ static adicionarLog(mensagem: string, tipo?: 'info' | 'success' | 'error' | 'warning'): void;
177
+ /**
178
+ * Anexa o relatório final do teste SSH ao UnifiedReportManager.
179
+ */
180
+ static anexarRelatorioFinal(): Promise<void>;
181
+ /**
182
+ * Limpa todos os dados e métricas SSH.
183
+ */
184
+ static limparTudo(): void;
185
+ /**
186
+ * Obtém estatísticas do teste SSH atual.
187
+ * @returns Objeto com total de logs, sucessos, erros, comandos executados e duração total.
188
+ */
189
+ static obterEstatisticas(): {
190
+ totalLogs: number;
191
+ sucessos: number;
192
+ erros: number;
193
+ comandosExecutados: number;
194
+ duracaoTotal: number;
195
+ };
196
+ /**
197
+ * Verifica se há logs registrados para o teste SSH atual.
198
+ * @returns true se houver logs, false caso contrário.
199
+ */
200
+ static temLogs(): boolean;
201
+ /**
202
+ * Obtém todos os logs registrados para o teste SSH atual.
203
+ * @returns Array de logs.
204
+ */
205
+ static obterLogs(): string[];
206
+ /**
207
+ * Verifica se houve falhas no teste SSH atual.
208
+ * @returns true se houver falhas, false caso contrário.
209
+ */
210
+ static temFalhas(): boolean;
211
+ /**
212
+ * Obtém um resumo do teste SSH atual.
213
+ * @returns Objeto com informações de logs, falhas, estatísticas e datas.
214
+ */
215
+ static obterResumo(): {
216
+ temLogs: boolean;
217
+ temFalhas: boolean;
218
+ estatisticas: ReturnType<typeof SSHActions.obterEstatisticas>;
219
+ inicioExecucao?: Date;
220
+ fimExecucao?: Date;
221
+ };
222
+ /**
223
+ * Indica se o SSHActions foi utilizado no teste atual.
224
+ * @returns true se utilizado, false caso contrário.
225
+ */
226
+ static foiUtilizado(): boolean;
227
+ /**
228
+ * Obtém métricas resumidas do teste SSH atual.
229
+ * @returns Objeto com comandosExecutados, sucessos, erros e duracaoTotal.
230
+ */
231
+ static getMetrics(): {
232
+ comandosExecutados: number;
233
+ sucessos: number;
234
+ erros: number;
235
+ duracaoTotal: number;
236
+ };
237
+ /**
238
+ * Valida se a saída contém o texto esperado dentro de um timeout.
239
+ * @param output Saída do comando SSH.
240
+ * @param expected Texto esperado.
241
+ * @param message Mensagem descritiva da validação.
242
+ * @param timeout Tempo máximo em ms para aguardar.
243
+ * @throws {Error} Se o texto não for encontrado no tempo especificado.
244
+ */
245
+ static validateContainsWithTimeout(output: string, expected: string, message: string, timeout?: number): Promise<void>;
246
+ /**
247
+ * Valida se todos os textos esperados estão presentes na saída.
248
+ * @param output Saída do comando SSH.
249
+ * @param expectedTexts Array de textos esperados.
250
+ * @param message Mensagem descritiva da validação.
251
+ * @throws {Error} Se algum texto não for encontrado.
252
+ */
253
+ static validateContainsAll(output: string, expectedTexts: string[], message: string): void;
254
+ /**
255
+ * Valida se pelo menos um dos textos esperados está presente na saída.
256
+ * @param output Saída do comando SSH.
257
+ * @param expectedTexts Array de textos esperados.
258
+ * @param message Mensagem descritiva da validação.
259
+ * @throws {Error} Se nenhum texto for encontrado.
260
+ */
261
+ static validateContainsAny(output: string, expectedTexts: string[], message: string): void;
262
+ }