@mastra/dynamodb 0.0.0-remove-unused-model-providers-api-20251030210744 → 0.0.0-remove-ai-peer-dep-from-evals-20260105220639
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 +1094 -3
- package/dist/docs/README.md +31 -0
- package/dist/docs/SKILL.md +32 -0
- package/dist/docs/SOURCE_MAP.json +6 -0
- package/dist/docs/storage/01-reference.md +162 -0
- package/dist/entities/index.d.ts +4 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/score.d.ts +4 -0
- package/dist/entities/score.d.ts.map +1 -1
- package/dist/index.cjs +465 -882
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +463 -883
- package/dist/index.js.map +1 -1
- package/dist/storage/db/index.d.ts +32 -0
- package/dist/storage/db/index.d.ts.map +1 -0
- package/dist/storage/domains/memory/index.d.ts +15 -44
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/scores/index.d.ts +46 -0
- package/dist/storage/domains/scores/index.d.ts.map +1 -0
- package/dist/storage/domains/utils.d.ts +7 -0
- package/dist/storage/domains/utils.d.ts.map +1 -0
- package/dist/storage/domains/workflows/index.d.ts +14 -15
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +87 -182
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +16 -14
- package/dist/storage/domains/operations/index.d.ts +0 -69
- package/dist/storage/domains/operations/index.d.ts.map +0 -1
- package/dist/storage/domains/score/index.d.ts +0 -51
- package/dist/storage/domains/score/index.d.ts.map +0 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Service } from 'electrodb';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for standalone domain usage.
|
|
4
|
+
* Accepts either:
|
|
5
|
+
* 1. An existing ElectroDB service
|
|
6
|
+
* 2. Config to create a new service internally
|
|
7
|
+
*/
|
|
8
|
+
export type DynamoDBDomainConfig = DynamoDBDomainServiceConfig | DynamoDBDomainRestConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Pass an existing ElectroDB service
|
|
11
|
+
*/
|
|
12
|
+
export interface DynamoDBDomainServiceConfig {
|
|
13
|
+
service: Service<Record<string, any>>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Pass config to create a new ElectroDB service internally
|
|
17
|
+
*/
|
|
18
|
+
export interface DynamoDBDomainRestConfig {
|
|
19
|
+
region?: string;
|
|
20
|
+
tableName: string;
|
|
21
|
+
endpoint?: string;
|
|
22
|
+
credentials?: {
|
|
23
|
+
accessKeyId: string;
|
|
24
|
+
secretAccessKey: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolves DynamoDBDomainConfig to an ElectroDB service.
|
|
29
|
+
* Handles creating a new service if config is provided.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveDynamoDBConfig(config: DynamoDBDomainConfig): Service<Record<string, any>>;
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG,wBAAwB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAehG"}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import type { MastraMessageContentV2 } from '@mastra/core/agent';
|
|
2
|
-
import type { StorageThreadType,
|
|
2
|
+
import type { StorageThreadType, MastraDBMessage } from '@mastra/core/memory';
|
|
3
3
|
import { MemoryStorage } from '@mastra/core/storage';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
4
|
+
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsByResourceIdInput, StorageListThreadsByResourceIdOutput } from '@mastra/core/storage';
|
|
5
|
+
import type { DynamoDBDomainConfig } from '../../db/index.js';
|
|
6
6
|
export declare class MemoryStorageDynamoDB extends MemoryStorage {
|
|
7
7
|
private service;
|
|
8
|
-
constructor(
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
constructor(config: DynamoDBDomainConfig);
|
|
9
|
+
dangerouslyClearAll(): Promise<void>;
|
|
10
|
+
deleteMessages(messageIds: string[]): Promise<void>;
|
|
11
11
|
private parseMessageData;
|
|
12
12
|
private transformAndSortThreads;
|
|
13
13
|
getThreadById({ threadId }: {
|
|
14
14
|
threadId: string;
|
|
15
15
|
}): Promise<StorageThreadType | null>;
|
|
16
|
-
/**
|
|
17
|
-
* @deprecated use getThreadsByResourceIdPaginated instead for paginated results.
|
|
18
|
-
*/
|
|
19
|
-
getThreadsByResourceId(args: {
|
|
20
|
-
resourceId: string;
|
|
21
|
-
} & ThreadSortOptions): Promise<StorageThreadType[]>;
|
|
22
16
|
saveThread({ thread }: {
|
|
23
17
|
thread: StorageThreadType;
|
|
24
18
|
}): Promise<StorageThreadType>;
|
|
@@ -30,51 +24,28 @@ export declare class MemoryStorageDynamoDB extends MemoryStorage {
|
|
|
30
24
|
deleteThread({ threadId }: {
|
|
31
25
|
threadId: string;
|
|
32
26
|
}): Promise<void>;
|
|
33
|
-
getMessages(args: StorageGetMessagesArg & {
|
|
34
|
-
format?: 'v1';
|
|
35
|
-
}): Promise<MastraMessageV1[]>;
|
|
36
|
-
getMessages(args: StorageGetMessagesArg & {
|
|
37
|
-
format: 'v2';
|
|
38
|
-
}): Promise<MastraMessageV2[]>;
|
|
39
27
|
listMessagesById({ messageIds }: {
|
|
40
28
|
messageIds: string[];
|
|
41
|
-
}): Promise<
|
|
29
|
+
}): Promise<{
|
|
30
|
+
messages: MastraDBMessage[];
|
|
31
|
+
}>;
|
|
42
32
|
listMessages(args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
|
|
43
|
-
/**
|
|
44
|
-
* @todo When migrating from getThreadsByResourceIdPaginated to this method,
|
|
45
|
-
* implement orderBy and sortDirection support for full sorting capabilities
|
|
46
|
-
*/
|
|
47
|
-
listThreadsByResourceId(args: StorageListThreadsByResourceIdInput): Promise<StorageListThreadsByResourceIdOutput>;
|
|
48
|
-
saveMessages(args: {
|
|
49
|
-
messages: MastraMessageV1[];
|
|
50
|
-
format?: undefined | 'v1';
|
|
51
|
-
}): Promise<MastraMessageV1[]>;
|
|
52
33
|
saveMessages(args: {
|
|
53
|
-
messages:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
getThreadsByResourceIdPaginated(args: {
|
|
57
|
-
resourceId: string;
|
|
58
|
-
page?: number;
|
|
59
|
-
perPage?: number;
|
|
60
|
-
} & ThreadSortOptions): Promise<PaginationInfo & {
|
|
61
|
-
threads: StorageThreadType[];
|
|
62
|
-
}>;
|
|
63
|
-
getMessagesPaginated(args: StorageGetMessagesArg & {
|
|
64
|
-
format?: 'v1' | 'v2';
|
|
65
|
-
}): Promise<PaginationInfo & {
|
|
66
|
-
messages: MastraMessageV1[] | MastraMessageV2[];
|
|
34
|
+
messages: MastraDBMessage[];
|
|
35
|
+
}): Promise<{
|
|
36
|
+
messages: MastraDBMessage[];
|
|
67
37
|
}>;
|
|
38
|
+
listThreadsByResourceId(args: StorageListThreadsByResourceIdInput): Promise<StorageListThreadsByResourceIdOutput>;
|
|
68
39
|
private _getIncludedMessages;
|
|
69
40
|
updateMessages(args: {
|
|
70
|
-
messages: Partial<Omit<
|
|
41
|
+
messages: Partial<Omit<MastraDBMessage, 'createdAt'>> & {
|
|
71
42
|
id: string;
|
|
72
43
|
content?: {
|
|
73
44
|
metadata?: MastraMessageContentV2['metadata'];
|
|
74
45
|
content?: MastraMessageContentV2['content'];
|
|
75
46
|
};
|
|
76
47
|
}[];
|
|
77
|
-
}): Promise<
|
|
48
|
+
}): Promise<MastraDBMessage[]>;
|
|
78
49
|
getResourceById({ resourceId }: {
|
|
79
50
|
resourceId: string;
|
|
80
51
|
}): Promise<StorageResourceType | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ListScoresResponse, SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
|
|
2
|
+
import { ScoresStorage } from '@mastra/core/storage';
|
|
3
|
+
import type { StoragePagination } from '@mastra/core/storage';
|
|
4
|
+
import type { DynamoDBDomainConfig } from '../../db/index.js';
|
|
5
|
+
export declare class ScoresStorageDynamoDB extends ScoresStorage {
|
|
6
|
+
private service;
|
|
7
|
+
constructor(config: DynamoDBDomainConfig);
|
|
8
|
+
dangerouslyClearAll(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* DynamoDB-specific score row transformation.
|
|
11
|
+
*
|
|
12
|
+
* Note: This implementation does NOT use coreTransformScoreRow because:
|
|
13
|
+
* 1. ElectroDB already parses JSON fields via its entity getters
|
|
14
|
+
* 2. DynamoDB stores empty strings for null values (which need special handling)
|
|
15
|
+
* 3. 'entity' is a reserved ElectroDB key, so we use 'entityData' column
|
|
16
|
+
*/
|
|
17
|
+
private parseScoreData;
|
|
18
|
+
getScoreById({ id }: {
|
|
19
|
+
id: string;
|
|
20
|
+
}): Promise<ScoreRowData | null>;
|
|
21
|
+
saveScore(score: SaveScorePayload): Promise<{
|
|
22
|
+
score: ScoreRowData;
|
|
23
|
+
}>;
|
|
24
|
+
listScoresByScorerId({ scorerId, pagination, entityId, entityType, source, }: {
|
|
25
|
+
scorerId: string;
|
|
26
|
+
pagination: StoragePagination;
|
|
27
|
+
entityId?: string;
|
|
28
|
+
entityType?: string;
|
|
29
|
+
source?: ScoringSource;
|
|
30
|
+
}): Promise<ListScoresResponse>;
|
|
31
|
+
listScoresByRunId({ runId, pagination, }: {
|
|
32
|
+
runId: string;
|
|
33
|
+
pagination: StoragePagination;
|
|
34
|
+
}): Promise<ListScoresResponse>;
|
|
35
|
+
listScoresByEntityId({ entityId, entityType, pagination, }: {
|
|
36
|
+
entityId: string;
|
|
37
|
+
entityType: string;
|
|
38
|
+
pagination: StoragePagination;
|
|
39
|
+
}): Promise<ListScoresResponse>;
|
|
40
|
+
listScoresBySpan({ traceId, spanId, pagination, }: {
|
|
41
|
+
traceId: string;
|
|
42
|
+
spanId: string;
|
|
43
|
+
pagination: StoragePagination;
|
|
44
|
+
}): Promise<ListScoresResponse>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5G,OAAO,EAGL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,OAAO,CAA+B;gBAClC,MAAM,EAAE,oBAAoB;IAKlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAsBhB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAuBlE,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IA2FpE,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,GACP,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6DzB,iBAAiB,CAAC,EACtB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6CzB,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgDzB,gBAAgB,CAAC,EACrB,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA4ChC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TABLE_NAMES } from '@mastra/core/storage';
|
|
2
|
+
import type { Service } from 'electrodb';
|
|
3
|
+
/**
|
|
4
|
+
* Deletes all data for a given table/entity type
|
|
5
|
+
*/
|
|
6
|
+
export declare function deleteTableData(service: Service<Record<string, any>>, tableName: TABLE_NAMES): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/domains/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCzC;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBlH"}
|
|
@@ -1,35 +1,30 @@
|
|
|
1
1
|
import { WorkflowsStorage } from '@mastra/core/storage';
|
|
2
|
-
import type { WorkflowRun, WorkflowRuns, StorageListWorkflowRunsInput } from '@mastra/core/storage';
|
|
2
|
+
import type { WorkflowRun, WorkflowRuns, StorageListWorkflowRunsInput, UpdateWorkflowStateOptions } from '@mastra/core/storage';
|
|
3
3
|
import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
|
|
4
|
-
import type {
|
|
4
|
+
import type { DynamoDBDomainConfig } from '../../db/index.js';
|
|
5
5
|
export declare class WorkflowStorageDynamoDB extends WorkflowsStorage {
|
|
6
6
|
private service;
|
|
7
|
-
constructor(
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
updateWorkflowResults({}: {
|
|
7
|
+
constructor(config: DynamoDBDomainConfig);
|
|
8
|
+
dangerouslyClearAll(): Promise<void>;
|
|
9
|
+
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
|
|
11
10
|
workflowName: string;
|
|
12
11
|
runId: string;
|
|
13
12
|
stepId: string;
|
|
14
13
|
result: StepResult<any, any, any, any>;
|
|
15
14
|
requestContext: Record<string, any>;
|
|
16
15
|
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
17
|
-
updateWorkflowState({}: {
|
|
16
|
+
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
18
17
|
workflowName: string;
|
|
19
18
|
runId: string;
|
|
20
|
-
opts:
|
|
21
|
-
status: string;
|
|
22
|
-
result?: StepResult<any, any, any, any>;
|
|
23
|
-
error?: string;
|
|
24
|
-
suspendedPaths?: Record<string, number[]>;
|
|
25
|
-
waitingPaths?: Record<string, number[]>;
|
|
26
|
-
};
|
|
19
|
+
opts: UpdateWorkflowStateOptions;
|
|
27
20
|
}): Promise<WorkflowRunState | undefined>;
|
|
28
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
|
|
21
|
+
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, createdAt, updatedAt, }: {
|
|
29
22
|
workflowName: string;
|
|
30
23
|
runId: string;
|
|
31
24
|
resourceId?: string;
|
|
32
25
|
snapshot: WorkflowRunState;
|
|
26
|
+
createdAt?: Date;
|
|
27
|
+
updatedAt?: Date;
|
|
33
28
|
}): Promise<void>;
|
|
34
29
|
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
35
30
|
workflowName: string;
|
|
@@ -40,5 +35,9 @@ export declare class WorkflowStorageDynamoDB extends WorkflowsStorage {
|
|
|
40
35
|
runId: string;
|
|
41
36
|
workflowName?: string;
|
|
42
37
|
}): Promise<WorkflowRun | null>;
|
|
38
|
+
deleteWorkflowRunById({ runId, workflowName }: {
|
|
39
|
+
runId: string;
|
|
40
|
+
workflowName: string;
|
|
41
|
+
}): Promise<void>;
|
|
43
42
|
}
|
|
44
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAyBrD,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,OAAO,CAA+B;gBAClC,MAAM,EAAE,oBAAoB;IAKlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,qBAAqB,CAAC,EAC1B,YAAY,EACZ,KAAK,EACL,MAAM,EACN,MAAM,EACN,cAAc,GACf,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAgDrD,mBAAmB,CAAC,EACxB,YAAY,EACZ,KAAK,EACL,IAAI,GACL,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,0BAA0B,CAAC;KAClC,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA+BnC,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,SAAS,CAAC,EAAE,IAAI,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BX,oBAAoB,CAAC,EACzB,YAAY,EACZ,KAAK,GACN,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAiC9B,gBAAgB,CAAC,IAAI,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,YAAY,CAAC;IAgH5E,kBAAkB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA+E/F,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7G"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,18 +1,95 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type { ScoreRowData, ScoringSource } from '@mastra/core/scores';
|
|
1
|
+
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import type { StorageDomains } from '@mastra/core/storage';
|
|
4
3
|
import { MastraStorage } from '@mastra/core/storage';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { MemoryStorageDynamoDB } from './domains/memory/index.js';
|
|
5
|
+
import { ScoresStorageDynamoDB } from './domains/scores/index.js';
|
|
6
|
+
import { WorkflowStorageDynamoDB } from './domains/workflows/index.js';
|
|
7
|
+
export { MemoryStorageDynamoDB, ScoresStorageDynamoDB, WorkflowStorageDynamoDB };
|
|
8
|
+
export type { DynamoDBDomainConfig } from './db/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* DynamoDB configuration type.
|
|
11
|
+
*
|
|
12
|
+
* Accepts either:
|
|
13
|
+
* - A pre-configured DynamoDB client: `{ id, client, tableName }`
|
|
14
|
+
* - AWS config: `{ id, tableName, region?, endpoint?, credentials? }`
|
|
15
|
+
*/
|
|
16
|
+
export type DynamoDBStoreConfig = {
|
|
17
|
+
id: string;
|
|
9
18
|
tableName: string;
|
|
19
|
+
/**
|
|
20
|
+
* When true, automatic initialization (table creation/migrations) is disabled.
|
|
21
|
+
* This is useful for CI/CD pipelines where you want to:
|
|
22
|
+
* 1. Run migrations explicitly during deployment (not at runtime)
|
|
23
|
+
* 2. Use different credentials for schema changes vs runtime operations
|
|
24
|
+
*
|
|
25
|
+
* When disableInit is true:
|
|
26
|
+
* - The storage will not automatically create/alter tables on first use
|
|
27
|
+
* - You must call `storage.init()` explicitly in your CI/CD scripts
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* // In CI/CD script:
|
|
31
|
+
* const storage = new DynamoDBStore({ name: 'my-store', config: { ...config, disableInit: false } });
|
|
32
|
+
* await storage.init(); // Explicitly run migrations
|
|
33
|
+
*
|
|
34
|
+
* // In runtime application:
|
|
35
|
+
* const storage = new DynamoDBStore({ name: 'my-store', config: { ...config, disableInit: true } });
|
|
36
|
+
* // No auto-init, tables must already exist
|
|
37
|
+
*/
|
|
38
|
+
disableInit?: boolean;
|
|
39
|
+
} & ({
|
|
40
|
+
/**
|
|
41
|
+
* Pre-configured DynamoDB Document client.
|
|
42
|
+
* Use this when you need to configure the client before initialization,
|
|
43
|
+
* e.g., to set custom middleware or retry strategies.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
48
|
+
* import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
49
|
+
*
|
|
50
|
+
* const dynamoClient = new DynamoDBClient({
|
|
51
|
+
* region: 'us-east-1',
|
|
52
|
+
* // Custom settings
|
|
53
|
+
* maxAttempts: 5,
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* const client = DynamoDBDocumentClient.from(dynamoClient, {
|
|
57
|
+
* marshallOptions: { removeUndefinedValues: true },
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* const store = new DynamoDBStore({
|
|
61
|
+
* name: 'my-store',
|
|
62
|
+
* config: { id: 'my-id', client, tableName: 'my-table' }
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
client: DynamoDBDocumentClient;
|
|
67
|
+
} | {
|
|
68
|
+
region?: string;
|
|
10
69
|
endpoint?: string;
|
|
11
70
|
credentials?: {
|
|
12
71
|
accessKeyId: string;
|
|
13
72
|
secretAccessKey: string;
|
|
14
73
|
};
|
|
15
|
-
}
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* DynamoDB storage adapter for Mastra.
|
|
77
|
+
*
|
|
78
|
+
* Access domain-specific storage via `getStore()`:
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const storage = new DynamoDBStore({ name: 'my-store', config: { id: 'my-id', tableName: 'my-table' } });
|
|
83
|
+
*
|
|
84
|
+
* // Access memory domain
|
|
85
|
+
* const memory = await storage.getStore('memory');
|
|
86
|
+
* await memory?.saveThread({ thread });
|
|
87
|
+
*
|
|
88
|
+
* // Access workflows domain
|
|
89
|
+
* const workflows = await storage.getStore('workflows');
|
|
90
|
+
* await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
16
93
|
export declare class DynamoDBStore extends MastraStorage {
|
|
17
94
|
private tableName;
|
|
18
95
|
private client;
|
|
@@ -23,14 +100,6 @@ export declare class DynamoDBStore extends MastraStorage {
|
|
|
23
100
|
name: string;
|
|
24
101
|
config: DynamoDBStoreConfig;
|
|
25
102
|
});
|
|
26
|
-
get supports(): {
|
|
27
|
-
selectByIncludeResourceScope: boolean;
|
|
28
|
-
resourceWorkingMemory: boolean;
|
|
29
|
-
hasColumn: boolean;
|
|
30
|
-
createTable: boolean;
|
|
31
|
-
deleteMessages: boolean;
|
|
32
|
-
getScoresBySpan: boolean;
|
|
33
|
-
};
|
|
34
103
|
/**
|
|
35
104
|
* Validates that the required DynamoDB table exists and is accessible.
|
|
36
105
|
* This does not check the table structure - it assumes the table
|
|
@@ -48,175 +117,11 @@ export declare class DynamoDBStore extends MastraStorage {
|
|
|
48
117
|
* Handles resetting the stored promise on failure to allow retries.
|
|
49
118
|
*/
|
|
50
119
|
private _performInitializationAndStore;
|
|
51
|
-
createTable({ tableName, schema }: {
|
|
52
|
-
tableName: TABLE_NAMES;
|
|
53
|
-
schema: Record<string, any>;
|
|
54
|
-
}): Promise<void>;
|
|
55
|
-
alterTable(_args: {
|
|
56
|
-
tableName: TABLE_NAMES;
|
|
57
|
-
schema: Record<string, StorageColumn>;
|
|
58
|
-
ifNotExists: string[];
|
|
59
|
-
}): Promise<void>;
|
|
60
|
-
clearTable({ tableName }: {
|
|
61
|
-
tableName: TABLE_NAMES;
|
|
62
|
-
}): Promise<void>;
|
|
63
|
-
dropTable({ tableName }: {
|
|
64
|
-
tableName: TABLE_NAMES;
|
|
65
|
-
}): Promise<void>;
|
|
66
|
-
insert({ tableName, record }: {
|
|
67
|
-
tableName: TABLE_NAMES;
|
|
68
|
-
record: Record<string, any>;
|
|
69
|
-
}): Promise<void>;
|
|
70
|
-
batchInsert({ tableName, records }: {
|
|
71
|
-
tableName: TABLE_NAMES;
|
|
72
|
-
records: Record<string, any>[];
|
|
73
|
-
}): Promise<void>;
|
|
74
|
-
load<R>({ tableName, keys }: {
|
|
75
|
-
tableName: TABLE_NAMES;
|
|
76
|
-
keys: Record<string, string>;
|
|
77
|
-
}): Promise<R | null>;
|
|
78
|
-
getThreadById({ threadId }: {
|
|
79
|
-
threadId: string;
|
|
80
|
-
}): Promise<StorageThreadType | null>;
|
|
81
|
-
getThreadsByResourceId(args: {
|
|
82
|
-
resourceId: string;
|
|
83
|
-
} & ThreadSortOptions): Promise<StorageThreadType[]>;
|
|
84
|
-
saveThread({ thread }: {
|
|
85
|
-
thread: StorageThreadType;
|
|
86
|
-
}): Promise<StorageThreadType>;
|
|
87
|
-
updateThread({ id, title, metadata, }: {
|
|
88
|
-
id: string;
|
|
89
|
-
title: string;
|
|
90
|
-
metadata: Record<string, unknown>;
|
|
91
|
-
}): Promise<StorageThreadType>;
|
|
92
|
-
deleteThread({ threadId }: {
|
|
93
|
-
threadId: string;
|
|
94
|
-
}): Promise<void>;
|
|
95
|
-
getMessages(args: StorageGetMessagesArg & {
|
|
96
|
-
format?: 'v1';
|
|
97
|
-
}): Promise<MastraMessageV1[]>;
|
|
98
|
-
getMessages(args: StorageGetMessagesArg & {
|
|
99
|
-
format: 'v2';
|
|
100
|
-
}): Promise<MastraMessageV2[]>;
|
|
101
|
-
saveMessages(args: {
|
|
102
|
-
messages: MastraMessageV1[];
|
|
103
|
-
format?: undefined | 'v1';
|
|
104
|
-
}): Promise<MastraMessageV1[]>;
|
|
105
|
-
saveMessages(args: {
|
|
106
|
-
messages: MastraMessageV2[];
|
|
107
|
-
format: 'v2';
|
|
108
|
-
}): Promise<MastraMessageV2[]>;
|
|
109
|
-
getThreadsByResourceIdPaginated(args: {
|
|
110
|
-
resourceId: string;
|
|
111
|
-
page: number;
|
|
112
|
-
perPage: number;
|
|
113
|
-
} & ThreadSortOptions): Promise<PaginationInfo & {
|
|
114
|
-
threads: StorageThreadType[];
|
|
115
|
-
}>;
|
|
116
|
-
getMessagesPaginated(args: StorageGetMessagesArg & {
|
|
117
|
-
format?: 'v1' | 'v2';
|
|
118
|
-
}): Promise<PaginationInfo & {
|
|
119
|
-
messages: MastraMessageV1[] | MastraMessageV2[];
|
|
120
|
-
}>;
|
|
121
|
-
updateMessages(_args: {
|
|
122
|
-
messages: Partial<Omit<MastraMessageV2, 'createdAt'>> & {
|
|
123
|
-
id: string;
|
|
124
|
-
content?: {
|
|
125
|
-
metadata?: MastraMessageContentV2['metadata'];
|
|
126
|
-
content?: MastraMessageContentV2['content'];
|
|
127
|
-
};
|
|
128
|
-
}[];
|
|
129
|
-
}): Promise<MastraMessageV2[]>;
|
|
130
|
-
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
|
|
131
|
-
workflowName: string;
|
|
132
|
-
runId: string;
|
|
133
|
-
stepId: string;
|
|
134
|
-
result: StepResult<any, any, any, any>;
|
|
135
|
-
requestContext: Record<string, any>;
|
|
136
|
-
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
137
|
-
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
138
|
-
workflowName: string;
|
|
139
|
-
runId: string;
|
|
140
|
-
opts: {
|
|
141
|
-
status: string;
|
|
142
|
-
result?: StepResult<any, any, any, any>;
|
|
143
|
-
error?: string;
|
|
144
|
-
suspendedPaths?: Record<string, number[]>;
|
|
145
|
-
waitingPaths?: Record<string, number[]>;
|
|
146
|
-
};
|
|
147
|
-
}): Promise<WorkflowRunState | undefined>;
|
|
148
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
|
|
149
|
-
workflowName: string;
|
|
150
|
-
runId: string;
|
|
151
|
-
resourceId?: string;
|
|
152
|
-
snapshot: WorkflowRunState;
|
|
153
|
-
}): Promise<void>;
|
|
154
|
-
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
155
|
-
workflowName: string;
|
|
156
|
-
runId: string;
|
|
157
|
-
}): Promise<WorkflowRunState | null>;
|
|
158
|
-
listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
|
|
159
|
-
getWorkflowRunById(args: {
|
|
160
|
-
runId: string;
|
|
161
|
-
workflowName?: string;
|
|
162
|
-
}): Promise<WorkflowRun | null>;
|
|
163
|
-
getResourceById({ resourceId }: {
|
|
164
|
-
resourceId: string;
|
|
165
|
-
}): Promise<StorageResourceType | null>;
|
|
166
|
-
saveResource({ resource }: {
|
|
167
|
-
resource: StorageResourceType;
|
|
168
|
-
}): Promise<StorageResourceType>;
|
|
169
|
-
updateResource({ resourceId, workingMemory, metadata, }: {
|
|
170
|
-
resourceId: string;
|
|
171
|
-
workingMemory?: string;
|
|
172
|
-
metadata?: Record<string, any>;
|
|
173
|
-
}): Promise<StorageResourceType>;
|
|
174
120
|
/**
|
|
175
121
|
* Closes the DynamoDB client connection and cleans up resources.
|
|
176
|
-
*
|
|
122
|
+
*
|
|
123
|
+
* This will close the DynamoDB client, including pre-configured clients.
|
|
177
124
|
*/
|
|
178
125
|
close(): Promise<void>;
|
|
179
|
-
/**
|
|
180
|
-
* SCORERS - Not implemented
|
|
181
|
-
*/
|
|
182
|
-
getScoreById({ id: _id }: {
|
|
183
|
-
id: string;
|
|
184
|
-
}): Promise<ScoreRowData | null>;
|
|
185
|
-
saveScore(_score: ScoreRowData): Promise<{
|
|
186
|
-
score: ScoreRowData;
|
|
187
|
-
}>;
|
|
188
|
-
getScoresByRunId({ runId: _runId, pagination: _pagination, }: {
|
|
189
|
-
runId: string;
|
|
190
|
-
pagination: StoragePagination;
|
|
191
|
-
}): Promise<{
|
|
192
|
-
pagination: PaginationInfo;
|
|
193
|
-
scores: ScoreRowData[];
|
|
194
|
-
}>;
|
|
195
|
-
getScoresByEntityId({ entityId: _entityId, entityType: _entityType, pagination: _pagination, }: {
|
|
196
|
-
pagination: StoragePagination;
|
|
197
|
-
entityId: string;
|
|
198
|
-
entityType: string;
|
|
199
|
-
}): Promise<{
|
|
200
|
-
pagination: PaginationInfo;
|
|
201
|
-
scores: ScoreRowData[];
|
|
202
|
-
}>;
|
|
203
|
-
getScoresByScorerId({ scorerId, source, entityId, entityType, pagination, }: {
|
|
204
|
-
scorerId: string;
|
|
205
|
-
entityId?: string;
|
|
206
|
-
entityType?: string;
|
|
207
|
-
source?: ScoringSource;
|
|
208
|
-
pagination: StoragePagination;
|
|
209
|
-
}): Promise<{
|
|
210
|
-
pagination: PaginationInfo;
|
|
211
|
-
scores: ScoreRowData[];
|
|
212
|
-
}>;
|
|
213
|
-
getScoresBySpan({ traceId, spanId, pagination, }: {
|
|
214
|
-
traceId: string;
|
|
215
|
-
spanId: string;
|
|
216
|
-
pagination: StoragePagination;
|
|
217
|
-
}): Promise<{
|
|
218
|
-
pagination: PaginationInfo;
|
|
219
|
-
scores: ScoreRowData[];
|
|
220
|
-
}>;
|
|
221
126
|
}
|
|
222
127
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAwB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,CACA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAChC,GACD;IACE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,CACJ,CAAC;AAgBF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAgB;IAC/B,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAQ;IACzD,MAAM,EAAE,cAAc,CAAC;gBAEX,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE;IA0D3E;;;;OAIG;YACW,mBAAmB;IA6BjC;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAmBtC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBpC"}
|