@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
@@ -0,0 +1,115 @@
1
+ // SEMA-GOVERNED: sema.produto.distribuicao_global.skill.intencoes
2
+ // Descrição: materializa a matriz de intenção da skill sem executar mutações.
3
+ import { versaoSemanticaValida } from "./versaoSemantica.js";
4
+ export const INTENCOES_SKILL_SEMA = [
5
+ "INFORMAR",
6
+ "INSTALAR_GLOBAL",
7
+ "ATUALIZAR_GLOBAL",
8
+ "REPARAR_GLOBAL",
9
+ "ADOTAR_WORKSPACE",
10
+ ];
11
+ function versaoGlobalValidada(versao) {
12
+ if (versao === undefined || versao === "latest") {
13
+ return { solicitada: "latest", resolverLatest: true };
14
+ }
15
+ if (versaoSemanticaValida(versao)) {
16
+ return { solicitada: versao, resolverLatest: false };
17
+ }
18
+ throw new Error("VERSAO_GLOBAL_DEVE_SER_SEMVER_EXATA_OU_LATEST");
19
+ }
20
+ const ACOES_RESOLVER_CLI_INSTALADA = [
21
+ "provar_cli_path_com_versao_e_skill",
22
+ "provar_launcher_gerenciado_com_versao_e_skill",
23
+ "preferir_launcher_gerenciado_se_path_stale_ou_sem_skill",
24
+ ];
25
+ const ACOES_PROVAR_AMBAS_CLI = [
26
+ "provar_cli_path_com_versao_e_skill",
27
+ "provar_launcher_gerenciado_com_versao_e_skill",
28
+ ];
29
+ export function planejarIntencaoSkillSema(entrada) {
30
+ if (["INSTALAR_GLOBAL", "ATUALIZAR_GLOBAL"].includes(entrada.intencao)) {
31
+ const versao = versaoGlobalValidada(entrada.versaoSolicitada);
32
+ const acoesInstalacao = versao.resolverLatest
33
+ ? [
34
+ "npm_view_version:@semacode/cli@latest",
35
+ "validar_semver_exata_resolvida",
36
+ "npm_install_global:@semacode/cli@SEMVER_EXATA_RESOLVIDA",
37
+ ]
38
+ : [`npm_install_global:@semacode/cli@${versao.solicitada}`];
39
+ return {
40
+ instalar_pacote_global: true,
41
+ sincronizar_distribuicao_se_necessario: true,
42
+ mutar_workspace: false,
43
+ bloqueado_por_autorizacao_adocao: false,
44
+ resolver_latest_para_semver_exata: versao.resolverLatest,
45
+ provar_path_e_launcher_gerenciado: true,
46
+ exigir_prova_versao: true,
47
+ exigir_status_final_ready: true,
48
+ acoes_ordenadas: [
49
+ ...acoesInstalacao,
50
+ ...ACOES_RESOLVER_CLI_INSTALADA,
51
+ "provar_versao_instalada",
52
+ "consultar_status_distribuicao",
53
+ "sincronizar_distribuicao_se_necessario",
54
+ "consultar_status_final_ready",
55
+ ],
56
+ };
57
+ }
58
+ if (entrada.intencao === "REPARAR_GLOBAL") {
59
+ const cliDisponivel = entrada.cliDisponivel;
60
+ return {
61
+ instalar_pacote_global: false,
62
+ sincronizar_distribuicao_se_necessario: cliDisponivel,
63
+ mutar_workspace: false,
64
+ bloqueado_por_autorizacao_adocao: false,
65
+ resolver_latest_para_semver_exata: false,
66
+ provar_path_e_launcher_gerenciado: true,
67
+ exigir_prova_versao: false,
68
+ exigir_status_final_ready: cliDisponivel,
69
+ acoes_ordenadas: cliDisponivel
70
+ ? [
71
+ ...ACOES_RESOLVER_CLI_INSTALADA,
72
+ "consultar_status_distribuicao",
73
+ "sincronizar_distribuicao_se_necessario",
74
+ "consultar_status_final_ready",
75
+ ]
76
+ : [
77
+ ...ACOES_PROVAR_AMBAS_CLI,
78
+ "declarar_cli_indisponivel_apos_path_e_launcher_gerenciado_invalidos",
79
+ ],
80
+ };
81
+ }
82
+ if (entrada.intencao === "ADOTAR_WORKSPACE") {
83
+ const autorizado = entrada.adocaoAutorizada;
84
+ return {
85
+ instalar_pacote_global: false,
86
+ sincronizar_distribuicao_se_necessario: false,
87
+ mutar_workspace: autorizado,
88
+ bloqueado_por_autorizacao_adocao: !autorizado,
89
+ resolver_latest_para_semver_exata: false,
90
+ provar_path_e_launcher_gerenciado: false,
91
+ exigir_prova_versao: false,
92
+ exigir_status_final_ready: false,
93
+ acoes_ordenadas: autorizado
94
+ ? [
95
+ "descobrir_explicar_flow_project_adoption",
96
+ "iniciar_template_base",
97
+ "sync_codex",
98
+ "ler_agents_e_boot",
99
+ ]
100
+ : ["pedir_autorizacao_adocao"],
101
+ };
102
+ }
103
+ return {
104
+ instalar_pacote_global: false,
105
+ sincronizar_distribuicao_se_necessario: false,
106
+ mutar_workspace: false,
107
+ bloqueado_por_autorizacao_adocao: false,
108
+ resolver_latest_para_semver_exata: false,
109
+ provar_path_e_launcher_gerenciado: false,
110
+ exigir_prova_versao: false,
111
+ exigir_status_final_ready: false,
112
+ acoes_ordenadas: ["responder_sem_mutar"],
113
+ };
114
+ }
115
+ //# sourceMappingURL=skillIntentPolicy.js.map
@@ -0,0 +1,50 @@
1
+ export declare const ESTADOS_DISTRIBUICAO_GLOBAL: readonly ["READY", "MISSING", "STALE", "BROKEN_TARGET", "PERMISSION_DENIED"];
2
+ export type EstadoDistribuicaoGlobal = typeof ESTADOS_DISTRIBUICAO_GLOBAL[number];
3
+ export interface OpcoesAmbienteDistribuicaoGlobal {
4
+ /** Plataforma usada para escolher o formato do launcher. */
5
+ plataforma?: NodeJS.Platform;
6
+ /** Home explícita. A implementação nunca consulta outro diretório quando este valor é informado. */
7
+ diretorioUsuario?: string;
8
+ /** Executável absoluto do Node que será embutido no launcher. */
9
+ executavelNode?: string;
10
+ /** Raiz absoluta do pacote @semacode/cli instalado. */
11
+ raizPacote?: string;
12
+ }
13
+ export type CodigoDiagnosticoDistribuicaoGlobal = "AMBIENTE_INVALIDO" | "CAMINHO_FORA_DA_HOME" | "COMPONENTE_NAO_DIRETORIO" | "CONTEUDO_NAO_GERENCIADO" | "DESTINO_ALTERADO" | "DESTINO_AUSENTE" | "DESTINO_DESATUALIZADO" | "DESTINO_PRONTO" | "ERRO_PERMISSAO" | "EXECUTAVEL_NODE_INVALIDO" | "LIMPEZA_PENDENTE" | "LOCK_PERDIDO" | "LOCK_TIMEOUT" | "PACOTE_INVALIDO" | "PERMISSAO_EXECUCAO_INVALIDA" | "RECIBO_INVALIDO" | "ROLLBACK_FALHOU" | "SYMLINK_OU_JUNCTION" | "TARGET_CLI_INVALIDO";
14
+ export interface ResultadoLauncherGlobal {
15
+ estado: EstadoDistribuicaoGlobal;
16
+ alterado: boolean;
17
+ destino_simbolico: "$HOME/.sema/bin/sema" | "$HOME/.sema/bin/sema.cmd";
18
+ codigo: CodigoDiagnosticoDistribuicaoGlobal;
19
+ node_absoluto: boolean;
20
+ entrypoint_absoluto: boolean;
21
+ recibo_valido: boolean;
22
+ independente_path: boolean;
23
+ fallback_simbolico: "$HOME/.sema/bin/sema-managed.ps1" | null;
24
+ }
25
+ export type IdentificadorDestinoSkillGlobal = "agents" | "claude";
26
+ export interface ResultadoDestinoSkillGlobal {
27
+ id: IdentificadorDestinoSkillGlobal;
28
+ estado: EstadoDistribuicaoGlobal;
29
+ alterado: boolean;
30
+ destino_simbolico: "$HOME/.agents/skills/sema" | "$HOME/.claude/skills/sema";
31
+ codigo: CodigoDiagnosticoDistribuicaoGlobal;
32
+ }
33
+ export interface ResultadoSkillGlobal {
34
+ estado: EstadoDistribuicaoGlobal;
35
+ alterado: boolean;
36
+ origem_simbolica: "$PACKAGE_ROOT/skills/sema";
37
+ destino_agents: EstadoDistribuicaoGlobal;
38
+ destino_claude: EstadoDistribuicaoGlobal | "NOT_DETECTED";
39
+ espelho_claude_detectado: boolean;
40
+ ownership_valido: boolean;
41
+ digest_alinhado: boolean;
42
+ cache_plugin_intocado: true;
43
+ destinos: ResultadoDestinoSkillGlobal[];
44
+ }
45
+ export interface ResultadoDistribuicaoGlobal {
46
+ estado: EstadoDistribuicaoGlobal;
47
+ alterado: boolean;
48
+ launcher: ResultadoLauncherGlobal;
49
+ skill: ResultadoSkillGlobal;
50
+ }
@@ -0,0 +1,10 @@
1
+ // SEMA-GOVERNED: sema.produto.distribuicao_global
2
+ // Descrição: define o contrato público e injetável da distribuição local global da CLI e da skill Sema.
3
+ export const ESTADOS_DISTRIBUICAO_GLOBAL = [
4
+ "READY",
5
+ "MISSING",
6
+ "STALE",
7
+ "BROKEN_TARGET",
8
+ "PERMISSION_DENIED",
9
+ ];
10
+ //# sourceMappingURL=tipos.js.map
@@ -0,0 +1,3 @@
1
+ export declare function versaoSemanticaValida(valor: unknown): valor is string;
2
+ /** Retorna -1, 0 ou 1. Build metadata não participa da precedência SemVer. */
3
+ export declare function compararVersoesSemanticas(a: string, b: string): -1 | 0 | 1;
@@ -0,0 +1,62 @@
1
+ // SEMA-GOVERNED: sema.produto.distribuicao_global
2
+ // Descrição: valida versões SemVer de pacotes e recibos sem rede ou dependência externa.
3
+ const PADRAO_SEMVER = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/u;
4
+ function analisar(valor) {
5
+ if (valor.length > 256)
6
+ return null;
7
+ const match = valor.match(PADRAO_SEMVER);
8
+ if (!match)
9
+ return null;
10
+ return {
11
+ major: BigInt(match[1] ?? "0"),
12
+ minor: BigInt(match[2] ?? "0"),
13
+ patch: BigInt(match[3] ?? "0"),
14
+ prerelease: match[4]?.split(".") ?? null,
15
+ };
16
+ }
17
+ export function versaoSemanticaValida(valor) {
18
+ return typeof valor === "string" && analisar(valor) !== null;
19
+ }
20
+ function compararIdentificador(a, b) {
21
+ const numericoA = /^\d+$/u.test(a);
22
+ const numericoB = /^\d+$/u.test(b);
23
+ if (numericoA && numericoB) {
24
+ const inteiroA = BigInt(a);
25
+ const inteiroB = BigInt(b);
26
+ return inteiroA === inteiroB ? 0 : inteiroA > inteiroB ? 1 : -1;
27
+ }
28
+ if (numericoA !== numericoB)
29
+ return numericoA ? -1 : 1;
30
+ return a === b ? 0 : a > b ? 1 : -1;
31
+ }
32
+ /** Retorna -1, 0 ou 1. Build metadata não participa da precedência SemVer. */
33
+ export function compararVersoesSemanticas(a, b) {
34
+ const versaoA = analisar(a);
35
+ const versaoB = analisar(b);
36
+ if (!versaoA || !versaoB)
37
+ throw new Error("VERSAO_SEMANTICA_INVALIDA");
38
+ for (const chave of ["major", "minor", "patch"]) {
39
+ if (versaoA[chave] !== versaoB[chave])
40
+ return versaoA[chave] > versaoB[chave] ? 1 : -1;
41
+ }
42
+ if (versaoA.prerelease === null || versaoB.prerelease === null) {
43
+ if (versaoA.prerelease === versaoB.prerelease)
44
+ return 0;
45
+ return versaoA.prerelease === null ? 1 : -1;
46
+ }
47
+ const limite = Math.max(versaoA.prerelease.length, versaoB.prerelease.length);
48
+ for (let indice = 0; indice < limite; indice += 1) {
49
+ const itemA = versaoA.prerelease[indice];
50
+ const itemB = versaoB.prerelease[indice];
51
+ if (itemA === undefined || itemB === undefined) {
52
+ if (itemA === itemB)
53
+ return 0;
54
+ return itemA === undefined ? -1 : 1;
55
+ }
56
+ const comparacao = compararIdentificador(itemA, itemB);
57
+ if (comparacao !== 0)
58
+ return comparacao;
59
+ }
60
+ return 0;
61
+ }
62
+ //# sourceMappingURL=versaoSemantica.js.map
@@ -19,9 +19,10 @@ export interface DocumentoObrigatorioMudanca {
19
19
  truncado?: boolean;
20
20
  template?: string;
21
21
  templatePendente?: boolean;
22
+ substancia?: boolean;
22
23
  }
23
24
  export interface BloqueioDocumentacaoMudanca {
24
- tipo: "documentacao_ausente" | "leitura_obrigatoria_nao_comprovada" | "documentacao_template_cru" | "arquivo_monolitico" | "codigo_governado_sem_cabecalho";
25
+ tipo: "documentacao_ausente" | "leitura_obrigatoria_nao_comprovada" | "documentacao_template_cru" | "documentacao_sem_substancia" | "arquivo_monolitico" | "codigo_governado_sem_cabecalho";
25
26
  severidade: 4 | 5;
26
27
  caminho: string;
27
28
  mensagem: string;
@@ -74,6 +75,8 @@ export declare const REGRAS_DOCUMENTACAO: RegraDocumentacao[];
74
75
  export declare function inferirCategorias(intencao: string, arquivosAlvo: string[]): string[];
75
76
  export declare function criarTemplateDoc(doc: DocumentoPlanejado, intencao: string, categorias: string[], arquivosAlvo: string[]): string;
76
77
  export declare function documentoPareceTemplateCriadoPelaSema(conteudo: string): boolean;
78
+ export declare const MINIMO_CARACTERES_SUBSTANCIA_DOC = 120;
79
+ export declare function documentoTemSubstancia(conteudo: string): boolean;
77
80
  export declare function resumoConteudo(conteudo: string): {
78
81
  conteudo: string;
79
82
  truncado: boolean;
@@ -289,6 +289,14 @@ export function documentoPareceTemplateCriadoPelaSema(conteudo) {
289
289
  ].some((placeholder) => texto.includes(placeholder));
290
290
  return criadoPelaSema && placeholderPendente;
291
291
  }
292
+ export const MINIMO_CARACTERES_SUBSTANCIA_DOC = 120;
293
+ export function documentoTemSubstancia(conteudo) {
294
+ const texto = normalizarTexto(conteudo)
295
+ .replace(/[#*_>`|-]/g, " ")
296
+ .replace(/\s+/g, " ")
297
+ .trim();
298
+ return texto.length >= MINIMO_CARACTERES_SUBSTANCIA_DOC;
299
+ }
292
300
  export function resumoConteudo(conteudo) {
293
301
  if (conteudo.length <= LIMITE_CONTEUDO_DOC) {
294
302
  return { conteudo, truncado: false };
@@ -4,7 +4,7 @@ import { readFile } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { emitirDiagnosticosArquivosOrcamento } from "./driftOrcamento.js";
6
6
  import { escreverArquivoWorkspaceSeguro, validarDestinosEscritaWorkspace, } from "./workspaceWrite.js";
7
- import { REGRAS_DOCUMENTACAO, adicionarDocsRaizExistentes, adicionarReadmesDeArquivos, caminhoEstaDentro, caminhoExiste, criarTemplateDoc, documentoPareceTemplateCriadoPelaSema, inferirCategorias, listarArquivosRecursivo, normalizarRelativo, normalizarTexto, resumoConteudo, termosRelacionamentoContratos } from "./docs.part01.js";
7
+ import { REGRAS_DOCUMENTACAO, adicionarDocsRaizExistentes, adicionarReadmesDeArquivos, caminhoEstaDentro, caminhoExiste, criarTemplateDoc, documentoPareceTemplateCriadoPelaSema, documentoTemSubstancia, inferirCategorias, listarArquivosRecursivo, normalizarRelativo, normalizarTexto, resumoConteudo, termosRelacionamentoContratos } from "./docs.part01.js";
8
8
  export async function adicionarContratosRelacionados(baseProjeto, intencao, arquivosAlvo, registrar) {
9
9
  const pastaContratos = path.join(baseProjeto, "contratos");
10
10
  if (!(await caminhoExiste(pastaContratos))) {
@@ -95,6 +95,7 @@ export async function resolverDocumentacaoObrigatoria(opcoes) {
95
95
  item.conteudo = conteudo.conteudo;
96
96
  item.truncado = conteudo.truncado;
97
97
  item.templatePendente = documentoPareceTemplateCriadoPelaSema(conteudoCompleto) || undefined;
98
+ item.substancia = documentoTemSubstancia(conteudoCompleto);
98
99
  }
99
100
  leituraObrigatoria.push(item);
100
101
  }
@@ -150,6 +151,7 @@ export async function verificarDocumentacaoMudanca(opcoes) {
150
151
  const setDocsLidas = new Set(docsLidas);
151
152
  const docsNaoLidas = impacto.leituraObrigatoria.filter((doc) => doc.existe && !setDocsLidas.has(doc.relativo));
152
153
  const docsTemplatePendentes = impacto.leituraObrigatoria.filter((doc) => (doc.existe && doc.templatePendente && setDocsLidas.has(doc.relativo)));
154
+ const docsSemSubstancia = impacto.leituraObrigatoria.filter((doc) => (doc.existe && !doc.templatePendente && doc.substancia === false));
153
155
  const diagnosticosOrcamento = await emitirDiagnosticosArquivosOrcamento({
154
156
  baseProjeto,
155
157
  arquivos: opcoes.arquivosAlvo ?? [],
@@ -174,6 +176,12 @@ export async function verificarDocumentacaoMudanca(opcoes) {
174
176
  caminho: doc.relativo,
175
177
  mensagem: `Documentacao obrigatoria ainda e template cru criado pela Sema: ${doc.relativo}. Edite com procedimento, validacao e rollback reais antes de finalizar.`,
176
178
  })),
179
+ ...docsSemSubstancia.map((doc) => ({
180
+ tipo: "documentacao_sem_substancia",
181
+ severidade: 4,
182
+ caminho: doc.relativo,
183
+ mensagem: `Documentacao obrigatoria sem substancia: ${doc.relativo}. O conteudo esta praticamente vazio; preencha procedimento, validacao e rollback reais antes de finalizar.`,
184
+ })),
177
185
  ...diagnosticosOrcamento
178
186
  .filter((diagnostico) => diagnostico.bloqueia)
179
187
  .map((diagnostico) => ({
@@ -1,8 +1,8 @@
1
1
  import type { EngineBanco, NivelConfiancaSemantica, NivelRiscoSemantico, TipoRecursoPersistencia } from "@sema/nucleo";
2
2
  import type { ContextoProjetoCarregado } from "./projeto.js";
3
- import type { PoliticaCacheDrift } from "./driftCache.js";
4
- import type { MetricasCacheIncrementalDrift } from "./driftCacheIncremental.js";
5
3
  import type { MetricasCatalogoDrift, ObservadorOperacaoDrift } from "./driftCatalogo.js";
4
+ import type { CoberturaEscopoDrift, EstrategiaEscopoDrift } from "./driftEscopo.js";
5
+ import type { AvisoModoCacheDrift, ModoCacheDrift } from "./driftCacheModes.js";
6
6
  export type OrigemCodigoDrift = "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
7
7
  export type OrigemSimboloDrift = OrigemCodigoDrift | "sql";
8
8
  export interface SimboloResolvido {
@@ -13,7 +13,7 @@ export interface SimboloResolvido {
13
13
  }
14
14
  export type ConsumerFramework = "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer";
15
15
  export interface RotaResolvida {
16
- origem: "nestjs" | "fastapi" | "flask" | "nextjs" | ConsumerFramework | "firebase" | "dotnet" | "java" | "go" | "rust" | "php";
16
+ origem: "nestjs" | "express" | "fastify" | "fastapi" | "flask" | "nextjs" | ConsumerFramework | "firebase" | "dotnet" | "java" | "go" | "rust" | "php";
17
17
  metodo: string;
18
18
  caminho: string;
19
19
  arquivo: string;
@@ -34,11 +34,12 @@ export interface OpcoesDriftLegado {
34
34
  escopo?: EscopoDriftReal;
35
35
  ignorarWorktrees?: boolean;
36
36
  ignorarConsumidoresLaterais?: boolean;
37
- cache?: PoliticaCacheDrift;
38
- observador?: ObservadorOperacaoDrift;
37
+ modoCache?: ModoCacheDrift;
38
+ avisosModoCache?: readonly AvisoModoCacheDrift[];
39
+ observador?: ObservadorOperacaoDrift | undefined;
39
40
  }
40
41
  export interface DiagnosticoDrift {
41
- tipo: "impl_quebrado" | "task_sem_impl" | "rota_divergente" | "recurso_divergente" | "vinculo_quebrado" | "seguranca_frouxa" | "pontuacao_semantica_insuficiente" | "contrato_monolitico" | "codigo_monolitico" | "codigo_governado_sem_cabecalho" | "escopo_estreito_sem_vinculos";
42
+ tipo: "impl_quebrado" | "task_sem_impl" | "rota_divergente" | "recurso_divergente" | "vinculo_quebrado" | "seguranca_frouxa" | "pontuacao_semantica_insuficiente" | "contrato_monolitico" | "codigo_monolitico" | "codigo_governado_sem_cabecalho" | "escopo_estreito_sem_vinculos" | "escopo_estreito_ambiguo";
42
43
  modulo: string;
43
44
  task?: string;
44
45
  route?: string;
@@ -46,6 +47,7 @@ export interface DiagnosticoDrift {
46
47
  linhas?: number;
47
48
  severidade?: "aviso" | "erro";
48
49
  limite_bloqueio_linhas?: number;
50
+ frameworksEsperados?: string[];
49
51
  mensagem: string;
50
52
  }
51
53
  export interface RegistroImplDrift {
@@ -123,6 +125,11 @@ export interface ResumoTaskDrift {
123
125
  implsQuebrados: number;
124
126
  semImplementacao: boolean;
125
127
  scoreSemantico: number;
128
+ evidenciaVerificacao?: {
129
+ sucesso: boolean;
130
+ quantidadeTestes: number;
131
+ alvo: string;
132
+ };
126
133
  confiancaVinculo: NivelConfiancaSemantica;
127
134
  riscoOperacional: NivelRiscoSemantico;
128
135
  lacunas: string[];
@@ -164,28 +171,30 @@ export interface ConfiguracaoEscopoDriftAplicada {
164
171
  ignorarWorktrees: boolean;
165
172
  ignorarConsumidoresLaterais: boolean;
166
173
  termosEscopo: string[];
167
- estrategia?: "arquivos_vinculados" | "projeto";
168
- cobertura?: "completa" | "parcial";
174
+ estrategia?: EstrategiaEscopoDrift;
175
+ cobertura?: CoberturaEscopoDrift;
169
176
  arquivosPlanejados?: string[];
170
177
  arquivosDeclarados?: string[];
171
178
  arquivosInferidos?: string[];
172
179
  arquivosAusentes?: string[];
173
180
  bloqueios?: string[];
174
- cache?: {
175
- politica: PoliticaCacheDrift;
176
- origem: "cache" | "calculado" | "nao_aplicavel";
177
- chave?: string;
178
- incremental?: MetricasCacheIncrementalDrift;
179
- fasesMs?: {
180
- planejamento: number;
181
- catalogacao: number;
182
- dependencias: number;
183
- assinaturas: number;
184
- indexacao: number;
185
- total: number;
186
- };
187
- };
188
181
  catalogo?: MetricasCatalogoDrift;
182
+ cache?: EstadoCacheDriftAplicado;
183
+ }
184
+ export interface MetricasCacheDriftAplicado {
185
+ hits: number;
186
+ misses: number;
187
+ corruptos: number;
188
+ gravacoes: number;
189
+ errosGravacao: number;
190
+ }
191
+ export interface EstadoCacheDriftAplicado {
192
+ modo: ModoCacheDrift;
193
+ origem: "cache" | "calculado" | "indisponivel" | "nao_aplicavel";
194
+ schema: string;
195
+ workspaceId?: string;
196
+ metricas: MetricasCacheDriftAplicado;
197
+ avisos: readonly AvisoModoCacheDrift[];
189
198
  }
190
199
  export interface RegistroImpactoSemanticoArquivo {
191
200
  arquivo: string;
@@ -278,10 +287,9 @@ export declare function obterDiretoriosIgnoradosAtivos(): Set<string>;
278
287
  export declare function definirDiretoriosIgnoradosAtivos(diretorios: Set<string>): void;
279
288
  export declare function normalizarFragmentoArquivo(valor: string): string;
280
289
  export declare function normalizarEscopoDrift(valor?: string): EscopoDriftReal;
281
- export type OpcoesDriftLegadoResolvidas = Required<Omit<OpcoesDriftLegado, "observador">> & {
282
- observador?: ObservadorOperacaoDrift;
290
+ export declare function resolverOpcoesDrift(opcoes?: OpcoesDriftLegado): Omit<Required<OpcoesDriftLegado>, "observador"> & {
291
+ observador: ObservadorOperacaoDrift | undefined;
283
292
  };
284
- export declare function resolverOpcoesDrift(opcoes?: OpcoesDriftLegado): OpcoesDriftLegadoResolvidas;
285
293
  export declare function resolverDiretoriosIgnoradosAtivos(opcoes?: OpcoesDriftLegado): Set<string>;
286
294
  export declare function quebrarTermosEscopo(valor: string): string[];
287
295
  export declare function quebrarTermosModuloEscopo(nomeModulo: string): string[];
@@ -91,7 +91,8 @@ export function resolverOpcoesDrift(opcoes) {
91
91
  escopo: normalizarEscopoDrift(opcoes?.escopo),
92
92
  ignorarWorktrees: opcoes?.ignorarWorktrees !== false,
93
93
  ignorarConsumidoresLaterais: opcoes?.ignorarConsumidoresLaterais !== false,
94
- cache: opcoes?.cache === "refresh" || opcoes?.cache === "off" ? opcoes.cache : "auto",
94
+ modoCache: opcoes?.modoCache ?? "none",
95
+ avisosModoCache: opcoes?.avisosModoCache ?? [],
95
96
  observador: opcoes?.observador,
96
97
  };
97
98
  }
@@ -1,8 +1,17 @@
1
1
  import ts from "typescript";
2
2
  import type { IrModulo, IrSuperficie, IrTask, IrVinculo, NivelConfiancaSemantica, NivelRiscoSemantico } from "@sema/nucleo";
3
3
  import { ResultadoDrift, SimboloResolvido } from "./drift.part01.js";
4
+ import type { OrigemCodigoDrift } from "./drift.part01.js";
4
5
  import { type PoliticaPontuacaoSemantica } from "./driftScore.js";
5
- import type { CatalogoDrift } from "./driftCatalogo.js";
6
+ export type EventoLeituraCompartilhadaDrift = "extractor.run" | "ast.create";
7
+ export interface AdaptadorLeituraCompartilhadaDrift {
8
+ listarPorRaiz(raiz: string, extensoes: readonly string[]): readonly string[] | Promise<readonly string[]>;
9
+ lerTexto(arquivo: string): Promise<string>;
10
+ emitir?(tipo: EventoLeituraCompartilhadaDrift, arquivo?: string): void;
11
+ }
12
+ export declare function chaveCaminhoCanonicoDrift(caminho: string): string;
13
+ export declare function deduplicarRaizesSobrepostasDrift(diretorios: readonly string[]): string[];
14
+ export declare function encontrarCandidatosFisicosImplementacaoDrift(simbolos: readonly SimboloResolvido[], origem: OrigemCodigoDrift, caminhoDeclarado: string): SimboloResolvido[];
6
15
  export declare function resolverArquivoOuSimboloAncora(vinculos: IrVinculo[], simbolos: SimboloResolvido[], mapaImpl: Map<string, SimboloResolvido>, arquivos: string[]): {
7
16
  arquivo?: string;
8
17
  simbolo?: string;
@@ -15,7 +24,19 @@ export declare function encontrarAncoraSuperficie(ir: IrModulo, superficie: IrSu
15
24
  } | undefined;
16
25
  export declare function calcularRiscoOperacional(task: IrTask): NivelRiscoSemantico;
17
26
  export declare function calcularConfiancaTask(task: IrTask, implsValidos: number, implsQuebrados: number, vinculosValidos: number, vinculosQuebrados: number): NivelConfiancaSemantica;
18
- export declare function calcularScoreTask(task: IrTask, implsValidos: number, implsQuebrados: number, vinculosValidos: number, vinculosQuebrados: number, semImplementacao: boolean): number;
27
+ export interface EvidenciaVerificacaoDrift {
28
+ sucesso: boolean;
29
+ quantidadeTestes: number;
30
+ alvo: string;
31
+ }
32
+ export declare function carregarEvidenciaVerificacaoDrift(opcoes: {
33
+ caminhoContrato: string;
34
+ nomeModulo: string;
35
+ alvo: string;
36
+ framework: string;
37
+ estrutura: string;
38
+ }): Promise<EvidenciaVerificacaoDrift | undefined>;
39
+ export declare function calcularScoreTask(task: IrTask, implsValidos: number, implsQuebrados: number, vinculosValidos: number, vinculosQuebrados: number, semImplementacao: boolean, evidenciaVerificada?: EvidenciaVerificacaoDrift): number;
19
40
  export declare function resumirLacunasTask(task: IrTask, semImplementacao: boolean, implsQuebrados: number, vinculosQuebrados: number, guardrails: {
20
41
  publica: boolean;
21
42
  sensivel: boolean;
@@ -28,7 +49,7 @@ export declare function resumirLacunasTask(task: IrTask, semImplementacao: boole
28
49
  dadosSensiveis: boolean;
29
50
  efeitoPrivilegiado: boolean;
30
51
  exigeSegredos: boolean;
31
- }): string[];
52
+ }, evidenciaVerificada?: EvidenciaVerificacaoDrift): string[];
32
53
  export declare function resumirOperacional(resultado: Omit<ResultadoDrift, "comando" | "sucesso">, politicaPontuacao?: PoliticaPontuacaoSemantica): ResultadoDrift["resumo_operacional"];
33
54
  export declare function paraIdentificadorModulo(valor: string): string;
34
55
  export declare function extrairTextoLiteral(expr?: ts.Expression): string | undefined;
@@ -38,9 +59,9 @@ export declare function lerDecorator(node: ts.Node, nomes: string[]): {
38
59
  argumentos: ts.NodeArray<ts.Expression>;
39
60
  } | undefined;
40
61
  export declare function juntarCaminhoHttp(base: string | undefined, sufixo: string | undefined): string;
41
- export declare function listarArquivosRecursivos(diretorio: string, extensoes: string[], catalogo?: CatalogoDrift): Promise<string[]>;
62
+ export declare function listarArquivosRecursivos(diretorio: string, extensoes: string[], adaptadorLeitura?: AdaptadorLeituraCompartilhadaDrift): Promise<string[]>;
42
63
  export declare const EXTENSOES_ARQUIVOS_RASTREAVEIS_DRIFT: string[];
43
- export declare function indexarArquivosRastreaveis(diretorios: string[], catalogo?: CatalogoDrift): Promise<string[]>;
64
+ export declare function indexarArquivosRastreaveis(diretorios: string[], adaptadorLeitura?: AdaptadorLeituraCompartilhadaDrift): Promise<string[]>;
44
65
  export declare function caminhosSimbolicos(baseDiretorio: string, arquivo: string): string[];
45
66
  export declare function registrarSimboloTypeScript(simbolos: Map<string, SimboloResolvido>, basesSimbolicas: string[], arquivo: string, nome: string, nomeClasse?: string, origem?: "ts" | "js"): void;
46
67
  export declare function desembrulharExpressaoTypeScript(expr: ts.Expression): ts.Expression;