@anuma/sdk 6.8.2 → 6.10.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.
@@ -4888,13 +4888,13 @@ async function upsertEntitiesInWrite(ctx, entities) {
4888
4888
  }
4889
4889
  const unique = Array.from(kindByName.keys());
4890
4890
  const out = /* @__PURE__ */ new Map();
4891
- if (unique.length === 0) return { entities: out, operations: [] };
4891
+ if (unique.length === 0) return { entities: out, operations: [], kindBackfills: [] };
4892
4892
  const existing = await ctx.entityCollection.query(import_watermelondb9.Q.where("canonical_name", import_watermelondb9.Q.oneOf(unique))).fetch();
4893
4893
  const existingNames = new Set(existing.map((e) => e.canonicalName));
4894
- const updates = existing.filter((e) => {
4894
+ const kindBackfills = existing.filter((e) => {
4895
4895
  const incoming = kindByName.get(e.canonicalName);
4896
4896
  return incoming !== void 0 && (e.kind === null || e.kind === void 0 || e.kind === "");
4897
- });
4897
+ }).map((record) => ({ record, kind: kindByName.get(record.canonicalName) }));
4898
4898
  const missing = unique.filter((n) => !existingNames.has(n));
4899
4899
  const created = missing.map(
4900
4900
  (name) => ctx.entityCollection.prepareCreate((record) => {
@@ -4903,14 +4903,19 @@ async function upsertEntitiesInWrite(ctx, entities) {
4903
4903
  if (kind !== void 0) record._setRaw("kind", kind);
4904
4904
  })
4905
4905
  );
4906
- const updated = updates.map(
4907
- (e) => e.prepareUpdate((record) => {
4908
- record._setRaw("kind", kindByName.get(e.canonicalName));
4909
- })
4910
- );
4911
4906
  for (const e of existing) out.set(e.canonicalName, entityToStored(e));
4912
4907
  for (const record of created) out.set(record.canonicalName, entityToStored(record));
4913
- return { entities: out, operations: [...created, ...updated] };
4908
+ for (const { record, kind } of kindBackfills) {
4909
+ out.set(record.canonicalName, { ...entityToStored(record), kind });
4910
+ }
4911
+ return { entities: out, operations: created, kindBackfills };
4912
+ }
4913
+ function prepareKindBackfills(backfills) {
4914
+ return backfills.map(
4915
+ ({ record, kind }) => record.prepareUpdate((r) => {
4916
+ r._setRaw("kind", kind);
4917
+ })
4918
+ );
4914
4919
  }
4915
4920
  async function findVaultRowInWrite(ctx, memoryId) {
4916
4921
  try {
@@ -4960,10 +4965,12 @@ function topicsForEntities(entities, displayNames, source) {
4960
4965
  function toEntityObjects(entityInputs) {
4961
4966
  return entityInputs.map((e) => typeof e === "string" ? { name: e } : e);
4962
4967
  }
4963
- async function prepareMemoryTopicsUpdate(ctx, memoryId, linked, inputs, source) {
4968
+ async function resolveMemoryTopicsWrite(ctx, memoryId, linked, inputs, source) {
4964
4969
  const row = await findVaultRowInWrite(ctx, memoryId);
4965
- const write = resolveTopicsWrite(row, linked, displayNamesOf(toEntityObjects(inputs)), source);
4966
- return write === null ? null : prepareTopicsUpdate(write.row, write.topics, Date.now());
4970
+ return resolveTopicsWrite(row, linked, displayNamesOf(toEntityObjects(inputs)), source);
4971
+ }
4972
+ function prepareMemoryTopicsUpdate(write) {
4973
+ return prepareTopicsUpdate(write.row, write.topics, Date.now());
4967
4974
  }
4968
4975
  async function linkMemoryEntitiesOp(ctx, memoryId, entityInputs, options) {
4969
4976
  if (entityInputs.length === 0) return [];
@@ -4972,15 +4979,16 @@ async function linkMemoryEntitiesOp(ctx, memoryId, entityInputs, options) {
4972
4979
  let skipped = false;
4973
4980
  let entities = [];
4974
4981
  await ctx.database.write(async () => {
4975
- const { entities: byName, operations: entityOps } = await upsertEntitiesInWrite(
4976
- ctx,
4977
- normalized
4978
- );
4982
+ const {
4983
+ entities: byName,
4984
+ operations: entityOps,
4985
+ kindBackfills
4986
+ } = await upsertEntitiesInWrite(ctx, normalized);
4979
4987
  entities = Array.from(byName.values());
4980
4988
  const vaultRow = await findVaultRowInWrite(ctx, memoryId);
4981
4989
  if (options?.unlessTopicsUserManaged && autoLinkBlocked(vaultRow)) {
4982
- if (entityOps.length > 0) {
4983
- await ctx.database.batch(...entityOps);
4990
+ if (entityOps.length > 0 || kindBackfills.length > 0) {
4991
+ await ctx.database.batch(...entityOps, ...prepareKindBackfills(kindBackfills));
4984
4992
  }
4985
4993
  skipped = true;
4986
4994
  return;
@@ -5000,7 +5008,9 @@ async function linkMemoryEntitiesOp(ctx, memoryId, entityInputs, options) {
5000
5008
  displayNamesOf(normalized),
5001
5009
  options?.topicsSource ?? "auto"
5002
5010
  );
5003
- if (entityOps.length === 0 && toCreate.length === 0 && topicsWrite === null) return;
5011
+ if (entityOps.length === 0 && kindBackfills.length === 0 && toCreate.length === 0 && topicsWrite === null) {
5012
+ return;
5013
+ }
5004
5014
  const linkOps = toCreate.map(
5005
5015
  (e) => ctx.memoryEntityCollection.prepareCreate((record) => {
5006
5016
  record._setRaw("memory_id", memoryId);
@@ -5010,6 +5020,7 @@ async function linkMemoryEntitiesOp(ctx, memoryId, entityInputs, options) {
5010
5020
  );
5011
5021
  await ctx.database.batch(
5012
5022
  ...entityOps,
5023
+ ...prepareKindBackfills(kindBackfills),
5013
5024
  ...linkOps,
5014
5025
  ...topicsWrite ? [prepareTopicsUpdate(topicsWrite.row, topicsWrite.topics, Date.now())] : []
5015
5026
  );
@@ -5047,10 +5058,11 @@ async function replaceMemoryEntities(ctx, memoryId, entityInputs, options) {
5047
5058
  skipped = true;
5048
5059
  return;
5049
5060
  }
5050
- const { entities: byName, operations: entityOps } = await upsertEntitiesInWrite(
5051
- ctx,
5052
- normalized
5053
- );
5061
+ const {
5062
+ entities: byName,
5063
+ operations: entityOps,
5064
+ kindBackfills
5065
+ } = await upsertEntitiesInWrite(ctx, normalized);
5054
5066
  entities = Array.from(byName.values());
5055
5067
  const existingLinks = await ctx.memoryEntityCollection.query(import_watermelondb9.Q.where("memory_id", memoryId)).fetch();
5056
5068
  const keep = new Set(entities.map((e) => e.uniqueId));
@@ -5063,12 +5075,13 @@ async function replaceMemoryEntities(ctx, memoryId, entityInputs, options) {
5063
5075
  displayNamesOf(normalized),
5064
5076
  options.topicsSource
5065
5077
  );
5066
- if (entityOps.length === 0 && toCreate.length === 0 && toDestroy.length === 0 && topicsWrite === null) {
5078
+ if (entityOps.length === 0 && kindBackfills.length === 0 && toCreate.length === 0 && toDestroy.length === 0 && topicsWrite === null) {
5067
5079
  return;
5068
5080
  }
5069
5081
  const orphans = await findOrphanedEntities(ctx, memoryId, toDestroy);
5070
5082
  await ctx.database.batch(
5071
5083
  ...entityOps,
5084
+ ...prepareKindBackfills(kindBackfills),
5072
5085
  ...toCreate.map(
5073
5086
  (e) => ctx.memoryEntityCollection.prepareCreate((record) => {
5074
5087
  record._setRaw("memory_id", memoryId);
@@ -5897,10 +5910,16 @@ async function setMemoryEntitiesOp(ctx, memoryId, entities) {
5897
5910
  const existing = await entityCtx.memoryEntityCollection.query(import_watermelondb10.Q.where("memory_id", memoryId)).fetch();
5898
5911
  const staleLinks = existing.filter((l) => !keep.has(String(l.entityId)));
5899
5912
  if (staleLinks.length === 0 && entities.length > 0) return;
5900
- const topicsOp = await prepareMemoryTopicsUpdate(entityCtx, memoryId, linked, entities, "user");
5913
+ const topicsWrite = await resolveMemoryTopicsWrite(
5914
+ entityCtx,
5915
+ memoryId,
5916
+ linked,
5917
+ entities,
5918
+ "user"
5919
+ );
5901
5920
  await ctx.database.batch(
5902
5921
  ...staleLinks.map((l) => l.prepareDestroyPermanently()),
5903
- ...topicsOp ? [topicsOp] : []
5922
+ ...topicsWrite ? [prepareMemoryTopicsUpdate(topicsWrite)] : []
5904
5923
  );
5905
5924
  });
5906
5925
  if (stale) return null;
@@ -6218,27 +6237,36 @@ async function backfillMemoryTopicsOp(ctx, memoryIds) {
6218
6237
  if (!entityCtx) {
6219
6238
  throw new Error("backfillMemoryTopicsOp requires ctx.entityCtx");
6220
6239
  }
6240
+ const uniqueIds = Array.from(new Set(memoryIds));
6241
+ if (uniqueIds.length === 0) return [];
6221
6242
  const filled = [];
6222
- for (const id of Array.from(new Set(memoryIds))) {
6223
- let record;
6224
- try {
6225
- record = await ctx.vaultMemoryCollection.find(id);
6226
- } catch {
6227
- continue;
6228
- }
6229
- if (record.isDeleted || !isOwnedByCtxUser(ctx, record)) continue;
6230
- if (parseTopics(record.topics) !== null) continue;
6231
- const links = await entityCtx.memoryEntityCollection.query(import_watermelondb10.Q.where("memory_id", id)).unsafeFetchRaw();
6232
- const entityIds = links.map((l) => String(l.entity_id));
6233
- if (entityIds.length === 0) continue;
6234
- const entities = await entityCtx.entityCollection.query(import_watermelondb10.Q.where("id", import_watermelondb10.Q.oneOf(entityIds))).fetch();
6235
- if (entities.length === 0) continue;
6236
- const source = record.topicsUserManaged ? "user" : "auto";
6243
+ const CHUNK = 500;
6244
+ for (let i = 0; i < uniqueIds.length; i += CHUNK) {
6245
+ const chunkIds = uniqueIds.slice(i, i + CHUNK);
6237
6246
  await ctx.database.write(async () => {
6238
- const topicsOp = await prepareMemoryTopicsUpdate(entityCtx, id, entities, [], source);
6239
- if (!topicsOp) return;
6240
- await ctx.database.batch(topicsOp);
6241
- filled.push(id);
6247
+ const writes = [];
6248
+ for (const id of chunkIds) {
6249
+ let record;
6250
+ try {
6251
+ record = await ctx.vaultMemoryCollection.find(id);
6252
+ } catch {
6253
+ continue;
6254
+ }
6255
+ if (record.isDeleted || !isOwnedByCtxUser(ctx, record)) continue;
6256
+ if (parseTopics(record.topics) !== null) continue;
6257
+ const links = await entityCtx.memoryEntityCollection.query(import_watermelondb10.Q.where("memory_id", id)).unsafeFetchRaw();
6258
+ const entityIds = links.map((l) => String(l.entity_id));
6259
+ if (entityIds.length === 0) continue;
6260
+ const entities = await entityCtx.entityCollection.query(import_watermelondb10.Q.where("id", import_watermelondb10.Q.oneOf(entityIds))).fetch();
6261
+ if (entities.length === 0) continue;
6262
+ const source = record.topicsUserManaged ? "user" : "auto";
6263
+ const write = await resolveMemoryTopicsWrite(entityCtx, id, entities, [], source);
6264
+ if (write) writes.push(write);
6265
+ }
6266
+ if (writes.length === 0) return;
6267
+ const prepared = writes.map(prepareMemoryTopicsUpdate);
6268
+ await ctx.database.batch(...prepared);
6269
+ for (const write of writes) filled.push(write.row.id);
6242
6270
  });
6243
6271
  }
6244
6272
  return filled;
@@ -10018,6 +10046,7 @@ __export(index_exports, {
10018
10046
  insertChild: () => insertChild,
10019
10047
  isAnumaTag: () => isAnumaTag,
10020
10048
  isCalendarCallback: () => isCalendarCallback,
10049
+ isDegradedTopicSkip: () => isDegradedTopicSkip,
10021
10050
  isDriveCallback: () => isDriveCallback,
10022
10051
  isGithubCallback: () => isGithubCallback,
10023
10052
  isHtmlTag: () => isHtmlTag,
@@ -18387,7 +18416,7 @@ function createAutoExtractor(options) {
18387
18416
  const t0 = Date.now();
18388
18417
  void (async () => {
18389
18418
  try {
18390
- const { candidates, results, failedCount, outcome } = await extractAndRetain(
18419
+ const { candidates, results, failedCount, outcome, failure } = await extractAndRetain(
18391
18420
  window2,
18392
18421
  retainCtx,
18393
18422
  {
@@ -18427,7 +18456,11 @@ function createAutoExtractor(options) {
18427
18456
  failedCount,
18428
18457
  durationMs: Date.now() - t0,
18429
18458
  conversationId,
18430
- outcome
18459
+ outcome,
18460
+ // Only set alongside `outcome: "empty-after-retry"`. Spread so the key
18461
+ // is absent rather than explicitly undefined on a healthy turn —
18462
+ // analytics backends store an explicit undefined as a real value.
18463
+ ...failure !== void 0 && { failure }
18431
18464
  });
18432
18465
  } catch (err) {
18433
18466
  options.onError?.(err instanceof Error ? err : new Error(String(err)), conversationId);
@@ -19729,6 +19762,18 @@ function parseTopicResponse(parsed, validIds) {
19729
19762
  }
19730
19763
  return out;
19731
19764
  }
19765
+ var DEGRADED_TOPIC_SKIP = {
19766
+ excluded: false,
19767
+ "link-declined": false,
19768
+ "stamp-declined": false,
19769
+ "llm-unanswered": true,
19770
+ unreadable: true,
19771
+ "not-found": true,
19772
+ "link-failed": true
19773
+ };
19774
+ function isDegradedTopicSkip(reason) {
19775
+ return DEGRADED_TOPIC_SKIP[reason] === true;
19776
+ }
19732
19777
  async function extractAndLinkEntitiesForMemoriesOp(ctx, memoryIds, options) {
19733
19778
  const entityCtx = ctx.entityCtx;
19734
19779
  if (!entityCtx) {
@@ -19737,17 +19782,24 @@ async function extractAndLinkEntitiesForMemoriesOp(ctx, memoryIds, options) {
19737
19782
  const log = getLogger();
19738
19783
  const extractedAt = options.now ?? Date.now();
19739
19784
  const skippedIds = [];
19785
+ const skippedReasons = /* @__PURE__ */ new Map();
19786
+ const skip = (id, reason) => {
19787
+ if (skippedReasons.has(id)) return;
19788
+ skippedIds.push(id);
19789
+ skippedReasons.set(id, reason);
19790
+ };
19740
19791
  const inputs = [];
19741
- for (const id of memoryIds) {
19792
+ for (const id of new Set(memoryIds)) {
19742
19793
  let record;
19743
19794
  try {
19744
19795
  record = await ctx.vaultMemoryCollection.find(id);
19745
- } catch {
19746
- skippedIds.push(id);
19796
+ } catch (err) {
19797
+ log.warn("[memory/topics] vault lookup failed for extraction", err);
19798
+ skip(id, "not-found");
19747
19799
  continue;
19748
19800
  }
19749
19801
  if (record.isDeleted || ctx.userId !== void 0 && record.userId !== ctx.userId || record.topicsUserManaged) {
19750
- skippedIds.push(id);
19802
+ skip(id, "excluded");
19751
19803
  continue;
19752
19804
  }
19753
19805
  try {
@@ -19760,7 +19812,7 @@ async function extractAndLinkEntitiesForMemoriesOp(ctx, memoryIds, options) {
19760
19812
  inputs.push({ id, content: stored.content });
19761
19813
  } catch (err) {
19762
19814
  log.warn("[memory/topics] failed to load memory for extraction", err);
19763
- skippedIds.push(id);
19815
+ skip(id, "unreadable");
19764
19816
  }
19765
19817
  }
19766
19818
  const entitiesByMemory = await extractEntitiesForMemories(inputs, options);
@@ -19768,19 +19820,19 @@ async function extractAndLinkEntitiesForMemoriesOp(ctx, memoryIds, options) {
19768
19820
  for (const input of inputs) {
19769
19821
  const entities = entitiesByMemory.get(input.id);
19770
19822
  if (entities === void 0) {
19771
- skippedIds.push(input.id);
19823
+ skip(input.id, "llm-unanswered");
19772
19824
  continue;
19773
19825
  }
19774
19826
  try {
19775
19827
  const linked = await replaceMemoryEntitiesGuardedOp(entityCtx, input.id, entities);
19776
19828
  if (linked === null) {
19777
- skippedIds.push(input.id);
19829
+ skip(input.id, "link-declined");
19778
19830
  entitiesByMemory.delete(input.id);
19779
19831
  continue;
19780
19832
  }
19781
19833
  } catch (err) {
19782
19834
  log.warn("[memory/topics] replaceMemoryEntitiesGuardedOp failed", err);
19783
- skippedIds.push(input.id);
19835
+ skip(input.id, "link-failed");
19784
19836
  entitiesByMemory.delete(input.id);
19785
19837
  continue;
19786
19838
  }
@@ -19790,11 +19842,11 @@ async function extractAndLinkEntitiesForMemoriesOp(ctx, memoryIds, options) {
19790
19842
  const stampedSet = new Set(stampedIds);
19791
19843
  for (const id of toStamp) {
19792
19844
  if (!stampedSet.has(id)) {
19793
- skippedIds.push(id);
19845
+ skip(id, "stamp-declined");
19794
19846
  entitiesByMemory.delete(id);
19795
19847
  }
19796
19848
  }
19797
- return { entitiesByMemory, stampedIds, skippedIds };
19849
+ return { entitiesByMemory, stampedIds, skippedIds, skippedReasons };
19798
19850
  }
19799
19851
 
19800
19852
  // src/lib/memory/verifySupport.ts
@@ -35449,6 +35501,7 @@ function renderAnumaJsx(jsx3) {
35449
35501
  insertChild,
35450
35502
  isAnumaTag,
35451
35503
  isCalendarCallback,
35504
+ isDegradedTopicSkip,
35452
35505
  isDriveCallback,
35453
35506
  isGithubCallback,
35454
35507
  isHtmlTag,
@@ -8114,6 +8114,14 @@ declare function relinkMemoryTopicsOp(ctx: VaultMemoryOperationsContext, memoryI
8114
8114
  * row has: a curated memory's topics are recorded as `user`, everything else as
8115
8115
  * `auto`. Skips deleted, foreign-user, unlinked rows, and rows that already have
8116
8116
  * a record. Returns the ids filled.
8117
+ *
8118
+ * Runs as ONE writer over the whole (caller-bounded) list, in two phases:
8119
+ * resolve every row's write — all the awaits — and only then prepare and batch,
8120
+ * synchronously. Resolving and preparing per row inside its own writer is what
8121
+ * fired WatermelonDB's "wasn't sent to batch() synchronously" diagnostic once
8122
+ * per memory (~107 on a single dev launch, sdk#891); it also cost N writes.
8123
+ * Same treatment as {@link stampTopicsExtractedAtOp}, including its
8124
+ * transpilation hazard — the prepare pass MUST stay a `.map()`.
8117
8125
  */
8118
8126
  declare function backfillMemoryTopicsOp(ctx: VaultMemoryOperationsContext, memoryIds: readonly string[]): Promise<string[]>;
8119
8127
  declare function deleteAllVaultMemoriesForUserOp(ctx: VaultMemoryOperationsContext, userId: string): Promise<number>;
@@ -8398,6 +8406,22 @@ interface TurnCompleteEvent {
8398
8406
  * previously indistinguishable (both surfaced as zero candidates).
8399
8407
  */
8400
8408
  outcome: ExtractOutcome;
8409
+ /**
8410
+ * Present only alongside `outcome: "empty-after-retry"` — WHICH failure ended
8411
+ * the turn (#888).
8412
+ *
8413
+ * `outcome` says extraction gave up; this says why, from a stable enum. The
8414
+ * distinction is the whole point: a 2026-08-11 audit measured ~63% of
8415
+ * production extraction turns ending in `empty-after-retry` and could not tell
8416
+ * from telemetry whether the cause was the freeloader 403 everyone assumed or
8417
+ * something else. It took a Prometheus cross-check to find the real one — the
8418
+ * portal returning HTTP 200 with an empty body, which it counts as a success.
8419
+ *
8420
+ * Forward `failure.reason` into your extraction analytics event; all three
8421
+ * fields are bounded (an enum, an HTTP status, a small attempt count) and none
8422
+ * carries content.
8423
+ */
8424
+ failure?: PortalLlmFailure;
8401
8425
  }
8402
8426
  /** @public */
8403
8427
  /**
@@ -9663,6 +9687,39 @@ interface TopicExtractOptions extends PortalLlmAuth {
9663
9687
  * later sweep, never stamp them.
9664
9688
  */
9665
9689
  declare function extractEntitiesForMemories(memories: readonly TopicExtractionInput[], options: TopicExtractOptions): Promise<Map<string, ExtractedEntity[]>>;
9690
+ /**
9691
+ * Why one memory was skipped by a topic sweep.
9692
+ *
9693
+ * Split along the line that actually matters operationally — did the sweep
9694
+ * DECLINE this row on purpose, or did something BREAK:
9695
+ *
9696
+ * Deliberate (healthy; a sweep of nothing but these is a success):
9697
+ * - `excluded` — deleted, owned by another user, or `topicsUserManaged`.
9698
+ * - `link-declined` — the entity-link write's in-row guard declined (the row
9699
+ * became user-managed / deleted / absent mid-run).
9700
+ * - `stamp-declined` — same, caught by the stamp op's own re-check.
9701
+ *
9702
+ * Degraded (something is wrong; see {@link isDegradedTopicSkip}):
9703
+ * - `llm-unanswered` — the batch failed or the model omitted this id. THE one
9704
+ * to alarm on: it is how a wholly broken sweep looks.
9705
+ * - `unreadable` — the row could not be loaded/decrypted.
9706
+ * - `not-found` — the lookup threw (absent row or read fault).
9707
+ * - `link-failed` — the entity-link write threw.
9708
+ *
9709
+ * @public
9710
+ */
9711
+ type TopicSkipReason = "excluded" | "link-declined" | "stamp-declined" | "llm-unanswered" | "unreadable" | "not-found" | "link-failed";
9712
+ /**
9713
+ * Whether a skip reason means the sweep FAILED on that row, rather than
9714
+ * deliberately passing over it.
9715
+ *
9716
+ * Exported so callers classify identically instead of each re-deriving the
9717
+ * split — the reason this type exists is that one wrong grouping turns a broken
9718
+ * sweep back into a healthy-looking one.
9719
+ *
9720
+ * @public
9721
+ */
9722
+ declare function isDegradedTopicSkip(reason: TopicSkipReason): boolean;
9666
9723
  /** Outcome of one {@link extractAndLinkEntitiesForMemoriesOp} run. */
9667
9724
  interface TopicExtractionRunResult {
9668
9725
  /** memoryId → entities the LLM returned (post-validation, post-linking). */
@@ -9675,6 +9732,24 @@ interface TopicExtractionRunResult {
9675
9732
  * LLM batches. Skipped ids are not stamped, so failed batches are retried
9676
9733
  * by a later sweep — callers should apply their own attempt caps. */
9677
9734
  skippedIds: string[];
9735
+ /**
9736
+ * Why each id in {@link skippedIds} was skipped.
9737
+ *
9738
+ * `skippedIds` alone cannot distinguish a sweep that deliberately declined
9739
+ * work from one that FAILED: a run where every LLM batch errored and a run
9740
+ * over rows the user has taken manual control of produce an identical array.
9741
+ * That is the same blindness `outcome: 'empty-after-retry'` had before #888 —
9742
+ * a degradation wearing the shape of normal control flow.
9743
+ *
9744
+ * It matters here because topics feed the entity recall lane, so a silently
9745
+ * failing sweep means memories that exist but cannot be found by entity, with
9746
+ * nothing in production saying so.
9747
+ *
9748
+ * Populated in lockstep with `skippedIds` (single `skip()` helper), so the two
9749
+ * cannot drift. Group by {@link isDegradedTopicSkip} to separate "declined" from
9750
+ * "broke".
9751
+ */
9752
+ skippedReasons: Map<string, TopicSkipReason>;
9678
9753
  }
9679
9754
  /**
9680
9755
  * Run LLM topic extraction over existing vault memories and persist the
@@ -15523,4 +15598,4 @@ declare function renderAnumaTree(node: AnumaNode): React.ReactElement | null;
15523
15598
  */
15524
15599
  declare function renderAnumaJsx(jsx: string): React.ReactElement | null;
15525
15600
 
15526
- export { Anuma, type AnumaChild, AnumaJsxError, type AnumaNode, AnumaShadowIsolationProvider, type AnumaShadowIsolationProviderProps, type AnumaTheme, AnumaThemeProvider, type AnumaThemeProviderProps, AppFile as AppFileModel, type AppFileOperationsContext, type AttrValue, type AutoExtractMessage, type AutoExtractor, DEFAULT_CONVERSATIONS_FOLDER as BACKUP_DRIVE_CONVERSATIONS_FOLDER, DEFAULT_ROOT_FOLDER as BACKUP_DRIVE_ROOT_FOLDER, DEFAULT_BACKUP_FOLDER as BACKUP_ICLOUD_FOLDER, BUILT_IN_TOOL_SETS, type BackupAuthContextValue, BackupAuthProvider, type BackupAuthProviderProps, type BackupOperationOptions, BlobUrlManager, type Budget, CHUNKS_DISCARDED_ORIGIN, type CachedChunkVectors, type CachedServerTools, ChartCard, type ChartCardProps, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChatStorageAdapter, type ChatStorageObservable, type ChunkSearchResult, type ChunkVectorCache, type ChunkingOptions, type CircleProps, type ClientToolsFilterFn, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type ConversationQueryOptions, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateEntityOptions, type CreateMediaOptions, type CreateMessageOptions, type CreateModelPreferenceOptions, type CreateProjectOptions, type CreateSavedToolOptions, type CreateServerToolsFilterOptions, type CreateUserPreferenceOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_BACKUP_FOLDER$1 as DEFAULT_BACKUP_FOLDER, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_CONVERSATIONS_FOLDER as DEFAULT_DRIVE_CONVERSATIONS_FOLDER, DEFAULT_ROOT_FOLDER as DEFAULT_DRIVE_ROOT_FOLDER, DEFAULT_BACKUP_FOLDER$1 as DEFAULT_DROPBOX_FOLDER, DEFAULT_EXCLUDED_SERVER_TOOLS, DEFAULT_BACKUP_FOLDER as DEFAULT_ICLOUD_BACKUP_FOLDER, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PERSONALITY_SETTINGS, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_SERVER_TOOLS_MATCH_OPTIONS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, type DeckProps, type DisplayToolMigrations, type DropboxAuthContextValue, DropboxAuthProvider, type DropboxAuthProviderProps, type DropboxExportResult, type DropboxImportResult, ENTITY_FANOUT, ENTITY_KINDS, type EmbeddedWalletSignerFn, EncryptionKeyMissingError, type EncryptionKeyVersion, type EntityInput, type EntityKind, Entity as EntityModel, type EntityOperationsContext, ExcelProcessor, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, FILE_PLACEHOLDER_PREFIX, FILE_PLACEHOLDER_REGEX, type FactType, type FileMetadata, type FileProcessor, type FileTypeQuery, type FileWithData, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GoogleDriveAuthContextValue, GoogleDriveAuthProvider, type GoogleDriveAuthProviderProps, type GoogleDriveExportResult, type GoogleDriveImportResult, type GraphTraversalOptions, type GroupProps, HARD_DELETE_WINDOW_MS, type ICloudAuthContextValue, ICloudAuthProvider, type ICloudAuthProviderProps, type ICloudExportResult, type ICloudImportResult, INFERENCE_ID_HEADER, type IconProps, type ImageProps, type InjectionClassifierOptions, type InjectionReason, type InteractionType, type KnownTag, type LazyStoredConversation, type LineProps, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, type MediaDimensions, type MediaFilterOptions, type MediaMetadata, type MediaOperationsContext, type MediaRole, type MediaType, type MemoriesNeedingTopicExtraction, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, MemoryEntity as MemoryEntityModel, type MemoryExtractedEvent, type MemoryKind, type MemoryQuarantinedEvent, type MemoryToVerify, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MemoryVerification, type MessageChunk, type MessageFeedback, type MessageOrigin, type MessageSkeleton, type ModelLoadProgress, NEVER_TTL_MS, NODE_BUDGET, type NeighborRefiner, type NowSource, type OCRFile, type ObservationTrend, type ObservationTrendInput, type OperationExecutor, PAST_EVENT_GRACE_MS, PROFILE_DOC_VERSION, type ParsedServerToolsResponse, type PdfExportOptions, type PdfExportProgress, type PdfExportStage, type PdfFile, PdfProcessor, type PendingInteraction, type PersonalitySettings, type PersonalitySliders, type PersonalityStyle, type PhoneCallPollingOptions, type PhotoIngestResult, type PhotoMediaRef, type PlatformStorage, type PortalLlmAuth, type PortalLlmFailure, type PortalLlmFailureReason, type PreprocessingOptions, type PreprocessingResult, type ProcessedFileResult, ProcessorRegistry, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type ProfileUpdate, type ProgressCallback, Project, type ProjectOperationsContext, type PromptPreProcessor, type PromptPreProcessorContext, type ProviderAuthState, type ProviderBackupState, ProviderStreamError, type PublishedPhotoMemory, type QuantizedEmbedding, type QuarantinedMemoryInfo, type QueueEncryptionContext, QueueManager, type QueueStatus, type QueuedOperation, type QueuedOperationType, R2_DEFAULT_TTL_MS, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankableVaultMemory, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallOptions, type RecallResult, type RecallToolCallbacks, type RecallToolOptions, type RecencyOptions, type RectProps, type ReflectOptions, type ReflectResult, type RequestEncryptionKeyOptions, RerankerUnavailableError, type ResumeStreamOptions, type ResumeStreamResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SERVER_TOOL_DEPENDENCY_SETS, SHORT_TTL_MS, SLIDER_CONFIG, SLIDES_FILE_PATH, SLIDE_CANVAS_HEIGHT, SLIDE_CANVAS_WIDTH, STREAM_RESUMABLE_HEADER, SavedTool as SavedToolModel, type SavedToolOperationsContext, type SavedToolParameter, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenProps, type ScreenResult, type ScreenedCandidate, type SearchMessagesOptions, type SearchSource, type SelectServerToolsForPromptOptions, type SendMessageWithStorageArgs, type SendMessageWithStorageResult, type ServerTool, type ServerToolsFilter, type ServerToolsFilterFn, type ServerToolsFilterFunction, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type SignMessageOptions, type SlideProps, type StepFinishEvent, type StockPriceClassification, type StockPricePreProcessorOptions, type StorageOperationsContext, type StoredAppFile, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredEntity, type StoredFileWithContext, type StoredMedia, Media as StoredMediaModel, type StoredMessage, type StoredMessageWithSimilarity, type StoredModelPreference, ModelPreference as StoredModelPreferenceModel, type StoredProject, type StoredSavedTool, type StoredTopic, type StoredUserPreference, UserPreference as StoredUserPreferenceModel, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type SynthesizeProfileOptions, THEME_ATTRS, TOOL_RESULT_ORIGIN, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, TextProcessor, type TextProps, type ThemeAttr, type ToolCallArgumentsDeltaEvent, type ToolMatchOptions, type ToolMatchResult, type ToolSet, type TopicExtractOptions, type TopicExtractionInput, type TopicExtractionRunResult, type TopicSource, type TranscriptionResult, type TurnCompleteEvent, type TurnSkippedEvent, type UIInteractionContextValue, UIInteractionProvider, type UIInteractionProviderProps, type UncheckedReason, type UnverifiableReason, type UpdateMediaOptions, type UpdateModelPreferenceOptions, type UpdateProjectOptions, type UpdateSavedToolOptions, type UpdateUserPreferenceOptions, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseBackupOptions, type UseBackupResult, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseDropboxBackupOptions, type UseDropboxBackupResult, type UseEncryptionResult, type UseExportPdfResult, type UseFilesOptions, type UseFilesResult, type UseGoogleDriveBackupOptions, type UseGoogleDriveBackupResult, type UseICloudBackupOptions, type UseICloudBackupResult, type UseModelsResult, type UseOCRResult, type UsePdfResult, type UsePhoneCallsOptions, type UsePhoneCallsResult, type UseProjectsOptions, type UseProjectsResult, type UseSettingsOptions, type UseSettingsResult, type UseSubscriptionOptions, type UseSubscriptionResult, type UseToolsOptions, type UseToolsResult, type UseVoiceOptions, type UseVoiceResult, type UseWalletBindingOptions, type UseWalletBindingResult, VAULT_SIZE_HOP_CAP, type VaultCandidateKey, type VaultEmbeddingCache, type VaultFolderOperationsContext, type VaultMemoryOperationsContext, type VaultMemoryVisibility, type VaultSaveOperation, type VaultSearchResult, type VerificationSources, type VerifyMemoriesForPublishOptions, type VoiceRecording, WalletPoller, WatermelonChatStorageAdapter, type WatermelonChatStorageAdapterOptions, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, type WhisperModel, WordProcessor, ZipProcessor, type ZipProcessorOptions, addConversationMemoriesOp, appFileToStored, archiveVaultMemoryOp, backfillMemoryEntityUserIdsOp, backfillMemoryTopicsOp, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearAllKeyPairs, clearCalendarToken, clearConversationMemoriesOp, clearDriveToken, clearToken as clearDropboxToken, clearEncryptionKey, clearGithubToken, clearGoogleDriveToken, clearICloudAuth, clearKeyPair, clearLazyTitleCache, clearMemoryTopicsOverrideOp, clearNotionToken, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createGitHubTools, createLlmDecayClassifier, createLlmNeighborRefiner, createMediaBatchOp, createMediaOp, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createMessageSourceResolver, createPlatformCursorStore, createProjectOp, createRecallTool, createSavedToolOp, createServerToolsFilter, createStockPricePreProcessor, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decodeChunkVector, decryptConversationTitle, decryptData, decryptDataBatch, decryptDataBytes, decryptDataBytesFromBytes, decryptDataWithKey, defaultServerToolsFilter, deleteAllAppFilesOp, deleteAllVaultMemoriesForUserOp, deleteAppFileOp, deleteEncryptedFile, deleteMediaByConversationOp, deleteMediaByMessageOp, deleteMediaOp, deleteProjectOp, deleteSavedToolOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, eagerEmbedContent, embedAllMessages, embedMessage, encodeChunkVector, encryptData, encryptDataBatch, encryptDataBytes, encryptDataWithKey, ensureDefaultFoldersOp, expandToolSetsAdditive, exportElementToPdf, exportMarkdownToPdf, exportPublicKey, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, extractFileIds, fileExists, findById, findMatchingTools, findParentOfId, generateConversationId, generateEmbedding, generateEmbeddings, generateMediaId, generateProjectId, getAIGeneratedMediaOp, getAllSavedToolsOp, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getAndClearCalendarPendingMessage, getAndClearCalendarReturnUrl, getAndClearDrivePendingMessage, getAndClearDriveReturnUrl, getAndClearGithubPendingMessage, getAndClearGithubReturnUrl, getAndClearNotionPendingMessage, getAndClearNotionReturnUrl, getAppFileMapOp, getAppFileOp, getAppFilesOp, getAudioOp, getCachedServerTools, getCalendarAccessToken, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsByProjectOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getDocumentsOp, getDriveAccessToken, getEncryptionKey, getEntitiesByMemoryIdsOp, getGithubAccessToken, getGoogleDriveStoredToken, getId, getImagesOp, getLogger, getMediaByConversationOp, getMediaByIdOp, getMediaByIdsOp, getMediaByMessageOp, getMediaByModelOp, getMediaByRoleOp, getMediaBySourceUrlOp, getMediaByTypeOp, getMediaCountOp, getMediaCountsByTypeOp, getMediaOp, getMediaTypeFromMime, getMemoriesByEntityNamesOp, getMemoriesNeedingTopicExtractionOp, getNotionAccessToken, getNotionMCPUrl, getNumberAttr, getProjectConversationCountOp, getProjectConversationsOp, getProjectOp, getProjectsOp, getRecentMediaOp, getSavedToolByIdOp, getServerTools, getStringAttr, getSupportedFileTypes, getToolsChecksum, getUnfiledVaultMemoriesOp, getUserUploadedMediaOp, getValidCalendarToken, getValidDriveToken, getValidGithubToken, getValidNotionToken, getVaultCandidateKeysOp, getVaultEmbeddingsByIdsOp, getVaultFolderMemoryCountOp, getVaultMemoriesByIdsOp, getVaultMemoryOp, getVaultRankingProjectionsOp, getVideosOp, handleCalendarCallback, handleDriveCallback, handleGithubCallback, handleNotionCallback, hardDeleteDecayedOp, hardDeleteMediaOp, hasCalendarCredentials, hasDriveCredentials, hasDropboxCredentials, hasEncryptionKey, hasGithubCredentials, hasGoogleDriveCredentials, hasICloudCredentials, hasKeyPair, hasNotionCredentials, ingestPublishedPhotoMemoriesOp, injectionSignatureCatalog, insertAfterId, insertChild, isAnumaTag, isCalendarCallback, isDriveCallback, isGithubCallback, isHtmlTag, isNotionCallback, isOPFSSupported, isR2UrlExpired, isRerankerAvailable, isSupportedFile, isSupportedMediaType, linkMemoryEntitiesOp, mediaToStored, migrateCalendarToken, migrateDisplayResult, migrateDriveToken, migrateGithubToken, migrateNotionClientRegistration, migrateNotionToken, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, parseJsx, parseMedia, preEmbedVaultMemories, preprocessFiles, previewToolSelection, projectToStored, putAppFileOp, quantizeEmbedding, queueManager, rankProfileCandidates, readEncryptedFile, recall, reflect, refreshCalendarToken, refreshDriveToken, refreshEncryptionKeyIfMatches, refreshGithubToken, refreshNotionToken, relinkMemoryTopicsOp, relinkMisclassifiedVideosOp, removeById, renderAnumaJsx, renderAnumaTree, renderElementToCanvas, replaceById, replaceMemoryEntitiesGuardedOp, requestEncryptionKey, requestKeyPair, resolveFilePlaceholders, resolveThemeColor, restoreVaultMemoryOp, resumeStream, retain, revokeCalendarToken, revokeDriveToken, revokeGithubToken, revokeNotionAccess, savedToolToStored, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchChunksOp, searchMediaOp, searchMessagesOp, searchVaultMemories, seedEncryptionKeys, selectServerToolsForPrompt, serializeJsx, setLogger, setMemoryEntitiesOp, setMemoryVisibilityOp, settingsStorageSchema, shouldChunkMessage, shouldRefreshTools, stampTopicsExtractedAtOp, startGithubAuth, startNotionAuth, storeCalendarPendingMessage, storeCalendarReturnUrl, storeCalendarToken, storeDrivePendingMessage, storeDriveReturnUrl, storeDriveToken, storeGithubPendingMessage, storeGithubReturnUrl, storeGithubToken, storeNotionPendingMessage, storeNotionReturnUrl, streamCancelPath, streamReplayPath, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, traverseGraphLane, ttlForType, updateAttrs, updateConversationProjectOp, updateMediaMessageIdBatchOp, updateMediaOp, updateMessageFeedbackOp, updateProjectNameOp, updateProjectOp, updateSavedToolOp, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, useAnumaTheme, useBackup, useBackupAuth, useChat, useChatStorage, useCredits, useDatabaseManager, useDropboxAuth, useDropboxBackup, useEncryption, useExportPdf, useFiles, useGoogleDriveAuth, useGoogleDriveBackup, useICloudAuth, useICloudBackup, useModels, useOCR, usePdf, usePhoneCalls, useProjects, useSettings, useSubscription, useTools, useUIInteraction, useVoice, useWalletBinding, userPreferencesStorageSchema, verifyMemoriesForPublish, walk, webPlatformStorage, writeEncryptedFile };
15601
+ export { Anuma, type AnumaChild, AnumaJsxError, type AnumaNode, AnumaShadowIsolationProvider, type AnumaShadowIsolationProviderProps, type AnumaTheme, AnumaThemeProvider, type AnumaThemeProviderProps, AppFile as AppFileModel, type AppFileOperationsContext, type AttrValue, type AutoExtractMessage, type AutoExtractor, DEFAULT_CONVERSATIONS_FOLDER as BACKUP_DRIVE_CONVERSATIONS_FOLDER, DEFAULT_ROOT_FOLDER as BACKUP_DRIVE_ROOT_FOLDER, DEFAULT_BACKUP_FOLDER as BACKUP_ICLOUD_FOLDER, BUILT_IN_TOOL_SETS, type BackupAuthContextValue, BackupAuthProvider, type BackupAuthProviderProps, type BackupOperationOptions, BlobUrlManager, type Budget, CHUNKS_DISCARDED_ORIGIN, type CachedChunkVectors, type CachedServerTools, ChartCard, type ChartCardProps, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChatStorageAdapter, type ChatStorageObservable, type ChunkSearchResult, type ChunkVectorCache, type ChunkingOptions, type CircleProps, type ClientToolsFilterFn, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type ConversationQueryOptions, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateEntityOptions, type CreateMediaOptions, type CreateMessageOptions, type CreateModelPreferenceOptions, type CreateProjectOptions, type CreateSavedToolOptions, type CreateServerToolsFilterOptions, type CreateUserPreferenceOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_BACKUP_FOLDER$1 as DEFAULT_BACKUP_FOLDER, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_CONVERSATIONS_FOLDER as DEFAULT_DRIVE_CONVERSATIONS_FOLDER, DEFAULT_ROOT_FOLDER as DEFAULT_DRIVE_ROOT_FOLDER, DEFAULT_BACKUP_FOLDER$1 as DEFAULT_DROPBOX_FOLDER, DEFAULT_EXCLUDED_SERVER_TOOLS, DEFAULT_BACKUP_FOLDER as DEFAULT_ICLOUD_BACKUP_FOLDER, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PERSONALITY_SETTINGS, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_SERVER_TOOLS_MATCH_OPTIONS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, type DeckProps, type DisplayToolMigrations, type DropboxAuthContextValue, DropboxAuthProvider, type DropboxAuthProviderProps, type DropboxExportResult, type DropboxImportResult, ENTITY_FANOUT, ENTITY_KINDS, type EmbeddedWalletSignerFn, EncryptionKeyMissingError, type EncryptionKeyVersion, type EntityInput, type EntityKind, Entity as EntityModel, type EntityOperationsContext, ExcelProcessor, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, FILE_PLACEHOLDER_PREFIX, FILE_PLACEHOLDER_REGEX, type FactType, type FileMetadata, type FileProcessor, type FileTypeQuery, type FileWithData, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GoogleDriveAuthContextValue, GoogleDriveAuthProvider, type GoogleDriveAuthProviderProps, type GoogleDriveExportResult, type GoogleDriveImportResult, type GraphTraversalOptions, type GroupProps, HARD_DELETE_WINDOW_MS, type ICloudAuthContextValue, ICloudAuthProvider, type ICloudAuthProviderProps, type ICloudExportResult, type ICloudImportResult, INFERENCE_ID_HEADER, type IconProps, type ImageProps, type InjectionClassifierOptions, type InjectionReason, type InteractionType, type KnownTag, type LazyStoredConversation, type LineProps, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, type MediaDimensions, type MediaFilterOptions, type MediaMetadata, type MediaOperationsContext, type MediaRole, type MediaType, type MemoriesNeedingTopicExtraction, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, MemoryEntity as MemoryEntityModel, type MemoryExtractedEvent, type MemoryKind, type MemoryQuarantinedEvent, type MemoryToVerify, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MemoryVerification, type MessageChunk, type MessageFeedback, type MessageOrigin, type MessageSkeleton, type ModelLoadProgress, NEVER_TTL_MS, NODE_BUDGET, type NeighborRefiner, type NowSource, type OCRFile, type ObservationTrend, type ObservationTrendInput, type OperationExecutor, PAST_EVENT_GRACE_MS, PROFILE_DOC_VERSION, type ParsedServerToolsResponse, type PdfExportOptions, type PdfExportProgress, type PdfExportStage, type PdfFile, PdfProcessor, type PendingInteraction, type PersonalitySettings, type PersonalitySliders, type PersonalityStyle, type PhoneCallPollingOptions, type PhotoIngestResult, type PhotoMediaRef, type PlatformStorage, type PortalLlmAuth, type PortalLlmFailure, type PortalLlmFailureReason, type PreprocessingOptions, type PreprocessingResult, type ProcessedFileResult, ProcessorRegistry, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type ProfileUpdate, type ProgressCallback, Project, type ProjectOperationsContext, type PromptPreProcessor, type PromptPreProcessorContext, type ProviderAuthState, type ProviderBackupState, ProviderStreamError, type PublishedPhotoMemory, type QuantizedEmbedding, type QuarantinedMemoryInfo, type QueueEncryptionContext, QueueManager, type QueueStatus, type QueuedOperation, type QueuedOperationType, R2_DEFAULT_TTL_MS, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankableVaultMemory, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallOptions, type RecallResult, type RecallToolCallbacks, type RecallToolOptions, type RecencyOptions, type RectProps, type ReflectOptions, type ReflectResult, type RequestEncryptionKeyOptions, RerankerUnavailableError, type ResumeStreamOptions, type ResumeStreamResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SERVER_TOOL_DEPENDENCY_SETS, SHORT_TTL_MS, SLIDER_CONFIG, SLIDES_FILE_PATH, SLIDE_CANVAS_HEIGHT, SLIDE_CANVAS_WIDTH, STREAM_RESUMABLE_HEADER, SavedTool as SavedToolModel, type SavedToolOperationsContext, type SavedToolParameter, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenProps, type ScreenResult, type ScreenedCandidate, type SearchMessagesOptions, type SearchSource, type SelectServerToolsForPromptOptions, type SendMessageWithStorageArgs, type SendMessageWithStorageResult, type ServerTool, type ServerToolsFilter, type ServerToolsFilterFn, type ServerToolsFilterFunction, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type SignMessageOptions, type SlideProps, type StepFinishEvent, type StockPriceClassification, type StockPricePreProcessorOptions, type StorageOperationsContext, type StoredAppFile, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredEntity, type StoredFileWithContext, type StoredMedia, Media as StoredMediaModel, type StoredMessage, type StoredMessageWithSimilarity, type StoredModelPreference, ModelPreference as StoredModelPreferenceModel, type StoredProject, type StoredSavedTool, type StoredTopic, type StoredUserPreference, UserPreference as StoredUserPreferenceModel, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type SynthesizeProfileOptions, THEME_ATTRS, TOOL_RESULT_ORIGIN, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, TextProcessor, type TextProps, type ThemeAttr, type ToolCallArgumentsDeltaEvent, type ToolMatchOptions, type ToolMatchResult, type ToolSet, type TopicExtractOptions, type TopicExtractionInput, type TopicExtractionRunResult, type TopicSkipReason, type TopicSource, type TranscriptionResult, type TurnCompleteEvent, type TurnSkippedEvent, type UIInteractionContextValue, UIInteractionProvider, type UIInteractionProviderProps, type UncheckedReason, type UnverifiableReason, type UpdateMediaOptions, type UpdateModelPreferenceOptions, type UpdateProjectOptions, type UpdateSavedToolOptions, type UpdateUserPreferenceOptions, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseBackupOptions, type UseBackupResult, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseDropboxBackupOptions, type UseDropboxBackupResult, type UseEncryptionResult, type UseExportPdfResult, type UseFilesOptions, type UseFilesResult, type UseGoogleDriveBackupOptions, type UseGoogleDriveBackupResult, type UseICloudBackupOptions, type UseICloudBackupResult, type UseModelsResult, type UseOCRResult, type UsePdfResult, type UsePhoneCallsOptions, type UsePhoneCallsResult, type UseProjectsOptions, type UseProjectsResult, type UseSettingsOptions, type UseSettingsResult, type UseSubscriptionOptions, type UseSubscriptionResult, type UseToolsOptions, type UseToolsResult, type UseVoiceOptions, type UseVoiceResult, type UseWalletBindingOptions, type UseWalletBindingResult, VAULT_SIZE_HOP_CAP, type VaultCandidateKey, type VaultEmbeddingCache, type VaultFolderOperationsContext, type VaultMemoryOperationsContext, type VaultMemoryVisibility, type VaultSaveOperation, type VaultSearchResult, type VerificationSources, type VerifyMemoriesForPublishOptions, type VoiceRecording, WalletPoller, WatermelonChatStorageAdapter, type WatermelonChatStorageAdapterOptions, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, type WhisperModel, WordProcessor, ZipProcessor, type ZipProcessorOptions, addConversationMemoriesOp, appFileToStored, archiveVaultMemoryOp, backfillMemoryEntityUserIdsOp, backfillMemoryTopicsOp, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearAllKeyPairs, clearCalendarToken, clearConversationMemoriesOp, clearDriveToken, clearToken as clearDropboxToken, clearEncryptionKey, clearGithubToken, clearGoogleDriveToken, clearICloudAuth, clearKeyPair, clearLazyTitleCache, clearMemoryTopicsOverrideOp, clearNotionToken, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createGitHubTools, createLlmDecayClassifier, createLlmNeighborRefiner, createMediaBatchOp, createMediaOp, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createMessageSourceResolver, createPlatformCursorStore, createProjectOp, createRecallTool, createSavedToolOp, createServerToolsFilter, createStockPricePreProcessor, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decodeChunkVector, decryptConversationTitle, decryptData, decryptDataBatch, decryptDataBytes, decryptDataBytesFromBytes, decryptDataWithKey, defaultServerToolsFilter, deleteAllAppFilesOp, deleteAllVaultMemoriesForUserOp, deleteAppFileOp, deleteEncryptedFile, deleteMediaByConversationOp, deleteMediaByMessageOp, deleteMediaOp, deleteProjectOp, deleteSavedToolOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, eagerEmbedContent, embedAllMessages, embedMessage, encodeChunkVector, encryptData, encryptDataBatch, encryptDataBytes, encryptDataWithKey, ensureDefaultFoldersOp, expandToolSetsAdditive, exportElementToPdf, exportMarkdownToPdf, exportPublicKey, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, extractFileIds, fileExists, findById, findMatchingTools, findParentOfId, generateConversationId, generateEmbedding, generateEmbeddings, generateMediaId, generateProjectId, getAIGeneratedMediaOp, getAllSavedToolsOp, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getAndClearCalendarPendingMessage, getAndClearCalendarReturnUrl, getAndClearDrivePendingMessage, getAndClearDriveReturnUrl, getAndClearGithubPendingMessage, getAndClearGithubReturnUrl, getAndClearNotionPendingMessage, getAndClearNotionReturnUrl, getAppFileMapOp, getAppFileOp, getAppFilesOp, getAudioOp, getCachedServerTools, getCalendarAccessToken, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsByProjectOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getDocumentsOp, getDriveAccessToken, getEncryptionKey, getEntitiesByMemoryIdsOp, getGithubAccessToken, getGoogleDriveStoredToken, getId, getImagesOp, getLogger, getMediaByConversationOp, getMediaByIdOp, getMediaByIdsOp, getMediaByMessageOp, getMediaByModelOp, getMediaByRoleOp, getMediaBySourceUrlOp, getMediaByTypeOp, getMediaCountOp, getMediaCountsByTypeOp, getMediaOp, getMediaTypeFromMime, getMemoriesByEntityNamesOp, getMemoriesNeedingTopicExtractionOp, getNotionAccessToken, getNotionMCPUrl, getNumberAttr, getProjectConversationCountOp, getProjectConversationsOp, getProjectOp, getProjectsOp, getRecentMediaOp, getSavedToolByIdOp, getServerTools, getStringAttr, getSupportedFileTypes, getToolsChecksum, getUnfiledVaultMemoriesOp, getUserUploadedMediaOp, getValidCalendarToken, getValidDriveToken, getValidGithubToken, getValidNotionToken, getVaultCandidateKeysOp, getVaultEmbeddingsByIdsOp, getVaultFolderMemoryCountOp, getVaultMemoriesByIdsOp, getVaultMemoryOp, getVaultRankingProjectionsOp, getVideosOp, handleCalendarCallback, handleDriveCallback, handleGithubCallback, handleNotionCallback, hardDeleteDecayedOp, hardDeleteMediaOp, hasCalendarCredentials, hasDriveCredentials, hasDropboxCredentials, hasEncryptionKey, hasGithubCredentials, hasGoogleDriveCredentials, hasICloudCredentials, hasKeyPair, hasNotionCredentials, ingestPublishedPhotoMemoriesOp, injectionSignatureCatalog, insertAfterId, insertChild, isAnumaTag, isCalendarCallback, isDegradedTopicSkip, isDriveCallback, isGithubCallback, isHtmlTag, isNotionCallback, isOPFSSupported, isR2UrlExpired, isRerankerAvailable, isSupportedFile, isSupportedMediaType, linkMemoryEntitiesOp, mediaToStored, migrateCalendarToken, migrateDisplayResult, migrateDriveToken, migrateGithubToken, migrateNotionClientRegistration, migrateNotionToken, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, parseJsx, parseMedia, preEmbedVaultMemories, preprocessFiles, previewToolSelection, projectToStored, putAppFileOp, quantizeEmbedding, queueManager, rankProfileCandidates, readEncryptedFile, recall, reflect, refreshCalendarToken, refreshDriveToken, refreshEncryptionKeyIfMatches, refreshGithubToken, refreshNotionToken, relinkMemoryTopicsOp, relinkMisclassifiedVideosOp, removeById, renderAnumaJsx, renderAnumaTree, renderElementToCanvas, replaceById, replaceMemoryEntitiesGuardedOp, requestEncryptionKey, requestKeyPair, resolveFilePlaceholders, resolveThemeColor, restoreVaultMemoryOp, resumeStream, retain, revokeCalendarToken, revokeDriveToken, revokeGithubToken, revokeNotionAccess, savedToolToStored, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchChunksOp, searchMediaOp, searchMessagesOp, searchVaultMemories, seedEncryptionKeys, selectServerToolsForPrompt, serializeJsx, setLogger, setMemoryEntitiesOp, setMemoryVisibilityOp, settingsStorageSchema, shouldChunkMessage, shouldRefreshTools, stampTopicsExtractedAtOp, startGithubAuth, startNotionAuth, storeCalendarPendingMessage, storeCalendarReturnUrl, storeCalendarToken, storeDrivePendingMessage, storeDriveReturnUrl, storeDriveToken, storeGithubPendingMessage, storeGithubReturnUrl, storeGithubToken, storeNotionPendingMessage, storeNotionReturnUrl, streamCancelPath, streamReplayPath, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, traverseGraphLane, ttlForType, updateAttrs, updateConversationProjectOp, updateMediaMessageIdBatchOp, updateMediaOp, updateMessageFeedbackOp, updateProjectNameOp, updateProjectOp, updateSavedToolOp, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, useAnumaTheme, useBackup, useBackupAuth, useChat, useChatStorage, useCredits, useDatabaseManager, useDropboxAuth, useDropboxBackup, useEncryption, useExportPdf, useFiles, useGoogleDriveAuth, useGoogleDriveBackup, useICloudAuth, useICloudBackup, useModels, useOCR, usePdf, usePhoneCalls, useProjects, useSettings, useSubscription, useTools, useUIInteraction, useVoice, useWalletBinding, userPreferencesStorageSchema, verifyMemoriesForPublish, walk, webPlatformStorage, writeEncryptedFile };