@superblocksteam/sdk-api 2.0.158 → 2.0.159-next.1

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.
Files changed (41) hide show
  1. package/README.md +23 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/integrations/dynamodb/client.d.ts +6 -2
  6. package/dist/integrations/dynamodb/client.d.ts.map +1 -1
  7. package/dist/integrations/dynamodb/client.js +83 -10
  8. package/dist/integrations/dynamodb/client.js.map +1 -1
  9. package/dist/integrations/dynamodb/client.test.d.ts +8 -0
  10. package/dist/integrations/dynamodb/client.test.d.ts.map +1 -0
  11. package/dist/integrations/dynamodb/client.test.js +198 -0
  12. package/dist/integrations/dynamodb/client.test.js.map +1 -0
  13. package/dist/integrations/dynamodb/index.d.ts +1 -1
  14. package/dist/integrations/dynamodb/index.d.ts.map +1 -1
  15. package/dist/integrations/dynamodb/index.js.map +1 -1
  16. package/dist/integrations/dynamodb/types.d.ts +27 -1
  17. package/dist/integrations/dynamodb/types.d.ts.map +1 -1
  18. package/dist/integrations/index.d.ts +1 -1
  19. package/dist/integrations/index.d.ts.map +1 -1
  20. package/dist/integrations/index.js.map +1 -1
  21. package/dist/runtime/context.d.ts +6 -0
  22. package/dist/runtime/context.d.ts.map +1 -1
  23. package/dist/runtime/context.js +2 -1
  24. package/dist/runtime/context.js.map +1 -1
  25. package/dist/runtime/executor.d.ts +6 -0
  26. package/dist/runtime/executor.d.ts.map +1 -1
  27. package/dist/runtime/executor.js +1 -0
  28. package/dist/runtime/executor.js.map +1 -1
  29. package/dist/types.d.ts +10 -0
  30. package/dist/types.d.ts.map +1 -1
  31. package/package.json +3 -3
  32. package/src/index.ts +1 -0
  33. package/src/integrations/dynamodb/README.md +33 -12
  34. package/src/integrations/dynamodb/client.test.ts +254 -0
  35. package/src/integrations/dynamodb/client.ts +121 -16
  36. package/src/integrations/dynamodb/index.ts +5 -1
  37. package/src/integrations/dynamodb/types.ts +33 -1
  38. package/src/integrations/index.ts +1 -0
  39. package/src/runtime/context.ts +9 -0
  40. package/src/runtime/executor.ts +8 -0
  41. package/src/types.ts +11 -0
package/README.md CHANGED
@@ -470,6 +470,29 @@ async run(ctx) {
470
470
  }
471
471
  ```
472
472
 
473
+ #### `ctx.dataTag`
474
+
475
+ The canonical key of the requested data tag that Superblocks validated for the
476
+ current execution, such as `"staging"` or `"production"`. This identifies which
477
+ integration configuration is in use; it is not proof of a user's environment
478
+ entitlement. Combine it with `ctx.user` checks for authorization, and do not
479
+ accept a data tag through API input.
480
+
481
+ ```typescript
482
+ async run(ctx) {
483
+ // Deny by default, including on older agents where dataTag is undefined.
484
+ if (ctx.dataTag !== "production") {
485
+ throw new Error("This API requires the production data tag");
486
+ }
487
+ // The data tag identifies the integration configuration. User access is
488
+ // checked independently.
489
+ assertPermissions(ctx.user.groups);
490
+ }
491
+ ```
492
+
493
+ On agents that predate `ctx.dataTag`, the value is `undefined`. Authorization
494
+ checks must explicitly deny access for missing or unrecognized tags.
495
+
473
496
  #### `ctx.user`
474
497
 
475
498
  User information extracted from the Superblocks JWT. This is the **secure, server-side** way to access the current user's identity in API implementations. Never pass user information from the frontend as API input — always use `ctx.user` instead.
package/dist/index.d.ts CHANGED
@@ -95,7 +95,7 @@ export type { TwilioClient } from "./integrations/twilio/index.js";
95
95
  export type { ZendeskClient } from "./integrations/zendesk/index.js";
96
96
  export type { ZoomClient } from "./integrations/zoom/index.js";
97
97
  export type { GraphQLClient } from "./integrations/graphql/index.js";
98
- export type { DynamoDBClient, DynamoDBAttributeValue, } from "./integrations/dynamodb/index.js";
98
+ export type { DynamoDBClient, DynamoDBAttributeValue, DynamoDBScanOptions, } from "./integrations/dynamodb/index.js";
99
99
  export type { CosmosDBClient } from "./integrations/cosmosdb/index.js";
100
100
  export type { SalesforceClient, SalesforceCrudAction, SalesforceBulkAction, } from "./integrations/salesforce/index.js";
101
101
  export type { S3Client } from "./integrations/s3/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,gCAAgC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG/D,8BAA8B;AAC9B,OAAO,EAAE,GAAG,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AAiBxE,oCAAoC;AACpC,OAAO,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,EACT,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,KAAK,EACL,MAAM,EACN,eAAe,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,GAAG,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,QAAQ,EACR,iBAAiB,EACjB,IAAI,GA+DL,MAAM,yBAAyB,CAAC;AA8DjC,iCAAiC;AACjC,OAAO;AACL,WAAW;AACX,UAAU;AACV,oBAAoB;AACpB,gBAAgB;AAChB,cAAc;AACd,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,MAAM,oBAAoB,CAAC;AAY5B,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAWjC,yEAAyE;AACzE,gFAAgF;AAChF,8FAA8F;AAE9F,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,gCAAgC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG/D,8BAA8B;AAC9B,OAAO,EAAE,GAAG,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AAiBxE,oCAAoC;AACpC,OAAO,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,EACT,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,KAAK,EACL,MAAM,EACN,eAAe,EACf,WAAW,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,GAAG,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,QAAQ,EACR,iBAAiB,EACjB,IAAI,GA+DL,MAAM,yBAAyB,CAAC;AA+DjC,iCAAiC;AACjC,OAAO;AACL,WAAW;AACX,UAAU;AACV,oBAAoB;AACpB,gBAAgB;AAChB,cAAc;AACd,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,MAAM,oBAAoB,CAAC;AAY5B,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAWjC,yEAAyE;AACzE,gFAAgF;AAChF,8FAA8F;AAE9F,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
@@ -8,7 +8,7 @@
8
8
  import type { z } from "zod";
9
9
  import type { QueryExecutor, TraceMetadata } from "../registry.js";
10
10
  import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
11
- import type { DynamoDBClient, DynamoDBAttributeValue } from "./types.js";
11
+ import type { DynamoDBClient, DynamoDBAttributeValue, DynamoDBScanOptions } from "./types.js";
12
12
  /**
13
13
  * Internal implementation of DynamoDBClient.
14
14
  *
@@ -44,7 +44,11 @@ export declare class DynamoDBClientImpl implements DynamoDBClient, IntegrationCl
44
44
  putItem(table: string, item: Record<string, DynamoDBAttributeValue>, metadata?: TraceMetadata): Promise<unknown>;
45
45
  updateItem(table: string, key: Record<string, DynamoDBAttributeValue>, updateExpression: string, expressionAttributeValues: Record<string, DynamoDBAttributeValue>, expressionAttributeNames?: Record<string, string>, metadata?: TraceMetadata): Promise<unknown>;
46
46
  deleteItem(table: string, key: Record<string, DynamoDBAttributeValue>, metadata?: TraceMetadata): Promise<unknown>;
47
- scan<T>(table: string, schema: z.ZodSchema<T>, filterExpression?: string, expressionAttributeValues?: Record<string, DynamoDBAttributeValue>, expressionAttributeNames?: Record<string, string>, metadata?: TraceMetadata): Promise<T>;
47
+ /** Copy optional AWS Scan fields onto the request body. */
48
+ private applyScanParams;
49
+ private isScanOptions;
50
+ private isTraceMetadata;
51
+ scan<T>(table: string, schema: z.ZodSchema<T>, filterExpressionOrOptions?: string | DynamoDBScanOptions, expressionAttributeValuesOrMetadata?: Record<string, DynamoDBAttributeValue> | TraceMetadata, expressionAttributeNames?: Record<string, string>, metadata?: TraceMetadata): Promise<T>;
48
52
  queryTable<T>(table: string, keyConditionExpression: string, expressionAttributeValues: Record<string, DynamoDBAttributeValue>, schema: z.ZodSchema<T>, expressionAttributeNames?: Record<string, string>, metadata?: TraceMetadata): Promise<T>;
49
53
  batchWriteItem(requestItems: Record<string, Array<Record<string, unknown>>>, metadata?: TraceMetadata): Promise<unknown>;
50
54
  listTables<T>(schema: z.ZodSchema<T>, metadata?: TraceMetadata): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,17 @@
7
7
  */
8
8
  import { RestApiValidationError } from "../../errors.js";
9
9
  import { IntegrationError } from "../../runtime/errors.js";
10
+ const DYNAMODB_SCAN_OPTION_KEYS = new Set([
11
+ "filterExpression",
12
+ "expressionAttributeValues",
13
+ "expressionAttributeNames",
14
+ "exclusiveStartKey",
15
+ "limit",
16
+ "projectionExpression",
17
+ "indexName",
18
+ "segment",
19
+ "totalSegments",
20
+ ]);
10
21
  /**
11
22
  * Internal implementation of DynamoDBClient.
12
23
  *
@@ -113,19 +124,80 @@ export class DynamoDBClientImpl {
113
124
  });
114
125
  return this.executeWithErrorHandling(request, "deleteItem", metadata);
115
126
  }
116
- async scan(table, schema, filterExpression, expressionAttributeValues, expressionAttributeNames, metadata) {
117
- const params = { TableName: table };
118
- if (filterExpression) {
119
- params.FilterExpression = filterExpression;
127
+ /** Copy optional AWS Scan fields onto the request body. */
128
+ applyScanParams(params, options) {
129
+ if (options.filterExpression) {
130
+ params.FilterExpression = options.filterExpression;
120
131
  }
121
- if (expressionAttributeValues) {
122
- params.ExpressionAttributeValues = expressionAttributeValues;
132
+ if (options.expressionAttributeValues &&
133
+ Object.keys(options.expressionAttributeValues).length > 0) {
134
+ params.ExpressionAttributeValues = options.expressionAttributeValues;
123
135
  }
124
- if (expressionAttributeNames) {
125
- params.ExpressionAttributeNames = expressionAttributeNames;
136
+ if (options.expressionAttributeNames &&
137
+ Object.keys(options.expressionAttributeNames).length > 0) {
138
+ params.ExpressionAttributeNames = options.expressionAttributeNames;
139
+ }
140
+ if (options.exclusiveStartKey) {
141
+ params.ExclusiveStartKey = options.exclusiveStartKey;
142
+ }
143
+ if (options.limit !== undefined) {
144
+ params.Limit = options.limit;
145
+ }
146
+ if (options.projectionExpression) {
147
+ params.ProjectionExpression = options.projectionExpression;
148
+ }
149
+ if (options.indexName) {
150
+ params.IndexName = options.indexName;
151
+ }
152
+ if (options.segment !== undefined) {
153
+ params.Segment = options.segment;
154
+ }
155
+ if (options.totalSegments !== undefined) {
156
+ params.TotalSegments = options.totalSegments;
157
+ }
158
+ }
159
+ isScanOptions(value) {
160
+ return (typeof value === "object" &&
161
+ value !== null &&
162
+ Object.keys(value).every((key) => DYNAMODB_SCAN_OPTION_KEYS.has(key)));
163
+ }
164
+ isTraceMetadata(value) {
165
+ return (typeof value === "object" &&
166
+ value !== null &&
167
+ Object.keys(value).every((key) => key === "label" || key === "description") &&
168
+ Object.values(value).every((entry) => entry === undefined || typeof entry === "string"));
169
+ }
170
+ async scan(table, schema, filterExpressionOrOptions, expressionAttributeValuesOrMetadata, expressionAttributeNames, metadata) {
171
+ const params = { TableName: table };
172
+ let resolvedMetadata = metadata;
173
+ if (typeof filterExpressionOrOptions === "object" &&
174
+ filterExpressionOrOptions !== null) {
175
+ if (!this.isScanOptions(filterExpressionOrOptions)) {
176
+ throw new Error(`Invalid DynamoDB scan options: ${Object.keys(filterExpressionOrOptions).join(", ")}`);
177
+ }
178
+ this.applyScanParams(params, filterExpressionOrOptions);
179
+ if (expressionAttributeValuesOrMetadata !== undefined) {
180
+ if (!this.isTraceMetadata(expressionAttributeValuesOrMetadata)) {
181
+ throw new Error("Invalid DynamoDB scan trace metadata");
182
+ }
183
+ resolvedMetadata = expressionAttributeValuesOrMetadata;
184
+ }
185
+ }
186
+ else {
187
+ if (filterExpressionOrOptions) {
188
+ params.FilterExpression = filterExpressionOrOptions;
189
+ }
190
+ if (expressionAttributeValuesOrMetadata &&
191
+ Object.keys(expressionAttributeValuesOrMetadata).length > 0) {
192
+ params.ExpressionAttributeValues = expressionAttributeValuesOrMetadata;
193
+ }
194
+ if (expressionAttributeNames &&
195
+ Object.keys(expressionAttributeNames).length > 0) {
196
+ params.ExpressionAttributeNames = expressionAttributeNames;
197
+ }
126
198
  }
127
199
  const request = this.buildRequest("scan", params);
128
- const result = await this.executeWithErrorHandling(request, "scan", metadata);
200
+ const result = await this.executeWithErrorHandling(request, "scan", resolvedMetadata);
129
201
  return this.validateResult(result, schema, "scan");
130
202
  }
131
203
  async queryTable(table, keyConditionExpression, expressionAttributeValues, schema, expressionAttributeNames, metadata) {
@@ -134,7 +206,8 @@ export class DynamoDBClientImpl {
134
206
  KeyConditionExpression: keyConditionExpression,
135
207
  ExpressionAttributeValues: expressionAttributeValues,
136
208
  };
137
- if (expressionAttributeNames) {
209
+ if (expressionAttributeNames &&
210
+ Object.keys(expressionAttributeNames).length > 0) {
138
211
  params.ExpressionAttributeNames = expressionAttributeNames;
139
212
  }
140
213
  const request = this.buildRequest("query", params);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/integrations/dynamodb/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/integrations/dynamodb/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Unit tests for DynamoDB client request bodies.
3
+ *
4
+ * The orchestrator forwards `action` + JSON `body` to the AWS SDK, so these
5
+ * tests lock the wire params - especially ExclusiveStartKey pagination.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/client.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Unit tests for DynamoDB client request bodies.
3
+ *
4
+ * The orchestrator forwards `action` + JSON `body` to the AWS SDK, so these
5
+ * tests lock the wire params - especially ExclusiveStartKey pagination.
6
+ */
7
+ import { describe, it, expect, vi } from "vitest";
8
+ import { z } from "zod";
9
+ import { DynamoDBClientImpl } from "./client.js";
10
+ const TEST_CONFIG = {
11
+ id: "dynamodb-test-id",
12
+ name: "Test DynamoDB",
13
+ pluginId: "dynamodb",
14
+ configuration: {},
15
+ };
16
+ const ItemsSchema = z.object({ Items: z.array(z.unknown()).optional() });
17
+ function createClient(mockResult = { Items: [] }) {
18
+ const executeQuery = vi.fn().mockResolvedValue(mockResult);
19
+ const client = new DynamoDBClientImpl(TEST_CONFIG, executeQuery);
20
+ return { client, executeQuery };
21
+ }
22
+ function parsedBody(executeQuery, callIndex = 0) {
23
+ const request = z
24
+ .object({ action: z.string(), body: z.string() })
25
+ .parse(executeQuery.mock.calls[callIndex]?.[0]);
26
+ return { action: request.action, body: JSON.parse(request.body) };
27
+ }
28
+ describe("DynamoDBClientImpl", () => {
29
+ describe("scan", () => {
30
+ it("omits ExclusiveStartKey on a positional scan", async () => {
31
+ const { client, executeQuery } = createClient();
32
+ await client.scan("retailers", ItemsSchema, "status = :s", {
33
+ ":s": { S: "active" },
34
+ });
35
+ expect(parsedBody(executeQuery)).toEqual({
36
+ action: "scan",
37
+ body: {
38
+ TableName: "retailers",
39
+ FilterExpression: "status = :s",
40
+ ExpressionAttributeValues: { ":s": { S: "active" } },
41
+ },
42
+ });
43
+ });
44
+ it("forwards ExclusiveStartKey from the options object", async () => {
45
+ const { client, executeQuery } = createClient();
46
+ const exclusiveStartKey = { id: { S: "retailer-18" } };
47
+ await client.scan("retailers", ItemsSchema, { exclusiveStartKey });
48
+ expect(parsedBody(executeQuery)).toEqual({
49
+ action: "scan",
50
+ body: {
51
+ TableName: "retailers",
52
+ ExclusiveStartKey: exclusiveStartKey,
53
+ },
54
+ });
55
+ });
56
+ it("treats an empty object as empty scan options", async () => {
57
+ const { client, executeQuery } = createClient();
58
+ await client.scan("retailers", ItemsSchema, {});
59
+ expect(parsedBody(executeQuery)).toEqual({
60
+ action: "scan",
61
+ body: { TableName: "retailers" },
62
+ });
63
+ });
64
+ it("rejects objects with unknown scan option keys", async () => {
65
+ const { client, executeQuery } = createClient();
66
+ await expect(Reflect.apply(client.scan, client, [
67
+ "retailers",
68
+ ItemsSchema,
69
+ { label: "not scan options" },
70
+ ])).rejects.toThrow("Invalid DynamoDB scan options: label");
71
+ expect(executeQuery).not.toHaveBeenCalled();
72
+ });
73
+ it("forwards pagination and parallel-scan options", async () => {
74
+ const { client, executeQuery } = createClient();
75
+ await client.scan("retailers", ItemsSchema, {
76
+ exclusiveStartKey: { id: { S: "page-2" } },
77
+ limit: 25,
78
+ projectionExpression: "id, name",
79
+ indexName: "gsi1",
80
+ segment: 0,
81
+ totalSegments: 4,
82
+ filterExpression: "#s = :s",
83
+ expressionAttributeNames: { "#s": "status" },
84
+ expressionAttributeValues: { ":s": { S: "active" } },
85
+ }, { label: "page retailers" });
86
+ expect(parsedBody(executeQuery)).toEqual({
87
+ action: "scan",
88
+ body: {
89
+ TableName: "retailers",
90
+ ExclusiveStartKey: { id: { S: "page-2" } },
91
+ Limit: 25,
92
+ ProjectionExpression: "id, name",
93
+ IndexName: "gsi1",
94
+ Segment: 0,
95
+ TotalSegments: 4,
96
+ FilterExpression: "#s = :s",
97
+ ExpressionAttributeNames: { "#s": "status" },
98
+ ExpressionAttributeValues: { ":s": { S: "active" } },
99
+ },
100
+ });
101
+ expect(executeQuery).toHaveBeenCalledWith(expect.anything(), undefined, {
102
+ label: "page retailers",
103
+ });
104
+ });
105
+ it("keeps positional names and metadata working together", async () => {
106
+ const { client, executeQuery } = createClient();
107
+ await client.scan("retailers", ItemsSchema, "#s = :s", { ":s": { S: "active" } }, { "#s": "status" }, { label: "filtered scan" });
108
+ expect(parsedBody(executeQuery).body).toEqual({
109
+ TableName: "retailers",
110
+ FilterExpression: "#s = :s",
111
+ ExpressionAttributeValues: { ":s": { S: "active" } },
112
+ ExpressionAttributeNames: { "#s": "status" },
113
+ });
114
+ expect(executeQuery.mock.calls[0][2]).toEqual({ label: "filtered scan" });
115
+ });
116
+ it("keeps schemas that strip pagination cursors backward compatible", async () => {
117
+ const lastEvaluatedKey = {
118
+ id: { S: "retailer-18" },
119
+ version: { N: "2" },
120
+ };
121
+ const { client } = createClient({
122
+ Items: [{ id: { S: "retailer-1" } }],
123
+ LastEvaluatedKey: lastEvaluatedKey,
124
+ });
125
+ await expect(client.scan("retailers", ItemsSchema, { limit: 25 })).resolves.toEqual({
126
+ Items: [{ id: { S: "retailer-1" } }],
127
+ });
128
+ });
129
+ it("preserves mixed AttributeValue pagination cursors", async () => {
130
+ const lastEvaluatedKey = {
131
+ id: { S: "retailer-18" },
132
+ version: { N: "2" },
133
+ };
134
+ const PageSchema = z.object({
135
+ Items: z.array(z.unknown()).optional(),
136
+ LastEvaluatedKey: z.record(z.unknown()).optional(),
137
+ });
138
+ const { client } = createClient({
139
+ Items: [],
140
+ LastEvaluatedKey: lastEvaluatedKey,
141
+ });
142
+ const page = await client.scan("retailers", PageSchema, {});
143
+ expect(page.LastEvaluatedKey).toEqual(lastEvaluatedKey);
144
+ });
145
+ it("threads each returned pagination cursor into the next request", async () => {
146
+ const LastEvaluatedKeySchema = z.object({
147
+ id: z.object({ S: z.string() }),
148
+ });
149
+ const PageSchema = z.object({
150
+ Items: z.array(z.string()),
151
+ LastEvaluatedKey: LastEvaluatedKeySchema.optional(),
152
+ });
153
+ const lastEvaluatedKey = { id: { S: "retailer-1" } };
154
+ const executeQuery = vi
155
+ .fn()
156
+ .mockResolvedValueOnce({
157
+ Items: ["retailer-1"],
158
+ LastEvaluatedKey: lastEvaluatedKey,
159
+ })
160
+ .mockResolvedValueOnce({ Items: ["retailer-2"] });
161
+ const client = new DynamoDBClientImpl(TEST_CONFIG, executeQuery);
162
+ const items = [];
163
+ let exclusiveStartKey;
164
+ do {
165
+ const page = await client.scan("retailers", PageSchema, {
166
+ exclusiveStartKey,
167
+ });
168
+ items.push(...page.Items);
169
+ exclusiveStartKey = page.LastEvaluatedKey;
170
+ } while (exclusiveStartKey);
171
+ expect(items).toEqual(["retailer-1", "retailer-2"]);
172
+ expect(executeQuery).toHaveBeenCalledTimes(2);
173
+ expect(parsedBody(executeQuery, 0).body).toEqual({
174
+ TableName: "retailers",
175
+ });
176
+ expect(parsedBody(executeQuery, 1).body).toEqual({
177
+ TableName: "retailers",
178
+ ExclusiveStartKey: lastEvaluatedKey,
179
+ });
180
+ });
181
+ });
182
+ describe("queryTable", () => {
183
+ it("treats a plain names map as ExpressionAttributeNames", async () => {
184
+ const { client, executeQuery } = createClient();
185
+ await client.queryTable("orders", "#uid = :uid", { ":uid": { S: "user-123" } }, ItemsSchema, { "#uid": "userId" });
186
+ expect(parsedBody(executeQuery)).toEqual({
187
+ action: "query",
188
+ body: {
189
+ TableName: "orders",
190
+ KeyConditionExpression: "#uid = :uid",
191
+ ExpressionAttributeValues: { ":uid": { S: "user-123" } },
192
+ ExpressionAttributeNames: { "#uid": "userId" },
193
+ },
194
+ });
195
+ });
196
+ });
197
+ });
198
+ //# sourceMappingURL=client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/integrations/dynamodb/client.test.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- export type { DynamoDBClient, DynamoDBAttributeValue } from "./types.js";
6
+ export type { DynamoDBClient, DynamoDBAttributeValue, DynamoDBScanOptions, } from "./types.js";
7
7
  export { DynamoDBClientImpl } from "./client.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/dynamodb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/dynamodb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -43,6 +43,23 @@ export type DynamoDBAttributeValue = {
43
43
  } | {
44
44
  BS: string[];
45
45
  };
46
+ /**
47
+ * Optional Scan parameters forwarded to the AWS SDK.
48
+ *
49
+ * Use `exclusiveStartKey` with `LastEvaluatedKey` from a previous page to
50
+ * continue past DynamoDB's 1 MB per-Scan limit.
51
+ */
52
+ export interface DynamoDBScanOptions {
53
+ filterExpression?: string;
54
+ expressionAttributeValues?: Record<string, DynamoDBAttributeValue>;
55
+ expressionAttributeNames?: Record<string, string>;
56
+ exclusiveStartKey?: Record<string, DynamoDBAttributeValue>;
57
+ limit?: number;
58
+ projectionExpression?: string;
59
+ indexName?: string;
60
+ segment?: number;
61
+ totalSegments?: number;
62
+ }
46
63
  /**
47
64
  * DynamoDB client for database operations.
48
65
  *
@@ -90,6 +107,11 @@ export type DynamoDBAttributeValue = {
90
107
  * 'status = :s',
91
108
  * { ':s': { S: 'active' } }
92
109
  * );
110
+ *
111
+ * // Paginate past the 1 MB Scan limit
112
+ * const page = await ctx.integrations.db.scan('users', UsersSchema, {
113
+ * exclusiveStartKey: lastEvaluatedKey,
114
+ * });
93
115
  * ```
94
116
  */
95
117
  export interface DynamoDBClient extends BaseIntegrationClient {
@@ -116,7 +138,10 @@ export interface DynamoDBClient extends BaseIntegrationClient {
116
138
  */
117
139
  getItem<T>(table: string, key: Record<string, DynamoDBAttributeValue>, schema: z.ZodSchema<T>, metadata?: TraceMetadata): Promise<T>;
118
140
  /**
119
- * Scan a DynamoDB table with optional filter.
141
+ * Scan a DynamoDB table.
142
+ *
143
+ * Prefer the options-object form when paginating (`exclusiveStartKey`) or
144
+ * when you need `limit`, `indexName`, or parallel scan segments.
120
145
  *
121
146
  * @param table - The table name
122
147
  * @param schema - Zod schema for validating the result
@@ -127,6 +152,7 @@ export interface DynamoDBClient extends BaseIntegrationClient {
127
152
  * @param metadata - Optional trace metadata for diagnostics
128
153
  * @returns The validated result
129
154
  */
155
+ scan<T>(table: string, schema: z.ZodSchema<T>, options: DynamoDBScanOptions, metadata?: TraceMetadata): Promise<T>;
130
156
  scan<T>(table: string, schema: z.ZodSchema<T>, filterExpression?: string, expressionAttributeValues?: Record<string, DynamoDBAttributeValue>, expressionAttributeNames?: Record<string, string>, metadata?: TraceMetadata): Promise<T>;
131
157
  /**
132
158
  * Query a DynamoDB table or index using key conditions.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/dynamodb/types.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,7 @@ export type { BigQueryClient } from "./bigquery/index.js";
105
105
  export { BigQueryClientImpl } from "./bigquery/index.js";
106
106
  export type { MongoDBClient, MongoDBAction, MongoDBParams, } from "./mongodb/index.js";
107
107
  export { MongoDBClientImpl } from "./mongodb/index.js";
108
- export type { DynamoDBClient, DynamoDBAttributeValue, } from "./dynamodb/index.js";
108
+ export type { DynamoDBClient, DynamoDBAttributeValue, DynamoDBScanOptions, } from "./dynamodb/index.js";
109
109
  export { DynamoDBClientImpl } from "./dynamodb/index.js";
110
110
  export type { CosmosDBClient, CosmosDBQueryOptions } from "./cosmosdb/index.js";
111
111
  export { CosmosDBClientImpl } from "./cosmosdb/index.js";