@semacode/cli 2.3.0 → 3.0.0
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/LICENSE +39 -39
- package/README.md +112 -41
- package/dist/agentContextPack.js +14 -10
- package/dist/agentEntryPoints.d.ts +5 -0
- package/dist/agentEntryPoints.js +102 -91
- package/dist/angular-consumer-standalone.d.ts +3 -1
- package/dist/angular-consumer-standalone.js +12 -8
- package/dist/bin.d.ts +6 -0
- package/dist/bin.js +130 -0
- package/dist/cliArgs.js +4 -4
- package/dist/cliControlError.d.ts +12 -0
- package/dist/cliControlError.js +47 -0
- package/dist/cliGrammar.d.ts +11 -0
- package/dist/cliGrammar.js +551 -0
- package/dist/cliHelp.d.ts +13 -0
- package/dist/cliHelp.js +19 -0
- package/dist/cliHelpTexto.d.ts +3 -0
- package/dist/cliHelpTexto.js +168 -0
- package/dist/cliRuntime.d.ts +2 -0
- package/dist/cliRuntime.js +31 -0
- package/dist/comandos.js +9 -22
- package/dist/contexto.js +5 -5
- package/dist/dev/index.d.ts +1 -0
- package/dist/dev/index.js +51 -9
- package/dist/discovery/catalog.js +3 -3
- package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
- package/dist/distribuicao/filesystemGlobal.js +701 -0
- package/dist/distribuicao/index.d.ts +7 -0
- package/dist/distribuicao/index.js +227 -0
- package/dist/distribuicao/launcherGlobal.d.ts +53 -0
- package/dist/distribuicao/launcherGlobal.js +643 -0
- package/dist/distribuicao/launcherWindows.d.ts +28 -0
- package/dist/distribuicao/launcherWindows.js +326 -0
- package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
- package/dist/distribuicao/lockContextGlobal.js +17 -0
- package/dist/distribuicao/lockGlobal.d.ts +6 -0
- package/dist/distribuicao/lockGlobal.js +520 -0
- package/dist/distribuicao/skillGlobal.d.ts +48 -0
- package/dist/distribuicao/skillGlobal.js +652 -0
- package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
- package/dist/distribuicao/skillIntentPolicy.js +115 -0
- package/dist/distribuicao/tipos.d.ts +50 -0
- package/dist/distribuicao/tipos.js +10 -0
- package/dist/distribuicao/versaoSemantica.d.ts +3 -0
- package/dist/distribuicao/versaoSemantica.js +62 -0
- package/dist/drift.part01.d.ts +34 -2
- package/dist/drift.part01.js +3 -0
- package/dist/drift.part04.d.ts +12 -2
- package/dist/drift.part04.js +89 -15
- package/dist/drift.part05.d.ts +2 -1
- package/dist/drift.part05.js +9 -6
- package/dist/drift.part06.d.ts +2 -1
- package/dist/drift.part06.js +115 -24
- package/dist/drift.part07.d.ts +11 -10
- package/dist/drift.part07.js +261 -255
- package/dist/drift.part08.d.ts +2 -1
- package/dist/drift.part08.js +35 -25
- package/dist/drift.part11.js +279 -32
- package/dist/drift.part12.d.ts +1 -1
- package/dist/drift.part12.js +196 -11
- package/dist/drift.part13.d.ts +18 -2
- package/dist/drift.part13.js +654 -76
- package/dist/drift.part14.js +21 -7
- package/dist/driftCacheCas.d.ts +43 -0
- package/dist/driftCacheCas.js +351 -0
- package/dist/driftCacheFilesystem.d.ts +64 -0
- package/dist/driftCacheFilesystem.js +313 -0
- package/dist/driftCacheModes.d.ts +38 -0
- package/dist/driftCacheModes.js +147 -0
- package/dist/driftCacheStore.d.ts +80 -0
- package/dist/driftCacheStore.js +603 -0
- package/dist/driftCatalogo.d.ts +65 -0
- package/dist/driftCatalogo.js +516 -0
- package/dist/driftEscopo.d.ts +21 -0
- package/dist/driftEscopo.js +647 -0
- package/dist/driftEscopoReferencias.d.ts +8 -0
- package/dist/driftEscopoReferencias.js +612 -0
- package/dist/driftOrcamento.d.ts +6 -0
- package/dist/driftOrcamento.js +20 -3
- package/dist/geracaoCore.js +4 -6
- package/dist/iaPrompts.d.ts +3 -3
- package/dist/iaPrompts.js +13 -14
- package/dist/index.d.ts +4 -1
- package/dist/index.js +6 -25
- package/dist/index.part01.d.ts +21 -14
- package/dist/index.part01.js +20 -165
- package/dist/index.part02.js +57 -43
- package/dist/index.part03.d.ts +23 -1
- package/dist/index.part03.js +83 -8
- package/dist/index.part04.d.ts +10 -2
- package/dist/index.part04.js +48 -14
- package/dist/index.part05.d.ts +1 -1
- package/dist/index.part05.js +109 -30
- package/dist/index.part06.js +34 -16
- package/dist/index.part07.js +31 -27
- package/dist/index.part08.d.ts +1 -1
- package/dist/index.part08.js +23 -28
- package/dist/init/templates.part01.js +393 -393
- package/dist/init/templates.part02.js +189 -189
- package/dist/initCommand.js +5 -1
- package/dist/initTemplatesBackend.js +73 -73
- package/dist/initTemplatesBase.js +7 -5
- package/dist/initTemplatesFlutter.js +137 -137
- package/dist/initTemplatesRuntime.js +350 -350
- package/dist/initTemplatesWeb.js +309 -309
- package/dist/pipelineConteudo/command.d.ts +1 -0
- package/dist/pipelineConteudo/command.js +4 -32
- package/dist/pipelineConteudo/help.d.ts +2 -0
- package/dist/pipelineConteudo/help.js +33 -0
- package/dist/profileAuthorCommand.js +3 -7
- package/dist/profileCommand.js +3 -7
- package/dist/projeto.d.ts +1 -1
- package/dist/projetoCarregar.d.ts +2 -2
- package/dist/projetoCarregar.js +69 -28
- package/dist/projetoCatalogo.d.ts +8 -0
- package/dist/projetoCatalogo.js +164 -0
- package/dist/projetoOrigens.d.ts +2 -0
- package/dist/projetoOrigens.js +65 -9
- package/dist/projetoTipos.d.ts +15 -5
- package/dist/resultadoCli.d.ts +20 -0
- package/dist/resultadoCli.js +57 -0
- package/dist/saidaCli.d.ts +35 -0
- package/dist/saidaCli.js +118 -0
- package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
- package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
- package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
- package/dist/sistemasInterativos/engineObservation.js +438 -0
- package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
- package/dist/sistemasInterativos/jobOrchestration.js +204 -0
- package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
- package/dist/sistemasInterativos/operationPrimitives.js +194 -0
- package/dist/sistemasInterativos/operations.d.ts +4 -39
- package/dist/sistemasInterativos/operations.js +5 -1164
- package/dist/skillCommand.d.ts +5 -0
- package/dist/skillCommand.js +88 -0
- package/dist/sync/index.js +35 -35
- package/docs/README.md +11 -7
- package/docs/ai-integration.md +18 -11
- package/docs/ai-onboarding.md +81 -62
- package/docs/ai-workflow.md +10 -4
- package/docs/auth.md +26 -26
- package/docs/cli.md +197 -79
- package/docs/commands.md +30 -6
- package/docs/database.md +15 -15
- package/docs/deploy.md +54 -41
- package/docs/documentation.md +11 -10
- package/docs/drift-cache.md +108 -0
- package/docs/env.md +16 -16
- package/docs/frontend.md +41 -41
- package/docs/getting-started.md +82 -57
- package/docs/i18n.md +15 -15
- package/docs/repositories.md +60 -43
- package/docs/rollback.md +38 -31
- package/docs/security.md +54 -32
- package/docs/sistemas-interativos.md +27 -27
- package/docs/support.md +8 -8
- package/docs/testing.md +123 -17
- package/docs/vocabulary.md +29 -29
- package/exemplos/agendamento.sema +1 -1
- package/exemplos/assinatura.sema +1 -1
- package/exemplos/auditoria.sema +1 -1
- package/exemplos/autenticacao.sema +1 -1
- package/exemplos/author_obra_comum.sema +1 -1
- package/exemplos/author_tema_sensivel.sema +1 -1
- package/exemplos/automacao.sema +1 -1
- package/exemplos/cadastro_usuario.sema +1 -1
- package/exemplos/calculadora.sema +1 -1
- package/exemplos/crud_simples.sema +1 -1
- package/exemplos/estoque.sema +1 -1
- package/exemplos/exportacao.sema +1 -1
- package/exemplos/fila.sema +1 -1
- package/exemplos/integracao_externa.sema +1 -1
- package/exemplos/multi_tenant.sema +1 -1
- package/exemplos/notificacao.sema +1 -1
- package/exemplos/operacao_estrategia.sema +132 -132
- package/exemplos/operacao_estrategia_discovery.sema +220 -220
- package/exemplos/operacao_estrategia_fluxo.sema +114 -114
- package/exemplos/operacao_estrategia_gates.sema +106 -106
- package/exemplos/operacao_estrategia_quarentena.sema +133 -133
- package/exemplos/operacao_estrategia_rollout.sema +124 -124
- package/exemplos/pagamento.sema +1 -1
- package/exemplos/pagamento_dominio.sema +1 -1
- package/exemplos/pedido.sema +1 -1
- package/exemplos/permissao.sema +1 -1
- package/exemplos/persistencia_vendor_first.sema +1 -1
- package/exemplos/profile_conversas.sema +165 -165
- package/exemplos/profile_game.sema +1 -1
- package/exemplos/profile_legal.sema +1 -1
- package/exemplos/profile_ops.sema +1 -1
- package/exemplos/profile_research.sema +1 -1
- package/exemplos/profile_software.sema +1 -1
- package/exemplos/profile_workflow_n8n.sema +1 -1
- package/exemplos/relatorio.sema +1 -1
- package/exemplos/replica_analitica_erp.sema +1 -1
- package/exemplos/testes_embutidos.sema +1 -1
- package/exemplos/tratamento_erro.sema +1 -1
- package/exemplos/upload_arquivo.sema +1 -1
- package/exemplos/webhook.sema +1 -1
- package/node_modules/@sema/gerador-cpp/dist/index.js +176 -176
- package/node_modules/@sema/gerador-css/dist/index.part01.js +10 -10
- package/node_modules/@sema/gerador-css/dist/index.part02.js +460 -460
- package/node_modules/@sema/gerador-dotnet/dist/index.js +169 -169
- package/node_modules/@sema/gerador-html/dist/index.js +17 -17
- package/node_modules/@sema/gerador-python/dist/index.part02.js +3 -3
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js +11 -11
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +42 -42
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
- package/package.json +7 -2
- package/scripts/postinstall.mjs +148 -0
- package/skills/sema/SKILL.md +199 -0
- package/skills/sema/agents/openai.yaml +4 -0
- package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
- package/node_modules/@sema/padroes/dist/index.js.map +0 -1
package/LICENSE
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
Sema Public Non-Commercial License
|
|
2
|
-
Version 1.0
|
|
3
|
-
|
|
4
|
-
Copyright (c) 2026 Sema
|
|
5
|
-
|
|
6
|
-
Official support: suporte@otimitare.online
|
|
7
|
-
|
|
8
|
-
Permission is granted, free of charge, to use, copy, study, modify, and
|
|
9
|
-
distribute this software and its documentation for personal, educational,
|
|
10
|
-
research, internal business, and non-commercial purposes, subject to the terms
|
|
11
|
-
below.
|
|
12
|
-
|
|
13
|
-
You may:
|
|
14
|
-
|
|
15
|
-
1. Use Sema locally as a CLI in your own projects.
|
|
16
|
-
2. Study and modify the source code.
|
|
17
|
-
3. Share unmodified or modified copies for non-commercial purposes.
|
|
18
|
-
4. Publish patches, examples, documentation, and integrations that do not sell
|
|
19
|
-
Sema itself as a product or commercial replacement.
|
|
20
|
-
|
|
21
|
-
You may not, without prior written permission from OtimiTare:
|
|
22
|
-
|
|
23
|
-
1. Sell Sema, a modified Sema, or a substantially similar rebranded copy.
|
|
24
|
-
2. Offer Sema, a modified Sema, or a substantially similar implementation as a
|
|
25
|
-
commercial replica or paid replacement.
|
|
26
|
-
3. Bundle Sema into a paid product in a way that makes Sema itself a material
|
|
27
|
-
commercial feature.
|
|
28
|
-
4. Use Sema's name, marks, documentation, or public repository to imply
|
|
29
|
-
endorsement by Sema or OtimiTare.
|
|
30
|
-
5. Remove this license or the copyright notice from distributed copies.
|
|
31
|
-
|
|
32
|
-
Commercial licensing, resale permission, or commercial replica permission
|
|
33
|
-
requires written approval. Contact suporte@otimitare.online.
|
|
34
|
-
|
|
35
|
-
This software is provided "as is", without warranty of any kind, express or
|
|
36
|
-
implied, including but not limited to warranties of merchantability, fitness for
|
|
37
|
-
a particular purpose, and non-infringement. In no event shall the authors or
|
|
38
|
-
copyright holders be liable for any claim, damages, or other liability arising
|
|
39
|
-
from the software or its use.
|
|
1
|
+
Sema Public Non-Commercial License
|
|
2
|
+
Version 1.0
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 Sema
|
|
5
|
+
|
|
6
|
+
Official support: suporte@otimitare.online
|
|
7
|
+
|
|
8
|
+
Permission is granted, free of charge, to use, copy, study, modify, and
|
|
9
|
+
distribute this software and its documentation for personal, educational,
|
|
10
|
+
research, internal business, and non-commercial purposes, subject to the terms
|
|
11
|
+
below.
|
|
12
|
+
|
|
13
|
+
You may:
|
|
14
|
+
|
|
15
|
+
1. Use Sema locally as a CLI in your own projects.
|
|
16
|
+
2. Study and modify the source code.
|
|
17
|
+
3. Share unmodified or modified copies for non-commercial purposes.
|
|
18
|
+
4. Publish patches, examples, documentation, and integrations that do not sell
|
|
19
|
+
Sema itself as a product or commercial replacement.
|
|
20
|
+
|
|
21
|
+
You may not, without prior written permission from OtimiTare:
|
|
22
|
+
|
|
23
|
+
1. Sell Sema, a modified Sema, or a substantially similar rebranded copy.
|
|
24
|
+
2. Offer Sema, a modified Sema, or a substantially similar implementation as a
|
|
25
|
+
commercial replica or paid replacement.
|
|
26
|
+
3. Bundle Sema into a paid product in a way that makes Sema itself a material
|
|
27
|
+
commercial feature.
|
|
28
|
+
4. Use Sema's name, marks, documentation, or public repository to imply
|
|
29
|
+
endorsement by Sema or OtimiTare.
|
|
30
|
+
5. Remove this license or the copyright notice from distributed copies.
|
|
31
|
+
|
|
32
|
+
Commercial licensing, resale permission, or commercial replica permission
|
|
33
|
+
requires written approval. Contact suporte@otimitare.online.
|
|
34
|
+
|
|
35
|
+
This software is provided "as is", without warranty of any kind, express or
|
|
36
|
+
implied, including but not limited to warranties of merchantability, fitness for
|
|
37
|
+
a particular purpose, and non-infringement. In no event shall the authors or
|
|
38
|
+
copyright holders be liable for any claim, damages, or other liability arising
|
|
39
|
+
from the software or its use.
|
package/README.md
CHANGED
|
@@ -15,30 +15,67 @@ Official support: [suporte@otimitare.online](mailto:suporte@otimitare.online)
|
|
|
15
15
|
|
|
16
16
|
## Install
|
|
17
17
|
|
|
18
|
-
```bash
|
|
19
|
-
npm install -g @semacode/cli
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
protocol automatically.
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g @semacode/cli
|
|
20
|
+
sema skill status --json
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The global package installs a stable launcher under `~/.sema/bin` and
|
|
24
|
+
synchronizes the bundled skill to `~/.agents/skills/sema`. If Claude is already
|
|
25
|
+
configured, it also maintains `~/.claude/skills/sema`. Open a new task after an
|
|
26
|
+
install or update because existing tasks do not reload their skill catalog.
|
|
28
27
|
|
|
29
28
|
## First Run
|
|
30
29
|
|
|
31
30
|
```bash
|
|
32
31
|
sema --version
|
|
33
|
-
sema resumo . --curto
|
|
32
|
+
sema resumo . --curto --drift none
|
|
34
33
|
```
|
|
35
34
|
|
|
36
|
-
Public Sema is local-only. The CLI runs directly without a Sema login, user
|
|
37
|
-
authorization, product-license check, activation key, token, credits, billing
|
|
38
|
-
service, control panel, or external service credentials. The license governs
|
|
39
|
-
use and redistribution; it is not a runtime activation gate.
|
|
40
|
-
|
|
41
|
-
##
|
|
35
|
+
Public Sema is local-only. The CLI runs directly without a Sema login, user
|
|
36
|
+
authorization, product-license check, activation key, token, credits, billing
|
|
37
|
+
service, control panel, or external service credentials. The license governs
|
|
38
|
+
use and redistribution; it is not a runtime activation gate.
|
|
39
|
+
|
|
40
|
+
## Side-Effect-Free Help And JSON Results
|
|
41
|
+
|
|
42
|
+
`--help` and `-h` short-circuit before the operational runtime or handlers are
|
|
43
|
+
imported wherever they appear. Help exits with status `0` without inspecting or mutating the workspace, home,
|
|
44
|
+
user cache, or plugin cache, and without starting subprocesses or network
|
|
45
|
+
calls.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
sema iniciar --help
|
|
49
|
+
sema dev --help --json
|
|
50
|
+
sema skill sync --help
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
When `--json` is present, help and command-control failures emit exactly one
|
|
54
|
+
`sema.cli.control/v1` document on stdout with empty stderr. Its only fields are
|
|
55
|
+
`schemaVersion`, `ok`, `kind`, `code`, `message`, and `exitCode`. Failures are
|
|
56
|
+
redacted and never expose a stack, absolute path, or raw argv.
|
|
57
|
+
|
|
58
|
+
Every syntactically valid command invoked with `--json` in 3.0.0 emits exactly
|
|
59
|
+
one `sema.cli.result/v1` document. Its only fields are `schemaVersion`, `ok`,
|
|
60
|
+
`kind`, `command`, `code`, `message`, `exitCode`, and `payload`. `SUCCESS` uses
|
|
61
|
+
`ok: true`, `CLI_SUCCESS`, `message: null`, and exit code `0`;
|
|
62
|
+
`DOMAIN_ERROR` uses `ok: false`, `CLI_DOMAIN_ERROR`, a safe public message, and
|
|
63
|
+
a positive exit code. `payload` is always present, may contain any JSON value,
|
|
64
|
+
and is the only location for the command-specific result; `data` is not an
|
|
65
|
+
alias.
|
|
66
|
+
|
|
67
|
+
Envelope `ok` classifies the CLI result path and does not replace domain fields
|
|
68
|
+
inside `payload`. Consumers must unwrap the payload before reading values such
|
|
69
|
+
as `sucesso`, `aprovado`, or `bloqueado`. `sema --version` remains plain exact
|
|
70
|
+
SemVer text rather than a JSON envelope.
|
|
71
|
+
|
|
72
|
+
The package separates execution from imports: `bin.sema` points to
|
|
73
|
+
`dist/bin.js`, while `main` and the root export remain `dist/index.js`.
|
|
74
|
+
Unknown commands/subcommands, missing or invalid CLI syntax, and uncaught
|
|
75
|
+
runtime exceptions use the control envelope; structured domain-level failures
|
|
76
|
+
after valid dispatch use `sema.cli.result/v1` with `kind: "DOMAIN_ERROR"`.
|
|
77
|
+
|
|
78
|
+
## Codex Setup
|
|
42
79
|
|
|
43
80
|
`AGENTS.md` is the official Sema entrypoint for Codex:
|
|
44
81
|
|
|
@@ -49,11 +86,26 @@ sema sync-codex --json
|
|
|
49
86
|
Codex automatically loads `AGENTS.md` as durable repository guidance. See the
|
|
50
87
|
[Codex `AGENTS.md` documentation](https://learn.chatgpt.com/docs/agent-configuration/agents-md).
|
|
51
88
|
|
|
52
|
-
The CLI is the engine and source of truth; `AGENTS.md` is the automatic
|
|
53
|
-
workspace protocol. The Sema skill
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
89
|
+
The CLI is the engine and source of truth; `AGENTS.md` is the automatic
|
|
90
|
+
workspace protocol. The Sema skill bootstraps a project that does not have Sema
|
|
91
|
+
yet and then delegates to the generated `AGENTS.md`. The npm lifecycle updates
|
|
92
|
+
only Sema-managed launcher and skill roots; it never writes into plugin caches,
|
|
93
|
+
credentials, the workspace, or `CODEX_HOME`.
|
|
94
|
+
|
|
95
|
+
Use `sema skill status --json` for a read-only diagnosis and `sema skill sync
|
|
96
|
+
--json` to repair the launcher and skill after `npm install --ignore-scripts`.
|
|
97
|
+
If a shell still cannot resolve `sema`, invoke the managed launcher directly:
|
|
98
|
+
|
|
99
|
+
```powershell
|
|
100
|
+
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File "$HOME\.sema\bin\sema-managed.ps1" --version
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
"$HOME/.sema/bin/sema" --version
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
On Windows, PowerShell resolves `sema.ps1` from `PATH`, `cmd.exe` resolves
|
|
108
|
+
`sema.cmd`, and `sema-managed.ps1` is the PATH-independent fallback.
|
|
57
109
|
|
|
58
110
|
## Codex-Native Architecture
|
|
59
111
|
|
|
@@ -62,25 +114,38 @@ generated `AGENTS.md`. Installing this npm package never writes into
|
|
|
62
114
|
- Agent Context Pack consumers use schema version 7, including the deterministic
|
|
63
115
|
discovery summary and the fields `entrypointCodex`, `codexNativo`, and
|
|
64
116
|
`cliLocalSemAutorizacao`.
|
|
65
|
-
- The Sema
|
|
66
|
-
|
|
67
|
-
|
|
117
|
+
- The bundled Sema skill handles first contact. Its canonical shared copy is
|
|
118
|
+
`~/.agents/skills/sema`; Claude gets a managed mirror only when detected. It
|
|
119
|
+
asks for adoption authorization before implementation and does not duplicate
|
|
120
|
+
governance after handing off to `AGENTS.md`. Installing or updating the
|
|
121
|
+
global CLI authorizes distribution changes only, not workspace adoption.
|
|
68
122
|
|
|
69
123
|
## Local Workflow
|
|
70
124
|
|
|
71
125
|
```bash
|
|
72
126
|
sema docs-impacto --intencao "describe the change" --arquivo contratos/app.sema --json
|
|
73
|
-
sema inspecionar contratos/app.sema --json
|
|
74
|
-
sema drift contratos/app.sema --escopo modulo --json
|
|
75
|
-
sema impacto contratos/app.sema --alvo app.modulo --mudanca "describe the change" --json
|
|
76
|
-
sema finalizar-mudanca --intencao "describe the change" --doc-lida README.md --json
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
127
|
+
sema inspecionar contratos/app.sema --drift none --json
|
|
128
|
+
sema drift contratos/app.sema --escopo modulo --cache fresh --json
|
|
129
|
+
sema impacto contratos/app.sema --alvo app.modulo --mudanca "describe the change" --json
|
|
130
|
+
sema finalizar-mudanca --intencao "describe the change" --doc-lida README.md --json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
`resumo` and `inspecionar` default to `--drift none`; unobserved score,
|
|
134
|
+
confidence, implementation, and route evidence inside the result `payload`
|
|
135
|
+
stays `null`. Use `--drift cache|fresh` to request analysis. Direct `sema drift`
|
|
136
|
+
accepts `--cache none|cache|fresh` and defaults to `fresh`. Persistent objects are stored in the
|
|
137
|
+
operating system's user-cache directory outside the workspace. They reuse only
|
|
138
|
+
validated extraction data; the final drift decision is always recalculated.
|
|
139
|
+
|
|
140
|
+
If the project has no `.sema` contract, an informational request must remain
|
|
141
|
+
read-only. Before implementing behavior, obtain explicit adoption authorization,
|
|
142
|
+
then inspect the official flow and initialize:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
sema descobrir explicar flow.project-adoption --json
|
|
146
|
+
sema iniciar --template base
|
|
147
|
+
sema sync-codex --json
|
|
148
|
+
```
|
|
84
149
|
|
|
85
150
|
Initialization preserves existing files and rejects symlink or junction
|
|
86
151
|
escapes. Use `--force` only when overwriting the template destinations is an
|
|
@@ -211,11 +276,17 @@ blocked, and importing the package never parses CLI arguments or exits the host
|
|
|
211
276
|
process. Programmatic validators and planners preserve the same read-only,
|
|
212
277
|
non-authoritative boundary as their CLI equivalents.
|
|
213
278
|
|
|
214
|
-
## Public Boundary
|
|
215
|
-
|
|
216
|
-
The npm package is local-only: its CLI and programmatic API do not depend on a
|
|
217
|
-
hosted Sema service. It must not contain private or sensitive operational
|
|
218
|
-
material.
|
|
279
|
+
## Public Boundary
|
|
280
|
+
|
|
281
|
+
The npm package is local-only: its CLI and programmatic API do not depend on a
|
|
282
|
+
hosted Sema service. It must not contain private or sensitive operational
|
|
283
|
+
material.
|
|
284
|
+
|
|
285
|
+
Contributors must create the tarball through `npm run cli:empacotar-publica`
|
|
286
|
+
from the repository root. Direct `npm pack` in this source package is blocked:
|
|
287
|
+
the official factory uses an isolated per-run stage and is the only supported
|
|
288
|
+
path that bundles runtime packages, examples, documentation, the launcher, and
|
|
289
|
+
the Sema skill.
|
|
219
290
|
|
|
220
291
|
## Commercial Use
|
|
221
292
|
|
package/dist/agentContextPack.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// SEMA-GOVERNED: sema.produto.governanca_ia.contexto.agent_pack
|
|
1
|
+
// SEMA-GOVERNED: sema.produto.governanca_ia.contexto.agent_pack, sema.produto.governanca_ia.drift.cache.modos
|
|
2
2
|
// Descrição: monta o Agent Context Pack e políticas que agentes fracos, médios e fortes consomem antes do código.
|
|
3
3
|
import { LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO, LIMITE_AVISO_LINHAS_CONTRATO_SEMA, LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO, LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA, } from './driftOrcamento.js';
|
|
4
4
|
import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_DOC_AGENTES_CAPACIDADE, ARQUIVO_ENTRYPOINT_CODEX, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, EXEMPLOS_OFICIAIS_AGENT_CONTEXT, } from './agentContextTipos.js';
|
|
@@ -167,7 +167,7 @@ function criarFailClosedAgentContext() {
|
|
|
167
167
|
return [
|
|
168
168
|
"Se não conseguir chamar Sema, pare e declare bloqueio em vez de editar código ou contrato.",
|
|
169
169
|
"Se não houver contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, descubra ou crie o .sema aplicável e vincule antes do código.",
|
|
170
|
-
"Em workspace local, rode sema --version; se
|
|
170
|
+
"Em workspace local, rode sema --version; se o shell não localizar o comando, use $HOME/.sema/bin/sema no macOS/Linux. No Windows, PowerShell usa sema.ps1 no PATH e cmd.exe usa sema.cmd; use & \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version como fallback. Só então declare a CLI indisponível.",
|
|
171
171
|
"Se não houver workspace local em disco, pare bloqueado e peça o fluxo apropriado; não invente caminho nem substitua a CLI local por ferramenta paralela.",
|
|
172
172
|
`Se arquivos_codigo.conteudo ou conteudo inline passar de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres, não aumente timeout para forçar: divida por responsabilidade ou use anexo/caminho de servidor autorizado.`,
|
|
173
173
|
"Se for criar ou corrigir .sema, leia `exemplos/`; se a pasta estiver ausente, rode `sema instalar-exemplos --json` antes de escrever sintaxe.",
|
|
@@ -178,7 +178,7 @@ function criarFailClosedAgentContext() {
|
|
|
178
178
|
"Um mesmo arquivo de codigo pode ser governado por varios contratos .sema via vinculos; Sema Codigo deve preservar essa rastreabilidade.",
|
|
179
179
|
"Se score, achados ou decisaoAgente parecerem bons, trate como sinal de triagem e confira evidência concreta no contrato e no código.",
|
|
180
180
|
"Se validar artefato inline com 100/100, ainda preserve cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.",
|
|
181
|
-
"Se `sema drift` retornar sucesso:false, `vinculos_quebrados`, `rotas_divergentes` ou
|
|
181
|
+
"Se o `payload` de `sema drift --cache fresh --json` retornar sucesso:false, `vinculos_quebrados`, `rotas_divergentes` ou `impls_quebrados`, a mudança não pode ser declarada concluída; corrija contrato/código e rode drift fresh de novo.",
|
|
182
182
|
"Se a tarefa tiver site, sistema, app, UI, painel, jogo, CLI/TUI ou terminal, nao conclua sem acabamento moderno, contextual e evidenciado; em UI mobile estreita (ex. 390px), `document.documentElement.scrollWidth <= document.documentElement.clientWidth` precisa ser verdadeiro.",
|
|
183
183
|
"Se texto visivel PT-BR perder acento ou cedilha em termos como descricao, lancamentos, saude ou alimentacao, trate como defeito bloqueante quando houver i18n/idioma declarado.",
|
|
184
184
|
"Se aparecer caminho que não pertence ao workspace local aberto pelo usuário, pare e confirme a fonte antes de agir.",
|
|
@@ -306,12 +306,15 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
306
306
|
"Leia AGENTS.md antes de editar código, contrato, docs operacionais, release ou deploy.",
|
|
307
307
|
"Leia docs/commands.md antes de escolher comando Sema, interpretar um gate ou usar --saida de sema compilar.",
|
|
308
308
|
"Quando a intenção não deixar claro qual profile, workflow, pipeline, gerador ou adapter usar, rode `sema descobrir recomendar --intencao \"<objetivo>\" --json`; a recomendação informa, mas nunca se autoexecuta.",
|
|
309
|
-
"Em workspace local, rode sema --version; se falhar,
|
|
310
|
-
"
|
|
309
|
+
"Em workspace local, rode sema --version; se o shell falhar, use $HOME/.sema/bin/sema no macOS/Linux. No Windows, PowerShell usa sema.ps1 no PATH e cmd.exe usa sema.cmd; use & \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version como fallback. Só depois peça instalação ou reparo.",
|
|
310
|
+
"`sema resumo` e `sema inspecionar` usam análise `none` por padrão: não executam drift e mantêm score, confiança, implementação e superfícies derivadas como nulos/não avaliados; use `--drift cache|fresh` somente quando precisar dessa evidência.",
|
|
311
|
+
"Quando `resumo` ou `inspecionar` executa drift explicitamente, `payload.analiseDrift.sucesso` deve ser verdadeiro ou falso e uma falha solicitada mantém exit code diferente de zero.",
|
|
312
|
+
"Na CLI 3.0.0, `sema --version` continua texto SemVer exato; com `--json`, help e falhas de controle usam o envelope exato `sema.cli.control/v1`, enquanto todo comando sintaticamente válido usa o envelope exato de oito campos `sema.cli.result/v1`, mantém o resultado do comando em `payload` e não confunde `ok` de transporte com o veredito de domínio dentro desse payload.",
|
|
313
|
+
"Antes de editar, rode `sema inspecionar <contrato.sema> --drift none --json`, `sema drift <contrato.sema> --escopo modulo --cache fresh --json` e `sema impacto <contrato.sema> --alvo <token> --mudanca \"<descricao>\" --json`.",
|
|
311
314
|
"Use exemplos oficiais antes de criar ou corrigir sintaxe .sema.",
|
|
312
315
|
"Use SEMA_INDEX.json para escolher contrato, módulo e arquivos prováveis antes de abrir código cru.",
|
|
313
316
|
"Valide .sema alterado e rode drift antes de concluir.",
|
|
314
|
-
"
|
|
317
|
+
"Conclusão só é válida se o `payload` de `sema drift --cache fresh --json` retornar sucesso:true, sem `vinculos_quebrados`, sem `rotas_divergentes` e sem `impls_quebrados`; hit de cache orienta trabalho, mas não substitui evidência fresh de fechamento.",
|
|
315
318
|
"Quando faltar contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, crie/edite o contrato aplicável e vincule antes do código.",
|
|
316
319
|
"Sema não contorna políticas da plataforma; ele governa contrato, escopo, drift, evidência e qualidade.",
|
|
317
320
|
"Responda no idioma do usuário; em PT-BR, use vocabulário Sema canônico e preserve acentos, cedilha, pontuação e símbolos humanos.",
|
|
@@ -334,14 +337,15 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
334
337
|
"Não tratar a pasta --saida de sema compilar como entrega final; entrega são os arquivos alvo/vínculos do contrato.",
|
|
335
338
|
"Não sincronizar segredos, .env, node_modules, builds, caches, uploads ou artefatos privados fora do escopo.",
|
|
336
339
|
"Não publicar, deployar ou remover capacidade sem contrato, drift e verificação.",
|
|
337
|
-
"Não assumir repositório público, GitHub Release pública ou fonte externa de workspace; em ambiente local, prove a CLI com sema --version.",
|
|
340
|
+
"Não assumir repositório público, GitHub Release pública ou fonte externa de workspace; em ambiente local, prove a CLI com sema --version ou com o launcher gerenciado absoluto.",
|
|
338
341
|
"Não usar a estética ASCII da DSL nem inglês de produto como desculpa para fugir do vocabulário Sema em PT-BR.",
|
|
339
342
|
"Não remover SEMA-GOVERNED nem substituir drift por comentário dentro do código.",
|
|
340
343
|
"Não copiar o contrato inteiro para comentário de código; mantenha descrição humana curta.",
|
|
341
344
|
"Nao tratar orcamento semantico como sugestao; codigo governado ou contrato .sema grande deve ser dividido antes de concluir.",
|
|
342
345
|
"Nao fatiar codigo ou contrato grande em partes sem responsabilidade real para passar no limite.",
|
|
343
346
|
"Não tratar score 100, regex ou presença de palavra-chave como prova suficiente de governança; pontuação abaixo do piso ou do alvo evolutivo bloqueia conclusão.",
|
|
344
|
-
"Nao dizer que drift passou limpo quando o JSON trouxe sucesso:false, vinculos_quebrados, rotas_divergentes ou
|
|
347
|
+
"Nao dizer que drift passou limpo quando o `payload` do JSON trouxe sucesso:false, vinculos_quebrados, rotas_divergentes ou impls_quebrados.",
|
|
348
|
+
"Não ler campos específicos do comando no topo de `sema.cli.result/v1`, não usar `data` como alias de `payload` e não tratar `ok` como substituto de `payload.sucesso` ou outro veredito de domínio.",
|
|
345
349
|
"Não tratar validação inline como dispensa de cabeçalho SEMA-GOVERNED no arquivo físico.",
|
|
346
350
|
`Não tentar resolver payload inline acima de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres aumentando timeout.`,
|
|
347
351
|
`Nao culpar o limite de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas para codigo ou ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} linhas para .sema por arquitetura monolitica escolhida pela IA.`,
|
|
@@ -353,14 +357,14 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
353
357
|
prioridades: [
|
|
354
358
|
"Menor artefato suficiente primeiro.",
|
|
355
359
|
"Catálogo de discovery antes de escolher por chute entre profile, workflow, pipeline, gerador ou adapter.",
|
|
356
|
-
"Workspace local: sema --version, resumo, docs-impacto, inspecionar, drift e impacto pela CLI;
|
|
360
|
+
"Workspace local: sema --version, resumo, docs-impacto, inspecionar, drift e impacto pela CLI; sem shim, use $HOME/.sema/bin/sema ou, no Windows, sema.ps1 pelo PATH / sema.cmd no cmd.exe / & \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version, e só depois peça reparo.",
|
|
357
361
|
"Contrato, índice e AGENTS complementam o contexto Sema; não substituem chamada Sema.",
|
|
358
362
|
"Exemplos oficiais antes de nova sintaxe.",
|
|
359
363
|
"Diagnóstico estruturado antes de opinião livre.",
|
|
360
364
|
"Compatibilidade com políticas da plataforma antes de reformular ou continuar após alerta externo.",
|
|
361
365
|
"Sinal sem evidência vira ritual; evidência concreta antes de concluir aderência.",
|
|
362
366
|
"Retry progressivo em timeout antes de declarar bloqueio.",
|
|
363
|
-
"Fechamento honesto: drift JSON verde antes de dizer concluido; sucesso:false, vinculo quebrado ou rota divergente ainda e bloqueio.",
|
|
367
|
+
"Fechamento honesto: `payload` do drift JSON verde antes de dizer concluido; sucesso:false, vinculo quebrado ou rota divergente ainda e bloqueio.",
|
|
364
368
|
"Separar limite de transporte inline de lentidão real: payload grande demais exige split/transporte correto, não retry infinito.",
|
|
365
369
|
"Orçamento semântico, divisão por responsabilidade e cabeçalho governado antes de gravar ou finalizar código.",
|
|
366
370
|
"Acabamento visual/terminal por capacidade quando houver experiência de uso, com prova de viewport mobile sem overflow horizontal ou smoke check de comando.",
|
|
@@ -16,10 +16,15 @@ export declare function sincronizarEntrypointCodex(baseProjeto: string, agentCon
|
|
|
16
16
|
codexNativo: true;
|
|
17
17
|
cliLocalSemAutorizacao: true;
|
|
18
18
|
skillBootstrapCodexDocumentada: true;
|
|
19
|
+
launcherGlobalFallbackDocumentado: true;
|
|
20
|
+
cliIndisponivelSomenteAposFallback: true;
|
|
21
|
+
skillGlobalDelegaAgentsMd: true;
|
|
19
22
|
idiomaHumanoPreservado: true;
|
|
20
23
|
retryTimeoutProgressivo: true;
|
|
21
24
|
politicaPlataformaExplicita: true;
|
|
22
25
|
politicaSinalVsRitualExplicita: true;
|
|
26
|
+
politicaModosDriftExplicita: true;
|
|
27
|
+
docsComandos: true;
|
|
23
28
|
divisaoPorResponsabilidadeExplicita: true;
|
|
24
29
|
contextoLocalSemEspelho: true;
|
|
25
30
|
destinosEntrypointPrevalidados: true;
|