@shiftleftpt/sbd-toe-mcp 0.1.0 → 0.5.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.
Files changed (47) hide show
  1. package/.env.example +0 -3
  2. package/README.md +133 -257
  3. package/dist/config.js +0 -3
  4. package/dist/config.js.map +1 -1
  5. package/dist/tools/structured-tools.js +0 -1
  6. package/dist/tools/structured-tools.js.map +1 -1
  7. package/dist/types.d.ts +0 -3
  8. package/dist/validators/ai-disclosure.js +2 -4
  9. package/dist/validators/ai-disclosure.js.map +1 -1
  10. package/package.json +32 -6
  11. package/dist/backend/semantic-index-gateway.test.d.ts +0 -1
  12. package/dist/backend/semantic-index-gateway.test.js +0 -384
  13. package/dist/backend/semantic-index-gateway.test.js.map +0 -1
  14. package/dist/bootstrap/checkout-backend.d.ts +0 -31
  15. package/dist/bootstrap/checkout-backend.js +0 -136
  16. package/dist/bootstrap/checkout-backend.js.map +0 -1
  17. package/dist/bootstrap/checkout-backend.test.d.ts +0 -1
  18. package/dist/bootstrap/checkout-backend.test.js +0 -158
  19. package/dist/bootstrap/checkout-backend.test.js.map +0 -1
  20. package/dist/bootstrap/release-checkout.d.ts +0 -8
  21. package/dist/bootstrap/release-checkout.js +0 -168
  22. package/dist/bootstrap/release-checkout.js.map +0 -1
  23. package/dist/bootstrap/release-checkout.test.d.ts +0 -1
  24. package/dist/bootstrap/release-checkout.test.js +0 -137
  25. package/dist/bootstrap/release-checkout.test.js.map +0 -1
  26. package/dist/resources/sbd-toe-resources.test.d.ts +0 -1
  27. package/dist/resources/sbd-toe-resources.test.js +0 -134
  28. package/dist/resources/sbd-toe-resources.test.js.map +0 -1
  29. package/dist/test-utils.d.ts +0 -153
  30. package/dist/test-utils.js +0 -176
  31. package/dist/test-utils.js.map +0 -1
  32. package/dist/tools/generate-document.test.d.ts +0 -1
  33. package/dist/tools/generate-document.test.js +0 -189
  34. package/dist/tools/generate-document.test.js.map +0 -1
  35. package/dist/tools/map-review-scope.test.d.ts +0 -1
  36. package/dist/tools/map-review-scope.test.js +0 -204
  37. package/dist/tools/map-review-scope.test.js.map +0 -1
  38. package/dist/tools/plan-repo-governance.test.d.ts +0 -1
  39. package/dist/tools/plan-repo-governance.test.js +0 -237
  40. package/dist/tools/plan-repo-governance.test.js.map +0 -1
  41. package/dist/tools/structured-tools.test.d.ts +0 -1
  42. package/dist/tools/structured-tools.test.js +0 -459
  43. package/dist/tools/structured-tools.test.js.map +0 -1
  44. package/dist/validators/ai-disclosure.test.d.ts +0 -1
  45. package/dist/validators/ai-disclosure.test.js +0 -244
  46. package/dist/validators/ai-disclosure.test.js.map +0 -1
  47. package/smithery.yaml +0 -44
package/.env.example CHANGED
@@ -17,10 +17,7 @@ SITE_BASE_URL=https://www.securitybydesign.dev/
17
17
  MANUAL_BASE_URL=https://www.securitybydesign.dev/sbd-toe/sbd-manual/
18
18
  CROSS_CHECK_BASE_URL=https://www.securitybydesign.dev/sbd-toe/cross-check-normativo/
19
19
 
20
- DEFAULT_LANGUAGE=pt-PT
21
20
  DEBUG_MODE=false
22
- DOCS_HITS=8
23
- ENTITIES_HITS=5
24
21
  MAX_CONTEXT_RECORDS=8
25
22
  SAMPLING_MAX_TOKENS=1200
26
23
 
package/README.md CHANGED
@@ -1,323 +1,199 @@
1
- # sbd-toe-mcp-poc
1
+ # @shiftleftpt/sbd-toe-mcp
2
2
 
3
- Servidor MCP (Model Context Protocol) para VS Code, em Node.js/TypeScript, que faz retrieval local sobre snapshots semânticos publicados do manual SbD-ToE e os expõe ao chat via `stdio`.
3
+ MCP server for the SbD-ToE security manual structured tools for Claude, GitHub Copilot, Cursor, Windsurf, Zed and any MCP-compatible client.
4
4
 
5
- > Estado atual: **PoC / primeira iteração publicável**. O foco desta versão é distribuição simples via GitHub Releases, uso local no VS Code, grounding forte e zero dependência de builder semântico em runtime.
6
-
7
- ## O que é este projeto
5
+ [![npm](https://img.shields.io/npm/v/@shiftleftpt%2fsbd-toe-mcp)](https://www.npmjs.com/package/@shiftleftpt/sbd-toe-mcp)
6
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
8
7
 
9
- Este repositório empacota um servidor MCP que:
8
+ ---
10
9
 
11
- - corre localmente via `stdio`
12
- - expõe tools e prompts MCP para consulta do manual
13
- - usa o modelo configurado pelo utilizador no VS Code
14
- - faz retrieval local sobre um bundle embutido em `data/publish/`
15
- - devolve contexto grounded, citações e metadados úteis para debug
10
+ ## Quick Start
16
11
 
17
- O objetivo é responder melhor, dentro do VS Code, a perguntas práticas sobre o ecossistema SbD-ToE, por exemplo:
12
+ **Zero configuration required.** Works out-of-the-box with `npx`:
18
13
 
19
- ```text
20
- quais os requisitos de autenticacao que preciso implementar para esta aplicacao L1
14
+ **Claude Code:**
15
+ ```bash
16
+ claude mcp add sbd-toe -- npx -y @shiftleftpt/sbd-toe-mcp
21
17
  ```
22
18
 
23
- ou:
19
+ **Claude Desktop / Cursor / Windsurf** — add to your MCP config:
20
+ ```json
21
+ {
22
+ "mcpServers": {
23
+ "sbd-toe": {
24
+ "command": "npx",
25
+ "args": ["-y", "@shiftleftpt/sbd-toe-mcp"]
26
+ }
27
+ }
28
+ }
29
+ ```
24
30
 
25
- ```text
26
- Que policies governam pipelines CI/CD?
31
+ **VS Code + GitHub Copilot** — add to `.vscode/mcp.json`:
32
+ ```json
33
+ {
34
+ "servers": {
35
+ "sbdToe": {
36
+ "type": "stdio",
37
+ "command": "npx",
38
+ "args": ["-y", "@shiftleftpt/sbd-toe-mcp"]
39
+ }
40
+ }
41
+ }
27
42
  ```
28
43
 
29
- ## Porque existe
44
+ For full installation instructions for all clients see [`docs/installation.md`](docs/installation.md).
45
+
46
+ **Requirements:** Node.js ≥ 20.9.0
30
47
 
31
- O manual SbD-ToE é a fonte editorial canónica, mas o consumo prático dentro do editor exige uma camada técnica própria:
48
+ ---
49
+
50
+ ## What it does
51
+
52
+ This MCP server gives any AI client structured access to the [SbD-ToE security manual](https://www.securitybydesign.dev/sbd-toe/sbd-manual/) — a comprehensive framework for secure-by-design software development.
32
53
 
33
- - descoberta contextual no momento da pergunta
34
- - recuperação determinística de records relevantes
35
- - composição de prompt grounded
36
- - integração direta com o chat do VS Code
54
+ All data is bundled locally. No Algolia, no internet connection required at runtime, no API keys.
37
55
 
38
- Este repositório existe para fazer essa ponte, sem duplicar o papel dos outros repositórios do ecossistema.
56
+ ---
39
57
 
40
- ## Relação com o ecossistema SbD-ToE
58
+ ## Tools
41
59
 
42
- | Repositório | Papel |
43
- | --- | --- |
44
- | `Shiftleftpt/SbD-ToE-Manual` | fonte editorial canónica do manual |
45
- | `sbd-toe-knowledge-graph` | builder/publicador dos snapshots semânticos |
46
- | `sbd-toe-mcp-poc` | consumer MCP para uso local no VS Code |
60
+ | Tool | Description |
61
+ |---|---|
62
+ | `search_sbd_toe_manual` | Retrieval over the manual — returns grounded context with citations |
63
+ | `answer_sbd_toe_manual` | Retrieval + answer via MCP sampling (uses the user's model) |
64
+ | `inspect_sbd_toe_retrieval` | Debug tool shows retrieval scores, selection and prompt |
65
+ | `list_sbd_toe_chapters` | Lists all 14 manual chapters with readable titles and risk levels |
66
+ | `query_sbd_toe_entities` | Queries structured entities (controls, requirements, patterns) |
67
+ | `get_sbd_toe_chapter_brief` | Returns a structured brief for a specific chapter |
68
+ | `map_sbd_toe_applicability` | Maps a project profile to applicable chapter bundles |
69
+ | `generate_document` | Generates a structured document skeleton (5 types × 3 risk levels) |
70
+ | `map_sbd_toe_review_scope` | Maps changed file paths to relevant SbD-ToE knowledge bundles |
71
+ | `plan_sbd_toe_repo_governance` | Produces an advisory governance plan for a repository |
47
72
 
48
- Este projeto **consome** artefactos já produzidos pelo `sbd-toe-knowledge-graph`. Não reindexa o manual, não reconstrói semântica e não substitui o builder.
73
+ ### Resources
49
74
 
50
- ## O que faz
75
+ | Resource | Description |
76
+ |---|---|
77
+ | `sbd://toe/index-compact` | Compact chapter index (<5KB) — injectable into system prompts |
78
+ | `sbd://toe/skill-template` | Skill template for AI agent configuration (L1/L2/L3) |
79
+ | `sbd://toe/chapter-applicability` | Chapter applicability by risk level |
51
80
 
52
- - consulta os snapshots `SbD-ToE-ASKAI-Docs` e `SbD-ToE-ASKAI-Entities`
53
- - faz ranking local observável para seleção de contexto
54
- - expõe as tools `search_sbd_toe_manual`, `answer_sbd_toe_manual` e `inspect_sbd_toe_retrieval`
55
- - expõe a prompt MCP `ask_sbd_toe_manual`
56
- - permite debug forte quando `debug=true` ou `DEBUG_MODE=true`
57
- - usa sampling MCP opcionalmente, mantendo o modelo do lado do utilizador
81
+ ### Prompts
58
82
 
59
- ## O que não faz
83
+ | Prompt | Description |
84
+ |---|---|
85
+ | `setup_sbd_toe_agent` | Slash command to configure an AI agent with SbD-ToE context |
60
86
 
61
- - não faz parsing do corpus Markdown
62
- - não reconstrói bundles semânticos
63
- - não reindexa o manual
64
- - não depende de Algolia em runtime
65
- - não executa retrieval remoto
66
- - não mantém memória conversacional
67
- - não substitui o VS Code Chat nem o `sbd-toe-knowledge-graph`
87
+ ---
68
88
 
69
- ## Arquitetura resumida
89
+ ## Architecture
70
90
 
71
- 1. O utilizador faz uma pergunta no chat do VS Code.
72
- 2. O chat chama `search_sbd_toe_manual` ou `answer_sbd_toe_manual`.
73
- 3. O servidor MCP lê os snapshots locais embutidos em `data/publish/`.
74
- 4. O retrieval combina records documentais e estruturados.
75
- 5. O servidor devolve contexto grounded com citações `[D1]`, `[E1]`, links e debug.
76
- 6. O modelo do utilizador responde com base nesse contexto.
91
+ ```
92
+ AI client (Claude / Copilot / Cursor / ...)
93
+ MCP stdio
94
+ sbd-toe-mcp server
95
+ ↓ local read
96
+ data/publish/ ← semantic snapshots bundled in the package
97
+ ```
77
98
 
78
- O papel detalhado deste repositório está documentado em [`docs/role.md`](docs/role.md).
99
+ 1. The user asks a question in their AI client.
100
+ 2. The client calls a tool (e.g. `search_sbd_toe_manual`).
101
+ 3. The server reads the local snapshots in `data/publish/`.
102
+ 4. Retrieval combines documentary and structured records.
103
+ 5. The server returns grounded context with citations and links.
104
+ 6. The user's model answers based on that context.
79
105
 
80
- ## Ferramentas MCP expostas
106
+ ---
81
107
 
82
- - `search_sbd_toe_manual`
83
- - tool principal para o fluxo normal de chat
84
- - devolve contexto grounded sem obrigar a sampling
85
- - `answer_sbd_toe_manual`
86
- - usa retrieval local e pede a resposta final ao modelo do utilizador via MCP sampling
87
- - `inspect_sbd_toe_retrieval`
88
- - mostra retrieval, seleção final e prompt montado
89
- - útil para tuning, grounding e troubleshooting
90
- - `ask_sbd_toe_manual`
91
- - prompt MCP/slash command para orientar o chat a usar retrieval antes de responder
108
+ ## Distribution
92
109
 
93
- ## Distribuição e release bundle
110
+ **Primary channel: npm**
94
111
 
95
- O canal principal de distribuição é **npm** (`sbd-toe-mcp`). O **GitHub Releases** mantém-se como canal secundário — publica um bundle self-contained para instalação em ambientes sem acesso à internet ou sem `npx`.
112
+ ```bash
113
+ npx -y @shiftleftpt/sbd-toe-mcp
114
+ ```
96
115
 
97
- Cada release publica um bundle via GitHub Releases com convenção de nome explícita:
116
+ **Secondary channel: GitHub Releases** — self-contained bundle for environments without internet access or `npx`. Each release publishes:
98
117
 
99
118
  - `sbd-toe-mcp-vX.Y.Z-bundle.tar.gz`
100
119
  - `sbd-toe-mcp-vX.Y.Z-bundle.zip`
101
120
  - `sbd-toe-mcp-vX.Y.Z-bundle.sha256`
102
121
 
103
- O bundle inclui:
122
+ ### Installing from a GitHub Release bundle
104
123
 
105
- - `dist/`
106
- - `data/publish/`
107
- - `data/reports/run_manifest.json`
108
- - `prompts/`
109
- - `examples/`
110
- - `docs/`
111
- - `.vscode/mcp.json`
112
- - `.env.example`
113
- - `README.md`
114
- - `CONTRIBUTING.md`
115
- - `CODE_OF_CONDUCT.md`
116
- - `SECURITY.md`
117
- - `SUPPORT.md`
118
- - ficheiros de licença
124
+ For environments without npm/npx:
119
125
 
120
- O bundle **não** inclui:
121
-
122
- - `node_modules`
123
- - checkout completo do upstream
124
- - tooling de desenvolvimento desnecessário para runtime
126
+ 1. Download `sbd-toe-mcp-vX.Y.Z-bundle.zip` from [GitHub Releases](https://github.com/Shiftleftpt/sbd-toe-mcp-poc/releases).
127
+ 2. Extract the archive.
128
+ 3. Point your MCP client to the extracted `dist/index.js`:
129
+ ```json
130
+ {
131
+ "command": "node",
132
+ "args": ["/path/to/extracted/dist/index.js"]
133
+ }
134
+ ```
135
+ 4. No `npm ci` or `npm run build` needed — the bundle is self-contained.
125
136
 
126
- ## Como os snapshots são distribuídos
137
+ ---
127
138
 
128
- `data/publish/` é tratado como parte intencional do produto:
139
+ ## Optional configuration
129
140
 
130
- - fica **versionado no repositório**
131
- - fica **incluído no artefacto de release**
132
- - é a base do retrieval local em runtime
141
+ No environment variables are required. The following can be overridden:
133
142
 
134
- Isto significa que:
143
+ | Variable | Default | Description |
144
+ |---|---|---|
145
+ | `DEBUG_MODE` | `false` | Enable debug metadata in responses |
146
+ | `MAX_CONTEXT_RECORDS` | `8` | Max records returned per query |
147
+ | `SITE_BASE_URL` | `https://www.securitybydesign.dev/` | Override base URL |
148
+ | `MANUAL_BASE_URL` | `https://www.securitybydesign.dev/sbd-toe/sbd-manual/` | Override manual URL |
149
+ | `CROSS_CHECK_BASE_URL` | `https://www.securitybydesign.dev/sbd-toe/cross-check-normativo/` | Override cross-check URL |
150
+ | `SBD_TOE_APP_ROOT` | auto (resolved from `dist/`) | Override app root path |
135
151
 
136
- - o utilizador **não precisa** de Algolia
137
- - o utilizador **não precisa** de correr o builder semântico
138
- - o utilizador **não precisa** de fazer checkout do `sbd-toe-knowledge-graph` para usar o servidor
152
+ Copy `.env.example` to `.env` and adjust as needed.
139
153
 
140
- O ficheiro `data/reports/run_manifest.json` mantém a proveniência do snapshot embutido.
141
- Esse ficheiro deve conter apenas proveniência pública e redistribuível, sem paths absolutos de máquinas locais.
154
+ ---
142
155
 
143
- ## Instalação via GitHub Release (alternativa sem internet)
156
+ ## Relation to the SbD-ToE ecosystem
144
157
 
145
- Fluxo para ambientes sem acesso ao npm ou sem `npx`:
158
+ | Repository | Role |
159
+ |---|---|
160
+ | `Shiftleftpt/SbD-ToE-Manual` | canonical editorial source of the manual |
161
+ | `sbd-toe-knowledge-graph` | builder/publisher of semantic snapshots |
162
+ | `@shiftleftpt/sbd-toe-mcp` | MCP server — consumes snapshots, exposes tools |
146
163
 
147
- 1. Descarregar o asset `sbd-toe-mcp-vX.Y.Z-bundle.zip` ou `sbd-toe-mcp-vX.Y.Z-bundle.tar.gz` em **GitHub Releases**.
148
- 2. Extrair o archive para um diretório local.
149
- 3. Confirmar que a extração já inclui `dist/` e `data/publish/`.
150
- 4. Copiar `.env.example` para `.env`.
151
- 5. Abrir a pasta extraída no VS Code.
152
- 6. Reutilizar o `.vscode/mcp.json` já incluído no bundle.
153
- 7. Abrir o chat e usar perguntas reais sobre o manual.
164
+ This project **consumes** artefacts already produced by `sbd-toe-knowledge-graph`. It does not re-index the manual, does not rebuild semantics and does not replace the builder.
154
165
 
155
- Exemplo:
166
+ Maintainers who want to update the bundled snapshots from a local checkout of `sbd-toe-knowledge-graph`:
156
167
 
157
168
  ```bash
158
- cp .env.example .env
169
+ npm run checkout:backend
159
170
  ```
160
171
 
161
- Depois de extrair a release, não é necessário correr `npm ci` nem `npm run build`.
162
- Também não é necessário editar manualmente a configuração MCP se usares a pasta extraída como workspace do VS Code.
163
-
164
- ## Quick Start — instalar via npm
165
-
166
- [![npm](https://img.shields.io/npm/v/@shiftleftpt%2fsbd-toe-mcp)](https://www.npmjs.com/package/@shiftleftpt/sbd-toe-mcp)
167
-
168
- **Zero configuração obrigatória.** O servidor funciona directamente com `npx`:
169
-
170
- 1. Instalar Node.js ≥ 20.9.0: [nodejs.org/download](https://nodejs.org/download/)
171
- 2. Registar o servidor no teu cliente MCP (exemplo para Claude Code):
172
- ```bash
173
- claude mcp add sbd-toe -- npx -y @shiftleftpt/sbd-toe-mcp
174
- ```
175
- 3. Usar as tools MCP no Claude Code (ou Claude Desktop, VS Code, Cursor, etc.)
176
-
177
- Para instruções completas por cliente MCP (Claude Desktop, VS Code, Cursor, Windsurf, Zed),
178
- consultar [`docs/installation.md`](docs/installation.md).
179
-
180
172
  ---
181
173
 
182
- ## Instalação a partir do source
183
-
184
- Se preferires trabalhar a partir do source deste repositório:
174
+ ## Development
185
175
 
186
176
  ```bash
187
177
  npm ci
188
178
  npm run check
189
179
  npm run build
180
+ npm run test
190
181
  ```
191
182
 
192
- O checkout de source já traz `data/publish/` versionado. Portanto, mesmo a partir do source, o uso normal do MCP **não** depende do builder semântico.
193
-
194
- O script abaixo é apenas para mantenedores que queiram atualizar o bundle embutido a partir de um checkout local do `sbd-toe-knowledge-graph`:
195
-
196
- ```bash
197
- npm run checkout:backend
198
- ```
199
-
200
- Esse fluxo regenera um manifesto local em `data/upstream/backend-checkout.json`, usado apenas para manutenção/debug local e não versionado neste repositório.
201
-
202
- ## Configuração `.env`
203
-
204
- Copiar `.env.example` para `.env` e ajustar apenas o que fizer sentido para o teu ambiente local.
205
-
206
- Variáveis mais relevantes para runtime:
207
-
208
- | Variável | Uso |
209
- | --- | --- |
210
- | `DOCS_SNAPSHOT_FILE` | snapshot documental local |
211
- | `ENTITIES_SNAPSHOT_FILE` | snapshot de entidades local |
212
- | `INDEX_SETTINGS_FILE` | metadados dos índices publicados |
213
- | `RUN_MANIFEST_FILE` | proveniência do bundle embutido |
214
- | `SYSTEM_PROMPT_FILE` | system prompt usada pela tool de answer |
215
- | `DEBUG_MODE` | ativa debug adicional nas respostas |
216
-
217
- Variáveis de manutenção opcional:
218
-
219
- | Variável | Uso |
220
- | --- | --- |
221
- | `UPSTREAM_KNOWLEDGE_GRAPH_DIR` | checkout local do `sbd-toe-knowledge-graph` |
222
- | `BACKEND_CHECKOUT_FILE` | manifesto local do último refresh do bundle; ficheiro de manutenção local, não versionado |
223
-
224
- Não há API keys obrigatórias neste projeto: o modelo continua a ser o do utilizador no VS Code.
225
-
226
- ## Integração com VS Code
227
-
228
- O exemplo de configuração está em [`examples/vscode.mcp.json`](examples/vscode.mcp.json).
229
-
230
- Para o fluxo mais simples via GitHub Release, o bundle já inclui [`.vscode/mcp.json`](.vscode/mcp.json) com este formato:
231
-
232
- ```json
233
- {
234
- "servers": {
235
- "sbdToe": {
236
- "type": "stdio",
237
- "command": "node",
238
- "args": ["${workspaceFolder}/dist/index.js"],
239
- "envFile": "${workspaceFolder}/.env"
240
- }
241
- }
242
- }
243
- ```
244
-
245
- Se abrires a pasta extraída no VS Code, `${workspaceFolder}` passa a apontar para esse bundle e o editor pode usar a configuração diretamente.
246
-
247
- Exemplo realista para um bundle extraído fora do workspace atual:
248
-
249
- ```json
250
- {
251
- "servers": {
252
- "sbdToe": {
253
- "type": "stdio",
254
- "command": "node",
255
- "args": ["/absolute/path/to/sbd-toe-mcp-poc/dist/index.js"],
256
- "envFile": "/absolute/path/to/sbd-toe-mcp-poc/.env"
257
- }
258
- }
259
- }
260
- ```
261
-
262
- Se estiveres a trabalhar diretamente neste repositório, podes adaptar para `${workspaceFolder}`.
263
-
264
- ## Exemplo de uso no chat
265
-
266
- Perguntas úteis para validar a integração:
267
-
268
- ```text
269
- quais os requisitos de autenticacao que preciso implementar para esta aplicacao L1
270
- ```
271
-
272
- ```text
273
- Que policies governam pipelines CI/CD?
274
- ```
183
+ See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the contribution workflow.
275
184
 
276
- Comportamento esperado:
277
-
278
- - o chat usa `search_sbd_toe_manual` ou `answer_sbd_toe_manual`
279
- - o MCP recupera records relevantes do bundle local
280
- - a resposta final usa apenas o contexto recuperado
281
- - a resposta cita records e aponta páginas determinísticas quando existirem
282
-
283
- ## Troubleshooting e debug
284
-
285
- - Se `dist/` não existir, estás provavelmente num checkout de source sem build concluído.
286
- - Se `data/publish/` não existir, a instalação está incompleta ou o archive foi extraído incorretamente.
287
- - Se o cliente MCP não suportar `sampling`, usa `search_sbd_toe_manual` como fluxo principal.
288
- - Usa `inspect_sbd_toe_retrieval` para ver retrieval, seleção final e prompt montado.
289
- - Ativa `DEBUG_MODE=true` para anexar metadados de debug à resposta.
290
- - Se precisares de atualizar o snapshot embutido, usa `npm run checkout:backend` a partir de um checkout local do `sbd-toe-knowledge-graph`.
291
-
292
- ## Contribuição
293
-
294
- O fluxo de contribuição está em [`CONTRIBUTING.md`](CONTRIBUTING.md).
295
-
296
- Em resumo:
297
-
298
- - trunk-based development com `master`
299
- - branches `feat/`, `fix/`, `docs/`, `chore/` e `hotfix/`
300
- - validação local com `npm ci`, `npm run check` e `npm run build`
301
- - teste manual no VS Code antes de abrir PR
302
- - squash merge para `master`
303
- - releases por tag `vX.Y.Z`
304
-
305
- ## Próximas iterações
306
-
307
- Os pontos abertos e candidatos a evolução futura estão em [`NEXT-STEPS.md`](NEXT-STEPS.md), incluindo a hipótese de uma extensão wrapper para publicação no VS Code Marketplace.
308
-
309
- ## Suporte
185
+ ---
310
186
 
311
- Ver [`SUPPORT.md`](SUPPORT.md).
187
+ ## Security
312
188
 
313
- ## Segurança
189
+ See [`SECURITY.md`](SECURITY.md). Vulnerabilities must be reported privately by email, never via public issue.
314
190
 
315
- Ver [`SECURITY.md`](SECURITY.md). Vulnerabilidades devem ser reportadas em privado por email, nunca por issue público.
191
+ ---
316
192
 
317
- ## Licença
193
+ ## Licence
318
194
 
319
- Este repositório usa **split licensing**:
195
+ Split licensing:
320
196
 
321
- - código e runtime: [`LICENSE`](LICENSE) (`Apache-2.0`)
322
- - documentação e snapshots embutidos: [`LICENSE-DATA`](LICENSE-DATA) (`CC BY-SA 4.0`)
323
- - nota de mapeamento e atribuição: [`LICENSE-NOTE.md`](LICENSE-NOTE.md)
197
+ - code and runtime: [`LICENSE`](LICENSE) (`Apache-2.0`)
198
+ - documentation and bundled snapshots: [`LICENSE-DATA`](LICENSE-DATA) (`CC BY-SA 4.0`)
199
+ - mapping and attribution note: [`LICENSE-NOTE.md`](LICENSE-NOTE.md)
package/dist/config.js CHANGED
@@ -44,8 +44,6 @@ export function getConfig() {
44
44
  backend: {
45
45
  docsIndex: getEnv("SEMANTIC_BACKEND_DOCS_INDEX", "SbD-ToE-ASKAI-Docs"),
46
46
  entitiesIndex: getEnv("SEMANTIC_BACKEND_ENTITIES_INDEX", "SbD-ToE-ASKAI-Entities"),
47
- docsHits: parseInteger("DOCS_HITS", getEnv("DOCS_HITS", "8"), 8),
48
- entitiesHits: parseInteger("ENTITIES_HITS", getEnv("ENTITIES_HITS", "5"), 5),
49
47
  maxContextRecords: parseInteger("MAX_CONTEXT_RECORDS", getEnv("MAX_CONTEXT_RECORDS", "8"), 8),
50
48
  upstreamRepoDir: getEnv("UPSTREAM_KNOWLEDGE_GRAPH_DIR", "../sbd-toe-knowledge-graph"),
51
49
  checkoutFile: getEnv("BACKEND_CHECKOUT_FILE", "./data/upstream/backend-checkout.json"),
@@ -68,7 +66,6 @@ export function getConfig() {
68
66
  },
69
67
  prompt: {
70
68
  systemPromptFile: getEnv("SYSTEM_PROMPT_FILE", "./prompts/sbd-toe-chat-system.md"),
71
- defaultLanguage: getEnv("DEFAULT_LANGUAGE", "pt-PT"),
72
69
  siteBaseUrl: normalizeBaseUrl(getEnv("SITE_BASE_URL", "https://www.securitybydesign.dev/")),
73
70
  manualBaseUrl: normalizeBaseUrl(getEnv("MANUAL_BASE_URL", "https://www.securitybydesign.dev/sbd-toe/sbd-manual/")),
74
71
  crossCheckBaseUrl: normalizeBaseUrl(getEnv("CROSS_CHECK_BASE_URL", "https://www.securitybydesign.dev/sbd-toe/cross-check-normativo/")),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -269,7 +269,6 @@ export function handleMapSbdToeApplicability(args, cache) {
269
269
  };
270
270
  throw Object.assign(new Error(err.message), { rpcError: err });
271
271
  }
272
- const hasPersonalData = typeof args["hasPersonalData"] === "boolean" ? args["hasPersonalData"] : false;
273
272
  const items = getEntityItems(cache);
274
273
  const allChapterIds = new Set();
275
274
  for (const item of items) {
@@ -1 +1 @@
1
- {"version":3,"file":"structured-tools.js","sourceRoot":"","sources":["../../src/tools/structured-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structured-tools.js","sourceRoot":"","sources":["../../src/tools/structured-tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,8 +7,6 @@ export interface AppConfig {
7
7
  backend: {
8
8
  docsIndex: string;
9
9
  entitiesIndex: string;
10
- docsHits: number;
11
- entitiesHits: number;
12
10
  maxContextRecords: number;
13
11
  upstreamRepoDir: string;
14
12
  checkoutFile: string;
@@ -25,7 +23,6 @@ export interface AppConfig {
25
23
  };
26
24
  prompt: {
27
25
  systemPromptFile: string;
28
- defaultLanguage: string;
29
26
  siteBaseUrl: string;
30
27
  manualBaseUrl: string;
31
28
  crossCheckBaseUrl: string;
@@ -84,10 +84,8 @@ function parseHTMLCommentSection(content) {
84
84
  result.ai_assisted = aiValue === 'true' ? true : aiValue === 'false' ? false : null;
85
85
  // Parse remaining key:value pairs (MODEL, DATE, PURPOSE, etc.)
86
86
  // Pattern: KEY: VALUE (comma-separated)
87
- const pairs = fullComment
88
- .replace(/<!--\s*/, '')
89
- .replace(/\s*-->/g, '')
90
- .split(',');
87
+ // Extract inner content of <!-- ... --> using slice to avoid HTML-manipulation patterns.
88
+ const pairs = fullComment.slice(4, -3).trim().split(',');
91
89
  for (let i = 1; i < pairs.length; i++) {
92
90
  const pairRaw = pairs[i];
93
91
  const pair = pairRaw !== undefined ? pairRaw.trim() : '';
@@ -1 +1 @@
1
- {"version":3,"file":"ai-disclosure.js","sourceRoot":"","sources":["../../src/validators/ai-disclosure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-disclosure.js","sourceRoot":"","sources":["../../src/validators/ai-disclosure.ts"],"names":[],"mappings":"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"}