@semacode/cli 1.5.53 → 1.5.54

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 (39) hide show
  1. package/dist/drift.part01.d.ts +2 -2
  2. package/dist/drift.part03.js +1 -1
  3. package/dist/drift.part04.js +1 -1
  4. package/dist/drift.part07.d.ts +5 -0
  5. package/dist/drift.part07.js +43 -1
  6. package/dist/drift.part08.js +1 -1
  7. package/dist/drift.part09.d.ts +2 -2
  8. package/dist/drift.part09.js +5 -1
  9. package/dist/drift.part12.js +1 -1
  10. package/dist/drift.part13.js +6 -1
  11. package/dist/geracaoCore.js +4 -0
  12. package/dist/iaPrompts.d.ts +1 -1
  13. package/dist/iaPrompts.js +1 -1
  14. package/dist/importador.part01.d.ts +2 -2
  15. package/dist/importador.part05.js +10 -0
  16. package/dist/importador.part08.js +5 -3
  17. package/dist/importador.part09.d.ts +1 -0
  18. package/dist/importador.part09.js +65 -0
  19. package/dist/index.part01.js +1 -1
  20. package/dist/index.part08.js +1 -1
  21. package/dist/php-http.d.ts +24 -0
  22. package/dist/php-http.js +252 -0
  23. package/dist/projetoBusca.js +1 -0
  24. package/dist/projetoConfig.js +2 -1
  25. package/dist/projetoLegado.js +11 -0
  26. package/dist/tipos.d.ts +1 -1
  27. package/docs/commands.md +1 -1
  28. package/docs/syntax.md +1 -0
  29. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
  30. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +4 -0
  31. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -1
  32. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +1 -1
  33. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
  34. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +2 -0
  35. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -1
  36. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +2 -2
  37. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +3 -1
  38. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -1
  39. package/package.json +10 -10
@@ -1,6 +1,6 @@
1
1
  import type { EngineBanco, NivelConfiancaSemantica, NivelRiscoSemantico, TipoRecursoPersistencia } from "@sema/nucleo";
2
2
  import type { ContextoProjetoCarregado } from "./projeto.js";
3
- export type OrigemCodigoDrift = "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
3
+ export type OrigemCodigoDrift = "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
4
4
  export type OrigemSimboloDrift = OrigemCodigoDrift | "sql";
5
5
  export interface SimboloResolvido {
6
6
  origem: OrigemSimboloDrift;
@@ -10,7 +10,7 @@ export interface SimboloResolvido {
10
10
  }
11
11
  export type ConsumerFramework = "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer";
12
12
  export interface RotaResolvida {
13
- origem: "nestjs" | "fastapi" | "flask" | "nextjs" | ConsumerFramework | "firebase" | "dotnet" | "java" | "go" | "rust";
13
+ origem: "nestjs" | "fastapi" | "flask" | "nextjs" | ConsumerFramework | "firebase" | "dotnet" | "java" | "go" | "rust" | "php";
14
14
  metodo: string;
15
15
  caminho: string;
16
16
  arquivo: string;
@@ -248,7 +248,7 @@ export function extrairRecursosArquivoLocal(arquivo, codigo) {
248
248
  const nomeBase = path.basename(literal, path.extname(literal));
249
249
  registrarRecursoDrift(recursos, "arquivo", "arquivo_local", nomeBase, arquivo);
250
250
  }
251
- const nomeArquivo = path.basename(arquivo).replace(/\.(?:ts|tsx|js|jsx|mjs|cjs|py|dart|lua|cs|java|go|rs|cpp|cc|cxx|hpp|h)$/i, "");
251
+ const nomeArquivo = path.basename(arquivo).replace(/\.(?:ts|tsx|js|jsx|mjs|cjs|py|dart|lua|cs|java|go|rs|cpp|cc|cxx|hpp|h|php)$/i, "");
252
252
  const nomeStore = nomeArquivo
253
253
  .replace(/(?:[_.-]?(?:repository|repositories|repo|store|storage|persistencia|persistence))$/i, "")
254
254
  .trim();
@@ -284,7 +284,7 @@ export async function listarArquivosRecursivos(diretorio, extensoes) {
284
284
  }
285
285
  export const EXTENSOES_ARQUIVOS_RASTREAVEIS_DRIFT = [
286
286
  ".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
287
- ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs",
287
+ ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".php",
288
288
  ".cpp", ".cc", ".cxx", ".hpp", ".h",
289
289
  ".sql", ".psql", ".ddl", ".prisma",
290
290
  ".md", ".mdx", ".txt", ".json", ".jsonl",
@@ -36,6 +36,11 @@ export declare function indexarCpp(diretorios: string[]): Promise<{
36
36
  simbolos: SimboloResolvido[];
37
37
  recursos: RecursoResolvido[];
38
38
  }>;
39
+ export declare function indexarPhp(diretorios: string[]): Promise<{
40
+ simbolos: SimboloResolvido[];
41
+ rotas: RotaResolvida[];
42
+ recursos: RecursoResolvido[];
43
+ }>;
39
44
  export declare function indexarLua(diretorios: string[]): Promise<{
40
45
  simbolos: SimboloResolvido[];
41
46
  recursos: RecursoResolvido[];
@@ -7,6 +7,7 @@ import { extrairRotasDotnet, extrairSimbolosDotnet } from "./dotnet-http.js";
7
7
  import { extrairRotasGo, extrairSimbolosGo } from "./go-http.js";
8
8
  import { extrairRotasJava, extrairSimbolosJava } from "./java-http.js";
9
9
  import { extrairSimbolosLua } from "./lua-symbols.js";
10
+ import { extrairRotasPhp, extrairSimbolosPhp } from "./php-http.js";
10
11
  import { contarIndentacaoPython, extrairRotasFlaskDecoradas } from "./python-http.js";
11
12
  import { extrairRotasRust, extrairSimbolosRust } from "./rust-http.js";
12
13
  import { categorizarPersistenciaPorOrigem } from "./drift.part01.js";
@@ -308,6 +309,47 @@ export async function indexarCpp(diretorios) {
308
309
  recursos: [...recursos.values()],
309
310
  };
310
311
  }
312
+ export async function indexarPhp(diretorios) {
313
+ const simbolos = new Map();
314
+ const rotas = [];
315
+ const recursos = new Map();
316
+ for (const diretorio of diretorios) {
317
+ const arquivos = (await listarArquivosRecursivos(diretorio, [".php"]))
318
+ .filter((arquivo) => !/(^|[\\/])(vendor|storage|bootstrap[\\/]cache|cache|tests?)([\\/]|$)/i.test(arquivo));
319
+ for (const arquivo of arquivos) {
320
+ const codigo = await readFile(arquivo, "utf8");
321
+ const basesSimbolicas = caminhosSimbolicos(diretorio, arquivo);
322
+ for (const recurso of extrairRecursosPersistenciaCodigoVivo(arquivo, codigo)) {
323
+ registrarRecursoDrift(recursos, recurso.origem, recurso.tipo, recurso.nome, recurso.arquivo, recurso.simbolo);
324
+ }
325
+ for (const simbolo of extrairSimbolosPhp(codigo)) {
326
+ registrarSimboloGenerico(simbolos, "php", basesSimbolicas, arquivo, simbolo.simbolo);
327
+ for (const alias of simbolo.aliases ?? []) {
328
+ simbolos.set(alias, {
329
+ origem: "php",
330
+ caminho: alias,
331
+ arquivo,
332
+ simbolo: simbolo.simbolo,
333
+ });
334
+ }
335
+ }
336
+ for (const rota of extrairRotasPhp(codigo)) {
337
+ rotas.push({
338
+ origem: "php",
339
+ metodo: rota.metodo,
340
+ caminho: rota.caminho,
341
+ arquivo,
342
+ simbolo: rota.simbolo,
343
+ });
344
+ }
345
+ }
346
+ }
347
+ return {
348
+ simbolos: [...simbolos.values()],
349
+ rotas,
350
+ recursos: [...recursos.values()],
351
+ };
352
+ }
311
353
  export async function indexarLua(diretorios) {
312
354
  const simbolos = new Map();
313
355
  const recursos = new Map();
@@ -337,7 +379,7 @@ export async function indexarPersistenciaDeclarativa(diretorios) {
337
379
  const arquivos = await listarArquivosRecursivos(diretorio, [
338
380
  ".sql", ".psql", ".ddl", ".prisma",
339
381
  ".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
340
- ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".cpp", ".cc", ".cxx", ".hpp", ".h",
382
+ ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".cpp", ".cc", ".cxx", ".hpp", ".h", ".php",
341
383
  ]);
342
384
  for (const arquivo of arquivos) {
343
385
  const codigo = await readFile(arquivo, "utf8");
@@ -178,7 +178,7 @@ export async function indexarPersistenciaDetalhada(diretorios) {
178
178
  for (const diretorio of diretorios) {
179
179
  const arquivos = await listarArquivosRecursivos(diretorio, [
180
180
  ".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
181
- ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".cpp", ".cc", ".cxx", ".hpp", ".h",
181
+ ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".cpp", ".cc", ".cxx", ".hpp", ".h", ".php",
182
182
  ".sql", ".psql", ".ddl", ".prisma",
183
183
  ]);
184
184
  for (const arquivo of arquivos) {
@@ -6,7 +6,7 @@ import { indexarPersistenciaDetalhada } from "./drift.part08.js";
6
6
  export declare function analisarPersistenciaReal(contexto: ContextoProjetoCarregado, mapaRecursos?: Map<string, RecursoResolvido[]>, detalhesPersistencia?: Awaited<ReturnType<typeof indexarPersistenciaDetalhada>>, opcoes?: OpcoesDriftLegado, mapaImpl?: Map<string, SimboloResolvido>): Promise<RegistroPersistenciaRealDrift[]>;
7
7
  export declare function normalizarCaminhoRota(caminho?: string): string;
8
8
  export declare function extrairFontesHttpTypeScript(fontesLegado: FonteLegado[]): Array<"nestjs" | "nextjs" | "firebase">;
9
- export declare function extrairFontesHttpBackend(fontesLegado: FonteLegado[]): Array<"dotnet" | "java" | "go" | "rust">;
9
+ export declare function extrairFontesHttpBackend(fontesLegado: FonteLegado[]): Array<"dotnet" | "java" | "go" | "rust" | "php">;
10
10
  export declare function ultimoSegmentoSimbolico(caminho: string): string;
11
11
  export declare function pontuarCandidatoDeclarado(candidato: SimboloResolvido, origem: OrigemCodigoDrift, caminhoDeclarado: string): SimboloCandidatoDrift | undefined;
12
12
  export declare function pontuarCandidatoPorTask(candidato: SimboloResolvido, task: string): SimboloCandidatoDrift | undefined;
@@ -14,7 +14,7 @@ export declare function deduplicarCandidatos(candidatos: SimboloCandidatoDrift[]
14
14
  export declare function ordenarCandidatos(candidatos: SimboloCandidatoDrift[]): SimboloCandidatoDrift[];
15
15
  export declare function sugerirCandidatosParaImpl(simbolos: SimboloResolvido[], origem: OrigemCodigoDrift, caminhoDeclarado: string): SimboloCandidatoDrift[];
16
16
  export declare function sugerirCandidatosParaTaskSemImpl(simbolos: SimboloResolvido[], nomeTask: string): SimboloCandidatoDrift[];
17
- export declare function escolherRotasEsperadas(task: IrTask, fontesLegado: FonteLegado[]): Array<"nestjs" | "fastapi" | "flask" | "nextjs" | "firebase" | "dotnet" | "java" | "go" | "rust">;
17
+ export declare function escolherRotasEsperadas(task: IrTask, fontesLegado: FonteLegado[]): Array<"nestjs" | "fastapi" | "flask" | "nextjs" | "firebase" | "dotnet" | "java" | "go" | "rust" | "php">;
18
18
  export declare function taskEhBridgeFirebase(task: IrTask): boolean;
19
19
  export declare function tiposAceitosParaRecursoPersistencia(recurso: IrRecursoPersistencia): TipoRecursoDrift[];
20
20
  export declare function nomesRecursoPersistencia(recurso: IrRecursoPersistencia): string[];
@@ -89,7 +89,7 @@ export function extrairFontesHttpTypeScript(fontesLegado) {
89
89
  return fontesLegado.filter((fonte) => fonte === "nestjs" || fonte === "nextjs" || fonte === "firebase");
90
90
  }
91
91
  export function extrairFontesHttpBackend(fontesLegado) {
92
- return fontesLegado.filter((fonte) => fonte === "dotnet" || fonte === "java" || fonte === "go" || fonte === "rust");
92
+ return fontesLegado.filter((fonte) => fonte === "dotnet" || fonte === "java" || fonte === "go" || fonte === "rust" || fonte === "php");
93
93
  }
94
94
  export function ultimoSegmentoSimbolico(caminho) {
95
95
  const partes = caminho.split(".").filter(Boolean);
@@ -258,6 +258,10 @@ export function escolherRotasEsperadas(task, fontesLegado) {
258
258
  if (implRust) {
259
259
  return fontesBackend.includes("rust") ? ["rust"] : ["rust"];
260
260
  }
261
+ const implPhp = task.implementacoesExternas.find((impl) => impl.origem === "php");
262
+ if (implPhp) {
263
+ return fontesBackend.includes("php") ? ["php"] : ["php"];
264
+ }
261
265
  if (fontesTs.length > 0) {
262
266
  return fontesTs;
263
267
  }
@@ -9,7 +9,7 @@ import { analisarDriftLegado } from "./drift.part11.js";
9
9
  export const EXTENSOES_BUSCA_IMPACTO = [
10
10
  ".sema",
11
11
  ".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
12
- ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".cpp", ".cc", ".cxx", ".hpp", ".h",
12
+ ".py", ".dart", ".lua", ".cs", ".java", ".go", ".rs", ".cpp", ".cc", ".cxx", ".hpp", ".h", ".php",
13
13
  ".sql", ".psql", ".ddl", ".prisma", ".json",
14
14
  ];
15
15
  export function construirVariantesSemanticas(valor) {
@@ -3,7 +3,7 @@
3
3
  import { resolverDiretoriosCodigoEscopoReal } from "./drift.part02.js";
4
4
  import { indexarArquivosRastreaveis } from "./drift.part04.js";
5
5
  import { indexarTypeScript } from "./drift.part06.js";
6
- import { indexarCpp, indexarDart, indexarDotnet, indexarGo, indexarJava, indexarLua, indexarPersistenciaDeclarativa, indexarPython, indexarRust } from "./drift.part07.js";
6
+ import { indexarCpp, indexarDart, indexarDotnet, indexarGo, indexarJava, indexarLua, indexarPersistenciaDeclarativa, indexarPhp, indexarPython, indexarRust } from "./drift.part07.js";
7
7
  import { indexarPersistenciaDetalhada } from "./drift.part08.js";
8
8
  import { construirMapaRecursos } from "./drift.part10.js";
9
9
  export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
@@ -16,6 +16,7 @@ export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
16
16
  const indexGo = await indexarGo(diretoriosCodigoAtivos);
17
17
  const indexRust = await indexarRust(diretoriosCodigoAtivos);
18
18
  const indexLua = await indexarLua(diretoriosCodigoAtivos);
19
+ const indexPhp = await indexarPhp(diretoriosCodigoAtivos);
19
20
  const indexPersistencia = await indexarPersistenciaDeclarativa(diretoriosCodigoAtivos);
20
21
  const detalhesPersistencia = await indexarPersistenciaDetalhada(diretoriosCodigoAtivos);
21
22
  const indexCpp = await indexarCpp(diretoriosCodigoAtivos);
@@ -30,6 +31,7 @@ export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
30
31
  ...indexRust.simbolos,
31
32
  ...indexLua.simbolos,
32
33
  ...indexCpp.simbolos,
34
+ ...indexPhp.simbolos,
33
35
  ...indexPersistencia.simbolos,
34
36
  ];
35
37
  const mapaImpl = new Map([
@@ -42,6 +44,7 @@ export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
42
44
  ...indexRust.simbolos.map((item) => [item.caminho, item]),
43
45
  ...indexLua.simbolos.map((item) => [item.caminho, item]),
44
46
  ...indexCpp.simbolos.map((item) => [item.caminho, item]),
47
+ ...indexPhp.simbolos.map((item) => [item.caminho, item]),
45
48
  ]);
46
49
  const todosRecursos = [
47
50
  ...indexTs.recursos,
@@ -53,6 +56,7 @@ export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
53
56
  ...indexRust.recursos,
54
57
  ...indexLua.recursos,
55
58
  ...indexCpp.recursos,
59
+ ...indexPhp.recursos,
56
60
  ...indexPersistencia.recursos,
57
61
  ];
58
62
  const mapaRecursos = construirMapaRecursos(todosRecursos);
@@ -64,6 +68,7 @@ export async function prepararIndicesDrift(contexto, configuracaoEscopo) {
64
68
  ...indexJava.rotas,
65
69
  ...indexGo.rotas,
66
70
  ...indexRust.rotas,
71
+ ...indexPhp.rotas,
67
72
  ];
68
73
  const todosArquivosConhecidos = [...new Set([
69
74
  ...arquivosRastreaveis,
@@ -79,6 +79,9 @@ export function normalizarFonteImportacao(valor) {
79
79
  if (valor === "cpp" || valor === "cxx" || valor === "cc" || valor === "c++") {
80
80
  return "cpp";
81
81
  }
82
+ if (valor === "php") {
83
+ return "php";
84
+ }
82
85
  if (valor === "nestjs"
83
86
  || valor === "fastapi"
84
87
  || valor === "flask"
@@ -93,6 +96,7 @@ export function normalizarFonteImportacao(valor) {
93
96
  || valor === "go"
94
97
  || valor === "rust"
95
98
  || valor === "cpp"
99
+ || valor === "php"
96
100
  || valor === "typescript"
97
101
  || valor === "python"
98
102
  || valor === "dart") {
@@ -1,4 +1,4 @@
1
- export declare const STARTER_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo em backend e front consumer.\n\nImportante:\n- a Sema se apresenta publicamente como protocolo e funciona tecnicamente como linguagem de intencao\n- a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana\n- humanos sao autores/aprovadores; agentes sao os consumidores primarios do contrato\n- leitura humana e bonus toleravel, nao objetivo de produto\n- a Sema nao e gerador magico que deveria fazer tudo\n- a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao\n- a Sema gera codigo e scaffolding real para TypeScript, Python, Dart, Lua, JavaScript, HTML e CSS\n- a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico\n- a Sema usa `impl` para ligar task a simbolo real do runtime\n- a Sema usa `vinculos` para ligar contrato a arquivo, simbolo, recurso e superficie real\n- a Sema usa `execucao` para explicitar timeout, retry, compensacao e criticidade\n- a Sema usa `drift` para medir diferenca entre contrato e codigo vivo com score, confianca e lacunas\n- a Sema usa `resumo` e `prompt-curto` para IA fraca, gratuita ou com pouco contexto\n- a Sema usa `contexto-ia` para gerar `ast.json`, `ir.json`, `drift.json`, `briefing.json` e artefatos compactos antes da edicao\n- timeout definido pelo agente nao e falha do Sema; aumente o timeout e tente de novo antes de concluir falha\n- a Sema pode servir de base para interfaces graficas elegantes e coerentes\n- a Sema gera artefatos HTML/CSS derivados, mas nao substitui sozinha uma interface completa de produto\n- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto\n- se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end\n- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade\n\nRegras:\n- nao invente sintaxe fora da gramatica e dos exemplos oficiais\n- antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research\n- se a IA for fraca, nao tente abrir tudo de uma vez\n- use `sema resumo` e `briefing.min.json` antes de subir para o pacote completo\n- se `sema resumo . --micro` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo\n- trate `ir --json` como fonte de verdade semantica\n- trate `briefing.json` como plano de intervencao antes de editar projeto vivo\n- trate `diagnosticos --json` como fonte de correcao\n- use `sema formatar` como fonte unica de estilo\n- preserve a intencao do contrato\n- nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo\n\nComandos essenciais:\n- resumo compacto por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- prompt curto para IA fraca: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- descoberta do projeto: `sema inspecionar [arquivo-ou-pasta] --json`\n- auditoria do contrato vivo: `sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--json]`\n- mapa de impacto: `sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--json]`\n- renomeacao assistida: `sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--json]`\n- contexto completo do modulo: `sema contexto-ia <arquivo.sema>`\n- estrutura sintatica: `sema ast <arquivo.sema> --json`\n- estrutura semantica: `sema ir <arquivo.sema> --json`\n- validacao: `sema validar <arquivo.sema> --json`\n- diagnosticos: `sema diagnosticos <arquivo.sema> --json`\n- formatacao: `sema formatar <arquivo.sema>`\n- importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|typescript|python|dart> <diretorio> --saida <diretorio>`\n- exemplos oficiais no projeto: `sema instalar-exemplos`\n- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua|javascript|html|css> --saida <diretorio>`\n- verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`\n\nAntes de editar:\n1. leia README, docs de IA e um exemplo oficial parecido\n2. se a IA for fraca, rode `sema resumo <arquivo> --micro` e leia `briefing.min.json`\n - se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo\n3. se a IA aguentar mais, rode `sema drift` para medir impls, vinculos, rotas, score e lacunas\n4. se a tarefa for pesada, rode `sema contexto-ia` e leia `briefing.json`\n5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar\n\nDepois de editar:\n1. rode `sema formatar`\n2. rode `sema validar --json`\n3. se houver falha, use `diagnosticos --json`\n4. rode `sema drift` de novo quando mexer em codigo vivo\n5. se a tarefa pedir codigo derivado, rode `sema compilar`\n6. feche com `sema verificar <arquivo-ou-pasta> --json`\n\nPriorize sempre:\n- exemplos oficiais\n- JSON da CLI\n- o menor artefato que resolva a tarefa da IA atual\n- score, confianca e lacunas do `drift`\n- `briefing.json` como guia de mudanca\n- consistencia semantica\n\nSuperficies que a IA deve enxergar como first-class:\n- `route`\n- `worker`\n- `evento`\n- `fila`\n- `cron`\n- `webhook`\n- `cache`\n- `storage`\n- `policy`\n\nNao improvise quando faltar contexto.\n";
1
+ export declare const STARTER_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo em backend e front consumer.\n\nImportante:\n- a Sema se apresenta publicamente como protocolo e funciona tecnicamente como linguagem de intencao\n- a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana\n- humanos sao autores/aprovadores; agentes sao os consumidores primarios do contrato\n- leitura humana e bonus toleravel, nao objetivo de produto\n- a Sema nao e gerador magico que deveria fazer tudo\n- a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao\n- a Sema gera codigo e scaffolding real para TypeScript, Python, Dart, Lua, JavaScript, HTML e CSS\n- a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico\n- a Sema usa `impl` para ligar task a simbolo real do runtime\n- a Sema usa `vinculos` para ligar contrato a arquivo, simbolo, recurso e superficie real\n- a Sema usa `execucao` para explicitar timeout, retry, compensacao e criticidade\n- a Sema usa `drift` para medir diferenca entre contrato e codigo vivo com score, confianca e lacunas\n- a Sema usa `resumo` e `prompt-curto` para IA fraca, gratuita ou com pouco contexto\n- a Sema usa `contexto-ia` para gerar `ast.json`, `ir.json`, `drift.json`, `briefing.json` e artefatos compactos antes da edicao\n- timeout definido pelo agente nao e falha do Sema; aumente o timeout e tente de novo antes de concluir falha\n- a Sema pode servir de base para interfaces graficas elegantes e coerentes\n- a Sema gera artefatos HTML/CSS derivados, mas nao substitui sozinha uma interface completa de produto\n- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto\n- se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end\n- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade\n\nRegras:\n- nao invente sintaxe fora da gramatica e dos exemplos oficiais\n- antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research\n- se a IA for fraca, nao tente abrir tudo de uma vez\n- use `sema resumo` e `briefing.min.json` antes de subir para o pacote completo\n- se `sema resumo . --micro` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo\n- trate `ir --json` como fonte de verdade semantica\n- trate `briefing.json` como plano de intervencao antes de editar projeto vivo\n- trate `diagnosticos --json` como fonte de correcao\n- use `sema formatar` como fonte unica de estilo\n- preserve a intencao do contrato\n- nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo\n\nComandos essenciais:\n- resumo compacto por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- prompt curto para IA fraca: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- descoberta do projeto: `sema inspecionar [arquivo-ou-pasta] --json`\n- auditoria do contrato vivo: `sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--json]`\n- mapa de impacto: `sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--json]`\n- renomeacao assistida: `sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--json]`\n- contexto completo do modulo: `sema contexto-ia <arquivo.sema>`\n- estrutura sintatica: `sema ast <arquivo.sema> --json`\n- estrutura semantica: `sema ir <arquivo.sema> --json`\n- validacao: `sema validar <arquivo.sema> --json`\n- diagnosticos: `sema diagnosticos <arquivo.sema> --json`\n- formatacao: `sema formatar <arquivo.sema>`\n- importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> --saida <diretorio>`\n- exemplos oficiais no projeto: `sema instalar-exemplos`\n- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua|javascript|html|css> --saida <diretorio>`\n- verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`\n\nAntes de editar:\n1. leia README, docs de IA e um exemplo oficial parecido\n2. se a IA for fraca, rode `sema resumo <arquivo> --micro` e leia `briefing.min.json`\n - se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo\n3. se a IA aguentar mais, rode `sema drift` para medir impls, vinculos, rotas, score e lacunas\n4. se a tarefa for pesada, rode `sema contexto-ia` e leia `briefing.json`\n5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar\n\nDepois de editar:\n1. rode `sema formatar`\n2. rode `sema validar --json`\n3. se houver falha, use `diagnosticos --json`\n4. rode `sema drift` de novo quando mexer em codigo vivo\n5. se a tarefa pedir codigo derivado, rode `sema compilar`\n6. feche com `sema verificar <arquivo-ou-pasta> --json`\n\nPriorize sempre:\n- exemplos oficiais\n- JSON da CLI\n- o menor artefato que resolva a tarefa da IA atual\n- score, confianca e lacunas do `drift`\n- `briefing.json` como guia de mudanca\n- consistencia semantica\n\nSuperficies que a IA deve enxergar como first-class:\n- `route`\n- `worker`\n- `evento`\n- `fila`\n- `cron`\n- `webhook`\n- `cache`\n- `storage`\n- `policy`\n\nNao improvise quando faltar contexto.\n";
2
2
  export declare const PROMPT_BASE_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo.\n\nTrate a Sema como protocolo de governanca semantica e linguagem de intencao feita para IA, nao para leitura humana confortavel. Humanos escrevem e aprovam; agentes consomem. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.\n\nFontes de verdade, em ordem:\n1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele\n2. `AGENT_CONTEXT_PACK.json`\n3. `SEMA_BRIEF.md`\n4. `SEMA_INDEX.json`\n5. `AGENTS.md`\n6. README do projeto\n7. gramatica e documentacao de sintaxe da Sema\n8. exemplos oficiais, com prioridade para o vertical de pagamento\n9. `sema resumo` e `briefing.min.json` quando a IA for fraca\n10. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar\n\nRegras de operacao:\n- contrato vem antes da acao: crie, edite ou remova o .sema aplicavel antes de codigo, docs operacionais, texto Author, workflow, jogo, pesquisa, legal ou ops\n- preserve o significado semantico\n- use o formatador oficial da Sema como fonte unica de estilo\n- use diagnosticos estruturados como contrato de correcao\n- use a IR como fonte de verdade semantica quando houver duvida\n- use predicados canonicos como normalizacao opcional, preservando a forma original\n- nao conclua uma alteracao sem validar e verificar o modulo\n- comece pelo menor artefato semantico que resolva a tarefa\n\nAntes de editar `.sema`, entenda:\n- o module alvo\n- os contratos de task, route, error, effects, guarantees, state e flow\n- os exemplos oficiais relacionados\n\nDepois de editar `.sema`, execute este fluxo:\n1. formatar\n2. validar\n3. diagnosticar, se houver falha\n4. verificar\n\nSe houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.\n\nSe algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.\n";
3
3
  export declare const PROMPT_IA_UI = "Atue como Engenheiro de Software Senior e UX/UI Designer de elite.\n\nQuero que voce trabalhe com Sema como fonte de verdade semantica do sistema e com React + TypeScript como camada de interface.\n\nEntregue obrigatoriamente duas partes integradas:\n1. os arquivos `.sema` do dominio\n2. a proposta ou implementacao da interface em React + TypeScript\n\nRegras:\n- nao entregue apenas HTML solto em arquivo unico\n- nao trate a Sema como enfeite conceitual\n- a interface deve nascer do contrato semantico definido em Sema\n- use os exemplos oficiais da Sema como referencia de estilo e semantica\n- nao invente sintaxe fora da gramatica suportada\n\nA Sema deve modelar, quando fizer sentido:\n- `module`\n- `use`\n- `entity`\n- `enum`\n- `state`\n- `task`\n- `flow`\n- `route`\n- `effects`\n- `error`\n- `guarantees`\n- `tests`\n- `docs`\n\nA interface deve refletir visualmente:\n- `state` como status e progresso observavel\n- `flow` como etapas ou orquestracao visivel\n- `error` como falhas tratadas com clareza\n- `effects` como operacoes relevantes para usuario ou operacao\n- `guarantees` como confianca, confirmacao ou consistencia final\n\nEstruture a entrega assim:\n1. visao do produto\n2. dominio modelado em Sema\n3. arquitetura de pastas em React + TypeScript\n4. componentes principais\n5. estrategia visual\n6. codigo principal da interface\n7. explicacao curta de como a UI conversa com a semantica da Sema\n\nSe a tarefa envolver app visual, a Sema governa o significado e o React renderiza a experiencia. Nao atropele essa separacao.\n";
4
4
  export declare const PROMPT_IA_REACT = "Crie uma solucao com Sema + React + TypeScript.\n\nRegras principais:\n- a Sema deve ser a fonte de verdade semantica do dominio\n- React + TypeScript deve ser a camada de interface e experiencia\n- nao entregue HTML unico solto\n- nao trate a Sema como enfeite\n\nEntregue obrigatoriamente:\n1. arquivos `.sema` do dominio\n2. arquitetura de pastas do frontend\n3. componentes React principais\n4. contratos e tipos derivados da semantica\n5. interface elegante e implementavel\n\nA modelagem Sema deve cobrir, quando fizer sentido:\n- `entity`\n- `enum`\n- `state`\n- `task`\n- `flow`\n- `route`\n- `effects`\n- `error`\n- `guarantees`\n- `tests`\n\nA interface React deve tornar visiveis:\n- estado atual e transicoes relevantes\n- fluxo operacional\n- erros publicos\n- efeitos operacionais importantes\n- garantias ou confirmacoes finais\n\nEstruture a entrega assim:\n1. visao do produto\n2. arquivos `.sema`\n3. arquitetura React + TypeScript\n4. componentes e telas\n5. codigo principal\n6. explicacao de como a UI deriva da semantica da Sema\n\nSe houver duvida, siga os exemplos oficiais e mantenha a separacao:\n- Sema governa o significado\n- React governa a apresentacao\n";
package/dist/iaPrompts.js CHANGED
@@ -52,7 +52,7 @@ Comandos essenciais:
52
52
  - validacao: \`sema validar <arquivo.sema> --json\`
53
53
  - diagnosticos: \`sema diagnosticos <arquivo.sema> --json\`
54
54
  - formatacao: \`sema formatar <arquivo.sema>\`
55
- - importacao assistida de legado: \`sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|typescript|python|dart> <diretorio> --saida <diretorio>\`
55
+ - importacao assistida de legado: \`sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> --saida <diretorio>\`
56
56
  - exemplos oficiais no projeto: \`sema instalar-exemplos\`
57
57
  - geracao de codigo: \`sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua|javascript|html|css> --saida <diretorio>\`
58
58
  - verificacao final: \`sema verificar <arquivo-ou-pasta> [--json]\`
@@ -1,7 +1,7 @@
1
1
  import ts from "typescript";
2
2
  import { type Diagnostico } from "@sema/nucleo";
3
- export type FonteImportacao = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "python" | "dart" | "dotnet" | "java" | "go" | "rust" | "cpp";
4
- export type OrigemInteropImportada = "ts" | "py" | "dart" | "cs" | "java" | "go" | "rust" | "cpp";
3
+ export type FonteImportacao = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "python" | "dart" | "dotnet" | "java" | "go" | "rust" | "cpp" | "php";
4
+ export type OrigemInteropImportada = "ts" | "py" | "dart" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
5
5
  export interface CampoImportado {
6
6
  nome: string;
7
7
  tipo: string;
@@ -88,6 +88,15 @@ export function sincronizarRotasComTasks(routes, tasks) {
88
88
  if (route.output.length === 0) {
89
89
  route.output = task.output.map((campo) => ({ ...campo, obrigatorio: true }));
90
90
  }
91
+ if (route.input.length > 0 && task.input.length > 0) {
92
+ const camposTask = new Map(task.input.map((campo) => [normalizarNomeCampoImportado(campo.nome), campo]));
93
+ route.input = route.input.map((campo) => {
94
+ const correspondente = camposTask.get(normalizarNomeCampoImportado(campo.nome));
95
+ return correspondente
96
+ ? { ...campo, tipo: correspondente.tipo, obrigatorio: correspondente.obrigatorio }
97
+ : campo;
98
+ });
99
+ }
91
100
  if (route.errors.length === 0) {
92
101
  route.errors = task.errors;
93
102
  }
@@ -140,6 +149,7 @@ export function renderizarImpl(impl, indentacao = " ") {
140
149
  ...(impl.go ? [`${indentacao} go: ${impl.go}`] : []),
141
150
  ...(impl.rust ? [`${indentacao} rust: ${impl.rust}`] : []),
142
151
  ...(impl.cpp ? [`${indentacao} cpp: ${impl.cpp}`] : []),
152
+ ...(impl.php ? [`${indentacao} php: ${impl.php}`] : []),
143
153
  `${indentacao}}`,
144
154
  "",
145
155
  ];
@@ -242,12 +242,14 @@ export async function importarDartBase(diretorio, namespaceBase) {
242
242
  return modulos;
243
243
  }
244
244
  export function criarModuloImportadoSimples(nome, resumo, tasks, routes = [], vinculos = [], databases = []) {
245
- sincronizarRotasComTasks(routes, tasks);
245
+ const tasksDeduplicadas = deduplicarTarefas(tasks);
246
+ const routesDeduplicadas = deduplicarRotas(routes);
247
+ sincronizarRotasComTasks(routesDeduplicadas, tasksDeduplicadas);
246
248
  return {
247
249
  nome,
248
250
  resumo,
249
- tasks: deduplicarTarefas(tasks),
250
- routes: deduplicarRotas(routes),
251
+ tasks: tasksDeduplicadas,
252
+ routes: routesDeduplicadas,
251
253
  entities: [],
252
254
  enums: [],
253
255
  databases: deduplicarDatabases(databases),
@@ -3,6 +3,7 @@ export declare function importarJavaBase(diretorio: string, namespaceBase: strin
3
3
  export declare function importarGoBase(diretorio: string, namespaceBase: string): Promise<ModuloImportado[]>;
4
4
  export declare function importarRustBase(diretorio: string, namespaceBase: string): Promise<ModuloImportado[]>;
5
5
  export declare function importarCppBase(diretorio: string, namespaceBase: string): Promise<ModuloImportado[]>;
6
+ export declare function importarPhpBase(diretorio: string, namespaceBase: string): Promise<ModuloImportado[]>;
6
7
  export declare function importarProjetoLegado(fonte: FonteImportacao, diretorio: string, namespaceBase?: string): Promise<ResultadoImportacao>;
7
8
  export declare function resumoImportacao(resultado: ResultadoImportacao): {
8
9
  modulos: number;
@@ -6,6 +6,7 @@ import { compilarProjeto, temErros } from "@sema/nucleo";
6
6
  import { extrairSimbolosCpp } from "./cpp-symbols.js";
7
7
  import { extrairRotasGo, extrairSimbolosGo } from "./go-http.js";
8
8
  import { extrairRotasJava, extrairSimbolosJava } from "./java-http.js";
9
+ import { extrairRotasPhp, extrairSimbolosPhp } from "./php-http.js";
9
10
  import { extrairRotasRust, extrairSimbolosRust } from "./rust-http.js";
10
11
  import { inferirContextoPorArquivo, inferirNamespaceBase, listarArquivosRecursivos, paraSnakeCase } from "./importador.part01.js";
11
12
  import { camposDeParametrosRotaBackend, criarCampoResultadoBackend, descreverEfeitosPorHeuristica, inferirDatabasesPorHeuristica, mapearTipoBackendParaSema } from "./importador.part02.js";
@@ -231,6 +232,67 @@ export async function importarCppBase(diretorio, namespaceBase) {
231
232
  }
232
233
  return [...modulos.values()];
233
234
  }
235
+ export async function importarPhpBase(diretorio, namespaceBase) {
236
+ const arquivos = (await listarArquivosRecursivos(diretorio, [".php"]))
237
+ .filter((arquivo) => !/(^|[\\/])(vendor|storage|bootstrap[\\/]cache|cache|tests?)([\\/]|$)/i.test(arquivo));
238
+ const modulos = new Map();
239
+ for (const arquivo of arquivos) {
240
+ const texto = await readFile(arquivo, "utf8");
241
+ const relacao = path.relative(diretorio, arquivo);
242
+ const contextoSegmentos = inferirContextoPorArquivo(relacao, { preservarUltimo: true, snakeCaseUltimo: true });
243
+ const nomeModulo = [namespaceBase, ...contextoSegmentos].join(".");
244
+ const tasks = [];
245
+ const routes = [];
246
+ for (const simbolo of extrairSimbolosPhp(texto)) {
247
+ const taskNome = paraSnakeCase(simbolo.simbolo.split(".").at(-1) ?? simbolo.simbolo);
248
+ tasks.push({
249
+ nome: taskNome,
250
+ resumo: `Task PHP importada automaticamente de ${relacao}#${simbolo.simbolo}.`,
251
+ input: simbolo.parametros.map((parametro) => ({
252
+ nome: paraSnakeCase(parametro.nome),
253
+ tipo: mapearTipoBackendParaSema(parametro.tipoTexto),
254
+ obrigatorio: parametro.obrigatorio,
255
+ })),
256
+ output: criarCampoResultadoBackend(simbolo.retorno),
257
+ errors: [],
258
+ effects: descreverEfeitosPorHeuristica(texto),
259
+ impl: { php: caminhoImplGenerico(diretorio, arquivo, simbolo.simbolo, { snakeCaseUltimoArquivo: true }) },
260
+ origemArquivo: relacao,
261
+ origemSimbolo: simbolo.simbolo,
262
+ });
263
+ }
264
+ for (const rota of extrairRotasPhp(texto)) {
265
+ const taskNome = paraSnakeCase(rota.simbolo.split(".").at(-1) ?? rota.simbolo);
266
+ const output = criarCampoResultadoBackend(rota.retorno);
267
+ tasks.push({
268
+ nome: taskNome,
269
+ resumo: `Task HTTP PHP importada automaticamente de ${relacao}#${rota.simbolo}.`,
270
+ input: camposDeParametrosRotaBackend(rota.parametros),
271
+ output,
272
+ errors: [],
273
+ effects: [{ categoria: "consulta", alvo: "http", criticidade: "media" }],
274
+ impl: { php: caminhoImplGenerico(diretorio, arquivo, rota.simbolo, { snakeCaseUltimoArquivo: true }) },
275
+ origemArquivo: relacao,
276
+ origemSimbolo: rota.simbolo,
277
+ });
278
+ routes.push({
279
+ nome: `${taskNome}_publico`,
280
+ resumo: `Rota PHP importada automaticamente de ${relacao}#${rota.simbolo}.`,
281
+ metodo: rota.metodo,
282
+ caminho: rota.caminho,
283
+ task: taskNome,
284
+ input: camposDeParametrosRotaBackend(rota.parametros),
285
+ output,
286
+ errors: [],
287
+ });
288
+ }
289
+ if (tasks.length === 0 && routes.length === 0) {
290
+ continue;
291
+ }
292
+ acumularModuloImportado(modulos, criarModuloImportadoSimples(nomeModulo, `Rascunho Sema importado automaticamente de ${relacao}.`, tasks, routes, [], inferirDatabasesPorHeuristica(texto, relacao)));
293
+ }
294
+ return [...modulos.values()];
295
+ }
234
296
  export async function importarProjetoLegado(fonte, diretorio, namespaceBase) {
235
297
  const base = path.resolve(diretorio);
236
298
  const namespace = inferirNamespaceBase(base, namespaceBase);
@@ -286,6 +348,9 @@ export async function importarProjetoLegado(fonte, diretorio, namespaceBase) {
286
348
  else if (fonte === "cpp") {
287
349
  modulos = await importarCppBase(base, namespace);
288
350
  }
351
+ else if (fonte === "php") {
352
+ modulos = await importarPhpBase(base, namespace);
353
+ }
289
354
  const arquivos = [];
290
355
  for (const modulo of modulos) {
291
356
  const bruto = moduloParaCodigo(modulo);
@@ -83,7 +83,7 @@ export function ajuda() {
83
83
  "auditoria: sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--incluir-worktrees] [--incluir-consumidores-laterais] [--json]",
84
84
  "impacto: sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--escopo <arquivo|modulo|projeto>] [--json]",
85
85
  "renomeação: sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--escopo <arquivo|modulo|projeto>] [--json]",
86
- "importação: sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|typescript|python|dart> <diretorio> [--saida <diretorio>] [--namespace <base>] [--json]",
86
+ "importação: sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> [--saida <diretorio>] [--namespace <base>] [--json]",
87
87
  "validação: sema validar <arquivo-ou-pasta> [--json]",
88
88
  "diagnóstico: sema diagnosticos <arquivo.sema> [--json]",
89
89
  "geração: sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua|javascript|html|css> --saida <diretorio> [--estrutura <flat|modulos|backend>] [--framework <base|nestjs|fastapi>]",
@@ -121,7 +121,7 @@ export async function principal() {
121
121
  {
122
122
  const fonte = normalizarFonteImportacao(posicionais[0]);
123
123
  if (!fonte || !posicionais[1]) {
124
- console.error("Uso: sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|typescript|python|dart> <diretorio> [--saida <diretorio>] [--namespace <base>] [--json]");
124
+ console.error("Uso: sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> [--saida <diretorio>] [--namespace <base>] [--json]");
125
125
  codigoSaida = 1;
126
126
  break;
127
127
  }
@@ -0,0 +1,24 @@
1
+ export interface ParametroRotaPhp {
2
+ nome: string;
3
+ tipoSema: "Texto" | "Inteiro" | "Decimal" | "Id";
4
+ }
5
+ export interface SimboloPhpExtraido {
6
+ simbolo: string;
7
+ aliases?: string[];
8
+ retorno?: string;
9
+ parametros: Array<{
10
+ nome: string;
11
+ tipoTexto?: string;
12
+ obrigatorio: boolean;
13
+ }>;
14
+ }
15
+ export interface RotaPhpExtraida {
16
+ origem: "php";
17
+ metodo: string;
18
+ caminho: string;
19
+ simbolo: string;
20
+ parametros: ParametroRotaPhp[];
21
+ retorno?: string;
22
+ }
23
+ export declare function extrairSimbolosPhp(codigo: string): SimboloPhpExtraido[];
24
+ export declare function extrairRotasPhp(codigo: string): RotaPhpExtraida[];
@@ -0,0 +1,252 @@
1
+ // SEMA-GOVERNED: sema.governanca_ia_contexto
2
+ // Descricao: extracao PHP para drift/importacao; consulte contratos/sema/governanca_ia_contexto.sema antes de editar.
3
+ const METODOS_HTTP = new Set(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]);
4
+ function contarChar(texto, alvo) {
5
+ return [...texto].filter((char) => char === alvo).length;
6
+ }
7
+ function limparStringPhp(valor) {
8
+ const limpo = (valor ?? "").trim();
9
+ if (!limpo) {
10
+ return undefined;
11
+ }
12
+ if ((limpo.startsWith("\"") && limpo.endsWith("\"")) || (limpo.startsWith("'") && limpo.endsWith("'"))) {
13
+ return limpo.slice(1, -1);
14
+ }
15
+ return limpo;
16
+ }
17
+ function normalizarCaminhoPhp(caminho) {
18
+ const limpo = caminho
19
+ .trim()
20
+ .replace(/^\/+|\/+$/g, "")
21
+ .replace(/:([A-Za-z_]\w*)/g, "{$1}")
22
+ .replace(/\{([^}:?]+)\??(?::[^}]+)?\}/g, "{$1}");
23
+ return `/${limpo}`.replace(/\/+/g, "/");
24
+ }
25
+ function juntarCaminhoPhp(base, sufixo) {
26
+ const partes = [base, sufixo]
27
+ .map((parte) => (parte ?? "").trim())
28
+ .filter(Boolean)
29
+ .map((parte) => parte.replace(/^\/+|\/+$/g, ""));
30
+ return normalizarCaminhoPhp(partes.join("/"));
31
+ }
32
+ function mapearTipoPhp(tipo) {
33
+ const normalizado = (tipo ?? "").toLowerCase().replace(/^[?\\]+/, "");
34
+ if (/^(int|integer)$/.test(normalizado)) {
35
+ return "Inteiro";
36
+ }
37
+ if (/^(float|double|decimal)$/.test(normalizado)) {
38
+ return "Decimal";
39
+ }
40
+ if (/uuid|id$/.test(normalizado)) {
41
+ return "Id";
42
+ }
43
+ return "Texto";
44
+ }
45
+ function extrairParametrosPhp(assinatura) {
46
+ return assinatura.split(",").map((parametroBruto) => {
47
+ const parametro = parametroBruto.trim();
48
+ if (!parametro) {
49
+ return undefined;
50
+ }
51
+ const semPadrao = parametro.split("=")[0]?.trim() ?? parametro;
52
+ const nome = semPadrao.match(/\$([A-Za-z_]\w*)/)?.[1];
53
+ if (!nome) {
54
+ return undefined;
55
+ }
56
+ const tipoTexto = semPadrao
57
+ .slice(0, semPadrao.indexOf(`$${nome}`))
58
+ .replace(/\b(?:public|protected|private|readonly|static)\b/g, "")
59
+ .replace(/[&.]{1,3}/g, "")
60
+ .trim() || undefined;
61
+ return {
62
+ nome,
63
+ tipoTexto,
64
+ obrigatorio: !parametro.includes("=") && !tipoTexto?.startsWith("?"),
65
+ };
66
+ }).filter((item) => Boolean(item));
67
+ }
68
+ function extrairParametrosRotaPhp(caminho, assinatura) {
69
+ const assinaturaMap = new Map();
70
+ for (const parametro of extrairParametrosPhp(assinatura)) {
71
+ assinaturaMap.set(parametro.nome, parametro.tipoTexto ?? "");
72
+ }
73
+ return [...normalizarCaminhoPhp(caminho).matchAll(/\{([^}]+)\}/g)].map((match) => {
74
+ const nome = match[1];
75
+ return {
76
+ nome,
77
+ tipoSema: mapearTipoPhp(assinaturaMap.get(nome)),
78
+ };
79
+ });
80
+ }
81
+ function removerComentariosBloco(codigo) {
82
+ return codigo.replace(/\/\*[\s\S]*?\*\//g, "");
83
+ }
84
+ function extrairAtributoRoutePhp(linha) {
85
+ const match = linha.match(/#\[\s*Route\s*\(([\s\S]+)\)\s*\]/i);
86
+ if (!match) {
87
+ return undefined;
88
+ }
89
+ const corpo = match[1];
90
+ const caminho = limparStringPhp(corpo.match(/(?:path\s*:\s*)?(['"][^'"]+['"])/i)?.[1]);
91
+ if (!caminho) {
92
+ return undefined;
93
+ }
94
+ const metodos = [...corpo.matchAll(/['"](GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)['"]/gi)]
95
+ .map((item) => item[1].toUpperCase())
96
+ .filter((metodo) => METODOS_HTTP.has(metodo));
97
+ return {
98
+ caminho,
99
+ metodos: metodos.length > 0 ? [...new Set(metodos)] : ["GET"],
100
+ };
101
+ }
102
+ function extrairTargetLaravel(bloco) {
103
+ const arrayController = bloco.match(/([A-Za-z_][\\A-Za-z0-9_]*)::class\s*,\s*['"]([A-Za-z_]\w*)['"]/);
104
+ if (arrayController) {
105
+ const classe = arrayController[1].split("\\").at(-1);
106
+ return `${classe}.${arrayController[2]}`;
107
+ }
108
+ const stringController = bloco.match(/['"]([A-Za-z_][\\A-Za-z0-9_]*)@([A-Za-z_]\w*)['"]/);
109
+ if (stringController) {
110
+ const classe = stringController[1].split("\\").at(-1);
111
+ return `${classe}.${stringController[2]}`;
112
+ }
113
+ const invokable = bloco.match(/([A-Za-z_][\\A-Za-z0-9_]*)::class/);
114
+ if (invokable) {
115
+ const classe = invokable[1].split("\\").at(-1);
116
+ return `${classe}.__invoke`;
117
+ }
118
+ const closure = bloco.match(/function\s*\(/);
119
+ if (closure) {
120
+ return "closure";
121
+ }
122
+ return undefined;
123
+ }
124
+ function assinaturaFuncaoPhp(linha) {
125
+ return linha.match(/^(?:(?:public|protected|private|static|final|abstract|readonly)\s+)*function\s+&?\s*([A-Za-z_]\w*)\s*\(([^)]*)\)\s*(?::\s*([?\\A-Za-z_][\\A-Za-z0-9_|?]*))?/);
126
+ }
127
+ function namespaceParaCaminhoPhp(namespace) {
128
+ const limpo = namespace?.trim().replace(/\\+/g, ".");
129
+ return limpo || undefined;
130
+ }
131
+ function variantesNamespacePhp(namespace, classe, metodo) {
132
+ const base = namespaceParaCaminhoPhp(namespace);
133
+ if (!base) {
134
+ return [];
135
+ }
136
+ const caminho = `${base}.${classe}.${metodo}`;
137
+ const partes = caminho.split(".");
138
+ const primeiroMinusculo = partes.length > 0
139
+ ? [partes[0].toLowerCase(), ...partes.slice(1)].join(".")
140
+ : caminho;
141
+ return [...new Set([caminho, primeiroMinusculo])];
142
+ }
143
+ export function extrairSimbolosPhp(codigo) {
144
+ const simbolos = new Map();
145
+ const linhas = removerComentariosBloco(codigo).split(/\r?\n/);
146
+ const pilhaClasses = [];
147
+ let profundidade = 0;
148
+ let namespaceAtual;
149
+ for (const linhaOriginal of linhas) {
150
+ const linha = linhaOriginal.trim();
151
+ if (!linha || linha.startsWith("//") || linha.startsWith("#")) {
152
+ profundidade += contarChar(linhaOriginal, "{") - contarChar(linhaOriginal, "}");
153
+ continue;
154
+ }
155
+ const namespace = linha.match(/^namespace\s+([^;{]+)\s*[;{]/);
156
+ if (namespace) {
157
+ namespaceAtual = namespace[1].trim();
158
+ }
159
+ const classe = linha.match(/\b(?:class|trait)\s+([A-Za-z_]\w*)/);
160
+ const classeSemChaveNaLinha = Boolean(classe && !linhaOriginal.includes("{"));
161
+ if (classe) {
162
+ pilhaClasses.push({ nome: classe[1], profundidade: profundidade + 1 });
163
+ }
164
+ const funcao = assinaturaFuncaoPhp(linha);
165
+ if (funcao) {
166
+ const nome = funcao[1];
167
+ if (!["__construct", "__destruct"].includes(nome)) {
168
+ const classeAtual = pilhaClasses[pilhaClasses.length - 1];
169
+ const simbolo = classeAtual ? `${classeAtual.nome}.${nome}` : nome;
170
+ simbolos.set(simbolo, {
171
+ simbolo,
172
+ aliases: classeAtual ? variantesNamespacePhp(namespaceAtual, classeAtual.nome, nome) : [],
173
+ retorno: funcao[3]?.trim(),
174
+ parametros: extrairParametrosPhp(funcao[2] ?? ""),
175
+ });
176
+ }
177
+ }
178
+ profundidade += contarChar(linhaOriginal, "{") - contarChar(linhaOriginal, "}");
179
+ while (!classeSemChaveNaLinha && pilhaClasses.length > 0 && profundidade < pilhaClasses[pilhaClasses.length - 1].profundidade) {
180
+ pilhaClasses.pop();
181
+ }
182
+ }
183
+ return [...simbolos.values()];
184
+ }
185
+ export function extrairRotasPhp(codigo) {
186
+ const rotas = new Map();
187
+ const texto = removerComentariosBloco(codigo);
188
+ for (const match of texto.matchAll(/\b(?:Route::|\$?[A-Za-z_]\w*->)(get|post|put|patch|delete|head|options)\s*\(\s*(['"][^'"]+['"])\s*,\s*([\s\S]*?)\)\s*;/gi)) {
189
+ const metodo = match[1].toUpperCase();
190
+ if (!METODOS_HTTP.has(metodo)) {
191
+ continue;
192
+ }
193
+ const caminho = normalizarCaminhoPhp(limparStringPhp(match[2]) ?? "/");
194
+ const simbolo = extrairTargetLaravel(match[3] ?? "") ?? metodo.toLowerCase();
195
+ rotas.set(`${metodo}:${caminho}:${simbolo}`, {
196
+ origem: "php",
197
+ metodo,
198
+ caminho,
199
+ simbolo,
200
+ parametros: extrairParametrosRotaPhp(caminho, ""),
201
+ });
202
+ }
203
+ const linhas = texto.split(/\r?\n/);
204
+ const pilhaClasses = [];
205
+ let atributoPendente;
206
+ let profundidade = 0;
207
+ for (const linhaOriginal of linhas) {
208
+ const linha = linhaOriginal.trim();
209
+ const atributo = extrairAtributoRoutePhp(linha);
210
+ if (atributo) {
211
+ atributoPendente = atributo;
212
+ continue;
213
+ }
214
+ const classe = linha.match(/\b(?:class|trait)\s+([A-Za-z_]\w*)/);
215
+ const classeSemChaveNaLinha = Boolean(classe && !linhaOriginal.includes("{"));
216
+ if (classe) {
217
+ pilhaClasses.push({
218
+ nome: classe[1],
219
+ profundidade: profundidade + 1,
220
+ rotaBase: atributoPendente?.caminho,
221
+ });
222
+ atributoPendente = undefined;
223
+ }
224
+ const funcao = assinaturaFuncaoPhp(linha);
225
+ if (funcao && atributoPendente) {
226
+ const classeAtual = pilhaClasses[pilhaClasses.length - 1];
227
+ const nome = funcao[1];
228
+ const simbolo = classeAtual ? `${classeAtual.nome}.${nome}` : nome;
229
+ const caminho = juntarCaminhoPhp(classeAtual?.rotaBase, atributoPendente.caminho);
230
+ for (const metodo of atributoPendente.metodos) {
231
+ rotas.set(`${metodo}:${caminho}:${simbolo}`, {
232
+ origem: "php",
233
+ metodo,
234
+ caminho,
235
+ simbolo,
236
+ parametros: extrairParametrosRotaPhp(caminho, funcao[2] ?? ""),
237
+ retorno: funcao[3]?.trim(),
238
+ });
239
+ }
240
+ atributoPendente = undefined;
241
+ }
242
+ else if (funcao) {
243
+ atributoPendente = undefined;
244
+ }
245
+ profundidade += contarChar(linhaOriginal, "{") - contarChar(linhaOriginal, "}");
246
+ while (!classeSemChaveNaLinha && pilhaClasses.length > 0 && profundidade < pilhaClasses[pilhaClasses.length - 1].profundidade) {
247
+ pilhaClasses.pop();
248
+ }
249
+ }
250
+ return [...rotas.values()];
251
+ }
252
+ //# sourceMappingURL=php-http.js.map
@@ -54,6 +54,7 @@ export const EXTENSOES_CODIGO = [
54
54
  ".cxx",
55
55
  ".hpp",
56
56
  ".h",
57
+ ".php",
57
58
  ".html",
58
59
  ".htm",
59
60
  ".css",
@@ -85,7 +85,8 @@ export function normalizarFonteLegado(valor) {
85
85
  || valor === "java"
86
86
  || valor === "go"
87
87
  || valor === "rust"
88
- || valor === "cpp") {
88
+ || valor === "cpp"
89
+ || valor === "php") {
89
90
  return valor;
90
91
  }
91
92
  return undefined;
@@ -45,6 +45,8 @@ export async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configC
45
45
  const arquivosRust = await listarArquivosRecursivosLimitado(diretorio, [".rs"], 5, 20);
46
46
  const arquivosCppBrutos = await listarArquivosRecursivosLimitado(diretorio, [".cpp", ".cc", ".cxx", ".hpp", ".h"], 5, 30);
47
47
  const arquivosCpp = arquivosCppBrutos.filter((arquivo) => !/(^|[\\/])(windows|linux|macos|runner|flutter|ephemeral|build|vendor)([\\/]|$)/i.test(arquivo));
48
+ const arquivosPhp = (await listarArquivosRecursivosLimitado(diretorio, [".php"], 5, 30))
49
+ .filter((arquivo) => !/(^|[\\/])(vendor|storage|bootstrap[\\/]cache|cache|tests?)([\\/]|$)/i.test(arquivo));
48
50
  if (arquivosTs.length > 0) {
49
51
  encontrados.add("typescript");
50
52
  }
@@ -176,6 +178,15 @@ export async function inferirFontesLegado(diretoriosCodigo, baseProjeto, configC
176
178
  if (arquivosCpp.length > 0) {
177
179
  encontrados.add("cpp");
178
180
  }
181
+ if (arquivosPhp.length > 0) {
182
+ encontrados.add("php");
183
+ const composer = await procurarArquivosPorNome(diretorio, ["composer.json"], 4);
184
+ const amostrasPhp = await Promise.all(arquivosPhp.slice(0, 8).map((arquivo) => lerConteudoSeExistir(arquivo)));
185
+ if (composer.length > 0
186
+ || amostrasPhp.some((texto) => /Route::(?:get|post|put|patch|delete)|#\[\s*Route\s*\(|namespace\s+App\\|use\s+Illuminate\\|use\s+Symfony\\/i.test(texto ?? ""))) {
187
+ encontrados.add("php");
188
+ }
189
+ }
179
190
  }
180
191
  return [...encontrados].sort((a, b) => a.localeCompare(b, "pt-BR"));
181
192
  }
package/dist/tipos.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export type EstruturaSaida = "flat" | "modulos" | "backend";
2
- export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "javascript" | "python" | "dart" | "lua" | "dotnet" | "java" | "go" | "rust" | "cpp";
2
+ export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "javascript" | "python" | "dart" | "lua" | "dotnet" | "java" | "go" | "rust" | "cpp" | "php";
3
3
  export type ModoAdocao = "incremental";
package/docs/commands.md CHANGED
@@ -49,7 +49,7 @@ Ready UI rule: if the task generates an app, site, dashboard, form, or static HT
49
49
 
50
50
  ## Canonical Syntax Lists
51
51
 
52
- - Origins for `use` and `impl`: `ts/typescript`, `js/javascript`, `py/python`, `dart`, `lua`, `cs/dotnet`, `java`, `go`, `rust`, `cpp`.
52
+ - Origins for `use` and `impl`: `ts/typescript`, `js/javascript`, `py/python`, `dart`, `lua`, `cs/dotnet`, `java`, `go`, `rust`, `cpp`, `php`.
53
53
  - Frequent `effects` categories: `persistencia`, `consulta`, `evento`, `auditoria`, `db.write`, `queue.publish`, `fs.write`, `network.egress`, `secret.read`, `shell.exec`.
54
54
  - Accepted `audit.motivo` values: `obrigatorio`, `opcional`, `dispensado`.
55
55
 
package/docs/syntax.md CHANGED
@@ -74,6 +74,7 @@ Use these origins before inventing a new one:
74
74
  - `go`
75
75
  - `rust`
76
76
  - `cpp`
77
+ - `php`
77
78
 
78
79
  Examples:
79
80
 
@@ -34,7 +34,7 @@ export interface BlocoCasoTesteAst extends NoAstBase {
34
34
  }
35
35
  export interface UseAst extends NoAstBase {
36
36
  tipo: "use";
37
- origem: "sema" | "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
37
+ origem: "sema" | "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
38
38
  caminho: string;
39
39
  }
40
40
  export interface EnumAst extends NoAstBase {
@@ -284,6 +284,10 @@ export function converterImplementacoes(bloco) {
284
284
  }
285
285
  if (origem === "cpp" || origem === "cxx" || origem === "cc" || origem === "c++") {
286
286
  implementacoes.push({ origem: "cpp", caminho: campo.valor, resolucaoImpl: campo.valor, statusImpl: "nao_verificado" });
287
+ continue;
288
+ }
289
+ if (origem === "php") {
290
+ implementacoes.push({ origem: "php", caminho: campo.valor, resolucaoImpl: campo.valor, statusImpl: "nao_verificado" });
287
291
  }
288
292
  }
289
293
  return implementacoes;
@@ -1 +1 @@
1
- {"version":3,"file":"conversor.part01.js","sourceRoot":"","sources":["../../src/ir/conversor.part01.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversor.part01.js","sourceRoot":"","sources":["../../src/ir/conversor.part01.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export declare function resumirAgente(params: {
23
23
  }): IrResumoAgente;
24
24
  export declare function recomporCaminho(campo?: CampoAst): string | undefined;
25
25
  export declare function ehUseInterop(use: ModuloAst["uses"][number]): use is ModuloAst["uses"][number] & {
26
- origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
26
+ origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
27
27
  };
28
28
  export declare function converterErroPublico(erro: IrErroOperacional, origemTask?: string): {
29
29
  nome: string;
@@ -22,7 +22,7 @@ export interface IrCampo {
22
22
  refinamentos: string[];
23
23
  }
24
24
  export interface IrImplementacaoTask {
25
- origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
25
+ origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
26
26
  caminho: string;
27
27
  origemArquivo?: string;
28
28
  origemSimbolo?: string;
@@ -137,12 +137,12 @@ export interface IrEnum {
137
137
  valores: string[];
138
138
  }
139
139
  export interface IrUse {
140
- origem: "sema" | "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
140
+ origem: "sema" | "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
141
141
  caminho: string;
142
142
  externo: boolean;
143
143
  }
144
144
  export interface IrInteropExterno {
145
- origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
145
+ origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
146
146
  caminho: string;
147
147
  }
148
148
  export interface IrErroOperacional {
@@ -34,6 +34,8 @@ export function normalizarOrigemUse(valor) {
34
34
  case "cc":
35
35
  case "c++":
36
36
  return "cpp";
37
+ case "php":
38
+ return "php";
37
39
  default:
38
40
  return undefined;
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.declaracoes.js","sourceRoot":"","sources":["../../src/parser/parser.declaracoes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.declaracoes.js","sourceRoot":"","sources":["../../src/parser/parser.declaracoes.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,11 @@ export interface ResumoTaskSemantico {
26
26
  implementacoes: ImplementacaoTaskSemantica[];
27
27
  }
28
28
  export interface InteropSemantico {
29
- origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
29
+ origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
30
30
  caminho: string;
31
31
  }
32
32
  export interface ImplementacaoTaskSemantica {
33
- origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp";
33
+ origem: "ts" | "js" | "py" | "dart" | "lua" | "cs" | "java" | "go" | "rust" | "cpp" | "php";
34
34
  caminho: string;
35
35
  }
36
36
  export interface ContextoSemantico {
@@ -124,6 +124,8 @@ export function normalizarOrigemImplementacao(valor) {
124
124
  case "cc":
125
125
  case "c++":
126
126
  return "cpp";
127
+ case "php":
128
+ return "php";
127
129
  default:
128
130
  return undefined;
129
131
  }
@@ -256,7 +258,7 @@ export function validarImplementacoesTask(task, diagnosticos) {
256
258
  for (const campo of task.impl.campos) {
257
259
  const origem = normalizarOrigemImplementacao(campo.nome);
258
260
  if (!origem) {
259
- diagnosticos.push(criarDiagnostico("SEM059", `Task "${task.nome}" declarou implementacao externa invalida em impl: "${campo.nome}".`, "erro", campo.intervalo, "Use apenas ts, js, py, dart, lua, cs, java, go, rust ou cpp dentro do bloco impl."));
261
+ diagnosticos.push(criarDiagnostico("SEM059", `Task "${task.nome}" declarou implementacao externa invalida em impl: "${campo.nome}".`, "erro", campo.intervalo, "Use apenas ts, js, py, dart, lua, cs, java, go, rust, cpp ou php dentro do bloco impl."));
260
262
  continue;
261
263
  }
262
264
  if (origens.has(origem)) {
@@ -1 +1 @@
1
- {"version":3,"file":"analisador.part01.js","sourceRoot":"","sources":["../../src/semantico/analisador.part01.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analisador.part01.js","sourceRoot":"","sources":["../../src/semantico/analisador.part01.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semacode/cli",
3
- "version": "1.5.53",
3
+ "version": "1.5.54",
4
4
  "description": "Local semantic governance CLI for AI agents: contracts, drift, impact, documentation gates, and code generation.",
5
5
  "type": "module",
6
6
  "icon": "logo.png",
@@ -39,15 +39,15 @@
39
39
  "LICENSE"
40
40
  ],
41
41
  "dependencies": {
42
- "@sema/nucleo": "1.5.53",
43
- "@sema/gerador-dart": "1.5.53",
44
- "@sema/gerador-lua": "1.5.53",
45
- "@sema/gerador-python": "1.5.53",
46
- "@sema/gerador-typescript": "1.5.53",
47
- "@sema/gerador-javascript": "1.5.53",
48
- "@sema/gerador-html": "1.5.53",
49
- "@sema/gerador-css": "1.5.53",
50
- "@sema/padroes": "1.5.53",
42
+ "@sema/nucleo": "1.5.54",
43
+ "@sema/gerador-dart": "1.5.54",
44
+ "@sema/gerador-lua": "1.5.54",
45
+ "@sema/gerador-python": "1.5.54",
46
+ "@sema/gerador-typescript": "1.5.54",
47
+ "@sema/gerador-javascript": "1.5.54",
48
+ "@sema/gerador-html": "1.5.54",
49
+ "@sema/gerador-css": "1.5.54",
50
+ "@sema/padroes": "1.5.54",
51
51
  "typescript": "^5.8.3"
52
52
  },
53
53
  "bundledDependencies": [