@coreyuan/vector-mind 1.1.0 → 1.1.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 (49) hide show
  1. package/README.md +25 -1
  2. package/dist/builtin-conventions.js +6 -1
  3. package/dist/builtin-conventions.js.map +1 -1
  4. package/dist/builtin-instructions.d.ts +1 -1
  5. package/dist/builtin-instructions.js +1 -1
  6. package/dist/builtin-instructions.js.map +1 -1
  7. package/dist/config.d.ts +1 -1
  8. package/dist/config.js +1 -1
  9. package/dist/context-governance.d.ts +7 -0
  10. package/dist/context-governance.js +41 -1
  11. package/dist/context-governance.js.map +1 -1
  12. package/dist/file-indexing.js +6 -2
  13. package/dist/file-indexing.js.map +1 -1
  14. package/dist/memory-recall.d.ts +6 -0
  15. package/dist/memory-recall.js +73 -102
  16. package/dist/memory-recall.js.map +1 -1
  17. package/dist/memory-safety.d.ts +17 -0
  18. package/dist/memory-safety.js +61 -0
  19. package/dist/memory-safety.js.map +1 -0
  20. package/dist/operation-scope.d.ts +6 -2
  21. package/dist/operation-scope.js +19 -1
  22. package/dist/operation-scope.js.map +1 -1
  23. package/dist/security-signals.d.ts +33 -0
  24. package/dist/security-signals.js +239 -0
  25. package/dist/security-signals.js.map +1 -0
  26. package/dist/server-instructions.js +8 -7
  27. package/dist/server-instructions.js.map +1 -1
  28. package/dist/tool-catalog.js +3 -3
  29. package/dist/tool-catalog.js.map +1 -1
  30. package/dist/tool-handlers/files.js +13 -1
  31. package/dist/tool-handlers/files.js.map +1 -1
  32. package/dist/tool-handlers/memory.js +75 -6
  33. package/dist/tool-handlers/memory.js.map +1 -1
  34. package/dist/tool-handlers/notes-decisions.js +27 -7
  35. package/dist/tool-handlers/notes-decisions.js.map +1 -1
  36. package/dist/tool-handlers/operations.js +7 -1
  37. package/dist/tool-handlers/operations.js.map +1 -1
  38. package/dist/tool-handlers/requirements.js +71 -14
  39. package/dist/tool-handlers/requirements.js.map +1 -1
  40. package/dist/tool-handlers.js +52 -6
  41. package/dist/tool-handlers.js.map +1 -1
  42. package/dist/tool-output.d.ts +38 -0
  43. package/dist/tool-output.js +31 -5
  44. package/dist/tool-output.js.map +1 -1
  45. package/dist/tool-schemas.d.ts +4 -0
  46. package/dist/tool-schemas.js +4 -0
  47. package/dist/tool-schemas.js.map +1 -1
  48. package/docs/capability-matrix.md +2 -0
  49. package/package.json +1 -1
@@ -209,30 +209,39 @@ function normalizeSearchText(input) {
209
209
  }
210
210
  function extractSearchTokens(raw) {
211
211
  const text = normalizeSearchText(raw);
212
- const tokens = new Set();
212
+ const tokens = [];
213
+ const seen = new Set();
214
+ const add = (token) => {
215
+ if (token.length < 2 || SEMANTIC_TOKEN_STOPWORDS.has(token) || seen.has(token))
216
+ return;
217
+ seen.add(token);
218
+ tokens.push(token);
219
+ };
213
220
  for (const token of text.match(/[a-z0-9_./:@#-]{2,}/g) ?? []) {
214
- if (!SEMANTIC_TOKEN_STOPWORDS.has(token))
215
- tokens.add(token);
221
+ add(token);
216
222
  for (const part of token.split(/[^a-z0-9]+/).filter((p) => p.length >= 2)) {
217
- if (!SEMANTIC_TOKEN_STOPWORDS.has(part))
218
- tokens.add(part);
223
+ add(part);
219
224
  }
220
225
  }
221
- for (const seq of text.match(/\p{Script=Han}+/gu) ?? []) {
222
- if (seq.length >= 2 && seq.length <= 18)
223
- tokens.add(seq);
224
- for (const n of [2, 3, 4]) {
225
- if (seq.length < n)
226
- continue;
227
- for (let i = 0; i <= seq.length - n; i++) {
228
- tokens.add(seq.slice(i, i + n));
226
+ const hanSequences = text.match(/\p{Script=Han}+/gu) ?? [];
227
+ for (const seq of hanSequences) {
228
+ if (seq.length <= 18)
229
+ add(seq);
230
+ }
231
+ // Round-robin n-grams keep later clauses represented instead of letting the
232
+ // first long Chinese clause consume the entire bounded token budget.
233
+ for (const width of [2, 3, 4]) {
234
+ const maxOffset = Math.max(0, ...hanSequences.map((seq) => seq.length - width));
235
+ for (let offset = 0; offset <= maxOffset; offset++) {
236
+ for (const seq of hanSequences) {
237
+ if (offset + width <= seq.length)
238
+ add(seq.slice(offset, offset + width));
239
+ if (tokens.length >= 48)
240
+ return tokens;
229
241
  }
230
242
  }
231
243
  }
232
- return Array.from(tokens)
233
- .filter((token) => token.length >= 2 && !SEMANTIC_TOKEN_STOPWORDS.has(token))
234
- .sort((a, b) => b.length - a.length)
235
- .slice(0, 48);
244
+ return tokens.slice(0, 48);
236
245
  }
237
246
  function countNeedleOccurrences(haystack, needle) {
238
247
  if (!haystack || !needle)
@@ -299,15 +308,26 @@ function mergeSemanticMatches(sets, opts) {
299
308
  best.set(match.item.id, match);
300
309
  }
301
310
  }
302
- return Array.from(best.values())
303
- .sort((a, b) => b.score - a.score || b.item.id - a.item.id)
304
- .slice(0, opts.topK);
311
+ const ranked = Array.from(best.values())
312
+ .sort((a, b) => b.score - a.score || b.item.id - a.item.id);
313
+ return dedupeSemanticMatches(ranked, opts).slice(0, opts.topK);
314
+ }
315
+ function dedupeSemanticMatches(matches, opts) {
316
+ if (!opts.dedupeByRequirement)
317
+ return matches;
318
+ const seen = new Set();
319
+ return matches.filter((match) => {
320
+ const key = match.item.req_id != null ? `req:${match.item.req_id}` : `item:${match.item.id}`;
321
+ if (seen.has(key))
322
+ return false;
323
+ seen.add(key);
324
+ return true;
325
+ });
305
326
  }
306
327
  function filterAndRankSemanticRows(rows, scoreOf, opts) {
307
328
  const explicitKinds = new Set(opts.kinds ?? []);
308
- return rows
309
- .map((r) => ({ row: r, score: adjustSemanticScore(r, scoreOf(r)) }))
310
- .filter(({ row }) => {
329
+ const ranked = rows
330
+ .filter((row) => {
311
331
  if (isHiddenFromDefaultRecall(row))
312
332
  return false;
313
333
  if (isObviouslyCorruptedText(row.title, row.content, row.file_path))
@@ -320,11 +340,18 @@ function filterAndRankSemanticRows(rows, scoreOf, opts) {
320
340
  return false;
321
341
  if (shouldIgnoreDbFilePath(row.file_path) && row.kind !== "change_intent")
322
342
  return false;
343
+ if (opts.matchFilter && !opts.matchFilter({
344
+ title: row.title,
345
+ content: row.content,
346
+ file_path: row.file_path,
347
+ }))
348
+ return false;
323
349
  return true;
324
350
  })
351
+ .map((r) => ({ row: r, score: adjustSemanticScore(r, scoreOf(r)) }))
325
352
  .sort((a, b) => b.score - a.score)
326
- .slice(0, opts.topK)
327
353
  .map(({ row, score }) => toSemanticMatch(row, score, opts.includeContent, opts.previewChars, opts.contentMaxChars));
354
+ return dedupeSemanticMatches(ranked, opts).slice(0, opts.topK);
328
355
  }
329
356
  export function makePreviewText(content, max) {
330
357
  if (max <= 0)
@@ -648,35 +675,10 @@ function tokenSearchInternal(opts) {
648
675
  if (!tokens.length)
649
676
  return { query: q, top_k: opts.topK, mode: "token", matches: [] };
650
677
  const rawLimit = Math.min(160, Math.max(opts.topK * 12, 80));
651
- const searchTokens = tokens.slice(0, 8);
652
678
  const effectiveKinds = opts.kinds?.length ? opts.kinds : TOKEN_SEARCH_DEFAULT_KINDS;
653
- const kindClause = effectiveKinds.length
654
- ? `AND kind IN (${effectiveKinds.map(() => "?").join(", ")})`
655
- : "";
656
- const recencyBoost = `
657
- + CASE
658
- WHEN updated_at >= datetime('now', '-2 days') THEN 4
659
- WHEN updated_at >= datetime('now', '-14 days') THEN 2
660
- WHEN updated_at >= datetime('now', '-60 days') THEN 1
661
- ELSE 0
662
- END`;
663
- const candidateScore = `
664
- (
665
- CASE kind
666
- WHEN 'decision' THEN 9
667
- WHEN 'memory_compaction' THEN 8
668
- WHEN 'convention' THEN 7
669
- WHEN 'project_summary' THEN 6
670
- WHEN 'note' THEN 5
671
- WHEN 'requirement' THEN 4
672
- WHEN 'change_intent' THEN 3
673
- ELSE 0
674
- END
675
- ${recencyBoost}
676
- )`;
677
679
  const includesIndexedChunks = effectiveKinds.some((k) => k === "code_chunk" || k === "doc_chunk");
678
680
  if (!includesIndexedChunks) {
679
- const candidateLimit = Math.min(1600, Math.max(rawLimit * 5, 800));
681
+ const placeholders = effectiveKinds.map(() => "?").join(", ");
680
682
  const stmt = getDb().prepare(`
681
683
  SELECT
682
684
  id,
@@ -690,15 +692,9 @@ function tokenSearchInternal(opts) {
690
692
  metadata_json,
691
693
  updated_at
692
694
  FROM memory_items
693
- WHERE 1=1
694
- ${kindClause}
695
- ORDER BY
696
- ${candidateScore} DESC,
697
- updated_at DESC,
698
- id DESC
699
- LIMIT ?
695
+ WHERE kind IN (${placeholders})
700
696
  `);
701
- const candidates = stmt.all(...effectiveKinds, candidateLimit);
697
+ const candidates = stmt.all(...effectiveKinds);
702
698
  const scoreMap = new Map();
703
699
  const rows = candidates.filter((row) => {
704
700
  const score = tokenLexicalScore(row, q, tokens);
@@ -711,11 +707,10 @@ function tokenSearchInternal(opts) {
711
707
  return { query: q, top_k: opts.topK, mode: "token", matches };
712
708
  }
713
709
  const memoryFirstKinds = effectiveKinds.filter((k) => k !== "code_chunk" && k !== "doc_chunk");
714
- const memoryFirstLimit = Math.min(1200, Math.max(rawLimit * 4, 300));
715
710
  let memoryFirstRows = [];
716
711
  const memoryFirstScores = new Map();
717
712
  if (memoryFirstKinds.length) {
718
- const memoryKindClause = `AND kind IN (${memoryFirstKinds.map(() => "?").join(", ")})`;
713
+ const memoryKindPlaceholders = memoryFirstKinds.map(() => "?").join(", ");
719
714
  const memoryStmt = getDb().prepare(`
720
715
  SELECT
721
716
  id,
@@ -729,15 +724,9 @@ function tokenSearchInternal(opts) {
729
724
  metadata_json,
730
725
  updated_at
731
726
  FROM memory_items
732
- WHERE 1=1
733
- ${memoryKindClause}
734
- ORDER BY
735
- ${candidateScore} DESC,
736
- updated_at DESC,
737
- id DESC
738
- LIMIT ?
727
+ WHERE kind IN (${memoryKindPlaceholders})
739
728
  `);
740
- const candidates = memoryStmt.all(...memoryFirstKinds, memoryFirstLimit);
729
+ const candidates = memoryStmt.all(...memoryFirstKinds);
741
730
  memoryFirstRows = candidates.filter((row) => {
742
731
  const score = tokenLexicalScore(row, q, tokens);
743
732
  if (score <= 0)
@@ -746,41 +735,23 @@ function tokenSearchInternal(opts) {
746
735
  return true;
747
736
  });
748
737
  }
749
- const conditions = [];
750
- const values = [];
751
- for (const token of searchTokens) {
752
- const like = `%${escapeLike(token)}%`;
753
- conditions.push(`content LIKE ? ESCAPE '\\'`);
754
- values.push(like);
755
- conditions.push(`title LIKE ? ESCAPE '\\'`);
756
- values.push(like);
757
- conditions.push(`file_path LIKE ? ESCAPE '\\'`);
758
- values.push(like);
738
+ const indexedKinds = effectiveKinds.filter((k) => k === "code_chunk" || k === "doc_chunk");
739
+ const ftsTokens = tokens.filter((token) => token.length >= 3).slice(0, 24);
740
+ let rows = [];
741
+ if (indexedKinds.length && ftsTokens.length && isFtsAvailable()) {
742
+ const ftsQuery = ftsTokens.map((token) => `"${token.replaceAll('"', '""')}"`).join(" OR ");
743
+ const indexedKindPlaceholders = indexedKinds.map(() => "?").join(", ");
744
+ rows = getDb().prepare(`
745
+ SELECT m.id, m.kind, m.title, m.content, m.file_path, m.start_line, m.end_line,
746
+ m.req_id, m.metadata_json, m.updated_at
747
+ FROM ${MEMORY_ITEMS_FTS_TABLE}
748
+ JOIN memory_items m ON m.id = ${MEMORY_ITEMS_FTS_TABLE}.rowid
749
+ WHERE ${MEMORY_ITEMS_FTS_TABLE} MATCH ?
750
+ AND m.kind IN (${indexedKindPlaceholders})
751
+ ORDER BY bm25(${MEMORY_ITEMS_FTS_TABLE}) ASC
752
+ LIMIT ?
753
+ `).all(ftsQuery, ...indexedKinds, rawLimit);
759
754
  }
760
- if (!conditions.length)
761
- return { query: q, top_k: opts.topK, mode: "token", matches: [] };
762
- const stmt = getDb().prepare(`
763
- SELECT
764
- id,
765
- kind,
766
- title,
767
- content,
768
- file_path,
769
- start_line,
770
- end_line,
771
- req_id,
772
- metadata_json,
773
- updated_at
774
- FROM memory_items
775
- WHERE (${conditions.join(" OR ")})
776
- ${kindClause}
777
- ORDER BY
778
- ${candidateScore} DESC,
779
- updated_at DESC,
780
- id DESC
781
- LIMIT ?
782
- `);
783
- const rows = stmt.all(...values, ...effectiveKinds, rawLimit);
784
755
  const scoreMap = new Map(memoryFirstScores);
785
756
  for (const row of rows) {
786
757
  if (!scoreMap.has(row.id))
@@ -1 +1 @@
1
- {"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../src/memory-recall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../src/memory-recall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type MemorySanitization = {
2
+ text: string;
3
+ redacted: boolean;
4
+ categories: string[];
5
+ };
6
+ export type MemoryValueSanitization<T> = {
7
+ value: T;
8
+ redacted: boolean;
9
+ categories: string[];
10
+ };
11
+ export declare function sanitizePersistentMemoryText(value: string): MemorySanitization;
12
+ export declare function sanitizePersistentMemoryValue<T>(input: T): MemoryValueSanitization<T>;
13
+ export declare function sanitizePersistentMemoryStrings(values: string[] | undefined): {
14
+ values: string[];
15
+ redacted: boolean;
16
+ categories: string[];
17
+ };
@@ -0,0 +1,61 @@
1
+ const SECRET_KEY_SUFFIX = String.raw `(?:password|passwd|pwd|secret(?:[_-]?key)?|api[_-]?key|access[_-]?token|auth[_-]?token|bot[_-]?token|private[_-]?key)`;
2
+ const SECRET_KEY = String.raw `(?:[A-Za-z][A-Za-z0-9.-]*[_-])*${SECRET_KEY_SUFFIX}`;
3
+ const SECRET_KEY_ONLY = new RegExp(`^(?:${SECRET_KEY})$`, "iu");
4
+ export function sanitizePersistentMemoryText(value) {
5
+ const categories = new Set();
6
+ let text = value;
7
+ const replace = (pattern, category, replacer) => {
8
+ text = text.replace(pattern, (...args) => {
9
+ categories.add(category);
10
+ return replacer(...args);
11
+ });
12
+ };
13
+ replace(/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----[\s\S]*?-----END (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/giu, "private_key", () => "[REDACTED PRIVATE KEY]");
14
+ replace(new RegExp(`("${SECRET_KEY}"\\s*:\\s*)"(?:\\\\.|[^"\\\\])*"`, "giu"), "named_secret", (_match, prefix) => `${prefix}"[REDACTED]"`);
15
+ replace(new RegExp(`((?<![A-Za-z0-9_.-])${SECRET_KEY}(?![A-Za-z0-9_.-])\\s*(?:=|:)\\s*)"[^"\\r\\n]*"`, "giu"), "named_secret", (_match, prefix) => `${prefix}"[REDACTED]"`);
16
+ replace(new RegExp(`((?<![A-Za-z0-9_.-])${SECRET_KEY}(?![A-Za-z0-9_.-])\\s*(?:=|:)\\s*)'[^'\\r\\n]*'`, "giu"), "named_secret", (_match, prefix) => `${prefix}'[REDACTED]'`);
17
+ replace(new RegExp(`((?<![A-Za-z0-9_.-])${SECRET_KEY}(?![A-Za-z0-9_.-])\\s*(?:=|:)\\s*)([^\"'\\s,;}\\]]+)`, "giu"), "named_secret", (_match, prefix) => `${prefix}[REDACTED]`);
18
+ replace(/(authorization\s*(?:=|:)\s*(?:bearer|basic)\s+)([^\s,;]+)/giu, "authorization", (_match, prefix) => `${prefix}[REDACTED]`);
19
+ replace(/\b(?:sk|gms|ghp|github_pat|xox[baprs])_[A-Za-z0-9_-]{16,}\b/gu, "token", () => "[REDACTED TOKEN]");
20
+ replace(/\b\d{6,12}:[A-Za-z0-9_-]{24,}\b/gu, "bot_token", () => "[REDACTED BOT TOKEN]");
21
+ replace(/(https?:\/\/)([^\s/@:]+):([^\s/@]+)@/giu, "url_credentials", (_match, scheme) => `${scheme}[REDACTED]@`);
22
+ return { text, redacted: categories.size > 0, categories: [...categories].sort() };
23
+ }
24
+ export function sanitizePersistentMemoryValue(input) {
25
+ const categories = new Set();
26
+ let redacted = false;
27
+ const visit = (value, key) => {
28
+ if (key && SECRET_KEY_ONLY.test(key) && value != null) {
29
+ redacted = true;
30
+ categories.add("named_secret");
31
+ return "[REDACTED]";
32
+ }
33
+ if (typeof value === "string") {
34
+ const result = sanitizePersistentMemoryText(value);
35
+ if (result.redacted)
36
+ redacted = true;
37
+ for (const category of result.categories)
38
+ categories.add(category);
39
+ return result.text;
40
+ }
41
+ if (Array.isArray(value))
42
+ return value.map((item) => visit(item));
43
+ if (value && typeof value === "object") {
44
+ return Object.fromEntries(Object.entries(value).map(([entryKey, entryValue]) => [
45
+ entryKey,
46
+ visit(entryValue, entryKey),
47
+ ]));
48
+ }
49
+ return value;
50
+ };
51
+ return { value: visit(input), redacted, categories: [...categories].sort() };
52
+ }
53
+ export function sanitizePersistentMemoryStrings(values) {
54
+ const results = (values ?? []).map(sanitizePersistentMemoryText);
55
+ return {
56
+ values: results.map((result) => result.text),
57
+ redacted: results.some((result) => result.redacted),
58
+ categories: [...new Set(results.flatMap((result) => result.categories))].sort(),
59
+ };
60
+ }
61
+ //# sourceMappingURL=memory-safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-safety.js","sourceRoot":"","sources":["../src/memory-safety.ts"],"names":[],"mappings":"AAYA,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA,uHAAuH,CAAC;AAC5J,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA,kCAAkC,iBAAiB,EAAE,CAAC;AACnF,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,OAAO,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC;AAEhE,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAuC,EAAE,EAAE;QAC7F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACvC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO,QAAQ,CAAC,GAAI,IAAiB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,6GAA6G,EAC7G,aAAa,EACb,GAAG,EAAE,CAAC,wBAAwB,CAC/B,CAAC;IACF,OAAO,CACL,IAAI,MAAM,CAAC,KAAK,UAAU,kCAAkC,EAAE,KAAK,CAAC,EACpE,cAAc,EACd,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,cAAc,CAC5C,CAAC;IACF,OAAO,CACL,IAAI,MAAM,CAAC,uBAAuB,UAAU,iDAAiD,EAAE,KAAK,CAAC,EACrG,cAAc,EACd,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,cAAc,CAC5C,CAAC;IACF,OAAO,CACL,IAAI,MAAM,CAAC,uBAAuB,UAAU,iDAAiD,EAAE,KAAK,CAAC,EACrG,cAAc,EACd,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,cAAc,CAC5C,CAAC;IACF,OAAO,CACL,IAAI,MAAM,CAAC,uBAAuB,UAAU,sDAAsD,EAAE,KAAK,CAAC,EAC1G,cAAc,EACd,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,YAAY,CAC1C,CAAC;IACF,OAAO,CACL,8DAA8D,EAC9D,eAAe,EACf,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,YAAY,CAC1C,CAAC;IACF,OAAO,CACL,+DAA+D,EAC/D,OAAO,EACP,GAAG,EAAE,CAAC,kBAAkB,CACzB,CAAC;IACF,OAAO,CACL,mCAAmC,EACnC,WAAW,EACX,GAAG,EAAE,CAAC,sBAAsB,CAC7B,CAAC;IACF,OAAO,CACL,yCAAyC,EACzC,iBAAiB,EACjB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,aAAa,CAC3C,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAI,KAAQ;IACvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,GAAY,EAAW,EAAE;QACtD,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACtD,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ;gBAAE,QAAQ,GAAG,IAAI,CAAC;YACrC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU;gBAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;gBAC/E,QAAQ;gBACR,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC5B,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA4B;IAK1E,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACjE,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5C,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnD,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAChF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { MemoryItemRow, RequirementRow } from "./types.js";
2
+ import { type SecurityOverride } from "./security-signals.js";
2
3
  export type CurrentConstraint = {
3
4
  id: number;
4
5
  kind: string;
@@ -19,7 +20,7 @@ export type OperationPlanInput = {
19
20
  script_hints?: string[];
20
21
  };
21
22
  export type OperationScopeWarning = {
22
- code: "operation_constraint_conflict" | "stale_default_conflict" | "operation_scope_unmapped";
23
+ code: "operation_constraint_conflict" | "stale_default_conflict" | "operation_scope_unmapped" | "security_risk_detected";
23
24
  severity: "info" | "warning" | "blocker";
24
25
  message: string;
25
26
  evidence?: Array<{
@@ -36,6 +37,9 @@ export type OperationScopeResult = {
36
37
  safe_to_proceed: boolean;
37
38
  read_only: true;
38
39
  advisory_only: true;
40
+ enforcement_mode: "preflight_blocker";
41
+ host_enforcement_required: true;
42
+ security_override_applied: boolean;
39
43
  does_not_control_model_reasoning: true;
40
44
  does_not_control_host_runtime: true;
41
45
  does_not_replace_model_judgment: true;
@@ -59,5 +63,5 @@ export declare function buildCurrentConstraints(args: {
59
63
  limit?: number;
60
64
  previewChars?: number;
61
65
  }): CurrentConstraint[];
62
- export declare function evaluateOperationScope(plan: OperationPlanInput, currentConstraints: CurrentConstraint[]): OperationScopeResult;
66
+ export declare function evaluateOperationScope(plan: OperationPlanInput, currentConstraints: CurrentConstraint[], securityOverride?: SecurityOverride): OperationScopeResult;
63
67
  export declare function expandOperationQuery(query: string): string;
@@ -1,5 +1,6 @@
1
1
  import { isHiddenFromDefaultRecall, metadataStatus, toMemoryItemPreview } from "./memory-recall.js";
2
2
  import { oneLine } from "./tool-output.js";
3
+ import { scanOperationPlanSecurity } from "./security-signals.js";
3
4
  const NEGATION_PATTERNS = [
4
5
  /\bdo\s+not\b/i,
5
6
  /\bdon't\b/i,
@@ -384,9 +385,23 @@ function classifyStaleDefaultConflict(plan, constraint) {
384
385
  details: { overlap_score: score },
385
386
  };
386
387
  }
387
- export function evaluateOperationScope(plan, currentConstraints) {
388
+ export function evaluateOperationScope(plan, currentConstraints, securityOverride) {
388
389
  const text = operationText(plan);
389
390
  const warnings = [];
391
+ const security = scanOperationPlanSecurity(plan, securityOverride);
392
+ for (const finding of security.findings) {
393
+ warnings.push({
394
+ code: "security_risk_detected",
395
+ severity: finding.blocking ? "blocker" : "warning",
396
+ message: `${finding.message} Evidence class: ${finding.evidence}. Treat command/file content as untrusted and verify before execution.`,
397
+ details: {
398
+ security_code: finding.code,
399
+ evidence: finding.evidence,
400
+ risk_level: security.risk_level,
401
+ security_override_applied: security.security_override_applied === true,
402
+ },
403
+ });
404
+ }
390
405
  if (!text.trim()) {
391
406
  warnings.push({
392
407
  code: "operation_scope_unmapped",
@@ -424,6 +439,9 @@ export function evaluateOperationScope(plan, currentConstraints) {
424
439
  safe_to_proceed: !blocking,
425
440
  read_only: true,
426
441
  advisory_only: true,
442
+ enforcement_mode: "preflight_blocker",
443
+ host_enforcement_required: true,
444
+ security_override_applied: security.security_override_applied === true,
427
445
  does_not_control_model_reasoning: true,
428
446
  does_not_control_host_runtime: true,
429
447
  does_not_replace_model_judgment: true,
@@ -1 +1 @@
1
- {"version":3,"file":"operation-scope.js","sourceRoot":"","sources":["../src/operation-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-scope.js","sourceRoot":"","sources":["../src/operation-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAyB,MAAM,uBAAuB,CAAC;AA0DzF,MAAM,iBAAiB,GAAG;IACxB,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,WAAW;IACX,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;CACN,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAClC,aAAa;IACb,UAAU;IACV,eAAe;IACf,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;CACJ,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,cAAc;IACd,cAAc;IACd,UAAU;IACV,WAAW;IACX,aAAa;IACb,yBAAyB;IACzB,8BAA8B;IAC9B,0CAA0C;IAC1C,oBAAoB;IACpB,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;IACb,UAAU;IACV,eAAe;IACf,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,KAAK;IACL,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW;IACX,YAAY;IACZ,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,KAAK;IACL,KAAK;IACL,SAAS;IACT,QAAQ;IACR,OAAO;IACP,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,KAAgC;IACrD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACvC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,OAAO;QACL,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,MAAM;QACZ,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;KAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;KAC9B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,IAAI;SAChB,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CAAC,CAAS,EAAE,CAAS;IACxD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,UAAkB;IACjE,OAAO,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,4BAA4B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,WAAW,CAAC,GAAkB,EAAE,MAAmC;IAC1E,IAAI,MAAM,KAAK,kBAAkB;QAAE,OAAO,GAAG,CAAC;IAC9C,IAAI,MAAM,KAAK,oBAAoB;QAAE,OAAO,EAAE,CAAC;IAC/C,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,GAAkB,EAAE,MAAmC,EAAE,YAAoB;IACjG,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM;QACN,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAmB,EAAE,SAAoC;IACvF,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,YAAY,EAAE;QAC9C,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,EAAE;QACd,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAOvC;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACzD,MAAM,GAAG,GAAG,CAAC,GAAqC,EAAE,MAAmC,EAAQ,EAAE;QAC/F,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,MAAM,KAAK,oBAAoB,IAAI,yBAAyB,CAAC,GAAG,CAAC;YAAE,OAAO;QAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,YAAY;YAAE,SAAS;QACnD,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW;QAAE,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB;QAAE,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC7H,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW;QAAE,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE5D,MAAM,kBAAkB,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAU,EAAE,CAChF,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,oBAAoB,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,oBAAoB,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACnF,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAwB,EAAE,UAA6B;IACzF,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;IAC1E,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IAClE,MAAM,YAAY,GAAG,qBAAqB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,mBAAmB,GAAG,WAAW,CAAC,eAAe,CAAC;QACtD,CAAC,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,eAAe,GAAG,YAAY,IAAI,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC;IAC9E,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,eAAe,GAAG;QACtB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,kBAAkB,IAAI,UAAU,CAAC,MAAM,KAAK,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACxH,OAAO,EACL,0LAA0L;QAC5L,QAAQ,EAAE,CAAC;gBACT,aAAa,EAAE,UAAU,CAAC,EAAE;gBAC5B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;aAC1C,CAAC;QACF,OAAO,EAAE;YACP,aAAa,EAAE,KAAK;YACpB,0BAA0B,EAAE,YAAY;YACxC,kCAAkC,EAAE,mBAAmB;YACvD,sBAAsB,EAAE,aAAa;YACrC,gBAAgB,EAAE,eAAe;SAClC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAwB,EAAE,UAA6B;IAC3F,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChH,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;IAC1E,MAAM,YAAY,GAChB,mBAAmB,CAAC,UAAU,CAAC;QAC/B,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC1E,OAAO,EACL,oMAAoM;QACtM,QAAQ,EAAE,CAAC;gBACT,aAAa,EAAE,UAAU,CAAC,EAAE;gBAC5B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;aAC1C,CAAC;QACF,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAwB,EACxB,kBAAuC,EACvC,gBAAmC;IAEnC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAClD,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,oBAAoB,OAAO,CAAC,QAAQ,wEAAwE;YACvI,OAAO,EAAE;gBACP,aAAa,EAAE,OAAO,CAAC,IAAI;gBAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB,KAAK,IAAI;aACvE;SACF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,SAAS;YACnB,OAAO,EACL,uKAAuK;SAC1K,CAAC,CAAC;IACL,CAAC;IAED,MAAM,oBAAoB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACnG,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,6KAA6K;SAChL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,YAAY;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACrE,OAAO;QACL,EAAE,EAAE,CAAC,QAAQ;QACb,eAAe,EAAE,CAAC,QAAQ;QAC1B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,mBAAmB;QACrC,yBAAyB,EAAE,IAAI;QAC/B,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB,KAAK,IAAI;QACtE,gCAAgC,EAAE,IAAI;QACtC,6BAA6B,EAAE,IAAI;QACnC,+BAA+B,EAAE,IAAI;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QACrC,aAAa,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QAC/B,eAAe,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QACnC,mBAAmB,EAAE,kBAAkB;QACvC,QAAQ,EAAE,aAAa;QACvB,kBAAkB,EAAE,QAAQ;YAC1B,CAAC,CAAC,yKAAyK;YAC3K,CAAC,CAAC,aAAa,CAAC,MAAM;gBACpB,CAAC,CAAC,mHAAmH;gBACrH,CAAC,CAAC,iEAAiE;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,YAAY,GAAG;QACnB,WAAW;QACX,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,UAAU;QACV,kBAAkB;QAClB,YAAY;QACZ,YAAY;QACZ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,IAAI;KACL,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC"}