@semacode/cli 1.5.11 → 1.5.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/index.js +446 -32
- package/package.json +23 -32
- package/semacode-cli-1.3.1.tgz +0 -0
- package/src/angular-consumer-standalone.ts +312 -0
- package/src/cpp-symbols.ts +82 -0
- package/src/docs.ts +535 -0
- package/src/dotnet-http.ts +355 -0
- package/src/drift.ts +4933 -0
- package/src/go-http.ts +118 -0
- package/src/importador.ts +3891 -0
- package/src/index.ts +5641 -0
- package/src/java-http.ts +247 -0
- package/src/lua-symbols.ts +114 -0
- package/src/php-symbols.ts +462 -0
- package/src/projeto.ts +862 -0
- package/src/python-http.ts +258 -0
- package/src/rust-http.ts +125 -0
- package/src/tipos.ts +24 -0
- package/src/typescript-http.ts +1076 -0
- package/tsconfig.json +20 -0
- package/AGENTS.md +0 -272
- package/LICENSE +0 -22
- package/SEMA_BRIEF.curto.txt +0 -9
- package/SEMA_BRIEF.md +0 -63
- package/SEMA_BRIEF.micro.txt +0 -7
- package/SEMA_INDEX.json +0 -799
- package/dist/angular-consumer-standalone.d.ts +0 -6
- package/dist/angular-consumer-standalone.js.map +0 -1
- package/dist/cpp-symbols.d.ts +0 -10
- package/dist/cpp-symbols.js.map +0 -1
- package/dist/docs.d.ts +0 -56
- package/dist/docs.js.map +0 -1
- package/dist/dotnet-http.d.ts +0 -23
- package/dist/dotnet-http.js.map +0 -1
- package/dist/drift.d.ts +0 -225
- package/dist/drift.js.map +0 -1
- package/dist/go-http.d.ts +0 -23
- package/dist/go-http.js.map +0 -1
- package/dist/importador.d.ts +0 -31
- package/dist/importador.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/java-http.d.ts +0 -23
- package/dist/java-http.js.map +0 -1
- package/dist/lua-symbols.d.ts +0 -10
- package/dist/lua-symbols.js.map +0 -1
- package/dist/php-symbols.d.ts +0 -24
- package/dist/php-symbols.js.map +0 -1
- package/dist/projeto.d.ts +0 -53
- package/dist/projeto.js.map +0 -1
- package/dist/python-http.d.ts +0 -23
- package/dist/python-http.js.map +0 -1
- package/dist/rust-http.d.ts +0 -23
- package/dist/rust-http.js.map +0 -1
- package/dist/tipos.d.ts +0 -3
- package/dist/tipos.js.map +0 -1
- package/dist/typescript-http.d.ts +0 -35
- package/dist/typescript-http.js.map +0 -1
- package/docs/AGENT_STARTER.md +0 -102
- package/docs/cli.md +0 -110
- package/docs/como-ensinar-a-sema-para-ia.md +0 -149
- package/docs/deploy.md +0 -70
- package/docs/documentacao.md +0 -63
- package/docs/env.md +0 -56
- package/docs/extensao-vscode.md +0 -45
- package/docs/fluxo-pratico-ia-sema.md +0 -177
- package/docs/instalacao-e-primeiro-uso.md +0 -112
- package/docs/integracao-com-ia.md +0 -101
- package/docs/mcp.md +0 -53
- package/docs/pagamento-ponta-a-ponta.md +0 -155
- package/docs/persistencia-vendor-first.md +0 -145
- package/docs/prompt-base-ia-sema.md +0 -104
- package/docs/rollback.md +0 -47
- package/docs/sintaxe.md +0 -244
- package/exemplos/agendamento.sema +0 -106
- package/exemplos/assinatura.sema +0 -136
- package/exemplos/auditoria.sema +0 -88
- package/exemplos/autenticacao.sema +0 -125
- package/exemplos/automacao.sema +0 -107
- package/exemplos/cadastro_usuario.sema +0 -54
- package/exemplos/calculadora.sema +0 -78
- package/exemplos/crud_simples.sema +0 -89
- package/exemplos/estoque.sema +0 -126
- package/exemplos/exportacao.sema +0 -94
- package/exemplos/fila.sema +0 -131
- package/exemplos/integracao_externa.sema +0 -94
- package/exemplos/multi_tenant.sema +0 -140
- package/exemplos/notificacao.sema +0 -98
- package/exemplos/operacao_estrategia.sema +0 -402
- package/exemplos/pagamento.sema +0 -222
- package/exemplos/pagamento_dominio.sema +0 -35
- package/exemplos/pedido.sema +0 -119
- package/exemplos/permissao.sema +0 -121
- package/exemplos/persistencia_vendor_first.sema +0 -86
- package/exemplos/relatorio.sema +0 -93
- package/exemplos/testes_embutidos.sema +0 -45
- package/exemplos/tratamento_erro.sema +0 -157
- package/exemplos/upload_arquivo.sema +0 -93
- package/exemplos/webhook.sema +0 -96
- package/llms-full.txt +0 -34
- package/llms.txt +0 -17
- package/node_modules/@sema/gerador-css/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-css/dist/index.js +0 -592
- package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/package.json +0 -7
- package/node_modules/@sema/gerador-dart/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-dart/dist/index.js +0 -44
- package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-dart/package.json +0 -7
- package/node_modules/@sema/gerador-html/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-html/dist/index.js +0 -163
- package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-html/package.json +0 -7
- package/node_modules/@sema/gerador-javascript/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-javascript/dist/index.js +0 -421
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-javascript/package.json +0 -7
- package/node_modules/@sema/gerador-lua/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-lua/dist/index.js +0 -328
- package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-lua/package.json +0 -7
- package/node_modules/@sema/gerador-python/dist/index.d.ts +0 -6
- package/node_modules/@sema/gerador-python/dist/index.js +0 -729
- package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/package.json +0 -7
- package/node_modules/@sema/gerador-typescript/dist/index.d.ts +0 -6
- package/node_modules/@sema/gerador-typescript/dist/index.js +0 -793
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/package.json +0 -7
- package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +0 -123
- package/node_modules/@sema/nucleo/dist/ast/tipos.js +0 -2
- package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +0 -21
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +0 -12
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +0 -9
- package/node_modules/@sema/nucleo/dist/formatador/index.js +0 -460
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/index.d.ts +0 -35
- package/node_modules/@sema/nucleo/dist/index.js +0 -96
- package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +0 -5
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -883
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +0 -345
- package/node_modules/@sema/nucleo/dist/ir/modelos.js +0 -2
- package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +0 -7
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js +0 -122
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +0 -8
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -61
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +0 -9
- package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -771
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +0 -39
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +0 -294
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +0 -57
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +0 -1617
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +0 -104
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +0 -445
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +0 -91
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +0 -258
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +0 -2
- package/node_modules/@sema/nucleo/dist/util/arquivos.js +0 -25
- package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
- package/node_modules/@sema/nucleo/package.json +0 -7
- package/node_modules/@sema/padroes/dist/index.d.ts +0 -25
- package/node_modules/@sema/padroes/dist/index.js +0 -316
- package/node_modules/@sema/padroes/dist/index.js.map +0 -1
- package/node_modules/@sema/padroes/package.json +0 -7
package/tsconfig.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"composite": true,
|
|
5
|
+
"rootDir": "src",
|
|
6
|
+
"outDir": "dist"
|
|
7
|
+
},
|
|
8
|
+
"references": [
|
|
9
|
+
{ "path": "../nucleo" },
|
|
10
|
+
{ "path": "../gerador-dart" },
|
|
11
|
+
{ "path": "../gerador-lua" },
|
|
12
|
+
{ "path": "../gerador-python" },
|
|
13
|
+
{ "path": "../gerador-typescript" },
|
|
14
|
+
{ "path": "../gerador-javascript" },
|
|
15
|
+
{ "path": "../gerador-html" },
|
|
16
|
+
{ "path": "../gerador-css" },
|
|
17
|
+
{ "path": "../padroes" }
|
|
18
|
+
],
|
|
19
|
+
"include": ["src/**/*"]
|
|
20
|
+
}
|
package/AGENTS.md
DELETED
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
# Sema — Regras obrigatorias para IA
|
|
2
|
-
|
|
3
|
-
O Sema e o protocolo de governanca de intencao deste projeto.
|
|
4
|
-
Toda IA deve consultar o Sema antes de qualquer acao sobre codigo ou contratos.
|
|
5
|
-
|
|
6
|
-
## Mentalidade
|
|
7
|
-
|
|
8
|
-
Pense como IA, nao como humano. Voce nao esta "programando" — esta consumindo e produzindo contratos semanticos estruturados. Ao ler um arquivo .sema, trate cada bloco como um no de grafo com entradas, saidas, efeitos e garantias. Ao gerar codigo, derive tudo do contrato — nunca invente logica que nao esteja declarada. O Sema existe para que voce opere com precisao, rastreabilidade e zero adivinhacao.
|
|
9
|
-
|
|
10
|
-
## Regras
|
|
11
|
-
|
|
12
|
-
1. Ao abrir o projeto, chame sema_resumo para entender o estado atual.
|
|
13
|
-
2. Antes de criar qualquer modulo, rota, task ou contrato, chame sema_inspecionar no arquivo .sema mais proximo.
|
|
14
|
-
3. Antes de editar codigo existente, chame sema_drift para verificar divergencias entre contrato e implementacao.
|
|
15
|
-
4. Ao criar ou editar um arquivo .sema, chame sema_validar ao final.
|
|
16
|
-
5. Nunca invente contratos — use o Sema para descobrir o que ja existe.
|
|
17
|
-
6. Se qualquer ferramenta Sema retornar erro, corrija o problema antes de prosseguir — nao avance com codigo enquanto houver erros Sema pendentes.
|
|
18
|
-
|
|
19
|
-
## MCP
|
|
20
|
-
|
|
21
|
-
O servidor MCP do Sema roda localmente via: npx -y @semacode/mcp
|
|
22
|
-
Use as ferramentas: sema_resumo, sema_validar, sema_drift, sema_impacto, sema_renomear_semantico, sema_inspecionar, sema_ir, sema_verificar, sema_contexto_ia, sema_prompt_ia, sema_sync_ai_entrypoints, sema_instalar_exemplos, sema_docs_impacto, sema_finalizar_mudanca.
|
|
23
|
-
|
|
24
|
-
## Contratos e exemplos
|
|
25
|
-
|
|
26
|
-
- Sempre salve arquivos .sema na pasta `contratos/` do projeto.
|
|
27
|
-
- Crie um arquivo .sema por modulo ou contexto de negocio. Exemplo: `contratos/pedido.sema`, `contratos/pagamento.sema`, `contratos/usuario.sema`. Nunca coloque modulos de contextos diferentes no mesmo arquivo.
|
|
28
|
-
- Antes de criar qualquer arquivo .sema, leia todos os arquivos da pasta `exemplos/` para entender o formato correto da linguagem.
|
|
29
|
-
- Nunca edite os arquivos da pasta `exemplos/`.
|
|
30
|
-
|
|
31
|
-
## Quando o projeto nao tem .sema
|
|
32
|
-
|
|
33
|
-
Pergunte ao usuario se deseja semantizar o projeto e sugira: sema iniciar
|
|
34
|
-
|
|
35
|
-
## Exemplos de arquivos .sema (referencia de formato)
|
|
36
|
-
|
|
37
|
-
### 1. Task simples com testes
|
|
38
|
-
```
|
|
39
|
-
module exemplos.calculadora {
|
|
40
|
-
task somar {
|
|
41
|
-
input {
|
|
42
|
-
a: Numero required
|
|
43
|
-
b: Numero required
|
|
44
|
-
}
|
|
45
|
-
output {
|
|
46
|
-
resultado: Numero
|
|
47
|
-
}
|
|
48
|
-
rules {
|
|
49
|
-
a deve_ser numero_valido
|
|
50
|
-
b deve_ser numero_valido
|
|
51
|
-
}
|
|
52
|
-
effects {
|
|
53
|
-
auditoria operacao soma
|
|
54
|
-
}
|
|
55
|
-
guarantees {
|
|
56
|
-
resultado existe
|
|
57
|
-
}
|
|
58
|
-
error {
|
|
59
|
-
entrada_invalida: "Os valores precisam ser numericos."
|
|
60
|
-
}
|
|
61
|
-
tests {
|
|
62
|
-
caso "soma basica" {
|
|
63
|
-
given { a: 2 b: 3 }
|
|
64
|
-
expect { sucesso: verdadeiro }
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### 2. Entity + CRUD com route
|
|
72
|
-
```
|
|
73
|
-
module exemplos.crud.simples {
|
|
74
|
-
entity Produto {
|
|
75
|
-
fields {
|
|
76
|
-
id: Id
|
|
77
|
-
nome: Texto
|
|
78
|
-
preco: Decimal
|
|
79
|
-
ativo: Booleano
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
task criar_produto {
|
|
84
|
-
input {
|
|
85
|
-
nome: Texto required
|
|
86
|
-
preco: Decimal required
|
|
87
|
-
}
|
|
88
|
-
output {
|
|
89
|
-
produto: Produto
|
|
90
|
-
}
|
|
91
|
-
rules {
|
|
92
|
-
nome deve_ser preenchido
|
|
93
|
-
preco deve_ser positivo
|
|
94
|
-
}
|
|
95
|
-
effects {
|
|
96
|
-
persistencia Produto
|
|
97
|
-
auditoria produto_criado
|
|
98
|
-
}
|
|
99
|
-
guarantees {
|
|
100
|
-
produto existe
|
|
101
|
-
}
|
|
102
|
-
tests {
|
|
103
|
-
caso "cria produto" {
|
|
104
|
-
given { nome: "Caneca" preco: 39.9 }
|
|
105
|
-
expect { sucesso: verdadeiro }
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
route produtos {
|
|
111
|
-
metodo: POST
|
|
112
|
-
caminho: /produtos
|
|
113
|
-
task: criar_produto
|
|
114
|
-
finalidade: cadastro_produto
|
|
115
|
-
input { nome: Texto preco: Decimal }
|
|
116
|
-
output { produto: Produto }
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 3. Cadastro com validacoes e unicidade
|
|
122
|
-
```
|
|
123
|
-
module exemplos.cadastro.usuario {
|
|
124
|
-
entity Usuario {
|
|
125
|
-
fields {
|
|
126
|
-
id: Id
|
|
127
|
-
nome: Texto
|
|
128
|
-
email: Email
|
|
129
|
-
ativo: Booleano
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
task criar_usuario {
|
|
134
|
-
input {
|
|
135
|
-
nome: Texto required
|
|
136
|
-
email: Email required
|
|
137
|
-
}
|
|
138
|
-
output {
|
|
139
|
-
usuario: Usuario
|
|
140
|
-
}
|
|
141
|
-
rules {
|
|
142
|
-
nome deve_ser preenchido
|
|
143
|
-
email deve_ser email_valido
|
|
144
|
-
email deve_ser unico em Usuario.email
|
|
145
|
-
}
|
|
146
|
-
effects {
|
|
147
|
-
persistencia Usuario
|
|
148
|
-
evento usuario_criado
|
|
149
|
-
auditoria cadastro_usuario
|
|
150
|
-
}
|
|
151
|
-
guarantees {
|
|
152
|
-
usuario existe
|
|
153
|
-
persistencia concluida
|
|
154
|
-
}
|
|
155
|
-
error {
|
|
156
|
-
email_duplicado: "Ja existe usuario com este email."
|
|
157
|
-
entrada_invalida: "Os dados informados nao atendem as regras."
|
|
158
|
-
}
|
|
159
|
-
tests {
|
|
160
|
-
caso "cria usuario valido" {
|
|
161
|
-
given { nome: "Ana" email: "ana@empresa.com" }
|
|
162
|
-
expect { sucesso: verdadeiro }
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### 4. Pagamento com state e flow
|
|
170
|
-
```
|
|
171
|
-
module exemplos.pagamento {
|
|
172
|
-
task processar_pagamento {
|
|
173
|
-
input {
|
|
174
|
-
pagamento_id: Id required
|
|
175
|
-
valor: Decimal required
|
|
176
|
-
token: Texto required
|
|
177
|
-
}
|
|
178
|
-
output {
|
|
179
|
-
pagamento: Pagamento
|
|
180
|
-
status: StatusPagamento
|
|
181
|
-
}
|
|
182
|
-
rules {
|
|
183
|
-
valor > 0
|
|
184
|
-
token deve_ser valido
|
|
185
|
-
}
|
|
186
|
-
effects {
|
|
187
|
-
consulta gateway_pagamento criticidade = alta
|
|
188
|
-
persistencia Pagamento criticidade = alta
|
|
189
|
-
evento pagamento_autorizado criticidade = media
|
|
190
|
-
auditoria pagamento criticidade = alta
|
|
191
|
-
}
|
|
192
|
-
state ciclo_pagamento {
|
|
193
|
-
transitions {
|
|
194
|
-
PENDENTE -> AUTORIZADO
|
|
195
|
-
AUTORIZADO -> PROCESSADO
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
guarantees {
|
|
199
|
-
pagamento existe
|
|
200
|
-
status em [AUTORIZADO, PROCESSADO]
|
|
201
|
-
}
|
|
202
|
-
error {
|
|
203
|
-
autorizacao_negada: "Recusado pelo gateway."
|
|
204
|
-
timeout_gateway: "Gateway nao respondeu."
|
|
205
|
-
}
|
|
206
|
-
tests {
|
|
207
|
-
caso "pagamento autorizado" {
|
|
208
|
-
given { pagamento_id: "pag_1" valor: 199.9 token: "tok_ok" }
|
|
209
|
-
expect { sucesso: verdadeiro }
|
|
210
|
-
}
|
|
211
|
-
caso "pagamento recusado" {
|
|
212
|
-
given { pagamento_id: "pag_err" valor: 10 token: "tok_recusado" }
|
|
213
|
-
expect { sucesso: falso }
|
|
214
|
-
error { tipo: "autorizacao_negada" }
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
flow orquestracao_pagamento {
|
|
220
|
-
pagamento_id: Id
|
|
221
|
-
valor: Decimal
|
|
222
|
-
token: Texto
|
|
223
|
-
etapa autorizar usa processar_pagamento com pagamento_id = pagamento_id, valor = valor, token = token em_sucesso confirmar em_erro registrar_falha
|
|
224
|
-
etapa confirmar usa confirmar_pagamento com pagamento_id = pagamento_id depende_de autorizar
|
|
225
|
-
etapa registrar_falha usa registrar_timeout_pagamento com pagamento_id = pagamento_id depende_de autorizar
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### 5. Tratamento de erro com flow ramificado
|
|
231
|
-
```
|
|
232
|
-
module exemplos.tratamento.erro {
|
|
233
|
-
task executar_operacao_sensivel {
|
|
234
|
-
input {
|
|
235
|
-
chave: Texto required
|
|
236
|
-
}
|
|
237
|
-
output {
|
|
238
|
-
protocolo: Id
|
|
239
|
-
}
|
|
240
|
-
rules {
|
|
241
|
-
chave deve_ser preenchida
|
|
242
|
-
}
|
|
243
|
-
effects {
|
|
244
|
-
consulta cofre
|
|
245
|
-
auditoria falha_operacao_sensivel
|
|
246
|
-
}
|
|
247
|
-
guarantees {
|
|
248
|
-
protocolo existe
|
|
249
|
-
}
|
|
250
|
-
error {
|
|
251
|
-
acesso_negado: "A chave nao tem permissao."
|
|
252
|
-
recurso_indisponivel: "Servico temporariamente indisponivel."
|
|
253
|
-
}
|
|
254
|
-
tests {
|
|
255
|
-
caso "falha por acesso negado" {
|
|
256
|
-
given { chave: "sem_permissao" }
|
|
257
|
-
expect { sucesso: falso }
|
|
258
|
-
error { tipo: "acesso_negado" }
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
flow resposta_segura {
|
|
264
|
-
chave: Texto
|
|
265
|
-
etapa tentar usa executar_operacao_sensivel com chave = chave em_sucesso concluir em_erro registrar_falha por_erro acesso_negado = tratar_acesso_negado, recurso_indisponivel = agendar_retentativa
|
|
266
|
-
etapa tratar_acesso_negado usa responder_acesso_negado com chave = chave depende_de tentar
|
|
267
|
-
etapa agendar_retentativa usa responder_retentativa com chave = chave depende_de tentar
|
|
268
|
-
etapa registrar_falha usa registrar_auditoria_falha com chave = chave depende_de tentar
|
|
269
|
-
etapa concluir usa registrar_sucesso com protocolo = tentar.protocolo depende_de tentar
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
```
|
package/LICENSE
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Sema
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
22
|
-
|
package/SEMA_BRIEF.curto.txt
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
PROJETO: Sema
|
|
2
|
-
BASE: C:\GitHub\Sema
|
|
3
|
-
MODULOS: 6
|
|
4
|
-
ENTRADA_IA: llms.txt -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> AGENTS.md -> README.md
|
|
5
|
-
TOP_MODULOS: app.pedidos, sema.produto.ergonomia_e_dominio, sema.produto.geradores_web, sema.produto.governanca_ia, sema.produto.linguagem_composta, sema.produto.persistencia_vendor_first
|
|
6
|
-
TOP_RISCOS: assistir_renomeacao_semantica:alto, carregar_configuracao_de_persistencia:medio, consultar_scorecard_compatibilidade:medio, converter_bloco_composto_para_ir:alto, converter_persistencia_para_ir_canonico:alto, criar_pedido:alto (+23)
|
|
7
|
-
TOP_LACUNAS: sem_impl, vinculo_quebrado
|
|
8
|
-
TOP_ARQUIVOS: C:\GitHub\Sema\pacotes\cli\src\docs.ts, C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\importador.ts, C:\GitHub\Sema\pacotes\cli\src\index.ts, C:\GitHub\Sema\pacotes\cli\src\lua-symbols.ts, C:\GitHub\Sema\pacotes\cli\src\php-symbols.ts (+15)
|
|
9
|
-
GERADO_EM: 2026-05-09T02:38:09.917Z
|
package/SEMA_BRIEF.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# SEMA_BRIEF
|
|
2
|
-
|
|
3
|
-
Sema e IA-first. Este arquivo existe para IA achar o ponto de entrada do projeto sem ter que catar o repo inteiro feito barata tonta.
|
|
4
|
-
|
|
5
|
-
- Gerado em: `2026-05-09T02:38:09.917Z`
|
|
6
|
-
- Modulos: `6`
|
|
7
|
-
|
|
8
|
-
## Entrada canonica para IA
|
|
9
|
-
|
|
10
|
-
- Ordem minima: llms.txt -> SEMA_BRIEF.md -> SEMA_INDEX.json -> AGENTS.md -> README.md -> llms-full.txt
|
|
11
|
-
- IA pequena: llms.txt -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json -> AGENTS.md
|
|
12
|
-
- IA media: llms.txt -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> AGENTS.md -> README.md
|
|
13
|
-
- IA grande: llms-full.txt -> SEMA_BRIEF.md -> SEMA_INDEX.json -> AGENTS.md -> README.md
|
|
14
|
-
|
|
15
|
-
## Guia por capacidade
|
|
16
|
-
|
|
17
|
-
- pequena: IA gratuita ou com contexto curto. Leia so o cartao semantico e o briefing minimo. Artefatos: resumo.micro.txt, briefing.min.json, prompt-curto.txt.
|
|
18
|
-
- media: IA com contexto medio. Aguenta resumo expandido, briefing minimo e drift. Artefatos: resumo.curto.txt, briefing.min.json, drift.json, prompt-curto.txt.
|
|
19
|
-
- grande: IA com contexto grande ou tool use. Pode consumir o pacote completo. Artefatos: README.md, resumo.md, briefing.json, drift.json, ir.json, ast.json.
|
|
20
|
-
|
|
21
|
-
## Modulos
|
|
22
|
-
|
|
23
|
-
### app.pedidos
|
|
24
|
-
- Faz: governa 1 rota(s), 1 task(s) com foco em criar pedido publico
|
|
25
|
-
- Publico: POST /pedidos
|
|
26
|
-
- Tocar: C:\GitHub\Sema\testes\integracao\drift-legado.test.ts
|
|
27
|
-
- Score: 50 | Confianca: media | Risco: alto
|
|
28
|
-
- Lacunas: sem_impl, vinculo_quebrado
|
|
29
|
-
|
|
30
|
-
### sema.produto.ergonomia_e_dominio
|
|
31
|
-
- Faz: governa 2 superficie(s), 7 task(s) com foco em scorecard atualizado
|
|
32
|
-
- Publico: evento:scorecard_atualizado, policy:compatibilidade_publica
|
|
33
|
-
- Tocar: C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\importador.ts, C:\GitHub\Sema\pacotes\cli\src\index.ts, C:\GitHub\Sema\pacotes\cli\src\lua-symbols.ts (+4)
|
|
34
|
-
- Score: 91 | Confianca: alta | Risco: alto
|
|
35
|
-
- Lacunas: sem_impl, vinculo_quebrado
|
|
36
|
-
|
|
37
|
-
### sema.produto.geradores_web
|
|
38
|
-
- Faz: governa 3 task(s) com foco em gerar contrato javascript
|
|
39
|
-
- Publico: nenhum
|
|
40
|
-
- Tocar: C:\GitHub\Sema\pacotes\gerador-css\src\index.ts, C:\GitHub\Sema\pacotes\gerador-html\src\index.ts, C:\GitHub\Sema\pacotes\gerador-javascript\src\index.ts
|
|
41
|
-
- Score: 90 | Confianca: alta | Risco: medio
|
|
42
|
-
- Lacunas: sem_impl, vinculo_quebrado
|
|
43
|
-
|
|
44
|
-
### sema.produto.governanca_ia
|
|
45
|
-
- Faz: governa 2 superficie(s), 9 task(s) com foco em preparar briefing contextual
|
|
46
|
-
- Publico: webhook:confirmar_contexto_publico, worker:preparar_briefing_contextual
|
|
47
|
-
- Tocar: C:\GitHub\Sema\pacotes\cli\src\docs.ts, C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\index.ts, C:\GitHub\Sema\pacotes\cli\src\lua-symbols.ts (+4)
|
|
48
|
-
- Score: 93 | Confianca: alta | Risco: alto
|
|
49
|
-
- Lacunas: sem_impl, vinculo_quebrado
|
|
50
|
-
|
|
51
|
-
### sema.produto.linguagem_composta
|
|
52
|
-
- Faz: governa 1 superficie(s), 5 task(s) com foco em regressao composta
|
|
53
|
-
- Publico: storage:regressao_composta
|
|
54
|
-
- Tocar: C:\GitHub\Sema\pacotes\gerador-python\src\index.ts, C:\GitHub\Sema\pacotes\gerador-typescript\src\index.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts, C:\GitHub\Sema\pacotes\nucleo\src\ir\conversor.ts (+1)
|
|
55
|
-
- Score: 90 | Confianca: alta | Risco: alto
|
|
56
|
-
- Lacunas: sem_impl, vinculo_quebrado
|
|
57
|
-
|
|
58
|
-
### sema.produto.persistencia_vendor_first
|
|
59
|
-
- Faz: governa 6 task(s) com foco em validar compatibilidade vendor first
|
|
60
|
-
- Publico: nenhum
|
|
61
|
-
- Tocar: C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\importador.ts, C:\GitHub\Sema\pacotes\cli\src\projeto.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts (+2)
|
|
62
|
-
- Score: 90 | Confianca: alta | Risco: alto
|
|
63
|
-
- Lacunas: sem_impl, vinculo_quebrado
|
package/SEMA_BRIEF.micro.txt
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
PROJETO: Sema
|
|
2
|
-
MODULOS: 6
|
|
3
|
-
ENTRADA_IA: llms.txt -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json -> AGENTS.md
|
|
4
|
-
TOP_MODULOS: app.pedidos, sema.produto.ergonomia_e_dominio, sema.produto.geradores_web (+3)
|
|
5
|
-
TOP_RISCOS: assistir_renomeacao_semantica:alto, carregar_configuracao_de_persistencia:medio, consultar_scorecard_compatibilidade:medio (+26)
|
|
6
|
-
TOP_LACUNAS: sem_impl, vinculo_quebrado
|
|
7
|
-
GERADO_EM: 2026-05-09T02:38:09.917Z
|