@anuma/sdk 9.1.7 → 9.1.9

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.
@@ -12324,7 +12324,7 @@ var require_Query = __commonJS({
12324
12324
  var _subscribeToCount = _interopRequireDefault(require_subscribeToCount());
12325
12325
  var _subscribeToQuery = _interopRequireDefault(require_subscribeToQuery());
12326
12326
  var _subscribeToQueryWithColumns = _interopRequireDefault(require_subscribeToQueryWithColumns());
12327
- var Q12 = _interopRequireWildcard(require_QueryDescription());
12327
+ var Q13 = _interopRequireWildcard(require_QueryDescription());
12328
12328
  var _helpers = require_helpers2();
12329
12329
  var _class;
12330
12330
  var _descriptor;
@@ -12356,8 +12356,8 @@ var require_Query = __commonJS({
12356
12356
  (0, _initializerDefineProperty2.default)(this, "_cachedCountSubscribable", _descriptor2, this);
12357
12357
  (0, _initializerDefineProperty2.default)(this, "_cachedCountThrottledSubscribable", _descriptor3, this);
12358
12358
  this.collection = collection;
12359
- this._rawDescription = Q12.buildQueryDescription(clauses);
12360
- this.description = Q12.queryWithoutDeleted(this._rawDescription);
12359
+ this._rawDescription = Q13.buildQueryDescription(clauses);
12360
+ this.description = Q13.queryWithoutDeleted(this._rawDescription);
12361
12361
  }
12362
12362
  var _proto = Query2.prototype;
12363
12363
  _proto.extend = function(...args) {
@@ -12376,12 +12376,12 @@ var require_Query = __commonJS({
12376
12376
  sql
12377
12377
  } = this._rawDescription;
12378
12378
  (0, _invariant.default)(!sql, "Cannot extend an unsafe SQL query");
12379
- return new Query2(collection, [Q12.experimentalJoinTables(joinTables)].concat((0, _toConsumableArray2.default)(nestedJoinTables.map(function({
12379
+ return new Query2(collection, [Q13.experimentalJoinTables(joinTables)].concat((0, _toConsumableArray2.default)(nestedJoinTables.map(function({
12380
12380
  from,
12381
12381
  to
12382
12382
  }) {
12383
- return Q12.experimentalNestedJoin(from, to);
12384
- })), (0, _toConsumableArray2.default)(where), (0, _toConsumableArray2.default)(sortBy), (0, _toConsumableArray2.default)(take ? [Q12.take(take)] : []), (0, _toConsumableArray2.default)(skip ? [Q12.skip(skip)] : []), (0, _toConsumableArray2.default)(lokiTransform ? [Q12.unsafeLokiTransform(lokiTransform)] : []), (0, _toConsumableArray2.default)(clauses)));
12383
+ return Q13.experimentalNestedJoin(from, to);
12384
+ })), (0, _toConsumableArray2.default)(where), (0, _toConsumableArray2.default)(sortBy), (0, _toConsumableArray2.default)(take ? [Q13.take(take)] : []), (0, _toConsumableArray2.default)(skip ? [Q13.skip(skip)] : []), (0, _toConsumableArray2.default)(lokiTransform ? [Q13.unsafeLokiTransform(lokiTransform)] : []), (0, _toConsumableArray2.default)(clauses)));
12385
12385
  };
12386
12386
  _proto.pipe = function(transform) {
12387
12387
  return transform(this);
@@ -13823,7 +13823,7 @@ var require_helpers5 = __commonJS({
13823
13823
  exports.createTimestampsFor = void 0;
13824
13824
  exports.fetchDescendants = fetchDescendants;
13825
13825
  var _fp = require_fp();
13826
- var Q12 = _interopRequireWildcard(require_QueryDescription());
13826
+ var Q13 = _interopRequireWildcard(require_QueryDescription());
13827
13827
  function _getRequireWildcardCache(e) {
13828
13828
  if ("function" != typeof WeakMap) return null;
13829
13829
  var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
@@ -13861,7 +13861,7 @@ var require_helpers5 = __commonJS({
13861
13861
  });
13862
13862
  var childrenQueries = hasManyAssociations.map(function([key, value]) {
13863
13863
  var childCollection = model.collections.get(key);
13864
- return childCollection.query(Q12.where(value.foreignKey, model.id));
13864
+ return childCollection.query(Q13.where(value.foreignKey, model.id));
13865
13865
  });
13866
13866
  return childrenQueries;
13867
13867
  }
@@ -14242,8 +14242,8 @@ var require_watermelondb = __commonJS({
14242
14242
  var _interopRequireDefault = require_interopRequireDefault();
14243
14243
  exports.__esModule = true;
14244
14244
  exports.tableSchema = exports.tableName = exports.localStorageKey = exports.columnName = exports.associations = exports.appSchema = exports.Relation = exports.Query = exports.Q = exports.Model = exports.Database = exports.Collection = void 0;
14245
- var Q12 = _interopRequireWildcard(require_QueryDescription());
14246
- exports.Q = Q12;
14245
+ var Q13 = _interopRequireWildcard(require_QueryDescription());
14246
+ exports.Q = Q13;
14247
14247
  var _Collection = _interopRequireDefault(require_Collection());
14248
14248
  exports.Collection = _Collection.default;
14249
14249
  var _Database = _interopRequireDefault(require_Database());
@@ -14328,7 +14328,7 @@ var require_children = __commonJS({
14328
14328
  var _makeDecorator = _interopRequireDefault(require_makeDecorator());
14329
14329
  var _logError = _interopRequireDefault(require_logError());
14330
14330
  var _invariant = _interopRequireDefault(require_invariant());
14331
- var Q12 = _interopRequireWildcard(require_QueryDescription());
14331
+ var Q13 = _interopRequireWildcard(require_QueryDescription());
14332
14332
  function _getRequireWildcardCache(e) {
14333
14333
  if ("function" != typeof WeakMap) return null;
14334
14334
  var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
@@ -14362,7 +14362,7 @@ var require_children = __commonJS({
14362
14362
  var childCollection = model.collections.get(childTable);
14363
14363
  var association = model.constructor.associations[childTable];
14364
14364
  (0, _invariant.default)(association && "has_many" === association.type, "@children decorator used for a table that's not has_many");
14365
- var query = childCollection.query(Q12.where(association.foreignKey, model.id));
14365
+ var query = childCollection.query(Q13.where(association.foreignKey, model.id));
14366
14366
  that._childrenQueryCache[childTable] = query;
14367
14367
  return query;
14368
14368
  },
@@ -27237,10 +27237,10 @@ async function getVaultRankingProjectionsOp(ctx, options) {
27237
27237
  function baseVaultSql(ctx, options) {
27238
27238
  const clauses = [
27239
27239
  `"_status" is not 'deleted'`,
27240
- '"is_deleted" = 0',
27240
+ ...options?.includeDeleted ? [] : ['"is_deleted" = 0'],
27241
27241
  ...options?.includeArchived ? [] : ['"archived_at" is null'],
27242
27242
  ...options?.includeQuarantined ? [] : [`"trust_tier" is not 'quarantined'`],
27243
- '"superseded_by" is null'
27243
+ ...options?.includeSuperseded ? [] : ['"superseded_by" is null']
27244
27244
  ];
27245
27245
  const args = [];
27246
27246
  if (ctx.userId !== void 0) {
@@ -27249,6 +27249,38 @@ function baseVaultSql(ctx, options) {
27249
27249
  }
27250
27250
  return { sql: clauses.join(" and "), args };
27251
27251
  }
27252
+ async function getVaultProfileMetadataOp(ctx, options) {
27253
+ const mapRaw = (raw) => ({
27254
+ uniqueId: raw.id,
27255
+ scope: raw.scope ?? "",
27256
+ createdAt: new Date(raw.created_at),
27257
+ updatedAt: new Date(raw.updated_at),
27258
+ lastObservedAt: raw.last_observed_at ?? null,
27259
+ supersededAt: raw.superseded_at ?? null,
27260
+ supersededBy: raw.superseded_by ?? null,
27261
+ isDeleted: raw.is_deleted === true || raw.is_deleted === 1,
27262
+ proofCount: raw.proof_count ?? null
27263
+ });
27264
+ const listOptions = { ...options, includeDeleted: true, includeSuperseded: true };
27265
+ let rows;
27266
+ try {
27267
+ const base = baseVaultSql(ctx, listOptions);
27268
+ const clauses = [base.sql, `"_status" != 'deleted'`];
27269
+ const args = [...base.args];
27270
+ if (options?.scopes?.length) {
27271
+ clauses.push(`"scope" in (${options.scopes.map(() => "?").join(",")})`);
27272
+ args.push(...options.scopes);
27273
+ }
27274
+ const sql = `select "id", "scope", "created_at", "updated_at", "last_observed_at", "superseded_at", "superseded_by", "is_deleted", "proof_count" from "memory_vault" where ${clauses.join(" and ")}`;
27275
+ rows = await ctx.vaultMemoryCollection.query(import_watermelondb19.Q.unsafeSqlQuery(sql, args)).unsafeFetchRaw();
27276
+ } catch (err) {
27277
+ getLogger().debug(
27278
+ "memoryVault: getVaultProfileMetadataOp uses the query fallback: " + (err instanceof Error ? err.message : String(err))
27279
+ );
27280
+ rows = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, listOptions)).unsafeFetchRaw();
27281
+ }
27282
+ return rows.map(mapRaw);
27283
+ }
27252
27284
  async function getVaultCandidateKeysOp(ctx, options) {
27253
27285
  const mapRaw = (raw) => ({
27254
27286
  uniqueId: raw.id,
@@ -28132,6 +28164,9 @@ async function findQuarantinedDuplicateOp(ctx, content, sourceIds, where) {
28132
28164
  return null;
28133
28165
  }
28134
28166
 
28167
+ // src/lib/db/memoryVault/photoIngest.ts
28168
+ var import_watermelondb20 = __toESM(require_watermelondb());
28169
+
28135
28170
  // src/lib/memory/decay.ts
28136
28171
  var DAY_MS = 24 * 60 * 60 * 1e3;
28137
28172
  var SHORT_TTL_MS = 30 * DAY_MS;
@@ -28204,6 +28239,16 @@ function classifyDecay(m, now, policy) {
28204
28239
 
28205
28240
  // src/lib/db/memoryVault/photoIngest.ts
28206
28241
  var PHOTO_MEMORY_ID_PREFIX = "photo:";
28242
+ var PHOTO_ID_QUERY_CHUNK_SIZE = 500;
28243
+ async function getExistingPhotoMemoryIds(ctx, rows) {
28244
+ const existing = /* @__PURE__ */ new Set();
28245
+ for (let i = 0; i < rows.length; i += PHOTO_ID_QUERY_CHUNK_SIZE) {
28246
+ const ids = rows.slice(i, i + PHOTO_ID_QUERY_CHUNK_SIZE).map((row) => row.memoryId);
28247
+ const found = await ctx.vaultMemoryCollection.query(import_watermelondb20.Q.where("id", import_watermelondb20.Q.oneOf(ids))).fetchIds();
28248
+ for (const id of found) existing.add(id);
28249
+ }
28250
+ return existing;
28251
+ }
28207
28252
  async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
28208
28253
  const byId = /* @__PURE__ */ new Map();
28209
28254
  for (const r of rows) {
@@ -28212,7 +28257,7 @@ async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
28212
28257
  }
28213
28258
  const photoRows = [...byId.values()];
28214
28259
  if (photoRows.length === 0) return { inserted: 0, skipped: 0 };
28215
- const known = await ctx.vaultMemoryCollection.query().fetchIds().then((ids) => new Set(ids));
28260
+ const known = await getExistingPhotoMemoryIds(ctx, photoRows);
28216
28261
  const candidates = photoRows.filter((r) => !known.has(r.memoryId));
28217
28262
  if (candidates.length === 0) return { inserted: 0, skipped: photoRows.length };
28218
28263
  const fresh = candidates;
@@ -28232,7 +28277,7 @@ async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
28232
28277
  const now = Date.now();
28233
28278
  let inserted = 0;
28234
28279
  await ctx.database.write(async () => {
28235
- const present = new Set(await ctx.vaultMemoryCollection.query().fetchIds());
28280
+ const present = await getExistingPhotoMemoryIds(ctx, fresh);
28236
28281
  const writable = fresh.map((row, i) => ({ row, content: contents[i] })).filter(({ row }) => !present.has(row.memoryId));
28237
28282
  inserted = writable.length;
28238
28283
  if (writable.length === 0) return;
@@ -28266,7 +28311,7 @@ async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
28266
28311
  }
28267
28312
 
28268
28313
  // src/lib/db/project/operations.ts
28269
- var import_watermelondb20 = __toESM(require_watermelondb());
28314
+ var import_watermelondb21 = __toESM(require_watermelondb());
28270
28315
 
28271
28316
  // src/lib/db/project/types.ts
28272
28317
  function generateProjectId() {
@@ -28297,15 +28342,15 @@ async function createProjectOp(ctx, opts, defaultName = "New Project") {
28297
28342
  return projectToStored(created);
28298
28343
  }
28299
28344
  async function getProjectOp(ctx, id) {
28300
- const results = await ctx.projectsCollection.query(import_watermelondb20.Q.where("project_id", id), import_watermelondb20.Q.where("is_deleted", false)).fetch();
28345
+ const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
28301
28346
  return results.length > 0 ? projectToStored(results[0]) : null;
28302
28347
  }
28303
28348
  async function getProjectsOp(ctx) {
28304
- const results = await ctx.projectsCollection.query(import_watermelondb20.Q.where("is_deleted", false), import_watermelondb20.Q.sortBy("created_at", import_watermelondb20.Q.desc)).fetch();
28349
+ const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("is_deleted", false), import_watermelondb21.Q.sortBy("created_at", import_watermelondb21.Q.desc)).fetch();
28305
28350
  return results.map(projectToStored);
28306
28351
  }
28307
28352
  async function updateProjectNameOp(ctx, id, name) {
28308
- const results = await ctx.projectsCollection.query(import_watermelondb20.Q.where("project_id", id), import_watermelondb20.Q.where("is_deleted", false)).fetch();
28353
+ const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
28309
28354
  if (results.length > 0) {
28310
28355
  await ctx.database.write(async () => {
28311
28356
  await results[0].update((proj) => {
@@ -28317,7 +28362,7 @@ async function updateProjectNameOp(ctx, id, name) {
28317
28362
  return false;
28318
28363
  }
28319
28364
  async function updateProjectOp(ctx, id, opts) {
28320
- const results = await ctx.projectsCollection.query(import_watermelondb20.Q.where("project_id", id), import_watermelondb20.Q.where("is_deleted", false)).fetch();
28365
+ const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
28321
28366
  if (results.length > 0) {
28322
28367
  await ctx.database.write(async () => {
28323
28368
  await results[0].update((proj) => {
@@ -28329,7 +28374,7 @@ async function updateProjectOp(ctx, id, opts) {
28329
28374
  return false;
28330
28375
  }
28331
28376
  async function deleteProjectOp(ctx, id) {
28332
- const results = await ctx.projectsCollection.query(import_watermelondb20.Q.where("project_id", id), import_watermelondb20.Q.where("is_deleted", false)).fetch();
28377
+ const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
28333
28378
  if (results.length > 0) {
28334
28379
  await ctx.database.write(async () => {
28335
28380
  await results[0].update((proj) => {
@@ -28342,14 +28387,14 @@ async function deleteProjectOp(ctx, id) {
28342
28387
  }
28343
28388
  async function getProjectConversationsOp(ctx, projectId) {
28344
28389
  const results = await ctx.conversationsCollection.query(
28345
- import_watermelondb20.Q.where("project_id", projectId),
28346
- import_watermelondb20.Q.where("is_deleted", false),
28347
- import_watermelondb20.Q.sortBy("created_at", import_watermelondb20.Q.desc)
28390
+ import_watermelondb21.Q.where("project_id", projectId),
28391
+ import_watermelondb21.Q.where("is_deleted", false),
28392
+ import_watermelondb21.Q.sortBy("created_at", import_watermelondb21.Q.desc)
28348
28393
  ).fetch();
28349
28394
  return results.map(conversationToStoredRaw);
28350
28395
  }
28351
28396
  async function getProjectConversationCountOp(ctx, projectId) {
28352
- return await ctx.conversationsCollection.query(import_watermelondb20.Q.where("project_id", projectId), import_watermelondb20.Q.where("is_deleted", false)).fetchCount();
28397
+ return await ctx.conversationsCollection.query(import_watermelondb21.Q.where("project_id", projectId), import_watermelondb21.Q.where("is_deleted", false)).fetchCount();
28353
28398
  }
28354
28399
 
28355
28400
  // src/lib/db/queue/manager.ts
@@ -28692,7 +28737,7 @@ var WalletPoller = class {
28692
28737
  };
28693
28738
 
28694
28739
  // src/lib/db/settings/operations.ts
28695
- var import_watermelondb21 = __toESM(require_watermelondb());
28740
+ var import_watermelondb22 = __toESM(require_watermelondb());
28696
28741
  function modelPreferenceToStored(preference) {
28697
28742
  return {
28698
28743
  uniqueId: preference.id,
@@ -28701,12 +28746,12 @@ function modelPreferenceToStored(preference) {
28701
28746
  };
28702
28747
  }
28703
28748
  async function getModelPreferenceOp(ctx, walletAddress) {
28704
- const results = await ctx.modelPreferencesCollection.query(import_watermelondb21.Q.where("wallet_address", walletAddress)).fetch();
28749
+ const results = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28705
28750
  return results.length > 0 ? modelPreferenceToStored(results[0]) : null;
28706
28751
  }
28707
28752
  async function setModelPreferenceOp(ctx, walletAddress, models) {
28708
28753
  const result = await ctx.database.write(async () => {
28709
- const results = await ctx.modelPreferencesCollection.query(import_watermelondb21.Q.where("wallet_address", walletAddress)).fetch();
28754
+ const results = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28710
28755
  if (results.length > 0) {
28711
28756
  const preference = results[0];
28712
28757
  await preference.update((pref) => {
@@ -28724,7 +28769,7 @@ async function setModelPreferenceOp(ctx, walletAddress, models) {
28724
28769
  return modelPreferenceToStored(result);
28725
28770
  }
28726
28771
  async function deleteModelPreferenceOp(ctx, walletAddress) {
28727
- const results = await ctx.modelPreferencesCollection.query(import_watermelondb21.Q.where("wallet_address", walletAddress)).fetch();
28772
+ const results = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28728
28773
  if (results.length === 0) return false;
28729
28774
  await ctx.database.write(async () => {
28730
28775
  await results[0].destroyPermanently();
@@ -28733,7 +28778,7 @@ async function deleteModelPreferenceOp(ctx, walletAddress) {
28733
28778
  }
28734
28779
 
28735
28780
  // src/lib/db/userPreferences/operations.ts
28736
- var import_watermelondb22 = __toESM(require_watermelondb());
28781
+ var import_watermelondb23 = __toESM(require_watermelondb());
28737
28782
  function userPreferenceToStored(preference) {
28738
28783
  return {
28739
28784
  uniqueId: preference.id,
@@ -28749,7 +28794,7 @@ function userPreferenceToStored(preference) {
28749
28794
  };
28750
28795
  }
28751
28796
  async function getUserPreferenceOp(ctx, walletAddress) {
28752
- const results = await ctx.userPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28797
+ const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
28753
28798
  return results.length > 0 ? userPreferenceToStored(results[0]) : null;
28754
28799
  }
28755
28800
  async function createUserPreferenceOp(ctx, opts) {
@@ -28770,7 +28815,7 @@ async function createUserPreferenceOp(ctx, opts) {
28770
28815
  return userPreferenceToStored(created);
28771
28816
  }
28772
28817
  async function updateUserPreferenceOp(ctx, walletAddress, opts) {
28773
- const results = await ctx.userPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28818
+ const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
28774
28819
  if (results.length === 0) return null;
28775
28820
  const preference = results[0];
28776
28821
  await ctx.database.write(async () => {
@@ -28801,7 +28846,7 @@ async function updateUserPreferenceOp(ctx, walletAddress, opts) {
28801
28846
  async function setUserPreferenceOp(ctx, walletAddress, opts) {
28802
28847
  const now = Date.now();
28803
28848
  const result = await ctx.database.write(async () => {
28804
- const results = await ctx.userPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28849
+ const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
28805
28850
  if (results.length > 0) {
28806
28851
  const preference = results[0];
28807
28852
  await preference.update((pref) => {
@@ -28853,7 +28898,7 @@ async function updateModelsOp(ctx, walletAddress, models) {
28853
28898
  return updateUserPreferenceOp(ctx, walletAddress, { models });
28854
28899
  }
28855
28900
  async function deleteUserPreferenceOp(ctx, walletAddress) {
28856
- const results = await ctx.userPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28901
+ const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
28857
28902
  if (results.length === 0) return false;
28858
28903
  await ctx.database.write(async () => {
28859
28904
  await results[0].destroyPermanently();
@@ -28868,9 +28913,9 @@ async function migrateFromModelPreferencesOp(ctx, walletAddress) {
28868
28913
  if (existing) {
28869
28914
  return existing;
28870
28915
  }
28871
- const modelResults = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
28916
+ const modelResults = await ctx.modelPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
28872
28917
  const personalityKey = `${walletAddress}_personality_settings`;
28873
- const personalityResults = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", personalityKey)).fetch();
28918
+ const personalityResults = await ctx.modelPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", personalityKey)).fetch();
28874
28919
  if (modelResults.length === 0 && personalityResults.length === 0) {
28875
28920
  return null;
28876
28921
  }
@@ -28950,7 +28995,7 @@ var SLIDER_CONFIG = [
28950
28995
  ];
28951
28996
 
28952
28997
  // src/lib/memory/autoExtract.ts
28953
- var import_watermelondb23 = __toESM(require_watermelondb());
28998
+ var import_watermelondb24 = __toESM(require_watermelondb());
28954
28999
 
28955
29000
  // src/lib/memory/entitySalience.ts
28956
29001
  var GENERIC_ENTITY_NAMES = /* @__PURE__ */ new Set([
@@ -31744,7 +31789,7 @@ async function assertMergeTargetGoneOrThrow(ctx, targetId, expectedContent) {
31744
31789
  // src/lib/memory/autoExtract.ts
31745
31790
  async function isMemoryTopicsUserManaged(ctx, memoryId) {
31746
31791
  try {
31747
- const rows = await ctx.database.get(VaultMemory.table).query(import_watermelondb23.Q.where("id", memoryId)).fetch();
31792
+ const rows = await ctx.database.get(VaultMemory.table).query(import_watermelondb24.Q.where("id", memoryId)).fetch();
31748
31793
  return rows[0]?.topicsUserManaged === true;
31749
31794
  } catch {
31750
31795
  return true;
@@ -34326,7 +34371,7 @@ function parseAnswer(body, base, parseSchema) {
34326
34371
  }
34327
34372
 
34328
34373
  // src/lib/memory/store/local.ts
34329
- var import_watermelondb24 = __toESM(require_watermelondb());
34374
+ var import_watermelondb25 = __toESM(require_watermelondb());
34330
34375
 
34331
34376
  // src/lib/memory/topicExtract.ts
34332
34377
  var TOPIC_EXTRACTION_BATCH_SIZE = 10;
@@ -34608,8 +34653,8 @@ function createLocalMemoryStore(options) {
34608
34653
  writeOptions?.signal?.throwIfAborted();
34609
34654
  };
34610
34655
  const vaultCache = options.vaultCache ?? createVaultEmbeddingCache();
34611
- const ownedBy = userId !== void 0 ? [import_watermelondb24.Q.where("user_id", userId)] : [];
34612
- const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [import_watermelondb24.Q.or(import_watermelondb24.Q.where("user_id", userId), import_watermelondb24.Q.where("user_id", null))] : [import_watermelondb24.Q.where("user_id", userId)];
34656
+ const ownedBy = userId !== void 0 ? [import_watermelondb25.Q.where("user_id", userId)] : [];
34657
+ const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [import_watermelondb25.Q.or(import_watermelondb25.Q.where("user_id", userId), import_watermelondb25.Q.where("user_id", null))] : [import_watermelondb25.Q.where("user_id", userId)];
34613
34658
  const watchedColumns = [
34614
34659
  "content",
34615
34660
  "scope",
@@ -34655,7 +34700,7 @@ function createLocalMemoryStore(options) {
34655
34700
  list: (listOptions) => getAllVaultMemoriesOp(vaultCtx, listOptions),
34656
34701
  get: (id) => getVaultMemoryOp(vaultCtx, id),
34657
34702
  listArchived: async () => {
34658
- const ids = await vaultCtx.vaultMemoryCollection.query(import_watermelondb24.Q.where("is_deleted", false), import_watermelondb24.Q.where("archived_at", import_watermelondb24.Q.notEq(null)), ...ownedBy).fetchIds();
34703
+ const ids = await vaultCtx.vaultMemoryCollection.query(import_watermelondb25.Q.where("is_deleted", false), import_watermelondb25.Q.where("archived_at", import_watermelondb25.Q.notEq(null)), ...ownedBy).fetchIds();
34659
34704
  if (ids.length === 0) return [];
34660
34705
  const rows = await getAllVaultMemoriesOp(vaultCtx, { memoryIds: ids, includeArchived: true });
34661
34706
  return rows.sort((a, b) => (b.archivedAt ?? 0) - (a.archivedAt ?? 0));
@@ -34671,7 +34716,7 @@ function createLocalMemoryStore(options) {
34671
34716
  set.add(String(link.memory_id));
34672
34717
  members.set(entityId, set);
34673
34718
  }
34674
- const entities = userId === void 0 ? await entityCtx.entityCollection.query().unsafeFetchRaw() : members.size ? await entityCtx.entityCollection.query(import_watermelondb24.Q.where("id", import_watermelondb24.Q.oneOf([...members.keys()]))).unsafeFetchRaw() : [];
34719
+ const entities = userId === void 0 ? await entityCtx.entityCollection.query().unsafeFetchRaw() : members.size ? await entityCtx.entityCollection.query(import_watermelondb25.Q.where("id", import_watermelondb25.Q.oneOf([...members.keys()]))).unsafeFetchRaw() : [];
34675
34720
  const byName = /* @__PURE__ */ new Map();
34676
34721
  for (const entity of entities) {
34677
34722
  const name = String(entity.canonical_name);
@@ -34721,7 +34766,7 @@ function createLocalMemoryStore(options) {
34721
34766
  setTopics: (memoryId, topics) => setMemoryEntitiesOp(vaultCtx, memoryId, topics),
34722
34767
  addTopics: (memoryId, topics, writeOptions) => database.write(async (writer) => {
34723
34768
  await assertWrite(writeOptions);
34724
- const owned = await vaultCtx.vaultMemoryCollection.query(import_watermelondb24.Q.where("id", memoryId), import_watermelondb24.Q.where("is_deleted", false), ...ownedBy).fetchCount();
34769
+ const owned = await vaultCtx.vaultMemoryCollection.query(import_watermelondb25.Q.where("id", memoryId), import_watermelondb25.Q.where("is_deleted", false), ...ownedBy).fetchCount();
34725
34770
  return owned > 0 ? writer.callWriter(
34726
34771
  () => linkMemoryEntitiesOp(
34727
34772
  {
@@ -34793,7 +34838,7 @@ function createLocalMemoryStore(options) {
34793
34838
  else onChange();
34794
34839
  };
34795
34840
  };
34796
- const memories = subscribeOptions?.includeDeleted ? vaultCtx.vaultMemoryCollection.query(...ownedBy).observe() : vaultCtx.vaultMemoryCollection.query(import_watermelondb24.Q.where("is_deleted", false), ...ownedBy).observeWithColumns(
34841
+ const memories = subscribeOptions?.includeDeleted ? vaultCtx.vaultMemoryCollection.query(...ownedBy).observe() : vaultCtx.vaultMemoryCollection.query(import_watermelondb25.Q.where("is_deleted", false), ...ownedBy).observeWithColumns(
34797
34842
  subscribeOptions?.embeddings ? [...watchedColumns, "embedding", "embedding_model"] : watchedColumns
34798
34843
  );
34799
34844
  const subscriptions = [memories.subscribe(afterFirst())];
@@ -34939,7 +34984,7 @@ async function synthesizeProfile(ctx, options = {}) {
34939
34984
  };
34940
34985
  const previous = options.previous && options.previous.version === PROFILE_DOC_VERSION && configMatches(options.previous.config, config) ? options.previous : void 0;
34941
34986
  const listOptions = { scopes, includeDeleted: true, includeSuperseded: true };
34942
- const [memories, projections] = store ? await Promise.all([store.list(listOptions), store.listProjections(listOptions)]) : [await getAllVaultMemoriesOp(vaultCtx, listOptions), []];
34987
+ const [memories, projections] = store ? await Promise.all([store.list(listOptions), store.listProjections(listOptions)]) : [await getVaultProfileMetadataOp(vaultCtx, { scopes }), []];
34943
34988
  const watermark = computeVaultWatermark(memories);
34944
34989
  const observationTrends = summarizeObservationTrends(
34945
34990
  memories.filter((m) => !m.isDeleted && m.supersededBy === null).map((m) => ({
@@ -34975,7 +35020,8 @@ async function synthesizeProfile(ctx, options = {}) {
34975
35020
  previous,
34976
35021
  watermark,
34977
35022
  options.reviewedMemoryIds,
34978
- previousUnreadable
35023
+ previousUnreadable,
35024
+ store ? void 0 : (ids) => getVaultEmbeddingsByIdsOp(vaultCtx, ids)
34979
35025
  );
34980
35026
  const memoriesById = new Map(memories.map((memory) => [memory.uniqueId, memory]));
34981
35027
  const fallbackPriors = /* @__PURE__ */ new Map();
@@ -35062,7 +35108,7 @@ function computeVaultWatermark(memories) {
35062
35108
  }
35063
35109
  return max;
35064
35110
  }
35065
- async function computeStaleFacetKeys(ctx, memories, facets, previous, watermark, reviewedMemoryIds, previouslyUnreadable) {
35111
+ async function computeStaleFacetKeys(ctx, memories, facets, previous, watermark, reviewedMemoryIds, previouslyUnreadable, loadEmbeddings) {
35066
35112
  const allKeys = new Set(facets.map((f) => f.key));
35067
35113
  if (previous && watermark < previous.vaultWatermark) return allKeys;
35068
35114
  if (!previous) return allKeys;
@@ -35095,7 +35141,9 @@ async function computeStaleFacetKeys(ctx, memories, facets, previous, watermark,
35095
35141
  toAttribute = toAttribute.filter((m) => allowed.has(m.uniqueId));
35096
35142
  }
35097
35143
  if (toAttribute.length > 0) {
35098
- const attributed = await attributeFacts(ctx, toAttribute, facets);
35144
+ const candidates = loadEmbeddings ? await loadEmbeddings(toAttribute.map((m) => m.uniqueId)) : toAttribute;
35145
+ if (candidates.length !== toAttribute.length) return allKeys;
35146
+ const attributed = await attributeFacts(ctx, candidates, facets);
35099
35147
  if (attributed === null) return allKeys;
35100
35148
  for (const k of attributed) stale.add(k);
35101
35149
  }
@@ -35519,17 +35567,17 @@ async function assembleMemoryContext(options) {
35519
35567
  }
35520
35568
 
35521
35569
  // src/lib/memory/durableExtraction.ts
35522
- var import_watermelondb25 = __toESM(require_watermelondb());
35570
+ var import_watermelondb26 = __toESM(require_watermelondb());
35523
35571
  async function messagePositions(storage, ids) {
35524
35572
  try {
35525
35573
  return await storage.messagesCollection.query(
35526
- import_watermelondb25.Q.unsafeSqlQuery(
35574
+ import_watermelondb26.Q.unsafeSqlQuery(
35527
35575
  `select "id", "conversation_id", "message_id" from "history" where "_status" is not 'deleted' and "id" in (${ids.map(() => "?").join(",")})`,
35528
35576
  ids
35529
35577
  )
35530
35578
  ).unsafeFetchRaw();
35531
35579
  } catch {
35532
- return await storage.messagesCollection.query(import_watermelondb25.Q.where("id", import_watermelondb25.Q.oneOf(ids))).unsafeFetchRaw();
35580
+ return await storage.messagesCollection.query(import_watermelondb26.Q.where("id", import_watermelondb26.Q.oneOf(ids))).unsafeFetchRaw();
35533
35581
  }
35534
35582
  }
35535
35583
  var MAX_JOBS_PER_PASS = 3;
@@ -35702,7 +35750,7 @@ function createDurableAutoExtractor(options) {
35702
35750
  const source = options.messageSource?.(conversationId);
35703
35751
  if (source)
35704
35752
  return await fromSource(source.status(conversationId)) === "ready" && (await loadFromSource(source, conversationId, ids)).every(Boolean);
35705
- return await storage.conversationsCollection.query(import_watermelondb25.Q.where("conversation_id", conversationId), import_watermelondb25.Q.where("is_deleted", false)).fetchCount() > 0 && await storage.messagesCollection.query(import_watermelondb25.Q.where("conversation_id", conversationId), import_watermelondb25.Q.where("id", import_watermelondb25.Q.oneOf(ids))).fetchCount() === ids.length;
35753
+ return await storage.conversationsCollection.query(import_watermelondb26.Q.where("conversation_id", conversationId), import_watermelondb26.Q.where("is_deleted", false)).fetchCount() > 0 && await storage.messagesCollection.query(import_watermelondb26.Q.where("conversation_id", conversationId), import_watermelondb26.Q.where("id", import_watermelondb26.Q.oneOf(ids))).fetchCount() === ids.length;
35706
35754
  }
35707
35755
  function schedule(delay) {
35708
35756
  if (disposed) return;
@@ -35876,7 +35924,7 @@ function createDurableAutoExtractor(options) {
35876
35924
  let sourceWaiting = false;
35877
35925
  try {
35878
35926
  await writes;
35879
- const pending = await jobs.query(import_watermelondb25.Q.where("owner_key", owner), import_watermelondb25.Q.where("message_ids", import_watermelondb25.Q.notEq("[]"))).fetch();
35927
+ const pending = await jobs.query(import_watermelondb26.Q.where("owner_key", owner), import_watermelondb26.Q.where("message_ids", import_watermelondb26.Q.notEq("[]"))).fetch();
35880
35928
  storeFailures = 0;
35881
35929
  let processed = 0;
35882
35930
  for (const job of pending) {
@@ -35908,7 +35956,7 @@ function createDurableAutoExtractor(options) {
35908
35956
  let ids = [];
35909
35957
  let loaded = [];
35910
35958
  try {
35911
- const present = source ? sourceStatus === "ready" : await storage.conversationsCollection.query(import_watermelondb25.Q.where("conversation_id", conversationId), import_watermelondb25.Q.where("is_deleted", false)).fetchCount() > 0;
35959
+ const present = source ? sourceStatus === "ready" : await storage.conversationsCollection.query(import_watermelondb26.Q.where("conversation_id", conversationId), import_watermelondb26.Q.where("is_deleted", false)).fetchCount() > 0;
35912
35960
  if (!present) {
35913
35961
  await database.write(() => job.destroyPermanently());
35914
35962
  continue;
@@ -36076,7 +36124,7 @@ function createDurableAutoExtractor(options) {
36076
36124
  const scope = currentScope();
36077
36125
  writes = writes.then(
36078
36126
  () => database.write(async () => {
36079
- const existing = await jobs.query(import_watermelondb25.Q.where("owner_key", owner), import_watermelondb25.Q.where("conversation_id", conversationId)).fetch();
36127
+ const existing = await jobs.query(import_watermelondb26.Q.where("owner_key", owner), import_watermelondb26.Q.where("conversation_id", conversationId)).fetch();
36080
36128
  const job = existing.find(
36081
36129
  (candidate) => candidate._getRaw("scope") === scope && (candidate._getRaw("folder_id") ?? null) === folderId
36082
36130
  );
@@ -36089,8 +36137,8 @@ function createDurableAutoExtractor(options) {
36089
36137
  if (watermarks.length) {
36090
36138
  const misplaced = new Set(
36091
36139
  await storage.messagesCollection.query(
36092
- import_watermelondb25.Q.where("id", import_watermelondb25.Q.oneOf(watermarks)),
36093
- import_watermelondb25.Q.where("conversation_id", import_watermelondb25.Q.notEq(conversationId))
36140
+ import_watermelondb26.Q.where("id", import_watermelondb26.Q.oneOf(watermarks)),
36141
+ import_watermelondb26.Q.where("conversation_id", import_watermelondb26.Q.notEq(conversationId))
36094
36142
  ).fetchIds()
36095
36143
  );
36096
36144
  for (const prior of existing)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anuma/sdk",
3
- "version": "9.1.7",
3
+ "version": "9.1.9",
4
4
  "description": "",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",