@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
package/llms-full.txt DELETED
@@ -1,34 +0,0 @@
1
- Sema is an AI-first semantic language and tooling stack for explicit software intent, drift analysis, and safer intervention in live backend systems.
2
-
3
- This repository is not optimized for human-first reading. It is optimized for AI agents that need compressed, canonical semantic context.
4
-
5
- Canonical entrypoints in the repository root:
6
- 1. `llms.txt`
7
- 2. `SEMA_BRIEF.md`
8
- 3. `SEMA_INDEX.json`
9
- 4. `AGENTS.md`
10
- 5. `README.md`
11
- 6. `docs/AGENT_STARTER.md`
12
-
13
- Capacity routing:
14
- - small/free AI: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json` -> `AGENTS.md`
15
- - medium AI: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
16
- - large/tool-using AI: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
17
-
18
- Source-of-truth order:
19
- 1. root Sema artifacts
20
- 2. CLI JSON outputs
21
- 3. official docs
22
- 4. official examples
23
- 5. raw implementation code
24
-
25
- Useful commands:
26
- - `sema resumo <arquivo-ou-pasta> --micro --para mudanca`
27
- - `sema prompt-curto <arquivo-ou-pasta> --curto --para review`
28
- - `sema drift <arquivo-ou-pasta> --json`
29
- - `sema contexto-ia <arquivo.sema> --saida ./.tmp/contexto --json`
30
- - `sema validar <arquivo-ou-pasta> --json`
31
- - `sema verificar <arquivo-ou-pasta> --json`
32
-
33
- Do not ask the model to infer semantics that are already available in Sema artifacts.
34
- Do not start from raw source code if `SEMA_BRIEF`, `SEMA_INDEX`, `drift`, or `briefing` are available.
package/llms.txt DELETED
@@ -1,17 +0,0 @@
1
- Sema is an AI-first semantic language and tooling stack for backend intent.
2
-
3
- This repository is not human-first. Use the canonical AI entrypoints before raw code.
4
-
5
- Read in this order:
6
- 1. SEMA_BRIEF.micro.txt or SEMA_BRIEF.md
7
- 2. SEMA_INDEX.json
8
- 3. AGENTS.md
9
- 4. README.md
10
-
11
- Capacity routing:
12
- - small models: llms.txt -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json
13
- - medium models: llms.txt -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> README.md
14
- - large models: llms-full.txt -> SEMA_BRIEF.md -> SEMA_INDEX.json -> README.md
15
-
16
- Prefer Sema artifacts over raw source code when both exist.
17
- Prefer `drift`, `briefing`, `ir`, and `diagnosticos` over guesswork.
@@ -1,3 +0,0 @@
1
- import type { IrModulo } from "@sema/nucleo";
2
- import { type ArquivoGerado } from "@sema/padroes";
3
- export declare function gerarCss(modulo: IrModulo): ArquivoGerado[];
@@ -1,592 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
1
- {
2
- "name": "@sema/gerador-css",
3
- "version": "1.3.2",
4
- "type": "module",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts"
7
- }
@@ -1,3 +0,0 @@
1
- import type { IrModulo } from "@sema/nucleo";
2
- import { type ArquivoGerado } from "@sema/padroes";
3
- export declare function gerarDart(modulo: IrModulo): ArquivoGerado[];