@semacode/cli 1.5.36 → 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 (481) hide show
  1. package/AGENT_CONTEXT_PACK.json +76 -8
  2. package/LICENSE +1 -2
  3. package/SEMA_BRIEF.curto.txt +8 -6
  4. package/SEMA_BRIEF.md +240 -204
  5. package/SEMA_BRIEF.micro.txt +9 -6
  6. package/SEMA_INDEX.json +2079 -1907
  7. package/dist/agentContext.d.ts +19 -0
  8. package/dist/agentContext.js +26 -0
  9. package/dist/agentContext.js.map +1 -0
  10. package/dist/agentContextPack.d.ts +3 -0
  11. package/dist/agentContextPack.js +403 -0
  12. package/dist/agentContextPack.js.map +1 -0
  13. package/dist/agentContextTipos.d.ts +96 -0
  14. package/dist/agentContextTipos.js +55 -0
  15. package/dist/agentContextTipos.js.map +1 -0
  16. package/dist/agentEntryPoints.d.ts +13 -0
  17. package/dist/agentEntryPoints.js +422 -0
  18. package/dist/agentEntryPoints.js.map +1 -0
  19. package/dist/authorAnalise.d.ts +15 -0
  20. package/dist/authorAnalise.js +210 -0
  21. package/dist/authorAnalise.js.map +1 -0
  22. package/dist/authorPoliticas.d.ts +37 -0
  23. package/dist/authorPoliticas.js +340 -0
  24. package/dist/authorPoliticas.js.map +1 -0
  25. package/dist/billing/index.d.ts +1 -1
  26. package/dist/billing/index.js +6 -2
  27. package/dist/billing/index.js.map +1 -1
  28. package/dist/bridge.js +2 -0
  29. package/dist/bridge.js.map +1 -1
  30. package/dist/carregarModulos.d.ts +2 -0
  31. package/dist/carregarModulos.js +9 -0
  32. package/dist/carregarModulos.js.map +1 -0
  33. package/dist/cliArgs.d.ts +6 -0
  34. package/dist/cliArgs.js +70 -0
  35. package/dist/cliArgs.js.map +1 -0
  36. package/dist/contexto.js +2 -0
  37. package/dist/contexto.js.map +1 -1
  38. package/dist/controleComercialSupabase.js.map +1 -1
  39. package/dist/controleComercialSupabaseAdmin.js.map +1 -1
  40. package/dist/controleComercialSupabaseCadastro.js.map +1 -1
  41. package/dist/controleComercialSupabaseConsumo.js.map +1 -1
  42. package/dist/controleComercialSupabaseConta.js.map +1 -1
  43. package/dist/controleComercialSupabaseProfiles.js.map +1 -1
  44. package/dist/dev/index.js +2 -0
  45. package/dist/dev/index.js.map +1 -1
  46. package/dist/dev/watcher.d.ts +1 -0
  47. package/dist/dev/watcher.js +4 -0
  48. package/dist/dev/watcher.js.map +1 -0
  49. package/dist/docs/resolver.d.ts +1 -0
  50. package/dist/docs/resolver.js +4 -0
  51. package/dist/docs/resolver.js.map +1 -0
  52. package/dist/docs.d.ts +2 -56
  53. package/dist/docs.js +5 -502
  54. package/dist/docs.js.map +1 -1
  55. package/dist/docs.part01.d.ts +78 -0
  56. package/dist/docs.part01.js +347 -0
  57. package/dist/docs.part01.js.map +1 -0
  58. package/dist/docs.part02.d.ts +20 -0
  59. package/dist/docs.part02.js +181 -0
  60. package/dist/docs.part02.js.map +1 -0
  61. package/dist/doctorCommand.d.ts +27 -0
  62. package/dist/doctorCommand.js +160 -0
  63. package/dist/doctorCommand.js.map +1 -0
  64. package/dist/drift.contrato.d.ts +23 -0
  65. package/dist/drift.contrato.js +33 -0
  66. package/dist/drift.contrato.js.map +1 -0
  67. package/dist/drift.d.ts +13 -227
  68. package/dist/drift.js +16 -3924
  69. package/dist/drift.js.map +1 -1
  70. package/dist/drift.part01.d.ts +252 -0
  71. package/dist/drift.part01.js +183 -0
  72. package/dist/drift.part01.js.map +1 -0
  73. package/dist/drift.part02.d.ts +30 -0
  74. package/dist/drift.part02.js +342 -0
  75. package/dist/drift.part02.js.map +1 -0
  76. package/dist/drift.part03.d.ts +26 -0
  77. package/dist/drift.part03.js +343 -0
  78. package/dist/drift.part03.js.map +1 -0
  79. package/dist/drift.part04.d.ts +46 -0
  80. package/dist/drift.part04.js +354 -0
  81. package/dist/drift.part04.js.map +1 -0
  82. package/dist/drift.part05.d.ts +47 -0
  83. package/dist/drift.part05.js +353 -0
  84. package/dist/drift.part05.js.map +1 -0
  85. package/dist/drift.part06.d.ts +17 -0
  86. package/dist/drift.part06.js +381 -0
  87. package/dist/drift.part06.js.map +1 -0
  88. package/dist/drift.part07.d.ts +48 -0
  89. package/dist/drift.part07.js +377 -0
  90. package/dist/drift.part07.js.map +1 -0
  91. package/dist/drift.part08.d.ts +26 -0
  92. package/dist/drift.part08.js +333 -0
  93. package/dist/drift.part08.js.map +1 -0
  94. package/dist/drift.part09.d.ts +22 -0
  95. package/dist/drift.part09.js +322 -0
  96. package/dist/drift.part09.js.map +1 -0
  97. package/dist/drift.part10.d.ts +11 -0
  98. package/dist/drift.part10.js +116 -0
  99. package/dist/drift.part10.js.map +1 -0
  100. package/dist/drift.part11.d.ts +3 -0
  101. package/dist/drift.part11.js +320 -0
  102. package/dist/drift.part11.js.map +1 -0
  103. package/dist/drift.part12.d.ts +17 -0
  104. package/dist/drift.part12.js +289 -0
  105. package/dist/drift.part12.js.map +1 -0
  106. package/dist/drift.part13.d.ts +17 -0
  107. package/dist/drift.part13.js +86 -0
  108. package/dist/drift.part13.js.map +1 -0
  109. package/dist/drift.part14.d.ts +44 -0
  110. package/dist/drift.part14.js +402 -0
  111. package/dist/drift.part14.js.map +1 -0
  112. package/dist/driftOrcamento.d.ts +69 -0
  113. package/dist/driftOrcamento.js +280 -0
  114. package/dist/driftOrcamento.js.map +1 -0
  115. package/dist/execucoesExternas.d.ts +10 -0
  116. package/dist/execucoesExternas.js +51 -0
  117. package/dist/execucoesExternas.js.map +1 -0
  118. package/dist/exemplosOficiais.d.ts +10 -0
  119. package/dist/exemplosOficiais.js +63 -0
  120. package/dist/exemplosOficiais.js.map +1 -0
  121. package/dist/fsGovernado.d.ts +10 -0
  122. package/dist/fsGovernado.js +50 -0
  123. package/dist/fsGovernado.js.map +1 -0
  124. package/dist/geracaoCore.d.ts +64 -0
  125. package/dist/geracaoCore.js +381 -0
  126. package/dist/geracaoCore.js.map +1 -0
  127. package/dist/iaPrompts.d.ts +6 -0
  128. package/dist/iaPrompts.js +318 -0
  129. package/dist/iaPrompts.js.map +1 -0
  130. package/dist/importador.d.ts +9 -31
  131. package/dist/importador.js +11 -2938
  132. package/dist/importador.js.map +1 -1
  133. package/dist/importador.part01.d.ts +150 -0
  134. package/dist/importador.part01.js +256 -0
  135. package/dist/importador.part01.js.map +1 -0
  136. package/dist/importador.part02.d.ts +25 -0
  137. package/dist/importador.part02.js +359 -0
  138. package/dist/importador.part02.js.map +1 -0
  139. package/dist/importador.part03.d.ts +53 -0
  140. package/dist/importador.part03.js +366 -0
  141. package/dist/importador.part03.js.map +1 -0
  142. package/dist/importador.part04.d.ts +26 -0
  143. package/dist/importador.part04.js +374 -0
  144. package/dist/importador.part04.js.map +1 -0
  145. package/dist/importador.part05.d.ts +28 -0
  146. package/dist/importador.part05.js +340 -0
  147. package/dist/importador.part05.js.map +1 -0
  148. package/dist/importador.part06.d.ts +8 -0
  149. package/dist/importador.part06.js +327 -0
  150. package/dist/importador.part06.js.map +1 -0
  151. package/dist/importador.part07.d.ts +23 -0
  152. package/dist/importador.part07.js +300 -0
  153. package/dist/importador.part07.js.map +1 -0
  154. package/dist/importador.part08.d.ts +12 -0
  155. package/dist/importador.part08.js +378 -0
  156. package/dist/importador.part08.js.map +1 -0
  157. package/dist/importador.part09.d.ts +16 -0
  158. package/dist/importador.part09.js +319 -0
  159. package/dist/importador.part09.js.map +1 -0
  160. package/dist/index.d.ts +12 -1
  161. package/dist/index.js +16 -7945
  162. package/dist/index.js.map +1 -1
  163. package/dist/index.part01.d.ts +148 -0
  164. package/dist/index.part01.js +252 -0
  165. package/dist/index.part01.js.map +1 -0
  166. package/dist/index.part02.d.ts +17 -0
  167. package/dist/index.part02.js +344 -0
  168. package/dist/index.part02.js.map +1 -0
  169. package/dist/index.part03.d.ts +59 -0
  170. package/dist/index.part03.js +352 -0
  171. package/dist/index.part03.js.map +1 -0
  172. package/dist/index.part04.d.ts +20 -0
  173. package/dist/index.part04.js +358 -0
  174. package/dist/index.part04.js.map +1 -0
  175. package/dist/index.part05.d.ts +10 -0
  176. package/dist/index.part05.js +370 -0
  177. package/dist/index.part05.js.map +1 -0
  178. package/dist/index.part06.d.ts +14 -0
  179. package/dist/index.part06.js +336 -0
  180. package/dist/index.part06.js.map +1 -0
  181. package/dist/index.part07.d.ts +9 -0
  182. package/dist/index.part07.js +287 -0
  183. package/dist/index.part07.js.map +1 -0
  184. package/dist/index.part08.d.ts +1 -0
  185. package/dist/index.part08.js +206 -0
  186. package/dist/index.part08.js.map +1 -0
  187. package/dist/init/index.js +2 -0
  188. package/dist/init/index.js.map +1 -1
  189. package/dist/init/templates.d.ts +2 -11
  190. package/dist/init/templates.js +4 -659
  191. package/dist/init/templates.js.map +1 -1
  192. package/dist/init/templates.part01.d.ts +11 -0
  193. package/dist/init/templates.part01.js +399 -0
  194. package/dist/init/templates.part01.js.map +1 -0
  195. package/dist/init/templates.part02.d.ts +8 -0
  196. package/dist/init/templates.part02.js +265 -0
  197. package/dist/init/templates.part02.js.map +1 -0
  198. package/dist/initCommand.d.ts +3 -0
  199. package/dist/initCommand.js +41 -0
  200. package/dist/initCommand.js.map +1 -0
  201. package/dist/initTemplatesBackend.d.ts +2 -0
  202. package/dist/initTemplatesBackend.js +127 -0
  203. package/dist/initTemplatesBackend.js.map +1 -0
  204. package/dist/initTemplatesBase.d.ts +9 -0
  205. package/dist/initTemplatesBase.js +79 -0
  206. package/dist/initTemplatesBase.js.map +1 -0
  207. package/dist/initTemplatesFlutter.d.ts +2 -0
  208. package/dist/initTemplatesFlutter.js +185 -0
  209. package/dist/initTemplatesFlutter.js.map +1 -0
  210. package/dist/initTemplatesRuntime.d.ts +2 -0
  211. package/dist/initTemplatesRuntime.js +494 -0
  212. package/dist/initTemplatesRuntime.js.map +1 -0
  213. package/dist/initTemplatesWeb.d.ts +2 -0
  214. package/dist/initTemplatesWeb.js +429 -0
  215. package/dist/initTemplatesWeb.js.map +1 -0
  216. package/dist/mcpInstalarChaveCommand.d.ts +1 -0
  217. package/dist/mcpInstalarChaveCommand.js +141 -0
  218. package/dist/mcpInstalarChaveCommand.js.map +1 -0
  219. package/dist/mcpRemoto.js.map +1 -1
  220. package/dist/mcp_chave.d.ts +1 -0
  221. package/dist/mcp_chave.js +4 -0
  222. package/dist/mcp_chave.js.map +1 -0
  223. package/dist/profileArtefatoBase.d.ts +30 -0
  224. package/dist/profileArtefatoBase.js +129 -0
  225. package/dist/profileArtefatoBase.js.map +1 -0
  226. package/dist/profileArtefatoValidadores.d.ts +9 -0
  227. package/dist/profileArtefatoValidadores.js +287 -0
  228. package/dist/profileArtefatoValidadores.js.map +1 -0
  229. package/dist/profileAuthorCommand.d.ts +6 -0
  230. package/dist/profileAuthorCommand.js +442 -0
  231. package/dist/profileAuthorCommand.js.map +1 -0
  232. package/dist/profileAuthorTipos.d.ts +225 -0
  233. package/dist/profileAuthorTipos.js +6 -0
  234. package/dist/profileAuthorTipos.js.map +1 -0
  235. package/dist/profileCatalogo.d.ts +8 -0
  236. package/dist/profileCatalogo.js +235 -0
  237. package/dist/profileCatalogo.js.map +1 -0
  238. package/dist/profileCommand.d.ts +33 -0
  239. package/dist/profileCommand.js +256 -0
  240. package/dist/profileCommand.js.map +1 -0
  241. package/dist/profileOrquestracao.d.ts +33 -0
  242. package/dist/profileOrquestracao.js +53 -0
  243. package/dist/profileOrquestracao.js.map +1 -0
  244. package/dist/profileRegras.d.ts +19 -0
  245. package/dist/profileRegras.js +219 -0
  246. package/dist/profileRegras.js.map +1 -0
  247. package/dist/profileRulePacks.d.ts +3 -0
  248. package/dist/profileRulePacks.js +334 -0
  249. package/dist/profileRulePacks.js.map +1 -0
  250. package/dist/profiles/validate.d.ts +1 -0
  251. package/dist/profiles/validate.js +4 -0
  252. package/dist/profiles/validate.js.map +1 -0
  253. package/dist/projeto.d.ts +4 -53
  254. package/dist/projeto.js +5 -649
  255. package/dist/projeto.js.map +1 -1
  256. package/dist/projetoBusca.d.ts +7 -0
  257. package/dist/projetoBusca.js +142 -0
  258. package/dist/projetoBusca.js.map +1 -0
  259. package/dist/projetoCarregar.d.ts +2 -0
  260. package/dist/projetoCarregar.js +50 -0
  261. package/dist/projetoCarregar.js.map +1 -0
  262. package/dist/projetoConfig.d.ts +10 -0
  263. package/dist/projetoConfig.js +89 -0
  264. package/dist/projetoConfig.js.map +1 -0
  265. package/dist/projetoLegado.d.ts +3 -0
  266. package/dist/projetoLegado.js +175 -0
  267. package/dist/projetoLegado.js.map +1 -0
  268. package/dist/projetoOrigens.d.ts +6 -0
  269. package/dist/projetoOrigens.js +185 -0
  270. package/dist/projetoOrigens.js.map +1 -0
  271. package/dist/projetoResolucao.d.ts +8 -0
  272. package/dist/projetoResolucao.js +43 -0
  273. package/dist/projetoResolucao.js.map +1 -0
  274. package/dist/projetoTipos.d.ts +43 -0
  275. package/dist/projetoTipos.js +4 -0
  276. package/dist/projetoTipos.js.map +1 -0
  277. package/dist/runnerValidacaoRemota.js.map +1 -1
  278. package/dist/runnerValidacaoRemotaBateria.js +2 -0
  279. package/dist/runnerValidacaoRemotaBateria.js.map +1 -1
  280. package/dist/runnerValidacaoRemotaExecucao.js +2 -0
  281. package/dist/runnerValidacaoRemotaExecucao.js.map +1 -1
  282. package/dist/runnerValidacaoRemotaRelatorio.js +2 -0
  283. package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -1
  284. package/dist/runnerValidacaoRemotaSnapshot.js +2 -0
  285. package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -1
  286. package/dist/runnerValidacaoRemotaWorkspace.js +2 -0
  287. package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -1
  288. package/dist/sync/index.js +2 -0
  289. package/dist/sync/index.js.map +1 -1
  290. package/dist/textoListas.d.ts +4 -0
  291. package/dist/textoListas.js +22 -0
  292. package/dist/textoListas.js.map +1 -0
  293. package/dist/typescript-http-body.d.ts +12 -0
  294. package/dist/typescript-http-body.js +145 -0
  295. package/dist/typescript-http-body.js.map +1 -0
  296. package/dist/typescript-http-expressoes.d.ts +17 -0
  297. package/dist/typescript-http-expressoes.js +194 -0
  298. package/dist/typescript-http-expressoes.js.map +1 -0
  299. package/dist/typescript-http-modelos.d.ts +45 -0
  300. package/dist/typescript-http-modelos.js +82 -0
  301. package/dist/typescript-http-modelos.js.map +1 -0
  302. package/dist/typescript-http-rotas.d.ts +9 -0
  303. package/dist/typescript-http-rotas.js +129 -0
  304. package/dist/typescript-http-rotas.js.map +1 -0
  305. package/dist/typescript-http-semantica.d.ts +11 -0
  306. package/dist/typescript-http-semantica.js +329 -0
  307. package/dist/typescript-http-semantica.js.map +1 -0
  308. package/dist/typescript-http.d.ts +3 -35
  309. package/dist/typescript-http.js +4 -853
  310. package/dist/typescript-http.js.map +1 -1
  311. package/docs/AGENT_STARTER.md +1 -1
  312. package/docs/agentes-por-capacidade.md +46 -3
  313. package/docs/documentacao.md +1 -1
  314. package/docs/fluxo-pratico-ia-sema.md +1 -1
  315. package/docs/mcp.md +12 -0
  316. package/docs/pagamento-ponta-a-ponta.md +1 -1
  317. package/docs/persistencia-vendor-first.md +1 -1
  318. package/docs/prompt-base-ia-sema.md +1 -1
  319. package/docs/repositories.md +2 -2
  320. package/docs/seguranca.md +1 -1
  321. package/docs/sintaxe.md +1 -1
  322. package/exemplos/agendamento.sema +1 -1
  323. package/exemplos/assinatura.sema +1 -1
  324. package/exemplos/auditoria.sema +1 -1
  325. package/exemplos/autenticacao.sema +1 -1
  326. package/exemplos/author_obra_comum.sema +1 -1
  327. package/exemplos/author_tema_sensivel.sema +1 -1
  328. package/exemplos/automacao.sema +1 -1
  329. package/exemplos/cadastro_usuario.sema +1 -1
  330. package/exemplos/calculadora.sema +1 -1
  331. package/exemplos/crud_simples.sema +1 -1
  332. package/exemplos/estoque.sema +1 -1
  333. package/exemplos/exportacao.sema +1 -1
  334. package/exemplos/fila.sema +1 -1
  335. package/exemplos/integracao_externa.sema +1 -1
  336. package/exemplos/multi_tenant.sema +1 -1
  337. package/exemplos/notificacao.sema +1 -1
  338. package/exemplos/operacao_estrategia.sema +132 -633
  339. package/exemplos/operacao_estrategia_discovery.sema +220 -0
  340. package/exemplos/operacao_estrategia_fluxo.sema +114 -0
  341. package/exemplos/operacao_estrategia_gates.sema +106 -0
  342. package/exemplos/operacao_estrategia_quarentena.sema +133 -0
  343. package/exemplos/operacao_estrategia_rollout.sema +124 -0
  344. package/exemplos/pagamento.sema +1 -1
  345. package/exemplos/pagamento_dominio.sema +1 -1
  346. package/exemplos/pedido.sema +1 -1
  347. package/exemplos/permissao.sema +1 -1
  348. package/exemplos/persistencia_vendor_first.sema +1 -1
  349. package/exemplos/profile_game.sema +1 -1
  350. package/exemplos/profile_legal.sema +1 -1
  351. package/exemplos/profile_ops.sema +1 -1
  352. package/exemplos/profile_research.sema +1 -1
  353. package/exemplos/profile_software.sema +1 -1
  354. package/exemplos/profile_workflow_n8n.sema +1 -1
  355. package/exemplos/relatorio.sema +1 -1
  356. package/exemplos/replica_analitica_erp.sema +1 -1
  357. package/exemplos/testes_embutidos.sema +1 -1
  358. package/exemplos/tratamento_erro.sema +1 -1
  359. package/exemplos/upload_arquivo.sema +1 -1
  360. package/exemplos/webhook.sema +1 -1
  361. package/llms-full.txt +13 -8
  362. package/llms.txt +12 -7
  363. package/node_modules/@sema/gerador-css/dist/index.d.ts +2 -3
  364. package/node_modules/@sema/gerador-css/dist/index.js +4 -599
  365. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -1
  366. package/node_modules/@sema/gerador-css/dist/index.part01.d.ts +6 -0
  367. package/node_modules/@sema/gerador-css/dist/index.part01.js +49 -0
  368. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +1 -0
  369. package/node_modules/@sema/gerador-css/dist/index.part02.d.ts +3 -0
  370. package/node_modules/@sema/gerador-css/dist/index.part02.js +471 -0
  371. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +1 -0
  372. package/node_modules/@sema/gerador-python/dist/index.d.ts +2 -6
  373. package/node_modules/@sema/gerador-python/dist/index.js +4 -771
  374. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  375. package/node_modules/@sema/gerador-python/dist/index.part01.d.ts +28 -0
  376. package/node_modules/@sema/gerador-python/dist/index.part01.js +383 -0
  377. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +1 -0
  378. package/node_modules/@sema/gerador-python/dist/index.part02.d.ts +20 -0
  379. package/node_modules/@sema/gerador-python/dist/index.part02.js +396 -0
  380. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +1 -0
  381. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +3 -6
  382. package/node_modules/@sema/gerador-typescript/dist/index.js +5 -810
  383. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -1
  384. package/node_modules/@sema/gerador-typescript/dist/index.part01.d.ts +25 -0
  385. package/node_modules/@sema/gerador-typescript/dist/index.part01.js +358 -0
  386. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +1 -0
  387. package/node_modules/@sema/gerador-typescript/dist/index.part02.d.ts +14 -0
  388. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +405 -0
  389. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +1 -0
  390. package/node_modules/@sema/gerador-typescript/dist/index.part03.d.ts +5 -0
  391. package/node_modules/@sema/gerador-typescript/dist/index.part03.js +60 -0
  392. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +1 -0
  393. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +2 -0
  394. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
  395. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.d.ts +6 -0
  396. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js +40 -0
  397. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +1 -0
  398. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +2 -9
  399. package/node_modules/@sema/nucleo/dist/formatador/index.js +4 -467
  400. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  401. package/node_modules/@sema/nucleo/dist/formatador/index.part01.d.ts +38 -0
  402. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js +382 -0
  403. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +1 -0
  404. package/node_modules/@sema/nucleo/dist/formatador/index.part02.d.ts +4 -0
  405. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js +92 -0
  406. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +1 -0
  407. package/node_modules/@sema/nucleo/dist/index.d.ts +2 -0
  408. package/node_modules/@sema/nucleo/dist/index.js +6 -0
  409. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  410. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +3 -5
  411. package/node_modules/@sema/nucleo/dist/ir/conversor.js +5 -880
  412. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  413. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.d.ts +30 -0
  414. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +398 -0
  415. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -0
  416. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +41 -0
  417. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js +184 -0
  418. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +1 -0
  419. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.d.ts +5 -0
  420. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js +310 -0
  421. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +1 -0
  422. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +3 -9
  423. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.d.ts +11 -0
  424. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +150 -0
  425. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -0
  426. package/node_modules/@sema/nucleo/dist/parser/parser.js +5 -768
  427. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  428. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.d.ts +3 -0
  429. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js +222 -0
  430. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +1 -0
  431. package/node_modules/@sema/nucleo/dist/parser/parser.part01.d.ts +9 -0
  432. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js +61 -0
  433. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +1 -0
  434. package/node_modules/@sema/nucleo/dist/parser/parser.part02.d.ts +40 -0
  435. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js +373 -0
  436. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +1 -0
  437. package/node_modules/@sema/nucleo/dist/parser/parser.part03.d.ts +4 -0
  438. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js +9 -0
  439. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +1 -0
  440. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +2 -0
  441. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -1
  442. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +3 -59
  443. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +2 -1682
  444. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  445. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +89 -0
  446. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +292 -0
  447. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -0
  448. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.d.ts +29 -0
  449. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js +168 -0
  450. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +1 -0
  451. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.d.ts +11 -0
  452. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js +185 -0
  453. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +1 -0
  454. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.d.ts +30 -0
  455. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js +200 -0
  456. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +1 -0
  457. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.d.ts +6 -0
  458. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js +193 -0
  459. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +1 -0
  460. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.d.ts +11 -0
  461. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js +208 -0
  462. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +1 -0
  463. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.d.ts +11 -0
  464. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js +247 -0
  465. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +1 -0
  466. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.d.ts +3 -0
  467. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js +249 -0
  468. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +1 -0
  469. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +2 -106
  470. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +4 -474
  471. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
  472. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.d.ts +109 -0
  473. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js +259 -0
  474. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +1 -0
  475. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.d.ts +9 -0
  476. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js +223 -0
  477. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +1 -0
  478. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.d.ts +21 -0
  479. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js +40 -0
  480. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +1 -0
  481. package/package.json +10 -10
@@ -0,0 +1,381 @@
1
+ // SEMA-GOVERNED
2
+ // M?dulo: sema.produto.orcamento_semantico
3
+ // Contrato: contratos/sema/orcamento_semantico.sema
4
+ // Descri??o: normaliza??o de gera??o, escrita estruturada e execu??o de testes gerados por alvo.
5
+ import path from "node:path";
6
+ import { spawnSync } from "node:child_process";
7
+ import { formatarDiagnosticos } from "@sema/nucleo";
8
+ import { descreverEstruturaModulo } from "@sema/padroes";
9
+ import { gerarDart } from "@sema/gerador-dart";
10
+ import { gerarLua } from "@sema/gerador-lua";
11
+ import { gerarPython } from "@sema/gerador-python";
12
+ import { gerarTypeScript } from "@sema/gerador-typescript";
13
+ import { gerarJavaScript } from "@sema/gerador-javascript";
14
+ import { gerarHtml } from "@sema/gerador-html";
15
+ import { gerarCss } from "@sema/gerador-css";
16
+ import { comandoDisponivel, resolverExecucaoPytest, TSX_EXECUTOR_CLI } from "./execucoesExternas.js";
17
+ import { resolverEstruturaSaidaPadrao, resolverFrameworkPadrao, } from "./projeto.js";
18
+ export function validarCompatibilidadeFramework(alvo, framework) {
19
+ if (framework === "base") {
20
+ return undefined;
21
+ }
22
+ if (framework === "nestjs" && alvo !== "typescript") {
23
+ return `Framework "${framework}" so pode ser usado com o alvo typescript.`;
24
+ }
25
+ if (framework === "fastapi" && alvo !== "python") {
26
+ return `Framework "${framework}" so pode ser usado com o alvo python.`;
27
+ }
28
+ if (alvo === "dart" || alvo === "lua" || alvo === "javascript" || alvo === "html" || alvo === "css") {
29
+ return `Framework "${framework}" nao e suportado para o alvo ${alvo}.`;
30
+ }
31
+ return undefined;
32
+ }
33
+ export function normalizarFonteImportacao(valor) {
34
+ if (!valor) {
35
+ return undefined;
36
+ }
37
+ if (valor === "ts") {
38
+ return "typescript";
39
+ }
40
+ if (valor === "py") {
41
+ return "python";
42
+ }
43
+ if (valor === "nest") {
44
+ return "nestjs";
45
+ }
46
+ if (valor === "api") {
47
+ return "fastapi";
48
+ }
49
+ if (valor === "next") {
50
+ return "nextjs";
51
+ }
52
+ if (valor === "next-consumer" || valor === "nextjs-consumer") {
53
+ return "nextjs-consumer";
54
+ }
55
+ if (valor === "react-vite" || valor === "react-vite-consumer" || valor === "react-consumer") {
56
+ return "react-vite-consumer";
57
+ }
58
+ if (valor === "angular" || valor === "angular-consumer") {
59
+ return "angular-consumer";
60
+ }
61
+ if (valor === "flutter" || valor === "flutter-consumer") {
62
+ return "flutter-consumer";
63
+ }
64
+ if (valor === "fb") {
65
+ return "firebase";
66
+ }
67
+ if (valor === "csharp" || valor === "cs" || valor === "dotnet") {
68
+ return "dotnet";
69
+ }
70
+ if (valor === "java") {
71
+ return "java";
72
+ }
73
+ if (valor === "go" || valor === "golang") {
74
+ return "go";
75
+ }
76
+ if (valor === "rust" || valor === "rs") {
77
+ return "rust";
78
+ }
79
+ if (valor === "cpp" || valor === "cxx" || valor === "cc" || valor === "c++") {
80
+ return "cpp";
81
+ }
82
+ if (valor === "nestjs"
83
+ || valor === "fastapi"
84
+ || valor === "flask"
85
+ || valor === "nextjs"
86
+ || valor === "nextjs-consumer"
87
+ || valor === "react-vite-consumer"
88
+ || valor === "angular-consumer"
89
+ || valor === "flutter-consumer"
90
+ || valor === "firebase"
91
+ || valor === "dotnet"
92
+ || valor === "java"
93
+ || valor === "go"
94
+ || valor === "rust"
95
+ || valor === "cpp"
96
+ || valor === "typescript"
97
+ || valor === "python"
98
+ || valor === "dart") {
99
+ return valor;
100
+ }
101
+ return undefined;
102
+ }
103
+ export function normalizarTemplateIniciar(valor) {
104
+ if (valor === "nestjs"
105
+ || valor === "fastapi"
106
+ || valor === "nextjs-api"
107
+ || valor === "nextjs-consumer"
108
+ || valor === "react-vite-consumer"
109
+ || valor === "angular-consumer"
110
+ || valor === "flutter-consumer"
111
+ || valor === "node-firebase-worker"
112
+ || valor === "aspnet-api"
113
+ || valor === "springboot-api"
114
+ || valor === "go-http-api"
115
+ || valor === "rust-axum-api"
116
+ || valor === "cpp-service-bridge") {
117
+ return valor;
118
+ }
119
+ return "base";
120
+ }
121
+ export function garantirIr(resultado, caminho) {
122
+ if (!resultado.ir) {
123
+ throw new Error(`Nao foi possivel gerar IR para ${caminho}.\n${formatarDiagnosticos(resultado.diagnosticos)}`);
124
+ }
125
+ return resultado.ir;
126
+ }
127
+ export function gerarArquivosPorAlvo(ir, alvo, framework) {
128
+ if (alvo === "python") {
129
+ return gerarPython(ir, { framework });
130
+ }
131
+ if (alvo === "dart") {
132
+ return gerarDart(ir);
133
+ }
134
+ if (alvo === "lua") {
135
+ return gerarLua(ir);
136
+ }
137
+ if (alvo === "javascript") {
138
+ return gerarJavaScript(ir);
139
+ }
140
+ if (alvo === "html") {
141
+ return gerarHtml(ir);
142
+ }
143
+ if (alvo === "css") {
144
+ return gerarCss(ir);
145
+ }
146
+ return gerarTypeScript(ir, { framework });
147
+ }
148
+ export function aplicarEstruturaSaida(arquivos, ir, estrutura) {
149
+ if (estrutura === "flat" || estrutura === "backend") {
150
+ return arquivos;
151
+ }
152
+ const estruturaModulo = descreverEstruturaModulo(ir.nome);
153
+ const pastaModulo = estruturaModulo.contextoSegmentos.join(path.sep);
154
+ const nomeArquivo = estruturaModulo.nomeArquivo;
155
+ const nomeBaseAntigo = estruturaModulo.nomeBase;
156
+ return arquivos.map((arquivo) => {
157
+ const basename = path.basename(arquivo.caminhoRelativo);
158
+ let novoBasename = basename;
159
+ let conteudo = arquivo.conteudo;
160
+ if (basename === `${nomeBaseAntigo}.ts`) {
161
+ novoBasename = `${nomeArquivo}.ts`;
162
+ }
163
+ else if (basename === `${nomeBaseAntigo}.test.ts`) {
164
+ novoBasename = `${nomeArquivo}.test.ts`;
165
+ conteudo = conteudo.replace(`./${nomeBaseAntigo}.ts`, `./${nomeArquivo}.ts`);
166
+ }
167
+ else if (basename === `${nomeBaseAntigo}.py`) {
168
+ novoBasename = `${nomeArquivo}.py`;
169
+ }
170
+ else if (basename === `test_${nomeBaseAntigo}.py`) {
171
+ novoBasename = `test_${nomeArquivo}.py`;
172
+ conteudo = conteudo.replace(`from ${nomeBaseAntigo} import *`, `from ${nomeArquivo} import *`);
173
+ }
174
+ else if (basename === `${nomeBaseAntigo}.dart`) {
175
+ novoBasename = `${nomeArquivo}.dart`;
176
+ }
177
+ else if (basename === `${nomeBaseAntigo}.lua`) {
178
+ novoBasename = `${nomeArquivo}.lua`;
179
+ }
180
+ else if (basename === `test_${nomeBaseAntigo}.lua`) {
181
+ novoBasename = `test_${nomeArquivo}.lua`;
182
+ conteudo = conteudo.replace(`${nomeBaseAntigo}.lua`, `${nomeArquivo}.lua`);
183
+ }
184
+ else if (basename === `${nomeBaseAntigo}.js`) {
185
+ novoBasename = `${nomeArquivo}.js`;
186
+ }
187
+ else if (basename === `${nomeBaseAntigo}.test.js`) {
188
+ novoBasename = `${nomeArquivo}.test.js`;
189
+ conteudo = conteudo.replace(`./${nomeBaseAntigo}.js`, `./${nomeArquivo}.js`);
190
+ }
191
+ else if (basename === `${nomeBaseAntigo}.html`) {
192
+ novoBasename = `${nomeArquivo}.html`;
193
+ }
194
+ else if (basename === `${nomeBaseAntigo}.css`) {
195
+ novoBasename = `${nomeArquivo}.css`;
196
+ }
197
+ return {
198
+ caminhoRelativo: pastaModulo ? path.join(pastaModulo, novoBasename) : novoBasename,
199
+ conteudo,
200
+ };
201
+ });
202
+ }
203
+ export function contarCasosDeTesteGerados(alvo, arquivos) {
204
+ if (alvo === "dart" || alvo === "html" || alvo === "css") {
205
+ return 0;
206
+ }
207
+ if (alvo === "lua") {
208
+ const arquivoTeste = arquivos.find((item) => path.basename(item.caminhoRelativo).startsWith("test_") && item.caminhoRelativo.endsWith(".lua"));
209
+ if (!arquivoTeste) {
210
+ return 0;
211
+ }
212
+ return (arquivoTeste.conteudo.match(/\blocal function test_/g) ?? []).length;
213
+ }
214
+ if (alvo === "typescript") {
215
+ const arquivoTeste = arquivos.find((item) => item.caminhoRelativo.endsWith(".test.ts"));
216
+ if (!arquivoTeste) {
217
+ return 0;
218
+ }
219
+ return (arquivoTeste.conteudo.match(/\btest\(/g) ?? []).length;
220
+ }
221
+ if (alvo === "javascript") {
222
+ const arquivoTeste = arquivos.find((item) => item.caminhoRelativo.endsWith(".test.js"));
223
+ if (!arquivoTeste) {
224
+ return 0;
225
+ }
226
+ return (arquivoTeste.conteudo.match(/\btest\(/g) ?? []).length;
227
+ }
228
+ const arquivoTeste = arquivos.find((item) => path.basename(item.caminhoRelativo).startsWith("test_"));
229
+ if (!arquivoTeste) {
230
+ return 0;
231
+ }
232
+ return (arquivoTeste.conteudo.match(/\bdef test_/g) ?? []).length;
233
+ }
234
+ export function executarTestesGerados(alvo, baseSaida, arquivos, silencioso = false) {
235
+ const quantidadeTestes = contarCasosDeTesteGerados(alvo, arquivos);
236
+ if (quantidadeTestes === 0) {
237
+ if (!silencioso) {
238
+ const nomesAlvo = { typescript: "TypeScript", python: "Python", lua: "Lua", dart: "Dart", javascript: "JavaScript", html: "HTML", css: "CSS" };
239
+ console.log(`Nenhum teste ${nomesAlvo[alvo] ?? alvo} foi gerado.`);
240
+ }
241
+ return { codigoSaida: 0, quantidadeTestes, saidaPadrao: "", saidaErro: "" };
242
+ }
243
+ if (alvo === "html" || alvo === "css") {
244
+ return { codigoSaida: 0, quantidadeTestes: 0, saidaPadrao: "", saidaErro: "" };
245
+ }
246
+ if (alvo === "typescript") {
247
+ const arquivoTeste = arquivos.find((item) => item.caminhoRelativo.endsWith(".test.ts"))?.caminhoRelativo;
248
+ if (!arquivoTeste) {
249
+ if (!silencioso) {
250
+ console.log("Nenhum teste TypeScript foi gerado.");
251
+ }
252
+ return { codigoSaida: 0, quantidadeTestes, saidaPadrao: "", saidaErro: "" };
253
+ }
254
+ if (!TSX_EXECUTOR_CLI) {
255
+ return {
256
+ codigoSaida: 1,
257
+ quantidadeTestes,
258
+ saidaPadrao: "",
259
+ saidaErro: "Nao foi possivel localizar o runner tsx junto da CLI para executar testes TypeScript.",
260
+ };
261
+ }
262
+ const execucao = spawnSync("node", [TSX_EXECUTOR_CLI, arquivoTeste], {
263
+ stdio: silencioso ? "pipe" : "inherit",
264
+ cwd: baseSaida,
265
+ encoding: silencioso ? "utf8" : undefined,
266
+ });
267
+ return {
268
+ codigoSaida: execucao.status ?? 1,
269
+ quantidadeTestes,
270
+ saidaPadrao: typeof execucao.stdout === "string" ? execucao.stdout : "",
271
+ saidaErro: typeof execucao.stderr === "string" ? execucao.stderr : "",
272
+ };
273
+ }
274
+ if (alvo === "javascript") {
275
+ const arquivoTeste = arquivos.find((item) => item.caminhoRelativo.endsWith(".test.js"))?.caminhoRelativo;
276
+ if (!arquivoTeste) {
277
+ if (!silencioso) {
278
+ console.log("Nenhum teste JavaScript foi gerado.");
279
+ }
280
+ return { codigoSaida: 0, quantidadeTestes, saidaPadrao: "", saidaErro: "" };
281
+ }
282
+ const execucao = spawnSync("node", ["--test", path.join(baseSaida, arquivoTeste)], {
283
+ stdio: silencioso ? "pipe" : "inherit",
284
+ encoding: silencioso ? "utf8" : undefined,
285
+ });
286
+ return {
287
+ codigoSaida: execucao.status ?? 1,
288
+ quantidadeTestes,
289
+ saidaPadrao: typeof execucao.stdout === "string" ? execucao.stdout : "",
290
+ saidaErro: typeof execucao.stderr === "string" ? execucao.stderr : "",
291
+ };
292
+ }
293
+ if (alvo === "lua") {
294
+ const arquivoTeste = arquivos.find((item) => path.basename(item.caminhoRelativo).startsWith("test_") && item.caminhoRelativo.endsWith(".lua"))?.caminhoRelativo;
295
+ if (!arquivoTeste) {
296
+ if (!silencioso) {
297
+ console.log("Nenhum teste Lua foi gerado.");
298
+ }
299
+ return { codigoSaida: 0, quantidadeTestes, saidaPadrao: "", saidaErro: "" };
300
+ }
301
+ if (!comandoDisponivel("lua", ["-v"])) {
302
+ return {
303
+ codigoSaida: 1,
304
+ quantidadeTestes,
305
+ saidaPadrao: "",
306
+ saidaErro: "Nao foi possivel localizar o runner lua para executar os testes gerados.",
307
+ };
308
+ }
309
+ const execucao = spawnSync("lua", [arquivoTeste], {
310
+ stdio: silencioso ? "pipe" : "inherit",
311
+ cwd: baseSaida,
312
+ encoding: silencioso ? "utf8" : undefined,
313
+ shell: process.platform === "win32",
314
+ });
315
+ return {
316
+ codigoSaida: execucao.status ?? 1,
317
+ quantidadeTestes,
318
+ saidaPadrao: typeof execucao.stdout === "string" ? execucao.stdout : "",
319
+ saidaErro: typeof execucao.stderr === "string" ? execucao.stderr : "",
320
+ };
321
+ }
322
+ const arquivoTeste = arquivos.find((item) => path.basename(item.caminhoRelativo).startsWith("test_"))?.caminhoRelativo;
323
+ if (!arquivoTeste) {
324
+ if (!silencioso) {
325
+ console.log("Nenhum teste Python foi gerado.");
326
+ }
327
+ return { codigoSaida: 0, quantidadeTestes, saidaPadrao: "", saidaErro: "" };
328
+ }
329
+ const pytest = resolverExecucaoPytest();
330
+ if (!pytest) {
331
+ return {
332
+ codigoSaida: 1,
333
+ quantidadeTestes,
334
+ saidaPadrao: "",
335
+ saidaErro: "Nao foi possivel localizar pytest. Instale pytest ou exponha python -m pytest.",
336
+ };
337
+ }
338
+ const execucao = spawnSync(pytest.comando, [...pytest.argumentosBase, arquivoTeste], {
339
+ stdio: silencioso ? "pipe" : "inherit",
340
+ cwd: baseSaida,
341
+ encoding: silencioso ? "utf8" : undefined,
342
+ shell: process.platform === "win32" && pytest.comando === "pytest",
343
+ });
344
+ return {
345
+ codigoSaida: execucao.status ?? 1,
346
+ quantidadeTestes,
347
+ saidaPadrao: typeof execucao.stdout === "string" ? execucao.stdout : "",
348
+ saidaErro: typeof execucao.stderr === "string" ? execucao.stderr : "",
349
+ };
350
+ }
351
+ export function resolverConfiguracaoVerificacaoPorAlvo(alvo, configCarregada) {
352
+ const framework = resolverFrameworkPadrao(undefined, configCarregada);
353
+ const incompatibilidade = validarCompatibilidadeFramework(alvo, framework);
354
+ const estrutura = resolverEstruturaSaidaPadrao(undefined, framework, configCarregada);
355
+ return {
356
+ framework,
357
+ estrutura,
358
+ incompatibilidade,
359
+ };
360
+ }
361
+ export function executarTestesParaVerificacao(alvo, baseSaida, arquivos, framework, silencioso = false) {
362
+ if (framework !== "base") {
363
+ return {
364
+ execucao: {
365
+ codigoSaida: 0,
366
+ quantidadeTestes: 0,
367
+ saidaPadrao: "",
368
+ saidaErro: "",
369
+ },
370
+ testesExecutados: false,
371
+ };
372
+ }
373
+ return {
374
+ execucao: executarTestesGerados(alvo, baseSaida, arquivos, silencioso),
375
+ testesExecutados: true,
376
+ };
377
+ }
378
+ export function nomeSubpastaModulo(caminhoArquivo) {
379
+ return path.basename(caminhoArquivo, ".sema");
380
+ }
381
+ //# sourceMappingURL=geracaoCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geracaoCore.js","sourceRoot":"","sources":["../src/geracaoCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const STARTER_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo em backend e front consumer.\n\nImportante:\n- a Sema se apresenta publicamente como protocolo e funciona tecnicamente como linguagem de intencao\n- a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana\n- humanos sao autores/aprovadores; agentes sao os consumidores primarios do contrato\n- leitura humana e bonus toleravel, nao objetivo de produto\n- a Sema nao e gerador magico que deveria fazer tudo\n- a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao\n- a Sema gera codigo e scaffolding real para TypeScript, Python e Dart\n- a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico\n- a Sema usa `impl` para ligar task a simbolo real do runtime\n- a Sema usa `vinculos` para ligar contrato a arquivo, simbolo, recurso e superficie real\n- a Sema usa `execucao` para explicitar timeout, retry, compensacao e criticidade\n- a Sema usa `drift` para medir diferenca entre contrato e codigo vivo com score, confianca e lacunas\n- a Sema usa `resumo` e `prompt-curto` para IA fraca, gratuita ou com pouco contexto\n- a Sema usa `contexto-ia` para gerar `ast.json`, `ir.json`, `drift.json`, `briefing.json` e artefatos compactos antes da edicao\n- timeout definido pelo agente nao e falha do Sema; aumente o timeout e tente de novo antes de concluir falha\n- a Sema pode servir de base para interfaces graficas elegantes e coerentes\n- a Sema nao gera uma interface completa sozinha no estado atual\n- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto\n- se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end\n- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade\n\nRegras:\n- nao invente sintaxe fora da gramatica e dos exemplos oficiais\n- antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research\n- se a IA for fraca, nao tente abrir tudo de uma vez\n- use `sema resumo` e `briefing.min.json` antes de subir para o pacote completo\n- se `sema resumo . --micro` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo\n- trate `ir --json` como fonte de verdade semantica\n- trate `briefing.json` como plano de intervencao antes de editar projeto vivo\n- trate `diagnosticos --json` como fonte de correcao\n- use `sema formatar` como fonte unica de estilo\n- preserve a intencao do contrato\n- nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo\n\nComandos essenciais:\n- resumo compacto por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- prompt curto para IA fraca: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- descoberta do projeto: `sema inspecionar [arquivo-ou-pasta] --json`\n- auditoria do contrato vivo: `sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--json]`\n- mapa de impacto: `sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--json]`\n- renomeacao assistida: `sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--json]`\n- contexto completo do modulo: `sema contexto-ia <arquivo.sema>`\n- estrutura sintatica: `sema ast <arquivo.sema> --json`\n- estrutura semantica: `sema ir <arquivo.sema> --json`\n- validacao: `sema validar <arquivo.sema> --json`\n- diagnosticos: `sema diagnosticos <arquivo.sema> --json`\n- formatacao: `sema formatar <arquivo.sema>`\n- importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|typescript|python|dart> <diretorio> --saida <diretorio>`\n- exemplos oficiais no projeto: `sema instalar-exemplos`\n- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>`\n- verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`\n\nAntes de editar:\n1. leia README, docs de IA e um exemplo oficial parecido\n2. se a IA for fraca, rode `sema resumo <arquivo> --micro` e leia `briefing.min.json`\n - se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo\n3. se a IA aguentar mais, rode `sema drift` para medir impls, vinculos, rotas, score e lacunas\n4. se a tarefa for pesada, rode `sema contexto-ia` e leia `briefing.json`\n5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar\n\nDepois de editar:\n1. rode `sema formatar`\n2. rode `sema validar --json`\n3. se houver falha, use `diagnosticos --json`\n4. rode `sema drift` de novo quando mexer em codigo vivo\n5. se a tarefa pedir codigo derivado, rode `sema compilar`\n6. feche com `sema verificar <arquivo-ou-pasta> --json`\n\nPriorize sempre:\n- exemplos oficiais\n- JSON da CLI\n- o menor artefato que resolva a tarefa da IA atual\n- score, confianca e lacunas do `drift`\n- `briefing.json` como guia de mudanca\n- consistencia semantica\n\nSuperficies que a IA deve enxergar como first-class:\n- `route`\n- `worker`\n- `evento`\n- `fila`\n- `cron`\n- `webhook`\n- `cache`\n- `storage`\n- `policy`\n\nNao improvise quando faltar contexto.\n";
2
+ export declare const PROMPT_BASE_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo.\n\nTrate a Sema como protocolo de governanca semantica e linguagem de intencao feita para IA, nao para leitura humana confortavel. Humanos escrevem e aprovam; agentes consomem. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.\n\nFontes de verdade, em ordem:\n1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele\n2. `AGENT_CONTEXT_PACK.json`\n3. `SEMA_BRIEF.md`\n4. `SEMA_INDEX.json`\n5. `AGENTS.md`\n6. README do projeto\n7. gramatica e documentacao de sintaxe da Sema\n8. exemplos oficiais, com prioridade para o vertical de pagamento\n9. `sema resumo` e `briefing.min.json` quando a IA for fraca\n10. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar\n\nRegras de operacao:\n- contrato vem antes da acao: crie, edite ou remova o .sema aplicavel antes de codigo, docs operacionais, texto Author, workflow, jogo, pesquisa, legal ou ops\n- preserve o significado semantico\n- use o formatador oficial da Sema como fonte unica de estilo\n- use diagnosticos estruturados como contrato de correcao\n- use a IR como fonte de verdade semantica quando houver duvida\n- use predicados canonicos como normalizacao opcional, preservando a forma original\n- nao conclua uma alteracao sem validar e verificar o modulo\n- comece pelo menor artefato semantico que resolva a tarefa\n\nAntes de editar `.sema`, entenda:\n- o module alvo\n- os contratos de task, route, error, effects, guarantees, state e flow\n- os exemplos oficiais relacionados\n\nDepois de editar `.sema`, execute este fluxo:\n1. formatar\n2. validar\n3. diagnosticar, se houver falha\n4. verificar\n\nSe houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.\n\nSe algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.\n";
3
+ export declare const PROMPT_IA_UI = "Atue como Engenheiro de Software Senior e UX/UI Designer de elite.\n\nQuero que voce trabalhe com Sema como fonte de verdade semantica do sistema e com React + TypeScript como camada de interface.\n\nEntregue obrigatoriamente duas partes integradas:\n1. os arquivos `.sema` do dominio\n2. a proposta ou implementacao da interface em React + TypeScript\n\nRegras:\n- nao entregue apenas HTML solto em arquivo unico\n- nao trate a Sema como enfeite conceitual\n- a interface deve nascer do contrato semantico definido em Sema\n- use os exemplos oficiais da Sema como referencia de estilo e semantica\n- nao invente sintaxe fora da gramatica suportada\n\nA Sema deve modelar, quando fizer sentido:\n- `module`\n- `use`\n- `entity`\n- `enum`\n- `state`\n- `task`\n- `flow`\n- `route`\n- `effects`\n- `error`\n- `guarantees`\n- `tests`\n- `docs`\n\nA interface deve refletir visualmente:\n- `state` como status e progresso observavel\n- `flow` como etapas ou orquestracao visivel\n- `error` como falhas tratadas com clareza\n- `effects` como operacoes relevantes para usuario ou operacao\n- `guarantees` como confianca, confirmacao ou consistencia final\n\nEstruture a entrega assim:\n1. visao do produto\n2. dominio modelado em Sema\n3. arquitetura de pastas em React + TypeScript\n4. componentes principais\n5. estrategia visual\n6. codigo principal da interface\n7. explicacao curta de como a UI conversa com a semantica da Sema\n\nSe a tarefa envolver app visual, a Sema governa o significado e o React renderiza a experiencia. Nao atropele essa separacao.\n";
4
+ export declare const PROMPT_IA_REACT = "Crie uma solucao com Sema + React + TypeScript.\n\nRegras principais:\n- a Sema deve ser a fonte de verdade semantica do dominio\n- React + TypeScript deve ser a camada de interface e experiencia\n- nao entregue HTML unico solto\n- nao trate a Sema como enfeite\n\nEntregue obrigatoriamente:\n1. arquivos `.sema` do dominio\n2. arquitetura de pastas do frontend\n3. componentes React principais\n4. contratos e tipos derivados da semantica\n5. interface elegante e implementavel\n\nA modelagem Sema deve cobrir, quando fizer sentido:\n- `entity`\n- `enum`\n- `state`\n- `task`\n- `flow`\n- `route`\n- `effects`\n- `error`\n- `guarantees`\n- `tests`\n\nA interface React deve tornar visiveis:\n- estado atual e transicoes relevantes\n- fluxo operacional\n- erros publicos\n- efeitos operacionais importantes\n- garantias ou confirmacoes finais\n\nEstruture a entrega assim:\n1. visao do produto\n2. arquivos `.sema`\n3. arquitetura React + TypeScript\n4. componentes e telas\n5. codigo principal\n6. explicacao de como a UI deriva da semantica da Sema\n\nSe houver duvida, siga os exemplos oficiais e mantenha a separacao:\n- Sema governa o significado\n- React governa a apresentacao\n";
5
+ export declare const PROMPT_IA_SEMA_PRIMEIRO = "Quero que voce trabalhe no modo \"Sema primeiro\".\n\nRegra principal:\n- modele primeiro o dominio em arquivos `.sema`\n- se a intencao mudar, crie, edite ou remova o contrato antes de qualquer acao operacional\n- so depois proponha ou gere codigo de aplicacao derivado disso\n\nFluxo obrigatorio:\n1. entender o dominio pedido\n2. modelar o contrato em Sema\n3. validar coerencia entre `task`, `route`, `state`, `flow`, `error`, `effects` e `guarantees`\n4. so depois gerar TypeScript, Python, React ou outra camada de implementacao\n\nNao entregue apenas codigo de interface ou codigo imperativo direto sem antes entregar a camada semantica.\n\nA modelagem em Sema deve:\n- preservar a intencao do dominio\n- explicitar entradas, saidas, erros, efeitos e garantias\n- usar apenas blocos e sintaxe oficiais\n- incluir testes embutidos quando fizer sentido\n\nSe houver interface grafica:\n- entregue a modelagem Sema primeiro\n- depois explique como a interface deve refletir a semantica\n- se gerar UI, use React + TypeScript em vez de HTML unico solto\n\nSe houver backend:\n- entregue a modelagem Sema primeiro\n- depois gere a borda publica e a implementacao derivada\n\nNao pule a etapa semantica. A camada `.sema` e a ancora principal da solucao.\n";
6
+ export declare const EXEMPLOS_PROMPT_IA = "Exemplos de prompt oficial para trabalhar com Sema\n\n1. Sema primeiro\n\nCrie uma solucao seguindo a estrategia \"Sema primeiro\".\nEntregue primeiro os arquivos `.sema` do dominio e so depois a implementacao derivada.\nNao entregue apenas codigo imperativo.\nUse Sema como fonte de verdade para contratos, estados, erros, efeitos e garantias.\n\n2. Sema + React + TypeScript\n\nCrie um projeto com Sema + React + TypeScript.\nEntregue:\n- os arquivos `.sema` do dominio\n- a arquitetura de pastas do frontend\n- componentes React que reflitam `state`, `flow`, `error`, `effects` e `guarantees`\n- uma interface elegante e implementavel\n- nao entregue HTML solto em arquivo unico\n\n3. Revisar ou corrigir um modulo Sema\n\nRevise e corrija um modulo `.sema`.\nAntes de editar:\n- leia os exemplos oficiais parecidos\n- consulte AST e IR\nDepois de editar:\n- rode `sema formatar`\n- rode `sema validar --json`\n- use `diagnosticos --json` se houver falha\n- feche com `sema verificar`\n\n4. Caso de UI sem perder a semantica\n\nQuero uma interface premium para este dominio, mas a solucao deve continuar ancorada em Sema.\nModele primeiro o dominio em `.sema`.\nDepois proponha uma interface em React + TypeScript que torne visiveis:\n- estado\n- fluxo\n- erros\n- efeitos\n- garantias\nNao transforme isso em um `index.html` solto.\n\nComandos uteis da CLI para esse fluxo:\n- `sema starter-ia`\n- `sema ajuda-ia`\n- `sema resumo <arquivo-ou-pasta>`\n- `sema prompt-curto <arquivo-ou-pasta>`\n- `sema prompt-ia`\n- `sema prompt-ia-ui`\n- `sema prompt-ia-react`\n- `sema prompt-ia-sema-primeiro`\n- `sema contexto-ia <arquivo.sema>`\n";