@mastra/dynamodb 1.0.0-beta.5 → 1.0.0-beta.7

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.
@@ -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"}
@@ -2,12 +2,12 @@ import type { MastraMessageContentV2 } from '@mastra/core/agent';
2
2
  import type { StorageThreadType, MastraDBMessage } from '@mastra/core/memory';
3
3
  import { MemoryStorage } from '@mastra/core/storage';
4
4
  import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsByResourceIdInput, StorageListThreadsByResourceIdOutput } from '@mastra/core/storage';
5
- import type { Service } from 'electrodb';
5
+ import type { DynamoDBDomainConfig } from '../../db/index.js';
6
6
  export declare class MemoryStorageDynamoDB extends MemoryStorage {
7
7
  private service;
8
- constructor({ service }: {
9
- service: Service<Record<string, any>>;
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 }: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import type { SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
1
+ import type { ListScoresResponse, SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
2
2
  import { ScoresStorage } from '@mastra/core/storage';
3
- import type { PaginationInfo, StoragePagination } from '@mastra/core/storage';
4
- import type { Service } from 'electrodb';
3
+ import type { StoragePagination } from '@mastra/core/storage';
4
+ import type { DynamoDBDomainConfig } from '../../db/index.js';
5
5
  export declare class ScoresStorageDynamoDB extends ScoresStorage {
6
6
  private service;
7
- constructor({ service }: {
8
- service: Service<Record<string, any>>;
9
- });
7
+ constructor(config: DynamoDBDomainConfig);
8
+ dangerouslyClearAll(): Promise<void>;
10
9
  /**
11
10
  * DynamoDB-specific score row transformation.
12
11
  *
@@ -28,32 +27,20 @@ export declare class ScoresStorageDynamoDB extends ScoresStorage {
28
27
  entityId?: string;
29
28
  entityType?: string;
30
29
  source?: ScoringSource;
31
- }): Promise<{
32
- pagination: PaginationInfo;
33
- scores: ScoreRowData[];
34
- }>;
30
+ }): Promise<ListScoresResponse>;
35
31
  listScoresByRunId({ runId, pagination, }: {
36
32
  runId: string;
37
33
  pagination: StoragePagination;
38
- }): Promise<{
39
- pagination: PaginationInfo;
40
- scores: ScoreRowData[];
41
- }>;
34
+ }): Promise<ListScoresResponse>;
42
35
  listScoresByEntityId({ entityId, entityType, pagination, }: {
43
36
  entityId: string;
44
37
  entityType: string;
45
38
  pagination: StoragePagination;
46
- }): Promise<{
47
- pagination: PaginationInfo;
48
- scores: ScoreRowData[];
49
- }>;
39
+ }): Promise<ListScoresResponse>;
50
40
  listScoresBySpan({ traceId, spanId, pagination, }: {
51
41
  traceId: string;
52
42
  spanId: string;
53
43
  pagination: StoragePagination;
54
- }): Promise<{
55
- pagination: PaginationInfo;
56
- scores: ScoreRowData[];
57
- }>;
44
+ }): Promise<ListScoresResponse>;
58
45
  }
59
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 { Service } from 'electrodb';
4
+ import type { DynamoDBDomainConfig } from '../../db/index.js';
5
5
  export declare class WorkflowStorageDynamoDB extends WorkflowsStorage {
6
6
  private service;
7
- constructor({ service }: {
8
- service: Service<Record<string, any>>;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,OAAO,CAA+B;gBAClC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;KAAE;IAMlE,qBAAqB,CACnB,EAMC,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,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAG1D,mBAAmB,CACjB,EAIC,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SACzC,CAAC;KACH,GACA,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAKlC,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,GACT,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,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"}
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"}
@@ -1,18 +1,16 @@
1
- import type { MastraMessageContentV2 } from '@mastra/core/agent';
2
- import type { SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
3
- import type { StorageThreadType, MastraDBMessage } from '@mastra/core/memory';
1
+ import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
2
+ import type { StorageDomains, StorageSupports } from '@mastra/core/storage';
4
3
  import { MastraStorage } from '@mastra/core/storage';
5
- import type { WorkflowRun, WorkflowRuns, TABLE_NAMES, PaginationInfo, StorageColumn, StoragePagination, StorageDomains, StorageResourceType, StorageListWorkflowRunsInput } from '@mastra/core/storage';
6
- import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
7
- export interface DynamoDBStoreConfig {
4
+ /**
5
+ * DynamoDB configuration type.
6
+ *
7
+ * Accepts either:
8
+ * - A pre-configured DynamoDB client: `{ id, client, tableName }`
9
+ * - AWS config: `{ id, tableName, region?, endpoint?, credentials? }`
10
+ */
11
+ export type DynamoDBStoreConfig = {
8
12
  id: string;
9
- region?: string;
10
13
  tableName: string;
11
- endpoint?: string;
12
- credentials?: {
13
- accessKeyId: string;
14
- secretAccessKey: string;
15
- };
16
14
  /**
17
15
  * When true, automatic initialization (table creation/migrations) is disabled.
18
16
  * This is useful for CI/CD pipelines where you want to:
@@ -33,7 +31,60 @@ export interface DynamoDBStoreConfig {
33
31
  * // No auto-init, tables must already exist
34
32
  */
35
33
  disableInit?: boolean;
36
- }
34
+ } & ({
35
+ /**
36
+ * Pre-configured DynamoDB Document client.
37
+ * Use this when you need to configure the client before initialization,
38
+ * e.g., to set custom middleware or retry strategies.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
43
+ * import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
44
+ *
45
+ * const dynamoClient = new DynamoDBClient({
46
+ * region: 'us-east-1',
47
+ * // Custom settings
48
+ * maxAttempts: 5,
49
+ * });
50
+ *
51
+ * const client = DynamoDBDocumentClient.from(dynamoClient, {
52
+ * marshallOptions: { removeUndefinedValues: true },
53
+ * });
54
+ *
55
+ * const store = new DynamoDBStore({
56
+ * name: 'my-store',
57
+ * config: { id: 'my-id', client, tableName: 'my-table' }
58
+ * });
59
+ * ```
60
+ */
61
+ client: DynamoDBDocumentClient;
62
+ } | {
63
+ region?: string;
64
+ endpoint?: string;
65
+ credentials?: {
66
+ accessKeyId: string;
67
+ secretAccessKey: string;
68
+ };
69
+ });
70
+ /**
71
+ * DynamoDB storage adapter for Mastra.
72
+ *
73
+ * Access domain-specific storage via `getStore()`:
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const storage = new DynamoDBStore({ name: 'my-store', config: { id: 'my-id', tableName: 'my-table' } });
78
+ *
79
+ * // Access memory domain
80
+ * const memory = await storage.getStore('memory');
81
+ * await memory?.saveThread({ thread });
82
+ *
83
+ * // Access workflows domain
84
+ * const workflows = await storage.getStore('workflows');
85
+ * await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
86
+ * ```
87
+ */
37
88
  export declare class DynamoDBStore extends MastraStorage {
38
89
  private tableName;
39
90
  private client;
@@ -44,14 +95,7 @@ export declare class DynamoDBStore extends MastraStorage {
44
95
  name: string;
45
96
  config: DynamoDBStoreConfig;
46
97
  });
47
- get supports(): {
48
- selectByIncludeResourceScope: boolean;
49
- resourceWorkingMemory: boolean;
50
- hasColumn: boolean;
51
- createTable: boolean;
52
- deleteMessages: boolean;
53
- listScoresBySpan: boolean;
54
- };
98
+ get supports(): StorageSupports;
55
99
  /**
56
100
  * Validates that the required DynamoDB table exists and is accessible.
57
101
  * This does not check the table structure - it assumes the table
@@ -69,160 +113,11 @@ export declare class DynamoDBStore extends MastraStorage {
69
113
  * Handles resetting the stored promise on failure to allow retries.
70
114
  */
71
115
  private _performInitializationAndStore;
72
- createTable({ tableName, schema }: {
73
- tableName: TABLE_NAMES;
74
- schema: Record<string, any>;
75
- }): Promise<void>;
76
- alterTable(_args: {
77
- tableName: TABLE_NAMES;
78
- schema: Record<string, StorageColumn>;
79
- ifNotExists: string[];
80
- }): Promise<void>;
81
- clearTable({ tableName }: {
82
- tableName: TABLE_NAMES;
83
- }): Promise<void>;
84
- dropTable({ tableName }: {
85
- tableName: TABLE_NAMES;
86
- }): Promise<void>;
87
- insert({ tableName, record }: {
88
- tableName: TABLE_NAMES;
89
- record: Record<string, any>;
90
- }): Promise<void>;
91
- batchInsert({ tableName, records }: {
92
- tableName: TABLE_NAMES;
93
- records: Record<string, any>[];
94
- }): Promise<void>;
95
- load<R>({ tableName, keys }: {
96
- tableName: TABLE_NAMES;
97
- keys: Record<string, string>;
98
- }): Promise<R | null>;
99
- getThreadById({ threadId }: {
100
- threadId: string;
101
- }): Promise<StorageThreadType | null>;
102
- saveThread({ thread }: {
103
- thread: StorageThreadType;
104
- }): Promise<StorageThreadType>;
105
- updateThread({ id, title, metadata, }: {
106
- id: string;
107
- title: string;
108
- metadata: Record<string, unknown>;
109
- }): Promise<StorageThreadType>;
110
- deleteThread({ threadId }: {
111
- threadId: string;
112
- }): Promise<void>;
113
- listMessagesById(args: {
114
- messageIds: string[];
115
- }): Promise<{
116
- messages: MastraDBMessage[];
117
- }>;
118
- saveMessages(args: {
119
- messages: MastraDBMessage[];
120
- }): Promise<{
121
- messages: MastraDBMessage[];
122
- }>;
123
- updateMessages(_args: {
124
- messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
125
- id: string;
126
- content?: {
127
- metadata?: MastraMessageContentV2['metadata'];
128
- content?: MastraMessageContentV2['content'];
129
- };
130
- })[];
131
- }): Promise<MastraDBMessage[]>;
132
- updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
133
- workflowName: string;
134
- runId: string;
135
- stepId: string;
136
- result: StepResult<any, any, any, any>;
137
- requestContext: Record<string, any>;
138
- }): Promise<Record<string, StepResult<any, any, any, any>>>;
139
- updateWorkflowState({ workflowName, runId, opts, }: {
140
- workflowName: string;
141
- runId: string;
142
- opts: {
143
- status: string;
144
- result?: StepResult<any, any, any, any>;
145
- error?: string;
146
- suspendedPaths?: Record<string, number[]>;
147
- waitingPaths?: Record<string, number[]>;
148
- };
149
- }): Promise<WorkflowRunState | undefined>;
150
- persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
151
- workflowName: string;
152
- runId: string;
153
- resourceId?: string;
154
- snapshot: WorkflowRunState;
155
- }): Promise<void>;
156
- loadWorkflowSnapshot({ workflowName, runId, }: {
157
- workflowName: string;
158
- runId: string;
159
- }): Promise<WorkflowRunState | null>;
160
- listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
161
- getWorkflowRunById(args: {
162
- runId: string;
163
- workflowName?: string;
164
- }): Promise<WorkflowRun | null>;
165
- deleteWorkflowRunById({ runId, workflowName }: {
166
- runId: string;
167
- workflowName: string;
168
- }): Promise<void>;
169
- getResourceById({ resourceId }: {
170
- resourceId: string;
171
- }): Promise<StorageResourceType | null>;
172
- saveResource({ resource }: {
173
- resource: StorageResourceType;
174
- }): Promise<StorageResourceType>;
175
- updateResource({ resourceId, workingMemory, metadata, }: {
176
- resourceId: string;
177
- workingMemory?: string;
178
- metadata?: Record<string, any>;
179
- }): Promise<StorageResourceType>;
180
116
  /**
181
117
  * Closes the DynamoDB client connection and cleans up resources.
182
- * Should be called when the store is no longer needed, e.g., at the end of tests or application shutdown.
118
+ *
119
+ * This will close the DynamoDB client, including pre-configured clients.
183
120
  */
184
121
  close(): Promise<void>;
185
- /**
186
- * SCORERS - Not implemented
187
- */
188
- getScoreById({ id: _id }: {
189
- id: string;
190
- }): Promise<ScoreRowData | null>;
191
- saveScore(score: SaveScorePayload): Promise<{
192
- score: ScoreRowData;
193
- }>;
194
- listScoresByRunId({ runId: _runId, pagination: _pagination, }: {
195
- runId: string;
196
- pagination: StoragePagination;
197
- }): Promise<{
198
- pagination: PaginationInfo;
199
- scores: ScoreRowData[];
200
- }>;
201
- listScoresByEntityId({ entityId: _entityId, entityType: _entityType, pagination: _pagination, }: {
202
- pagination: StoragePagination;
203
- entityId: string;
204
- entityType: string;
205
- }): Promise<{
206
- pagination: PaginationInfo;
207
- scores: ScoreRowData[];
208
- }>;
209
- listScoresByScorerId({ scorerId, source, entityId, entityType, pagination, }: {
210
- scorerId: string;
211
- entityId?: string;
212
- entityType?: string;
213
- source?: ScoringSource;
214
- pagination: StoragePagination;
215
- }): Promise<{
216
- pagination: PaginationInfo;
217
- scores: ScoreRowData[];
218
- }>;
219
- listScoresBySpan({ traceId, spanId, pagination, }: {
220
- traceId: string;
221
- spanId: string;
222
- pagination: StoragePagination;
223
- }): Promise<{
224
- pagination: PaginationInfo;
225
- scores: ScoreRowData[];
226
- }>;
227
122
  }
228
123
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAwB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ3E;;;;;;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,IAAI,QAAQ,IAAI,eAAe,CAY9B;IAED;;;;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/dynamodb",
3
- "version": "1.0.0-beta.5",
3
+ "version": "1.0.0-beta.7",
4
4
  "description": "DynamoDB storage adapter for Mastra",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,7 +31,6 @@
31
31
  "@mastra/core": ">=1.0.0-0 <2.0.0-0"
32
32
  },
33
33
  "devDependencies": {
34
- "@microsoft/api-extractor": "^7.52.8",
35
34
  "@types/node": "22.13.17",
36
35
  "@vitest/coverage-v8": "4.0.12",
37
36
  "@vitest/ui": "4.0.12",
@@ -41,9 +40,9 @@
41
40
  "typescript": "^5.8.3",
42
41
  "vitest": "4.0.12",
43
42
  "@internal/lint": "0.0.53",
44
- "@internal/types-builder": "0.0.28",
45
- "@mastra/core": "1.0.0-beta.10",
46
- "@internal/storage-test-utils": "0.0.49"
43
+ "@internal/storage-test-utils": "0.0.49",
44
+ "@mastra/core": "1.0.0-beta.15",
45
+ "@internal/types-builder": "0.0.28"
47
46
  },
48
47
  "homepage": "https://mastra.ai",
49
48
  "repository": {
@@ -1,69 +0,0 @@
1
- import type { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
2
- import { StoreOperations } from '@mastra/core/storage';
3
- import type { StorageColumn, TABLE_NAMES } from '@mastra/core/storage';
4
- import type { Service } from 'electrodb';
5
- export declare class StoreOperationsDynamoDB extends StoreOperations {
6
- client: DynamoDBDocumentClient;
7
- tableName: string;
8
- service: Service<Record<string, any>>;
9
- constructor({ service, tableName, client, }: {
10
- service: Service<Record<string, any>>;
11
- tableName: string;
12
- client: DynamoDBDocumentClient;
13
- });
14
- hasColumn(): Promise<boolean>;
15
- dropTable(): Promise<void>;
16
- private getEntityNameForTable;
17
- /**
18
- * Pre-processes a record to ensure Date objects are converted to ISO strings
19
- * This is necessary because ElectroDB validation happens before setters are applied
20
- */
21
- private preprocessRecord;
22
- /**
23
- * Validates that the required DynamoDB table exists and is accessible.
24
- * This does not check the table structure - it assumes the table
25
- * was created with the correct structure via CDK/CloudFormation.
26
- */
27
- private validateTableExists;
28
- /**
29
- * This method is modified for DynamoDB with ElectroDB single-table design.
30
- * It assumes the table is created and managed externally via CDK/CloudFormation.
31
- *
32
- * This implementation only validates that the required table exists and is accessible.
33
- * No table creation is attempted - we simply check if we can access the table.
34
- */
35
- createTable({ tableName }: {
36
- tableName: TABLE_NAMES;
37
- schema: Record<string, any>;
38
- }): Promise<void>;
39
- insert({ tableName, record }: {
40
- tableName: TABLE_NAMES;
41
- record: Record<string, any>;
42
- }): Promise<void>;
43
- alterTable(_args: {
44
- tableName: TABLE_NAMES;
45
- schema: Record<string, StorageColumn>;
46
- ifNotExists: string[];
47
- }): Promise<void>;
48
- /**
49
- * Clear all items from a logical "table" (entity type)
50
- */
51
- clearTable({ tableName }: {
52
- tableName: TABLE_NAMES;
53
- }): Promise<void>;
54
- /**
55
- * Insert multiple records as a batch
56
- */
57
- batchInsert({ tableName, records }: {
58
- tableName: TABLE_NAMES;
59
- records: Record<string, any>[];
60
- }): Promise<void>;
61
- /**
62
- * Load a record by its keys
63
- */
64
- load<R>({ tableName, keys }: {
65
- tableName: TABLE_NAMES;
66
- keys: Record<string, string>;
67
- }): Promise<R | null>;
68
- }
69
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/operations/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAEL,eAAe,EAQhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1B,EACV,OAAO,EACP,SAAS,EACT,MAAM,GACP,EAAE;QACD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,sBAAsB,CAAC;KAChC;IAOK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAGhC,OAAO,CAAC,qBAAqB;IAc7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsDxB;;;;OAIG;YACW,mBAAmB;IA6BjC;;;;;;OAMG;IACG,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BlG,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BrG,UAAU,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjB;;OAEG;IACG,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwG1E;;OAEG;IACG,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDpH;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CA+ChH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/score/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAEnH,OAAO,EAGL,aAAa,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,OAAO,CAA+B;gBAClC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;KAAE;IAKlE;;;;;;;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;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IA6D7D,iBAAiB,CAAC,EACtB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IA6C7D,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;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAgD7D,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;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;CA4CpE"}