@semacode/cli 1.5.31 → 1.5.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +294 -0
- package/AGENT_CONTEXT_PACK.json +164 -0
- package/LICENSE +22 -0
- package/README.md +85 -144
- package/SEMA_BRIEF.curto.txt +11 -0
- package/SEMA_BRIEF.md +616 -0
- package/SEMA_BRIEF.micro.txt +9 -0
- package/SEMA_INDEX.json +9393 -0
- package/dist/billing/index.d.ts +46 -0
- package/dist/billing/index.js +143 -0
- package/dist/billing/index.js.map +1 -0
- package/dist/controleComercialSupabase.d.ts +7 -0
- package/dist/controleComercialSupabase.js +6 -0
- package/dist/controleComercialSupabase.js.map +1 -0
- package/dist/controleComercialSupabaseAdmin.d.ts +7 -0
- package/dist/controleComercialSupabaseAdmin.js +138 -0
- package/dist/controleComercialSupabaseAdmin.js.map +1 -0
- package/dist/controleComercialSupabaseCadastro.d.ts +4 -0
- package/dist/controleComercialSupabaseCadastro.js +85 -0
- package/dist/controleComercialSupabaseCadastro.js.map +1 -0
- package/dist/controleComercialSupabaseConstantes.d.ts +28 -0
- package/dist/controleComercialSupabaseConstantes.js +44 -0
- package/dist/controleComercialSupabaseConstantes.js.map +1 -0
- package/dist/controleComercialSupabaseConsumo.d.ts +2 -0
- package/dist/controleComercialSupabaseConsumo.js +77 -0
- package/dist/controleComercialSupabaseConsumo.js.map +1 -0
- package/dist/controleComercialSupabaseConta.d.ts +11 -0
- package/dist/controleComercialSupabaseConta.js +157 -0
- package/dist/controleComercialSupabaseConta.js.map +1 -0
- package/dist/controleComercialSupabaseProfiles.d.ts +4 -0
- package/dist/controleComercialSupabaseProfiles.js +55 -0
- package/dist/controleComercialSupabaseProfiles.js.map +1 -0
- package/dist/controleComercialSupabaseTipos.d.ts +3 -0
- package/dist/controleComercialSupabaseTipos.js +2 -0
- package/dist/controleComercialSupabaseTipos.js.map +1 -0
- package/dist/controleComercialSupabaseTiposAdmin.d.ts +152 -0
- package/dist/controleComercialSupabaseTiposAdmin.js +2 -0
- package/dist/controleComercialSupabaseTiposAdmin.js.map +1 -0
- package/dist/controleComercialSupabaseTiposBase.d.ts +169 -0
- package/dist/controleComercialSupabaseTiposBase.js +2 -0
- package/dist/controleComercialSupabaseTiposBase.js.map +1 -0
- package/dist/controleComercialSupabaseTiposConta.d.ts +220 -0
- package/dist/controleComercialSupabaseTiposConta.js +2 -0
- package/dist/controleComercialSupabaseTiposConta.js.map +1 -0
- package/dist/index.js +222 -46
- package/dist/index.js.map +1 -1
- package/dist/runnerValidacaoRemota.d.ts +9 -0
- package/dist/runnerValidacaoRemota.js +9 -0
- package/dist/runnerValidacaoRemota.js.map +1 -0
- package/dist/runnerValidacaoRemotaBateria.d.ts +10 -0
- package/dist/runnerValidacaoRemotaBateria.js +115 -0
- package/dist/runnerValidacaoRemotaBateria.js.map +1 -0
- package/dist/runnerValidacaoRemotaCli.d.ts +4 -0
- package/dist/runnerValidacaoRemotaCli.js +86 -0
- package/dist/runnerValidacaoRemotaCli.js.map +1 -0
- package/dist/runnerValidacaoRemotaComandos.d.ts +7 -0
- package/dist/runnerValidacaoRemotaComandos.js +123 -0
- package/dist/runnerValidacaoRemotaComandos.js.map +1 -0
- package/dist/runnerValidacaoRemotaEscopo.d.ts +4 -0
- package/dist/runnerValidacaoRemotaEscopo.js +79 -0
- package/dist/runnerValidacaoRemotaEscopo.js.map +1 -0
- package/dist/runnerValidacaoRemotaExecucao.d.ts +2 -0
- package/dist/runnerValidacaoRemotaExecucao.js +102 -0
- package/dist/runnerValidacaoRemotaExecucao.js.map +1 -0
- package/dist/runnerValidacaoRemotaRelatorio.d.ts +3 -0
- package/dist/runnerValidacaoRemotaRelatorio.js +93 -0
- package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -0
- package/dist/runnerValidacaoRemotaServidor.d.ts +3 -0
- package/dist/runnerValidacaoRemotaServidor.js +157 -0
- package/dist/runnerValidacaoRemotaServidor.js.map +1 -0
- package/dist/runnerValidacaoRemotaSnapshot.d.ts +10 -0
- package/dist/runnerValidacaoRemotaSnapshot.js +217 -0
- package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -0
- package/dist/runnerValidacaoRemotaTipos.d.ts +158 -0
- package/dist/runnerValidacaoRemotaTipos.js +35 -0
- package/dist/runnerValidacaoRemotaTipos.js.map +1 -0
- package/dist/runnerValidacaoRemotaUtil.d.ts +3 -0
- package/dist/runnerValidacaoRemotaUtil.js +18 -0
- package/dist/runnerValidacaoRemotaUtil.js.map +1 -0
- package/dist/runnerValidacaoRemotaWorkspace.d.ts +2 -0
- package/dist/runnerValidacaoRemotaWorkspace.js +110 -0
- package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -0
- package/docs/AGENT_STARTER.md +109 -0
- package/docs/api.md +82 -0
- package/docs/cli.md +93 -0
- package/docs/como-ensinar-a-sema-para-ia.md +30 -0
- package/docs/deploy.md +45 -0
- package/docs/documentacao.md +88 -0
- package/docs/env.md +115 -0
- package/docs/extensao-vscode.md +42 -0
- package/docs/fluxo-pratico-ia-sema.md +187 -0
- package/docs/instalacao-e-primeiro-uso.md +48 -0
- package/docs/integracao-com-ia.md +24 -0
- package/docs/mcp.md +48 -0
- package/docs/pagamento-ponta-a-ponta.md +171 -0
- package/docs/persistencia-vendor-first.md +151 -0
- package/docs/prompt-base-ia-sema.md +111 -0
- package/docs/repositories.md +69 -0
- package/docs/rollback.md +24 -0
- package/docs/seguranca.md +126 -0
- package/docs/sintaxe.md +218 -0
- package/exemplos/profile_conversas.sema +165 -0
- package/llms-full.txt +35 -0
- package/llms.txt +18 -0
- package/node_modules/@sema/gerador-css/package.json +7 -14
- package/node_modules/@sema/gerador-dart/package.json +7 -14
- package/node_modules/@sema/gerador-html/package.json +7 -14
- package/node_modules/@sema/gerador-javascript/package.json +7 -14
- package/node_modules/@sema/gerador-lua/package.json +7 -14
- package/node_modules/@sema/gerador-python/package.json +7 -14
- package/node_modules/@sema/gerador-typescript/package.json +7 -14
- package/node_modules/@sema/nucleo/package.json +7 -10
- package/node_modules/@sema/padroes/package.json +7 -10
- package/package.json +75 -74
- package/exemplos/.prepack-generated +0 -1
- package/node_modules/@sema/gerador-css/src/index.ts +0 -605
- package/node_modules/@sema/gerador-css/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/gerador-dart/src/index.ts +0 -52
- package/node_modules/@sema/gerador-dart/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/gerador-html/src/index.ts +0 -185
- package/node_modules/@sema/gerador-html/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/gerador-javascript/src/index.ts +0 -461
- package/node_modules/@sema/gerador-javascript/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/gerador-lua/src/index.ts +0 -359
- package/node_modules/@sema/gerador-lua/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/gerador-python/src/index.ts +0 -850
- package/node_modules/@sema/gerador-python/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/gerador-typescript/src/index.ts +0 -876
- package/node_modules/@sema/gerador-typescript/tsconfig.json +0 -13
- package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/nucleo/src/ast/tipos.ts +0 -207
- package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +0 -43
- package/node_modules/@sema/nucleo/src/diagnosticos/melhorador.ts +0 -130
- package/node_modules/@sema/nucleo/src/formatador/index.ts +0 -530
- package/node_modules/@sema/nucleo/src/index.ts +0 -184
- package/node_modules/@sema/nucleo/src/ir/conversor.ts +0 -1037
- package/node_modules/@sema/nucleo/src/ir/modelos.ts +0 -403
- package/node_modules/@sema/nucleo/src/lexer/lexer.ts +0 -166
- package/node_modules/@sema/nucleo/src/lexer/tokens.ts +0 -79
- package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +0 -41
- package/node_modules/@sema/nucleo/src/parser/parser.ts +0 -936
- package/node_modules/@sema/nucleo/src/persistencia/contratos.ts +0 -379
- package/node_modules/@sema/nucleo/src/semantico/analisador.ts +0 -3126
- package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +0 -665
- package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +0 -362
- package/node_modules/@sema/nucleo/src/util/arquivos.ts +0 -28
- package/node_modules/@sema/nucleo/tsconfig.json +0 -9
- package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +0 -1
- package/node_modules/@sema/padroes/src/index.ts +0 -382
- package/node_modules/@sema/padroes/tsconfig.json +0 -9
- package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +0 -1
package/docs/deploy.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Deploy Privado
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final.
|
|
7
|
+
|
|
8
|
+
## English
|
|
9
|
+
|
|
10
|
+
Sema no longer has a public product release runbook. Deploy is private and covers the MCP service, governed CLI runtime, account panel, Supabase control plane, and authorized project mirrors.
|
|
11
|
+
|
|
12
|
+
Before deploy, run the private boundary check and build:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm run repo:verificar-privado
|
|
16
|
+
npm run build
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
For the VPS, deploy only the files required by the change, restart `sema-mcp.service` only when runtime code changed, and verify `/healthz` after restart.
|
|
20
|
+
|
|
21
|
+
## Português
|
|
22
|
+
|
|
23
|
+
A Sema não tem mais runbook de release pública de produto. O deploy é privado e cobre serviço MCP, runtime governado da CLI, painel de conta, control plane Supabase e espelhos de projeto autorizados.
|
|
24
|
+
|
|
25
|
+
Antes do deploy, rode a checagem de fronteira privada e o build:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run repo:verificar-privado
|
|
29
|
+
npm run build
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Na VPS, envie apenas os arquivos exigidos pela mudança, reinicie `sema-mcp.service` somente quando código de runtime mudar e valide `/healthz` depois do restart.
|
|
33
|
+
|
|
34
|
+
## Español
|
|
35
|
+
|
|
36
|
+
Sema ya no tiene runbook de release pública de producto. El deploy es privado y cubre el servicio MCP, runtime gobernado de la CLI, panel de cuenta, control plane Supabase y espejos de proyecto autorizados.
|
|
37
|
+
|
|
38
|
+
Antes del deploy, ejecuta la verificación de frontera privada y el build:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm run repo:verificar-privado
|
|
42
|
+
npm run build
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
En la VPS, envía solo los archivos exigidos por el cambio, reinicia `sema-mcp.service` solo cuando cambie código de runtime y valida `/healthz` después del restart.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Documentation Governance
|
|
2
|
+
|
|
3
|
+
## English
|
|
4
|
+
|
|
5
|
+
Sema treats documentation as part of the change, not as a polite afterthought. Before an AI edits a contract, code, configuration, workflow, deploy, Author text, game rule, legal note, research note, or operational runbook, it must resolve the documentation that explains the intended change.
|
|
6
|
+
|
|
7
|
+
Public documentation follows the exact order defined in [i18n.md](./i18n.md): English, Português, Español. Portuguese and Spanish must keep proper accents. Code blocks, identifiers, paths, command names, and `.sema` symbols are preserved unless a semantic rename contract says otherwise.
|
|
8
|
+
|
|
9
|
+
### Operational Gate
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
If the command reports missing docs, create or complete those docs before changing code, contracts, deploy, or configuration.
|
|
16
|
+
|
|
17
|
+
### Required Reading
|
|
18
|
+
|
|
19
|
+
The `docs-impacto` result returns:
|
|
20
|
+
|
|
21
|
+
- `leituraObrigatoria`: docs, readmes, and contracts that must be read.
|
|
22
|
+
- `docsAusentes`: docs that block the action.
|
|
23
|
+
- `docsCriadas`: docs created automatically when authorized.
|
|
24
|
+
- `bloqueios`: severity 4 diagnostics.
|
|
25
|
+
|
|
26
|
+
Before declaring the work done, the agent must run:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Português
|
|
33
|
+
|
|
34
|
+
A Sema trata documentação como parte da mudança, não como pós-escrito simpático para alguém lembrar depois. Antes de uma IA editar contrato, código, configuração, workflow, deploy, texto Author, regra de jogo, nota jurídica, pesquisa ou runbook operacional, ela precisa resolver a documentação que explica a intenção da mudança.
|
|
35
|
+
|
|
36
|
+
A documentação pública segue a ordem exata definida em [i18n.md](./i18n.md): English, Português, Español. Português e espanhol precisam preservar acentos. Blocos de código, identificadores, caminhos, nomes de comando e símbolos `.sema` são preservados, exceto quando houver contrato de renomeação semântica.
|
|
37
|
+
|
|
38
|
+
### Gate Operacional
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Se o comando apontar docs ausentes, crie ou complete essas docs antes de mudar código, contratos, deploy ou configuração.
|
|
45
|
+
|
|
46
|
+
### Leitura Obrigatória
|
|
47
|
+
|
|
48
|
+
O resultado de `docs-impacto` retorna:
|
|
49
|
+
|
|
50
|
+
- `leituraObrigatoria`: docs, readmes e contratos que precisam ser lidos.
|
|
51
|
+
- `docsAusentes`: docs que bloqueiam a ação.
|
|
52
|
+
- `docsCriadas`: docs criadas automaticamente quando autorizado.
|
|
53
|
+
- `bloqueios`: diagnósticos de severidade 4.
|
|
54
|
+
|
|
55
|
+
Antes de dizer que o trabalho terminou, o agente precisa rodar:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Español
|
|
62
|
+
|
|
63
|
+
Sema trata la documentación como parte del cambio, no como una nota amable para recordar después. Antes de que una IA edite contrato, código, configuración, workflow, deploy, texto Author, regla de juego, nota legal, investigación o runbook operativo, debe resolver la documentación que explica la intención del cambio.
|
|
64
|
+
|
|
65
|
+
La documentación pública sigue el orden exacto definido en [i18n.md](./i18n.md): English, Português, Español. Portugués y español deben conservar sus acentos. Bloques de código, identificadores, rutas, nombres de comando y símbolos `.sema` se preservan, excepto cuando exista un contrato de renombrado semántico.
|
|
66
|
+
|
|
67
|
+
### Gate Operativo
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Si el comando informa docs ausentes, crea o completa esas docs antes de cambiar código, contratos, deploy o configuración.
|
|
74
|
+
|
|
75
|
+
### Lectura Obligatoria
|
|
76
|
+
|
|
77
|
+
El resultado de `docs-impacto` devuelve:
|
|
78
|
+
|
|
79
|
+
- `leituraObrigatoria`: docs, readmes y contratos que deben leerse.
|
|
80
|
+
- `docsAusentes`: docs que bloquean la acción.
|
|
81
|
+
- `docsCriadas`: docs creadas automáticamente cuando se autoriza.
|
|
82
|
+
- `bloqueios`: diagnósticos de severidad 4.
|
|
83
|
+
|
|
84
|
+
Antes de decir que el trabajo terminó, el agente debe ejecutar:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
|
|
88
|
+
```
|
package/docs/env.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Env
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Ambiente necessário para publicar a Sema.
|
|
10
|
+
|
|
11
|
+
## Ferramentas
|
|
12
|
+
|
|
13
|
+
- Node.js LTS com `npm`.
|
|
14
|
+
- Git com acesso push ao remoto `origin`.
|
|
15
|
+
- GitHub CLI (`gh`) autenticado.
|
|
16
|
+
- VS Code CLI (`code`) para instalar a VSIX localmente.
|
|
17
|
+
- PowerShell no Windows.
|
|
18
|
+
|
|
19
|
+
## Variaveis suportadas pelos instaladores publicos
|
|
20
|
+
|
|
21
|
+
- `SEMA_REPO`: repositório GitHub usado para baixar assets. Padrão: `gerlanss/Sema`.
|
|
22
|
+
- `SEMA_NPM_PACKAGE`: pacote da CLI. Padrão: `@semacode/cli`.
|
|
23
|
+
- `SEMA_VERSION`: versão usada pelo `install-sema.sh`. Padrão: `latest`.
|
|
24
|
+
|
|
25
|
+
No PowerShell, o instalador recebe a versão por parametro:
|
|
26
|
+
|
|
27
|
+
```powershell
|
|
28
|
+
.\install-sema.ps1 -Version 1.5.29 -WithVSCode
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
No shell:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
SEMA_VERSION=1.5.29 ./install-sema.sh --with-vscode
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Credenciais
|
|
38
|
+
|
|
39
|
+
- NPM deve estar logado antes de publicar: `npm whoami`.
|
|
40
|
+
- GitHub CLI deve estar logado antes de criar release: `gh auth status`.
|
|
41
|
+
- Nunca registre tokens em docs, logs ou release notes.
|
|
42
|
+
|
|
43
|
+
## Registro NPM
|
|
44
|
+
|
|
45
|
+
O pacote público é:
|
|
46
|
+
|
|
47
|
+
- `@semacode/cli`
|
|
48
|
+
|
|
49
|
+
Antes de publicar, confira:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm view @semacode/cli version
|
|
53
|
+
npm run release:verificar-versao
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Cliente MCP remoto
|
|
57
|
+
|
|
58
|
+
Variaveis usadas por Codex, VS Code/forks e clientes que aceitam bearer:
|
|
59
|
+
|
|
60
|
+
- `SEMA_MCP_AUTH_TOKEN`: chave comercial `sema_mcp_*` gerada no painel. E do cliente, nao do servidor.
|
|
61
|
+
- `SEMA_MCP_ENDPOINT`: URL HTTPS `/mcp` usada por clientes que leem endpoint por variavel.
|
|
62
|
+
|
|
63
|
+
No Windows, instale sem expor a chave em argumento:
|
|
64
|
+
|
|
65
|
+
```powershell
|
|
66
|
+
Get-Clipboard | sema mcp-instalar-chave --stdin --json
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Servidor MCP remoto privado
|
|
70
|
+
|
|
71
|
+
Variaveis usadas pelo servidor MCP privado quando roda em modo HTTP:
|
|
72
|
+
|
|
73
|
+
- `MCP_PORT`: porta HTTP. Quando ausente, o MCP roda em `stdio`.
|
|
74
|
+
- `MCP_HOST`: host de bind. Padrão: `0.0.0.0`.
|
|
75
|
+
- `SEMA_MCP_PUBLIC_BASE_URL`: URL pública HTTPS usada nos metadados OAuth do ChatGPT.
|
|
76
|
+
- `SEMA_MCP_OAUTH_SECRET`: segredo usado para assinar access/refresh tokens OAuth.
|
|
77
|
+
- `SEMA_MCP_OAUTH_PASSCODE`: passcode privado digitado no login OAuth do ChatGPT.
|
|
78
|
+
- `SEMA_MCP_PROJECT_ROOTS`: raizes permitidas para projetos, separadas por `;`.
|
|
79
|
+
- `SEMA_MCP_CORS_ORIGIN`: origem CORS permitida, `*` ou lista separada por `;`.
|
|
80
|
+
- `SEMA_MCP_MAX_CONTRACT_FILE_BYTES`: limite por contrato `.sema` enviado por snapshot ou conteudo inline. Padrao: `262144`.
|
|
81
|
+
- `SEMA_MCP_MAX_CODE_FILE_BYTES`: limite por arquivo de codigo selecionado enviado por snapshot. Padrao: `262144`.
|
|
82
|
+
- `SEMA_MCP_MAX_DOC_FILE_BYTES`: limite por arquivo de documentacao enviado por snapshot. Padrao: `262144`.
|
|
83
|
+
- `SEMA_MCP_MAX_CODE_FILES`: limite de arquivos de codigo selecionado por snapshot. Padrao: `80`.
|
|
84
|
+
- `SEMA_MCP_MAX_DOC_FILES`: limite de arquivos de documentacao por snapshot. Padrao: `80`.
|
|
85
|
+
|
|
86
|
+
Exemplo operacional privado:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
MCP_PORT=3333 \
|
|
90
|
+
SEMA_MCP_PUBLIC_BASE_URL="https://sema.exemplo.com" \
|
|
91
|
+
SEMA_MCP_OAUTH_SECRET="segredo-longo-para-oauth" \
|
|
92
|
+
SEMA_MCP_OAUTH_PASSCODE="passcode-privado-chatgpt" \
|
|
93
|
+
SEMA_MCP_PROJECT_ROOTS="/srv/sema/projetos" \
|
|
94
|
+
SEMA_MCP_MAX_CONTRACT_FILE_BYTES=262144 \
|
|
95
|
+
SEMA_MCP_MAX_CODE_FILE_BYTES=262144 \
|
|
96
|
+
SEMA_MCP_MAX_DOC_FILE_BYTES=262144
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Nunca publique `/mcp` ou `/sse` na internet sem chave comercial bearer por request ou OAuth configurado, raiz restrita e HTTPS no proxy. Nunca registre chaves `sema_mcp_*`, OAuth secret ou passcode em docs publicas, logs, release notes ou screenshots.
|
|
100
|
+
|
|
101
|
+
O limite de bytes e validado antes de gravar espelhos remotos ou executar contratos inline. Clientes MCP devem respeitar o limite anunciado no schema da ferramenta e dividir snapshots grandes em arquivos focados, sem enviar repositorio inteiro.
|
|
102
|
+
|
|
103
|
+
## GitHub Release
|
|
104
|
+
|
|
105
|
+
O tag público deve seguir `v<versao>`, por exemplo `v1.5.29`.
|
|
106
|
+
|
|
107
|
+
Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositório.
|
|
108
|
+
|
|
109
|
+
Depois de publicar, rode:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
npm run release:verificar-publica
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Esse check cruza README/docs, manifestos, npm, GitHub Latest, assets publicados, CLI local e VSIX instalada quando o VS Code CLI está disponivel.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Extensão VS Code
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final.
|
|
7
|
+
|
|
8
|
+
## English
|
|
9
|
+
|
|
10
|
+
The VS Code extension is part of the private Sema workflow. It should help local IDE agents read `AGENTS.md`, run the governed CLI runtime installed from `@semacode/cli`, install MCP keys safely, and synchronize AI entry points without exposing secrets.
|
|
11
|
+
|
|
12
|
+
Smoke test:
|
|
13
|
+
|
|
14
|
+
1. Open a project with `.sema` contracts.
|
|
15
|
+
2. Confirm the language server starts.
|
|
16
|
+
3. Run the Sema CLI diagnostic command.
|
|
17
|
+
4. Install an MCP key from the panel without passing the secret as a process argument.
|
|
18
|
+
5. Synchronize AI entry points.
|
|
19
|
+
|
|
20
|
+
## Português
|
|
21
|
+
|
|
22
|
+
A extensão VS Code faz parte do fluxo privado da Sema. Ela deve ajudar agentes em IDE local a ler `AGENTS.md`, rodar o runtime governado da CLI instalada por `@semacode/cli`, instalar chaves MCP com segurança e sincronizar entrypoints IA sem expor segredos.
|
|
23
|
+
|
|
24
|
+
Smoke test:
|
|
25
|
+
|
|
26
|
+
1. Abra um projeto com contratos `.sema`.
|
|
27
|
+
2. Confirme que o language server inicia.
|
|
28
|
+
3. Rode o diagnóstico da CLI Sema.
|
|
29
|
+
4. Instale uma chave MCP do painel sem passar o segredo como argumento de processo.
|
|
30
|
+
5. Sincronize entrypoints IA.
|
|
31
|
+
|
|
32
|
+
## Español
|
|
33
|
+
|
|
34
|
+
La extensión VS Code forma parte del flujo privado de Sema. Debe ayudar a agentes en IDE local a leer `AGENTS.md`, ejecutar el runtime gobernado de la CLI instalada desde `@semacode/cli`, instalar claves MCP con seguridad y sincronizar entrypoints IA sin exponer secretos.
|
|
35
|
+
|
|
36
|
+
Smoke test:
|
|
37
|
+
|
|
38
|
+
1. Abre un proyecto con contratos `.sema`.
|
|
39
|
+
2. Confirma que el language server inicia.
|
|
40
|
+
3. Ejecuta el diagnóstico de la CLI Sema.
|
|
41
|
+
4. Instala una clave MCP del panel sin pasar el secreto como argumento de proceso.
|
|
42
|
+
5. Sincroniza entrypoints IA.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Fluxo Pratico para IA Antes de Editar `.sema`
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
|
|
10
|
+
|
|
11
|
+
Se a IA seguir isso, ela trabalha com contexto. Se não seguir, vira adivinhação gourmet.
|
|
12
|
+
|
|
13
|
+
O ponto central: Sema não é texto para agradar humano. É contrato semântico IA-first. Humanos autorizam e revisam; a IA consome o contrato para decidir o próximo movimento.
|
|
14
|
+
|
|
15
|
+
## Fluxo curto
|
|
16
|
+
|
|
17
|
+
1. ler contexto do projeto
|
|
18
|
+
2. identificar a capacidade da IA
|
|
19
|
+
3. identificar o módulo alvo
|
|
20
|
+
4. consultar o menor artefato semântico suficiente
|
|
21
|
+
5. editar
|
|
22
|
+
6. formatar
|
|
23
|
+
7. validar
|
|
24
|
+
8. verificar
|
|
25
|
+
|
|
26
|
+
## Fluxo detalhado
|
|
27
|
+
|
|
28
|
+
### Etapa 1. Ler contexto mínimo
|
|
29
|
+
|
|
30
|
+
Antes de tocar em qualquer arquivo, a IA deve ler:
|
|
31
|
+
|
|
32
|
+
- [README.md](../README.md)
|
|
33
|
+
- [integração-com-ia.md](./integracao-com-ia.md)
|
|
34
|
+
- [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
|
|
35
|
+
|
|
36
|
+
Se o trabalho estiver ligado a pagamento, ler também:
|
|
37
|
+
|
|
38
|
+
- [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
|
|
39
|
+
|
|
40
|
+
### Etapa 2. Escolher a faixa de capacidade
|
|
41
|
+
|
|
42
|
+
Antes de despejar contexto na IA, escolha o que ela aguenta:
|
|
43
|
+
|
|
44
|
+
- IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
|
|
45
|
+
- IA média: `sema resumo --curto`, `briefing.min.json` e `drift.json`
|
|
46
|
+
- IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
|
|
47
|
+
|
|
48
|
+
### Etapa 3. Ler o módulo alvo e um exemplo parecido
|
|
49
|
+
|
|
50
|
+
A IA deve identificar:
|
|
51
|
+
|
|
52
|
+
- qual arquivo sera editado
|
|
53
|
+
- qual módulo esse arquivo representa
|
|
54
|
+
- qual exemplo oficial mais se parece com o que precisa ser feito
|
|
55
|
+
|
|
56
|
+
Regra pratica:
|
|
57
|
+
|
|
58
|
+
- automacao: [automacao.sema](../exemplos/automacao.sema)
|
|
59
|
+
- erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
|
|
60
|
+
- borda pública e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
|
|
61
|
+
|
|
62
|
+
### Etapa 4. Consultar AST e IR quando fizer sentido
|
|
63
|
+
|
|
64
|
+
Antes de alterar, a IA deve executar:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
sema resumo caminho/arquivo.sema --curto --para mudanca
|
|
68
|
+
sema ast caminho/arquivo.sema --json
|
|
69
|
+
sema ir caminho/arquivo.sema --json
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Objetivo:
|
|
73
|
+
|
|
74
|
+
- ver a forma sintatica quando a capacidade aguentar
|
|
75
|
+
- ver a forma semântica resolvida quando a capacidade aguentar
|
|
76
|
+
- evitar interpretar errado o contrato
|
|
77
|
+
|
|
78
|
+
### Etapa 5. Editar o `.sema`
|
|
79
|
+
|
|
80
|
+
Ao editar, a IA deve:
|
|
81
|
+
|
|
82
|
+
- preservar a intenção do módulo
|
|
83
|
+
- seguir a gramática existente
|
|
84
|
+
- evitar criar bloco ou operador não suportado
|
|
85
|
+
- preferir a forma já usada nos exemplos oficiais
|
|
86
|
+
- usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
|
|
87
|
+
- evitar teste fraco em task sensível; `expect { sucesso: verdadeiro }` sozinho não prova semântica operacional
|
|
88
|
+
|
|
89
|
+
### Etapa 6. Formatar
|
|
90
|
+
|
|
91
|
+
Depois da edição:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
sema formatar caminho/arquivo.sema
|
|
95
|
+
sema formatar caminho/arquivo.sema --check
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Se `--check` falhar, o trabalho ainda não está pronto.
|
|
99
|
+
|
|
100
|
+
### Etapa 7. Validar e diagnosticar
|
|
101
|
+
|
|
102
|
+
Depois da formatacao:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
sema validar caminho/arquivo.sema --json
|
|
106
|
+
sema diagnosticos caminho/arquivo.sema --json
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Se houver falha:
|
|
110
|
+
|
|
111
|
+
- usar os diagnósticos estruturados como contrato de correcao
|
|
112
|
+
- não insistir em leitura manual teimosa quando a CLI já disse onde está a merda
|
|
113
|
+
|
|
114
|
+
### Etapa 7.5. Compilar quando a tarefa pedir código derivado
|
|
115
|
+
|
|
116
|
+
Se a tarefa não for só editar contrato, mas também gerar base de implementacao, a IA deve rodar explicitamente:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Ou trocar o alvo para `python` ou `dart`, conforme o caso.
|
|
123
|
+
|
|
124
|
+
Regra pratica:
|
|
125
|
+
|
|
126
|
+
- se a entrega inclui código derivado, `sema compilar` não é opcional
|
|
127
|
+
- se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema já gera sozinha, que é burrice operacional
|
|
128
|
+
|
|
129
|
+
### Etapa 8. Verificar
|
|
130
|
+
|
|
131
|
+
No fechamento:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Fluxo mínimo para automacao
|
|
138
|
+
|
|
139
|
+
Se voce quiser o menor fluxo aceitavel para uma IA pequena:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
sema resumo caminho/arquivo.sema --micro --para mudanca
|
|
143
|
+
sema formatar caminho/arquivo.sema
|
|
144
|
+
sema validar caminho/arquivo.sema --json
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
|
|
148
|
+
|
|
149
|
+
Se a tarefa envolver código derivado, o fluxo mínimo aceitavel vira:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
sema ir caminho/arquivo.sema --json
|
|
153
|
+
sema formatar caminho/arquivo.sema
|
|
154
|
+
sema validar caminho/arquivo.sema --json
|
|
155
|
+
sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Checklist de saída
|
|
159
|
+
|
|
160
|
+
Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
|
|
161
|
+
|
|
162
|
+
- eu entendi o módulo e o contrato?
|
|
163
|
+
- eu mantive a sintaxe dentro do que a linguagem suporta?
|
|
164
|
+
- eu formatei o arquivo?
|
|
165
|
+
- eu validei?
|
|
166
|
+
- eu olhei diagnósticos se algo falhou?
|
|
167
|
+
- eu fechei com verificação?
|
|
168
|
+
|
|
169
|
+
Se alguma resposta for "não", ainda não terminou.
|
|
170
|
+
|
|
171
|
+
## Regra de ouro
|
|
172
|
+
|
|
173
|
+
Em Sema, a IA não deveria operar no escuro.
|
|
174
|
+
|
|
175
|
+
Ela deve trabalhar sempre com:
|
|
176
|
+
|
|
177
|
+
- exemplo oficial
|
|
178
|
+
- AST
|
|
179
|
+
- IR
|
|
180
|
+
- diagnósticos
|
|
181
|
+
- formatador
|
|
182
|
+
|
|
183
|
+
Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e não só no discurso bonito.
|
|
184
|
+
|
|
185
|
+
## Observacao sobre caminhos
|
|
186
|
+
|
|
187
|
+
Está documentação usa placeholders de arquivo e pasta, não caminhos do monorepo da Sema. A IA deve adaptar isso ao projeto atual e continuar tratando `sema` como interface pública principal.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Instalação e Primeiro Uso
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final.
|
|
7
|
+
|
|
8
|
+
## English
|
|
9
|
+
|
|
10
|
+
Sema is private. The MCP endpoint is the primary product surface and coordinates authentication, SEMAS consumption, profiles, pipelines, and project mirrors.
|
|
11
|
+
|
|
12
|
+
Local IDEs should receive `AGENTS.md` first. Web chats should use `sema_chat_contexto` and `sema_sync` instead of downloading files into the chat environment.
|
|
13
|
+
|
|
14
|
+
Install the governed CLI/client from npm when a local IDE or VPS mirror needs the `sema` command:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g @semacode/cli
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The MCP server remains the private product surface. Do not install the MCP from a public npm package; configure the authorized remote `/mcp` endpoint instead.
|
|
21
|
+
|
|
22
|
+
## Português
|
|
23
|
+
|
|
24
|
+
A Sema é privada. O endpoint MCP é a superfície principal do produto e coordena autenticação, consumo de SEMAS, profiles, pipelines e espelhos de projeto.
|
|
25
|
+
|
|
26
|
+
IDEs locais devem receber `AGENTS.md` primeiro. Chats web devem usar `sema_chat_contexto` e `sema_sync`, não baixar arquivos no ambiente do chat.
|
|
27
|
+
|
|
28
|
+
Instale a CLI/cliente governada pelo npm quando uma IDE local ou espelho na VPS precisar do comando `sema`:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install -g @semacode/cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
O servidor MCP continua sendo a superfície privada do produto. Não instale o MCP por pacote npm público; configure o endpoint remoto `/mcp` autorizado.
|
|
35
|
+
|
|
36
|
+
## Español
|
|
37
|
+
|
|
38
|
+
Sema es privada. El endpoint MCP es la superficie principal del producto y coordina autenticación, consumo de SEMAS, profiles, pipelines y espejos de proyecto.
|
|
39
|
+
|
|
40
|
+
Las IDEs locales deben recibir `AGENTS.md` primero. Los chats web deben usar `sema_chat_contexto` y `sema_sync`, no descargar archivos en el entorno del chat.
|
|
41
|
+
|
|
42
|
+
Instala la CLI/cliente gobernada desde npm cuando una IDE local o espejo en la VPS necesite el comando `sema`:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g @semacode/cli
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
El servidor MCP sigue siendo la superficie privada del producto. No instales el MCP desde un paquete npm público; configura el endpoint remoto `/mcp` autorizado.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Integração com IA
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final.
|
|
7
|
+
|
|
8
|
+
## English
|
|
9
|
+
|
|
10
|
+
Sema exists for AI agents operating live systems. The agent should ask Sema for summary, docs impact, drift, impact, profile validation, and finalization instead of guessing from raw code.
|
|
11
|
+
|
|
12
|
+
In local IDEs, confirm `AGENTS.md` exists before `sema_resumo`. In web chats, use `sema_chat_contexto` first, then `sema_sync` or inline content. The MCP coordinates the flow and charges SEMAS; the CLI executes local or VPS-side checks.
|
|
13
|
+
|
|
14
|
+
## Português
|
|
15
|
+
|
|
16
|
+
A Sema existe para agentes de IA operarem sistemas vivos. O agente deve pedir resumo, impacto documental, drift, impacto, validação de profile e finalização para a Sema em vez de adivinhar pelo código cru.
|
|
17
|
+
|
|
18
|
+
Em IDE local, confirme que `AGENTS.md` existe antes de `sema_resumo`. Em chats web, use primeiro `sema_chat_contexto`, depois `sema_sync` ou conteúdo inline. O MCP coordena o fluxo e cobra SEMAS; a CLI executa checks locais ou na VPS.
|
|
19
|
+
|
|
20
|
+
## Español
|
|
21
|
+
|
|
22
|
+
Sema existe para agentes de IA que operan sistemas vivos. El agente debe pedir resumen, impacto documental, drift, impacto, validación de profile y finalización a Sema en vez de adivinar desde código crudo.
|
|
23
|
+
|
|
24
|
+
En IDE local, confirma que `AGENTS.md` existe antes de `sema_resumo`. En chats web, usa primero `sema_chat_contexto`, después `sema_sync` o contenido inline. El MCP coordina el flujo y cobra SEMAS; la CLI ejecuta checks locales o en la VPS.
|
package/docs/mcp.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Private MCP
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first.
|
|
5
|
+
> PT: Português depois.
|
|
6
|
+
> ES: Español al final.
|
|
7
|
+
|
|
8
|
+
## English
|
|
9
|
+
|
|
10
|
+
The Sema MCP is the private coordinator for agents. It authenticates clients, selects the project or mirror, charges SEMAS, chooses profiles/pipelines, asks the CLI to read or execute, and returns a traceable decision.
|
|
11
|
+
|
|
12
|
+
It must stay compatible with web chats. For ChatGPT, Lovable, GPTs, and similar clients, the MCP runs on the VPS and uses the governed CLI installed there against authorized mirrors such as `/srv/sema/projetos/...`.
|
|
13
|
+
|
|
14
|
+
It must also stay compatible with local IDEs. In that mode, the client sends typed snapshots: contracts, selected code, documentation, and an index. When complete local-code drift is required, the installed CLI may run in the IDE workspace.
|
|
15
|
+
|
|
16
|
+
The MCP must never pretend that a local Windows path exists on the Linux server. If the server cannot see the workspace, the next action is to request or create a mirror/snapshot.
|
|
17
|
+
|
|
18
|
+
The app or connector must recognize the remote MCP from connection/authentication even when no project workspace has been synchronized. Missing workspace is not a missing active session; it only means project work must use `sema_sync`, an attachment, or inline content. The remote MCP must not ask for or try to read the user's local folder.
|
|
19
|
+
|
|
20
|
+
Typed snapshot payloads have per-file byte limits for contracts, selected code, and documentation. The MCP exposes those limits in tool schemas and validates them again before writing a mirror or running inline contract operations. Clients must split oversized context into focused files instead of sending an entire repository or hiding the limit from the agent.
|
|
21
|
+
|
|
22
|
+
## Português
|
|
23
|
+
|
|
24
|
+
O MCP da Sema é o coordenador privado dos agentes. Ele autentica clientes, escolhe o projeto ou espelho, cobra SEMAS, seleciona profiles/pipelines, pede para a CLI ler ou executar e devolve uma decisão rastreável.
|
|
25
|
+
|
|
26
|
+
Ele precisa continuar compatível com chats web. Para ChatGPT, Lovable, GPTs e clientes parecidos, o MCP roda na VPS e usa a CLI governada instalada lá contra espelhos autorizados como `/srv/sema/projetos/...`.
|
|
27
|
+
|
|
28
|
+
Ele também precisa continuar compatível com IDEs locais. Nesse modo, o cliente envia snapshots tipados: contratos, código selecionado, documentação e índice. Quando drift completo contra código local for necessário, a CLI instalada pode rodar no workspace da IDE.
|
|
29
|
+
|
|
30
|
+
O MCP nunca deve fingir que um caminho Windows local existe no servidor Linux. Se o servidor não enxerga o workspace, a próxima ação é pedir ou criar um espelho/snapshot.
|
|
31
|
+
|
|
32
|
+
O app ou conector deve reconhecer o MCP remoto pela conexao/autenticacao, mesmo sem workspace de projeto sincronizado. Falta de workspace nao e falta de sessao ativa: e apenas o sinal de que a proxima acao de projeto deve usar `sema_sync`, anexo ou conteudo inline. O MCP remoto nao deve pedir nem tentar ler a pasta local do usuario.
|
|
33
|
+
|
|
34
|
+
Snapshots tipados tem limite de bytes por arquivo para contratos, codigo selecionado e documentacao. O MCP anuncia esses limites no schema das ferramentas e valida de novo antes de gravar espelho ou executar contrato inline. Clientes devem quebrar contexto grande em arquivos focados, nao enviar repositorio inteiro nem esconder o limite do agente.
|
|
35
|
+
|
|
36
|
+
## Español
|
|
37
|
+
|
|
38
|
+
El MCP de Sema es el coordinador privado de los agentes. Autentica clientes, elige el proyecto o espejo, cobra SEMAS, selecciona profiles/pipelines, pide a la CLI que lea o ejecute y devuelve una decisión trazable.
|
|
39
|
+
|
|
40
|
+
Debe seguir compatible con chats web. Para ChatGPT, Lovable, GPTs y clientes similares, el MCP corre en la VPS y usa la CLI gobernada instalada allí contra espejos autorizados como `/srv/sema/projetos/...`.
|
|
41
|
+
|
|
42
|
+
También debe seguir compatible con IDEs locales. En ese modo, el cliente envía snapshots tipados: contratos, código seleccionado, documentación e índice. Cuando haga falta drift completo contra código local, la CLI instalada puede correr en el workspace de la IDE.
|
|
43
|
+
|
|
44
|
+
El MCP nunca debe fingir que una ruta local de Windows existe en el servidor Linux. Si el servidor no ve el workspace, la siguiente acción es pedir o crear un espejo/snapshot.
|
|
45
|
+
|
|
46
|
+
La app o el conector debe reconocer el MCP remoto por conexion/autenticacion, incluso sin workspace de proyecto sincronizado. Falta de workspace no es falta de sesion activa: solo indica que el trabajo de proyecto debe usar `sema_sync`, un adjunto o contenido inline. El MCP remoto no debe pedir ni intentar leer la carpeta local del usuario.
|
|
47
|
+
|
|
48
|
+
Los snapshots tipados tienen limites de bytes por archivo para contratos, codigo seleccionado y documentacion. El MCP anuncia esos limites en los schemas de herramientas y vuelve a validarlos antes de escribir un espejo o ejecutar contratos inline. Los clientes deben dividir contexto grande en archivos enfocados, no enviar todo el repositorio ni ocultar el limite al agente.
|