tutanus 0.12.2 → 0.12.4

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 (309) hide show
  1. package/README.md +7 -7
  2. package/dist/analysts/converters/converter-base.js.map +1 -1
  3. package/dist/analysts/converters/engines/converter-gha-to-gitlab.js.map +1 -1
  4. package/dist/analysts/converters/index.js.map +1 -1
  5. package/dist/analysts/corrections/map-reversion.js +2 -2
  6. package/dist/analysts/corrections/map-reversion.js.map +1 -1
  7. package/dist/analysts/corrections/pruning.js +3 -3
  8. package/dist/analysts/corrections/pruning.js.map +1 -1
  9. package/dist/analysts/detectors/detector-recommendation-architecture.js +2 -2
  10. package/dist/analysts/detectors/detector-recommendation-architecture.js.map +1 -1
  11. package/dist/analysts/github-actions/detectors/org-verified.js.map +1 -1
  12. package/dist/analysts/github-actions/reports/generator-report-github-actions.js +4 -4
  13. package/dist/analysts/github-actions/reports/generator-report-github-actions.js.map +1 -1
  14. package/dist/analysts/js-ts/detectors/detector-context-smart.js +10 -10
  15. package/dist/analysts/js-ts/detectors/detector-context-smart.js.map +1 -1
  16. package/dist/analysts/js-ts/detectors/detector-types-unsafe.js +3 -3
  17. package/dist/analysts/js-ts/detectors/detector-types-unsafe.js.map +1 -1
  18. package/dist/analysts/plugins/detector-documentation.js.map +1 -1
  19. package/dist/analysts/plugins/index.js.map +1 -1
  20. package/dist/analysts/scorers/scorer.js +67 -67
  21. package/dist/analysts/scorers/scorer.js.map +1 -1
  22. package/dist/app/github/app/repo-downloader.d.ts +2 -0
  23. package/dist/app/github/app/repo-downloader.d.ts.map +1 -1
  24. package/dist/app/github/app/repo-downloader.js +2 -2
  25. package/dist/app/github/app/repo-downloader.js.map +1 -1
  26. package/dist/app/github/jobs/auto-fix-job.d.ts.map +1 -1
  27. package/dist/app/github/jobs/auto-fix-job.js +19 -3
  28. package/dist/app/github/jobs/auto-fix-job.js.map +1 -1
  29. package/dist/app/github/push-analysis/push-analysis-service.d.ts.map +1 -1
  30. package/dist/app/github/push-analysis/push-analysis-service.js +19 -7
  31. package/dist/app/github/push-analysis/push-analysis-service.js.map +1 -1
  32. package/dist/app/github/push-analysis/push-report.js +2 -2
  33. package/dist/app/github/push-analysis/push-report.js.map +1 -1
  34. package/dist/bin/index.d.ts.map +1 -1
  35. package/dist/bin/index.js +5 -0
  36. package/dist/bin/index.js.map +1 -1
  37. package/dist/cli/commands/command-azure.js +1 -1
  38. package/dist/cli/commands/command-azure.js.map +1 -1
  39. package/dist/cli/commands/command-circleci.js +1 -1
  40. package/dist/cli/commands/command-circleci.js.map +1 -1
  41. package/dist/cli/commands/command-convert.js.map +1 -1
  42. package/dist/cli/commands/command-github-actions.js +1 -1
  43. package/dist/cli/commands/command-github-actions.js.map +1 -1
  44. package/dist/cli/commands/command-gitlab-ci.js +1 -1
  45. package/dist/cli/commands/command-gitlab-ci.js.map +1 -1
  46. package/dist/cli/commands/command-jenkins.js +1 -1
  47. package/dist/cli/commands/command-jenkins.js.map +1 -1
  48. package/dist/cli/diagnostic/exporters/compliance-exporter.js +2 -2
  49. package/dist/cli/diagnostic/exporters/compliance-exporter.js.map +1 -1
  50. package/dist/cli/diagnostic/exporters/markdown-exporter.js +7 -7
  51. package/dist/cli/diagnostic/exporters/markdown-exporter.js.map +1 -1
  52. package/dist/cli/diagnostic/handlers/archetype-handler.js.map +1 -1
  53. package/dist/cli/diagnostic/handlers/guardian-handler.js.map +1 -1
  54. package/dist/cli/diagnostic/processing-diagnostic.d.ts.map +1 -1
  55. package/dist/cli/diagnostic/processing-diagnostic.js +2 -3
  56. package/dist/cli/diagnostic/processing-diagnostic.js.map +1 -1
  57. package/dist/core/config/auto/fix-config.js.map +1 -1
  58. package/dist/core/execution/executor.js +4 -4
  59. package/dist/core/execution/executor.js.map +1 -1
  60. package/dist/core/execution/inquisitor.js +6 -6
  61. package/dist/core/execution/inquisitor.js.map +1 -1
  62. package/dist/core/execution/scanner.js.map +1 -1
  63. package/dist/core/messages/en/analysts/archetypes-extra-messages.d.ts +2 -2
  64. package/dist/core/messages/en/analysts/archetypes-extra-messages.js +2 -2
  65. package/dist/core/messages/en/analysts/archetypes-extra-messages.js.map +1 -1
  66. package/dist/core/messages/en/analysts/detector-clean-arch-messages.d.ts +4 -4
  67. package/dist/core/messages/en/analysts/detector-clean-arch-messages.js +4 -4
  68. package/dist/core/messages/en/analysts/detector-clean-arch-messages.js.map +1 -1
  69. package/dist/core/messages/en/analysts/detector-js-ts-messages.d.ts +2 -2
  70. package/dist/core/messages/en/analysts/detector-js-ts-messages.js +2 -2
  71. package/dist/core/messages/en/analysts/detector-js-ts-messages.js.map +1 -1
  72. package/dist/core/messages/en/analysts/map-reversion-extra-messages.d.ts +6 -6
  73. package/dist/core/messages/en/analysts/map-reversion-extra-messages.js +6 -6
  74. package/dist/core/messages/en/analysts/map-reversion-extra-messages.js.map +1 -1
  75. package/dist/core/messages/en/analysts/report-github-actions-messages.d.ts +2 -2
  76. package/dist/core/messages/en/analysts/report-github-actions-messages.js +2 -2
  77. package/dist/core/messages/en/analysts/report-github-actions-messages.js.map +1 -1
  78. package/dist/core/messages/en/analysts/scorer-messages.d.ts +45 -45
  79. package/dist/core/messages/en/analysts/scorer-messages.js +49 -49
  80. package/dist/core/messages/en/analysts/scorer-messages.js.map +1 -1
  81. package/dist/core/messages/en/cli/cli-command-convert-messages.d.ts +1 -1
  82. package/dist/core/messages/en/cli/cli-command-convert-messages.js +1 -1
  83. package/dist/core/messages/en/cli/cli-command-convert-messages.js.map +1 -1
  84. package/dist/core/messages/en/cli/cli-command-format-messages.d.ts +1 -1
  85. package/dist/core/messages/en/cli/cli-command-format-messages.js +1 -1
  86. package/dist/core/messages/en/cli/cli-command-format-messages.js.map +1 -1
  87. package/dist/core/messages/en/cli/cli-command-github-actions-messages.d.ts +1 -1
  88. package/dist/core/messages/en/cli/cli-command-github-actions-messages.js +4 -4
  89. package/dist/core/messages/en/cli/cli-command-github-actions-messages.js.map +1 -1
  90. package/dist/core/messages/en/cli/cli-command-update-messages.d.ts +2 -2
  91. package/dist/core/messages/en/cli/cli-command-update-messages.js +2 -2
  92. package/dist/core/messages/en/cli/cli-command-update-messages.js.map +1 -1
  93. package/dist/core/messages/en/cli/cli-flags-validator-messages.d.ts +3 -3
  94. package/dist/core/messages/en/cli/cli-flags-validator-messages.js +3 -3
  95. package/dist/core/messages/en/cli/cli-flags-validator-messages.js.map +1 -1
  96. package/dist/core/messages/en/core/correcoes-messages.js +2 -2
  97. package/dist/core/messages/en/core/correcoes-messages.js.map +1 -1
  98. package/dist/core/messages/en/core/inquisitor-extra-messages.d.ts +2 -2
  99. package/dist/core/messages/en/core/inquisitor-extra-messages.js +2 -2
  100. package/dist/core/messages/en/core/inquisitor-extra-messages.js.map +1 -1
  101. package/dist/core/messages/en/core/parser-extra-messages.d.ts +3 -3
  102. package/dist/core/messages/en/core/parser-extra-messages.js +3 -3
  103. package/dist/core/messages/en/core/parser-extra-messages.js.map +1 -1
  104. package/dist/core/messages/en/guardian/guardian-messages.d.ts +2 -2
  105. package/dist/core/messages/en/guardian/guardian-messages.js +2 -2
  106. package/dist/core/messages/en/guardian/guardian-messages.js.map +1 -1
  107. package/dist/core/messages/en/guardian/watcher-hidden-messages.d.ts +2 -2
  108. package/dist/core/messages/en/guardian/watcher-hidden-messages.js +2 -2
  109. package/dist/core/messages/en/guardian/watcher-hidden-messages.js.map +1 -1
  110. package/dist/core/messages/en/log/log-helper.js.map +1 -1
  111. package/dist/core/messages/en/reports/report-async-patterns-messages.d.ts +3 -3
  112. package/dist/core/messages/en/reports/report-async-patterns-messages.js +3 -3
  113. package/dist/core/messages/en/reports/report-async-patterns-messages.js.map +1 -1
  114. package/dist/core/messages/en/shared/plugin-core-messages.d.ts +2 -2
  115. package/dist/core/messages/en/shared/plugin-core-messages.js +2 -2
  116. package/dist/core/messages/en/shared/plugin-core-messages.js.map +1 -1
  117. package/dist/core/messages/en/shared/plugin-registry-messages.d.ts +4 -4
  118. package/dist/core/messages/en/shared/plugin-registry-messages.js +4 -4
  119. package/dist/core/messages/en/shared/plugin-registry-messages.js.map +1 -1
  120. package/dist/core/messages/ja/analysts/archetypes-extra-messages.d.ts +2 -2
  121. package/dist/core/messages/ja/analysts/archetypes-extra-messages.js +2 -2
  122. package/dist/core/messages/ja/analysts/archetypes-extra-messages.js.map +1 -1
  123. package/dist/core/messages/ja/analysts/detector-clean-arch-messages.d.ts +4 -4
  124. package/dist/core/messages/ja/analysts/detector-clean-arch-messages.js +4 -4
  125. package/dist/core/messages/ja/analysts/detector-clean-arch-messages.js.map +1 -1
  126. package/dist/core/messages/ja/analysts/detector-js-ts-messages.d.ts +2 -2
  127. package/dist/core/messages/ja/analysts/detector-js-ts-messages.js +2 -2
  128. package/dist/core/messages/ja/analysts/detector-js-ts-messages.js.map +1 -1
  129. package/dist/core/messages/ja/analysts/map-reversion-extra-messages.d.ts +6 -6
  130. package/dist/core/messages/ja/analysts/map-reversion-extra-messages.js +6 -6
  131. package/dist/core/messages/ja/analysts/map-reversion-extra-messages.js.map +1 -1
  132. package/dist/core/messages/ja/analysts/report-github-actions-messages.d.ts +2 -2
  133. package/dist/core/messages/ja/analysts/report-github-actions-messages.js +2 -2
  134. package/dist/core/messages/ja/analysts/report-github-actions-messages.js.map +1 -1
  135. package/dist/core/messages/ja/analysts/scorer-messages.d.ts +45 -45
  136. package/dist/core/messages/ja/analysts/scorer-messages.js +49 -49
  137. package/dist/core/messages/ja/analysts/scorer-messages.js.map +1 -1
  138. package/dist/core/messages/ja/cli/cli-command-analysts-messages.d.ts +2 -2
  139. package/dist/core/messages/ja/cli/cli-command-analysts-messages.js +2 -2
  140. package/dist/core/messages/ja/cli/cli-command-analysts-messages.js.map +1 -1
  141. package/dist/core/messages/ja/cli/cli-command-convert-messages.d.ts +1 -1
  142. package/dist/core/messages/ja/cli/cli-command-convert-messages.js +1 -1
  143. package/dist/core/messages/ja/cli/cli-command-convert-messages.js.map +1 -1
  144. package/dist/core/messages/ja/cli/cli-command-format-messages.d.ts +1 -1
  145. package/dist/core/messages/ja/cli/cli-command-format-messages.js +1 -1
  146. package/dist/core/messages/ja/cli/cli-command-format-messages.js.map +1 -1
  147. package/dist/core/messages/ja/cli/cli-command-github-actions-messages.d.ts +1 -1
  148. package/dist/core/messages/ja/cli/cli-command-github-actions-messages.js +4 -4
  149. package/dist/core/messages/ja/cli/cli-command-github-actions-messages.js.map +1 -1
  150. package/dist/core/messages/ja/cli/cli-command-update-messages.d.ts +2 -2
  151. package/dist/core/messages/ja/cli/cli-command-update-messages.js +2 -2
  152. package/dist/core/messages/ja/cli/cli-command-update-messages.js.map +1 -1
  153. package/dist/core/messages/ja/cli/cli-flags-validator-messages.d.ts +3 -3
  154. package/dist/core/messages/ja/cli/cli-flags-validator-messages.js +3 -3
  155. package/dist/core/messages/ja/cli/cli-flags-validator-messages.js.map +1 -1
  156. package/dist/core/messages/ja/core/correcoes-messages.js +2 -2
  157. package/dist/core/messages/ja/core/correcoes-messages.js.map +1 -1
  158. package/dist/core/messages/ja/core/inquisitor-extra-messages.d.ts +2 -2
  159. package/dist/core/messages/ja/core/inquisitor-extra-messages.js +2 -2
  160. package/dist/core/messages/ja/core/inquisitor-extra-messages.js.map +1 -1
  161. package/dist/core/messages/ja/core/parser-extra-messages.d.ts +3 -3
  162. package/dist/core/messages/ja/core/parser-extra-messages.js +3 -3
  163. package/dist/core/messages/ja/core/parser-extra-messages.js.map +1 -1
  164. package/dist/core/messages/ja/guardian/guardian-messages.d.ts +2 -2
  165. package/dist/core/messages/ja/guardian/guardian-messages.js +2 -2
  166. package/dist/core/messages/ja/guardian/guardian-messages.js.map +1 -1
  167. package/dist/core/messages/ja/guardian/watcher-hidden-messages.d.ts +2 -2
  168. package/dist/core/messages/ja/guardian/watcher-hidden-messages.js +2 -2
  169. package/dist/core/messages/ja/guardian/watcher-hidden-messages.js.map +1 -1
  170. package/dist/core/messages/ja/log/log-helper.js.map +1 -1
  171. package/dist/core/messages/ja/reports/report-async-patterns-messages.d.ts +3 -3
  172. package/dist/core/messages/ja/reports/report-async-patterns-messages.js +3 -3
  173. package/dist/core/messages/ja/reports/report-async-patterns-messages.js.map +1 -1
  174. package/dist/core/messages/ja/shared/plugin-core-messages.d.ts +2 -2
  175. package/dist/core/messages/ja/shared/plugin-core-messages.js +2 -2
  176. package/dist/core/messages/ja/shared/plugin-core-messages.js.map +1 -1
  177. package/dist/core/messages/ja/shared/plugin-registry-messages.d.ts +4 -4
  178. package/dist/core/messages/ja/shared/plugin-registry-messages.js +4 -4
  179. package/dist/core/messages/ja/shared/plugin-registry-messages.js.map +1 -1
  180. package/dist/core/messages/pt/analysts/archetypes-extra-messages.d.ts +2 -2
  181. package/dist/core/messages/pt/analysts/archetypes-extra-messages.js +2 -2
  182. package/dist/core/messages/pt/analysts/archetypes-extra-messages.js.map +1 -1
  183. package/dist/core/messages/pt/analysts/detector-clean-arch-messages.d.ts +4 -4
  184. package/dist/core/messages/pt/analysts/detector-clean-arch-messages.js +4 -4
  185. package/dist/core/messages/pt/analysts/detector-clean-arch-messages.js.map +1 -1
  186. package/dist/core/messages/pt/analysts/detector-js-ts-messages.d.ts +2 -2
  187. package/dist/core/messages/pt/analysts/detector-js-ts-messages.js +2 -2
  188. package/dist/core/messages/pt/analysts/detector-js-ts-messages.js.map +1 -1
  189. package/dist/core/messages/pt/analysts/map-reversion-extra-messages.d.ts +6 -6
  190. package/dist/core/messages/pt/analysts/map-reversion-extra-messages.js +6 -6
  191. package/dist/core/messages/pt/analysts/map-reversion-extra-messages.js.map +1 -1
  192. package/dist/core/messages/pt/analysts/report-github-actions-messages.d.ts +2 -2
  193. package/dist/core/messages/pt/analysts/report-github-actions-messages.js +2 -2
  194. package/dist/core/messages/pt/analysts/report-github-actions-messages.js.map +1 -1
  195. package/dist/core/messages/pt/analysts/scorer-messages.d.ts +45 -45
  196. package/dist/core/messages/pt/analysts/scorer-messages.js +49 -49
  197. package/dist/core/messages/pt/analysts/scorer-messages.js.map +1 -1
  198. package/dist/core/messages/pt/cli/cli-command-convert-messages.d.ts +1 -1
  199. package/dist/core/messages/pt/cli/cli-command-convert-messages.js +1 -1
  200. package/dist/core/messages/pt/cli/cli-command-convert-messages.js.map +1 -1
  201. package/dist/core/messages/pt/cli/cli-command-format-messages.d.ts +1 -1
  202. package/dist/core/messages/pt/cli/cli-command-format-messages.js +1 -1
  203. package/dist/core/messages/pt/cli/cli-command-format-messages.js.map +1 -1
  204. package/dist/core/messages/pt/cli/cli-command-github-actions-messages.d.ts +1 -1
  205. package/dist/core/messages/pt/cli/cli-command-github-actions-messages.js +4 -4
  206. package/dist/core/messages/pt/cli/cli-command-github-actions-messages.js.map +1 -1
  207. package/dist/core/messages/pt/cli/cli-command-update-messages.d.ts +2 -2
  208. package/dist/core/messages/pt/cli/cli-command-update-messages.js +2 -2
  209. package/dist/core/messages/pt/cli/cli-command-update-messages.js.map +1 -1
  210. package/dist/core/messages/pt/cli/cli-flags-validator-messages.d.ts +3 -3
  211. package/dist/core/messages/pt/cli/cli-flags-validator-messages.js +3 -3
  212. package/dist/core/messages/pt/cli/cli-flags-validator-messages.js.map +1 -1
  213. package/dist/core/messages/pt/core/correcoes-messages.js +2 -2
  214. package/dist/core/messages/pt/core/correcoes-messages.js.map +1 -1
  215. package/dist/core/messages/pt/core/inquisitor-extra-messages.d.ts +2 -2
  216. package/dist/core/messages/pt/core/inquisitor-extra-messages.js +2 -2
  217. package/dist/core/messages/pt/core/inquisitor-extra-messages.js.map +1 -1
  218. package/dist/core/messages/pt/core/parser-extra-messages.d.ts +3 -3
  219. package/dist/core/messages/pt/core/parser-extra-messages.js +3 -3
  220. package/dist/core/messages/pt/core/parser-extra-messages.js.map +1 -1
  221. package/dist/core/messages/pt/guardian/guardian-messages.d.ts +2 -2
  222. package/dist/core/messages/pt/guardian/guardian-messages.js +2 -2
  223. package/dist/core/messages/pt/guardian/guardian-messages.js.map +1 -1
  224. package/dist/core/messages/pt/guardian/watcher-hidden-messages.d.ts +2 -2
  225. package/dist/core/messages/pt/guardian/watcher-hidden-messages.js +2 -2
  226. package/dist/core/messages/pt/guardian/watcher-hidden-messages.js.map +1 -1
  227. package/dist/core/messages/pt/log/log-helper.js.map +1 -1
  228. package/dist/core/messages/pt/reports/report-async-patterns-messages.d.ts +3 -3
  229. package/dist/core/messages/pt/reports/report-async-patterns-messages.js +3 -3
  230. package/dist/core/messages/pt/reports/report-async-patterns-messages.js.map +1 -1
  231. package/dist/core/messages/pt/shared/plugin-core-messages.d.ts +2 -2
  232. package/dist/core/messages/pt/shared/plugin-core-messages.js +2 -2
  233. package/dist/core/messages/pt/shared/plugin-core-messages.js.map +1 -1
  234. package/dist/core/messages/pt/shared/plugin-registry-messages.d.ts +4 -4
  235. package/dist/core/messages/pt/shared/plugin-registry-messages.js +4 -4
  236. package/dist/core/messages/pt/shared/plugin-registry-messages.js.map +1 -1
  237. package/dist/core/messages/zh/analysts/archetypes-extra-messages.d.ts +2 -2
  238. package/dist/core/messages/zh/analysts/archetypes-extra-messages.js +2 -2
  239. package/dist/core/messages/zh/analysts/archetypes-extra-messages.js.map +1 -1
  240. package/dist/core/messages/zh/analysts/detector-clean-arch-messages.d.ts +4 -4
  241. package/dist/core/messages/zh/analysts/detector-clean-arch-messages.js +4 -4
  242. package/dist/core/messages/zh/analysts/detector-clean-arch-messages.js.map +1 -1
  243. package/dist/core/messages/zh/analysts/detector-js-ts-messages.d.ts +2 -2
  244. package/dist/core/messages/zh/analysts/detector-js-ts-messages.js +2 -2
  245. package/dist/core/messages/zh/analysts/detector-js-ts-messages.js.map +1 -1
  246. package/dist/core/messages/zh/analysts/map-reversion-extra-messages.d.ts +6 -6
  247. package/dist/core/messages/zh/analysts/map-reversion-extra-messages.js +6 -6
  248. package/dist/core/messages/zh/analysts/map-reversion-extra-messages.js.map +1 -1
  249. package/dist/core/messages/zh/analysts/report-github-actions-messages.d.ts +2 -2
  250. package/dist/core/messages/zh/analysts/report-github-actions-messages.js +2 -2
  251. package/dist/core/messages/zh/analysts/report-github-actions-messages.js.map +1 -1
  252. package/dist/core/messages/zh/analysts/scorer-messages.d.ts +45 -45
  253. package/dist/core/messages/zh/analysts/scorer-messages.js +49 -49
  254. package/dist/core/messages/zh/analysts/scorer-messages.js.map +1 -1
  255. package/dist/core/messages/zh/cli/cli-command-analysts-messages.d.ts +2 -2
  256. package/dist/core/messages/zh/cli/cli-command-analysts-messages.js +2 -2
  257. package/dist/core/messages/zh/cli/cli-command-analysts-messages.js.map +1 -1
  258. package/dist/core/messages/zh/cli/cli-command-convert-messages.d.ts +1 -1
  259. package/dist/core/messages/zh/cli/cli-command-convert-messages.js +1 -1
  260. package/dist/core/messages/zh/cli/cli-command-convert-messages.js.map +1 -1
  261. package/dist/core/messages/zh/cli/cli-command-format-messages.d.ts +1 -1
  262. package/dist/core/messages/zh/cli/cli-command-format-messages.js +1 -1
  263. package/dist/core/messages/zh/cli/cli-command-format-messages.js.map +1 -1
  264. package/dist/core/messages/zh/cli/cli-command-github-actions-messages.d.ts +1 -1
  265. package/dist/core/messages/zh/cli/cli-command-github-actions-messages.js +4 -4
  266. package/dist/core/messages/zh/cli/cli-command-github-actions-messages.js.map +1 -1
  267. package/dist/core/messages/zh/cli/cli-command-update-messages.d.ts +2 -2
  268. package/dist/core/messages/zh/cli/cli-command-update-messages.js +2 -2
  269. package/dist/core/messages/zh/cli/cli-command-update-messages.js.map +1 -1
  270. package/dist/core/messages/zh/cli/cli-flags-validator-messages.d.ts +3 -3
  271. package/dist/core/messages/zh/cli/cli-flags-validator-messages.js +3 -3
  272. package/dist/core/messages/zh/cli/cli-flags-validator-messages.js.map +1 -1
  273. package/dist/core/messages/zh/core/correcoes-messages.js +2 -2
  274. package/dist/core/messages/zh/core/correcoes-messages.js.map +1 -1
  275. package/dist/core/messages/zh/core/inquisitor-extra-messages.d.ts +2 -2
  276. package/dist/core/messages/zh/core/inquisitor-extra-messages.js +2 -2
  277. package/dist/core/messages/zh/core/inquisitor-extra-messages.js.map +1 -1
  278. package/dist/core/messages/zh/core/parser-extra-messages.d.ts +3 -3
  279. package/dist/core/messages/zh/core/parser-extra-messages.js +3 -3
  280. package/dist/core/messages/zh/core/parser-extra-messages.js.map +1 -1
  281. package/dist/core/messages/zh/guardian/guardian-messages.d.ts +2 -2
  282. package/dist/core/messages/zh/guardian/guardian-messages.js +2 -2
  283. package/dist/core/messages/zh/guardian/guardian-messages.js.map +1 -1
  284. package/dist/core/messages/zh/guardian/watcher-hidden-messages.d.ts +2 -2
  285. package/dist/core/messages/zh/guardian/watcher-hidden-messages.js +2 -2
  286. package/dist/core/messages/zh/guardian/watcher-hidden-messages.js.map +1 -1
  287. package/dist/core/messages/zh/log/log-helper.js.map +1 -1
  288. package/dist/core/messages/zh/reports/report-async-patterns-messages.d.ts +3 -3
  289. package/dist/core/messages/zh/reports/report-async-patterns-messages.js +3 -3
  290. package/dist/core/messages/zh/reports/report-async-patterns-messages.js.map +1 -1
  291. package/dist/core/messages/zh/shared/plugin-core-messages.d.ts +2 -2
  292. package/dist/core/messages/zh/shared/plugin-core-messages.js +2 -2
  293. package/dist/core/messages/zh/shared/plugin-core-messages.js.map +1 -1
  294. package/dist/core/messages/zh/shared/plugin-registry-messages.d.ts +4 -4
  295. package/dist/core/messages/zh/shared/plugin-registry-messages.js +4 -4
  296. package/dist/core/messages/zh/shared/plugin-registry-messages.js.map +1 -1
  297. package/dist/core/parsing/utils.d.ts +3 -3
  298. package/dist/core/workers/worker-pool.js +1 -1
  299. package/dist/core/workers/worker-pool.js.map +1 -1
  300. package/dist/guardian/baseline.js.map +1 -1
  301. package/dist/guardian/constants.js.map +1 -1
  302. package/dist/guardian/diff.js.map +1 -1
  303. package/dist/reports/analise-async-patterns.js +1 -1
  304. package/dist/reports/analise-async-patterns.js.map +1 -1
  305. package/dist/reports/filter-smart.js.map +1 -1
  306. package/dist/reports/report-caretaker-health.js +1 -1
  307. package/dist/reports/report-caretaker-health.js.map +1 -1
  308. package/dist/shared/plugins/init.js.map +1 -1
  309. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"log-helper.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/log/log-helper.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: MIT\n// @tutanus-disable tipo-literal-inline-complexo\n// Justificativa: tipos inline para sistema de logs\n/**\n * Sistema unificado de helpers de log\n * Consolidação de log-helpers.ts e log-helpers-inteligente.ts\n * Remove duplicação e centraliza lógica via log-engine\n */\n\nimport { config } from '@core/config';\nimport { ICONES_ARQUIVO, ICONES_DIAGNOSTICO, ICONES_FEEDBACK, ICONES_STATUS } from '@core/messages/shared';\n\nimport { logEngine } from './log-engine.js';\nimport { LogMensagens } from './log-messages.js';\n\n/**\n * Sistema de logs para analistas com controle de spam unificado\n */\nexport const logAnalistas = {\n ultimoProgressoGlobal: 0,\n contadorArquivos: 0,\n totalArquivos: 0,\n ultimoEmitMs: 0,\n /** Inicializa batch de análise */\n iniciarBatch(totalArquivos: number): void {\n this.totalArquivos = totalArquivos;\n this.contadorArquivos = 0;\n this.ultimoProgressoGlobal = 0;\n this.ultimoEmitMs = 0;\n\n // Usa logEngine para formatação consistente apenas em modo complexo/verbose\n if (logEngine.contexto === 'complexo' || config.VERBOSE) {\n logEngine.log('info', LogMensagens.analistas.execucao.inicio_detalhado, {\n totalArquivos: totalArquivos.toString()\n });\n }\n // Em modo simples, não emite mensagem redundante (o progresso já mostra)\n },\n /** Log de inicio de analista (agora apenas registra) */\n iniciandoAnalista(nomeAnalista: string, arquivo: string, tamanho: number): void {\n // 🔕 ANTI-SPAM: Só loga analistas individuais em contextos específicos\n const deveLogarIndividual = logEngine.contexto === 'complexo' || config.DEV_MODE || process.env.VERBOSE === 'true';\n if (deveLogarIndividual) {\n logEngine.log('debug', LogMensagens.analistas.execucao.inicio_detalhado, {\n analista: nomeAnalista,\n arquivo,\n tamanho: tamanho.toString()\n });\n }\n },\n /** Incrementa contador quando arquivo é processado */\n arquivoProcessado(): void {\n this.contadorArquivos++;\n if (logEngine.contexto !== 'complexo' && !config.DEV_MODE) {\n this.logProgressoGrupado();\n }\n },\n /** Log de conclusão de analista */\n concluido(nomeAnalista: string, arquivo: string, ocorrencias: number, duracao: number): void {\n const deveLogarIndividual = logEngine.contexto === 'complexo' || config.DEV_MODE || process.env.VERBOSE === 'true';\n if (deveLogarIndividual) {\n logEngine.log('info', LogMensagens.analistas.execucao.sucesso_detalhado, {\n analista: nomeAnalista,\n ocorrencias: ocorrencias.toString(),\n tempo: duracao.toFixed(2)\n });\n }\n },\n /** Log de progresso inteligente e agrupado */\n logProgressoGrupado(): void {\n const porcentagem = Math.round(this.contadorArquivos / this.totalArquivos * 100);\n const agora = Date.now();\n\n // Densidade adaptativa: 5% para projetos pequenos, 10% para grandes\n const passo = this.totalArquivos < 200 ? 5 : 10;\n // Limite de frequência: no máximo 2 atualizações por segundo\n const minIntervalMs = 500;\n\n // Atualiza o progresso em intervalos adaptativos com anti-spam\n if (porcentagem - this.ultimoProgressoGlobal >= passo || this.contadorArquivos === this.totalArquivos) {\n if (agora - this.ultimoEmitMs >= minIntervalMs || this.contadorArquivos === this.totalArquivos) {\n logEngine.log('info', `${ICONES_DIAGNOSTICO.progresso} Progresso: {arquivosProcessados}/{totalArquivos} ({percentual}%)`, {\n arquivosProcessados: this.contadorArquivos.toString(),\n totalArquivos: this.totalArquivos.toString(),\n percentual: porcentagem.toString()\n });\n this.ultimoProgressoGlobal = porcentagem;\n this.ultimoEmitMs = agora;\n }\n }\n },\n /** Finaliza batch de análise */\n finalizarBatch(totalOcorrencias: number, duracaoTotal: number): void {\n if (logEngine.contexto === 'simples') {\n logEngine.log('info', `${ICONES_STATUS.ok} Análise concluída - {totalOcorrencias} problemas encontrados`, {\n totalOcorrencias: totalOcorrencias.toString()\n });\n } else {\n logEngine.log('info', `${ICONES_STATUS.ok} Verificações concluídas - {totalOcorrencias} problemas detectados em {duracao}s`, {\n totalOcorrencias: totalOcorrencias.toString(),\n duracao: (duracaoTotal / 1000).toFixed(1)\n });\n }\n },\n /** Timeout sempre é importante - usa logEngine */\n timeout(nomeAnalista: string, duracao: number): void {\n logEngine.log('aviso', LogMensagens.analistas.execucao.timeout, {\n analista: nomeAnalista,\n tempo: duracao.toString()\n });\n },\n /** Erros sempre são importantes - usa logEngine */\n erro(nomeAnalista: string, erro: string): void {\n logEngine.log('erro', LogMensagens.analistas.execucao.erro, {\n analista: nomeAnalista,\n erro\n });\n },\n /** Performance para projetos complexos */\n performance(dados: {\n analistas: number;\n media: number;\n total: number;\n }): void {\n if (logEngine.contexto === 'complexo' || config.DEV_MODE) {\n logEngine.log('info', LogMensagens.analistas.metricas.performance, {\n analistas: dados.analistas.toString(),\n media: dados.media.toFixed(1)\n });\n }\n }\n};\n\n/**\n * Sistema de logs para scanner (agora via logEngine)\n */\nexport const logVarredor = {\n iniciarVarredura(diretorio: string): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.scanner.inicio, {\n diretorio\n });\n }\n },\n progresso(diretorio: string, arquivos: number): void {\n if (logEngine.contexto === 'complexo' || config.VERBOSE) {\n const nomeDiretorio = diretorio.split('/').pop() || diretorio;\n logEngine.log('info', LogMensagens.scanner.progresso, {\n diretorio: nomeDiretorio,\n arquivos: arquivos.toString()\n });\n }\n },\n filtros(includeCount: number, excludeCount: number): void {\n if (logEngine.contexto !== 'simples' && (includeCount > 0 || excludeCount > 0)) {\n logEngine.log('info', LogMensagens.scanner.filtros, {\n include: includeCount.toString(),\n exclude: excludeCount.toString()\n });\n }\n },\n completo(arquivos: number, diretorios: number): void {\n logEngine.log('info', LogMensagens.scanner.completo, {\n arquivos: arquivos.toString(),\n diretorios: diretorios.toString()\n });\n }\n};\n\n/**\n * Sistema de logs para o sistema principal (via logEngine)\n */\nexport const logSistema = {\n inicializacao(): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.sistema.inicializacao.sucesso, {});\n }\n },\n shutdown(): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.sistema.shutdown, {});\n }\n },\n erro(mensagem: string, detalhes?: string): void {\n const detalhesStr = detalhes ? ` - ${detalhes}` : '';\n logEngine.log('erro', `${ICONES_STATUS.falha} Erro: ${mensagem}${detalhesStr}`, {});\n },\n // Correções automáticas\n autoFixNenhumaCorrecao(): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.nenhuma_disponivel, {});\n },\n autoFixAplicando(modo: string): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.aplicando, {\n modo\n });\n },\n autoFixArquivoNaoEncontrado(arquivo: string): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.arquivo_nao_encontrado, {\n arquivo\n });\n },\n autoFixAplicada(titulo: string, confianca: number): void {\n if (config.VERBOSE) {\n logEngine.log('info', LogMensagens.sistema.correcoes.aplicada, {\n titulo,\n confianca: confianca.toString()\n });\n }\n },\n autoFixCorrigido(arquivo: string): void {\n if (config.VERBOSE) {\n logEngine.log('info', LogMensagens.sistema.correcoes.corrigido, {\n arquivo\n });\n }\n },\n autoFixFalha(id: string, erro: string): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.falha, {\n id,\n erro\n });\n },\n autoFixNenhumaAplicada(): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.nenhuma_aplicada, {});\n },\n autoFixEstatisticas(estatisticas: string[]): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.estatisticas, {\n estatisticas: estatisticas.join(', ')\n });\n },\n autoFixESLintHarmonia(): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.eslint_harmonia, {});\n },\n autoFixESLintAjustes(): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.eslint_ajustes, {});\n },\n autoFixESLintFalha(erro: string): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.eslint_falha, {\n erro\n });\n },\n // Processamento de diagnóstico\n processamentoFixDetectada(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.fix_detectada, {});\n },\n processamentoESLintOutput(output: string): void {\n logEngine.log('info', LogMensagens.sistema.processamento.eslint_output, {\n output\n });\n },\n processamentoResumoOcorrencias(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.resumo_ocorrencias, {\n total: total.toString()\n });\n },\n processamentoDicasContextuais(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.dicas_contextuais, {});\n },\n processamentoDetalhamentoOcorrencias(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.detalhamento_ocorrencias, {\n total: total.toString()\n });\n },\n processamentoErrosCriticos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.erros_criticos, {\n total: total.toString()\n });\n },\n processamentoAvisosEncontrados(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.avisos_encontrados, {\n total: total.toString()\n });\n },\n processamentoQuickFixesMuitos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.quick_fixes_muitos, {\n total: total.toString()\n });\n },\n processamentoQuickFixesComando(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.quick_fixes_comando, {});\n },\n processamentoQuickFixesExecutar(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.quick_fixes_executar, {});\n },\n processamentoTodosMuitos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.todos_muitos, {\n total: total.toString()\n });\n },\n processamentoTodosPoucos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.todos_poucos, {\n total: total.toString()\n });\n },\n processamentoMuitasOcorrencias(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.muitas_ocorrencias, {});\n },\n processamentoFiltrarPasta(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.filtrar_pasta, {});\n },\n processamentoUsarFull(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.usar_full, {});\n },\n processamentoUsarJson(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.usar_json, {});\n },\n processamentoProjetoLimpo(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.projeto_limpo, {});\n },\n processamentoAnalistasProblemas(quantidade: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.analistas_problemas, {\n quantidade: quantidade.toString()\n });\n },\n // Atualização do sistema\n atualizacaoExecutando(comando: string): void {\n logEngine.log('info', LogMensagens.sistema.atualizacao.executando, {\n comando\n });\n },\n atualizacaoSucesso(): void {\n logEngine.log('info', LogMensagens.sistema.atualizacao.sucesso, {});\n },\n atualizacaoFalha(): void {\n logEngine.log('erro', LogMensagens.sistema.atualizacao.falha, {});\n },\n atualizacaoDetalhes(detalhe: string): void {\n logEngine.log('aviso', LogMensagens.sistema.atualizacao.detalhes, {\n detalhe\n });\n },\n // Performance\n performanceRegressaoDetectada(limite: number): void {\n logEngine.log('aviso', LogMensagens.sistema.performance.regressao_detectada, {\n limite: limite.toString()\n });\n },\n performanceSemRegressoes(): void {\n logEngine.log('info', LogMensagens.sistema.performance.sem_regressoes, {});\n },\n // Poda\n podaCancelada(): void {\n logEngine.log('info', LogMensagens.sistema.poda.cancelada, {});\n },\n podaConcluida(): void {\n logEngine.log('info', LogMensagens.sistema.poda.concluida, {});\n },\n // Reversão\n reversaoNenhumMove(arquivo: string): void {\n logEngine.log('erro', LogMensagens.sistema.reversao.nenhum_move, {\n arquivo\n });\n },\n reversaoRevertendo(arquivo: string): void {\n logEngine.log('info', LogMensagens.sistema.reversao.revertendo, {\n arquivo\n });\n },\n reversaoSucesso(arquivo: string): void {\n logEngine.log('info', LogMensagens.sistema.reversao.sucesso, {\n arquivo\n });\n },\n reversaoFalha(arquivo: string): void {\n logEngine.log('erro', LogMensagens.sistema.reversao.falha, {\n arquivo\n });\n }\n};\n\n/**\n * Sistema de logs para filtros (via logEngine)\n */\nexport const logFiltros = {\n incluindo(pattern: string, matches: number): void {\n if (config.VERBOSE || logEngine.contexto === 'complexo') {\n logEngine.log('info', LogMensagens.filtros.incluindo, {\n pattern,\n matches: matches.toString()\n });\n }\n },\n excluindo(pattern: string, matches: number): void {\n if (config.VERBOSE || logEngine.contexto === 'complexo') {\n logEngine.log('info', LogMensagens.filtros.excluindo, {\n pattern,\n matches: matches.toString()\n });\n }\n },\n supressao(count: number, motivo: string): void {\n if (count > 0) {\n logEngine.log('info', LogMensagens.filtros.supressao, {\n count: count.toString(),\n motivo\n });\n }\n }\n};\n\n/**\n * Sistema de logs para projeto (via logEngine)\n */\nexport const logProjeto = {\n detectado(tipo: string, confianca: number): void {\n logEngine.log('info', LogMensagens.projeto.detectado, {\n tipo,\n confianca: confianca.toString()\n });\n },\n estrutura(arquivos: number, linguagens: number): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.projeto.estrutura, {\n arquivos: arquivos.toString(),\n linguagens: linguagens.toString()\n });\n }\n },\n complexidade(nivel: string, metricas: string): void {\n if (logEngine.contexto === 'complexo') {\n logEngine.log('info', LogMensagens.projeto.complexidade, {\n nivel,\n metricas\n });\n }\n },\n recomendacao(acao: string): void {\n logEngine.log('info', LogMensagens.projeto.recomendacao, {\n acao\n });\n },\n performance(dados: {\n analistas: number;\n duracao: number;\n throughput?: number;\n }): void {\n if (logEngine.contexto === 'complexo' || config.DEV_MODE) {\n const throughput = dados.throughput ? ` (${dados.throughput.toFixed(1)} arq/s)` : '';\n logEngine.log('info', `${ICONES_DIAGNOSTICO.stats} Performance: {analistas} analistas em {duracao}s{throughput}`, {\n analistas: dados.analistas.toString(),\n duracao: (dados.duracao / 1000).toFixed(1),\n throughput\n });\n }\n }\n};\n\n/**\n * Sistema de logs para ocorrências (via logEngine)\n */\nexport const logOcorrencias = {\n critica(mensagem: string, arquivo: string, linha?: number): void {\n logEngine.log('erro', LogMensagens.ocorrencias.critica, {\n mensagem,\n arquivo,\n linha: linha?.toString() || ''\n });\n },\n resumo(total: number, criticos: number, avisos: number): void {\n logEngine.log('info', LogMensagens.relatorio.resumo, {\n total: total.toString(),\n criticos: criticos.toString(),\n avisos: avisos.toString()\n });\n }\n};\n\n/**\n * Sistema de logs para relatórios (via logEngine)\n */\nexport const logRelatorio = {\n gerado(caminho: string, formato: string): void {\n logEngine.log('info', `${ICONES_ARQUIVO.arquivo} Relatório ${formato} gerado: ${caminho}`, {});\n },\n erro(erro: string): void {\n logEngine.log('erro', `${ICONES_STATUS.falha} Erro ao gerar relatório: ${erro}`, {});\n },\n repositorioImpecavel(): void {\n logEngine.log('info', LogMensagens.relatorio.repositorio_impecavel, {});\n },\n ocorrenciasEncontradas(total: number): void {\n logEngine.log('aviso', LogMensagens.relatorio.ocorrencias_encontradas, {\n total: total.toString()\n });\n },\n fimPadroesUso(): void {\n logEngine.log('info', LogMensagens.relatorio.fim_padroes_uso, {});\n },\n funcoesLongas(): void {\n logEngine.log('aviso', LogMensagens.relatorio.funcoes_longas, {});\n }\n};\n\n/**\n * Sistema de logs para automação (via logEngine)\n */\nexport const logAuto = {\n // Mapa de reversão\n mapaReversaoErroCarregar(erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.erro_carregar, {\n erro\n });\n },\n mapaReversaoErroSalvar(erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.erro_salvar, {\n erro\n });\n },\n mapaReversaoMoveNaoEncontrado(id: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.move_nao_encontrado, {\n id\n });\n },\n mapaReversaoArquivoDestinoNaoEncontrado(destino: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.arquivo_destino_nao_encontrado, {\n destino\n });\n },\n mapaReversaoArquivoExisteOrigem(origem: string): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.mapa_reversao.arquivo_existe_origem, {\n origem\n });\n },\n mapaReversaoErroReverter(erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.erro_reverter, {\n erro\n });\n },\n mapaReversaoNenhumMove(arquivo: string): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.mapa_reversao.nenhum_move, {\n arquivo\n });\n },\n mapaReversaoRevertendoMove(id: string): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.revertendo_move, {\n id\n });\n },\n mapaReversaoMoveRevertido(id: string): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.move_revertido, {\n id\n });\n },\n mapaReversaoFalhaReverterMove(id: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.falha_reverter_move, {\n id\n });\n },\n mapaReversaoCarregado(moves: number): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.carregado, {\n moves: moves.toString()\n });\n },\n mapaReversaoNenhumEncontrado(): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.nenhum_encontrado, {});\n },\n // Poda\n podaNenhumArquivo(): void {\n logEngine.log('info', LogMensagens.sistema.auto.poda.nenhum_arquivo, {});\n },\n podaPodando(quantidade: number): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.poda.podando, {\n quantidade: quantidade.toString()\n });\n },\n podaPodandoSimulado(quantidade: number): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.poda.podando_simulado, {\n quantidade: quantidade.toString()\n });\n },\n podaArquivoMovido(arquivo: string): void {\n logEngine.log('info', LogMensagens.sistema.auto.poda.arquivo_movido, {\n arquivo\n });\n },\n // Corretor de estrutura\n corretorErroCriarDiretorio(destino: string, erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.corretor.erro_criar_diretorio, {\n destino,\n erro\n });\n },\n corretorDestinoExiste(arquivo: string, destino: string): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.corretor.destino_existe, {\n arquivo,\n destino\n });\n },\n corretorErroMover(arquivo: string, erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.corretor.erro_mover, {\n arquivo,\n erro\n });\n },\n // Plugin específico\n pluginIgnorado(plugin: string, erro: string): void {\n logEngine.log('aviso', LogMensagens.auto.plugin_ignorado, {\n plugin,\n erro\n });\n },\n caminhoNaoResolvido(plugin: string): void {\n logEngine.log('aviso', LogMensagens.auto.caminho_nao_resolvido, {\n plugin\n });\n },\n pluginFalhou(plugin: string, erro: string): void {\n logEngine.log('aviso', LogMensagens.auto.plugin_falhou, {\n plugin,\n erro\n });\n },\n moveRemovido(id: string): void {\n logEngine.log('info', LogMensagens.auto.move_removido, {\n id\n });\n }\n};\n\n/**\n * Sistema de logs para Guardian (via logEngine)\n */\nexport const logGuardian = {\n integridadeOk(): void {\n logEngine.log('info', LogMensagens.guardian.integridade_ok, {});\n },\n baselineCriado(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_criado, {});\n },\n baselineAceito(): void {\n logEngine.log('aviso', LogMensagens.guardian.baseline_aceito, {});\n },\n alteracoesDetectadas(): void {\n logEngine.log('aviso', LogMensagens.guardian.alteracoes_detectadas, {});\n },\n bloqueado(): void {\n logEngine.log('erro', LogMensagens.guardian.bloqueado, {});\n },\n modoPermissivo(): void {\n logEngine.log('aviso', LogMensagens.guardian.modo_permissivo, {});\n },\n scanOnly(arquivos: number): void {\n logEngine.log('info', LogMensagens.guardian.scan_only, {\n arquivos: arquivos.toString()\n });\n },\n avisosEncontrados(): void {\n logEngine.log('aviso', LogMensagens.guardian.avisos_encontrados, {});\n },\n // Comando Guardian específico\n fullScanAviso(): void {\n logEngine.log('aviso', LogMensagens.guardian.full_scan_aviso, {});\n },\n fullScanWarningBaseline(): void {\n logEngine.log('aviso', LogMensagens.guardian.full_scan_warning_baseline, {});\n },\n aceitandoBaseline(): void {\n logEngine.log('info', LogMensagens.guardian.aceitando_baseline, {});\n },\n baselineAceitoSucesso(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_aceito_sucesso, {});\n },\n comparandoIntegridade(): void {\n logEngine.log('info', LogMensagens.guardian.comparando_integridade, {});\n },\n diferencasDetectadas(): void {\n logEngine.log('aviso', LogMensagens.guardian.diferencas_detectadas, {});\n },\n diferencaItem(diferenca: string): void {\n logEngine.log('info', LogMensagens.guardian.diferenca_item, {\n diferenca\n });\n },\n comandoDiffRecomendado(): void {\n logEngine.log('aviso', LogMensagens.guardian.comando_diff_recomendado, {});\n },\n integridadePreservada(): void {\n logEngine.log('info', LogMensagens.guardian.integridade_preservada, {});\n },\n verificandoIntegridade(): void {\n logEngine.log('info', LogMensagens.guardian.verificando_integridade, {});\n },\n baselineCriadoConsole(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_criado_console, {});\n },\n baselineAtualizado(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_atualizado, {});\n },\n alteracoesSuspeitas(): void {\n logEngine.log('aviso', LogMensagens.guardian.alteracoes_suspeitas, {});\n },\n erroGuardian(erro: string): void {\n logEngine.log('erro', LogMensagens.guardian.erro_guardian, {\n erro\n });\n },\n // Método genérico para outras mensagens Guardian\n info(mensagem: string): void {\n logEngine.log('info', `${ICONES_FEEDBACK.info} ${mensagem}`, {});\n },\n aviso(mensagem: string): void {\n logEngine.log('aviso', `${ICONES_FEEDBACK.atencao} ${mensagem}`, {});\n }\n};\n\n/**\n * Conselheiro tutanusal para bem-estar do desenvolvedor\n */\nexport const logConselheiro = {\n volumeAlto(): void {\n logEngine.log('aviso', LogMensagens.conselheiro.volume_alto, {});\n },\n respira(): void {\n logEngine.log('aviso', LogMensagens.conselheiro.respira, {});\n },\n cuidado(): void {\n logEngine.log('aviso', LogMensagens.conselheiro.cuidado, {});\n },\n madrugada(hora: string): void {\n logEngine.log('aviso', LogMensagens.conselheiro.madrugada, {\n hora\n });\n }\n};\n\n/**\n * Sistema de logs para Métricas\n */\nexport const logMetricas = {\n execucoesRegistradas(quantidade: number): void {\n logEngine.log('info', LogMensagens.metricas.execucoes_registradas, {\n quantidade: quantidade.toString()\n });\n },\n nenhumHistorico(): void {\n logEngine.log('aviso', LogMensagens.metricas.nenhum_historico, {});\n }\n};\n\n/**\n * Sistema de logs para Core (parsing, etc.)\n */\nexport const logCore = {\n erroBabel(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_babel, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroTs(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_ts, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroCss(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_css, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroXml(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_xml, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroHtml(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_html, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n nenhumParser(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.nenhum_parser, {\n extensao\n });\n },\n timeoutParsing(timeout: number, extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.timeout_parsing, {\n timeout: timeout.toString(),\n extensao\n });\n },\n pluginNaoEncontrado(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.plugin_nao_encontrado, {\n extensao\n });\n },\n sistemaPluginsFalhou(erro: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.sistema_plugins_falhou, {\n erro\n });\n },\n // Plugins\n erroCarregarPlugin(nome: string, erro: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.erro_carregar, {\n nome,\n erro\n });\n },\n tentandoAutoload(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.tentando_autoload, {\n extensao\n });\n },\n autoloadFalhou(nome: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.autoload_falhou, {\n nome\n });\n },\n extensaoNaoSuportada(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.extensao_nao_suportada, {\n extensao\n });\n },\n pluginsRegistrados(): void {\n logEngine.log('debug', LogMensagens.core.parsing.plugins_registrados, {});\n },\n usandoPlugin(nome: string, extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.usando_plugin, {\n nome,\n extensao\n });\n },\n registrandoPlugin(nome: string, versao: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.registrando, {\n nome,\n versao\n });\n },\n reaproveitadoIncremental(arquivo: string): void {\n logEngine.log('info', LogMensagens.core.executor.reaproveitado_incremental, {\n arquivo\n });\n }\n};"]}
1
+ {"version":3,"file":"log-helper.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/log/log-helper.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: MIT\n// @tutanus-disable tipo-literal-inline-complexo\n// Justificativa: tipos inline para sistema de logs\n/**\n * Sistema unificado de helpers de log\n * Consolidação de log-helpers.ts e log-helpers-inteligente.ts\n * Remove duplicação e centraliza lógica via log-engine\n */\n\nimport { config } from '@core/config';\nimport { ICONES_ARQUIVO, ICONES_DIAGNOSTICO, ICONES_FEEDBACK, ICONES_STATUS } from '@core/messages/shared';\n\nimport { logEngine } from './log-engine.js';\nimport { LogMensagens } from './log-messages.js';\n\n/**\n * Sistema de logs para analistas com controle de spam unificado\n */\nexport const logAnalistas = {\n ultimoProgressoGlobal: 0,\n contadorArquivos: 0,\n totalArquivos: 0,\n ultimoEmitMs: 0,\n /** Inicializa batch de análise */\n iniciarBatch(totalArquivos: number): void {\n this.totalArquivos = totalArquivos;\n this.contadorArquivos = 0;\n this.ultimoProgressoGlobal = 0;\n this.ultimoEmitMs = 0;\n\n // Usa logEngine para formatação consistente apenas em modo complexo/verbose\n if (logEngine.contexto === 'complexo' || config.VERBOSE) {\n logEngine.log('info', LogMensagens.analistas.execucao.inicio_detalhado, {\n totalArquivos: totalArquivos.toString()\n });\n }\n // Em modo simples, não emite mensagem redundante (o progresso já mostra)\n },\n /** Log de inicio de analista (agora apenas registra) */\n iniciandoAnalista(nomeAnalista: string, arquivo: string, tamanho: number): void {\n // [MUTE] ANTI-SPAM: Só loga analistas individuais em contextos específicos\n const deveLogarIndividual = logEngine.contexto === 'complexo' || config.DEV_MODE || process.env.VERBOSE === 'true';\n if (deveLogarIndividual) {\n logEngine.log('debug', LogMensagens.analistas.execucao.inicio_detalhado, {\n analista: nomeAnalista,\n arquivo,\n tamanho: tamanho.toString()\n });\n }\n },\n /** Incrementa contador quando arquivo é processado */\n arquivoProcessado(): void {\n this.contadorArquivos++;\n if (logEngine.contexto !== 'complexo' && !config.DEV_MODE) {\n this.logProgressoGrupado();\n }\n },\n /** Log de conclusão de analista */\n concluido(nomeAnalista: string, arquivo: string, ocorrencias: number, duracao: number): void {\n const deveLogarIndividual = logEngine.contexto === 'complexo' || config.DEV_MODE || process.env.VERBOSE === 'true';\n if (deveLogarIndividual) {\n logEngine.log('info', LogMensagens.analistas.execucao.sucesso_detalhado, {\n analista: nomeAnalista,\n ocorrencias: ocorrencias.toString(),\n tempo: duracao.toFixed(2)\n });\n }\n },\n /** Log de progresso inteligente e agrupado */\n logProgressoGrupado(): void {\n const porcentagem = Math.round(this.contadorArquivos / this.totalArquivos * 100);\n const agora = Date.now();\n\n // Densidade adaptativa: 5% para projetos pequenos, 10% para grandes\n const passo = this.totalArquivos < 200 ? 5 : 10;\n // Limite de frequência: no máximo 2 atualizações por segundo\n const minIntervalMs = 500;\n\n // Atualiza o progresso em intervalos adaptativos com anti-spam\n if (porcentagem - this.ultimoProgressoGlobal >= passo || this.contadorArquivos === this.totalArquivos) {\n if (agora - this.ultimoEmitMs >= minIntervalMs || this.contadorArquivos === this.totalArquivos) {\n logEngine.log('info', `${ICONES_DIAGNOSTICO.progresso} Progresso: {arquivosProcessados}/{totalArquivos} ({percentual}%)`, {\n arquivosProcessados: this.contadorArquivos.toString(),\n totalArquivos: this.totalArquivos.toString(),\n percentual: porcentagem.toString()\n });\n this.ultimoProgressoGlobal = porcentagem;\n this.ultimoEmitMs = agora;\n }\n }\n },\n /** Finaliza batch de análise */\n finalizarBatch(totalOcorrencias: number, duracaoTotal: number): void {\n if (logEngine.contexto === 'simples') {\n logEngine.log('info', `${ICONES_STATUS.ok} Análise concluída - {totalOcorrencias} problemas encontrados`, {\n totalOcorrencias: totalOcorrencias.toString()\n });\n } else {\n logEngine.log('info', `${ICONES_STATUS.ok} Verificações concluídas - {totalOcorrencias} problemas detectados em {duracao}s`, {\n totalOcorrencias: totalOcorrencias.toString(),\n duracao: (duracaoTotal / 1000).toFixed(1)\n });\n }\n },\n /** Timeout sempre é importante - usa logEngine */\n timeout(nomeAnalista: string, duracao: number): void {\n logEngine.log('aviso', LogMensagens.analistas.execucao.timeout, {\n analista: nomeAnalista,\n tempo: duracao.toString()\n });\n },\n /** Erros sempre são importantes - usa logEngine */\n erro(nomeAnalista: string, erro: string): void {\n logEngine.log('erro', LogMensagens.analistas.execucao.erro, {\n analista: nomeAnalista,\n erro\n });\n },\n /** Performance para projetos complexos */\n performance(dados: {\n analistas: number;\n media: number;\n total: number;\n }): void {\n if (logEngine.contexto === 'complexo' || config.DEV_MODE) {\n logEngine.log('info', LogMensagens.analistas.metricas.performance, {\n analistas: dados.analistas.toString(),\n media: dados.media.toFixed(1)\n });\n }\n }\n};\n\n/**\n * Sistema de logs para scanner (agora via logEngine)\n */\nexport const logVarredor = {\n iniciarVarredura(diretorio: string): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.scanner.inicio, {\n diretorio\n });\n }\n },\n progresso(diretorio: string, arquivos: number): void {\n if (logEngine.contexto === 'complexo' || config.VERBOSE) {\n const nomeDiretorio = diretorio.split('/').pop() || diretorio;\n logEngine.log('info', LogMensagens.scanner.progresso, {\n diretorio: nomeDiretorio,\n arquivos: arquivos.toString()\n });\n }\n },\n filtros(includeCount: number, excludeCount: number): void {\n if (logEngine.contexto !== 'simples' && (includeCount > 0 || excludeCount > 0)) {\n logEngine.log('info', LogMensagens.scanner.filtros, {\n include: includeCount.toString(),\n exclude: excludeCount.toString()\n });\n }\n },\n completo(arquivos: number, diretorios: number): void {\n logEngine.log('info', LogMensagens.scanner.completo, {\n arquivos: arquivos.toString(),\n diretorios: diretorios.toString()\n });\n }\n};\n\n/**\n * Sistema de logs para o sistema principal (via logEngine)\n */\nexport const logSistema = {\n inicializacao(): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.sistema.inicializacao.sucesso, {});\n }\n },\n shutdown(): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.sistema.shutdown, {});\n }\n },\n erro(mensagem: string, detalhes?: string): void {\n const detalhesStr = detalhes ? ` - ${detalhes}` : '';\n logEngine.log('erro', `${ICONES_STATUS.falha} Erro: ${mensagem}${detalhesStr}`, {});\n },\n // Correções automáticas\n autoFixNenhumaCorrecao(): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.nenhuma_disponivel, {});\n },\n autoFixAplicando(modo: string): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.aplicando, {\n modo\n });\n },\n autoFixArquivoNaoEncontrado(arquivo: string): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.arquivo_nao_encontrado, {\n arquivo\n });\n },\n autoFixAplicada(titulo: string, confianca: number): void {\n if (config.VERBOSE) {\n logEngine.log('info', LogMensagens.sistema.correcoes.aplicada, {\n titulo,\n confianca: confianca.toString()\n });\n }\n },\n autoFixCorrigido(arquivo: string): void {\n if (config.VERBOSE) {\n logEngine.log('info', LogMensagens.sistema.correcoes.corrigido, {\n arquivo\n });\n }\n },\n autoFixFalha(id: string, erro: string): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.falha, {\n id,\n erro\n });\n },\n autoFixNenhumaAplicada(): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.nenhuma_aplicada, {});\n },\n autoFixEstatisticas(estatisticas: string[]): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.estatisticas, {\n estatisticas: estatisticas.join(', ')\n });\n },\n autoFixESLintHarmonia(): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.eslint_harmonia, {});\n },\n autoFixESLintAjustes(): void {\n logEngine.log('info', LogMensagens.sistema.correcoes.eslint_ajustes, {});\n },\n autoFixESLintFalha(erro: string): void {\n logEngine.log('aviso', LogMensagens.sistema.correcoes.eslint_falha, {\n erro\n });\n },\n // Processamento de diagnóstico\n processamentoFixDetectada(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.fix_detectada, {});\n },\n processamentoESLintOutput(output: string): void {\n logEngine.log('info', LogMensagens.sistema.processamento.eslint_output, {\n output\n });\n },\n processamentoResumoOcorrencias(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.resumo_ocorrencias, {\n total: total.toString()\n });\n },\n processamentoDicasContextuais(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.dicas_contextuais, {});\n },\n processamentoDetalhamentoOcorrencias(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.detalhamento_ocorrencias, {\n total: total.toString()\n });\n },\n processamentoErrosCriticos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.erros_criticos, {\n total: total.toString()\n });\n },\n processamentoAvisosEncontrados(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.avisos_encontrados, {\n total: total.toString()\n });\n },\n processamentoQuickFixesMuitos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.quick_fixes_muitos, {\n total: total.toString()\n });\n },\n processamentoQuickFixesComando(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.quick_fixes_comando, {});\n },\n processamentoQuickFixesExecutar(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.quick_fixes_executar, {});\n },\n processamentoTodosMuitos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.todos_muitos, {\n total: total.toString()\n });\n },\n processamentoTodosPoucos(total: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.todos_poucos, {\n total: total.toString()\n });\n },\n processamentoMuitasOcorrencias(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.muitas_ocorrencias, {});\n },\n processamentoFiltrarPasta(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.filtrar_pasta, {});\n },\n processamentoUsarFull(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.usar_full, {});\n },\n processamentoUsarJson(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.usar_json, {});\n },\n processamentoProjetoLimpo(): void {\n logEngine.log('info', LogMensagens.sistema.processamento.projeto_limpo, {});\n },\n processamentoAnalistasProblemas(quantidade: number): void {\n logEngine.log('info', LogMensagens.sistema.processamento.analistas_problemas, {\n quantidade: quantidade.toString()\n });\n },\n // Atualização do sistema\n atualizacaoExecutando(comando: string): void {\n logEngine.log('info', LogMensagens.sistema.atualizacao.executando, {\n comando\n });\n },\n atualizacaoSucesso(): void {\n logEngine.log('info', LogMensagens.sistema.atualizacao.sucesso, {});\n },\n atualizacaoFalha(): void {\n logEngine.log('erro', LogMensagens.sistema.atualizacao.falha, {});\n },\n atualizacaoDetalhes(detalhe: string): void {\n logEngine.log('aviso', LogMensagens.sistema.atualizacao.detalhes, {\n detalhe\n });\n },\n // Performance\n performanceRegressaoDetectada(limite: number): void {\n logEngine.log('aviso', LogMensagens.sistema.performance.regressao_detectada, {\n limite: limite.toString()\n });\n },\n performanceSemRegressoes(): void {\n logEngine.log('info', LogMensagens.sistema.performance.sem_regressoes, {});\n },\n // Poda\n podaCancelada(): void {\n logEngine.log('info', LogMensagens.sistema.poda.cancelada, {});\n },\n podaConcluida(): void {\n logEngine.log('info', LogMensagens.sistema.poda.concluida, {});\n },\n // Reversão\n reversaoNenhumMove(arquivo: string): void {\n logEngine.log('erro', LogMensagens.sistema.reversao.nenhum_move, {\n arquivo\n });\n },\n reversaoRevertendo(arquivo: string): void {\n logEngine.log('info', LogMensagens.sistema.reversao.revertendo, {\n arquivo\n });\n },\n reversaoSucesso(arquivo: string): void {\n logEngine.log('info', LogMensagens.sistema.reversao.sucesso, {\n arquivo\n });\n },\n reversaoFalha(arquivo: string): void {\n logEngine.log('erro', LogMensagens.sistema.reversao.falha, {\n arquivo\n });\n }\n};\n\n/**\n * Sistema de logs para filtros (via logEngine)\n */\nexport const logFiltros = {\n incluindo(pattern: string, matches: number): void {\n if (config.VERBOSE || logEngine.contexto === 'complexo') {\n logEngine.log('info', LogMensagens.filtros.incluindo, {\n pattern,\n matches: matches.toString()\n });\n }\n },\n excluindo(pattern: string, matches: number): void {\n if (config.VERBOSE || logEngine.contexto === 'complexo') {\n logEngine.log('info', LogMensagens.filtros.excluindo, {\n pattern,\n matches: matches.toString()\n });\n }\n },\n supressao(count: number, motivo: string): void {\n if (count > 0) {\n logEngine.log('info', LogMensagens.filtros.supressao, {\n count: count.toString(),\n motivo\n });\n }\n }\n};\n\n/**\n * Sistema de logs para projeto (via logEngine)\n */\nexport const logProjeto = {\n detectado(tipo: string, confianca: number): void {\n logEngine.log('info', LogMensagens.projeto.detectado, {\n tipo,\n confianca: confianca.toString()\n });\n },\n estrutura(arquivos: number, linguagens: number): void {\n if (logEngine.contexto !== 'simples') {\n logEngine.log('info', LogMensagens.projeto.estrutura, {\n arquivos: arquivos.toString(),\n linguagens: linguagens.toString()\n });\n }\n },\n complexidade(nivel: string, metricas: string): void {\n if (logEngine.contexto === 'complexo') {\n logEngine.log('info', LogMensagens.projeto.complexidade, {\n nivel,\n metricas\n });\n }\n },\n recomendacao(acao: string): void {\n logEngine.log('info', LogMensagens.projeto.recomendacao, {\n acao\n });\n },\n performance(dados: {\n analistas: number;\n duracao: number;\n throughput?: number;\n }): void {\n if (logEngine.contexto === 'complexo' || config.DEV_MODE) {\n const throughput = dados.throughput ? ` (${dados.throughput.toFixed(1)} arq/s)` : '';\n logEngine.log('info', `${ICONES_DIAGNOSTICO.stats} Performance: {analistas} analistas em {duracao}s{throughput}`, {\n analistas: dados.analistas.toString(),\n duracao: (dados.duracao / 1000).toFixed(1),\n throughput\n });\n }\n }\n};\n\n/**\n * Sistema de logs para ocorrências (via logEngine)\n */\nexport const logOcorrencias = {\n critica(mensagem: string, arquivo: string, linha?: number): void {\n logEngine.log('erro', LogMensagens.ocorrencias.critica, {\n mensagem,\n arquivo,\n linha: linha?.toString() || ''\n });\n },\n resumo(total: number, criticos: number, avisos: number): void {\n logEngine.log('info', LogMensagens.relatorio.resumo, {\n total: total.toString(),\n criticos: criticos.toString(),\n avisos: avisos.toString()\n });\n }\n};\n\n/**\n * Sistema de logs para relatórios (via logEngine)\n */\nexport const logRelatorio = {\n gerado(caminho: string, formato: string): void {\n logEngine.log('info', `${ICONES_ARQUIVO.arquivo} Relatório ${formato} gerado: ${caminho}`, {});\n },\n erro(erro: string): void {\n logEngine.log('erro', `${ICONES_STATUS.falha} Erro ao gerar relatório: ${erro}`, {});\n },\n repositorioImpecavel(): void {\n logEngine.log('info', LogMensagens.relatorio.repositorio_impecavel, {});\n },\n ocorrenciasEncontradas(total: number): void {\n logEngine.log('aviso', LogMensagens.relatorio.ocorrencias_encontradas, {\n total: total.toString()\n });\n },\n fimPadroesUso(): void {\n logEngine.log('info', LogMensagens.relatorio.fim_padroes_uso, {});\n },\n funcoesLongas(): void {\n logEngine.log('aviso', LogMensagens.relatorio.funcoes_longas, {});\n }\n};\n\n/**\n * Sistema de logs para automação (via logEngine)\n */\nexport const logAuto = {\n // Mapa de reversão\n mapaReversaoErroCarregar(erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.erro_carregar, {\n erro\n });\n },\n mapaReversaoErroSalvar(erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.erro_salvar, {\n erro\n });\n },\n mapaReversaoMoveNaoEncontrado(id: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.move_nao_encontrado, {\n id\n });\n },\n mapaReversaoArquivoDestinoNaoEncontrado(destino: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.arquivo_destino_nao_encontrado, {\n destino\n });\n },\n mapaReversaoArquivoExisteOrigem(origem: string): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.mapa_reversao.arquivo_existe_origem, {\n origem\n });\n },\n mapaReversaoErroReverter(erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.erro_reverter, {\n erro\n });\n },\n mapaReversaoNenhumMove(arquivo: string): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.mapa_reversao.nenhum_move, {\n arquivo\n });\n },\n mapaReversaoRevertendoMove(id: string): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.revertendo_move, {\n id\n });\n },\n mapaReversaoMoveRevertido(id: string): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.move_revertido, {\n id\n });\n },\n mapaReversaoFalhaReverterMove(id: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.mapa_reversao.falha_reverter_move, {\n id\n });\n },\n mapaReversaoCarregado(moves: number): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.carregado, {\n moves: moves.toString()\n });\n },\n mapaReversaoNenhumEncontrado(): void {\n logEngine.log('info', LogMensagens.sistema.auto.mapa_reversao.nenhum_encontrado, {});\n },\n // Poda\n podaNenhumArquivo(): void {\n logEngine.log('info', LogMensagens.sistema.auto.poda.nenhum_arquivo, {});\n },\n podaPodando(quantidade: number): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.poda.podando, {\n quantidade: quantidade.toString()\n });\n },\n podaPodandoSimulado(quantidade: number): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.poda.podando_simulado, {\n quantidade: quantidade.toString()\n });\n },\n podaArquivoMovido(arquivo: string): void {\n logEngine.log('info', LogMensagens.sistema.auto.poda.arquivo_movido, {\n arquivo\n });\n },\n // Corretor de estrutura\n corretorErroCriarDiretorio(destino: string, erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.corretor.erro_criar_diretorio, {\n destino,\n erro\n });\n },\n corretorDestinoExiste(arquivo: string, destino: string): void {\n logEngine.log('aviso', LogMensagens.sistema.auto.corretor.destino_existe, {\n arquivo,\n destino\n });\n },\n corretorErroMover(arquivo: string, erro: string): void {\n logEngine.log('erro', LogMensagens.sistema.auto.corretor.erro_mover, {\n arquivo,\n erro\n });\n },\n // Plugin específico\n pluginIgnorado(plugin: string, erro: string): void {\n logEngine.log('aviso', LogMensagens.auto.plugin_ignorado, {\n plugin,\n erro\n });\n },\n caminhoNaoResolvido(plugin: string): void {\n logEngine.log('aviso', LogMensagens.auto.caminho_nao_resolvido, {\n plugin\n });\n },\n pluginFalhou(plugin: string, erro: string): void {\n logEngine.log('aviso', LogMensagens.auto.plugin_falhou, {\n plugin,\n erro\n });\n },\n moveRemovido(id: string): void {\n logEngine.log('info', LogMensagens.auto.move_removido, {\n id\n });\n }\n};\n\n/**\n * Sistema de logs para Guardian (via logEngine)\n */\nexport const logGuardian = {\n integridadeOk(): void {\n logEngine.log('info', LogMensagens.guardian.integridade_ok, {});\n },\n baselineCriado(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_criado, {});\n },\n baselineAceito(): void {\n logEngine.log('aviso', LogMensagens.guardian.baseline_aceito, {});\n },\n alteracoesDetectadas(): void {\n logEngine.log('aviso', LogMensagens.guardian.alteracoes_detectadas, {});\n },\n bloqueado(): void {\n logEngine.log('erro', LogMensagens.guardian.bloqueado, {});\n },\n modoPermissivo(): void {\n logEngine.log('aviso', LogMensagens.guardian.modo_permissivo, {});\n },\n scanOnly(arquivos: number): void {\n logEngine.log('info', LogMensagens.guardian.scan_only, {\n arquivos: arquivos.toString()\n });\n },\n avisosEncontrados(): void {\n logEngine.log('aviso', LogMensagens.guardian.avisos_encontrados, {});\n },\n // Comando Guardian específico\n fullScanAviso(): void {\n logEngine.log('aviso', LogMensagens.guardian.full_scan_aviso, {});\n },\n fullScanWarningBaseline(): void {\n logEngine.log('aviso', LogMensagens.guardian.full_scan_warning_baseline, {});\n },\n aceitandoBaseline(): void {\n logEngine.log('info', LogMensagens.guardian.aceitando_baseline, {});\n },\n baselineAceitoSucesso(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_aceito_sucesso, {});\n },\n comparandoIntegridade(): void {\n logEngine.log('info', LogMensagens.guardian.comparando_integridade, {});\n },\n diferencasDetectadas(): void {\n logEngine.log('aviso', LogMensagens.guardian.diferencas_detectadas, {});\n },\n diferencaItem(diferenca: string): void {\n logEngine.log('info', LogMensagens.guardian.diferenca_item, {\n diferenca\n });\n },\n comandoDiffRecomendado(): void {\n logEngine.log('aviso', LogMensagens.guardian.comando_diff_recomendado, {});\n },\n integridadePreservada(): void {\n logEngine.log('info', LogMensagens.guardian.integridade_preservada, {});\n },\n verificandoIntegridade(): void {\n logEngine.log('info', LogMensagens.guardian.verificando_integridade, {});\n },\n baselineCriadoConsole(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_criado_console, {});\n },\n baselineAtualizado(): void {\n logEngine.log('info', LogMensagens.guardian.baseline_atualizado, {});\n },\n alteracoesSuspeitas(): void {\n logEngine.log('aviso', LogMensagens.guardian.alteracoes_suspeitas, {});\n },\n erroGuardian(erro: string): void {\n logEngine.log('erro', LogMensagens.guardian.erro_guardian, {\n erro\n });\n },\n // Método genérico para outras mensagens Guardian\n info(mensagem: string): void {\n logEngine.log('info', `${ICONES_FEEDBACK.info} ${mensagem}`, {});\n },\n aviso(mensagem: string): void {\n logEngine.log('aviso', `${ICONES_FEEDBACK.atencao} ${mensagem}`, {});\n }\n};\n\n/**\n * Conselheiro tutanusal para bem-estar do desenvolvedor\n */\nexport const logConselheiro = {\n volumeAlto(): void {\n logEngine.log('aviso', LogMensagens.conselheiro.volume_alto, {});\n },\n respira(): void {\n logEngine.log('aviso', LogMensagens.conselheiro.respira, {});\n },\n cuidado(): void {\n logEngine.log('aviso', LogMensagens.conselheiro.cuidado, {});\n },\n madrugada(hora: string): void {\n logEngine.log('aviso', LogMensagens.conselheiro.madrugada, {\n hora\n });\n }\n};\n\n/**\n * Sistema de logs para Métricas\n */\nexport const logMetricas = {\n execucoesRegistradas(quantidade: number): void {\n logEngine.log('info', LogMensagens.metricas.execucoes_registradas, {\n quantidade: quantidade.toString()\n });\n },\n nenhumHistorico(): void {\n logEngine.log('aviso', LogMensagens.metricas.nenhum_historico, {});\n }\n};\n\n/**\n * Sistema de logs para Core (parsing, etc.)\n */\nexport const logCore = {\n erroBabel(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_babel, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroTs(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_ts, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroCss(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_css, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroXml(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_xml, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n erroHtml(erro: string, arquivo?: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.erro_html, {\n erro,\n arquivo: arquivo || 'desconhecido'\n });\n },\n nenhumParser(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.nenhum_parser, {\n extensao\n });\n },\n timeoutParsing(timeout: number, extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.timeout_parsing, {\n timeout: timeout.toString(),\n extensao\n });\n },\n pluginNaoEncontrado(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.plugin_nao_encontrado, {\n extensao\n });\n },\n sistemaPluginsFalhou(erro: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.sistema_plugins_falhou, {\n erro\n });\n },\n // Plugins\n erroCarregarPlugin(nome: string, erro: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.erro_carregar, {\n nome,\n erro\n });\n },\n tentandoAutoload(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.tentando_autoload, {\n extensao\n });\n },\n autoloadFalhou(nome: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.autoload_falhou, {\n nome\n });\n },\n extensaoNaoSuportada(extensao: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.extensao_nao_suportada, {\n extensao\n });\n },\n pluginsRegistrados(): void {\n logEngine.log('debug', LogMensagens.core.parsing.plugins_registrados, {});\n },\n usandoPlugin(nome: string, extensao: string): void {\n logEngine.log('debug', LogMensagens.core.parsing.usando_plugin, {\n nome,\n extensao\n });\n },\n registrandoPlugin(nome: string, versao: string): void {\n logEngine.log('debug', LogMensagens.core.plugins.registrando, {\n nome,\n versao\n });\n },\n reaproveitadoIncremental(arquivo: string): void {\n logEngine.log('info', LogMensagens.core.executor.reaproveitado_incremental, {\n arquivo\n });\n }\n};"]}
@@ -1,11 +1,11 @@
1
1
  export declare const RelatorioAsyncPatternsMensagens: {
2
2
  readonly totalOcorrencias: "Total de ocorrências unhandled-async: {total}";
3
- readonly topArquivos: "\n🔴 TOP {total} Arquivos com Mais Promises Não Tratadas:\n";
3
+ readonly topArquivos: "\n[RED] TOP {total} Arquivos com Mais Promises Não Tratadas:\n";
4
4
  readonly promiseSemTratamento: " └─ {total} promise(s) sem tratamento de erro";
5
5
  readonly prioridade: " └─ Prioridade: {nivel}\n";
6
- readonly distribuicaoCategoria: "\n📂 Distribuição por Categoria:\n";
6
+ readonly distribuicaoCategoria: "\n[FOLDER] Distribuição por Categoria:\n";
7
7
  readonly categoriaStats: " {categoria}: {arquivos} arquivos, {promises} promises";
8
- readonly proximosPassos: "\n📋 Próximos Passos:\n";
8
+ readonly proximosPassos: "\n[LIST] Próximos Passos:\n";
9
9
  readonly passo1: "1. Revisar arquivos CRÍTICOS e adicionar .catch() ou try/catch";
10
10
  readonly passo2: "2. Para arquivos com muitas ocorrências, considerar refatoração";
11
11
  readonly passo3: "3. Validar se promises têm tratamento em nível superior";
@@ -1,11 +1,11 @@
1
1
  export const RelatorioAsyncPatternsMensagens = {
2
2
  totalOcorrencias: 'Total de ocorrências unhandled-async: {total}',
3
- topArquivos: '\n🔴 TOP {total} Arquivos com Mais Promises Não Tratadas:\n',
3
+ topArquivos: '\n[RED] TOP {total} Arquivos com Mais Promises Não Tratadas:\n',
4
4
  promiseSemTratamento: ' └─ {total} promise(s) sem tratamento de erro',
5
5
  prioridade: ' └─ Prioridade: {nivel}\n',
6
- distribuicaoCategoria: '\n📂 Distribuição por Categoria:\n',
6
+ distribuicaoCategoria: '\n[FOLDER] Distribuição por Categoria:\n',
7
7
  categoriaStats: ' {categoria}: {arquivos} arquivos, {promises} promises',
8
- proximosPassos: '\n📋 Próximos Passos:\n',
8
+ proximosPassos: '\n[LIST] Próximos Passos:\n',
9
9
  passo1: '1. Revisar arquivos CRÍTICOS e adicionar .catch() ou try/catch',
10
10
  passo2: '2. Para arquivos com muitas ocorrências, considerar refatoração',
11
11
  passo3: '3. Validar se promises têm tratamento em nível superior',
@@ -1 +1 @@
1
- {"version":3,"file":"report-async-patterns-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/reports/report-async-patterns-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,gBAAgB,EAAE,+CAA+C;IACjE,WAAW,EAAE,6DAA6D;IAC1E,oBAAoB,EAAE,iDAAiD;IACvE,UAAU,EAAE,6BAA6B;IACzC,qBAAqB,EAAE,oCAAoC;IAC3D,cAAc,EAAE,yDAAyD;IACzE,cAAc,EAAE,yBAAyB;IACzC,MAAM,EAAE,gEAAgE;IACxE,MAAM,EAAE,iEAAiE;IACzE,MAAM,EAAE,yDAAyD;IACjE,MAAM,EAAE,8CAA8C;IACtD,aAAa,EAAE;QACb,cAAc,EAAE;YACd,6DAA6D;YAC7D,8DAA8D;YAC9D,sDAAsD;YACtD,yCAAyC;SAC1C;KACF;CACO,CAAC","sourcesContent":["/**\n * Messages for async patterns report (Portuguese).\n */\nexport const RelatorioAsyncPatternsMensagens = {\n totalOcorrencias: 'Total de ocorrências unhandled-async: {total}',\n topArquivos: '\\n🔴 TOP {total} Arquivos com Mais Promises Não Tratadas:\\n',\n promiseSemTratamento: ' └─ {total} promise(s) sem tratamento de erro',\n prioridade: ' └─ Prioridade: {nivel}\\n',\n distribuicaoCategoria: '\\n📂 Distribuição por Categoria:\\n',\n categoriaStats: ' {categoria}: {arquivos} arquivos, {promises} promises',\n proximosPassos: '\\n📋 Próximos Passos:\\n',\n passo1: '1. Revisar arquivos CRÍTICOS e adicionar .catch() ou try/catch',\n passo2: '2. Para arquivos com muitas ocorrências, considerar refatoração',\n passo3: '3. Validar se promises têm tratamento em nível superior',\n passo4: '4. Adicionar testes para garantir robustez\\n',\n recomendacoes: {\n proximosPassos: [\n 'Revisar arquivos CRÍTICOS e adicionar .catch() ou try/catch',\n 'Para arquivos com muitas ocorrências, considerar refatoração',\n 'Validar se promises têm tratamento em nível superior',\n 'Adicionar testes para garantir robustez',\n ],\n },\n} as const;\n"]}
1
+ {"version":3,"file":"report-async-patterns-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/reports/report-async-patterns-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,gBAAgB,EAAE,+CAA+C;IACjE,WAAW,EAAE,gEAAgE;IAC7E,oBAAoB,EAAE,iDAAiD;IACvE,UAAU,EAAE,6BAA6B;IACzC,qBAAqB,EAAE,0CAA0C;IACjE,cAAc,EAAE,yDAAyD;IACzE,cAAc,EAAE,6BAA6B;IAC7C,MAAM,EAAE,gEAAgE;IACxE,MAAM,EAAE,iEAAiE;IACzE,MAAM,EAAE,yDAAyD;IACjE,MAAM,EAAE,8CAA8C;IACtD,aAAa,EAAE;QACb,cAAc,EAAE;YACd,6DAA6D;YAC7D,8DAA8D;YAC9D,sDAAsD;YACtD,yCAAyC;SAC1C;KACF;CACO,CAAC","sourcesContent":["/**\n * Messages for async patterns report (Portuguese).\n */\nexport const RelatorioAsyncPatternsMensagens = {\n totalOcorrencias: 'Total de ocorrências unhandled-async: {total}',\n topArquivos: '\\n[RED] TOP {total} Arquivos com Mais Promises Não Tratadas:\\n',\n promiseSemTratamento: ' └─ {total} promise(s) sem tratamento de erro',\n prioridade: ' └─ Prioridade: {nivel}\\n',\n distribuicaoCategoria: '\\n[FOLDER] Distribuição por Categoria:\\n',\n categoriaStats: ' {categoria}: {arquivos} arquivos, {promises} promises',\n proximosPassos: '\\n[LIST] Próximos Passos:\\n',\n passo1: '1. Revisar arquivos CRÍTICOS e adicionar .catch() ou try/catch',\n passo2: '2. Para arquivos com muitas ocorrências, considerar refatoração',\n passo3: '3. Validar se promises têm tratamento em nível superior',\n passo4: '4. Adicionar testes para garantir robustez\\n',\n recomendacoes: {\n proximosPassos: [\n 'Revisar arquivos CRÍTICOS e adicionar .catch() ou try/catch',\n 'Para arquivos com muitas ocorrências, considerar refatoração',\n 'Validar se promises têm tratamento em nível superior',\n 'Adicionar testes para garantir robustez',\n ],\n },\n} as const;\n"]}
@@ -1,7 +1,7 @@
1
1
  export declare const PluginCoreMensagens: {
2
- readonly phpParse: "🐘 PHP pseudo-parse: {classes} classes, {funcoes} funções";
2
+ readonly phpParse: "[ELEPHANT] PHP pseudo-parse: {classes} classes, {funcoes} funções";
3
3
  readonly phpErro: "[AVISO] Erro ao parsear PHP: {erro}";
4
- readonly pythonParse: "🐍 Python pseudo-parse: {classes} classes, {funcoes} funções";
4
+ readonly pythonParse: "[SNAKE] Python pseudo-parse: {classes} classes, {funcoes} funções";
5
5
  readonly pythonErro: "[AVISO] Erro ao parsear Python: {erro}";
6
6
  };
7
7
  //# sourceMappingURL=plugin-core-messages.d.ts.map
@@ -1,7 +1,7 @@
1
1
  export const PluginCoreMensagens = {
2
- phpParse: '🐘 PHP pseudo-parse: {classes} classes, {funcoes} funções',
2
+ phpParse: '[ELEPHANT] PHP pseudo-parse: {classes} classes, {funcoes} funções',
3
3
  phpErro: '[AVISO] Erro ao parsear PHP: {erro}',
4
- pythonParse: '🐍 Python pseudo-parse: {classes} classes, {funcoes} funções',
4
+ pythonParse: '[SNAKE] Python pseudo-parse: {classes} classes, {funcoes} funções',
5
5
  pythonErro: '[AVISO] Erro ao parsear Python: {erro}',
6
6
  };
7
7
  //# sourceMappingURL=plugin-core-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-core-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/shared/plugin-core-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,2DAA2D;IACrE,OAAO,EAAE,qCAAqC;IAC9C,WAAW,EAAE,8DAA8D;IAC3E,UAAU,EAAE,wCAAwC;CAC5C,CAAC","sourcesContent":["/**\n * Messages for plugin core (Portuguese).\n */\nexport const PluginCoreMensagens = {\n phpParse: '🐘 PHP pseudo-parse: {classes} classes, {funcoes} funções',\n phpErro: '[AVISO] Erro ao parsear PHP: {erro}',\n pythonParse: '🐍 Python pseudo-parse: {classes} classes, {funcoes} funções',\n pythonErro: '[AVISO] Erro ao parsear Python: {erro}',\n} as const;\n"]}
1
+ {"version":3,"file":"plugin-core-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/shared/plugin-core-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,mEAAmE;IAC7E,OAAO,EAAE,qCAAqC;IAC9C,WAAW,EAAE,mEAAmE;IAChF,UAAU,EAAE,wCAAwC;CAC5C,CAAC","sourcesContent":["/**\n * Messages for plugin core (Portuguese).\n */\nexport const PluginCoreMensagens = {\n phpParse: '[ELEPHANT] PHP pseudo-parse: {classes} classes, {funcoes} funções',\n phpErro: '[AVISO] Erro ao parsear PHP: {erro}',\n pythonParse: '[SNAKE] Python pseudo-parse: {classes} classes, {funcoes} funções',\n pythonErro: '[AVISO] Erro ao parsear Python: {erro}',\n} as const;\n"]}
@@ -2,10 +2,10 @@ export declare const PluginRegistryMensagens: {
2
2
  readonly extensaoSobrescrita: "[AVISO] Extensão {ext} já mapeada para plugin {existente}, sobrescrevendo com {novo}";
3
3
  readonly pluginRegistrado: "[OK] Plugin {nome} registrado com extensões: {extensoes}";
4
4
  readonly carregandoPlugin: "[PACOTE] Carregando plugin: {nome}";
5
- readonly pluginDesabilitado: "🚫 Plugin {nome} está desabilitado para extensão {extensao}";
6
- readonly linguagemDesabilitada: "🚫 Suporte à linguagem {linguagem} está desabilitado";
5
+ readonly pluginDesabilitado: "[NO] Plugin {nome} está desabilitado para extensão {extensao}";
6
+ readonly linguagemDesabilitada: "[NO] Suporte à linguagem {linguagem} está desabilitado";
7
7
  readonly configAtualizada: "[CHAVE-INGLESA] Configuração do registry atualizada";
8
- readonly suporteAtualizado: "🌐 Suporte a linguagens atualizado";
9
- readonly cacheLimpo: "🧹 Cache do registry limpo";
8
+ readonly suporteAtualizado: "[GLOBE] Suporte a linguagens atualizado";
9
+ readonly cacheLimpo: "[BROOM] Cache do registry limpo";
10
10
  };
11
11
  //# sourceMappingURL=plugin-registry-messages.d.ts.map
@@ -2,10 +2,10 @@ export const PluginRegistryMensagens = {
2
2
  extensaoSobrescrita: '[AVISO] Extensão {ext} já mapeada para plugin {existente}, sobrescrevendo com {novo}',
3
3
  pluginRegistrado: '[OK] Plugin {nome} registrado com extensões: {extensoes}',
4
4
  carregandoPlugin: '[PACOTE] Carregando plugin: {nome}',
5
- pluginDesabilitado: '🚫 Plugin {nome} está desabilitado para extensão {extensao}',
6
- linguagemDesabilitada: '🚫 Suporte à linguagem {linguagem} está desabilitado',
5
+ pluginDesabilitado: '[NO] Plugin {nome} está desabilitado para extensão {extensao}',
6
+ linguagemDesabilitada: '[NO] Suporte à linguagem {linguagem} está desabilitado',
7
7
  configAtualizada: '[CHAVE-INGLESA] Configuração do registry atualizada',
8
- suporteAtualizado: '🌐 Suporte a linguagens atualizado',
9
- cacheLimpo: '🧹 Cache do registry limpo',
8
+ suporteAtualizado: '[GLOBE] Suporte a linguagens atualizado',
9
+ cacheLimpo: '[BROOM] Cache do registry limpo',
10
10
  };
11
11
  //# sourceMappingURL=plugin-registry-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/shared/plugin-registry-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,mBAAmB,EAAE,sFAAsF;IAC3G,gBAAgB,EAAE,0DAA0D;IAC5E,gBAAgB,EAAE,oCAAoC;IACtD,kBAAkB,EAAE,6DAA6D;IACjF,qBAAqB,EAAE,sDAAsD;IAC7E,gBAAgB,EAAE,qDAAqD;IACvE,iBAAiB,EAAE,oCAAoC;IACvD,UAAU,EAAE,4BAA4B;CAChC,CAAC","sourcesContent":["/**\n * Messages for plugin registry (Portuguese).\n */\nexport const PluginRegistryMensagens = {\n extensaoSobrescrita: '[AVISO] Extensão {ext} já mapeada para plugin {existente}, sobrescrevendo com {novo}',\n pluginRegistrado: '[OK] Plugin {nome} registrado com extensões: {extensoes}',\n carregandoPlugin: '[PACOTE] Carregando plugin: {nome}',\n pluginDesabilitado: '🚫 Plugin {nome} está desabilitado para extensão {extensao}',\n linguagemDesabilitada: '🚫 Suporte à linguagem {linguagem} está desabilitado',\n configAtualizada: '[CHAVE-INGLESA] Configuração do registry atualizada',\n suporteAtualizado: '🌐 Suporte a linguagens atualizado',\n cacheLimpo: '🧹 Cache do registry limpo',\n} as const;\n"]}
1
+ {"version":3,"file":"plugin-registry-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/pt/shared/plugin-registry-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,mBAAmB,EAAE,sFAAsF;IAC3G,gBAAgB,EAAE,0DAA0D;IAC5E,gBAAgB,EAAE,oCAAoC;IACtD,kBAAkB,EAAE,+DAA+D;IACnF,qBAAqB,EAAE,wDAAwD;IAC/E,gBAAgB,EAAE,qDAAqD;IACvE,iBAAiB,EAAE,yCAAyC;IAC5D,UAAU,EAAE,iCAAiC;CACrC,CAAC","sourcesContent":["/**\n * Messages for plugin registry (Portuguese).\n */\nexport const PluginRegistryMensagens = {\n extensaoSobrescrita: '[AVISO] Extensão {ext} já mapeada para plugin {existente}, sobrescrevendo com {novo}',\n pluginRegistrado: '[OK] Plugin {nome} registrado com extensões: {extensoes}',\n carregandoPlugin: '[PACOTE] Carregando plugin: {nome}',\n pluginDesabilitado: '[NO] Plugin {nome} está desabilitado para extensão {extensao}',\n linguagemDesabilitada: '[NO] Suporte à linguagem {linguagem} está desabilitado',\n configAtualizada: '[CHAVE-INGLESA] Configuração do registry atualizada',\n suporteAtualizado: '[GLOBE] Suporte a linguagens atualizado',\n cacheLimpo: '[BROOM] Cache do registry limpo',\n} as const;\n"]}
@@ -3,8 +3,8 @@ export declare const ArquetiposExtraMensagens: {
3
3
  readonly salvo: "[OK] 自定义原型已保存到 {caminho}";
4
4
  readonly projetoPersonalizado: "[ESTRELA] 检测到自定义项目:\"{nome}\"";
5
5
  readonly descricaoPersonalizado: "Tutanus 识别出不匹配官方原型的项目结构,\n但您可以创建自定义原型以获得优化的建议!";
6
- readonly estruturaDetectada: "📁 检测到的结构:";
7
- readonly arquivosRaiz: "📄 根目录文件:";
6
+ readonly estruturaDetectada: "[FOLDER] 检测到的结构:";
7
+ readonly arquivosRaiz: "[FILE] 根目录文件:";
8
8
  readonly dicaCriar: "[IDEIA] 要创建自定义原型,请运行:";
9
9
  readonly comandoCriar: " tutanus diagnosticar --criar-arquetipo";
10
10
  readonly explicacaoCriar: "这将基于当前结构创建 'tutanus.repo.arquetipo.json' 文件,\nTutanus 将使用该文件在保持最佳实践的同时提供个性化建议。";
@@ -3,8 +3,8 @@ export const ArquetiposExtraMensagens = {
3
3
  salvo: '[OK] 自定义原型已保存到 {caminho}',
4
4
  projetoPersonalizado: '[ESTRELA] 检测到自定义项目:"{nome}"',
5
5
  descricaoPersonalizado: 'Tutanus 识别出不匹配官方原型的项目结构,\n但您可以创建自定义原型以获得优化的建议!',
6
- estruturaDetectada: '📁 检测到的结构:',
7
- arquivosRaiz: '📄 根目录文件:',
6
+ estruturaDetectada: '[FOLDER] 检测到的结构:',
7
+ arquivosRaiz: '[FILE] 根目录文件:',
8
8
  dicaCriar: '[IDEIA] 要创建自定义原型,请运行:',
9
9
  comandoCriar: ' tutanus diagnosticar --criar-arquetipo',
10
10
  explicacaoCriar: '这将基于当前结构创建 \'tutanus.repo.arquetipo.json\' 文件,\nTutanus 将使用该文件在保持最佳实践的同时提供个性化建议。',
@@ -1 +1 @@
1
- {"version":3,"file":"archetypes-extra-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/archetypes-extra-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,aAAa,EAAE,oCAAoC;IACnD,KAAK,EAAE,0BAA0B;IACjC,oBAAoB,EAAE,6BAA6B;IACnD,sBAAsB,EAAE,gDAAgD;IACxE,kBAAkB,EAAE,YAAY;IAChC,YAAY,EAAE,WAAW;IACzB,SAAS,EAAE,uBAAuB;IAClC,YAAY,EAAE,2CAA2C;IACzD,eAAe,EAAE,kFAAkF;IACnG,SAAS,EAAE;QACT,eAAe,EAAE,UAAU;QAC3B,oBAAoB,EAAE,YAAY;QAClC,sBAAsB,EAAE,4CAA4C;QACpE,oBAAoB,EAAE,WAAW;QACjC,eAAe,EAAE,SAAS;QAC1B,kBAAkB,EAAE,WAAW;KAChC;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,YAAY;QAC7B,aAAa,EAAE,cAAc;KAC9B;CACO,CAAC","sourcesContent":["/**\n * Extra messages for archetype analysis (Chinese).\n */\nexport const ArquetiposExtraMensagens = {\n naoEncontrado: '[警告] 在 {novo} 或 {legado} 中未找到自定义原型',\n salvo: '[OK] 自定义原型已保存到 {caminho}',\n projetoPersonalizado: '[ESTRELA] 检测到自定义项目:\"{nome}\"',\n descricaoPersonalizado: 'Tutanus 识别出不匹配官方原型的项目结构,\\n但您可以创建自定义原型以获得优化的建议!',\n estruturaDetectada: '📁 检测到的结构:',\n arquivosRaiz: '📄 根目录文件:',\n dicaCriar: '[IDEIA] 要创建自定义原型,请运行:',\n comandoCriar: ' tutanus diagnosticar --criar-arquetipo',\n explicacaoCriar: '这将基于当前结构创建 \\'tutanus.repo.arquetipo.json\\' 文件,\\nTutanus 将使用该文件在保持最佳实践的同时提供个性化建议。',\n validacao: {\n nomeObrigatorio: '项目名称为必填项',\n arquetipoObrigatorio: '必须指定基础官方原型',\n arquetipoNaoEncontrado: '未找到官方原型 \\'{arquetipo}\\'。可用选项:{disponiveis}',\n estruturaObrigatoria: '自定义结构为必填项',\n diretoriosArray: '目录必须是数组',\n arquivosChaveArray: '关键文件必须是数组',\n },\n melhoresPraticas: {\n srcOrganizado: '保持源代码在 src/ 中有序组织',\n testesDedicados: '将测试分离到专用目录',\n documenteApis: '记录 API 和重要功能',\n },\n} as const;\n"]}
1
+ {"version":3,"file":"archetypes-extra-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/archetypes-extra-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,aAAa,EAAE,oCAAoC;IACnD,KAAK,EAAE,0BAA0B;IACjC,oBAAoB,EAAE,6BAA6B;IACnD,sBAAsB,EAAE,gDAAgD;IACxE,kBAAkB,EAAE,kBAAkB;IACtC,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,uBAAuB;IAClC,YAAY,EAAE,2CAA2C;IACzD,eAAe,EAAE,kFAAkF;IACnG,SAAS,EAAE;QACT,eAAe,EAAE,UAAU;QAC3B,oBAAoB,EAAE,YAAY;QAClC,sBAAsB,EAAE,4CAA4C;QACpE,oBAAoB,EAAE,WAAW;QACjC,eAAe,EAAE,SAAS;QAC1B,kBAAkB,EAAE,WAAW;KAChC;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,YAAY;QAC7B,aAAa,EAAE,cAAc;KAC9B;CACO,CAAC","sourcesContent":["/**\n * Extra messages for archetype analysis (Chinese).\n */\nexport const ArquetiposExtraMensagens = {\n naoEncontrado: '[警告] 在 {novo} 或 {legado} 中未找到自定义原型',\n salvo: '[OK] 自定义原型已保存到 {caminho}',\n projetoPersonalizado: '[ESTRELA] 检测到自定义项目:\"{nome}\"',\n descricaoPersonalizado: 'Tutanus 识别出不匹配官方原型的项目结构,\\n但您可以创建自定义原型以获得优化的建议!',\n estruturaDetectada: '[FOLDER] 检测到的结构:',\n arquivosRaiz: '[FILE] 根目录文件:',\n dicaCriar: '[IDEIA] 要创建自定义原型,请运行:',\n comandoCriar: ' tutanus diagnosticar --criar-arquetipo',\n explicacaoCriar: '这将基于当前结构创建 \\'tutanus.repo.arquetipo.json\\' 文件,\\nTutanus 将使用该文件在保持最佳实践的同时提供个性化建议。',\n validacao: {\n nomeObrigatorio: '项目名称为必填项',\n arquetipoObrigatorio: '必须指定基础官方原型',\n arquetipoNaoEncontrado: '未找到官方原型 \\'{arquetipo}\\'。可用选项:{disponiveis}',\n estruturaObrigatoria: '自定义结构为必填项',\n diretoriosArray: '目录必须是数组',\n arquivosChaveArray: '关键文件必须是数组',\n },\n melhoresPraticas: {\n srcOrganizado: '保持源代码在 src/ 中有序组织',\n testesDedicados: '将测试分离到专用目录',\n documenteApis: '记录 API 和重要功能',\n },\n} as const;\n"]}
@@ -1,10 +1,10 @@
1
1
  type ErroUnknown = unknown;
2
2
  export declare const DetectorCleanArchMensagens: {
3
3
  readonly padraoCleanArch: (padrao: string | undefined, confianca: number) => string;
4
- readonly camadaDomain: (presente: boolean) => " 检测到领域层" | " 缺少领域层";
5
- readonly camadaApplication: (presente: boolean) => " 检测到应用层" | " 缺少应用层";
6
- readonly camadaInfrastructure: (presente: boolean) => " 检测到基础设施层" | " 缺少基础设施层";
7
- readonly camadaPresentation: (presente: boolean) => " 检测到表示层" | " 缺少表示层";
4
+ readonly camadaDomain: (presente: boolean) => "[V] 检测到领域层" | "[X] 缺少领域层";
5
+ readonly camadaApplication: (presente: boolean) => "[V] 检测到应用层" | "[X] 缺少应用层";
6
+ readonly camadaInfrastructure: (presente: boolean) => "[V] 检测到基础设施层" | "[X] 缺少基础设施层";
7
+ readonly camadaPresentation: (presente: boolean) => "[V] 检测到表示层" | "[X] 缺少表示层";
8
8
  readonly violacaoDependencia: (camada: string, dependencia: string) => string;
9
9
  readonly recomendacaoUseCases: "在应用层添加用例(use-cases)来编排业务规则";
10
10
  readonly recomendacaoEntities: "创建封装业务规则的丰富领域实体";
@@ -3,10 +3,10 @@ function erroToMessage(erro) {
3
3
  }
4
4
  export const DetectorCleanArchMensagens = {
5
5
  padraoCleanArch: (padrao, confianca) => `整洁架构:${padrao}(${confianca}% 置信度)`,
6
- camadaDomain: (presente) => presente ? ' 检测到领域层' : ' 缺少领域层',
7
- camadaApplication: (presente) => presente ? ' 检测到应用层' : ' 缺少应用层',
8
- camadaInfrastructure: (presente) => presente ? ' 检测到基础设施层' : ' 缺少基础设施层',
9
- camadaPresentation: (presente) => presente ? ' 检测到表示层' : ' 缺少表示层',
6
+ camadaDomain: (presente) => presente ? '[V] 检测到领域层' : '[X] 缺少领域层',
7
+ camadaApplication: (presente) => presente ? '[V] 检测到应用层' : '[X] 缺少应用层',
8
+ camadaInfrastructure: (presente) => presente ? '[V] 检测到基础设施层' : '[X] 缺少基础设施层',
9
+ camadaPresentation: (presente) => presente ? '[V] 检测到表示层' : '[X] 缺少表示层',
10
10
  violacaoDependencia: (camada, dependencia) => `违规:${camada} 依赖于 ${dependencia}。整洁架构要求依赖指向内层`,
11
11
  recomendacaoUseCases: '在应用层添加用例(use-cases)来编排业务规则',
12
12
  recomendacaoEntities: '创建封装业务规则的丰富领域实体',
@@ -1 +1 @@
1
- {"version":3,"file":"detector-clean-arch-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/detector-clean-arch-messages.ts"],"names":[],"mappings":"AAOA,SAAS,aAAa,CAAC,IAAiB;IACtC,OAAO,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACvD,CAAC;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,eAAe,EAAE,CAAC,MAA0B,EAAE,SAAiB,EAAE,EAAE,CAAC,QAAQ,MAAM,IAAI,SAAS,QAAQ;IACvG,YAAY,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;IACtE,iBAAiB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;IAC3E,oBAAoB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;IAClF,kBAAkB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;IAC5E,mBAAmB,EAAE,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE,CAAC,MAAM,MAAM,QAAQ,WAAW,eAAe;IAC5G,oBAAoB,EAAE,4BAA4B;IAClD,oBAAoB,EAAE,iBAAiB;IACvC,sBAAsB,EAAE,qBAAqB;IAC7C,qBAAqB,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,aAAa,aAAa,CAAC,IAAI,CAAC,EAAE;CACxE,CAAC","sourcesContent":["// SPDX-License-Identifier: MIT\n\n/**\n * @fileoverview 整洁架构检测器的诊断消息。\n */\n\ntype ErroUnknown = unknown;\nfunction erroToMessage(erro: ErroUnknown): string {\n return erro instanceof Error ? erro.message : '未知错误';\n}\nexport const DetectorCleanArchMensagens = {\n padraoCleanArch: (padrao: string | undefined, confianca: number) => `整洁架构:${padrao}(${confianca}% 置信度)`,\n camadaDomain: (presente: boolean) => presente ? ' 检测到领域层' : ' 缺少领域层',\n camadaApplication: (presente: boolean) => presente ? ' 检测到应用层' : ' 缺少应用层',\n camadaInfrastructure: (presente: boolean) => presente ? ' 检测到基础设施层' : ' 缺少基础设施层',\n camadaPresentation: (presente: boolean) => presente ? ' 检测到表示层' : ' 缺少表示层',\n violacaoDependencia: (camada: string, dependencia: string) => `违规:${camada} 依赖于 ${dependencia}。整洁架构要求依赖指向内层`,\n recomendacaoUseCases: '在应用层添加用例(use-cases)来编排业务规则',\n recomendacaoEntities: '创建封装业务规则的丰富领域实体',\n recomendacaoRepository: '在领域层定义仓储接口,在基础设施层实现',\n erroAnalisarCleanArch: (erro: ErroUnknown) => `分析整洁架构时出错:${erroToMessage(erro)}`\n} as const;\n"]}
1
+ {"version":3,"file":"detector-clean-arch-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/detector-clean-arch-messages.ts"],"names":[],"mappings":"AAOA,SAAS,aAAa,CAAC,IAAiB;IACtC,OAAO,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACvD,CAAC;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,eAAe,EAAE,CAAC,MAA0B,EAAE,SAAiB,EAAE,EAAE,CAAC,QAAQ,MAAM,IAAI,SAAS,QAAQ;IACvG,YAAY,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;IAC1E,iBAAiB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;IAC/E,oBAAoB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;IACtF,kBAAkB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;IAChF,mBAAmB,EAAE,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE,CAAC,MAAM,MAAM,QAAQ,WAAW,eAAe;IAC5G,oBAAoB,EAAE,4BAA4B;IAClD,oBAAoB,EAAE,iBAAiB;IACvC,sBAAsB,EAAE,qBAAqB;IAC7C,qBAAqB,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,aAAa,aAAa,CAAC,IAAI,CAAC,EAAE;CACxE,CAAC","sourcesContent":["// SPDX-License-Identifier: MIT\n\n/**\n * @fileoverview 整洁架构检测器的诊断消息。\n */\n\ntype ErroUnknown = unknown;\nfunction erroToMessage(erro: ErroUnknown): string {\n return erro instanceof Error ? erro.message : '未知错误';\n}\nexport const DetectorCleanArchMensagens = {\n padraoCleanArch: (padrao: string | undefined, confianca: number) => `整洁架构:${padrao}(${confianca}% 置信度)`,\n camadaDomain: (presente: boolean) => presente ? '[V] 检测到领域层' : '[X] 缺少领域层',\n camadaApplication: (presente: boolean) => presente ? '[V] 检测到应用层' : '[X] 缺少应用层',\n camadaInfrastructure: (presente: boolean) => presente ? '[V] 检测到基础设施层' : '[X] 缺少基础设施层',\n camadaPresentation: (presente: boolean) => presente ? '[V] 检测到表示层' : '[X] 缺少表示层',\n violacaoDependencia: (camada: string, dependencia: string) => `违规:${camada} 依赖于 ${dependencia}。整洁架构要求依赖指向内层`,\n recomendacaoUseCases: '在应用层添加用例(use-cases)来编排业务规则',\n recomendacaoEntities: '创建封装业务规则的丰富领域实体',\n recomendacaoRepository: '在领域层定义仓储接口,在基础设施层实现',\n erroAnalisarCleanArch: (erro: ErroUnknown) => `分析整洁架构时出错:${erroToMessage(erro)}`\n} as const;\n"]}
@@ -26,8 +26,8 @@ export declare const DetectorJsTsMensagens: {
26
26
  readonly assertionCastPropriedadeSugestao: "避免属性转换 - 在父对象中定义正确的类型";
27
27
  readonly assertionCastParametroSugestao: "参数类型断言 - 在被调用函数的签名中定义正确的类型";
28
28
  readonly assertionCastGenericoSugestao: "替换为特定类型或使用带运行时验证的unknown";
29
- readonly assertionCritico: " | 🚨 严重: 类型安全性已完全禁用";
30
- readonly angleBracketCast: "'<any>' 类型转换(旧语法)禁用了类型安全性 | [建议] 使用现代的'as'语法和特定类型 | 🚨 严重: 迁移到现代语法和正确类型";
29
+ readonly assertionCritico: " | [ALERT] 严重: 类型安全性已完全禁用";
30
+ readonly angleBracketCast: "'<any>' 类型转换(旧语法)禁用了类型安全性 | [建议] 使用现代的'as'语法和特定类型 | [ALERT] 严重: 迁移到现代语法和正确类型";
31
31
  readonly unknownLegitimo: (varNome?: string, motivo?: string) => string;
32
32
  readonly unknownMelhoravel: (varNome?: string, confianca?: number) => string;
33
33
  readonly unknownCorrigir: (varNome?: string, confianca?: number) => string;
@@ -26,8 +26,8 @@ export const DetectorJsTsMensagens = {
26
26
  assertionCastPropriedadeSugestao: '避免属性转换 - 在父对象中定义正确的类型',
27
27
  assertionCastParametroSugestao: '参数类型断言 - 在被调用函数的签名中定义正确的类型',
28
28
  assertionCastGenericoSugestao: '替换为特定类型或使用带运行时验证的unknown',
29
- assertionCritico: ' | 🚨 严重: 类型安全性已完全禁用',
30
- angleBracketCast: "'<any>' 类型转换(旧语法)禁用了类型安全性 | [建议] 使用现代的'as'语法和特定类型 | 🚨 严重: 迁移到现代语法和正确类型",
29
+ assertionCritico: ' | [ALERT] 严重: 类型安全性已完全禁用',
30
+ angleBracketCast: "'<any>' 类型转换(旧语法)禁用了类型安全性 | [建议] 使用现代的'as'语法和特定类型 | [ALERT] 严重: 迁移到现代语法和正确类型",
31
31
  unknownLegitimo: (varNome, motivo) => varNome ? `'${varNome}' 的'unknown'类型: ${motivo}` : `'unknown'类型: ${motivo}`,
32
32
  unknownMelhoravel: (varNome, confianca) => varNome ? `'${varNome}' 的'unknown'类型可以改进(${confianca}% 置信度)` : `'unknown'类型可以改进(${confianca}% 置信度)`,
33
33
  unknownCorrigir: (varNome, confianca) => varNome ? `'${varNome}' 的'unknown'类型需要修正(${confianca}% 置信度)` : `'unknown'类型需要修正(${confianca}% 置信度)`,
@@ -1 +1 @@
1
- {"version":3,"file":"detector-js-ts-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/detector-js-ts-messages.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: MIT\n\nexport const DetectorJsTsMensagens = {\n tipoAnyComUtilidade: (varNome: string, _tipo: string) => `在 '${varNome}' 中使用带'any'的类型工具掩盖了类型安全性的丧失`,\n tipoAnyComUtilidadeSugestao: (tipo: string) => `替换为: ${tipo.replace('any', 'TipoEspecifico')}`,\n anyCatchBlock: (varNome?: string) => varNome ? `catch块 '${varNome}' 中的'any' - TypeScript推荐使用'unknown'` : \"catch块中的'any' - TypeScript推荐使用'unknown'\",\n anyCatchBlockSugestao: \"替换为: catch (error: unknown) { ... }\",\n callbackAny: (varNome?: string) => varNome ? `回调 '${varNome}' 带有'any'参数 - 弱类型` : \"回调带有'any'参数 - 弱类型\",\n callbackAnySugestao: '定义回调接口: (param: TipoEspecifico) => void',\n eventHandlerAny: (varNome?: string) => varNome ? `事件处理程序 '${varNome}' 使用'any' - 可以使用Event types` : \"事件处理程序使用'any' - 可以使用Event types\",\n eventHandlerAnySugestao: '使用DOM类型: MouseEvent, KeyboardEvent等或React.SyntheticEvent<T>',\n indexSignatureAny: '使用any的可扩展索引 - 过于宽松',\n indexSignatureAnySugestao: '使用: [key: string]: unknown(更安全)或定义联合类型',\n recordAny: (varNome?: string) => varNome ? `'${varNome}' 中的Record使用'any' - 无类型安全性` : \"Record使用'any' - 无类型安全性\",\n recordAnySugestao: '使用Record<string, unknown>或特定接口',\n arrayAny: (varNome?: string) => varNome ? `'${varNome}' 中的'any'数组 - 丢失类型信息` : \"'any'数组 - 丢失类型信息\",\n arrayAnySugestao: '指定数组类型: string[], number[], CustomType[] 等',\n tipoAnyGenerico: (varNome?: string) => varNome ? `'${varNome}' 中的'any'类型禁用了类型检查` : \"'any'类型禁用了类型检查\",\n tipoAnyGenericoSugestao: '分析变量的使用情况并定义特定类型,或使用带type guard的unknown',\n contextoAdicionalTipos: ' | [警告] 类型定义文件 - 影响整个代码库',\n contextoAdicionalCore: ' | [警告] 核心/共享模块 - 被许多组件使用',\n revisaoManual: ' | [搜索] 必须手动审查',\n tipoPermissivo: (tipo: string) => `类型 '${tipo}' 过于宽松,对类型安全几乎没有帮助`,\n tipoObjectSugestao: '使用Record<string, unknown>或特定接口',\n tipoVazioSugestao: '对空对象使用Record<string, never>或特定接口',\n typeAssertionAny: \"'as any' 类型断言完全禁用了类型检查\",\n assertionCastFuncaoSugestao: '避免函数返回值转换 - 正确键入函数或使用带type guard的unknown',\n assertionCastPropriedadeSugestao: '避免属性转换 - 在父对象中定义正确的类型',\n assertionCastParametroSugestao: '参数类型断言 - 在被调用函数的签名中定义正确的类型',\n assertionCastGenericoSugestao: '替换为特定类型或使用带运行时验证的unknown',\n assertionCritico: ' | 🚨 严重: 类型安全性已完全禁用',\n angleBracketCast: \"'<any>' 类型转换(旧语法)禁用了类型安全性 | [建议] 使用现代的'as'语法和特定类型 | 🚨 严重: 迁移到现代语法和正确类型\",\n unknownLegitimo: (varNome?: string, motivo?: string) => varNome ? `'${varNome}' 的'unknown'类型: ${motivo}` : `'unknown'类型: ${motivo}`,\n unknownMelhoravel: (varNome?: string, confianca?: number) => varNome ? `'${varNome}' 的'unknown'类型可以改进(${confianca}% 置信度)` : `'unknown'类型可以改进(${confianca}% 置信度)`,\n unknownCorrigir: (varNome?: string, confianca?: number) => varNome ? `'${varNome}' 的'unknown'类型需要修正(${confianca}% 置信度)` : `'unknown'类型需要修正(${confianca}% 置信度)`,\n unknownRevisaoManual: ' | [警告] 建议手动审查',\n unknownRevisaoObrigatoria: ' | [搜索] 必须手动审查',\n floatingPromise: (funcName: string) => `异步调用 '${funcName}' 未被await(浮动Promise)。请添加'await'或使用'.catch()'处理。`,\n asyncInForEach: (propName: string) => `在 '${propName}' 中使用'async'不会等待执行。建议使用'for...of'迭代。`,\n asyncInMap: (_propName: string) => `在'map'中使用'async'。请确保使用'Promise.all(...)'包装并等待。`,\n setIntervalUnassigned: '调用setInterval但未保存引用。这可能导致内存泄漏和处理浪费。',\n windowSetIntervalUnassigned: '调用window.setInterval但未保存引用(内存泄漏)。',\n globalListenerNoCleanup: \"在React组件中检测到全局事件'addEventListener',但未找到'removeEventListener'。这将在卸载时导致内存泄漏。\",\n} as const;\n"]}
1
+ {"version":3,"file":"detector-js-ts-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/detector-js-ts-messages.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: MIT\n\nexport const DetectorJsTsMensagens = {\n tipoAnyComUtilidade: (varNome: string, _tipo: string) => `在 '${varNome}' 中使用带'any'的类型工具掩盖了类型安全性的丧失`,\n tipoAnyComUtilidadeSugestao: (tipo: string) => `替换为: ${tipo.replace('any', 'TipoEspecifico')}`,\n anyCatchBlock: (varNome?: string) => varNome ? `catch块 '${varNome}' 中的'any' - TypeScript推荐使用'unknown'` : \"catch块中的'any' - TypeScript推荐使用'unknown'\",\n anyCatchBlockSugestao: \"替换为: catch (error: unknown) { ... }\",\n callbackAny: (varNome?: string) => varNome ? `回调 '${varNome}' 带有'any'参数 - 弱类型` : \"回调带有'any'参数 - 弱类型\",\n callbackAnySugestao: '定义回调接口: (param: TipoEspecifico) => void',\n eventHandlerAny: (varNome?: string) => varNome ? `事件处理程序 '${varNome}' 使用'any' - 可以使用Event types` : \"事件处理程序使用'any' - 可以使用Event types\",\n eventHandlerAnySugestao: '使用DOM类型: MouseEvent, KeyboardEvent等或React.SyntheticEvent<T>',\n indexSignatureAny: '使用any的可扩展索引 - 过于宽松',\n indexSignatureAnySugestao: '使用: [key: string]: unknown(更安全)或定义联合类型',\n recordAny: (varNome?: string) => varNome ? `'${varNome}' 中的Record使用'any' - 无类型安全性` : \"Record使用'any' - 无类型安全性\",\n recordAnySugestao: '使用Record<string, unknown>或特定接口',\n arrayAny: (varNome?: string) => varNome ? `'${varNome}' 中的'any'数组 - 丢失类型信息` : \"'any'数组 - 丢失类型信息\",\n arrayAnySugestao: '指定数组类型: string[], number[], CustomType[] 等',\n tipoAnyGenerico: (varNome?: string) => varNome ? `'${varNome}' 中的'any'类型禁用了类型检查` : \"'any'类型禁用了类型检查\",\n tipoAnyGenericoSugestao: '分析变量的使用情况并定义特定类型,或使用带type guard的unknown',\n contextoAdicionalTipos: ' | [警告] 类型定义文件 - 影响整个代码库',\n contextoAdicionalCore: ' | [警告] 核心/共享模块 - 被许多组件使用',\n revisaoManual: ' | [搜索] 必须手动审查',\n tipoPermissivo: (tipo: string) => `类型 '${tipo}' 过于宽松,对类型安全几乎没有帮助`,\n tipoObjectSugestao: '使用Record<string, unknown>或特定接口',\n tipoVazioSugestao: '对空对象使用Record<string, never>或特定接口',\n typeAssertionAny: \"'as any' 类型断言完全禁用了类型检查\",\n assertionCastFuncaoSugestao: '避免函数返回值转换 - 正确键入函数或使用带type guard的unknown',\n assertionCastPropriedadeSugestao: '避免属性转换 - 在父对象中定义正确的类型',\n assertionCastParametroSugestao: '参数类型断言 - 在被调用函数的签名中定义正确的类型',\n assertionCastGenericoSugestao: '替换为特定类型或使用带运行时验证的unknown',\n assertionCritico: ' | [ALERT] 严重: 类型安全性已完全禁用',\n angleBracketCast: \"'<any>' 类型转换(旧语法)禁用了类型安全性 | [建议] 使用现代的'as'语法和特定类型 | [ALERT] 严重: 迁移到现代语法和正确类型\",\n unknownLegitimo: (varNome?: string, motivo?: string) => varNome ? `'${varNome}' 的'unknown'类型: ${motivo}` : `'unknown'类型: ${motivo}`,\n unknownMelhoravel: (varNome?: string, confianca?: number) => varNome ? `'${varNome}' 的'unknown'类型可以改进(${confianca}% 置信度)` : `'unknown'类型可以改进(${confianca}% 置信度)`,\n unknownCorrigir: (varNome?: string, confianca?: number) => varNome ? `'${varNome}' 的'unknown'类型需要修正(${confianca}% 置信度)` : `'unknown'类型需要修正(${confianca}% 置信度)`,\n unknownRevisaoManual: ' | [警告] 建议手动审查',\n unknownRevisaoObrigatoria: ' | [搜索] 必须手动审查',\n floatingPromise: (funcName: string) => `异步调用 '${funcName}' 未被await(浮动Promise)。请添加'await'或使用'.catch()'处理。`,\n asyncInForEach: (propName: string) => `在 '${propName}' 中使用'async'不会等待执行。建议使用'for...of'迭代。`,\n asyncInMap: (_propName: string) => `在'map'中使用'async'。请确保使用'Promise.all(...)'包装并等待。`,\n setIntervalUnassigned: '调用setInterval但未保存引用。这可能导致内存泄漏和处理浪费。',\n windowSetIntervalUnassigned: '调用window.setInterval但未保存引用(内存泄漏)。',\n globalListenerNoCleanup: \"在React组件中检测到全局事件'addEventListener',但未找到'removeEventListener'。这将在卸载时导致内存泄漏。\",\n} as const;\n"]}
@@ -1,10 +1,10 @@
1
1
  export declare const MapaReversaoExtraMensagens: {
2
- readonly mapaSalvo: "💾 回滚映射已保存:{total} 个移动";
2
+ readonly mapaSalvo: "[SAVE] 回滚映射已保存:{total} 个移动";
3
3
  readonly moveRegistrado: "[DOCUMENTO] 已注册移动:{origem} → {destino}({motivo})";
4
- readonly arquivoRevertidoConteudo: "↩️ 文件已还原为原始内容:{destino} → {origem}";
5
- readonly arquivoRevertido: "↩️ 文件已还原:{destino} → {origem}";
6
- readonly nenhumMoveRegistrado: "📋 回滚映射中未注册任何移动。";
7
- readonly tituloMapa: "📋 回滚映射({total} 个移动):\n\n";
8
- readonly mapaLimpo: "🧹 回滚映射已清除";
4
+ readonly arquivoRevertidoConteudo: "[BACK] 文件已还原为原始内容:{destino} → {origem}";
5
+ readonly arquivoRevertido: "[BACK] 文件已还原:{destino} → {origem}";
6
+ readonly nenhumMoveRegistrado: "[LIST] 回滚映射中未注册任何移动。";
7
+ readonly tituloMapa: "[LIST] 回滚映射({total} 个移动):\n\n";
8
+ readonly mapaLimpo: "[BROOM] 回滚映射已清除";
9
9
  };
10
10
  //# sourceMappingURL=map-reversion-extra-messages.d.ts.map
@@ -1,10 +1,10 @@
1
1
  export const MapaReversaoExtraMensagens = {
2
- mapaSalvo: '💾 回滚映射已保存:{total} 个移动',
2
+ mapaSalvo: '[SAVE] 回滚映射已保存:{total} 个移动',
3
3
  moveRegistrado: '[DOCUMENTO] 已注册移动:{origem} → {destino}({motivo})',
4
- arquivoRevertidoConteudo: '↩️ 文件已还原为原始内容:{destino} → {origem}',
5
- arquivoRevertido: '↩️ 文件已还原:{destino} → {origem}',
6
- nenhumMoveRegistrado: '📋 回滚映射中未注册任何移动。',
7
- tituloMapa: '📋 回滚映射({total} 个移动):\n\n',
8
- mapaLimpo: '🧹 回滚映射已清除',
4
+ arquivoRevertidoConteudo: '[BACK] 文件已还原为原始内容:{destino} → {origem}',
5
+ arquivoRevertido: '[BACK] 文件已还原:{destino} → {origem}',
6
+ nenhumMoveRegistrado: '[LIST] 回滚映射中未注册任何移动。',
7
+ tituloMapa: '[LIST] 回滚映射({total} 个移动):\n\n',
8
+ mapaLimpo: '[BROOM] 回滚映射已清除',
9
9
  };
10
10
  //# sourceMappingURL=map-reversion-extra-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-reversion-extra-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/map-reversion-extra-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS,EAAE,wBAAwB;IACnC,cAAc,EAAE,kDAAkD;IAClE,wBAAwB,EAAE,oCAAoC;IAC9D,gBAAgB,EAAE,+BAA+B;IACjD,oBAAoB,EAAE,kBAAkB;IACxC,UAAU,EAAE,2BAA2B;IACvC,SAAS,EAAE,YAAY;CACf,CAAC","sourcesContent":["/**\n * Extra messages for reversal map (Chinese).\n */\nexport const MapaReversaoExtraMensagens = {\n mapaSalvo: '💾 回滚映射已保存:{total} 个移动',\n moveRegistrado: '[DOCUMENTO] 已注册移动:{origem} → {destino}({motivo})',\n arquivoRevertidoConteudo: '↩️ 文件已还原为原始内容:{destino} → {origem}',\n arquivoRevertido: '↩️ 文件已还原:{destino} → {origem}',\n nenhumMoveRegistrado: '📋 回滚映射中未注册任何移动。',\n tituloMapa: '📋 回滚映射({total} 个移动):\\n\\n',\n mapaLimpo: '🧹 回滚映射已清除',\n} as const;\n"]}
1
+ {"version":3,"file":"map-reversion-extra-messages.js","sourceRoot":"","sources":["../../../../../src/core/messages/zh/analysts/map-reversion-extra-messages.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS,EAAE,4BAA4B;IACvC,cAAc,EAAE,kDAAkD;IAClE,wBAAwB,EAAE,wCAAwC;IAClE,gBAAgB,EAAE,mCAAmC;IACrD,oBAAoB,EAAE,sBAAsB;IAC5C,UAAU,EAAE,+BAA+B;IAC3C,SAAS,EAAE,iBAAiB;CACpB,CAAC","sourcesContent":["/**\n * Extra messages for reversal map (Chinese).\n */\nexport const MapaReversaoExtraMensagens = {\n mapaSalvo: '[SAVE] 回滚映射已保存:{total} 个移动',\n moveRegistrado: '[DOCUMENTO] 已注册移动:{origem} → {destino}({motivo})',\n arquivoRevertidoConteudo: '[BACK] 文件已还原为原始内容:{destino} → {origem}',\n arquivoRevertido: '[BACK] 文件已还原:{destino} → {origem}',\n nenhumMoveRegistrado: '[LIST] 回滚映射中未注册任何移动。',\n tituloMapa: '[LIST] 回滚映射({total} 个移动):\\n\\n',\n mapaLimpo: '[BROOM] 回滚映射已清除',\n} as const;\n"]}