@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.
- package/AGENTS.md +272 -0
- package/LICENSE +22 -0
- package/README.md +104 -112
- package/SEMA_BRIEF.curto.txt +9 -0
- package/SEMA_BRIEF.md +63 -0
- package/SEMA_BRIEF.micro.txt +7 -0
- package/SEMA_INDEX.json +783 -0
- package/dist/angular-consumer-standalone.d.ts +6 -0
- package/dist/angular-consumer-standalone.js.map +1 -0
- package/dist/cpp-symbols.d.ts +10 -0
- package/dist/cpp-symbols.js.map +1 -0
- package/dist/docs.d.ts +56 -0
- package/dist/docs.js.map +1 -0
- package/dist/dotnet-http.d.ts +23 -0
- package/dist/dotnet-http.js.map +1 -0
- package/dist/drift.d.ts +225 -0
- package/dist/drift.js +5 -111
- package/dist/drift.js.map +1 -0
- package/dist/go-http.d.ts +23 -0
- package/dist/go-http.js.map +1 -0
- package/dist/importador.d.ts +31 -0
- package/dist/importador.js +1 -200
- package/dist/importador.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +59 -479
- package/dist/index.js.map +1 -0
- package/dist/java-http.d.ts +23 -0
- package/dist/java-http.js.map +1 -0
- package/dist/lua-symbols.d.ts +10 -0
- package/dist/lua-symbols.js.map +1 -0
- package/dist/php-symbols.d.ts +24 -0
- package/dist/php-symbols.js.map +1 -0
- package/dist/projeto.d.ts +53 -0
- package/dist/projeto.js +0 -20
- package/dist/projeto.js.map +1 -0
- package/dist/python-http.d.ts +23 -0
- package/dist/python-http.js.map +1 -0
- package/dist/rust-http.d.ts +23 -0
- package/dist/rust-http.js.map +1 -0
- package/dist/tipos.d.ts +3 -0
- package/dist/tipos.js.map +1 -0
- package/dist/typescript-http.d.ts +35 -0
- package/dist/typescript-http.js.map +1 -0
- package/docs/AGENT_STARTER.md +103 -0
- package/docs/cli.md +106 -0
- package/docs/como-ensinar-a-sema-para-ia.md +149 -0
- package/docs/deploy.md +70 -0
- package/docs/documentacao.md +63 -0
- package/docs/env.md +56 -0
- package/docs/extensao-vscode.md +45 -0
- package/docs/fluxo-pratico-ia-sema.md +181 -0
- package/docs/instalacao-e-primeiro-uso.md +112 -0
- package/docs/integracao-com-ia.md +103 -0
- package/docs/mcp.md +51 -0
- package/docs/pagamento-ponta-a-ponta.md +165 -0
- package/docs/persistencia-vendor-first.md +145 -0
- package/docs/prompt-base-ia-sema.md +105 -0
- package/docs/rollback.md +47 -0
- package/docs/sintaxe.md +212 -0
- package/exemplos/agendamento.sema +105 -0
- package/exemplos/assinatura.sema +133 -0
- package/exemplos/auditoria.sema +89 -0
- package/exemplos/autenticacao.sema +125 -0
- package/exemplos/automacao.sema +107 -0
- package/exemplos/cadastro_usuario.sema +54 -0
- package/exemplos/calculadora.sema +78 -0
- package/exemplos/crud_simples.sema +89 -0
- package/exemplos/estoque.sema +127 -0
- package/exemplos/exportacao.sema +94 -0
- package/exemplos/fila.sema +130 -0
- package/exemplos/integracao_externa.sema +94 -0
- package/exemplos/multi_tenant.sema +140 -0
- package/exemplos/notificacao.sema +149 -0
- package/exemplos/operacao_estrategia.sema +633 -0
- package/exemplos/pagamento.sema +434 -0
- package/exemplos/pagamento_dominio.sema +35 -0
- package/exemplos/pedido.sema +255 -0
- package/exemplos/permissao.sema +121 -0
- package/exemplos/persistencia_vendor_first.sema +86 -0
- package/exemplos/relatorio.sema +93 -0
- package/exemplos/replica_analitica_erp.sema +160 -0
- package/exemplos/testes_embutidos.sema +45 -0
- package/exemplos/tratamento_erro.sema +157 -0
- package/exemplos/upload_arquivo.sema +93 -0
- package/exemplos/webhook.sema +94 -0
- package/llms-full.txt +34 -0
- package/llms.txt +17 -0
- package/node_modules/@sema/gerador-css/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-css/dist/index.js +592 -0
- package/node_modules/@sema/gerador-css/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-css/package.json +7 -0
- package/node_modules/@sema/gerador-dart/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-dart/dist/index.js +44 -0
- package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-dart/package.json +7 -0
- package/node_modules/@sema/gerador-html/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-html/dist/index.js +163 -0
- package/node_modules/@sema/gerador-html/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-html/package.json +7 -0
- package/node_modules/@sema/gerador-javascript/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-javascript/dist/index.js +421 -0
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-javascript/package.json +7 -0
- package/node_modules/@sema/gerador-lua/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-lua/dist/index.js +328 -0
- package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-lua/package.json +7 -0
- package/node_modules/@sema/gerador-python/dist/index.d.ts +6 -0
- package/node_modules/@sema/gerador-python/dist/index.js +729 -0
- package/node_modules/@sema/gerador-python/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-python/package.json +7 -0
- package/node_modules/@sema/gerador-typescript/dist/index.d.ts +6 -0
- package/node_modules/@sema/gerador-typescript/dist/index.js +793 -0
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-typescript/package.json +7 -0
- package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +123 -0
- package/node_modules/@sema/nucleo/dist/ast/tipos.js +2 -0
- package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +21 -0
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +12 -0
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +9 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.js +460 -0
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/index.d.ts +35 -0
- package/node_modules/@sema/nucleo/dist/index.js +96 -0
- package/node_modules/@sema/nucleo/dist/index.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +5 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +877 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +345 -0
- package/node_modules/@sema/nucleo/dist/ir/modelos.js +2 -0
- package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +7 -0
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js +122 -0
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +8 -0
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js +61 -0
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +9 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.js +767 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +39 -0
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +294 -0
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +59 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1681 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +106 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +475 -0
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +91 -0
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +258 -0
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +1 -0
- package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +2 -0
- package/node_modules/@sema/nucleo/dist/util/arquivos.js +25 -0
- package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +1 -0
- package/node_modules/@sema/nucleo/package.json +7 -0
- package/node_modules/@sema/padroes/dist/index.d.ts +25 -0
- package/node_modules/@sema/padroes/dist/index.js +316 -0
- package/node_modules/@sema/padroes/dist/index.js.map +1 -0
- package/node_modules/@sema/padroes/package.json +7 -0
- package/package.json +32 -23
- package/semacode-cli-1.3.1.tgz +0 -0
- package/src/angular-consumer-standalone.ts +0 -312
- package/src/cpp-symbols.ts +0 -82
- package/src/docs.ts +0 -535
- package/src/dotnet-http.ts +0 -355
- package/src/drift.ts +0 -4933
- package/src/go-http.ts +0 -118
- package/src/importador.ts +0 -3891
- package/src/index.ts +0 -5641
- package/src/java-http.ts +0 -247
- package/src/lua-symbols.ts +0 -114
- package/src/php-symbols.ts +0 -462
- package/src/projeto.ts +0 -862
- package/src/python-http.ts +0 -258
- package/src/rust-http.ts +0 -125
- package/src/tipos.ts +0 -24
- package/src/typescript-http.ts +0 -1076
- package/tsconfig.json +0 -20
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
module exemplos.notificacao {
|
|
2
|
+
docs {
|
|
3
|
+
resumo: "Envio de notificacoes por email, SMS e push com rastreamento."
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
entity Notificacao {
|
|
7
|
+
fields {
|
|
8
|
+
id: Id
|
|
9
|
+
destinatario_id: Id
|
|
10
|
+
canal: Texto
|
|
11
|
+
titulo: Texto
|
|
12
|
+
corpo: Texto
|
|
13
|
+
status: Texto
|
|
14
|
+
enviada_em: Timestamp
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
task enviar_email {
|
|
19
|
+
input {
|
|
20
|
+
destinatario: Email required
|
|
21
|
+
titulo: Texto required
|
|
22
|
+
corpo: Texto required
|
|
23
|
+
template: Texto
|
|
24
|
+
}
|
|
25
|
+
output {
|
|
26
|
+
notificacao_id: Id
|
|
27
|
+
}
|
|
28
|
+
rules {
|
|
29
|
+
destinatario deve_ser email_valido
|
|
30
|
+
titulo deve_ser preenchido
|
|
31
|
+
corpo deve_ser preenchido
|
|
32
|
+
}
|
|
33
|
+
effects {
|
|
34
|
+
consulta provedor_email criticidade = alta
|
|
35
|
+
persistencia Notificacao
|
|
36
|
+
auditoria email_enviado
|
|
37
|
+
}
|
|
38
|
+
guarantees {
|
|
39
|
+
notificacao_id existe
|
|
40
|
+
}
|
|
41
|
+
error {
|
|
42
|
+
destinatario_invalido: "Endereco de email invalido."
|
|
43
|
+
provedor_indisponivel: "Servico de email temporariamente indisponivel."
|
|
44
|
+
limite_excedido: "Limite de envios por hora atingido."
|
|
45
|
+
}
|
|
46
|
+
tests {
|
|
47
|
+
caso "envia email valido" {
|
|
48
|
+
given { destinatario: "user@app.com" titulo: "Bem vindo" corpo: "Ola!" }
|
|
49
|
+
expect { sucesso: verdadeiro }
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
task enviar_push {
|
|
55
|
+
input {
|
|
56
|
+
device_token: Texto required
|
|
57
|
+
titulo: Texto required
|
|
58
|
+
corpo: Texto required
|
|
59
|
+
dados: Objeto
|
|
60
|
+
}
|
|
61
|
+
output {
|
|
62
|
+
notificacao_id: Id
|
|
63
|
+
}
|
|
64
|
+
rules {
|
|
65
|
+
device_token deve_ser preenchido
|
|
66
|
+
titulo deve_ser preenchido
|
|
67
|
+
}
|
|
68
|
+
effects {
|
|
69
|
+
consulta provedor_push criticidade = media
|
|
70
|
+
persistencia Notificacao
|
|
71
|
+
auditoria push_enviado
|
|
72
|
+
}
|
|
73
|
+
guarantees {
|
|
74
|
+
notificacao_id existe
|
|
75
|
+
}
|
|
76
|
+
error {
|
|
77
|
+
token_invalido: "Token de dispositivo invalido ou expirado."
|
|
78
|
+
provedor_indisponivel: "Servico push indisponivel."
|
|
79
|
+
}
|
|
80
|
+
tests {
|
|
81
|
+
caso "envia push valido" {
|
|
82
|
+
given { device_token: "tok_123" titulo: "Alerta" corpo: "Nova mensagem" }
|
|
83
|
+
expect { sucesso: verdadeiro }
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
task registrar_falha_notificacao {
|
|
89
|
+
input {
|
|
90
|
+
canal: Texto required
|
|
91
|
+
}
|
|
92
|
+
output {
|
|
93
|
+
protocolo_falha: Id
|
|
94
|
+
}
|
|
95
|
+
rules {
|
|
96
|
+
canal deve_ser preenchido
|
|
97
|
+
}
|
|
98
|
+
effects {
|
|
99
|
+
auditoria falha_notificacao
|
|
100
|
+
persistencia Notificacao
|
|
101
|
+
}
|
|
102
|
+
guarantees {
|
|
103
|
+
protocolo_falha existe
|
|
104
|
+
}
|
|
105
|
+
tests {
|
|
106
|
+
caso "registra falha de canal" {
|
|
107
|
+
given { canal: "email" }
|
|
108
|
+
expect { sucesso: verdadeiro }
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
task confirmar_notificacao {
|
|
114
|
+
input {
|
|
115
|
+
destinatario_id: Id required
|
|
116
|
+
}
|
|
117
|
+
output {
|
|
118
|
+
protocolo: Id
|
|
119
|
+
}
|
|
120
|
+
rules {
|
|
121
|
+
destinatario_id deve_ser valido
|
|
122
|
+
}
|
|
123
|
+
effects {
|
|
124
|
+
auditoria notificacao_concluida
|
|
125
|
+
}
|
|
126
|
+
guarantees {
|
|
127
|
+
protocolo existe
|
|
128
|
+
}
|
|
129
|
+
tests {
|
|
130
|
+
caso "confirma notificacao multicanal" {
|
|
131
|
+
given { destinatario_id: "usr_1" }
|
|
132
|
+
expect { sucesso: verdadeiro }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
flow notificar_multicanal {
|
|
138
|
+
destinatario_id: Id
|
|
139
|
+
titulo: Texto
|
|
140
|
+
corpo: Texto
|
|
141
|
+
canal_email: Texto
|
|
142
|
+
canal_push: Texto
|
|
143
|
+
etapa email usa enviar_email com destinatario = destinatario_id, titulo = titulo, corpo = corpo em_sucesso concluir em_erro registrar_falha_email
|
|
144
|
+
etapa push usa enviar_push com device_token = destinatario_id, titulo = titulo, corpo = corpo em_sucesso concluir em_erro registrar_falha_push
|
|
145
|
+
etapa registrar_falha_email usa registrar_falha_notificacao com canal = canal_email depende_de email
|
|
146
|
+
etapa registrar_falha_push usa registrar_falha_notificacao com canal = canal_push depende_de push
|
|
147
|
+
etapa concluir usa confirmar_notificacao com destinatario_id = destinatario_id depende_de email
|
|
148
|
+
}
|
|
149
|
+
}
|