@semacode/cli 1.5.35 → 1.5.37

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 (487) hide show
  1. package/AGENTS.md +1 -1
  2. package/AGENT_CONTEXT_PACK.json +130 -12
  3. package/LICENSE +1 -2
  4. package/README.md +3 -3
  5. package/SEMA_BRIEF.curto.txt +9 -6
  6. package/SEMA_BRIEF.md +250 -205
  7. package/SEMA_BRIEF.micro.txt +10 -6
  8. package/SEMA_INDEX.json +2196 -1926
  9. package/dist/agentContext.d.ts +19 -0
  10. package/dist/agentContext.js +26 -0
  11. package/dist/agentContext.js.map +1 -0
  12. package/dist/agentContextPack.d.ts +3 -0
  13. package/dist/agentContextPack.js +403 -0
  14. package/dist/agentContextPack.js.map +1 -0
  15. package/dist/agentContextTipos.d.ts +96 -0
  16. package/dist/agentContextTipos.js +55 -0
  17. package/dist/agentContextTipos.js.map +1 -0
  18. package/dist/agentEntryPoints.d.ts +13 -0
  19. package/dist/agentEntryPoints.js +422 -0
  20. package/dist/agentEntryPoints.js.map +1 -0
  21. package/dist/authorAnalise.d.ts +15 -0
  22. package/dist/authorAnalise.js +210 -0
  23. package/dist/authorAnalise.js.map +1 -0
  24. package/dist/authorPoliticas.d.ts +37 -0
  25. package/dist/authorPoliticas.js +340 -0
  26. package/dist/authorPoliticas.js.map +1 -0
  27. package/dist/billing/index.d.ts +1 -1
  28. package/dist/billing/index.js +6 -2
  29. package/dist/billing/index.js.map +1 -1
  30. package/dist/bridge.js +2 -0
  31. package/dist/bridge.js.map +1 -1
  32. package/dist/carregarModulos.d.ts +2 -0
  33. package/dist/carregarModulos.js +9 -0
  34. package/dist/carregarModulos.js.map +1 -0
  35. package/dist/cliArgs.d.ts +6 -0
  36. package/dist/cliArgs.js +70 -0
  37. package/dist/cliArgs.js.map +1 -0
  38. package/dist/contexto.js +2 -0
  39. package/dist/contexto.js.map +1 -1
  40. package/dist/controleComercialSupabase.js.map +1 -1
  41. package/dist/controleComercialSupabaseAdmin.js.map +1 -1
  42. package/dist/controleComercialSupabaseCadastro.js.map +1 -1
  43. package/dist/controleComercialSupabaseConsumo.js.map +1 -1
  44. package/dist/controleComercialSupabaseConta.js.map +1 -1
  45. package/dist/controleComercialSupabaseProfiles.js.map +1 -1
  46. package/dist/dev/index.js +2 -0
  47. package/dist/dev/index.js.map +1 -1
  48. package/dist/dev/watcher.d.ts +1 -0
  49. package/dist/dev/watcher.js +4 -0
  50. package/dist/dev/watcher.js.map +1 -0
  51. package/dist/docs/resolver.d.ts +1 -0
  52. package/dist/docs/resolver.js +4 -0
  53. package/dist/docs/resolver.js.map +1 -0
  54. package/dist/docs.d.ts +2 -56
  55. package/dist/docs.js +5 -502
  56. package/dist/docs.js.map +1 -1
  57. package/dist/docs.part01.d.ts +78 -0
  58. package/dist/docs.part01.js +347 -0
  59. package/dist/docs.part01.js.map +1 -0
  60. package/dist/docs.part02.d.ts +20 -0
  61. package/dist/docs.part02.js +181 -0
  62. package/dist/docs.part02.js.map +1 -0
  63. package/dist/doctorCommand.d.ts +27 -0
  64. package/dist/doctorCommand.js +160 -0
  65. package/dist/doctorCommand.js.map +1 -0
  66. package/dist/drift.contrato.d.ts +23 -0
  67. package/dist/drift.contrato.js +33 -0
  68. package/dist/drift.contrato.js.map +1 -0
  69. package/dist/drift.d.ts +13 -227
  70. package/dist/drift.js +16 -3924
  71. package/dist/drift.js.map +1 -1
  72. package/dist/drift.part01.d.ts +252 -0
  73. package/dist/drift.part01.js +183 -0
  74. package/dist/drift.part01.js.map +1 -0
  75. package/dist/drift.part02.d.ts +30 -0
  76. package/dist/drift.part02.js +342 -0
  77. package/dist/drift.part02.js.map +1 -0
  78. package/dist/drift.part03.d.ts +26 -0
  79. package/dist/drift.part03.js +343 -0
  80. package/dist/drift.part03.js.map +1 -0
  81. package/dist/drift.part04.d.ts +46 -0
  82. package/dist/drift.part04.js +354 -0
  83. package/dist/drift.part04.js.map +1 -0
  84. package/dist/drift.part05.d.ts +47 -0
  85. package/dist/drift.part05.js +353 -0
  86. package/dist/drift.part05.js.map +1 -0
  87. package/dist/drift.part06.d.ts +17 -0
  88. package/dist/drift.part06.js +381 -0
  89. package/dist/drift.part06.js.map +1 -0
  90. package/dist/drift.part07.d.ts +48 -0
  91. package/dist/drift.part07.js +377 -0
  92. package/dist/drift.part07.js.map +1 -0
  93. package/dist/drift.part08.d.ts +26 -0
  94. package/dist/drift.part08.js +333 -0
  95. package/dist/drift.part08.js.map +1 -0
  96. package/dist/drift.part09.d.ts +22 -0
  97. package/dist/drift.part09.js +322 -0
  98. package/dist/drift.part09.js.map +1 -0
  99. package/dist/drift.part10.d.ts +11 -0
  100. package/dist/drift.part10.js +116 -0
  101. package/dist/drift.part10.js.map +1 -0
  102. package/dist/drift.part11.d.ts +3 -0
  103. package/dist/drift.part11.js +320 -0
  104. package/dist/drift.part11.js.map +1 -0
  105. package/dist/drift.part12.d.ts +17 -0
  106. package/dist/drift.part12.js +289 -0
  107. package/dist/drift.part12.js.map +1 -0
  108. package/dist/drift.part13.d.ts +17 -0
  109. package/dist/drift.part13.js +86 -0
  110. package/dist/drift.part13.js.map +1 -0
  111. package/dist/drift.part14.d.ts +44 -0
  112. package/dist/drift.part14.js +402 -0
  113. package/dist/drift.part14.js.map +1 -0
  114. package/dist/driftOrcamento.d.ts +69 -0
  115. package/dist/driftOrcamento.js +280 -0
  116. package/dist/driftOrcamento.js.map +1 -0
  117. package/dist/execucoesExternas.d.ts +10 -0
  118. package/dist/execucoesExternas.js +51 -0
  119. package/dist/execucoesExternas.js.map +1 -0
  120. package/dist/exemplosOficiais.d.ts +10 -0
  121. package/dist/exemplosOficiais.js +63 -0
  122. package/dist/exemplosOficiais.js.map +1 -0
  123. package/dist/fsGovernado.d.ts +10 -0
  124. package/dist/fsGovernado.js +50 -0
  125. package/dist/fsGovernado.js.map +1 -0
  126. package/dist/geracaoCore.d.ts +64 -0
  127. package/dist/geracaoCore.js +381 -0
  128. package/dist/geracaoCore.js.map +1 -0
  129. package/dist/iaPrompts.d.ts +6 -0
  130. package/dist/iaPrompts.js +318 -0
  131. package/dist/iaPrompts.js.map +1 -0
  132. package/dist/importador.d.ts +9 -31
  133. package/dist/importador.js +11 -2938
  134. package/dist/importador.js.map +1 -1
  135. package/dist/importador.part01.d.ts +150 -0
  136. package/dist/importador.part01.js +256 -0
  137. package/dist/importador.part01.js.map +1 -0
  138. package/dist/importador.part02.d.ts +25 -0
  139. package/dist/importador.part02.js +359 -0
  140. package/dist/importador.part02.js.map +1 -0
  141. package/dist/importador.part03.d.ts +53 -0
  142. package/dist/importador.part03.js +366 -0
  143. package/dist/importador.part03.js.map +1 -0
  144. package/dist/importador.part04.d.ts +26 -0
  145. package/dist/importador.part04.js +374 -0
  146. package/dist/importador.part04.js.map +1 -0
  147. package/dist/importador.part05.d.ts +28 -0
  148. package/dist/importador.part05.js +340 -0
  149. package/dist/importador.part05.js.map +1 -0
  150. package/dist/importador.part06.d.ts +8 -0
  151. package/dist/importador.part06.js +327 -0
  152. package/dist/importador.part06.js.map +1 -0
  153. package/dist/importador.part07.d.ts +23 -0
  154. package/dist/importador.part07.js +300 -0
  155. package/dist/importador.part07.js.map +1 -0
  156. package/dist/importador.part08.d.ts +12 -0
  157. package/dist/importador.part08.js +378 -0
  158. package/dist/importador.part08.js.map +1 -0
  159. package/dist/importador.part09.d.ts +16 -0
  160. package/dist/importador.part09.js +319 -0
  161. package/dist/importador.part09.js.map +1 -0
  162. package/dist/index.d.ts +12 -1
  163. package/dist/index.js +16 -7840
  164. package/dist/index.js.map +1 -1
  165. package/dist/index.part01.d.ts +148 -0
  166. package/dist/index.part01.js +252 -0
  167. package/dist/index.part01.js.map +1 -0
  168. package/dist/index.part02.d.ts +17 -0
  169. package/dist/index.part02.js +344 -0
  170. package/dist/index.part02.js.map +1 -0
  171. package/dist/index.part03.d.ts +59 -0
  172. package/dist/index.part03.js +352 -0
  173. package/dist/index.part03.js.map +1 -0
  174. package/dist/index.part04.d.ts +20 -0
  175. package/dist/index.part04.js +358 -0
  176. package/dist/index.part04.js.map +1 -0
  177. package/dist/index.part05.d.ts +10 -0
  178. package/dist/index.part05.js +370 -0
  179. package/dist/index.part05.js.map +1 -0
  180. package/dist/index.part06.d.ts +14 -0
  181. package/dist/index.part06.js +336 -0
  182. package/dist/index.part06.js.map +1 -0
  183. package/dist/index.part07.d.ts +9 -0
  184. package/dist/index.part07.js +287 -0
  185. package/dist/index.part07.js.map +1 -0
  186. package/dist/index.part08.d.ts +1 -0
  187. package/dist/index.part08.js +206 -0
  188. package/dist/index.part08.js.map +1 -0
  189. package/dist/init/index.js +2 -0
  190. package/dist/init/index.js.map +1 -1
  191. package/dist/init/templates.d.ts +2 -11
  192. package/dist/init/templates.js +4 -659
  193. package/dist/init/templates.js.map +1 -1
  194. package/dist/init/templates.part01.d.ts +11 -0
  195. package/dist/init/templates.part01.js +399 -0
  196. package/dist/init/templates.part01.js.map +1 -0
  197. package/dist/init/templates.part02.d.ts +8 -0
  198. package/dist/init/templates.part02.js +265 -0
  199. package/dist/init/templates.part02.js.map +1 -0
  200. package/dist/initCommand.d.ts +3 -0
  201. package/dist/initCommand.js +41 -0
  202. package/dist/initCommand.js.map +1 -0
  203. package/dist/initTemplatesBackend.d.ts +2 -0
  204. package/dist/initTemplatesBackend.js +127 -0
  205. package/dist/initTemplatesBackend.js.map +1 -0
  206. package/dist/initTemplatesBase.d.ts +9 -0
  207. package/dist/initTemplatesBase.js +79 -0
  208. package/dist/initTemplatesBase.js.map +1 -0
  209. package/dist/initTemplatesFlutter.d.ts +2 -0
  210. package/dist/initTemplatesFlutter.js +185 -0
  211. package/dist/initTemplatesFlutter.js.map +1 -0
  212. package/dist/initTemplatesRuntime.d.ts +2 -0
  213. package/dist/initTemplatesRuntime.js +494 -0
  214. package/dist/initTemplatesRuntime.js.map +1 -0
  215. package/dist/initTemplatesWeb.d.ts +2 -0
  216. package/dist/initTemplatesWeb.js +429 -0
  217. package/dist/initTemplatesWeb.js.map +1 -0
  218. package/dist/mcpInstalarChaveCommand.d.ts +1 -0
  219. package/dist/mcpInstalarChaveCommand.js +141 -0
  220. package/dist/mcpInstalarChaveCommand.js.map +1 -0
  221. package/dist/mcpRemoto.js.map +1 -1
  222. package/dist/mcp_chave.d.ts +1 -0
  223. package/dist/mcp_chave.js +4 -0
  224. package/dist/mcp_chave.js.map +1 -0
  225. package/dist/profileArtefatoBase.d.ts +30 -0
  226. package/dist/profileArtefatoBase.js +129 -0
  227. package/dist/profileArtefatoBase.js.map +1 -0
  228. package/dist/profileArtefatoValidadores.d.ts +9 -0
  229. package/dist/profileArtefatoValidadores.js +287 -0
  230. package/dist/profileArtefatoValidadores.js.map +1 -0
  231. package/dist/profileAuthorCommand.d.ts +6 -0
  232. package/dist/profileAuthorCommand.js +442 -0
  233. package/dist/profileAuthorCommand.js.map +1 -0
  234. package/dist/profileAuthorTipos.d.ts +225 -0
  235. package/dist/profileAuthorTipos.js +6 -0
  236. package/dist/profileAuthorTipos.js.map +1 -0
  237. package/dist/profileCatalogo.d.ts +8 -0
  238. package/dist/profileCatalogo.js +235 -0
  239. package/dist/profileCatalogo.js.map +1 -0
  240. package/dist/profileCommand.d.ts +33 -0
  241. package/dist/profileCommand.js +256 -0
  242. package/dist/profileCommand.js.map +1 -0
  243. package/dist/profileOrquestracao.d.ts +33 -0
  244. package/dist/profileOrquestracao.js +53 -0
  245. package/dist/profileOrquestracao.js.map +1 -0
  246. package/dist/profileRegras.d.ts +19 -0
  247. package/dist/profileRegras.js +219 -0
  248. package/dist/profileRegras.js.map +1 -0
  249. package/dist/profileRulePacks.d.ts +3 -0
  250. package/dist/profileRulePacks.js +334 -0
  251. package/dist/profileRulePacks.js.map +1 -0
  252. package/dist/profiles/validate.d.ts +1 -0
  253. package/dist/profiles/validate.js +4 -0
  254. package/dist/profiles/validate.js.map +1 -0
  255. package/dist/projeto.d.ts +4 -53
  256. package/dist/projeto.js +5 -649
  257. package/dist/projeto.js.map +1 -1
  258. package/dist/projetoBusca.d.ts +7 -0
  259. package/dist/projetoBusca.js +142 -0
  260. package/dist/projetoBusca.js.map +1 -0
  261. package/dist/projetoCarregar.d.ts +2 -0
  262. package/dist/projetoCarregar.js +50 -0
  263. package/dist/projetoCarregar.js.map +1 -0
  264. package/dist/projetoConfig.d.ts +10 -0
  265. package/dist/projetoConfig.js +89 -0
  266. package/dist/projetoConfig.js.map +1 -0
  267. package/dist/projetoLegado.d.ts +3 -0
  268. package/dist/projetoLegado.js +175 -0
  269. package/dist/projetoLegado.js.map +1 -0
  270. package/dist/projetoOrigens.d.ts +6 -0
  271. package/dist/projetoOrigens.js +185 -0
  272. package/dist/projetoOrigens.js.map +1 -0
  273. package/dist/projetoResolucao.d.ts +8 -0
  274. package/dist/projetoResolucao.js +43 -0
  275. package/dist/projetoResolucao.js.map +1 -0
  276. package/dist/projetoTipos.d.ts +43 -0
  277. package/dist/projetoTipos.js +4 -0
  278. package/dist/projetoTipos.js.map +1 -0
  279. package/dist/runnerValidacaoRemota.js.map +1 -1
  280. package/dist/runnerValidacaoRemotaBateria.js +2 -0
  281. package/dist/runnerValidacaoRemotaBateria.js.map +1 -1
  282. package/dist/runnerValidacaoRemotaExecucao.js +2 -0
  283. package/dist/runnerValidacaoRemotaExecucao.js.map +1 -1
  284. package/dist/runnerValidacaoRemotaRelatorio.js +2 -0
  285. package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -1
  286. package/dist/runnerValidacaoRemotaSnapshot.js +2 -0
  287. package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -1
  288. package/dist/runnerValidacaoRemotaWorkspace.js +2 -0
  289. package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -1
  290. package/dist/sync/index.js +2 -0
  291. package/dist/sync/index.js.map +1 -1
  292. package/dist/textoListas.d.ts +4 -0
  293. package/dist/textoListas.js +22 -0
  294. package/dist/textoListas.js.map +1 -0
  295. package/dist/typescript-http-body.d.ts +12 -0
  296. package/dist/typescript-http-body.js +145 -0
  297. package/dist/typescript-http-body.js.map +1 -0
  298. package/dist/typescript-http-expressoes.d.ts +17 -0
  299. package/dist/typescript-http-expressoes.js +194 -0
  300. package/dist/typescript-http-expressoes.js.map +1 -0
  301. package/dist/typescript-http-modelos.d.ts +45 -0
  302. package/dist/typescript-http-modelos.js +82 -0
  303. package/dist/typescript-http-modelos.js.map +1 -0
  304. package/dist/typescript-http-rotas.d.ts +9 -0
  305. package/dist/typescript-http-rotas.js +129 -0
  306. package/dist/typescript-http-rotas.js.map +1 -0
  307. package/dist/typescript-http-semantica.d.ts +11 -0
  308. package/dist/typescript-http-semantica.js +329 -0
  309. package/dist/typescript-http-semantica.js.map +1 -0
  310. package/dist/typescript-http.d.ts +3 -35
  311. package/dist/typescript-http.js +4 -853
  312. package/dist/typescript-http.js.map +1 -1
  313. package/docs/AGENT_STARTER.md +1 -1
  314. package/docs/agentes-por-capacidade.md +59 -3
  315. package/docs/api.md +21 -21
  316. package/docs/cli.md +3 -3
  317. package/docs/documentacao.md +1 -1
  318. package/docs/env.md +20 -24
  319. package/docs/fluxo-pratico-ia-sema.md +1 -1
  320. package/docs/instalacao-e-primeiro-uso.md +3 -3
  321. package/docs/mcp.md +12 -0
  322. package/docs/pagamento-ponta-a-ponta.md +1 -1
  323. package/docs/persistencia-vendor-first.md +1 -1
  324. package/docs/prompt-base-ia-sema.md +1 -1
  325. package/docs/repositories.md +21 -21
  326. package/docs/seguranca.md +1 -1
  327. package/docs/sintaxe.md +1 -1
  328. package/exemplos/agendamento.sema +1 -1
  329. package/exemplos/assinatura.sema +1 -1
  330. package/exemplos/auditoria.sema +1 -1
  331. package/exemplos/autenticacao.sema +1 -1
  332. package/exemplos/author_obra_comum.sema +1 -1
  333. package/exemplos/author_tema_sensivel.sema +1 -1
  334. package/exemplos/automacao.sema +1 -1
  335. package/exemplos/cadastro_usuario.sema +1 -1
  336. package/exemplos/calculadora.sema +1 -1
  337. package/exemplos/crud_simples.sema +1 -1
  338. package/exemplos/estoque.sema +1 -1
  339. package/exemplos/exportacao.sema +1 -1
  340. package/exemplos/fila.sema +1 -1
  341. package/exemplos/integracao_externa.sema +1 -1
  342. package/exemplos/multi_tenant.sema +1 -1
  343. package/exemplos/notificacao.sema +1 -1
  344. package/exemplos/operacao_estrategia.sema +132 -633
  345. package/exemplos/operacao_estrategia_discovery.sema +220 -0
  346. package/exemplos/operacao_estrategia_fluxo.sema +114 -0
  347. package/exemplos/operacao_estrategia_gates.sema +106 -0
  348. package/exemplos/operacao_estrategia_quarentena.sema +133 -0
  349. package/exemplos/operacao_estrategia_rollout.sema +124 -0
  350. package/exemplos/pagamento.sema +1 -1
  351. package/exemplos/pagamento_dominio.sema +1 -1
  352. package/exemplos/pedido.sema +1 -1
  353. package/exemplos/permissao.sema +1 -1
  354. package/exemplos/persistencia_vendor_first.sema +1 -1
  355. package/exemplos/profile_game.sema +1 -1
  356. package/exemplos/profile_legal.sema +1 -1
  357. package/exemplos/profile_ops.sema +1 -1
  358. package/exemplos/profile_research.sema +1 -1
  359. package/exemplos/profile_software.sema +1 -1
  360. package/exemplos/profile_workflow_n8n.sema +1 -1
  361. package/exemplos/relatorio.sema +1 -1
  362. package/exemplos/replica_analitica_erp.sema +1 -1
  363. package/exemplos/testes_embutidos.sema +1 -1
  364. package/exemplos/tratamento_erro.sema +1 -1
  365. package/exemplos/upload_arquivo.sema +1 -1
  366. package/exemplos/webhook.sema +1 -1
  367. package/llms-full.txt +13 -8
  368. package/llms.txt +12 -7
  369. package/node_modules/@sema/gerador-css/dist/index.d.ts +2 -3
  370. package/node_modules/@sema/gerador-css/dist/index.js +4 -599
  371. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -1
  372. package/node_modules/@sema/gerador-css/dist/index.part01.d.ts +6 -0
  373. package/node_modules/@sema/gerador-css/dist/index.part01.js +49 -0
  374. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +1 -0
  375. package/node_modules/@sema/gerador-css/dist/index.part02.d.ts +3 -0
  376. package/node_modules/@sema/gerador-css/dist/index.part02.js +471 -0
  377. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +1 -0
  378. package/node_modules/@sema/gerador-python/dist/index.d.ts +2 -6
  379. package/node_modules/@sema/gerador-python/dist/index.js +4 -771
  380. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  381. package/node_modules/@sema/gerador-python/dist/index.part01.d.ts +28 -0
  382. package/node_modules/@sema/gerador-python/dist/index.part01.js +383 -0
  383. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +1 -0
  384. package/node_modules/@sema/gerador-python/dist/index.part02.d.ts +20 -0
  385. package/node_modules/@sema/gerador-python/dist/index.part02.js +396 -0
  386. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +1 -0
  387. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +3 -6
  388. package/node_modules/@sema/gerador-typescript/dist/index.js +5 -810
  389. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -1
  390. package/node_modules/@sema/gerador-typescript/dist/index.part01.d.ts +25 -0
  391. package/node_modules/@sema/gerador-typescript/dist/index.part01.js +358 -0
  392. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +1 -0
  393. package/node_modules/@sema/gerador-typescript/dist/index.part02.d.ts +14 -0
  394. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +405 -0
  395. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +1 -0
  396. package/node_modules/@sema/gerador-typescript/dist/index.part03.d.ts +5 -0
  397. package/node_modules/@sema/gerador-typescript/dist/index.part03.js +60 -0
  398. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +1 -0
  399. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +2 -0
  400. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
  401. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.d.ts +6 -0
  402. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js +40 -0
  403. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +1 -0
  404. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +2 -9
  405. package/node_modules/@sema/nucleo/dist/formatador/index.js +4 -467
  406. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  407. package/node_modules/@sema/nucleo/dist/formatador/index.part01.d.ts +38 -0
  408. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js +382 -0
  409. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +1 -0
  410. package/node_modules/@sema/nucleo/dist/formatador/index.part02.d.ts +4 -0
  411. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js +92 -0
  412. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +1 -0
  413. package/node_modules/@sema/nucleo/dist/index.d.ts +2 -0
  414. package/node_modules/@sema/nucleo/dist/index.js +6 -0
  415. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  416. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +3 -5
  417. package/node_modules/@sema/nucleo/dist/ir/conversor.js +5 -880
  418. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  419. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.d.ts +30 -0
  420. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +398 -0
  421. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -0
  422. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +41 -0
  423. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js +184 -0
  424. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +1 -0
  425. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.d.ts +5 -0
  426. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js +310 -0
  427. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +1 -0
  428. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +3 -9
  429. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.d.ts +11 -0
  430. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +150 -0
  431. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -0
  432. package/node_modules/@sema/nucleo/dist/parser/parser.js +5 -768
  433. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  434. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.d.ts +3 -0
  435. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js +222 -0
  436. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +1 -0
  437. package/node_modules/@sema/nucleo/dist/parser/parser.part01.d.ts +9 -0
  438. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js +61 -0
  439. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +1 -0
  440. package/node_modules/@sema/nucleo/dist/parser/parser.part02.d.ts +40 -0
  441. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js +373 -0
  442. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +1 -0
  443. package/node_modules/@sema/nucleo/dist/parser/parser.part03.d.ts +4 -0
  444. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js +9 -0
  445. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +1 -0
  446. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +2 -0
  447. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -1
  448. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +3 -59
  449. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +2 -1682
  450. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  451. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +89 -0
  452. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +292 -0
  453. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -0
  454. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.d.ts +29 -0
  455. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js +168 -0
  456. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +1 -0
  457. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.d.ts +11 -0
  458. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js +185 -0
  459. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +1 -0
  460. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.d.ts +30 -0
  461. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js +200 -0
  462. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +1 -0
  463. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.d.ts +6 -0
  464. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js +193 -0
  465. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +1 -0
  466. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.d.ts +11 -0
  467. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js +208 -0
  468. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +1 -0
  469. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.d.ts +11 -0
  470. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js +247 -0
  471. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +1 -0
  472. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.d.ts +3 -0
  473. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js +249 -0
  474. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +1 -0
  475. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +2 -106
  476. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +4 -474
  477. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
  478. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.d.ts +109 -0
  479. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js +259 -0
  480. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +1 -0
  481. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.d.ts +9 -0
  482. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js +223 -0
  483. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +1 -0
  484. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.d.ts +21 -0
  485. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js +40 -0
  486. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +1 -0
  487. package/package.json +12 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift.part12.js","sourceRoot":"","sources":["../src/drift.part12.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ContextoProjetoCarregado } from "./projeto.js";
2
+ import type { ConfiguracaoEscopoDriftAplicada, RecursoResolvido, RotaResolvida, SimboloResolvido } from "./drift.part01.js";
3
+ import { indexarTypeScript } from "./drift.part06.js";
4
+ import { indexarDart } from "./drift.part07.js";
5
+ import { indexarPersistenciaDetalhada } from "./drift.part08.js";
6
+ export interface IndicesDriftPreparados {
7
+ detalhesPersistencia: Awaited<ReturnType<typeof indexarPersistenciaDetalhada>>;
8
+ indexDart: Awaited<ReturnType<typeof indexarDart>>;
9
+ indexTs: Awaited<ReturnType<typeof indexarTypeScript>>;
10
+ mapaImpl: Map<string, SimboloResolvido>;
11
+ mapaRecursos: Map<string, RecursoResolvido[]>;
12
+ todasRotasIndexadas: RotaResolvida[];
13
+ todosArquivosConhecidos: string[];
14
+ todosRecursos: RecursoResolvido[];
15
+ todosSimbolos: SimboloResolvido[];
16
+ }
17
+ export declare function prepararIndicesDrift(contexto: ContextoProjetoCarregado, configuracaoEscopo: ConfiguracaoEscopoDriftAplicada): Promise<IndicesDriftPreparados>;
@@ -0,0 +1,86 @@
1
+ // SEMA-GOVERNED: sema.governanca_ia_contexto
2
+ // Descricao: prepara indices vivos para drift; consulte contratos/sema/governanca_ia_contexto.sema antes de editar.
3
+ import { resolverDiretoriosCodigoEscopoReal } from "./drift.part02.js";
4
+ import { indexarArquivosRastreaveis } from "./drift.part04.js";
5
+ import { indexarTypeScript } from "./drift.part06.js";
6
+ import { indexarCpp, indexarDart, indexarDotnet, indexarGo, indexarJava, indexarLua, indexarPersistenciaDeclarativa, indexarPython, indexarRust } from "./drift.part07.js";
7
+ import { indexarPersistenciaDetalhada } from "./drift.part08.js";
8
+ import { construirMapaRecursos } from "./drift.part10.js";
9
+ export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
10
+ const diretoriosCodigoAtivos = resolverDiretoriosCodigoEscopoReal(contexto, configuracaoEscopo);
11
+ const indexTs = await indexarTypeScript(diretoriosCodigoAtivos);
12
+ const indexPy = await indexarPython(diretoriosCodigoAtivos);
13
+ const indexDart = await indexarDart(diretoriosCodigoAtivos);
14
+ const indexDotnet = await indexarDotnet(diretoriosCodigoAtivos);
15
+ const indexJava = await indexarJava(diretoriosCodigoAtivos);
16
+ const indexGo = await indexarGo(diretoriosCodigoAtivos);
17
+ const indexRust = await indexarRust(diretoriosCodigoAtivos);
18
+ const indexLua = await indexarLua(diretoriosCodigoAtivos);
19
+ const indexPersistencia = await indexarPersistenciaDeclarativa(diretoriosCodigoAtivos);
20
+ const detalhesPersistencia = await indexarPersistenciaDetalhada(diretoriosCodigoAtivos);
21
+ const indexCpp = await indexarCpp(diretoriosCodigoAtivos);
22
+ const arquivosRastreaveis = await indexarArquivosRastreaveis(diretoriosCodigoAtivos);
23
+ const todosSimbolos = [
24
+ ...indexTs.simbolos,
25
+ ...indexPy.simbolos,
26
+ ...indexDart.simbolos,
27
+ ...indexDotnet.simbolos,
28
+ ...indexJava.simbolos,
29
+ ...indexGo.simbolos,
30
+ ...indexRust.simbolos,
31
+ ...indexLua.simbolos,
32
+ ...indexCpp.simbolos,
33
+ ...indexPersistencia.simbolos,
34
+ ];
35
+ const mapaImpl = new Map([
36
+ ...indexTs.simbolos.map((item) => [item.caminho, item]),
37
+ ...indexPy.simbolos.map((item) => [item.caminho, item]),
38
+ ...indexDart.simbolos.map((item) => [item.caminho, item]),
39
+ ...indexDotnet.simbolos.map((item) => [item.caminho, item]),
40
+ ...indexJava.simbolos.map((item) => [item.caminho, item]),
41
+ ...indexGo.simbolos.map((item) => [item.caminho, item]),
42
+ ...indexRust.simbolos.map((item) => [item.caminho, item]),
43
+ ...indexLua.simbolos.map((item) => [item.caminho, item]),
44
+ ...indexCpp.simbolos.map((item) => [item.caminho, item]),
45
+ ]);
46
+ const todosRecursos = [
47
+ ...indexTs.recursos,
48
+ ...indexPy.recursos,
49
+ ...indexDart.recursos,
50
+ ...indexDotnet.recursos,
51
+ ...indexJava.recursos,
52
+ ...indexGo.recursos,
53
+ ...indexRust.recursos,
54
+ ...indexLua.recursos,
55
+ ...indexCpp.recursos,
56
+ ...indexPersistencia.recursos,
57
+ ];
58
+ const mapaRecursos = construirMapaRecursos(todosRecursos);
59
+ const todasRotasIndexadas = [
60
+ ...indexTs.rotas,
61
+ ...indexPy.rotas,
62
+ ...indexDart.rotas,
63
+ ...indexDotnet.rotas,
64
+ ...indexJava.rotas,
65
+ ...indexGo.rotas,
66
+ ...indexRust.rotas,
67
+ ];
68
+ const todosArquivosConhecidos = [...new Set([
69
+ ...arquivosRastreaveis,
70
+ ...todosSimbolos.map((item) => item.arquivo),
71
+ ...todasRotasIndexadas.map((item) => item.arquivo),
72
+ ...todosRecursos.map((item) => item.arquivo),
73
+ ])].sort((a, b) => a.localeCompare(b, "pt-BR"));
74
+ return {
75
+ detalhesPersistencia,
76
+ indexDart,
77
+ indexTs,
78
+ mapaImpl,
79
+ mapaRecursos,
80
+ todasRotasIndexadas,
81
+ todosArquivosConhecidos,
82
+ todosRecursos,
83
+ todosSimbolos,
84
+ };
85
+ }
86
+ //# sourceMappingURL=drift.part13.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift.part13.js","sourceRoot":"","sources":["../src/drift.part13.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { IrTask } from "@sema/nucleo";
2
+ import type { ContextoProjetoCarregado } from "./projeto.js";
3
+ import type { DiagnosticoDrift, RecursoResolvido, RegistroImplDrift, RegistroRecursoDrift, RegistroRotaDivergente, RegistroVinculoDrift, ResultadoDrift, RotaResolvida, SimboloResolvido } from "./drift.part01.js";
4
+ export interface GuardrailsTaskDrift {
5
+ publica: boolean;
6
+ sensivel: boolean;
7
+ auth: boolean;
8
+ authz: boolean;
9
+ dados: boolean;
10
+ audit: boolean;
11
+ segredos: boolean;
12
+ forbidden: boolean;
13
+ dadosSensiveis: boolean;
14
+ efeitoPrivilegiado: boolean;
15
+ exigeSegredos: boolean;
16
+ }
17
+ export interface ResumoVinculosTaskDrift {
18
+ validos: number;
19
+ quebrados: number;
20
+ arquivos: Set<string>;
21
+ }
22
+ export interface EstadoAnaliseModulosDrift {
23
+ contexto: ContextoProjetoCarregado;
24
+ mapaImpl: Map<string, SimboloResolvido>;
25
+ todosSimbolos: SimboloResolvido[];
26
+ mapaRecursos: Map<string, RecursoResolvido[]>;
27
+ todosRecursos: RecursoResolvido[];
28
+ todasRotasIndexadas: RotaResolvida[];
29
+ todosArquivosConhecidos: string[];
30
+ implsValidos: RegistroImplDrift[];
31
+ implsQuebrados: RegistroImplDrift[];
32
+ vinculosValidos: RegistroVinculoDrift[];
33
+ vinculosQuebrados: RegistroVinculoDrift[];
34
+ rotasDivergentes: RegistroRotaDivergente[];
35
+ recursosValidos: RegistroRecursoDrift[];
36
+ recursosDivergentes: RegistroRecursoDrift[];
37
+ diagnosticos: DiagnosticoDrift[];
38
+ tasksResumo: ResultadoDrift["tasks"];
39
+ taskPorChave: Map<string, IrTask>;
40
+ guardrailsPorTask: Map<string, GuardrailsTaskDrift>;
41
+ resumoVinculosPorTask: Map<string, ResumoVinculosTaskDrift>;
42
+ arquivosAncoraHerdadosPorTask: Map<string, Set<string>>;
43
+ }
44
+ export declare function analisarModulosSelecionadosDrift(estado: EstadoAnaliseModulosDrift): void;
@@ -0,0 +1,402 @@
1
+ import { escolherArquivoPorVinculo, escolherSimboloPorVinculo } from "./drift.part03.js";
2
+ import { calcularRiscoOperacional, encontrarAncoraSuperficie } from "./drift.part04.js";
3
+ import { resolverPersistenciaLocalPorTask } from "./drift.part08.js";
4
+ import { escolherRotasEsperadas, normalizarCaminhoRota, ordenarCandidatos, sugerirCandidatosParaImpl, sugerirCandidatosParaTaskSemImpl } from "./drift.part09.js";
5
+ import { coletarVinculosIr, extrairRecursosEsperados, resolverRecursoEsperado } from "./drift.part10.js";
6
+ export function analisarModulosSelecionadosDrift(estado) {
7
+ const { contexto, mapaImpl, todosSimbolos, mapaRecursos, todosRecursos, todasRotasIndexadas, todosArquivosConhecidos, implsValidos, implsQuebrados, vinculosValidos, vinculosQuebrados, rotasDivergentes, recursosValidos, recursosDivergentes, diagnosticos, tasksResumo, taskPorChave, guardrailsPorTask, resumoVinculosPorTask, arquivosAncoraHerdadosPorTask, } = estado;
8
+ for (const item of contexto.modulosSelecionados) {
9
+ const ir = item.resultado.ir;
10
+ if (!ir) {
11
+ continue;
12
+ }
13
+ const superficiesPorChave = new Map(ir.superficies.map((superficie) => [`${superficie.tipo}:${superficie.nome}`, superficie]));
14
+ const routesPorNome = new Map(ir.routes.map((route) => [route.nome, route]));
15
+ const flowsPorNome = new Map(ir.flows.map((flow) => [flow.nome, flow]));
16
+ const registrarArquivoAncoraHerdado = (taskNome, arquivo) => {
17
+ if (!arquivo) {
18
+ return;
19
+ }
20
+ const chaveTask = `${ir.nome}:${taskNome}`;
21
+ const arquivos = arquivosAncoraHerdadosPorTask.get(chaveTask) ?? new Set();
22
+ arquivos.add(arquivo);
23
+ arquivosAncoraHerdadosPorTask.set(chaveTask, arquivos);
24
+ };
25
+ for (const task of ir.tasks) {
26
+ guardrailsPorTask.set(`${ir.nome}:${task.nome}`, {
27
+ publica: false,
28
+ sensivel: calcularRiscoOperacional(task) === "alto",
29
+ auth: task.auth.explicita,
30
+ authz: task.authz.explicita,
31
+ dados: task.dados.explicita,
32
+ audit: task.audit.explicita,
33
+ segredos: task.segredos.explicita,
34
+ forbidden: task.forbidden.explicita,
35
+ dadosSensiveis: Boolean(task.dados.classificacaoPadrao && ["pii", "financeiro", "credencial", "segredo"].includes(task.dados.classificacaoPadrao)
36
+ || task.dados.campos.some((campo) => ["pii", "financeiro", "credencial", "segredo"].includes(campo.classificacao))),
37
+ efeitoPrivilegiado: task.efeitosEstruturados.some((efeito) => ["db.read", "db.write", "queue.publish", "queue.consume", "fs.read", "fs.write", "network.egress", "secret.read", "shell.exec"].includes(efeito.categoria)
38
+ || ["alta", "critica"].includes(efeito.criticidade ?? "")),
39
+ exigeSegredos: task.efeitosEstruturados.some((efeito) => efeito.categoria === "secret.read")
40
+ || Boolean(task.dados.classificacaoPadrao && ["credencial", "segredo"].includes(task.dados.classificacaoPadrao)
41
+ || task.dados.campos.some((campo) => ["credencial", "segredo"].includes(campo.classificacao))),
42
+ });
43
+ }
44
+ for (const route of ir.routes) {
45
+ if (!route.task || route.perfilCompatibilidade !== "publico") {
46
+ continue;
47
+ }
48
+ const guardrails = guardrailsPorTask.get(`${ir.nome}:${route.task}`);
49
+ if (guardrails) {
50
+ guardrails.publica = true;
51
+ guardrails.auth = guardrails.auth || route.auth.explicita;
52
+ guardrails.authz = guardrails.authz || route.authz.explicita;
53
+ guardrails.dados = guardrails.dados || route.dados.explicita;
54
+ guardrails.audit = guardrails.audit || route.audit.explicita;
55
+ guardrails.segredos = guardrails.segredos || route.segredos.explicita;
56
+ guardrails.forbidden = guardrails.forbidden || route.forbidden.explicita;
57
+ guardrails.dadosSensiveis = guardrails.dadosSensiveis || Boolean(route.dados.classificacaoPadrao && ["pii", "financeiro", "credencial", "segredo"].includes(route.dados.classificacaoPadrao)
58
+ || route.dados.campos.some((campo) => ["pii", "financeiro", "credencial", "segredo"].includes(campo.classificacao)));
59
+ guardrails.efeitoPrivilegiado = guardrails.efeitoPrivilegiado || route.efeitosPublicos.some((efeito) => ["db.read", "db.write", "queue.publish", "queue.consume", "fs.read", "fs.write", "network.egress", "secret.read", "shell.exec"].includes(efeito.categoria)
60
+ || ["alta", "critica"].includes(efeito.criticidade ?? ""));
61
+ guardrails.exigeSegredos = guardrails.exigeSegredos || route.efeitosPublicos.some((efeito) => efeito.categoria === "secret.read")
62
+ || Boolean(route.dados.classificacaoPadrao && ["credencial", "segredo"].includes(route.dados.classificacaoPadrao)
63
+ || route.dados.campos.some((campo) => ["credencial", "segredo"].includes(campo.classificacao)));
64
+ }
65
+ }
66
+ for (const superficie of ir.superficies) {
67
+ if (!superficie.task || superficie.perfilCompatibilidade !== "publico") {
68
+ continue;
69
+ }
70
+ const guardrails = guardrailsPorTask.get(`${ir.nome}:${superficie.task}`);
71
+ if (guardrails) {
72
+ guardrails.publica = true;
73
+ guardrails.auth = guardrails.auth || superficie.auth.explicita;
74
+ guardrails.authz = guardrails.authz || superficie.authz.explicita;
75
+ guardrails.dados = guardrails.dados || superficie.dados.explicita;
76
+ guardrails.audit = guardrails.audit || superficie.audit.explicita;
77
+ guardrails.segredos = guardrails.segredos || superficie.segredos.explicita;
78
+ guardrails.forbidden = guardrails.forbidden || superficie.forbidden.explicita;
79
+ guardrails.dadosSensiveis = guardrails.dadosSensiveis || Boolean(superficie.dados.classificacaoPadrao && ["pii", "financeiro", "credencial", "segredo"].includes(superficie.dados.classificacaoPadrao)
80
+ || superficie.dados.campos.some((campo) => ["pii", "financeiro", "credencial", "segredo"].includes(campo.classificacao)));
81
+ guardrails.efeitoPrivilegiado = guardrails.efeitoPrivilegiado || superficie.effects.some((efeito) => ["db.read", "db.write", "queue.publish", "queue.consume", "fs.read", "fs.write", "network.egress", "secret.read", "shell.exec"].includes(efeito.categoria)
82
+ || ["alta", "critica"].includes(efeito.criticidade ?? ""));
83
+ guardrails.exigeSegredos = guardrails.exigeSegredos || superficie.effects.some((efeito) => efeito.categoria === "secret.read")
84
+ || Boolean(superficie.dados.classificacaoPadrao && ["credencial", "segredo"].includes(superficie.dados.classificacaoPadrao)
85
+ || superficie.dados.campos.some((campo) => ["credencial", "segredo"].includes(campo.classificacao)));
86
+ }
87
+ }
88
+ for (const task of ir.tasks) {
89
+ taskPorChave.set(`${ir.nome}:${task.nome}`, task);
90
+ let validos = 0;
91
+ let quebrados = 0;
92
+ const arquivosReferenciados = new Set();
93
+ const simbolosReferenciados = new Set();
94
+ const candidatosTask = new Map();
95
+ if (task.implementacoesExternas.length === 0) {
96
+ for (const candidato of sugerirCandidatosParaTaskSemImpl(todosSimbolos, task.nome)) {
97
+ candidatosTask.set(`${candidato.origem}:${candidato.caminho}:${candidato.arquivo}:${candidato.simbolo}`, candidato);
98
+ }
99
+ diagnosticos.push({
100
+ tipo: "task_sem_impl",
101
+ modulo: ir.nome,
102
+ task: task.nome,
103
+ mensagem: `Task "${task.nome}" ainda nao foi ligada a nenhuma implementacao externa.`,
104
+ });
105
+ }
106
+ for (const impl of task.implementacoesExternas) {
107
+ const resolvido = mapaImpl.get(impl.caminho);
108
+ const registro = {
109
+ modulo: ir.nome,
110
+ task: task.nome,
111
+ origem: impl.origem,
112
+ caminho: impl.caminho,
113
+ arquivo: resolvido?.arquivo,
114
+ simbolo: resolvido?.simbolo,
115
+ caminhoResolvido: resolvido?.caminho,
116
+ status: resolvido ? "resolvido" : "quebrado",
117
+ };
118
+ if (resolvido) {
119
+ arquivosReferenciados.add(resolvido.arquivo);
120
+ simbolosReferenciados.add(resolvido.simbolo);
121
+ implsValidos.push(registro);
122
+ validos += 1;
123
+ }
124
+ else {
125
+ registro.candidatos = sugerirCandidatosParaImpl(todosSimbolos, impl.origem, impl.caminho);
126
+ for (const candidato of registro.candidatos) {
127
+ candidatosTask.set(`${candidato.origem}:${candidato.caminho}:${candidato.arquivo}:${candidato.simbolo}`, candidato);
128
+ }
129
+ implsQuebrados.push(registro);
130
+ quebrados += 1;
131
+ diagnosticos.push({
132
+ tipo: "impl_quebrado",
133
+ modulo: ir.nome,
134
+ task: task.nome,
135
+ mensagem: `Implementacao externa "${impl.origem}:${impl.caminho}" nao foi encontrada nos diretorios de codigo vivos.`,
136
+ });
137
+ }
138
+ }
139
+ tasksResumo.push({
140
+ modulo: ir.nome,
141
+ task: task.nome,
142
+ impls: task.implementacoesExternas.length,
143
+ implsValidos: validos,
144
+ implsQuebrados: quebrados,
145
+ semImplementacao: task.implementacoesExternas.length === 0,
146
+ scoreSemantico: 0,
147
+ confiancaVinculo: "baixa",
148
+ riscoOperacional: "baixo",
149
+ lacunas: [],
150
+ ancoragemVinculo: "ausente",
151
+ arquivosReferenciados: [...arquivosReferenciados].sort((a, b) => a.localeCompare(b, "pt-BR")),
152
+ arquivosAncoraHerdados: [],
153
+ arquivosProvaveisEditar: [],
154
+ simbolosReferenciados: [...simbolosReferenciados].sort((a, b) => a.localeCompare(b, "pt-BR")),
155
+ candidatosImpl: ordenarCandidatos([...candidatosTask.values()]).slice(0, 5),
156
+ checksSugeridos: [],
157
+ });
158
+ for (const recursoEsperado of extrairRecursosEsperados(task, ir, mapaRecursos, mapaImpl)) {
159
+ let resolvido = resolverRecursoEsperado(mapaRecursos, recursoEsperado, arquivosReferenciados);
160
+ if (!resolvido) {
161
+ resolvido = resolverPersistenciaLocalPorTask(mapaRecursos, task, ir, recursoEsperado, mapaImpl)[0];
162
+ }
163
+ const registro = {
164
+ modulo: ir.nome,
165
+ task: task.nome,
166
+ categoria: recursoEsperado.categoria,
167
+ alvo: recursoEsperado.alvo,
168
+ arquivo: resolvido?.arquivo ?? "",
169
+ origem: resolvido?.origem ?? recursoEsperado.origem ?? "firebase",
170
+ tipo: resolvido?.tipo ?? recursoEsperado.tiposAceitos[0] ?? "query",
171
+ status: resolvido ? "resolvido" : "divergente",
172
+ };
173
+ if (resolvido) {
174
+ registro.arquivo = resolvido.arquivo;
175
+ recursosValidos.push(registro);
176
+ }
177
+ else {
178
+ recursosDivergentes.push(registro);
179
+ const escopo = recursoEsperado.origem ? `${recursoEsperado.origem}` : "persistencia declarada";
180
+ diagnosticos.push({
181
+ tipo: "recurso_divergente",
182
+ modulo: ir.nome,
183
+ task: task.nome,
184
+ mensagem: `Recurso vivo "${recursoEsperado.alvo}" nao foi encontrado no codigo legado para ${escopo}.`,
185
+ });
186
+ }
187
+ }
188
+ }
189
+ for (const route of ir.routes) {
190
+ const taskAssociada = ir.tasks.find((task) => task.nome === route.task);
191
+ const esperadas = escolherRotasEsperadas(taskAssociada ?? {
192
+ nome: "",
193
+ input: [],
194
+ output: [],
195
+ rules: [],
196
+ regrasEstruturadas: [],
197
+ effects: [],
198
+ efeitosEstruturados: [],
199
+ implementacoesExternas: [],
200
+ vinculos: [],
201
+ execucao: {
202
+ idempotencia: false,
203
+ timeout: "padrao",
204
+ retry: "nenhum",
205
+ compensacao: "nenhuma",
206
+ criticidadeOperacional: "media",
207
+ explicita: false,
208
+ },
209
+ auth: {
210
+ explicita: false,
211
+ },
212
+ authz: {
213
+ explicita: false,
214
+ papeis: [],
215
+ escopos: [],
216
+ },
217
+ dados: {
218
+ explicita: false,
219
+ campos: [],
220
+ },
221
+ audit: {
222
+ explicita: false,
223
+ },
224
+ segredos: {
225
+ explicita: false,
226
+ itens: [],
227
+ },
228
+ forbidden: {
229
+ explicita: false,
230
+ regras: [],
231
+ },
232
+ guarantees: [],
233
+ garantiasEstruturadas: [],
234
+ errors: {},
235
+ errosDetalhados: [],
236
+ perfilCompatibilidade: "interno",
237
+ resumoAgente: {
238
+ riscos: [],
239
+ checks: [],
240
+ entidadesAfetadas: [],
241
+ superficiesPublicas: [],
242
+ mutacoesPrevistas: [],
243
+ },
244
+ tests: [],
245
+ }, contexto.fontesLegado);
246
+ if (!esperadas.length || !route.metodo || !route.caminho) {
247
+ continue;
248
+ }
249
+ const encontradas = todasRotasIndexadas.filter((rotaResolvida) => rotaResolvida.origem !== "nextjs-consumer"
250
+ && rotaResolvida.origem !== "react-vite-consumer"
251
+ && rotaResolvida.origem !== "angular-consumer"
252
+ && rotaResolvida.origem !== "flutter-consumer"
253
+ && esperadas.includes(rotaResolvida.origem));
254
+ const combina = encontradas.some((rotaResolvida) => rotaResolvida.metodo === route.metodo
255
+ && normalizarCaminhoRota(rotaResolvida.caminho) === normalizarCaminhoRota(route.caminho));
256
+ if (!combina) {
257
+ const registro = {
258
+ modulo: ir.nome,
259
+ route: route.nome,
260
+ metodo: route.metodo,
261
+ caminho: route.caminho,
262
+ motivo: `Nenhuma rota publica ${route.metodo} ${route.caminho} foi encontrada no codigo legado para o framework esperado.`,
263
+ };
264
+ rotasDivergentes.push(registro);
265
+ diagnosticos.push({
266
+ tipo: "rota_divergente",
267
+ modulo: ir.nome,
268
+ route: route.nome,
269
+ mensagem: registro.motivo,
270
+ });
271
+ }
272
+ }
273
+ for (const itemVinculo of coletarVinculosIr(ir)) {
274
+ const registro = {
275
+ modulo: ir.nome,
276
+ donoTipo: itemVinculo.donoTipo,
277
+ dono: itemVinculo.dono,
278
+ tipo: itemVinculo.vinculo.tipo,
279
+ valor: itemVinculo.vinculo.valor,
280
+ status: "nao_encontrado",
281
+ confianca: "baixa",
282
+ };
283
+ const arquivoDeclarado = itemVinculo.vinculo.arquivo ?? (itemVinculo.vinculo.tipo === "arquivo" ? itemVinculo.vinculo.valor : undefined);
284
+ const simboloDeclarado = itemVinculo.vinculo.simbolo ?? (itemVinculo.vinculo.tipo === "simbolo" ? itemVinculo.vinculo.valor : undefined);
285
+ const recursoDeclarado = itemVinculo.vinculo.recurso ?? (["recurso", "tabela", "fila", "cache", "storage"].includes(itemVinculo.vinculo.tipo) ? itemVinculo.vinculo.valor : undefined);
286
+ const superficieDeclarada = itemVinculo.vinculo.superficie ?? (["superficie", "rota", "worker", "cron", "webhook", "evento", "policy", "fila", "cache", "storage"].includes(itemVinculo.vinculo.tipo) ? itemVinculo.vinculo.valor : undefined);
287
+ if (simboloDeclarado) {
288
+ const resolucaoSimbolo = escolherSimboloPorVinculo(todosSimbolos, mapaImpl, simboloDeclarado);
289
+ registro.status = resolucaoSimbolo.status;
290
+ registro.confianca = resolucaoSimbolo.confianca;
291
+ registro.arquivo = resolucaoSimbolo.simbolo?.arquivo;
292
+ registro.simbolo = resolucaoSimbolo.simbolo?.simbolo;
293
+ }
294
+ else if (arquivoDeclarado) {
295
+ const resolucaoArquivo = escolherArquivoPorVinculo(todosArquivosConhecidos, arquivoDeclarado);
296
+ registro.status = resolucaoArquivo.status;
297
+ registro.confianca = resolucaoArquivo.confianca;
298
+ registro.arquivo = resolucaoArquivo.arquivo;
299
+ }
300
+ else if (recursoDeclarado) {
301
+ const recurso = resolverRecursoEsperado(mapaRecursos, {
302
+ categoria: "persistencia",
303
+ alvo: recursoDeclarado,
304
+ tiposAceitos: [],
305
+ nomes: [recursoDeclarado],
306
+ });
307
+ if (recurso) {
308
+ registro.status = "resolvido";
309
+ registro.confianca = "alta";
310
+ registro.arquivo = recurso.arquivo;
311
+ }
312
+ }
313
+ else if (superficieDeclarada) {
314
+ const rota = todasRotasIndexadas.find((rotaResolvida) => normalizarCaminhoRota(rotaResolvida.caminho) === normalizarCaminhoRota(superficieDeclarada));
315
+ if (rota) {
316
+ registro.status = "resolvido";
317
+ registro.confianca = "alta";
318
+ registro.arquivo = rota.arquivo;
319
+ registro.simbolo = rota.simbolo;
320
+ }
321
+ else {
322
+ const resolucaoArquivo = escolherArquivoPorVinculo(todosArquivosConhecidos, superficieDeclarada);
323
+ registro.status = resolucaoArquivo.status;
324
+ registro.confianca = resolucaoArquivo.confianca;
325
+ registro.arquivo = resolucaoArquivo.arquivo;
326
+ }
327
+ }
328
+ else {
329
+ const resolucaoArquivo = escolherArquivoPorVinculo(todosArquivosConhecidos, itemVinculo.vinculo.valor);
330
+ registro.status = resolucaoArquivo.status;
331
+ registro.confianca = resolucaoArquivo.confianca;
332
+ registro.arquivo = resolucaoArquivo.arquivo;
333
+ }
334
+ if (registro.status === "nao_encontrado" && itemVinculo.donoTipo === "superficie") {
335
+ const superficie = superficiesPorChave.get(itemVinculo.dono);
336
+ const ancora = superficie
337
+ ? encontrarAncoraSuperficie(ir, superficie, todosSimbolos, mapaImpl, todosArquivosConhecidos)
338
+ : undefined;
339
+ if (ancora) {
340
+ registro.status = "parcial";
341
+ registro.confianca = ancora.confianca === "alta" ? "media" : ancora.confianca;
342
+ registro.arquivo = registro.arquivo ?? ancora.arquivo;
343
+ registro.simbolo = registro.simbolo ?? ancora.simbolo;
344
+ }
345
+ }
346
+ if (registro.status === "nao_encontrado") {
347
+ vinculosQuebrados.push(registro);
348
+ diagnosticos.push({
349
+ tipo: "vinculo_quebrado",
350
+ modulo: ir.nome,
351
+ mensagem: `Vinculo ${registro.tipo}="${registro.valor}" de ${registro.donoTipo} "${registro.dono}" nao foi resolvido no codigo vivo.`,
352
+ ...(itemVinculo.donoTipo === "task" ? { task: itemVinculo.dono } : itemVinculo.donoTipo === "route" ? { route: itemVinculo.dono } : {}),
353
+ });
354
+ }
355
+ else {
356
+ vinculosValidos.push(registro);
357
+ if (itemVinculo.donoTipo === "modulo") {
358
+ for (const task of ir.tasks) {
359
+ registrarArquivoAncoraHerdado(task.nome, registro.arquivo);
360
+ }
361
+ }
362
+ else if (itemVinculo.donoTipo === "flow") {
363
+ const flow = flowsPorNome.get(itemVinculo.dono);
364
+ for (const taskNome of flow?.tasksReferenciadas ?? []) {
365
+ registrarArquivoAncoraHerdado(taskNome, registro.arquivo);
366
+ }
367
+ }
368
+ else if (itemVinculo.donoTipo === "route") {
369
+ const route = routesPorNome.get(itemVinculo.dono);
370
+ if (route?.task) {
371
+ registrarArquivoAncoraHerdado(route.task, registro.arquivo);
372
+ }
373
+ }
374
+ else if (itemVinculo.donoTipo === "superficie") {
375
+ const superficie = superficiesPorChave.get(itemVinculo.dono);
376
+ if (superficie?.task) {
377
+ registrarArquivoAncoraHerdado(superficie.task, registro.arquivo);
378
+ }
379
+ }
380
+ }
381
+ if (itemVinculo.donoTipo === "task") {
382
+ const chaveTask = `${ir.nome}:${itemVinculo.dono}`;
383
+ const resumo = resumoVinculosPorTask.get(chaveTask) ?? {
384
+ validos: 0,
385
+ quebrados: 0,
386
+ arquivos: new Set(),
387
+ };
388
+ if (registro.status === "nao_encontrado") {
389
+ resumo.quebrados += 1;
390
+ }
391
+ else {
392
+ resumo.validos += 1;
393
+ }
394
+ if (registro.arquivo) {
395
+ resumo.arquivos.add(registro.arquivo);
396
+ }
397
+ resumoVinculosPorTask.set(chaveTask, resumo);
398
+ }
399
+ }
400
+ }
401
+ }
402
+ //# sourceMappingURL=drift.part14.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift.part14.js","sourceRoot":"","sources":["../src/drift.part14.ts"],"names":[],"mappings":"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"}