@semacode/cli 1.5.36 → 1.5.38
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.
- package/AGENT_CONTEXT_PACK.json +80 -8
- package/LICENSE +1 -2
- package/SEMA_BRIEF.curto.txt +9 -6
- package/SEMA_BRIEF.md +240 -204
- package/SEMA_BRIEF.micro.txt +10 -6
- package/SEMA_INDEX.json +2087 -1907
- package/dist/agentContext.d.ts +19 -0
- package/dist/agentContext.js +26 -0
- package/dist/agentContext.js.map +1 -0
- package/dist/agentContextPack.d.ts +4 -0
- package/dist/agentContextPack.js +408 -0
- package/dist/agentContextPack.js.map +1 -0
- package/dist/agentContextTipos.d.ts +96 -0
- package/dist/agentContextTipos.js +55 -0
- package/dist/agentContextTipos.js.map +1 -0
- package/dist/agentEntryPoints.d.ts +13 -0
- package/dist/agentEntryPoints.js +435 -0
- package/dist/agentEntryPoints.js.map +1 -0
- package/dist/authorAnalise.d.ts +15 -0
- package/dist/authorAnalise.js +210 -0
- package/dist/authorAnalise.js.map +1 -0
- package/dist/authorPoliticas.d.ts +37 -0
- package/dist/authorPoliticas.js +340 -0
- package/dist/authorPoliticas.js.map +1 -0
- package/dist/billing/index.d.ts +1 -1
- package/dist/billing/index.js +6 -2
- package/dist/billing/index.js.map +1 -1
- package/dist/bridge.js +2 -0
- package/dist/bridge.js.map +1 -1
- package/dist/carregarModulos.d.ts +2 -0
- package/dist/carregarModulos.js +9 -0
- package/dist/carregarModulos.js.map +1 -0
- package/dist/cliArgs.d.ts +6 -0
- package/dist/cliArgs.js +70 -0
- package/dist/cliArgs.js.map +1 -0
- package/dist/contexto.js +2 -0
- package/dist/contexto.js.map +1 -1
- package/dist/controleComercialSupabase.js.map +1 -1
- package/dist/controleComercialSupabaseAdmin.js.map +1 -1
- package/dist/controleComercialSupabaseCadastro.js.map +1 -1
- package/dist/controleComercialSupabaseConsumo.js.map +1 -1
- package/dist/controleComercialSupabaseConta.js.map +1 -1
- package/dist/controleComercialSupabaseProfiles.js.map +1 -1
- package/dist/dev/index.js +2 -0
- package/dist/dev/index.js.map +1 -1
- package/dist/dev/watcher.d.ts +1 -0
- package/dist/dev/watcher.js +4 -0
- package/dist/dev/watcher.js.map +1 -0
- package/dist/docs/resolver.d.ts +1 -0
- package/dist/docs/resolver.js +4 -0
- package/dist/docs/resolver.js.map +1 -0
- package/dist/docs.d.ts +2 -56
- package/dist/docs.js +5 -502
- package/dist/docs.js.map +1 -1
- package/dist/docs.part01.d.ts +78 -0
- package/dist/docs.part01.js +347 -0
- package/dist/docs.part01.js.map +1 -0
- package/dist/docs.part02.d.ts +20 -0
- package/dist/docs.part02.js +181 -0
- package/dist/docs.part02.js.map +1 -0
- package/dist/doctorCommand.d.ts +27 -0
- package/dist/doctorCommand.js +160 -0
- package/dist/doctorCommand.js.map +1 -0
- package/dist/drift.contrato.d.ts +23 -0
- package/dist/drift.contrato.js +33 -0
- package/dist/drift.contrato.js.map +1 -0
- package/dist/drift.d.ts +13 -227
- package/dist/drift.js +16 -3924
- package/dist/drift.js.map +1 -1
- package/dist/drift.part01.d.ts +252 -0
- package/dist/drift.part01.js +183 -0
- package/dist/drift.part01.js.map +1 -0
- package/dist/drift.part02.d.ts +30 -0
- package/dist/drift.part02.js +342 -0
- package/dist/drift.part02.js.map +1 -0
- package/dist/drift.part03.d.ts +26 -0
- package/dist/drift.part03.js +343 -0
- package/dist/drift.part03.js.map +1 -0
- package/dist/drift.part04.d.ts +46 -0
- package/dist/drift.part04.js +354 -0
- package/dist/drift.part04.js.map +1 -0
- package/dist/drift.part05.d.ts +47 -0
- package/dist/drift.part05.js +353 -0
- package/dist/drift.part05.js.map +1 -0
- package/dist/drift.part06.d.ts +17 -0
- package/dist/drift.part06.js +381 -0
- package/dist/drift.part06.js.map +1 -0
- package/dist/drift.part07.d.ts +48 -0
- package/dist/drift.part07.js +377 -0
- package/dist/drift.part07.js.map +1 -0
- package/dist/drift.part08.d.ts +26 -0
- package/dist/drift.part08.js +333 -0
- package/dist/drift.part08.js.map +1 -0
- package/dist/drift.part09.d.ts +22 -0
- package/dist/drift.part09.js +322 -0
- package/dist/drift.part09.js.map +1 -0
- package/dist/drift.part10.d.ts +11 -0
- package/dist/drift.part10.js +116 -0
- package/dist/drift.part10.js.map +1 -0
- package/dist/drift.part11.d.ts +3 -0
- package/dist/drift.part11.js +320 -0
- package/dist/drift.part11.js.map +1 -0
- package/dist/drift.part12.d.ts +17 -0
- package/dist/drift.part12.js +289 -0
- package/dist/drift.part12.js.map +1 -0
- package/dist/drift.part13.d.ts +17 -0
- package/dist/drift.part13.js +86 -0
- package/dist/drift.part13.js.map +1 -0
- package/dist/drift.part14.d.ts +44 -0
- package/dist/drift.part14.js +402 -0
- package/dist/drift.part14.js.map +1 -0
- package/dist/driftOrcamento.d.ts +69 -0
- package/dist/driftOrcamento.js +280 -0
- package/dist/driftOrcamento.js.map +1 -0
- package/dist/execucoesExternas.d.ts +10 -0
- package/dist/execucoesExternas.js +51 -0
- package/dist/execucoesExternas.js.map +1 -0
- package/dist/exemplosOficiais.d.ts +10 -0
- package/dist/exemplosOficiais.js +63 -0
- package/dist/exemplosOficiais.js.map +1 -0
- package/dist/fsGovernado.d.ts +10 -0
- package/dist/fsGovernado.js +50 -0
- package/dist/fsGovernado.js.map +1 -0
- package/dist/geracaoCore.d.ts +64 -0
- package/dist/geracaoCore.js +381 -0
- package/dist/geracaoCore.js.map +1 -0
- package/dist/iaPrompts.d.ts +6 -0
- package/dist/iaPrompts.js +318 -0
- package/dist/iaPrompts.js.map +1 -0
- package/dist/importador.d.ts +9 -31
- package/dist/importador.js +11 -2938
- package/dist/importador.js.map +1 -1
- package/dist/importador.part01.d.ts +150 -0
- package/dist/importador.part01.js +256 -0
- package/dist/importador.part01.js.map +1 -0
- package/dist/importador.part02.d.ts +25 -0
- package/dist/importador.part02.js +359 -0
- package/dist/importador.part02.js.map +1 -0
- package/dist/importador.part03.d.ts +53 -0
- package/dist/importador.part03.js +366 -0
- package/dist/importador.part03.js.map +1 -0
- package/dist/importador.part04.d.ts +26 -0
- package/dist/importador.part04.js +374 -0
- package/dist/importador.part04.js.map +1 -0
- package/dist/importador.part05.d.ts +28 -0
- package/dist/importador.part05.js +340 -0
- package/dist/importador.part05.js.map +1 -0
- package/dist/importador.part06.d.ts +8 -0
- package/dist/importador.part06.js +327 -0
- package/dist/importador.part06.js.map +1 -0
- package/dist/importador.part07.d.ts +23 -0
- package/dist/importador.part07.js +300 -0
- package/dist/importador.part07.js.map +1 -0
- package/dist/importador.part08.d.ts +12 -0
- package/dist/importador.part08.js +378 -0
- package/dist/importador.part08.js.map +1 -0
- package/dist/importador.part09.d.ts +16 -0
- package/dist/importador.part09.js +319 -0
- package/dist/importador.part09.js.map +1 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.js +16 -7945
- package/dist/index.js.map +1 -1
- package/dist/index.part01.d.ts +148 -0
- package/dist/index.part01.js +252 -0
- package/dist/index.part01.js.map +1 -0
- package/dist/index.part02.d.ts +17 -0
- package/dist/index.part02.js +344 -0
- package/dist/index.part02.js.map +1 -0
- package/dist/index.part03.d.ts +59 -0
- package/dist/index.part03.js +352 -0
- package/dist/index.part03.js.map +1 -0
- package/dist/index.part04.d.ts +20 -0
- package/dist/index.part04.js +360 -0
- package/dist/index.part04.js.map +1 -0
- package/dist/index.part05.d.ts +10 -0
- package/dist/index.part05.js +370 -0
- package/dist/index.part05.js.map +1 -0
- package/dist/index.part06.d.ts +14 -0
- package/dist/index.part06.js +336 -0
- package/dist/index.part06.js.map +1 -0
- package/dist/index.part07.d.ts +9 -0
- package/dist/index.part07.js +287 -0
- package/dist/index.part07.js.map +1 -0
- package/dist/index.part08.d.ts +1 -0
- package/dist/index.part08.js +206 -0
- package/dist/index.part08.js.map +1 -0
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -1
- package/dist/init/templates.d.ts +2 -11
- package/dist/init/templates.js +4 -659
- package/dist/init/templates.js.map +1 -1
- package/dist/init/templates.part01.d.ts +11 -0
- package/dist/init/templates.part01.js +399 -0
- package/dist/init/templates.part01.js.map +1 -0
- package/dist/init/templates.part02.d.ts +8 -0
- package/dist/init/templates.part02.js +265 -0
- package/dist/init/templates.part02.js.map +1 -0
- package/dist/initCommand.d.ts +3 -0
- package/dist/initCommand.js +41 -0
- package/dist/initCommand.js.map +1 -0
- package/dist/initTemplatesBackend.d.ts +2 -0
- package/dist/initTemplatesBackend.js +127 -0
- package/dist/initTemplatesBackend.js.map +1 -0
- package/dist/initTemplatesBase.d.ts +9 -0
- package/dist/initTemplatesBase.js +79 -0
- package/dist/initTemplatesBase.js.map +1 -0
- package/dist/initTemplatesFlutter.d.ts +2 -0
- package/dist/initTemplatesFlutter.js +185 -0
- package/dist/initTemplatesFlutter.js.map +1 -0
- package/dist/initTemplatesRuntime.d.ts +2 -0
- package/dist/initTemplatesRuntime.js +494 -0
- package/dist/initTemplatesRuntime.js.map +1 -0
- package/dist/initTemplatesWeb.d.ts +2 -0
- package/dist/initTemplatesWeb.js +429 -0
- package/dist/initTemplatesWeb.js.map +1 -0
- package/dist/mcpInstalarChaveCommand.d.ts +1 -0
- package/dist/mcpInstalarChaveCommand.js +141 -0
- package/dist/mcpInstalarChaveCommand.js.map +1 -0
- package/dist/mcpRemoto.js.map +1 -1
- package/dist/mcp_chave.d.ts +1 -0
- package/dist/mcp_chave.js +4 -0
- package/dist/mcp_chave.js.map +1 -0
- package/dist/profileArtefatoBase.d.ts +30 -0
- package/dist/profileArtefatoBase.js +129 -0
- package/dist/profileArtefatoBase.js.map +1 -0
- package/dist/profileArtefatoValidadores.d.ts +9 -0
- package/dist/profileArtefatoValidadores.js +287 -0
- package/dist/profileArtefatoValidadores.js.map +1 -0
- package/dist/profileAuthorCommand.d.ts +6 -0
- package/dist/profileAuthorCommand.js +442 -0
- package/dist/profileAuthorCommand.js.map +1 -0
- package/dist/profileAuthorTipos.d.ts +225 -0
- package/dist/profileAuthorTipos.js +6 -0
- package/dist/profileAuthorTipos.js.map +1 -0
- package/dist/profileCatalogo.d.ts +8 -0
- package/dist/profileCatalogo.js +235 -0
- package/dist/profileCatalogo.js.map +1 -0
- package/dist/profileCommand.d.ts +33 -0
- package/dist/profileCommand.js +256 -0
- package/dist/profileCommand.js.map +1 -0
- package/dist/profileOrquestracao.d.ts +33 -0
- package/dist/profileOrquestracao.js +53 -0
- package/dist/profileOrquestracao.js.map +1 -0
- package/dist/profileRegras.d.ts +19 -0
- package/dist/profileRegras.js +219 -0
- package/dist/profileRegras.js.map +1 -0
- package/dist/profileRulePacks.d.ts +3 -0
- package/dist/profileRulePacks.js +334 -0
- package/dist/profileRulePacks.js.map +1 -0
- package/dist/profiles/validate.d.ts +1 -0
- package/dist/profiles/validate.js +4 -0
- package/dist/profiles/validate.js.map +1 -0
- package/dist/projeto.d.ts +4 -53
- package/dist/projeto.js +5 -649
- package/dist/projeto.js.map +1 -1
- package/dist/projetoBusca.d.ts +7 -0
- package/dist/projetoBusca.js +142 -0
- package/dist/projetoBusca.js.map +1 -0
- package/dist/projetoCarregar.d.ts +2 -0
- package/dist/projetoCarregar.js +50 -0
- package/dist/projetoCarregar.js.map +1 -0
- package/dist/projetoConfig.d.ts +10 -0
- package/dist/projetoConfig.js +89 -0
- package/dist/projetoConfig.js.map +1 -0
- package/dist/projetoLegado.d.ts +3 -0
- package/dist/projetoLegado.js +175 -0
- package/dist/projetoLegado.js.map +1 -0
- package/dist/projetoOrigens.d.ts +6 -0
- package/dist/projetoOrigens.js +185 -0
- package/dist/projetoOrigens.js.map +1 -0
- package/dist/projetoResolucao.d.ts +8 -0
- package/dist/projetoResolucao.js +43 -0
- package/dist/projetoResolucao.js.map +1 -0
- package/dist/projetoTipos.d.ts +43 -0
- package/dist/projetoTipos.js +4 -0
- package/dist/projetoTipos.js.map +1 -0
- package/dist/runnerValidacaoRemota.js.map +1 -1
- package/dist/runnerValidacaoRemotaBateria.js +2 -0
- package/dist/runnerValidacaoRemotaBateria.js.map +1 -1
- package/dist/runnerValidacaoRemotaExecucao.js +2 -0
- package/dist/runnerValidacaoRemotaExecucao.js.map +1 -1
- package/dist/runnerValidacaoRemotaRelatorio.js +2 -0
- package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -1
- package/dist/runnerValidacaoRemotaSnapshot.js +2 -0
- package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -1
- package/dist/runnerValidacaoRemotaWorkspace.js +2 -0
- package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -1
- package/dist/sync/index.js +2 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/textoListas.d.ts +4 -0
- package/dist/textoListas.js +22 -0
- package/dist/textoListas.js.map +1 -0
- package/dist/typescript-http-body.d.ts +12 -0
- package/dist/typescript-http-body.js +145 -0
- package/dist/typescript-http-body.js.map +1 -0
- package/dist/typescript-http-expressoes.d.ts +17 -0
- package/dist/typescript-http-expressoes.js +194 -0
- package/dist/typescript-http-expressoes.js.map +1 -0
- package/dist/typescript-http-modelos.d.ts +45 -0
- package/dist/typescript-http-modelos.js +82 -0
- package/dist/typescript-http-modelos.js.map +1 -0
- package/dist/typescript-http-rotas.d.ts +9 -0
- package/dist/typescript-http-rotas.js +129 -0
- package/dist/typescript-http-rotas.js.map +1 -0
- package/dist/typescript-http-semantica.d.ts +11 -0
- package/dist/typescript-http-semantica.js +329 -0
- package/dist/typescript-http-semantica.js.map +1 -0
- package/dist/typescript-http.d.ts +3 -35
- package/dist/typescript-http.js +4 -853
- package/dist/typescript-http.js.map +1 -1
- package/docs/AGENT_STARTER.md +1 -1
- package/docs/agentes-por-capacidade.md +55 -3
- package/docs/documentacao.md +1 -1
- package/docs/fluxo-pratico-ia-sema.md +1 -1
- package/docs/mcp.md +12 -0
- package/docs/pagamento-ponta-a-ponta.md +1 -1
- package/docs/persistencia-vendor-first.md +1 -1
- package/docs/prompt-base-ia-sema.md +1 -1
- package/docs/repositories.md +2 -2
- package/docs/seguranca.md +1 -1
- package/docs/sintaxe.md +1 -1
- package/exemplos/agendamento.sema +1 -1
- package/exemplos/assinatura.sema +1 -1
- package/exemplos/auditoria.sema +1 -1
- package/exemplos/autenticacao.sema +1 -1
- package/exemplos/author_obra_comum.sema +1 -1
- package/exemplos/author_tema_sensivel.sema +1 -1
- package/exemplos/automacao.sema +1 -1
- package/exemplos/cadastro_usuario.sema +1 -1
- package/exemplos/calculadora.sema +1 -1
- package/exemplos/crud_simples.sema +1 -1
- package/exemplos/estoque.sema +1 -1
- package/exemplos/exportacao.sema +1 -1
- package/exemplos/fila.sema +1 -1
- package/exemplos/integracao_externa.sema +1 -1
- package/exemplos/multi_tenant.sema +1 -1
- package/exemplos/notificacao.sema +1 -1
- package/exemplos/operacao_estrategia.sema +132 -633
- package/exemplos/operacao_estrategia_discovery.sema +220 -0
- package/exemplos/operacao_estrategia_fluxo.sema +114 -0
- package/exemplos/operacao_estrategia_gates.sema +106 -0
- package/exemplos/operacao_estrategia_quarentena.sema +133 -0
- package/exemplos/operacao_estrategia_rollout.sema +124 -0
- package/exemplos/pagamento.sema +1 -1
- package/exemplos/pagamento_dominio.sema +1 -1
- package/exemplos/pedido.sema +1 -1
- package/exemplos/permissao.sema +1 -1
- package/exemplos/persistencia_vendor_first.sema +1 -1
- package/exemplos/profile_game.sema +1 -1
- package/exemplos/profile_legal.sema +1 -1
- package/exemplos/profile_ops.sema +1 -1
- package/exemplos/profile_research.sema +1 -1
- package/exemplos/profile_software.sema +1 -1
- package/exemplos/profile_workflow_n8n.sema +1 -1
- package/exemplos/relatorio.sema +1 -1
- package/exemplos/replica_analitica_erp.sema +1 -1
- package/exemplos/testes_embutidos.sema +1 -1
- package/exemplos/tratamento_erro.sema +1 -1
- package/exemplos/upload_arquivo.sema +1 -1
- package/exemplos/webhook.sema +1 -1
- package/llms-full.txt +13 -8
- package/llms.txt +12 -7
- package/node_modules/@sema/gerador-css/dist/index.d.ts +2 -3
- package/node_modules/@sema/gerador-css/dist/index.js +4 -599
- package/node_modules/@sema/gerador-css/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-css/dist/index.part01.d.ts +6 -0
- package/node_modules/@sema/gerador-css/dist/index.part01.js +49 -0
- package/node_modules/@sema/gerador-css/dist/index.part01.js.map +1 -0
- package/node_modules/@sema/gerador-css/dist/index.part02.d.ts +3 -0
- package/node_modules/@sema/gerador-css/dist/index.part02.js +471 -0
- package/node_modules/@sema/gerador-css/dist/index.part02.js.map +1 -0
- package/node_modules/@sema/gerador-css/package.json +1 -1
- package/node_modules/@sema/gerador-dart/package.json +1 -1
- package/node_modules/@sema/gerador-html/package.json +1 -1
- package/node_modules/@sema/gerador-javascript/package.json +1 -1
- package/node_modules/@sema/gerador-lua/package.json +1 -1
- package/node_modules/@sema/gerador-python/dist/index.d.ts +2 -6
- package/node_modules/@sema/gerador-python/dist/index.js +4 -771
- package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-python/dist/index.part01.d.ts +28 -0
- package/node_modules/@sema/gerador-python/dist/index.part01.js +383 -0
- package/node_modules/@sema/gerador-python/dist/index.part01.js.map +1 -0
- package/node_modules/@sema/gerador-python/dist/index.part02.d.ts +20 -0
- package/node_modules/@sema/gerador-python/dist/index.part02.js +396 -0
- package/node_modules/@sema/gerador-python/dist/index.part02.js.map +1 -0
- package/node_modules/@sema/gerador-python/package.json +1 -1
- package/node_modules/@sema/gerador-typescript/dist/index.d.ts +3 -6
- package/node_modules/@sema/gerador-typescript/dist/index.js +5 -810
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part01.d.ts +25 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part01.js +358 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +1 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part02.d.ts +14 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js +405 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +1 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part03.d.ts +5 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part03.js +60 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +1 -0
- package/node_modules/@sema/gerador-typescript/package.json +1 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +2 -0
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.d.ts +6 -0
- package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js +40 -0
- package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +2 -9
- package/node_modules/@sema/nucleo/dist/formatador/index.js +4 -467
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.d.ts +39 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.js +385 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.part02.d.ts +4 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.part02.js +92 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/index.d.ts +2 -0
- package/node_modules/@sema/nucleo/dist/index.js +6 -0
- package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +3 -5
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +5 -880
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.d.ts +30 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +398 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +41 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js +184 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part03.d.ts +5 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js +310 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +3 -9
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.d.ts +11 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +150 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.js +5 -768
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.modulo.d.ts +3 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js +222 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part01.d.ts +9 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part01.js +61 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part02.d.ts +40 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part02.js +373 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part03.d.ts +4 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part03.js +9 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +2 -0
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +3 -59
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +2 -1682
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +89 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +292 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.d.ts +29 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js +168 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.d.ts +11 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js +185 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.d.ts +30 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js +200 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.d.ts +6 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js +193 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.d.ts +11 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js +208 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.d.ts +11 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js +247 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.d.ts +3 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js +249 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +2 -106
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +4 -474
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.d.ts +109 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js +259 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.d.ts +9 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js +223 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.d.ts +21 -0
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js +40 -0
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +1 -0
- package/node_modules/@sema/nucleo/package.json +1 -1
- package/node_modules/@sema/padroes/package.json +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// SEMA-GOVERNED
|
|
2
|
+
// M?dulo: sema.produto.orcamento_semantico
|
|
3
|
+
// Contrato: contratos/sema/orcamento_semantico.sema
|
|
4
|
+
// Descri??o: an?lise Author de clich?s, heur?sticas, scores, IR narrativo e impact map.
|
|
5
|
+
import { limitarLista, unicosOrdenados } from "./textoListas.js";
|
|
6
|
+
import { contarOcorrencias, criarTrechoContextualAuthor, localizarTrechosPorEvidenciasAuthor, localizarTrechosRegexAuthor, normalizarTextoAuthor, politicasProibicoesLiteraisAuthor, riscoAuthorPorSeveridade, severidadeAuthorPadrao, slugParaTextoAuthor, } from "./authorPoliticas.js";
|
|
7
|
+
export function criarAchadoAuthor(politica, textoFonte, origem) {
|
|
8
|
+
const trechos = localizarTrechosRegexAuthor(politica.regex, textoFonte, politica.motivo, politica.sugestaoReescrita);
|
|
9
|
+
const ocorrencias = contarOcorrencias(politica.regex, textoFonte);
|
|
10
|
+
if (ocorrencias <= 0) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
id: politica.id,
|
|
15
|
+
categoria: politica.categoria,
|
|
16
|
+
severidade: politica.severidade,
|
|
17
|
+
severidadePadrao: severidadeAuthorPadrao(politica.severidade, politica.categoria),
|
|
18
|
+
ocorrencias,
|
|
19
|
+
risco: riscoAuthorPorSeveridade(politica.severidade),
|
|
20
|
+
motivo: politica.motivo,
|
|
21
|
+
sugestao: politica.sugestao,
|
|
22
|
+
sugestaoReescrita: politica.sugestaoReescrita,
|
|
23
|
+
origem,
|
|
24
|
+
bloqueante: politica.severidade === "alta" || politica.categoria !== "observacao",
|
|
25
|
+
trechos,
|
|
26
|
+
evidencias: trechos.map((trecho) => trecho.texto),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function contarPalavrasAuthor(textoNormalizado, palavras) {
|
|
30
|
+
return palavras.reduce((total, palavra) => {
|
|
31
|
+
const regex = new RegExp(`\\b${palavra}\\b`, "g");
|
|
32
|
+
return total + Array.from(textoNormalizado.matchAll(regex)).length;
|
|
33
|
+
}, 0);
|
|
34
|
+
}
|
|
35
|
+
export function criarAchadoHeuristicoAuthor(id, categoria, severidade, ocorrencias, sugestao, evidencias = [], textoFonte = "", motivo = sugestao, sugestaoReescrita = sugestao) {
|
|
36
|
+
if (ocorrencias <= 0) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const trechos = textoFonte
|
|
40
|
+
? localizarTrechosPorEvidenciasAuthor(textoFonte, evidencias, motivo, sugestaoReescrita)
|
|
41
|
+
: [];
|
|
42
|
+
return {
|
|
43
|
+
id,
|
|
44
|
+
categoria,
|
|
45
|
+
severidade,
|
|
46
|
+
severidadePadrao: severidadeAuthorPadrao(severidade, categoria),
|
|
47
|
+
ocorrencias,
|
|
48
|
+
risco: riscoAuthorPorSeveridade(severidade),
|
|
49
|
+
motivo,
|
|
50
|
+
sugestao,
|
|
51
|
+
sugestaoReescrita,
|
|
52
|
+
origem: "heuristica",
|
|
53
|
+
bloqueante: true,
|
|
54
|
+
trechos: trechos.length > 0 ? trechos : (textoFonte ? criarTrechoContextualAuthor(textoFonte, motivo, sugestaoReescrita) : []),
|
|
55
|
+
evidencias,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export function contratoAutorizaTemaSensivel(conteudoContrato) {
|
|
59
|
+
return /sensitivity_reviewer|validar_tema_sensivel|PublicoAuthor[\s\S]*SENSIVEL|PublicoSensivel/i.test(conteudoContrato);
|
|
60
|
+
}
|
|
61
|
+
export function avaliarHeuristicasNarrativasAuthor(textoFonte, conteudoContrato, tokensContrato) {
|
|
62
|
+
const normalizado = normalizarTextoAuthor(textoFonte);
|
|
63
|
+
const achados = [];
|
|
64
|
+
const gateAtivo = (token) => tokensContrato.has(token) || tokensContrato.has(`validar_${token}`) || tokensContrato.has(`sem_${token}`);
|
|
65
|
+
if (gateAtivo("palavra_generica_sem_concreto") || tokensContrato.has("score_coerencia_tonal")) {
|
|
66
|
+
const genericas = ["algo", "coisa", "muito", "incrivel", "especial", "importante", "profundo", "intenso", "cativante", "emocionante"];
|
|
67
|
+
const ocorrencias = contarPalavrasAuthor(normalizado, genericas);
|
|
68
|
+
achados.push(criarAchadoHeuristicoAuthor("palavra_generica_sem_concreto", "palavra_generica", ocorrencias >= 4 ? "alta" : "media", ocorrencias >= 3 ? ocorrencias : 0, "Troque adjetivo abstrato por imagem, acao, escolha ou custo observavel.", genericas.filter((palavra) => new RegExp(`\\b${palavra}\\b`).test(normalizado)), textoFonte, "Palavra generica aparece sem ancoragem concreta suficiente.", "Substitua por imagem fisica, acao especifica, escolha ou custo observavel."));
|
|
69
|
+
}
|
|
70
|
+
if (gateAtivo("arco_emocional_sem_mudanca")) {
|
|
71
|
+
const temMarcadorMudanca = /\b(passou de|deixou de|percebeu|decidiu|renunciou|custou|perdeu|escolheu|mudou|foi obrigado|teve que)\b/i.test(normalizado);
|
|
72
|
+
achados.push(criarAchadoHeuristicoAuthor("arco_emocional_sem_mudanca", "arco_emocional", "alta", textoFonte.trim().length > 120 && !temMarcadorMudanca ? 1 : 0, "Declare a mudanca emocional da cena: estado inicial, pressao, decisao e custo.", [], textoFonte, "Texto longo nao mostra mudanca emocional rastreavel.", "Mostre estado inicial, pressao, decisao e custo emocional em uma sequencia concreta."));
|
|
73
|
+
}
|
|
74
|
+
if (gateAtivo("personagem_sem_memoria")) {
|
|
75
|
+
const temNome = /\b[A-Z][a-z]{2,}\b/.test(textoFonte);
|
|
76
|
+
const temEstado = /\b(quer|teme|esconde|prometeu|lembra|culpa|ferida|objetivo|segredo)\b/i.test(normalizado);
|
|
77
|
+
achados.push(criarAchadoHeuristicoAuthor("personagem_sem_memoria", "memoria_personagem", "alta", !temNome || !temEstado ? 1 : 0, "Amarre personagem a memoria persistente: desejo, medo, segredo, ferida ou promessa ja declarada.", [], textoFonte, "Personagem aparece sem memoria operacional suficiente para guiar continuidade.", "Declare desejo, medo, segredo, ferida ou promessa que possa ser reutilizada depois."));
|
|
78
|
+
}
|
|
79
|
+
if (gateAtivo("promessa_narrativa_quebrada")) {
|
|
80
|
+
const temPromessa = /\b(promessa|prometeu|proteger|objetivo|misterio|conflito|pergunta|ameaca|custo)\b/i.test(normalizado);
|
|
81
|
+
const resolveSemCusto = /\b(no fim tudo ficara bem|de repente tudo se resolveu|por sorte)\b/i.test(normalizado);
|
|
82
|
+
achados.push(criarAchadoHeuristicoAuthor("promessa_narrativa_quebrada", "promessa_narrativa", resolveSemCusto ? "alta" : "media", resolveSemCusto || !temPromessa ? 1 : 0, "Toda promessa narrativa precisa de pergunta, tensao, consequencia e validacao antes de ser resolvida.", resolveSemCusto ? ["no fim tudo ficara bem", "de repente tudo se resolveu", "por sorte"].filter((termo) => normalizado.includes(termo)) : [], textoFonte, resolveSemCusto ? "Resolucao sem custo enfraquece a promessa narrativa." : "Texto nao explicita promessa, pergunta, ameaca ou custo narrativo.", "Amarre a promessa a pergunta, tensao, consequencia e validacao antes de resolver."));
|
|
83
|
+
}
|
|
84
|
+
if (gateAtivo("impacto_capitulo_nao_mapeado")) {
|
|
85
|
+
const mudancaCanonica = /\b(morreu|matou|traiu|revelou|destruiu|rompeu|desapareceu|casou|venceu|perdeu)\b/i.test(normalizado);
|
|
86
|
+
const temConsequencia = /\b(por isso|como consequencia|afetou|obriga|altera|muda|impacta|no capitulo seguinte)\b/i.test(normalizado);
|
|
87
|
+
achados.push(criarAchadoHeuristicoAuthor("impacto_capitulo_nao_mapeado", "impact_map", "alta", mudancaCanonica && !temConsequencia ? 1 : 0, "Mudanca canonica precisa de impact map entre capitulos, relacoes, promessas e cenas futuras.", [], textoFonte, "Mudanca canonica aparece sem consequencia mapeada para continuidade.", "Declare quem muda, que promessa quebra e qual cena futura fica obrigada a responder."));
|
|
88
|
+
}
|
|
89
|
+
if (gateAtivo("tema_sensivel_sem_autorizacao")) {
|
|
90
|
+
const termosSensiveis = ["suicidio", "abuso", "luto", "trauma", "violencia sexual", "automutilacao", "racismo"];
|
|
91
|
+
const ocorrencias = termosSensiveis.filter((termo) => normalizado.includes(termo)).length;
|
|
92
|
+
achados.push(criarAchadoHeuristicoAuthor("tema_sensivel_sem_autorizacao", "tema_sensivel", "alta", ocorrencias > 0 && !contratoAutorizaTemaSensivel(conteudoContrato) ? ocorrencias : 0, "Tema sensivel so pode entrar quando publico, fontes, limites e sensitivity reviewer estiverem contratados.", termosSensiveis.filter((termo) => normalizado.includes(termo)), textoFonte, "Tema sensivel detectado sem autorizacao explicita no contrato Author.", "Declare publico, limites, fontes e sensitivity reviewer antes de manter esse tema."));
|
|
93
|
+
}
|
|
94
|
+
if (gateAtivo("rpg_campanha_sem_estado")) {
|
|
95
|
+
const mencionaCampanha = /\b(campanha|sessao|npc|jogador|party|mestre|dado|quest)\b/i.test(normalizado);
|
|
96
|
+
const temEstadoCampanha = /\b(estado|inventario|local|missao|relacao|faccao|reputacao|checkpoint)\b/i.test(normalizado);
|
|
97
|
+
achados.push(criarAchadoHeuristicoAuthor("rpg_campanha_sem_estado", "campanha_persistente", "media", mencionaCampanha && !temEstadoCampanha ? 1 : 0, "Modo RPG/campanha precisa preservar estado: local, inventario, relacoes, faccoes, missao e consequencias.", ["campanha", "sessao", "npc", "jogador", "party", "mestre", "dado", "quest"].filter((termo) => normalizado.includes(termo)), textoFonte, "Campanha/RPG foi mencionado sem estado persistente suficiente.", "Inclua local, inventario, relacoes, faccao, missao, checkpoint ou consequencia persistente."));
|
|
98
|
+
}
|
|
99
|
+
return achados.filter((achado) => achado !== null);
|
|
100
|
+
}
|
|
101
|
+
export function extrairIrNarrativoAuthor(texto) {
|
|
102
|
+
const normalizado = normalizarTextoAuthor(texto);
|
|
103
|
+
const personagens = unicosOrdenados(Array.from(texto.matchAll(/\b[A-Z][a-z]{2,}\b/g))
|
|
104
|
+
.map((match) => match[0])
|
|
105
|
+
.filter((nome) => !["O", "A", "Os", "As", "Um", "Uma", "Por", "Para", "Isso", "Como"].includes(nome))).slice(0, 12);
|
|
106
|
+
const capitulos = unicosOrdenados(Array.from(normalizado.matchAll(/\b(?:capitulo|sessao)\s+([a-z0-9_-]+)/g)).map((match) => match[0])).slice(0, 12);
|
|
107
|
+
const eventos = unicosOrdenados(Array.from(normalizado.matchAll(/\b(morreu|matou|traiu|revelou|decidiu|perdeu|venceu|rompeu|descobriu|prometeu)\b/g)).map((match) => match[0])).slice(0, 12);
|
|
108
|
+
const temasSensiveis = ["suicidio", "abuso", "luto", "trauma", "violencia sexual", "automutilacao", "racismo"]
|
|
109
|
+
.filter((termo) => normalizado.includes(termo));
|
|
110
|
+
const modoCampanha = /\b(campanha|sessao|npc|jogador|party|mestre|quest)\b/i.test(normalizado);
|
|
111
|
+
return { personagens, capitulos, eventos, temasSensiveis, modoCampanha };
|
|
112
|
+
}
|
|
113
|
+
export function compararDiffSemanticoAuthor(textoAnterior, textoAtual) {
|
|
114
|
+
if (!textoAnterior) {
|
|
115
|
+
return {
|
|
116
|
+
disponivel: false,
|
|
117
|
+
personagensAdicionados: [],
|
|
118
|
+
personagensRemovidos: [],
|
|
119
|
+
eventosAdicionados: [],
|
|
120
|
+
eventosRemovidos: [],
|
|
121
|
+
riscoDrift: "baixo",
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const anterior = extrairIrNarrativoAuthor(textoAnterior);
|
|
125
|
+
const atual = extrairIrNarrativoAuthor(textoAtual);
|
|
126
|
+
const adicionados = (atuais, antigos) => atuais.filter((item) => !antigos.includes(item));
|
|
127
|
+
const removidos = (antigos, atuais) => antigos.filter((item) => !atuais.includes(item));
|
|
128
|
+
const personagensAdicionados = adicionados(atual.personagens, anterior.personagens);
|
|
129
|
+
const personagensRemovidos = removidos(anterior.personagens, atual.personagens);
|
|
130
|
+
const eventosAdicionados = adicionados(atual.eventos, anterior.eventos);
|
|
131
|
+
const eventosRemovidos = removidos(anterior.eventos, atual.eventos);
|
|
132
|
+
const mudancas = personagensAdicionados.length + personagensRemovidos.length + eventosAdicionados.length + eventosRemovidos.length;
|
|
133
|
+
return {
|
|
134
|
+
disponivel: true,
|
|
135
|
+
personagensAdicionados,
|
|
136
|
+
personagensRemovidos,
|
|
137
|
+
eventosAdicionados,
|
|
138
|
+
eventosRemovidos,
|
|
139
|
+
riscoDrift: mudancas >= 5 ? "alto" : mudancas >= 2 ? "medio" : "baixo",
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
export function calcularScoreAuthor(achados, categorias) {
|
|
143
|
+
const relevantes = categorias ? achados.filter((achado) => categorias.includes(achado.categoria)) : achados;
|
|
144
|
+
const penalidade = relevantes.reduce((total, achado) => {
|
|
145
|
+
const peso = achado.severidade === "alta" ? 30 : achado.severidade === "media" ? 15 : 5;
|
|
146
|
+
return total + (peso * Math.max(1, achado.ocorrencias));
|
|
147
|
+
}, 0);
|
|
148
|
+
return Math.max(0, 100 - penalidade);
|
|
149
|
+
}
|
|
150
|
+
export function calcularScoreRiscoAuthor(achados, contratoValido) {
|
|
151
|
+
const risco = achados.reduce((total, achado) => {
|
|
152
|
+
const peso = achado.severidade === "alta" ? 35 : achado.severidade === "media" ? 18 : 6;
|
|
153
|
+
return total + (peso * Math.max(1, achado.ocorrencias));
|
|
154
|
+
}, contratoValido ? 0 : 40);
|
|
155
|
+
return Math.min(100, risco);
|
|
156
|
+
}
|
|
157
|
+
export function montarImpactMapAuthor(achados) {
|
|
158
|
+
const camadasPorCategoria = {
|
|
159
|
+
arco_emocional: ["personagem", "cena", "capitulo"],
|
|
160
|
+
campanha_persistente: ["campanha", "sessao", "estado"],
|
|
161
|
+
cliche: ["premissa", "personagem", "promessa"],
|
|
162
|
+
conflito: ["cena", "informacao", "ritmo"],
|
|
163
|
+
dialogo: ["dialogo", "subtexto", "exposicao"],
|
|
164
|
+
frase_generica: ["estilo", "voz", "promessa"],
|
|
165
|
+
impact_map: ["capitulo", "continuidade", "cenas futuras"],
|
|
166
|
+
memoria_personagem: ["personagem", "relacoes", "canon"],
|
|
167
|
+
palavra_generica: ["estilo", "imagem", "voz"],
|
|
168
|
+
proibicao_literal: ["contrato", "texto", "guardrail"],
|
|
169
|
+
promessa_narrativa: ["promessa", "resolucao", "expectativa"],
|
|
170
|
+
tema_sensivel: ["publico", "fontes", "limites"],
|
|
171
|
+
tom: ["tom", "publico", "estilo"],
|
|
172
|
+
voz: ["voz", "estilo", "autor"],
|
|
173
|
+
};
|
|
174
|
+
return achados.map((achado) => ({
|
|
175
|
+
alvo: achado.id,
|
|
176
|
+
camadas: camadasPorCategoria[achado.categoria] ?? ["texto"],
|
|
177
|
+
motivo: achado.sugestao,
|
|
178
|
+
}));
|
|
179
|
+
}
|
|
180
|
+
export function extrairGuardrailsAuthor(conteudo, ir) {
|
|
181
|
+
const tarefas = ir?.tasks ?? [];
|
|
182
|
+
const superficies = ir?.superficies ?? [];
|
|
183
|
+
const linhasMarcadas = conteudo
|
|
184
|
+
.split(/\r?\n/)
|
|
185
|
+
.map((linha) => linha.trim())
|
|
186
|
+
.filter((linha) => /(cliche|proibid|forbidden|sensivel|publico|fonte|estilo|voz|dialogo|conflito|atrito|dano|limite)/i.test(linha));
|
|
187
|
+
return limitarLista(unicosOrdenados([
|
|
188
|
+
...tarefas.flatMap((task) => task.rules),
|
|
189
|
+
...tarefas.flatMap((task) => task.guarantees),
|
|
190
|
+
...tarefas.flatMap((task) => task.forbidden.regras),
|
|
191
|
+
...superficies.flatMap((superficie) => superficie.forbidden.regras),
|
|
192
|
+
...linhasMarcadas,
|
|
193
|
+
]), 18);
|
|
194
|
+
}
|
|
195
|
+
export function extrairProibicoesAuthor(ir, conteudo) {
|
|
196
|
+
const tarefas = ir?.tasks ?? [];
|
|
197
|
+
const superficies = ir?.superficies ?? [];
|
|
198
|
+
const proibicoesDeclaradas = [
|
|
199
|
+
...tarefas.flatMap((task) => task.forbidden.regras),
|
|
200
|
+
...superficies.flatMap((superficie) => superficie.forbidden.regras),
|
|
201
|
+
];
|
|
202
|
+
const proibicoesLiterais = politicasProibicoesLiteraisAuthor(conteudo, ir)
|
|
203
|
+
.map((politica) => slugParaTextoAuthor(politica.id.replace(/^proibicao_literal_author_/, "")));
|
|
204
|
+
const proibicoesTextuais = conteudo
|
|
205
|
+
.split(/\r?\n/)
|
|
206
|
+
.map((linha) => linha.trim())
|
|
207
|
+
.filter((linha) => /^(aceitar_|gerar_|publicar_|obra_|fontes_|estilo_|voz_|dialogo_|cliche_|exposicao_|moralizacao_)/.test(linha));
|
|
208
|
+
return limitarLista(unicosOrdenados([...proibicoesDeclaradas, ...proibicoesTextuais, ...proibicoesLiterais]), 16);
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=authorAnalise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorAnalise.js","sourceRoot":"","sources":["../src/authorAnalise.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IrModulo } from "@sema/nucleo";
|
|
2
|
+
import type { SeveridadeAuthor, SeveridadeProfile, RiscoAuthor, TrechoAuthor } from "./profileAuthorTipos.js";
|
|
3
|
+
export interface PoliticaAuthorGate {
|
|
4
|
+
id: string;
|
|
5
|
+
categoria: string;
|
|
6
|
+
contratoTokens: string[];
|
|
7
|
+
regex: RegExp;
|
|
8
|
+
severidade: SeveridadeAuthor;
|
|
9
|
+
motivo: string;
|
|
10
|
+
sugestao: string;
|
|
11
|
+
sugestaoReescrita: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const POLITICAS_AUTHOR_GATE: PoliticaAuthorGate[];
|
|
14
|
+
export declare function contarOcorrencias(regex: RegExp, texto: string): number;
|
|
15
|
+
export declare function posicaoLinhaColunaAuthor(texto: string, indice: number): {
|
|
16
|
+
linha: number;
|
|
17
|
+
coluna: number;
|
|
18
|
+
};
|
|
19
|
+
export declare function recortarContextoAuthor(texto: string, inicio: number, fim: number, margem?: number): string;
|
|
20
|
+
export declare function localizarTrechosRegexAuthor(regex: RegExp, texto: string, motivo: string, sugestao: string, limite?: number): TrechoAuthor[];
|
|
21
|
+
export declare function localizarTrechosPorEvidenciasAuthor(texto: string, evidencias: string[], motivo: string, sugestao: string): TrechoAuthor[];
|
|
22
|
+
export declare function criarTrechoContextualAuthor(texto: string, motivo: string, sugestao: string): TrechoAuthor[];
|
|
23
|
+
export declare function normalizarTextoAuthor(texto: string): string;
|
|
24
|
+
export declare function extrairTokensContratoAuthor(conteudo: string): Set<string>;
|
|
25
|
+
export declare function politicaAuthorAtiva(politica: PoliticaAuthorGate, tokensContrato: Set<string>): boolean;
|
|
26
|
+
export declare function regexFraseAuthor(frase: string): RegExp;
|
|
27
|
+
export declare function slugParaTextoAuthor(slug: string): string;
|
|
28
|
+
export declare function riscoAuthorPorSeveridade(severidade: SeveridadeAuthor): RiscoAuthor;
|
|
29
|
+
export declare function severidadeAuthorPadrao(severidade: SeveridadeAuthor, categoria: string): SeveridadeProfile;
|
|
30
|
+
export declare function normalizarIdAuthor(valor: string): string;
|
|
31
|
+
export declare function removerComentarioSema(linha: string): string;
|
|
32
|
+
export declare function extrairLinhasForbiddenAuthor(conteudo: string): string[];
|
|
33
|
+
export declare function extrairFrasesProibidasAuthor(conteudo: string): string[];
|
|
34
|
+
export declare function politicaCatalogoConhecidaAuthor(token: string): boolean;
|
|
35
|
+
export declare function textoProibicaoLiteralAuthor(valor: string): string | null;
|
|
36
|
+
export declare function politicasProibicoesLiteraisAuthor(conteudo: string, ir: IrModulo | null): PoliticaAuthorGate[];
|
|
37
|
+
export declare function politicasDinamicasContratoAuthor(tokensContrato: Set<string>): PoliticaAuthorGate[];
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
// SEMA-GOVERNED
|
|
2
|
+
// M?dulo: sema.produto.orcamento_semantico
|
|
3
|
+
// Contrato: contratos/sema/orcamento_semantico.sema
|
|
4
|
+
// Descri??o: cat?logo e pol?ticas literais do gate Author sem acoplar comando de CLI.
|
|
5
|
+
export const POLITICAS_AUTHOR_GATE = [
|
|
6
|
+
{
|
|
7
|
+
id: "escolhido_predestinado",
|
|
8
|
+
categoria: "cliche",
|
|
9
|
+
contratoTokens: [
|
|
10
|
+
"sem_cliche_escolhido_predestinado",
|
|
11
|
+
"cliche_escolhido_predestinado",
|
|
12
|
+
"aceitar_cliche_sem_justificativa",
|
|
13
|
+
],
|
|
14
|
+
regex: /\b(escolhid[oa]|predestinad[oa]|profecia)\b/gi,
|
|
15
|
+
severidade: "alta",
|
|
16
|
+
motivo: "Destino abstrato substitui desejo, decisao e custo concreto.",
|
|
17
|
+
sugestao: "Troque destino abstrato por desejo, custo e conflito concreto.",
|
|
18
|
+
sugestaoReescrita: "Comece por uma escolha sob pressao, uma perda concreta ou um prazo que force o personagem a agir.",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "dialogo_resumo",
|
|
22
|
+
categoria: "dialogo",
|
|
23
|
+
contratoTokens: [
|
|
24
|
+
"sem_dialogo_resumo",
|
|
25
|
+
"dialogo_resumo",
|
|
26
|
+
"dialogo_expositivo",
|
|
27
|
+
"aceitar_dialogo_expositivo",
|
|
28
|
+
],
|
|
29
|
+
regex: /\b(como voce sabe|deixe-me explicar|resumindo|em outras palavras)\b/gi,
|
|
30
|
+
severidade: "media",
|
|
31
|
+
motivo: "Dialogo explica informacao para o leitor em vez de criar atrito entre personagens.",
|
|
32
|
+
sugestao: "Transforme explicacao em atrito, subtexto ou acao observavel.",
|
|
33
|
+
sugestaoReescrita: "Troque a explicacao direta por uma acusacao, hesitacao, pergunta hostil ou gesto que revele a informacao.",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "frase_de_efeito_vazia",
|
|
37
|
+
categoria: "promessa_narrativa",
|
|
38
|
+
contratoTokens: [
|
|
39
|
+
"sem_frase_de_efeito_vazia",
|
|
40
|
+
"frase_de_efeito_vazia",
|
|
41
|
+
"validar_promessa_narrativa",
|
|
42
|
+
],
|
|
43
|
+
regex: /\b(o destino nos chama|a esperanca e tudo|o tempo dira|no fim tudo ficara bem)\b/gi,
|
|
44
|
+
severidade: "media",
|
|
45
|
+
motivo: "Frase pronta promete emocao sem consequencia especifica de cena.",
|
|
46
|
+
sugestao: "Substitua frase pronta por consequencia especifica da cena.",
|
|
47
|
+
sugestaoReescrita: "Ancore a frase em objeto, dano, promessa quebrada ou consequencia verificavel.",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "voz_generica_de_ia",
|
|
51
|
+
categoria: "voz",
|
|
52
|
+
contratoTokens: [
|
|
53
|
+
"sem_voz_generica_de_ia",
|
|
54
|
+
"voz_generica_de_ia",
|
|
55
|
+
"aceitar_voz_generica_de_ia",
|
|
56
|
+
"politica_estilo_por_autor",
|
|
57
|
+
],
|
|
58
|
+
regex: /\b(uma jornada de autodescoberta|emocionante e envolvente|profundamente humano|historia cativante)\b/gi,
|
|
59
|
+
severidade: "alta",
|
|
60
|
+
motivo: "Rotulo editorial descreve qualidade pretendida em vez de produzir experiencia narrativa.",
|
|
61
|
+
sugestao: "Corte rotulo editorial e mostre textura, decisao e perda.",
|
|
62
|
+
sugestaoReescrita: "Mostre uma imagem concreta, uma decisao desconfortavel ou uma perda que carregue o tom.",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "moralizacao_barata",
|
|
66
|
+
categoria: "tom",
|
|
67
|
+
contratoTokens: [
|
|
68
|
+
"sem_moralizacao_barata",
|
|
69
|
+
"moralizacao_barata",
|
|
70
|
+
"score_coerencia_tonal",
|
|
71
|
+
],
|
|
72
|
+
regex: /\b(licao importante|todos aprenderam|moral da historia|o bem sempre vence)\b/gi,
|
|
73
|
+
severidade: "media",
|
|
74
|
+
motivo: "Conclusao moralizante entrega a interpretacao pronta e reduz ambiguidade.",
|
|
75
|
+
sugestao: "Deixe a consequencia moral emergir da acao, nao de sermoes.",
|
|
76
|
+
sugestaoReescrita: "Troque a licao declarada por uma consequencia que obrigue o leitor a inferir o custo moral.",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: "exposicao_sem_conflito",
|
|
80
|
+
categoria: "conflito",
|
|
81
|
+
contratoTokens: [
|
|
82
|
+
"sem_exposicao_sem_conflito",
|
|
83
|
+
"exposicao_sem_conflito",
|
|
84
|
+
"validar_promessa_narrativa",
|
|
85
|
+
],
|
|
86
|
+
regex: /\b(ele explicou tudo|ela contou toda a verdade|a historia era simples)\b/gi,
|
|
87
|
+
severidade: "media",
|
|
88
|
+
motivo: "Exposicao resolve informacao sem resistencia, suspeita ou conflito.",
|
|
89
|
+
sugestao: "Divida informacao em conflito, suspeita, erro ou descoberta.",
|
|
90
|
+
sugestaoReescrita: "Quebre a informacao em revelacao parcial, mal-entendido, mentira util ou descoberta com preco.",
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
export function contarOcorrencias(regex, texto) {
|
|
94
|
+
const flags = regex.flags.includes("g") ? regex.flags : `${regex.flags}g`;
|
|
95
|
+
return Array.from(texto.matchAll(new RegExp(regex.source, flags))).length;
|
|
96
|
+
}
|
|
97
|
+
export function posicaoLinhaColunaAuthor(texto, indice) {
|
|
98
|
+
const antes = texto.slice(0, Math.max(0, indice));
|
|
99
|
+
const linhas = antes.split(/\r?\n/);
|
|
100
|
+
return {
|
|
101
|
+
linha: linhas.length,
|
|
102
|
+
coluna: (linhas.at(-1)?.length ?? 0) + 1,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export function recortarContextoAuthor(texto, inicio, fim, margem = 70) {
|
|
106
|
+
const alvoInicio = Math.max(0, inicio - margem);
|
|
107
|
+
const alvoFim = Math.min(texto.length, fim + margem);
|
|
108
|
+
const recorte = texto.slice(alvoInicio, alvoFim).replace(/\s+/g, " ").trim();
|
|
109
|
+
const prefixo = alvoInicio > 0 ? "... " : "";
|
|
110
|
+
const sufixo = alvoFim < texto.length ? " ..." : "";
|
|
111
|
+
return `${prefixo}${recorte}${sufixo}`.trim();
|
|
112
|
+
}
|
|
113
|
+
export function localizarTrechosRegexAuthor(regex, texto, motivo, sugestao, limite = 5) {
|
|
114
|
+
const flags = regex.flags.includes("g") ? regex.flags : `${regex.flags}g`;
|
|
115
|
+
const local = new RegExp(regex.source, flags);
|
|
116
|
+
const trechos = [];
|
|
117
|
+
const vistos = new Set();
|
|
118
|
+
for (const match of texto.matchAll(local)) {
|
|
119
|
+
const raw = match[0] ?? "";
|
|
120
|
+
const inicio = match.index ?? -1;
|
|
121
|
+
if (!raw || inicio < 0)
|
|
122
|
+
continue;
|
|
123
|
+
const fim = inicio + raw.length;
|
|
124
|
+
const { linha, coluna } = posicaoLinhaColunaAuthor(texto, inicio);
|
|
125
|
+
const chave = `${linha}:${coluna}:${raw.toLowerCase()}`;
|
|
126
|
+
if (vistos.has(chave))
|
|
127
|
+
continue;
|
|
128
|
+
vistos.add(chave);
|
|
129
|
+
trechos.push({
|
|
130
|
+
texto: recortarContextoAuthor(texto, inicio, fim),
|
|
131
|
+
linha,
|
|
132
|
+
coluna,
|
|
133
|
+
inicio,
|
|
134
|
+
fim,
|
|
135
|
+
motivo,
|
|
136
|
+
sugestao,
|
|
137
|
+
});
|
|
138
|
+
if (trechos.length >= limite)
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
return trechos;
|
|
142
|
+
}
|
|
143
|
+
export function localizarTrechosPorEvidenciasAuthor(texto, evidencias, motivo, sugestao) {
|
|
144
|
+
const trechos = [];
|
|
145
|
+
const vistos = new Set();
|
|
146
|
+
for (const evidencia of evidencias.filter(Boolean)) {
|
|
147
|
+
const regex = regexFraseAuthor(evidencia);
|
|
148
|
+
for (const trecho of localizarTrechosRegexAuthor(regex, texto, motivo, sugestao, 3)) {
|
|
149
|
+
const chave = `${trecho.linha}:${trecho.coluna}:${trecho.texto}`;
|
|
150
|
+
if (vistos.has(chave))
|
|
151
|
+
continue;
|
|
152
|
+
vistos.add(chave);
|
|
153
|
+
trechos.push(trecho);
|
|
154
|
+
if (trechos.length >= 5)
|
|
155
|
+
return trechos;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return trechos;
|
|
159
|
+
}
|
|
160
|
+
export function criarTrechoContextualAuthor(texto, motivo, sugestao) {
|
|
161
|
+
const match = texto.match(/\S[\s\S]{0,180}/);
|
|
162
|
+
if (!match || match.index === undefined)
|
|
163
|
+
return [];
|
|
164
|
+
const inicio = match.index;
|
|
165
|
+
const fim = inicio + match[0].length;
|
|
166
|
+
const { linha, coluna } = posicaoLinhaColunaAuthor(texto, inicio);
|
|
167
|
+
return [{
|
|
168
|
+
texto: recortarContextoAuthor(texto, inicio, fim, 0),
|
|
169
|
+
linha,
|
|
170
|
+
coluna,
|
|
171
|
+
inicio,
|
|
172
|
+
fim,
|
|
173
|
+
motivo,
|
|
174
|
+
sugestao,
|
|
175
|
+
}];
|
|
176
|
+
}
|
|
177
|
+
export function normalizarTextoAuthor(texto) {
|
|
178
|
+
return texto
|
|
179
|
+
.normalize("NFD")
|
|
180
|
+
.replace(/[\u0300-\u036f]/g, "")
|
|
181
|
+
.toLowerCase();
|
|
182
|
+
}
|
|
183
|
+
export function extrairTokensContratoAuthor(conteudo) {
|
|
184
|
+
const tokens = new Set();
|
|
185
|
+
for (const match of conteudo.matchAll(/\b[A-Za-z_][A-Za-z0-9_.-]*\b/g)) {
|
|
186
|
+
tokens.add(match[0]);
|
|
187
|
+
}
|
|
188
|
+
return tokens;
|
|
189
|
+
}
|
|
190
|
+
export function politicaAuthorAtiva(politica, tokensContrato) {
|
|
191
|
+
return [
|
|
192
|
+
politica.id,
|
|
193
|
+
`sem_${politica.id}`,
|
|
194
|
+
`validar_${politica.id}`,
|
|
195
|
+
`aceitar_${politica.id}`,
|
|
196
|
+
...politica.contratoTokens,
|
|
197
|
+
].some((token) => tokensContrato.has(token));
|
|
198
|
+
}
|
|
199
|
+
export function regexFraseAuthor(frase) {
|
|
200
|
+
const escapada = frase
|
|
201
|
+
.trim()
|
|
202
|
+
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
203
|
+
.replace(/\s+/g, "\\s+");
|
|
204
|
+
return new RegExp(`\\b${escapada}\\b`, "gi");
|
|
205
|
+
}
|
|
206
|
+
export function slugParaTextoAuthor(slug) {
|
|
207
|
+
return slug.replace(/_/g, " ").trim();
|
|
208
|
+
}
|
|
209
|
+
export function riscoAuthorPorSeveridade(severidade) {
|
|
210
|
+
return severidade === "alta" ? "alto" : severidade === "media" ? "medio" : "baixo";
|
|
211
|
+
}
|
|
212
|
+
export function severidadeAuthorPadrao(severidade, categoria) {
|
|
213
|
+
if (categoria === "tema_sensivel")
|
|
214
|
+
return "critical";
|
|
215
|
+
if (severidade === "alta")
|
|
216
|
+
return categoria === "proibicao_literal" ? "blocking" : "blocking";
|
|
217
|
+
if (severidade === "media")
|
|
218
|
+
return "warning";
|
|
219
|
+
return "info";
|
|
220
|
+
}
|
|
221
|
+
export function normalizarIdAuthor(valor) {
|
|
222
|
+
return normalizarTextoAuthor(valor)
|
|
223
|
+
.replace(/[^a-z0-9]+/g, "_")
|
|
224
|
+
.replace(/^_+|_+$/g, "");
|
|
225
|
+
}
|
|
226
|
+
export function removerComentarioSema(linha) {
|
|
227
|
+
return linha
|
|
228
|
+
.replace(/\/\/.*$/g, "")
|
|
229
|
+
.replace(/#.*$/g, "")
|
|
230
|
+
.trim();
|
|
231
|
+
}
|
|
232
|
+
export function extrairLinhasForbiddenAuthor(conteudo) {
|
|
233
|
+
const linhas = [];
|
|
234
|
+
for (const bloco of conteudo.matchAll(/forbidden\s*\{([\s\S]*?)\}/gi)) {
|
|
235
|
+
for (const linha of bloco[1].split(/\r?\n/)) {
|
|
236
|
+
const limpa = removerComentarioSema(linha);
|
|
237
|
+
if (!limpa || limpa === "}")
|
|
238
|
+
continue;
|
|
239
|
+
linhas.push(limpa);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return linhas;
|
|
243
|
+
}
|
|
244
|
+
export function extrairFrasesProibidasAuthor(conteudo) {
|
|
245
|
+
const frases = [];
|
|
246
|
+
const regex = /\b(?:avoid|evitar|proibir|proibido|proibida|banir|banido|banida|nao_usar|nao usar)\s*["'`](.+?)["'`]/gi;
|
|
247
|
+
for (const match of conteudo.matchAll(regex)) {
|
|
248
|
+
const frase = match[1]?.trim();
|
|
249
|
+
if (frase)
|
|
250
|
+
frases.push(frase);
|
|
251
|
+
}
|
|
252
|
+
return frases;
|
|
253
|
+
}
|
|
254
|
+
export function politicaCatalogoConhecidaAuthor(token) {
|
|
255
|
+
const chave = normalizarIdAuthor(token.replace(/^(sem|validar|aceitar)_/, ""));
|
|
256
|
+
return POLITICAS_AUTHOR_GATE.some((politica) => (politica.id === token
|
|
257
|
+
|| politica.id === chave
|
|
258
|
+
|| politica.contratoTokens.includes(token)
|
|
259
|
+
|| politica.contratoTokens.includes(chave)));
|
|
260
|
+
}
|
|
261
|
+
export function textoProibicaoLiteralAuthor(valor) {
|
|
262
|
+
const bruto = valor.trim().replace(/^["'`]|["'`]$/g, "").trim();
|
|
263
|
+
if (!bruto)
|
|
264
|
+
return null;
|
|
265
|
+
if (/\s/.test(bruto))
|
|
266
|
+
return bruto.replace(/\s+/g, " ");
|
|
267
|
+
const dinamica = bruto.match(/^(?:frase|palavra|termo)_(?:banida|banido|proibida|proibido)_(.+)$/);
|
|
268
|
+
if (dinamica)
|
|
269
|
+
return slugParaTextoAuthor(dinamica[1]);
|
|
270
|
+
const explicita = bruto.match(/^(?:proibido|proibida|banido|banida|nao_usar|evitar|sem)_(.+)$/);
|
|
271
|
+
if (explicita && !politicaCatalogoConhecidaAuthor(explicita[1])) {
|
|
272
|
+
return slugParaTextoAuthor(explicita[1]);
|
|
273
|
+
}
|
|
274
|
+
if (politicaCatalogoConhecidaAuthor(bruto))
|
|
275
|
+
return null;
|
|
276
|
+
if (/^(aceitar|gerar|publicar|obra|fontes|estilo|voz|dialogo|cliche|exposicao|moralizacao|score|tratar|ignorar|aprovar|validar|contrato|texto|diagnostico|author|revisor|sensitivity|proibicao)_/.test(bruto)) {
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
if (!bruto.includes("_"))
|
|
280
|
+
return null;
|
|
281
|
+
return slugParaTextoAuthor(bruto);
|
|
282
|
+
}
|
|
283
|
+
export function politicasProibicoesLiteraisAuthor(conteudo, ir) {
|
|
284
|
+
const tarefas = ir?.tasks ?? [];
|
|
285
|
+
const superficies = ir?.superficies ?? [];
|
|
286
|
+
const declaradas = [
|
|
287
|
+
...tarefas.flatMap((task) => task.forbidden.regras),
|
|
288
|
+
...superficies.flatMap((superficie) => superficie.forbidden.regras),
|
|
289
|
+
...extrairLinhasForbiddenAuthor(conteudo),
|
|
290
|
+
...extrairFrasesProibidasAuthor(conteudo),
|
|
291
|
+
];
|
|
292
|
+
const politicas = [];
|
|
293
|
+
const vistos = new Set();
|
|
294
|
+
for (const declarada of declaradas) {
|
|
295
|
+
const texto = textoProibicaoLiteralAuthor(declarada);
|
|
296
|
+
if (!texto)
|
|
297
|
+
continue;
|
|
298
|
+
const idBase = normalizarIdAuthor(texto);
|
|
299
|
+
if (!idBase || vistos.has(idBase))
|
|
300
|
+
continue;
|
|
301
|
+
vistos.add(idBase);
|
|
302
|
+
politicas.push({
|
|
303
|
+
id: `proibicao_literal_author_${idBase}`,
|
|
304
|
+
categoria: "proibicao_literal",
|
|
305
|
+
contratoTokens: [declarada],
|
|
306
|
+
regex: regexFraseAuthor(texto),
|
|
307
|
+
severidade: "alta",
|
|
308
|
+
motivo: `O texto usa uma proibicao literal declarada no contrato Author: "${texto}".`,
|
|
309
|
+
sugestao: `Remova "${texto}" ou edite o contrato antes de manter esse elemento narrativo.`,
|
|
310
|
+
sugestaoReescrita: `Troque "${texto}" por um evento, objeto ou relacao permitida pelo contrato atual.`,
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
return politicas;
|
|
314
|
+
}
|
|
315
|
+
export function politicasDinamicasContratoAuthor(tokensContrato) {
|
|
316
|
+
const politicas = [];
|
|
317
|
+
for (const token of tokensContrato) {
|
|
318
|
+
const match = token.match(/^(frase|palavra|termo)_(?:banida|banido|proibida|proibido)_(.+)$/);
|
|
319
|
+
if (!match) {
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
const [, tipo, slug] = match;
|
|
323
|
+
const texto = slugParaTextoAuthor(slug);
|
|
324
|
+
const regex = tipo === "palavra"
|
|
325
|
+
? new RegExp(`\\b${texto.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\b`, "gi")
|
|
326
|
+
: regexFraseAuthor(texto);
|
|
327
|
+
politicas.push({
|
|
328
|
+
id: token,
|
|
329
|
+
categoria: tipo === "palavra" ? "palavra_generica" : "frase_generica",
|
|
330
|
+
contratoTokens: [token],
|
|
331
|
+
regex,
|
|
332
|
+
severidade: "alta",
|
|
333
|
+
motivo: `Termo proibido pelo contrato Author: "${texto}".`,
|
|
334
|
+
sugestao: `Remova "${texto}" ou justifique com detalhe concreto de cena.`,
|
|
335
|
+
sugestaoReescrita: `Substitua "${texto}" por uma imagem, decisao ou consequencia especifica da obra.`,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
return politicas;
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=authorPoliticas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorPoliticas.js","sourceRoot":"","sources":["../src/authorPoliticas.ts"],"names":[],"mappings":"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"}
|
package/dist/billing/index.d.ts
CHANGED
|
@@ -43,4 +43,4 @@ export declare function executarComReporte<T>(sessaoMcp: string | undefined, fer
|
|
|
43
43
|
}>;
|
|
44
44
|
export declare function exportarConsumoJson(relatorio: ReporteConsumoOutput): string;
|
|
45
45
|
export declare function reportarConsumo(input: ReporteConsumoInput): ReporteConsumoOutput;
|
|
46
|
-
export declare
|
|
46
|
+
export declare function reportarConsumoCli(input: ReporteConsumoInput): ReporteConsumoOutput;
|