@auriclabs/events 0.3.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,14 +1,16 @@
1
1
 
2
- > @auriclabs/events@0.3.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.09 kB │ gzip: 3.32 kB
11
- ℹ [CJS] 1 files, total: 11.09 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:
@@ -17,23 +19,35 @@ Detected dependencies in bundle:
17
19
  See more at https://tsdown.dev/options/dependencies#deps-onlybundle
18
20
  Detected dependencies in bundle:
19
21
  - @types/aws-lambda
20
- ℹ [CJS] dist/index.d.cts.map  7.95 kB │ gzip: 2.65 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
21
29
  [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
22
- ℹ [CJS] dist/index.d.cts 15.81 kB │ gzip: 4.29 kB
23
- ℹ [CJS] 2 files, total: 23.76 kB
24
- - rolldown-plugin-dts:resolver (63%)
25
- - rolldown-plugin-dts:generate (24%)
30
+ - rolldown-plugin-dts:resolver (55%)
31
+ - rolldown-plugin-dts:generate (37%)
26
32
  See https://rolldown.rs/options/checks#plugintimings for more details.
27
33
 
28
- ✔ Build complete in 5301ms
29
- ℹ [ESM] dist/index.mjs 10.34 kB │ gzip: 3.21 kB
30
- ℹ [ESM] dist/index.mjs.map 23.79 kB │ gzip: 6.76 kB
31
- ℹ [ESM] dist/index.d.mts.map  7.95 kB │ gzip: 2.65 kB
32
- ℹ [ESM] dist/index.d.mts 15.81 kB │ gzip: 4.29 kB
33
- ℹ [ESM] 4 files, total: 57.89 kB
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:generate (57%)
36
- ✔ Build complete in 5304ms
37
- - rolldown-plugin-dts:resolver (34%)
49
+ - rolldown-plugin-dts:resolver (46%)
50
+ - rolldown-plugin-dts:generate (42%)
38
51
  See https://rolldown.rs/options/checks#plugintimings for more details.
39
52
 
53
+ ✔ Build complete in 5101ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
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
+
3
10
  ## 0.3.0
4
11
 
5
12
  ### 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");
@@ -225,87 +222,11 @@ const createEventListener = (eventHandlers, { debug = false } = {}) => async (sq
225
222
  return response;
226
223
  };
227
224
  //#endregion
228
- //#region src/stream-handler.ts
229
- const BATCH_SIZE = 10;
230
- /**
231
- * Creates a Lambda handler for DynamoDB stream events.
232
- * Processes INSERT events from the event store table and forwards them to SQS queues and EventBridge.
233
- */
234
- function createStreamHandler(config) {
235
- const sqsClient = new _aws_sdk_client_sqs.SQSClient();
236
- const eventBridge = new _aws_sdk_client_eventbridge.EventBridgeClient({});
237
- function chunkArray(array, chunkSize) {
238
- const chunks = [];
239
- for (let i = 0; i < array.length; i += chunkSize) chunks.push(array.slice(i, i + chunkSize));
240
- return chunks;
241
- }
242
- async function sendToQueuesBatch(eventRecords) {
243
- await Promise.all(config.queueUrls.map((queue) => sendToQueueBatch(eventRecords, queue)));
244
- }
245
- async function sendToQueueBatch(eventRecords, queue) {
246
- const batches = chunkArray(eventRecords, BATCH_SIZE);
247
- for (const batch of batches) try {
248
- const entries = batch.map((eventRecord, index) => ({
249
- Id: `${eventRecord.eventId}-${index}`,
250
- MessageBody: JSON.stringify(eventRecord),
251
- MessageGroupId: eventRecord.aggregateId,
252
- MessageDeduplicationId: eventRecord.eventId
253
- }));
254
- await sqsClient.send(new _aws_sdk_client_sqs.SendMessageBatchCommand({
255
- QueueUrl: queue,
256
- Entries: entries
257
- }));
258
- } catch (error) {
259
- _auriclabs_logger.logger.error({
260
- error,
261
- batch,
262
- queue
263
- }, "Error sending batch to queue");
264
- throw error;
265
- }
266
- }
267
- async function sendToBusBatch(eventRecords) {
268
- const batches = chunkArray(eventRecords, BATCH_SIZE);
269
- for (const batch of batches) try {
270
- const entries = batch.map((eventRecord) => {
271
- return {
272
- Source: eventRecord.source ?? (0, lodash_es.kebabCase)(eventRecord.aggregateType.split(".")[0]),
273
- DetailType: eventRecord.eventType,
274
- Detail: JSON.stringify(eventRecord),
275
- EventBusName: config.busName
276
- };
277
- });
278
- await eventBridge.send(new _aws_sdk_client_eventbridge.PutEventsCommand({ Entries: entries }));
279
- } catch (error) {
280
- _auriclabs_logger.logger.error({
281
- error,
282
- batch
283
- }, "Error sending batch to bus");
284
- throw error;
285
- }
286
- }
287
- return async (event) => {
288
- const eventRecords = event.Records.filter((record) => record.eventName === "INSERT").map((record) => {
289
- try {
290
- const data = record.dynamodb?.NewImage;
291
- return (0, _aws_sdk_util_dynamodb.unmarshall)(data);
292
- } catch (error) {
293
- _auriclabs_logger.logger.error({
294
- error,
295
- record
296
- }, "Error unmarshalling event record");
297
- return;
298
- }
299
- }).filter((eventRecord) => eventRecord?.itemType === "event");
300
- if (eventRecords.length > 0) await Promise.all([sendToBusBatch(eventRecords), sendToQueuesBatch(eventRecords)]);
301
- };
302
- }
303
- //#endregion
304
225
  exports.appendEventContext = appendEventContext;
305
226
  exports.createDispatch = createDispatch;
306
227
  exports.createEventListener = createEventListener;
307
228
  exports.createEventService = createEventService;
308
- exports.createStreamHandler = createStreamHandler;
229
+ exports.createStreamHandler = require_stream_handler.createStreamHandler;
309
230
  exports.dispatchEvent = dispatchEvent;
310
231
  exports.dispatchEvents = dispatchEvents;
311
232
  exports.getEventContext = getEventContext;
package/dist/index.d.cts CHANGED
@@ -1,130 +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
- /** Tenant isolation */
26
- tenantId: string;
27
- /** Event identity & semantics */
28
- eventId: EventId;
29
- eventType: string;
30
- schemaVersion?: number;
31
- occurredAt: string;
32
- /** Tracing (optional) */
33
- correlationId?: string;
34
- causationId?: string;
35
- actorId?: string;
36
- /** Domain payload */
37
- payload: Readonly<P>;
38
- }
39
- interface AggregateHead {
40
- /** DynamoDB keys */
41
- pk: AggregatePK;
42
- sk: 'HEAD';
43
- itemType: Extract<ItemType, 'head'>;
44
- /** Aggregate identity */
45
- aggregateId: AggregateId;
46
- aggregateType: AggregateType;
47
- /** Version tracking */
48
- currentVersion: number;
49
- /** Idempotency/debug */
50
- lastEventId?: EventId;
51
- lastIdemKey?: string;
52
- updatedAt: string;
53
- }
54
- type EventHandlers = Record<string, ((event: EventRecord<any>) => Promise<void> | void) | string>;
55
- //#endregion
56
- //#region src/event-service.d.ts
57
- interface AppendArgs<P = unknown> {
58
- tenantId: string;
59
- aggregateType: string;
60
- aggregateId: string;
61
- source: string;
62
- /** Version you observed before appending (0 for brand new) */
63
- expectedVersion: number;
64
- /** Required for idempotent retries (e.g., the command id) */
65
- idempotencyKey: string;
66
- eventId: string;
67
- eventType: string;
68
- occurredAt?: string;
69
- payload?: Readonly<P>;
70
- schemaVersion?: number;
71
- correlationId?: string;
72
- causationId?: string;
73
- actorId?: string;
74
- }
75
- interface AppendEventResult {
76
- pk: string;
77
- sk: string;
78
- version: number;
79
- }
80
- interface EventService {
81
- appendEvent<P = unknown>(args: AppendArgs<P>): Promise<AppendEventResult>;
82
- getHead(aggregateType: string, aggregateId: string): Promise<AggregateHead | undefined>;
83
- getEvent(aggregateType: string, aggregateId: string, version: number): Promise<EventRecord | undefined>;
84
- listEvents(params: {
85
- aggregateType: string;
86
- aggregateId: string;
87
- fromVersionExclusive?: number;
88
- toVersionInclusive?: number;
89
- limit?: number;
90
- }): Promise<PaginationResponse<EventRecord>>;
91
- }
92
- declare function createEventService(tableName: string): EventService;
93
- //#endregion
94
- //#region src/init.d.ts
95
- declare function initEvents(config: {
96
- tableName: string;
97
- }): void;
98
- declare function getEventService(): EventService;
99
- //#endregion
100
- //#region src/context.d.ts
101
- type EventContext = Partial<AppendArgs>;
102
- declare const setEventContext: (newContext: EventContext) => void;
103
- declare const getEventContext: () => Partial<AppendArgs<unknown>>;
104
- declare const resetEventContext: () => void;
105
- declare const appendEventContext: (event: EventContext) => void;
106
- //#endregion
107
- //#region src/dispatch-event.d.ts
108
- type DispatchEventArgs = Omit<AppendArgs, 'eventId' | 'expectedVersion' | 'schemaVersion' | 'occurredAt' | 'idempotencyKey'> & Partial<Pick<AppendArgs, 'idempotencyKey' | 'eventId'>>;
109
- declare const dispatchEvent: (event: DispatchEventArgs) => Promise<AppendEventResult>;
110
- //#endregion
111
- //#region src/dispatch-events.d.ts
112
- interface DispatchEventsArgs {
113
- inOrder?: boolean;
114
- }
115
- declare const dispatchEvents: (events: DispatchEventArgs[], {
116
- inOrder
117
- }?: DispatchEventsArgs) => Promise<void>;
118
- //#endregion
119
- //#region src/create-dispatch.d.ts
120
- type MakePartial<T, O> = Omit<T, keyof O> & Partial<O>;
121
- type DispatchRecord<Options extends Partial<DispatchEventArgs> = Partial<DispatchEventArgs>> = Record<string, (...args: any[]) => ValueOrFactoryRecord<MakePartial<DispatchEventArgs, Options>> | DispatchEventArgsFactory<Options>>;
122
- type ValueOrFactory<T> = T | ((context: EventContext) => T);
123
- type ValueOrFactoryRecord<T> = { [K in keyof T]: ValueOrFactory<T[K]> };
124
- type DispatchEventArgsFactory<Options extends Partial<DispatchEventArgs>> = (context: EventContext) => MakePartial<DispatchEventArgs, Options>;
125
- type DispatchRecordResponse<R extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>> = { [K in keyof R]: (...args: Parameters<R[K]>) => Promise<AppendEventResult> };
126
- declare function createDispatch<DR extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>>(record: DR, optionsOrFactory?: ValueOrFactoryRecord<O> | ((context: EventContext) => O)): DispatchRecordResponse<DR, O>;
127
- //#endregion
128
3
  //#region ../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts
129
4
  /**
130
5
  * {@link Handler} context parameter.
@@ -357,24 +232,5 @@ interface SQSBatchItemFailure {
357
232
  itemIdentifier: string;
358
233
  }
359
234
  //#endregion
360
- //#region src/create-event-listener.d.ts
361
- interface CreateEventListenerOptions {
362
- debug?: boolean;
363
- }
364
- declare const createEventListener: (eventHandlers: EventHandlers, {
365
- debug
366
- }?: CreateEventListenerOptions) => (sqsEvent: SQSEvent) => Promise<SQSBatchResponse>;
367
- //#endregion
368
- //#region src/stream-handler.d.ts
369
- interface CreateStreamHandlerConfig {
370
- busName: string;
371
- queueUrls: string[];
372
- }
373
- /**
374
- * Creates a Lambda handler for DynamoDB stream events.
375
- * Processes INSERT events from the event store table and forwards them to SQS queues and EventBridge.
376
- */
377
- declare function createStreamHandler(config: CreateStreamHandlerConfig): (event: DynamoDBStreamEvent) => Promise<void>;
378
- //#endregion
379
- 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 };
380
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,130 +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
- /** Tenant isolation */
26
- tenantId: string;
27
- /** Event identity & semantics */
28
- eventId: EventId;
29
- eventType: string;
30
- schemaVersion?: number;
31
- occurredAt: string;
32
- /** Tracing (optional) */
33
- correlationId?: string;
34
- causationId?: string;
35
- actorId?: string;
36
- /** Domain payload */
37
- payload: Readonly<P>;
38
- }
39
- interface AggregateHead {
40
- /** DynamoDB keys */
41
- pk: AggregatePK;
42
- sk: 'HEAD';
43
- itemType: Extract<ItemType, 'head'>;
44
- /** Aggregate identity */
45
- aggregateId: AggregateId;
46
- aggregateType: AggregateType;
47
- /** Version tracking */
48
- currentVersion: number;
49
- /** Idempotency/debug */
50
- lastEventId?: EventId;
51
- lastIdemKey?: string;
52
- updatedAt: string;
53
- }
54
- type EventHandlers = Record<string, ((event: EventRecord<any>) => Promise<void> | void) | string>;
55
- //#endregion
56
- //#region src/event-service.d.ts
57
- interface AppendArgs<P = unknown> {
58
- tenantId: string;
59
- aggregateType: string;
60
- aggregateId: string;
61
- source: string;
62
- /** Version you observed before appending (0 for brand new) */
63
- expectedVersion: number;
64
- /** Required for idempotent retries (e.g., the command id) */
65
- idempotencyKey: string;
66
- eventId: string;
67
- eventType: string;
68
- occurredAt?: string;
69
- payload?: Readonly<P>;
70
- schemaVersion?: number;
71
- correlationId?: string;
72
- causationId?: string;
73
- actorId?: string;
74
- }
75
- interface AppendEventResult {
76
- pk: string;
77
- sk: string;
78
- version: number;
79
- }
80
- interface EventService {
81
- appendEvent<P = unknown>(args: AppendArgs<P>): Promise<AppendEventResult>;
82
- getHead(aggregateType: string, aggregateId: string): Promise<AggregateHead | undefined>;
83
- getEvent(aggregateType: string, aggregateId: string, version: number): Promise<EventRecord | undefined>;
84
- listEvents(params: {
85
- aggregateType: string;
86
- aggregateId: string;
87
- fromVersionExclusive?: number;
88
- toVersionInclusive?: number;
89
- limit?: number;
90
- }): Promise<PaginationResponse<EventRecord>>;
91
- }
92
- declare function createEventService(tableName: string): EventService;
93
- //#endregion
94
- //#region src/init.d.ts
95
- declare function initEvents(config: {
96
- tableName: string;
97
- }): void;
98
- declare function getEventService(): EventService;
99
- //#endregion
100
- //#region src/context.d.ts
101
- type EventContext = Partial<AppendArgs>;
102
- declare const setEventContext: (newContext: EventContext) => void;
103
- declare const getEventContext: () => Partial<AppendArgs<unknown>>;
104
- declare const resetEventContext: () => void;
105
- declare const appendEventContext: (event: EventContext) => void;
106
- //#endregion
107
- //#region src/dispatch-event.d.ts
108
- type DispatchEventArgs = Omit<AppendArgs, 'eventId' | 'expectedVersion' | 'schemaVersion' | 'occurredAt' | 'idempotencyKey'> & Partial<Pick<AppendArgs, 'idempotencyKey' | 'eventId'>>;
109
- declare const dispatchEvent: (event: DispatchEventArgs) => Promise<AppendEventResult>;
110
- //#endregion
111
- //#region src/dispatch-events.d.ts
112
- interface DispatchEventsArgs {
113
- inOrder?: boolean;
114
- }
115
- declare const dispatchEvents: (events: DispatchEventArgs[], {
116
- inOrder
117
- }?: DispatchEventsArgs) => Promise<void>;
118
- //#endregion
119
- //#region src/create-dispatch.d.ts
120
- type MakePartial<T, O> = Omit<T, keyof O> & Partial<O>;
121
- type DispatchRecord<Options extends Partial<DispatchEventArgs> = Partial<DispatchEventArgs>> = Record<string, (...args: any[]) => ValueOrFactoryRecord<MakePartial<DispatchEventArgs, Options>> | DispatchEventArgsFactory<Options>>;
122
- type ValueOrFactory<T> = T | ((context: EventContext) => T);
123
- type ValueOrFactoryRecord<T> = { [K in keyof T]: ValueOrFactory<T[K]> };
124
- type DispatchEventArgsFactory<Options extends Partial<DispatchEventArgs>> = (context: EventContext) => MakePartial<DispatchEventArgs, Options>;
125
- type DispatchRecordResponse<R extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>> = { [K in keyof R]: (...args: Parameters<R[K]>) => Promise<AppendEventResult> };
126
- declare function createDispatch<DR extends DispatchRecord<O>, O extends Partial<DispatchEventArgs>>(record: DR, optionsOrFactory?: ValueOrFactoryRecord<O> | ((context: EventContext) => O)): DispatchRecordResponse<DR, O>;
127
- //#endregion
128
3
  //#region ../../node_modules/.pnpm/@types+aws-lambda@8.10.152/node_modules/@types/aws-lambda/handler.d.ts
129
4
  /**
130
5
  * {@link Handler} context parameter.
@@ -357,24 +232,5 @@ interface SQSBatchItemFailure {
357
232
  itemIdentifier: string;
358
233
  }
359
234
  //#endregion
360
- //#region src/create-event-listener.d.ts
361
- interface CreateEventListenerOptions {
362
- debug?: boolean;
363
- }
364
- declare const createEventListener: (eventHandlers: EventHandlers, {
365
- debug
366
- }?: CreateEventListenerOptions) => (sqsEvent: SQSEvent) => Promise<SQSBatchResponse>;
367
- //#endregion
368
- //#region src/stream-handler.d.ts
369
- interface CreateStreamHandlerConfig {
370
- busName: string;
371
- queueUrls: string[];
372
- }
373
- /**
374
- * Creates a Lambda handler for DynamoDB stream events.
375
- * Processes INSERT events from the event store table and forwards them to SQS queues and EventBridge.
376
- */
377
- declare function createStreamHandler(config: CreateStreamHandlerConfig): (event: DynamoDBStreamEvent) => Promise<void>;
378
- //#endregion
379
- 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 };
380
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":"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"}
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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"}