ghagga-core 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +16 -14
  2. package/dist/acp/adapter.d.ts.map +1 -1
  3. package/dist/acp/adapter.js +8 -1
  4. package/dist/acp/adapter.js.map +1 -1
  5. package/dist/adversarial-qa.js.map +1 -1
  6. package/dist/agents/consensus.d.ts +2 -2
  7. package/dist/agents/consensus.d.ts.map +1 -1
  8. package/dist/agents/consensus.js +13 -5
  9. package/dist/agents/consensus.js.map +1 -1
  10. package/dist/agents/fan-out-lenses.d.ts +33 -2
  11. package/dist/agents/fan-out-lenses.d.ts.map +1 -1
  12. package/dist/agents/fan-out-lenses.js +245 -8
  13. package/dist/agents/fan-out-lenses.js.map +1 -1
  14. package/dist/agents/issue-code-discovery.d.ts +58 -0
  15. package/dist/agents/issue-code-discovery.d.ts.map +1 -0
  16. package/dist/agents/issue-code-discovery.js +144 -0
  17. package/dist/agents/issue-code-discovery.js.map +1 -0
  18. package/dist/agents/issue-triage.d.ts +11 -1
  19. package/dist/agents/issue-triage.d.ts.map +1 -1
  20. package/dist/agents/issue-triage.js +53 -4
  21. package/dist/agents/issue-triage.js.map +1 -1
  22. package/dist/agents/prompts.d.ts +12 -3
  23. package/dist/agents/prompts.d.ts.map +1 -1
  24. package/dist/agents/prompts.js +21 -2
  25. package/dist/agents/prompts.js.map +1 -1
  26. package/dist/agents/simple.d.ts.map +1 -1
  27. package/dist/agents/simple.js +1 -1
  28. package/dist/agents/simple.js.map +1 -1
  29. package/dist/agents/voice-validation.d.ts +34 -0
  30. package/dist/agents/voice-validation.d.ts.map +1 -0
  31. package/dist/agents/voice-validation.js +64 -0
  32. package/dist/agents/voice-validation.js.map +1 -0
  33. package/dist/agents/workflow.d.ts.map +1 -1
  34. package/dist/agents/workflow.js +8 -0
  35. package/dist/agents/workflow.js.map +1 -1
  36. package/dist/aisvs.js.map +1 -1
  37. package/dist/code-intel/client.d.ts.map +1 -1
  38. package/dist/critique/critique.js +1 -1
  39. package/dist/critique/critique.js.map +1 -1
  40. package/dist/critique/prompts.d.ts +1 -1
  41. package/dist/critique/prompts.d.ts.map +1 -1
  42. package/dist/critique/prompts.js +1 -1
  43. package/dist/embed.d.ts.map +1 -1
  44. package/dist/embed.js.map +1 -1
  45. package/dist/enhance/prompt.d.ts +1 -1
  46. package/dist/enhance/prompt.d.ts.map +1 -1
  47. package/dist/explanation.d.ts +69 -0
  48. package/dist/explanation.d.ts.map +1 -0
  49. package/dist/explanation.js +16 -0
  50. package/dist/explanation.js.map +1 -0
  51. package/dist/format.d.ts.map +1 -1
  52. package/dist/format.js +1 -0
  53. package/dist/format.js.map +1 -1
  54. package/dist/graph/loader.d.ts +1 -1
  55. package/dist/graph/loader.d.ts.map +1 -1
  56. package/dist/graph/loader.js.map +1 -1
  57. package/dist/index.d.ts +11 -4
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +14 -3
  60. package/dist/index.js.map +1 -1
  61. package/dist/memory/backfill.js.map +1 -1
  62. package/dist/memory/contradiction.js.map +1 -1
  63. package/dist/memory/decay.d.ts +40 -0
  64. package/dist/memory/decay.d.ts.map +1 -1
  65. package/dist/memory/decay.js +57 -0
  66. package/dist/memory/decay.js.map +1 -1
  67. package/dist/memory/engram-client.d.ts.map +1 -1
  68. package/dist/memory/engram.d.ts.map +1 -1
  69. package/dist/memory/engram.js +15 -3
  70. package/dist/memory/engram.js.map +1 -1
  71. package/dist/memory/pageindex/chunker.d.ts.map +1 -1
  72. package/dist/memory/pageindex/example.js.map +1 -1
  73. package/dist/memory/pageindex/service.d.ts.map +1 -1
  74. package/dist/memory/pageindex/service.js.map +1 -1
  75. package/dist/memory/search.d.ts +157 -0
  76. package/dist/memory/search.d.ts.map +1 -1
  77. package/dist/memory/search.js +420 -0
  78. package/dist/memory/search.js.map +1 -1
  79. package/dist/memory/sqlite.d.ts.map +1 -1
  80. package/dist/memory/sqlite.js +11 -3
  81. package/dist/memory/sqlite.js.map +1 -1
  82. package/dist/memory/versioning.d.ts.map +1 -1
  83. package/dist/memory/versioning.js.map +1 -1
  84. package/dist/pipeline/execute.d.ts.map +1 -1
  85. package/dist/pipeline/execute.js +14 -0
  86. package/dist/pipeline/execute.js.map +1 -1
  87. package/dist/providers/cli-bridge.d.ts +13 -11
  88. package/dist/providers/cli-bridge.d.ts.map +1 -1
  89. package/dist/providers/cli-bridge.js +155 -40
  90. package/dist/providers/cli-bridge.js.map +1 -1
  91. package/dist/providers/explanation-generate-fn.d.ts +28 -0
  92. package/dist/providers/explanation-generate-fn.d.ts.map +1 -0
  93. package/dist/providers/explanation-generate-fn.js +122 -0
  94. package/dist/providers/explanation-generate-fn.js.map +1 -0
  95. package/dist/providers/gateway.js.map +1 -1
  96. package/dist/sanitize.js.map +1 -1
  97. package/dist/scope/parser.js.map +1 -1
  98. package/dist/scope/types.d.ts +3 -3
  99. package/dist/scope/types.d.ts.map +1 -1
  100. package/dist/search/indexer.d.ts.map +1 -1
  101. package/dist/search/searcher.d.ts.map +1 -1
  102. package/dist/search/searcher.js.map +1 -1
  103. package/dist/tools/budget.js.map +1 -1
  104. package/dist/tools/cpd.js.map +1 -1
  105. package/dist/tools/orchestrator.js.map +1 -1
  106. package/dist/tools/plugins/gitleaks.js.map +1 -1
  107. package/dist/tools/plugins/semgrep.js.map +1 -1
  108. package/dist/tools/registry.d.ts.map +1 -1
  109. package/dist/tools/semgrep.js.map +1 -1
  110. package/dist/trajectory.d.ts.map +1 -1
  111. package/dist/types.d.ts +43 -2
  112. package/dist/types.d.ts.map +1 -1
  113. package/dist/types.js +8 -0
  114. package/dist/types.js.map +1 -1
  115. package/dist/utils/concurrency.js.map +1 -1
  116. package/package.json +16 -16
@@ -120,4 +120,424 @@ export async function searchMemoryForContext(storage, project, fileList) {
120
120
  return null;
121
121
  }
122
122
  }
123
+ // ─── Issue Dedup (Phase 3) ──────────────────────────────────────
124
+ //
125
+ // The PR review path keys memory search off FILE-PATH segments
126
+ // (`buildSearchQuery` above). GitHub ISSUES carry no file paths, so the
127
+ // triage agent needs a different query builder: one that mines meaningful
128
+ // KEYWORDS out of the issue title + body. The two builders are deliberately
129
+ // kept separate (design D4) — issues are prose, diffs are paths.
130
+ //
131
+ // SCOPE NOTE (carried from Phase 2 review): the dedup query here consumes ONLY
132
+ // the issue TITLE + BODY, so there is no comment-count fan-out to cap on this
133
+ // surface. The DoS concern (capping the NUMBER of comments fetched) belongs to
134
+ // the Phase 3 FETCH side / Phase 4 ingestion worker, which must bound how many
135
+ // comments it pulls before handing them to the agent — NOT here.
136
+ /** Maximum number of keyword terms to include in an issue dedup query. */
137
+ export const MAX_ISSUE_SEARCH_TERMS = 12;
138
+ /** Minimum length for an issue keyword to be considered useful. */
139
+ const MIN_ISSUE_TERM_LENGTH = 3;
140
+ /**
141
+ * Hard cap on the length of untrusted issue text fed into keyword extraction.
142
+ *
143
+ * Issue title+body is attacker-controlled (anyone can open an issue) and enters
144
+ * {@link stripCode} / {@link extractIssueTerms} / {@link tokenizeIssueText} with
145
+ * no natural bound. Keyword extraction only needs a small prefix to find salient
146
+ * terms, so we truncate before ANY scanning runs — this is a defense-in-depth
147
+ * DoS guard (paired with the linear-time fence stripper) so no pathological
148
+ * input can pin the event loop. 10k chars is far more than enough signal for a
149
+ * keyword query; the excess is dropped.
150
+ */
151
+ export const MAX_ISSUE_TEXT_LENGTH = 10000;
152
+ /**
153
+ * Observation type under which triaged issues are persisted in memory.
154
+ *
155
+ * SHARED CONSTANT — dedup scopes its memory search to THIS type so it only
156
+ * matches prior issue-origin observations, not arbitrary memory (patterns,
157
+ * bugfixes, PR notes). Phase 4's save-path MUST persist every triaged issue
158
+ * under EXACTLY this `type`, or dedup will find nothing.
159
+ *
160
+ * CARRY-FORWARD NOTE (Phase 4): when the ingestion worker saves a triaged issue
161
+ * via `storage.saveObservation`, set `type: ISSUE_TRIAGE_OBSERVATION_TYPE`.
162
+ * Until that save-path lands, `findIssueDuplicates` will correctly return an
163
+ * empty, non-duplicate result (there is nothing of this type to match) — that
164
+ * is EXPECTED, not a bug.
165
+ */
166
+ export const ISSUE_TRIAGE_OBSERVATION_TYPE = 'issue-triage';
167
+ /**
168
+ * Conservative dedup similarity threshold, in [0,1].
169
+ *
170
+ * A candidate is treated as a hard DUPLICATE only when its KEYWORD-OVERLAP
171
+ * similarity to the issue (see {@link issueOverlapScore}) is at or above this
172
+ * value. Weak matches are still surfaced as candidates (they become
173
+ * `memoryContext` for the agent + `dedupMatches` on the draft) but MUST NOT
174
+ * block: a false-positive dedup would silently bury a legitimate new issue.
175
+ *
176
+ * WHY KEYWORD OVERLAP (not the adapter's bm25/ts_rank `relevanceScore`):
177
+ * the three storage backends expose incomparable native signals — SQLite bm25
178
+ * (unbounded), Postgres ts_rank (small positive), and Engram NONE at all
179
+ * (its REST search returns no score). Gating on `relevanceScore` would give a
180
+ * single threshold three different meanings and silently DISABLE dedup on
181
+ * Engram. Instead we gate on a backend-AGNOSTIC Jaccard overlap of the dedup
182
+ * query terms against the candidate's title+content — identical math for all
183
+ * three backends, so one absolute threshold is genuinely meaningful and
184
+ * comparable. (The adapter `relevanceScore` is still surfaced on rows as
185
+ * telemetry and could graduate to the gate if Engram ever exposes scores.)
186
+ *
187
+ * 0.6 = "≥60% of the issue's distinctive keywords also appear in the prior
188
+ * observation". This is intentionally conservative: it prefers FALSE NEGATIVES
189
+ * (miss a dup → the agent/human still sees the candidate as context) over
190
+ * FALSE POSITIVES (wrongly suppress analysis of a real new issue). Tune with
191
+ * real issues. NOTE: re-picked from the old 0.6-on-decay-`strength` value,
192
+ * which gated on pure recency and was meaningless as relevance.
193
+ *
194
+ * SHORT-QUERY DEGRADATION (known v1 limitation): the overlap score is a COARSE
195
+ * step function when the query has few distinctive terms. With a 1-term query a
196
+ * single shared token yields score 1.0 (a guaranteed false-positive on the
197
+ * gate); with 2 terms the only scores possible are 0 / 0.5 / 1.0, so 0.6
198
+ * collapses to "share both terms". To avoid auto-suppressing a real issue on too
199
+ * little signal, {@link findIssueDuplicates} additionally requires the query to
200
+ * carry at least {@link MIN_DEDUP_QUERY_TERMS} distinctive terms before it will
201
+ * EVER set `isDuplicate`. A 1-term query therefore never auto-flags — it still
202
+ * SURFACES candidates (they appear in `matches` as context for the agent/human),
203
+ * it just never hard-blocks. (The proper fix is IDF/semantic similarity in a
204
+ * later phase; the term-count floor is the conservative v1 guard.)
205
+ */
206
+ export const DEDUP_SCORE_THRESHOLD = 0.6;
207
+ /**
208
+ * Minimum number of distinctive query terms required before issue dedup will set
209
+ * `isDuplicate` (hard-block). Below this floor the keyword-overlap score carries
210
+ * too little signal — a 1-term query flags on a single shared token (1.0) — so
211
+ * dedup only SURFACES candidates as context and never auto-suppresses. See the
212
+ * SHORT-QUERY DEGRADATION note on {@link DEDUP_SCORE_THRESHOLD}.
213
+ */
214
+ export const MIN_DEDUP_QUERY_TERMS = 2;
215
+ /**
216
+ * Common English stopwords plus issue-tracker boilerplate. Dropped from issue
217
+ * dedup queries because they carry no discriminating signal. Kept small and
218
+ * lowercase — this is a heuristic, not an NLP pipeline.
219
+ */
220
+ const ISSUE_STOPWORDS = new Set([
221
+ // articles / conjunctions / prepositions
222
+ 'the',
223
+ 'and',
224
+ 'for',
225
+ 'are',
226
+ 'but',
227
+ 'not',
228
+ 'you',
229
+ 'all',
230
+ 'any',
231
+ 'can',
232
+ 'had',
233
+ 'her',
234
+ 'was',
235
+ 'one',
236
+ 'our',
237
+ 'out',
238
+ 'has',
239
+ 'him',
240
+ 'his',
241
+ 'how',
242
+ 'its',
243
+ 'who',
244
+ 'did',
245
+ 'yes',
246
+ 'get',
247
+ 'with',
248
+ 'this',
249
+ 'that',
250
+ 'from',
251
+ 'they',
252
+ 'will',
253
+ 'would',
254
+ 'there',
255
+ 'their',
256
+ 'what',
257
+ 'when',
258
+ 'where',
259
+ 'which',
260
+ 'while',
261
+ 'have',
262
+ 'been',
263
+ 'were',
264
+ 'into',
265
+ 'than',
266
+ 'then',
267
+ 'them',
268
+ 'some',
269
+ 'such',
270
+ 'only',
271
+ 'also',
272
+ 'over',
273
+ 'after',
274
+ 'before',
275
+ 'about',
276
+ 'because',
277
+ 'should',
278
+ 'could',
279
+ 'does',
280
+ 'using',
281
+ 'via',
282
+ // issue-tracker boilerplate
283
+ 'issue',
284
+ 'bug',
285
+ 'error',
286
+ 'problem',
287
+ 'please',
288
+ 'thanks',
289
+ 'repro',
290
+ 'steps',
291
+ 'expected',
292
+ 'actual',
293
+ 'behavior',
294
+ 'behaviour',
295
+ ]);
296
+ /**
297
+ * Strip fenced code blocks delimited by a run of `fence` chars, in LINEAR time.
298
+ *
299
+ * Contract (matches the previous backreference regex for normal inputs): an
300
+ * opening run of N (≥3) fence chars is closed by the next run of the SAME N
301
+ * chars found via `indexOf` (linear scan). A longer opening fence (e.g. a 4-tick
302
+ * ````md block) therefore swallows any shorter ``` fences nested inside it,
303
+ * because a shorter inner run can never match the N-char closing token. An
304
+ * unterminated fence is left as literal text.
305
+ *
306
+ * This replaces the old `/(`{3,})[\s\S]*?\1/g` backreference regex, whose
307
+ * catastrophic backtracking was an empirically verified ReDoS on attacker-
308
+ * controlled issue text. `indexOf` cannot backtrack, so this is O(n).
309
+ */
310
+ function stripFencedBlocks(text, fence) {
311
+ const n = text.length;
312
+ let out = '';
313
+ let last = 0; // start of the pending literal span not yet flushed to `out`
314
+ let i = 0;
315
+ while (i < n) {
316
+ if (text[i] !== fence) {
317
+ i++;
318
+ continue;
319
+ }
320
+ // Measure the run of fence chars starting at i.
321
+ let j = i + 1;
322
+ while (j < n && text[j] === fence)
323
+ j++;
324
+ const runLen = j - i;
325
+ if (runLen >= 3) {
326
+ const closeIdx = text.indexOf(fence.repeat(runLen), j);
327
+ if (closeIdx !== -1) {
328
+ // Flush the literal span before this fence, then collapse the block.
329
+ out += `${text.slice(last, i)} `;
330
+ i = closeIdx + runLen;
331
+ last = i;
332
+ continue;
333
+ }
334
+ }
335
+ // Run < 3, or unterminated fence → treat as literal and keep scanning.
336
+ i = j;
337
+ }
338
+ out += text.slice(last);
339
+ return out;
340
+ }
341
+ /**
342
+ * Strip markdown code fences and inline code from issue text. Code blocks are
343
+ * the #1 source of noise tokens (variable names, language keywords) that would
344
+ * pollute a keyword query, so they are removed BEFORE tokenization.
345
+ *
346
+ * Untrusted issue text is hard-capped at {@link MAX_ISSUE_TEXT_LENGTH} before
347
+ * any scanning — a defensive DoS guard so no pathological input can pin the
348
+ * event loop during keyword extraction.
349
+ */
350
+ function stripCode(text) {
351
+ const capped = text.length > MAX_ISSUE_TEXT_LENGTH ? text.slice(0, MAX_ISSUE_TEXT_LENGTH) : text;
352
+ return (
353
+ // Backtick fences first, then tilde fences (same contract), then inline code.
354
+ stripFencedBlocks(stripFencedBlocks(capped, '`'), '~')
355
+ // Inline code: `token` (linear — no backreference).
356
+ .replace(/`[^`]*`/g, ' '));
357
+ }
358
+ /**
359
+ * Build a keyword search query from an issue's title + body.
360
+ *
361
+ * Pipeline: strip code → lowercase → split on non-word chars → drop stopwords
362
+ * and short tokens → dedupe (preserving first-seen order) → cap at
363
+ * {@link MAX_ISSUE_SEARCH_TERMS}. Title terms come first so the most salient
364
+ * keywords survive the cap.
365
+ *
366
+ * @param issueTitle - The issue title (untrusted prose).
367
+ * @param issueBody - The issue body (untrusted markdown prose).
368
+ * @returns A space-joined keyword query, or '' when no useful terms remain.
369
+ *
370
+ * @example
371
+ * buildIssueSearchQuery('Login button throws TypeError on Safari', '…')
372
+ * → "login button throws typeerror safari …"
373
+ */
374
+ export function buildIssueSearchQuery(issueTitle, issueBody) {
375
+ // Title first → its keywords rank ahead of the body's under the term cap.
376
+ const raw = `${issueTitle ?? ''}\n${issueBody ?? ''}`;
377
+ // SINGLE SOURCE OF TRUTH: share the exact tokenization pipeline with
378
+ // `tokenizeIssueText` (strip code → lowercase → split → drop stopwords +
379
+ // short tokens). Here we additionally cap at MAX_ISSUE_SEARCH_TERMS so the
380
+ // most salient (title-first) keywords survive.
381
+ const terms = extractIssueTerms(raw, MAX_ISSUE_SEARCH_TERMS);
382
+ return [...terms].join(' ');
383
+ }
384
+ /**
385
+ * Tokenize arbitrary issue/observation text into the SAME bag of meaningful
386
+ * keyword terms `buildIssueSearchQuery` uses (strip code → lowercase → split on
387
+ * non-word chars → drop stopwords + short tokens), WITHOUT the term cap.
388
+ *
389
+ * Used to score keyword overlap between an issue and a candidate observation.
390
+ * Sharing the {@link extractIssueTerms} pipeline guarantees the overlap math
391
+ * compares like-for-like tokens on both sides.
392
+ */
393
+ function tokenizeIssueText(text) {
394
+ return extractIssueTerms(text);
395
+ }
396
+ /**
397
+ * Shared tokenization pipeline — the SINGLE SOURCE OF TRUTH for turning issue /
398
+ * observation prose into a deduped bag of meaningful keyword terms:
399
+ * strip code → lowercase → split on non-word chars → drop stopwords + tokens
400
+ * shorter than {@link MIN_ISSUE_TERM_LENGTH}, preserving first-seen order.
401
+ *
402
+ * Both {@link buildIssueSearchQuery} (capped) and {@link tokenizeIssueText}
403
+ * (uncapped) delegate here so the QUERY side and the CANDIDATE side are always
404
+ * tokenized identically — a prerequisite for the overlap score to be meaningful.
405
+ *
406
+ * @param text - Raw text to tokenize (may be null/undefined → empty set).
407
+ * @param cap - Optional max number of terms (stops early once reached).
408
+ * Undefined ⇒ uncapped. See the asymmetric-cap note on {@link issueOverlapScore}.
409
+ */
410
+ function extractIssueTerms(text, cap) {
411
+ const cleaned = stripCode(text ?? '').toLowerCase();
412
+ const terms = new Set();
413
+ for (const token of cleaned.split(/[^a-z0-9]+/)) {
414
+ if (token.length < MIN_ISSUE_TERM_LENGTH)
415
+ continue;
416
+ if (ISSUE_STOPWORDS.has(token))
417
+ continue;
418
+ terms.add(token);
419
+ if (cap !== undefined && terms.size >= cap)
420
+ break;
421
+ }
422
+ return terms;
423
+ }
424
+ /**
425
+ * Backend-AGNOSTIC keyword-overlap similarity in [0,1] between an issue's dedup
426
+ * query terms and a candidate observation's text.
427
+ *
428
+ * Score = |queryTerms ∩ candidateTerms| / |queryTerms| (overlap coefficient,
429
+ * normalized by the QUERY side). Bounded, monotonic in shared keywords, and —
430
+ * crucially — identical math for EVERY backend, so {@link DEDUP_SCORE_THRESHOLD}
431
+ * means the same thing whether the candidate came from SQLite, Postgres, or the
432
+ * score-less Engram. This is NOT per-query-top normalization: a candidate that
433
+ * shares 1 of 8 query terms scores 0.125, not 1.0 — only a candidate echoing
434
+ * MOST of the issue's distinctive keywords clears the bar.
435
+ *
436
+ * KNOWN v1 LIMITATIONS (accepted trade-offs — dedup FLAGS, never hard-blocks,
437
+ * and semantic similarity is the Phase-N upgrade):
438
+ * (a) IDF-BLIND + ASYMMETRIC TERM CAP. Every shared term counts equally — a
439
+ * boilerplate term weighs the same as a rare distinctive one (no inverse
440
+ * document frequency). Compounding this, the QUERY side is capped at
441
+ * {@link MAX_ISSUE_SEARCH_TERMS} (via buildIssueSearchQuery) while the
442
+ * CANDIDATE side ({@link tokenizeIssueText}) is UNCAPPED. Since the score
443
+ * normalizes by the (capped) query term set, a verbose candidate that
444
+ * happens to echo the query's capped terms can score high — a directional
445
+ * bias toward verbose candidates. Accepted for v1: the gate flags, a human
446
+ * still adjudicates.
447
+ *
448
+ * @param queryTerms - The deduped issue keyword terms (from the dedup query).
449
+ * @param candidateText - The candidate observation's title + content.
450
+ */
451
+ function issueOverlapScore(queryTerms, candidateText) {
452
+ if (queryTerms.size === 0)
453
+ return 0;
454
+ const candidateTerms = tokenizeIssueText(candidateText);
455
+ if (candidateTerms.size === 0)
456
+ return 0;
457
+ let shared = 0;
458
+ for (const term of queryTerms) {
459
+ if (candidateTerms.has(term))
460
+ shared++;
461
+ }
462
+ return shared / queryTerms.size;
463
+ }
464
+ /**
465
+ * Map a raw observation row to a dedup match. `score` is the backend-agnostic
466
+ * keyword-OVERLAP similarity (the gate signal); the adapter's native
467
+ * `relevanceScore` is passed through for observability only.
468
+ */
469
+ function toDedupMatch(row, queryTerms) {
470
+ return {
471
+ observationId: row.id,
472
+ title: row.title,
473
+ score: issueOverlapScore(queryTerms, `${row.title}\n${row.content}`),
474
+ relevanceScore: row.relevanceScore,
475
+ };
476
+ }
477
+ /**
478
+ * Search memory for issues similar to the given one, using a keyword query
479
+ * built from the issue title + body.
480
+ *
481
+ * Conservative by design: it NEVER hard-blocks on weak similarity. It returns
482
+ * all candidate matches (so the agent can cite them as context), but only flags
483
+ * `isDuplicate` when the strongest match clears {@link DEDUP_SCORE_THRESHOLD}.
484
+ * Like {@link searchMemoryForContext}, it degrades gracefully — storage errors
485
+ * or a missing backend yield an empty, non-duplicate result rather than throwing
486
+ * (the triage pipeline must never crash on optional memory).
487
+ *
488
+ * @param storage - Memory storage backend (may be null/undefined → empty result).
489
+ * @param project - Project identifier (e.g., "owner/repo").
490
+ * @param issueTitle - Issue title (untrusted).
491
+ * @param issueBody - Issue body (untrusted).
492
+ */
493
+ export async function findIssueDuplicates(storage, project, issueTitle, issueBody) {
494
+ const empty = { query: '', matches: [], isDuplicate: false };
495
+ try {
496
+ if (!storage)
497
+ return empty;
498
+ const query = buildIssueSearchQuery(issueTitle, issueBody);
499
+ if (!query)
500
+ return empty;
501
+ // Scope to issue-origin observations ONLY (shared type constant) so dedup
502
+ // never matches arbitrary memory (patterns, bugfixes, PR notes).
503
+ //
504
+ // KNOWN v1 LIMITATION (b) — STEMMING MISMATCH (accepted trade-off): on
505
+ // Postgres, RETRIEVAL uses `to_tsquery('english', …)` which stems terms
506
+ // (throw/throws/throwing collapse to one root), but the overlap SCORER below
507
+ // ({@link issueOverlapScore} / {@link tokenizeIssueText}) does exact-token
508
+ // matching with NO stemming. So Postgres may RETRIEVE a morphological variant
509
+ // that the scorer then fails to credit (throw vs throws → counted as
510
+ // non-overlapping) → morphological FALSE NEGATIVES. Acceptable for v1: dedup
511
+ // is conservative-by-design (prefers misses over false suppressions); a
512
+ // stemmed/semantic scorer is the Phase-N upgrade.
513
+ const observations = await storage.searchObservations(project, query, {
514
+ limit: 5,
515
+ type: ISSUE_TRIAGE_OBSERVATION_TYPE,
516
+ });
517
+ if (!observations || observations.length === 0) {
518
+ return { query, matches: [], isDuplicate: false };
519
+ }
520
+ // Gate on backend-agnostic keyword overlap (see DEDUP_SCORE_THRESHOLD docs):
521
+ // measure each candidate's overlap with the SAME deduped query terms.
522
+ const queryTerms = new Set(query.split(/\s+/).filter(Boolean));
523
+ const matches = observations
524
+ .map((row) => toDedupMatch(row, queryTerms))
525
+ .sort((a, b) => b.score - a.score);
526
+ // Conservative gate: only the TOP (highest-overlap) match can flag a dup, AND
527
+ // ONLY when the query carries enough distinctive terms for the overlap score
528
+ // to be meaningful. Below MIN_DEDUP_QUERY_TERMS the score is a coarse step
529
+ // function (a 1-term query scores 1.0 on a single shared token), so we never
530
+ // auto-suppress — candidates are still surfaced in `matches` as context, they
531
+ // just don't hard-block. See SHORT-QUERY DEGRADATION on DEDUP_SCORE_THRESHOLD.
532
+ const isDuplicate = queryTerms.size >= MIN_DEDUP_QUERY_TERMS &&
533
+ matches.length > 0 &&
534
+ matches[0].score >= DEDUP_SCORE_THRESHOLD;
535
+ return { query, matches, isDuplicate };
536
+ }
537
+ catch (error) {
538
+ // Memory is optional — never let dedup break the triage pipeline.
539
+ console.warn('[ghagga] Issue dedup search failed (degrading gracefully):', error instanceof Error ? error.message : String(error));
540
+ return empty;
541
+ }
542
+ }
123
543
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const initSqlJs = typeof initSqlJsModule === 'function'
15
15
  : initSqlJsModule.initSqlJs;
16
16
  import { cosineSimilarity, deserializeEmbedding, serializeEmbedding, } from '../embed.js';
17
17
  import { DEFAULT_DECAY_CONFIG } from '../types.js';
18
- import { computeStrength } from './decay.js';
18
+ import { computeStrength, normalizeBm25Relevance } from './decay.js';
19
19
  // DatabaseWithParams is owned by pageindex/service.ts (already exported and
20
20
  // imported by pageindex/index.ts). sqlite.ts already depends on that module
21
21
  // (ProjectPageIndexService), so importing the type here adds no new edge —
@@ -239,7 +239,8 @@ export class SqliteMemoryStorage {
239
239
  // Fetch more than limit to account for decay filtering
240
240
  const fetchLimit = limit * 3;
241
241
  let sql = `
242
- SELECT o.id, o.type, o.title, o.content, o.file_paths, o.severity, o.last_accessed_at
242
+ SELECT o.id, o.type, o.title, o.content, o.file_paths, o.severity, o.last_accessed_at,
243
+ bm25(memory_observations_fts) AS bm25_score
243
244
  FROM memory_observations o
244
245
  JOIN memory_observations_fts fts ON fts.rowid = o.id
245
246
  WHERE memory_observations_fts MATCH ?
@@ -274,6 +275,10 @@ export class SqliteMemoryStorage {
274
275
  filePaths: row.file_paths ? JSON.parse(row.file_paths) : null,
275
276
  severity: row.severity ?? null,
276
277
  strength,
278
+ // Surface the adapter's native keyword relevance (saturating bm25 → [0,1])
279
+ // for observability/telemetry. NOT the dedup gate. bm25() is ≤ 0 for
280
+ // matches; normalizeBm25Relevance negates + saturates.
281
+ relevanceScore: normalizeBm25Relevance(row.bm25_score),
277
282
  });
278
283
  if (rows.length >= limit)
279
284
  break;
@@ -469,7 +474,7 @@ export class SqliteMemoryStorage {
469
474
  scored.sort((a, b) => b.finalScore - a.finalScore);
470
475
  const results = [];
471
476
  const accessedIds = [];
472
- for (const { candidate, strength } of scored) {
477
+ for (const { candidate, finalScore, strength } of scored) {
473
478
  if (results.length >= limit)
474
479
  break;
475
480
  accessedIds.push(candidate.id);
@@ -481,6 +486,9 @@ export class SqliteMemoryStorage {
481
486
  filePaths: candidate.filePaths,
482
487
  severity: candidate.severity,
483
488
  strength,
489
+ // Surface the combined hybrid relevance (0.7*cosine + 0.3*keyword, in
490
+ // [0,1]) for observability/telemetry. NOT the dedup gate.
491
+ relevanceScore: finalScore,
484
492
  });
485
493
  }
486
494
  // Update last_accessed_at only for the final returned rows (R5.10)
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/memory/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,iBAAiB,CAAC;AAE9C,2FAA2F;AAC3F,MAAM,SAAS,GACb,OAAO,eAAe,KAAK,UAAU;IACnC,CAAC,CAAC,eAAe;IACjB,CAAC,CAAE,eAAoE,CAAC,SAAS,CAAC;AAEtF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAEpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,OAAO,EAA2B,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGlB,CAAC;AAEF,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAoCxC,iFAAiF;AACjF,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAE1C;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,EAAsB,EAAE,GAAW;IAC7D,IAAI,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,mBAAmB;IASpB;IACA;IATF,kBAAkB,CAAS;IAC3B,WAAW,CAAc;IACzB,iBAAiB,CAAgC;IACjD,cAAc,CAAqB;IACnC,mBAAmB,CAAS;IAC5B,SAAS,CAA0B;IAE3C,YACU,EAAsB,EACtB,QAAgB,EACxB,UAAsC,EAAE;QAFhC,OAAE,GAAF,EAAE,CAAoB;QACtB,aAAQ,GAAR,QAAQ,CAAQ;QAGxB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,4BAA4B,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,QAAgB,EAChB,OAAoC;QAEpC,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAE9B,IAAI,EAAsB,CAAC;QAC3B,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAuB,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAwB,CAAC;QAChD,CAAC;QAED,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEnB,uDAAuD;QACvD,kBAAkB,CAAC,EAAE,EAAE,0DAA0D,CAAC,CAAC;QAEnF,6DAA6D;QAC7D,iEAAiE;QACjE,qEAAqE;QACrE,mDAAmD;QACnD,kBAAkB,CAAC,EAAE,EAAE,kEAAkE,CAAC,CAAC;QAC3F,uEAAuE;QACvE,sDAAsD;QACtD,EAAE,CAAC,GAAG,CACJ,iJAAiJ,CAClJ,CAAC;QACF,mEAAmE;QACnE,EAAE,CAAC,GAAG,CACJ,2FAA2F,CAC5F,CAAC;QAEF,sFAAsF;QACtF,kBAAkB,CAAC,EAAE,EAAE,2DAA2D,CAAC,CAAC;QAEpF,oFAAoF;QACpF,8EAA8E;QAC9E,kBAAkB,CAAC,EAAE,EAAE,iEAAiE,CAAC,CAAC;QAC1F,kBAAkB,CAAC,EAAE,EAAE,kEAAkE,CAAC,CAAC;QAE3F,OAAO,IAAI,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAAe,EACf,KAAa,EACb,UAA6C,EAAE;QAE/C,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAErC,gEAAgE;QAChE,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,iEAAiE;QACjE,oDAAoD;QACpD,MAAM,QAAQ,GAAG,KAAK;aACnB,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;aACxC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,uDAAuD;QACvD,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QAE7B,IAAI,GAAG,GAAG;;;;;;KAMT,CAAC;QACF,MAAM,MAAM,GAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,IAAI,iBAAiB,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,GAAG,IAAI,iDAAiD,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAA0B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3F,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtE,6BAA6B;YAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW;gBAAE,SAAS;YAEtD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAY,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAErB,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE;gBACF,IAAI,EAAE,GAAG,CAAC,IAAc;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAe;gBAC1B,OAAO,EAAE,GAAG,CAAC,OAAiB;gBAC9B,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;gBACvE,QAAQ,EAAG,GAAG,CAAC,QAAmB,IAAI,IAAI;gBAC1C,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QAClC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,oDAAoD;QACpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,kFAAkF,YAAY,GAAG,EACjG,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACK,KAAK,CAAC,aAAa,CACzB,OAAe,EACf,KAAa,EACb,OAAyC;QAEzC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,KAAK;aACnB,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;aACxC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,8CAA8C;QAC9C,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QAgB7B,MAAM,eAAe,GAAG,CAAC,GAA4B,EAAgB,EAAE,CAAC,CAAC;YACvE,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,KAAK,EAAE,GAAG,CAAC,KAAe;YAC1B,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;YACvE,QAAQ,EAAG,GAAG,CAAC,QAAmB,IAAI,IAAI;YAC1C,YAAY,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAC1F,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,GAAG,CAAC,SAAiC,CAAC,CAAC,CAAC,IAAI;YACxE,cAAc,EAAG,GAAG,CAAC,eAA0B,IAAI,IAAI;YACvD,YAAY,EAAG,GAAG,CAAC,aAAwB,IAAI,IAAI;SACpD,CAAC,CAAC;QAEH,oEAAoE;QACpE,IAAI,UAAU,GAAG;;;;;;;KAOhB,CAAC;QACF,MAAM,aAAa,GAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,IAAI,iBAAiB,CAAC;YAChC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,UAAU,IAAI,iDAAiD,CAAC;QAChE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhC,MAAM,iBAAiB,GAAmB,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,CAAC;QAEnB,oEAAoE;QACpE,IAAI,SAAS,GAAG;;;;;;KAMf,CAAC;QACF,MAAM,YAAY,GAAwB,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,IAAI,EAAE,CAAC;YACT,SAAS,IAAI,iBAAiB,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,SAAS,IAAI,2CAA2C,CAAC;QACzD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,uBAAuB,GAAmB,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtF,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,6EAA6E;QAC7E,qEAAqE;QACrE,IAAI,QAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,gFACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;YACF,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,CAAC,GAAiB,EAAW,EAAE;YACvD,IAAI,CAAC,GAAG,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YACjC,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YACvF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,GAAiB,EAAU,EAAE;YAClD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAC;YAC7E,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC;gBACnD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;gBACnC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC,CAAC;QAEF,oEAAoE;QACpE,yEAAyE;QACzE,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;YACzC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,oEAAoE;QACpE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,SAAS,GACb,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,uBAAuB;iBACpB,MAAM,CAAC,iBAAiB,CAAC;iBACzB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;iBACxE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;iBACzC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAQ9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;QAElD,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE;gBACvB,SAAS;gBACT,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC;gBACnC,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;aACtD,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,SAAS,EAAE,CAAC;YACjD,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,qCAAqC;YAC7E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;QAC5F,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,oEAAoE;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAA6E,EAAE,CAAC;QAE5F,KAAK,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAChF,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW;gBAAE,SAAS;YAEtD,MAAM,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,YAAY,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;YACnC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,kFAAkF,YAAY,GAAG,EACjG,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IASrB;QACC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;aACrC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;aACpD,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjB,wEAAwE;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAC5B;;;6CAGuC,IAAI,CAAC,kBAAkB;;KAE/D,EACC,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAC5B,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;YAEpC,uEAAuE;YACvE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CACtC,yDAAyD,EACzD,CAAC,UAAU,CAAC,CACb,CAAC;gBACF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAkB,CAAC;gBAClF,IAAI,iBAAiB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzC,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,0FAA0F,EAC1F,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAC7B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,GAAG,CAAC,CAAC,CAAW;gBACtB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAW;gBACvB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAW;gBACzB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI;gBACvD,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAClC;;;;OAID,EACC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9B,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAW,CAAC;gBAChE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAE3D,4EAA4E;gBAC5E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAExF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAC1B;;;;;;;;;SASD,EACC;oBACE,IAAI,CAAC,OAAO;oBACZ,IAAI,CAAC,KAAK;oBACV,WAAW;oBACX,aAAa;oBACb,IAAI,CAAC,QAAQ,IAAI,IAAI;oBACrB,aAAa,CAAC,MAAM;oBACpB,aAAa,CAAC,KAAK;oBACnB,aAAa,CAAC,GAAG;oBACjB,UAAU;iBACX,CACF,CAAC;gBAEF,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACrE,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,CAAC,CAAW;oBACpB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAW;oBACtB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAW;oBACvB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAW;oBACzB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvD,QAAQ,EAAG,GAAG,CAAC,CAAC,CAAY,IAAI,IAAI;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oFAAoF;QACpF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAC3B;;;;;;KAMD,EACC;YACE,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,QAAQ,IAAI,IAAI;YACrB,IAAI,CAAC,QAAQ,IAAI,IAAI;YACrB,aAAa;YACb,WAAW;YACX,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,KAAK;YACnB,aAAa,CAAC,GAAG;SAClB,CACF,CAAC;QAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;QAE/B,oDAAoD;QACpD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,4FAA4F,EAC5F,CAAC,KAAK,CAAC,CACR,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,GAAG,CAAC,CAAC,CAAW;YACtB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAW;YACvB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAW;YACzB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI;YACvD,QAAQ,EAAG,GAAG,CAAC,CAAC,CAAY,IAAI,IAAI;SACrC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,qBAAqB,CACjC,IAAY;QAEZ,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO;gBACL,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC;gBAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;gBAClC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS;aACtC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CACV,kFACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA4C;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CACzB;;;;KAID,EACC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CACtC,CAAC;QAEF,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAW,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,OAAe;QACjD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT;;;;KAID,EACC,CAAC,OAAO,EAAE,SAAS,CAAC,CACrB,CAAC;IACJ,CAAC;IAED,mEAAmE;IAE3D,WAAW,CAAC,GAA4B;QAC9C,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,KAAK,EAAE,GAAG,CAAC,KAAe;YAC1B,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;YACvE,QAAQ,EAAG,GAAG,CAAC,QAAmB,IAAI,IAAI;YAC1C,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,IAAI;YAC3C,aAAa,EAAE,GAAG,CAAC,cAAwB;YAC3C,SAAS,EAAE,GAAG,CAAC,UAAoB;YACnC,SAAS,EAAE,GAAG,CAAC,UAAoB;SACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAmC,EAAE;QAErC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QAE1D,IAAI,GAAG,GAAG;;;;;KAKT,CAAC;QACF,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,IAAI,kBAAkB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,IAAI,eAAe,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,GAAG,IAAI,4CAA4C,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,IAAI,GAA8B,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAK5B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,8CAA8C,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,iCAAiC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CACzB,yGAAyG,CAC1G,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,iBAAiB,GAAI,QAAQ,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAI,QAAQ,EAAE,CAAC,CAAC,CAAY,IAAI,IAAI,CAAC;QAC5D,MAAM,iBAAiB,GAAI,QAAQ,EAAE,CAAC,CAAC,CAAY,IAAI,IAAI,CAAC;QAE5D,yBAAyB;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAC/B,2FAA2F,CAC5F,CAAC;QACF,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YACvD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAClC,iGAAiG,CAClG,CAAC;QACF,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC7D,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC5C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;YACjD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAgC,EAAE;QACxD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mDAAmD,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,aAAa,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,gHAAgH,CACjH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAgB;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAe;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAgC;YAC1C,WAAW,EAAE,GAAG,CAAC,YAAsB;YACvC,gBAAgB,EAAE,GAAG,CAAC,mBAA6B;YACnD,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAsB,CAAC;SAClD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAuB;QACtC,IAAI,CAAC,EAAE,CAAC,GAAG,CACT;;;;;;;8CAOwC,EACxC;YACE,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,gBAAgB;YACtB,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE;SAChC,CACF,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,mBAAmB,CAAC,OAAgD;QAClE,IAAI,CAAC,EAAE,CAAC,GAAG,CACT;;+CAEyC,EACzC;YACE,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,MAAM,IAAI,IAAI;YACtB,OAAO,CAAC,QAAQ,IAAI,IAAI;SACzB,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,0BAA0B,CAAC,QAAgB;QACzC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAErF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B;;8BAEwB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAsB,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC;gBACR,WAAW,EAAE,GAAG,CAAC,YAAsB;gBACvC,WAAW,EAAE,GAAG,CAAC,YAAsB;gBACvC,QAAQ,EAAE,GAAG,CAAC,QAAkB;gBAChC,MAAM,EAAG,GAAG,CAAC,MAAiB,IAAI,SAAS;gBAC3C,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B;;gCAE0B,CAC3B,CAAC;QAEF,MAAM,IAAI,GAAgD,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC;gBACR,WAAW,EAAE,GAAG,CAAC,YAAsB;gBACvC,WAAW,EAAE,GAAG,CAAC,YAAsB;gBACvC,QAAQ,EAAE,GAAG,CAAC,QAAkB;gBAChC,MAAM,EAAG,GAAG,CAAC,MAAiB,IAAI,SAAS;gBAC3C,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,SAAS;gBAChD,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAmB;QACvC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,sDAAsD,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,mEAAmE;IAEnE;;;;;;OAMG;IACH,KAAK,CAAC,gCAAgC,CAAC,OAMtC;QACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAE9E,IAAI,GAAG,GAAG;;;;;KAKT,CAAC;QACF,MAAM,MAAM,GAAwB,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,iBAAiB,EAAE,CAAC;YACtB,GAAG,IAAI;;;OAGN,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,GAAG,IAAI;;;;KAIN,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,MAAM,IAAI,GAAmC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,CAAC,EAAY;gBACpB,IAAI,EAAE,GAAG,GAAG,CAAC,KAAe,IAAI,GAAG,CAAC,OAAiB,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,0BAA0B,CAC9B,EAAU,EACV,SAAmB,EACnB,KAAa,EACb,GAAW;QAEX,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,mGAAmG,EACnG,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAChD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/memory/sqlite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../../src/memory/versioning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,IAAI,EAAE,MAAM;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,IAAI,EAAE,MAAM;CAIzB;AAyBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAmB;gBAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAE,gBAA4C;IAO9F;;OAEG;IACH,YAAY,IAAI,YAAY,EAAE;IAoB9B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAqB5C;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS,GAAG,YAAY;IAoC7D;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA6BhC;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAkBrD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS,GAAG,cAAc;IAkCjE;;OAEG;IACH,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAiCpD;;;;;;OAMG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW;IA+ChE;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAqDrC"}
1
+ {"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../../src/memory/versioning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAyBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAmB;IAEjC,YAAY,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAE,gBAA4C,EAG7F;IAID;;OAEG;IACH,YAAY,IAAI,YAAY,EAAE,CAkB7B;IAED;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAmB3C;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS,GAAG,YAAY,CAkC5D;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA2B/B;IAED;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBpD;IAED;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS,GAAG,cAAc,CAgChE;IAED;;OAEG;IACH,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CA6BnD;IAID;;;;;;OAMG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CA2C/D;IAID;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAoDnC;CACF"}