@semacode/cli 2.3.1 → 3.5.0
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/README.md +265 -217
- package/dist/agentContextPack.js +14 -10
- package/dist/agentEntryPoints.d.ts +5 -0
- package/dist/agentEntryPoints.js +592 -568
- package/dist/angular-consumer-standalone.js +1 -1
- package/dist/bin.d.ts +6 -0
- package/dist/bin.js +130 -0
- package/dist/cliArgs.js +4 -4
- package/dist/cliControlError.d.ts +12 -0
- package/dist/cliControlError.js +47 -0
- package/dist/cliGrammar.d.ts +11 -0
- package/dist/cliGrammar.js +551 -0
- package/dist/cliHelp.d.ts +13 -0
- package/dist/cliHelp.js +19 -0
- package/dist/cliHelpTexto.d.ts +3 -0
- package/dist/cliHelpTexto.js +168 -0
- package/dist/cliRuntime.d.ts +2 -0
- package/dist/cliRuntime.js +31 -0
- package/dist/comandos.js +9 -22
- package/dist/contexto.js +5 -5
- package/dist/dev/index.d.ts +1 -0
- package/dist/dev/index.js +51 -9
- package/dist/discovery/catalog.js +3 -3
- package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
- package/dist/distribuicao/filesystemGlobal.js +701 -0
- package/dist/distribuicao/index.d.ts +7 -0
- package/dist/distribuicao/index.js +227 -0
- package/dist/distribuicao/launcherGlobal.d.ts +53 -0
- package/dist/distribuicao/launcherGlobal.js +643 -0
- package/dist/distribuicao/launcherWindows.d.ts +28 -0
- package/dist/distribuicao/launcherWindows.js +326 -0
- package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
- package/dist/distribuicao/lockContextGlobal.js +17 -0
- package/dist/distribuicao/lockGlobal.d.ts +6 -0
- package/dist/distribuicao/lockGlobal.js +520 -0
- package/dist/distribuicao/skillGlobal.d.ts +48 -0
- package/dist/distribuicao/skillGlobal.js +652 -0
- package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
- package/dist/distribuicao/skillIntentPolicy.js +115 -0
- package/dist/distribuicao/tipos.d.ts +50 -0
- package/dist/distribuicao/tipos.js +10 -0
- package/dist/distribuicao/versaoSemantica.d.ts +3 -0
- package/dist/distribuicao/versaoSemantica.js +62 -0
- package/dist/docs.part01.d.ts +4 -1
- package/dist/docs.part01.js +8 -0
- package/dist/docs.part02.js +9 -1
- package/dist/drift.part01.d.ts +33 -25
- package/dist/drift.part01.js +2 -1
- package/dist/drift.part04.d.ts +26 -5
- package/dist/drift.part04.js +123 -19
- package/dist/drift.part05.d.ts +2 -2
- package/dist/drift.part05.js +8 -6
- package/dist/drift.part06.d.ts +2 -2
- package/dist/drift.part06.js +113 -26
- package/dist/drift.part07.d.ts +11 -11
- package/dist/drift.part07.js +261 -265
- package/dist/drift.part08.d.ts +2 -2
- package/dist/drift.part08.js +35 -26
- package/dist/drift.part09.d.ts +2 -2
- package/dist/drift.part09.js +10 -3
- package/dist/drift.part11.js +261 -58
- package/dist/drift.part12.d.ts +1 -1
- package/dist/drift.part12.js +193 -21
- package/dist/drift.part13.d.ts +20 -39
- package/dist/drift.part13.js +601 -647
- package/dist/drift.part14.js +23 -7
- package/dist/driftCacheCas.d.ts +43 -0
- package/dist/driftCacheCas.js +351 -0
- package/dist/driftCacheFilesystem.d.ts +64 -0
- package/dist/driftCacheFilesystem.js +313 -0
- package/dist/driftCacheModes.d.ts +38 -0
- package/dist/driftCacheModes.js +147 -0
- package/dist/driftCacheStore.d.ts +80 -0
- package/dist/driftCacheStore.js +603 -0
- package/dist/driftCatalogo.d.ts +2 -28
- package/dist/driftCatalogo.js +143 -284
- package/dist/driftEscopo.d.ts +1 -3
- package/dist/driftEscopo.js +235 -151
- package/dist/driftEscopoReferencias.d.ts +5 -1
- package/dist/driftEscopoReferencias.js +375 -28
- package/dist/driftOrcamento.d.ts +0 -6
- package/dist/driftOrcamento.js +2 -1
- package/dist/execucoesExternas.js +19 -5
- package/dist/exemplosOficiais.d.ts +2 -1
- package/dist/exemplosOficiais.js +9 -3
- package/dist/geracaoCore.d.ts +1 -0
- package/dist/geracaoCore.js +6 -6
- package/dist/iaPrompts.d.ts +3 -3
- package/dist/iaPrompts.js +312 -313
- package/dist/importador.part01.d.ts +1 -1
- package/dist/importador.part06.d.ts +2 -0
- package/dist/importador.part06.js +87 -1
- package/dist/importador.part09.js +7 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +6 -25
- package/dist/index.part01.d.ts +20 -28
- package/dist/index.part01.js +16 -237
- package/dist/index.part02.js +36 -22
- package/dist/index.part03.d.ts +24 -2
- package/dist/index.part03.js +83 -19
- package/dist/index.part04.d.ts +10 -2
- package/dist/index.part04.js +152 -123
- package/dist/index.part05.js +80 -78
- package/dist/index.part06.js +34 -17
- package/dist/index.part07.d.ts +8 -2
- package/dist/index.part07.js +153 -7
- package/dist/index.part08.d.ts +1 -1
- package/dist/index.part08.js +25 -30
- package/dist/initCommand.d.ts +1 -0
- package/dist/initCommand.js +20 -4
- package/dist/initTemplatesBase.js +6 -4
- package/dist/pipelineConteudo/command.d.ts +1 -0
- package/dist/pipelineConteudo/command.js +9 -2
- package/dist/pipelineConteudo/help.d.ts +2 -0
- package/dist/pipelineConteudo/help.js +33 -0
- package/dist/profileAuthorCommand.js +3 -7
- package/dist/profileCommand.js +3 -7
- package/dist/projetoCarregar.js +35 -17
- package/dist/projetoCatalogo.d.ts +1 -0
- package/dist/projetoCatalogo.js +64 -25
- package/dist/projetoConfig.js +2 -0
- package/dist/projetoLegado.js +18 -0
- package/dist/projetoOrigens.d.ts +2 -0
- package/dist/projetoOrigens.js +65 -9
- package/dist/projetoTipos.d.ts +1 -0
- package/dist/resultadoCli.d.ts +20 -0
- package/dist/resultadoCli.js +57 -0
- package/dist/saidaCli.d.ts +35 -0
- package/dist/saidaCli.js +118 -0
- package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
- package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
- package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
- package/dist/sistemasInterativos/engineObservation.js +438 -0
- package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
- package/dist/sistemasInterativos/jobOrchestration.js +204 -0
- package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
- package/dist/sistemasInterativos/operationPrimitives.js +194 -0
- package/dist/sistemasInterativos/operations.d.ts +4 -39
- package/dist/sistemasInterativos/operations.js +5 -1164
- package/dist/skillCommand.d.ts +5 -0
- package/dist/skillCommand.js +88 -0
- package/dist/tipos.d.ts +1 -1
- package/dist/typescript-http-modelos.d.ts +1 -1
- package/dist/typescript-http-rotas.d.ts +1 -0
- package/dist/typescript-http-rotas.js +93 -0
- package/dist/typescript-http.d.ts +1 -1
- package/dist/typescript-http.js +1 -1
- package/dist/verificacaoCache.d.ts +25 -0
- package/dist/verificacaoCache.js +80 -0
- package/docs/README.md +34 -30
- package/docs/ai-integration.md +25 -12
- package/docs/ai-onboarding.md +37 -18
- package/docs/ai-workflow.md +9 -7
- package/docs/cli.md +125 -7
- package/docs/commands.md +41 -20
- package/docs/deploy.md +21 -8
- package/docs/descoberta-capacidades.md +106 -106
- package/docs/documentation.md +49 -39
- package/docs/drift-cache.md +108 -0
- package/docs/getting-started.md +43 -18
- package/docs/pipeline-conteudo.md +246 -246
- package/docs/profiles.md +54 -54
- package/docs/repositories.md +19 -2
- package/docs/rollback.md +15 -8
- package/docs/security.md +25 -3
- package/docs/sistemas-interativos.md +379 -374
- package/docs/syntax.md +14 -0
- package/docs/testing.md +139 -40
- package/exemplos/express_crud.sema +139 -0
- package/exemplos/fastify_crud.sema +146 -0
- package/exemplos/pipeline-conteudo/README.md +44 -44
- package/exemplos/pipeline-conteudo/alvos.json +23 -23
- package/exemplos/pipeline-conteudo/definicao.json +136 -136
- package/exemplos/profile_simulation.sema +211 -211
- package/exemplos/sistemas-interativos/README.md +100 -100
- package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
- package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
- package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
- package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
- package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
- package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
- package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
- package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
- package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
- package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
- package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
- package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
- package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
- package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
- package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
- package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
- package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
- package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
- package/exemplos/sistemas-interativos/game-2d.json +83 -83
- package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
- package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
- package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
- package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
- package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
- package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
- package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
- package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
- package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
- package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
- package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
- package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
- package/node_modules/@sema/gerador-cpp/package.json +1 -1
- package/node_modules/@sema/gerador-dotnet/package.json +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
- package/node_modules/@sema/gerador-php/dist/index.js +113 -113
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +37 -38
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +7 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +33 -10
- package/package.json +9 -4
- package/scripts/postinstall.mjs +148 -0
- package/skills/sema/SKILL.md +199 -0
- package/skills/sema/agents/openai.yaml +4 -0
- package/dist/driftCache.d.ts +0 -49
- package/dist/driftCache.js +0 -311
- package/dist/driftCacheIncremental.d.ts +0 -98
- package/dist/driftCacheIncremental.js +0 -596
- package/dist/driftCatalogoPersistente.d.ts +0 -8
- package/dist/driftCatalogoPersistente.js +0 -77
- package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
- package/node_modules/@sema/padroes/dist/index.js.map +0 -1
package/dist/index.part02.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// SEMA-GOVERNED: sema.governanca_ia_contexto
|
|
2
|
-
//
|
|
1
|
+
// SEMA-GOVERNED: sema.governanca_ia_contexto, sema.produto.governanca_ia.drift.cache.modos
|
|
2
|
+
// Descrição: tipa contexto e evidência de drift opcional sem fabricar métricas.
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO, LIMITE_AVISO_LINHAS_CONTRATO_SEMA, LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO, LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA, } from "./driftOrcamento.js";
|
|
@@ -27,8 +27,13 @@ export function descreverFazModulo(ir, modulo) {
|
|
|
27
27
|
}
|
|
28
28
|
export function coletarResumoSemanticoModulo(contexto) {
|
|
29
29
|
const { arquivo, modulo, geradoEm, ir, briefing, drift } = contexto;
|
|
30
|
-
const
|
|
31
|
-
const
|
|
30
|
+
const driftExecutado = drift.executada && drift.resumo !== null && drift.drift !== null;
|
|
31
|
+
const modoVerificacaoCodigo = driftExecutado
|
|
32
|
+
? (contexto.modoVerificacaoCodigo ?? "codigo_completo")
|
|
33
|
+
: "contratos_apenas";
|
|
34
|
+
const fontesConclusao = driftExecutado
|
|
35
|
+
? (contexto.fontesConclusao ?? ["contrato", "codigo"])
|
|
36
|
+
: ["contrato"];
|
|
32
37
|
const tarefas = ir?.tasks ?? [];
|
|
33
38
|
const rotas = ir?.routes ?? [];
|
|
34
39
|
const superficies = ir?.superficies ?? [];
|
|
@@ -58,7 +63,7 @@ export function coletarResumoSemanticoModulo(contexto) {
|
|
|
58
63
|
modulo,
|
|
59
64
|
modoVerificacaoCodigo,
|
|
60
65
|
avisoVerificacaoCodigo: modoVerificacaoCodigo === "contratos_apenas"
|
|
61
|
-
? "Somente contratos foram
|
|
66
|
+
? "Somente contratos foram analisados; a implementação não foi verificada neste modo."
|
|
62
67
|
: modoVerificacaoCodigo === "codigo_selecionado"
|
|
63
68
|
? "Codigo selecionado foi enviado; conclusoes de implementacao valem apenas para os arquivos do snapshot."
|
|
64
69
|
: null,
|
|
@@ -66,7 +71,7 @@ export function coletarResumoSemanticoModulo(contexto) {
|
|
|
66
71
|
perfilCompatibilidade: ir?.perfilCompatibilidade ?? briefing.perfilCompatibilidade,
|
|
67
72
|
scoreSemantico: briefing.scoreSemantico,
|
|
68
73
|
confiancaGeral: briefing.confiancaGeral,
|
|
69
|
-
riscoOperacional: calcularRiscoOperacionalResumo(drift.resumo),
|
|
74
|
+
riscoOperacional: drift.resumo ? calcularRiscoOperacionalResumo(drift.resumo) : "nao_avaliado",
|
|
70
75
|
faz: descreverFazModulo(ir, modulo),
|
|
71
76
|
tarefasPrincipais: limitarLista(tarefas.map((task) => task.nome), 6),
|
|
72
77
|
entradasChave: limitarLista(tarefas.map((task) => resumirCamposTask(task, "input", 4)), 4),
|
|
@@ -86,8 +91,8 @@ export function coletarResumoSemanticoModulo(contexto) {
|
|
|
86
91
|
inferido: limitarLista(unicosOrdenados(briefing.oQueFoiInferido), 6),
|
|
87
92
|
checksSugeridos: limitarLista(unicosOrdenados(briefing.oQueValidar), 6),
|
|
88
93
|
testesMinimos: limitarLista(unicosOrdenados(briefing.testesMinimos), 6),
|
|
89
|
-
consumerFramework: briefing.consumerFramework ?? drift.drift
|
|
90
|
-
appRoutes: limitarLista(unicosOrdenados(briefing.appRoutes ?? drift.drift
|
|
94
|
+
consumerFramework: briefing.consumerFramework ?? drift.drift?.consumerFramework ?? null,
|
|
95
|
+
appRoutes: limitarLista(unicosOrdenados(briefing.appRoutes ?? drift.drift?.appRoutes ?? []), 8),
|
|
91
96
|
consumerSurfaces: limitarLista(unicosOrdenados(briefing.consumerSurfaces ?? []), 8),
|
|
92
97
|
consumerBridges: limitarLista(unicosOrdenados(briefing.consumerBridges ?? []), 8),
|
|
93
98
|
ancoragensVinculo: limitarLista(unicosOrdenados(briefing.ancoragensVinculo ?? []), 8),
|
|
@@ -116,6 +121,10 @@ export function normalizarResumoModoContratosApenas(resumo) {
|
|
|
116
121
|
.filter((check) => !/drift|vinculo/i.test(check));
|
|
117
122
|
return {
|
|
118
123
|
...resumo,
|
|
124
|
+
appRoutes: modoContratosApenas ? null : resumo.appRoutes,
|
|
125
|
+
consumerSurfaces: modoContratosApenas ? null : resumo.consumerSurfaces,
|
|
126
|
+
consumerBridges: modoContratosApenas ? null : resumo.consumerBridges,
|
|
127
|
+
ancoragensVinculo: modoContratosApenas ? null : resumo.ancoragensVinculo,
|
|
119
128
|
riscosPrincipais: limitarLista(unicosOrdenados([
|
|
120
129
|
...riscosPrincipais,
|
|
121
130
|
...(riscosCodigo || lacunasCodigo ? ["codigo_nao_verificado_neste_modo"] : []),
|
|
@@ -177,6 +186,8 @@ export function descreverFontesConclusao(fontes, modo) {
|
|
|
177
186
|
}
|
|
178
187
|
export function renderizarResumoModuloTexto(resumo, tamanho, modo) {
|
|
179
188
|
const limite = tamanho === "micro" ? 2 : tamanho === "curto" ? 4 : 6;
|
|
189
|
+
const consumerAvaliado = resumo.modoVerificacaoCodigo !== "contratos_apenas";
|
|
190
|
+
const resumirEvidenciaLista = (itens) => itens === null ? "não avaliado" : resumirListaTexto(itens, limite);
|
|
180
191
|
const linhas = [
|
|
181
192
|
`MODO: ${modo}`,
|
|
182
193
|
`MODULO: ${resumo.modulo}`,
|
|
@@ -185,11 +196,11 @@ export function renderizarResumoModuloTexto(resumo, tamanho, modo) {
|
|
|
185
196
|
`MODO_CODIGO: ${resumo.modoVerificacaoCodigo}`,
|
|
186
197
|
...(resumo.avisoVerificacaoCodigo ? [`AVISO_CODIGO: ${resumo.avisoVerificacaoCodigo}`] : []),
|
|
187
198
|
`FONTES_CONCLUSAO: ${resumirListaTexto(resumo.fontesConclusao, limite)}`,
|
|
188
|
-
`CONSUMER_FRAMEWORK: ${resumo.consumerFramework ?? "nenhum"}`,
|
|
189
|
-
`APP_ROUTES: ${
|
|
190
|
-
`CONSUMER_SURFACES: ${
|
|
191
|
-
`CONSUMER_BRIDGES: ${
|
|
192
|
-
`ANCORAGEM_VINCULO: ${
|
|
199
|
+
`CONSUMER_FRAMEWORK: ${resumo.consumerFramework ?? (consumerAvaliado ? "nenhum" : "não avaliado")}`,
|
|
200
|
+
`APP_ROUTES: ${resumirEvidenciaLista(resumo.appRoutes)}`,
|
|
201
|
+
`CONSUMER_SURFACES: ${resumirEvidenciaLista(resumo.consumerSurfaces)}`,
|
|
202
|
+
`CONSUMER_BRIDGES: ${resumirEvidenciaLista(resumo.consumerBridges)}`,
|
|
203
|
+
`ANCORAGEM_VINCULO: ${resumirEvidenciaLista(resumo.ancoragensVinculo)}`,
|
|
193
204
|
`PUBLICO: ${resumirListaTexto(resumo.superficiesPublicas, limite)}`,
|
|
194
205
|
`TAREFAS: ${resumirListaTexto(resumo.tarefasPrincipais, limite)}`,
|
|
195
206
|
`ENTRADAS: ${resumirListaTexto(resumo.entradasChave, limite)}`,
|
|
@@ -203,9 +214,9 @@ export function renderizarResumoModuloTexto(resumo, tamanho, modo) {
|
|
|
203
214
|
`RISCOS: ${resumirListaTexto(resumo.riscosPrincipais, limite)}`,
|
|
204
215
|
`LACUNAS: ${resumirListaTexto(resumo.lacunas, limite)}`,
|
|
205
216
|
`INFERIDO: ${resumirListaTexto(resumo.inferido, limite)}`,
|
|
206
|
-
`CONFIANCA: ${resumo.confiancaGeral}`,
|
|
217
|
+
`CONFIANCA: ${resumo.confiancaGeral ?? "não avaliada"}`,
|
|
207
218
|
`RISCO_OPERACIONAL: ${resumo.riscoOperacional}`,
|
|
208
|
-
`SCORE: ${resumo.scoreSemantico}`,
|
|
219
|
+
`SCORE: ${resumo.scoreSemantico ?? "não avaliado"}`,
|
|
209
220
|
`GERADO_EM: ${resumo.geradoEm}`,
|
|
210
221
|
];
|
|
211
222
|
if (tamanho === "micro") {
|
|
@@ -214,6 +225,9 @@ export function renderizarResumoModuloTexto(resumo, tamanho, modo) {
|
|
|
214
225
|
return `${linhas.join("\n")}\n`;
|
|
215
226
|
}
|
|
216
227
|
export function renderizarResumoModuloMarkdown(resumo, modo, guiaPorCapacidade) {
|
|
228
|
+
const consumerAvaliado = resumo.modoVerificacaoCodigo !== "contratos_apenas";
|
|
229
|
+
const resumirEvidenciaLista = (itens) => itens === null ? "não avaliado" : resumirListaTexto(itens, 6);
|
|
230
|
+
const exibirConsumer = resumo.consumerFramework !== null || resumo.appRoutes === null;
|
|
217
231
|
const linhas = [
|
|
218
232
|
`# Resumo Sema para ${resumo.modulo}`,
|
|
219
233
|
"",
|
|
@@ -224,8 +238,8 @@ export function renderizarResumoModuloMarkdown(resumo, modo, guiaPorCapacidade)
|
|
|
224
238
|
`- Modo de codigo: \`${resumo.modoVerificacaoCodigo}\``,
|
|
225
239
|
...(resumo.avisoVerificacaoCodigo ? [`- Aviso de codigo: ${resumo.avisoVerificacaoCodigo}`] : []),
|
|
226
240
|
`- Fontes de conclusao: ${resumirListaTexto(resumo.fontesConclusao, 6)}`,
|
|
227
|
-
`- Score: \`${resumo.scoreSemantico}\``,
|
|
228
|
-
`-
|
|
241
|
+
`- Score: \`${resumo.scoreSemantico ?? "não avaliado"}\``,
|
|
242
|
+
`- Confiança: \`${resumo.confiancaGeral ?? "não avaliada"}\``,
|
|
229
243
|
`- Risco operacional: \`${resumo.riscoOperacional}\``,
|
|
230
244
|
"",
|
|
231
245
|
"## O que este modulo faz",
|
|
@@ -243,14 +257,14 @@ export function renderizarResumoModuloMarkdown(resumo, modo, guiaPorCapacidade)
|
|
|
243
257
|
`- Erros: ${resumirListaTexto(resumo.erros, 6)}`,
|
|
244
258
|
`- Entidades afetadas: ${resumirListaTexto(resumo.entidadesAfetadas, 6)}`,
|
|
245
259
|
"",
|
|
246
|
-
...(
|
|
260
|
+
...(exibirConsumer
|
|
247
261
|
? [
|
|
248
262
|
"## Consumer IA-first",
|
|
249
263
|
"",
|
|
250
|
-
`- Framework consumer: ${resumo.consumerFramework}`,
|
|
251
|
-
`- Rotas de app: ${
|
|
252
|
-
`- Superficies consumer: ${
|
|
253
|
-
`- Bridges consumer: ${
|
|
264
|
+
`- Framework consumer: ${resumo.consumerFramework ?? (consumerAvaliado ? "nenhum" : "não avaliado")}`,
|
|
265
|
+
`- Rotas de app: ${resumirEvidenciaLista(resumo.appRoutes)}`,
|
|
266
|
+
`- Superficies consumer: ${resumirEvidenciaLista(resumo.consumerSurfaces)}`,
|
|
267
|
+
`- Bridges consumer: ${resumirEvidenciaLista(resumo.consumerBridges)}`,
|
|
254
268
|
"",
|
|
255
269
|
]
|
|
256
270
|
: []),
|
package/dist/index.part03.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type IrModulo } from "@sema/nucleo";
|
|
2
2
|
import { analisarDriftLegado } from "./drift.js";
|
|
3
3
|
import { type GuiaCapacidadeIaMap } from './agentContextTipos.js';
|
|
4
|
-
import { PacoteContextoModuloIa, ResumoSemanticoModuloIa
|
|
4
|
+
import { PacoteContextoModuloIa, ResumoSemanticoModuloIa } from "./index.part01.js";
|
|
5
|
+
import type { ResolucaoModoCacheDrift } from "./driftCacheModes.js";
|
|
5
6
|
export declare function renderizarResumoProjetoMarkdown(geradoEm: string, modulos: ResumoSemanticoModuloIa[], guiaPorCapacidade: GuiaCapacidadeIaMap): string;
|
|
6
7
|
export declare function falharContextoIa(mensagem: string): never;
|
|
7
8
|
export declare function garantirArquivoSema(caminhoArquivo: string): void;
|
|
@@ -52,7 +53,28 @@ export declare function criarBriefingAgente(arquivo: string, modulo: string, ir:
|
|
|
52
53
|
ancoragensVinculo: string[];
|
|
53
54
|
testesMinimos: string[];
|
|
54
55
|
};
|
|
55
|
-
export declare function
|
|
56
|
+
export declare function criarBriefingAgenteContratos(arquivo: string, modulo: string, ir: IrModulo | null): {
|
|
57
|
+
arquivo: string;
|
|
58
|
+
modulo: string;
|
|
59
|
+
perfilCompatibilidade: import("@sema/nucleo").PerfilCompatibilidade;
|
|
60
|
+
scoreSemantico: null;
|
|
61
|
+
confiancaGeral: null;
|
|
62
|
+
riscosPrincipais: string[];
|
|
63
|
+
oQueTocar: string[];
|
|
64
|
+
arquivosProvaveisEditar: string[];
|
|
65
|
+
oQueValidar: string[];
|
|
66
|
+
oQueEstaFrouxo: never[];
|
|
67
|
+
oQueFoiInferido: string[];
|
|
68
|
+
simbolosRelacionados: string[];
|
|
69
|
+
superficiesImpactadas: string[];
|
|
70
|
+
consumerFramework: null;
|
|
71
|
+
appRoutes: never[];
|
|
72
|
+
consumerSurfaces: never[];
|
|
73
|
+
consumerBridges: never[];
|
|
74
|
+
ancoragensVinculo: never[];
|
|
75
|
+
testesMinimos: string[];
|
|
76
|
+
};
|
|
77
|
+
export declare function carregarContextoModuloIa(arquivoEntrada: string, analiseDrift?: ResolucaoModoCacheDrift): Promise<PacoteContextoModuloIa>;
|
|
56
78
|
export declare const ARQUIVOS_RESUMO_MODULO_IA: readonly ["SEMA_BOOT.md", "SEMA_SMALL_MODEL.md", "agent-context-pack.json", "resumo.micro.txt", "resumo.curto.txt", "resumo.md", "briefing.min.json", "prompt-curto.txt"];
|
|
57
79
|
export declare function gerarArquivosResumoModuloIa(contexto: PacoteContextoModuloIa, pastaBase: string): Promise<{
|
|
58
80
|
artefatosCompactos: string[];
|
package/dist/index.part03.js
CHANGED
|
@@ -8,7 +8,6 @@ import { criarEntradaCanonicaProjeto } from './agentContext.js';
|
|
|
8
8
|
import { renderizarSemaBoot, renderizarSemaSmallModel, } from './agentEntryPoints.js';
|
|
9
9
|
import { escreverArquivoWorkspaceSeguro, validarDestinosEscritaWorkspace } from './workspaceWrite.js';
|
|
10
10
|
import { resumirListaTexto } from './textoListas.js';
|
|
11
|
-
import { criarResultadoDriftNaoExecutado, resolverAnaliseDriftCli, } from "./index.part01.js";
|
|
12
11
|
import { coletarResumoSemanticoModulo, criarBriefingMinimo, criarPromptCurtoModulo, renderizarResumoModuloMarkdown, renderizarResumoModuloTexto } from "./index.part02.js";
|
|
13
12
|
export function renderizarResumoProjetoMarkdown(geradoEm, modulos, guiaPorCapacidade) {
|
|
14
13
|
const entradaCanonica = criarEntradaCanonicaProjeto(guiaPorCapacidade);
|
|
@@ -83,7 +82,7 @@ export function renderizarResumoProjetoMarkdown(geradoEm, modulos, guiaPorCapaci
|
|
|
83
82
|
linhas.push(`- Faz: ${modulo.faz}`);
|
|
84
83
|
linhas.push(`- Publico: ${resumirListaTexto(modulo.superficiesPublicas, 4)}`);
|
|
85
84
|
linhas.push(`- Tocar: ${resumirListaTexto(modulo.arquivosProvaveis, 4)}`);
|
|
86
|
-
linhas.push(`- Score: ${modulo.scoreSemantico} |
|
|
85
|
+
linhas.push(`- Score: ${modulo.scoreSemantico ?? "não avaliado"} | Confiança: ${modulo.confiancaGeral ?? "não avaliada"} | Risco: ${modulo.riscoOperacional}`);
|
|
87
86
|
linhas.push(`- Lacunas: ${resumirListaTexto(modulo.lacunas, 4)}`);
|
|
88
87
|
linhas.push("");
|
|
89
88
|
}
|
|
@@ -249,16 +248,74 @@ export function criarBriefingAgente(arquivo, modulo, ir, resumoDrift, resultadoD
|
|
|
249
248
|
ancoragensVinculo: resumoDrift.ancoragensVinculo,
|
|
250
249
|
testesMinimos: [
|
|
251
250
|
"sema validar <arquivo> --json",
|
|
252
|
-
"sema drift <arquivo> --json",
|
|
251
|
+
"sema drift <arquivo> --cache fresh --json",
|
|
253
252
|
"sema verificar <arquivo-ou-pasta> --json",
|
|
254
253
|
],
|
|
255
254
|
};
|
|
256
255
|
}
|
|
257
|
-
export
|
|
256
|
+
export function criarBriefingAgenteContratos(arquivo, modulo, ir) {
|
|
257
|
+
const vinculos = ir
|
|
258
|
+
? [
|
|
259
|
+
...ir.vinculos,
|
|
260
|
+
...ir.tasks.flatMap((task) => task.vinculos),
|
|
261
|
+
...ir.flows.flatMap((flow) => flow.vinculos),
|
|
262
|
+
...ir.routes.flatMap((route) => route.vinculos),
|
|
263
|
+
...ir.superficies.flatMap((superficie) => superficie.vinculos),
|
|
264
|
+
]
|
|
265
|
+
: [];
|
|
266
|
+
const arquivosDeclarados = [...new Set(vinculos.flatMap((vinculo) => [
|
|
267
|
+
vinculo.arquivo,
|
|
268
|
+
vinculo.tipo === "arquivo" ? vinculo.valor : undefined,
|
|
269
|
+
]).filter((valor) => Boolean(valor)))]
|
|
270
|
+
.sort((a, b) => a.localeCompare(b, "pt-BR"));
|
|
271
|
+
const simbolosDeclarados = [...new Set(vinculos
|
|
272
|
+
.map((vinculo) => vinculo.simbolo)
|
|
273
|
+
.filter((valor) => Boolean(valor)))]
|
|
274
|
+
.sort((a, b) => a.localeCompare(b, "pt-BR"));
|
|
275
|
+
return {
|
|
276
|
+
arquivo,
|
|
277
|
+
modulo,
|
|
278
|
+
perfilCompatibilidade: ir?.perfilCompatibilidade ?? "interno",
|
|
279
|
+
scoreSemantico: null,
|
|
280
|
+
confiancaGeral: null,
|
|
281
|
+
riscosPrincipais: [...new Set(ir?.resumoAgente.riscos ?? [])],
|
|
282
|
+
oQueTocar: arquivosDeclarados,
|
|
283
|
+
arquivosProvaveisEditar: arquivosDeclarados,
|
|
284
|
+
oQueValidar: [...new Set([
|
|
285
|
+
...(ir?.resumoAgente.checks ?? []),
|
|
286
|
+
...(ir?.tasks.flatMap((task) => task.resumoAgente.checks) ?? []),
|
|
287
|
+
"executar drift antes de concluir sobre a implementação",
|
|
288
|
+
])],
|
|
289
|
+
oQueEstaFrouxo: [],
|
|
290
|
+
oQueFoiInferido: ["modo_contratos_apenas", "implementacao_nao_verificada"],
|
|
291
|
+
simbolosRelacionados: simbolosDeclarados,
|
|
292
|
+
superficiesImpactadas: [
|
|
293
|
+
...(ir?.routes.map((route) => `${route.metodo ?? "?"} ${route.caminho ?? route.nome}`) ?? []),
|
|
294
|
+
...(ir?.superficies.map((superficie) => `${superficie.tipo}:${superficie.nome}`) ?? []),
|
|
295
|
+
],
|
|
296
|
+
consumerFramework: null,
|
|
297
|
+
appRoutes: [],
|
|
298
|
+
consumerSurfaces: [],
|
|
299
|
+
consumerBridges: [],
|
|
300
|
+
ancoragensVinculo: [],
|
|
301
|
+
testesMinimos: [
|
|
302
|
+
"sema validar <arquivo> --json",
|
|
303
|
+
"sema drift <arquivo> --cache fresh --json",
|
|
304
|
+
],
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
const ANALISE_DRIFT_PADRAO_CONTEXTO = {
|
|
308
|
+
modo: "fresh",
|
|
309
|
+
executar: true,
|
|
310
|
+
avisos: [],
|
|
311
|
+
};
|
|
312
|
+
export async function carregarContextoModuloIa(arquivoEntrada, analiseDrift = ANALISE_DRIFT_PADRAO_CONTEXTO) {
|
|
258
313
|
const arquivo = path.resolve(arquivoEntrada);
|
|
259
314
|
garantirArquivoSema(arquivo);
|
|
260
|
-
const
|
|
261
|
-
|
|
315
|
+
const contextoProjeto = await carregarProjeto(arquivo, process.cwd(), {
|
|
316
|
+
escopo: "modulo",
|
|
317
|
+
adiarDescobertaCodigo: true,
|
|
318
|
+
});
|
|
262
319
|
const resultadoModulo = contextoProjeto.modulosSelecionados.find((item) => path.resolve(item.caminho) === arquivo)?.resultado;
|
|
263
320
|
if (!resultadoModulo) {
|
|
264
321
|
falharContextoIa(`Nao foi possivel encontrar o modulo correspondente ao arquivo ${arquivo}.`);
|
|
@@ -266,20 +323,27 @@ export async function carregarContextoModuloIa(arquivoEntrada, args = [], modoDr
|
|
|
266
323
|
const sucesso = !temErros(resultadoModulo.diagnosticos);
|
|
267
324
|
const modulo = resultadoModulo.modulo?.nome ?? path.basename(arquivo, ".sema");
|
|
268
325
|
const geradoEm = new Date().toISOString();
|
|
269
|
-
const resultadoDrift = analiseDrift.
|
|
270
|
-
?
|
|
271
|
-
|
|
326
|
+
const resultadoDrift = analiseDrift.executar
|
|
327
|
+
? await analisarDriftLegado(contextoProjeto, {
|
|
328
|
+
escopo: "modulo",
|
|
329
|
+
modoCache: analiseDrift.modo,
|
|
330
|
+
avisosModoCache: analiseDrift.avisos,
|
|
331
|
+
})
|
|
332
|
+
: null;
|
|
333
|
+
const resumoDrift = resultadoDrift
|
|
334
|
+
? resumirDriftPorModulo(resultadoModulo.modulo?.nome ?? null, arquivo, resultadoDrift)
|
|
335
|
+
: null;
|
|
272
336
|
const drift = {
|
|
273
337
|
comando: "drift",
|
|
274
338
|
caminho: arquivo,
|
|
275
339
|
modulo: resultadoModulo.modulo?.nome ?? null,
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
aviso: analiseDrift.
|
|
280
|
-
?
|
|
281
|
-
:
|
|
282
|
-
resumo:
|
|
340
|
+
modo: analiseDrift.modo,
|
|
341
|
+
executada: analiseDrift.executar,
|
|
342
|
+
sucesso: resultadoDrift?.sucesso ?? null,
|
|
343
|
+
aviso: analiseDrift.executar
|
|
344
|
+
? null
|
|
345
|
+
: "Análise de drift não executada; implementação, vínculos e rotas não foram verificados.",
|
|
346
|
+
resumo: resumoDrift,
|
|
283
347
|
drift: resultadoDrift,
|
|
284
348
|
};
|
|
285
349
|
const validar = {
|
|
@@ -316,7 +380,9 @@ export async function carregarContextoModuloIa(arquivoEntrada, args = [], modoDr
|
|
|
316
380
|
diagnosticos: resultadoModulo.diagnosticos,
|
|
317
381
|
ir: resultadoModulo.ir ?? null,
|
|
318
382
|
};
|
|
319
|
-
const briefing =
|
|
383
|
+
const briefing = resultadoDrift && resumoDrift
|
|
384
|
+
? criarBriefingAgente(arquivo, modulo, resultadoModulo.ir ?? null, resumoDrift, resultadoDrift)
|
|
385
|
+
: criarBriefingAgenteContratos(arquivo, modulo, resultadoModulo.ir ?? null);
|
|
320
386
|
return {
|
|
321
387
|
arquivo,
|
|
322
388
|
modulo,
|
|
@@ -330,8 +396,6 @@ export async function carregarContextoModuloIa(arquivoEntrada, args = [], modoDr
|
|
|
330
396
|
irJson: ir,
|
|
331
397
|
drift,
|
|
332
398
|
briefing,
|
|
333
|
-
modoVerificacaoCodigo: analiseDrift.modo === "none" ? "contratos_apenas" : undefined,
|
|
334
|
-
fontesConclusao: analiseDrift.modo === "none" ? ["contrato"] : undefined,
|
|
335
399
|
};
|
|
336
400
|
}
|
|
337
401
|
export const ARQUIVOS_RESUMO_MODULO_IA = [
|
package/dist/index.part04.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type GuiaCapacidadeIaMap } from './agentContextTipos.js';
|
|
2
|
-
import { ContextoIaGerado, ResumoSemanticoModuloIa, type
|
|
2
|
+
import { ContextoIaGerado, ResumoSemanticoModuloIa, type ResultadoDriftIa } from "./index.part01.js";
|
|
3
|
+
import type { ResolucaoModoCacheDrift } from "./driftCacheModes.js";
|
|
3
4
|
export declare const ARQUIVOS_RESUMO_PROJETO_IA: readonly ["SEMA_BOOT.md", "SEMA_SMALL_MODEL.md", "SEMA_BRIEF.md", "SEMA_BRIEF.micro.txt", "SEMA_BRIEF.curto.txt", "SEMA_INDEX.json", "AGENT_CONTEXT_PACK.json", "docs/ai-integration.md"];
|
|
4
|
-
export declare function gerarResumoProjetoIa(entrada: string | undefined, pastaSaidaOpcional?: string, escreverNaRaiz?: boolean,
|
|
5
|
+
export declare function gerarResumoProjetoIa(entrada: string | undefined, pastaSaidaOpcional?: string, escreverNaRaiz?: boolean, analiseDrift?: ResolucaoModoCacheDrift): Promise<{
|
|
5
6
|
geradoEm: string;
|
|
6
7
|
baseProjeto: string;
|
|
7
8
|
pastaSaida: string;
|
|
@@ -9,6 +10,13 @@ export declare function gerarResumoProjetoIa(entrada: string | undefined, pastaS
|
|
|
9
10
|
artefatos: string[];
|
|
10
11
|
modulos: ResumoSemanticoModuloIa[];
|
|
11
12
|
guiaPorCapacidade: GuiaCapacidadeIaMap;
|
|
13
|
+
analiseDrift: {
|
|
14
|
+
modo: ResolucaoModoCacheDrift["modo"];
|
|
15
|
+
executada: boolean;
|
|
16
|
+
sucesso: boolean | null;
|
|
17
|
+
aviso: string | null;
|
|
18
|
+
cache: ResultadoDriftIa["escopo_aplicado"]["cache"] | null;
|
|
19
|
+
};
|
|
12
20
|
}>;
|
|
13
21
|
export declare function gerarContextoIa(arquivoEntrada: string, pastaSaidaOpcional?: string): Promise<ContextoIaGerado>;
|
|
14
22
|
export declare function resolverEntradaDocs(posicionais: string[], args: string[]): {
|