@anuma/sdk 9.1.8 → 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.
- package/dist/expo/index.cjs +79 -60
- package/dist/expo/index.mjs +80 -61
- package/dist/react/index.cjs +116 -97
- package/dist/react/index.mjs +111 -92
- package/dist/server/index.cjs +66 -53
- package/dist/server/index.mjs +66 -53
- package/package.json +1 -1
package/dist/server/index.cjs
CHANGED
|
@@ -12352,7 +12352,7 @@ var require_Query = __commonJS({
|
|
|
12352
12352
|
var _subscribeToCount = _interopRequireDefault(require_subscribeToCount());
|
|
12353
12353
|
var _subscribeToQuery = _interopRequireDefault(require_subscribeToQuery());
|
|
12354
12354
|
var _subscribeToQueryWithColumns = _interopRequireDefault(require_subscribeToQueryWithColumns());
|
|
12355
|
-
var
|
|
12355
|
+
var Q13 = _interopRequireWildcard(require_QueryDescription());
|
|
12356
12356
|
var _helpers = require_helpers2();
|
|
12357
12357
|
var _class;
|
|
12358
12358
|
var _descriptor;
|
|
@@ -12384,8 +12384,8 @@ var require_Query = __commonJS({
|
|
|
12384
12384
|
(0, _initializerDefineProperty2.default)(this, "_cachedCountSubscribable", _descriptor2, this);
|
|
12385
12385
|
(0, _initializerDefineProperty2.default)(this, "_cachedCountThrottledSubscribable", _descriptor3, this);
|
|
12386
12386
|
this.collection = collection;
|
|
12387
|
-
this._rawDescription =
|
|
12388
|
-
this.description =
|
|
12387
|
+
this._rawDescription = Q13.buildQueryDescription(clauses);
|
|
12388
|
+
this.description = Q13.queryWithoutDeleted(this._rawDescription);
|
|
12389
12389
|
}
|
|
12390
12390
|
var _proto = Query2.prototype;
|
|
12391
12391
|
_proto.extend = function(...args) {
|
|
@@ -12404,12 +12404,12 @@ var require_Query = __commonJS({
|
|
|
12404
12404
|
sql
|
|
12405
12405
|
} = this._rawDescription;
|
|
12406
12406
|
(0, _invariant.default)(!sql, "Cannot extend an unsafe SQL query");
|
|
12407
|
-
return new Query2(collection, [
|
|
12407
|
+
return new Query2(collection, [Q13.experimentalJoinTables(joinTables)].concat((0, _toConsumableArray2.default)(nestedJoinTables.map(function({
|
|
12408
12408
|
from,
|
|
12409
12409
|
to
|
|
12410
12410
|
}) {
|
|
12411
|
-
return
|
|
12412
|
-
})), (0, _toConsumableArray2.default)(where), (0, _toConsumableArray2.default)(sortBy), (0, _toConsumableArray2.default)(take ? [
|
|
12411
|
+
return Q13.experimentalNestedJoin(from, to);
|
|
12412
|
+
})), (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)));
|
|
12413
12413
|
};
|
|
12414
12414
|
_proto.pipe = function(transform) {
|
|
12415
12415
|
return transform(this);
|
|
@@ -13851,7 +13851,7 @@ var require_helpers5 = __commonJS({
|
|
|
13851
13851
|
exports2.createTimestampsFor = void 0;
|
|
13852
13852
|
exports2.fetchDescendants = fetchDescendants;
|
|
13853
13853
|
var _fp = require_fp();
|
|
13854
|
-
var
|
|
13854
|
+
var Q13 = _interopRequireWildcard(require_QueryDescription());
|
|
13855
13855
|
function _getRequireWildcardCache(e) {
|
|
13856
13856
|
if ("function" != typeof WeakMap) return null;
|
|
13857
13857
|
var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
|
|
@@ -13889,7 +13889,7 @@ var require_helpers5 = __commonJS({
|
|
|
13889
13889
|
});
|
|
13890
13890
|
var childrenQueries = hasManyAssociations.map(function([key, value]) {
|
|
13891
13891
|
var childCollection = model.collections.get(key);
|
|
13892
|
-
return childCollection.query(
|
|
13892
|
+
return childCollection.query(Q13.where(value.foreignKey, model.id));
|
|
13893
13893
|
});
|
|
13894
13894
|
return childrenQueries;
|
|
13895
13895
|
}
|
|
@@ -14270,8 +14270,8 @@ var require_watermelondb = __commonJS({
|
|
|
14270
14270
|
var _interopRequireDefault = require_interopRequireDefault();
|
|
14271
14271
|
exports2.__esModule = true;
|
|
14272
14272
|
exports2.tableSchema = exports2.tableName = exports2.localStorageKey = exports2.columnName = exports2.associations = exports2.appSchema = exports2.Relation = exports2.Query = exports2.Q = exports2.Model = exports2.Database = exports2.Collection = void 0;
|
|
14273
|
-
var
|
|
14274
|
-
exports2.Q =
|
|
14273
|
+
var Q13 = _interopRequireWildcard(require_QueryDescription());
|
|
14274
|
+
exports2.Q = Q13;
|
|
14275
14275
|
var _Collection = _interopRequireDefault(require_Collection());
|
|
14276
14276
|
exports2.Collection = _Collection.default;
|
|
14277
14277
|
var _Database = _interopRequireDefault(require_Database());
|
|
@@ -15078,7 +15078,7 @@ var require_children = __commonJS({
|
|
|
15078
15078
|
var _makeDecorator = _interopRequireDefault(require_makeDecorator());
|
|
15079
15079
|
var _logError = _interopRequireDefault(require_logError());
|
|
15080
15080
|
var _invariant = _interopRequireDefault(require_invariant());
|
|
15081
|
-
var
|
|
15081
|
+
var Q13 = _interopRequireWildcard(require_QueryDescription());
|
|
15082
15082
|
function _getRequireWildcardCache(e) {
|
|
15083
15083
|
if ("function" != typeof WeakMap) return null;
|
|
15084
15084
|
var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap();
|
|
@@ -15112,7 +15112,7 @@ var require_children = __commonJS({
|
|
|
15112
15112
|
var childCollection = model.collections.get(childTable);
|
|
15113
15113
|
var association = model.constructor.associations[childTable];
|
|
15114
15114
|
(0, _invariant.default)(association && "has_many" === association.type, "@children decorator used for a table that's not has_many");
|
|
15115
|
-
var query = childCollection.query(
|
|
15115
|
+
var query = childCollection.query(Q13.where(association.foreignKey, model.id));
|
|
15116
15116
|
that._childrenQueryCache[childTable] = query;
|
|
15117
15117
|
return query;
|
|
15118
15118
|
},
|
|
@@ -29898,6 +29898,9 @@ async function findQuarantinedDuplicateOp(ctx, content, sourceIds, where) {
|
|
|
29898
29898
|
return null;
|
|
29899
29899
|
}
|
|
29900
29900
|
|
|
29901
|
+
// src/lib/db/memoryVault/photoIngest.ts
|
|
29902
|
+
var import_watermelondb20 = __toESM(require_watermelondb());
|
|
29903
|
+
|
|
29901
29904
|
// src/lib/memory/decay.ts
|
|
29902
29905
|
init_logger();
|
|
29903
29906
|
var DAY_MS = 24 * 60 * 60 * 1e3;
|
|
@@ -29971,6 +29974,16 @@ function classifyDecay(m, now, policy) {
|
|
|
29971
29974
|
|
|
29972
29975
|
// src/lib/db/memoryVault/photoIngest.ts
|
|
29973
29976
|
var PHOTO_MEMORY_ID_PREFIX = "photo:";
|
|
29977
|
+
var PHOTO_ID_QUERY_CHUNK_SIZE = 500;
|
|
29978
|
+
async function getExistingPhotoMemoryIds(ctx, rows) {
|
|
29979
|
+
const existing = /* @__PURE__ */ new Set();
|
|
29980
|
+
for (let i = 0; i < rows.length; i += PHOTO_ID_QUERY_CHUNK_SIZE) {
|
|
29981
|
+
const ids = rows.slice(i, i + PHOTO_ID_QUERY_CHUNK_SIZE).map((row) => row.memoryId);
|
|
29982
|
+
const found = await ctx.vaultMemoryCollection.query(import_watermelondb20.Q.where("id", import_watermelondb20.Q.oneOf(ids))).fetchIds();
|
|
29983
|
+
for (const id of found) existing.add(id);
|
|
29984
|
+
}
|
|
29985
|
+
return existing;
|
|
29986
|
+
}
|
|
29974
29987
|
async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
|
|
29975
29988
|
const byId = /* @__PURE__ */ new Map();
|
|
29976
29989
|
for (const r of rows) {
|
|
@@ -29979,7 +29992,7 @@ async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
|
|
|
29979
29992
|
}
|
|
29980
29993
|
const photoRows = [...byId.values()];
|
|
29981
29994
|
if (photoRows.length === 0) return { inserted: 0, skipped: 0 };
|
|
29982
|
-
const known = await ctx
|
|
29995
|
+
const known = await getExistingPhotoMemoryIds(ctx, photoRows);
|
|
29983
29996
|
const candidates = photoRows.filter((r) => !known.has(r.memoryId));
|
|
29984
29997
|
if (candidates.length === 0) return { inserted: 0, skipped: photoRows.length };
|
|
29985
29998
|
const fresh = candidates;
|
|
@@ -29999,7 +30012,7 @@ async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
|
|
|
29999
30012
|
const now = Date.now();
|
|
30000
30013
|
let inserted = 0;
|
|
30001
30014
|
await ctx.database.write(async () => {
|
|
30002
|
-
const present =
|
|
30015
|
+
const present = await getExistingPhotoMemoryIds(ctx, fresh);
|
|
30003
30016
|
const writable = fresh.map((row, i) => ({ row, content: contents[i] })).filter(({ row }) => !present.has(row.memoryId));
|
|
30004
30017
|
inserted = writable.length;
|
|
30005
30018
|
if (writable.length === 0) return;
|
|
@@ -30033,7 +30046,7 @@ async function ingestPublishedPhotoMemoriesOp(ctx, rows) {
|
|
|
30033
30046
|
}
|
|
30034
30047
|
|
|
30035
30048
|
// src/lib/db/project/operations.ts
|
|
30036
|
-
var
|
|
30049
|
+
var import_watermelondb21 = __toESM(require_watermelondb());
|
|
30037
30050
|
|
|
30038
30051
|
// src/lib/db/project/types.ts
|
|
30039
30052
|
function generateProjectId() {
|
|
@@ -30064,15 +30077,15 @@ async function createProjectOp(ctx, opts, defaultName = "New Project") {
|
|
|
30064
30077
|
return projectToStored(created);
|
|
30065
30078
|
}
|
|
30066
30079
|
async function getProjectOp(ctx, id) {
|
|
30067
|
-
const results = await ctx.projectsCollection.query(
|
|
30080
|
+
const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
|
|
30068
30081
|
return results.length > 0 ? projectToStored(results[0]) : null;
|
|
30069
30082
|
}
|
|
30070
30083
|
async function getProjectsOp(ctx) {
|
|
30071
|
-
const results = await ctx.projectsCollection.query(
|
|
30084
|
+
const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("is_deleted", false), import_watermelondb21.Q.sortBy("created_at", import_watermelondb21.Q.desc)).fetch();
|
|
30072
30085
|
return results.map(projectToStored);
|
|
30073
30086
|
}
|
|
30074
30087
|
async function updateProjectNameOp(ctx, id, name) {
|
|
30075
|
-
const results = await ctx.projectsCollection.query(
|
|
30088
|
+
const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
|
|
30076
30089
|
if (results.length > 0) {
|
|
30077
30090
|
await ctx.database.write(async () => {
|
|
30078
30091
|
await results[0].update((proj) => {
|
|
@@ -30084,7 +30097,7 @@ async function updateProjectNameOp(ctx, id, name) {
|
|
|
30084
30097
|
return false;
|
|
30085
30098
|
}
|
|
30086
30099
|
async function updateProjectOp(ctx, id, opts) {
|
|
30087
|
-
const results = await ctx.projectsCollection.query(
|
|
30100
|
+
const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
|
|
30088
30101
|
if (results.length > 0) {
|
|
30089
30102
|
await ctx.database.write(async () => {
|
|
30090
30103
|
await results[0].update((proj) => {
|
|
@@ -30096,7 +30109,7 @@ async function updateProjectOp(ctx, id, opts) {
|
|
|
30096
30109
|
return false;
|
|
30097
30110
|
}
|
|
30098
30111
|
async function deleteProjectOp(ctx, id) {
|
|
30099
|
-
const results = await ctx.projectsCollection.query(
|
|
30112
|
+
const results = await ctx.projectsCollection.query(import_watermelondb21.Q.where("project_id", id), import_watermelondb21.Q.where("is_deleted", false)).fetch();
|
|
30100
30113
|
if (results.length > 0) {
|
|
30101
30114
|
await ctx.database.write(async () => {
|
|
30102
30115
|
await results[0].update((proj) => {
|
|
@@ -30109,14 +30122,14 @@ async function deleteProjectOp(ctx, id) {
|
|
|
30109
30122
|
}
|
|
30110
30123
|
async function getProjectConversationsOp(ctx, projectId) {
|
|
30111
30124
|
const results = await ctx.conversationsCollection.query(
|
|
30112
|
-
|
|
30113
|
-
|
|
30114
|
-
|
|
30125
|
+
import_watermelondb21.Q.where("project_id", projectId),
|
|
30126
|
+
import_watermelondb21.Q.where("is_deleted", false),
|
|
30127
|
+
import_watermelondb21.Q.sortBy("created_at", import_watermelondb21.Q.desc)
|
|
30115
30128
|
).fetch();
|
|
30116
30129
|
return results.map(conversationToStoredRaw);
|
|
30117
30130
|
}
|
|
30118
30131
|
async function getProjectConversationCountOp(ctx, projectId) {
|
|
30119
|
-
return await ctx.conversationsCollection.query(
|
|
30132
|
+
return await ctx.conversationsCollection.query(import_watermelondb21.Q.where("project_id", projectId), import_watermelondb21.Q.where("is_deleted", false)).fetchCount();
|
|
30120
30133
|
}
|
|
30121
30134
|
|
|
30122
30135
|
// src/lib/db/queue/manager.ts
|
|
@@ -30460,7 +30473,7 @@ var WalletPoller = class {
|
|
|
30460
30473
|
};
|
|
30461
30474
|
|
|
30462
30475
|
// src/lib/db/settings/operations.ts
|
|
30463
|
-
var
|
|
30476
|
+
var import_watermelondb22 = __toESM(require_watermelondb());
|
|
30464
30477
|
function modelPreferenceToStored(preference) {
|
|
30465
30478
|
return {
|
|
30466
30479
|
uniqueId: preference.id,
|
|
@@ -30469,12 +30482,12 @@ function modelPreferenceToStored(preference) {
|
|
|
30469
30482
|
};
|
|
30470
30483
|
}
|
|
30471
30484
|
async function getModelPreferenceOp(ctx, walletAddress) {
|
|
30472
|
-
const results = await ctx.modelPreferencesCollection.query(
|
|
30485
|
+
const results = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
|
|
30473
30486
|
return results.length > 0 ? modelPreferenceToStored(results[0]) : null;
|
|
30474
30487
|
}
|
|
30475
30488
|
async function setModelPreferenceOp(ctx, walletAddress, models) {
|
|
30476
30489
|
const result = await ctx.database.write(async () => {
|
|
30477
|
-
const results = await ctx.modelPreferencesCollection.query(
|
|
30490
|
+
const results = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
|
|
30478
30491
|
if (results.length > 0) {
|
|
30479
30492
|
const preference = results[0];
|
|
30480
30493
|
await preference.update((pref) => {
|
|
@@ -30492,7 +30505,7 @@ async function setModelPreferenceOp(ctx, walletAddress, models) {
|
|
|
30492
30505
|
return modelPreferenceToStored(result);
|
|
30493
30506
|
}
|
|
30494
30507
|
async function deleteModelPreferenceOp(ctx, walletAddress) {
|
|
30495
|
-
const results = await ctx.modelPreferencesCollection.query(
|
|
30508
|
+
const results = await ctx.modelPreferencesCollection.query(import_watermelondb22.Q.where("wallet_address", walletAddress)).fetch();
|
|
30496
30509
|
if (results.length === 0) return false;
|
|
30497
30510
|
await ctx.database.write(async () => {
|
|
30498
30511
|
await results[0].destroyPermanently();
|
|
@@ -30501,7 +30514,7 @@ async function deleteModelPreferenceOp(ctx, walletAddress) {
|
|
|
30501
30514
|
}
|
|
30502
30515
|
|
|
30503
30516
|
// src/lib/db/userPreferences/operations.ts
|
|
30504
|
-
var
|
|
30517
|
+
var import_watermelondb23 = __toESM(require_watermelondb());
|
|
30505
30518
|
function userPreferenceToStored(preference) {
|
|
30506
30519
|
return {
|
|
30507
30520
|
uniqueId: preference.id,
|
|
@@ -30517,7 +30530,7 @@ function userPreferenceToStored(preference) {
|
|
|
30517
30530
|
};
|
|
30518
30531
|
}
|
|
30519
30532
|
async function getUserPreferenceOp(ctx, walletAddress) {
|
|
30520
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
30533
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
|
|
30521
30534
|
return results.length > 0 ? userPreferenceToStored(results[0]) : null;
|
|
30522
30535
|
}
|
|
30523
30536
|
async function createUserPreferenceOp(ctx, opts) {
|
|
@@ -30538,7 +30551,7 @@ async function createUserPreferenceOp(ctx, opts) {
|
|
|
30538
30551
|
return userPreferenceToStored(created);
|
|
30539
30552
|
}
|
|
30540
30553
|
async function updateUserPreferenceOp(ctx, walletAddress, opts) {
|
|
30541
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
30554
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
|
|
30542
30555
|
if (results.length === 0) return null;
|
|
30543
30556
|
const preference = results[0];
|
|
30544
30557
|
await ctx.database.write(async () => {
|
|
@@ -30569,7 +30582,7 @@ async function updateUserPreferenceOp(ctx, walletAddress, opts) {
|
|
|
30569
30582
|
async function setUserPreferenceOp(ctx, walletAddress, opts) {
|
|
30570
30583
|
const now = Date.now();
|
|
30571
30584
|
const result = await ctx.database.write(async () => {
|
|
30572
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
30585
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
|
|
30573
30586
|
if (results.length > 0) {
|
|
30574
30587
|
const preference = results[0];
|
|
30575
30588
|
await preference.update((pref) => {
|
|
@@ -30621,7 +30634,7 @@ async function updateModelsOp(ctx, walletAddress, models) {
|
|
|
30621
30634
|
return updateUserPreferenceOp(ctx, walletAddress, { models });
|
|
30622
30635
|
}
|
|
30623
30636
|
async function deleteUserPreferenceOp(ctx, walletAddress) {
|
|
30624
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
30637
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
|
|
30625
30638
|
if (results.length === 0) return false;
|
|
30626
30639
|
await ctx.database.write(async () => {
|
|
30627
30640
|
await results[0].destroyPermanently();
|
|
@@ -30636,9 +30649,9 @@ async function migrateFromModelPreferencesOp(ctx, walletAddress) {
|
|
|
30636
30649
|
if (existing) {
|
|
30637
30650
|
return existing;
|
|
30638
30651
|
}
|
|
30639
|
-
const modelResults = await ctx.modelPreferencesCollection.query(
|
|
30652
|
+
const modelResults = await ctx.modelPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", walletAddress)).fetch();
|
|
30640
30653
|
const personalityKey = `${walletAddress}_personality_settings`;
|
|
30641
|
-
const personalityResults = await ctx.modelPreferencesCollection.query(
|
|
30654
|
+
const personalityResults = await ctx.modelPreferencesCollection.query(import_watermelondb23.Q.where("wallet_address", personalityKey)).fetch();
|
|
30642
30655
|
if (modelResults.length === 0 && personalityResults.length === 0) {
|
|
30643
30656
|
return null;
|
|
30644
30657
|
}
|
|
@@ -30718,7 +30731,7 @@ var SLIDER_CONFIG = [
|
|
|
30718
30731
|
];
|
|
30719
30732
|
|
|
30720
30733
|
// src/lib/memory/autoExtract.ts
|
|
30721
|
-
var
|
|
30734
|
+
var import_watermelondb24 = __toESM(require_watermelondb());
|
|
30722
30735
|
init_logger();
|
|
30723
30736
|
init_redactor();
|
|
30724
30737
|
|
|
@@ -33531,7 +33544,7 @@ async function assertMergeTargetGoneOrThrow(ctx, targetId, expectedContent) {
|
|
|
33531
33544
|
// src/lib/memory/autoExtract.ts
|
|
33532
33545
|
async function isMemoryTopicsUserManaged(ctx, memoryId) {
|
|
33533
33546
|
try {
|
|
33534
|
-
const rows = await ctx.database.get(VaultMemory.table).query(
|
|
33547
|
+
const rows = await ctx.database.get(VaultMemory.table).query(import_watermelondb24.Q.where("id", memoryId)).fetch();
|
|
33535
33548
|
return rows[0]?.topicsUserManaged === true;
|
|
33536
33549
|
} catch {
|
|
33537
33550
|
return true;
|
|
@@ -36130,7 +36143,7 @@ function parseAnswer(body, base, parseSchema) {
|
|
|
36130
36143
|
}
|
|
36131
36144
|
|
|
36132
36145
|
// src/lib/memory/store/local.ts
|
|
36133
|
-
var
|
|
36146
|
+
var import_watermelondb25 = __toESM(require_watermelondb());
|
|
36134
36147
|
init_logger();
|
|
36135
36148
|
|
|
36136
36149
|
// src/lib/memory/topicExtract.ts
|
|
@@ -36416,8 +36429,8 @@ function createLocalMemoryStore(options) {
|
|
|
36416
36429
|
writeOptions?.signal?.throwIfAborted();
|
|
36417
36430
|
};
|
|
36418
36431
|
const vaultCache = options.vaultCache ?? createVaultEmbeddingCache();
|
|
36419
|
-
const ownedBy = userId !== void 0 ? [
|
|
36420
|
-
const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [
|
|
36432
|
+
const ownedBy = userId !== void 0 ? [import_watermelondb25.Q.where("user_id", userId)] : [];
|
|
36433
|
+
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)];
|
|
36421
36434
|
const watchedColumns = [
|
|
36422
36435
|
"content",
|
|
36423
36436
|
"scope",
|
|
@@ -36463,7 +36476,7 @@ function createLocalMemoryStore(options) {
|
|
|
36463
36476
|
list: (listOptions) => getAllVaultMemoriesOp(vaultCtx, listOptions),
|
|
36464
36477
|
get: (id) => getVaultMemoryOp(vaultCtx, id),
|
|
36465
36478
|
listArchived: async () => {
|
|
36466
|
-
const ids = await vaultCtx.vaultMemoryCollection.query(
|
|
36479
|
+
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();
|
|
36467
36480
|
if (ids.length === 0) return [];
|
|
36468
36481
|
const rows = await getAllVaultMemoriesOp(vaultCtx, { memoryIds: ids, includeArchived: true });
|
|
36469
36482
|
return rows.sort((a, b) => (b.archivedAt ?? 0) - (a.archivedAt ?? 0));
|
|
@@ -36479,7 +36492,7 @@ function createLocalMemoryStore(options) {
|
|
|
36479
36492
|
set.add(String(link.memory_id));
|
|
36480
36493
|
members.set(entityId, set);
|
|
36481
36494
|
}
|
|
36482
|
-
const entities = userId === void 0 ? await entityCtx.entityCollection.query().unsafeFetchRaw() : members.size ? await entityCtx.entityCollection.query(
|
|
36495
|
+
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() : [];
|
|
36483
36496
|
const byName = /* @__PURE__ */ new Map();
|
|
36484
36497
|
for (const entity of entities) {
|
|
36485
36498
|
const name = String(entity.canonical_name);
|
|
@@ -36529,7 +36542,7 @@ function createLocalMemoryStore(options) {
|
|
|
36529
36542
|
setTopics: (memoryId, topics) => setMemoryEntitiesOp(vaultCtx, memoryId, topics),
|
|
36530
36543
|
addTopics: (memoryId, topics, writeOptions) => database.write(async (writer) => {
|
|
36531
36544
|
await assertWrite(writeOptions);
|
|
36532
|
-
const owned = await vaultCtx.vaultMemoryCollection.query(
|
|
36545
|
+
const owned = await vaultCtx.vaultMemoryCollection.query(import_watermelondb25.Q.where("id", memoryId), import_watermelondb25.Q.where("is_deleted", false), ...ownedBy).fetchCount();
|
|
36533
36546
|
return owned > 0 ? writer.callWriter(
|
|
36534
36547
|
() => linkMemoryEntitiesOp(
|
|
36535
36548
|
{
|
|
@@ -36601,7 +36614,7 @@ function createLocalMemoryStore(options) {
|
|
|
36601
36614
|
else onChange();
|
|
36602
36615
|
};
|
|
36603
36616
|
};
|
|
36604
|
-
const memories = subscribeOptions?.includeDeleted ? vaultCtx.vaultMemoryCollection.query(...ownedBy).observe() : vaultCtx.vaultMemoryCollection.query(
|
|
36617
|
+
const memories = subscribeOptions?.includeDeleted ? vaultCtx.vaultMemoryCollection.query(...ownedBy).observe() : vaultCtx.vaultMemoryCollection.query(import_watermelondb25.Q.where("is_deleted", false), ...ownedBy).observeWithColumns(
|
|
36605
36618
|
subscribeOptions?.embeddings ? [...watchedColumns, "embedding", "embedding_model"] : watchedColumns
|
|
36606
36619
|
);
|
|
36607
36620
|
const subscriptions = [memories.subscribe(afterFirst())];
|
|
@@ -37332,17 +37345,17 @@ async function assembleMemoryContext(options) {
|
|
|
37332
37345
|
}
|
|
37333
37346
|
|
|
37334
37347
|
// src/lib/memory/durableExtraction.ts
|
|
37335
|
-
var
|
|
37348
|
+
var import_watermelondb26 = __toESM(require_watermelondb());
|
|
37336
37349
|
async function messagePositions(storage, ids) {
|
|
37337
37350
|
try {
|
|
37338
37351
|
return await storage.messagesCollection.query(
|
|
37339
|
-
|
|
37352
|
+
import_watermelondb26.Q.unsafeSqlQuery(
|
|
37340
37353
|
`select "id", "conversation_id", "message_id" from "history" where "_status" is not 'deleted' and "id" in (${ids.map(() => "?").join(",")})`,
|
|
37341
37354
|
ids
|
|
37342
37355
|
)
|
|
37343
37356
|
).unsafeFetchRaw();
|
|
37344
37357
|
} catch {
|
|
37345
|
-
return await storage.messagesCollection.query(
|
|
37358
|
+
return await storage.messagesCollection.query(import_watermelondb26.Q.where("id", import_watermelondb26.Q.oneOf(ids))).unsafeFetchRaw();
|
|
37346
37359
|
}
|
|
37347
37360
|
}
|
|
37348
37361
|
var MAX_JOBS_PER_PASS = 3;
|
|
@@ -37515,7 +37528,7 @@ function createDurableAutoExtractor(options) {
|
|
|
37515
37528
|
const source = options.messageSource?.(conversationId);
|
|
37516
37529
|
if (source)
|
|
37517
37530
|
return await fromSource(source.status(conversationId)) === "ready" && (await loadFromSource(source, conversationId, ids)).every(Boolean);
|
|
37518
|
-
return await storage.conversationsCollection.query(
|
|
37531
|
+
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;
|
|
37519
37532
|
}
|
|
37520
37533
|
function schedule(delay) {
|
|
37521
37534
|
if (disposed) return;
|
|
@@ -37689,7 +37702,7 @@ function createDurableAutoExtractor(options) {
|
|
|
37689
37702
|
let sourceWaiting = false;
|
|
37690
37703
|
try {
|
|
37691
37704
|
await writes;
|
|
37692
|
-
const pending = await jobs.query(
|
|
37705
|
+
const pending = await jobs.query(import_watermelondb26.Q.where("owner_key", owner), import_watermelondb26.Q.where("message_ids", import_watermelondb26.Q.notEq("[]"))).fetch();
|
|
37693
37706
|
storeFailures = 0;
|
|
37694
37707
|
let processed = 0;
|
|
37695
37708
|
for (const job of pending) {
|
|
@@ -37721,7 +37734,7 @@ function createDurableAutoExtractor(options) {
|
|
|
37721
37734
|
let ids = [];
|
|
37722
37735
|
let loaded = [];
|
|
37723
37736
|
try {
|
|
37724
|
-
const present = source ? sourceStatus === "ready" : await storage.conversationsCollection.query(
|
|
37737
|
+
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;
|
|
37725
37738
|
if (!present) {
|
|
37726
37739
|
await database.write(() => job.destroyPermanently());
|
|
37727
37740
|
continue;
|
|
@@ -37889,7 +37902,7 @@ function createDurableAutoExtractor(options) {
|
|
|
37889
37902
|
const scope = currentScope();
|
|
37890
37903
|
writes = writes.then(
|
|
37891
37904
|
() => database.write(async () => {
|
|
37892
|
-
const existing = await jobs.query(
|
|
37905
|
+
const existing = await jobs.query(import_watermelondb26.Q.where("owner_key", owner), import_watermelondb26.Q.where("conversation_id", conversationId)).fetch();
|
|
37893
37906
|
const job = existing.find(
|
|
37894
37907
|
(candidate) => candidate._getRaw("scope") === scope && (candidate._getRaw("folder_id") ?? null) === folderId
|
|
37895
37908
|
);
|
|
@@ -37902,8 +37915,8 @@ function createDurableAutoExtractor(options) {
|
|
|
37902
37915
|
if (watermarks.length) {
|
|
37903
37916
|
const misplaced = new Set(
|
|
37904
37917
|
await storage.messagesCollection.query(
|
|
37905
|
-
|
|
37906
|
-
|
|
37918
|
+
import_watermelondb26.Q.where("id", import_watermelondb26.Q.oneOf(watermarks)),
|
|
37919
|
+
import_watermelondb26.Q.where("conversation_id", import_watermelondb26.Q.notEq(conversationId))
|
|
37907
37920
|
).fetchIds()
|
|
37908
37921
|
);
|
|
37909
37922
|
for (const prior of existing)
|