@semacode/cli 1.2.9 → 1.2.12

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 (32) hide show
  1. package/README.md +2 -2
  2. package/dist/drift.d.ts +1 -1
  3. package/dist/drift.js +213 -2
  4. package/dist/drift.js.map +1 -1
  5. package/dist/index.js +66 -8
  6. package/dist/index.js.map +1 -1
  7. package/docs/sintaxe.md +95 -1
  8. package/node_modules/@sema/gerador-dart/package.json +1 -1
  9. package/node_modules/@sema/gerador-lua/package.json +1 -1
  10. package/node_modules/@sema/gerador-python/package.json +1 -1
  11. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  12. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +7 -1
  13. package/node_modules/@sema/nucleo/dist/formatador/index.js +65 -21
  14. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  15. package/node_modules/@sema/nucleo/dist/ir/conversor.js +91 -1
  16. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  17. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +71 -0
  18. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +6 -0
  19. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -1
  20. package/node_modules/@sema/nucleo/dist/parser/parser.js +12 -0
  21. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  22. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +409 -8
  23. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  24. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +6 -1
  25. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +63 -13
  26. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
  27. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +91 -0
  28. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +258 -0
  29. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +1 -0
  30. package/node_modules/@sema/nucleo/package.json +1 -1
  31. package/node_modules/@sema/padroes/package.json +1 -1
  32. package/package.json +7 -7
@@ -0,0 +1,258 @@
1
+ export const MODOS_AUTH_SUPORTADOS = new Set([
2
+ "obrigatorio",
3
+ "opcional",
4
+ "anonimo",
5
+ "interno",
6
+ "m2m",
7
+ ]);
8
+ export const PRINCIPAIS_AUTH_SUPORTADOS = new Set([
9
+ "usuario",
10
+ "servico",
11
+ "sistema",
12
+ "anonimo",
13
+ ]);
14
+ export const ORIGENS_AUTH_SUPORTADAS = new Set([
15
+ "publica",
16
+ "interna",
17
+ "worker",
18
+ "webhook",
19
+ "fila",
20
+ "cron",
21
+ ]);
22
+ export const TENANTS_AUTHZ_SUPORTADOS = new Set([
23
+ "obrigatorio",
24
+ "opcional",
25
+ "isolado",
26
+ ]);
27
+ export const CLASSIFICACOES_DADO_SUPORTADAS = new Set([
28
+ "publico",
29
+ "interno",
30
+ "pii",
31
+ "financeiro",
32
+ "credencial",
33
+ "segredo",
34
+ ]);
35
+ export const CLASSIFICACOES_DADO_SENSIVEIS = new Set([
36
+ "pii",
37
+ "financeiro",
38
+ "credencial",
39
+ "segredo",
40
+ ]);
41
+ export const REDACOES_LOG_SUPORTADAS = new Set([
42
+ "livre",
43
+ "parcial",
44
+ "obrigatoria",
45
+ "proibida",
46
+ ]);
47
+ export const MOTIVOS_AUDIT_SUPORTADOS = new Set([
48
+ "obrigatorio",
49
+ "opcional",
50
+ "dispensado",
51
+ ]);
52
+ export const PRIVILEGIOS_EFEITO_SUPORTADOS = new Set([
53
+ "leitura",
54
+ "escrita",
55
+ "publicacao",
56
+ "execucao",
57
+ "admin",
58
+ "egress",
59
+ ]);
60
+ export const ISOLAMENTOS_EFEITO_SUPORTADOS = new Set([
61
+ "tenant",
62
+ "processo",
63
+ "host",
64
+ "vps",
65
+ "global",
66
+ ]);
67
+ export const CATEGORIAS_EFEITO_PRIVILEGIADAS = new Set([
68
+ "db.read",
69
+ "db.write",
70
+ "queue.publish",
71
+ "queue.consume",
72
+ "fs.read",
73
+ "fs.write",
74
+ "network.egress",
75
+ "secret.read",
76
+ "shell.exec",
77
+ ]);
78
+ function valorCampoCompleto(campo) {
79
+ if (!campo) {
80
+ return undefined;
81
+ }
82
+ return [campo.valor, ...campo.modificadores].join(" ").trim() || undefined;
83
+ }
84
+ function parsearBooleanoSemantico(valor) {
85
+ if (!valor) {
86
+ return undefined;
87
+ }
88
+ if (valor === "verdadeiro" || valor === "true") {
89
+ return true;
90
+ }
91
+ if (valor === "falso" || valor === "false") {
92
+ return false;
93
+ }
94
+ return undefined;
95
+ }
96
+ function localizarCampo(bloco, ...nomes) {
97
+ if (!bloco) {
98
+ return undefined;
99
+ }
100
+ return bloco.campos.find((campo) => nomes.includes(campo.nome));
101
+ }
102
+ function localizarSubBloco(bloco, nome) {
103
+ if (!bloco) {
104
+ return undefined;
105
+ }
106
+ return bloco.blocos.find((item) => item.tipo === "bloco_generico" && (item.palavraChave === nome || item.nome === nome));
107
+ }
108
+ function dividirListaDeclarativa(valor) {
109
+ return (valor ?? "")
110
+ .split(",")
111
+ .map((item) => item.trim())
112
+ .filter(Boolean);
113
+ }
114
+ export function extrairContratoAuth(bloco) {
115
+ return {
116
+ explicita: Boolean(bloco),
117
+ modo: valorCampoCompleto(localizarCampo(bloco, "modo")),
118
+ estrategia: valorCampoCompleto(localizarCampo(bloco, "estrategia")),
119
+ principal: valorCampoCompleto(localizarCampo(bloco, "principal")),
120
+ origem: valorCampoCompleto(localizarCampo(bloco, "origem")),
121
+ };
122
+ }
123
+ export function extrairContratoAuthz(bloco) {
124
+ return {
125
+ explicita: Boolean(bloco),
126
+ papeis: deduplicarTexto([
127
+ ...dividirListaDeclarativa(valorCampoCompleto(localizarCampo(bloco, "papel", "papeis"))),
128
+ ...bloco?.campos.filter((campo) => campo.nome === "papel").map((campo) => valorCampoCompleto(campo) ?? "") ?? [],
129
+ ]),
130
+ escopos: deduplicarTexto([
131
+ ...dividirListaDeclarativa(valorCampoCompleto(localizarCampo(bloco, "escopo", "escopos"))),
132
+ ...bloco?.campos.filter((campo) => campo.nome === "escopo").map((campo) => valorCampoCompleto(campo) ?? "") ?? [],
133
+ ]),
134
+ politica: valorCampoCompleto(localizarCampo(bloco, "politica")),
135
+ tenant: valorCampoCompleto(localizarCampo(bloco, "tenant")),
136
+ };
137
+ }
138
+ export function extrairContratoDados(bloco) {
139
+ const campos = [];
140
+ const camposDiretos = bloco?.campos ?? [];
141
+ for (const campo of camposDiretos) {
142
+ if (["classificacao_padrao", "redacao_log", "retencao"].includes(campo.nome)) {
143
+ continue;
144
+ }
145
+ const classificacao = valorCampoCompleto(campo);
146
+ if (!classificacao) {
147
+ continue;
148
+ }
149
+ campos.push({
150
+ origem: "geral",
151
+ campo: campo.nome,
152
+ classificacao,
153
+ });
154
+ }
155
+ for (const origem of ["input", "output"]) {
156
+ const subbloco = localizarSubBloco(bloco, origem);
157
+ for (const campo of subbloco?.campos ?? []) {
158
+ const classificacao = valorCampoCompleto(campo);
159
+ if (!classificacao) {
160
+ continue;
161
+ }
162
+ campos.push({
163
+ origem,
164
+ campo: campo.nome,
165
+ classificacao,
166
+ });
167
+ }
168
+ }
169
+ return {
170
+ explicita: Boolean(bloco),
171
+ classificacaoPadrao: valorCampoCompleto(localizarCampo(bloco, "classificacao_padrao")),
172
+ redacaoLog: valorCampoCompleto(localizarCampo(bloco, "redacao_log")),
173
+ retencao: valorCampoCompleto(localizarCampo(bloco, "retencao")),
174
+ campos,
175
+ };
176
+ }
177
+ export function extrairContratoAudit(bloco) {
178
+ return {
179
+ explicita: Boolean(bloco),
180
+ evento: valorCampoCompleto(localizarCampo(bloco, "evento")),
181
+ ator: valorCampoCompleto(localizarCampo(bloco, "ator")),
182
+ correlacao: valorCampoCompleto(localizarCampo(bloco, "correlacao")),
183
+ retencao: valorCampoCompleto(localizarCampo(bloco, "retencao")),
184
+ motivo: valorCampoCompleto(localizarCampo(bloco, "motivo")),
185
+ };
186
+ }
187
+ export function extrairContratoSegredos(bloco) {
188
+ const itens = (bloco?.blocos ?? [])
189
+ .filter((item) => item.tipo === "bloco_generico")
190
+ .map((item) => ({
191
+ nome: item.nome ?? item.palavraChave,
192
+ origem: valorCampoCompleto(localizarCampo(item, "origem")),
193
+ escopo: valorCampoCompleto(localizarCampo(item, "escopo")),
194
+ acesso: valorCampoCompleto(localizarCampo(item, "acesso")),
195
+ rotacao: valorCampoCompleto(localizarCampo(item, "rotacao")),
196
+ naoLogar: parsearBooleanoSemantico(valorCampoCompleto(localizarCampo(item, "nao_logar"))),
197
+ naoRetornar: parsearBooleanoSemantico(valorCampoCompleto(localizarCampo(item, "nao_retornar"))),
198
+ mascarar: parsearBooleanoSemantico(valorCampoCompleto(localizarCampo(item, "mascarar"))),
199
+ }))
200
+ .filter((item) => item.nome && item.nome !== "desconhecido");
201
+ return {
202
+ explicita: Boolean(bloco),
203
+ itens,
204
+ };
205
+ }
206
+ export function extrairContratoForbidden(bloco) {
207
+ return {
208
+ explicita: Boolean(bloco),
209
+ regras: deduplicarTexto([
210
+ ...(bloco?.linhas.map((linha) => linha.conteudo.trim()) ?? []),
211
+ ...(bloco?.campos.map((campo) => valorCampoCompleto(campo) ?? campo.nome) ?? []),
212
+ ]),
213
+ };
214
+ }
215
+ export function classificacaoEhSensivel(classificacao) {
216
+ return CLASSIFICACOES_DADO_SENSIVEIS.has((classificacao ?? "").trim().toLowerCase());
217
+ }
218
+ export function contratoDadosTemSensivel(contrato) {
219
+ if (!contrato?.explicita) {
220
+ return false;
221
+ }
222
+ if (classificacaoEhSensivel(contrato.classificacaoPadrao)) {
223
+ return true;
224
+ }
225
+ return contrato.campos.some((campo) => classificacaoEhSensivel(campo.classificacao));
226
+ }
227
+ export function contratoDadosTemSegredoOuCredencial(contrato) {
228
+ if (!contrato?.explicita) {
229
+ return false;
230
+ }
231
+ const padrao = (contrato.classificacaoPadrao ?? "").trim().toLowerCase();
232
+ if (padrao === "segredo" || padrao === "credencial") {
233
+ return true;
234
+ }
235
+ return contrato.campos.some((campo) => {
236
+ const classificacao = campo.classificacao.trim().toLowerCase();
237
+ return classificacao === "segredo" || classificacao === "credencial";
238
+ });
239
+ }
240
+ export function efeitoEhPrivilegiado(efeito) {
241
+ if (efeito.criticidade === "alta" || efeito.criticidade === "critica") {
242
+ return true;
243
+ }
244
+ if (CATEGORIAS_EFEITO_PRIVILEGIADAS.has(efeito.categoria)) {
245
+ return true;
246
+ }
247
+ return ["escrita", "publicacao", "execucao", "admin", "egress"].includes(efeito.privilegio ?? "");
248
+ }
249
+ export function efeitoRequerSegredo(efeito) {
250
+ return efeito.categoria === "secret.read";
251
+ }
252
+ export function forbiddenContemRegra(forbidden, regra) {
253
+ return Boolean(forbidden?.regras.some((item) => item === regra));
254
+ }
255
+ function deduplicarTexto(valores) {
256
+ return [...new Set(valores.filter(Boolean))].sort((a, b) => a.localeCompare(b, "pt-BR"));
257
+ }
258
+ //# sourceMappingURL=seguranca.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seguranca.js","sourceRoot":"","sources":["../../src/semantico/seguranca.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/nucleo",
3
- "version": "1.2.9",
3
+ "version": "1.2.12",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/padroes",
3
- "version": "1.2.9",
3
+ "version": "1.2.12",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semacode/cli",
3
- "version": "1.2.9",
3
+ "version": "1.2.12",
4
4
  "description": "CLI da Sema para validar contratos, medir drift e governar a navegacao operacional de agentes sobre software vivo em backend e front consumer.",
5
5
  "type": "module",
6
6
  "icon": "logo.png",
@@ -49,12 +49,12 @@
49
49
  "LICENSE"
50
50
  ],
51
51
  "dependencies": {
52
- "@sema/nucleo": "1.2.9",
53
- "@sema/gerador-dart": "1.2.9",
54
- "@sema/gerador-lua": "1.2.9",
55
- "@sema/gerador-python": "1.2.9",
56
- "@sema/gerador-typescript": "1.2.9",
57
- "@sema/padroes": "1.2.9",
52
+ "@sema/nucleo": "1.2.12",
53
+ "@sema/gerador-dart": "1.2.12",
54
+ "@sema/gerador-lua": "1.2.12",
55
+ "@sema/gerador-python": "1.2.12",
56
+ "@sema/gerador-typescript": "1.2.12",
57
+ "@sema/padroes": "1.2.12",
58
58
  "typescript": "^5.8.3"
59
59
  },
60
60
  "bundledDependencies": [