@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.
- package/AGENTS.md +1 -1
- package/AGENT_CONTEXT_PACK.json +130 -12
- package/LICENSE +1 -2
- package/README.md +3 -3
- package/SEMA_BRIEF.curto.txt +9 -6
- package/SEMA_BRIEF.md +250 -205
- package/SEMA_BRIEF.micro.txt +10 -6
- package/SEMA_INDEX.json +2196 -1926
- 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 +3 -0
- package/dist/agentContextPack.js +403 -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 +422 -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 -7840
- 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 +358 -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 +59 -3
- package/docs/api.md +21 -21
- package/docs/cli.md +3 -3
- package/docs/documentacao.md +1 -1
- package/docs/env.md +20 -24
- package/docs/fluxo-pratico-ia-sema.md +1 -1
- package/docs/instalacao-e-primeiro-uso.md +3 -3
- 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 +21 -21
- 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-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-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/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 +38 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.js +382 -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/package.json +12 -16
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type AgentContextPack } from './agentContextTipos.js';
|
|
2
|
+
export declare function renderizarSemaBoot(agentContextPack: AgentContextPack): string;
|
|
3
|
+
export declare function renderizarSemaSmallModel(agentContextPack: AgentContextPack): string;
|
|
4
|
+
export declare function renderizarDocumentoAgentesPorCapacidade(agentContextPack: AgentContextPack): string;
|
|
5
|
+
export declare function sincronizarEntryPointsAgentes(baseProjeto: string, agentContextPack: AgentContextPack): Promise<{
|
|
6
|
+
arquivos: Array<{
|
|
7
|
+
caminho: string;
|
|
8
|
+
status: "criado" | "atualizado" | "preservado";
|
|
9
|
+
}>;
|
|
10
|
+
criados: string[];
|
|
11
|
+
atualizados: string[];
|
|
12
|
+
preservados: string[];
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
// SEMA-GOVERNED: sema.produto.governanca_ia.contexto
|
|
2
|
+
// Descrição: renderiza e sincroniza instruções curtas para agentes de IDE e clientes com disciplina variável.
|
|
3
|
+
import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO, LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO, } from './driftOrcamento.js';
|
|
6
|
+
import { ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, } from './agentContextTipos.js';
|
|
7
|
+
const MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO = '<!-- sema:agent-entrypoint:start -->';
|
|
8
|
+
const MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM = '<!-- sema:agent-entrypoint:end -->';
|
|
9
|
+
async function statSeguro(caminho) {
|
|
10
|
+
try {
|
|
11
|
+
return await stat(caminho);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function pareceEntradaSemaLegada(conteudo) {
|
|
18
|
+
return /Sema.*Regras obrigat[oó]rias para IA/is.test(conteudo) ||
|
|
19
|
+
/Sema.*Regras obrigatorias para IA/is.test(conteudo) ||
|
|
20
|
+
/Sema.*Regras obrigatórias para IA/is.test(conteudo);
|
|
21
|
+
}
|
|
22
|
+
function montarBlocoGerenciadoSema(conteudo) {
|
|
23
|
+
return `${MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO}\n${conteudo.trim()}\n${MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM}\n`;
|
|
24
|
+
}
|
|
25
|
+
async function escreverArquivoGerenciadoSema(caminho, conteudo, substituirLegadoSema = false) {
|
|
26
|
+
const bloco = montarBlocoGerenciadoSema(conteudo);
|
|
27
|
+
const atual = await statSeguro(caminho);
|
|
28
|
+
if (!atual) {
|
|
29
|
+
await mkdir(path.dirname(caminho), { recursive: true });
|
|
30
|
+
await writeFile(caminho, bloco, "utf8");
|
|
31
|
+
return "criado";
|
|
32
|
+
}
|
|
33
|
+
if (!atual.isFile()) {
|
|
34
|
+
return "preservado";
|
|
35
|
+
}
|
|
36
|
+
const textoAtual = await readFile(caminho, "utf8");
|
|
37
|
+
let proximo;
|
|
38
|
+
if (textoAtual.includes(MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO) && textoAtual.includes(MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM)) {
|
|
39
|
+
const inicio = textoAtual.indexOf(MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO);
|
|
40
|
+
const fim = textoAtual.indexOf(MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM, inicio) + MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM.length;
|
|
41
|
+
proximo = `${textoAtual.slice(0, inicio)}${bloco.trimEnd()}${textoAtual.slice(fim)}`;
|
|
42
|
+
}
|
|
43
|
+
else if (substituirLegadoSema && pareceEntradaSemaLegada(textoAtual)) {
|
|
44
|
+
proximo = bloco;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
proximo = `${bloco}\n${textoAtual.trimStart()}`;
|
|
48
|
+
}
|
|
49
|
+
if (proximo === textoAtual) {
|
|
50
|
+
return "preservado";
|
|
51
|
+
}
|
|
52
|
+
await writeFile(caminho, proximo.endsWith("\n") ? proximo : `${proximo}\n`, "utf8");
|
|
53
|
+
return "atualizado";
|
|
54
|
+
}
|
|
55
|
+
export function renderizarSemaBoot(agentContextPack) {
|
|
56
|
+
const politica = agentContextPack.politicaIdioma;
|
|
57
|
+
const politicaCodigo = agentContextPack.politicaCodigoGovernado;
|
|
58
|
+
const politicaTimeout = agentContextPack.politicaTimeoutResumo;
|
|
59
|
+
const politicaDesign = agentContextPack.politicaDesignVisual;
|
|
60
|
+
const politicaPlataforma = agentContextPack.politicaPlataforma;
|
|
61
|
+
return `# SEMA_BOOT
|
|
62
|
+
|
|
63
|
+
Você está em um projeto governado por Sema. O contrato semântico vem antes de qualquer ação.
|
|
64
|
+
|
|
65
|
+
## Primeira ação
|
|
66
|
+
|
|
67
|
+
1. Se houver MCP Sema, chame Sema antes de editar.
|
|
68
|
+
2. Em IDE local, confirme que \`AGENTS.md\` existe e chame \`sema_resumo\`.
|
|
69
|
+
3. Em chat ou MCP remoto sem workspace sincronizado, comece por \`sema_chat_contexto\` e use \`sema_sync\` ou conteúdo inline.
|
|
70
|
+
4. Antes de criar ou corrigir \`.sema\`, use \`sema_exemplos\`.
|
|
71
|
+
5. Se não conseguir chamar Sema, pare e diga que está bloqueado.
|
|
72
|
+
|
|
73
|
+
## Políticas da plataforma
|
|
74
|
+
|
|
75
|
+
${politicaPlataforma.regra}
|
|
76
|
+
|
|
77
|
+
- Escopo: ${politicaPlataforma.escopoGovernanca}
|
|
78
|
+
- Se houver alerta externo: ${politicaPlataforma.quandoHouverBloqueio}
|
|
79
|
+
- IA fraca: ${politicaPlataforma.porCapacidade.fraca}
|
|
80
|
+
- IA média: ${politicaPlataforma.porCapacidade.media}
|
|
81
|
+
- IA forte: ${politicaPlataforma.porCapacidade.forte}
|
|
82
|
+
|
|
83
|
+
## Capacidade do agente
|
|
84
|
+
|
|
85
|
+
- Fraca: leia \`${ARQUIVO_SEMA_SMALL_MODEL}\`, \`SEMA_BRIEF.micro.txt\`, \`${ARQUIVO_AGENT_CONTEXT_PACK}\` e só suba contexto se necessário.
|
|
86
|
+
- Média: leia este boot, \`${ARQUIVO_AGENT_CONTEXT_PACK}\`, \`SEMA_BRIEF.curto.txt\`, \`SEMA_INDEX.json\` e a doc indicada pelo Sema.
|
|
87
|
+
- Forte: leia este boot, \`${ARQUIVO_AGENT_CONTEXT_PACK}\`, \`SEMA_BRIEF.md\`, \`SEMA_INDEX.json\`, \`AGENTS.md\` e rode os gates completos.
|
|
88
|
+
|
|
89
|
+
## Código governado
|
|
90
|
+
|
|
91
|
+
${politicaCodigo.regra}
|
|
92
|
+
|
|
93
|
+
- Marcador: \`${politicaCodigo.marcador}\`.
|
|
94
|
+
- Orçamento: acima de ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO} linhas gera diagnóstico; acima de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} bloqueia conclusão, geração e snapshot.
|
|
95
|
+
- Validação inline com score alto não substitui cabeçalho no arquivo físico: ela prova o payload enviado, não prepara a próxima IA que vai abrir o arquivo depois.
|
|
96
|
+
- Divisão correta é por responsabilidade real. Exemplo web: \`index.html\` para estrutura, \`styles/*.css\` para estilos, \`js/state.js\`, \`js/calc.js\`, \`js/render/*.js\` para comportamento, e \`data/*.json\` para dados.
|
|
97
|
+
- Proibido fatiar arquivo em \`index_p1.html\`, \`index_p2.html\` ou similares sem fronteira semântica só para passar no limite.
|
|
98
|
+
- IA fraca: ${politicaCodigo.porCapacidade.fraca}
|
|
99
|
+
- IA média: ${politicaCodigo.porCapacidade.media}
|
|
100
|
+
- IA forte: ${politicaCodigo.porCapacidade.forte}
|
|
101
|
+
|
|
102
|
+
## Sinal, evidência e ritual
|
|
103
|
+
|
|
104
|
+
Score composto, \`achados[]\` e \`decisaoAgente\` são sinais para guiar a próxima ação. Eles não bastam sozinhos.
|
|
105
|
+
|
|
106
|
+
- Fraca: se o score passou, confira se cada achado tem evidência concreta; se não souber provar, pare.
|
|
107
|
+
- Média: conecte regra, arquivo, contrato e evidência antes de concluir aderência.
|
|
108
|
+
- Forte: não transforme regex, palavra-chave ou score 100 em ritual vazio; valide substância, risco e comportamento.
|
|
109
|
+
- Caminho Linux retornado pelo MCP remoto é espelho governado do Sema, não a pasta local do usuário.
|
|
110
|
+
|
|
111
|
+
## Design visual quando houver UI
|
|
112
|
+
|
|
113
|
+
${politicaDesign.regra}
|
|
114
|
+
|
|
115
|
+
- Aplicar quando: ${politicaDesign.aplicarQuando}
|
|
116
|
+
- IA fraca: ${politicaDesign.porCapacidade.fraca}
|
|
117
|
+
- IA média: ${politicaDesign.porCapacidade.media}
|
|
118
|
+
- IA forte: ${politicaDesign.porCapacidade.forte}
|
|
119
|
+
- Proibido: ${politicaDesign.proibicoes.slice(0, 5).join(", ")}.
|
|
120
|
+
|
|
121
|
+
## Timeout e retry
|
|
122
|
+
|
|
123
|
+
${politicaTimeout.regra}
|
|
124
|
+
|
|
125
|
+
- Timeout inicial recomendado para projeto inteiro: ${politicaTimeout.timeoutInicialSegundos}s.
|
|
126
|
+
- Escalonamento: ${politicaTimeout.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
127
|
+
- IA fraca: ${politicaTimeout.porCapacidade.fraca}
|
|
128
|
+
- IA média: ${politicaTimeout.porCapacidade.media}
|
|
129
|
+
- IA forte: ${politicaTimeout.porCapacidade.forte}
|
|
130
|
+
- ${politicaTimeout.ateQuandoTentar}
|
|
131
|
+
|
|
132
|
+
## Idioma humano
|
|
133
|
+
|
|
134
|
+
${politica.regra}
|
|
135
|
+
|
|
136
|
+
- Use o idioma falado pelo usuário.
|
|
137
|
+
- Em PT-BR, escreva com acentos, cedilha e pontuação normal.
|
|
138
|
+
- Não copie a estética ASCII da DSL para propostas, respostas, docs humanas, mensagens de erro ou textos Author.
|
|
139
|
+
- Não traduza comandos, rotas, nomes de arquivos, símbolos de código nem palavras-chave da DSL.
|
|
140
|
+
|
|
141
|
+
## Falha fechada
|
|
142
|
+
|
|
143
|
+
${agentContextPack.failClosed.map((regra) => `- ${regra}`).join("\n")}
|
|
144
|
+
`;
|
|
145
|
+
}
|
|
146
|
+
export function renderizarSemaSmallModel(agentContextPack) {
|
|
147
|
+
const politicaTimeout = agentContextPack.politicaTimeoutResumo;
|
|
148
|
+
const politicaDesign = agentContextPack.politicaDesignVisual;
|
|
149
|
+
const politicaPlataforma = agentContextPack.politicaPlataforma;
|
|
150
|
+
return `# SEMA_SMALL_MODEL
|
|
151
|
+
|
|
152
|
+
Leia isto primeiro se você tem pouco contexto, pouca memória, pouco tool use ou tendência a ignorar instruções longas.
|
|
153
|
+
|
|
154
|
+
1. Não edite nada antes de chamar Sema.
|
|
155
|
+
2. Se houver MCP: use \`sema_resumo\`, \`sema_docs_impacto\`, \`sema_drift\`, \`sema_validar\` e \`sema_finalizar_mudanca\`.
|
|
156
|
+
3. Sema não contorna políticas da plataforma: ele governa contrato, escopo, drift, evidência e qualidade.
|
|
157
|
+
4. Se aparecer alerta de política: pare, explique de forma neutra e não tente burlar filtro.
|
|
158
|
+
5. Se for remoto sem workspace: não peça para ler pasta local. Use \`sema_chat_contexto\`, \`sema_sync\` ou conteúdo inline.
|
|
159
|
+
6. Se for escrever \`.sema\`: use \`sema_exemplos\` antes.
|
|
160
|
+
7. Se não houver contrato: crie ou edite o contrato antes do código.
|
|
161
|
+
8. Se não conseguir chamar Sema: pare e declare bloqueio.
|
|
162
|
+
9. Responda no idioma do usuário. Em PT-BR, use acentos e símbolos normais.
|
|
163
|
+
10. Se abrir código com \`${agentContextPack.politicaCodigoGovernado.marcador}\`: volte ao contrato, chame Sema e só então edite.
|
|
164
|
+
11. Score 100, achados atendidos ou validação inline são sinais; confira evidência real no contrato e no código.
|
|
165
|
+
12. Validação inline não dispensa cabeçalho \`${agentContextPack.politicaCodigoGovernado.marcador}\` no arquivo físico.
|
|
166
|
+
13. Não crie arquivo acima de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} linhas. Acima de ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO}, planeje dividir por responsabilidade.
|
|
167
|
+
14. Divida por função real: HTML, CSS, estado, cálculo, renderização, dados. Não faça \`index_p1.html\` e \`index_p2.html\` sem sentido.
|
|
168
|
+
15. Caminho \`/srv/sema/projetos/...\` é espelho remoto do MCP, não a pasta local do usuário.
|
|
169
|
+
16. Se Sema estourar por timeout local: aumente o timeout e tente de novo. Não trate isso como falha do Sema.
|
|
170
|
+
17. Se a tarefa tiver UI: aplique design moderno mínimo, responsivo, com hierarquia clara e estados visuais. Não entregue formulário cinza genérico.
|
|
171
|
+
|
|
172
|
+
Ordem curta:
|
|
173
|
+
|
|
174
|
+
- \`${ARQUIVO_SEMA_BOOT}\`
|
|
175
|
+
- \`SEMA_BRIEF.micro.txt\`
|
|
176
|
+
- \`${ARQUIVO_AGENT_CONTEXT_PACK}\`
|
|
177
|
+
- \`SEMA_INDEX.json\`
|
|
178
|
+
- \`AGENTS.md\`
|
|
179
|
+
|
|
180
|
+
Políticas da plataforma:
|
|
181
|
+
|
|
182
|
+
- ${politicaPlataforma.regra}
|
|
183
|
+
- IA fraca: ${politicaPlataforma.porCapacidade.fraca}
|
|
184
|
+
- Se houver bloqueio externo: ${politicaPlataforma.quandoHouverBloqueio}
|
|
185
|
+
|
|
186
|
+
Timeout:
|
|
187
|
+
|
|
188
|
+
- Timeout local do agente não é falha do Sema.
|
|
189
|
+
- Projeto inteiro: comece com ${politicaTimeout.timeoutInicialSegundos}s ou mais.
|
|
190
|
+
- Escalonamento: ${politicaTimeout.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
191
|
+
- Se o projeto inteiro for lento, escopar para \`sema resumo <arquivo.sema> --micro --para mudanca\`.
|
|
192
|
+
- ${politicaTimeout.ateQuandoTentar}
|
|
193
|
+
|
|
194
|
+
Design visual:
|
|
195
|
+
|
|
196
|
+
- ${politicaDesign.regra}
|
|
197
|
+
- IA fraca: ${politicaDesign.porCapacidade.fraca}
|
|
198
|
+
- Evidência mínima: ${politicaDesign.evidencias.fraca.join(", ")}.
|
|
199
|
+
- Proibido: ${politicaDesign.proibicoes.slice(0, 5).join(", ")}.
|
|
200
|
+
|
|
201
|
+
Fail-closed:
|
|
202
|
+
|
|
203
|
+
${agentContextPack.failClosed.map((regra) => `- ${regra}`).join("\n")}
|
|
204
|
+
`;
|
|
205
|
+
}
|
|
206
|
+
export function renderizarDocumentoAgentesPorCapacidade(agentContextPack) {
|
|
207
|
+
const politicaDesign = agentContextPack.politicaDesignVisual;
|
|
208
|
+
const politicaPlataforma = agentContextPack.politicaPlataforma;
|
|
209
|
+
return `# Agentes por capacidade
|
|
210
|
+
|
|
211
|
+
Sema deve funcionar em agentes fortes, médios e fracos. A diferença não é só tamanho de contexto; é disciplina operacional.
|
|
212
|
+
|
|
213
|
+
## Políticas da Plataforma
|
|
214
|
+
|
|
215
|
+
${politicaPlataforma.regra}
|
|
216
|
+
|
|
217
|
+
- Escopo: ${politicaPlataforma.escopoGovernanca}
|
|
218
|
+
- Se houver alerta externo: ${politicaPlataforma.quandoHouverBloqueio}
|
|
219
|
+
- Fraca: ${politicaPlataforma.porCapacidade.fraca}
|
|
220
|
+
- Média: ${politicaPlataforma.porCapacidade.media}
|
|
221
|
+
- Forte: ${politicaPlataforma.porCapacidade.forte}
|
|
222
|
+
- Proibido: ${politicaPlataforma.proibicoes.join(", ")}.
|
|
223
|
+
|
|
224
|
+
## Código Governado
|
|
225
|
+
|
|
226
|
+
Arquivos gerados ou governados pela Sema devem manter o marcador \`${agentContextPack.politicaCodigoGovernado.marcador}\`.
|
|
227
|
+
Orçamento semântico é regra: ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO}+ linhas exige plano de divisão; ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO}+ linhas não pode concluir, gerar nem sincronizar.
|
|
228
|
+
Validação inline 100/100 não remove essa obrigação: ela comprova aquele payload, mas o arquivo físico ainda precisa avisar a próxima IA que existe contrato.
|
|
229
|
+
|
|
230
|
+
- Fraca: ${agentContextPack.politicaCodigoGovernado.porCapacidade.fraca}
|
|
231
|
+
- Média: ${agentContextPack.politicaCodigoGovernado.porCapacidade.media}
|
|
232
|
+
- Forte: ${agentContextPack.politicaCodigoGovernado.porCapacidade.forte}
|
|
233
|
+
|
|
234
|
+
## Divisão por Responsabilidade
|
|
235
|
+
|
|
236
|
+
Sema não manda quebrar HTML em pedaços artificiais. Ele manda manter arquivos pequenos, coesos e governáveis.
|
|
237
|
+
|
|
238
|
+
- Fraca: se um arquivo crescer, pare e peça/execute divisão por responsabilidade antes de continuar.
|
|
239
|
+
- Média: em projeto web, prefira \`index.html\`, \`styles/*.css\`, \`js/state.js\`, \`js/calc.js\`, \`js/render/*.js\` e \`data/*.json\`.
|
|
240
|
+
- Forte: preserve arquitetura e experiência de uso, mas não use contexto grande como desculpa para monólito.
|
|
241
|
+
- Proibido: \`index_p1.html\`, \`index_p2.html\` ou nomes semelhantes quando eles só escondem um arquivo gigante sem fronteira semântica.
|
|
242
|
+
|
|
243
|
+
## Sinal vs Ritual
|
|
244
|
+
|
|
245
|
+
Score composto, \`achados[]\` e \`decisaoAgente\` são bons sinais operacionais. Eles viram teatro se a IA só coloca palavras-chave para passar.
|
|
246
|
+
|
|
247
|
+
- Fraca: achado atendido precisa de evidência simples e visível.
|
|
248
|
+
- Média: conecte cada regra a contrato, arquivo e comportamento esperado.
|
|
249
|
+
- Forte: trate regex/palavra-chave como triagem, não como prova final de substância.
|
|
250
|
+
- Caminho Linux do MCP remoto é espelho governado; não é o checkout local do usuário.
|
|
251
|
+
|
|
252
|
+
## Design Visual
|
|
253
|
+
|
|
254
|
+
${politicaDesign.regra}
|
|
255
|
+
|
|
256
|
+
- Fraca: ${politicaDesign.porCapacidade.fraca}
|
|
257
|
+
Evidência: ${politicaDesign.evidencias.fraca.join(", ")}.
|
|
258
|
+
- Média: ${politicaDesign.porCapacidade.media}
|
|
259
|
+
Evidência: ${politicaDesign.evidencias.media.join(", ")}.
|
|
260
|
+
- Forte: ${politicaDesign.porCapacidade.forte}
|
|
261
|
+
Evidência: ${politicaDesign.evidencias.forte.join(", ")}.
|
|
262
|
+
- Proibido: ${politicaDesign.proibicoes.join(", ")}.
|
|
263
|
+
- Critérios mínimos: ${politicaDesign.criteriosMinimos.join(", ")}.
|
|
264
|
+
|
|
265
|
+
## Fraca
|
|
266
|
+
|
|
267
|
+
Use para Copilot em modo simples, Cline/Roo com pouco contexto, modelos locais pequenos e agentes que ignoram instrução longa.
|
|
268
|
+
|
|
269
|
+
- Entrada: \`${ARQUIVO_SEMA_BOOT}\` -> \`${ARQUIVO_SEMA_SMALL_MODEL}\` -> \`SEMA_BRIEF.micro.txt\`.
|
|
270
|
+
- Não abrir AST/IR completos no começo.
|
|
271
|
+
- Não editar se Sema não respondeu.
|
|
272
|
+
- Não pedir para MCP remoto ler pasta local.
|
|
273
|
+
- Não criar arquivo grande; divida antes de passar de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} linhas.
|
|
274
|
+
- Não fatiar arquivo grande em partes artificiais; divida por responsabilidade real.
|
|
275
|
+
- Não aceitar score ou achado como prova sem evidência concreta.
|
|
276
|
+
|
|
277
|
+
## Média
|
|
278
|
+
|
|
279
|
+
Use para agentes com bom contexto, mas sem garantia de seguir todos os gates.
|
|
280
|
+
|
|
281
|
+
- Entrada: \`${ARQUIVO_SEMA_BOOT}\` -> \`${ARQUIVO_AGENT_CONTEXT_PACK}\` -> \`SEMA_BRIEF.curto.txt\` -> \`SEMA_INDEX.json\`.
|
|
282
|
+
- Rodar docs-impacto antes de agir.
|
|
283
|
+
- Validar drift e contrato no fechamento.
|
|
284
|
+
- Tratar ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO}+ linhas como sinal de refatoração e ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO}+ como bloqueio.
|
|
285
|
+
- Em UI ou HTML estático, separar estrutura, estilos, estado, cálculo, renderização e dados antes de sincronizar.
|
|
286
|
+
- Verificar se score, achados e decisão correspondem a regra real, não só termo copiado.
|
|
287
|
+
|
|
288
|
+
## Forte
|
|
289
|
+
|
|
290
|
+
Use para Codex, Claude e agentes com tool use confiável.
|
|
291
|
+
|
|
292
|
+
- Entrada: \`${ARQUIVO_SEMA_BOOT}\` -> \`${ARQUIVO_AGENT_CONTEXT_PACK}\` -> \`SEMA_BRIEF.md\` -> \`SEMA_INDEX.json\`.
|
|
293
|
+
- Pode consumir AST/IR/drift completos.
|
|
294
|
+
- Ainda deve respeitar contrato primeiro e falha fechada.
|
|
295
|
+
- Não usar contexto grande como desculpa para monólito: o mesmo orçamento vale para IA forte.
|
|
296
|
+
- Se validar inline, ainda preparar o arquivo físico para a próxima IA com cabeçalho governado e descrição humana.
|
|
297
|
+
- Se o MCP usar caminho Linux, tratar como espelho remoto autorizado, não como leitura local do usuário.
|
|
298
|
+
|
|
299
|
+
## Timeout e Retry
|
|
300
|
+
|
|
301
|
+
${agentContextPack.politicaTimeoutResumo.regra}
|
|
302
|
+
|
|
303
|
+
- Timeout inicial para resumo de projeto inteiro: ${agentContextPack.politicaTimeoutResumo.timeoutInicialSegundos}s.
|
|
304
|
+
- Escalonamento recomendado: ${agentContextPack.politicaTimeoutResumo.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
305
|
+
- Fraca: ${agentContextPack.politicaTimeoutResumo.porCapacidade.fraca}
|
|
306
|
+
- Média: ${agentContextPack.politicaTimeoutResumo.porCapacidade.media}
|
|
307
|
+
- Forte: ${agentContextPack.politicaTimeoutResumo.porCapacidade.forte}
|
|
308
|
+
- ${agentContextPack.politicaTimeoutResumo.ateQuandoTentar}
|
|
309
|
+
|
|
310
|
+
## Idioma
|
|
311
|
+
|
|
312
|
+
${agentContextPack.politicaIdioma.regra}
|
|
313
|
+
|
|
314
|
+
A gramática Sema pode ter palavras-chave ASCII. Isso não autoriza resposta humana sem acentos.
|
|
315
|
+
|
|
316
|
+
## Clientes
|
|
317
|
+
|
|
318
|
+
${agentContextPack.entrypointsClientes.map((cliente) => `- ${cliente.cliente}: ${cliente.arquivos.join(", ")}. Capacidade padrão: ${cliente.capacidadePadrao}. ${cliente.observacao}`).join("\n")}
|
|
319
|
+
`;
|
|
320
|
+
}
|
|
321
|
+
function renderizarInstrucaoClienteSema(cliente, capacidade, agentContextPack) {
|
|
322
|
+
const guia = agentContextPack.guiaPorCapacidade[capacidade];
|
|
323
|
+
const politicaTimeout = agentContextPack.politicaTimeoutResumo;
|
|
324
|
+
const politicaDesign = agentContextPack.politicaDesignVisual;
|
|
325
|
+
const politicaPlataforma = agentContextPack.politicaPlataforma;
|
|
326
|
+
const tituloCliente = cliente === "generico" ? "agente" : cliente;
|
|
327
|
+
return `# Sema para ${tituloCliente}
|
|
328
|
+
|
|
329
|
+
Este workspace é governado por Sema. Antes de qualquer ação em código, contrato, documentação operacional, workflow, profile ou deploy:
|
|
330
|
+
|
|
331
|
+
1. Leia \`${ARQUIVO_SEMA_BOOT}\`.
|
|
332
|
+
2. Chame Sema. Se MCP estiver disponível, use \`sema_resumo\` e depois \`sema_docs_impacto\` com a intenção declarada.
|
|
333
|
+
3. Antes de editar código existente, rode \`sema_drift\`.
|
|
334
|
+
4. Antes de criar ou editar \`.sema\`, use \`sema_exemplos\` e \`sema_inspecionar\`.
|
|
335
|
+
5. Ao concluir mudança de contrato, rode \`sema_validar\`.
|
|
336
|
+
6. Antes de finalizar, use \`sema_finalizar_mudanca\` com as docs lidas.
|
|
337
|
+
|
|
338
|
+
Capacidade padrão deste cliente: ${capacidade}.
|
|
339
|
+
Ordem de leitura: ${guia.join(" -> ")}.
|
|
340
|
+
|
|
341
|
+
Políticas da plataforma:
|
|
342
|
+
- ${politicaPlataforma.regra}
|
|
343
|
+
- Capacidade ${capacidade}: ${politicaPlataforma.porCapacidade[capacidade]}
|
|
344
|
+
- Se houver alerta externo: ${politicaPlataforma.quandoHouverBloqueio}
|
|
345
|
+
|
|
346
|
+
Falha fechada:
|
|
347
|
+
${agentContextPack.failClosed.map((regra) => `- ${regra}`).join("\n")}
|
|
348
|
+
|
|
349
|
+
Timeout:
|
|
350
|
+
- Timeout local do agente não é falha do Sema.
|
|
351
|
+
- Se uma chamada Sema estourar, aumente o timeout e tente de novo antes de declarar bloqueio.
|
|
352
|
+
- Para projeto inteiro, comece com ${politicaTimeout.timeoutInicialSegundos}s ou mais; se for lento, escale ${politicaTimeout.escalonamentoSegundos.map((segundos) => `${segundos}s`).join(" -> ")}.
|
|
353
|
+
- Se possível, reduza escopo para \`sema resumo <arquivo.sema> --micro --para mudanca\`.
|
|
354
|
+
|
|
355
|
+
Código governado:
|
|
356
|
+
- Mantenha o marcador \`${agentContextPack.politicaCodigoGovernado.marcador}\` em código gerado ou governado.
|
|
357
|
+
- Ao encontrar esse marcador, volte ao contrato .sema aplicável e chame Sema antes de editar.
|
|
358
|
+
- Comentário de código é lembrete curto; não substitui drift, docs-impacto nem finalizar-mudanca.
|
|
359
|
+
- Validação inline prova o payload enviado; não dispensa o marcador no arquivo físico sincronizado.
|
|
360
|
+
- Se um arquivo crescer, divida por responsabilidade real. Em web: \`index.html\`, \`styles/*.css\`, \`js/state.js\`, \`js/calc.js\`, \`js/render/*.js\`, \`data/*.json\`. Não fatie em p1/p2 sem fronteira semântica.
|
|
361
|
+
|
|
362
|
+
Sinal e evidência:
|
|
363
|
+
- Score composto, \`achados[]\` e \`decisaoAgente\` orientam a ação, mas não substituem evidência concreta.
|
|
364
|
+
- Palavra-chave ou regex passando não prova governança se contrato, código e comportamento não batem.
|
|
365
|
+
- Caminho Linux do MCP remoto é espelho governado do Sema, não pasta local do usuário.
|
|
366
|
+
|
|
367
|
+
Design visual:
|
|
368
|
+
- Se houver UI, design moderno é requisito governado, não enfeite.
|
|
369
|
+
- Capacidade ${capacidade}: ${politicaDesign.porCapacidade[capacidade]}
|
|
370
|
+
- Evidências: ${politicaDesign.evidencias[capacidade].join(", ")}.
|
|
371
|
+
- Proibido: ${politicaDesign.proibicoes.slice(0, 5).join(", ")}.
|
|
372
|
+
|
|
373
|
+
Idioma:
|
|
374
|
+
- Responda no idioma do usuário.
|
|
375
|
+
- Em PT-BR, use acentos, cedilha, pontuação e símbolos normais.
|
|
376
|
+
- A DSL \`.sema\` pode ser ASCII; texto humano não precisa ser.
|
|
377
|
+
- Não traduza comandos, rotas, arquivos, símbolos de código nem palavras-chave da DSL.
|
|
378
|
+
`;
|
|
379
|
+
}
|
|
380
|
+
export async function sincronizarEntryPointsAgentes(baseProjeto, agentContextPack) {
|
|
381
|
+
const resultados = [];
|
|
382
|
+
const registrar = async (relativo, conteudo, substituirLegadoSema = false) => {
|
|
383
|
+
const destino = path.join(baseProjeto, relativo);
|
|
384
|
+
const status = await escreverArquivoGerenciadoSema(destino, conteudo, substituirLegadoSema);
|
|
385
|
+
resultados.push({ caminho: relativo, status });
|
|
386
|
+
};
|
|
387
|
+
await registrar(".github/copilot-instructions.md", renderizarInstrucaoClienteSema("copilot", "media", agentContextPack), true);
|
|
388
|
+
const clinePath = path.join(baseProjeto, ".clinerules");
|
|
389
|
+
const clineStat = await statSeguro(clinePath);
|
|
390
|
+
if (clineStat?.isFile()) {
|
|
391
|
+
await registrar(".clinerules", renderizarInstrucaoClienteSema("cline", "fraca", agentContextPack), true);
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
await registrar(".clinerules/00-sema.md", renderizarInstrucaoClienteSema("cline", "fraca", agentContextPack), true);
|
|
395
|
+
}
|
|
396
|
+
await registrar(".roo/rules/00-sema.md", renderizarInstrucaoClienteSema("roo", "fraca", agentContextPack), true);
|
|
397
|
+
const opencodeDir = path.join(baseProjeto, ".opencode");
|
|
398
|
+
const opencodeStat = await statSeguro(opencodeDir);
|
|
399
|
+
if (opencodeStat?.isDirectory()) {
|
|
400
|
+
await registrar(".opencode/instructions.md", renderizarInstrucaoClienteSema("opencode", "media", agentContextPack), true);
|
|
401
|
+
}
|
|
402
|
+
const cursorDir = path.join(baseProjeto, ".cursor");
|
|
403
|
+
const cursorStat = await statSeguro(cursorDir);
|
|
404
|
+
if (cursorStat?.isDirectory()) {
|
|
405
|
+
await registrar(".cursor/rules/sema.mdc", renderizarInstrucaoClienteSema("cursor", "media", agentContextPack), true);
|
|
406
|
+
}
|
|
407
|
+
const claudeDir = path.join(baseProjeto, ".claude");
|
|
408
|
+
const claudeStat = await statSeguro(claudeDir);
|
|
409
|
+
if (claudeStat?.isDirectory()) {
|
|
410
|
+
await registrar(".claude/CLAUDE.md", renderizarInstrucaoClienteSema("claude", "forte", agentContextPack), true);
|
|
411
|
+
}
|
|
412
|
+
const windsurfDir = path.join(baseProjeto, ".windsurf");
|
|
413
|
+
const windsurfStat = await statSeguro(windsurfDir);
|
|
414
|
+
if (windsurfStat?.isDirectory()) {
|
|
415
|
+
await registrar(".windsurf/rules.md", renderizarInstrucaoClienteSema("windsurf", "media", agentContextPack), true);
|
|
416
|
+
}
|
|
417
|
+
const criados = resultados.filter((item) => item.status === "criado").map((item) => item.caminho);
|
|
418
|
+
const atualizados = resultados.filter((item) => item.status === "atualizado").map((item) => item.caminho);
|
|
419
|
+
const preservados = resultados.filter((item) => item.status === "preservado").map((item) => item.caminho);
|
|
420
|
+
return { arquivos: resultados, criados, atualizados, preservados };
|
|
421
|
+
}
|
|
422
|
+
//# sourceMappingURL=agentEntryPoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentEntryPoints.js","sourceRoot":"","sources":["../src/agentEntryPoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IrModulo } from "@sema/nucleo";
|
|
2
|
+
import type { PoliticaAuthorGate } from "./authorPoliticas.js";
|
|
3
|
+
import type { AchadoClicheAuthor, DiffSemanticoAuthor, ImpactoNarrativoAuthor, IrNarrativoAuthor, SeveridadeAuthor } from "./profileAuthorTipos.js";
|
|
4
|
+
export declare function criarAchadoAuthor(politica: PoliticaAuthorGate, textoFonte: string, origem: AchadoClicheAuthor["origem"]): AchadoClicheAuthor | null;
|
|
5
|
+
export declare function contarPalavrasAuthor(textoNormalizado: string, palavras: string[]): number;
|
|
6
|
+
export declare function criarAchadoHeuristicoAuthor(id: string, categoria: string, severidade: SeveridadeAuthor, ocorrencias: number, sugestao: string, evidencias?: string[], textoFonte?: string, motivo?: string, sugestaoReescrita?: string): AchadoClicheAuthor | null;
|
|
7
|
+
export declare function contratoAutorizaTemaSensivel(conteudoContrato: string): boolean;
|
|
8
|
+
export declare function avaliarHeuristicasNarrativasAuthor(textoFonte: string, conteudoContrato: string, tokensContrato: Set<string>): AchadoClicheAuthor[];
|
|
9
|
+
export declare function extrairIrNarrativoAuthor(texto: string): IrNarrativoAuthor;
|
|
10
|
+
export declare function compararDiffSemanticoAuthor(textoAnterior: string | null, textoAtual: string): DiffSemanticoAuthor;
|
|
11
|
+
export declare function calcularScoreAuthor(achados: AchadoClicheAuthor[], categorias?: string[]): number;
|
|
12
|
+
export declare function calcularScoreRiscoAuthor(achados: AchadoClicheAuthor[], contratoValido: boolean): number;
|
|
13
|
+
export declare function montarImpactMapAuthor(achados: AchadoClicheAuthor[]): ImpactoNarrativoAuthor[];
|
|
14
|
+
export declare function extrairGuardrailsAuthor(conteudo: string, ir: IrModulo | null): string[];
|
|
15
|
+
export declare function extrairProibicoesAuthor(ir: IrModulo | null, conteudo: string): string[];
|