@semacode/cli 1.5.48 → 1.5.53

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/LICENSE +39 -21
  2. package/README.md +47 -48
  3. package/dist/agentContext.d.ts +2 -2
  4. package/dist/agentContext.js +1 -1
  5. package/dist/agentContextPack.d.ts +1 -1
  6. package/dist/agentContextPack.js +20 -28
  7. package/dist/agentContextTipos.d.ts +2 -2
  8. package/dist/agentContextTipos.js +7 -13
  9. package/dist/agentEntryPoints.js +244 -281
  10. package/dist/billing/index.d.ts +1 -58
  11. package/dist/billing/index.js +17 -278
  12. package/dist/cliArgs.js +0 -3
  13. package/dist/comandos.js +15 -131
  14. package/dist/contexto.d.ts +0 -9
  15. package/dist/contexto.js +59 -109
  16. package/dist/docs.part01.js +30 -51
  17. package/dist/drift.part14.js +18 -3
  18. package/dist/driftOrcamento.js +1 -2
  19. package/dist/index.d.ts +0 -6
  20. package/dist/index.js +0 -6
  21. package/dist/index.part01.d.ts +1 -1
  22. package/dist/index.part01.js +1 -3
  23. package/dist/index.part04.js +4 -4
  24. package/dist/index.part08.js +1 -22
  25. package/dist/initTemplatesBase.js +5 -5
  26. package/dist/sync/index.js +1 -1
  27. package/docs/README.md +19 -0
  28. package/docs/ai-integration.md +90 -0
  29. package/docs/ai-onboarding.md +33 -0
  30. package/docs/ai-workflow.md +62 -0
  31. package/docs/auth.md +16 -0
  32. package/docs/cli.md +36 -95
  33. package/docs/commands.md +90 -0
  34. package/docs/database.md +15 -0
  35. package/docs/deploy.md +6 -38
  36. package/docs/documentation.md +39 -0
  37. package/docs/env.md +8 -109
  38. package/docs/frontend.md +41 -0
  39. package/docs/getting-started.md +33 -0
  40. package/docs/i18n.md +15 -0
  41. package/docs/profiles.md +43 -0
  42. package/docs/repositories.md +19 -61
  43. package/docs/rollback.md +9 -20
  44. package/docs/security.md +24 -0
  45. package/docs/support.md +8 -0
  46. package/docs/syntax.md +128 -0
  47. package/docs/testing.md +17 -0
  48. package/docs/vocabulary.md +28 -0
  49. package/node_modules/@sema/gerador-css/package.json +1 -1
  50. package/node_modules/@sema/gerador-dart/package.json +1 -1
  51. package/node_modules/@sema/gerador-html/package.json +1 -1
  52. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  53. package/node_modules/@sema/gerador-lua/dist/index.js +10 -0
  54. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
  55. package/node_modules/@sema/gerador-lua/package.json +1 -1
  56. package/node_modules/@sema/gerador-python/package.json +1 -1
  57. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  58. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +1 -1
  59. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
  60. package/node_modules/@sema/nucleo/package.json +1 -1
  61. package/node_modules/@sema/padroes/package.json +1 -1
  62. package/package.json +15 -22
  63. package/AGENTS.md +0 -81
  64. package/AGENT_CONTEXT_PACK.json +0 -500
  65. package/SEMA_BRIEF.curto.txt +0 -18
  66. package/SEMA_BRIEF.md +0 -726
  67. package/SEMA_BRIEF.micro.txt +0 -16
  68. package/SEMA_INDEX.json +0 -11078
  69. package/dist/agentContext.js.map +0 -1
  70. package/dist/agentContextPack.js.map +0 -1
  71. package/dist/agentContextTipos.js.map +0 -1
  72. package/dist/agentEntryPoints.js.map +0 -1
  73. package/dist/angular-consumer-standalone.js.map +0 -1
  74. package/dist/authorAnalise.js.map +0 -1
  75. package/dist/authorPoliticas.js.map +0 -1
  76. package/dist/billing/index.js.map +0 -1
  77. package/dist/bridge.d.ts +0 -52
  78. package/dist/bridge.js +0 -333
  79. package/dist/bridge.js.map +0 -1
  80. package/dist/carregarModulos.js.map +0 -1
  81. package/dist/cliArgs.js.map +0 -1
  82. package/dist/comandos.js.map +0 -1
  83. package/dist/contexto.js.map +0 -1
  84. package/dist/controleComercialSupabase.d.ts +0 -7
  85. package/dist/controleComercialSupabase.js +0 -6
  86. package/dist/controleComercialSupabase.js.map +0 -1
  87. package/dist/controleComercialSupabaseAdmin.d.ts +0 -7
  88. package/dist/controleComercialSupabaseAdmin.js +0 -138
  89. package/dist/controleComercialSupabaseAdmin.js.map +0 -1
  90. package/dist/controleComercialSupabaseCadastro.d.ts +0 -4
  91. package/dist/controleComercialSupabaseCadastro.js +0 -85
  92. package/dist/controleComercialSupabaseCadastro.js.map +0 -1
  93. package/dist/controleComercialSupabaseConstantes.d.ts +0 -28
  94. package/dist/controleComercialSupabaseConstantes.js +0 -44
  95. package/dist/controleComercialSupabaseConstantes.js.map +0 -1
  96. package/dist/controleComercialSupabaseConsumo.d.ts +0 -2
  97. package/dist/controleComercialSupabaseConsumo.js +0 -77
  98. package/dist/controleComercialSupabaseConsumo.js.map +0 -1
  99. package/dist/controleComercialSupabaseConta.d.ts +0 -11
  100. package/dist/controleComercialSupabaseConta.js +0 -157
  101. package/dist/controleComercialSupabaseConta.js.map +0 -1
  102. package/dist/controleComercialSupabaseProfiles.d.ts +0 -4
  103. package/dist/controleComercialSupabaseProfiles.js +0 -55
  104. package/dist/controleComercialSupabaseProfiles.js.map +0 -1
  105. package/dist/controleComercialSupabaseTipos.d.ts +0 -3
  106. package/dist/controleComercialSupabaseTipos.js +0 -2
  107. package/dist/controleComercialSupabaseTipos.js.map +0 -1
  108. package/dist/controleComercialSupabaseTiposAdmin.d.ts +0 -152
  109. package/dist/controleComercialSupabaseTiposAdmin.js +0 -2
  110. package/dist/controleComercialSupabaseTiposAdmin.js.map +0 -1
  111. package/dist/controleComercialSupabaseTiposBase.d.ts +0 -169
  112. package/dist/controleComercialSupabaseTiposBase.js +0 -2
  113. package/dist/controleComercialSupabaseTiposBase.js.map +0 -1
  114. package/dist/controleComercialSupabaseTiposConta.d.ts +0 -220
  115. package/dist/controleComercialSupabaseTiposConta.js +0 -2
  116. package/dist/controleComercialSupabaseTiposConta.js.map +0 -1
  117. package/dist/cpp-symbols.js.map +0 -1
  118. package/dist/dev/index.js.map +0 -1
  119. package/dist/dev/watcher.js.map +0 -1
  120. package/dist/docs/resolver.js.map +0 -1
  121. package/dist/docs.js.map +0 -1
  122. package/dist/docs.part01.js.map +0 -1
  123. package/dist/docs.part02.js.map +0 -1
  124. package/dist/doctorCommand.js.map +0 -1
  125. package/dist/dotnet-http.js.map +0 -1
  126. package/dist/drift.contrato.js.map +0 -1
  127. package/dist/drift.js.map +0 -1
  128. package/dist/drift.part01.js.map +0 -1
  129. package/dist/drift.part02.js.map +0 -1
  130. package/dist/drift.part03.js.map +0 -1
  131. package/dist/drift.part04.js.map +0 -1
  132. package/dist/drift.part05.js.map +0 -1
  133. package/dist/drift.part06.js.map +0 -1
  134. package/dist/drift.part07.js.map +0 -1
  135. package/dist/drift.part08.js.map +0 -1
  136. package/dist/drift.part09.js.map +0 -1
  137. package/dist/drift.part10.js.map +0 -1
  138. package/dist/drift.part11.js.map +0 -1
  139. package/dist/drift.part12.js.map +0 -1
  140. package/dist/drift.part13.js.map +0 -1
  141. package/dist/drift.part14.js.map +0 -1
  142. package/dist/driftOrcamento.js.map +0 -1
  143. package/dist/driftScore.js.map +0 -1
  144. package/dist/execucoesExternas.js.map +0 -1
  145. package/dist/exemplosOficiais.js.map +0 -1
  146. package/dist/fsGovernado.js.map +0 -1
  147. package/dist/geracaoCore.js.map +0 -1
  148. package/dist/go-http.js.map +0 -1
  149. package/dist/guard.js.map +0 -1
  150. package/dist/iaPrompts.js.map +0 -1
  151. package/dist/importador.js.map +0 -1
  152. package/dist/importador.part01.js.map +0 -1
  153. package/dist/importador.part02.js.map +0 -1
  154. package/dist/importador.part03.js.map +0 -1
  155. package/dist/importador.part04.js.map +0 -1
  156. package/dist/importador.part05.js.map +0 -1
  157. package/dist/importador.part06.js.map +0 -1
  158. package/dist/importador.part07.js.map +0 -1
  159. package/dist/importador.part08.js.map +0 -1
  160. package/dist/importador.part09.js.map +0 -1
  161. package/dist/index.js.map +0 -1
  162. package/dist/index.part01.js.map +0 -1
  163. package/dist/index.part02.js.map +0 -1
  164. package/dist/index.part03.js.map +0 -1
  165. package/dist/index.part04.js.map +0 -1
  166. package/dist/index.part05.js.map +0 -1
  167. package/dist/index.part06.js.map +0 -1
  168. package/dist/index.part07.js.map +0 -1
  169. package/dist/index.part08.js.map +0 -1
  170. package/dist/init/index.js.map +0 -1
  171. package/dist/init/templates.js.map +0 -1
  172. package/dist/init/templates.part01.js.map +0 -1
  173. package/dist/init/templates.part02.js.map +0 -1
  174. package/dist/initCommand.js.map +0 -1
  175. package/dist/initTemplatesBackend.js.map +0 -1
  176. package/dist/initTemplatesBase.js.map +0 -1
  177. package/dist/initTemplatesFlutter.js.map +0 -1
  178. package/dist/initTemplatesRuntime.js.map +0 -1
  179. package/dist/initTemplatesWeb.js.map +0 -1
  180. package/dist/java-http.js.map +0 -1
  181. package/dist/lua-symbols.js.map +0 -1
  182. package/dist/mcpInstalarChaveCommand.d.ts +0 -1
  183. package/dist/mcpInstalarChaveCommand.js +0 -168
  184. package/dist/mcpInstalarChaveCommand.js.map +0 -1
  185. package/dist/mcpRemoto.d.ts +0 -32
  186. package/dist/mcpRemoto.js +0 -61
  187. package/dist/mcpRemoto.js.map +0 -1
  188. package/dist/mcp_chave.d.ts +0 -1
  189. package/dist/mcp_chave.js +0 -4
  190. package/dist/mcp_chave.js.map +0 -1
  191. package/dist/profileArtefatoBase.js.map +0 -1
  192. package/dist/profileArtefatoValidadores.js.map +0 -1
  193. package/dist/profileAuthorCommand.js.map +0 -1
  194. package/dist/profileAuthorTipos.js.map +0 -1
  195. package/dist/profileCatalogo.js.map +0 -1
  196. package/dist/profileCommand.js.map +0 -1
  197. package/dist/profileI18nCatalogo.js.map +0 -1
  198. package/dist/profileI18nVisivel.js.map +0 -1
  199. package/dist/profileOrquestracao.js.map +0 -1
  200. package/dist/profileRegras.js.map +0 -1
  201. package/dist/profileRulePacks.js.map +0 -1
  202. package/dist/profiles/validate.js.map +0 -1
  203. package/dist/projeto.js.map +0 -1
  204. package/dist/projetoBusca.js.map +0 -1
  205. package/dist/projetoCarregar.js.map +0 -1
  206. package/dist/projetoConfig.js.map +0 -1
  207. package/dist/projetoLegado.js.map +0 -1
  208. package/dist/projetoOrigens.js.map +0 -1
  209. package/dist/projetoResolucao.js.map +0 -1
  210. package/dist/projetoTipos.js.map +0 -1
  211. package/dist/python-http.js.map +0 -1
  212. package/dist/runnerValidacaoRemota.d.ts +0 -9
  213. package/dist/runnerValidacaoRemota.js +0 -9
  214. package/dist/runnerValidacaoRemota.js.map +0 -1
  215. package/dist/runnerValidacaoRemotaBateria.d.ts +0 -10
  216. package/dist/runnerValidacaoRemotaBateria.js +0 -117
  217. package/dist/runnerValidacaoRemotaBateria.js.map +0 -1
  218. package/dist/runnerValidacaoRemotaCli.d.ts +0 -4
  219. package/dist/runnerValidacaoRemotaCli.js +0 -86
  220. package/dist/runnerValidacaoRemotaCli.js.map +0 -1
  221. package/dist/runnerValidacaoRemotaComandos.d.ts +0 -7
  222. package/dist/runnerValidacaoRemotaComandos.js +0 -123
  223. package/dist/runnerValidacaoRemotaComandos.js.map +0 -1
  224. package/dist/runnerValidacaoRemotaEscopo.d.ts +0 -4
  225. package/dist/runnerValidacaoRemotaEscopo.js +0 -79
  226. package/dist/runnerValidacaoRemotaEscopo.js.map +0 -1
  227. package/dist/runnerValidacaoRemotaExecucao.d.ts +0 -2
  228. package/dist/runnerValidacaoRemotaExecucao.js +0 -104
  229. package/dist/runnerValidacaoRemotaExecucao.js.map +0 -1
  230. package/dist/runnerValidacaoRemotaRelatorio.d.ts +0 -3
  231. package/dist/runnerValidacaoRemotaRelatorio.js +0 -95
  232. package/dist/runnerValidacaoRemotaRelatorio.js.map +0 -1
  233. package/dist/runnerValidacaoRemotaServidor.d.ts +0 -4
  234. package/dist/runnerValidacaoRemotaServidor.js +0 -185
  235. package/dist/runnerValidacaoRemotaServidor.js.map +0 -1
  236. package/dist/runnerValidacaoRemotaSnapshot.d.ts +0 -10
  237. package/dist/runnerValidacaoRemotaSnapshot.js +0 -219
  238. package/dist/runnerValidacaoRemotaSnapshot.js.map +0 -1
  239. package/dist/runnerValidacaoRemotaTipos.d.ts +0 -158
  240. package/dist/runnerValidacaoRemotaTipos.js +0 -35
  241. package/dist/runnerValidacaoRemotaTipos.js.map +0 -1
  242. package/dist/runnerValidacaoRemotaUtil.d.ts +0 -3
  243. package/dist/runnerValidacaoRemotaUtil.js +0 -18
  244. package/dist/runnerValidacaoRemotaUtil.js.map +0 -1
  245. package/dist/runnerValidacaoRemotaWorkspace.d.ts +0 -2
  246. package/dist/runnerValidacaoRemotaWorkspace.js +0 -115
  247. package/dist/runnerValidacaoRemotaWorkspace.js.map +0 -1
  248. package/dist/rust-http.js.map +0 -1
  249. package/dist/semaChatCommand.d.ts +0 -1
  250. package/dist/semaChatCommand.js +0 -43
  251. package/dist/semaChatCommand.js.map +0 -1
  252. package/dist/semaChatRuntime.d.ts +0 -23
  253. package/dist/semaChatRuntime.js +0 -202
  254. package/dist/semaChatRuntime.js.map +0 -1
  255. package/dist/sync/index.js.map +0 -1
  256. package/dist/textoListas.js.map +0 -1
  257. package/dist/tipos.js.map +0 -1
  258. package/dist/typescript-http-body.js.map +0 -1
  259. package/dist/typescript-http-expressoes.js.map +0 -1
  260. package/dist/typescript-http-modelos.js.map +0 -1
  261. package/dist/typescript-http-rotas.js.map +0 -1
  262. package/dist/typescript-http-semantica.js.map +0 -1
  263. package/dist/typescript-http.js.map +0 -1
  264. package/docs/AGENT_STARTER.md +0 -147
  265. package/docs/agentes-por-capacidade.md +0 -130
  266. package/docs/api.md +0 -82
  267. package/docs/comandos.md +0 -807
  268. package/docs/como-ensinar-a-sema-para-ia.md +0 -30
  269. package/docs/documentacao.md +0 -74
  270. package/docs/extensao-vscode.md +0 -49
  271. package/docs/fluxo-pratico-ia-sema.md +0 -278
  272. package/docs/instalacao-e-primeiro-uso.md +0 -60
  273. package/docs/integracao-com-ia.md +0 -44
  274. package/docs/mcp.md +0 -69
  275. package/docs/pagamento-ponta-a-ponta.md +0 -171
  276. package/docs/persistencia-vendor-first.md +0 -151
  277. package/docs/prompt-base-ia-sema.md +0 -111
  278. package/docs/seguranca.md +0 -126
  279. package/docs/sintaxe.md +0 -390
  280. package/llms-full.txt +0 -40
  281. package/llms.txt +0 -23
package/docs/sintaxe.md DELETED
@@ -1,390 +0,0 @@
1
- <!-- sema:agent-entrypoint:start -->
2
- # Sintaxe Sema Para IA
3
-
4
- Use este arquivo como referencia curta antes de criar ou corrigir contratos `.sema`.
5
-
6
- ## Regra de ouro
7
-
8
- Contrato vem antes de codigo. Antes de escrever `.sema`, consulte os exemplos locais em `exemplos/`.
9
-
10
- ## Exemplo minimo
11
-
12
- ```sema
13
- module app.exemplo {
14
- entity Item {
15
- fields {
16
- id: Id
17
- nome: Texto
18
- ativo: Booleano
19
- }
20
- }
21
-
22
- task criar_item {
23
- input {
24
- nome: Texto required
25
- }
26
- output {
27
- item: Item
28
- }
29
- rules {
30
- nome deve_ser preenchido
31
- }
32
- effects {
33
- persistencia Item
34
- auditoria item_criado
35
- }
36
- guarantees {
37
- item existe
38
- }
39
- tests {
40
- caso "cria item valido" {
41
- given { nome: "Item" }
42
- expect { sucesso: verdadeiro }
43
- }
44
- }
45
- }
46
- }
47
- ```
48
-
49
- ## Blocos mais usados
50
-
51
- - `docs`: resumo e notas do modulo.
52
- - `entity`: modelo de dominio.
53
- - `task`: operacao governada.
54
- - `input` e `output`: contrato de entrada e saida.
55
- - `rules`: validacoes e regras de negocio.
56
- - `effects`: persistencia, consulta, evento, auditoria e chamadas externas.
57
- - `guarantees`: o que a task precisa entregar se tiver sucesso.
58
- - `error`: erros nomeados e mensagens.
59
- - `tests`: casos minimos de comportamento.
60
- - `route`: superficie publica vinculada a uma task.
61
- - `impl` e `vinculos`: ligacao entre contrato e codigo real.
62
-
63
- ## Origens canonicas de `use` e `impl`
64
-
65
- Use estas origens em contratos antes de inventar palavra nova:
66
-
67
- - `ts` ou `typescript`
68
- - `js` ou `javascript`
69
- - `py` ou `python`
70
- - `dart`
71
- - `lua`
72
- - `cs` ou `dotnet`
73
- - `java`
74
- - `go`
75
- - `rust`
76
- - `cpp`
77
-
78
- Exemplos:
79
-
80
- ```sema
81
- use javascript app.web.despesas
82
-
83
- impl {
84
- js: src.app.salvarDespesa
85
- }
86
- ```
87
-
88
- `sema compilar --alvo javascript` define o alvo de geracao. `impl { js: ... }` define a origem do codigo vivo ligado ao contrato. Sao camadas diferentes e ambas sao validas.
89
-
90
- ## Listas canonicas pequenas
91
-
92
- - `effects`: `persistencia`, `consulta`, `evento`, `auditoria`, `db.write`, `queue.publish`, `fs.write`, `network.egress`, `secret.read`, `shell.exec`.
93
- - `audit.motivo`: `obrigatorio`, `opcional`, `dispensado`.
94
-
95
- ## Tamanho de contrato .sema
96
-
97
- - ate 300 linhas: saudavel
98
- - 301-500 linhas: diagnostico, planeje split
99
- - acima de 500: bloqueia criacao, edicao, drift, finalizacao, geracao e snapshot
100
- - divida por dominio/capacidade real, como `despesas_cadastro.sema`, `despesas_totais.sema`, `despesas_persistencia.sema`
101
- - nunca use `parte_1`, `parte_2`, `part_3` ou nomes equivalentes
102
- - nao remova `guarantees`, `tests`, `authz`, `dados` ou `vinculos` so para caber no limite
103
- - varios contratos `.sema` podem governar o mesmo arquivo de codigo via `vinculos`; isso e esperado
104
-
105
- ## JavaScript existe
106
-
107
- A CLI suporta geracao JavaScript. Use:
108
-
109
- ```bash
110
- sema compilar contratos/pedidos.sema --alvo javascript --saida ./generated/javascript
111
- ```
112
-
113
- O projeto tambem pode gerar TypeScript, Python, Dart, Lua, HTML e CSS quando esses alvos estiverem em `sema.config.json`.
114
-
115
- ## Arquivos de apoio
116
-
117
- - `AGENTS.md`: regras obrigatorias do agente.
118
- - `SEMA_BOOT.md`: primeira leitura para qualquer IA.
119
- - `SEMA_SMALL_MODEL.md`: versao curta para IA fraca.
120
- - `AGENT_CONTEXT_PACK.json`: pacote estruturado para agentes.
121
- - `SEMA_INDEX.json`: indice do projeto.
122
- - `docs/comandos.md`: catalogo de comandos, gates e regra de `--saida`.
123
- - `exemplos/`: exemplos oficiais da DSL.
124
-
125
- Se a IA nao souber qual forma usar, ela deve abrir `exemplos/calculadora.sema`, `exemplos/crud_simples.sema`, `exemplos/pagamento.sema` ou `exemplos/tratamento_erro.sema` antes de inventar sintaxe.
126
-
127
- Politica de plataforma: 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.
128
- <!-- sema:agent-entrypoint:end -->
129
-
130
- # Sintaxe Canonica
131
-
132
- <!-- sema:i18n -->
133
- > EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
134
- > PT: Português depois, com acentos preservados.
135
- > ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
136
-
137
-
138
- A Sema usa blocos declarativos previsiveis para reduzir ambiguidade no parser, na IR, no drift e no contexto de IA. A escrita humana pode ser legivel, mas o alvo principal da sintaxe e gerar contrato consumivel por agente.
139
-
140
- ## Regras basicas
141
-
142
- - um arquivo `.sema` contem um `module` principal
143
- - cada bloco abre com palavra-chave e fecha com `}`
144
- - campos usam `nome: valor`
145
- - blocos declarativos podem aparecer aninhados quando o contrato exigir
146
- - `tests` usa blocos `caso`
147
-
148
- ## Blocos de primeira classe
149
-
150
- - `module`
151
- - `use`
152
- - `database`
153
- - `type`
154
- - `entity`
155
- - `enum`
156
- - `state`
157
- - `task`
158
- - `flow`
159
- - `route`
160
- - `worker`
161
- - `evento`
162
- - `fila`
163
- - `cron`
164
- - `webhook`
165
- - `cache`
166
- - `storage`
167
- - `policy`
168
- - `tests`
169
- - `docs`
170
- - `comments`
171
-
172
- ## Subblocos comuns
173
-
174
- - `input`
175
- - `output`
176
- - `rules`
177
- - `effects`
178
- - `auth`
179
- - `authz`
180
- - `dados`
181
- - `audit`
182
- - `segredos`
183
- - `forbidden`
184
- - `impl`
185
- - `vinculos`
186
- - `execucao`
187
- - `guarantees`
188
- - `error`
189
- - `fields`
190
- - `invariants`
191
- - `transitions`
192
- - `given`
193
- - `when`
194
- - `expect`
195
-
196
- ## Origens canonicas de `use` e `impl`
197
-
198
- Use estas origens em contratos antes de inventar palavra nova:
199
-
200
- - `ts` ou `typescript`
201
- - `js` ou `javascript`
202
- - `py` ou `python`
203
- - `dart`
204
- - `lua`
205
- - `cs` ou `dotnet`
206
- - `java`
207
- - `go`
208
- - `rust`
209
- - `cpp`
210
-
211
- Exemplos:
212
-
213
- ```sema
214
- use javascript app.web.despesas
215
-
216
- task salvar_despesa {
217
- input {
218
- descricao: Texto required
219
- }
220
- output {
221
- id: Id
222
- }
223
- impl {
224
- js: src.app.salvarDespesa
225
- }
226
- guarantees {
227
- id existe
228
- }
229
- }
230
- ```
231
-
232
- `sema compilar --alvo javascript` define alvo de geracao. `impl { js: ... }` define origem do codigo vivo. Nao troque uma coisa pela outra.
233
-
234
- ## Listas canonicas pequenas
235
-
236
- - `effects`: `persistencia`, `consulta`, `evento`, `auditoria`, `db.write`, `queue.publish`, `fs.write`, `network.egress`, `secret.read`, `shell.exec`.
237
- - `audit.motivo`: `obrigatorio`, `opcional`, `dispensado`.
238
-
239
- ## Tipos primitivos
240
-
241
- Tipos primitivos reconhecidos diretamente:
242
-
243
- - `Texto`
244
- - `Numero`
245
- - `Inteiro`
246
- - `Decimal`
247
- - `Booleano`
248
- - `Data`
249
- - `Timestamp`
250
- - `Objeto`
251
- - `Id`
252
- - `Email`
253
- - `Json`
254
-
255
- `Timestamp` e `Objeto` funcionam como aliases primitivos suportados e preservam o texto original na IR.
256
-
257
- ## Tipos compostos
258
-
259
- ```sema
260
- input {
261
- ids: Lista<Id> required
262
- metadata: Mapa<Texto, Texto>
263
- responsavel: Opcional<Usuario>
264
- chave_publica: Texto|Id
265
- }
266
- ```
267
-
268
- Formas suportadas:
269
-
270
- - `Lista<T>`
271
- - `Mapa<K, V>`
272
- - `Opcional<T>`
273
- - `T1|T2`
274
- - `T?`
275
-
276
- ## Predicados normalizados
277
-
278
- Predicados escritos em contrato preservam o texto original em `predicado`. Quando a CLI reconhece uma forma comum, a expressao estruturada pode expor também `predicadoCanonico`.
279
-
280
- Exemplo:
281
-
282
- ```sema
283
- rules {
284
- email deve_ser email_valido
285
- nome deve_ser preenchido
286
- }
287
- ```
288
-
289
- Na IR, `email_valido` continua existindo como escrito e pode receber uma normalizacao como `valid_email`; `preenchido` pode receber `filled`. Esse campo e opcional e serve a agente/automacao, não muda a sintaxe pública.
290
-
291
- ## Persistência vendor-first
292
-
293
- O bloco `database` modela banco e recursos persistidos sem apagar as diferenças entre engines.
294
-
295
- Estrutura base:
296
-
297
- ```sema
298
- database principal_postgres {
299
- engine: postgres
300
- consistency: forte
301
- durability: alta
302
- transaction_model: mvcc
303
- query_model: sql
304
- }
305
- ```
306
-
307
- Recursos canonicamente suportados:
308
-
309
- - `table`
310
- - `index`
311
- - `relationship`
312
- - `query`
313
- - `retention`
314
- - `lock`
315
- - `replication`
316
- - `collection`
317
- - `document`
318
- - `keyspace`
319
- - `stream`
320
- - `capabilities`
321
-
322
- Exemplo relacional:
323
-
324
- ```sema
325
- database principal_postgres {
326
- engine: postgres
327
- schema: public
328
- capabilities {
329
- joins
330
- views
331
- foreign_keys
332
- }
333
- table pedidos {
334
- entity: Pedido
335
- }
336
- relationship pedido_cliente {
337
- from: Pedido
338
- to: Cliente
339
- }
340
- query buscar_pedidos {
341
- mode: sql
342
- }
343
- }
344
- ```
345
-
346
- Exemplo documental:
347
-
348
- ```sema
349
- database principal_mongodb {
350
- engine: mongodb
351
- query_model: documento
352
- collection pedidos {
353
- collection: pedidos
354
- }
355
- document pedido_snapshot {
356
- entity: PedidoSnapshot
357
- }
358
- query pipeline_pedido {
359
- mode: pipeline
360
- }
361
- }
362
- ```
363
-
364
- Exemplo key-value:
365
-
366
- ```sema
367
- database principal_redis {
368
- engine: redis
369
- query_model: chave_valor
370
- keyspace cache_pedidos {
371
- ttl: "300s"
372
- }
373
- stream eventos_pedido {
374
- surface: fila
375
- }
376
- }
377
- ```
378
-
379
- ## Compatibilidade declarada
380
-
381
- O IR de persistência calcula compatibilidade por recurso com quatro estados:
382
-
383
- - `nativo`
384
- - `adaptado`
385
- - `parcial`
386
- - `invalido`
387
-
388
- Isso existe para deixar explícito quando um contrato está pedindo de um banco algo que ele não entrega do mesmo jeito.
389
-
390
- O mesmo principio vale para runtime de orquestração. Superfícies como `webhook`, `cron`, `worker`, `evento` e `fila` podem ser medidas contra famílias como `n8n`, mas o contrato continua canonicamente modelado em Sema, sem rebaixar a linguagem para a sintaxe do adapter alvo.
package/llms-full.txt DELETED
@@ -1,40 +0,0 @@
1
- Sema is an AI-first semantic language and tooling stack for explicit software intent, drift analysis, and safer intervention in live backend systems.
2
-
3
- This repository is not optimized for human-first reading. It is optimized for AI agents that need compressed, canonical semantic context.
4
-
5
- Canonical entrypoints in the repository root:
6
- 1. `llms.txt`
7
- 2. `AGENT_CONTEXT_PACK.json`
8
- 3. `SEMA_BRIEF.md`
9
- 4. `SEMA_INDEX.json`
10
- 5. `AGENTS.md`
11
- 6. `README.md`
12
- 7. `docs/AGENT_STARTER.md`
13
-
14
- Capacity routing:
15
- - small/free AI: `llms.txt` -> `AGENT_CONTEXT_PACK.json` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json` -> `AGENTS.md`
16
- - medium AI: `llms.txt` -> `AGENT_CONTEXT_PACK.json` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
17
- - large/tool-using AI: `llms-full.txt` -> `AGENT_CONTEXT_PACK.json` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
18
-
19
- Platform policy:
20
- - Sema governs project contracts, scope, drift, evidence, language, semantic budget, and quality.
21
- - Sema does not bypass platform policy, terms, permissions, security, or law.
22
- - If a client/model blocks or warns, treat it as an external block or possible false positive; explain neutrally and do not try to bypass filters.
23
-
24
- Source-of-truth order:
25
- 1. root Sema artifacts
26
- 2. CLI JSON outputs
27
- 3. official docs
28
- 4. official examples
29
- 5. raw implementation code
30
-
31
- Useful commands:
32
- - `sema resumo <arquivo-ou-pasta> --micro --para mudanca`
33
- - `sema prompt-curto <arquivo-ou-pasta> --curto --para review`
34
- - `sema drift <arquivo-ou-pasta> --json`
35
- - `sema contexto-ia <arquivo.sema> --saida ./.tmp/contexto --json`
36
- - `sema validar <arquivo-ou-pasta> --json`
37
- - `sema verificar <arquivo-ou-pasta> --json`
38
-
39
- Do not ask the model to infer semantics that are already available in Sema artifacts.
40
- Do not start from raw source code if `AGENT_CONTEXT_PACK`, `SEMA_BRIEF`, `SEMA_INDEX`, `drift`, or `briefing` are available.
package/llms.txt DELETED
@@ -1,23 +0,0 @@
1
- Sema is an AI-first semantic language and tooling stack for backend intent.
2
-
3
- This repository is not human-first. Use the canonical AI entrypoints before raw code.
4
-
5
- Read in this order:
6
- 1. AGENT_CONTEXT_PACK.json
7
- 2. SEMA_BRIEF.micro.txt or SEMA_BRIEF.md
8
- 3. SEMA_INDEX.json
9
- 4. AGENTS.md
10
- 5. README.md
11
-
12
- Capacity routing:
13
- - small models: llms.txt -> AGENT_CONTEXT_PACK.json -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json -> AGENTS.md
14
- - medium models: llms.txt -> AGENT_CONTEXT_PACK.json -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> AGENTS.md -> README.md
15
- - large models: llms-full.txt -> AGENT_CONTEXT_PACK.json -> SEMA_BRIEF.md -> SEMA_INDEX.json -> AGENTS.md -> README.md
16
-
17
- Platform policy:
18
- - Sema governs project contracts, scope, drift, evidence, language, semantic budget, and quality.
19
- - Sema does not bypass platform policy, terms, permissions, security, or law.
20
- - If a client/model blocks or warns, treat it as an external block or possible false positive; explain neutrally and do not try to bypass filters.
21
-
22
- Prefer Sema artifacts over raw source code when both exist.
23
- Prefer `drift`, `briefing`, `ir`, and `diagnosticos` over guesswork.