@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.
Files changed (281) hide show
  1. package/README.md +265 -217
  2. package/dist/agentContextPack.js +14 -10
  3. package/dist/agentEntryPoints.d.ts +5 -0
  4. package/dist/agentEntryPoints.js +592 -568
  5. package/dist/angular-consumer-standalone.js +1 -1
  6. package/dist/bin.d.ts +6 -0
  7. package/dist/bin.js +130 -0
  8. package/dist/cliArgs.js +4 -4
  9. package/dist/cliControlError.d.ts +12 -0
  10. package/dist/cliControlError.js +47 -0
  11. package/dist/cliGrammar.d.ts +11 -0
  12. package/dist/cliGrammar.js +551 -0
  13. package/dist/cliHelp.d.ts +13 -0
  14. package/dist/cliHelp.js +19 -0
  15. package/dist/cliHelpTexto.d.ts +3 -0
  16. package/dist/cliHelpTexto.js +168 -0
  17. package/dist/cliRuntime.d.ts +2 -0
  18. package/dist/cliRuntime.js +31 -0
  19. package/dist/comandos.js +9 -22
  20. package/dist/contexto.js +5 -5
  21. package/dist/dev/index.d.ts +1 -0
  22. package/dist/dev/index.js +51 -9
  23. package/dist/discovery/catalog.js +3 -3
  24. package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
  25. package/dist/distribuicao/filesystemGlobal.js +701 -0
  26. package/dist/distribuicao/index.d.ts +7 -0
  27. package/dist/distribuicao/index.js +227 -0
  28. package/dist/distribuicao/launcherGlobal.d.ts +53 -0
  29. package/dist/distribuicao/launcherGlobal.js +643 -0
  30. package/dist/distribuicao/launcherWindows.d.ts +28 -0
  31. package/dist/distribuicao/launcherWindows.js +326 -0
  32. package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
  33. package/dist/distribuicao/lockContextGlobal.js +17 -0
  34. package/dist/distribuicao/lockGlobal.d.ts +6 -0
  35. package/dist/distribuicao/lockGlobal.js +520 -0
  36. package/dist/distribuicao/skillGlobal.d.ts +48 -0
  37. package/dist/distribuicao/skillGlobal.js +652 -0
  38. package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
  39. package/dist/distribuicao/skillIntentPolicy.js +115 -0
  40. package/dist/distribuicao/tipos.d.ts +50 -0
  41. package/dist/distribuicao/tipos.js +10 -0
  42. package/dist/distribuicao/versaoSemantica.d.ts +3 -0
  43. package/dist/distribuicao/versaoSemantica.js +62 -0
  44. package/dist/docs.part01.d.ts +4 -1
  45. package/dist/docs.part01.js +8 -0
  46. package/dist/docs.part02.js +9 -1
  47. package/dist/drift.part01.d.ts +33 -25
  48. package/dist/drift.part01.js +2 -1
  49. package/dist/drift.part04.d.ts +26 -5
  50. package/dist/drift.part04.js +123 -19
  51. package/dist/drift.part05.d.ts +2 -2
  52. package/dist/drift.part05.js +8 -6
  53. package/dist/drift.part06.d.ts +2 -2
  54. package/dist/drift.part06.js +113 -26
  55. package/dist/drift.part07.d.ts +11 -11
  56. package/dist/drift.part07.js +261 -265
  57. package/dist/drift.part08.d.ts +2 -2
  58. package/dist/drift.part08.js +35 -26
  59. package/dist/drift.part09.d.ts +2 -2
  60. package/dist/drift.part09.js +10 -3
  61. package/dist/drift.part11.js +261 -58
  62. package/dist/drift.part12.d.ts +1 -1
  63. package/dist/drift.part12.js +193 -21
  64. package/dist/drift.part13.d.ts +20 -39
  65. package/dist/drift.part13.js +601 -647
  66. package/dist/drift.part14.js +23 -7
  67. package/dist/driftCacheCas.d.ts +43 -0
  68. package/dist/driftCacheCas.js +351 -0
  69. package/dist/driftCacheFilesystem.d.ts +64 -0
  70. package/dist/driftCacheFilesystem.js +313 -0
  71. package/dist/driftCacheModes.d.ts +38 -0
  72. package/dist/driftCacheModes.js +147 -0
  73. package/dist/driftCacheStore.d.ts +80 -0
  74. package/dist/driftCacheStore.js +603 -0
  75. package/dist/driftCatalogo.d.ts +2 -28
  76. package/dist/driftCatalogo.js +143 -284
  77. package/dist/driftEscopo.d.ts +1 -3
  78. package/dist/driftEscopo.js +235 -151
  79. package/dist/driftEscopoReferencias.d.ts +5 -1
  80. package/dist/driftEscopoReferencias.js +375 -28
  81. package/dist/driftOrcamento.d.ts +0 -6
  82. package/dist/driftOrcamento.js +2 -1
  83. package/dist/execucoesExternas.js +19 -5
  84. package/dist/exemplosOficiais.d.ts +2 -1
  85. package/dist/exemplosOficiais.js +9 -3
  86. package/dist/geracaoCore.d.ts +1 -0
  87. package/dist/geracaoCore.js +6 -6
  88. package/dist/iaPrompts.d.ts +3 -3
  89. package/dist/iaPrompts.js +312 -313
  90. package/dist/importador.part01.d.ts +1 -1
  91. package/dist/importador.part06.d.ts +2 -0
  92. package/dist/importador.part06.js +87 -1
  93. package/dist/importador.part09.js +7 -1
  94. package/dist/index.d.ts +4 -1
  95. package/dist/index.js +6 -25
  96. package/dist/index.part01.d.ts +20 -28
  97. package/dist/index.part01.js +16 -237
  98. package/dist/index.part02.js +36 -22
  99. package/dist/index.part03.d.ts +24 -2
  100. package/dist/index.part03.js +83 -19
  101. package/dist/index.part04.d.ts +10 -2
  102. package/dist/index.part04.js +152 -123
  103. package/dist/index.part05.js +80 -78
  104. package/dist/index.part06.js +34 -17
  105. package/dist/index.part07.d.ts +8 -2
  106. package/dist/index.part07.js +153 -7
  107. package/dist/index.part08.d.ts +1 -1
  108. package/dist/index.part08.js +25 -30
  109. package/dist/initCommand.d.ts +1 -0
  110. package/dist/initCommand.js +20 -4
  111. package/dist/initTemplatesBase.js +6 -4
  112. package/dist/pipelineConteudo/command.d.ts +1 -0
  113. package/dist/pipelineConteudo/command.js +9 -2
  114. package/dist/pipelineConteudo/help.d.ts +2 -0
  115. package/dist/pipelineConteudo/help.js +33 -0
  116. package/dist/profileAuthorCommand.js +3 -7
  117. package/dist/profileCommand.js +3 -7
  118. package/dist/projetoCarregar.js +35 -17
  119. package/dist/projetoCatalogo.d.ts +1 -0
  120. package/dist/projetoCatalogo.js +64 -25
  121. package/dist/projetoConfig.js +2 -0
  122. package/dist/projetoLegado.js +18 -0
  123. package/dist/projetoOrigens.d.ts +2 -0
  124. package/dist/projetoOrigens.js +65 -9
  125. package/dist/projetoTipos.d.ts +1 -0
  126. package/dist/resultadoCli.d.ts +20 -0
  127. package/dist/resultadoCli.js +57 -0
  128. package/dist/saidaCli.d.ts +35 -0
  129. package/dist/saidaCli.js +118 -0
  130. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  131. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  132. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  133. package/dist/sistemasInterativos/engineObservation.js +438 -0
  134. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  135. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  136. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  137. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  138. package/dist/sistemasInterativos/operations.d.ts +4 -39
  139. package/dist/sistemasInterativos/operations.js +5 -1164
  140. package/dist/skillCommand.d.ts +5 -0
  141. package/dist/skillCommand.js +88 -0
  142. package/dist/tipos.d.ts +1 -1
  143. package/dist/typescript-http-modelos.d.ts +1 -1
  144. package/dist/typescript-http-rotas.d.ts +1 -0
  145. package/dist/typescript-http-rotas.js +93 -0
  146. package/dist/typescript-http.d.ts +1 -1
  147. package/dist/typescript-http.js +1 -1
  148. package/dist/verificacaoCache.d.ts +25 -0
  149. package/dist/verificacaoCache.js +80 -0
  150. package/docs/README.md +34 -30
  151. package/docs/ai-integration.md +25 -12
  152. package/docs/ai-onboarding.md +37 -18
  153. package/docs/ai-workflow.md +9 -7
  154. package/docs/cli.md +125 -7
  155. package/docs/commands.md +41 -20
  156. package/docs/deploy.md +21 -8
  157. package/docs/descoberta-capacidades.md +106 -106
  158. package/docs/documentation.md +49 -39
  159. package/docs/drift-cache.md +108 -0
  160. package/docs/getting-started.md +43 -18
  161. package/docs/pipeline-conteudo.md +246 -246
  162. package/docs/profiles.md +54 -54
  163. package/docs/repositories.md +19 -2
  164. package/docs/rollback.md +15 -8
  165. package/docs/security.md +25 -3
  166. package/docs/sistemas-interativos.md +379 -374
  167. package/docs/syntax.md +14 -0
  168. package/docs/testing.md +139 -40
  169. package/exemplos/express_crud.sema +139 -0
  170. package/exemplos/fastify_crud.sema +146 -0
  171. package/exemplos/pipeline-conteudo/README.md +44 -44
  172. package/exemplos/pipeline-conteudo/alvos.json +23 -23
  173. package/exemplos/pipeline-conteudo/definicao.json +136 -136
  174. package/exemplos/profile_simulation.sema +211 -211
  175. package/exemplos/sistemas-interativos/README.md +100 -100
  176. package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
  177. package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
  178. package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
  179. package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
  180. package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
  181. package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
  182. package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
  183. package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
  184. package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
  185. package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
  186. package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
  187. package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
  188. package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
  189. package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
  190. package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
  191. package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
  192. package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
  193. package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
  194. package/exemplos/sistemas-interativos/game-2d.json +83 -83
  195. package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
  196. package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
  197. package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
  198. package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
  199. package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
  200. package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
  201. package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
  202. package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
  203. package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
  204. package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
  205. package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
  206. package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
  207. package/node_modules/@sema/gerador-cpp/package.json +1 -1
  208. package/node_modules/@sema/gerador-dotnet/package.json +1 -1
  209. package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
  210. package/node_modules/@sema/gerador-php/dist/index.js +113 -113
  211. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +37 -38
  212. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +1 -0
  213. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  214. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  215. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +7 -0
  216. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +33 -10
  217. package/package.json +9 -4
  218. package/scripts/postinstall.mjs +148 -0
  219. package/skills/sema/SKILL.md +199 -0
  220. package/skills/sema/agents/openai.yaml +4 -0
  221. package/dist/driftCache.d.ts +0 -49
  222. package/dist/driftCache.js +0 -311
  223. package/dist/driftCacheIncremental.d.ts +0 -98
  224. package/dist/driftCacheIncremental.js +0 -596
  225. package/dist/driftCatalogoPersistente.d.ts +0 -8
  226. package/dist/driftCatalogoPersistente.js +0 -77
  227. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  228. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  229. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  230. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  231. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  232. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  233. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  234. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  235. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  236. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  237. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  238. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  239. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  240. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  241. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  242. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  243. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  250. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  251. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  252. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  253. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  254. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  255. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  256. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  257. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  258. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  259. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  260. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  261. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  262. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  263. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  264. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  265. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  266. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  267. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  268. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  269. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  270. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  271. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  272. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  273. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  274. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  275. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  276. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  277. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  278. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  279. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  280. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  281. 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 usando o leitor compartilhado do plano de drift quando disponivel.
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
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Única entrada executável pública. O import do runtime ocorre somente depois
4
+ * de ajuda, argv vazio e versão encerrarem sem resolver handlers.
5
+ */
6
+ export declare function executarCliPublica(argv?: readonly string[]): Promise<number>;
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
- // M?dulo: sema.produto.orcamento_semantico
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;