@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SEMA-GOVERNED: sema.produto.governanca_ia.drift
|
|
2
|
-
// Descricao: extrai superficies Angular
|
|
2
|
+
// Descricao: extrai superficies Angular com leitura compartilhada opcional, sem manter cache proprio.
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import ts from "typescript";
|
package/dist/bin.d.ts
ADDED
package/dist/bin.js
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// SEMA-GOVERNED: sema.produto.cli_invocacao_publica, sema.produto.cli_invocacao_publica.resultados, sema.produto.cli_invocacao_publica.handlers, sema.produto.distribuicao_global
|
|
3
|
+
// Descrição: bootstrap executável puro; ajuda e versão encerram antes do runtime operacional.
|
|
4
|
+
import pacoteCli from "../package.json" with { type: "json" };
|
|
5
|
+
import { spawnSync } from "node:child_process";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { ehCliControlError } from "./cliControlError.js";
|
|
8
|
+
import { validarSintaxeInvocacaoPublica } from "./cliGrammar.js";
|
|
9
|
+
import { detectarHelpAntesDispatch } from "./cliHelp.js";
|
|
10
|
+
import { criarAjudaRaiz } from "./cliHelpTexto.js";
|
|
11
|
+
import { criarAjudaPipelineConteudo } from "./pipelineConteudo/help.js";
|
|
12
|
+
import { CODIGO_SAIDA_FATAL_RUNTIME_CLI, criarEnvelopeControleJsonV1, emitirResultadoCliJsonV1, executarInvocacaoPublica, } from "./saidaCli.js";
|
|
13
|
+
const FLAGS_VERSAO = new Set(["--versao", "--version", "-v"]);
|
|
14
|
+
const CAMINHO_RUNTIME_CLI = fileURLToPath(new URL("./cliRuntime.js", import.meta.url));
|
|
15
|
+
const LIMITE_BUFFER_RUNTIME_JSON = 16 * 1024 * 1024;
|
|
16
|
+
function executarRuntimeJsonCapturado(argv) {
|
|
17
|
+
const execucao = spawnSync(process.execPath, [CAMINHO_RUNTIME_CLI, ...argv], {
|
|
18
|
+
cwd: process.cwd(),
|
|
19
|
+
env: process.env,
|
|
20
|
+
encoding: "utf8",
|
|
21
|
+
maxBuffer: LIMITE_BUFFER_RUNTIME_JSON,
|
|
22
|
+
shell: false,
|
|
23
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
24
|
+
windowsHide: true,
|
|
25
|
+
});
|
|
26
|
+
if (execucao.error
|
|
27
|
+
|| execucao.signal !== null
|
|
28
|
+
|| execucao.status === null
|
|
29
|
+
|| execucao.status === CODIGO_SAIDA_FATAL_RUNTIME_CLI) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
codigoSaida: execucao.status,
|
|
34
|
+
stdout: execucao.stdout ?? "",
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function mensagemAjudaPublica(argv) {
|
|
38
|
+
if (argv[0] === "conteudo") {
|
|
39
|
+
const ajudaConteudo = criarAjudaPipelineConteudo();
|
|
40
|
+
if (typeof ajudaConteudo.mensagem === "string") {
|
|
41
|
+
return ajudaConteudo.mensagem;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return criarAjudaRaiz(pacoteCli.version);
|
|
45
|
+
}
|
|
46
|
+
function emitirAjuda(argv, modoJson) {
|
|
47
|
+
const mensagemTexto = mensagemAjudaPublica(argv);
|
|
48
|
+
const relatorio = executarInvocacaoPublica({
|
|
49
|
+
resultado: "HELP",
|
|
50
|
+
modoJson,
|
|
51
|
+
mensagemTexto,
|
|
52
|
+
envelopeControle: modoJson
|
|
53
|
+
? criarEnvelopeControleJsonV1({
|
|
54
|
+
categoria: "HELP",
|
|
55
|
+
codigoPublico: "CLI_HELP",
|
|
56
|
+
mensagemPublica: argv[0] === "conteudo" ? mensagemTexto : "Sema CLI help",
|
|
57
|
+
codigoSaida: 0,
|
|
58
|
+
})
|
|
59
|
+
: undefined,
|
|
60
|
+
});
|
|
61
|
+
return relatorio.codigoSaida;
|
|
62
|
+
}
|
|
63
|
+
function emitirFalhaControle(argv, categoria, codigoPublico, mensagemPublica, codigoSaida) {
|
|
64
|
+
const modoJson = argv.includes("--json");
|
|
65
|
+
const relatorio = executarInvocacaoPublica({
|
|
66
|
+
resultado: categoria,
|
|
67
|
+
modoJson,
|
|
68
|
+
mensagemTexto: mensagemPublica,
|
|
69
|
+
envelopeControle: modoJson
|
|
70
|
+
? criarEnvelopeControleJsonV1({
|
|
71
|
+
categoria,
|
|
72
|
+
codigoPublico,
|
|
73
|
+
mensagemPublica,
|
|
74
|
+
codigoSaida,
|
|
75
|
+
})
|
|
76
|
+
: undefined,
|
|
77
|
+
});
|
|
78
|
+
if (!modoJson && categoria === "UNKNOWN_COMMAND") {
|
|
79
|
+
console.log(criarAjudaRaiz(pacoteCli.version));
|
|
80
|
+
}
|
|
81
|
+
return relatorio.codigoSaida;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Única entrada executável pública. O import do runtime ocorre somente depois
|
|
85
|
+
* de ajuda, argv vazio e versão encerrarem sem resolver handlers.
|
|
86
|
+
*/
|
|
87
|
+
export async function executarCliPublica(argv = process.argv.slice(2)) {
|
|
88
|
+
if (argv.length === 0) {
|
|
89
|
+
return emitirAjuda(argv, false);
|
|
90
|
+
}
|
|
91
|
+
const deteccaoHelp = detectarHelpAntesDispatch(argv);
|
|
92
|
+
if (deteccaoHelp.ajudaSolicitada) {
|
|
93
|
+
return emitirAjuda(argv, deteccaoHelp.modoJson);
|
|
94
|
+
}
|
|
95
|
+
if (FLAGS_VERSAO.has(argv[0])) {
|
|
96
|
+
console.log(pacoteCli.version);
|
|
97
|
+
return 0;
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
const sintaxe = validarSintaxeInvocacaoPublica(argv);
|
|
101
|
+
if (!sintaxe.dispatchPermitido)
|
|
102
|
+
return 0;
|
|
103
|
+
if (argv.includes("--json")) {
|
|
104
|
+
const execucao = executarRuntimeJsonCapturado(argv);
|
|
105
|
+
if (!execucao) {
|
|
106
|
+
return emitirFalhaControle(argv, "FATAL_ERROR", "CLI_FATAL_ERROR", "Falha ao executar a CLI da Sema.", 1);
|
|
107
|
+
}
|
|
108
|
+
return emitirResultadoCliJsonV1({
|
|
109
|
+
comando: sintaxe.comando,
|
|
110
|
+
codigoSaida: execucao.codigoSaida,
|
|
111
|
+
stdout: execucao.stdout,
|
|
112
|
+
}).exitCode;
|
|
113
|
+
}
|
|
114
|
+
const { principal } = await import("./index.part08.js");
|
|
115
|
+
return await principal();
|
|
116
|
+
}
|
|
117
|
+
catch (erro) {
|
|
118
|
+
if (ehCliControlError(erro)) {
|
|
119
|
+
return emitirFalhaControle(argv, erro.categoria, erro.codigoPublico, erro.mensagemPublica, erro.codigoSaida);
|
|
120
|
+
}
|
|
121
|
+
return emitirFalhaControle(argv, "FATAL_ERROR", "CLI_FATAL_ERROR", "Falha ao executar a CLI da Sema.", 1);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
void executarCliPublica().then((codigoSaida) => {
|
|
125
|
+
process.exitCode = codigoSaida;
|
|
126
|
+
}, () => {
|
|
127
|
+
console.error("Falha ao executar a CLI da Sema.");
|
|
128
|
+
process.exitCode = 1;
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/cliArgs.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
// SEMA-GOVERNED
|
|
2
|
-
//
|
|
3
|
-
// Contrato: contratos/sema/orcamento_semantico.sema
|
|
4
|
-
// Descri??o: parse comum de argumentos e flags da CLI.
|
|
1
|
+
// SEMA-GOVERNED: sema.produto.orcamento_semantico, sema.produto.governanca_ia.drift.cache.modos
|
|
2
|
+
// Descrição: classifica flags públicas da CLI sem perder os modos explícitos de drift.
|
|
5
3
|
export function obterOpcao(args, nome, padrao) {
|
|
6
4
|
const nomes = [nome, ...Object.entries(ALIAS_OPCOES).filter(([, v]) => v === nome).map(([k]) => k)];
|
|
7
5
|
for (const n of nomes) {
|
|
@@ -28,6 +26,8 @@ export const OPCOES_COM_VALOR = new Set([
|
|
|
28
26
|
"--template",
|
|
29
27
|
"--alvo", "-a",
|
|
30
28
|
"--escopo",
|
|
29
|
+
"--cache",
|
|
30
|
+
"--drift",
|
|
31
31
|
"--saida", "-s",
|
|
32
32
|
"--estrutura",
|
|
33
33
|
"--framework",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type CategoriaFalhaControleCli = "UNKNOWN_COMMAND" | "ARGUMENT_ERROR" | "FATAL_ERROR";
|
|
2
|
+
export declare class CliControlError extends Error {
|
|
3
|
+
readonly categoria: CategoriaFalhaControleCli;
|
|
4
|
+
readonly codigoPublico: string;
|
|
5
|
+
readonly mensagemPublica: string;
|
|
6
|
+
readonly codigoSaida: number;
|
|
7
|
+
constructor(categoria: CategoriaFalhaControleCli);
|
|
8
|
+
}
|
|
9
|
+
export declare function erroComandoDesconhecido(): CliControlError;
|
|
10
|
+
export declare function erroArgumentoInvalido(): CliControlError;
|
|
11
|
+
export declare function erroFatalCli(): CliControlError;
|
|
12
|
+
export declare function ehCliControlError(valor: unknown): valor is CliControlError;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// SEMA-GOVERNED: sema.produto.cli_invocacao_publica.argumentos
|
|
2
|
+
// Descrição: representa falhas públicas de controle sem carregar argv, stack ou caminhos na mensagem.
|
|
3
|
+
const DEFINICOES_FALHA_CONTROLE = Object.freeze({
|
|
4
|
+
UNKNOWN_COMMAND: Object.freeze({
|
|
5
|
+
codigoPublico: "CLI_UNKNOWN_COMMAND",
|
|
6
|
+
mensagemPublica: "Comando Sema desconhecido.",
|
|
7
|
+
codigoSaida: 1,
|
|
8
|
+
}),
|
|
9
|
+
ARGUMENT_ERROR: Object.freeze({
|
|
10
|
+
codigoPublico: "CLI_ARGUMENT_ERROR",
|
|
11
|
+
mensagemPublica: "Argumentos inválidos. Consulte a ajuda do comando.",
|
|
12
|
+
codigoSaida: 1,
|
|
13
|
+
}),
|
|
14
|
+
FATAL_ERROR: Object.freeze({
|
|
15
|
+
codigoPublico: "CLI_FATAL_ERROR",
|
|
16
|
+
mensagemPublica: "Falha ao executar a CLI da Sema.",
|
|
17
|
+
codigoSaida: 1,
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
export class CliControlError extends Error {
|
|
21
|
+
categoria;
|
|
22
|
+
codigoPublico;
|
|
23
|
+
mensagemPublica;
|
|
24
|
+
codigoSaida;
|
|
25
|
+
constructor(categoria) {
|
|
26
|
+
const definicao = DEFINICOES_FALHA_CONTROLE[categoria];
|
|
27
|
+
super(definicao.mensagemPublica);
|
|
28
|
+
this.name = "CliControlError";
|
|
29
|
+
this.categoria = categoria;
|
|
30
|
+
this.codigoPublico = definicao.codigoPublico;
|
|
31
|
+
this.mensagemPublica = definicao.mensagemPublica;
|
|
32
|
+
this.codigoSaida = definicao.codigoSaida;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function erroComandoDesconhecido() {
|
|
36
|
+
return new CliControlError("UNKNOWN_COMMAND");
|
|
37
|
+
}
|
|
38
|
+
export function erroArgumentoInvalido() {
|
|
39
|
+
return new CliControlError("ARGUMENT_ERROR");
|
|
40
|
+
}
|
|
41
|
+
export function erroFatalCli() {
|
|
42
|
+
return new CliControlError("FATAL_ERROR");
|
|
43
|
+
}
|
|
44
|
+
export function ehCliControlError(valor) {
|
|
45
|
+
return valor instanceof CliControlError;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=cliControlError.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CategoriaFalhaControleCli } from "./cliControlError.js";
|
|
2
|
+
export interface ResultadoSintaxeInvocacaoPublica {
|
|
3
|
+
readonly comando: string;
|
|
4
|
+
readonly sintaxeValida: true;
|
|
5
|
+
readonly dispatchPermitido: boolean;
|
|
6
|
+
readonly handlerResolvido: false;
|
|
7
|
+
readonly efeitosPermitidos: boolean;
|
|
8
|
+
readonly categoriaFalha: CategoriaFalhaControleCli | null;
|
|
9
|
+
readonly codigoPublico: string | null;
|
|
10
|
+
}
|
|
11
|
+
export declare function validarSintaxeInvocacaoPublica(argv: readonly string[]): ResultadoSintaxeInvocacaoPublica;
|