@mastra/dynamodb 1.0.0-beta.6 → 1.0.0-beta.8

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,29 +1,30 @@
1
1
  import { WorkflowsStorage } from '@mastra/core/storage';
2
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
19
  opts: UpdateWorkflowStateOptions;
21
20
  }): Promise<WorkflowRunState | undefined>;
22
- persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
21
+ persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, createdAt, updatedAt, }: {
23
22
  workflowName: string;
24
23
  runId: string;
25
24
  resourceId?: string;
26
25
  snapshot: WorkflowRunState;
26
+ createdAt?: Date;
27
+ updatedAt?: Date;
27
28
  }): Promise<void>;
28
29
  loadWorkflowSnapshot({ workflowName, runId, }: {
29
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,EACV,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,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,0BAA0B,CAAC;KAClC,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,21 @@
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 } 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, UpdateWorkflowStateOptions } from '@mastra/core/storage';
6
- import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
7
- export interface DynamoDBStoreConfig {
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 = {
8
17
  id: string;
9
- region?: string;
10
18
  tableName: string;
11
- endpoint?: string;
12
- credentials?: {
13
- accessKeyId: string;
14
- secretAccessKey: string;
15
- };
16
19
  /**
17
20
  * When true, automatic initialization (table creation/migrations) is disabled.
18
21
  * This is useful for CI/CD pipelines where you want to:
@@ -33,7 +36,60 @@ export interface DynamoDBStoreConfig {
33
36
  * // No auto-init, tables must already exist
34
37
  */
35
38
  disableInit?: boolean;
36
- }
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;
69
+ endpoint?: string;
70
+ credentials?: {
71
+ accessKeyId: string;
72
+ secretAccessKey: string;
73
+ };
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
+ */
37
93
  export declare class DynamoDBStore extends MastraStorage {
38
94
  private tableName;
39
95
  private client;
@@ -44,14 +100,6 @@ export declare class DynamoDBStore extends MastraStorage {
44
100
  name: string;
45
101
  config: DynamoDBStoreConfig;
46
102
  });
47
- get supports(): {
48
- selectByIncludeResourceScope: boolean;
49
- resourceWorkingMemory: boolean;
50
- hasColumn: boolean;
51
- createTable: boolean;
52
- deleteMessages: boolean;
53
- listScoresBySpan: boolean;
54
- };
55
103
  /**
56
104
  * Validates that the required DynamoDB table exists and is accessible.
57
105
  * This does not check the table structure - it assumes the table
@@ -69,154 +117,11 @@ export declare class DynamoDBStore extends MastraStorage {
69
117
  * Handles resetting the stored promise on failure to allow retries.
70
118
  */
71
119
  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: UpdateWorkflowStateOptions;
143
- }): Promise<WorkflowRunState | undefined>;
144
- persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
145
- workflowName: string;
146
- runId: string;
147
- resourceId?: string;
148
- snapshot: WorkflowRunState;
149
- }): Promise<void>;
150
- loadWorkflowSnapshot({ workflowName, runId, }: {
151
- workflowName: string;
152
- runId: string;
153
- }): Promise<WorkflowRunState | null>;
154
- listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
155
- getWorkflowRunById(args: {
156
- runId: string;
157
- workflowName?: string;
158
- }): Promise<WorkflowRun | null>;
159
- deleteWorkflowRunById({ runId, workflowName }: {
160
- runId: string;
161
- workflowName: string;
162
- }): Promise<void>;
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
- * Should be called when the store is no longer needed, e.g., at the end of tests or application shutdown.
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: SaveScorePayload): Promise<{
186
- score: ScoreRowData;
187
- }>;
188
- listScoresByRunId({ runId: _runId, pagination: _pagination, }: {
189
- runId: string;
190
- pagination: StoragePagination;
191
- }): Promise<{
192
- pagination: PaginationInfo;
193
- scores: ScoreRowData[];
194
- }>;
195
- listScoresByEntityId({ 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
- listScoresByScorerId({ 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
- listScoresBySpan({ 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":"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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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/dynamodb",
3
- "version": "1.0.0-beta.6",
3
+ "version": "1.0.0-beta.8",
4
4
  "description": "DynamoDB storage adapter for Mastra",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -41,8 +41,8 @@
41
41
  "vitest": "4.0.12",
42
42
  "@internal/lint": "0.0.53",
43
43
  "@internal/storage-test-utils": "0.0.49",
44
- "@internal/types-builder": "0.0.28",
45
- "@mastra/core": "1.0.0-beta.13"
44
+ "@mastra/core": "1.0.0-beta.16",
45
+ "@internal/types-builder": "0.0.28"
46
46
  },
47
47
  "homepage": "https://mastra.ai",
48
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"}