@semacode/cli 1.5.14 → 1.5.16

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 (177) hide show
  1. package/README.md +2 -1
  2. package/dist/index.js +76 -43
  3. package/package.json +26 -35
  4. package/semacode-cli-1.3.1.tgz +0 -0
  5. package/src/angular-consumer-standalone.ts +312 -0
  6. package/src/cpp-symbols.ts +82 -0
  7. package/src/docs.ts +535 -0
  8. package/src/dotnet-http.ts +355 -0
  9. package/src/drift.ts +4933 -0
  10. package/src/go-http.ts +118 -0
  11. package/src/importador.ts +3891 -0
  12. package/src/index.ts +5641 -0
  13. package/src/java-http.ts +247 -0
  14. package/src/lua-symbols.ts +114 -0
  15. package/src/php-symbols.ts +462 -0
  16. package/src/projeto.ts +862 -0
  17. package/src/python-http.ts +258 -0
  18. package/src/rust-http.ts +125 -0
  19. package/src/tipos.ts +24 -0
  20. package/src/typescript-http.ts +1076 -0
  21. package/tsconfig.json +20 -0
  22. package/AGENTS.md +0 -272
  23. package/LICENSE +0 -22
  24. package/SEMA_BRIEF.curto.txt +0 -9
  25. package/SEMA_BRIEF.md +0 -63
  26. package/SEMA_BRIEF.micro.txt +0 -7
  27. package/SEMA_INDEX.json +0 -799
  28. package/dist/angular-consumer-standalone.d.ts +0 -6
  29. package/dist/angular-consumer-standalone.js.map +0 -1
  30. package/dist/cpp-symbols.d.ts +0 -10
  31. package/dist/cpp-symbols.js.map +0 -1
  32. package/dist/docs.d.ts +0 -56
  33. package/dist/docs.js.map +0 -1
  34. package/dist/dotnet-http.d.ts +0 -23
  35. package/dist/dotnet-http.js.map +0 -1
  36. package/dist/drift.d.ts +0 -225
  37. package/dist/drift.js.map +0 -1
  38. package/dist/go-http.d.ts +0 -23
  39. package/dist/go-http.js.map +0 -1
  40. package/dist/importador.d.ts +0 -31
  41. package/dist/importador.js.map +0 -1
  42. package/dist/index.d.ts +0 -2
  43. package/dist/index.js.map +0 -1
  44. package/dist/java-http.d.ts +0 -23
  45. package/dist/java-http.js.map +0 -1
  46. package/dist/lua-symbols.d.ts +0 -10
  47. package/dist/lua-symbols.js.map +0 -1
  48. package/dist/php-symbols.d.ts +0 -24
  49. package/dist/php-symbols.js.map +0 -1
  50. package/dist/projeto.d.ts +0 -53
  51. package/dist/projeto.js.map +0 -1
  52. package/dist/python-http.d.ts +0 -23
  53. package/dist/python-http.js.map +0 -1
  54. package/dist/rust-http.d.ts +0 -23
  55. package/dist/rust-http.js.map +0 -1
  56. package/dist/tipos.d.ts +0 -3
  57. package/dist/tipos.js.map +0 -1
  58. package/dist/typescript-http.d.ts +0 -35
  59. package/dist/typescript-http.js.map +0 -1
  60. package/docs/AGENT_STARTER.md +0 -102
  61. package/docs/cli.md +0 -117
  62. package/docs/como-ensinar-a-sema-para-ia.md +0 -149
  63. package/docs/deploy.md +0 -70
  64. package/docs/documentacao.md +0 -63
  65. package/docs/env.md +0 -56
  66. package/docs/extensao-vscode.md +0 -45
  67. package/docs/fluxo-pratico-ia-sema.md +0 -177
  68. package/docs/instalacao-e-primeiro-uso.md +0 -112
  69. package/docs/integracao-com-ia.md +0 -101
  70. package/docs/mcp.md +0 -53
  71. package/docs/pagamento-ponta-a-ponta.md +0 -155
  72. package/docs/persistencia-vendor-first.md +0 -145
  73. package/docs/prompt-base-ia-sema.md +0 -104
  74. package/docs/rollback.md +0 -47
  75. package/docs/sintaxe.md +0 -410
  76. package/exemplos/agendamento.sema +0 -106
  77. package/exemplos/assinatura.sema +0 -136
  78. package/exemplos/auditoria.sema +0 -88
  79. package/exemplos/autenticacao.sema +0 -125
  80. package/exemplos/automacao.sema +0 -107
  81. package/exemplos/cadastro_usuario.sema +0 -54
  82. package/exemplos/calculadora.sema +0 -78
  83. package/exemplos/crud_simples.sema +0 -89
  84. package/exemplos/estoque.sema +0 -126
  85. package/exemplos/exportacao.sema +0 -94
  86. package/exemplos/fila.sema +0 -131
  87. package/exemplos/integracao_externa.sema +0 -94
  88. package/exemplos/multi_tenant.sema +0 -140
  89. package/exemplos/notificacao.sema +0 -98
  90. package/exemplos/operacao_estrategia.sema +0 -402
  91. package/exemplos/pagamento.sema +0 -222
  92. package/exemplos/pagamento_dominio.sema +0 -35
  93. package/exemplos/pedido.sema +0 -119
  94. package/exemplos/permissao.sema +0 -121
  95. package/exemplos/persistencia_vendor_first.sema +0 -86
  96. package/exemplos/relatorio.sema +0 -93
  97. package/exemplos/testes_embutidos.sema +0 -45
  98. package/exemplos/tratamento_erro.sema +0 -157
  99. package/exemplos/upload_arquivo.sema +0 -93
  100. package/exemplos/webhook.sema +0 -96
  101. package/llms-full.txt +0 -34
  102. package/llms.txt +0 -17
  103. package/node_modules/@sema/gerador-css/dist/index.d.ts +0 -3
  104. package/node_modules/@sema/gerador-css/dist/index.js +0 -592
  105. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  106. package/node_modules/@sema/gerador-css/package.json +0 -7
  107. package/node_modules/@sema/gerador-dart/dist/index.d.ts +0 -3
  108. package/node_modules/@sema/gerador-dart/dist/index.js +0 -44
  109. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  110. package/node_modules/@sema/gerador-dart/package.json +0 -7
  111. package/node_modules/@sema/gerador-html/dist/index.d.ts +0 -3
  112. package/node_modules/@sema/gerador-html/dist/index.js +0 -163
  113. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  114. package/node_modules/@sema/gerador-html/package.json +0 -7
  115. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +0 -3
  116. package/node_modules/@sema/gerador-javascript/dist/index.js +0 -421
  117. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  118. package/node_modules/@sema/gerador-javascript/package.json +0 -7
  119. package/node_modules/@sema/gerador-lua/dist/index.d.ts +0 -3
  120. package/node_modules/@sema/gerador-lua/dist/index.js +0 -328
  121. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  122. package/node_modules/@sema/gerador-lua/package.json +0 -7
  123. package/node_modules/@sema/gerador-python/dist/index.d.ts +0 -6
  124. package/node_modules/@sema/gerador-python/dist/index.js +0 -729
  125. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  126. package/node_modules/@sema/gerador-python/package.json +0 -7
  127. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +0 -6
  128. package/node_modules/@sema/gerador-typescript/dist/index.js +0 -793
  129. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  130. package/node_modules/@sema/gerador-typescript/package.json +0 -7
  131. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +0 -125
  132. package/node_modules/@sema/nucleo/dist/ast/tipos.js +0 -2
  133. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  134. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +0 -21
  135. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +0 -12
  136. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  137. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +0 -9
  138. package/node_modules/@sema/nucleo/dist/formatador/index.js +0 -487
  139. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  140. package/node_modules/@sema/nucleo/dist/index.d.ts +0 -35
  141. package/node_modules/@sema/nucleo/dist/index.js +0 -96
  142. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  143. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +0 -5
  144. package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -1058
  145. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  146. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +0 -377
  147. package/node_modules/@sema/nucleo/dist/ir/modelos.js +0 -2
  148. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  149. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +0 -7
  150. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +0 -122
  151. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  152. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +0 -8
  153. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -82
  154. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  155. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +0 -9
  156. package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -807
  157. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  158. package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +0 -39
  159. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +0 -294
  160. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  161. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +0 -58
  162. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +0 -1912
  163. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  164. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +0 -104
  165. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +0 -445
  166. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  167. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +0 -91
  168. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +0 -258
  169. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  170. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +0 -2
  171. package/node_modules/@sema/nucleo/dist/util/arquivos.js +0 -25
  172. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  173. package/node_modules/@sema/nucleo/package.json +0 -7
  174. package/node_modules/@sema/padroes/dist/index.d.ts +0 -25
  175. package/node_modules/@sema/padroes/dist/index.js +0 -316
  176. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
  177. package/node_modules/@sema/padroes/package.json +0 -7
@@ -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/gerador-typescript",
3
- "version": "1.5.14",
4
- "type": "module",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts"
7
- }
@@ -1,125 +0,0 @@
1
- import type { IntervaloFonte } from "../diagnosticos/index.js";
2
- export type TipoBloco = "module" | "use" | "database" | "type" | "entity" | "enum" | "task" | "worker" | "evento" | "fila" | "cron" | "webhook" | "cache" | "storage" | "policy" | "input" | "output" | "rules" | "effects" | "impl" | "vinculos" | "execucao" | "auth" | "authz" | "dados" | "audit" | "segredos" | "forbidden" | "guarantees" | "state" | "flow" | "route" | "book" | "work" | "part" | "chapter" | "section" | "scene" | "character" | "arc" | "audience" | "thesis" | "argument" | "claim" | "source" | "concept" | "example" | "voice" | "style_rule" | "lexicon" | "motif" | "canon" | "agent" | "tests" | "error" | "docs" | "comments" | "table" | "view" | "query" | "transaction" | "index" | "constraint" | "relationship" | "collection" | "document" | "keyspace" | "stream" | "lock" | "retention" | "replication" | "fields" | "invariants" | "transitions" | "given" | "when" | "expect" | "case" | "desconhecido";
3
- export interface NoAstBase {
4
- tipo: string;
5
- intervalo?: IntervaloFonte;
6
- }
7
- export interface CampoAst extends NoAstBase {
8
- tipo: "campo";
9
- nome: string;
10
- valor: string;
11
- modificadores: string[];
12
- }
13
- export interface LinhaDeclarativaAst extends NoAstBase {
14
- tipo: "linha_declarativa";
15
- conteudo: string;
16
- }
17
- export interface BlocoGenericoAst extends NoAstBase {
18
- tipo: "bloco_generico";
19
- palavraChave: TipoBloco;
20
- nome?: string;
21
- campos: CampoAst[];
22
- linhas: LinhaDeclarativaAst[];
23
- blocos: BlocoAst[];
24
- }
25
- export interface BlocoCasoTesteAst extends NoAstBase {
26
- tipo: "caso_teste";
27
- nome: string;
28
- given?: BlocoGenericoAst;
29
- when?: BlocoGenericoAst;
30
- expect?: BlocoGenericoAst;
31
- error?: BlocoGenericoAst;
32
- docs?: BlocoGenericoAst;
33
- comments?: BlocoGenericoAst;
34
- }
35
- export interface UseAst extends NoAstBase {
36
- tipo: "use";
37
- origem: "sema" | "ts" | "py" | "dart" | "lua" | "php" | "cs" | "java" | "go" | "rust" | "cpp";
38
- caminho: string;
39
- }
40
- export interface EnumAst extends NoAstBase {
41
- tipo: "enum";
42
- nome: string;
43
- valores: string[];
44
- docs?: BlocoGenericoAst;
45
- }
46
- export interface TypeAst extends NoAstBase {
47
- tipo: "type";
48
- nome: string;
49
- corpo: BlocoGenericoAst;
50
- }
51
- export interface EntityAst extends NoAstBase {
52
- tipo: "entity";
53
- nome: string;
54
- corpo: BlocoGenericoAst;
55
- }
56
- export interface TaskAst extends NoAstBase {
57
- tipo: "task";
58
- nome: string;
59
- corpo: BlocoGenericoAst;
60
- input?: BlocoGenericoAst;
61
- output?: BlocoGenericoAst;
62
- rules?: BlocoGenericoAst;
63
- effects?: BlocoGenericoAst;
64
- impl?: BlocoGenericoAst;
65
- vinculos?: BlocoGenericoAst;
66
- execucao?: BlocoGenericoAst;
67
- auth?: BlocoGenericoAst;
68
- authz?: BlocoGenericoAst;
69
- dados?: BlocoGenericoAst;
70
- audit?: BlocoGenericoAst;
71
- segredos?: BlocoGenericoAst;
72
- forbidden?: BlocoGenericoAst;
73
- guarantees?: BlocoGenericoAst;
74
- state?: BlocoGenericoAst;
75
- tests?: BlocoGenericoAst;
76
- error?: BlocoGenericoAst;
77
- docs?: BlocoGenericoAst;
78
- comments?: BlocoGenericoAst;
79
- }
80
- export interface FlowAst extends NoAstBase {
81
- tipo: "flow";
82
- nome: string;
83
- corpo: BlocoGenericoAst;
84
- vinculos?: BlocoGenericoAst;
85
- }
86
- export interface RouteAst extends NoAstBase {
87
- tipo: "route";
88
- nome: string;
89
- corpo: BlocoGenericoAst;
90
- vinculos?: BlocoGenericoAst;
91
- }
92
- export interface StateAst extends NoAstBase {
93
- tipo: "state";
94
- nome?: string;
95
- corpo: BlocoGenericoAst;
96
- }
97
- export interface ModuloAst extends NoAstBase {
98
- tipo: "module";
99
- nome: string;
100
- uses: UseAst[];
101
- vinculos?: BlocoGenericoAst;
102
- docs?: BlocoGenericoAst;
103
- comments?: BlocoGenericoAst;
104
- databases: BlocoGenericoAst[];
105
- types: TypeAst[];
106
- entities: EntityAst[];
107
- enums: EnumAst[];
108
- tasks: TaskAst[];
109
- flows: FlowAst[];
110
- routes: RouteAst[];
111
- authorBlocks: BlocoGenericoAst[];
112
- agents: BlocoGenericoAst[];
113
- workers: BlocoGenericoAst[];
114
- eventos: BlocoGenericoAst[];
115
- filas: BlocoGenericoAst[];
116
- crons: BlocoGenericoAst[];
117
- webhooks: BlocoGenericoAst[];
118
- caches: BlocoGenericoAst[];
119
- storages: BlocoGenericoAst[];
120
- policies: BlocoGenericoAst[];
121
- states: StateAst[];
122
- tests?: BlocoGenericoAst;
123
- extras: BlocoGenericoAst[];
124
- }
125
- export type BlocoAst = BlocoGenericoAst | BlocoCasoTesteAst | UseAst | EnumAst | TypeAst | EntityAst | TaskAst | FlowAst | RouteAst | StateAst;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tipos.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tipos.js","sourceRoot":"","sources":["../../src/ast/tipos.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- export type SeveridadeDiagnostico = "erro" | "aviso" | "informacao";
2
- export interface PosicaoFonte {
3
- indice: number;
4
- linha: number;
5
- coluna: number;
6
- }
7
- export interface IntervaloFonte {
8
- inicio: PosicaoFonte;
9
- fim: PosicaoFonte;
10
- arquivo?: string;
11
- }
12
- export interface Diagnostico {
13
- codigo: string;
14
- mensagem: string;
15
- severidade: SeveridadeDiagnostico;
16
- intervalo?: IntervaloFonte;
17
- dica?: string;
18
- contexto?: string;
19
- }
20
- export declare function formatarDiagnostico(diagnostico: Diagnostico): string;
21
- export declare function criarDiagnostico(codigo: string, mensagem: string, severidade: SeveridadeDiagnostico, intervalo?: IntervaloFonte, dica?: string, contexto?: string): Diagnostico;
@@ -1,12 +0,0 @@
1
- export function formatarDiagnostico(diagnostico) {
2
- const local = diagnostico.intervalo
3
- ? `${diagnostico.intervalo.arquivo ?? "arquivo"}:${diagnostico.intervalo.inicio.linha}:${diagnostico.intervalo.inicio.coluna}`
4
- : "local desconhecido";
5
- const dica = diagnostico.dica ? `\nDica: ${diagnostico.dica}` : "";
6
- const contexto = diagnostico.contexto ? `\nContexto: ${diagnostico.contexto}` : "";
7
- return `[${diagnostico.severidade.toUpperCase()} ${diagnostico.codigo}] ${diagnostico.mensagem} (${local})${dica}${contexto}`;
8
- }
9
- export function criarDiagnostico(codigo, mensagem, severidade, intervalo, dica, contexto) {
10
- return { codigo, mensagem, severidade, intervalo, dica, contexto };
11
- }
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagnosticos/index.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS;QACjC,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9H,CAAC,CAAC,oBAAoB,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;AAChI,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,QAAgB,EAChB,UAAiC,EACjC,SAA0B,EAC1B,IAAa,EACb,QAAiB;IAEjB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrE,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { ModuloAst } from "../ast/tipos.js";
2
- import type { Diagnostico } from "../diagnosticos/index.js";
3
- export interface ResultadoFormatacao {
4
- modulo?: ModuloAst;
5
- codigoFormatado?: string;
6
- diagnosticos: Diagnostico[];
7
- alterado: boolean;
8
- }
9
- export declare function formatarCodigo(codigo: string, arquivo?: string): ResultadoFormatacao;