@pikku/lambda 0.12.12 → 0.12.14
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/dist/lambda-deployment-service.d.ts +1 -1
- package/dist/lambda-deployment-service.js +7 -7
- package/dist/lambda-deployment-service.js.map +1 -1
- package/dist/queue/sqs-worker.js +2 -0
- package/dist/queue/sqs-worker.js.map +1 -1
- package/dist/scheduled/run-scheduled.js +2 -3
- package/dist/scheduled/run-scheduled.js.map +1 -1
- package/dist/sqs-queue-service.js +13 -7
- package/dist/sqs-queue-service.js.map +1 -1
- package/package.json +2 -2
|
@@ -10,5 +10,5 @@ export declare class LambdaDeploymentService implements DeploymentService {
|
|
|
10
10
|
init(): Promise<void>;
|
|
11
11
|
start(_config: DeploymentConfig): Promise<void>;
|
|
12
12
|
stop(): Promise<void>;
|
|
13
|
-
invoke(funcName: string, data: unknown, session?: unknown,
|
|
13
|
+
invoke(funcName: string, data: unknown, session?: unknown, traceparent?: string): Promise<unknown>;
|
|
14
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
|
|
2
|
-
import {
|
|
2
|
+
import { buildMeshHeaders } from '@pikku/core/mesh';
|
|
3
3
|
export class LambdaDeploymentService {
|
|
4
4
|
jwt;
|
|
5
5
|
secrets;
|
|
@@ -14,14 +14,14 @@ export class LambdaDeploymentService {
|
|
|
14
14
|
async init() { }
|
|
15
15
|
async start(_config) { }
|
|
16
16
|
async stop() { }
|
|
17
|
-
async invoke(funcName, data, session,
|
|
17
|
+
async invoke(funcName, data, session, traceparent) {
|
|
18
18
|
const lambdaFunctionName = this.bindings.get(funcName);
|
|
19
19
|
if (!lambdaFunctionName) {
|
|
20
20
|
throw new Error(`No Lambda binding for function '${funcName}'. ` +
|
|
21
21
|
`Available bindings: ${[...this.bindings.keys()].join(', ')}`);
|
|
22
22
|
}
|
|
23
|
-
const headers = await
|
|
24
|
-
const rpcPath = `/
|
|
23
|
+
const headers = await buildMeshHeaders(this.jwt, this.secrets, funcName, session, traceparent);
|
|
24
|
+
const rpcPath = `/mesh/rpc/${encodeURIComponent(funcName)}`;
|
|
25
25
|
const apiGatewayEvent = {
|
|
26
26
|
httpMethod: 'POST',
|
|
27
27
|
path: rpcPath,
|
|
@@ -48,14 +48,14 @@ export class LambdaDeploymentService {
|
|
|
48
48
|
const errorPayload = response.Payload
|
|
49
49
|
? new TextDecoder().decode(response.Payload)
|
|
50
50
|
: 'Unknown error';
|
|
51
|
-
throw new Error(`
|
|
51
|
+
throw new Error(`Mesh RPC call to '${funcName}' failed: Lambda error: ${errorPayload}`);
|
|
52
52
|
}
|
|
53
53
|
if (!response.Payload) {
|
|
54
|
-
throw new Error(`
|
|
54
|
+
throw new Error(`Mesh RPC call to '${funcName}' returned no payload`);
|
|
55
55
|
}
|
|
56
56
|
const lambdaResult = JSON.parse(new TextDecoder().decode(response.Payload));
|
|
57
57
|
if (lambdaResult.statusCode && lambdaResult.statusCode >= 400) {
|
|
58
|
-
throw new Error(`
|
|
58
|
+
throw new Error(`Mesh RPC call to '${funcName}' failed: ${lambdaResult.statusCode} ${lambdaResult.body}`);
|
|
59
59
|
}
|
|
60
60
|
const body = lambdaResult.body;
|
|
61
61
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-deployment-service.js","sourceRoot":"","sources":["../src/lambda-deployment-service.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAIpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lambda-deployment-service.js","sourceRoot":"","sources":["../src/lambda-deployment-service.ts"],"names":[],"mappings":"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"}
|
package/dist/queue/sqs-worker.js
CHANGED
|
@@ -16,6 +16,8 @@ export function mapSQSRecordToQueueJob(record, maxAttempts) {
|
|
|
16
16
|
queueName,
|
|
17
17
|
data,
|
|
18
18
|
id: record.messageId,
|
|
19
|
+
traceparent: record.messageAttributes?.traceparent?.stringValue,
|
|
20
|
+
pikkuUserId: record.messageAttributes?.pikkuUserId?.stringValue,
|
|
19
21
|
status: async () => 'active',
|
|
20
22
|
metadata: () => ({
|
|
21
23
|
processedAt: new Date(),
|
|
@@ -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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"}
|
|
@@ -3,12 +3,11 @@ import { getScheduledTasks } from '@pikku/core/scheduler';
|
|
|
3
3
|
export const runLambdaScheduled = async (_event) => {
|
|
4
4
|
const scheduledTasks = getScheduledTasks();
|
|
5
5
|
for (const [name] of scheduledTasks) {
|
|
6
|
-
const traceId = `cron-${crypto.randomUUID()}`;
|
|
7
6
|
try {
|
|
8
|
-
await runScheduledTask({ name
|
|
7
|
+
await runScheduledTask({ name });
|
|
9
8
|
}
|
|
10
9
|
catch (err) {
|
|
11
|
-
console.error(`Scheduled task '${name}'
|
|
10
|
+
console.error(`Scheduled task '${name}' failed:`, err);
|
|
12
11
|
}
|
|
13
12
|
}
|
|
14
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-scheduled.js","sourceRoot":"","sources":["../../src/scheduled/run-scheduled.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAsB,EACP,EAAE;IACjB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAI1C,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;QACpC,
|
|
1
|
+
{"version":3,"file":"run-scheduled.js","sourceRoot":"","sources":["../../src/scheduled/run-scheduled.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAsB,EACP,EAAE;IACjB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAI1C,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,WAAW,EAAE,GAAG,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { SQSClient, SendMessageCommand } from '@aws-sdk/client-sqs';
|
|
2
|
+
const messageAttributes = ({ traceparent, pikkuUserId } = {}) => {
|
|
3
|
+
const attributes = {
|
|
4
|
+
...(traceparent
|
|
5
|
+
? { traceparent: { DataType: 'String', StringValue: traceparent } }
|
|
6
|
+
: {}),
|
|
7
|
+
...(pikkuUserId
|
|
8
|
+
? { pikkuUserId: { DataType: 'String', StringValue: pikkuUserId } }
|
|
9
|
+
: {}),
|
|
10
|
+
};
|
|
11
|
+
return Object.keys(attributes).length > 0 ? attributes : undefined;
|
|
12
|
+
};
|
|
2
13
|
export class SQSQueueService {
|
|
3
14
|
queueUrlMap;
|
|
4
15
|
supportsResults = false;
|
|
@@ -10,15 +21,10 @@ export class SQSQueueService {
|
|
|
10
21
|
async add(queueName, data, options) {
|
|
11
22
|
const queueUrl = this.resolveQueueUrl(queueName);
|
|
12
23
|
const messageId = crypto.randomUUID();
|
|
13
|
-
const message = {
|
|
14
|
-
id: messageId,
|
|
15
|
-
queueName,
|
|
16
|
-
data,
|
|
17
|
-
pikkuUserId: options?.pikkuUserId,
|
|
18
|
-
};
|
|
19
24
|
const result = await this.client.send(new SendMessageCommand({
|
|
20
25
|
QueueUrl: queueUrl,
|
|
21
|
-
MessageBody: JSON.stringify(
|
|
26
|
+
MessageBody: JSON.stringify(data ?? null),
|
|
27
|
+
MessageAttributes: messageAttributes(options),
|
|
22
28
|
DelaySeconds: options?.delay
|
|
23
29
|
? Math.min(Math.ceil(options.delay / 1000), 900)
|
|
24
30
|
: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqs-queue-service.js","sourceRoot":"","sources":["../src/sqs-queue-service.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"sqs-queue-service.js","sourceRoot":"","sources":["../src/sqs-queue-service.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AASnE,MAAM,iBAAiB,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,GAAe,EAAE,EAAE,EAAE;IAC1E,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC,CAAA;AAED,MAAM,OAAO,eAAe;IAIN,WAAW;IAHtB,eAAe,GAAG,KAAK,CAAA;IACxB,MAAM,CAAW;IAEzB,YAAoB,WAAoC;2BAApC,WAAW;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,IAAO,EACP,OAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,IAAI,kBAAkB,CAAC;YACrB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC;YACzC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC;YAC7C,YAAY,EAAE,OAAO,EAAE,KAAK;gBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;gBAChD,CAAC,CAAC,SAAS;SACd,CAAC,CACH,CAAA;QAED,OAAO,MAAM,CAAC,SAAS,IAAI,SAAS,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,MAAc;QAEd,MAAM,IAAI,KAAK,CACb,6CAA6C;YAC3C,0BAA0B;YAC1B,uDAAuD,CAC1D,CAAA;IACH,CAAC;IASO,eAAe,CAAC,SAAiB;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAA;QAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,sCAAsC,SAAS,KAAK;gBAClD,4BAA4B,MAAM,sCAAsC,CAC3E,CAAA;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,WAAW,EAAE,CAAA;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pikku/lambda",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.14",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/pikkujs/pikku.git",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@aws-sdk/client-apigatewaymanagementapi": "^3.713.0",
|
|
40
40
|
"@aws-sdk/client-lambda": "^3.713.0",
|
|
41
41
|
"@aws-sdk/client-sqs": "^3.713.0",
|
|
42
|
-
"@pikku/core": "^0.12.
|
|
42
|
+
"@pikku/core": "^0.12.151",
|
|
43
43
|
"@types/aws-lambda": "^8.10.161"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|