@semacode/cli 2.3.0 → 2.3.1
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/LICENSE +39 -39
- package/README.md +251 -228
- package/dist/agentEntryPoints.js +551 -550
- package/dist/angular-consumer-standalone.d.ts +3 -1
- package/dist/angular-consumer-standalone.js +12 -8
- package/dist/drift.part01.d.ts +32 -2
- package/dist/drift.part01.js +2 -0
- package/dist/drift.part04.d.ts +3 -2
- package/dist/drift.part04.js +6 -3
- package/dist/drift.part05.d.ts +2 -1
- package/dist/drift.part05.js +4 -3
- package/dist/drift.part06.d.ts +2 -1
- package/dist/drift.part06.js +9 -5
- package/dist/drift.part07.d.ts +11 -10
- package/dist/drift.part07.js +40 -30
- package/dist/drift.part08.d.ts +2 -1
- package/dist/drift.part08.js +4 -3
- package/dist/drift.part11.js +71 -6
- package/dist/drift.part12.js +14 -1
- package/dist/drift.part13.d.ts +42 -7
- package/dist/drift.part13.js +660 -36
- package/dist/driftCache.d.ts +49 -0
- package/dist/driftCache.js +311 -0
- package/dist/driftCacheIncremental.d.ts +98 -0
- package/dist/driftCacheIncremental.js +596 -0
- package/dist/driftCatalogo.d.ts +91 -0
- package/dist/driftCatalogo.js +657 -0
- package/dist/driftCatalogoPersistente.d.ts +8 -0
- package/dist/driftCatalogoPersistente.js +77 -0
- package/dist/driftEscopo.d.ts +23 -0
- package/dist/driftEscopo.js +563 -0
- package/dist/driftEscopoReferencias.d.ts +4 -0
- package/dist/driftEscopoReferencias.js +265 -0
- package/dist/driftOrcamento.d.ts +12 -0
- package/dist/driftOrcamento.js +19 -3
- package/dist/execucoesExternas.js +5 -19
- package/dist/iaPrompts.js +310 -310
- package/dist/index.part01.d.ts +16 -1
- package/dist/index.part01.js +80 -4
- package/dist/index.part02.js +21 -21
- package/dist/index.part03.d.ts +2 -2
- package/dist/index.part03.js +14 -3
- package/dist/index.part04.d.ts +2 -2
- package/dist/index.part04.js +113 -101
- package/dist/index.part05.d.ts +1 -1
- package/dist/index.part05.js +99 -22
- package/dist/index.part06.js +3 -2
- package/dist/index.part07.js +24 -24
- package/dist/index.part08.js +1 -1
- package/dist/init/templates.part01.js +393 -393
- package/dist/init/templates.part02.js +189 -189
- package/dist/initTemplatesBackend.js +73 -73
- package/dist/initTemplatesBase.js +81 -81
- package/dist/initTemplatesFlutter.js +137 -137
- package/dist/initTemplatesRuntime.js +350 -350
- package/dist/initTemplatesWeb.js +309 -309
- package/dist/pipelineConteudo/command.js +1 -36
- package/dist/projeto.d.ts +1 -1
- package/dist/projetoCarregar.d.ts +2 -2
- package/dist/projetoCarregar.js +47 -24
- package/dist/projetoCatalogo.d.ts +7 -0
- package/dist/projetoCatalogo.js +125 -0
- package/dist/projetoTipos.d.ts +14 -5
- package/dist/sync/index.js +35 -35
- package/docs/README.md +34 -34
- package/docs/ai-integration.md +1 -7
- package/docs/ai-onboarding.md +62 -62
- package/docs/ai-workflow.md +4 -0
- package/docs/auth.md +26 -26
- package/docs/cli.md +79 -79
- package/docs/commands.md +16 -13
- package/docs/database.md +15 -15
- package/docs/deploy.md +41 -41
- package/docs/descoberta-capacidades.md +106 -106
- package/docs/documentation.md +37 -46
- package/docs/env.md +16 -16
- package/docs/frontend.md +41 -41
- package/docs/getting-started.md +57 -57
- package/docs/i18n.md +15 -15
- package/docs/pipeline-conteudo.md +246 -246
- package/docs/profiles.md +54 -54
- package/docs/repositories.md +43 -43
- package/docs/rollback.md +31 -31
- package/docs/security.md +32 -32
- package/docs/sistemas-interativos.md +373 -378
- package/docs/support.md +8 -8
- package/docs/testing.md +51 -44
- package/docs/vocabulary.md +29 -29
- 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 -132
- package/exemplos/operacao_estrategia_discovery.sema +220 -220
- package/exemplos/operacao_estrategia_fluxo.sema +114 -114
- package/exemplos/operacao_estrategia_gates.sema +106 -106
- package/exemplos/operacao_estrategia_quarentena.sema +133 -133
- package/exemplos/operacao_estrategia_rollout.sema +124 -124
- 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/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_conversas.sema +165 -165
- 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_simulation.sema +211 -211
- 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/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/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/node_modules/@sema/gerador-cpp/dist/index.js +176 -176
- package/node_modules/@sema/gerador-cpp/package.json +1 -1
- package/node_modules/@sema/gerador-css/dist/index.part01.js +10 -10
- package/node_modules/@sema/gerador-css/dist/index.part02.js +460 -460
- package/node_modules/@sema/gerador-dotnet/dist/index.js +169 -169
- package/node_modules/@sema/gerador-dotnet/package.json +1 -1
- package/node_modules/@sema/gerador-html/dist/index.js +17 -17
- 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/gerador-python/dist/index.part02.js +3 -3
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js +11 -11
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +42 -42
- package/package.json +3 -3
package/dist/drift.part11.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SEMA-GOVERNED: sema.governanca_ia_contexto
|
|
2
2
|
// Descricao: CLI particionada; consulte contratos/sema/governanca_ia_contexto.sema antes de editar.
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { emitirDiagnosticosArquivosOrcamento } from "./driftOrcamento.js";
|
|
4
|
+
import { emitirDiagnosticosArquivosOrcamento, workspaceExigeCabecalhoCodigoGovernado, } from "./driftOrcamento.js";
|
|
5
5
|
import { definirDiretoriosIgnoradosAtivos, obterDiretoriosIgnoradosAtivos, extrairTermosEscopoDrift, resolverDiretoriosIgnoradosAtivos, resolverOpcoesDrift } from "./drift.part01.js";
|
|
6
6
|
import { construirContextoRelevanciaConsumer, filtrarConsumerSurfacesPorEscopo } from "./drift.part02.js";
|
|
7
7
|
import { inferirConsumerFrameworkPrincipal } from "./drift.part06.js";
|
|
@@ -22,7 +22,25 @@ export async function analisarDriftLegado(contexto, opcoes) {
|
|
|
22
22
|
const diretoriosIgnoradosAnteriores = obterDiretoriosIgnoradosAtivos();
|
|
23
23
|
definirDiretoriosIgnoradosAtivos(resolverDiretoriosIgnoradosAtivos(opcoesResolvidas));
|
|
24
24
|
try {
|
|
25
|
-
const
|
|
25
|
+
const indicesPreparados = await prepararIndicesDrift(contexto, configuracaoEscopo, {
|
|
26
|
+
politicaCache: opcoesResolvidas.cache,
|
|
27
|
+
observador: opcoesResolvidas.observador,
|
|
28
|
+
});
|
|
29
|
+
const { arquivosOrcamentoAvaliados, detalhesPersistencia, diagnosticosOrcamento: diagnosticosOrcamentoPrecalculados, indexDart, indexTs, mapaImpl, mapaRecursos, todasRotasIndexadas, todosArquivosConhecidos, todosRecursos, todosSimbolos, planoEscopo, cache: estadoCache, catalogo: metricasCatalogo, } = indicesPreparados;
|
|
30
|
+
const leitorArquivosPlanejados = indicesPreparados.leitorArquivosPlanejados;
|
|
31
|
+
const relativoEscopo = (arquivo) => {
|
|
32
|
+
const relativo = path.relative(contexto.baseProjeto, arquivo).replace(/\\/g, "/");
|
|
33
|
+
return relativo && !relativo.startsWith("../") ? relativo : arquivo.replace(/\\/g, "/");
|
|
34
|
+
};
|
|
35
|
+
configuracaoEscopo.estrategia = planoEscopo.estrategia;
|
|
36
|
+
configuracaoEscopo.cobertura = planoEscopo.cobertura;
|
|
37
|
+
configuracaoEscopo.arquivosPlanejados = planoEscopo.arquivos.map(relativoEscopo);
|
|
38
|
+
configuracaoEscopo.arquivosDeclarados = planoEscopo.arquivosDeclarados.map(relativoEscopo);
|
|
39
|
+
configuracaoEscopo.arquivosInferidos = planoEscopo.arquivosInferidos.map(relativoEscopo);
|
|
40
|
+
configuracaoEscopo.arquivosAusentes = planoEscopo.arquivosAusentes.map(relativoEscopo);
|
|
41
|
+
configuracaoEscopo.bloqueios = [...planoEscopo.bloqueios];
|
|
42
|
+
configuracaoEscopo.cache = estadoCache;
|
|
43
|
+
configuracaoEscopo.catalogo = metricasCatalogo;
|
|
26
44
|
const implsValidos = [];
|
|
27
45
|
const implsQuebrados = [];
|
|
28
46
|
const vinculosValidos = [];
|
|
@@ -31,6 +49,14 @@ export async function analisarDriftLegado(contexto, opcoes) {
|
|
|
31
49
|
const recursosValidos = [];
|
|
32
50
|
const recursosDivergentes = [];
|
|
33
51
|
const diagnosticos = [];
|
|
52
|
+
if (planoEscopo.bloqueios.includes("escopo_estreito_sem_vinculos")) {
|
|
53
|
+
diagnosticos.push({
|
|
54
|
+
tipo: "escopo_estreito_sem_vinculos",
|
|
55
|
+
modulo: contexto.modulosSelecionados[0]?.resultado.ir?.nome ?? "projeto",
|
|
56
|
+
severidade: "erro",
|
|
57
|
+
mensagem: "Escopo arquivo/modulo sem arquivo vinculado ou implementação resolvível. Declare vinculos { arquivo: ... } ou execute explicitamente com --escopo projeto.",
|
|
58
|
+
});
|
|
59
|
+
}
|
|
34
60
|
const tasksResumo = [];
|
|
35
61
|
const taskPorChave = new Map();
|
|
36
62
|
const guardrailsPorTask = new Map();
|
|
@@ -249,13 +275,51 @@ export async function analisarDriftLegado(contexto, opcoes) {
|
|
|
249
275
|
const moduloOrcamento = contexto.modulosSelecionados[0]?.resultado.ir?.nome
|
|
250
276
|
?? contexto.modulosSelecionados[0]?.resultado.modulo?.nome
|
|
251
277
|
?? "projeto";
|
|
252
|
-
const exigeCabecalhoCodigoGovernado = contexto.configCarregada?.config.modoEstrito === true
|
|
253
|
-
|
|
254
|
-
|
|
278
|
+
const exigeCabecalhoCodigoGovernado = await workspaceExigeCabecalhoCodigoGovernado(contexto.baseProjeto, contexto.configCarregada?.config.modoEstrito === true);
|
|
279
|
+
const chaveArquivoOrcamento = (arquivo) => {
|
|
280
|
+
const absoluto = path.resolve(contexto.baseProjeto, arquivo);
|
|
281
|
+
return process.platform === "win32" ? absoluto.toLowerCase() : absoluto;
|
|
282
|
+
};
|
|
283
|
+
const contratosJaCarregados = new Map(contexto.modulosCarregados.map((modulo) => [
|
|
284
|
+
chaveArquivoOrcamento(modulo.caminho),
|
|
285
|
+
modulo.codigo,
|
|
286
|
+
]));
|
|
287
|
+
const arquivosPlanejados = new Set((planoEscopo.estrategia === "projeto"
|
|
288
|
+
? todosArquivosConhecidos
|
|
289
|
+
: planoEscopo.arquivos).map(chaveArquivoOrcamento));
|
|
290
|
+
const arquivosAvaliados = new Set(arquivosOrcamentoAvaliados.map(chaveArquivoOrcamento));
|
|
291
|
+
const arquivosSolicitadosOrcamento = new Set([...arquivosOrcamento].map(chaveArquivoOrcamento));
|
|
292
|
+
const leitorArquivosOrcamento = {
|
|
293
|
+
contem: (arquivo) => {
|
|
294
|
+
const chave = chaveArquivoOrcamento(arquivo);
|
|
295
|
+
if (contratosJaCarregados.has(chave)) {
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
return arquivosPlanejados.has(chave)
|
|
299
|
+
&& leitorArquivosPlanejados?.contem(arquivo) === true;
|
|
300
|
+
},
|
|
301
|
+
lerTexto: async (arquivo) => {
|
|
302
|
+
const chave = chaveArquivoOrcamento(arquivo);
|
|
303
|
+
const contrato = contratosJaCarregados.get(chave);
|
|
304
|
+
if (contrato !== undefined) {
|
|
305
|
+
return contrato;
|
|
306
|
+
}
|
|
307
|
+
if (!arquivosPlanejados.has(chave) || !leitorArquivosPlanejados?.contem(arquivo)) {
|
|
308
|
+
throw new Error(`Arquivo fora do catalogo planejado do drift: ${arquivo}`);
|
|
309
|
+
}
|
|
310
|
+
return leitorArquivosPlanejados.lerTexto(arquivo);
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
const diagnosticosOrcamentoCalculadosAgora = await emitirDiagnosticosArquivosOrcamento({
|
|
255
314
|
baseProjeto: contexto.baseProjeto,
|
|
256
|
-
arquivos: [...arquivosOrcamento],
|
|
315
|
+
arquivos: [...arquivosOrcamento].filter((arquivo) => !arquivosAvaliados.has(chaveArquivoOrcamento(arquivo))),
|
|
257
316
|
exigirCabecalhoCodigoGovernado: exigeCabecalhoCodigoGovernado,
|
|
317
|
+
leitorArquivos: leitorArquivosOrcamento,
|
|
258
318
|
});
|
|
319
|
+
const diagnosticosOrcamento = [
|
|
320
|
+
...diagnosticosOrcamentoPrecalculados.filter((diagnostico) => arquivosSolicitadosOrcamento.has(chaveArquivoOrcamento(diagnostico.arquivo))),
|
|
321
|
+
...diagnosticosOrcamentoCalculadosAgora,
|
|
322
|
+
];
|
|
259
323
|
for (const diagnostico of diagnosticosOrcamento) {
|
|
260
324
|
diagnosticos.push({
|
|
261
325
|
tipo: diagnostico.tipo,
|
|
@@ -274,6 +338,7 @@ export async function analisarDriftLegado(contexto, opcoes) {
|
|
|
274
338
|
&& recursosDivergentes.length === 0
|
|
275
339
|
&& vinculosQuebrados.length === 0
|
|
276
340
|
&& persistenciaReal.every((item) => item.status !== "divergente" && item.compatibilidade !== "invalido")
|
|
341
|
+
&& planoEscopo.bloqueios.length === 0
|
|
277
342
|
&& !possuiBloqueioOrcamento;
|
|
278
343
|
const payloadBase = {
|
|
279
344
|
comando: "drift",
|
package/dist/drift.part12.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { listarArquivosRecursivos, paraIdentificadorModulo } from "./drift.part04.js";
|
|
6
|
-
import { definirDiretoriosIgnoradosAtivos, obterDiretoriosIgnoradosAtivos, normalizarFragmentoArquivo, quebrarTermosEscopo, resolverDiretoriosIgnoradosAtivos, resolverOpcoesDrift } from "./drift.part01.js";
|
|
6
|
+
import { definirDiretoriosIgnoradosAtivos, obterDiretoriosIgnoradosAtivos, normalizarFragmentoArquivo, quebrarTermosEscopo, extrairTermosEscopoDrift, resolverDiretoriosIgnoradosAtivos, resolverOpcoesDrift } from "./drift.part01.js";
|
|
7
7
|
import { filtrarCaminhosEscopoReal, resolverDiretoriosCodigoEscopoReal, textoCombinaEscopo } from "./drift.part02.js";
|
|
8
8
|
import { analisarDriftLegado } from "./drift.part11.js";
|
|
9
|
+
import { planejarEscopoDrift } from "./driftEscopo.js";
|
|
9
10
|
export const EXTENSOES_BUSCA_IMPACTO = [
|
|
10
11
|
".sema",
|
|
11
12
|
".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
|
|
@@ -100,6 +101,18 @@ export function registrarArquivoImpactado(mapa, arquivo, linhas, motivos) {
|
|
|
100
101
|
export async function listarArquivosImpacto(contexto, opcoes) {
|
|
101
102
|
const opcoesResolvidas = resolverOpcoesDrift(opcoes);
|
|
102
103
|
const arquivos = new Set(filtrarCaminhosEscopoReal(contexto.arquivosProjeto, contexto, opcoesResolvidas));
|
|
104
|
+
if (opcoesResolvidas.escopo !== "projeto") {
|
|
105
|
+
const plano = await planejarEscopoDrift(contexto, {
|
|
106
|
+
escopo: opcoesResolvidas.escopo,
|
|
107
|
+
ignorarWorktrees: opcoesResolvidas.ignorarWorktrees,
|
|
108
|
+
ignorarConsumidoresLaterais: opcoesResolvidas.ignorarConsumidoresLaterais,
|
|
109
|
+
termosEscopo: extrairTermosEscopoDrift(contexto, opcoesResolvidas.escopo),
|
|
110
|
+
});
|
|
111
|
+
for (const arquivo of plano.arquivos) {
|
|
112
|
+
arquivos.add(arquivo);
|
|
113
|
+
}
|
|
114
|
+
return [...arquivos].sort((a, b) => a.localeCompare(b, "pt-BR"));
|
|
115
|
+
}
|
|
103
116
|
for (const diretorio of resolverDiretoriosCodigoEscopoReal(contexto, opcoesResolvidas)) {
|
|
104
117
|
for (const arquivo of await listarArquivosRecursivos(diretorio, EXTENSOES_BUSCA_IMPACTO)) {
|
|
105
118
|
arquivos.add(arquivo);
|
package/dist/drift.part13.d.ts
CHANGED
|
@@ -3,15 +3,50 @@ import type { ConfiguracaoEscopoDriftAplicada, RecursoResolvido, RotaResolvida,
|
|
|
3
3
|
import { indexarTypeScript } from "./drift.part06.js";
|
|
4
4
|
import { indexarDart } from "./drift.part07.js";
|
|
5
5
|
import { indexarPersistenciaDetalhada } from "./drift.part08.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
import { type DiagnosticoOrcamentoArquivo } from "./driftOrcamento.js";
|
|
7
|
+
import { type CatalogoDrift, type MetricasCatalogoDrift, type ObservadorOperacaoDrift } from "./driftCatalogo.js";
|
|
8
|
+
import { type PoliticaCacheDrift } from "./driftCache.js";
|
|
9
|
+
import { type MetricasCacheIncrementalDrift } from "./driftCacheIncremental.js";
|
|
10
|
+
import { type PlanoEscopoDrift } from "./driftEscopo.js";
|
|
11
|
+
type IndiceTypeScriptDrift = Awaited<ReturnType<typeof indexarTypeScript>>;
|
|
12
|
+
type IndiceDartDrift = Awaited<ReturnType<typeof indexarDart>>;
|
|
13
|
+
type DetalhesPersistenciaDrift = Awaited<ReturnType<typeof indexarPersistenciaDetalhada>>;
|
|
14
|
+
interface IndicesDriftSerializaveis {
|
|
15
|
+
arquivosOrcamentoAvaliados: string[];
|
|
16
|
+
detalhesPersistencia: DetalhesPersistenciaDrift;
|
|
17
|
+
diagnosticosOrcamento: DiagnosticoOrcamentoArquivo[];
|
|
18
|
+
indexDart: IndiceDartDrift;
|
|
19
|
+
indexTs: IndiceTypeScriptDrift;
|
|
12
20
|
todasRotasIndexadas: RotaResolvida[];
|
|
13
21
|
todosArquivosConhecidos: string[];
|
|
14
22
|
todosRecursos: RecursoResolvido[];
|
|
15
23
|
todosSimbolos: SimboloResolvido[];
|
|
16
24
|
}
|
|
17
|
-
export
|
|
25
|
+
export interface EstadoCacheIndicesDrift {
|
|
26
|
+
politica: PoliticaCacheDrift;
|
|
27
|
+
origem: "cache" | "calculado" | "nao_aplicavel";
|
|
28
|
+
chave?: string;
|
|
29
|
+
incremental?: MetricasCacheIncrementalDrift;
|
|
30
|
+
fasesMs?: {
|
|
31
|
+
planejamento: number;
|
|
32
|
+
catalogacao: number;
|
|
33
|
+
dependencias: number;
|
|
34
|
+
assinaturas: number;
|
|
35
|
+
indexacao: number;
|
|
36
|
+
total: number;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface IndicesDriftPreparados extends IndicesDriftSerializaveis {
|
|
40
|
+
mapaImpl: Map<string, SimboloResolvido>;
|
|
41
|
+
mapaRecursos: Map<string, RecursoResolvido[]>;
|
|
42
|
+
planoEscopo: PlanoEscopoDrift;
|
|
43
|
+
cache: EstadoCacheIndicesDrift;
|
|
44
|
+
catalogo: MetricasCatalogoDrift;
|
|
45
|
+
leitorArquivosPlanejados?: Pick<CatalogoDrift, "contem" | "lerTexto">;
|
|
46
|
+
}
|
|
47
|
+
export interface OpcoesPrepararIndicesDrift {
|
|
48
|
+
politicaCache?: PoliticaCacheDrift;
|
|
49
|
+
observador?: ObservadorOperacaoDrift;
|
|
50
|
+
}
|
|
51
|
+
export declare function prepararIndicesDrift(contexto: ContextoProjetoCarregado, configuracaoEscopo: ConfiguracaoEscopoDriftAplicada, opcoes?: OpcoesPrepararIndicesDrift): Promise<IndicesDriftPreparados>;
|
|
52
|
+
export {};
|