@tenphi/akno-core 0.10.0 → 0.11.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 (36) hide show
  1. package/dist/bench/auto-recall-corpus.d.ts.map +1 -1
  2. package/dist/bench/auto-recall-corpus.js +16 -1
  3. package/dist/bench/auto-recall-corpus.js.map +1 -1
  4. package/dist/maintenance/managed-item-routing.d.ts +4 -0
  5. package/dist/maintenance/managed-item-routing.d.ts.map +1 -1
  6. package/dist/maintenance/managed-item-routing.js +187 -10
  7. package/dist/maintenance/managed-item-routing.js.map +1 -1
  8. package/dist/maintenance/managed-items.d.ts +4 -2
  9. package/dist/maintenance/managed-items.d.ts.map +1 -1
  10. package/dist/maintenance/managed-items.js +97 -65
  11. package/dist/maintenance/managed-items.js.map +1 -1
  12. package/dist/memory/subject-resolution.d.ts +8 -0
  13. package/dist/memory/subject-resolution.d.ts.map +1 -0
  14. package/dist/memory/subject-resolution.js +27 -0
  15. package/dist/memory/subject-resolution.js.map +1 -0
  16. package/dist/memory/temporal-destination.d.ts +11 -0
  17. package/dist/memory/temporal-destination.d.ts.map +1 -0
  18. package/dist/memory/temporal-destination.js +73 -0
  19. package/dist/memory/temporal-destination.js.map +1 -0
  20. package/dist/ops/context.js +165 -40
  21. package/dist/ops/context.js.map +1 -1
  22. package/dist/ops/forget.d.ts +1 -1
  23. package/dist/ops/forget.d.ts.map +1 -1
  24. package/dist/ops/forget.js +58 -1
  25. package/dist/ops/forget.js.map +1 -1
  26. package/dist/ops/remember.d.ts +11 -25
  27. package/dist/ops/remember.d.ts.map +1 -1
  28. package/dist/ops/remember.js +158 -40
  29. package/dist/ops/remember.js.map +1 -1
  30. package/dist/ops/retain.d.ts.map +1 -1
  31. package/dist/ops/retain.js +80 -23
  32. package/dist/ops/retain.js.map +1 -1
  33. package/dist/write/managed-memory.d.ts.map +1 -1
  34. package/dist/write/managed-memory.js +11 -3
  35. package/dist/write/managed-memory.js.map +1 -1
  36. package/package.json +2 -2
@@ -0,0 +1,11 @@
1
+ import type { RetainedTime } from '@tenphi/akno-protocol';
2
+ export interface RetainedTemporalBoundary {
3
+ start: string;
4
+ until?: string;
5
+ }
6
+ /** Use typed time first, then one unambiguous year-bearing date already visible in the sentence. */
7
+ export declare function retainedTemporalBoundary(time: Pick<RetainedTime, 'start' | 'until'> | undefined, text: string): RetainedTemporalBoundary | undefined;
8
+ export declare function pageAcceptsTemporalBoundary(slug: string, boundary: RetainedTemporalBoundary | undefined): boolean;
9
+ /** The exact calendar scope encoded by a period bucket basename, when it has one. */
10
+ export declare function pageTemporalBoundary(slug: string): string | undefined;
11
+ //# sourceMappingURL=temporal-destination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal-destination.d.ts","sourceRoot":"","sources":["../../src/memory/temporal-destination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAmB1D,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oGAAoG;AACpG,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,SAAS,EACvD,IAAI,EAAE,MAAM,GACX,wBAAwB,GAAG,SAAS,CAkCtC;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,wBAAwB,GAAG,SAAS,GAC7C,OAAO,CAQT;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOrE"}
@@ -0,0 +1,73 @@
1
+ const MONTHS = new Map([
2
+ 'january',
3
+ 'february',
4
+ 'march',
5
+ 'april',
6
+ 'may',
7
+ 'june',
8
+ 'july',
9
+ 'august',
10
+ 'september',
11
+ 'october',
12
+ 'november',
13
+ 'december',
14
+ ].map((month, index) => [month, String(index + 1).padStart(2, '0')]));
15
+ /** Use typed time first, then one unambiguous year-bearing date already visible in the sentence. */
16
+ export function retainedTemporalBoundary(time, text) {
17
+ if (time?.start || time?.until) {
18
+ return {
19
+ start: time.start ?? time.until,
20
+ ...(time.start && time.until ? { until: time.until } : {}),
21
+ };
22
+ }
23
+ const months = new Set();
24
+ const days = new Set();
25
+ const add = (year, month, day) => {
26
+ if (!validYearMonth(year, month))
27
+ return;
28
+ if (day && !validCalendarDay(year, month, day))
29
+ return;
30
+ const period = `${year}-${month}`;
31
+ months.add(period);
32
+ if (day)
33
+ days.add(`${period}-${day.padStart(2, '0')}`);
34
+ };
35
+ for (const match of text.matchAll(/\b(20\d{2})-(0[1-9]|1[0-2])(?:-(0[1-9]|[12]\d|3[01]))?\b/g)) {
36
+ add(match[1], match[2], match[3]);
37
+ }
38
+ for (const match of text.matchAll(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(?:(\d{1,2})(?:st|nd|rd|th)?\s*,?\s*)?(20\d{2})\b/gi)) {
39
+ add(match[3], MONTHS.get(match[1].toLowerCase()), match[2]);
40
+ }
41
+ for (const match of text.matchAll(/\b(\d{1,2})(?:st|nd|rd|th)?\s+(January|February|March|April|May|June|July|August|September|October|November|December)\s*,?\s*(20\d{2})\b/gi)) {
42
+ add(match[3], MONTHS.get(match[2].toLowerCase()), match[1]);
43
+ }
44
+ if (months.size !== 1)
45
+ return undefined;
46
+ return { start: days.size === 1 ? [...days][0] : [...months][0] };
47
+ }
48
+ export function pageAcceptsTemporalBoundary(slug, boundary) {
49
+ if (!boundary)
50
+ return true;
51
+ const scoped = pageTemporalBoundary(slug);
52
+ return scoped
53
+ ? [boundary.start, boundary.until]
54
+ .filter((value) => Boolean(value))
55
+ .every((value) => value.slice(0, scoped.length) === scoped)
56
+ : true;
57
+ }
58
+ /** The exact calendar scope encoded by a period bucket basename, when it has one. */
59
+ export function pageTemporalBoundary(slug) {
60
+ const basename = slug.slice(slug.lastIndexOf('/') + 1);
61
+ const day = /^(\d{4}-\d{2}-\d{2})(?:$|[-_](?:activity|journal|log|notes?|records?|review|summary|timeline))$/i.exec(basename)?.[1];
62
+ return day ?? /^(\d{4}-\d{2})$/.exec(basename)?.[1];
63
+ }
64
+ function validYearMonth(year, month) {
65
+ return /^20\d{2}$/.test(year) && /^(?:0[1-9]|1[0-2])$/.test(month);
66
+ }
67
+ function validCalendarDay(year, month, day) {
68
+ const value = new Date(Date.UTC(Number(year), Number(month) - 1, Number(day)));
69
+ return (value.getUTCFullYear() === Number(year) &&
70
+ value.getUTCMonth() === Number(month) - 1 &&
71
+ value.getUTCDate() === Number(day));
72
+ }
73
+ //# sourceMappingURL=temporal-destination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal-destination.js","sourceRoot":"","sources":["../../src/memory/temporal-destination.ts"],"names":[],"mappings":"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"}
@@ -178,7 +178,8 @@ const AUTO_RECALL_MAX_RESULTS = 3;
178
178
  async function autoRecallContext(ctx, input) {
179
179
  const budget = input.budget ?? AUTO_RECALL_DEFAULT_BUDGET;
180
180
  const memoryView = input.memory_view ?? inferMemoryView(input.query, input.mode ?? 'lookup');
181
- const resolutionContext = referenceContext(input.query, input.conversation_context ?? []);
181
+ const reference = referenceContext(input.query, input.conversation_context ?? []);
182
+ const resolutionContext = reference?.text ?? null;
182
183
  const retrievalQuery = resolutionContext ? `${input.query}\n${resolutionContext}` : input.query;
183
184
  const recallInput = {
184
185
  query: retrievalQuery,
@@ -202,6 +203,7 @@ async function autoRecallContext(ctx, input) {
202
203
  degraded: initial.degraded,
203
204
  note: initial.note ?? 'memory evidence could not be read',
204
205
  memoryView,
206
+ referenceResolution: reference ? 'unresolved' : 'not_needed',
205
207
  });
206
208
  }
207
209
  const degraded = new Set(initial.degraded ?? []);
@@ -209,10 +211,13 @@ async function autoRecallContext(ctx, input) {
209
211
  const eligible = temporallyEligibleResult(result, input.query, memoryView);
210
212
  return eligible ? [eligible] : [];
211
213
  });
212
- const signals = eligibleInitial.map((result) => activationSignal(result, input.query, resolutionContext));
214
+ const unboundSignals = eligibleInitial.map((result) => activationSignal(result, input.query, resolutionContext));
215
+ const referenceBinding = bindReferenceSubject(reference, unboundSignals, input.query);
216
+ const signals = referenceBinding.signals;
217
+ const referenceBlocked = referenceBinding.resolution === 'ambiguous' || referenceBinding.resolution === 'unresolved';
213
218
  const mechanicalCompoundConflict = hasMechanicalCompoundConflict(signals, input.query);
214
219
  const complementary = complementaryCompoundSignals(signals, input.query);
215
- if (complementary.length > 0) {
220
+ if (complementary.length > 0 && !referenceBlocked) {
216
221
  return assembledAutoRecall({
217
222
  budget,
218
223
  searched: [input.query],
@@ -222,6 +227,7 @@ async function autoRecallContext(ctx, input) {
222
227
  activationBasis: 'exact',
223
228
  qualificationRun: false,
224
229
  memoryView,
230
+ referenceResolution: referenceBinding.resolution,
225
231
  });
226
232
  }
227
233
  const strongSignals = signals
@@ -234,7 +240,10 @@ async function autoRecallContext(ctx, input) {
234
240
  : strongSignals).slice(0, AUTO_RECALL_MAX_RESULTS);
235
241
  const ambiguousSingularFact = asksForSingularFact(input.query) && deterministic.length > 1;
236
242
  const unresolvedMechanicalCompound = requestedMechanicalValueKinds(input.query).length > 1;
237
- if (deterministic.length > 0 && !ambiguousSingularFact && !unresolvedMechanicalCompound) {
243
+ if (deterministic.length > 0 &&
244
+ !ambiguousSingularFact &&
245
+ !unresolvedMechanicalCompound &&
246
+ !referenceBlocked) {
238
247
  return assembledAutoRecall({
239
248
  budget,
240
249
  searched: [input.query],
@@ -244,6 +253,7 @@ async function autoRecallContext(ctx, input) {
244
253
  activationBasis: deterministic.some((signal) => signal.basis === 'exact') ? 'exact' : 'semantic',
245
254
  qualificationRun: false,
246
255
  memoryView,
256
+ referenceResolution: referenceBinding.resolution,
247
257
  });
248
258
  }
249
259
  const plausible = signals.some((signal) => signal.plausible);
@@ -254,8 +264,11 @@ async function autoRecallContext(ctx, input) {
254
264
  searched: [input.query],
255
265
  candidates: initial.results.length,
256
266
  degraded: [...degraded],
257
- note: 'no memory evidence was strong enough for automatic injection',
267
+ note: referenceBlocked
268
+ ? referenceResolutionNote(referenceBinding.resolution)
269
+ : 'no memory evidence was strong enough for automatic injection',
258
270
  memoryView,
271
+ referenceResolution: referenceBinding.resolution,
259
272
  });
260
273
  }
261
274
  const qualified = await recall(ctx, { ...recallInput, rerank: true });
@@ -272,6 +285,7 @@ async function autoRecallContext(ctx, input) {
272
285
  qualificationRun: true,
273
286
  note: qualified.note ?? 'memory evidence could not be read during qualification',
274
287
  memoryView,
288
+ referenceResolution: referenceBinding.resolution,
275
289
  });
276
290
  }
277
291
  const qualificationApplied = qualified.qualification?.applied === true;
@@ -283,14 +297,19 @@ async function autoRecallContext(ctx, input) {
283
297
  return eligible ? [eligible] : [];
284
298
  })
285
299
  .filter((result) => (result.relevance ?? 0) >= minimumRelevance)
300
+ .filter((result) => referenceBinding.resolution !== 'resolved' ||
301
+ (activationSignal(result, input.query, resolutionContext).queryOverlap > 0 &&
302
+ resultMatchesSubject(result, input.query, resolutionContext ?? '', referenceBinding.subjectKey)))
286
303
  .slice(0, AUTO_RECALL_MAX_RESULTS)
287
304
  : [];
288
305
  const qualifiedComplementary = complementaryCompoundSignals(qualifiedSelection.map((result) => activationSignal(result, input.query, resolutionContext)), input.query);
289
- const selected = unresolvedMechanicalCompound
290
- ? mechanicalCompoundConflict
291
- ? []
292
- : qualifiedComplementary.map((signal) => signal.result)
293
- : qualifiedSelection;
306
+ const selected = referenceBlocked
307
+ ? []
308
+ : unresolvedMechanicalCompound
309
+ ? mechanicalCompoundConflict
310
+ ? []
311
+ : qualifiedComplementary.map((signal) => signal.result)
312
+ : qualifiedSelection;
294
313
  const qualifiedReferenceAmbiguous = asksForSingularFact(input.query) && selected.length > 1;
295
314
  if (selected.length === 0 || qualifiedReferenceAmbiguous) {
296
315
  return emptyAutoRecall({
@@ -301,12 +320,15 @@ async function autoRecallContext(ctx, input) {
301
320
  degraded: [...degraded],
302
321
  qualification: qualified.qualification,
303
322
  qualificationRun: true,
304
- note: qualifiedReferenceAmbiguous
305
- ? 'a singular fact remained ambiguous between multiple sources'
306
- : qualificationApplied
307
- ? 'qualification found no evidence strong enough for automatic injection'
308
- : 'automatic injection requires calibrated qualification for ambiguous evidence',
323
+ note: referenceBlocked
324
+ ? referenceResolutionNote(referenceBinding.resolution)
325
+ : qualifiedReferenceAmbiguous
326
+ ? 'a singular fact remained ambiguous between multiple sources'
327
+ : qualificationApplied
328
+ ? 'qualification found no evidence strong enough for automatic injection'
329
+ : 'automatic injection requires calibrated qualification for ambiguous evidence',
309
330
  memoryView,
331
+ referenceResolution: referenceBinding.resolution,
310
332
  });
311
333
  }
312
334
  return assembledAutoRecall({
@@ -319,6 +341,7 @@ async function autoRecallContext(ctx, input) {
319
341
  qualification: qualified.qualification,
320
342
  qualificationRun: true,
321
343
  memoryView,
344
+ referenceResolution: referenceBinding.resolution,
322
345
  });
323
346
  }
324
347
  function emptyAutoRecall(options) {
@@ -333,6 +356,7 @@ function emptyAutoRecall(options) {
333
356
  candidates: options.candidates,
334
357
  selected: 0,
335
358
  qualification_run: options.qualificationRun ?? false,
359
+ reference_resolution: options.referenceResolution,
336
360
  },
337
361
  pinned: [],
338
362
  results: [],
@@ -359,6 +383,7 @@ function assembledAutoRecall(options) {
359
383
  candidates: options.candidates,
360
384
  selected: fitted.results.length,
361
385
  qualification_run: options.qualificationRun,
386
+ reference_resolution: options.referenceResolution,
362
387
  },
363
388
  pinned: [],
364
389
  results: fitted.results,
@@ -410,16 +435,7 @@ function activationSignal(result, query, resolutionContext) {
410
435
  const contextTokens = meaningfulTokens(resolutionContext ?? '');
411
436
  const overlap = overlapRatio(queryTokens, evidence);
412
437
  const contextOverlap = overlapRatio(contextTokens, evidence);
413
- const identities = result.type === 'page'
414
- ? [result.title, result.slug.split('/').at(-1)?.replaceAll('-', ' ') ?? '']
415
- : [
416
- result.label,
417
- result.path
418
- .split('/')
419
- .at(-1)
420
- ?.replace(/\.[^.]+$/, '')
421
- .replaceAll('-', ' ') ?? '',
422
- ];
438
+ const identities = resultIdentities(result);
423
439
  const promptHaystack = normalize(`${query} ${resolutionContext ?? ''}`);
424
440
  const matchedIdentityTokens = identities.flatMap((identity) => {
425
441
  const normalized = normalize(identity);
@@ -465,33 +481,134 @@ function activationSignal(result, query, resolutionContext) {
465
481
  strength: exact ? 2 + Math.max(overlap, contextOverlap) : semantic + overlap,
466
482
  strong,
467
483
  plausible,
484
+ queryOverlap: overlap,
468
485
  };
469
486
  }
470
- /** The recent turns are not a second query. They are admitted only when the current prompt has a local
471
- * reference to resolve, and even then only the last 1,000 characters are allowed into retrieval. */
487
+ /** The recent turns are not a second query. They are admitted only when the current prompt has an explicit
488
+ * local reference or is a short question fragment with an omitted subject. */
472
489
  function referenceContext(query, turns) {
473
- if (turns.length === 0 || !hasLocalReference(query))
490
+ if (!hasLocalReference(query) && !hasEllipticalSubject(query))
474
491
  return null;
475
492
  const recent = turns
476
493
  .slice(-2)
477
494
  .map((turn) => turn.content.trim())
478
495
  .filter(Boolean)
479
496
  .join('\n');
480
- if (!recent)
481
- return null;
482
- return recent.slice(-1000);
497
+ return { text: recent ? recent.slice(-1000) : null };
483
498
  }
484
499
  function hasLocalReference(query) {
485
- return (/\b(it|its|that|this|they|them|those|these|one|other|former|latter|same)\b/i.test(query) ||
486
- /\b(what|how) about\b/i.test(query));
500
+ return (/\b(it|its|his|her|hers|their|theirs|that|this|they|them|those|these|one|other|former|latter|same)\b/i.test(query) || /\b(what|how) about\b/i.test(query));
501
+ }
502
+ /** “Current credential code?” is locally referential even without a pronoun: the field is present but the
503
+ * owner is omitted. Keep this deliberately narrow to short question fragments; complete questions and
504
+ * imperatives must not silently inherit the preceding topic. */
505
+ function hasEllipticalSubject(query) {
506
+ if (!/\?\s*$/u.test(query))
507
+ return false;
508
+ const normalized = normalize(query);
509
+ if (/\b(what|who|whose|where|when|why|how|which|do|does|did|is|are|was|were|can|could|would|should|will)\b/u.test(normalized)) {
510
+ return false;
511
+ }
512
+ const tokens = meaningfulTokens(query);
513
+ return tokens.length > 0 && tokens.length <= 8;
514
+ }
515
+ /** Bind a local reference to identities exposed by the bounded candidate set. Qualification may judge whether
516
+ * a candidate supports a field, but it cannot decide which conversational subject an ambiguous pronoun or
517
+ * ellipsis meant. */
518
+ function bindReferenceSubject(reference, signals, query) {
519
+ if (!reference)
520
+ return { resolution: 'not_needed', signals };
521
+ const explicitlyNamed = signals.filter((signal) => resultIdentityNamedInQuery(signal.result, query));
522
+ if (explicitlyNamed.length > 0) {
523
+ return { resolution: 'not_needed', signals: explicitlyNamed };
524
+ }
525
+ if (!reference.text)
526
+ return { resolution: 'unresolved', signals };
527
+ const querySupportingSignals = signals.filter((signal) => signal.queryOverlap > 0);
528
+ const keys = uniqueSubjectKeys(querySupportingSignals.flatMap((signal) => matchingSubjectKeys(signal.result, query, reference.text)));
529
+ if (keys.length === 0)
530
+ return { resolution: 'unresolved', signals };
531
+ if (keys.length > 1)
532
+ return { resolution: 'ambiguous', signals };
533
+ const subjectKey = keys[0];
534
+ return {
535
+ resolution: 'resolved',
536
+ signals: querySupportingSignals.filter((signal) => resultMatchesSubject(signal.result, query, reference.text, subjectKey)),
537
+ subjectKey,
538
+ };
539
+ }
540
+ const SUBJECT_IDENTITY_NOISE = new Set([
541
+ 'detail',
542
+ 'document',
543
+ 'entry',
544
+ 'file',
545
+ 'information',
546
+ 'note',
547
+ 'page',
548
+ 'profile',
549
+ 'record',
550
+ ]);
551
+ function resultIdentityNamedInQuery(result, query) {
552
+ const queryTokens = new Set(meaningfulTokens(query));
553
+ return resultIdentities(result).some((identity) => {
554
+ const tokens = meaningfulTokens(identity).filter((token) => !SUBJECT_IDENTITY_NOISE.has(token));
555
+ // A one-token basename such as `credential.md` describes a field, not who owns it.
556
+ return tokens.length >= 2 && tokens.every((token) => queryTokens.has(token));
557
+ });
558
+ }
559
+ function matchingSubjectKeys(result, query, conversationText) {
560
+ const queryTokens = new Set(meaningfulTokens(query));
561
+ const contextTokens = meaningfulTokenSequence(conversationText);
562
+ return collapseSubjectKeys(resultIdentities(result).flatMap((identity) => {
563
+ const residual = meaningfulTokens(identity).filter((token) => !queryTokens.has(token) && !SUBJECT_IDENTITY_NOISE.has(token));
564
+ return residual.length > 0 && containsTokenSequence(contextTokens, residual) ? [residual] : [];
565
+ }));
566
+ }
567
+ function resultMatchesSubject(result, query, conversationText, subjectKey) {
568
+ if (!subjectKey)
569
+ return false;
570
+ return matchingSubjectKeys(result, query, conversationText).some((key) => relatedSubjectKeys(key, subjectKey));
571
+ }
572
+ function collapseSubjectKeys(keys) {
573
+ const unique = uniqueSubjectKeys(keys);
574
+ return unique.filter((key) => !unique.some((other) => other.length > key.length && key.every((token) => other.includes(token))));
575
+ }
576
+ function uniqueSubjectKeys(keys) {
577
+ return [
578
+ ...new Map(keys.map((key) => {
579
+ const normalized = [...new Set(key)].sort();
580
+ return [normalized.join('\u0000'), normalized];
581
+ })).values(),
582
+ ];
583
+ }
584
+ function relatedSubjectKeys(left, right) {
585
+ return left.every((token) => right.includes(token)) || right.every((token) => left.includes(token));
586
+ }
587
+ function resultIdentities(result) {
588
+ return result.type === 'page'
589
+ ? [result.title, result.slug.split('/').at(-1)?.replaceAll('-', ' ') ?? '']
590
+ : [
591
+ result.label,
592
+ result.path
593
+ .split('/')
594
+ .at(-1)
595
+ ?.replace(/\.[^.]+$/, '')
596
+ .replaceAll('-', ' ') ?? '',
597
+ ];
598
+ }
599
+ function referenceResolutionNote(resolution) {
600
+ return resolution === 'ambiguous'
601
+ ? 'recent conversation identified multiple candidate subjects for the local reference'
602
+ : 'the local reference could not be bound to one candidate subject';
487
603
  }
488
604
  function hasSingularReference(query) {
489
- return /\b(it|its|that|this|one|other|former|latter|same)\b/i.test(query);
605
+ return /\b(it|its|his|her|hers|that|this|one|other|former|latter|same)\b/i.test(query);
490
606
  }
491
607
  function asksForSingularFact(query) {
492
608
  if (/\b(and|both|compare|list)\b/i.test(query) || /\bwhat are\b/i.test(query))
493
609
  return false;
494
610
  return (hasSingularReference(query) ||
611
+ hasEllipticalSubject(query) ||
495
612
  /\bwhat (?:is|was)\b/i.test(query) ||
496
613
  /\bwhen (?:does|did|is|was)\b/i.test(query) ||
497
614
  /\bhow (?:long|often|much|many)\b/i.test(query) ||
@@ -590,6 +707,9 @@ const AUTO_RECALL_STOPWORDS = new Set([
590
707
  'for',
591
708
  'from',
592
709
  'have',
710
+ 'her',
711
+ 'hers',
712
+ 'his',
593
713
  'how',
594
714
  'into',
595
715
  'its',
@@ -605,6 +725,7 @@ const AUTO_RECALL_STOPWORDS = new Set([
605
725
  'that',
606
726
  'the',
607
727
  'their',
728
+ 'theirs',
608
729
  'them',
609
730
  'there',
610
731
  'these',
@@ -623,12 +744,16 @@ const AUTO_RECALL_STOPWORDS = new Set([
623
744
  'you',
624
745
  ]);
625
746
  function meaningfulTokens(text) {
626
- return [
627
- ...new Set(normalize(text)
628
- .split(' ')
629
- .filter((token) => token.length > 2 && !AUTO_RECALL_STOPWORDS.has(token))
630
- .map(autoRecallRoot)),
631
- ];
747
+ return [...new Set(meaningfulTokenSequence(text))];
748
+ }
749
+ function meaningfulTokenSequence(text) {
750
+ return normalize(text)
751
+ .split(' ')
752
+ .filter((token) => token.length > 2 && !AUTO_RECALL_STOPWORDS.has(token))
753
+ .map(autoRecallRoot);
754
+ }
755
+ function containsTokenSequence(haystack, needle) {
756
+ return haystack.some((_, start) => needle.every((token, offset) => haystack[start + offset] === token));
632
757
  }
633
758
  function normalize(text) {
634
759
  return text
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ops/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAQb,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEpF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAgB,EAAE,QAAiB;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;IACtC,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC3E,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,GAAG,CAAC,CAAC;IACzB,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;gBACrB,aAAa,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS,IAAI,IAAI,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,8CAA8C;YAC9C,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,SAA6B,CAAC;IAClC,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,IAAI,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;gBAC7B,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtB,SAAS,IAAI,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAClF,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,OAAO;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;oBACvB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;oBAClC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,IAAI,IAAI,GAAG,YAAY,EAAE,CAAC;gBACxB,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBAChD,MAAM;YACR,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,YAAY,IAAI,IAAI,CAAC;YACrB,SAAS,IAAI,IAAI,CAAC;QACpB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,4EAA4E;IAC5E,IAAI,OAAO,GAAmB,EAAE,CAAC;IACjC,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,QAA6C,CAAC;IAClD,IAAI,aAA8C,CAAC;IACnD,IAAI,UAAkC,CAAC;IAEvC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE;YAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,SAAS;YACjB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ;YAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChD,IAAI,MAAM,CAAC,aAAa;YAAE,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC/D,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjE,kEAAkE;QAClE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtG,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC;IAClF,MAAM,uBAAuB,GAC3B,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,cAAc,CAAC,MAAM,GAAG,CAAC;QACzB,cAAc,CAAC,KAAK,CAClB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,aAAa,CAC7F,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,uBAAuB;YAC7B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;gBACjB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;oBAC1E,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,SAAS;QAClB,GAAG,CAAC,CAAC,uBAAuB,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,uBAAuB;YACzB,CAAC,CAAC,EAAE,IAAI,EAAE,iFAAiF,EAAE;YAC7F,CAAC,CAAC,EAAE,CAAC;QACP,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,cAAc;QACxB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,QAAQ;QACR,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,WAAW,EAAE,UAAU;QACvB,kEAAkE;QAClE,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE;YAC5F,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAClD,2GAA2G;AAC3G,2GAA2G;AAC3G,2GAA2G;AAC3G,MAAM,CAAC,MAAM,0CAA0C,GAAG,IAAI,CAAC;AAC/D,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAC5C,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAgB,EAChB,KAAqE;IAErE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,0BAA0B,CAAC;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;IAC7F,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAChG,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAK,QAAkB;QACvC,KAAK,EAAE,OAAgB;QACvB,KAAK,EAAE,2BAA2B;QAClC,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,UAAU;QACvB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,eAAe,CAAC;YACrB,MAAM,EAAE,aAAa;YACrB,MAAM;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,mCAAmC;YACzD,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1G,MAAM,0BAA0B,GAAG,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC;YACzB,MAAM;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACtD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAClC,QAAQ;YACR,eAAe,EAAE,OAAO;YACxB,gBAAgB,EAAE,KAAK;YACvB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,OAAO;SAC1B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;SACjC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,gGAAgG;IAChG,6FAA6F;IAC7F,MAAM,aAAa,GAAG,CACpB,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;QACtD,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;QAC5D,CAAC,CAAC,aAAa,CAClB,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACpC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3F,MAAM,4BAA4B,GAAG,6BAA6B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3F,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACxF,OAAO,mBAAmB,CAAC;YACzB,MAAM;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACtD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAClC,QAAQ;YACR,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;YAChG,gBAAgB,EAAE,KAAK;YACvB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,eAAe,CAAC;YACrB,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YAChD,MAAM;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,IAAI,EAAE,8DAA8D;YACpE,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACvC,OAAO,eAAe,CAAC;YACrB,MAAM,EAAE,aAAa;YACrB,MAAM;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,wDAAwD;YAChF,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,oBAAoB,GAAG,SAAS,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,MAAM,gBAAgB,GACpB,SAAS,CAAC,aAAa,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC;IAChG,MAAM,kBAAkB,GAAG,oBAAoB;QAC7C,CAAC,CAAC,SAAS,CAAC,OAAO;aACd,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,gBAAgB,CAAC;aAC/D,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;QACtC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,sBAAsB,GAAG,4BAA4B,CACzD,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAC5F,KAAK,CAAC,KAAK,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,4BAA4B;QAC3C,CAAC,CAAC,0BAA0B;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,CAAC,CAAC,kBAAkB,CAAC;IACvB,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAE5F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,2BAA2B,EAAE,CAAC;QACzD,OAAO,eAAe,CAAC;YACrB,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YAChD,MAAM;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,2BAA2B;gBAC/B,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,oBAAoB;oBACpB,CAAC,CAAC,uEAAuE;oBACzE,CAAC,CAAC,8EAA8E;YACpF,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC;QACzB,MAAM;QACN,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QACvB,QAAQ;QACR,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;QAClC,QAAQ;QACR,eAAe,EAAE,WAAW;QAC5B,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,gBAAgB,EAAE,IAAI;QACtB,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAcD,SAAS,eAAe,CAAC,OAA+B;IACtD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE;YACV,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,CAAC;YACX,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;SACrD;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC;AAcD,SAAS,mBAAmB,CAAC,OAAmC;IAC9D,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QACpE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,8DAA8D,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE;YACV,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM;YACnD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC/B,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;SAC5C;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAC;AACJ,CAAC;AAYD;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,OAA2B,EAAE,KAAa;IAC9E,MAAM,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,8BAA8B,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAClE,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CACnG,CAAC,EACD,uBAAuB,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,OAA2B,EAAE,KAAa;IAC/E,MAAM,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,8BAA8B,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM;QACrG,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA2B,EAAE,KAAa;IAC9E,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACnG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAoB,EACpB,KAAa,EACb,iBAAgC;IAEhC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,gBAAgB,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3E,CAAC,CAAC;YACE,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,IAAI;iBACR,KAAK,CAAC,GAAG,CAAC;iBACV,EAAE,CAAC,CAAC,CAAC,CAAC;gBACP,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;iBACxB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;SAC9B,CAAC;IACR,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,KAAK,IAAI,iBAAiB,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,qBAAqB;SAC3C,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SACvF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,yBAAyB,GAC7B,gBAAgB,KAAK,SAAS;QAC9B,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,CACL,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,SAAS,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAClG,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACvC,oGAAoG;IACpG,yGAAyG;IACzG,yGAAyG;IACzG,cAAc;IACd,MAAM,qBAAqB,GACzB,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,MAAM,yBAAyB,GAAG,gBAAgB,KAAK,SAAS,IAAI,yBAAyB,CAAC;IAC9F,MAAM,cAAc,GAClB,CAAC,qBAAqB;QACtB,QAAQ,IAAI,8BAA8B;QAC1C,OAAO,IAAI,GAAG;QACd,yBAAyB,CAAC;IAC5B,MAAM,eAAe,GACnB,CAAC,qBAAqB;QACtB,QAAQ,IAAI,8BAA8B;QAC1C,OAAO,IAAI,GAAG;QACd,yBAAyB;QACzB,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI;QAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,KAAK,GACT,CAAC,qBAAqB;QACtB,CAAC,yBAAyB,IAAI,aAAa,IAAI,CAAC,gBAAgB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,KAAK,IAAI,cAAc,IAAI,eAAe,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC;IAClF,OAAO;QACL,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;QACnC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO;QAC5E,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED;oGACoG;AACpG,SAAS,gBAAgB,CACvB,KAAa,EACb,KAA8D;IAE9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,CAAC,CAAC,CAAC;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,CACL,4EAA4E,CAAC,IAAI,CAAC,KAAK,CAAC;QACxF,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,sDAAsD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5F,OAAO,CACL,oBAAoB,CAAC,KAAK,CAAC;QAC3B,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAgB;IACpD,OAAO,sEAAsE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB;IACrD,OAAO,iNAAiN,CAAC,IAAI,CAC3N,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,UAAU;IACV,KAAK;IACL,UAAU;IACV,KAAK;IACL,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,6BAA6B,CAAC,KAAa;IAClD,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,IAAI,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClF,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QACzF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAgB,EAAE,IAAyB;IACjF,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACxE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB;IACjD,OAAO,oRAAoR,CAAC,IAAI,CAC9R,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAoB;IAC1C,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,EAAE,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAoB,EACpB,KAAa,EACb,UAAsB;IAEtB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,4BAA4B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,oBAAoB,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACnD,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3G,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;AACzB,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO;QACL,GAAG,IAAI,GAAG,CACR,SAAS,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACxE,GAAG,CAAC,cAAc,CAAC,CACvB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,MAAgB,EAAE,QAAgB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB;IACxC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;IAC9F,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACxH,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAwB,EACxB,MAAc;IAEd,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;QACtC,IAAI,SAAS,IAAI,CAAC;YAAE,MAAM;QAC1B,MAAM,MAAM,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,SAAS;YAAE,SAAS;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,UAAU,IAAI,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,6GAA6G;AAC7G,SAAS,mBAAmB,CAAC,MAAoB,EAAE,MAAc;IAC/D,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAChF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAuD,IAAI,CAAC;QACtE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAW,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,MAAM,SAAS,GAAgD,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;YACpF,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM;gBAAE,MAAM;YAC9C,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW,GAAwB,EAAE,CAAC;IAC1C,IAAI,eAAe,GAAyC,EAAE,CAAC;IAC/D,IAAI,MAAM,GAAwB,IAAI,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7F,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM;YAAE,MAAM;QAC9C,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,SAAS;QAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,iBAAiB,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG;gBAChB,GAAG,MAAM;gBACT,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC;aACrD,CAAC;YACF,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM;gBAAE,MAAM;YAC9C,OAAO,GAAG,iBAAiB,CAAC;YAC5B,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,KAAK;YAAE,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoB;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACtG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EACJ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,WAAW,EACxB,SAAS,EACT,GAAG,KAAK,EACT,GAAG,MAAM,CAAC;IACX,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC;gBACE,SAAS,EAAE,SAAS;qBACjB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;qBACpC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;aACjE;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoB;IAC5C,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;QAC/B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;AACvF,CAAC;AAED;oEACoE;AACpE,SAAS,YAAY,CAAC,IAA2D;IAC/E,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,YAAY,CAC5C;QACD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ops/context.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import type { AknoContext } from '../context.ts';
8
8
  * reads it again tomorrow — which is worse than not forgetting, because now the
9
9
  * two disagree.
10
10
  *
11
- * All three forms are journalled and stay `undo`-able for the retention window.
11
+ * All four forms are journalled and stay `undo`-able for the retention window.
12
12
  */
13
13
  export declare function forget(ctx: AknoContext, rawInput: unknown): Promise<ForgetOutput>;
14
14
  //# sourceMappingURL=forget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/ops/forget.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQjD;;;;;;;;;GASG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAKvF"}
1
+ {"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/ops/forget.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQjD;;;;;;;;;GASG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAMvF"}