@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,256 @@
1
+ // SEMA-GOVERNED: sema.governanca_ia_contexto
2
+ // Descricao: codigo governado pelo Sema; consulte contratos/sema/governanca_ia_contexto.sema antes de editar.
3
+ // SEMA-GOVERNED
4
+ // M?dulo: sema.produto.orcamento_semantico
5
+ // Contrato: contratos/sema/orcamento_semantico.sema
6
+ // Descricao: comando profile da CLI e renderiza??o de valida??o sem?ntica por profile.
7
+ import { readFile } from "node:fs/promises";
8
+ import path from "node:path";
9
+ import { temErros } from "@sema/nucleo";
10
+ import { carregarModulos } from "./carregarModulos.js";
11
+ import { obterOpcao } from "./cliArgs.js";
12
+ import { CAPABILITY_MATRIX_GOVERNANCA, normalizarMaturidadeProfile, normalizarProfileSemantico, PRESETS_PROFILE, REQUISITOS_PROFILE, REQUISITOS_PROFILE_COMUNS, } from "./profileCatalogo.js";
13
+ import { REQUISITOS_PRESET_PROFILE, RULE_PACKS_SEMA } from "./profileRulePacks.js";
14
+ import { avaliarArtefatoProfile } from "./profileArtefatoValidadores.js";
15
+ import { avaliarRequisitosProfile, calcularConfiancaValidacaoProfile, calcularScoreAchadosProfile, calcularScoreProfile, calcularScoreRiscoProfile, criarRuntimeGateProfile, decidirAcaoAgenteProfile, moduloCombinaComProfile, normalizarPresetProfile, selecionarRulePacksProfile, } from "./profileRegras.js";
16
+ export async function carregarArtefatoProfile(args) {
17
+ const texto = obterOpcao(args, "--artefato") ?? obterOpcao(args, "--artifact");
18
+ const arquivo = obterOpcao(args, "--artefato-arquivo") ?? obterOpcao(args, "--artifact-file");
19
+ if (arquivo) {
20
+ const absoluto = path.resolve(process.cwd(), arquivo);
21
+ return { texto: await readFile(absoluto, "utf8"), arquivo: absoluto };
22
+ }
23
+ return { texto: texto ?? null, arquivo: null };
24
+ }
25
+ export async function validarProfileSemantico(entrada, profile, opcoes) {
26
+ if (!entrada) {
27
+ throw new Error("Uso: sema profile validar <software|workflow|ops|game|legal|research|conversas> <arquivo-ou-pasta> [--maturidade draft|prototype|production|critical] [--preset <preset>] [--artefato <texto>|--artefato-arquivo <arquivo>] [--json]");
28
+ }
29
+ const modulos = await carregarModulos(entrada);
30
+ const escolhido = modulos.find((item) => moduloCombinaComProfile(item.resultado.modulo?.nome, item.caminho, profile)) ?? modulos[0];
31
+ if (!escolhido) {
32
+ throw new Error(`Nenhum modulo Sema encontrado para ${entrada}.`);
33
+ }
34
+ const conteudo = await readFile(escolhido.caminho, "utf8");
35
+ const maturidade = opcoes.maturidade;
36
+ const preset = opcoes.preset ?? null;
37
+ const contratoValido = !temErros(escolhido.resultado.diagnosticos);
38
+ const requisitosPreset = preset ? REQUISITOS_PRESET_PROFILE[preset] ?? [] : [];
39
+ const achadosContrato = avaliarRequisitosProfile(conteudo, [...REQUISITOS_PROFILE_COMUNS, ...REQUISITOS_PROFILE[profile]], profile, maturidade);
40
+ const achadosPreset = avaliarRequisitosProfile(conteudo, requisitosPreset, profile, maturidade, "preset");
41
+ const achadosArtefato = avaliarArtefatoProfile(profile, conteudo, opcoes.artefatoTexto, maturidade, preset);
42
+ const achados = [...achadosContrato, ...achadosPreset, ...achadosArtefato];
43
+ const requisitosPendentes = achados.filter((achado) => !achado.atendido).map((achado) => achado.id);
44
+ const obrigatoriosPendentes = achados.filter((achado) => achado.obrigatorio && !achado.atendido).map((achado) => achado.id);
45
+ const scoreContrato = calcularScoreProfile(contratoValido, [...achadosContrato, ...achadosPreset]);
46
+ const scoreArtefato = opcoes.artefatoTexto ? calcularScoreAchadosProfile(100, achadosArtefato) : null;
47
+ const scoreProntoParaAcao = Math.min(scoreContrato, scoreArtefato ?? scoreContrato);
48
+ const decisaoAgente = decidirAcaoAgenteProfile(contratoValido, achados);
49
+ const aprovado = contratoValido && obrigatoriosPendentes.length === 0 && scoreProntoParaAcao >= 80;
50
+ const podeContinuar = decisaoAgente === "continuar" || decisaoAgente === "continuar_com_ressalva";
51
+ const scoreRisco = calcularScoreRiscoProfile(achados);
52
+ const confiancaValidacao = calcularConfiancaValidacaoProfile(Boolean(opcoes.artefatoTexto), achadosArtefato, scoreRisco);
53
+ const prontoParaAcao = aprovado && podeContinuar;
54
+ const confidenceEngine = {
55
+ scoreContratoFormal: scoreContrato,
56
+ scoreAderenciaSemantica: scoreArtefato,
57
+ scoreRisco,
58
+ prontoParaAcao,
59
+ confiancaValidacao,
60
+ comparacaoArtefatoReal: Boolean(opcoes.artefatoTexto),
61
+ heuristicaParcial: confiancaValidacao === "parcial" || confiancaValidacao === "baixa",
62
+ };
63
+ const runtimeGate = criarRuntimeGateProfile(decisaoAgente, maturidade, achados, scoreRisco);
64
+ const capabilityMatrix = CAPABILITY_MATRIX_GOVERNANCA[profile];
65
+ const rulePacksSugeridos = selecionarRulePacksProfile(profile);
66
+ return {
67
+ comando: "profile validar",
68
+ sucesso: aprovado,
69
+ profile,
70
+ arquivo: escolhido.caminho,
71
+ modulo: escolhido.resultado.modulo?.nome ?? null,
72
+ maturidade,
73
+ preset,
74
+ presetsDisponiveis: PRESETS_PROFILE[profile],
75
+ contratoValido,
76
+ artefatoRecebido: Boolean(opcoes.artefatoTexto),
77
+ artefatoArquivo: opcoes.artefatoArquivo ?? null,
78
+ aprovado,
79
+ bloqueado: !aprovado,
80
+ podeContinuar,
81
+ decisaoAgente,
82
+ scoreContrato,
83
+ scoreArtefato,
84
+ scoreProntoParaAcao,
85
+ scoreContratoFormal: scoreContrato,
86
+ scoreAderenciaSemantica: scoreArtefato,
87
+ scoreRisco,
88
+ prontoParaAcao,
89
+ confiancaValidacao,
90
+ confidenceEngine,
91
+ capabilityMatrix,
92
+ runtimeGate,
93
+ rulePacksSugeridos,
94
+ achados,
95
+ achadosArtefato,
96
+ requisitosAtendidos: achados.filter((achado) => achado.atendido).map((achado) => achado.id),
97
+ requisitosPendentes,
98
+ checks: [
99
+ `sema profile validar ${profile} <arquivo> --preset ${preset ?? "<opcional>"} --artefato-arquivo <artefato> --json`,
100
+ "sema validar <arquivo> --json",
101
+ "sema drift <arquivo> --escopo modulo --json",
102
+ "sema contexto-ia <arquivo>",
103
+ ],
104
+ diagnosticos: escolhido.resultado.diagnosticos,
105
+ };
106
+ }
107
+ export function renderizarProfileValidarTexto(resultado) {
108
+ const linhas = [
109
+ "PROFILE_VALIDAR",
110
+ `PROFILE: ${resultado.profile}`,
111
+ `ARQUIVO: ${resultado.arquivo}`,
112
+ `MODULO: ${resultado.modulo ?? "desconhecido"}`,
113
+ `MATURIDADE: ${resultado.maturidade}`,
114
+ `PRESET: ${resultado.preset ?? "nenhum"}`,
115
+ `ARTEFATO_RECEBIDO: ${resultado.artefatoRecebido ? "sim" : "nao"}`,
116
+ `APROVADO: ${resultado.aprovado ? "sim" : "nao"}`,
117
+ `BLOQUEADO: ${resultado.bloqueado ? "sim" : "nao"}`,
118
+ `DECISAO_AGENTE: ${resultado.decisaoAgente}`,
119
+ `SCORE_CONTRATO: ${resultado.scoreContrato}`,
120
+ `SCORE_ARTEFATO: ${resultado.scoreArtefato ?? "nao_avaliado"}`,
121
+ `SCORE_PRONTO_PARA_ACAO: ${resultado.scoreProntoParaAcao}`,
122
+ `SCORE_RISCO: ${resultado.scoreRisco}`,
123
+ `CONFIANCA_VALIDACAO: ${resultado.confiancaValidacao}`,
124
+ `RUNTIME_GATE: ${resultado.runtimeGate.decisao}`,
125
+ ];
126
+ for (const achado of resultado.achados) {
127
+ linhas.push(`- ${achado.id}: ${achado.atendido ? "ok" : "pendente"} ${achado.severidade}${achado.obrigatorio ? " obrigatorio" : " recomendado"} ${achado.fonte} - ${achado.descricao}`);
128
+ if (achado.linha && achado.coluna)
129
+ linhas.push(` posicao: linha ${achado.linha}, coluna ${achado.coluna}`);
130
+ if (achado.trecho)
131
+ linhas.push(` trecho: ${achado.trecho}`);
132
+ if (achado.motivo)
133
+ linhas.push(` motivo: ${achado.motivo}`);
134
+ if (achado.risco)
135
+ linhas.push(` risco: ${achado.risco}`);
136
+ if (achado.sugestao)
137
+ linhas.push(` sugestao: ${achado.sugestao}`);
138
+ }
139
+ return linhas.join("\n");
140
+ }
141
+ export function criarPayloadCapabilityMatrix() {
142
+ const profiles = Object.values(CAPABILITY_MATRIX_GOVERNANCA);
143
+ return {
144
+ comando: "profile capabilities",
145
+ sucesso: true,
146
+ profiles,
147
+ resumo: {
148
+ profiles: profiles.length,
149
+ validaArtefatoReal: profiles.filter((profile) => profile.validaArtefatoReal).map((profile) => profile.profile),
150
+ interpretaNegacao: profiles.filter((profile) => profile.interpretaNegacao).map((profile) => profile.profile),
151
+ },
152
+ };
153
+ }
154
+ export function renderizarCapabilityMatrixTexto(payload) {
155
+ return [
156
+ "CAPABILITY_MATRIX",
157
+ ...payload.profiles.map((profile) => [
158
+ `- ${profile.profile}: confianca=${profile.confianca}`,
159
+ ` literal=${profile.detectaLiteral ? "sim" : "nao"} semantico=${profile.detectaSemantico} ordem=${profile.detectaOrdemExecucao} artefato=${profile.validaArtefatoReal} negacao=${profile.interpretaNegacao ? "sim" : "nao"}`,
160
+ ` packs=${profile.rulePacksSugeridos.join(", ")}`,
161
+ ` limites=${profile.limites.join(" | ")}`,
162
+ ].join("\n")).join("\n"),
163
+ ].join("\n");
164
+ }
165
+ export function criarPayloadRulePacks(profileFiltro = null) {
166
+ const packs = profileFiltro
167
+ ? RULE_PACKS_SEMA.filter((pack) => pack.profiles.includes(profileFiltro))
168
+ : RULE_PACKS_SEMA;
169
+ return {
170
+ comando: "rule-packs",
171
+ sucesso: true,
172
+ profile: profileFiltro,
173
+ packs,
174
+ resumo: {
175
+ total: packs.length,
176
+ abertos: packs.filter((pack) => pack.monetizacao === "aberto").map((pack) => pack.id),
177
+ pagos: packs.filter((pack) => pack.monetizacao !== "aberto").map((pack) => pack.id),
178
+ enterprise: packs.filter((pack) => pack.categoria === "enterprise").map((pack) => pack.id),
179
+ },
180
+ };
181
+ }
182
+ export function renderizarRulePacksTexto(payload) {
183
+ return [
184
+ "RULE_PACKS",
185
+ ...payload.packs.map((pack) => [
186
+ `- ${pack.id}: ${pack.nome}`,
187
+ ` profiles=${pack.profiles.join(", ")} maturidade_minima=${pack.maturidadeMinima} monetizacao=${pack.monetizacao} status=${pack.status}`,
188
+ ` controles=${pack.controles.join(", ")}`,
189
+ ].join("\n")),
190
+ ].join("\n");
191
+ }
192
+ export function normalizarProfileGovernanca(valor) {
193
+ if (!valor)
194
+ return null;
195
+ const chave = valor.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
196
+ if (chave === "author" || chave === "autor" || chave === "escrita")
197
+ return "author";
198
+ return normalizarProfileSemantico(valor);
199
+ }
200
+ export async function comandoProfile(posicionais, args, emJson) {
201
+ const subcomando = posicionais[0];
202
+ if (!subcomando || subcomando === "help" || subcomando === "ajuda") {
203
+ console.log([
204
+ "Uso: sema profile <validar|capabilities|rule-packs>",
205
+ "",
206
+ "Comandos:",
207
+ " sema profile validar <software|workflow|ops|game|legal|research|conversas> <arquivo-ou-pasta> [--maturidade draft|prototype|production|critical] [--preset <preset>] [--artefato <texto>|--artefato-arquivo <arquivo>] [--json]",
208
+ " sema profile capabilities [--json]",
209
+ " sema profile rule-packs [--profile <author|software|workflow|ops|game|legal|research|conversas>] [--json]",
210
+ "",
211
+ "O profile e um gate semantico: se requisito obrigatorio faltar, a saida bloqueia.",
212
+ ].join("\n"));
213
+ return subcomando ? 0 : 1;
214
+ }
215
+ if (subcomando === "capabilities" || subcomando === "capability-matrix" || subcomando === "matrix") {
216
+ const payload = criarPayloadCapabilityMatrix();
217
+ console.log(emJson ? JSON.stringify(payload, null, 2) : renderizarCapabilityMatrixTexto(payload));
218
+ return 0;
219
+ }
220
+ if (subcomando === "rule-packs" || subcomando === "packs") {
221
+ const profileFiltro = normalizarProfileGovernanca(obterOpcao(args, "--profile"));
222
+ const payload = criarPayloadRulePacks(profileFiltro);
223
+ console.log(emJson ? JSON.stringify(payload, null, 2) : renderizarRulePacksTexto(payload));
224
+ return 0;
225
+ }
226
+ if (subcomando !== "validar") {
227
+ console.error(`Subcomando profile desconhecido: ${subcomando}`);
228
+ return 1;
229
+ }
230
+ const profile = normalizarProfileSemantico(posicionais[1] ?? obterOpcao(args, "--profile"));
231
+ const entrada = posicionais[2] ?? obterOpcao(args, "--arquivo");
232
+ if (!profile) {
233
+ console.error("Profile invalido. Use software, workflow, ops, game, legal, research ou conversas.");
234
+ return 1;
235
+ }
236
+ const preset = normalizarPresetProfile(profile, obterOpcao(args, "--preset"));
237
+ if (obterOpcao(args, "--preset") && !preset) {
238
+ console.error(`Preset invalido para ${profile}. Use: ${PRESETS_PROFILE[profile].join(", ")}.`);
239
+ return 1;
240
+ }
241
+ const artefato = await carregarArtefatoProfile(args);
242
+ const resultado = await validarProfileSemantico(entrada, profile, {
243
+ maturidade: normalizarMaturidadeProfile(obterOpcao(args, "--maturidade")),
244
+ preset,
245
+ artefatoTexto: artefato.texto,
246
+ artefatoArquivo: artefato.arquivo,
247
+ });
248
+ if (emJson) {
249
+ console.log(JSON.stringify(resultado, null, 2));
250
+ }
251
+ else {
252
+ console.log(renderizarProfileValidarTexto(resultado));
253
+ }
254
+ return resultado.sucesso ? 0 : 1;
255
+ }
256
+ //# sourceMappingURL=profileCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileCommand.js","sourceRoot":"","sources":["../src/profileCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export declare function expandirIntencaoSemanticaProfile(contrato: string, profile?: string, termoDetectado?: string): {
2
+ expansoes: string[];
3
+ requisitos_inferidos: string[];
4
+ exige_declaracao: boolean;
5
+ };
6
+ export declare function sugerirStarterPresetProfile(profile: string, preset: string | undefined, requisitosPendentes: string[]): {
7
+ starter: {
8
+ profile: string;
9
+ preset: string;
10
+ contrato: string;
11
+ requisitos_cobertos: string[];
12
+ };
13
+ contrato_minimo: string;
14
+ deve_aplicar_como_patch: boolean;
15
+ };
16
+ export declare function validarPipelineProfiles(pipeline: string, contrato: string, artefato: string | undefined, maturidade: string): {
17
+ decisao_global: string;
18
+ matriz: {
19
+ profile: string;
20
+ decisao: string;
21
+ }[];
22
+ motivo_principal: string;
23
+ proxima_acao: string;
24
+ };
25
+ export declare function exigirQaCriativoQuandoPublicavel(contrato: string, profile: string, artefatoPublicavel: boolean): {
26
+ qa_requerido: boolean;
27
+ gate_final: string;
28
+ };
29
+ export declare function catalogoDropdownOnboarding(publico: string, contexto: string): {
30
+ pipelines: string[];
31
+ starters: string[];
32
+ profiles_principais: string[];
33
+ };
@@ -0,0 +1,53 @@
1
+ // SEMA-GOVERNED: sema.produto.orquestracao_profiles
2
+ // Descricao: orquestracao IA-first de profiles, starters e gates criativos; consulte contratos/sema/orquestracao_profiles.sema antes de editar.
3
+ export function expandirIntencaoSemanticaProfile(contrato, profile, termoDetectado) {
4
+ const texto = `${contrato} ${profile ?? ""} ${termoDetectado ?? ""}`.toLowerCase();
5
+ const expansoes = [];
6
+ if (/campanha|publica|instagram|social/.test(texto)) {
7
+ expansoes.push("copywriting", "qa_criativo", "publicacao_multicanal");
8
+ }
9
+ if (/imagem|foto|thumb|visual/.test(texto)) {
10
+ expansoes.push("imagens", "edicao_fotos", "identidade_marca");
11
+ }
12
+ return {
13
+ expansoes: [...new Set(expansoes)],
14
+ requisitos_inferidos: expansoes.map((item) => `${item}_declarado`),
15
+ exige_declaracao: expansoes.length > 0,
16
+ };
17
+ }
18
+ export function sugerirStarterPresetProfile(profile, preset, requisitosPendentes) {
19
+ const contrato = `module starter.${profile} {\n docs { resumo: \"Starter ${profile}${preset ? ` ${preset}` : ""}\" }\n}`;
20
+ return {
21
+ starter: { profile, preset: preset ?? "padrao", contrato, requisitos_cobertos: requisitosPendentes },
22
+ contrato_minimo: contrato,
23
+ deve_aplicar_como_patch: requisitosPendentes.length > 0,
24
+ };
25
+ }
26
+ export function validarPipelineProfiles(pipeline, contrato, artefato, maturidade) {
27
+ const matriz = [
28
+ { profile: "software", decisao: contrato ? "continuar" : "parar" },
29
+ { profile: "qa_criativo", decisao: artefato ? "continuar_com_ressalva" : "nao_aplicavel" },
30
+ ];
31
+ const bloqueado = !pipeline || !contrato || !maturidade;
32
+ return {
33
+ decisao_global: bloqueado ? "parar" : "continuar",
34
+ matriz,
35
+ motivo_principal: bloqueado ? "pipeline, contrato e maturidade sao obrigatorios" : "pipeline possui contexto minimo",
36
+ proxima_acao: bloqueado ? "declarar_contexto" : "validar_profiles_especificos",
37
+ };
38
+ }
39
+ export function exigirQaCriativoQuandoPublicavel(contrato, profile, artefatoPublicavel) {
40
+ const qaRequerido = artefatoPublicavel && /copywriting|imagens|videos|publicacao|qa_criativo/.test(`${contrato} ${profile}`);
41
+ return {
42
+ qa_requerido: qaRequerido,
43
+ gate_final: qaRequerido ? "rodar_qa_criativo" : "qa_nao_obrigatorio",
44
+ };
45
+ }
46
+ export function catalogoDropdownOnboarding(publico, contexto) {
47
+ return {
48
+ pipelines: ["campanha_produto", "proposta_comercial", "conteudo_youtube"],
49
+ starters: [`${publico || "agente"}_${contexto || "geral"}`],
50
+ profiles_principais: ["software", "copywriting", "qa_criativo", "publicacao_multicanal"],
51
+ };
52
+ }
53
+ //# sourceMappingURL=profileOrquestracao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileOrquestracao.js","sourceRoot":"","sources":["../src/profileOrquestracao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AchadoProfile, ConfiancaValidacaoProfile, DecisaoAgenteProfile, FonteAchadoProfile, MaturidadeProfile, PerfilSemantico, PresetProfile, ProfileGovernanca, RequisitoProfile, RulePackSema, RuntimeGateProfile, SeveridadeProfile } from "./profileAuthorTipos.js";
2
+ export declare function normalizarPresetProfile(profile: PerfilSemantico, valor: string | undefined): PresetProfile | null;
3
+ export declare function moduloCombinaComProfile(modulo: string | null | undefined, caminho: string, profile: PerfilSemantico): boolean;
4
+ export declare function severidadeRequisitoProfile(requisito: RequisitoProfile, profile: PerfilSemantico, maturidade: MaturidadeProfile): SeveridadeProfile;
5
+ export declare function riscoAchadoProfile(severidade: SeveridadeProfile, fonte: FonteAchadoProfile): string;
6
+ export declare function avaliarRequisitosProfile(conteudo: string, requisitos: RequisitoProfile[], profile: PerfilSemantico, maturidade: MaturidadeProfile, fonte?: FonteAchadoProfile): AchadoProfile[];
7
+ export declare function decidirAcaoAgenteProfile(contratoValido: boolean, achados: AchadoProfile[]): DecisaoAgenteProfile;
8
+ export declare function calcularScoreProfile(contratoValido: boolean, achados: AchadoProfile[]): number;
9
+ export declare function penalidadeAchadoProfile(achado: AchadoProfile): number;
10
+ export declare function calcularScoreAchadosProfile(base: number, achados: AchadoProfile[]): number;
11
+ export declare function calcularScoreRiscoProfile(achados: AchadoProfile[]): number;
12
+ export declare function severidadeMaximaProfile(achados: AchadoProfile[]): SeveridadeProfile | null;
13
+ export declare function calcularConfiancaValidacaoProfile(artefatoRecebido: boolean, achadosArtefato: AchadoProfile[], scoreRisco: number): ConfiancaValidacaoProfile;
14
+ export declare function criarRuntimeGateProfile(decisao: DecisaoAgenteProfile, maturidade: MaturidadeProfile, achados: AchadoProfile[], scoreRisco: number): RuntimeGateProfile;
15
+ export declare function selecionarRulePacksProfile(profile: ProfileGovernanca): RulePackSema[];
16
+ export declare function contratoProibeTermoProfile(contrato: string, termo: string): boolean;
17
+ export declare function criarAchadoArtefatoProfile(id: string, descricao: string, atendido: boolean, severidade: SeveridadeProfile, trecho?: string, sugestao?: string, motivo?: string, detalhes?: Partial<Pick<AchadoProfile, "linha" | "coluna" | "inicio" | "fim" | "regra" | "risco">>): AchadoProfile;
18
+ export declare function trechoRegexProfile(texto: string, regex: RegExp): string | undefined;
19
+ export declare function contemArtefatoProfile(texto: string, regex: RegExp): boolean;
@@ -0,0 +1,219 @@
1
+ // SEMA-GOVERNED
2
+ // M?dulo: sema.produto.orcamento_semantico
3
+ // Contrato: contratos/sema/orcamento_semantico.sema
4
+ // Descri??o: normaliza??o, scoring, decis?o de agente e achados de contrato dos profiles.
5
+ import { PRESETS_PROFILE } from "./profileCatalogo.js";
6
+ import { RULE_PACKS_SEMA } from "./profileRulePacks.js";
7
+ export function normalizarPresetProfile(profile, valor) {
8
+ if (!valor)
9
+ return null;
10
+ const chave = valor.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
11
+ const alias = {
12
+ privacidade: "privacidade",
13
+ privacy: "privacidade",
14
+ termos: "termos_uso",
15
+ termos_de_uso: "termos_uso",
16
+ due: "due_diligence",
17
+ diligence: "due_diligence",
18
+ pesquisa_rapida: "rapida",
19
+ pesquisa_tecnica: "tecnica",
20
+ pesquisa_decisoria: "decisoria",
21
+ pesquisa_critica: "critica",
22
+ critico: "critical",
23
+ critica_ops: "critical",
24
+ modulo_codigo: "modulo",
25
+ seguranca: "security",
26
+ seguranca_codigo: "security",
27
+ atendimento_cliente: "atendimento",
28
+ conversa_atendimento: "atendimento",
29
+ comercial: "vendas",
30
+ venda: "vendas",
31
+ conversa_vendas: "vendas",
32
+ suporte_cliente: "suporte",
33
+ qualificar: "qualificacao",
34
+ qualificacao_lead: "qualificacao",
35
+ retencao_cliente: "retencao",
36
+ cobrar: "cobranca",
37
+ };
38
+ const preset = alias[chave] ?? chave;
39
+ return PRESETS_PROFILE[profile].includes(preset) ? preset : null;
40
+ }
41
+ export function moduloCombinaComProfile(modulo, caminho, profile) {
42
+ const alvo = `${modulo ?? ""} ${caminho}`.toLowerCase();
43
+ if (profile === "workflow") {
44
+ return /workflow|n8n|orquestracao/.test(alvo);
45
+ }
46
+ if (profile === "conversas") {
47
+ return /conversas|conversa|atendimento|chatbot|bot/.test(alvo);
48
+ }
49
+ return alvo.includes(profile);
50
+ }
51
+ export function severidadeRequisitoProfile(requisito, profile, maturidade) {
52
+ if (requisito.severidade)
53
+ return requisito.severidade;
54
+ if (!requisito.obrigatorio)
55
+ return "warning";
56
+ if (maturidade === "critical")
57
+ return "critical";
58
+ if ((profile === "legal" && /revisao|jurisdicao|fontes|auditoria/i.test(requisito.id)) ||
59
+ (profile === "ops" && /runbook|rollback|segredos|incidente/i.test(requisito.id))) {
60
+ return "critical";
61
+ }
62
+ return maturidade === "draft" ? "warning" : "blocking";
63
+ }
64
+ export function riscoAchadoProfile(severidade, fonte) {
65
+ if (severidade === "critical")
66
+ return fonte === "artefato" ? "violacao_critica_no_artefato" : "risco_critico_de_governanca";
67
+ if (severidade === "blocking")
68
+ return fonte === "artefato" ? "artefato_nao_aderente" : "contrato_nao_pronto";
69
+ if (severidade === "warning")
70
+ return "ressalva_operacional";
71
+ return "informativo";
72
+ }
73
+ export function avaliarRequisitosProfile(conteudo, requisitos, profile, maturidade, fonte = "contrato") {
74
+ return requisitos.map((requisito) => {
75
+ const severidade = severidadeRequisitoProfile(requisito, profile, maturidade);
76
+ const atendido = requisito.termos.every((termo) => termo.test(conteudo));
77
+ return {
78
+ id: requisito.id,
79
+ descricao: requisito.descricao,
80
+ obrigatorio: requisito.obrigatorio,
81
+ atendido,
82
+ severidade,
83
+ termos: requisito.termos.map((termo) => termo.source),
84
+ fonte,
85
+ regra: requisito.id,
86
+ motivo: atendido ? undefined : `requisito ${fonte} nao foi demonstrado no contrato.`,
87
+ risco: atendido ? undefined : riscoAchadoProfile(severidade, fonte),
88
+ sugestao: atendido ? undefined : "declare o requisito com entradas, efeitos, garantias e checks rastreaveis.",
89
+ };
90
+ });
91
+ }
92
+ export function decidirAcaoAgenteProfile(contratoValido, achados) {
93
+ if (!contratoValido)
94
+ return "parar";
95
+ const pendentes = achados.filter((achado) => !achado.atendido);
96
+ if (pendentes.some((achado) => achado.severidade === "critical"))
97
+ return "chamar_humano";
98
+ if (pendentes.some((achado) => achado.severidade === "blocking"))
99
+ return "parar";
100
+ if (pendentes.some((achado) => achado.severidade === "warning"))
101
+ return "continuar_com_ressalva";
102
+ return "continuar";
103
+ }
104
+ export function calcularScoreProfile(contratoValido, achados) {
105
+ const pendentesObrigatorios = achados.filter((achado) => achado.obrigatorio && !achado.atendido).length;
106
+ const pendentesRecomendados = achados.filter((achado) => !achado.obrigatorio && !achado.atendido).length;
107
+ return Math.max(0, 100 - (contratoValido ? 0 : 40) - pendentesObrigatorios * 20 - pendentesRecomendados * 8);
108
+ }
109
+ export function penalidadeAchadoProfile(achado) {
110
+ if (achado.atendido)
111
+ return 0;
112
+ if (achado.severidade === "critical")
113
+ return 40;
114
+ if (achado.severidade === "blocking")
115
+ return 25;
116
+ if (achado.severidade === "warning")
117
+ return 10;
118
+ return 0;
119
+ }
120
+ export function calcularScoreAchadosProfile(base, achados) {
121
+ return Math.max(0, base - achados.reduce((total, achado) => total + penalidadeAchadoProfile(achado), 0));
122
+ }
123
+ export function calcularScoreRiscoProfile(achados) {
124
+ const pendentes = achados.filter((achado) => !achado.atendido);
125
+ return Math.min(100, pendentes.reduce((total, achado) => {
126
+ if (achado.severidade === "critical")
127
+ return total + 35;
128
+ if (achado.severidade === "blocking")
129
+ return total + 22;
130
+ if (achado.severidade === "warning")
131
+ return total + 8;
132
+ return total + 2;
133
+ }, 0));
134
+ }
135
+ export function severidadeMaximaProfile(achados) {
136
+ const pendentes = achados.filter((achado) => !achado.atendido);
137
+ if (pendentes.some((achado) => achado.severidade === "critical"))
138
+ return "critical";
139
+ if (pendentes.some((achado) => achado.severidade === "blocking"))
140
+ return "blocking";
141
+ if (pendentes.some((achado) => achado.severidade === "warning"))
142
+ return "warning";
143
+ if (pendentes.some((achado) => achado.severidade === "info"))
144
+ return "info";
145
+ return null;
146
+ }
147
+ export function calcularConfiancaValidacaoProfile(artefatoRecebido, achadosArtefato, scoreRisco) {
148
+ if (!artefatoRecebido)
149
+ return "parcial";
150
+ if (scoreRisco >= 70)
151
+ return "media";
152
+ if (achadosArtefato.some((achado) => !achado.atendido && achado.trecho && achado.linha))
153
+ return "alta";
154
+ if (achadosArtefato.length > 0)
155
+ return "media";
156
+ return "media";
157
+ }
158
+ export function criarRuntimeGateProfile(decisao, maturidade, achados, scoreRisco) {
159
+ const severidadeMaxima = severidadeMaximaProfile(achados);
160
+ const exigeHumano = decisao === "chamar_humano" || severidadeMaxima === "critical";
161
+ const podeExecutar = decisao === "continuar" || decisao === "continuar_com_ressalva";
162
+ return {
163
+ decisao,
164
+ maturidade,
165
+ podeExecutar,
166
+ exigeHumano,
167
+ scoreRisco,
168
+ severidadeMaxima,
169
+ motivo: podeExecutar
170
+ ? "gate permite continuidade com as ressalvas declaradas."
171
+ : exigeHumano
172
+ ? "gate bloqueia e exige humano por risco critico ou maturidade critica."
173
+ : "gate bloqueia ate resolver requisitos obrigatorios.",
174
+ };
175
+ }
176
+ export function selecionarRulePacksProfile(profile) {
177
+ return RULE_PACKS_SEMA.filter((pack) => pack.profiles.includes(profile));
178
+ }
179
+ export function contratoProibeTermoProfile(contrato, termo) {
180
+ const escaped = termo.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
181
+ const padroes = [
182
+ new RegExp(`(forbidden|proibid|vedad|nao usar|não usar|sem)\\s+[^\\n]{0,80}${escaped}`, "i"),
183
+ new RegExp(`${escaped}[^\\n]{0,80}(forbidden|proibid|vedad|nao permitido|não permitido|nao usar|não usar)`, "i"),
184
+ ];
185
+ return padroes.some((padrao) => padrao.test(contrato));
186
+ }
187
+ export function criarAchadoArtefatoProfile(id, descricao, atendido, severidade, trecho, sugestao, motivo, detalhes) {
188
+ return {
189
+ id,
190
+ descricao,
191
+ obrigatorio: severidade === "blocking" || severidade === "critical",
192
+ atendido,
193
+ severidade,
194
+ termos: [],
195
+ fonte: "artefato",
196
+ regra: detalhes?.regra ?? id,
197
+ trecho,
198
+ linha: detalhes?.linha,
199
+ coluna: detalhes?.coluna,
200
+ inicio: detalhes?.inicio,
201
+ fim: detalhes?.fim,
202
+ motivo,
203
+ risco: detalhes?.risco ?? (atendido ? undefined : riscoAchadoProfile(severidade, "artefato")),
204
+ sugestao,
205
+ };
206
+ }
207
+ export function trechoRegexProfile(texto, regex) {
208
+ const match = regex.exec(texto);
209
+ if (!match || match.index < 0)
210
+ return undefined;
211
+ const inicio = Math.max(0, match.index - 60);
212
+ const fim = Math.min(texto.length, match.index + match[0].length + 60);
213
+ return texto.slice(inicio, fim).replace(/\s+/g, " ").trim();
214
+ }
215
+ export function contemArtefatoProfile(texto, regex) {
216
+ regex.lastIndex = 0;
217
+ return regex.test(texto);
218
+ }
219
+ //# sourceMappingURL=profileRegras.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileRegras.js","sourceRoot":"","sources":["../src/profileRegras.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PresetProfile, RequisitoProfile, RulePackSema } from "./profileAuthorTipos.js";
2
+ export declare const RULE_PACKS_SEMA: RulePackSema[];
3
+ export declare const REQUISITOS_PRESET_PROFILE: Partial<Record<PresetProfile, RequisitoProfile[]>>;