@semacode/cli 1.5.35 → 1.5.37

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 (487) hide show
  1. package/AGENTS.md +1 -1
  2. package/AGENT_CONTEXT_PACK.json +130 -12
  3. package/LICENSE +1 -2
  4. package/README.md +3 -3
  5. package/SEMA_BRIEF.curto.txt +9 -6
  6. package/SEMA_BRIEF.md +250 -205
  7. package/SEMA_BRIEF.micro.txt +10 -6
  8. package/SEMA_INDEX.json +2196 -1926
  9. package/dist/agentContext.d.ts +19 -0
  10. package/dist/agentContext.js +26 -0
  11. package/dist/agentContext.js.map +1 -0
  12. package/dist/agentContextPack.d.ts +3 -0
  13. package/dist/agentContextPack.js +403 -0
  14. package/dist/agentContextPack.js.map +1 -0
  15. package/dist/agentContextTipos.d.ts +96 -0
  16. package/dist/agentContextTipos.js +55 -0
  17. package/dist/agentContextTipos.js.map +1 -0
  18. package/dist/agentEntryPoints.d.ts +13 -0
  19. package/dist/agentEntryPoints.js +422 -0
  20. package/dist/agentEntryPoints.js.map +1 -0
  21. package/dist/authorAnalise.d.ts +15 -0
  22. package/dist/authorAnalise.js +210 -0
  23. package/dist/authorAnalise.js.map +1 -0
  24. package/dist/authorPoliticas.d.ts +37 -0
  25. package/dist/authorPoliticas.js +340 -0
  26. package/dist/authorPoliticas.js.map +1 -0
  27. package/dist/billing/index.d.ts +1 -1
  28. package/dist/billing/index.js +6 -2
  29. package/dist/billing/index.js.map +1 -1
  30. package/dist/bridge.js +2 -0
  31. package/dist/bridge.js.map +1 -1
  32. package/dist/carregarModulos.d.ts +2 -0
  33. package/dist/carregarModulos.js +9 -0
  34. package/dist/carregarModulos.js.map +1 -0
  35. package/dist/cliArgs.d.ts +6 -0
  36. package/dist/cliArgs.js +70 -0
  37. package/dist/cliArgs.js.map +1 -0
  38. package/dist/contexto.js +2 -0
  39. package/dist/contexto.js.map +1 -1
  40. package/dist/controleComercialSupabase.js.map +1 -1
  41. package/dist/controleComercialSupabaseAdmin.js.map +1 -1
  42. package/dist/controleComercialSupabaseCadastro.js.map +1 -1
  43. package/dist/controleComercialSupabaseConsumo.js.map +1 -1
  44. package/dist/controleComercialSupabaseConta.js.map +1 -1
  45. package/dist/controleComercialSupabaseProfiles.js.map +1 -1
  46. package/dist/dev/index.js +2 -0
  47. package/dist/dev/index.js.map +1 -1
  48. package/dist/dev/watcher.d.ts +1 -0
  49. package/dist/dev/watcher.js +4 -0
  50. package/dist/dev/watcher.js.map +1 -0
  51. package/dist/docs/resolver.d.ts +1 -0
  52. package/dist/docs/resolver.js +4 -0
  53. package/dist/docs/resolver.js.map +1 -0
  54. package/dist/docs.d.ts +2 -56
  55. package/dist/docs.js +5 -502
  56. package/dist/docs.js.map +1 -1
  57. package/dist/docs.part01.d.ts +78 -0
  58. package/dist/docs.part01.js +347 -0
  59. package/dist/docs.part01.js.map +1 -0
  60. package/dist/docs.part02.d.ts +20 -0
  61. package/dist/docs.part02.js +181 -0
  62. package/dist/docs.part02.js.map +1 -0
  63. package/dist/doctorCommand.d.ts +27 -0
  64. package/dist/doctorCommand.js +160 -0
  65. package/dist/doctorCommand.js.map +1 -0
  66. package/dist/drift.contrato.d.ts +23 -0
  67. package/dist/drift.contrato.js +33 -0
  68. package/dist/drift.contrato.js.map +1 -0
  69. package/dist/drift.d.ts +13 -227
  70. package/dist/drift.js +16 -3924
  71. package/dist/drift.js.map +1 -1
  72. package/dist/drift.part01.d.ts +252 -0
  73. package/dist/drift.part01.js +183 -0
  74. package/dist/drift.part01.js.map +1 -0
  75. package/dist/drift.part02.d.ts +30 -0
  76. package/dist/drift.part02.js +342 -0
  77. package/dist/drift.part02.js.map +1 -0
  78. package/dist/drift.part03.d.ts +26 -0
  79. package/dist/drift.part03.js +343 -0
  80. package/dist/drift.part03.js.map +1 -0
  81. package/dist/drift.part04.d.ts +46 -0
  82. package/dist/drift.part04.js +354 -0
  83. package/dist/drift.part04.js.map +1 -0
  84. package/dist/drift.part05.d.ts +47 -0
  85. package/dist/drift.part05.js +353 -0
  86. package/dist/drift.part05.js.map +1 -0
  87. package/dist/drift.part06.d.ts +17 -0
  88. package/dist/drift.part06.js +381 -0
  89. package/dist/drift.part06.js.map +1 -0
  90. package/dist/drift.part07.d.ts +48 -0
  91. package/dist/drift.part07.js +377 -0
  92. package/dist/drift.part07.js.map +1 -0
  93. package/dist/drift.part08.d.ts +26 -0
  94. package/dist/drift.part08.js +333 -0
  95. package/dist/drift.part08.js.map +1 -0
  96. package/dist/drift.part09.d.ts +22 -0
  97. package/dist/drift.part09.js +322 -0
  98. package/dist/drift.part09.js.map +1 -0
  99. package/dist/drift.part10.d.ts +11 -0
  100. package/dist/drift.part10.js +116 -0
  101. package/dist/drift.part10.js.map +1 -0
  102. package/dist/drift.part11.d.ts +3 -0
  103. package/dist/drift.part11.js +320 -0
  104. package/dist/drift.part11.js.map +1 -0
  105. package/dist/drift.part12.d.ts +17 -0
  106. package/dist/drift.part12.js +289 -0
  107. package/dist/drift.part12.js.map +1 -0
  108. package/dist/drift.part13.d.ts +17 -0
  109. package/dist/drift.part13.js +86 -0
  110. package/dist/drift.part13.js.map +1 -0
  111. package/dist/drift.part14.d.ts +44 -0
  112. package/dist/drift.part14.js +402 -0
  113. package/dist/drift.part14.js.map +1 -0
  114. package/dist/driftOrcamento.d.ts +69 -0
  115. package/dist/driftOrcamento.js +280 -0
  116. package/dist/driftOrcamento.js.map +1 -0
  117. package/dist/execucoesExternas.d.ts +10 -0
  118. package/dist/execucoesExternas.js +51 -0
  119. package/dist/execucoesExternas.js.map +1 -0
  120. package/dist/exemplosOficiais.d.ts +10 -0
  121. package/dist/exemplosOficiais.js +63 -0
  122. package/dist/exemplosOficiais.js.map +1 -0
  123. package/dist/fsGovernado.d.ts +10 -0
  124. package/dist/fsGovernado.js +50 -0
  125. package/dist/fsGovernado.js.map +1 -0
  126. package/dist/geracaoCore.d.ts +64 -0
  127. package/dist/geracaoCore.js +381 -0
  128. package/dist/geracaoCore.js.map +1 -0
  129. package/dist/iaPrompts.d.ts +6 -0
  130. package/dist/iaPrompts.js +318 -0
  131. package/dist/iaPrompts.js.map +1 -0
  132. package/dist/importador.d.ts +9 -31
  133. package/dist/importador.js +11 -2938
  134. package/dist/importador.js.map +1 -1
  135. package/dist/importador.part01.d.ts +150 -0
  136. package/dist/importador.part01.js +256 -0
  137. package/dist/importador.part01.js.map +1 -0
  138. package/dist/importador.part02.d.ts +25 -0
  139. package/dist/importador.part02.js +359 -0
  140. package/dist/importador.part02.js.map +1 -0
  141. package/dist/importador.part03.d.ts +53 -0
  142. package/dist/importador.part03.js +366 -0
  143. package/dist/importador.part03.js.map +1 -0
  144. package/dist/importador.part04.d.ts +26 -0
  145. package/dist/importador.part04.js +374 -0
  146. package/dist/importador.part04.js.map +1 -0
  147. package/dist/importador.part05.d.ts +28 -0
  148. package/dist/importador.part05.js +340 -0
  149. package/dist/importador.part05.js.map +1 -0
  150. package/dist/importador.part06.d.ts +8 -0
  151. package/dist/importador.part06.js +327 -0
  152. package/dist/importador.part06.js.map +1 -0
  153. package/dist/importador.part07.d.ts +23 -0
  154. package/dist/importador.part07.js +300 -0
  155. package/dist/importador.part07.js.map +1 -0
  156. package/dist/importador.part08.d.ts +12 -0
  157. package/dist/importador.part08.js +378 -0
  158. package/dist/importador.part08.js.map +1 -0
  159. package/dist/importador.part09.d.ts +16 -0
  160. package/dist/importador.part09.js +319 -0
  161. package/dist/importador.part09.js.map +1 -0
  162. package/dist/index.d.ts +12 -1
  163. package/dist/index.js +16 -7840
  164. package/dist/index.js.map +1 -1
  165. package/dist/index.part01.d.ts +148 -0
  166. package/dist/index.part01.js +252 -0
  167. package/dist/index.part01.js.map +1 -0
  168. package/dist/index.part02.d.ts +17 -0
  169. package/dist/index.part02.js +344 -0
  170. package/dist/index.part02.js.map +1 -0
  171. package/dist/index.part03.d.ts +59 -0
  172. package/dist/index.part03.js +352 -0
  173. package/dist/index.part03.js.map +1 -0
  174. package/dist/index.part04.d.ts +20 -0
  175. package/dist/index.part04.js +358 -0
  176. package/dist/index.part04.js.map +1 -0
  177. package/dist/index.part05.d.ts +10 -0
  178. package/dist/index.part05.js +370 -0
  179. package/dist/index.part05.js.map +1 -0
  180. package/dist/index.part06.d.ts +14 -0
  181. package/dist/index.part06.js +336 -0
  182. package/dist/index.part06.js.map +1 -0
  183. package/dist/index.part07.d.ts +9 -0
  184. package/dist/index.part07.js +287 -0
  185. package/dist/index.part07.js.map +1 -0
  186. package/dist/index.part08.d.ts +1 -0
  187. package/dist/index.part08.js +206 -0
  188. package/dist/index.part08.js.map +1 -0
  189. package/dist/init/index.js +2 -0
  190. package/dist/init/index.js.map +1 -1
  191. package/dist/init/templates.d.ts +2 -11
  192. package/dist/init/templates.js +4 -659
  193. package/dist/init/templates.js.map +1 -1
  194. package/dist/init/templates.part01.d.ts +11 -0
  195. package/dist/init/templates.part01.js +399 -0
  196. package/dist/init/templates.part01.js.map +1 -0
  197. package/dist/init/templates.part02.d.ts +8 -0
  198. package/dist/init/templates.part02.js +265 -0
  199. package/dist/init/templates.part02.js.map +1 -0
  200. package/dist/initCommand.d.ts +3 -0
  201. package/dist/initCommand.js +41 -0
  202. package/dist/initCommand.js.map +1 -0
  203. package/dist/initTemplatesBackend.d.ts +2 -0
  204. package/dist/initTemplatesBackend.js +127 -0
  205. package/dist/initTemplatesBackend.js.map +1 -0
  206. package/dist/initTemplatesBase.d.ts +9 -0
  207. package/dist/initTemplatesBase.js +79 -0
  208. package/dist/initTemplatesBase.js.map +1 -0
  209. package/dist/initTemplatesFlutter.d.ts +2 -0
  210. package/dist/initTemplatesFlutter.js +185 -0
  211. package/dist/initTemplatesFlutter.js.map +1 -0
  212. package/dist/initTemplatesRuntime.d.ts +2 -0
  213. package/dist/initTemplatesRuntime.js +494 -0
  214. package/dist/initTemplatesRuntime.js.map +1 -0
  215. package/dist/initTemplatesWeb.d.ts +2 -0
  216. package/dist/initTemplatesWeb.js +429 -0
  217. package/dist/initTemplatesWeb.js.map +1 -0
  218. package/dist/mcpInstalarChaveCommand.d.ts +1 -0
  219. package/dist/mcpInstalarChaveCommand.js +141 -0
  220. package/dist/mcpInstalarChaveCommand.js.map +1 -0
  221. package/dist/mcpRemoto.js.map +1 -1
  222. package/dist/mcp_chave.d.ts +1 -0
  223. package/dist/mcp_chave.js +4 -0
  224. package/dist/mcp_chave.js.map +1 -0
  225. package/dist/profileArtefatoBase.d.ts +30 -0
  226. package/dist/profileArtefatoBase.js +129 -0
  227. package/dist/profileArtefatoBase.js.map +1 -0
  228. package/dist/profileArtefatoValidadores.d.ts +9 -0
  229. package/dist/profileArtefatoValidadores.js +287 -0
  230. package/dist/profileArtefatoValidadores.js.map +1 -0
  231. package/dist/profileAuthorCommand.d.ts +6 -0
  232. package/dist/profileAuthorCommand.js +442 -0
  233. package/dist/profileAuthorCommand.js.map +1 -0
  234. package/dist/profileAuthorTipos.d.ts +225 -0
  235. package/dist/profileAuthorTipos.js +6 -0
  236. package/dist/profileAuthorTipos.js.map +1 -0
  237. package/dist/profileCatalogo.d.ts +8 -0
  238. package/dist/profileCatalogo.js +235 -0
  239. package/dist/profileCatalogo.js.map +1 -0
  240. package/dist/profileCommand.d.ts +33 -0
  241. package/dist/profileCommand.js +256 -0
  242. package/dist/profileCommand.js.map +1 -0
  243. package/dist/profileOrquestracao.d.ts +33 -0
  244. package/dist/profileOrquestracao.js +53 -0
  245. package/dist/profileOrquestracao.js.map +1 -0
  246. package/dist/profileRegras.d.ts +19 -0
  247. package/dist/profileRegras.js +219 -0
  248. package/dist/profileRegras.js.map +1 -0
  249. package/dist/profileRulePacks.d.ts +3 -0
  250. package/dist/profileRulePacks.js +334 -0
  251. package/dist/profileRulePacks.js.map +1 -0
  252. package/dist/profiles/validate.d.ts +1 -0
  253. package/dist/profiles/validate.js +4 -0
  254. package/dist/profiles/validate.js.map +1 -0
  255. package/dist/projeto.d.ts +4 -53
  256. package/dist/projeto.js +5 -649
  257. package/dist/projeto.js.map +1 -1
  258. package/dist/projetoBusca.d.ts +7 -0
  259. package/dist/projetoBusca.js +142 -0
  260. package/dist/projetoBusca.js.map +1 -0
  261. package/dist/projetoCarregar.d.ts +2 -0
  262. package/dist/projetoCarregar.js +50 -0
  263. package/dist/projetoCarregar.js.map +1 -0
  264. package/dist/projetoConfig.d.ts +10 -0
  265. package/dist/projetoConfig.js +89 -0
  266. package/dist/projetoConfig.js.map +1 -0
  267. package/dist/projetoLegado.d.ts +3 -0
  268. package/dist/projetoLegado.js +175 -0
  269. package/dist/projetoLegado.js.map +1 -0
  270. package/dist/projetoOrigens.d.ts +6 -0
  271. package/dist/projetoOrigens.js +185 -0
  272. package/dist/projetoOrigens.js.map +1 -0
  273. package/dist/projetoResolucao.d.ts +8 -0
  274. package/dist/projetoResolucao.js +43 -0
  275. package/dist/projetoResolucao.js.map +1 -0
  276. package/dist/projetoTipos.d.ts +43 -0
  277. package/dist/projetoTipos.js +4 -0
  278. package/dist/projetoTipos.js.map +1 -0
  279. package/dist/runnerValidacaoRemota.js.map +1 -1
  280. package/dist/runnerValidacaoRemotaBateria.js +2 -0
  281. package/dist/runnerValidacaoRemotaBateria.js.map +1 -1
  282. package/dist/runnerValidacaoRemotaExecucao.js +2 -0
  283. package/dist/runnerValidacaoRemotaExecucao.js.map +1 -1
  284. package/dist/runnerValidacaoRemotaRelatorio.js +2 -0
  285. package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -1
  286. package/dist/runnerValidacaoRemotaSnapshot.js +2 -0
  287. package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -1
  288. package/dist/runnerValidacaoRemotaWorkspace.js +2 -0
  289. package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -1
  290. package/dist/sync/index.js +2 -0
  291. package/dist/sync/index.js.map +1 -1
  292. package/dist/textoListas.d.ts +4 -0
  293. package/dist/textoListas.js +22 -0
  294. package/dist/textoListas.js.map +1 -0
  295. package/dist/typescript-http-body.d.ts +12 -0
  296. package/dist/typescript-http-body.js +145 -0
  297. package/dist/typescript-http-body.js.map +1 -0
  298. package/dist/typescript-http-expressoes.d.ts +17 -0
  299. package/dist/typescript-http-expressoes.js +194 -0
  300. package/dist/typescript-http-expressoes.js.map +1 -0
  301. package/dist/typescript-http-modelos.d.ts +45 -0
  302. package/dist/typescript-http-modelos.js +82 -0
  303. package/dist/typescript-http-modelos.js.map +1 -0
  304. package/dist/typescript-http-rotas.d.ts +9 -0
  305. package/dist/typescript-http-rotas.js +129 -0
  306. package/dist/typescript-http-rotas.js.map +1 -0
  307. package/dist/typescript-http-semantica.d.ts +11 -0
  308. package/dist/typescript-http-semantica.js +329 -0
  309. package/dist/typescript-http-semantica.js.map +1 -0
  310. package/dist/typescript-http.d.ts +3 -35
  311. package/dist/typescript-http.js +4 -853
  312. package/dist/typescript-http.js.map +1 -1
  313. package/docs/AGENT_STARTER.md +1 -1
  314. package/docs/agentes-por-capacidade.md +59 -3
  315. package/docs/api.md +21 -21
  316. package/docs/cli.md +3 -3
  317. package/docs/documentacao.md +1 -1
  318. package/docs/env.md +20 -24
  319. package/docs/fluxo-pratico-ia-sema.md +1 -1
  320. package/docs/instalacao-e-primeiro-uso.md +3 -3
  321. package/docs/mcp.md +12 -0
  322. package/docs/pagamento-ponta-a-ponta.md +1 -1
  323. package/docs/persistencia-vendor-first.md +1 -1
  324. package/docs/prompt-base-ia-sema.md +1 -1
  325. package/docs/repositories.md +21 -21
  326. package/docs/seguranca.md +1 -1
  327. package/docs/sintaxe.md +1 -1
  328. package/exemplos/agendamento.sema +1 -1
  329. package/exemplos/assinatura.sema +1 -1
  330. package/exemplos/auditoria.sema +1 -1
  331. package/exemplos/autenticacao.sema +1 -1
  332. package/exemplos/author_obra_comum.sema +1 -1
  333. package/exemplos/author_tema_sensivel.sema +1 -1
  334. package/exemplos/automacao.sema +1 -1
  335. package/exemplos/cadastro_usuario.sema +1 -1
  336. package/exemplos/calculadora.sema +1 -1
  337. package/exemplos/crud_simples.sema +1 -1
  338. package/exemplos/estoque.sema +1 -1
  339. package/exemplos/exportacao.sema +1 -1
  340. package/exemplos/fila.sema +1 -1
  341. package/exemplos/integracao_externa.sema +1 -1
  342. package/exemplos/multi_tenant.sema +1 -1
  343. package/exemplos/notificacao.sema +1 -1
  344. package/exemplos/operacao_estrategia.sema +132 -633
  345. package/exemplos/operacao_estrategia_discovery.sema +220 -0
  346. package/exemplos/operacao_estrategia_fluxo.sema +114 -0
  347. package/exemplos/operacao_estrategia_gates.sema +106 -0
  348. package/exemplos/operacao_estrategia_quarentena.sema +133 -0
  349. package/exemplos/operacao_estrategia_rollout.sema +124 -0
  350. package/exemplos/pagamento.sema +1 -1
  351. package/exemplos/pagamento_dominio.sema +1 -1
  352. package/exemplos/pedido.sema +1 -1
  353. package/exemplos/permissao.sema +1 -1
  354. package/exemplos/persistencia_vendor_first.sema +1 -1
  355. package/exemplos/profile_game.sema +1 -1
  356. package/exemplos/profile_legal.sema +1 -1
  357. package/exemplos/profile_ops.sema +1 -1
  358. package/exemplos/profile_research.sema +1 -1
  359. package/exemplos/profile_software.sema +1 -1
  360. package/exemplos/profile_workflow_n8n.sema +1 -1
  361. package/exemplos/relatorio.sema +1 -1
  362. package/exemplos/replica_analitica_erp.sema +1 -1
  363. package/exemplos/testes_embutidos.sema +1 -1
  364. package/exemplos/tratamento_erro.sema +1 -1
  365. package/exemplos/upload_arquivo.sema +1 -1
  366. package/exemplos/webhook.sema +1 -1
  367. package/llms-full.txt +13 -8
  368. package/llms.txt +12 -7
  369. package/node_modules/@sema/gerador-css/dist/index.d.ts +2 -3
  370. package/node_modules/@sema/gerador-css/dist/index.js +4 -599
  371. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -1
  372. package/node_modules/@sema/gerador-css/dist/index.part01.d.ts +6 -0
  373. package/node_modules/@sema/gerador-css/dist/index.part01.js +49 -0
  374. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +1 -0
  375. package/node_modules/@sema/gerador-css/dist/index.part02.d.ts +3 -0
  376. package/node_modules/@sema/gerador-css/dist/index.part02.js +471 -0
  377. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +1 -0
  378. package/node_modules/@sema/gerador-python/dist/index.d.ts +2 -6
  379. package/node_modules/@sema/gerador-python/dist/index.js +4 -771
  380. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  381. package/node_modules/@sema/gerador-python/dist/index.part01.d.ts +28 -0
  382. package/node_modules/@sema/gerador-python/dist/index.part01.js +383 -0
  383. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +1 -0
  384. package/node_modules/@sema/gerador-python/dist/index.part02.d.ts +20 -0
  385. package/node_modules/@sema/gerador-python/dist/index.part02.js +396 -0
  386. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +1 -0
  387. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +3 -6
  388. package/node_modules/@sema/gerador-typescript/dist/index.js +5 -810
  389. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -1
  390. package/node_modules/@sema/gerador-typescript/dist/index.part01.d.ts +25 -0
  391. package/node_modules/@sema/gerador-typescript/dist/index.part01.js +358 -0
  392. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +1 -0
  393. package/node_modules/@sema/gerador-typescript/dist/index.part02.d.ts +14 -0
  394. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +405 -0
  395. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +1 -0
  396. package/node_modules/@sema/gerador-typescript/dist/index.part03.d.ts +5 -0
  397. package/node_modules/@sema/gerador-typescript/dist/index.part03.js +60 -0
  398. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +1 -0
  399. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +2 -0
  400. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
  401. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.d.ts +6 -0
  402. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js +40 -0
  403. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +1 -0
  404. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +2 -9
  405. package/node_modules/@sema/nucleo/dist/formatador/index.js +4 -467
  406. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  407. package/node_modules/@sema/nucleo/dist/formatador/index.part01.d.ts +38 -0
  408. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js +382 -0
  409. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +1 -0
  410. package/node_modules/@sema/nucleo/dist/formatador/index.part02.d.ts +4 -0
  411. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js +92 -0
  412. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +1 -0
  413. package/node_modules/@sema/nucleo/dist/index.d.ts +2 -0
  414. package/node_modules/@sema/nucleo/dist/index.js +6 -0
  415. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  416. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +3 -5
  417. package/node_modules/@sema/nucleo/dist/ir/conversor.js +5 -880
  418. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  419. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.d.ts +30 -0
  420. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +398 -0
  421. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -0
  422. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +41 -0
  423. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js +184 -0
  424. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +1 -0
  425. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.d.ts +5 -0
  426. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js +310 -0
  427. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +1 -0
  428. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +3 -9
  429. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.d.ts +11 -0
  430. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +150 -0
  431. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -0
  432. package/node_modules/@sema/nucleo/dist/parser/parser.js +5 -768
  433. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  434. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.d.ts +3 -0
  435. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js +222 -0
  436. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +1 -0
  437. package/node_modules/@sema/nucleo/dist/parser/parser.part01.d.ts +9 -0
  438. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js +61 -0
  439. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +1 -0
  440. package/node_modules/@sema/nucleo/dist/parser/parser.part02.d.ts +40 -0
  441. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js +373 -0
  442. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +1 -0
  443. package/node_modules/@sema/nucleo/dist/parser/parser.part03.d.ts +4 -0
  444. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js +9 -0
  445. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +1 -0
  446. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +2 -0
  447. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -1
  448. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +3 -59
  449. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +2 -1682
  450. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  451. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +89 -0
  452. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +292 -0
  453. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -0
  454. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.d.ts +29 -0
  455. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js +168 -0
  456. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +1 -0
  457. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.d.ts +11 -0
  458. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js +185 -0
  459. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +1 -0
  460. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.d.ts +30 -0
  461. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js +200 -0
  462. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +1 -0
  463. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.d.ts +6 -0
  464. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js +193 -0
  465. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +1 -0
  466. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.d.ts +11 -0
  467. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js +208 -0
  468. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +1 -0
  469. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.d.ts +11 -0
  470. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js +247 -0
  471. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +1 -0
  472. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.d.ts +3 -0
  473. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js +249 -0
  474. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +1 -0
  475. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +2 -106
  476. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +4 -474
  477. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
  478. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.d.ts +109 -0
  479. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js +259 -0
  480. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +1 -0
  481. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.d.ts +9 -0
  482. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js +223 -0
  483. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +1 -0
  484. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.d.ts +21 -0
  485. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js +40 -0
  486. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +1 -0
  487. package/package.json +12 -16
@@ -0,0 +1,19 @@
1
+ import { type GuiaCapacidadeIaMap } from './agentContextTipos.js';
2
+ export declare function criarEntradaCanonicaProjeto(guiaPorCapacidade: GuiaCapacidadeIaMap): {
3
+ descricao: string;
4
+ ordemLeitura: ("README.md" | "SEMA_BRIEF.md" | "SEMA_INDEX.json" | "SEMA_BOOT.md" | "llms.txt" | "AGENT_CONTEXT_PACK.json" | "SEMA_SMALL_MODEL.md" | "AGENTS.md" | "llms-full.txt")[];
5
+ porCapacidade: {
6
+ fraca: string[];
7
+ pequena: string[];
8
+ media: string[];
9
+ forte: string[];
10
+ grande: string[];
11
+ };
12
+ aliasesCapacidade: {
13
+ pequena: import("./agentContextTipos.js").CapacidadeIa;
14
+ grande: import("./agentContextTipos.js").CapacidadeIa;
15
+ };
16
+ docsSuporte: ("docs/agentes-por-capacidade.md" | "docs/AGENT_STARTER.md" | "docs/integracao-com-ia.md" | "docs/fluxo-pratico-ia-sema.md" | "docs/como-ensinar-a-sema-para-ia.md" | "docs/persistencia-vendor-first.md" | "docs/sintaxe.md" | "docs/cli.md" | "docs/mcp.md" | "docs/profiles.md" | "docs/profiles-author-agents-flow.md" | "docs/testes.md" | "docs/documentacao.md" | "docs/deploy.md" | "docs/env.md" | "docs/rollback.md" | "docs/extensao-vscode.md")[];
17
+ agentContextPack: import("./agentContextTipos.js").AgentContextPack;
18
+ guiaPorCapacidade: GuiaCapacidadeIaMap;
19
+ };
@@ -0,0 +1,26 @@
1
+ // SEMA-GOVERNED: sema.produto.governanca_ia.contexto
2
+ // Descrição: compõe a entrada canônica do projeto para cada capacidade de IA.
3
+ import { criarAgentContextPack } from './agentContextPack.js';
4
+ import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVOS_CANONICOS_IA_RAIZ, DOCUMENTOS_SUPORTE_IA, } from './agentContextTipos.js';
5
+ export function criarEntradaCanonicaProjeto(guiaPorCapacidade) {
6
+ const agentContextPack = criarAgentContextPack(guiaPorCapacidade);
7
+ const fraca = [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, 'llms.txt', ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.micro.txt', 'SEMA_INDEX.json', 'AGENTS.md'];
8
+ const media = [ARQUIVO_SEMA_BOOT, 'llms.txt', ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.curto.txt', 'SEMA_INDEX.json', 'AGENTS.md', 'README.md'];
9
+ const forte = [ARQUIVO_SEMA_BOOT, 'llms-full.txt', ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.md', 'SEMA_INDEX.json', 'AGENTS.md', 'README.md'];
10
+ return {
11
+ descricao: 'Entrada can?nica do reposit?rio para IA. O repo n?o ? human-first; a IA deve come?ar por esses artefatos antes de abrir c?digo cru.',
12
+ ordemLeitura: [...ARQUIVOS_CANONICOS_IA_RAIZ],
13
+ porCapacidade: {
14
+ fraca,
15
+ pequena: fraca,
16
+ media,
17
+ forte,
18
+ grande: forte,
19
+ },
20
+ aliasesCapacidade: { ...ALIASES_CAPACIDADE_IA },
21
+ docsSuporte: [...DOCUMENTOS_SUPORTE_IA],
22
+ agentContextPack,
23
+ guiaPorCapacidade,
24
+ };
25
+ }
26
+ //# sourceMappingURL=agentContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentContext.js","sourceRoot":"","sources":["../src/agentContext.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,8EAA8E;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,2BAA2B,CAAC,iBAAsC;IAChF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,UAAU,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5J,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,UAAU,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/I,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7I,OAAO;QACL,SAAS,EAAE,qIAAqI;QAChJ,YAAY,EAAE,CAAC,GAAG,0BAA0B,CAAC;QAC7C,aAAa,EAAE;YACb,KAAK;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK;YACL,MAAM,EAAE,KAAK;SACd;QACD,iBAAiB,EAAE,EAAE,GAAG,qBAAqB,EAAE;QAC/C,WAAW,EAAE,CAAC,GAAG,qBAAqB,CAAC;QACvC,gBAAgB;QAChB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type AgentContextPack, type GuiaCapacidadeIaMap } from './agentContextTipos.js';
2
+ export declare function criarGuiaCapacidadeIa(): GuiaCapacidadeIaMap;
3
+ export declare function criarAgentContextPack(guiaPorCapacidade: GuiaCapacidadeIaMap): AgentContextPack;
@@ -0,0 +1,403 @@
1
+ // SEMA-GOVERNED: sema.produto.governanca_ia.contexto
2
+ // Descrição: monta o Agent Context Pack e políticas que agentes fracos, médios e fortes consomem antes do código.
3
+ import { LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO, LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO, } from './driftOrcamento.js';
4
+ import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_DOC_AGENTES_CAPACIDADE, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, EXEMPLOS_OFICIAIS_AGENT_CONTEXT, } from './agentContextTipos.js';
5
+ export function criarGuiaCapacidadeIa() {
6
+ const fraca = {
7
+ descricao: "IA fraca, gratuita, local pequena ou com disciplina baixa. Leia o boot card, pare cedo e chame Sema antes de agir.",
8
+ artefatos: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, "agent-context-pack.json", "resumo.micro.txt", "briefing.min.json", "prompt-curto.txt"],
9
+ ordemLeitura: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, "agent-context-pack.json", "resumo.micro.txt", "briefing.min.json", "resumo.curto.txt"],
10
+ evitar: ["ast.json", "ir.json", "diagnosticos.json"],
11
+ };
12
+ const media = {
13
+ descricao: "IA média. Aguenta boot, resumo expandido, briefing mínimo, drift e documentação curta.",
14
+ artefatos: [ARQUIVO_SEMA_BOOT, "agent-context-pack.json", "resumo.curto.txt", "briefing.min.json", "drift.json", "prompt-curto.txt"],
15
+ ordemLeitura: [ARQUIVO_SEMA_BOOT, "agent-context-pack.json", "resumo.curto.txt", "briefing.min.json", "drift.json", "resumo.md"],
16
+ evitar: ["ast.json"],
17
+ };
18
+ const forte = {
19
+ descricao: "IA forte, com tool use bom e contexto grande. Pode consumir o pacote completo, mas ainda deve começar pelo boot e pelos gates Sema.",
20
+ artefatos: [ARQUIVO_SEMA_BOOT, "agent-context-pack.json", "README.md", "resumo.md", "briefing.json", "drift.json", "ir.json", "ast.json"],
21
+ ordemLeitura: [ARQUIVO_SEMA_BOOT, "agent-context-pack.json", "README.md", "resumo.md", "briefing.json", "drift.json", "ir.json", "ast.json"],
22
+ evitar: [],
23
+ };
24
+ return {
25
+ fraca,
26
+ pequena: fraca,
27
+ media,
28
+ forte,
29
+ grande: forte,
30
+ };
31
+ }
32
+ function criarPoliticaIdiomaAgentContext() {
33
+ return {
34
+ regra: "A linguagem humana da resposta deve seguir o idioma do usuário e preservar acentos, cedilha, pontuação e símbolos esperados. A DSL .sema pode ter palavras-chave ASCII; isso não autoriza PT-BR sem acentos.",
35
+ idiomaHumanoPadrao: "pt-BR quando a conversa ou o projeto estiverem em português; caso contrário, use o idioma falado pelo usuário.",
36
+ preservarAcentos: true,
37
+ separarDslDeTextoHumano: true,
38
+ comandosESimbolos: "Não traduza comandos, nomes de arquivos, rotas, símbolos de código ou palavras-chave da DSL.",
39
+ };
40
+ }
41
+ function criarPoliticaCodigoGovernadoAgentContext() {
42
+ return {
43
+ marcador: "SEMA-GOVERNED",
44
+ regra: `Arquivos de código gerados ou governados pela Sema devem manter um cabeçalho curto com módulo de origem, lembrete para consultar o contrato .sema e descrição humana no idioma do usuário. Validação inline prova apenas o payload enviado; o arquivo físico sincronizado ainda precisa de SEMA-GOVERNED para orientar a próxima IA. Acima de ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO} linhas gera diagnóstico de refatoração; acima de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} linhas bloqueia drift, finalização, geração e snapshot. O limite exige divisão por responsabilidade real, não fatiamento artificial como index_p1.html, index_p2.html só para passar no gate.`,
45
+ descricaoHumana: "O comentário deve orientar humanos e IAs sem duplicar o contrato inteiro dentro do código: diga o que o arquivo implementa, qual contrato governa e onde a próxima IA deve olhar.",
46
+ porCapacidade: {
47
+ fraca: `Se abrir código com SEMA-GOVERNED, pare, leia SEMA_SMALL_MODEL.md e chame Sema antes de editar. Não crie arquivo acima de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} linhas; divida antes por responsabilidade, nunca em partes p1/p2 sem sentido.`,
48
+ media: `Se abrir código com SEMA-GOVERNED, rode docs-impacto e drift antes de alterar comportamento. Trate ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO}+ linhas como refatoração provável; em UI, separe estrutura, estilos, estado, renderização, cálculo e dados.`,
49
+ forte: `Se abrir código com SEMA-GOVERNED, pode inspecionar AST/IR e código completo, mas mantém contrato primeiro, drift, orçamento de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} linhas e finalizar-mudanca. Contexto grande não autoriza monólito.`,
50
+ },
51
+ formatosPorAlvo: {
52
+ typescript: "// SEMA-GOVERNED",
53
+ javascript: "// SEMA-GOVERNED",
54
+ python: "# SEMA-GOVERNED",
55
+ dart: "// SEMA-GOVERNED",
56
+ lua: "-- SEMA-GOVERNED",
57
+ html: "<!--\nSEMA-GOVERNED: modulo_ou_contrato\nDescrição: o que este arquivo implementa e qual contrato consultar\n-->",
58
+ css: "/*\nSEMA-GOVERNED: modulo_ou_contrato\nDescrição: estilos governados e contrato aplicável\n*/",
59
+ },
60
+ };
61
+ }
62
+ function criarPoliticaTimeoutResumoAgentContext() {
63
+ return {
64
+ regra: "Timeout definido pelo agente não é falha do Sema. Se `sema resumo`, `inspecionar`, `drift` ou `sync-ai-entrypoints` estourar por timeout local, aumente o timeout e tente de novo com escopo menor quando possível.",
65
+ timeoutInicialSegundos: 120,
66
+ escalonamentoSegundos: [120, 300, 600],
67
+ timeoutDoAgenteNaoEhFalhaSema: true,
68
+ ateQuandoTentar: "Tente de novo com timeouts maiores enquanto houver execução disponível; se o ambiente impedir continuar, pare bloqueado e não avance com código sem Sema.",
69
+ porCapacidade: {
70
+ fraca: "Se `resumo . --micro` estourar, tente `resumo <arquivo.sema> --micro`, depois repita com timeout maior. Timeout não autoriza editar.",
71
+ media: "Prefira resumo escopado; se um gate Sema estourar, aumente timeout e repita antes de concluir falha.",
72
+ forte: "Pode rodar projeto inteiro com timeout alto, mas deve distinguir lentidão de falha real e registrar evidência.",
73
+ },
74
+ };
75
+ }
76
+ function criarPoliticaDesignVisualAgentContext() {
77
+ return {
78
+ regra: "Quando a tarefa envolve interface, app, site, dashboard, painel, formulário, landing, jogo ou artefato visual, o Sema governa também qualidade visual. Modernidade, identidade, responsividade, estados e evidência visual não são extras opcionais.",
79
+ modernoObrigatorio: true,
80
+ aplicarQuando: "site, app, dashboard, painel, admin, onboarding, formulário, modal, jogo, material visual ou qualquer entrega com UI.",
81
+ proibicoes: [
82
+ "interface_generica_2010",
83
+ "formularios_sem_hierarquia_visual",
84
+ "cards_cinzas_sem_identidade",
85
+ "layout_sem_responsividade_real",
86
+ "texto_estourando_ou_sobreposto",
87
+ "sem_estados_de_hover_focus_loading_erro_vazio",
88
+ "sem_assets_quando_o_dominio_pede_visual",
89
+ "copiar_estetica_do_contrato_para_ui",
90
+ ],
91
+ porCapacidade: {
92
+ fraca: "Use um padrão moderno seguro: hierarquia clara, espaçamento consistente, paleta com contraste, estados básicos, responsivo mobile/desktop e nada de formulário cinza genérico. Se não conseguir validar visualmente, pare e peça revisão.",
93
+ media: "Defina intenção visual antes de codar: público, domínio, densidade, tokens, componentes, estados, responsividade e anti-2010. Rode ou peça screenshot/browser check quando houver UI.",
94
+ forte: "Crie direção visual específica do domínio, use assets reais/gerados quando fizer sentido, refine microinterações e faça verificação visual em desktop/mobile com screenshot e correção de overlap.",
95
+ },
96
+ evidencias: {
97
+ fraca: [
98
+ "descrever padrão visual escolhido",
99
+ "confirmar responsividade básica",
100
+ "listar estados essenciais",
101
+ ],
102
+ media: [
103
+ "registrar tokens e componentes usados",
104
+ "validar desktop e mobile",
105
+ "corrigir texto sobreposto",
106
+ ],
107
+ forte: [
108
+ "screenshot desktop/mobile",
109
+ "verificação de assets e renderização",
110
+ "auditoria de contraste, hierarquia e estado vazio",
111
+ ],
112
+ },
113
+ criteriosMinimos: [
114
+ "não parecer template de 2010",
115
+ "hierarquia visual clara",
116
+ "paleta com contraste e identidade do domínio",
117
+ "responsividade mobile e desktop",
118
+ "estados de hover, focus, loading, erro e vazio quando aplicáveis",
119
+ "texto sem overlap ou estouro",
120
+ "componentes coerentes com o workflow real",
121
+ ],
122
+ };
123
+ }
124
+ function criarPoliticaPlataformaAgentContext() {
125
+ return {
126
+ regra: "O Sema governa contrato, escopo, drift, evidência e qualidade do projeto. Ele não pede, não autoriza e não contorna políticas da plataforma, termos de uso, permissões, segurança ou leis.",
127
+ escopoGovernanca: "Contrato primeiro, documentação obrigatória, rastreabilidade, auditoria de drift, orçamento semântico, idioma humano, design quando houver UI e evidência de fechamento.",
128
+ naoContornaPoliticas: true,
129
+ quandoHouverBloqueio: "Se um cliente, modelo ou classificador bloquear a mensagem, trate como bloqueio externo ou falso positivo possível: explique de forma neutra, preserve a intenção legítima de governança e não tente burlar filtros.",
130
+ proibicoes: [
131
+ "contornar_politica_da_plataforma",
132
+ "apresentar_sema_como_bypass_de_seguranca",
133
+ "insistir_em_conteudo_bloqueado",
134
+ "confundir_governanca_com_permissao_para_acao_proibida",
135
+ ],
136
+ porCapacidade: {
137
+ fraca: "Se aparecer alerta de política, pare. Diga que Sema é governança de projeto, não bypass; peça reformulação segura ou contexto permitido.",
138
+ media: "Separe bloqueio da plataforma de erro do Sema. Reformule em linguagem neutra quando permitido e mantenha os gates; não tente contornar filtro.",
139
+ forte: "Registre evidência, reduza ambiguidade e continue apenas no escopo permitido pela plataforma. Governança Sema nunca substitui política externa.",
140
+ },
141
+ };
142
+ }
143
+ function criarEntrypointsClientesIa() {
144
+ return [
145
+ {
146
+ cliente: "copilot",
147
+ arquivos: [".github/copilot-instructions.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
148
+ capacidadePadrao: "media",
149
+ observacao: "VS Code/Copilot deve receber uma instrução curta e repetida no arquivo próprio, sem depender só do AGENTS.md.",
150
+ },
151
+ {
152
+ cliente: "cline",
153
+ arquivos: [".clinerules/00-sema.md", ".clinerules", ARQUIVO_SEMA_BOOT],
154
+ capacidadePadrao: "fraca",
155
+ observacao: "Cline costuma obedecer melhor quando o gate Sema vem em arquivo curto; se .clinerules for arquivo legado, o Sema atualiza esse fallback.",
156
+ },
157
+ {
158
+ cliente: "roo",
159
+ arquivos: [".roo/rules/00-sema.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
160
+ capacidadePadrao: "fraca",
161
+ observacao: "Roo Code deve começar por uma regra dedicada em .roo/rules antes de abrir arquivos longos.",
162
+ },
163
+ {
164
+ cliente: "opencode",
165
+ arquivos: [".opencode/instructions.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
166
+ capacidadePadrao: "media",
167
+ observacao: "OpenCode deve receber a mesma regra curta em instructions.md quando a pasta .opencode já existir.",
168
+ },
169
+ {
170
+ cliente: "cursor",
171
+ arquivos: [".cursor/rules/sema.mdc", "AGENTS.md", ARQUIVO_SEMA_BOOT],
172
+ capacidadePadrao: "media",
173
+ observacao: "Cursor deve receber uma regra curta própria para não depender de leitura completa do AGENTS.md.",
174
+ },
175
+ {
176
+ cliente: "claude",
177
+ arquivos: [".claude/CLAUDE.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
178
+ capacidadePadrao: "forte",
179
+ observacao: "Claude costuma seguir gates longos, mas ainda precisa de entrypoint explícito e repetido no workspace.",
180
+ },
181
+ {
182
+ cliente: "windsurf",
183
+ arquivos: [".windsurf/rules.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
184
+ capacidadePadrao: "media",
185
+ observacao: "Windsurf deve receber regra curta dedicada para evitar cair direto no código sem Sema.",
186
+ },
187
+ {
188
+ cliente: "generico",
189
+ arquivos: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVO_AGENT_CONTEXT_PACK],
190
+ capacidadePadrao: "fraca",
191
+ observacao: "Qualquer agente sem integração específica começa pelo boot card e só sobe contexto se passar pelos gates.",
192
+ },
193
+ ];
194
+ }
195
+ function criarFailClosedAgentContext() {
196
+ return [
197
+ "Se não conseguir chamar Sema, pare e declare bloqueio em vez de editar código ou contrato.",
198
+ "Se não houver contrato aplicável, crie ou edite o .sema antes do código.",
199
+ "Se o MCP remoto não tiver projeto sincronizado, use sema_chat_contexto e sema_sync/conteúdo inline; não peça para ler C:\\GitHub\\Sema.",
200
+ "Se for criar ou corrigir .sema, use sema_exemplos antes de escrever sintaxe.",
201
+ "Se a resposta humana estiver em PT-BR, preserve acentos e símbolos mesmo que a DSL use ASCII.",
202
+ "Se um arquivo de código tiver SEMA-GOVERNED, consulte Sema e o contrato aplicável antes de editar.",
203
+ `Se um arquivo passar de ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO} linhas, planeje divisão; se passar de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO}, pare e divida antes de concluir.`,
204
+ "Se um arquivo passar do orçamento, divida por responsabilidade real; não fatie em partes artificiais para enganar limite.",
205
+ "Se score, achados ou decisaoAgente parecerem bons, trate como sinal de triagem e confira evidência concreta no contrato e no código.",
206
+ "Se validar artefato inline com 100/100, ainda preserve cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.",
207
+ "Se o MCP retornar caminho Linux como /srv/sema/projetos, trate como espelho remoto autorizado, não como pasta local do usuário.",
208
+ "Se uma chamada Sema estourar por timeout local, aumente o timeout e tente de novo; timeout do agente não libera ação sem Sema.",
209
+ "Se a plataforma bloquear ou alertar política, trate como bloqueio externo ou falso positivo possível; explique sem tentar contornar filtro.",
210
+ "Se a tarefa tiver UI e você não conseguir garantir um padrão visual moderno mínimo, pare e peça revisão em vez de entregar interface genérica.",
211
+ ];
212
+ }
213
+ export function criarAgentContextPack(guiaPorCapacidade) {
214
+ const fontes = [
215
+ {
216
+ caminho: ARQUIVO_SEMA_BOOT,
217
+ tipo: "entrypoint",
218
+ prioridade: 1,
219
+ obrigatorio: true,
220
+ quandoUsar: "sempre no primeiro contato de qualquer agente com o projeto",
221
+ incluirTextoBrutoQuando: "a IA precisa de um boot curto, fail-closed e independente do tamanho de contexto",
222
+ },
223
+ {
224
+ caminho: ARQUIVO_SEMA_SMALL_MODEL,
225
+ tipo: "entrypoint",
226
+ prioridade: 2,
227
+ obrigatorio: true,
228
+ quandoUsar: "IA fraca, Copilot, modelo local pequeno, Cline/Roo com pouco contexto ou tarefa curta",
229
+ incluirTextoBrutoQuando: "a IA tende a ignorar instruções longas ou copiar a estética ASCII da DSL",
230
+ },
231
+ {
232
+ caminho: "llms.txt",
233
+ tipo: "entrypoint",
234
+ prioridade: 3,
235
+ obrigatorio: true,
236
+ quandoUsar: "sempre no primeiro contato com o projeto",
237
+ incluirTextoBrutoQuando: "a IA precisa de orientação compacta para operar o repositório",
238
+ },
239
+ {
240
+ caminho: ARQUIVO_AGENT_CONTEXT_PACK,
241
+ tipo: "entrypoint",
242
+ prioridade: 4,
243
+ obrigatorio: true,
244
+ quandoUsar: "sempre antes de decidir quais documentos ou exemplos abrir",
245
+ incluirTextoBrutoQuando: "a IA precisa auditar regras, proibições, prioridades e fontes de verdade",
246
+ },
247
+ {
248
+ caminho: "SEMA_BRIEF.micro.txt",
249
+ tipo: "resumo",
250
+ prioridade: 5,
251
+ obrigatorio: true,
252
+ quandoUsar: "IA fraca, onboarding, chat remoto ou primeiro triage",
253
+ incluirTextoBrutoQuando: "a tarefa cabe em contexto curto",
254
+ },
255
+ {
256
+ caminho: "SEMA_BRIEF.curto.txt",
257
+ tipo: "resumo",
258
+ prioridade: 6,
259
+ obrigatorio: true,
260
+ quandoUsar: "IA média, mudança pequena ou review rápido",
261
+ incluirTextoBrutoQuando: "o módulo alvo ainda não está claro pelo micro",
262
+ },
263
+ {
264
+ caminho: "SEMA_INDEX.json",
265
+ tipo: "indice",
266
+ prioridade: 7,
267
+ obrigatorio: true,
268
+ quandoUsar: "antes de abrir código cru ou escolher contrato alvo",
269
+ incluirTextoBrutoQuando: "a IA precisa mapear módulos, lacunas, riscos ou arquivos prováveis",
270
+ },
271
+ {
272
+ caminho: "AGENTS.md",
273
+ tipo: "operacional",
274
+ prioridade: 8,
275
+ obrigatorio: true,
276
+ quandoUsar: "antes de editar código, contrato, docs operacionais, release ou deploy",
277
+ incluirTextoBrutoQuando: "a IA precisa confirmar regras locais obrigatórias e prioridades do projeto",
278
+ },
279
+ {
280
+ caminho: "exemplos/",
281
+ tipo: "exemplos",
282
+ prioridade: 9,
283
+ obrigatorio: true,
284
+ quandoUsar: "antes de criar ou corrigir arquivo .sema, profile, Author, workflow, ops, game, legal ou research",
285
+ incluirTextoBrutoQuando: "a IA vai escrever sintaxe Sema ou comparar um contrato com formato oficial",
286
+ },
287
+ {
288
+ caminho: "docs/AGENT_STARTER.md",
289
+ tipo: "docs",
290
+ prioridade: 10,
291
+ obrigatorio: false,
292
+ quandoUsar: "onboarding de agente novo ou explicação curta do fluxo",
293
+ incluirTextoBrutoQuando: "o agente remoto não conhece Sema ainda",
294
+ },
295
+ {
296
+ caminho: ARQUIVO_DOC_AGENTES_CAPACIDADE,
297
+ tipo: "docs",
298
+ prioridade: 11,
299
+ obrigatorio: false,
300
+ quandoUsar: "configurar Copilot, Cline, Roo Code, OpenCode ou outro agente com disciplina variável",
301
+ incluirTextoBrutoQuando: "a IA precisa entender tiers fraca/média/forte e política de idioma",
302
+ },
303
+ {
304
+ caminho: "docs/sintaxe.md",
305
+ tipo: "docs",
306
+ prioridade: 12,
307
+ obrigatorio: false,
308
+ quandoUsar: "dúvida de gramática, blocos ou formato do DSL",
309
+ incluirTextoBrutoQuando: "a IA vai editar contrato e os exemplos não bastam",
310
+ },
311
+ {
312
+ caminho: "contratos/",
313
+ tipo: "contrato",
314
+ prioridade: 13,
315
+ obrigatorio: true,
316
+ quandoUsar: "antes de qualquer implementação ou alteração de comportamento",
317
+ incluirTextoBrutoQuando: "a tarefa toca uma capacidade governada por contrato",
318
+ },
319
+ ];
320
+ return {
321
+ nome: "Agent Context Pack",
322
+ versao: 5,
323
+ objetivo: "Dar a agentes IA uma entrada curta, estruturada e auditável antes de abrir código cru ou inventar contexto.",
324
+ ordemLeitura: [
325
+ ARQUIVO_SEMA_BOOT,
326
+ "llms.txt",
327
+ ARQUIVO_AGENT_CONTEXT_PACK,
328
+ ARQUIVO_SEMA_SMALL_MODEL,
329
+ "SEMA_BRIEF.micro.txt",
330
+ "SEMA_INDEX.json",
331
+ "AGENTS.md",
332
+ "exemplos/",
333
+ ],
334
+ regrasObrigatorias: [
335
+ "Contrato vem antes da ação.",
336
+ "Leia SEMA_BOOT.md antes de qualquer outro artefato de IA.",
337
+ "Leia AGENTS.md antes de editar código, contrato, docs operacionais, release ou deploy.",
338
+ "Use exemplos oficiais antes de criar ou corrigir sintaxe .sema.",
339
+ "Use SEMA_INDEX.json para escolher contrato, módulo e arquivos prováveis antes de abrir código cru.",
340
+ "Valide .sema alterado e rode drift antes de concluir.",
341
+ "Quando faltar contrato aplicável, crie ou edite o contrato antes do código.",
342
+ "Sema não contorna políticas da plataforma; ele governa contrato, escopo, drift, evidência e qualidade.",
343
+ "Responda no idioma do usuário e preserve acentos, cedilha, pontuação e símbolos humanos.",
344
+ "Use score composto, achados e decisaoAgente como sinais de triagem; confirme substância com contrato, código e evidência.",
345
+ "Mantenha o cabeçalho SEMA-GOVERNED em código gerado ou governado e volte ao contrato antes de editar.",
346
+ "Validação inline não dispensa cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.",
347
+ `Não crie nem conclua arquivo acima de ${LIMITE_BLOQUEIO_LINHAS_ORCAMENTO_SEMANTICO} linhas; acima de ${LIMITE_AVISO_LINHAS_ORCAMENTO_SEMANTICO}, planeje divisão por responsabilidade.`,
348
+ "Divida arquivo grande por responsabilidade real, como HTML, CSS, estado, renderização, cálculo e dados; não gere index_p1/index_p2 sem fronteira semântica.",
349
+ "Caminho Linux retornado pelo MCP remoto é espelho governado do Sema; não confunda com o checkout local do usuário.",
350
+ "Se uma chamada Sema estourar por timeout local, aumente o timeout e tente novamente; não trate lentidão como sessão inativa.",
351
+ "Se a tarefa tiver UI, trate design moderno como requisito governado por capacidade.",
352
+ ],
353
+ proibicoes: [
354
+ "Não inventar sintaxe Sema fora da gramática e dos exemplos oficiais.",
355
+ "Não tratar README, texto livre ou código como fonte superior ao contrato.",
356
+ "Não sincronizar segredos, .env, node_modules, builds, caches, uploads ou artefatos privados fora do escopo.",
357
+ "Não publicar, deployar ou remover capacidade sem contrato, drift e verificação.",
358
+ "Não assumir repositório público, GitHub Release pública ou leitura local pelo MCP; confira docs de repositórios e AGENTS.md.",
359
+ "Não usar a estética ASCII da DSL como desculpa para escrever PT-BR sem acentos.",
360
+ "Não remover SEMA-GOVERNED nem substituir drift por comentário dentro do código.",
361
+ "Não copiar o contrato inteiro para comentário de código; mantenha descrição humana curta.",
362
+ "Não tratar orçamento semântico como sugestão; arquivo grande deve ser dividido antes de concluir.",
363
+ "Não fatiar arquivo grande em partes sem responsabilidade real para passar no limite.",
364
+ "Não tratar score 100, regex ou presença de palavra-chave como prova suficiente de governança.",
365
+ "Não tratar validação inline como dispensa de cabeçalho SEMA-GOVERNED no arquivo físico.",
366
+ "Não culpar o limite de 500 linhas por arquitetura monolítica escolhida pela IA.",
367
+ "Não tratar timeout definido pelo agente como falha do Sema ou permissão para pular gate.",
368
+ "Não usar Sema para contornar política, segurança, permissões, termos ou filtros da plataforma.",
369
+ "Não entregar interface genérica, cinza, com cara de template antigo ou sem estados visuais quando a tarefa envolve UI.",
370
+ ],
371
+ prioridades: [
372
+ "Menor artefato suficiente primeiro.",
373
+ "Contrato, índice e AGENTS antes de código cru.",
374
+ "Exemplos oficiais antes de nova sintaxe.",
375
+ "Diagnóstico estruturado antes de opinião livre.",
376
+ "Compatibilidade com políticas da plataforma antes de reformular ou continuar após alerta externo.",
377
+ "Sinal sem evidência vira ritual; evidência concreta antes de concluir aderência.",
378
+ "Retry progressivo em timeout antes de declarar bloqueio.",
379
+ "Orçamento semântico, divisão por responsabilidade e cabeçalho governado antes de gravar ou finalizar código.",
380
+ "Design visual por capacidade quando houver UI.",
381
+ "Se risco ou escopo estiver ambíguo, parar e pedir contrato/contexto.",
382
+ ],
383
+ fontes,
384
+ exemplosOficiais: [...EXEMPLOS_OFICIAIS_AGENT_CONTEXT],
385
+ textoBrutoSobDemanda: Object.fromEntries(fontes.map((fonte) => [fonte.caminho, fonte.incluirTextoBrutoQuando])),
386
+ guiaPorCapacidade: {
387
+ fraca: guiaPorCapacidade.fraca.ordemLeitura,
388
+ pequena: guiaPorCapacidade.pequena.ordemLeitura,
389
+ media: guiaPorCapacidade.media.ordemLeitura,
390
+ forte: guiaPorCapacidade.forte.ordemLeitura,
391
+ grande: guiaPorCapacidade.grande.ordemLeitura,
392
+ },
393
+ aliasesCapacidade: { ...ALIASES_CAPACIDADE_IA },
394
+ entrypointsClientes: criarEntrypointsClientesIa(),
395
+ politicaIdioma: criarPoliticaIdiomaAgentContext(),
396
+ politicaCodigoGovernado: criarPoliticaCodigoGovernadoAgentContext(),
397
+ politicaTimeoutResumo: criarPoliticaTimeoutResumoAgentContext(),
398
+ politicaDesignVisual: criarPoliticaDesignVisualAgentContext(),
399
+ politicaPlataforma: criarPoliticaPlataformaAgentContext(),
400
+ failClosed: criarFailClosedAgentContext(),
401
+ };
402
+ }
403
+ //# sourceMappingURL=agentContextPack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentContextPack.js","sourceRoot":"","sources":["../src/agentContextPack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ export type CapacidadeIa = "fraca" | "media" | "forte";
2
+ export type CapacidadeIaLegada = "pequena" | "grande";
3
+ export type ChaveGuiaCapacidadeIa = CapacidadeIa | CapacidadeIaLegada;
4
+ export type GuiaCapacidadeIaMap = Record<ChaveGuiaCapacidadeIa, GuiaCapacidadeIa>;
5
+ export type TipoFonteAgentContext = "entrypoint" | "resumo" | "indice" | "operacional" | "exemplos" | "docs" | "contrato" | "cliente";
6
+ export interface GuiaCapacidadeIa {
7
+ descricao: string;
8
+ artefatos: string[];
9
+ ordemLeitura: string[];
10
+ evitar: string[];
11
+ }
12
+ export interface FonteAgentContextPack {
13
+ caminho: string;
14
+ tipo: TipoFonteAgentContext;
15
+ prioridade: number;
16
+ obrigatorio: boolean;
17
+ quandoUsar: string;
18
+ incluirTextoBrutoQuando: string;
19
+ }
20
+ export interface EntryPointClienteIa {
21
+ cliente: "copilot" | "cline" | "roo" | "opencode" | "cursor" | "claude" | "windsurf" | "generico";
22
+ arquivos: string[];
23
+ capacidadePadrao: CapacidadeIa;
24
+ observacao: string;
25
+ }
26
+ export interface PoliticaIdiomaAgentContext {
27
+ regra: string;
28
+ idiomaHumanoPadrao: string;
29
+ preservarAcentos: boolean;
30
+ separarDslDeTextoHumano: boolean;
31
+ comandosESimbolos: string;
32
+ }
33
+ export interface PoliticaCodigoGovernadoAgentContext {
34
+ marcador: "SEMA-GOVERNED";
35
+ regra: string;
36
+ descricaoHumana: string;
37
+ porCapacidade: Record<CapacidadeIa, string>;
38
+ formatosPorAlvo: Record<string, string>;
39
+ }
40
+ export interface PoliticaTimeoutResumoAgentContext {
41
+ regra: string;
42
+ timeoutInicialSegundos: number;
43
+ escalonamentoSegundos: number[];
44
+ timeoutDoAgenteNaoEhFalhaSema: boolean;
45
+ ateQuandoTentar: string;
46
+ porCapacidade: Record<CapacidadeIa, string>;
47
+ }
48
+ export interface PoliticaDesignVisualAgentContext {
49
+ regra: string;
50
+ modernoObrigatorio: boolean;
51
+ aplicarQuando: string;
52
+ proibicoes: string[];
53
+ porCapacidade: Record<CapacidadeIa, string>;
54
+ evidencias: Record<CapacidadeIa, string[]>;
55
+ criteriosMinimos: string[];
56
+ }
57
+ export interface PoliticaPlataformaAgentContext {
58
+ regra: string;
59
+ escopoGovernanca: string;
60
+ naoContornaPoliticas: boolean;
61
+ quandoHouverBloqueio: string;
62
+ proibicoes: string[];
63
+ porCapacidade: Record<CapacidadeIa, string>;
64
+ }
65
+ export interface AgentContextPack {
66
+ nome: "Agent Context Pack";
67
+ versao: number;
68
+ objetivo: string;
69
+ ordemLeitura: string[];
70
+ regrasObrigatorias: string[];
71
+ proibicoes: string[];
72
+ prioridades: string[];
73
+ fontes: FonteAgentContextPack[];
74
+ exemplosOficiais: string[];
75
+ textoBrutoSobDemanda: Record<string, string>;
76
+ guiaPorCapacidade: Record<ChaveGuiaCapacidadeIa, string[]>;
77
+ aliasesCapacidade: Record<CapacidadeIaLegada, CapacidadeIa>;
78
+ entrypointsClientes: EntryPointClienteIa[];
79
+ politicaIdioma: PoliticaIdiomaAgentContext;
80
+ politicaCodigoGovernado: PoliticaCodigoGovernadoAgentContext;
81
+ politicaTimeoutResumo: PoliticaTimeoutResumoAgentContext;
82
+ politicaDesignVisual: PoliticaDesignVisualAgentContext;
83
+ politicaPlataforma: PoliticaPlataformaAgentContext;
84
+ failClosed: string[];
85
+ }
86
+ export declare const ARQUIVO_SEMA_BOOT = "SEMA_BOOT.md";
87
+ export declare const ARQUIVO_SEMA_SMALL_MODEL = "SEMA_SMALL_MODEL.md";
88
+ export declare const ARQUIVO_AGENT_CONTEXT_PACK = "AGENT_CONTEXT_PACK.json";
89
+ export declare const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/agentes-por-capacidade.md";
90
+ export declare const ARQUIVOS_CANONICOS_IA_RAIZ: readonly ["SEMA_BOOT.md", "llms.txt", "AGENT_CONTEXT_PACK.json", "SEMA_SMALL_MODEL.md", "SEMA_BRIEF.md", "SEMA_INDEX.json", "AGENTS.md", "README.md", "llms-full.txt"];
91
+ export declare const CAPACIDADES_IA_OPERACIONAIS: readonly ["fraca", "media", "forte"];
92
+ export declare const ALIASES_CAPACIDADE_IA: Record<CapacidadeIaLegada, CapacidadeIa>;
93
+ export declare const MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO = "<!-- sema:agent-entrypoint:start -->";
94
+ export declare const MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM = "<!-- sema:agent-entrypoint:end -->";
95
+ export declare const DOCUMENTOS_SUPORTE_IA: readonly ["docs/agentes-por-capacidade.md", "docs/AGENT_STARTER.md", "docs/integracao-com-ia.md", "docs/fluxo-pratico-ia-sema.md", "docs/como-ensinar-a-sema-para-ia.md", "docs/persistencia-vendor-first.md", "docs/sintaxe.md", "docs/cli.md", "docs/mcp.md", "docs/profiles.md", "docs/profiles-author-agents-flow.md", "docs/testes.md", "docs/documentacao.md", "docs/deploy.md", "docs/env.md", "docs/rollback.md", "docs/extensao-vscode.md"];
96
+ export declare const EXEMPLOS_OFICIAIS_AGENT_CONTEXT: readonly ["exemplos/calculadora.sema", "exemplos/pagamento.sema", "exemplos/profile_software.sema", "exemplos/profile_workflow_n8n.sema", "exemplos/profile_ops.sema", "exemplos/profile_game.sema", "exemplos/profile_legal.sema", "exemplos/profile_research.sema", "exemplos/author_obra_comum.sema"];
@@ -0,0 +1,55 @@
1
+ // SEMA-GOVERNED: sema.produto.governanca_ia.contexto
2
+ // Descrição: tipos e constantes compartilhadas para entrada IA-first e entrypoints de agentes.
3
+ export const ARQUIVO_SEMA_BOOT = "SEMA_BOOT.md";
4
+ export const ARQUIVO_SEMA_SMALL_MODEL = "SEMA_SMALL_MODEL.md";
5
+ export const ARQUIVO_AGENT_CONTEXT_PACK = "AGENT_CONTEXT_PACK.json";
6
+ export const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/agentes-por-capacidade.md";
7
+ export const ARQUIVOS_CANONICOS_IA_RAIZ = [
8
+ ARQUIVO_SEMA_BOOT,
9
+ "llms.txt",
10
+ ARQUIVO_AGENT_CONTEXT_PACK,
11
+ ARQUIVO_SEMA_SMALL_MODEL,
12
+ "SEMA_BRIEF.md",
13
+ "SEMA_INDEX.json",
14
+ "AGENTS.md",
15
+ "README.md",
16
+ "llms-full.txt",
17
+ ];
18
+ export const CAPACIDADES_IA_OPERACIONAIS = ["fraca", "media", "forte"];
19
+ export const ALIASES_CAPACIDADE_IA = {
20
+ pequena: "fraca",
21
+ grande: "forte",
22
+ };
23
+ export const MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO = "<!-- sema:agent-entrypoint:start -->";
24
+ export const MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM = "<!-- sema:agent-entrypoint:end -->";
25
+ export const DOCUMENTOS_SUPORTE_IA = [
26
+ ARQUIVO_DOC_AGENTES_CAPACIDADE,
27
+ "docs/AGENT_STARTER.md",
28
+ "docs/integracao-com-ia.md",
29
+ "docs/fluxo-pratico-ia-sema.md",
30
+ "docs/como-ensinar-a-sema-para-ia.md",
31
+ "docs/persistencia-vendor-first.md",
32
+ "docs/sintaxe.md",
33
+ "docs/cli.md",
34
+ "docs/mcp.md",
35
+ "docs/profiles.md",
36
+ "docs/profiles-author-agents-flow.md",
37
+ "docs/testes.md",
38
+ "docs/documentacao.md",
39
+ "docs/deploy.md",
40
+ "docs/env.md",
41
+ "docs/rollback.md",
42
+ "docs/extensao-vscode.md",
43
+ ];
44
+ export const EXEMPLOS_OFICIAIS_AGENT_CONTEXT = [
45
+ "exemplos/calculadora.sema",
46
+ "exemplos/pagamento.sema",
47
+ "exemplos/profile_software.sema",
48
+ "exemplos/profile_workflow_n8n.sema",
49
+ "exemplos/profile_ops.sema",
50
+ "exemplos/profile_game.sema",
51
+ "exemplos/profile_legal.sema",
52
+ "exemplos/profile_research.sema",
53
+ "exemplos/author_obra_comum.sema",
54
+ ];
55
+ //# sourceMappingURL=agentContextTipos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentContextTipos.js","sourceRoot":"","sources":["../src/agentContextTipos.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,+FAA+F;AAkG/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AACpE,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAgC,CAAC;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,iBAAiB;IACjB,UAAU;IACV,0BAA0B;IAC1B,wBAAwB;IACxB,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,eAAe;CACP,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAA6C;IAC7E,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,OAAO;CAChB,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sCAAsC,CAAC;AAC5F,MAAM,CAAC,MAAM,kCAAkC,GAAG,oCAAoC,CAAC;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,8BAA8B;IAC9B,uBAAuB;IACvB,2BAA2B;IAC3B,+BAA+B;IAC/B,qCAAqC;IACrC,mCAAmC;IACnC,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,qCAAqC;IACrC,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,yBAAyB;CACjB,CAAC;AACX,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,2BAA2B;IAC3B,yBAAyB;IACzB,gCAAgC;IAChC,oCAAoC;IACpC,2BAA2B;IAC3B,4BAA4B;IAC5B,6BAA6B;IAC7B,gCAAgC;IAChC,iCAAiC;CACzB,CAAC"}