@anuma/sdk 3.9.6 → 3.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.
@@ -2037,6 +2037,19 @@ async function decryptVaultMemoryFields(memory, address, signMessage, embeddedWa
2037
2037
  }
2038
2038
 
2039
2039
  // src/lib/db/memoryVault/operations.ts
2040
+ function visibilityOrPrivate(value) {
2041
+ return value === "public" ? value : "private";
2042
+ }
2043
+ var NON_PRIVATE_VISIBILITIES = ["public"];
2044
+ function visibilityConditions(requested) {
2045
+ if (!requested?.length) return [];
2046
+ if (!requested.includes("private")) {
2047
+ return [Q3.where("visibility", Q3.oneOf([...requested]))];
2048
+ }
2049
+ const excluded = NON_PRIVATE_VISIBILITIES.filter((v) => !requested.includes(v));
2050
+ if (excluded.length === 0) return [];
2051
+ return [Q3.or(Q3.where("visibility", null), Q3.where("visibility", Q3.notIn(excluded)))];
2052
+ }
2040
2053
  function isOwnedByCtxUser(ctx, record) {
2041
2054
  return ctx.userId === void 0 || record.userId === ctx.userId;
2042
2055
  }
@@ -2098,6 +2111,10 @@ function vaultMemoryToStoredRaw(memory) {
2098
2111
  factType: memory.factType ?? null,
2099
2112
  archivedAt: memory.archivedAt ?? null,
2100
2113
  trustTier: memory.trustTier ?? null,
2114
+ visibility: visibilityOrPrivate(memory.visibility),
2115
+ twinOptIn: memory.twinOptIn ?? false,
2116
+ publishedAt: memory.publishedAt ?? null,
2117
+ geohash: memory.geohash ?? null,
2101
2118
  createdAt: memory.createdAt,
2102
2119
  updatedAt: memory.updatedAt,
2103
2120
  isDeleted: memory.isDeleted
@@ -2145,6 +2162,14 @@ async function createVaultMemoryOp(ctx, opts) {
2145
2162
  if (opts.trustTier !== void 0) {
2146
2163
  record._setRaw("trust_tier", normalizeTrustTier(opts.trustTier));
2147
2164
  }
2165
+ record._setRaw("visibility", opts.visibility ?? "private");
2166
+ record._setRaw(
2167
+ "published_at",
2168
+ opts.visibility && opts.visibility !== "private" ? opts.publishedAt ?? Date.now() : null
2169
+ );
2170
+ if (opts.geohash !== void 0) {
2171
+ record._setRaw("geohash", opts.geohash);
2172
+ }
2148
2173
  });
2149
2174
  });
2150
2175
  return vaultMemoryToStored(created, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
@@ -2291,6 +2316,14 @@ async function createVaultMemoriesBatchOp(ctx, optionsArray) {
2291
2316
  if (opts.trustTier !== void 0) {
2292
2317
  record._setRaw("trust_tier", normalizeTrustTier(opts.trustTier));
2293
2318
  }
2319
+ record._setRaw("visibility", opts.visibility ?? "private");
2320
+ record._setRaw(
2321
+ "published_at",
2322
+ opts.visibility && opts.visibility !== "private" ? opts.publishedAt ?? Date.now() : null
2323
+ );
2324
+ if (opts.geohash !== void 0) {
2325
+ record._setRaw("geohash", opts.geohash);
2326
+ }
2294
2327
  })
2295
2328
  );
2296
2329
  await ctx.database.batch(...prepared);
@@ -2354,6 +2387,10 @@ function vaultMemoryRawToStoredRaw(raw) {
2354
2387
  factType: raw.fact_type ?? null,
2355
2388
  archivedAt: raw.archived_at ?? null,
2356
2389
  trustTier: raw.trust_tier ?? null,
2390
+ visibility: visibilityOrPrivate(raw.visibility),
2391
+ twinOptIn: raw.twin_opt_in === true || raw.twin_opt_in === 1,
2392
+ publishedAt: raw.published_at ?? null,
2393
+ geohash: raw.geohash ?? null,
2357
2394
  createdAt: new Date(raw.created_at),
2358
2395
  updatedAt: new Date(raw.updated_at),
2359
2396
  isDeleted: raw.is_deleted === true || raw.is_deleted === 1
@@ -2370,6 +2407,7 @@ async function getAllVaultMemoriesOp(ctx, options) {
2370
2407
  const conditions = [
2371
2408
  ...baseVaultConditions(ctx, options),
2372
2409
  ...options?.scopes?.length ? [Q3.where("scope", Q3.oneOf(options.scopes))] : [],
2410
+ ...visibilityConditions(options?.visibility),
2373
2411
  ...options?.folderId !== void 0 ? [Q3.where("folder_id", options.folderId)] : [],
2374
2412
  ...options?.factTypes?.length ? [Q3.where("fact_type", Q3.oneOf(options.factTypes))] : [],
2375
2413
  Q3.sortBy(options?.since ? "updated_at" : "created_at", Q3.desc),
@@ -2583,6 +2621,38 @@ async function updateVaultMemoryOp(ctx, id, opts) {
2583
2621
  return null;
2584
2622
  }
2585
2623
  }
2624
+ async function setMemoryVisibilityOp(ctx, id, opts) {
2625
+ let record;
2626
+ try {
2627
+ record = await ctx.vaultMemoryCollection.find(id);
2628
+ } catch {
2629
+ return null;
2630
+ }
2631
+ if (record.isDeleted || !isOwnedByCtxUser(ctx, record)) return null;
2632
+ let stale = false;
2633
+ await ctx.database.write(async () => {
2634
+ if (record.isDeleted || !isOwnedByCtxUser(ctx, record)) {
2635
+ stale = true;
2636
+ return;
2637
+ }
2638
+ const currentUpdatedAt = record.updatedAt.getTime();
2639
+ const currentPublishedAt = record.publishedAt ?? null;
2640
+ await record.update((r) => {
2641
+ r._setRaw("visibility", opts.visibility);
2642
+ if (opts.visibility === "private") {
2643
+ r._setRaw("published_at", null);
2644
+ } else if (currentPublishedAt === null) {
2645
+ r._setRaw("published_at", Date.now());
2646
+ }
2647
+ if (opts.twinOptIn !== void 0) {
2648
+ r._setRaw("twin_opt_in", opts.twinOptIn);
2649
+ }
2650
+ r._setRaw("updated_at", currentUpdatedAt);
2651
+ });
2652
+ });
2653
+ if (stale) return null;
2654
+ return vaultMemoryToStored(record, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
2655
+ }
2586
2656
  async function deleteVaultMemoryOp(ctx, id) {
2587
2657
  try {
2588
2658
  const record = await ctx.vaultMemoryCollection.find(id);
@@ -5658,7 +5728,7 @@ function createMemoryVaultSearchTool(vaultCtx, embeddingOptions, cache, searchOp
5658
5728
  legacy.map((r) => ({ id: r.uniqueId, content: r.content, score: r.similarity }))
5659
5729
  );
5660
5730
  }
5661
- const { recall: recall2 } = await import("./recall-JA6SOQRR.mjs");
5731
+ const { recall: recall2 } = await import("./recall-34WI57Z7.mjs");
5662
5732
  const result = await recall2(
5663
5733
  query,
5664
5734
  { vaultCtx, embeddingOptions, vaultCache: cache },
@@ -6640,6 +6710,7 @@ export {
6640
6710
  getAllVaultMemoriesOp,
6641
6711
  getAllVaultMemoryContentsOp,
6642
6712
  updateVaultMemoryOp,
6713
+ setMemoryVisibilityOp,
6643
6714
  deleteVaultMemoryOp,
6644
6715
  supersedeVaultMemoryOp,
6645
6716
  getUnfiledVaultMemoriesOp,
@@ -4279,6 +4279,18 @@ var init_encryption2 = __esm({
4279
4279
  });
4280
4280
 
4281
4281
  // src/lib/db/memoryVault/operations.ts
4282
+ function visibilityOrPrivate(value) {
4283
+ return value === "public" ? value : "private";
4284
+ }
4285
+ function visibilityConditions(requested) {
4286
+ if (!requested?.length) return [];
4287
+ if (!requested.includes("private")) {
4288
+ return [import_watermelondb9.Q.where("visibility", import_watermelondb9.Q.oneOf([...requested]))];
4289
+ }
4290
+ const excluded = NON_PRIVATE_VISIBILITIES.filter((v) => !requested.includes(v));
4291
+ if (excluded.length === 0) return [];
4292
+ return [import_watermelondb9.Q.or(import_watermelondb9.Q.where("visibility", null), import_watermelondb9.Q.where("visibility", import_watermelondb9.Q.notIn(excluded)))];
4293
+ }
4282
4294
  function isOwnedByCtxUser(ctx, record) {
4283
4295
  return ctx.userId === void 0 || record.userId === ctx.userId;
4284
4296
  }
@@ -4339,6 +4351,10 @@ function vaultMemoryToStoredRaw(memory) {
4339
4351
  factType: memory.factType ?? null,
4340
4352
  archivedAt: memory.archivedAt ?? null,
4341
4353
  trustTier: memory.trustTier ?? null,
4354
+ visibility: visibilityOrPrivate(memory.visibility),
4355
+ twinOptIn: memory.twinOptIn ?? false,
4356
+ publishedAt: memory.publishedAt ?? null,
4357
+ geohash: memory.geohash ?? null,
4342
4358
  createdAt: memory.createdAt,
4343
4359
  updatedAt: memory.updatedAt,
4344
4360
  isDeleted: memory.isDeleted
@@ -4386,6 +4402,14 @@ async function createVaultMemoryOp(ctx, opts) {
4386
4402
  if (opts.trustTier !== void 0) {
4387
4403
  record._setRaw("trust_tier", normalizeTrustTier(opts.trustTier));
4388
4404
  }
4405
+ record._setRaw("visibility", opts.visibility ?? "private");
4406
+ record._setRaw(
4407
+ "published_at",
4408
+ opts.visibility && opts.visibility !== "private" ? opts.publishedAt ?? Date.now() : null
4409
+ );
4410
+ if (opts.geohash !== void 0) {
4411
+ record._setRaw("geohash", opts.geohash);
4412
+ }
4389
4413
  });
4390
4414
  });
4391
4415
  return vaultMemoryToStored(created, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
@@ -4532,6 +4556,14 @@ async function createVaultMemoriesBatchOp(ctx, optionsArray) {
4532
4556
  if (opts.trustTier !== void 0) {
4533
4557
  record._setRaw("trust_tier", normalizeTrustTier(opts.trustTier));
4534
4558
  }
4559
+ record._setRaw("visibility", opts.visibility ?? "private");
4560
+ record._setRaw(
4561
+ "published_at",
4562
+ opts.visibility && opts.visibility !== "private" ? opts.publishedAt ?? Date.now() : null
4563
+ );
4564
+ if (opts.geohash !== void 0) {
4565
+ record._setRaw("geohash", opts.geohash);
4566
+ }
4535
4567
  })
4536
4568
  );
4537
4569
  await ctx.database.batch(...prepared);
@@ -4595,6 +4627,10 @@ function vaultMemoryRawToStoredRaw(raw) {
4595
4627
  factType: raw.fact_type ?? null,
4596
4628
  archivedAt: raw.archived_at ?? null,
4597
4629
  trustTier: raw.trust_tier ?? null,
4630
+ visibility: visibilityOrPrivate(raw.visibility),
4631
+ twinOptIn: raw.twin_opt_in === true || raw.twin_opt_in === 1,
4632
+ publishedAt: raw.published_at ?? null,
4633
+ geohash: raw.geohash ?? null,
4598
4634
  createdAt: new Date(raw.created_at),
4599
4635
  updatedAt: new Date(raw.updated_at),
4600
4636
  isDeleted: raw.is_deleted === true || raw.is_deleted === 1
@@ -4611,6 +4647,7 @@ async function getAllVaultMemoriesOp(ctx, options) {
4611
4647
  const conditions = [
4612
4648
  ...baseVaultConditions(ctx, options),
4613
4649
  ...options?.scopes?.length ? [import_watermelondb9.Q.where("scope", import_watermelondb9.Q.oneOf(options.scopes))] : [],
4650
+ ...visibilityConditions(options?.visibility),
4614
4651
  ...options?.folderId !== void 0 ? [import_watermelondb9.Q.where("folder_id", options.folderId)] : [],
4615
4652
  ...options?.factTypes?.length ? [import_watermelondb9.Q.where("fact_type", import_watermelondb9.Q.oneOf(options.factTypes))] : [],
4616
4653
  import_watermelondb9.Q.sortBy(options?.since ? "updated_at" : "created_at", import_watermelondb9.Q.desc),
@@ -4824,6 +4861,38 @@ async function updateVaultMemoryOp(ctx, id, opts) {
4824
4861
  return null;
4825
4862
  }
4826
4863
  }
4864
+ async function setMemoryVisibilityOp(ctx, id, opts) {
4865
+ let record;
4866
+ try {
4867
+ record = await ctx.vaultMemoryCollection.find(id);
4868
+ } catch {
4869
+ return null;
4870
+ }
4871
+ if (record.isDeleted || !isOwnedByCtxUser(ctx, record)) return null;
4872
+ let stale = false;
4873
+ await ctx.database.write(async () => {
4874
+ if (record.isDeleted || !isOwnedByCtxUser(ctx, record)) {
4875
+ stale = true;
4876
+ return;
4877
+ }
4878
+ const currentUpdatedAt = record.updatedAt.getTime();
4879
+ const currentPublishedAt = record.publishedAt ?? null;
4880
+ await record.update((r) => {
4881
+ r._setRaw("visibility", opts.visibility);
4882
+ if (opts.visibility === "private") {
4883
+ r._setRaw("published_at", null);
4884
+ } else if (currentPublishedAt === null) {
4885
+ r._setRaw("published_at", Date.now());
4886
+ }
4887
+ if (opts.twinOptIn !== void 0) {
4888
+ r._setRaw("twin_opt_in", opts.twinOptIn);
4889
+ }
4890
+ r._setRaw("updated_at", currentUpdatedAt);
4891
+ });
4892
+ });
4893
+ if (stale) return null;
4894
+ return vaultMemoryToStored(record, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
4895
+ }
4827
4896
  async function deleteVaultMemoryOp(ctx, id) {
4828
4897
  try {
4829
4898
  const record = await ctx.vaultMemoryCollection.find(id);
@@ -5113,7 +5182,7 @@ async function updateVaultMemoryEmbeddingOp(ctx, id, embedding, embeddingModel)
5113
5182
  return false;
5114
5183
  }
5115
5184
  }
5116
- var import_watermelondb9, KNOWN_TRUST_TIERS, TOPICS_EXTRACTION_VERSION;
5185
+ var import_watermelondb9, NON_PRIVATE_VISIBILITIES, KNOWN_TRUST_TIERS, TOPICS_EXTRACTION_VERSION;
5117
5186
  var init_operations3 = __esm({
5118
5187
  "src/lib/db/memoryVault/operations.ts"() {
5119
5188
  "use strict";
@@ -5121,6 +5190,7 @@ var init_operations3 = __esm({
5121
5190
  init_logger();
5122
5191
  init_operations2();
5123
5192
  init_encryption2();
5193
+ NON_PRIVATE_VISIBILITIES = ["public"];
5124
5194
  KNOWN_TRUST_TIERS = /* @__PURE__ */ new Set(["quarantined", "trusted"]);
5125
5195
  TOPICS_EXTRACTION_VERSION = 3;
5126
5196
  }
@@ -8188,6 +8258,7 @@ __export(index_exports, {
8188
8258
  sdkSchema: () => sdkSchema,
8189
8259
  searchVaultMemories: () => searchVaultMemories,
8190
8260
  setLogger: () => setLogger,
8261
+ setMemoryVisibilityOp: () => setMemoryVisibilityOp,
8191
8262
  shouldChunkMessage: () => shouldChunkMessage,
8192
8263
  stampTopicsExtractedAtOp: () => stampTopicsExtractedAtOp,
8193
8264
  streamCancelPath: () => streamCancelPath,
@@ -13708,6 +13779,18 @@ __decorateClass([
13708
13779
  __decorateClass([
13709
13780
  (0, import_decorators3.field)("trust_tier")
13710
13781
  ], VaultMemory.prototype, "trustTier", 2);
13782
+ __decorateClass([
13783
+ (0, import_decorators3.field)("visibility")
13784
+ ], VaultMemory.prototype, "visibility", 2);
13785
+ __decorateClass([
13786
+ (0, import_decorators3.field)("twin_opt_in")
13787
+ ], VaultMemory.prototype, "twinOptIn", 2);
13788
+ __decorateClass([
13789
+ (0, import_decorators3.field)("published_at")
13790
+ ], VaultMemory.prototype, "publishedAt", 2);
13791
+ __decorateClass([
13792
+ (0, import_decorators3.field)("geohash")
13793
+ ], VaultMemory.prototype, "geohash", 2);
13711
13794
  __decorateClass([
13712
13795
  import_decorators3.readonly,
13713
13796
  (0, import_decorators3.date)("created_at")
@@ -15324,18 +15407,16 @@ function createAutoExtractor(options) {
15324
15407
  } catch {
15325
15408
  }
15326
15409
  };
15327
- const consolidateBaseUrl = options.consolidate?.baseUrl ?? options.extract.baseUrl;
15328
- const consolidateOptions = options.consolidate ? {
15329
- ...options.extract.apiKey !== void 0 && { apiKey: options.extract.apiKey },
15330
- ...options.extract.getToken !== void 0 && { getToken: options.extract.getToken },
15331
- ...consolidateBaseUrl !== void 0 && { baseUrl: consolidateBaseUrl },
15332
- ...options.consolidate.model !== void 0 && { model: options.consolidate.model },
15333
- ...options.consolidate.onFallback !== void 0 && {
15334
- onFallback: options.consolidate.onFallback
15335
- }
15336
- // PII redaction is inherited from `extract.piiRedaction` inside
15337
- // extractAndRetain (so direct callers are covered too), not copied here.
15338
- } : void 0;
15410
+ const subPassAuth = (baseUrlOverride) => {
15411
+ const baseUrl = baseUrlOverride ?? options.extract.baseUrl;
15412
+ return {
15413
+ ...options.extract.apiKey !== void 0 && { apiKey: options.extract.apiKey },
15414
+ ...options.extract.getToken !== void 0 && { getToken: options.extract.getToken },
15415
+ ...baseUrl !== void 0 && { baseUrl }
15416
+ };
15417
+ };
15418
+ const consolidateOptions = options.consolidate ? { ...options.consolidate, ...subPassAuth(options.consolidate.baseUrl) } : void 0;
15419
+ const injectionClassifierOptions = options.injectionClassifier ? { ...options.injectionClassifier, ...subPassAuth(options.injectionClassifier.baseUrl) } : void 0;
15339
15420
  if (options.retainCtx.vaultCtx.entityCtx && !options.entityCtx) {
15340
15421
  getLogger().warn(
15341
15422
  "[memory/extract] retainCtx.vaultCtx.entityCtx is set but extractor was created without `entityCtx` \u2014 W5 graph lane will receive no writes"
@@ -15389,6 +15470,9 @@ function createAutoExtractor(options) {
15389
15470
  ...options.scope !== void 0 && { scope: options.scope },
15390
15471
  ...options.folderId !== void 0 && { folderId: options.folderId },
15391
15472
  ...consolidateOptions !== void 0 && { consolidateOptions },
15473
+ ...injectionClassifierOptions !== void 0 && {
15474
+ injectionClassifier: injectionClassifierOptions
15475
+ },
15392
15476
  ...options.onCandidateFailed && {
15393
15477
  onCandidateFailed: (candidate, error) => options.onCandidateFailed?.({ candidate, error, conversationId })
15394
15478
  },
@@ -19894,7 +19978,7 @@ __decorateClass([
19894
19978
  ], VaultFolder.prototype, "context", 2);
19895
19979
 
19896
19980
  // src/lib/db/schema.ts
19897
- var SDK_SCHEMA_VERSION = 40;
19981
+ var SDK_SCHEMA_VERSION = 41;
19898
19982
  var sdkSchema = (0, import_watermelondb19.appSchema)({
19899
19983
  version: SDK_SCHEMA_VERSION,
19900
19984
  tables: [
@@ -20053,7 +20137,26 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
20053
20137
  // Tier-0 security (PR3) — "quarantined" when the write-time injection
20054
20138
  // screen flagged this fact, else null/"trusted". Indexed so the recall
20055
20139
  // choke point can default-exclude quarantined rows.
20056
- { name: "trust_tier", type: "string", isOptional: true, isIndexed: true }
20140
+ { name: "trust_tier", type: "string", isOptional: true, isIndexed: true },
20141
+ // People Nearby cross-user visibility axis — ORTHOGONAL to `scope`
20142
+ // (which partitions by MODEL access: private vs shared providers).
20143
+ // TWO tiers: 'private' (or null, or any unrecognised value —
20144
+ // grandfathered / fail-safe) = local-only; 'public' = embedding +
20145
+ // plaintext may be published (matching/profile/discovery/twin).
20146
+ // The server index is the authority for what IS published; this
20147
+ // column records the user's intent.
20148
+ { name: "visibility", type: "string", isOptional: true, isIndexed: true },
20149
+ // When true, the owner opted this memory into their own digital twin
20150
+ // even if it is otherwise private (twin-scoped upload only — never
20151
+ // indexed for matching, never displayed). Null/false = follows visibility.
20152
+ { name: "twin_opt_in", type: "boolean", isOptional: true },
20153
+ // Unix ms when visibility last became non-private. Null when private
20154
+ // (cleared on revoke) — the publish reconciler uses it to diff local
20155
+ // intent against the server index.
20156
+ { name: "published_at", type: "number", isOptional: true },
20157
+ // Reserved geo slot (coarse geohash) for landmark/Trail memories.
20158
+ // Unused at launch; populated by location-tagged memory sources.
20159
+ { name: "geohash", type: "string", isOptional: true }
20057
20160
  ]
20058
20161
  }),
20059
20162
  // Entity table — canonical names extracted from auto-extraction (W5).
@@ -20728,6 +20831,24 @@ var sdkMigrations = (0, import_migrations2.schemaMigrations)({
20728
20831
  ]
20729
20832
  })
20730
20833
  ]
20834
+ },
20835
+ // v40 -> v41: People Nearby visibility axis on memory_vault. Existing rows
20836
+ // keep visibility NULL — read as 'private' (nothing pre-existing is ever
20837
+ // published without an explicit user action; the consent posture requires
20838
+ // opt-in, never a retroactive default).
20839
+ {
20840
+ toVersion: 41,
20841
+ steps: [
20842
+ (0, import_migrations2.addColumns)({
20843
+ table: "memory_vault",
20844
+ columns: [
20845
+ { name: "visibility", type: "string", isOptional: true, isIndexed: true },
20846
+ { name: "twin_opt_in", type: "boolean", isOptional: true },
20847
+ { name: "published_at", type: "number", isOptional: true },
20848
+ { name: "geohash", type: "string", isOptional: true }
20849
+ ]
20850
+ })
20851
+ ]
20731
20852
  }
20732
20853
  ]
20733
20854
  });
@@ -22222,6 +22343,7 @@ function createNotionTools(getAccessToken, requestNotionAccess) {
22222
22343
  sdkSchema,
22223
22344
  searchVaultMemories,
22224
22345
  setLogger,
22346
+ setMemoryVisibilityOp,
22225
22347
  shouldChunkMessage,
22226
22348
  stampTopicsExtractedAtOp,
22227
22349
  streamCancelPath,
@@ -4484,6 +4484,15 @@ declare class VaultMemory extends Model {
4484
4484
  archivedAt: number | null;
4485
4485
  /** Tier-0 security (PR3) — "quarantined" | "trusted" | null. */
4486
4486
  trustTier: string | null;
4487
+ /** People Nearby visibility: 'private' | 'public'. Null on legacy rows, and
4488
+ * any unrecognised value, read as 'private' — never published without opt-in. */
4489
+ visibility: string | null;
4490
+ /** Owner opted this memory into their own digital twin (twin-scoped only). */
4491
+ twinOptIn: boolean | null;
4492
+ /** Unix ms when visibility last became non-private; null while private. */
4493
+ publishedAt: number | null;
4494
+ /** Reserved coarse-geohash slot for landmark/Trail memories. */
4495
+ geohash: string | null;
4487
4496
  createdAt: Date;
4488
4497
  updatedAt: Date;
4489
4498
  isDeleted: boolean;
@@ -5653,6 +5662,20 @@ declare function extractAndRetain(messages: AutoExtractMessage[], retainCtx: Ret
5653
5662
  quarantined: QuarantinedMemoryInfo[];
5654
5663
  }>;
5655
5664
 
5665
+ /**
5666
+ * People Nearby cross-user visibility. ORTHOGONAL to `scope` (model access):
5667
+ * - `private`: local-only (default; null column grandfathered as private)
5668
+ * - `public`: embedding + plaintext may be published (compatibility matching,
5669
+ * profile display, discovery answers, digital-twin prompts)
5670
+ *
5671
+ * TWO TIERS ONLY (decided 2026-07-27). An earlier design had a middle
5672
+ * `matchable` tier that published a memory's embedding while keeping its text
5673
+ * on-device; it was dropped, so a memory either never leaves the device or is
5674
+ * published with its content. Any unrecognised stored value — including a
5675
+ * `matchable` row written by a pre-release build — reads as `private`, which is
5676
+ * the fail-safe direction: it un-publishes rather than exposes.
5677
+ */
5678
+ type VaultMemoryVisibility = "private" | "public";
5656
5679
  interface StoredVaultMemory {
5657
5680
  /** WatermelonDB internal ID */
5658
5681
  uniqueId: string;
@@ -5711,6 +5734,15 @@ interface StoredVaultMemory {
5711
5734
  archivedAt: number | null;
5712
5735
  /** Tier-0 security (PR3) — "quarantined" | "trusted" | null. */
5713
5736
  trustTier: string | null;
5737
+ /** People Nearby cross-user visibility. Null column reads as "private". */
5738
+ visibility: VaultMemoryVisibility;
5739
+ /** Owner opted this memory into their own digital twin even when otherwise
5740
+ * private (twin-scoped only — never indexed for matching, never displayed). */
5741
+ twinOptIn: boolean;
5742
+ /** Unix ms when visibility last became non-private; null while private. */
5743
+ publishedAt: number | null;
5744
+ /** Reserved coarse-geohash slot for landmark/Trail memories. */
5745
+ geohash: string | null;
5714
5746
  createdAt: Date;
5715
5747
  updatedAt: Date;
5716
5748
  isDeleted: boolean;
@@ -5747,6 +5779,15 @@ interface CreateVaultMemoryOptions {
5747
5779
  /** Tier-0 security (PR3) — set "quarantined" when the injection screen
5748
5780
  * flagged this fact. Omit for the default (null/trusted). */
5749
5781
  trustTier?: string;
5782
+ /** People Nearby cross-user visibility. Defaults to "private" if omitted —
5783
+ * creation NEVER publishes; use {@link setMemoryVisibilityOp} so the
5784
+ * published_at bookkeeping stays consistent. Accepted here only so bulk
5785
+ * restore/import paths can round-trip an existing visibility. */
5786
+ visibility?: VaultMemoryVisibility;
5787
+ /** Round-trip slot for restore/import; see {@link visibility}. */
5788
+ publishedAt?: number | null;
5789
+ /** Coarse geohash for location-tagged memory sources (landmarks/Trail). */
5790
+ geohash?: string;
5750
5791
  }
5751
5792
  interface UpdateVaultMemoryOptions {
5752
5793
  content: string;
@@ -5869,11 +5910,35 @@ declare function getAllVaultMemoriesOp(ctx: VaultMemoryOperationsContext, option
5869
5910
  * Used by a "memory history" view to render retired facts.
5870
5911
  */
5871
5912
  includeSuperseded?: boolean;
5913
+ /**
5914
+ * Filter by People Nearby visibility. Legacy rows with a NULL column
5915
+ * count as "private". Used by the publish reconciler to fetch the
5916
+ * published set to diff against the server index.
5917
+ */
5918
+ visibility?: VaultMemoryVisibility[];
5872
5919
  }): Promise<StoredVaultMemory[]>;
5873
5920
  declare function getAllVaultMemoryContentsOp(ctx: VaultMemoryOperationsContext, options?: {
5874
5921
  since?: Date;
5875
5922
  }): Promise<string[]>;
5876
5923
  declare function updateVaultMemoryOp(ctx: VaultMemoryOperationsContext, id: string, opts: UpdateVaultMemoryOptions): Promise<StoredVaultMemory | null>;
5924
+ /**
5925
+ * Set a memory's People Nearby visibility (and optionally its twin opt-in).
5926
+ *
5927
+ * This is the ONLY sanctioned write path for `visibility` — it keeps the
5928
+ * `published_at` bookkeeping consistent: transitioning to `public`
5929
+ * stamps `published_at` (kept if already set); transitioning to `private`
5930
+ * clears it (revoke). The server index remains the authority for what IS
5931
+ * published — this records the user's intent for the reconciler to act on.
5932
+ *
5933
+ * Preserves `updated_at`: a visibility change is metadata, not a
5934
+ * re-observation, so it must not inflate the recency multiplier (mirrors
5935
+ * {@link setMemoryEntitiesOp}).
5936
+ */
5937
+ declare function setMemoryVisibilityOp(ctx: VaultMemoryOperationsContext, id: string, opts: {
5938
+ visibility: VaultMemoryVisibility;
5939
+ /** If provided, sets the twin opt-in flag alongside the visibility. */
5940
+ twinOptIn?: boolean;
5941
+ }): Promise<StoredVaultMemory | null>;
5877
5942
  declare function deleteVaultMemoryOp(ctx: VaultMemoryOperationsContext, id: string): Promise<boolean>;
5878
5943
  /**
5879
5944
  * Mark a memory as superseded by a newer one (A2 write-time supersession).
@@ -6434,6 +6499,21 @@ interface CreateAutoExtractorOptions {
6434
6499
  */
6435
6500
  onFallback?: (reason: ConsolidationFallbackReason) => void;
6436
6501
  };
6502
+ /**
6503
+ * Tier-0 security (PR5) — enable the optional SECOND-layer LLM injection
6504
+ * classifier over the candidates the deterministic screen passed as clean.
6505
+ * Presence is the switch, so `injectionClassifier: {}` is how a client turns
6506
+ * it on. Auth is NOT configured here — like `consolidate`, the call reuses
6507
+ * the `extract` credentials and defaults to its `baseUrl`. See
6508
+ * `injectionClassifier.ts` for the safety posture and the defaults.
6509
+ */
6510
+ injectionClassifier?: {
6511
+ /** Portal base URL for classifier calls. Default: the `extract` options' `baseUrl`. */
6512
+ baseUrl?: string;
6513
+ model?: string;
6514
+ maxCandidates?: number;
6515
+ totalTimeoutMs?: number;
6516
+ };
6437
6517
  /** Per-fact event — fires once per memory written. */
6438
6518
  onMemoryExtracted?: (event: MemoryExtractedEvent) => void;
6439
6519
  /**
@@ -8319,8 +8399,13 @@ declare function useChatStorage(options: UseChatStorageOptions): UseChatStorageR
8319
8399
  * backfill (null = legacy/untyped, active, un-screened — content is
8320
8400
  * encrypted so in-migration classification is impossible; NULL = zero-risk,
8321
8401
  * exact embedding_model precedent)
8402
+ * - v41: Added visibility, twin_opt_in, published_at, geohash columns to
8403
+ * memory_vault for the People Nearby cross-user visibility axis. Visibility
8404
+ * is TWO-tier (`private | public`); null — and any unrecognised value —
8405
+ * reads as 'private', so nothing pre-existing is ever published without an
8406
+ * explicit visibility write
8322
8407
  */
8323
- declare const SDK_SCHEMA_VERSION = 40;
8408
+ declare const SDK_SCHEMA_VERSION = 41;
8324
8409
  /**
8325
8410
  * Combined WatermelonDB schema for all SDK storage modules.
8326
8411
  *
@@ -8405,6 +8490,7 @@ declare const sdkSchema: Readonly<{
8405
8490
  * - v37 → v38: Added `topics_extracted_version` column to memory_vault (extraction-logic version; null read as 0 so a TOPICS_EXTRACTION_VERSION bump re-extracts stale rows)
8406
8491
  * - v38 → v39: Added `last_observed_at` column to memory_vault (C3 re-observation watermark; stamped on retain merge, distinct from updated_at)
8407
8492
  * - v39 → v40: Added `fact_type`, `archived_at`, `trust_tier` columns to memory_vault for typed memory + decay + Tier-0 security (all nullable + plaintext, NULL backfill)
8493
+ * - v40 → v41: Added `visibility`, `twin_opt_in`, `published_at`, `geohash` columns to memory_vault for the People Nearby cross-user visibility axis (two-tier `private | public`; null/unknown grandfathered as 'private')
8408
8494
  */
8409
8495
  declare const sdkMigrations: Readonly<{
8410
8496
  validated: true;
@@ -8926,4 +9012,4 @@ declare function refreshNotionAccessToken(params: NotionRefreshTokenParams): Pro
8926
9012
  */
8927
9013
  declare function createNotionTools(getAccessToken: () => string | null, requestNotionAccess: () => Promise<string>): ToolConfig[];
8928
9014
 
8929
- export { type AutoExtractMessage, type AutoExtractor, type Budget, type CachedChunkVectors, type CachedServerTools, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChunkVectorCache, type ChunkingOptions, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateMessageOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, ENTITY_FANOUT, type EmbeddedWalletSignerFn, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, type FactType, type FileMetadata, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GraphTraversalOptions, HARD_DELETE_WINDOW_MS, INFERENCE_ID_HEADER, type InjectionClassifierOptions, type InjectionReason, type LazyStoredConversation, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, type MemoriesNeedingTopicExtraction, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, type MemoryExtractedEvent, type MemoryKind, type MemoryQuarantinedEvent, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MessageRedactionResult, type MessageSkeleton, NEVER_TTL_MS, NODE_BUDGET, NOTION_OAUTH_CONFIG, type NeighborRefiner, type NotionAuthUrlParams, type NotionClientRegistration, type NotionExchangeCodeParams, type NotionOAuthEndpoints, type NotionPKCEChallenge, type NotionRefreshTokenParams, type NotionTokenResponse, type NowSource, type ObservationTrend, type ObservationTrendInput, PAST_EVENT_GRACE_MS, PII_PATTERNS, PROFILE_DOC_VERSION, type PiiCategory, type PiiMatch, type PiiPattern, PiiRedactor, type PiiRedactorOptions, type PlatformStorage, type PortalLlmAuth, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type PromptPreProcessor, type PromptPreProcessorContext, type QuantizedEmbedding, type QuarantinedMemoryInfo, QueueManager, type QueueStatus, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallOptions, type RecallResult, type RecallToolCallbacks, type RecallToolOptions, type RecencyOptions, type RedactionResult, type ReflectOptions, type ReflectResult, RerankerUnavailableError, type ResumeStreamOptions, type ResumeStreamResult, type ResumeStreamWithStorageResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SHORT_TTL_MS, STREAM_RESUMABLE_HEADER, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenResult, type ScreenedCandidate, type SearchSource, type SendMessageWithStorageArgs, type SendMessageWithStorageDetachedResult, type SendMessageWithStorageResult, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type StockPriceClassification, type StockPricePreProcessorOptions, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredMessage, type StoredMessageWithSimilarity, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type SynthesizeProfileOptions, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, type TopicExtractOptions, type TopicExtractionInput, type TopicExtractionRunResult, type TurnCompleteEvent, type TurnSkippedEvent, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseModelsOptions, type UseModelsResult, VAULT_SIZE_HOP_CAP, type VaultEmbeddingCache, type VaultFolderOperationsContext, type VaultMemoryOperationsContext, type VaultSaveOperation, type VaultSearchResult, WalletPoller, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, addConversationMemoriesOp, archiveVaultMemoryOp, buildNotionAuthUrl, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearConversationMemoriesOp, clearEncryptionKey, clearLazyTitleCache, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createLlmDecayClassifier, createLlmNeighborRefiner, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createNotionTools, createPlatformCursorStore, createRecallTool, createStockPricePreProcessor, createStreamingDeAnonymizer, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decryptConversationTitle, deleteAllVaultMemoriesForUserOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, discoverNotionOAuthEndpoints, eagerEmbedContent, embedAllMessages, embedMessage, ensureDefaultFoldersOp, exchangeNotionCode, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, generateConversationId, generateEmbedding, generateEmbeddings, generateNotionPKCE, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getCachedServerTools, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getLogger, getMemoriesNeedingTopicExtractionOp, getServerTools, getUnfiledVaultMemoriesOp, getVaultFolderMemoryCountOp, getVaultMemoryOp, hardDeleteDecayedOp, hasEncryptionKey, injectionSignatureCatalog, isPiiRedactor, isRerankerAvailable, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, preEmbedVaultMemories, quantizeEmbedding, queueManager, rankProfileCandidates, recall, reflect, refreshNotionAccessToken, registerNotionClient, requestEncryptionKey, resolvePiiRedactor, restoreVaultMemoryOp, resumeStream, retain, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchVaultMemories, setLogger, shouldChunkMessage, stampTopicsExtractedAtOp, streamCancelPath, streamReplayPath, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, traverseGraphLane, ttlForType, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, upsertMessageOp, useChat, useChatStorage, useCredits, useEncryption, useModels, xhrTransport };
9015
+ export { type AutoExtractMessage, type AutoExtractor, type Budget, type CachedChunkVectors, type CachedServerTools, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChunkVectorCache, type ChunkingOptions, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateMessageOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, ENTITY_FANOUT, type EmbeddedWalletSignerFn, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, type FactType, type FileMetadata, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GraphTraversalOptions, HARD_DELETE_WINDOW_MS, INFERENCE_ID_HEADER, type InjectionClassifierOptions, type InjectionReason, type LazyStoredConversation, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, type MemoriesNeedingTopicExtraction, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, type MemoryExtractedEvent, type MemoryKind, type MemoryQuarantinedEvent, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MessageRedactionResult, type MessageSkeleton, NEVER_TTL_MS, NODE_BUDGET, NOTION_OAUTH_CONFIG, type NeighborRefiner, type NotionAuthUrlParams, type NotionClientRegistration, type NotionExchangeCodeParams, type NotionOAuthEndpoints, type NotionPKCEChallenge, type NotionRefreshTokenParams, type NotionTokenResponse, type NowSource, type ObservationTrend, type ObservationTrendInput, PAST_EVENT_GRACE_MS, PII_PATTERNS, PROFILE_DOC_VERSION, type PiiCategory, type PiiMatch, type PiiPattern, PiiRedactor, type PiiRedactorOptions, type PlatformStorage, type PortalLlmAuth, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type PromptPreProcessor, type PromptPreProcessorContext, type QuantizedEmbedding, type QuarantinedMemoryInfo, QueueManager, type QueueStatus, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallOptions, type RecallResult, type RecallToolCallbacks, type RecallToolOptions, type RecencyOptions, type RedactionResult, type ReflectOptions, type ReflectResult, RerankerUnavailableError, type ResumeStreamOptions, type ResumeStreamResult, type ResumeStreamWithStorageResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SHORT_TTL_MS, STREAM_RESUMABLE_HEADER, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenResult, type ScreenedCandidate, type SearchSource, type SendMessageWithStorageArgs, type SendMessageWithStorageDetachedResult, type SendMessageWithStorageResult, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type StockPriceClassification, type StockPricePreProcessorOptions, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredMessage, type StoredMessageWithSimilarity, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type SynthesizeProfileOptions, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, type TopicExtractOptions, type TopicExtractionInput, type TopicExtractionRunResult, type TurnCompleteEvent, type TurnSkippedEvent, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseModelsOptions, type UseModelsResult, VAULT_SIZE_HOP_CAP, type VaultEmbeddingCache, type VaultFolderOperationsContext, type VaultMemoryOperationsContext, type VaultMemoryVisibility, type VaultSaveOperation, type VaultSearchResult, WalletPoller, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, addConversationMemoriesOp, archiveVaultMemoryOp, buildNotionAuthUrl, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearConversationMemoriesOp, clearEncryptionKey, clearLazyTitleCache, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createLlmDecayClassifier, createLlmNeighborRefiner, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createNotionTools, createPlatformCursorStore, createRecallTool, createStockPricePreProcessor, createStreamingDeAnonymizer, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decryptConversationTitle, deleteAllVaultMemoriesForUserOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, discoverNotionOAuthEndpoints, eagerEmbedContent, embedAllMessages, embedMessage, ensureDefaultFoldersOp, exchangeNotionCode, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, generateConversationId, generateEmbedding, generateEmbeddings, generateNotionPKCE, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getCachedServerTools, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getLogger, getMemoriesNeedingTopicExtractionOp, getServerTools, getUnfiledVaultMemoriesOp, getVaultFolderMemoryCountOp, getVaultMemoryOp, hardDeleteDecayedOp, hasEncryptionKey, injectionSignatureCatalog, isPiiRedactor, isRerankerAvailable, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, preEmbedVaultMemories, quantizeEmbedding, queueManager, rankProfileCandidates, recall, reflect, refreshNotionAccessToken, registerNotionClient, requestEncryptionKey, resolvePiiRedactor, restoreVaultMemoryOp, resumeStream, retain, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchVaultMemories, setLogger, setMemoryVisibilityOp, shouldChunkMessage, stampTopicsExtractedAtOp, streamCancelPath, streamReplayPath, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, traverseGraphLane, ttlForType, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, upsertMessageOp, useChat, useChatStorage, useCredits, useEncryption, useModels, xhrTransport };