@coreyuan/vector-mind 1.0.54 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +99 -72
  2. package/admin-panel/README.md +77 -0
  3. package/admin-panel/dist/client/assets/index-Bzyjdhh2.css +1 -0
  4. package/admin-panel/dist/client/assets/index-Ph73ewzt.js +9 -0
  5. package/admin-panel/dist/client/index.html +14 -0
  6. package/admin-panel/package.json +25 -0
  7. package/admin-panel/server/index.mjs +1424 -0
  8. package/admin-panel/server/security.mjs +117 -0
  9. package/admin-panel/server/security.test.mjs +113 -0
  10. package/admin-panel/server/storage.mjs +49 -0
  11. package/admin-panel/server/storage.test.mjs +36 -0
  12. package/dist/checkpoint-snapshot.d.ts +56 -0
  13. package/dist/checkpoint-snapshot.js +411 -0
  14. package/dist/checkpoint-snapshot.js.map +1 -0
  15. package/dist/config.d.ts +1 -1
  16. package/dist/config.js +1 -1
  17. package/dist/config.js.map +1 -1
  18. package/dist/context-governance.d.ts +56 -0
  19. package/dist/context-governance.js +176 -0
  20. package/dist/context-governance.js.map +1 -0
  21. package/dist/database-runtime.d.ts +3 -1
  22. package/dist/database-runtime.js +232 -127
  23. package/dist/database-runtime.js.map +1 -1
  24. package/dist/development-warnings.d.ts +2 -1
  25. package/dist/development-warnings.js +90 -20
  26. package/dist/development-warnings.js.map +1 -1
  27. package/dist/file-indexing.d.ts +2 -1
  28. package/dist/file-indexing.js +127 -47
  29. package/dist/file-indexing.js.map +1 -1
  30. package/dist/grep.js +4 -0
  31. package/dist/grep.js.map +1 -1
  32. package/dist/index.js +5 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/large-file-split.d.ts +52 -8
  35. package/dist/large-file-split.js +290 -76
  36. package/dist/large-file-split.js.map +1 -1
  37. package/dist/memory-maintenance/compaction.js +3 -2
  38. package/dist/memory-maintenance/compaction.js.map +1 -1
  39. package/dist/memory-maintenance/metrics.d.ts +1 -1
  40. package/dist/memory-maintenance/metrics.js +11 -3
  41. package/dist/memory-maintenance/metrics.js.map +1 -1
  42. package/dist/memory-maintenance/purge.js +1 -1
  43. package/dist/memory-maintenance/purge.js.map +1 -1
  44. package/dist/memory-maintenance/runner.d.ts +1 -0
  45. package/dist/memory-maintenance/runner.js +15 -3
  46. package/dist/memory-maintenance/runner.js.map +1 -1
  47. package/dist/memory-maintenance/types.d.ts +1 -0
  48. package/dist/memory-mutations.d.ts +3 -3
  49. package/dist/memory-mutations.js +109 -43
  50. package/dist/memory-mutations.js.map +1 -1
  51. package/dist/memory-recall.js +16 -1
  52. package/dist/memory-recall.js.map +1 -1
  53. package/dist/operation-scope.js +42 -12
  54. package/dist/operation-scope.js.map +1 -1
  55. package/dist/path-containment.d.ts +5 -0
  56. package/dist/path-containment.js +64 -0
  57. package/dist/path-containment.js.map +1 -0
  58. package/dist/path-filters.d.ts +1 -1
  59. package/dist/path-filters.js +7 -6
  60. package/dist/path-filters.js.map +1 -1
  61. package/dist/pending-changes.d.ts +5 -0
  62. package/dist/pending-changes.js +26 -16
  63. package/dist/pending-changes.js.map +1 -1
  64. package/dist/project-files.d.ts +1 -0
  65. package/dist/project-files.js +19 -10
  66. package/dist/project-files.js.map +1 -1
  67. package/dist/root.d.ts +4 -1
  68. package/dist/root.js +34 -4
  69. package/dist/root.js.map +1 -1
  70. package/dist/rtk-integrity.d.ts +5 -0
  71. package/dist/rtk-integrity.js +35 -0
  72. package/dist/rtk-integrity.js.map +1 -0
  73. package/dist/rtk-shim.js +22 -9
  74. package/dist/rtk-shim.js.map +1 -1
  75. package/dist/rtk-tools.d.ts +8 -0
  76. package/dist/rtk-tools.js +59 -42
  77. package/dist/rtk-tools.js.map +1 -1
  78. package/dist/server-instructions.js +8 -88
  79. package/dist/server-instructions.js.map +1 -1
  80. package/dist/tool-catalog.d.ts +2 -0
  81. package/dist/tool-catalog.js +76 -23
  82. package/dist/tool-catalog.js.map +1 -1
  83. package/dist/tool-handlers/context-recovery.js +79 -54
  84. package/dist/tool-handlers/context-recovery.js.map +1 -1
  85. package/dist/tool-handlers/large-files.js +600 -44
  86. package/dist/tool-handlers/large-files.js.map +1 -1
  87. package/dist/tool-handlers/memory-diagnostics.js +240 -45
  88. package/dist/tool-handlers/memory-diagnostics.js.map +1 -1
  89. package/dist/tool-handlers/memory.js +167 -22
  90. package/dist/tool-handlers/memory.js.map +1 -1
  91. package/dist/tool-handlers/operations.js +28 -8
  92. package/dist/tool-handlers/operations.js.map +1 -1
  93. package/dist/tool-handlers/requirement-status.d.ts +5 -0
  94. package/dist/tool-handlers/requirement-status.js +267 -0
  95. package/dist/tool-handlers/requirement-status.js.map +1 -0
  96. package/dist/tool-handlers/requirements.js +786 -97
  97. package/dist/tool-handlers/requirements.js.map +1 -1
  98. package/dist/tool-handlers.d.ts +4 -0
  99. package/dist/tool-handlers.js +183 -10
  100. package/dist/tool-handlers.js.map +1 -1
  101. package/dist/tool-output.d.ts +32 -1
  102. package/dist/tool-output.js +31 -12
  103. package/dist/tool-output.js.map +1 -1
  104. package/dist/tool-schemas.d.ts +235 -0
  105. package/dist/tool-schemas.js +98 -26
  106. package/dist/tool-schemas.js.map +1 -1
  107. package/dist/types.d.ts +1 -0
  108. package/docs/capability-matrix.md +23 -17
  109. package/package.json +19 -6
  110. package/skills/vector-mind-autopilot/SKILL.md +82 -23
  111. package/skills/vector-mind-autopilot/references/claude-project-instructions.md +14 -11
  112. package/skills/vector-mind-autopilot/references/universal-system-prompt.md +24 -16
@@ -5,11 +5,37 @@ import { mergePendingWithGit } from "../pending-changes.js";
5
5
  import { toolCompactOrJson, toolText } from "../token-savings.js";
6
6
  import { flushPendingChangeBuffer } from "../file-indexing.js";
7
7
  import { buildFixPatternQualitySignals, collectRelevantFixPatterns } from "../fix-patterns.js";
8
- import { BOOTSTRAP_DEFAULT_CONTEXT_KINDS, getConventionPreviews, getCurrentContextPreviews, getDecisionPreviews, isHiddenFromDefaultRecall, semanticSearchHybridInternal, toChangeLogPreview, toMemoryItemPreview, toRequirementPreview } from "../memory-recall.js";
8
+ import { BOOTSTRAP_DEFAULT_CONTEXT_KINDS, getConventionPreviews, getCurrentContextPreviews, getDecisionPreviews, isHiddenFromDefaultRecall, metadataStatus, semanticSearchHybridInternal, toChangeLogPreview, toMemoryItemPreview, toRequirementPreview } from "../memory-recall.js";
9
9
  import { logActivity } from "../activity-log.js";
10
10
  import { compactBootstrapText, compactBrainDumpText, compactSemanticSearchText, toolJson } from "../tool-output.js";
11
- import { expandOperationQuery } from "../operation-scope.js";
12
11
  import { collectCurrentConstraintsForBootstrap } from "./operations.js";
12
+ import { boundCompactContext, detectOperationIntent, filterFocusedSemanticResult, focusedTextIsRelevant, isObviouslyCorruptedText, resolveBootstrapContextPolicy, } from "../context-governance.js";
13
+ function focusedRequirementRelevanceScore(query, requirement) {
14
+ const normalize = (value) => (value ?? "").normalize("NFKC").toLocaleLowerCase().replace(/\s+/g, " ").trim();
15
+ const normalizedQuery = normalize(query);
16
+ const title = normalize(requirement.title);
17
+ const context = normalize(requirement.context_data);
18
+ const goalKey = normalize(requirement.goal_key);
19
+ const combined = `${title}\n${context}\n${goalKey}`;
20
+ if (normalizedQuery && combined.includes(normalizedQuery))
21
+ return 1_000_000;
22
+ const rawSegments = normalizedQuery.match(/[a-z0-9_./:@#-]+|\p{Script=Han}+/gu) ?? [];
23
+ const segments = rawSegments.flatMap((segment) => {
24
+ if (!/\p{Script=Han}/u.test(segment) || segment.length <= 2)
25
+ return [segment];
26
+ return Array.from({ length: segment.length - 1 }, (_, index) => segment.slice(index, index + 2));
27
+ });
28
+ let score = 0;
29
+ for (const segment of new Set(segments.filter((segment) => segment.length >= 2))) {
30
+ if (title.includes(segment))
31
+ score += segment.length * 4;
32
+ if (goalKey.includes(segment))
33
+ score += segment.length * 3;
34
+ if (context.includes(segment))
35
+ score += segment.length;
36
+ }
37
+ return score;
38
+ }
13
39
  function getVisibleRecentNotePreviews(db, limit, includeContent, previewChars, contentMaxChars) {
14
40
  if (limit <= 0)
15
41
  return [];
@@ -40,6 +66,21 @@ function getVisibleRecentNotePreviews(db, limit, includeContent, previewChars, c
40
66
  .slice(0, limit)
41
67
  .map((n) => toMemoryItemPreview(n, includeContent, previewChars, contentMaxChars));
42
68
  }
69
+ function getActiveLargeFilePlanPreviews(db, reqId, limit, previewChars, contentMaxChars) {
70
+ if (limit <= 0)
71
+ return [];
72
+ const rows = db.prepare(`SELECT id, kind, title, content, file_path, start_line, end_line, req_id, metadata_json, content_hash, created_at, updated_at
73
+ FROM memory_items
74
+ WHERE kind = 'large_file_split_plan'
75
+ AND req_id = ?
76
+ AND COALESCE(json_extract(
77
+ CASE WHEN json_valid(COALESCE(metadata_json, '{}')) THEN COALESCE(metadata_json, '{}') ELSE '{}' END,
78
+ '$.status'
79
+ ), '') NOT IN ('resolved', 'superseded', 'compacted', 'deferred', 'abandoned')
80
+ ORDER BY updated_at DESC, id DESC
81
+ LIMIT ?`).all(reqId, limit);
82
+ return rows.map((row) => toMemoryItemPreview(row, false, previewChars, contentMaxChars));
83
+ }
43
84
  export async function handleBootstrapContext(rawArgs, context) {
44
85
  const projectRoot = context.getProjectRoot();
45
86
  const rootSource = context.getRootSource();
@@ -47,9 +88,11 @@ export async function handleBootstrapContext(rawArgs, context) {
47
88
  const db = context.getDb();
48
89
  const watcherEnabled = context.isWatcherEnabled();
49
90
  const watcherReady = context.isWatcherReady();
50
- const { getActiveRequirementStmt, listPendingChangesStmt, getProjectSummaryStmt, listRecentRequirementsStmt, listChangeLogsForRequirementStmt, } = context.getStatements();
91
+ const { getActiveRequirementStmt, listActiveRequirementsStmt, listPendingChangesStmt, getProjectSummaryStmt, listRecentRequirementsStmt, listChangeLogsForRequirementStmt, } = context.getStatements();
51
92
  const args = BootstrapContextArgsSchema.parse(rawArgs);
93
+ const contextPolicy = resolveBootstrapContextPolicy(rawArgs, args);
52
94
  flushPendingChangeBuffer();
95
+ const q = args.query?.trim() ?? "";
53
96
  const previewChars = args.preview_chars;
54
97
  const includeContent = args.include_content;
55
98
  const contentMaxChars = args.content_max_chars;
@@ -59,8 +102,30 @@ export async function handleBootstrapContext(rawArgs, context) {
59
102
  const conventionsLimit = args.conventions_limit;
60
103
  const decisionsLimit = args.decisions_limit;
61
104
  const currentContextLimit = args.current_context_limit;
62
- const recent = listRecentRequirementsStmt.all(requirementsLimit);
63
- const items = recent.map((req) => {
105
+ const activeCandidateLimit = Math.max(50, requirementsLimit);
106
+ const activeRequirements = listActiveRequirementsStmt.all(activeCandidateLimit);
107
+ const exactGoalRequirement = contextPolicy.mode === "focused" && q
108
+ ? context.getDb().prepare(`SELECT id, title, status, context_data, goal_key, created_at
109
+ FROM requirements WHERE status = 'active' AND goal_key = ? LIMIT 1`).get(q)
110
+ : undefined;
111
+ const relevantActiveRequirements = contextPolicy.mode === "focused" && q
112
+ ? activeRequirements.filter((requirement) => focusedTextIsRelevant(q, requirement.title, requirement.context_data, requirement.goal_key)).sort((left, right) => focusedRequirementRelevanceScore(q, right) - focusedRequirementRelevanceScore(q, left) ||
113
+ right.id - left.id)
114
+ : activeRequirements.slice(0, requirementsLimit);
115
+ const focusedActiveRequirements = exactGoalRequirement
116
+ ? [exactGoalRequirement, ...relevantActiveRequirements.filter((requirement) => requirement.id !== exactGoalRequirement.id)]
117
+ : relevantActiveRequirements;
118
+ const activeRequirement = focusedActiveRequirements[0]
119
+ ?? activeRequirements[0]
120
+ ?? getActiveRequirementStmt.get();
121
+ const recent = contextPolicy.include_recent
122
+ ? listRecentRequirementsStmt.all(requirementsLimit)
123
+ : focusedActiveRequirements.length
124
+ ? focusedActiveRequirements.slice(0, requirementsLimit)
125
+ : activeRequirement
126
+ ? [activeRequirement]
127
+ : [];
128
+ let items = recent.map((req) => {
64
129
  const changes = listChangeLogsForRequirementStmt.all(req.id, changesLimit);
65
130
  return {
66
131
  requirement: toRequirementPreview(req, includeContent, previewChars, contentMaxChars),
@@ -68,15 +133,25 @@ export async function handleBootstrapContext(rawArgs, context) {
68
133
  };
69
134
  });
70
135
  const projectSummaryRow = getProjectSummaryStmt.get();
71
- const project_summary = projectSummaryRow
136
+ let project_summary = projectSummaryRow
72
137
  ? toMemoryItemPreview(projectSummaryRow, includeContent, previewChars, contentMaxChars)
73
138
  : null;
74
- const recent_notes = getVisibleRecentNotePreviews(db, notesLimit, includeContent, previewChars, contentMaxChars);
75
- const decisions = getDecisionPreviews(decisionsLimit, previewChars, contentMaxChars);
76
- const conventions = getConventionPreviews(conventionsLimit, previewChars, contentMaxChars);
77
- const current_context = getCurrentContextPreviews(currentContextLimit, previewChars, contentMaxChars);
78
- const current_constraints = collectCurrentConstraintsForBootstrap(context, Math.max(8, Math.min(20, currentContextLimit + decisionsLimit)), previewChars);
79
- const activeForScope = getActiveRequirementStmt.get();
139
+ let recent_notes = contextPolicy.include_recent
140
+ ? getVisibleRecentNotePreviews(db, notesLimit, includeContent, previewChars, contentMaxChars)
141
+ : [];
142
+ let decisions = getDecisionPreviews(contextPolicy.include_recent ? decisionsLimit : Math.min(3, decisionsLimit), previewChars, contentMaxChars);
143
+ let conventions = contextPolicy.include_recent
144
+ ? getConventionPreviews(conventionsLimit, previewChars, contentMaxChars)
145
+ : [];
146
+ let current_context = contextPolicy.include_recent
147
+ ? getCurrentContextPreviews(currentContextLimit, previewChars, contentMaxChars)
148
+ : activeRequirement
149
+ ? getActiveLargeFilePlanPreviews(db, activeRequirement.id, Math.min(3, currentContextLimit), previewChars, contentMaxChars)
150
+ : [];
151
+ let current_constraints = collectCurrentConstraintsForBootstrap(context, contextPolicy.include_recent
152
+ ? Math.max(8, Math.min(20, currentContextLimit + decisionsLimit))
153
+ : 8, previewChars);
154
+ const activeForScope = activeRequirement;
80
155
  const relevantFixPatterns = collectRelevantFixPatterns(context, {
81
156
  intent: args.query ?? "",
82
157
  files: [],
@@ -86,24 +161,24 @@ export async function handleBootstrapContext(rawArgs, context) {
86
161
  const quality_signals = buildFixPatternQualitySignals(relevantFixPatterns);
87
162
  const pending_offset = args.pending_offset;
88
163
  const pending_limit = args.pending_limit;
89
- const pendingDbRows = listPendingChangesStmt.all();
90
- const mergedPending = mergePendingWithGit(pendingDbRows, { offset: pending_offset, limit: pending_limit });
164
+ const mergedPending = contextPolicy.include_pending
165
+ ? mergePendingWithGit(listPendingChangesStmt.all(), { offset: pending_offset, limit: pending_limit })
166
+ : { total: 0, truncated: false, page: [] };
91
167
  const pending_total = mergedPending.total;
92
- const pending_truncated = mergedPending.truncated;
93
- const pending_changes = mergedPending.page;
94
- const development_warnings = [
168
+ let pending_truncated = mergedPending.truncated;
169
+ let pending_changes = mergedPending.page;
170
+ let development_warnings = [
95
171
  ...buildDevelopmentWarnings(pending_changes),
96
172
  ...(activeForScope
97
173
  ? buildScopeDriftWarnings({ requirement: activeForScope, files: pending_changes })
98
174
  : []),
99
175
  ];
100
- const q = args.query?.trim() ?? "";
176
+ const operationIntent = detectOperationIntent(q);
101
177
  const semanticKinds = args.kinds?.length ? args.kinds : BOOTSTRAP_DEFAULT_CONTEXT_KINDS;
102
- const expandedQuery = q ? expandOperationQuery(q) : "";
103
- const semantic = q
178
+ const semanticRaw = q
104
179
  ? await Promise.race([
105
180
  semanticSearchHybridInternal({
106
- query: expandedQuery,
181
+ query: q,
107
182
  topK: args.top_k,
108
183
  kinds: semanticKinds,
109
184
  includeContent,
@@ -116,6 +191,42 @@ export async function handleBootstrapContext(rawArgs, context) {
116
191
  return null;
117
192
  })
118
193
  : null;
194
+ const semanticWithoutInactiveDefaultPlans = semanticRaw && !args.kinds?.length
195
+ ? {
196
+ ...semanticRaw,
197
+ matches: semanticRaw.matches.filter((match) => match.item.kind !== "large_file_split_plan" ||
198
+ !["resolved", "deferred", "abandoned"].includes(metadataStatus(match.item))),
199
+ }
200
+ : semanticRaw;
201
+ const semantic = contextPolicy.mode === "focused"
202
+ ? filterFocusedSemanticResult(q, semanticWithoutInactiveDefaultPlans)
203
+ : semanticWithoutInactiveDefaultPlans;
204
+ const semanticSearchStatus = !q
205
+ ? "skipped_no_query"
206
+ : semanticRaw == null
207
+ ? "timeout_or_unavailable"
208
+ : semantic?.matches?.length
209
+ ? "matches"
210
+ : "no_matches";
211
+ const previewIsClean = (item) => !isObviouslyCorruptedText(item.title, item.preview, item.file_path);
212
+ if (project_summary && !previewIsClean(project_summary))
213
+ project_summary = null;
214
+ items = items.filter((item) => !isObviouslyCorruptedText(item.requirement.title, item.requirement.context_preview));
215
+ recent_notes = recent_notes.filter(previewIsClean);
216
+ decisions = decisions.filter(previewIsClean);
217
+ conventions = conventions.filter(previewIsClean);
218
+ current_context = current_context.filter(previewIsClean);
219
+ current_constraints = current_constraints.filter((constraint) => !isObviouslyCorruptedText(constraint.title, constraint.preview));
220
+ if (contextPolicy.mode === "focused" && !contextPolicy.include_recent) {
221
+ decisions = decisions.filter((item) => focusedTextIsRelevant(q, item.title, item.preview, item.file_path));
222
+ current_context = current_context.filter((item) => focusedTextIsRelevant(q, item.title, item.preview, item.file_path));
223
+ current_constraints = current_constraints.filter((constraint) => focusedTextIsRelevant(q, constraint.title, constraint.preview));
224
+ }
225
+ if (!contextPolicy.include_pending) {
226
+ pending_changes = [];
227
+ pending_truncated = pending_total > 0;
228
+ development_warnings = [];
229
+ }
119
230
  logActivity("bootstrap_context", {
120
231
  query: q || null,
121
232
  pending_total,
@@ -126,6 +237,11 @@ export async function handleBootstrapContext(rawArgs, context) {
126
237
  conventions_returned: conventions.length,
127
238
  semantic_mode: semantic?.mode ?? null,
128
239
  semantic_matches: semantic?.matches?.length ?? 0,
240
+ context_mode: contextPolicy.mode,
241
+ pending_included: contextPolicy.include_pending,
242
+ recent_included: contextPolicy.include_recent,
243
+ operation_intent_detected: operationIntent.detected,
244
+ operation_intent_terms: operationIntent.matched_terms,
129
245
  });
130
246
  const outputValue = {
131
247
  ok: true,
@@ -135,6 +251,29 @@ export async function handleBootstrapContext(rawArgs, context) {
135
251
  db_path: dbPath,
136
252
  watcher_enabled: watcherEnabled,
137
253
  watcher_ready: watcherReady,
254
+ index_state: {
255
+ watcher: !watcherEnabled ? "off" : watcherReady ? "ready" : "warming",
256
+ fts_available: context.isFtsAvailable(),
257
+ semantic_search: semanticSearchStatus,
258
+ },
259
+ context_policy: {
260
+ mode: contextPolicy.mode,
261
+ include_pending: contextPolicy.include_pending,
262
+ include_recent: contextPolicy.include_recent,
263
+ max_output_chars: contextPolicy.max_output_chars,
264
+ compact_truncated: false,
265
+ current_anchor_included: items.length > 0,
266
+ },
267
+ operation_preflight: {
268
+ detected: operationIntent.detected,
269
+ required_before_commands: operationIntent.detected,
270
+ tool: "preflight_operation_scope",
271
+ bootstrap_is_not_operation_preflight: true,
272
+ matched_terms: operationIntent.matched_terms,
273
+ action: operationIntent.detected
274
+ ? "Call preflight_operation_scope once immediately before the first concrete operation command. Do not treat bootstrap_context as satisfying operation preflight."
275
+ : null,
276
+ },
138
277
  output: {
139
278
  format: args.format,
140
279
  include_content: includeContent,
@@ -153,6 +292,7 @@ export async function handleBootstrapContext(rawArgs, context) {
153
292
  current_context,
154
293
  recent_notes,
155
294
  pending_total,
295
+ pending_included: contextPolicy.include_pending,
156
296
  pending_offset,
157
297
  pending_limit,
158
298
  pending_truncated,
@@ -163,11 +303,16 @@ export async function handleBootstrapContext(rawArgs, context) {
163
303
  current_constraints,
164
304
  semantic,
165
305
  };
306
+ const compactOutput = boundCompactContext(compactBootstrapText(outputValue), contextPolicy.max_output_chars);
307
+ outputValue.context_policy = {
308
+ ...outputValue.context_policy,
309
+ compact_truncated: compactOutput.truncated,
310
+ };
166
311
  return {
167
312
  content: [
168
313
  {
169
314
  type: "text",
170
- text: toolText("bootstrap_context", outputValue, compactBootstrapText(outputValue), args.format),
315
+ text: toolText("bootstrap_context", outputValue, compactOutput.text, args.format),
171
316
  },
172
317
  ],
173
318
  };
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tool-handlers/memory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC5I,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrQ,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qCAAqC,EAAE,MAAM,iBAAiB,CAAC;AACxE,SAAS,4BAA4B,CACnC,EAAqB,EACrB,KAAa,EACb,cAAuB,EACvB,YAAoB,EACpB,eAAuB;IAEvB,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,wBAAwB,GAAG,EAAE,CAAC,OAAO,CACzC;;;;sBAIkB,CACnB,CAAC;IACF,IAAI,OAAO,GAAoB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAoB,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM;QACxB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QACrC,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI,MAAM,IAAI,OAAO;YAAE,MAAM;IACpF,CAAC;IACD,OAAO,OAAO;SACX,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAgC,EAChC,OAA2B;IAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,EACJ,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,gCAAgC,GACjC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvD,wBAAwB,EAAE,CAAC;IAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IAEvD,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,iBAAiB,CAAqB,CAAC;IACrF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAmB,CAAC;QAC7F,OAAO;YACL,WAAW,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC;YACrF,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;SACzG,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,EAA+B,CAAC;IACnF,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC;QACvF,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,4BAA4B,CAC/C,EAAE,EACF,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,CAChB,CAAC;IACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACtG,MAAM,mBAAmB,GAAG,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,GAAG,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1J,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,EAAgC,CAAC;IACpF,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,OAAO,EAAE;QAC9D,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,cAAc,IAAI,IAAI;QACnC,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,6BAA6B,CAAC,mBAAmB,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,EAI9C,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3G,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;IAC1C,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC;IAClD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC;IAC3C,MAAM,oBAAoB,GAAG;QAC3B,GAAG,wBAAwB,CAAC,eAAe,CAAC;QAC5C,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,CAAC;IACxF,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,QAAQ,GACZ,CAAC;QACC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,4BAA4B,CAAC;gBAC3B,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,KAAK,EAAE,aAAa;gBACpB,cAAc;gBACd,YAAY;gBACZ,eAAe;aAChB,CAAC;YACF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;SACzF,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,WAAW,CAAC,mBAAmB,EAAE;QAC/B,KAAK,EAAE,CAAC,IAAI,IAAI;QAChB,aAAa;QACb,gBAAgB,EAAE,eAAe,CAAC,MAAM;QACxC,qBAAqB,EAAE,KAAK,CAAC,MAAM;QACnC,kBAAkB,EAAE,SAAS,CAAC,MAAM;QACpC,wBAAwB,EAAE,eAAe,CAAC,MAAM;QAChD,oBAAoB,EAAE,WAAW,CAAC,MAAM;QACxC,aAAa,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;QACrC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;KACjD,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,IAAI;QACR,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,cAAc;YAC/B,aAAa,EAAE,YAAY;YAC3B,iBAAiB,EAAE,eAAe;YAClC,kBAAkB,EAAE,iBAAiB;YACrC,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,cAAc;YAC/B,qBAAqB,EAAE,mBAAmB;YAC1C,iBAAiB,EAAE,gBAAgB;SACpC;QACD,eAAe;QACf,SAAS;QACT,WAAW;QACX,eAAe;QACf,YAAY;QACZ,aAAa;QACb,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,oBAAoB;QACpB,eAAe;QACf,KAAK;QACL,mBAAmB;QACnB,QAAQ;KACT,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;aACjG;SACF;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgC,EAChC,OAA2B;IAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,EACJ,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,gCAAgC,GACjC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,wBAAwB,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IAEvD,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,iBAAiB,CAAqB,CAAC;IACrF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAmB,CAAC;QAC7F,OAAO;YACL,WAAW,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC;YACrF,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;SACzG,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,EAA+B,CAAC;IACnF,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC;QACvF,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,4BAA4B,CAC/C,EAAE,EACF,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,CAChB,CAAC;IACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACtG,MAAM,mBAAmB,GAAG,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,GAAG,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1J,MAAM,eAAe,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,EAI9C,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3G,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;IAC1C,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC;IAClD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC;IAC3C,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,EAAgC,CAAC;IACpF,MAAM,oBAAoB,GAAG;QAC3B,GAAG,wBAAwB,CAAC,eAAe,CAAC;QAC5C,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,WAAW,CAAC,gBAAgB,EAAE;QAC5B,aAAa;QACb,gBAAgB,EAAE,eAAe,CAAC,MAAM;QACxC,qBAAqB,EAAE,KAAK,CAAC,MAAM;QACnC,cAAc,EAAE,YAAY,CAAC,MAAM;QACnC,kBAAkB,EAAE,SAAS,CAAC,MAAM;QACpC,wBAAwB,EAAE,eAAe,CAAC,MAAM;QAChD,oBAAoB,EAAE,WAAW,CAAC,MAAM;KACzC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,IAAI;QACR,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,cAAc;YAC/B,aAAa,EAAE,YAAY;YAC3B,iBAAiB,EAAE,eAAe;YAClC,kBAAkB,EAAE,iBAAiB;YACrC,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,cAAc;YAC/B,qBAAqB,EAAE,mBAAmB;YAC1C,iBAAiB,EAAE,gBAAgB;SACpC;QACD,eAAe;QACf,SAAS;QACT,WAAW;QACX,eAAe;QACf,YAAY;QACZ,aAAa;QACb,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,oBAAoB;QACpB,eAAe;QACf,KAAK;QACL,mBAAmB;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;aAC9F;SACF;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgC,EAChC,OAA2B;IAE3B,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE1D,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,wBAAwB,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAA8B,CAAC;IAC5E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3G,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAEzC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE;wBACJ,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,aAAa,EAAE,GAAG,CAAC,aAAa;wBAChC,UAAU,EAAE,GAAG,CAAC,UAAU;qBAC3B;oBACD,WAAW,EAAE,KAAK;oBAClB,MAAM;oBACN,KAAK;oBACL,SAAS;oBACT,OAAO,EAAE,KAAK;iBACf,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgC,EAChC,QAA4B;IAE5B,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;QAChD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC7C,cAAc,EAAE,IAAI,CAAC,eAAe;QACpC,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB;KACxC,CAAC,CAAC;IAEH,WAAW,CAAC,iBAAiB,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;QAC9B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;YAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE5C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;aAC7G;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tool-handlers/memory.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { compactPreflightOperationScopeText } from "../tool-output.js";
4
4
  import { toolCompactOrJson } from "../token-savings.js";
5
5
  import { flushPendingChangeBuffer } from "../file-indexing.js";
6
6
  import { logActivity } from "../activity-log.js";
7
+ import { focusedTextIsRelevant, isObviouslyCorruptedText } from "../context-governance.js";
7
8
  function memoryForRequirement(context, req) {
8
9
  const { getRequirementMemoryItemIdStmt, getMemoryItemByIdStmt } = context.getStatements();
9
10
  const memId = getRequirementMemoryItemIdStmt.get(req.id)?.id;
@@ -11,10 +12,14 @@ function memoryForRequirement(context, req) {
11
12
  }
12
13
  function getCurrentConstraintsForOperation(context, limit, previewChars) {
13
14
  const { listCurrentDecisionsStmt, listConventionsStmt, listActiveRequirementsStmt, } = context.getStatements();
14
- const currentDecisions = listCurrentDecisionsStmt.all(Math.max(limit, 12));
15
- const conventions = listConventionsStmt.all(Math.min(Math.max(limit, 12), 50));
15
+ const cleanMemory = (row) => !isObviouslyCorruptedText(row.title, row.content, row.file_path);
16
+ const currentDecisions = listCurrentDecisionsStmt.all(Math.max(limit, 12))
17
+ .filter(cleanMemory);
18
+ const conventions = listConventionsStmt.all(Math.min(Math.max(limit, 12), 50))
19
+ .filter(cleanMemory);
16
20
  const activeRequirements = listActiveRequirementsStmt.all(10)
17
- .map((requirement) => ({ requirement, memory: memoryForRequirement(context, requirement) }));
21
+ .map((requirement) => ({ requirement, memory: memoryForRequirement(context, requirement) }))
22
+ .filter(({ requirement, memory }) => !isObviouslyCorruptedText(requirement.title, requirement.context_data, memory?.content));
18
23
  const recentNotes = context.getDb().prepare(`SELECT id, kind, title, content, file_path, start_line, end_line, req_id, metadata_json, content_hash, created_at, updated_at
19
24
  FROM memory_items
20
25
  WHERE kind = 'note'
@@ -24,7 +29,7 @@ function getCurrentConstraintsForOperation(context, limit, previewChars) {
24
29
  currentDecisions,
25
30
  conventions,
26
31
  activeRequirements,
27
- recentNotes,
32
+ recentNotes: recentNotes.filter(cleanMemory),
28
33
  limit,
29
34
  previewChars,
30
35
  });
@@ -35,20 +40,35 @@ export function collectCurrentConstraintsForBootstrap(context, limit, previewCha
35
40
  export async function handlePreflightOperationScope(rawArgs, context) {
36
41
  const args = PreflightOperationScopeArgsSchema.parse(rawArgs);
37
42
  flushPendingChangeBuffer();
38
- const currentConstraints = getCurrentConstraintsForOperation(context, args.constraints_limit, args.preview_chars);
39
- const result = evaluateOperationScope({
43
+ const allCurrentConstraints = getCurrentConstraintsForOperation(context, args.constraints_limit, args.preview_chars);
44
+ const plan = {
40
45
  operation: args.operation,
41
46
  intent: args.intent,
42
47
  commands: args.commands,
43
48
  files: args.files,
44
49
  targets: args.targets,
45
50
  script_hints: args.script_hints,
46
- }, currentConstraints);
51
+ };
52
+ const result = evaluateOperationScope(plan, allCurrentConstraints);
53
+ const operationQuery = [
54
+ args.operation,
55
+ args.intent,
56
+ ...(args.commands ?? []),
57
+ ...(args.files ?? []),
58
+ ...(args.targets ?? []),
59
+ ...(args.script_hints ?? []),
60
+ ].join("\n");
61
+ const warningConstraintIds = new Set(result.warnings.flatMap((warning) => warning.evidence ?? []).map((evidence) => evidence.constraint_id));
62
+ result.current_constraints = allCurrentConstraints
63
+ .filter((constraint) => warningConstraintIds.has(constraint.id) ||
64
+ focusedTextIsRelevant(operationQuery, constraint.title, constraint.preview))
65
+ .slice(0, args.constraints_limit);
47
66
  logActivity("preflight_operation_scope", {
48
67
  operation: args.operation,
49
68
  warnings: result.warnings.length,
50
69
  blockers: result.warnings.filter((w) => w.severity === "blocker").length,
51
- constraints: currentConstraints.length,
70
+ constraints_checked: allCurrentConstraints.length,
71
+ constraints_returned: result.current_constraints.length,
52
72
  });
53
73
  return {
54
74
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/tool-handlers/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/tool-handlers/operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { ToolHandlerContext } from "./context.js";
3
+ export declare function handleGetRequirementStatus(rawArgs: Record<string, unknown>, context: ToolHandlerContext): Promise<CallToolResult>;
4
+ export declare function handleResumeRequirement(rawArgs: Record<string, unknown>, context: ToolHandlerContext): Promise<CallToolResult>;
5
+ export declare function handleUpdateRequirementVerification(rawArgs: Record<string, unknown>, context: ToolHandlerContext): Promise<CallToolResult>;