@shiftleftpt/sbd-toe-mcp 0.20.0-beta.25 → 0.20.0-beta.27
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/assets/agent-guide.md +8 -1
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/serving/activation-vocabulary.d.ts +14 -0
- package/dist/serving/activation-vocabulary.js +23 -1
- package/dist/serving/activation-vocabulary.js.map +1 -1
- package/dist/serving/agent-guide.d.ts +9 -0
- package/dist/serving/agent-guide.js +33 -1
- package/dist/serving/agent-guide.js.map +1 -1
- package/dist/serving/selection.d.ts +57 -0
- package/dist/serving/selection.js +60 -9
- package/dist/serving/selection.js.map +1 -1
- package/dist/tools/consult-security-requirements.d.ts +37 -0
- package/dist/tools/consult-security-requirements.js +80 -3
- package/dist/tools/consult-security-requirements.js.map +1 -1
- package/dist/tools/get-threat-landscape.js +91 -3
- package/dist/tools/get-threat-landscape.js.map +1 -1
- package/dist/tools/get-verification-matrix.d.ts +8 -0
- package/dist/tools/get-verification-matrix.js +16 -2
- package/dist/tools/get-verification-matrix.js.map +1 -1
- package/dist/tools/map-regulatory-activation.d.ts +4 -0
- package/dist/tools/map-regulatory-activation.js +13 -1
- package/dist/tools/map-regulatory-activation.js.map +1 -1
- package/dist/tools/prepare-codegen-context.js +31 -7
- package/dist/tools/prepare-codegen-context.js.map +1 -1
- package/dist/tools/select-requirements.d.ts +31 -1
- package/dist/tools/select-requirements.js +56 -3
- package/dist/tools/select-requirements.js.map +1 -1
- package/package.json +1 -1
|
@@ -244,7 +244,7 @@ export function _resolveThreatLandscape(args, ontologyData) {
|
|
|
244
244
|
activeChapters: [...activeChapterNumbers].sort((a, b) => a - b).map(String),
|
|
245
245
|
activeBundles: [...activeBundles].sort(),
|
|
246
246
|
concernsApplied: consult.meta.concernsApplied,
|
|
247
|
-
note: "Threat applicability resolves from consult-mode requirement scope; the defining chapters of activated controls count as in-scope (G-b 2026-08-30). mitigation_confidence uses direct control references first, then chapter/bundle or antipattern-derived alignment, then heuristic domain fallback.",
|
|
247
|
+
note: "Threat applicability resolves from consult-mode requirement scope; the defining chapters of activated controls count as in-scope (G-b 2026-08-30). mitigation_confidence uses direct control references first, then chapter/bundle or antipattern-derived alignment, then heuristic domain fallback. ORDEM (0.20.0-beta.26): as ameaças vêm ordenadas por mitigation_confidence e, dentro do mesmo grau, por chapter_id — NÃO é um ranking de relevância para a tua tarefa, e a paginação segue essa mesma ordem. Não presumas que as primeiras são as mais relevantes; para reduzir o âmbito, declara `concerns`.",
|
|
248
248
|
},
|
|
249
249
|
};
|
|
250
250
|
}
|
|
@@ -266,12 +266,100 @@ export function handleGetThreatLandscape(args) {
|
|
|
266
266
|
: [];
|
|
267
267
|
const support = declaredConcerns.length > 0 ? threatConcernSupport() : { supported: [], unsupported: [] };
|
|
268
268
|
const unsupportedHere = declaredConcerns.filter((c) => support.unsupported.includes(c));
|
|
269
|
+
// beta.27: valores FORA do vocabulário eram ignorados em silêncio aqui (o `select`
|
|
270
|
+
// declara-os em `unknown_concerns` desde a beta.22). Mesma classe, quarta instância —
|
|
271
|
+
// apanhada pela invariante entre superfícies, não por um avaliador.
|
|
272
|
+
// A fonte de «conhecido» é o VOCABULÁRIO, não a sondagem de suporte: `threatConcernSupport()`
|
|
273
|
+
// devolve listas vazias enquanto está a sondar (guarda de recursão), e usá-la aqui fazia a
|
|
274
|
+
// cache classificar TODOS os concerns como desconhecidos — resultado dependente da ordem
|
|
275
|
+
// da primeira chamada. Apanhado pela suite antes de sair da lane.
|
|
276
|
+
const knownConcerns = new Set(buildActivationVocabulary().concerns.values.map((c) => String(c.value)));
|
|
277
|
+
const unknownHere = declaredConcerns.filter((c) => !knownConcerns.has(c));
|
|
278
|
+
/**
|
|
279
|
+
* 0.20.0-beta.26 (§17-C) — quando TODOS os concerns declarados são não-roteáveis, o
|
|
280
|
+
* roteamento cai para o âmbito largo e devolve ~25 ameaças de GOVERNAÇÃO (MT-001..025,
|
|
281
|
+
* 8,4k tk) que não têm nada a ver com o que foi pedido. Cobrar esse payload para dizer
|
|
282
|
+
* «não sei» é o oposto do contrato: agora pede DECLARAÇÃO, com a lista do que resolve.
|
|
283
|
+
*/
|
|
284
|
+
const allUnsupported = declaredConcerns.length > 0 && unsupportedHere.length + unknownHere.length === declaredConcerns.length;
|
|
285
|
+
if (allUnsupported) {
|
|
286
|
+
return {
|
|
287
|
+
provenance: {
|
|
288
|
+
kg: servedKgReleaseTag(),
|
|
289
|
+
server: servingServerVersion(),
|
|
290
|
+
content_type: "derived",
|
|
291
|
+
produced_by: "threat_resolution_pipeline",
|
|
292
|
+
source_data: "runtime/v1/manual_threat_mitigation.jsonl + activation vocabulary",
|
|
293
|
+
note: "Pedido de DECLARAÇÃO, não resultado: nenhum dos concerns declarados é roteável por este mapa."
|
|
294
|
+
},
|
|
295
|
+
risk_level: full.risk_level,
|
|
296
|
+
threats: [],
|
|
297
|
+
/**
|
|
298
|
+
* A garantia da beta.23 mantém-se LITERAL: quem aprendeu a ler
|
|
299
|
+
* `unsupported_concerns` continua a lê-lo. O `needs_input` acrescenta-se — não
|
|
300
|
+
* substitui. Uma promessa cumprida não se retira por se ter arranjado melhor.
|
|
301
|
+
*/
|
|
302
|
+
unsupported_concerns: {
|
|
303
|
+
values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
|
|
304
|
+
supported_values: support.supported,
|
|
305
|
+
note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
|
|
306
|
+
"Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa. Como são TODOS os que declaraste, " +
|
|
307
|
+
"a resposta é um pedido de declaração (`needs_input`) em vez de um panorama largo que não pediste. " +
|
|
308
|
+
"NÃO concluas ausência de ameaças a partir desta resposta: para estes concerns usa select_sbd_toe_requirements."
|
|
309
|
+
},
|
|
310
|
+
needs_input: {
|
|
311
|
+
reason: `Nenhum dos concerns declarados (${[...new Set(declaredConcerns)].sort().join(", ")}) é roteável pelo mapa de ameaças` +
|
|
312
|
+
(unknownHere.length > 0 ? ` (fora do vocabulário: ${[...new Set(unknownHere)].sort().join(", ")})` : "") + ". " +
|
|
313
|
+
"Sem esta paragem a resposta seria o âmbito largo — ameaças de GOVERNAÇÃO sem relação com o que pediste, " +
|
|
314
|
+
"a custo de payload cheio, para acabar a dizer que não sabe. Zero útil não é uma resposta.",
|
|
315
|
+
supported_concerns: support.supported,
|
|
316
|
+
note: "Estes concerns TÊM requisitos — o que falta é roteamento de AMEAÇAS. Para eles usa " +
|
|
317
|
+
"`select_sbd_toe_requirements` com os mesmos concerns; para ameaças, declara um valor de `supported_concerns` " +
|
|
318
|
+
"(ou chama sem `concerns` se queres mesmo o panorama largo, sabendo que é largo).",
|
|
319
|
+
next: [
|
|
320
|
+
{ intent: "Requisitos dos concerns que declaraste (existem)", tool: "select_sbd_toe_requirements", with: `risk_level="${full.risk_level}", concerns=[${declaredConcerns.map((c) => `"${c}"`).join(", ")}]`, kind: "structural" },
|
|
321
|
+
{ intent: "Ameaças de um concern que este mapa resolve", tool: "get_threat_landscape", with: `risk_level="${full.risk_level}", concerns=["${support.supported[0] ?? "auth"}"]`, kind: "structural" }
|
|
322
|
+
]
|
|
323
|
+
},
|
|
324
|
+
meta: {
|
|
325
|
+
threatCount: 0,
|
|
326
|
+
activeChapters: [],
|
|
327
|
+
activeBundles: [],
|
|
328
|
+
concernsApplied: declaredConcerns,
|
|
329
|
+
note: "needs_input: nenhum concern roteável declarado. Nada foi resolvido — e por isso nada é cobrado."
|
|
330
|
+
},
|
|
331
|
+
coverage: { total: 0, returned: 0, offset: 0, nextOffset: null, hasMore: false },
|
|
332
|
+
// RF-H: a banda `next` está em TODAS as respostas — um pedido de declaração também
|
|
333
|
+
// é uma resposta. Apanhado pela suite de affordances antes de sair da lane.
|
|
334
|
+
next: threatLandscapeAffordances(full.risk_level, support.supported.slice(0, 2))
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* 0.20.0-beta.27 — o concern RESOLVE mas o NÍVEL não traz capítulos: zero ameaças sem
|
|
339
|
+
* uma palavra. Mesma classe do `empty_at_level` do consult, encontrada pela invariante
|
|
340
|
+
* entre superfícies (privacy@L1, threat_modeling@L1).
|
|
341
|
+
*/
|
|
342
|
+
const emptyByLevel = declaredConcerns.length > 0 &&
|
|
343
|
+
unsupportedHere.length === 0 &&
|
|
344
|
+
unknownHere.length === 0 &&
|
|
345
|
+
full.threats.length === 0;
|
|
269
346
|
const shaped = {
|
|
270
347
|
...full,
|
|
271
|
-
...(
|
|
348
|
+
...(emptyByLevel
|
|
349
|
+
? {
|
|
350
|
+
empty_at_level: {
|
|
351
|
+
concerns: [...new Set(declaredConcerns)].sort(),
|
|
352
|
+
level: full.risk_level,
|
|
353
|
+
note: `Os concerns declarados são roteáveis, mas a ${full.risk_level} não activam capítulo nenhum — por isso zero ameaças. ` +
|
|
354
|
+
"NÃO é ausência de ameaças nem «não aplicável»: é o NÍVEL. Confirma noutro nível ou com " +
|
|
355
|
+
"`select_sbd_toe_requirements`, e não apresentes este vazio como «manual-grounded»."
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
: {}),
|
|
359
|
+
...(unsupportedHere.length + unknownHere.length > 0
|
|
272
360
|
? {
|
|
273
361
|
unsupported_concerns: {
|
|
274
|
-
values: [...new Set(unsupportedHere)].sort(),
|
|
362
|
+
values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
|
|
275
363
|
supported_values: support.supported,
|
|
276
364
|
note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
|
|
277
365
|
"Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa, que cobre os domínios listados em supported_values. " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AA6DhF,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAqC;IAClE,OAAO,EAAE,EAAE;IACX,GAAG,EAAE,CAAC;IACN,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,IAAI,aAAa,GAA0D,IAAI,CAAC;AAChF,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,MAAM,UAAU,oBAAoB;IAClC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,IAAI,cAAc;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC9D,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,yBAAyB,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,wBAAwB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,aAAa,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;IACjF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAA2B,EAC3B,2BAAyD,EACzD,sBAA+C;IAM/C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAC7E,CAAC;IAEF,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAA6B,EAC7B,YAAgD;IAEhD,MAAM,EACJ,OAAO,EAAE,UAAU,EACnB,YAAY,GAAG,EAAE,EACjB,2BAA2B,GAAG,EAAE,EAChC,sBAAsB,GAAG,EAAE,GAC5B,GAAG,YAAY,CAAC;IAEjB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CACtE,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,EAAE;KACzD,CAAC,CAAC,CAAC;IACJ,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC,CAAE,IAAI,CAAC,UAAU,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7C,+EAA+E;IAC/E,oFAAoF;IACpF,sFAAsF;IACtF,4EAA4E;IAC5E,gFAAgF;IAChF,iFAAiF;IACjF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,SAAS;YAAE,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3E,CAAC;IACD,qFAAqF;IACrF,sFAAsF;IACtF,8DAA8D;IAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACrD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,kFAAkF;IAClF,sFAAsF;IACtF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACpG,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,oFAAoF;IACpF,kFAAkF;IAClF,2BAA2B;IAC3B,MAAM,iBAAiB,GACrB,CAAC,WAAW;QACZ,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC;QACtC,eAAe,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,aAAa,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACjE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC;oBACZ,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,EACJ,eAAe,EACf,2BAA2B,EAC3B,sBAAsB,GACvB,GAAG,uBAAuB,CAAC,YAAY,EAAE,2BAA2B,EAAE,sBAAsB,CAAC,CAAC;IAE/F,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACjF,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAChC,CAAC;QACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAErE,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzE,MAAM,oBAAoB,GAAyB,qBAAqB;aACrE,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;YACrB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW;gBAAE,OAAO,SAAS,CAAC;YACnC,MAAM,sBAAsB,GAAG;gBAC7B,GAAG,IAAI,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aACjE,CAAC;YACF,OAAO;gBACL,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,wBAAwB,EAAE,sBAAsB;aACjD,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAEpE,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACzE,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAC1D,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CACxC,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrF,MAAM,YAAY,GAChB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtF,MAAM,YAAY,GAAG,WAAW,IAAI,YAAY,IAAI,wBAAwB,CAAC;QAE7E,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACxD,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACvD,CAAC;QAEF,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,qBAAoE,CAAC;QACzE,IAAI,YAAiC,CAAC;QAEtC,IAAI,WAAW,EAAE,CAAC;YAChB,qBAAqB,GAAG,QAAQ,CAAC;YACjC,YAAY,GAAG,cAAc;iBAC1B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBAClE,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,qBAAqB,GAAG,SAAS,CAAC;YAClC,YAAY,GAAG,eAAe,CAAC;QACjC,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,qBAAqB,GAAG,SAAS,CAAC;YAClC,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,qBAAqB,GAAG,WAAW,CAAC;YACpC,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,MAAM;YACT,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,UAAU;YAChB,qBAAqB;YACrB,YAAY;YACZ,oBAAoB;YACpB,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,EAAE;SAChE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAW,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7F,IAAI,eAAe,KAAK,CAAC;YAAE,OAAO,eAAe,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,cAAc,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3E,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE;YACxC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe;YAC7C,IAAI,EACF,olBAAolB;SACvlB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA6B;IAE7B,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9D,oFAAoF;IACpF,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC5B,8EAA8E;IAC9E,oFAAoF;IACpF,gFAAgF;IAChF,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAE,IAAI,CAAC,UAAU,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC1G,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,mFAAmF;IACnF,sFAAsF;IACtF,oEAAoE;IACpE,8FAA8F;IAC9F,2FAA2F;IAC3F,yFAAyF;IACzF,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E;;;;;OAKG;IACH,MAAM,cAAc,GAClB,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC;IACzG,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;YACL,UAAU,EAAE;gBACV,EAAE,EAAE,kBAAkB,EAAE;gBACxB,MAAM,EAAE,oBAAoB,EAAE;gBAC9B,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,4BAA4B;gBACzC,WAAW,EAAE,mEAAmE;gBAChF,IAAI,EAAE,+FAA+F;aACtG;YACD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,EAAE;YACX;;;;eAIG;YACH,oBAAoB,EAAE;gBACpB,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACjE,gBAAgB,EAAE,OAAO,CAAC,SAAS;gBACnC,IAAI,EACF,sEAAsE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACzH,qGAAqG;oBACrG,oGAAoG;oBACpG,gHAAgH;aACnH;YACD,WAAW,EAAE;gBACX,MAAM,EACJ,mCAAmC,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC;oBACtH,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;oBAC/G,0GAA0G;oBAC1G,2FAA2F;gBAC7F,kBAAkB,EAAE,OAAO,CAAC,SAAS;gBACrC,IAAI,EACF,qFAAqF;oBACrF,+GAA+G;oBAC/G,kFAAkF;gBACpF,IAAI,EAAE;oBACJ,EAAE,MAAM,EAAE,kDAAkD,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,UAAU,gBAAgB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAqB,EAAE;oBACzO,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,UAAU,iBAAiB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,IAAI,EAAE,YAAqB,EAAE;iBAC9M;aACF;YACD,IAAI,EAAE;gBACJ,WAAW,EAAE,CAAC;gBACd,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,EAAE;gBACjB,eAAe,EAAE,gBAAgB;gBACjC,IAAI,EAAE,iGAAiG;aACxG;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAChF,mFAAmF;YACnF,4EAA4E;YAC5E,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1C,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,YAAY,GAChB,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC3B,eAAe,CAAC,MAAM,KAAK,CAAC;QAC5B,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG;QACb,GAAG,IAAI;QACP,GAAG,CAAC,YAAY;YACd,CAAC,CAAC;gBACE,cAAc,EAAE;oBACd,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC/C,KAAK,EAAE,IAAI,CAAC,UAAU;oBACtB,IAAI,EACF,+CAA+C,IAAI,CAAC,UAAU,wDAAwD;wBACtH,yFAAyF;wBACzF,oFAAoF;iBACvF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC;gBACE,oBAAoB,EAAE;oBACpB,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACjE,gBAAgB,EAAE,OAAO,CAAC,SAAS;oBACnC,IAAI,EACF,sEAAsE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;wBACzH,uHAAuH;wBACvH,2HAA2H;wBAC3H,oGAAoG;iBACvG;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,EAAE;QAC7H,UAAU,EAAE;YACV,EAAE,EAAE,kBAAkB,EAAE;YACxB,MAAM,EAAE,oBAAoB,EAAE;YAC9B,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,4BAA4B;YACzC,WAAW,EACT,kQAAkQ;YACpQ,IAAI,EACF,gKAAgK;SACnK;QACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,wEAAwE;YACxE,gFAAgF;YAChF,uEAAuE;YACvE,uEAAuE;YACvE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;YACrD,mGAAmG;YACnG,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,EAAE;YAC/D,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE;YAC3D,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,MAAM,CAAC,iCAAiC;gBAC1C,CAAC,CAAC,EAAE,iCAAiC,EAAE,MAAM,CAAC,iCAAiC,EAAE;gBACjF,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAC;QACH,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC;KAC1F,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,EAAyC,CAAC;AACnG,CAAC"}
|
|
@@ -45,6 +45,14 @@ export interface VerificationMatrixData {
|
|
|
45
45
|
coverage_gaps: {
|
|
46
46
|
requirements_without_evidence_pattern: number;
|
|
47
47
|
sample: string[];
|
|
48
|
+
/**
|
|
49
|
+
* 0.20.0-beta.26 (P1-3, de beta.22): a ausência PARCIAL de campo também é lacuna.
|
|
50
|
+
* EP-ENC-001/003/006/007 existem e não trazem `validation_method`: a linha aparece,
|
|
51
|
+
* a coluna que a torna verificável não — e `coverage_gaps` dizia 0. Ter o padrão sem
|
|
52
|
+
* o método é meia cobertura, e meia cobertura declarada como total é a falha.
|
|
53
|
+
*/
|
|
54
|
+
evidence_patterns_without_validation_method: number;
|
|
55
|
+
evidence_patterns_without_validation_method_sample: string[];
|
|
48
56
|
note: string;
|
|
49
57
|
};
|
|
50
58
|
}
|
|
@@ -109,6 +109,11 @@ export function handleGetVerificationMatrix(args) {
|
|
|
109
109
|
const epReqIds = new Set(eps.map((e) => e.maps_to_requirement_id).filter(Boolean));
|
|
110
110
|
const applicableReqs = getOntologyData().requirements.filter((r) => r.applicable_levels[riskLevel]);
|
|
111
111
|
const missing = applicableReqs.filter((r) => !epReqIds.has(r.requirement_id)).map((r) => r.requirement_id);
|
|
112
|
+
// P1-3: EPs desta resposta que não publicam `validation_method` — ausência PARCIAL.
|
|
113
|
+
const withoutMethod = rows
|
|
114
|
+
.filter((r) => typeof r.validation_method !== "string" || r.validation_method.length === 0)
|
|
115
|
+
.map((r) => r.evidence_pattern_id)
|
|
116
|
+
.sort();
|
|
112
117
|
const offsetArg = args["offset"];
|
|
113
118
|
const limitArg = args["limit"];
|
|
114
119
|
const page = paginate(rows, {
|
|
@@ -133,8 +138,17 @@ export function handleGetVerificationMatrix(args) {
|
|
|
133
138
|
coverage_gaps: {
|
|
134
139
|
requirements_without_evidence_pattern: missing.length,
|
|
135
140
|
sample: missing.slice(0, 10),
|
|
136
|
-
|
|
137
|
-
|
|
141
|
+
evidence_patterns_without_validation_method: withoutMethod.length,
|
|
142
|
+
evidence_patterns_without_validation_method_sample: withoutMethod.slice(0, 10),
|
|
143
|
+
note:
|
|
144
|
+
// P1-4 (de beta.22): com n=0 não se declara lacuna nem encaminhamento que não existem.
|
|
145
|
+
(missing.length === 0
|
|
146
|
+
? `Todos os ${applicableReqs.length} requisitos aplicáveis a ${riskLevel} têm EvidencePattern — sem lacuna a declarar e sem encaminhamento em curso.`
|
|
147
|
+
: `${missing.length} of ${applicableReqs.length} ${riskLevel}-applicable requirements have no ` +
|
|
148
|
+
`EvidencePattern yet — declared gap; routed to Codex for verification-reference completion.`) +
|
|
149
|
+
(withoutMethod.length > 0
|
|
150
|
+
? ` COBERTURA PARCIAL: ${withoutMethod.length} EvidencePattern desta resposta não publicam \`validation_method\` (${withoutMethod.slice(0, 4).join(", ")}${withoutMethod.length > 4 ? ", …" : ""}) — a linha existe, o método de validação não. Não os apresentes como verificáveis.`
|
|
151
|
+
: "")
|
|
138
152
|
}
|
|
139
153
|
},
|
|
140
154
|
provenance: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-verification-matrix.js","sourceRoot":"","sources":["../../src/tools/get-verification-matrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAqB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAE1F,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAoB/C,IAAI,SAAwC,CAAC;AAC7C,SAAS,oBAAoB;IAC3B,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,6CAA6C,CAAC,EAAE,OAAO,CAAC,CAE7G,CAAC;QACF,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,EAAE,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAwC,EAAE,KAAgB;IACpF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,0BAA0B;IACpF,MAAM,KAAK,GAA8B,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-verification-matrix.js","sourceRoot":"","sources":["../../src/tools/get-verification-matrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,12 @@ export interface ActivatedArea {
|
|
|
21
21
|
mapping_count: number;
|
|
22
22
|
/** Distinct obligations of the framework that touch this area. */
|
|
23
23
|
obligation_count: number;
|
|
24
|
+
/** 0.20.0-beta.26: os ids das obrigações desta área — poupa a viagem ao resolve_entities. */
|
|
25
|
+
obligation_ids: string[];
|
|
24
26
|
/** Mapping counts broken down by target type (Practice/Requirement/Control/…). */
|
|
25
27
|
by_target_type: Record<string, number>;
|
|
28
|
+
/** 0.20.0-beta.26: diz o que a citação É (artigo do diploma), para "30"/"25" não passarem por contagens. */
|
|
29
|
+
example_citation_note?: string;
|
|
26
30
|
/** A representative citation from the framework for this area (first non-empty). */
|
|
27
31
|
example_citation?: string;
|
|
28
32
|
}
|
|
@@ -97,8 +97,20 @@ export function handleMapRegulatoryActivation(args) {
|
|
|
97
97
|
chapter,
|
|
98
98
|
mapping_count: g.count,
|
|
99
99
|
obligation_count: g.obligations.size,
|
|
100
|
+
/**
|
|
101
|
+
* 0.20.0-beta.26 (§17-D): os IDs, não só a contagem. Antes o consumidor via
|
|
102
|
+
* `obligation_count: 7` e tinha de ir ao `resolve_entities` adivinhar quais —
|
|
103
|
+
* uma viagem inteira para obter o que já estava calculado aqui.
|
|
104
|
+
*/
|
|
105
|
+
obligation_ids: [...g.obligations].sort(),
|
|
100
106
|
by_target_type: g.byType,
|
|
101
|
-
...(g.citation
|
|
107
|
+
...(g.citation
|
|
108
|
+
? {
|
|
109
|
+
example_citation: g.citation,
|
|
110
|
+
example_citation_note: `Citação do texto do framework (ex.: "${g.citation}" é o ARTIGO/secção do diploma, não um id do manual nem uma contagem). ` +
|
|
111
|
+
"Os ids das obrigações estão em `obligation_ids`."
|
|
112
|
+
}
|
|
113
|
+
: {})
|
|
102
114
|
}));
|
|
103
115
|
const distinctObligations = new Set(mappings.map((m) => m.obligation_id).filter(Boolean)).size;
|
|
104
116
|
// Coverage-preserving pagination over the activated areas.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-regulatory-activation.js","sourceRoot":"","sources":["../../src/tools/map-regulatory-activation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAA0B,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAqB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAGjB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"map-regulatory-activation.js","sourceRoot":"","sources":["../../src/tools/map-regulatory-activation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2172,8 +2172,17 @@ function applyStructuralDiet(result, detail, includeRelations) {
|
|
|
2172
2172
|
repeat_call_hint: REPEAT_CALL_HINT,
|
|
2173
2173
|
provenance: result.provenance
|
|
2174
2174
|
};
|
|
2175
|
-
if (result.debug)
|
|
2176
|
-
|
|
2175
|
+
if (result.debug) {
|
|
2176
|
+
// 0.20.0-beta.26 (§17-A, menor): a nota contava o cap CLÁSSICO (returned=25) mesmo
|
|
2177
|
+
// quando o nível dietado devolvia 5 — o número que o consumidor lia não era o que
|
|
2178
|
+
// recebeu. Passa a contar o efectivo, dizendo qual é o cap deste `detail`.
|
|
2179
|
+
dieted.debug = {
|
|
2180
|
+
...result.debug,
|
|
2181
|
+
notes: result.debug.notes.map((note) => note.startsWith("evidence_patterns: total=")
|
|
2182
|
+
? `evidence_patterns: total=${evidenceTotal} returned=${evidenceKept.length} capped=${evidenceCapped} (cap efectivo do detail="${detail}": ${evidenceCap}; cap clássico: ${EVIDENCE_PATTERN_CAP})`
|
|
2183
|
+
: note)
|
|
2184
|
+
};
|
|
2185
|
+
}
|
|
2177
2186
|
return dieted;
|
|
2178
2187
|
}
|
|
2179
2188
|
export function handlePrepareCodegenContext(raw) {
|
|
@@ -2390,14 +2399,29 @@ function prepareCodegenContextCore(raw) {
|
|
|
2390
2399
|
}
|
|
2391
2400
|
return projection;
|
|
2392
2401
|
}
|
|
2402
|
+
/**
|
|
2403
|
+
* 0.20.0-beta.26 (§17-A) — ORDENAÇÃO POR PERTENÇA AO ÂMBITO.
|
|
2404
|
+
*
|
|
2405
|
+
* A ordenação anterior dava 1.0 a qualquer EP ligado a um CONTROLO directo e só 0.7 ao
|
|
2406
|
+
* EP ligado a um REQUISITO do âmbito activado: a pertença ao controlo ganhava à pertença
|
|
2407
|
+
* ao requisito, e o desempate por id fazia o resto. Efeito medido: numa tarefa de
|
|
2408
|
+
* validação (âmbito ERR/VAL) vinham 5 em 5 EPs de fora — EP-API-002/003/007, EP-AUT-010,
|
|
2409
|
+
* EP-CFG-005 — e nem um EP-VAL/EP-ERR; em `auth` funcionava por SORTE ALFABÉTICA
|
|
2410
|
+
* (ACC < API < AUT < CFG < ERR < VAL). Pior: em «exigir reautenticação» o `minimal`
|
|
2411
|
+
* omitia EP-AUT-009, o padrão do requisito que a tarefa NOMEIA.
|
|
2412
|
+
*
|
|
2413
|
+
* Isto não é um modelo de relevância — é uma comparação de PERTENÇA, e é por isso que
|
|
2414
|
+
* pode ser uma invariante testável: o requisito do âmbito activado vem primeiro, depois
|
|
2415
|
+
* o controlo directo, depois o derivado, e o id só desempata dentro do mesmo escalão.
|
|
2416
|
+
*/
|
|
2393
2417
|
const scoredEvidencePatterns = v0.evidencePatterns.map((pattern) => {
|
|
2394
2418
|
let score = 0;
|
|
2395
|
-
if (pattern.maps_to_control_id &&
|
|
2396
|
-
directControlIds.has(pattern.maps_to_control_id)) {
|
|
2397
|
-
score = Math.max(score, 1.0);
|
|
2398
|
-
}
|
|
2399
2419
|
if (pattern.maps_to_requirement_id &&
|
|
2400
2420
|
activeRequirementIdsForEvidence.has(pattern.maps_to_requirement_id)) {
|
|
2421
|
+
score = Math.max(score, 1.0);
|
|
2422
|
+
}
|
|
2423
|
+
if (pattern.maps_to_control_id &&
|
|
2424
|
+
directControlIds.has(pattern.maps_to_control_id)) {
|
|
2401
2425
|
score = Math.max(score, 0.7);
|
|
2402
2426
|
}
|
|
2403
2427
|
if (pattern.maps_to_control_id &&
|
|
@@ -2610,7 +2634,7 @@ function prepareCodegenContextCore(raw) {
|
|
|
2610
2634
|
trigger: pattern.maps_to_control_id ?? pattern.maps_to_requirement_id ?? "<no anchor>",
|
|
2611
2635
|
score,
|
|
2612
2636
|
confidence: "deterministic",
|
|
2613
|
-
reason: `Evidence pattern dropped by
|
|
2637
|
+
reason: `Evidence pattern dropped by the scope-membership cap (cap=${EVIDENCE_PATTERN_CAP}); within a membership tier the order is by id, not by relevance.`
|
|
2614
2638
|
}));
|
|
2615
2639
|
result.debug = {
|
|
2616
2640
|
rejected_candidates: [...activation.rejected, ...cappedEntries],
|