@semacode/cli 1.3.2 → 1.3.5

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 (155) hide show
  1. package/README.md +2 -2
  2. package/dist/index.js +33 -27
  3. package/package.json +21 -33
  4. package/semacode-cli-1.3.1.tgz +0 -0
  5. package/src/cpp-symbols.ts +82 -0
  6. package/src/dotnet-http.ts +355 -0
  7. package/src/drift.ts +2455 -0
  8. package/src/go-http.ts +118 -0
  9. package/src/importador.ts +3448 -0
  10. package/src/index.ts +4476 -0
  11. package/src/java-http.ts +247 -0
  12. package/src/projeto.ts +810 -0
  13. package/src/python-http.ts +258 -0
  14. package/src/rust-http.ts +125 -0
  15. package/src/tipos.ts +22 -0
  16. package/src/typescript-http.ts +1076 -0
  17. package/tsconfig.json +20 -0
  18. package/AGENTS.md +0 -272
  19. package/LICENSE +0 -22
  20. package/SEMA_BRIEF.curto.txt +0 -9
  21. package/SEMA_BRIEF.md +0 -49
  22. package/SEMA_BRIEF.micro.txt +0 -7
  23. package/SEMA_INDEX.json +0 -546
  24. package/dist/cpp-symbols.d.ts +0 -10
  25. package/dist/cpp-symbols.js.map +0 -1
  26. package/dist/dotnet-http.d.ts +0 -23
  27. package/dist/dotnet-http.js.map +0 -1
  28. package/dist/drift.d.ts +0 -118
  29. package/dist/drift.js.map +0 -1
  30. package/dist/go-http.d.ts +0 -23
  31. package/dist/go-http.js.map +0 -1
  32. package/dist/importador.d.ts +0 -29
  33. package/dist/importador.js.map +0 -1
  34. package/dist/index.d.ts +0 -2
  35. package/dist/index.js.map +0 -1
  36. package/dist/java-http.d.ts +0 -23
  37. package/dist/java-http.js.map +0 -1
  38. package/dist/lua-symbols.d.ts +0 -8
  39. package/dist/lua-symbols.js.map +0 -1
  40. package/dist/projeto.d.ts +0 -48
  41. package/dist/projeto.js.map +0 -1
  42. package/dist/python-http.d.ts +0 -23
  43. package/dist/python-http.js.map +0 -1
  44. package/dist/rust-http.d.ts +0 -23
  45. package/dist/rust-http.js.map +0 -1
  46. package/dist/tipos.d.ts +0 -3
  47. package/dist/tipos.js.map +0 -1
  48. package/dist/typescript-http.d.ts +0 -35
  49. package/dist/typescript-http.js.map +0 -1
  50. package/docs/AGENT_STARTER.md +0 -102
  51. package/docs/como-ensinar-a-sema-para-ia.md +0 -149
  52. package/docs/fluxo-pratico-ia-sema.md +0 -177
  53. package/docs/instalacao-e-primeiro-uso.md +0 -196
  54. package/docs/integracao-com-ia.md +0 -228
  55. package/docs/pagamento-ponta-a-ponta.md +0 -155
  56. package/docs/prompt-base-ia-sema.md +0 -104
  57. package/docs/sintaxe.md +0 -361
  58. package/exemplos/agendamento.sema +0 -106
  59. package/exemplos/assinatura.sema +0 -136
  60. package/exemplos/auditoria.sema +0 -88
  61. package/exemplos/autenticacao.sema +0 -125
  62. package/exemplos/automacao.sema +0 -107
  63. package/exemplos/cadastro_usuario.sema +0 -54
  64. package/exemplos/calculadora.sema +0 -78
  65. package/exemplos/crud_simples.sema +0 -89
  66. package/exemplos/estoque.sema +0 -126
  67. package/exemplos/exportacao.sema +0 -94
  68. package/exemplos/fila.sema +0 -131
  69. package/exemplos/integracao_externa.sema +0 -94
  70. package/exemplos/multi_tenant.sema +0 -140
  71. package/exemplos/notificacao.sema +0 -98
  72. package/exemplos/operacao_estrategia.sema +0 -402
  73. package/exemplos/pagamento.sema +0 -222
  74. package/exemplos/pagamento_dominio.sema +0 -35
  75. package/exemplos/pedido.sema +0 -119
  76. package/exemplos/permissao.sema +0 -121
  77. package/exemplos/relatorio.sema +0 -93
  78. package/exemplos/testes_embutidos.sema +0 -45
  79. package/exemplos/tratamento_erro.sema +0 -157
  80. package/exemplos/upload_arquivo.sema +0 -93
  81. package/exemplos/webhook.sema +0 -96
  82. package/llms-full.txt +0 -34
  83. package/llms.txt +0 -17
  84. package/node_modules/@sema/gerador-css/dist/index.d.ts +0 -3
  85. package/node_modules/@sema/gerador-css/dist/index.js +0 -592
  86. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  87. package/node_modules/@sema/gerador-css/package.json +0 -7
  88. package/node_modules/@sema/gerador-dart/dist/index.d.ts +0 -3
  89. package/node_modules/@sema/gerador-dart/dist/index.js +0 -44
  90. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  91. package/node_modules/@sema/gerador-dart/package.json +0 -7
  92. package/node_modules/@sema/gerador-html/dist/index.d.ts +0 -3
  93. package/node_modules/@sema/gerador-html/dist/index.js +0 -163
  94. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  95. package/node_modules/@sema/gerador-html/package.json +0 -7
  96. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +0 -3
  97. package/node_modules/@sema/gerador-javascript/dist/index.js +0 -421
  98. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  99. package/node_modules/@sema/gerador-javascript/package.json +0 -7
  100. package/node_modules/@sema/gerador-lua/dist/index.d.ts +0 -3
  101. package/node_modules/@sema/gerador-lua/dist/index.js +0 -328
  102. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  103. package/node_modules/@sema/gerador-lua/package.json +0 -7
  104. package/node_modules/@sema/gerador-python/dist/index.d.ts +0 -6
  105. package/node_modules/@sema/gerador-python/dist/index.js +0 -628
  106. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  107. package/node_modules/@sema/gerador-python/package.json +0 -7
  108. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +0 -6
  109. package/node_modules/@sema/gerador-typescript/dist/index.js +0 -656
  110. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  111. package/node_modules/@sema/gerador-typescript/package.json +0 -7
  112. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +0 -122
  113. package/node_modules/@sema/nucleo/dist/ast/tipos.js +0 -2
  114. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  115. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +0 -21
  116. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +0 -12
  117. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  118. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +0 -9
  119. package/node_modules/@sema/nucleo/dist/formatador/index.js +0 -445
  120. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  121. package/node_modules/@sema/nucleo/dist/index.d.ts +0 -34
  122. package/node_modules/@sema/nucleo/dist/index.js +0 -95
  123. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  124. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +0 -5
  125. package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -781
  126. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  127. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +0 -285
  128. package/node_modules/@sema/nucleo/dist/ir/modelos.js +0 -2
  129. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  130. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +0 -7
  131. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +0 -122
  132. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  133. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +0 -8
  134. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -46
  135. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  136. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +0 -9
  137. package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -656
  138. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  139. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +0 -57
  140. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +0 -1497
  141. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  142. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +0 -104
  143. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +0 -445
  144. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  145. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +0 -91
  146. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +0 -258
  147. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  148. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +0 -2
  149. package/node_modules/@sema/nucleo/dist/util/arquivos.js +0 -25
  150. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  151. package/node_modules/@sema/nucleo/package.json +0 -7
  152. package/node_modules/@sema/padroes/dist/index.d.ts +0 -23
  153. package/node_modules/@sema/padroes/dist/index.js +0 -210
  154. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
  155. package/node_modules/@sema/padroes/package.json +0 -7
@@ -1,258 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"seguranca.js","sourceRoot":"","sources":["../../src/semantico/seguranca.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function lerArquivoTexto(caminhoArquivo: string): Promise<string>;
2
- export declare function listarArquivosSema(entrada: string): Promise<string[]>;
@@ -1,25 +0,0 @@
1
- import { readFile, readdir, stat } from "node:fs/promises";
2
- import path from "node:path";
3
- export async function lerArquivoTexto(caminhoArquivo) {
4
- return readFile(caminhoArquivo, "utf8");
5
- }
6
- export async function listarArquivosSema(entrada) {
7
- const informacao = await stat(entrada);
8
- if (informacao.isFile()) {
9
- return [entrada];
10
- }
11
- const encontrados = [];
12
- const filhos = await readdir(entrada, { withFileTypes: true });
13
- for (const filho of filhos) {
14
- const caminhoCompleto = path.join(entrada, filho.name);
15
- if (filho.isDirectory()) {
16
- encontrados.push(...(await listarArquivosSema(caminhoCompleto)));
17
- continue;
18
- }
19
- if (filho.isFile() && caminhoCompleto.endsWith(".sema")) {
20
- encontrados.push(caminhoCompleto);
21
- }
22
- }
23
- return encontrados;
24
- }
25
- //# sourceMappingURL=arquivos.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arquivos.js","sourceRoot":"","sources":["../../src/util/arquivos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,cAAsB;IAC1D,OAAO,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,7 +0,0 @@
1
- {
2
- "name": "@sema/nucleo",
3
- "version": "1.3.2",
4
- "type": "module",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts"
7
- }
@@ -1,23 +0,0 @@
1
- export type AlvoGeracao = "typescript" | "python" | "dart" | "lua" | "javascript" | "html" | "css";
2
- export type FrameworkGeracao = "base" | "nestjs" | "fastapi";
3
- export interface ArquivoGerado {
4
- caminhoRelativo: string;
5
- conteudo: string;
6
- }
7
- export interface EstruturaModuloNormalizada {
8
- segmentos: string[];
9
- contextoSegmentos: string[];
10
- contextoRelativo: string;
11
- nomeArquivo: string;
12
- nomeBase: string;
13
- }
14
- export declare function normalizarNomeParaSimbolo(nome: string): string;
15
- export declare function normalizarNomeModulo(nome: string): string;
16
- export declare function normalizarSegmentoModulo(segmento: string): string;
17
- export declare function descreverEstruturaModulo(nome: string): EstruturaModuloNormalizada;
18
- export declare function mapearTipoParaTypeScript(tipo: string): string;
19
- export declare function mapearTipoParaPython(tipo: string): string;
20
- export declare function mapearTipoParaDart(tipo: string): string;
21
- export declare function mapearTipoParaLua(tipo: string): string;
22
- export declare function mapearTipoParaJavaScript(tipo: string): string;
23
- export declare function mapearTipoParaInputHtml(tipo: string): string;
@@ -1,210 +0,0 @@
1
- export function normalizarNomeParaSimbolo(nome) {
2
- return nome
3
- .replace(/[^A-Za-z0-9_]+/g, "_")
4
- .replace(/_{2,}/g, "_")
5
- .replace(/^_+|_+$/g, "");
6
- }
7
- export function normalizarNomeModulo(nome) {
8
- return nome.replace(/[^\w.]+/g, "_");
9
- }
10
- export function normalizarSegmentoModulo(segmento) {
11
- return segmento.replace(/[^\w]+/g, "_");
12
- }
13
- export function descreverEstruturaModulo(nome) {
14
- const segmentos = nome
15
- .split(".")
16
- .map((segmento) => normalizarSegmentoModulo(segmento.trim()))
17
- .filter(Boolean);
18
- const contextoSegmentos = segmentos.slice(0, -1);
19
- const nomeArquivo = segmentos.at(-1) ?? normalizarSegmentoModulo(nome);
20
- return {
21
- segmentos,
22
- contextoSegmentos,
23
- contextoRelativo: contextoSegmentos.join("/"),
24
- nomeArquivo,
25
- nomeBase: normalizarNomeModulo(nome).replace(/\./g, "_"),
26
- };
27
- }
28
- export function mapearTipoParaTypeScript(tipo) {
29
- const tabela = {
30
- Texto: "string",
31
- Numero: "number",
32
- Inteiro: "number",
33
- Decimal: "number",
34
- Booleano: "boolean",
35
- Data: "string",
36
- DataHora: "string",
37
- Id: "string",
38
- Email: "string",
39
- Url: "string",
40
- Json: "Record<string, unknown>",
41
- Vazio: "void",
42
- };
43
- return tabela[tipo] ?? tipo;
44
- }
45
- function dividirTipoNoNivelRaiz(valor, separador) {
46
- const partes = [];
47
- let atual = "";
48
- let profundidade = 0;
49
- for (const caractere of valor) {
50
- if (caractere === "<") {
51
- profundidade += 1;
52
- atual += caractere;
53
- continue;
54
- }
55
- if (caractere === ">") {
56
- profundidade = Math.max(0, profundidade - 1);
57
- atual += caractere;
58
- continue;
59
- }
60
- if (caractere === separador && profundidade === 0) {
61
- if (atual.trim()) {
62
- partes.push(atual.trim());
63
- }
64
- atual = "";
65
- continue;
66
- }
67
- atual += caractere;
68
- }
69
- if (atual.trim()) {
70
- partes.push(atual.trim());
71
- }
72
- return partes;
73
- }
74
- export function mapearTipoParaPython(tipo) {
75
- const limpo = tipo.trim();
76
- if (/^Opcional<.+>$/.test(limpo)) {
77
- return `${mapearTipoParaPython(limpo.slice("Opcional<".length, -1))} | None`;
78
- }
79
- const uniao = dividirTipoNoNivelRaiz(limpo, "|");
80
- if (uniao.length > 1) {
81
- return uniao.map((item) => mapearTipoParaPython(item)).join(" | ");
82
- }
83
- if (/^Lista<.+>$/.test(limpo)) {
84
- return `list[${mapearTipoParaPython(limpo.slice("Lista<".length, -1))}]`;
85
- }
86
- if (/^Mapa<.+>$/.test(limpo)) {
87
- const partesMapa = dividirTipoNoNivelRaiz(limpo.slice("Mapa<".length, -1), ",");
88
- const chave = mapearTipoParaPython(partesMapa[0] ?? "Texto");
89
- const valor = mapearTipoParaPython(partesMapa[1] ?? "Json");
90
- return `dict[${chave}, ${valor}]`;
91
- }
92
- const tabela = {
93
- Texto: "str",
94
- Numero: "float",
95
- Inteiro: "int",
96
- Decimal: "float",
97
- Booleano: "bool",
98
- Data: "str",
99
- DataHora: "str",
100
- Id: "str",
101
- Email: "str",
102
- Url: "str",
103
- Json: "dict[str, object]",
104
- Vazio: "None",
105
- };
106
- return tabela[limpo] ?? limpo;
107
- }
108
- export function mapearTipoParaDart(tipo) {
109
- const tabela = {
110
- Texto: "String",
111
- Numero: "double",
112
- Inteiro: "int",
113
- Decimal: "double",
114
- Booleano: "bool",
115
- Data: "String",
116
- DataHora: "String",
117
- Id: "String",
118
- Email: "String",
119
- Url: "String",
120
- Json: "Map<String, Object?>",
121
- Vazio: "void",
122
- };
123
- return tabela[tipo] ?? tipo;
124
- }
125
- export function mapearTipoParaLua(tipo) {
126
- const limpo = tipo.trim();
127
- if (/^Opcional<.+>$/.test(limpo)) {
128
- return `${mapearTipoParaLua(limpo.slice("Opcional<".length, -1))} | nil`;
129
- }
130
- const uniao = dividirTipoNoNivelRaiz(limpo, "|");
131
- if (uniao.length > 1) {
132
- return uniao.map((item) => mapearTipoParaLua(item)).join(" | ");
133
- }
134
- if (/^Lista<.+>$/.test(limpo)) {
135
- return `table<integer, ${mapearTipoParaLua(limpo.slice("Lista<".length, -1))}>`;
136
- }
137
- if (/^Mapa<.+>$/.test(limpo)) {
138
- const partesMapa = dividirTipoNoNivelRaiz(limpo.slice("Mapa<".length, -1), ",");
139
- const chave = mapearTipoParaLua(partesMapa[0] ?? "Texto");
140
- const valor = mapearTipoParaLua(partesMapa[1] ?? "Json");
141
- return `table<${chave}, ${valor}>`;
142
- }
143
- const tabela = {
144
- Texto: "string",
145
- Numero: "number",
146
- Inteiro: "integer",
147
- Decimal: "number",
148
- Booleano: "boolean",
149
- Data: "string",
150
- DataHora: "string",
151
- Id: "string",
152
- Email: "string",
153
- Url: "string",
154
- Json: "table",
155
- Vazio: "nil",
156
- };
157
- return tabela[limpo] ?? limpo;
158
- }
159
- export function mapearTipoParaJavaScript(tipo) {
160
- const limpo = tipo.trim();
161
- if (/^Opcional<.+>$/.test(limpo)) {
162
- return `${mapearTipoParaJavaScript(limpo.slice("Opcional<".length, -1))}|null`;
163
- }
164
- const uniao = dividirTipoNoNivelRaiz(limpo, "|");
165
- if (uniao.length > 1) {
166
- return uniao.map((item) => mapearTipoParaJavaScript(item)).join("|");
167
- }
168
- if (/^Lista<.+>$/.test(limpo)) {
169
- return `Array.<${mapearTipoParaJavaScript(limpo.slice("Lista<".length, -1))}>`;
170
- }
171
- if (/^Mapa<.+>$/.test(limpo)) {
172
- const partesMapa = dividirTipoNoNivelRaiz(limpo.slice("Mapa<".length, -1), ",");
173
- const chave = mapearTipoParaJavaScript(partesMapa[0] ?? "Texto");
174
- const valor = mapearTipoParaJavaScript(partesMapa[1] ?? "Json");
175
- return `Object.<${chave}, ${valor}>`;
176
- }
177
- const tabela = {
178
- Texto: "string",
179
- Numero: "number",
180
- Inteiro: "number",
181
- Decimal: "number",
182
- Booleano: "boolean",
183
- Data: "string",
184
- DataHora: "string",
185
- Id: "string",
186
- Email: "string",
187
- Url: "string",
188
- Json: "Object",
189
- Vazio: "void",
190
- };
191
- return tabela[limpo] ?? limpo;
192
- }
193
- export function mapearTipoParaInputHtml(tipo) {
194
- const tabela = {
195
- Texto: "text",
196
- Numero: "number",
197
- Inteiro: "number",
198
- Decimal: "number",
199
- Booleano: "checkbox",
200
- Data: "date",
201
- DataHora: "datetime-local",
202
- Id: "text",
203
- Email: "email",
204
- Url: "url",
205
- Json: "textarea",
206
- Vazio: "hidden",
207
- };
208
- return tabela[tipo] ?? "text";
209
- }
210
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- {
2
- "name": "@sema/padroes",
3
- "version": "1.3.2",
4
- "type": "module",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts"
7
- }