@semacode/cli 1.5.18 → 1.5.19

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 (93) hide show
  1. package/AGENTS.md +268 -260
  2. package/LICENSE +22 -22
  3. package/README.md +144 -104
  4. package/SEMA_BRIEF.curto.txt +7 -5
  5. package/SEMA_BRIEF.md +60 -4
  6. package/SEMA_BRIEF.micro.txt +6 -4
  7. package/SEMA_INDEX.json +917 -41
  8. package/dist/controleComercialSupabase.d.ts +326 -0
  9. package/dist/controleComercialSupabase.js +310 -0
  10. package/dist/controleComercialSupabase.js.map +1 -0
  11. package/dist/docs.js +48 -20
  12. package/dist/docs.js.map +1 -1
  13. package/dist/drift.d.ts +5 -3
  14. package/dist/drift.js +123 -14
  15. package/dist/drift.js.map +1 -1
  16. package/dist/index.js +1889 -38
  17. package/dist/index.js.map +1 -1
  18. package/dist/mcpRemoto.d.ts +32 -0
  19. package/dist/mcpRemoto.js +61 -0
  20. package/dist/mcpRemoto.js.map +1 -0
  21. package/dist/projeto.js +3 -1
  22. package/dist/projeto.js.map +1 -1
  23. package/docs/AGENT_STARTER.md +103 -97
  24. package/docs/cli.md +175 -106
  25. package/docs/como-ensinar-a-sema-para-ia.md +41 -35
  26. package/docs/deploy.md +231 -43
  27. package/docs/documentacao.md +61 -36
  28. package/docs/env.md +105 -56
  29. package/docs/extensao-vscode.md +12 -4
  30. package/docs/fluxo-pratico-ia-sema.md +182 -176
  31. package/docs/instalacao-e-primeiro-uso.md +52 -30
  32. package/docs/integracao-com-ia.md +108 -101
  33. package/docs/mcp.md +292 -51
  34. package/docs/pagamento-ponta-a-ponta.md +34 -28
  35. package/docs/persistencia-vendor-first.md +11 -5
  36. package/docs/prompt-base-ia-sema.md +13 -7
  37. package/docs/rollback.md +17 -15
  38. package/docs/sintaxe.md +180 -174
  39. package/exemplos/agendamento.sema +105 -105
  40. package/exemplos/assinatura.sema +133 -133
  41. package/exemplos/auditoria.sema +89 -89
  42. package/exemplos/autenticacao.sema +125 -125
  43. package/exemplos/author_obra_comum.sema +294 -0
  44. package/exemplos/author_tema_sensivel.sema +264 -0
  45. package/exemplos/automacao.sema +107 -107
  46. package/exemplos/cadastro_usuario.sema +54 -54
  47. package/exemplos/calculadora.sema +78 -78
  48. package/exemplos/crud_simples.sema +89 -89
  49. package/exemplos/estoque.sema +127 -127
  50. package/exemplos/exportacao.sema +94 -94
  51. package/exemplos/fila.sema +130 -130
  52. package/exemplos/integracao_externa.sema +94 -94
  53. package/exemplos/multi_tenant.sema +140 -140
  54. package/exemplos/notificacao.sema +149 -149
  55. package/exemplos/operacao_estrategia.sema +633 -633
  56. package/exemplos/pagamento.sema +434 -434
  57. package/exemplos/pagamento_dominio.sema +35 -35
  58. package/exemplos/pedido.sema +255 -255
  59. package/exemplos/permissao.sema +121 -121
  60. package/exemplos/persistencia_vendor_first.sema +86 -86
  61. package/exemplos/profile_game.sema +114 -0
  62. package/exemplos/profile_legal.sema +105 -0
  63. package/exemplos/profile_ops.sema +110 -0
  64. package/exemplos/profile_research.sema +104 -0
  65. package/exemplos/profile_software.sema +123 -0
  66. package/exemplos/profile_workflow_n8n.sema +99 -0
  67. package/exemplos/relatorio.sema +93 -93
  68. package/exemplos/replica_analitica_erp.sema +160 -160
  69. package/exemplos/testes_embutidos.sema +45 -45
  70. package/exemplos/tratamento_erro.sema +157 -157
  71. package/exemplos/upload_arquivo.sema +93 -93
  72. package/exemplos/webhook.sema +94 -94
  73. package/llms-full.txt +34 -34
  74. package/llms.txt +17 -17
  75. package/node_modules/@sema/gerador-css/dist/index.js +563 -563
  76. package/node_modules/@sema/gerador-css/package.json +1 -1
  77. package/node_modules/@sema/gerador-dart/package.json +1 -1
  78. package/node_modules/@sema/gerador-html/dist/index.js +90 -90
  79. package/node_modules/@sema/gerador-html/package.json +1 -1
  80. package/node_modules/@sema/gerador-javascript/dist/index.js +92 -92
  81. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  82. package/node_modules/@sema/gerador-lua/dist/index.js +53 -53
  83. package/node_modules/@sema/gerador-lua/package.json +1 -1
  84. package/node_modules/@sema/gerador-python/dist/index.js +122 -96
  85. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  86. package/node_modules/@sema/gerador-python/package.json +1 -1
  87. package/node_modules/@sema/gerador-typescript/dist/index.js +153 -153
  88. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  89. package/node_modules/@sema/nucleo/dist/formatador/index.js +12 -4
  90. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  91. package/node_modules/@sema/nucleo/package.json +1 -1
  92. package/node_modules/@sema/padroes/package.json +1 -1
  93. package/package.json +11 -11
@@ -1,160 +1,160 @@
1
- module exemplos.replica.analitica_erp {
2
- docs {
3
- resumo: "Exemplo publico neutro de replica analitica ERP para banco analytics: agente pode consultar a origem operacional em modo leitura e persistir apenas no destino analitico."
4
- }
5
-
6
- database erp_origem_mariadb {
7
- engine: mysql
8
- consistency: forte
9
- durability: alta
10
- transaction_model: bloqueio
11
- query_model: sql
12
- capabilities {
13
- read_only
14
- views
15
- }
16
- table vendas_operacionais {
17
- entity: VendaOperacional
18
- }
19
- query extrair_vendas {
20
- mode: sql
21
- }
22
- }
23
-
24
- database analytics_postgres {
25
- engine: postgres
26
- schema: public
27
- consistency: eventual
28
- durability: alta
29
- transaction_model: mvcc
30
- query_model: sql
31
- capabilities {
32
- upsert
33
- views
34
- }
35
- table vendas_analytics {
36
- entity: VendaAnalitica
37
- }
38
- query carregar_vendas_analytics {
39
- mode: sql
40
- }
41
- }
42
-
43
- entity VendaOperacional {
44
- fields {
45
- id: Id
46
- loja_id: Id
47
- data_venda: Data
48
- valor_total: Decimal
49
- payload_origem: Objeto
50
- }
51
- invariants {
52
- id existe
53
- loja_id existe
54
- data_venda existe
55
- valor_total >= 0
56
- }
57
- }
58
-
59
- entity VendaAnalitica {
60
- fields {
61
- id: Id
62
- loja_id: Id
63
- data_venda: Data
64
- valor_total: Decimal
65
- sincronizado_em: Timestamp
66
- }
67
- invariants {
68
- id existe
69
- loja_id existe
70
- data_venda existe
71
- valor_total >= 0
72
- sincronizado_em existe
73
- }
74
- }
75
-
76
- task sincronizar_vendas_erp_para_analytics {
77
- input {
78
- loja_id: Id required
79
- periodo_inicio: Data required
80
- periodo_fim: Data required
81
- }
82
- output {
83
- registros_sincronizados: Inteiro
84
- banco_producao_modificado: Booleano
85
- sincronizado_em: Timestamp
86
- }
87
- authz {
88
- escopo: analytics.replica.sincronizar
89
- tenant: obrigatorio
90
- }
91
- dados {
92
- classificacao_padrao: interno
93
- redacao_log: obrigatoria
94
- input {
95
- loja_id: interno
96
- periodo_inicio: interno
97
- periodo_fim: interno
98
- }
99
- output {
100
- registros_sincronizados: interno
101
- banco_producao_modificado: interno
102
- sincronizado_em: interno
103
- }
104
- }
105
- audit {
106
- evento: analytics.replica.erp_sincronizada
107
- ator: sistema.analytics
108
- correlacao: request_id
109
- retencao: "180d"
110
- motivo: obrigatorio
111
- }
112
- forbidden {
113
- shell.exec
114
- log.segredo
115
- retorno.credencial
116
- }
117
- rules {
118
- loja_id deve_ser valido
119
- periodo_inicio deve_ser anterior_a periodo_fim
120
- }
121
- effects {
122
- consulta erp_origem_mariadb criticidade = alta
123
- persistencia analytics_postgres criticidade = media
124
- auditoria sincronizacao_vendas criticidade = alta
125
- }
126
- vinculos {
127
- recurso: erp_origem_mariadb
128
- recurso: analytics_postgres
129
- tabela: vendas_operacionais
130
- tabela: vendas_analytics
131
- }
132
- execucao {
133
- idempotencia: verdadeiro
134
- timeout: "60s"
135
- retry: "3x exponencial"
136
- compensacao: "reexecutar_janela_analitica"
137
- criticidade_operacional: alta
138
- }
139
- guarantees {
140
- registros_sincronizados >= 0
141
- banco_producao_modificado == falso
142
- sincronizado_em existe
143
- }
144
- tests {
145
- caso "sincroniza janela sem escrever na origem" {
146
- given {
147
- loja_id: "loja_001"
148
- periodo_inicio: "2026-05-01"
149
- periodo_fim: "2026-05-15"
150
- }
151
-
152
- expect {
153
- sucesso: verdadeiro
154
- registros_sincronizados: 42
155
- banco_producao_modificado: falso
156
- }
157
- }
158
- }
159
- }
160
- }
1
+ module exemplos.replica.analitica_erp {
2
+ docs {
3
+ resumo: "Exemplo publico neutro de replica analitica ERP para banco analytics: agente pode consultar a origem operacional em modo leitura e persistir apenas no destino analitico."
4
+ }
5
+
6
+ database erp_origem_mariadb {
7
+ engine: mysql
8
+ consistency: forte
9
+ durability: alta
10
+ transaction_model: bloqueio
11
+ query_model: sql
12
+ capabilities {
13
+ read_only
14
+ views
15
+ }
16
+ table vendas_operacionais {
17
+ entity: VendaOperacional
18
+ }
19
+ query extrair_vendas {
20
+ mode: sql
21
+ }
22
+ }
23
+
24
+ database analytics_postgres {
25
+ engine: postgres
26
+ schema: public
27
+ consistency: eventual
28
+ durability: alta
29
+ transaction_model: mvcc
30
+ query_model: sql
31
+ capabilities {
32
+ upsert
33
+ views
34
+ }
35
+ table vendas_analytics {
36
+ entity: VendaAnalitica
37
+ }
38
+ query carregar_vendas_analytics {
39
+ mode: sql
40
+ }
41
+ }
42
+
43
+ entity VendaOperacional {
44
+ fields {
45
+ id: Id
46
+ loja_id: Id
47
+ data_venda: Data
48
+ valor_total: Decimal
49
+ payload_origem: Objeto
50
+ }
51
+ invariants {
52
+ id existe
53
+ loja_id existe
54
+ data_venda existe
55
+ valor_total >= 0
56
+ }
57
+ }
58
+
59
+ entity VendaAnalitica {
60
+ fields {
61
+ id: Id
62
+ loja_id: Id
63
+ data_venda: Data
64
+ valor_total: Decimal
65
+ sincronizado_em: Timestamp
66
+ }
67
+ invariants {
68
+ id existe
69
+ loja_id existe
70
+ data_venda existe
71
+ valor_total >= 0
72
+ sincronizado_em existe
73
+ }
74
+ }
75
+
76
+ task sincronizar_vendas_erp_para_analytics {
77
+ input {
78
+ loja_id: Id required
79
+ periodo_inicio: Data required
80
+ periodo_fim: Data required
81
+ }
82
+ output {
83
+ registros_sincronizados: Inteiro
84
+ banco_producao_modificado: Booleano
85
+ sincronizado_em: Timestamp
86
+ }
87
+ authz {
88
+ escopo: analytics.replica.sincronizar
89
+ tenant: obrigatorio
90
+ }
91
+ dados {
92
+ classificacao_padrao: interno
93
+ redacao_log: obrigatoria
94
+ input {
95
+ loja_id: interno
96
+ periodo_inicio: interno
97
+ periodo_fim: interno
98
+ }
99
+ output {
100
+ registros_sincronizados: interno
101
+ banco_producao_modificado: interno
102
+ sincronizado_em: interno
103
+ }
104
+ }
105
+ audit {
106
+ evento: analytics.replica.erp_sincronizada
107
+ ator: sistema.analytics
108
+ correlacao: request_id
109
+ retencao: "180d"
110
+ motivo: obrigatorio
111
+ }
112
+ forbidden {
113
+ shell.exec
114
+ log.segredo
115
+ retorno.credencial
116
+ }
117
+ rules {
118
+ loja_id deve_ser valido
119
+ periodo_inicio deve_ser anterior_a periodo_fim
120
+ }
121
+ effects {
122
+ consulta erp_origem_mariadb criticidade = alta
123
+ persistencia analytics_postgres criticidade = media
124
+ auditoria sincronizacao_vendas criticidade = alta
125
+ }
126
+ vinculos {
127
+ recurso: erp_origem_mariadb
128
+ recurso: analytics_postgres
129
+ tabela: vendas_operacionais
130
+ tabela: vendas_analytics
131
+ }
132
+ execucao {
133
+ idempotencia: verdadeiro
134
+ timeout: "60s"
135
+ retry: "3x exponencial"
136
+ compensacao: "reexecutar_janela_analitica"
137
+ criticidade_operacional: alta
138
+ }
139
+ guarantees {
140
+ registros_sincronizados >= 0
141
+ banco_producao_modificado == falso
142
+ sincronizado_em existe
143
+ }
144
+ tests {
145
+ caso "sincroniza janela sem escrever na origem" {
146
+ given {
147
+ loja_id: "loja_001"
148
+ periodo_inicio: "2026-05-01"
149
+ periodo_fim: "2026-05-15"
150
+ }
151
+
152
+ expect {
153
+ sucesso: verdadeiro
154
+ registros_sincronizados: 42
155
+ banco_producao_modificado: falso
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
@@ -1,45 +1,45 @@
1
- module exemplos.testes.embutidos {
2
- task validar_documento {
3
- input {
4
- documento: Texto required
5
- }
6
- output {
7
- valido: Booleano
8
- motivo: Texto
9
- }
10
- rules {
11
- documento deve_ser preenchido
12
- }
13
- effects {
14
- auditoria validacao_documento
15
- }
16
- guarantees {
17
- valido existe
18
- motivo existe
19
- }
20
- tests {
21
- caso "documento valido" {
22
- given {
23
- documento: 12345678900
24
- }
25
-
26
- expect {
27
- sucesso: verdadeiro
28
- }
29
- }
30
- caso "documento vazio" {
31
- given {
32
- documento: ""
33
- }
34
-
35
- expect {
36
- sucesso: falso
37
- }
38
-
39
- error {
40
- tipo: "entrada_invalida"
41
- }
42
- }
43
- }
44
- }
45
- }
1
+ module exemplos.testes.embutidos {
2
+ task validar_documento {
3
+ input {
4
+ documento: Texto required
5
+ }
6
+ output {
7
+ valido: Booleano
8
+ motivo: Texto
9
+ }
10
+ rules {
11
+ documento deve_ser preenchido
12
+ }
13
+ effects {
14
+ auditoria validacao_documento
15
+ }
16
+ guarantees {
17
+ valido existe
18
+ motivo existe
19
+ }
20
+ tests {
21
+ caso "documento valido" {
22
+ given {
23
+ documento: 12345678900
24
+ }
25
+
26
+ expect {
27
+ sucesso: verdadeiro
28
+ }
29
+ }
30
+ caso "documento vazio" {
31
+ given {
32
+ documento: ""
33
+ }
34
+
35
+ expect {
36
+ sucesso: falso
37
+ }
38
+
39
+ error {
40
+ tipo: "entrada_invalida"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }