@auriclabs/events 0.2.0 → 0.4.0

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.
@@ -1,39 +1,53 @@
1
1
 
2
- > @auriclabs/events@0.2.0 build /home/runner/work/packages/packages/packages/events
3
- > tsdown src/index.ts --format cjs,esm --dts --no-hash
2
+ > @auriclabs/events@0.4.0 build /home/runner/work/packages/packages/packages/events
3
+ > tsdown src/index.ts src/stream-handler.entry.ts --format cjs,esm --dts --no-hash
4
4
 
5
5
  [tsdown] Node.js v20.20.1 is deprecated. Support will be removed in the next minor release. Please upgrade to Node.js 22.18.0 or later.
6
6
  ℹ tsdown v0.21.4 powered by rolldown v1.0.0-rc.9
7
- ℹ entry: src/index.ts
7
+ ℹ entry: src/index.ts, src/stream-handler.entry.ts
8
8
  ℹ tsconfig: tsconfig.json
9
9
  ℹ Build start
10
- ℹ [CJS] dist/index.cjs 11.06 kB │ gzip: 3.31 kB
11
- ℹ [CJS] 1 files, total: 11.06 kB
10
+ ℹ [CJS] dist/index.cjs 8.30 kB │ gzip: 2.56 kB
11
+ ℹ [CJS] dist/stream-handler.entry.cjs 0.32 kB │ gzip: 0.25 kB
12
+ ℹ [CJS] dist/stream-handler.cjs 3.12 kB │ gzip: 1.13 kB
13
+ ℹ [CJS] 3 files, total: 11.75 kB
12
14
  ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint.
13
15
  See more at https://tsdown.dev/options/dependencies#deps-onlybundle
14
16
  Detected dependencies in bundle:
15
17
  - @types/aws-lambda
16
- ℹ [ESM] dist/index.mjs 10.31 kB │ gzip: 3.19 kB
17
- ℹ [ESM] dist/index.mjs.map 23.71 kB │ gzip: 6.74 kB
18
- ℹ [ESM] dist/index.d.mts.map  7.93 kB │ gzip: 2.65 kB
19
- ℹ [ESM] dist/index.d.mts 15.74 kB │ gzip: 4.28 kB
20
- ℹ [ESM] 4 files, total: 57.69 kB
21
- [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
22
- - rolldown-plugin-dts:generate (67%)
23
- - rolldown-plugin-dts:resolver (24%)
24
- See https://rolldown.rs/options/checks#plugintimings for more details.
25
-
26
- ✔ Build complete in 4816ms
27
18
  ℹ Hint: consider adding deps.onlyBundle option to avoid unintended bundling of dependencies, or set deps.onlyBundle: false to disable this hint.
28
19
  See more at https://tsdown.dev/options/dependencies#deps-onlybundle
29
20
  Detected dependencies in bundle:
30
21
  - @types/aws-lambda
31
- ℹ [CJS] dist/index.d.cts.map  7.93 kB │ gzip: 2.65 kB
32
- ℹ [CJS] dist/index.d.cts 15.74 kB │ gzip: 4.28 kB
33
- ℹ [CJS] 2 files, total: 23.67 kB
22
+ ℹ [CJS] dist/index.d.cts.map 4.95 kB │ gzip: 1.71 kB
23
+ ℹ [CJS] dist/index2.d.cts.map 3.09 kB │ gzip: 1.06 kB
24
+ ℹ [CJS] dist/stream-handler.entry.d.cts.map 0.16 kB │ gzip: 0.14 kB
25
+ ℹ [CJS] dist/index2.d.cts 6.17 kB │ gzip: 1.82 kB
26
+ ℹ [CJS] dist/stream-handler.entry.d.cts 0.25 kB │ gzip: 0.18 kB
27
+ ℹ [CJS] dist/index.d.cts 9.85 kB │ gzip: 2.73 kB
28
+ ℹ [CJS] 6 files, total: 24.46 kB
29
+ [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
30
+ - rolldown-plugin-dts:resolver (55%)
31
+ - rolldown-plugin-dts:generate (37%)
32
+ See https://rolldown.rs/options/checks#plugintimings for more details.
33
+
34
+ ✔ Build complete in 5098ms
35
+ ℹ [ESM] dist/index.mjs  7.71 kB │ gzip: 2.46 kB
36
+ ℹ [ESM] dist/stream-handler.entry.mjs  0.33 kB │ gzip: 0.23 kB
37
+ ℹ [ESM] dist/index.mjs.map 18.56 kB │ gzip: 5.38 kB
38
+ ℹ [ESM] dist/stream-handler.mjs.map  5.48 kB │ gzip: 1.96 kB
39
+ ℹ [ESM] dist/index.d.mts.map  4.95 kB │ gzip: 1.71 kB
40
+ ℹ [ESM] dist/index2.d.mts.map  3.09 kB │ gzip: 1.06 kB
41
+ ℹ [ESM] dist/stream-handler.mjs  2.88 kB │ gzip: 1.07 kB
42
+ ℹ [ESM] dist/stream-handler.entry.mjs.map  0.46 kB │ gzip: 0.32 kB
43
+ ℹ [ESM] dist/stream-handler.entry.d.mts.map  0.16 kB │ gzip: 0.14 kB
44
+ ℹ [ESM] dist/index2.d.mts  6.17 kB │ gzip: 1.82 kB
45
+ ℹ [ESM] dist/stream-handler.entry.d.mts  0.25 kB │ gzip: 0.18 kB
46
+ ℹ [ESM] dist/index.d.mts  9.85 kB │ gzip: 2.73 kB
47
+ ℹ [ESM] 12 files, total: 59.88 kB
34
48
  [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
35
- - rolldown-plugin-dts:resolver (57%)
36
- - rolldown-plugin-dts:generate (28%)
49
+ - rolldown-plugin-dts:resolver (46%)
50
+ - rolldown-plugin-dts:generate (42%)
37
51
  See https://rolldown.rs/options/checks#plugintimings for more details.
38
52
 
39
- ✔ Build complete in 4824ms
53
+ ✔ Build complete in 5101ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @auriclabs/events
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ddd017a: Add createEventQueue helper, make EventBridge bus optional, and bundle a pre-built stream
8
+ handler to eliminate consumer boilerplate.
9
+
10
+ ## 0.3.0
11
+
12
+ ### Minor Changes
13
+
14
+ - 9614859: Add tenantId to EventRecord and a tenantIndex GSI on the event store for tenant-scoped
15
+ queries.
16
+
3
17
  ## 0.2.0
4
18
 
5
19
  ### Minor Changes
package/dist/index.cjs CHANGED
@@ -1,14 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_stream_handler = require("./stream-handler.cjs");
2
3
  let _auriclabs_pagination = require("@auriclabs/pagination");
3
4
  let _aws_sdk_client_dynamodb = require("@aws-sdk/client-dynamodb");
4
5
  let _aws_sdk_lib_dynamodb = require("@aws-sdk/lib-dynamodb");
5
6
  let _auriclabs_api_core = require("@auriclabs/api-core");
6
7
  let _auriclabs_logger = require("@auriclabs/logger");
7
8
  let ulid = require("ulid");
8
- let _aws_sdk_client_eventbridge = require("@aws-sdk/client-eventbridge");
9
- let _aws_sdk_client_sqs = require("@aws-sdk/client-sqs");
10
- let _aws_sdk_util_dynamodb = require("@aws-sdk/util-dynamodb");
11
- let lodash_es = require("lodash-es");
12
9
  //#region src/event-service.ts
13
10
  const ddb = _aws_sdk_lib_dynamodb.DynamoDBDocumentClient.from(new _aws_sdk_client_dynamodb.DynamoDBClient(), { marshallOptions: { removeUndefinedValues: true } });
14
11
  const pad = (n, w = 9) => String(n).padStart(w, "0");
@@ -17,7 +14,7 @@ function createEventService(tableName) {
17
14
  const TABLE = tableName;
18
15
  return {
19
16
  async appendEvent(args) {
20
- const { aggregateType, aggregateId, expectedVersion, idempotencyKey, eventId, eventType, occurredAt, source, payload, schemaVersion, correlationId, causationId, actorId } = args;
17
+ const { tenantId, aggregateType, aggregateId, expectedVersion, idempotencyKey, eventId, eventType, occurredAt, source, payload, schemaVersion, correlationId, causationId, actorId } = args;
21
18
  const pk = pkFor(aggregateType, aggregateId);
22
19
  const nextVersion = expectedVersion + 1;
23
20
  const sk = `EVT#${pad(nextVersion)}`;
@@ -52,6 +49,7 @@ function createEventService(tableName) {
52
49
  aggregateId,
53
50
  aggregateType,
54
51
  version: nextVersion,
52
+ tenantId,
55
53
  eventId,
56
54
  eventType,
57
55
  schemaVersion: schemaVersion ?? 1,
@@ -224,87 +222,11 @@ const createEventListener = (eventHandlers, { debug = false } = {}) => async (sq
224
222
  return response;
225
223
  };
226
224
  //#endregion
227
- //#region src/stream-handler.ts
228
- const BATCH_SIZE = 10;
229
- /**
230
- * Creates a Lambda handler for DynamoDB stream events.
231
- * Processes INSERT events from the event store table and forwards them to SQS queues and EventBridge.
232
- */
233
- function createStreamHandler(config) {
234
- const sqsClient = new _aws_sdk_client_sqs.SQSClient();
235
- const eventBridge = new _aws_sdk_client_eventbridge.EventBridgeClient({});
236
- function chunkArray(array, chunkSize) {
237
- const chunks = [];
238
- for (let i = 0; i < array.length; i += chunkSize) chunks.push(array.slice(i, i + chunkSize));
239
- return chunks;
240
- }
241
- async function sendToQueuesBatch(eventRecords) {
242
- await Promise.all(config.queueUrls.map((queue) => sendToQueueBatch(eventRecords, queue)));
243
- }
244
- async function sendToQueueBatch(eventRecords, queue) {
245
- const batches = chunkArray(eventRecords, BATCH_SIZE);
246
- for (const batch of batches) try {
247
- const entries = batch.map((eventRecord, index) => ({
248
- Id: `${eventRecord.eventId}-${index}`,
249
- MessageBody: JSON.stringify(eventRecord),
250
- MessageGroupId: eventRecord.aggregateId,
251
- MessageDeduplicationId: eventRecord.eventId
252
- }));
253
- await sqsClient.send(new _aws_sdk_client_sqs.SendMessageBatchCommand({
254
- QueueUrl: queue,
255
- Entries: entries
256
- }));
257
- } catch (error) {
258
- _auriclabs_logger.logger.error({
259
- error,
260
- batch,
261
- queue
262
- }, "Error sending batch to queue");
263
- throw error;
264
- }
265
- }
266
- async function sendToBusBatch(eventRecords) {
267
- const batches = chunkArray(eventRecords, BATCH_SIZE);
268
- for (const batch of batches) try {
269
- const entries = batch.map((eventRecord) => {
270
- return {
271
- Source: eventRecord.source ?? (0, lodash_es.kebabCase)(eventRecord.aggregateType.split(".")[0]),
272
- DetailType: eventRecord.eventType,
273
- Detail: JSON.stringify(eventRecord),
274
- EventBusName: config.busName
275
- };
276
- });
277
- await eventBridge.send(new _aws_sdk_client_eventbridge.PutEventsCommand({ Entries: entries }));
278
- } catch (error) {
279
- _auriclabs_logger.logger.error({
280
- error,
281
- batch
282
- }, "Error sending batch to bus");
283
- throw error;
284
- }
285
- }
286
- return async (event) => {
287
- const eventRecords = event.Records.filter((record) => record.eventName === "INSERT").map((record) => {
288
- try {
289
- const data = record.dynamodb?.NewImage;
290
- return (0, _aws_sdk_util_dynamodb.unmarshall)(data);
291
- } catch (error) {
292
- _auriclabs_logger.logger.error({
293
- error,
294
- record
295
- }, "Error unmarshalling event record");
296
- return;
297
- }
298
- }).filter((eventRecord) => eventRecord?.itemType === "event");
299
- if (eventRecords.length > 0) await Promise.all([sendToBusBatch(eventRecords), sendToQueuesBatch(eventRecords)]);
300
- };
301
- }
302
- //#endregion
303
225
  exports.appendEventContext = appendEventContext;
304
226
  exports.createDispatch = createDispatch;
305
227
  exports.createEventListener = createEventListener;
306
228
  exports.createEventService = createEventService;
307
- exports.createStreamHandler = createStreamHandler;
229
+ exports.createStreamHandler = require_stream_handler.createStreamHandler;
308
230
  exports.dispatchEvent = dispatchEvent;
309
231
  exports.dispatchEvents = dispatchEvents;
310
232
  exports.getEventContext = getEventContext;
package/dist/index.d.cts CHANGED
@@ -1,127 +1,5 @@
1
- import { PaginationResponse } from "@auriclabs/pagination";
2
1
  import { Writable } from "node:stream";
3
2
 
4
- //#region src/types.d.ts
5
- type Brand<T, B extends string> = T & {
6
- readonly __brand: B;
7
- };
8
- type Source = Brand<string, 'Source'>;
9
- type AggregateId = Brand<string, 'AggregateId'>;
10
- type AggregateType = Brand<string, 'AggregateType'>;
11
- type EventId = Brand<string, 'EventId'>;
12
- type AggregatePK = `AGG#${string}#${string}`;
13
- type EventSK = `EVT#${string}` | 'HEAD';
14
- type ItemType = 'event' | 'head';
15
- interface EventRecord<P = unknown> {
16
- /** DynamoDB keys */
17
- pk: AggregatePK;
18
- sk: EventSK;
19
- itemType: Extract<ItemType, 'event'>;
20
- /** Aggregate routing */
21
- source: Source;
22
- aggregateId: AggregateId;
23
- aggregateType: AggregateType;
24
- version: number;
25
- /** Event identity & semantics */
26
- eventId: EventId;
27
- eventType: string;
28
- schemaVersion?: number;
29
- occurredAt: string;
30
- /** Tracing (optional) */
31
- correlationId?: string;
32
- causationId?: string;
33
- actorId?: string;
34
- /** Domain payload */
35
- payload: Readonly<P>;
36
- }
37
- interface AggregateHead {
38
- /** DynamoDB keys */
39
- pk: AggregatePK;
40
- sk: 'HEAD';
41
- itemType: Extract<ItemType, 'head'>;
42
- /** Aggregate identity */
43
- aggregateId: AggregateId;
44
- aggregateType: AggregateType;
45
- /** Version tracking */
46
- currentVersion: number;
47
- /** Idempotency/debug */
48
- lastEventId?: EventId;
49
- lastIdemKey?: string;
50
- updatedAt: string;
51
- }
52
- type EventHandlers = Record<string, ((event: EventRecord<any>) => Promise<void> | void) | string>;
53
- //#endregion
54
- //#region src/event-service.d.ts
55
- interface AppendArgs<P = unknown> {
56
- aggregateType: string;
57
- aggregateId: string;
58
- source: string;
59
- /** Version you observed before appending (0 for brand new) */
60
- expectedVersion: number;
61
- /** Required for idempotent retries (e.g., the command id) */
62
- idempotencyKey: string;
63
- eventId: string;
64
- eventType: string;
65
- occurredAt?: string;
66
- payload?: Readonly<P>;
67
- schemaVersion?: number;
68
- correlationId?: string;
69
- causationId?: string;
70
- actorId?: string;
71
- }
72
- interface AppendEventResult {
73
- pk: string;
74
- sk: string;
75
- version: number;
76
- }
77
- interface EventService {
78
- appendEvent<P = unknown>(args: AppendArgs<P>): Promise<AppendEventResult>;
79
- getHead(aggregateType: string, aggregateId: string): Promise<AggregateHead | undefined>;
80
- getEvent(aggregateType: string, aggregateId: string, version: number): Promise<EventRecord | undefined>;
81
- listEvents(params: {
82
- aggregateType: string;
83
- aggregateId: string;
84
- fromVersionExclusive?: number;
85
- toVersionInclusive?: number;
86
- limit?: number;
87
- }): Promise<PaginationResponse<EventRecord>>;
88
- }
89
- declare function createEventService(tableName: string): EventService;
90
- //#endregion
91
- //#region src/init.d.ts
92
- declare function initEvents(config: {
93
- tableName: string;
94
- }): void;
95
- declare function getEventService(): EventService;
96
- //#endregion
97
- //#region src/context.d.ts
98
- type EventContext = Partial<AppendArgs>;
99
- declare const setEventContext: (newContext: EventContext) => void;
100
- declare const getEventContext: () => Partial<AppendArgs<unknown>>;
101
- declare const resetEventContext: () => void;
102
- declare const appendEventContext: (event: EventContext) => void;
103
- //#endregion
104
- //#region src/dispatch-event.d.ts
105
- type DispatchEventArgs = Omit<AppendArgs, 'eventId' | 'expectedVersion' | 'schemaVersion' | 'occurredAt' | 'idempotencyKey'> & Partial<Pick<AppendArgs, 'idempotencyKey' | 'eventId'>>;
106
- declare const dispatchEvent: (event: DispatchEventArgs) => Promise<AppendEventResult>;
107
- //#endregion
108
- //#region src/dispatch-events.d.ts
109
- interface DispatchEventsArgs {
110
- inOrder?: boolean;
111
- }
112
- declare const dispatchEvents: (events: DispatchEventArgs[], {
113
- inOrder
114
- }?: DispatchEventsArgs) => Promise<void>;
115
- //#endregion
116
- //#region src/create-dispatch.d.ts
117
- type MakePartial<T, O> = Omit<T, keyof O> & Partial<O>;
118
- type DispatchRecord<Options extends Partial<DispatchEventArgs> = Partial<DispatchEventArgs>> = Record<string, (...args: any[]) => ValueOrFactoryRecord<MakePartial<DispatchEventArgs, Options>> | DispatchEventArgsFactory<Options>>;
119
- type ValueOrFactory<T> = T | ((context: EventContext) => T);
120
- type ValueOrFactoryRecord<T> = { [K in keyof T]: ValueOrFactory<T[K]> };
121
- type DispatchEventArgsFactory<Options extends Partial<DispatchEventArgs>> = (context: EventContext) => MakePartial<DispatchEventArgs, Options>;
122
- type DispatchRecordResponse<R extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>> = { [K in keyof R]: (...args: Parameters<R[K]>) => Promise<AppendEventResult> };
123
- declare function createDispatch<DR extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>>(record: DR, optionsOrFactory?: ValueOrFactoryRecord<O> | ((context: EventContext) => O)): DispatchRecordResponse<DR, O>;
124
- //#endregion
125
3
  //#region ../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts
126
4
  /**
127
5
  * {@link Handler} context parameter.
@@ -354,24 +232,5 @@ interface SQSBatchItemFailure {
354
232
  itemIdentifier: string;
355
233
  }
356
234
  //#endregion
357
- //#region src/create-event-listener.d.ts
358
- interface CreateEventListenerOptions {
359
- debug?: boolean;
360
- }
361
- declare const createEventListener: (eventHandlers: EventHandlers, {
362
- debug
363
- }?: CreateEventListenerOptions) => (sqsEvent: SQSEvent) => Promise<SQSBatchResponse>;
364
- //#endregion
365
- //#region src/stream-handler.d.ts
366
- interface CreateStreamHandlerConfig {
367
- busName: string;
368
- queueUrls: string[];
369
- }
370
- /**
371
- * Creates a Lambda handler for DynamoDB stream events.
372
- * Processes INSERT events from the event store table and forwards them to SQS queues and EventBridge.
373
- */
374
- declare function createStreamHandler(config: CreateStreamHandlerConfig): (event: DynamoDBStreamEvent) => Promise<void>;
375
- //#endregion
376
- export { AggregateHead, AggregateId, AggregatePK, AggregateType, AppendArgs, AppendEventResult, Brand, CreateEventListenerOptions, CreateStreamHandlerConfig, DispatchEventArgs, DispatchEventArgsFactory, DispatchEventsArgs, DispatchRecord, DispatchRecordResponse, EventContext, EventHandlers, EventId, EventRecord, EventSK, EventService, ItemType, MakePartial, Source, ValueOrFactory, ValueOrFactoryRecord, appendEventContext, createDispatch, createEventListener, createEventService, createStreamHandler, dispatchEvent, dispatchEvents, getEventContext, getEventService, initEvents, resetEventContext, setEventContext };
235
+ export { SQSEvent as n, DynamoDBStreamEvent as r, SQSBatchResponse as t };
377
236
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["Writable","Handler","TEvent","TResult","Context","Callback","Promise","event","context","callback","CognitoIdentity","ClientContext","Error","callbackWaitsForEmptyEventLoop","functionName","functionVersion","invokedFunctionArn","memoryLimitInMB","awsRequestId","logGroupName","logStreamName","identity","clientContext","tenantId","getRemainingTimeInMillis","done","error","result","fail","succeed","messageOrObject","message","object","cognitoIdentityId","cognitoIdentityPoolId","ClientContextClient","ClientContextEnv","client","Custom","env","installationId","appTitle","appVersionName","appVersionCode","appPackageName","platformVersion","platform","make","model","locale","StreamifyHandler","awslambda","HttpResponseStream","responseStream","_0","Record","global","from","writable","metadata","setContentType","contentType","streamifyResponse","handler","sideEffect","Handler","DynamoDBStreamHandler","DynamoDBStreamEvent","DynamoDBBatchResponse","AttributeValue","B","BS","BOOL","L","M","id","N","NS","NULL","S","SS","StreamRecord","ApproximateCreationDateTime","Keys","key","NewImage","OldImage","SequenceNumber","SizeBytes","StreamViewType","DynamoDBRecord","awsRegion","dynamodb","eventID","eventName","eventSource","eventSourceARN","eventVersion","userIdentity","Records","DynamoDBBatchItemFailure","batchItemFailures","itemIdentifier","Handler","SQSHandler","SQSEvent","SQSBatchResponse","SQSRecord","SQSRecordAttributes","SQSMessageAttributes","messageId","receiptHandle","body","attributes","messageAttributes","md5OfBody","md5OfMessageAttributes","eventSource","eventSourceARN","awsRegion","Records","AWSTraceHeader","ApproximateReceiveCount","SentTimestamp","SenderId","ApproximateFirstReceiveTimestamp","SequenceNumber","MessageGroupId","MessageDeduplicationId","DeadLetterQueueSourceArn","SQSMessageAttributeDataType","SQSMessageAttribute","stringValue","binaryValue","stringListValues","binaryListValues","dataType","name","SQSBatchItemFailure","batchItemFailures","itemIdentifier"],"sources":["../src/types.ts","../src/event-service.ts","../src/init.ts","../src/context.ts","../src/dispatch-event.ts","../src/dispatch-events.ts","../src/create-dispatch.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/sqs.d.ts","../src/create-event-listener.ts","../src/stream-handler.ts"],"x_google_ignoreList":[7,8,9],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":["Writable","Handler","TEvent","TResult","Context","Callback","Promise","event","context","callback","CognitoIdentity","ClientContext","Error","callbackWaitsForEmptyEventLoop","functionName","functionVersion","invokedFunctionArn","memoryLimitInMB","awsRequestId","logGroupName","logStreamName","identity","clientContext","tenantId","getRemainingTimeInMillis","done","error","result","fail","succeed","messageOrObject","message","object","cognitoIdentityId","cognitoIdentityPoolId","ClientContextClient","ClientContextEnv","client","Custom","env","installationId","appTitle","appVersionName","appVersionCode","appPackageName","platformVersion","platform","make","model","locale","StreamifyHandler","awslambda","HttpResponseStream","responseStream","_0","Record","global","from","writable","metadata","setContentType","contentType","streamifyResponse","handler","sideEffect","Handler","DynamoDBStreamHandler","DynamoDBStreamEvent","DynamoDBBatchResponse","AttributeValue","B","BS","BOOL","L","M","id","N","NS","NULL","S","SS","StreamRecord","ApproximateCreationDateTime","Keys","key","NewImage","OldImage","SequenceNumber","SizeBytes","StreamViewType","DynamoDBRecord","awsRegion","dynamodb","eventID","eventName","eventSource","eventSourceARN","eventVersion","userIdentity","Records","DynamoDBBatchItemFailure","batchItemFailures","itemIdentifier","Handler","SQSHandler","SQSEvent","SQSBatchResponse","SQSRecord","SQSRecordAttributes","SQSMessageAttributes","messageId","receiptHandle","body","attributes","messageAttributes","md5OfBody","md5OfMessageAttributes","eventSource","eventSourceARN","awsRegion","Records","AWSTraceHeader","ApproximateReceiveCount","SentTimestamp","SenderId","ApproximateFirstReceiveTimestamp","SequenceNumber","MessageGroupId","MessageDeduplicationId","DeadLetterQueueSourceArn","SQSMessageAttributeDataType","SQSMessageAttribute","stringValue","binaryValue","stringListValues","binaryListValues","dataType","name","SQSBatchItemFailure","batchItemFailures","itemIdentifier"],"sources":["../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/sqs.d.ts"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,127 +1,5 @@
1
- import { PaginationResponse } from "@auriclabs/pagination";
2
1
  import { Writable } from "node:stream";
3
2
 
4
- //#region src/types.d.ts
5
- type Brand<T, B extends string> = T & {
6
- readonly __brand: B;
7
- };
8
- type Source = Brand<string, 'Source'>;
9
- type AggregateId = Brand<string, 'AggregateId'>;
10
- type AggregateType = Brand<string, 'AggregateType'>;
11
- type EventId = Brand<string, 'EventId'>;
12
- type AggregatePK = `AGG#${string}#${string}`;
13
- type EventSK = `EVT#${string}` | 'HEAD';
14
- type ItemType = 'event' | 'head';
15
- interface EventRecord<P = unknown> {
16
- /** DynamoDB keys */
17
- pk: AggregatePK;
18
- sk: EventSK;
19
- itemType: Extract<ItemType, 'event'>;
20
- /** Aggregate routing */
21
- source: Source;
22
- aggregateId: AggregateId;
23
- aggregateType: AggregateType;
24
- version: number;
25
- /** Event identity & semantics */
26
- eventId: EventId;
27
- eventType: string;
28
- schemaVersion?: number;
29
- occurredAt: string;
30
- /** Tracing (optional) */
31
- correlationId?: string;
32
- causationId?: string;
33
- actorId?: string;
34
- /** Domain payload */
35
- payload: Readonly<P>;
36
- }
37
- interface AggregateHead {
38
- /** DynamoDB keys */
39
- pk: AggregatePK;
40
- sk: 'HEAD';
41
- itemType: Extract<ItemType, 'head'>;
42
- /** Aggregate identity */
43
- aggregateId: AggregateId;
44
- aggregateType: AggregateType;
45
- /** Version tracking */
46
- currentVersion: number;
47
- /** Idempotency/debug */
48
- lastEventId?: EventId;
49
- lastIdemKey?: string;
50
- updatedAt: string;
51
- }
52
- type EventHandlers = Record<string, ((event: EventRecord<any>) => Promise<void> | void) | string>;
53
- //#endregion
54
- //#region src/event-service.d.ts
55
- interface AppendArgs<P = unknown> {
56
- aggregateType: string;
57
- aggregateId: string;
58
- source: string;
59
- /** Version you observed before appending (0 for brand new) */
60
- expectedVersion: number;
61
- /** Required for idempotent retries (e.g., the command id) */
62
- idempotencyKey: string;
63
- eventId: string;
64
- eventType: string;
65
- occurredAt?: string;
66
- payload?: Readonly<P>;
67
- schemaVersion?: number;
68
- correlationId?: string;
69
- causationId?: string;
70
- actorId?: string;
71
- }
72
- interface AppendEventResult {
73
- pk: string;
74
- sk: string;
75
- version: number;
76
- }
77
- interface EventService {
78
- appendEvent<P = unknown>(args: AppendArgs<P>): Promise<AppendEventResult>;
79
- getHead(aggregateType: string, aggregateId: string): Promise<AggregateHead | undefined>;
80
- getEvent(aggregateType: string, aggregateId: string, version: number): Promise<EventRecord | undefined>;
81
- listEvents(params: {
82
- aggregateType: string;
83
- aggregateId: string;
84
- fromVersionExclusive?: number;
85
- toVersionInclusive?: number;
86
- limit?: number;
87
- }): Promise<PaginationResponse<EventRecord>>;
88
- }
89
- declare function createEventService(tableName: string): EventService;
90
- //#endregion
91
- //#region src/init.d.ts
92
- declare function initEvents(config: {
93
- tableName: string;
94
- }): void;
95
- declare function getEventService(): EventService;
96
- //#endregion
97
- //#region src/context.d.ts
98
- type EventContext = Partial<AppendArgs>;
99
- declare const setEventContext: (newContext: EventContext) => void;
100
- declare const getEventContext: () => Partial<AppendArgs<unknown>>;
101
- declare const resetEventContext: () => void;
102
- declare const appendEventContext: (event: EventContext) => void;
103
- //#endregion
104
- //#region src/dispatch-event.d.ts
105
- type DispatchEventArgs = Omit<AppendArgs, 'eventId' | 'expectedVersion' | 'schemaVersion' | 'occurredAt' | 'idempotencyKey'> & Partial<Pick<AppendArgs, 'idempotencyKey' | 'eventId'>>;
106
- declare const dispatchEvent: (event: DispatchEventArgs) => Promise<AppendEventResult>;
107
- //#endregion
108
- //#region src/dispatch-events.d.ts
109
- interface DispatchEventsArgs {
110
- inOrder?: boolean;
111
- }
112
- declare const dispatchEvents: (events: DispatchEventArgs[], {
113
- inOrder
114
- }?: DispatchEventsArgs) => Promise<void>;
115
- //#endregion
116
- //#region src/create-dispatch.d.ts
117
- type MakePartial<T, O> = Omit<T, keyof O> & Partial<O>;
118
- type DispatchRecord<Options extends Partial<DispatchEventArgs> = Partial<DispatchEventArgs>> = Record<string, (...args: any[]) => ValueOrFactoryRecord<MakePartial<DispatchEventArgs, Options>> | DispatchEventArgsFactory<Options>>;
119
- type ValueOrFactory<T> = T | ((context: EventContext) => T);
120
- type ValueOrFactoryRecord<T> = { [K in keyof T]: ValueOrFactory<T[K]> };
121
- type DispatchEventArgsFactory<Options extends Partial<DispatchEventArgs>> = (context: EventContext) => MakePartial<DispatchEventArgs, Options>;
122
- type DispatchRecordResponse<R extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>> = { [K in keyof R]: (...args: Parameters<R[K]>) => Promise<AppendEventResult> };
123
- declare function createDispatch<DR extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>>(record: DR, optionsOrFactory?: ValueOrFactoryRecord<O> | ((context: EventContext) => O)): DispatchRecordResponse<DR, O>;
124
- //#endregion
125
3
  //#region ../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts
126
4
  /**
127
5
  * {@link Handler} context parameter.
@@ -354,24 +232,5 @@ interface SQSBatchItemFailure {
354
232
  itemIdentifier: string;
355
233
  }
356
234
  //#endregion
357
- //#region src/create-event-listener.d.ts
358
- interface CreateEventListenerOptions {
359
- debug?: boolean;
360
- }
361
- declare const createEventListener: (eventHandlers: EventHandlers, {
362
- debug
363
- }?: CreateEventListenerOptions) => (sqsEvent: SQSEvent) => Promise<SQSBatchResponse>;
364
- //#endregion
365
- //#region src/stream-handler.d.ts
366
- interface CreateStreamHandlerConfig {
367
- busName: string;
368
- queueUrls: string[];
369
- }
370
- /**
371
- * Creates a Lambda handler for DynamoDB stream events.
372
- * Processes INSERT events from the event store table and forwards them to SQS queues and EventBridge.
373
- */
374
- declare function createStreamHandler(config: CreateStreamHandlerConfig): (event: DynamoDBStreamEvent) => Promise<void>;
375
- //#endregion
376
- export { AggregateHead, AggregateId, AggregatePK, AggregateType, AppendArgs, AppendEventResult, Brand, CreateEventListenerOptions, CreateStreamHandlerConfig, DispatchEventArgs, DispatchEventArgsFactory, DispatchEventsArgs, DispatchRecord, DispatchRecordResponse, EventContext, EventHandlers, EventId, EventRecord, EventSK, EventService, ItemType, MakePartial, Source, ValueOrFactory, ValueOrFactoryRecord, appendEventContext, createDispatch, createEventListener, createEventService, createStreamHandler, dispatchEvent, dispatchEvents, getEventContext, getEventService, initEvents, resetEventContext, setEventContext };
235
+ export { SQSEvent as n, DynamoDBStreamEvent as r, SQSBatchResponse as t };
377
236
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["Writable","Handler","TEvent","TResult","Context","Callback","Promise","event","context","callback","CognitoIdentity","ClientContext","Error","callbackWaitsForEmptyEventLoop","functionName","functionVersion","invokedFunctionArn","memoryLimitInMB","awsRequestId","logGroupName","logStreamName","identity","clientContext","tenantId","getRemainingTimeInMillis","done","error","result","fail","succeed","messageOrObject","message","object","cognitoIdentityId","cognitoIdentityPoolId","ClientContextClient","ClientContextEnv","client","Custom","env","installationId","appTitle","appVersionName","appVersionCode","appPackageName","platformVersion","platform","make","model","locale","StreamifyHandler","awslambda","HttpResponseStream","responseStream","_0","Record","global","from","writable","metadata","setContentType","contentType","streamifyResponse","handler","sideEffect","Handler","DynamoDBStreamHandler","DynamoDBStreamEvent","DynamoDBBatchResponse","AttributeValue","B","BS","BOOL","L","M","id","N","NS","NULL","S","SS","StreamRecord","ApproximateCreationDateTime","Keys","key","NewImage","OldImage","SequenceNumber","SizeBytes","StreamViewType","DynamoDBRecord","awsRegion","dynamodb","eventID","eventName","eventSource","eventSourceARN","eventVersion","userIdentity","Records","DynamoDBBatchItemFailure","batchItemFailures","itemIdentifier","Handler","SQSHandler","SQSEvent","SQSBatchResponse","SQSRecord","SQSRecordAttributes","SQSMessageAttributes","messageId","receiptHandle","body","attributes","messageAttributes","md5OfBody","md5OfMessageAttributes","eventSource","eventSourceARN","awsRegion","Records","AWSTraceHeader","ApproximateReceiveCount","SentTimestamp","SenderId","ApproximateFirstReceiveTimestamp","SequenceNumber","MessageGroupId","MessageDeduplicationId","DeadLetterQueueSourceArn","SQSMessageAttributeDataType","SQSMessageAttribute","stringValue","binaryValue","stringListValues","binaryListValues","dataType","name","SQSBatchItemFailure","batchItemFailures","itemIdentifier"],"sources":["../src/types.ts","../src/event-service.ts","../src/init.ts","../src/context.ts","../src/dispatch-event.ts","../src/dispatch-events.ts","../src/create-dispatch.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/sqs.d.ts","../src/create-event-listener.ts","../src/stream-handler.ts"],"x_google_ignoreList":[7,8,9],"mappings":";;;;KACY,KAAA,wBAA6B,CAAA;EAAA,SAAe,OAAA,EAAS,CAAA;AAAA;AAAA,KACrD,MAAA,GAAS,KAAA;AAAA,KACT,WAAA,GAAc,KAAA;AAAA,KACd,aAAA,GAAgB,KAAA;AAAA,KAChB,OAAA,GAAU,KAAA;AAAA,KAGV,WAAA;AAAA,KACA,OAAA;AAAA,KACA,QAAA;AAAA,UAGK,WAAA;EAZuC;EActD,EAAA,EAAI,WAAA;EACJ,EAAA,EAAI,OAAA;EACJ,QAAA,EAAU,OAAA,CAAQ,QAAA;EAfR;EAkBV,MAAA,EAAQ,MAAA;EACR,WAAA,EAAa,WAAA;EACb,aAAA,EAAe,aAAA;EACf,OAAA;EApBU;EAuBV,OAAA,EAAS,OAAA;EACT,SAAA;EACA,aAAA;EACA,UAAA;EAzBU;EA4BV,aAAA;EACA,WAAA;EACA,OAAA;EA9B+B;EAiC/B,OAAA,EAAS,QAAA,CAAS,CAAA;AAAA;AAAA,UAIH,aAAA;EApCK;EAsCpB,EAAA,EAAI,WAAA;EACJ,EAAA;EACA,QAAA,EAAU,OAAA,CAAQ,QAAA;;EAGlB,WAAA,EAAa,WAAA;EACb,aAAA,EAAe,aAAA;EAxCL;EA2CV,cAAA;;EAGA,WAAA,GAAc,OAAA;EACd,WAAA;EACA,SAAA;AAAA;AAAA,KAGU,aAAA,GAAgB,MAAA,WAGxB,KAAA,EAAO,WAAA,UAAqB,OAAA;;;UCjCf,UAAA;EACf,aAAA;EACA,WAAA;EACA,MAAA;EDhCe;ECkCf,eAAA;EDlCgB;ECoChB,cAAA;EAGA,OAAA;EACA,SAAA;EACA,UAAA;EACA,OAAA,GAAU,QAAA,CAAS,CAAA;EACnB,aAAA;EAGA,aAAA;EACA,WAAA;EACA,OAAA;AAAA;AAAA,UAGe,iBAAA;EACf,EAAA;EACA,EAAA;EACA,OAAA;AAAA;AAAA,UAGe,YAAA;EACf,WAAA,cAAyB,IAAA,EAAM,UAAA,CAAW,CAAA,IAAK,OAAA,CAAQ,iBAAA;EACvD,OAAA,CAAQ,aAAA,UAAuB,WAAA,WAAsB,OAAA,CAAQ,aAAA;EAC7D,QAAA,CACE,aAAA,UACA,WAAA,UACA,OAAA,WACC,OAAA,CAAQ,WAAA;EACX,UAAA,CAAW,MAAA;IACT,aAAA;IACA,WAAA;IACA,oBAAA;IACA,kBAAA;IACA,KAAA;EAAA,IACE,OAAA,CAAQ,kBAAA,CAAmB,WAAA;AAAA;AAAA,iBAGjB,kBAAA,CAAmB,SAAA,WAAoB,YAAA;;;iBCvEvC,UAAA,CAAW,MAAA;EAAU,SAAA;AAAA;AAAA,iBAIrB,eAAA,CAAA,GAAmB,YAAA;;;KCNvB,YAAA,GAAe,OAAA,CAAQ,UAAA;AAAA,cAItB,eAAA,GAAmB,UAAA,EAAY,YAAA;AAAA,cAI/B,eAAA,QAAe,OAAA,CAAA,UAAA;AAAA,cAEf,iBAAA;AAAA,cAIA,kBAAA,GAAsB,KAAA,EAAO,YAAA;;;KCR9B,iBAAA,GAAoB,IAAA,CAC9B,UAAA,uFAGA,OAAA,CAAQ,IAAA,CAAK,UAAA;AAAA,cAEF,aAAA,GAAuB,KAAA,EAAO,iBAAA,KAAoB,OAAA,CAAQ,iBAAA;;;UCZtD,kBAAA;EACf,OAAA;AAAA;AAAA,cAGW,cAAA,GACX,MAAA,EAAQ,iBAAA;EACR;AAAA,IAAqB,kBAAA,KAAuB,OAAA;;;KCFlC,WAAA,SAAoB,IAAA,CAAK,CAAA,QAAS,CAAA,IAAK,OAAA,CAAQ,CAAA;AAAA,KAE/C,cAAA,iBACM,OAAA,CAAQ,iBAAA,IAAqB,OAAA,CAAQ,iBAAA,KACnD,MAAA,aAGG,IAAA,YAED,oBAAA,CAAqB,WAAA,CAAY,iBAAA,EAAmB,OAAA,KACpD,wBAAA,CAAyB,OAAA;AAAA,KAGnB,cAAA,MAAoB,CAAA,KAAM,OAAA,EAAS,YAAA,KAAiB,CAAA;AAAA,KACpD,oBAAA,oBACE,CAAA,GAAI,cAAA,CAAe,CAAA,CAAE,CAAA;AAAA,KAGvB,wBAAA,iBAAyC,OAAA,CAAQ,iBAAA,MAC3D,OAAA,EAAS,YAAA,KACN,WAAA,CAAY,iBAAA,EAAmB,OAAA;AAAA,KAExB,sBAAA,WACA,cAAA,CAAe,CAAA,aACf,OAAA,CAAQ,iBAAA,mBAEN,CAAA,OAAQ,IAAA,EAAM,UAAA,CAAW,CAAA,CAAE,CAAA,OAAQ,OAAA,CAAQ,iBAAA;AAAA,iBAGzC,cAAA,YAA0B,cAAA,CAAe,CAAA,aAAc,OAAA,CAAQ,iBAAA,EAAA,CAC7E,MAAA,EAAQ,EAAA,EACR,gBAAA,GAAmB,oBAAA,CAAqB,CAAA,MAAO,OAAA,EAAS,YAAA,KAAiB,CAAA,IACxE,sBAAA,CAAuB,EAAA,EAAI,CAAA;;;;;ANG9B;;UOsDiBI,OAAAA;EACbS,8BAAAA;EACAC,YAAAA;EACAC,eAAAA;EACAC,kBAAAA;EACAC,eAAAA;EACAC,YAAAA;EACAC,YAAAA;EACAC,aAAAA;EACAC,QAAAA,GAAWX,eAAAA;EACXY,aAAAA,GAAgBX,aAAAA;EAChBY,QAAAA;EAEAC,wBAAAA;EAAAA;EAAAA;EPxDF;EO+DEC,IAAAA,CAAKC,KAAAA,GAAQd,KAAAA,EAAOe,MAAAA;EP5DR;EO8DZC,IAAAA,CAAKF,KAAAA,EAAOd,KAAAA;EP5Dd;EO8DEiB,OAAAA,CAAQC,eAAAA;EAAAA;EP3Da;EO+DrBD,OAAAA,CAAQE,OAAAA,UAAiBC,MAAAA;AAAAA;AAAAA,UAGZtB,eAAAA;EACbuB,iBAAAA;EACAC,qBAAAA;AAAAA;AAAAA,UAGavB,aAAAA;EACb0B,MAAAA,EAAQF,mBAAAA;EACRG,MAAAA;EACAC,GAAAA,EAAKH,gBAAAA;AAAAA;AAAAA,UAGQD,mBAAAA;EACbK,cAAAA;EACAC,QAAAA;EACAC,cAAAA;EACAC,cAAAA;EACAC,cAAAA;AAAAA;AAAAA,UAGaR,gBAAAA;EACbS,eAAAA;EACAC,QAAAA;EACAC,IAAAA;EACAC,KAAAA;EACAC,MAAAA;AAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6DQC,gBAAAA,iCACR3C,KAAAA,EAAOL,MAAAA,EACPmD,cAAAA,EAAgBF,SAAAA,CAAUC,kBAAAA,EAC1B5C,OAAAA,EAASJ,OAAAA,KACRD,OAAAA,GAAUG,OAAAA,CAAQH,OAAAA;AAAAA,QAEfqD,MAAAA;EAAAA,UACML,SAAAA;IAAAA,MACAC,kBAAAA,SAA2BpD,QAAAA;MAAAA,OACtByD,IAAAA,CACHC,QAAAA,EAAU1D,QAAAA,EACV2D,QAAAA,EAAUJ,MAAAA,oBACXH,kBAAAA;MACHQ,cAAAA,GAAiBC,WAAAA;IAAAA;IL5N2B;AAIxD;;;;;;;;ACNA;;;;;AAIA;;;;;AAIA;;;;;AAEA;;;;;AAIA;;;;;;;IDZwD,SKmQvCC,iBAAAA,8BAAAA,CACLC,OAAAA,EAASb,gBAAAA,CAAiBhD,MAAAA,EAAQC,OAAAA,IACnC+C,gBAAAA,CAAiBhD,MAAAA,EAAQC,OAAAA;EAAAA;AAAAA;;;;UCnQnBkE,cAAAA;EACbC,CAAAA;EACAC,EAAAA;EACAC,IAAAA;EACAC,CAAAA,GAAIJ,cAAAA;EACJK,CAAAA;IAAAA,CAAOC,EAAAA,WAAaN,cAAAA;EAAAA;EACpBO,CAAAA;EACAC,EAAAA;EACAC,IAAAA;EACAC,CAAAA;EACAC,EAAAA;AAAAA;AAAAA;AAAAA,UAIaC,YAAAA;EACbC,2BAAAA;EACAC,IAAAA;IAAAA,CAAUC,GAAAA,WAAcf,cAAAA;EAAAA;EACxBgB,QAAAA;IAAAA,CAAcD,GAAAA,WAAcf,cAAAA;EAAAA;EAC5BiB,QAAAA;IAAAA,CAAcF,GAAAA,WAAcf,cAAAA;EAAAA;EAC5BkB,cAAAA;EACAC,SAAAA;EACAC,cAAAA;AAAAA;AAAAA;AAAAA,UAIaC,cAAAA;EACbC,SAAAA;EACAC,QAAAA,GAAWX,YAAAA;EACXY,OAAAA;EACAC,SAAAA;EACAC,WAAAA;EACAC,cAAAA;EACAC,YAAAA;EACAC,YAAAA;AAAAA;AAAAA;AAAAA,UAIa/B,mBAAAA;EACbgC,OAAAA,EAAST,cAAAA;AAAAA;;;;;UCrCIiB,SAAAA;EACbG,SAAAA;EACAC,aAAAA;EACAC,IAAAA;EACAC,UAAAA,EAAYL,mBAAAA;EACZM,iBAAAA,EAAmBL,oBAAAA;EACnBM,SAAAA;EACAC,sBAAAA;EACAC,WAAAA;EACAC,cAAAA;EACAC,SAAAA;AAAAA;AAAAA,UAGad,QAAAA;EACbe,OAAAA,EAASb,SAAAA;AAAAA;AAAAA,UAGIC,mBAAAA;EACba,cAAAA;EACAC,uBAAAA;EACAC,aAAAA;EACAC,QAAAA;EACAC,gCAAAA;EACAC,cAAAA;EACAC,cAAAA;EACAC,sBAAAA;EACAC,wBAAAA;AAAAA;AAAAA,KAGQC,2BAAAA;AAAAA,UAEKC,mBAAAA;EACbC,WAAAA;EACAC,WAAAA;EACAC,gBAAAA;EACAC,gBAAAA;EACAC,QAAAA,EAAUN,2BAAAA;AAAAA;AAAAA,UAGGrB,oBAAAA;EAAAA,CACZ4B,IAAAA,WAAeN,mBAAAA;AAAAA;AAAAA;AAAAA,UAIHzB,gBAAAA;EACbiC,iBAAAA,EAAmBD,mBAAAA;AAAAA;AAAAA,UAGNA,mBAAAA;EACbE,cAAAA;AAAAA;;;UClDa,0BAAA;EACf,KAAA;AAAA;AAAA,cAGW,mBAAA,GACV,aAAA,EAAe,aAAA;EAAe;AAAA,IAAmB,0BAAA,MAC3C,QAAA,EAAU,QAAA,KAAQ,OAAA,CAAA,gBAAA;;;UCAV,yBAAA;EACf,OAAA;EACA,SAAA;AAAA;;;;;iBAOc,mBAAA,CAAoB,MAAA,EAAQ,yBAAA,IAqE5B,KAAA,EAAO,mBAAA,KAAsB,OAAA"}
1
+ {"version":3,"file":"index.d.mts","names":["Writable","Handler","TEvent","TResult","Context","Callback","Promise","event","context","callback","CognitoIdentity","ClientContext","Error","callbackWaitsForEmptyEventLoop","functionName","functionVersion","invokedFunctionArn","memoryLimitInMB","awsRequestId","logGroupName","logStreamName","identity","clientContext","tenantId","getRemainingTimeInMillis","done","error","result","fail","succeed","messageOrObject","message","object","cognitoIdentityId","cognitoIdentityPoolId","ClientContextClient","ClientContextEnv","client","Custom","env","installationId","appTitle","appVersionName","appVersionCode","appPackageName","platformVersion","platform","make","model","locale","StreamifyHandler","awslambda","HttpResponseStream","responseStream","_0","Record","global","from","writable","metadata","setContentType","contentType","streamifyResponse","handler","sideEffect","Handler","DynamoDBStreamHandler","DynamoDBStreamEvent","DynamoDBBatchResponse","AttributeValue","B","BS","BOOL","L","M","id","N","NS","NULL","S","SS","StreamRecord","ApproximateCreationDateTime","Keys","key","NewImage","OldImage","SequenceNumber","SizeBytes","StreamViewType","DynamoDBRecord","awsRegion","dynamodb","eventID","eventName","eventSource","eventSourceARN","eventVersion","userIdentity","Records","DynamoDBBatchItemFailure","batchItemFailures","itemIdentifier","Handler","SQSHandler","SQSEvent","SQSBatchResponse","SQSRecord","SQSRecordAttributes","SQSMessageAttributes","messageId","receiptHandle","body","attributes","messageAttributes","md5OfBody","md5OfMessageAttributes","eventSource","eventSourceARN","awsRegion","Records","AWSTraceHeader","ApproximateReceiveCount","SentTimestamp","SenderId","ApproximateFirstReceiveTimestamp","SequenceNumber","MessageGroupId","MessageDeduplicationId","DeadLetterQueueSourceArn","SQSMessageAttributeDataType","SQSMessageAttribute","stringValue","binaryValue","stringListValues","binaryListValues","dataType","name","SQSBatchItemFailure","batchItemFailures","itemIdentifier"],"sources":["../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/trigger/sqs.d.ts"],"x_google_ignoreList":[0,1,2],"mappings":"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"}