@mastra/lance 0.0.0-scorers-api-v2-20250801171841 → 0.0.0-scorers-ui-refactored-20250916094952
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/CHANGELOG.md +282 -3
- package/README.md +3 -3
- package/dist/index.cjs +132 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +132 -30
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +10 -1
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/scores/index.d.ts +5 -2
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/dist/storage/domains/traces/index.d.ts +1 -1
- package/dist/storage/domains/workflows/index.d.ts +21 -2
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +34 -4
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/vector/index.d.ts +3 -3
- package/dist/vector/index.d.ts.map +1 -1
- package/package.json +21 -7
- package/eslint.config.js +0 -6
- package/src/index.ts +0 -2
- package/src/storage/domains/legacy-evals/index.ts +0 -156
- package/src/storage/domains/memory/index.ts +0 -947
- package/src/storage/domains/operations/index.ts +0 -489
- package/src/storage/domains/scores/index.ts +0 -221
- package/src/storage/domains/traces/index.ts +0 -212
- package/src/storage/domains/utils.ts +0 -158
- package/src/storage/domains/workflows/index.ts +0 -207
- package/src/storage/index.test.ts +0 -10
- package/src/storage/index.ts +0 -442
- package/src/vector/filter.test.ts +0 -295
- package/src/vector/filter.ts +0 -443
- package/src/vector/index.test.ts +0 -1493
- package/src/vector/index.ts +0 -941
- package/src/vector/types.ts +0 -16
- package/tsconfig.build.json +0 -9
- package/tsconfig.json +0 -5
- package/tsup.config.ts +0 -22
- package/vitest.config.ts +0 -11
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './storage';
|
|
2
|
-
export * from './vector';
|
|
1
|
+
export * from './storage/index.js';
|
|
2
|
+
export * from './vector/index.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -379,6 +379,20 @@ var StoreMemoryLance = class extends MemoryStorage {
|
|
|
379
379
|
);
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
|
+
normalizeMessage(message) {
|
|
383
|
+
const { thread_id, ...rest } = message;
|
|
384
|
+
return {
|
|
385
|
+
...rest,
|
|
386
|
+
threadId: thread_id,
|
|
387
|
+
content: typeof message.content === "string" ? (() => {
|
|
388
|
+
try {
|
|
389
|
+
return JSON.parse(message.content);
|
|
390
|
+
} catch {
|
|
391
|
+
return message.content;
|
|
392
|
+
}
|
|
393
|
+
})() : message.content
|
|
394
|
+
};
|
|
395
|
+
}
|
|
382
396
|
async getMessages({
|
|
383
397
|
threadId,
|
|
384
398
|
resourceId,
|
|
@@ -387,6 +401,7 @@ var StoreMemoryLance = class extends MemoryStorage {
|
|
|
387
401
|
threadConfig
|
|
388
402
|
}) {
|
|
389
403
|
try {
|
|
404
|
+
if (!threadId.trim()) throw new Error("threadId must be a non-empty string");
|
|
390
405
|
if (threadConfig) {
|
|
391
406
|
throw new Error("ThreadConfig is not supported by LanceDB storage");
|
|
392
407
|
}
|
|
@@ -419,21 +434,7 @@ var StoreMemoryLance = class extends MemoryStorage {
|
|
|
419
434
|
allRecords,
|
|
420
435
|
await getTableSchema({ tableName: TABLE_MESSAGES, client: this.client })
|
|
421
436
|
);
|
|
422
|
-
const
|
|
423
|
-
const { thread_id, ...rest } = msg;
|
|
424
|
-
return {
|
|
425
|
-
...rest,
|
|
426
|
-
threadId: thread_id,
|
|
427
|
-
content: typeof msg.content === "string" ? (() => {
|
|
428
|
-
try {
|
|
429
|
-
return JSON.parse(msg.content);
|
|
430
|
-
} catch {
|
|
431
|
-
return msg.content;
|
|
432
|
-
}
|
|
433
|
-
})() : msg.content
|
|
434
|
-
};
|
|
435
|
-
});
|
|
436
|
-
const list = new MessageList({ threadId, resourceId }).add(normalized, "memory");
|
|
437
|
+
const list = new MessageList({ threadId, resourceId }).add(messages.map(this.normalizeMessage), "memory");
|
|
437
438
|
if (format === "v2") return list.get.all.v2();
|
|
438
439
|
return list.get.all.v1();
|
|
439
440
|
} catch (error) {
|
|
@@ -441,7 +442,41 @@ var StoreMemoryLance = class extends MemoryStorage {
|
|
|
441
442
|
{
|
|
442
443
|
id: "LANCE_STORE_GET_MESSAGES_FAILED",
|
|
443
444
|
domain: ErrorDomain.STORAGE,
|
|
444
|
-
category: ErrorCategory.THIRD_PARTY
|
|
445
|
+
category: ErrorCategory.THIRD_PARTY,
|
|
446
|
+
details: {
|
|
447
|
+
threadId,
|
|
448
|
+
resourceId: resourceId ?? ""
|
|
449
|
+
}
|
|
450
|
+
},
|
|
451
|
+
error
|
|
452
|
+
);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
async getMessagesById({
|
|
456
|
+
messageIds,
|
|
457
|
+
format
|
|
458
|
+
}) {
|
|
459
|
+
if (messageIds.length === 0) return [];
|
|
460
|
+
try {
|
|
461
|
+
const table = await this.client.openTable(TABLE_MESSAGES);
|
|
462
|
+
const quotedIds = messageIds.map((id) => `'${id}'`).join(", ");
|
|
463
|
+
const allRecords = await table.query().where(`id IN (${quotedIds})`).toArray();
|
|
464
|
+
const messages = processResultWithTypeConversion(
|
|
465
|
+
allRecords,
|
|
466
|
+
await getTableSchema({ tableName: TABLE_MESSAGES, client: this.client })
|
|
467
|
+
);
|
|
468
|
+
const list = new MessageList().add(messages.map(this.normalizeMessage), "memory");
|
|
469
|
+
if (format === `v1`) return list.get.all.v1();
|
|
470
|
+
return list.get.all.v2();
|
|
471
|
+
} catch (error) {
|
|
472
|
+
throw new MastraError(
|
|
473
|
+
{
|
|
474
|
+
id: "LANCE_STORE_GET_MESSAGES_BY_ID_FAILED",
|
|
475
|
+
domain: ErrorDomain.STORAGE,
|
|
476
|
+
category: ErrorCategory.THIRD_PARTY,
|
|
477
|
+
details: {
|
|
478
|
+
messageIds: JSON.stringify(messageIds)
|
|
479
|
+
}
|
|
445
480
|
},
|
|
446
481
|
error
|
|
447
482
|
);
|
|
@@ -582,13 +617,11 @@ var StoreMemoryLance = class extends MemoryStorage {
|
|
|
582
617
|
return Array.from(allIndices).sort((a, b) => a - b).map((index) => records[index]);
|
|
583
618
|
}
|
|
584
619
|
async getMessagesPaginated(args) {
|
|
620
|
+
const { threadId, resourceId, selectBy, format = "v1" } = args;
|
|
621
|
+
const page = selectBy?.pagination?.page ?? 0;
|
|
622
|
+
const perPage = selectBy?.pagination?.perPage ?? 10;
|
|
585
623
|
try {
|
|
586
|
-
|
|
587
|
-
if (!threadId) {
|
|
588
|
-
throw new Error("Thread ID is required for getMessagesPaginated");
|
|
589
|
-
}
|
|
590
|
-
const page = selectBy?.pagination?.page ?? 0;
|
|
591
|
-
const perPage = selectBy?.pagination?.perPage ?? 10;
|
|
624
|
+
if (!threadId.trim()) throw new Error("threadId must be a non-empty string");
|
|
592
625
|
const dateRange = selectBy?.pagination?.dateRange;
|
|
593
626
|
const fromDate = dateRange?.start;
|
|
594
627
|
const toDate = dateRange?.end;
|
|
@@ -690,14 +723,21 @@ var StoreMemoryLance = class extends MemoryStorage {
|
|
|
690
723
|
hasMore: total > (page + 1) * perPage
|
|
691
724
|
};
|
|
692
725
|
} catch (error) {
|
|
693
|
-
|
|
726
|
+
const mastraError = new MastraError(
|
|
694
727
|
{
|
|
695
728
|
id: "LANCE_STORE_GET_MESSAGES_PAGINATED_FAILED",
|
|
696
729
|
domain: ErrorDomain.STORAGE,
|
|
697
|
-
category: ErrorCategory.THIRD_PARTY
|
|
730
|
+
category: ErrorCategory.THIRD_PARTY,
|
|
731
|
+
details: {
|
|
732
|
+
threadId,
|
|
733
|
+
resourceId: resourceId ?? ""
|
|
734
|
+
}
|
|
698
735
|
},
|
|
699
736
|
error
|
|
700
737
|
);
|
|
738
|
+
this.logger?.trackException?.(mastraError);
|
|
739
|
+
this.logger?.error?.(mastraError.toString());
|
|
740
|
+
return { messages: [], total: 0, page, perPage, hasMore: false };
|
|
701
741
|
}
|
|
702
742
|
}
|
|
703
743
|
/**
|
|
@@ -1359,6 +1399,7 @@ var StoreScoresLance = class extends ScoresStorage {
|
|
|
1359
1399
|
}
|
|
1360
1400
|
async saveScore(score) {
|
|
1361
1401
|
try {
|
|
1402
|
+
const id = crypto.randomUUID();
|
|
1362
1403
|
const table = await this.client.openTable(TABLE_SCORERS);
|
|
1363
1404
|
const schema = await getTableSchema({ tableName: TABLE_SCORERS, client: this.client });
|
|
1364
1405
|
const allowedFields = new Set(schema.fields.map((f) => f.name));
|
|
@@ -1373,7 +1414,7 @@ var StoreScoresLance = class extends ScoresStorage {
|
|
|
1373
1414
|
filteredScore[key] = JSON.stringify(filteredScore[key]);
|
|
1374
1415
|
}
|
|
1375
1416
|
}
|
|
1376
|
-
|
|
1417
|
+
filteredScore.id = id;
|
|
1377
1418
|
await table.add([filteredScore], { mode: "append" });
|
|
1378
1419
|
return { score };
|
|
1379
1420
|
} catch (error) {
|
|
@@ -1412,18 +1453,35 @@ var StoreScoresLance = class extends ScoresStorage {
|
|
|
1412
1453
|
}
|
|
1413
1454
|
async getScoresByScorerId({
|
|
1414
1455
|
scorerId,
|
|
1415
|
-
pagination
|
|
1456
|
+
pagination,
|
|
1457
|
+
entityId,
|
|
1458
|
+
entityType,
|
|
1459
|
+
source
|
|
1416
1460
|
}) {
|
|
1417
1461
|
try {
|
|
1418
1462
|
const table = await this.client.openTable(TABLE_SCORERS);
|
|
1419
1463
|
const { page = 0, perPage = 10 } = pagination || {};
|
|
1420
1464
|
const offset = page * perPage;
|
|
1421
|
-
|
|
1465
|
+
let query = table.query().where(`\`scorerId\` = '${scorerId}'`);
|
|
1466
|
+
if (source) {
|
|
1467
|
+
query = query.where(`\`source\` = '${source}'`);
|
|
1468
|
+
}
|
|
1469
|
+
if (entityId) {
|
|
1470
|
+
query = query.where(`\`entityId\` = '${entityId}'`);
|
|
1471
|
+
}
|
|
1472
|
+
if (entityType) {
|
|
1473
|
+
query = query.where(`\`entityType\` = '${entityType}'`);
|
|
1474
|
+
}
|
|
1475
|
+
query = query.limit(perPage);
|
|
1422
1476
|
if (offset > 0) query.offset(offset);
|
|
1423
1477
|
const records = await query.toArray();
|
|
1424
1478
|
const schema = await getTableSchema({ tableName: TABLE_SCORERS, client: this.client });
|
|
1425
1479
|
const scores = processResultWithTypeConversion(records, schema);
|
|
1426
|
-
|
|
1480
|
+
let totalQuery = table.query().where(`\`scorerId\` = '${scorerId}'`);
|
|
1481
|
+
if (source) {
|
|
1482
|
+
totalQuery = totalQuery.where(`\`source\` = '${source}'`);
|
|
1483
|
+
}
|
|
1484
|
+
const allRecords = await totalQuery.toArray();
|
|
1427
1485
|
const total = allRecords.length;
|
|
1428
1486
|
return {
|
|
1429
1487
|
pagination: {
|
|
@@ -1739,9 +1797,26 @@ var StoreWorkflowsLance = class extends WorkflowsStorage {
|
|
|
1739
1797
|
super();
|
|
1740
1798
|
this.client = client;
|
|
1741
1799
|
}
|
|
1800
|
+
updateWorkflowResults({
|
|
1801
|
+
// workflowName,
|
|
1802
|
+
// runId,
|
|
1803
|
+
// stepId,
|
|
1804
|
+
// result,
|
|
1805
|
+
// runtimeContext,
|
|
1806
|
+
}) {
|
|
1807
|
+
throw new Error("Method not implemented.");
|
|
1808
|
+
}
|
|
1809
|
+
updateWorkflowState({
|
|
1810
|
+
// workflowName,
|
|
1811
|
+
// runId,
|
|
1812
|
+
// opts,
|
|
1813
|
+
}) {
|
|
1814
|
+
throw new Error("Method not implemented.");
|
|
1815
|
+
}
|
|
1742
1816
|
async persistWorkflowSnapshot({
|
|
1743
1817
|
workflowName,
|
|
1744
1818
|
runId,
|
|
1819
|
+
resourceId,
|
|
1745
1820
|
snapshot
|
|
1746
1821
|
}) {
|
|
1747
1822
|
try {
|
|
@@ -1758,6 +1833,7 @@ var StoreWorkflowsLance = class extends WorkflowsStorage {
|
|
|
1758
1833
|
const record = {
|
|
1759
1834
|
workflow_name: workflowName,
|
|
1760
1835
|
run_id: runId,
|
|
1836
|
+
resourceId,
|
|
1761
1837
|
snapshot: JSON.stringify(snapshot),
|
|
1762
1838
|
createdAt,
|
|
1763
1839
|
updatedAt: now
|
|
@@ -2069,6 +2145,12 @@ var LanceStorage = class _LanceStorage extends MastraStorage {
|
|
|
2069
2145
|
}) {
|
|
2070
2146
|
return this.stores.memory.getMessages({ threadId, resourceId, selectBy, format, threadConfig });
|
|
2071
2147
|
}
|
|
2148
|
+
async getMessagesById({
|
|
2149
|
+
messageIds,
|
|
2150
|
+
format
|
|
2151
|
+
}) {
|
|
2152
|
+
return this.stores.memory.getMessagesById({ messageIds, format });
|
|
2153
|
+
}
|
|
2072
2154
|
async saveMessages(args) {
|
|
2073
2155
|
return this.stores.memory.saveMessages(args);
|
|
2074
2156
|
}
|
|
@@ -2102,12 +2184,29 @@ var LanceStorage = class _LanceStorage extends MastraStorage {
|
|
|
2102
2184
|
async getWorkflowRunById(args) {
|
|
2103
2185
|
return this.stores.workflows.getWorkflowRunById(args);
|
|
2104
2186
|
}
|
|
2187
|
+
async updateWorkflowResults({
|
|
2188
|
+
workflowName,
|
|
2189
|
+
runId,
|
|
2190
|
+
stepId,
|
|
2191
|
+
result,
|
|
2192
|
+
runtimeContext
|
|
2193
|
+
}) {
|
|
2194
|
+
return this.stores.workflows.updateWorkflowResults({ workflowName, runId, stepId, result, runtimeContext });
|
|
2195
|
+
}
|
|
2196
|
+
async updateWorkflowState({
|
|
2197
|
+
workflowName,
|
|
2198
|
+
runId,
|
|
2199
|
+
opts
|
|
2200
|
+
}) {
|
|
2201
|
+
return this.stores.workflows.updateWorkflowState({ workflowName, runId, opts });
|
|
2202
|
+
}
|
|
2105
2203
|
async persistWorkflowSnapshot({
|
|
2106
2204
|
workflowName,
|
|
2107
2205
|
runId,
|
|
2206
|
+
resourceId,
|
|
2108
2207
|
snapshot
|
|
2109
2208
|
}) {
|
|
2110
|
-
return this.stores.workflows.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
2209
|
+
return this.stores.workflows.persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot });
|
|
2111
2210
|
}
|
|
2112
2211
|
async loadWorkflowSnapshot({
|
|
2113
2212
|
workflowName,
|
|
@@ -2120,9 +2219,12 @@ var LanceStorage = class _LanceStorage extends MastraStorage {
|
|
|
2120
2219
|
}
|
|
2121
2220
|
async getScoresByScorerId({
|
|
2122
2221
|
scorerId,
|
|
2222
|
+
source,
|
|
2223
|
+
entityId,
|
|
2224
|
+
entityType,
|
|
2123
2225
|
pagination
|
|
2124
2226
|
}) {
|
|
2125
|
-
return this.stores.scores.getScoresByScorerId({ scorerId, pagination });
|
|
2227
|
+
return this.stores.scores.getScoresByScorerId({ scorerId, source, pagination, entityId, entityType });
|
|
2126
2228
|
}
|
|
2127
2229
|
async saveScore(_score) {
|
|
2128
2230
|
return this.stores.scores.saveScore(_score);
|