@shiftleftpt/sbd-toe-mcp 0.10.2 → 0.10.3

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 (28) hide show
  1. package/consumed-bundle.json +11 -11
  2. package/data/entities/proportionality.json +3 -3
  3. package/data/entities/sdlc_integration.json +3 -3
  4. package/data/publish/indexes/bundle_catalog.jsonl +1 -1
  5. package/data/publish/indexes/canonical_chunks.jsonl +4903 -4902
  6. package/data/publish/indexes/chunk_entity_mentions.jsonl +9 -25
  7. package/data/publish/indexes/mcp_chunks.jsonl +125 -124
  8. package/data/publish/indexes/publication_manifest.json +8 -8
  9. package/data/publish/overlay/framework_overlay_index.json +18 -0
  10. package/data/publish/overlay/overlay_mappings.jsonl +120 -45
  11. package/data/publish/runtime/controls.json +27 -25
  12. package/data/publish/runtime/deterministic_manifest.json +1 -1
  13. package/data/publish/runtime/evidence_patterns.json +24 -24
  14. package/data/publish/runtime/requirement_control_links.json +334 -162
  15. package/data/publish/runtime/v1/manual_maturity_progression.jsonl +336 -336
  16. package/data/publish/runtime/v1/manual_rastreabilidade.jsonl +1105 -1105
  17. package/data/publish/runtime/v1/manual_threat_mitigation.jsonl +523 -523
  18. package/data/publish/runtime/v1/v1_manifest.json +5 -5
  19. package/data/reports/run_manifest.json +8 -8
  20. package/dist/index.js +4 -4
  21. package/dist/index.js.map +1 -1
  22. package/dist/tools/plan-repo-governance.d.ts +1 -2
  23. package/dist/tools/plan-repo-governance.js +19 -49
  24. package/dist/tools/plan-repo-governance.js.map +1 -1
  25. package/dist/tools/structured-tools.d.ts +4 -5
  26. package/dist/tools/structured-tools.js +87 -122
  27. package/dist/tools/structured-tools.js.map +1 -1
  28. package/package.json +3 -2
@@ -87,12 +87,6 @@ function getStrArr(record, key) {
87
87
  return [];
88
88
  return val.filter((v) => typeof v === "string");
89
89
  }
90
- function getEntityItems(cache) {
91
- return cache.entities.items ?? [];
92
- }
93
- function hasProvidedCache(cache) {
94
- return cache !== undefined;
95
- }
96
90
  function loadJsonLines(relativePath) {
97
91
  const path = resolveAppPath(relativePath);
98
92
  return readFileSync(path, "utf8")
@@ -123,48 +117,15 @@ function summarizeChunkText(text) {
123
117
  .trim();
124
118
  return compact.length > 0 ? compact : undefined;
125
119
  }
126
- export function handleListSbdToeChapters(args, cache) {
127
- return { ...handleListSbdToeChaptersCore(args, cache), next: listChaptersAffordances() };
120
+ export function handleListSbdToeChapters(args) {
121
+ return { ...handleListSbdToeChaptersCore(args), next: listChaptersAffordances() };
128
122
  }
129
- function handleListSbdToeChaptersCore(args, cache) {
123
+ function handleListSbdToeChaptersCore(args) {
130
124
  const riskLevelArg = args["riskLevel"];
131
125
  if (riskLevelArg !== undefined && !isValidRiskLevel(riskLevelArg)) {
132
126
  throw new Error(`riskLevel inválido: "${String(riskLevelArg)}". Valores permitidos: L1, L2, L3.`);
133
127
  }
134
128
  const riskLevel = isValidRiskLevel(riskLevelArg) ? riskLevelArg : undefined;
135
- if (hasProvidedCache(cache)) {
136
- const items = getEntityItems(cache);
137
- const seen = new Set();
138
- const chapters = [];
139
- for (const item of items) {
140
- const oid = getStr(item, "objectID") ?? "";
141
- const entityType = getStr(item, "entity_type");
142
- const chapterId = getStr(item, "chapter_id");
143
- const isChapterRecord = entityType === "chapter_bundle" ||
144
- oid.startsWith("cap-") ||
145
- oid.startsWith("ch-") ||
146
- oid.toLowerCase().includes("chapter");
147
- if (!isChapterRecord)
148
- continue;
149
- const id = chapterId ?? oid;
150
- if (!id || seen.has(id))
151
- continue;
152
- if (riskLevel !== undefined) {
153
- const riskLevels = getStrArr(item, "risk_levels");
154
- if (!riskLevels.includes(riskLevel))
155
- continue;
156
- }
157
- seen.add(id);
158
- const title = getStr(item, "title") ?? id;
159
- chapters.push({
160
- id,
161
- title,
162
- readableTitle: READABLE_TITLES[id] ?? title,
163
- ...chapterApplicability(id),
164
- });
165
- }
166
- return { chapters };
167
- }
168
129
  const titleByChapter = new Map(loadBundleCatalog()
169
130
  .map((item) => [getStr(item, "bundle_id"), getStr(item, "title")])
170
131
  .filter((entry) => Boolean(entry[0] && entry[1])));
@@ -203,8 +164,8 @@ function exactEntityLookup(query) {
203
164
  }
204
165
  return undefined;
205
166
  }
206
- export async function handleQuerySbdToeEntities(args, cache) {
207
- const core = (await handleQuerySbdToeEntitiesCore(args, cache));
167
+ export async function handleQuerySbdToeEntities(args) {
168
+ const core = (await handleQuerySbdToeEntitiesCore(args));
208
169
  // Informative (not a gap): a cited, unpublished base-form id (illustrative REQ-NNN example
209
170
  // ids, CWE-/SHA- tokens) keeps the semantic path but says so — never silent, never aliased.
210
171
  const query = args["query"];
@@ -216,8 +177,7 @@ export async function handleQuerySbdToeEntities(args, cache) {
216
177
  }
217
178
  return { ...core, next: queryEntitiesAffordances() };
218
179
  }
219
- async function handleQuerySbdToeEntitiesCore(args, cache) {
220
- void cache;
180
+ async function handleQuerySbdToeEntitiesCore(args) {
221
181
  const query = args["query"];
222
182
  if (typeof query !== "string" || query.length < 1 || query.length > 200) {
223
183
  throw new Error('O argumento "query" é obrigatório e deve ter entre 1 e 200 caracteres.');
@@ -255,72 +215,99 @@ async function handleQuerySbdToeEntitiesCore(args, cache) {
255
215
  const riskLevel = isValidRiskLevel(riskLevelArg) ? riskLevelArg : undefined;
256
216
  const entityType = typeof args["entityType"] === "string" ? args["entityType"] : undefined;
257
217
  const chapterId = typeof args["chapterId"] === "string" ? args["chapterId"] : undefined;
218
+ // Filters select over `retrieved` — the FULL ranked list of chunks scored for the
219
+ // query (the gateway only slices `selected` to topK) — so a typed / level-scoped
220
+ // query has the whole corpus as its pool, not just the top-K.
221
+ const hasFilter = entityType !== undefined || chapterId !== undefined || riskLevel !== undefined;
258
222
  const bundle = await retrievePublishedContext(query, topK);
259
- let results = bundle.retrieved;
223
+ const pool = bundle.retrieved;
224
+ let results = pool;
260
225
  if (entityType !== undefined) {
261
- results = results.filter((r) => typeof r.raw["entity_type"] === "string" && r.raw["entity_type"] === entityType);
226
+ // The substrate carries no per-chunk `entity_type`; entity types reach a chunk through
227
+ // chunk_entity_mentions (joined by the gateway as `entity_mentions_flat`:
228
+ // Requirement / UserStory / Metric / Threat).
229
+ const wanted = normalizeEntityTypeToken(entityType);
230
+ results = results.filter((r) => chunkEntityTypeTokens(r.raw).some((t) => t === wanted));
262
231
  }
263
232
  if (chapterId !== undefined) {
233
+ // Chapter = the chunk's bundle (`bundle_id`, surfaced as `chapter`); accepts the full
234
+ // bundle id or its numeric prefix ("06" → "06-desenvolvimento-seguro").
264
235
  results = results.filter((r) => {
265
- const rawChapterId = r.raw["chapter_id"];
236
+ const bundleId = r.raw["bundle_id"];
266
237
  return ((typeof r.chapter === "string" && r.chapter.includes(chapterId)) ||
267
- (typeof rawChapterId === "string" && rawChapterId === chapterId));
238
+ (typeof bundleId === "string" && (bundleId === chapterId || bundleId.startsWith(chapterId))));
268
239
  });
269
240
  }
270
241
  if (riskLevel !== undefined) {
271
- results = results.filter((r) => {
272
- const rls = r.raw["risk_levels"];
273
- return Array.isArray(rls) && rls.includes(riskLevel);
274
- });
242
+ // Risk facet: `filter_tags.risk_level` (contract v1.4 faceting). Strict: a chunk
243
+ // without a risk facet does not match — declared below.
244
+ results = results.filter((r) => chunkRiskLevels(r.raw).includes(riskLevel));
275
245
  }
276
246
  // Strip internal fields (raw Algolia record, scoring) — not useful to the agent.
277
247
  const entities = results.slice(0, topK).map(
278
248
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
279
249
  ({ raw, algoliaRank, localScore, indexName, ...rest }) => rest);
280
- return { entities, total: results.length };
250
+ if (!hasFilter)
251
+ return { entities, total: results.length };
252
+ const withRiskFacet = riskLevel === undefined ? undefined : pool.filter((r) => chunkRiskLevels(r.raw).length > 0).length;
253
+ return {
254
+ entities,
255
+ total: results.length,
256
+ filters: {
257
+ applied: {
258
+ ...(entityType !== undefined ? { entityType } : {}),
259
+ ...(chapterId !== undefined ? { chapterId } : {}),
260
+ ...(riskLevel !== undefined ? { riskLevel } : {}),
261
+ },
262
+ retrieval_pool: pool.length,
263
+ matched: results.length,
264
+ ...(withRiskFacet !== undefined ? { pool_with_risk_facet: withRiskFacet } : {}),
265
+ note: "Filters select over the full ranked retrieval for the query. entityType matches the entity " +
266
+ "types a chunk mentions (Requirement, UserStory, Metric, Threat); riskLevel matches the chunk's " +
267
+ "published risk facet only — chunks without a facet are not returned (declared, not silent).",
268
+ },
269
+ };
270
+ }
271
+ const ENTITY_TYPE_ALIASES = {
272
+ requirements: "requirement",
273
+ req: "requirement",
274
+ userstories: "userstory",
275
+ user_story: "userstory",
276
+ user_stories: "userstory",
277
+ us: "userstory",
278
+ metrics: "metric",
279
+ kpi: "metric",
280
+ threats: "threat",
281
+ };
282
+ function normalizeEntityTypeToken(value) {
283
+ const base = value.toLowerCase().replace(/[^a-z0-9_]/g, "");
284
+ const aliased = ENTITY_TYPE_ALIASES[base] ?? base;
285
+ return aliased.replace(/_/g, "");
286
+ }
287
+ function chunkEntityTypeTokens(raw) {
288
+ const arr = raw["entity_mentions_flat"];
289
+ if (!Array.isArray(arr))
290
+ return [];
291
+ return arr.filter((v) => typeof v === "string").map(normalizeEntityTypeToken);
292
+ }
293
+ function chunkRiskLevels(raw) {
294
+ const tags = raw["filter_tags"];
295
+ if (typeof tags === "object" && tags !== null) {
296
+ const rl = tags["risk_level"];
297
+ if (Array.isArray(rl))
298
+ return rl.filter((v) => typeof v === "string");
299
+ }
300
+ return [];
281
301
  }
282
- export function handleGetSbdToeChapterBrief(args, cache) {
302
+ export function handleGetSbdToeChapterBrief(args) {
283
303
  const chapterId = typeof args["chapterId"] === "string" ? args["chapterId"] : undefined;
284
- return { ...handleGetSbdToeChapterBriefCore(args, cache), next: chapterBriefAffordances(chapterId) };
304
+ return { ...handleGetSbdToeChapterBriefCore(args), next: chapterBriefAffordances(chapterId) };
285
305
  }
286
- function handleGetSbdToeChapterBriefCore(args, cache) {
306
+ function handleGetSbdToeChapterBriefCore(args) {
287
307
  const chapterId = args["chapterId"];
288
308
  if (typeof chapterId !== "string" || chapterId.trim().length === 0) {
289
309
  throw new Error('O argumento "chapterId" é obrigatório e não pode ser vazio.');
290
310
  }
291
- if (hasProvidedCache(cache)) {
292
- const items = getEntityItems(cache);
293
- const enrichedLookup = cache.entitiesEnrichedLookup;
294
- let found;
295
- for (const item of items) {
296
- const oid = getStr(item, "objectID") ?? "";
297
- const cid = getStr(item, "chapter_id") ?? "";
298
- if (oid === chapterId || cid === chapterId) {
299
- found = item;
300
- break;
301
- }
302
- }
303
- if (found === undefined) {
304
- return { id: chapterId, found: false };
305
- }
306
- const oid = getStr(found, "objectID");
307
- const enriched = oid !== undefined ? enrichedLookup.get(oid) : undefined;
308
- const phases = getStrArr(found, "related_phases");
309
- const artifacts = enriched?.artifact_ids
310
- ? [...enriched.artifact_ids]
311
- : getStrArr(found, "artifact_ids");
312
- const objective = getStr(found, "summary") ?? getStr(found, "searchable_text");
313
- return {
314
- id: chapterId,
315
- found: true,
316
- // Prefer the clean readable title over the canonical one, which can carry
317
- // editorial noise ("Nota Canónica…") — consistent with list_chapters.
318
- title: READABLE_TITLES[chapterId] ?? getStr(found, "title") ?? chapterId,
319
- ...(objective !== undefined ? { objective } : {}),
320
- ...(phases.length > 0 ? { phases } : {}),
321
- ...(artifacts.length > 0 ? { artifacts } : {})
322
- };
323
- }
324
311
  const bundle = loadBundleCatalog().find((item) => getStr(item, "bundle_id") === chapterId);
325
312
  if (!bundle && READABLE_TITLES[chapterId] === undefined) {
326
313
  return { id: chapterId, found: false };
@@ -437,11 +424,11 @@ function buildActivatedBundles(riskLevel, technologies) {
437
424
  }
438
425
  return { foundationBundles, domainBundles, operationalBundles };
439
426
  }
440
- export function handleMapSbdToeApplicability(args, cache) {
427
+ export function handleMapSbdToeApplicability(args) {
441
428
  const riskLevel = typeof args["riskLevel"] === "string" ? args["riskLevel"] : undefined;
442
- return { ...handleMapSbdToeApplicabilityCore(args, cache), next: mapApplicabilityAffordances(riskLevel) };
429
+ return { ...handleMapSbdToeApplicabilityCore(args), next: mapApplicabilityAffordances(riskLevel) };
443
430
  }
444
- function handleMapSbdToeApplicabilityCore(args, cache) {
431
+ function handleMapSbdToeApplicabilityCore(args) {
445
432
  const riskLevelArg = args["riskLevel"];
446
433
  if (!isValidRiskLevel(riskLevelArg)) {
447
434
  throw new Error(`riskLevel é obrigatório e deve ser L1, L2 ou L3. Recebido: "${String(riskLevelArg)}".`);
@@ -482,34 +469,12 @@ function handleMapSbdToeApplicabilityCore(args, cache) {
482
469
  }
483
470
  let active;
484
471
  let excluded;
485
- if (hasProvidedCache(cache)) {
486
- const items = getEntityItems(cache);
487
- const allChapterIds = new Set();
488
- for (const item of items) {
489
- if (getStr(item, "entity_type") === "chapter_bundle") {
490
- const cid = getStr(item, "chapter_id");
491
- if (cid !== undefined)
492
- allChapterIds.add(cid);
493
- }
494
- }
495
- const activeChapterIds = new Set();
496
- for (const item of items) {
497
- const rls = getStrArr(item, "risk_levels");
498
- if (rls.includes(riskLevel)) {
499
- const cid = getStr(item, "chapter_id");
500
- if (cid !== undefined)
501
- activeChapterIds.add(cid);
502
- }
503
- }
504
- active = [...activeChapterIds].sort();
505
- excluded = [...allChapterIds].filter((id) => !activeChapterIds.has(id)).sort();
506
- }
507
- else {
508
- active = [...ACTIVE_CHAPTERS_BY_RISK[riskLevel]].sort();
509
- excluded = Object.keys(READABLE_TITLES)
510
- .filter((id) => !ACTIVE_CHAPTERS_BY_RISK[riskLevel].includes(id))
511
- .sort();
512
- }
472
+ // Risk baseline (in-code risk model) — the only path since the Algolia-era snapshot
473
+ // cache was retired; context activation lives in activatedBundles / conditional below.
474
+ active = [...ACTIVE_CHAPTERS_BY_RISK[riskLevel]].sort();
475
+ excluded = Object.keys(READABLE_TITLES)
476
+ .filter((id) => !ACTIVE_CHAPTERS_BY_RISK[riskLevel].includes(id))
477
+ .sort();
513
478
  const activatedBundles = buildActivatedBundles(riskLevel, technologies);
514
479
  // 13-formacao-onboarding: apenas L3
515
480
  if (riskLevel === "L3") {
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAGtD,MAAM,eAAe,GAA2B;IAC9C,gBAAgB,EAAc,qBAAqB;IACnD,6BAA6B,EAAE,6BAA6B;IAC5D,yBAAyB,EAAM,yBAAyB;IACxD,oBAAoB,EAAW,iBAAiB;IAChD,uBAAuB,EAAQ,oBAAoB;IACnD,0BAA0B,EAAK,0BAA0B;IACzD,2BAA2B,EAAI,wBAAwB;IACvD,gBAAgB,EAAe,cAAc;IAC7C,uBAAuB,EAAQ,sBAAsB;IACrD,uBAAuB,EAAQ,sBAAsB;IACrD,qBAAqB,EAAU,qBAAqB;IACpD,kBAAkB,EAAa,eAAe;IAC9C,4BAA4B,EAAG,2BAA2B;IAC1D,wBAAwB,EAAO,uBAAuB;IACtD,2BAA2B,EAAI,0BAA0B;CAC1D,CAAC;AAEF,MAAM,uBAAuB,GAAgC;IAC3D,EAAE,EAAE;QACF,gBAAgB;QAChB,6BAA6B;QAC7B,yBAAyB;QACzB,oBAAoB;QACpB,uBAAuB;QACvB,0BAA0B;QAC1B,gBAAgB;QAChB,uBAAuB;QACvB,uBAAuB;QACvB,qBAAqB;QACrB,4BAA4B;QAC5B,2BAA2B;KAC5B;IACD,EAAE,EAAE;QACF,gBAAgB;QAChB,6BAA6B;QAC7B,yBAAyB;QACzB,oBAAoB;QACpB,uBAAuB;QACvB,0BAA0B;QAC1B,2BAA2B;QAC3B,gBAAgB;QAChB,uBAAuB;QACvB,uBAAuB;QACvB,qBAAqB;QACrB,kBAAkB;QAClB,4BAA4B;QAC5B,2BAA2B;KAC5B;IACD,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;CACjC,CAAC;AAEF,MAAM,UAAU,GAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAO5D;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,aAAa,GAAG;QACpB,EAAE,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClD,EAAE,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClD,EAAE,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACnD,CAAC;IACF,OAAO;QACL,aAAa;QACb,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI;KACnE,CAAC;AACJ,CAAC;AAED,IAAI,mBAA8C,CAAC;AACnD,IAAI,eAA0C,CAAC;AAE/C,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,MAAM,CAAC,MAAmB,EAAE,GAAW;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,SAAS,SAAS,CAAC,MAAmB,EAAE,GAAW;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,YAAoB;IACzC,MAAM,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC1C,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;SAC9B,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACzC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,GAAG,aAAa,CAAC,2CAA2C,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,IAAI,EAAE,CAAC;IACV,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA6B;IACpE,OAAO,EAAE,GAAI,4BAA4B,CAAC,IAAI,CAA6B,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,CAAC;AACjH,CAAC;AAED,SAAS,4BAA4B,CACnC,IAA6B;IAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,CAAC,YAAY,CAAC,oCAAoC,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,iBAAiB,EAAE;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAU,CAAC;SAC1E,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACnE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CACxF,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO;YACL,EAAE;YACF,KAAK;YACL,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,KAAK;YAC3C,GAAG,oBAAoB,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAoE;QACnF,CAAC,SAAS,EAAE,EAAE,CAAC,QAAgD,EAAE,YAAY,CAAC;QAC9E,CAAC,aAAa,EAAE,EAAE,CAAC,YAAoD,EAAE,gBAAgB,CAAC;QAC1F,CAAC,QAAQ,EAAE,EAAE,CAAC,OAA+C,EAAE,IAAI,CAAC;QACpE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAyC,EAAE,kBAAkB,CAAC;QAC9F,CAAC,MAAM,EAAE,EAAE,CAAC,KAA6C,EAAE,SAAS,CAAC;KACtE,CAAC;IACF,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;QAC5D,IAAI,KAAK;YAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAA6B;IAE7B,MAAM,IAAI,GAAG,CAAC,MAAM,6BAA6B,CAAC,IAAI,CAAC,CAA4B,CAAC;IACpF,2FAA2F;IAC3F,4FAA4F;IAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACzE,IAAI,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,IAA6B;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC;IAED,kFAAkF;IAClF,qFAAqF;IACrF,qFAAqF;IACrF,gFAAgF;IAChF,gFAAgF;IAChF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACjG,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YAC1B,OAAO,GAAG,CAAC;YACX,OAAO,GAAG,EAAE,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,CAAC,YAAY,CAAC,oCAAoC,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExE,kFAAkF;IAClF,iFAAiF;IACjF,8DAA8D;IAC9D,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC;IACjG,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,uFAAuF;QACvF,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,sFAAsF;QACtF,wEAAwE;QACxE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO,CACL,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAChE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,iFAAiF;QACjF,wDAAwD;QACxD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,iFAAiF;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG;IACzC,6DAA6D;IAC7D,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAC/D,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3D,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACzH,OAAO;QACL,QAAQ;QACR,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD;YACD,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,EACF,6FAA6F;gBAC7F,iGAAiG;gBACjG,6FAA6F;SAChG;KACF,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAA2B;IAClD,YAAY,EAAE,aAAa;IAC3B,GAAG,EAAE,aAAa;IAClB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,WAAW;IACzB,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,QAAQ;IACjB,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAgB;IAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,eAAe,CAAC,GAAgB;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAI,IAAgC,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACvE,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,OAAO,EAAE,GAAI,+BAA+B,CAAC,IAAI,CAA6B,EAAE,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7H,CAAC;AAED,SAAS,+BAA+B,CACtC,IAA6B;IAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC;IAC3F,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,GAAG,CACL,QAAQ,CAAC,WAAW;SACjB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1F,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CACzC,CACF,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,GAAG,CACL,QAAQ,CAAC,WAAW;SACjB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACzF,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CACxC,CACF,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAC1B,IAAI,GAAG,CACL,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5F,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CACtE,CACF,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,OAAO,CACL,QAAQ,KAAK,SAAS;YACtB,CAAC,YAAY,KAAK,OAAO,IAAI,UAAU,KAAK,iBAAiB,CAAC,CAC/D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,kBAAkB,CAClC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAC/D,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;QAChG,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;IACvE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,eAAe;IAChF,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK;IACrE,sBAAsB,EAAE,cAAc;CAC9B,CAAC;AAIX,MAAM,mBAAmB,GAAG;IAC1B,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;CACjD,CAAC;AAIX,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC;AAcD,SAAS,qBAAqB,CAC5B,SAAoB,EACpB,YAA0B;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAEtC,MAAM,iBAAiB,GAAsB;QAC3C,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;QACzF,EAAE,SAAS,EAAE,yBAAyB,EAAO,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;QAC1F,EAAE,SAAS,EAAE,oBAAoB,EAAY,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;KAC3F,CAAC;IAEF,MAAM,aAAa,GAAsB,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,0BAA0B;YACrC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,uBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClH,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7C,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,2BAA2B;YACtC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,eAAe,SAAS,GAAG;SACpC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACjF,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,uBAAuB;YAClC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,uBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzH,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3D,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,uBAAuB;YAClC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,uBAAwB,CAAC,YAAY,EAAE,YAAY,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClH,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,aAAa,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,uBAAwB,CAAC,MAAM,EAAE,MAAM,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACtG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GAAsB,EAAE,CAAC;IACjD,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7C,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,4BAA4B;YACvC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,gCAAgC;SACzC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA6B;IACxE,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,OAAO,EAAE,GAAI,gCAAgC,CAAC,IAAI,CAA6B,EAAE,IAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAAE,CAAC;AAClI,CAAC;AAED,SAAS,gCAAgC,CACvC,IAA6B;IAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,+DAA+D,MAAM,CAAC,YAAY,CAAC,IAAI,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC;IAE/B,2CAA2C;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,YAAY,GAAiB,EAAE,CAAC;IACpC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,GAAqD;gBAC5D,IAAI,EAAE,CAAC,KAAK;gBACZ,OAAO,EAAE,+CAA+C;gBACxD,IAAI,EAAE,IAAI;aACX,CAAC;YACF,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,YAAY,GAAI,eAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG;gBACV,IAAI,EAAE,CAAC,KAAK;gBACZ,OAAO,EAAE,wCAAwC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC7I,IAAI,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;aACtC,CAAC;YACF,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,YAAY,GAAI,eAA6B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1E,CAAC;IAED,0CAA0C;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,CAAC,KAAK;YACZ,OAAO,EAAE,qCAAqC,MAAM,CAAC,cAAc,CAAC,0BAA0B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC/H,IAAI,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE;SACvC,CAAC;QACF,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAgB,CAAC;IACrB,IAAI,QAAkB,CAAC;IAEvB,oFAAoF;IACpF,uFAAuF;IACvF,MAAM,GAAG,CAAC,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;SACpC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAChE,IAAI,EAAE,CAAC;IAEV,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAExE,oCAAoC;IACpC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,wBAAwB;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,WAAW,GAAiD,EAAE,CAAC;IACrE,KAAK,MAAM,MAAM,IAAI;QACnB,GAAG,gBAAgB,CAAC,iBAAiB;QACrC,GAAG,gBAAgB,CAAC,aAAa;QACjC,GAAG,gBAAgB,CAAC,kBAAkB;KACvC,EAAE,CAAC;QACF,IACE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EACtC,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,MAAM;QACN,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shiftleftpt/sbd-toe-mcp",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "license": "Apache-2.0",
5
5
  "description": "MCP server for the SbD-ToE (Security by Design — Theory of Everything) security manual — structured tools for Claude, GitHub Copilot and other MCP clients",
6
6
  "keywords": [
@@ -91,7 +91,8 @@
91
91
  "test": "vitest run",
92
92
  "test:qualitative-smoke": "vitest run src/qualitative-eval-smoke.test.ts",
93
93
  "test:watch": "vitest",
94
- "test:coverage": "vitest run --coverage"
94
+ "test:coverage": "vitest run --coverage",
95
+ "eval:acceptance": "node scripts/run-acceptance-scenarios.mjs"
95
96
  },
96
97
  "engines": {
97
98
  "node": ">=20.9.0"