@semacode/cli 1.5.16 → 1.5.18

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 (181) hide show
  1. package/AGENTS.md +272 -0
  2. package/LICENSE +22 -0
  3. package/README.md +104 -112
  4. package/SEMA_BRIEF.curto.txt +9 -0
  5. package/SEMA_BRIEF.md +63 -0
  6. package/SEMA_BRIEF.micro.txt +7 -0
  7. package/SEMA_INDEX.json +783 -0
  8. package/dist/angular-consumer-standalone.d.ts +6 -0
  9. package/dist/angular-consumer-standalone.js.map +1 -0
  10. package/dist/cpp-symbols.d.ts +10 -0
  11. package/dist/cpp-symbols.js.map +1 -0
  12. package/dist/docs.d.ts +56 -0
  13. package/dist/docs.js.map +1 -0
  14. package/dist/dotnet-http.d.ts +23 -0
  15. package/dist/dotnet-http.js.map +1 -0
  16. package/dist/drift.d.ts +225 -0
  17. package/dist/drift.js +5 -111
  18. package/dist/drift.js.map +1 -0
  19. package/dist/go-http.d.ts +23 -0
  20. package/dist/go-http.js.map +1 -0
  21. package/dist/importador.d.ts +31 -0
  22. package/dist/importador.js +1 -200
  23. package/dist/importador.js.map +1 -0
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.js +59 -479
  26. package/dist/index.js.map +1 -0
  27. package/dist/java-http.d.ts +23 -0
  28. package/dist/java-http.js.map +1 -0
  29. package/dist/lua-symbols.d.ts +10 -0
  30. package/dist/lua-symbols.js.map +1 -0
  31. package/dist/php-symbols.d.ts +24 -0
  32. package/dist/php-symbols.js.map +1 -0
  33. package/dist/projeto.d.ts +53 -0
  34. package/dist/projeto.js +0 -20
  35. package/dist/projeto.js.map +1 -0
  36. package/dist/python-http.d.ts +23 -0
  37. package/dist/python-http.js.map +1 -0
  38. package/dist/rust-http.d.ts +23 -0
  39. package/dist/rust-http.js.map +1 -0
  40. package/dist/tipos.d.ts +3 -0
  41. package/dist/tipos.js.map +1 -0
  42. package/dist/typescript-http.d.ts +35 -0
  43. package/dist/typescript-http.js.map +1 -0
  44. package/docs/AGENT_STARTER.md +103 -0
  45. package/docs/cli.md +106 -0
  46. package/docs/como-ensinar-a-sema-para-ia.md +149 -0
  47. package/docs/deploy.md +70 -0
  48. package/docs/documentacao.md +63 -0
  49. package/docs/env.md +56 -0
  50. package/docs/extensao-vscode.md +45 -0
  51. package/docs/fluxo-pratico-ia-sema.md +181 -0
  52. package/docs/instalacao-e-primeiro-uso.md +112 -0
  53. package/docs/integracao-com-ia.md +103 -0
  54. package/docs/mcp.md +51 -0
  55. package/docs/pagamento-ponta-a-ponta.md +165 -0
  56. package/docs/persistencia-vendor-first.md +145 -0
  57. package/docs/prompt-base-ia-sema.md +105 -0
  58. package/docs/rollback.md +47 -0
  59. package/docs/sintaxe.md +212 -0
  60. package/exemplos/agendamento.sema +105 -0
  61. package/exemplos/assinatura.sema +133 -0
  62. package/exemplos/auditoria.sema +89 -0
  63. package/exemplos/autenticacao.sema +125 -0
  64. package/exemplos/automacao.sema +107 -0
  65. package/exemplos/cadastro_usuario.sema +54 -0
  66. package/exemplos/calculadora.sema +78 -0
  67. package/exemplos/crud_simples.sema +89 -0
  68. package/exemplos/estoque.sema +127 -0
  69. package/exemplos/exportacao.sema +94 -0
  70. package/exemplos/fila.sema +130 -0
  71. package/exemplos/integracao_externa.sema +94 -0
  72. package/exemplos/multi_tenant.sema +140 -0
  73. package/exemplos/notificacao.sema +149 -0
  74. package/exemplos/operacao_estrategia.sema +633 -0
  75. package/exemplos/pagamento.sema +434 -0
  76. package/exemplos/pagamento_dominio.sema +35 -0
  77. package/exemplos/pedido.sema +255 -0
  78. package/exemplos/permissao.sema +121 -0
  79. package/exemplos/persistencia_vendor_first.sema +86 -0
  80. package/exemplos/relatorio.sema +93 -0
  81. package/exemplos/replica_analitica_erp.sema +160 -0
  82. package/exemplos/testes_embutidos.sema +45 -0
  83. package/exemplos/tratamento_erro.sema +157 -0
  84. package/exemplos/upload_arquivo.sema +93 -0
  85. package/exemplos/webhook.sema +94 -0
  86. package/llms-full.txt +34 -0
  87. package/llms.txt +17 -0
  88. package/node_modules/@sema/gerador-css/dist/index.d.ts +3 -0
  89. package/node_modules/@sema/gerador-css/dist/index.js +592 -0
  90. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -0
  91. package/node_modules/@sema/gerador-css/package.json +7 -0
  92. package/node_modules/@sema/gerador-dart/dist/index.d.ts +3 -0
  93. package/node_modules/@sema/gerador-dart/dist/index.js +44 -0
  94. package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -0
  95. package/node_modules/@sema/gerador-dart/package.json +7 -0
  96. package/node_modules/@sema/gerador-html/dist/index.d.ts +3 -0
  97. package/node_modules/@sema/gerador-html/dist/index.js +163 -0
  98. package/node_modules/@sema/gerador-html/dist/index.js.map +1 -0
  99. package/node_modules/@sema/gerador-html/package.json +7 -0
  100. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +3 -0
  101. package/node_modules/@sema/gerador-javascript/dist/index.js +421 -0
  102. package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -0
  103. package/node_modules/@sema/gerador-javascript/package.json +7 -0
  104. package/node_modules/@sema/gerador-lua/dist/index.d.ts +3 -0
  105. package/node_modules/@sema/gerador-lua/dist/index.js +328 -0
  106. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -0
  107. package/node_modules/@sema/gerador-lua/package.json +7 -0
  108. package/node_modules/@sema/gerador-python/dist/index.d.ts +6 -0
  109. package/node_modules/@sema/gerador-python/dist/index.js +729 -0
  110. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -0
  111. package/node_modules/@sema/gerador-python/package.json +7 -0
  112. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +6 -0
  113. package/node_modules/@sema/gerador-typescript/dist/index.js +793 -0
  114. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -0
  115. package/node_modules/@sema/gerador-typescript/package.json +7 -0
  116. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +123 -0
  117. package/node_modules/@sema/nucleo/dist/ast/tipos.js +2 -0
  118. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +1 -0
  119. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +21 -0
  120. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +12 -0
  121. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +1 -0
  122. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +9 -0
  123. package/node_modules/@sema/nucleo/dist/formatador/index.js +460 -0
  124. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -0
  125. package/node_modules/@sema/nucleo/dist/index.d.ts +35 -0
  126. package/node_modules/@sema/nucleo/dist/index.js +96 -0
  127. package/node_modules/@sema/nucleo/dist/index.js.map +1 -0
  128. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +5 -0
  129. package/node_modules/@sema/nucleo/dist/ir/conversor.js +877 -0
  130. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -0
  131. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +345 -0
  132. package/node_modules/@sema/nucleo/dist/ir/modelos.js +2 -0
  133. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +1 -0
  134. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +7 -0
  135. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +122 -0
  136. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +1 -0
  137. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +8 -0
  138. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +61 -0
  139. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -0
  140. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +9 -0
  141. package/node_modules/@sema/nucleo/dist/parser/parser.js +767 -0
  142. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -0
  143. package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +39 -0
  144. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +294 -0
  145. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -0
  146. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +59 -0
  147. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1681 -0
  148. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -0
  149. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +106 -0
  150. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +475 -0
  151. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -0
  152. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +91 -0
  153. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +258 -0
  154. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +1 -0
  155. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +2 -0
  156. package/node_modules/@sema/nucleo/dist/util/arquivos.js +25 -0
  157. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +1 -0
  158. package/node_modules/@sema/nucleo/package.json +7 -0
  159. package/node_modules/@sema/padroes/dist/index.d.ts +25 -0
  160. package/node_modules/@sema/padroes/dist/index.js +316 -0
  161. package/node_modules/@sema/padroes/dist/index.js.map +1 -0
  162. package/node_modules/@sema/padroes/package.json +7 -0
  163. package/package.json +32 -23
  164. package/semacode-cli-1.3.1.tgz +0 -0
  165. package/src/angular-consumer-standalone.ts +0 -312
  166. package/src/cpp-symbols.ts +0 -82
  167. package/src/docs.ts +0 -535
  168. package/src/dotnet-http.ts +0 -355
  169. package/src/drift.ts +0 -4933
  170. package/src/go-http.ts +0 -118
  171. package/src/importador.ts +0 -3891
  172. package/src/index.ts +0 -5641
  173. package/src/java-http.ts +0 -247
  174. package/src/lua-symbols.ts +0 -114
  175. package/src/php-symbols.ts +0 -462
  176. package/src/projeto.ts +0 -862
  177. package/src/python-http.ts +0 -258
  178. package/src/rust-http.ts +0 -125
  179. package/src/tipos.ts +0 -24
  180. package/src/typescript-http.ts +0 -1076
  181. package/tsconfig.json +0 -20
@@ -0,0 +1,592 @@
1
+ import { normalizarNomeModulo, normalizarNomeParaSimbolo, } from "@sema/padroes";
2
+ function gerarEstilosEntity(entity) {
3
+ const nome = normalizarNomeParaSimbolo(entity.nome);
4
+ return `.sema-entity[data-entity="${entity.nome}"] {
5
+ border-left: 3px solid var(--sema-cor-entidade);
6
+ }
7
+ `;
8
+ }
9
+ function gerarEstilosTask(task) {
10
+ const erros = Object.keys(task.errors);
11
+ const erroEstilos = erros.map((nomeErro) => `.sema-erro[data-erro="${nomeErro}"] {
12
+ display: block;
13
+ color: var(--sema-cor-erro-texto);
14
+ background: var(--sema-cor-erro-fundo);
15
+ border-left: 3px solid var(--sema-cor-erro);
16
+ padding: 0.5rem 0.75rem;
17
+ margin-top: 0.5rem;
18
+ border-radius: var(--sema-raio);
19
+ font-size: 0.875rem;
20
+ animation: sema-surgir 0.3s ease;
21
+ }
22
+ `).join("\n");
23
+ return erroEstilos;
24
+ }
25
+ function gerarEstilosState(state) {
26
+ const estilos = [];
27
+ for (const transicao of state.transicoes) {
28
+ estilos.push(`.sema-estado-origem:has(+ .sema-estado-destino) { font-weight: 600; }`);
29
+ }
30
+ return estilos.join("\n");
31
+ }
32
+ function gerarEstilosEnum(enumeracao) {
33
+ return enumeracao.valores.map((valor) => `.sema-select option[value="${valor}"] {
34
+ color: var(--sema-cor-texto);
35
+ }
36
+ `).join("");
37
+ }
38
+ export function gerarCss(modulo) {
39
+ const nomeBase = normalizarNomeModulo(modulo.nome).replace(/\./g, "_");
40
+ const entidades = modulo.entities.map(gerarEstilosEntity).join("\n");
41
+ const tasks = modulo.tasks.map(gerarEstilosTask).join("\n");
42
+ const enums = modulo.enums.map(gerarEstilosEnum).join("\n");
43
+ const css = `/* Arquivo gerado automaticamente pela Sema. */
44
+ /* Modulo de origem: ${modulo.nome} */
45
+
46
+ /* ========================================
47
+ Design System — Variaveis
48
+ ======================================== */
49
+
50
+ :root {
51
+ /* Cores principais */
52
+ --sema-cor-primaria: #6366f1;
53
+ --sema-cor-primaria-hover: #4f46e5;
54
+ --sema-cor-primaria-suave: #eef2ff;
55
+ --sema-cor-sucesso: #10b981;
56
+ --sema-cor-sucesso-fundo: #ecfdf5;
57
+ --sema-cor-erro: #ef4444;
58
+ --sema-cor-erro-texto: #991b1b;
59
+ --sema-cor-erro-fundo: #fef2f2;
60
+ --sema-cor-aviso: #f59e0b;
61
+ --sema-cor-info: #3b82f6;
62
+
63
+ /* Neutros */
64
+ --sema-cor-fundo: #fafafa;
65
+ --sema-cor-superficie: #ffffff;
66
+ --sema-cor-texto: #18181b;
67
+ --sema-cor-texto-secundario: #71717a;
68
+ --sema-cor-borda: #e4e4e7;
69
+ --sema-cor-borda-foco: #a5b4fc;
70
+ --sema-cor-entidade: #8b5cf6;
71
+
72
+ /* Tipografia */
73
+ --sema-fonte: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
74
+ --sema-fonte-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;
75
+ --sema-tamanho-base: 0.9375rem;
76
+ --sema-tamanho-titulo: 1.75rem;
77
+ --sema-tamanho-subtitulo: 1.25rem;
78
+ --sema-tamanho-pequeno: 0.8125rem;
79
+
80
+ /* Espacamento */
81
+ --sema-espacamento-xs: 0.25rem;
82
+ --sema-espacamento-sm: 0.5rem;
83
+ --sema-espacamento-md: 1rem;
84
+ --sema-espacamento-lg: 1.5rem;
85
+ --sema-espacamento-xl: 2rem;
86
+
87
+ /* Bordas e sombras */
88
+ --sema-raio: 0.5rem;
89
+ --sema-raio-lg: 0.75rem;
90
+ --sema-sombra: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
91
+ --sema-sombra-lg: 0 4px 12px rgba(0, 0, 0, 0.1);
92
+
93
+ /* Transicoes */
94
+ --sema-transicao: 150ms ease;
95
+ --sema-transicao-lenta: 300ms ease;
96
+ }
97
+
98
+ /* ========================================
99
+ Dark Mode
100
+ ======================================== */
101
+
102
+ @media (prefers-color-scheme: dark) {
103
+ :root {
104
+ --sema-cor-primaria: #818cf8;
105
+ --sema-cor-primaria-hover: #a5b4fc;
106
+ --sema-cor-primaria-suave: #1e1b4b;
107
+ --sema-cor-sucesso: #34d399;
108
+ --sema-cor-sucesso-fundo: #064e3b;
109
+ --sema-cor-erro: #f87171;
110
+ --sema-cor-erro-texto: #fecaca;
111
+ --sema-cor-erro-fundo: #450a0a;
112
+ --sema-cor-fundo: #09090b;
113
+ --sema-cor-superficie: #18181b;
114
+ --sema-cor-texto: #fafafa;
115
+ --sema-cor-texto-secundario: #a1a1aa;
116
+ --sema-cor-borda: #3f3f46;
117
+ --sema-cor-borda-foco: #6366f1;
118
+ --sema-cor-entidade: #a78bfa;
119
+ }
120
+ }
121
+
122
+ /* ========================================
123
+ Base
124
+ ======================================== */
125
+
126
+ *, *::before, *::after {
127
+ box-sizing: border-box;
128
+ margin: 0;
129
+ padding: 0;
130
+ }
131
+
132
+ body {
133
+ font-family: var(--sema-fonte);
134
+ font-size: var(--sema-tamanho-base);
135
+ line-height: 1.6;
136
+ color: var(--sema-cor-texto);
137
+ background-color: var(--sema-cor-fundo);
138
+ -webkit-font-smoothing: antialiased;
139
+ }
140
+
141
+ /* ========================================
142
+ Layout
143
+ ======================================== */
144
+
145
+ .sema-header {
146
+ background: var(--sema-cor-superficie);
147
+ border-bottom: 1px solid var(--sema-cor-borda);
148
+ padding: var(--sema-espacamento-xl) var(--sema-espacamento-lg);
149
+ text-align: center;
150
+ }
151
+
152
+ .sema-header h1 {
153
+ font-size: var(--sema-tamanho-titulo);
154
+ font-weight: 700;
155
+ color: var(--sema-cor-primaria);
156
+ letter-spacing: -0.02em;
157
+ }
158
+
159
+ .sema-subtitulo {
160
+ color: var(--sema-cor-texto-secundario);
161
+ font-size: var(--sema-tamanho-pequeno);
162
+ margin-top: var(--sema-espacamento-xs);
163
+ }
164
+
165
+ .sema-main {
166
+ max-width: 64rem;
167
+ margin: 0 auto;
168
+ padding: var(--sema-espacamento-xl) var(--sema-espacamento-lg);
169
+ display: flex;
170
+ flex-direction: column;
171
+ gap: var(--sema-espacamento-lg);
172
+ }
173
+
174
+ .sema-footer {
175
+ text-align: center;
176
+ padding: var(--sema-espacamento-lg);
177
+ color: var(--sema-cor-texto-secundario);
178
+ font-size: var(--sema-tamanho-pequeno);
179
+ border-top: 1px solid var(--sema-cor-borda);
180
+ }
181
+
182
+ .sema-footer code {
183
+ font-family: var(--sema-fonte-mono);
184
+ background: var(--sema-cor-primaria-suave);
185
+ padding: 0.125rem 0.375rem;
186
+ border-radius: 0.25rem;
187
+ font-size: 0.8125rem;
188
+ }
189
+
190
+ /* ========================================
191
+ Entities
192
+ ======================================== */
193
+
194
+ .sema-entity,
195
+ .sema-task,
196
+ .sema-enum,
197
+ .sema-state,
198
+ .sema-flow,
199
+ .sema-route {
200
+ background: var(--sema-cor-superficie);
201
+ border: 1px solid var(--sema-cor-borda);
202
+ border-radius: var(--sema-raio-lg);
203
+ padding: var(--sema-espacamento-lg);
204
+ box-shadow: var(--sema-sombra);
205
+ transition: box-shadow var(--sema-transicao);
206
+ }
207
+
208
+ .sema-entity:hover,
209
+ .sema-task:hover,
210
+ .sema-route:hover {
211
+ box-shadow: var(--sema-sombra-lg);
212
+ }
213
+
214
+ .sema-entity h3,
215
+ .sema-task h3,
216
+ .sema-enum h3,
217
+ .sema-state h3,
218
+ .sema-flow h3,
219
+ .sema-route h3 {
220
+ font-size: var(--sema-tamanho-subtitulo);
221
+ font-weight: 600;
222
+ margin-bottom: var(--sema-espacamento-md);
223
+ color: var(--sema-cor-texto);
224
+ }
225
+
226
+ /* ========================================
227
+ Tabelas de Entity
228
+ ======================================== */
229
+
230
+ .sema-tabela {
231
+ width: 100%;
232
+ border-collapse: collapse;
233
+ font-size: var(--sema-tamanho-pequeno);
234
+ }
235
+
236
+ .sema-tabela th {
237
+ text-align: left;
238
+ padding: var(--sema-espacamento-sm) var(--sema-espacamento-md);
239
+ background: var(--sema-cor-primaria-suave);
240
+ border-bottom: 2px solid var(--sema-cor-borda);
241
+ font-weight: 600;
242
+ white-space: nowrap;
243
+ }
244
+
245
+ .sema-tabela th small {
246
+ color: var(--sema-cor-texto-secundario);
247
+ font-weight: 400;
248
+ margin-left: 0.25rem;
249
+ }
250
+
251
+ .sema-tabela td {
252
+ padding: var(--sema-espacamento-sm) var(--sema-espacamento-md);
253
+ border-bottom: 1px solid var(--sema-cor-borda);
254
+ color: var(--sema-cor-texto-secundario);
255
+ }
256
+
257
+ /* ========================================
258
+ Formularios de Task
259
+ ======================================== */
260
+
261
+ .sema-formulario fieldset {
262
+ border: 1px solid var(--sema-cor-borda);
263
+ border-radius: var(--sema-raio);
264
+ padding: var(--sema-espacamento-md);
265
+ margin-bottom: var(--sema-espacamento-md);
266
+ }
267
+
268
+ .sema-formulario legend {
269
+ font-weight: 600;
270
+ font-size: var(--sema-tamanho-pequeno);
271
+ color: var(--sema-cor-texto-secundario);
272
+ padding: 0 var(--sema-espacamento-xs);
273
+ text-transform: uppercase;
274
+ letter-spacing: 0.05em;
275
+ }
276
+
277
+ .sema-campo {
278
+ margin-bottom: var(--sema-espacamento-md);
279
+ }
280
+
281
+ .sema-campo label {
282
+ display: block;
283
+ font-weight: 500;
284
+ font-size: var(--sema-tamanho-pequeno);
285
+ margin-bottom: var(--sema-espacamento-xs);
286
+ color: var(--sema-cor-texto);
287
+ }
288
+
289
+ .sema-obrigatorio {
290
+ color: var(--sema-cor-erro);
291
+ }
292
+
293
+ .sema-campo input[type="text"],
294
+ .sema-campo input[type="number"],
295
+ .sema-campo input[type="email"],
296
+ .sema-campo input[type="url"],
297
+ .sema-campo input[type="date"],
298
+ .sema-campo input[type="datetime-local"],
299
+ .sema-campo textarea {
300
+ width: 100%;
301
+ padding: 0.5rem 0.75rem;
302
+ font-family: var(--sema-fonte);
303
+ font-size: var(--sema-tamanho-base);
304
+ color: var(--sema-cor-texto);
305
+ background: var(--sema-cor-fundo);
306
+ border: 1px solid var(--sema-cor-borda);
307
+ border-radius: var(--sema-raio);
308
+ outline: none;
309
+ transition: border-color var(--sema-transicao), box-shadow var(--sema-transicao);
310
+ }
311
+
312
+ .sema-campo input:focus,
313
+ .sema-campo textarea:focus {
314
+ border-color: var(--sema-cor-borda-foco);
315
+ box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
316
+ }
317
+
318
+ .sema-campo textarea {
319
+ min-height: 5rem;
320
+ resize: vertical;
321
+ }
322
+
323
+ .sema-campo-checkbox label {
324
+ display: flex;
325
+ align-items: center;
326
+ gap: var(--sema-espacamento-sm);
327
+ cursor: pointer;
328
+ }
329
+
330
+ .sema-campo-checkbox input[type="checkbox"] {
331
+ width: 1.125rem;
332
+ height: 1.125rem;
333
+ accent-color: var(--sema-cor-primaria);
334
+ }
335
+
336
+ /* ========================================
337
+ Botoes
338
+ ======================================== */
339
+
340
+ .sema-botao {
341
+ display: inline-flex;
342
+ align-items: center;
343
+ justify-content: center;
344
+ padding: 0.625rem 1.25rem;
345
+ font-family: var(--sema-fonte);
346
+ font-size: var(--sema-tamanho-base);
347
+ font-weight: 600;
348
+ color: #fff;
349
+ background: var(--sema-cor-primaria);
350
+ border: none;
351
+ border-radius: var(--sema-raio);
352
+ cursor: pointer;
353
+ transition: background var(--sema-transicao), transform var(--sema-transicao);
354
+ }
355
+
356
+ .sema-botao:hover {
357
+ background: var(--sema-cor-primaria-hover);
358
+ transform: translateY(-1px);
359
+ }
360
+
361
+ .sema-botao:active {
362
+ transform: translateY(0);
363
+ }
364
+
365
+ /* ========================================
366
+ Erros
367
+ ======================================== */
368
+
369
+ .sema-erros {
370
+ margin-top: var(--sema-espacamento-sm);
371
+ }
372
+
373
+ .sema-erro[hidden] {
374
+ display: none;
375
+ }
376
+
377
+ /* ========================================
378
+ Saida
379
+ ======================================== */
380
+
381
+ .sema-saida {
382
+ margin-top: var(--sema-espacamento-md);
383
+ padding: var(--sema-espacamento-md);
384
+ background: var(--sema-cor-sucesso-fundo);
385
+ border: 1px solid var(--sema-cor-sucesso);
386
+ border-radius: var(--sema-raio);
387
+ }
388
+
389
+ .sema-saida[hidden] {
390
+ display: none;
391
+ }
392
+
393
+ .sema-saida h4 {
394
+ font-size: var(--sema-tamanho-pequeno);
395
+ font-weight: 600;
396
+ text-transform: uppercase;
397
+ letter-spacing: 0.05em;
398
+ color: var(--sema-cor-sucesso);
399
+ margin-bottom: var(--sema-espacamento-sm);
400
+ }
401
+
402
+ .sema-campo-saida {
403
+ padding: var(--sema-espacamento-xs) 0;
404
+ font-size: var(--sema-tamanho-pequeno);
405
+ }
406
+
407
+ /* ========================================
408
+ Selects (Enums)
409
+ ======================================== */
410
+
411
+ .sema-select {
412
+ width: 100%;
413
+ padding: 0.5rem 0.75rem;
414
+ font-family: var(--sema-fonte);
415
+ font-size: var(--sema-tamanho-base);
416
+ color: var(--sema-cor-texto);
417
+ background: var(--sema-cor-fundo);
418
+ border: 1px solid var(--sema-cor-borda);
419
+ border-radius: var(--sema-raio);
420
+ outline: none;
421
+ transition: border-color var(--sema-transicao);
422
+ }
423
+
424
+ .sema-select:focus {
425
+ border-color: var(--sema-cor-borda-foco);
426
+ box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
427
+ }
428
+
429
+ /* ========================================
430
+ States
431
+ ======================================== */
432
+
433
+ .sema-state {
434
+ border-left: 3px solid var(--sema-cor-aviso);
435
+ }
436
+
437
+ .sema-transicoes {
438
+ list-style: none;
439
+ padding: 0;
440
+ }
441
+
442
+ .sema-transicoes li {
443
+ padding: var(--sema-espacamento-sm) 0;
444
+ border-bottom: 1px solid var(--sema-cor-borda);
445
+ font-size: var(--sema-tamanho-pequeno);
446
+ }
447
+
448
+ .sema-transicoes li:last-child {
449
+ border-bottom: none;
450
+ }
451
+
452
+ .sema-estado-origem {
453
+ font-weight: 600;
454
+ color: var(--sema-cor-texto);
455
+ }
456
+
457
+ .sema-estado-destino {
458
+ color: var(--sema-cor-primaria);
459
+ font-weight: 600;
460
+ }
461
+
462
+ /* ========================================
463
+ Flows
464
+ ======================================== */
465
+
466
+ .sema-flow {
467
+ border-left: 3px solid var(--sema-cor-info);
468
+ }
469
+
470
+ .sema-etapas {
471
+ padding-left: var(--sema-espacamento-lg);
472
+ counter-reset: etapa;
473
+ }
474
+
475
+ .sema-etapas li {
476
+ padding: var(--sema-espacamento-sm) 0;
477
+ font-size: var(--sema-tamanho-pequeno);
478
+ }
479
+
480
+ .sema-etapa strong {
481
+ color: var(--sema-cor-primaria);
482
+ }
483
+
484
+ /* ========================================
485
+ Routes
486
+ ======================================== */
487
+
488
+ .sema-route {
489
+ border-left: 3px solid var(--sema-cor-sucesso);
490
+ }
491
+
492
+ .sema-route-detalhe {
493
+ display: flex;
494
+ align-items: center;
495
+ gap: var(--sema-espacamento-sm);
496
+ flex-wrap: wrap;
497
+ margin-bottom: var(--sema-espacamento-sm);
498
+ }
499
+
500
+ .sema-route-metodo {
501
+ display: inline-block;
502
+ padding: 0.125rem 0.5rem;
503
+ font-family: var(--sema-fonte-mono);
504
+ font-size: var(--sema-tamanho-pequeno);
505
+ font-weight: 700;
506
+ color: #fff;
507
+ background: var(--sema-cor-sucesso);
508
+ border-radius: 0.25rem;
509
+ text-transform: uppercase;
510
+ }
511
+
512
+ .sema-route-caminho {
513
+ font-family: var(--sema-fonte-mono);
514
+ font-size: var(--sema-tamanho-pequeno);
515
+ color: var(--sema-cor-texto);
516
+ }
517
+
518
+ .sema-route-task {
519
+ font-size: var(--sema-tamanho-pequeno);
520
+ color: var(--sema-cor-texto-secundario);
521
+ }
522
+
523
+ .sema-route-io {
524
+ margin-top: var(--sema-espacamento-sm);
525
+ font-size: var(--sema-tamanho-pequeno);
526
+ }
527
+
528
+ .sema-route-io summary {
529
+ cursor: pointer;
530
+ font-weight: 500;
531
+ color: var(--sema-cor-texto-secundario);
532
+ }
533
+
534
+ .sema-route-io ul {
535
+ padding-left: var(--sema-espacamento-lg);
536
+ margin-top: var(--sema-espacamento-xs);
537
+ }
538
+
539
+ /* ========================================
540
+ Animacoes
541
+ ======================================== */
542
+
543
+ @keyframes sema-surgir {
544
+ from {
545
+ opacity: 0;
546
+ transform: translateY(-4px);
547
+ }
548
+ to {
549
+ opacity: 1;
550
+ transform: translateY(0);
551
+ }
552
+ }
553
+
554
+ /* ========================================
555
+ Responsividade
556
+ ======================================== */
557
+
558
+ @media (max-width: 640px) {
559
+ .sema-main {
560
+ padding: var(--sema-espacamento-md);
561
+ }
562
+
563
+ .sema-header {
564
+ padding: var(--sema-espacamento-lg) var(--sema-espacamento-md);
565
+ }
566
+
567
+ .sema-header h1 {
568
+ font-size: 1.375rem;
569
+ }
570
+
571
+ .sema-tabela {
572
+ display: block;
573
+ overflow-x: auto;
574
+ }
575
+
576
+ .sema-route-detalhe {
577
+ flex-direction: column;
578
+ align-items: flex-start;
579
+ }
580
+ }
581
+
582
+ /* ========================================
583
+ Estilos especificos do modulo
584
+ ======================================== */
585
+
586
+ ${entidades}
587
+ ${tasks}
588
+ ${enums}
589
+ `;
590
+ return [{ caminhoRelativo: `${nomeBase}.css`, conteudo: css }];
591
+ }
592
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AAEvB,SAAS,kBAAkB,CAAC,MAAM;IAChC,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,6BAA6B,MAAM,CAAC,IAAI;;;CAGhD,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAI;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,QAAQ;;;;;;;;;;;CAW9E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAK;IAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAU;IAClC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,KAAK;;;CAG7E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAgB;IACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAG;uBACS,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8hBhC,SAAS;EACT,KAAK;EACL,KAAK;CACN,CAAC;IAEA,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,QAAQ,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@sema/gerador-css",
3
+ "version": "1.5.18",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts"
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { IrModulo } from "@sema/nucleo";
2
+ import { type ArquivoGerado } from "@sema/padroes";
3
+ export declare function gerarDart(modulo: IrModulo): ArquivoGerado[];
@@ -0,0 +1,44 @@
1
+ import { mapearTipoParaDart, normalizarNomeModulo } from "@sema/padroes";
2
+ const TIPOS_PRIMITIVOS_SEMA = new Set(["Texto", "Numero", "Inteiro", "Decimal", "Booleano", "Data", "DataHora", "Id", "Email", "Url", "Json", "Vazio"]);
3
+ function gerarClasse(nome, campos) {
4
+ const declaracoes = campos.length === 0
5
+ ? " const " + nome + "();"
6
+ : ` const ${nome}({\n${campos.map((campo) => ` this.${campo.nome},`).join("\n")}\n });`;
7
+ const propriedades = campos.length === 0
8
+ ? ""
9
+ : `${campos.map((campo) => ` final ${campo.modificadores.includes("required") ? "" : ""}${mapearTipoParaDart(campo.tipo)}${campo.modificadores.includes("required") ? "" : "?"} ${campo.nome};`).join("\n")}\n`;
10
+ return `class ${nome} {\n${propriedades}${declaracoes}\n}\n`;
11
+ }
12
+ function coletarTiposExternos(modulo) {
13
+ const locais = new Set([
14
+ ...modulo.types.map((item) => item.nome),
15
+ ...modulo.entities.map((item) => item.nome),
16
+ ...modulo.enums.map((item) => item.nome),
17
+ ]);
18
+ const referenciados = new Set();
19
+ const campos = [
20
+ ...modulo.entities.flatMap((entity) => entity.campos),
21
+ ...modulo.tasks.flatMap((task) => [...task.input, ...task.output]),
22
+ ...modulo.routes.flatMap((route) => [...route.inputPublico, ...route.outputPublico]),
23
+ ...modulo.states.flatMap((state) => state.campos),
24
+ ];
25
+ for (const campo of campos) {
26
+ if (!TIPOS_PRIMITIVOS_SEMA.has(campo.tipo) && !locais.has(campo.tipo)) {
27
+ referenciados.add(campo.tipo);
28
+ }
29
+ }
30
+ return [...referenciados].sort((a, b) => a.localeCompare(b, "pt-BR"));
31
+ }
32
+ export function gerarDart(modulo) {
33
+ const nomeBase = normalizarNomeModulo(modulo.nome).replace(/\./g, "_");
34
+ const interops = modulo.interoperabilidades.map((interop) => `// Interop externo ${interop.origem}: ${interop.caminho}`).join("\n");
35
+ const tiposExternos = coletarTiposExternos(modulo).map((tipo) => `typedef ${tipo} = Object;`).join("\n");
36
+ const entidades = modulo.entities.map((entity) => gerarClasse(entity.nome, entity.campos)).join("\n");
37
+ const enums = modulo.enums.map((enumeracao) => `enum ${enumeracao.nome} { ${enumeracao.valores.map((valor) => valor.toLowerCase()).join(", ")} }\n`).join("\n");
38
+ const tasks = modulo.tasks.map((task) => `// Task ${task.nome}: input=${task.input.length} output=${task.output.length} effects=${task.efeitosEstruturados.map((efeito) => `${efeito.categoria}:${efeito.alvo}`).join(", ") || "nenhum"} impl=${task.implementacoesExternas.map((impl) => `${impl.origem}:${impl.caminho}[${impl.statusImpl ?? "nao_verificado"}]`).join(", ") || "nenhuma"}`).join("\n");
39
+ const flows = modulo.flows.map((flow) => `// Flow ${flow.nome}: etapas=${flow.etapasEstruturadas.length} tasks=${flow.tasksReferenciadas.join(", ") || "nenhuma"}`).join("\n");
40
+ const routes = modulo.routes.map((route) => `// Route ${route.nome}: metodo=${route.metodo ?? "nao_definido"} caminho=${route.caminho ?? "nao_definido"} task=${route.task ?? "nao_definida"} erros_publicos=${route.errosPublicos.map((erro) => erro.nome).join(", ") || "nenhum"}`).join("\n");
41
+ const codigo = `// Arquivo gerado automaticamente pela Sema.\n// Modulo de origem: ${modulo.nome}\n${interops ? `${interops}\n` : ""}\n${tiposExternos}\n\n${enums}\n${entidades}\n${tasks}\n${flows}\n${routes}\n`;
42
+ return [{ caminhoRelativo: `${nomeBase}.dart`, conteudo: codigo }];
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@sema/gerador-dart",
3
+ "version": "1.5.18",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts"
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { IrModulo } from "@sema/nucleo";
2
+ import { type ArquivoGerado } from "@sema/padroes";
3
+ export declare function gerarHtml(modulo: IrModulo): ArquivoGerado[];