@pikku/lambda 0.11.0 → 0.12.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.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,30 @@
1
+ ## 0.12.0
2
+
3
+ ### New Features
4
+
5
+ - `createWireServices` and `createConfig` are now optional
6
+
1
7
  ## 0.11.0
2
8
 
9
+ ## 0.11.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 4b811db: chore: updating all dependencies
14
+ - ce902b1: chore: updating aws types
15
+ - 06e1a31: breaking: change session services to wire services
16
+ - Updated dependencies [4b811db]
17
+ - Updated dependencies [e12a00c]
18
+ - Updated dependencies [4579434]
19
+ - Updated dependencies [28aeb7f]
20
+ - Updated dependencies [ce902b1]
21
+ - Updated dependencies [06e1a31]
22
+ - @pikku/core@0.11.1
23
+
3
24
  ### Minor Changes
4
25
 
5
26
  - Workflow support
6
27
 
7
-
8
28
  ## 0.8.0
9
29
 
10
30
  ## 0.10.1
@@ -1,3 +1,3 @@
1
- import { CoreSingletonServices, CoreServices, CreateSessionServices, CoreUserSession } from '@pikku/core';
1
+ import { CoreSingletonServices, CoreServices, CreateWireServices, CoreUserSession } from '@pikku/core';
2
2
  import { APIGatewayEvent, APIGatewayProxyResult } from 'aws-lambda';
3
- export declare const runFetch: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(singletonServices: SingletonServices, createSessionServices: CreateSessionServices<SingletonServices, Services, UserSession>, event: APIGatewayEvent) => Promise<APIGatewayProxyResult>;
3
+ export declare const runFetch: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(singletonServices: SingletonServices, createWireServices: CreateWireServices<SingletonServices, Services, UserSession> | undefined, event: APIGatewayEvent) => Promise<APIGatewayProxyResult>;
@@ -1,7 +1,7 @@
1
1
  import { PikkuFetchHTTPResponse, fetchData } from '@pikku/core/http';
2
2
  import { responseToLambdaResult } from '../response-converter.js';
3
3
  import { lambdaEventToRequest } from '../request-converter.js';
4
- export const runFetch = async (singletonServices, createSessionServices, event) => {
4
+ export const runFetch = async (singletonServices, createWireServices, event) => {
5
5
  const request = lambdaEventToRequest(event);
6
6
  const response = new PikkuFetchHTTPResponse();
7
7
  if (request.method === 'options') {
@@ -13,7 +13,7 @@ export const runFetch = async (singletonServices, createSessionServices, event)
13
13
  try {
14
14
  await fetchData(request, response, {
15
15
  singletonServices,
16
- createSessionServices: createSessionServices,
16
+ createWireServices: createWireServices,
17
17
  });
18
18
  }
19
19
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"run-fetch.js","sourceRoot":"","sources":["../../src/http/run-fetch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAK3B,iBAAoC,EACpC,qBAIC,EACD,KAAsB,EACU,EAAE;IAClC,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,MAAM,CACb,8BAA8B,EAC9B,uFAAuF,CACxF,CAAA;QACD,QAAQ,CAAC,MAAM,CACb,8BAA8B,EAC9B,wCAAwC,CACzC,CAAA;QACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE;YACjC,iBAAiB;YACjB,qBAAqB,EAAE,qBAA4B;SACpD,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"run-fetch.js","sourceRoot":"","sources":["../../src/http/run-fetch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAK3B,iBAAoC,EACpC,kBAEa,EACb,KAAsB,EACU,EAAE;IAClC,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,MAAM,CACb,8BAA8B,EAC9B,uFAAuF,CACxF,CAAA;QACD,QAAQ,CAAC,MAAM,CACb,8BAA8B,EAC9B,wCAAwC,CACzC,CAAA;QACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE;YACjC,iBAAiB;YACjB,kBAAkB,EAAE,kBAAyB;SAC9C,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { SQSBatchResponse, SQSEvent, SQSRecord } from 'aws-lambda';
2
- import type { CoreSingletonServices, CreateSessionServices } from '@pikku/core';
2
+ import type { CoreSingletonServices, CreateWireServices } from '@pikku/core';
3
3
  import type { QueueJob } from '@pikku/core/queue';
4
4
  export declare function mapSQSRecordToQueueJob(record: SQSRecord, maxAttempts?: number): QueueJob;
5
- export declare const runSQSQueueWorker: (singletonServices: CoreSingletonServices, createSessionServices: CreateSessionServices<any, any, any> | undefined, event: SQSEvent) => Promise<SQSBatchResponse>;
5
+ export declare const runSQSQueueWorker: (singletonServices: CoreSingletonServices, createWireServices: CreateWireServices<any, any, any> | undefined, event: SQSEvent) => Promise<SQSBatchResponse>;
@@ -1,4 +1,4 @@
1
- import { runQueueJob, QueueJobFailedError, QueueJobDiscardedError, } from '@pikku/core/queue';
1
+ import { createQueueJobRunner, QueueJobFailedError, QueueJobDiscardedError, } from '@pikku/core/queue';
2
2
  export function mapSQSRecordToQueueJob(record, maxAttempts) {
3
3
  let data;
4
4
  try {
@@ -33,14 +33,16 @@ export function mapSQSRecordToQueueJob(record, maxAttempts) {
33
33
  };
34
34
  return job;
35
35
  }
36
- export const runSQSQueueWorker = async (singletonServices, createSessionServices, event) => {
36
+ export const runSQSQueueWorker = async (singletonServices, createWireServices, event) => {
37
37
  console.log(JSON.stringify(event, null, 2));
38
38
  const jobs = event.Records.map(mapSQSRecordToQueueJob);
39
+ const runJob = createQueueJobRunner({
40
+ singletonServices,
41
+ createWireServices,
42
+ });
39
43
  const results = await Promise.allSettled(jobs.map(async (job) => {
40
44
  try {
41
- return await runQueueJob({
42
- singletonServices,
43
- createSessionServices,
45
+ return await runJob({
44
46
  job,
45
47
  });
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqs-worker.js","sourceRoot":"","sources":["../../src/queue/sqs-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqs-worker.js","sourceRoot":"","sources":["../../src/queue/sqs-worker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { CoreSingletonServices, CoreServices, CoreUserSession } from '@pikku/core';
2
2
  import { APIGatewayEvent, APIGatewayProxyResult } from 'aws-lambda';
3
3
  import { WebsocketParams } from './websocket-types.js';
4
- export declare const connectWebsocket: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(event: APIGatewayEvent, { singletonServices, createSessionServices, channelStore, }: WebsocketParams<SingletonServices, Services, UserSession>) => Promise<APIGatewayProxyResult>;
4
+ export declare const connectWebsocket: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(event: APIGatewayEvent, { singletonServices, createWireServices, channelStore, }: WebsocketParams<SingletonServices, Services, UserSession>) => Promise<APIGatewayProxyResult>;
@@ -3,7 +3,7 @@ import { responseToLambdaResult } from '../response-converter.js';
3
3
  import { runChannelConnect } from '@pikku/core/channel/serverless';
4
4
  import { getServerlessDependencies } from './utils.js';
5
5
  import { lambdaEventToRequest } from '../request-converter.js';
6
- export const connectWebsocket = async (event, { singletonServices, createSessionServices, channelStore, }) => {
6
+ export const connectWebsocket = async (event, { singletonServices, createWireServices, channelStore, }) => {
7
7
  const runnerParams = getServerlessDependencies(singletonServices.logger, channelStore, event);
8
8
  const request = new PikkuFetchHTTPRequest(lambdaEventToRequest(event));
9
9
  const response = new PikkuFetchHTTPResponse();
@@ -12,7 +12,7 @@ export const connectWebsocket = async (event, { singletonServices, createSession
12
12
  request,
13
13
  response,
14
14
  singletonServices: singletonServices,
15
- createSessionServices: createSessionServices,
15
+ createWireServices: createWireServices,
16
16
  route: event.path || '/',
17
17
  });
18
18
  return responseToLambdaResult(response.toResponse());
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-connect.js","sourceRoot":"","sources":["../../src/websocket/websocket-connect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAKnC,KAAsB,EACtB,EACE,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,GAC8C,EAC5B,EAAE;IAClC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,iBAAiB,CAAC,MAAM,EACxB,YAAY,EACZ,KAAK,CACN,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAC7C,MAAM,iBAAiB,CAAC;QACtB,GAAG,YAAY;QACf,OAAO;QACP,QAAQ;QACR,iBAAiB,EAAE,iBAAwB;QAC3C,qBAAqB,EAAE,qBAA4B;QACnD,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;KACzB,CAAC,CAAA;IACF,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"websocket-connect.js","sourceRoot":"","sources":["../../src/websocket/websocket-connect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAKnC,KAAsB,EACtB,EACE,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAC8C,EAC5B,EAAE;IAClC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,iBAAiB,CAAC,MAAM,EACxB,YAAY,EACZ,KAAK,CACN,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAC7C,MAAM,iBAAiB,CAAC;QACtB,GAAG,YAAY;QACf,OAAO;QACP,QAAQ;QACR,iBAAiB,EAAE,iBAAwB;QAC3C,kBAAkB,EAAE,kBAAyB;QAC7C,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;KACzB,CAAC,CAAA;IACF,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { CoreSingletonServices, CoreServices, CoreUserSession } from '@pikku/core';
2
2
  import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
3
3
  import { WebsocketParams } from './websocket-types.js';
4
- export declare const disconnectWebsocket: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(event: APIGatewayProxyEvent, { singletonServices, createSessionServices, channelStore, }: WebsocketParams<SingletonServices, Services, UserSession>) => Promise<APIGatewayProxyResult>;
4
+ export declare const disconnectWebsocket: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(event: APIGatewayProxyEvent, { singletonServices, createWireServices, channelStore, }: WebsocketParams<SingletonServices, Services, UserSession>) => Promise<APIGatewayProxyResult>;
@@ -1,11 +1,11 @@
1
1
  import { runChannelDisconnect } from '@pikku/core/channel/serverless';
2
2
  import { getServerlessDependencies } from './utils.js';
3
- export const disconnectWebsocket = async (event, { singletonServices, createSessionServices, channelStore, }) => {
3
+ export const disconnectWebsocket = async (event, { singletonServices, createWireServices, channelStore, }) => {
4
4
  const runnerParams = getServerlessDependencies(singletonServices.logger, channelStore, event);
5
5
  await runChannelDisconnect({
6
6
  ...runnerParams,
7
7
  singletonServices: singletonServices,
8
- createSessionServices: createSessionServices,
8
+ createWireServices: createWireServices,
9
9
  });
10
10
  return { statusCode: 200, body: '' };
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-disconnect.js","sourceRoot":"","sources":["../../src/websocket/websocket-disconnect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAGrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAKtC,KAA2B,EAC3B,EACE,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,GAC8C,EAC5B,EAAE;IAClC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,iBAAiB,CAAC,MAAM,EACxB,YAAY,EACZ,KAAK,CACN,CAAA;IACD,MAAM,oBAAoB,CAAC;QACzB,GAAG,YAAY;QACf,iBAAiB,EAAE,iBAAwB;QAC3C,qBAAqB,EAAE,qBAA4B;KACpD,CAAC,CAAA;IACF,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AACtC,CAAC,CAAA"}
1
+ {"version":3,"file":"websocket-disconnect.js","sourceRoot":"","sources":["../../src/websocket/websocket-disconnect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAGrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAKtC,KAA2B,EAC3B,EACE,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAC8C,EAC5B,EAAE;IAClC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,iBAAiB,CAAC,MAAM,EACxB,YAAY,EACZ,KAAK,CACN,CAAA;IACD,MAAM,oBAAoB,CAAC;QACzB,GAAG,YAAY;QACf,iBAAiB,EAAE,iBAAwB;QAC3C,kBAAkB,EAAE,kBAAyB;KAC9C,CAAC,CAAA;IACF,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AACtC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { CoreSingletonServices, CoreServices, CoreUserSession } from '@pikku/core';
2
2
  import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
3
3
  import { WebsocketParams } from './websocket-types.js';
4
- export declare const processWebsocketMessage: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(event: APIGatewayProxyEvent, { singletonServices, createSessionServices, channelStore, }: WebsocketParams<SingletonServices, Services, UserSession>) => Promise<APIGatewayProxyResult>;
4
+ export declare const processWebsocketMessage: <SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession>(event: APIGatewayProxyEvent, { singletonServices, createWireServices, channelStore, }: WebsocketParams<SingletonServices, Services, UserSession>) => Promise<APIGatewayProxyResult>;
@@ -2,14 +2,14 @@ import { PikkuFetchHTTPResponse } from '@pikku/core/http';
2
2
  import { runChannelMessage } from '@pikku/core/channel/serverless';
3
3
  import { getServerlessDependencies } from './utils.js';
4
4
  import { responseToLambdaResult } from '../response-converter.js';
5
- export const processWebsocketMessage = async (event, { singletonServices, createSessionServices, channelStore, }) => {
5
+ export const processWebsocketMessage = async (event, { singletonServices, createWireServices, channelStore, }) => {
6
6
  const runnerParams = getServerlessDependencies(singletonServices.logger, channelStore, event);
7
7
  const response = new PikkuFetchHTTPResponse();
8
8
  try {
9
9
  const result = await runChannelMessage({
10
10
  ...runnerParams,
11
11
  singletonServices: singletonServices,
12
- createSessionServices: createSessionServices,
12
+ createWireServices: createWireServices,
13
13
  }, event.body);
14
14
  if (result) {
15
15
  response.json(result);
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-message.js","sourceRoot":"","sources":["../../src/websocket/websocket-message.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAK1C,KAA2B,EAC3B,EACE,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,GAC8C,EAC5B,EAAE;IAClC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,iBAAiB,CAAC,MAAM,EACxB,YAAY,EACZ,KAAK,CACN,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;YACE,GAAG,YAAY;YACf,iBAAiB,EAAE,iBAAwB;YAC3C,qBAAqB,EAAE,qBAA4B;SACpD,EACD,KAAK,CAAC,IAAI,CACX,CAAA;QACD,IAAI,MAAM,EAAE,CAAC;YAEX,QAAQ,CAAC,IAAI,CAAC,MAAa,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAEX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"websocket-message.js","sourceRoot":"","sources":["../../src/websocket/websocket-message.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAK1C,KAA2B,EAC3B,EACE,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAC8C,EAC5B,EAAE;IAClC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,iBAAiB,CAAC,MAAM,EACxB,YAAY,EACZ,KAAK,CACN,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;YACE,GAAG,YAAY;YACf,iBAAiB,EAAE,iBAAwB;YAC3C,kBAAkB,EAAE,kBAAyB;SAC9C,EACD,KAAK,CAAC,IAAI,CACX,CAAA;QACD,IAAI,MAAM,EAAE,CAAC;YAEX,QAAQ,CAAC,IAAI,CAAC,MAAa,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAEX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
- import { CoreSingletonServices, CoreServices, CoreUserSession, CreateSessionServices } from '@pikku/core';
1
+ import { CoreSingletonServices, CoreServices, CoreUserSession, CreateWireServices } from '@pikku/core';
2
2
  import { ChannelStore } from '@pikku/core/channel';
3
3
  export type WebsocketParams<SingletonServices extends CoreSingletonServices, Services extends CoreServices<SingletonServices>, UserSession extends CoreUserSession> = {
4
4
  channelStore: ChannelStore;
5
5
  singletonServices: SingletonServices;
6
- createSessionServices?: CreateSessionServices<SingletonServices, Services, UserSession>;
6
+ createWireServices?: CreateWireServices<SingletonServices, Services, UserSession>;
7
7
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/lambda",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "license": "MIT",
5
5
  "author": "yasser.fadl@gmail.com",
6
6
  "module": "dist/index.js",
@@ -23,12 +23,12 @@
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@aws-sdk/client-apigatewaymanagementapi": "^3.713.0",
26
- "@pikku/core": "^0.11.0",
27
- "@types/aws-lambda": "^8.10.146"
26
+ "@pikku/core": "^0.12.0",
27
+ "@types/aws-lambda": "^8.10.159"
28
28
  },
29
29
  "devDependencies": {
30
- "@aws-sdk/client-apigatewaymanagementapi": "^3.914.0",
31
- "@types/aws-lambda": "^8.10.156",
30
+ "@aws-sdk/client-apigatewaymanagementapi": "^3.985.0",
31
+ "@types/aws-lambda": "^8.10.160",
32
32
  "typescript": "^5.9.3"
33
33
  },
34
34
  "engines": {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CoreSingletonServices,
3
3
  CoreServices,
4
- CreateSessionServices,
4
+ CreateWireServices,
5
5
  CoreUserSession,
6
6
  } from '@pikku/core'
7
7
  import { PikkuFetchHTTPResponse, fetchData } from '@pikku/core/http'
@@ -15,11 +15,9 @@ export const runFetch = async <
15
15
  UserSession extends CoreUserSession,
16
16
  >(
17
17
  singletonServices: SingletonServices,
18
- createSessionServices: CreateSessionServices<
19
- SingletonServices,
20
- Services,
21
- UserSession
22
- >,
18
+ createWireServices:
19
+ | CreateWireServices<SingletonServices, Services, UserSession>
20
+ | undefined,
23
21
  event: APIGatewayEvent
24
22
  ): Promise<APIGatewayProxyResult> => {
25
23
  const request = lambdaEventToRequest(event)
@@ -41,7 +39,7 @@ export const runFetch = async <
41
39
  try {
42
40
  await fetchData(request, response, {
43
41
  singletonServices,
44
- createSessionServices: createSessionServices as any,
42
+ createWireServices: createWireServices as any,
45
43
  })
46
44
  } catch {
47
45
  // Error should have already been handled by fetch
@@ -1,10 +1,10 @@
1
1
  import { SQSBatchResponse, SQSEvent, SQSRecord } from 'aws-lambda'
2
2
  import {
3
- runQueueJob,
3
+ createQueueJobRunner,
4
4
  QueueJobFailedError,
5
5
  QueueJobDiscardedError,
6
6
  } from '@pikku/core/queue'
7
- import type { CoreSingletonServices, CreateSessionServices } from '@pikku/core'
7
+ import type { CoreSingletonServices, CreateWireServices } from '@pikku/core'
8
8
  import type { QueueJob, QueueJobStatus } from '@pikku/core/queue'
9
9
 
10
10
  /**
@@ -58,19 +58,21 @@ export function mapSQSRecordToQueueJob(
58
58
  */
59
59
  export const runSQSQueueWorker = async (
60
60
  singletonServices: CoreSingletonServices,
61
- createSessionServices: CreateSessionServices<any, any, any> | undefined,
61
+ createWireServices: CreateWireServices<any, any, any> | undefined,
62
62
  event: SQSEvent
63
63
  ): Promise<SQSBatchResponse> => {
64
64
  console.log(JSON.stringify(event, null, 2))
65
65
  const jobs = event.Records.map(mapSQSRecordToQueueJob)
66
+ const runJob = createQueueJobRunner({
67
+ singletonServices,
68
+ createWireServices,
69
+ })
66
70
 
67
71
  // Process all jobs in parallel
68
72
  const results = await Promise.allSettled(
69
73
  jobs.map(async (job) => {
70
74
  try {
71
- return await runQueueJob({
72
- singletonServices,
73
- createSessionServices,
75
+ return await runJob({
74
76
  job,
75
77
  })
76
78
  } catch (error: unknown) {
@@ -19,7 +19,7 @@ export const connectWebsocket = async <
19
19
  event: APIGatewayEvent,
20
20
  {
21
21
  singletonServices,
22
- createSessionServices,
22
+ createWireServices,
23
23
  channelStore,
24
24
  }: WebsocketParams<SingletonServices, Services, UserSession>
25
25
  ): Promise<APIGatewayProxyResult> => {
@@ -35,7 +35,7 @@ export const connectWebsocket = async <
35
35
  request,
36
36
  response,
37
37
  singletonServices: singletonServices as any,
38
- createSessionServices: createSessionServices as any,
38
+ createWireServices: createWireServices as any,
39
39
  route: event.path || '/',
40
40
  })
41
41
  return responseToLambdaResult(response.toResponse())
@@ -17,7 +17,7 @@ export const disconnectWebsocket = async <
17
17
  event: APIGatewayProxyEvent,
18
18
  {
19
19
  singletonServices,
20
- createSessionServices,
20
+ createWireServices,
21
21
  channelStore,
22
22
  }: WebsocketParams<SingletonServices, Services, UserSession>
23
23
  ): Promise<APIGatewayProxyResult> => {
@@ -29,7 +29,7 @@ export const disconnectWebsocket = async <
29
29
  await runChannelDisconnect({
30
30
  ...runnerParams,
31
31
  singletonServices: singletonServices as any,
32
- createSessionServices: createSessionServices as any,
32
+ createWireServices: createWireServices as any,
33
33
  })
34
34
  return { statusCode: 200, body: '' }
35
35
  }
@@ -18,7 +18,7 @@ export const processWebsocketMessage = async <
18
18
  event: APIGatewayProxyEvent,
19
19
  {
20
20
  singletonServices,
21
- createSessionServices,
21
+ createWireServices,
22
22
  channelStore,
23
23
  }: WebsocketParams<SingletonServices, Services, UserSession>
24
24
  ): Promise<APIGatewayProxyResult> => {
@@ -33,7 +33,7 @@ export const processWebsocketMessage = async <
33
33
  {
34
34
  ...runnerParams,
35
35
  singletonServices: singletonServices as any,
36
- createSessionServices: createSessionServices as any,
36
+ createWireServices: createWireServices as any,
37
37
  },
38
38
  event.body
39
39
  )
@@ -2,7 +2,7 @@ import {
2
2
  CoreSingletonServices,
3
3
  CoreServices,
4
4
  CoreUserSession,
5
- CreateSessionServices,
5
+ CreateWireServices,
6
6
  } from '@pikku/core'
7
7
  import { ChannelStore } from '@pikku/core/channel'
8
8
 
@@ -13,7 +13,7 @@ export type WebsocketParams<
13
13
  > = {
14
14
  channelStore: ChannelStore
15
15
  singletonServices: SingletonServices
16
- createSessionServices?: CreateSessionServices<
16
+ createWireServices?: CreateWireServices<
17
17
  SingletonServices,
18
18
  Services,
19
19
  UserSession