UNPKG

@riddance/aws-host

Version:

58 lines 7.57 kB
/* eslint-disable no-console */ import { createContext } from '@riddance/host/context'; import { randomUUID } from 'node:crypto'; import { SnsEventTransport } from './lib/sns.js'; export * from '@riddance/service/context'; class ConsoleLogger { sendEntries(entries) { for (const entry of entries) { switch (entry.level) { case 'trace': case 'debug': console.debug(entry.json); break; case 'info': console.log(entry.json); break; case 'warning': console.warn(entry.json); break; case 'error': case 'fatal': console.error(entry.json); break; } } return undefined; } } const consoleLogger = new ConsoleLogger(); const hostInfo = { instance: { id: randomUUID().replaceAll('-', ''), }, nodejs: { version: process.version.slice(1), }, function: { version: process.env.AWS_LAMBDA_FUNCTION_VERSION, executionEnvironment: process.env.AWS_EXECUTION_ENV, }, }; export function createAwsContext(context, stageVariables, client, config, meta) { const ctx = createContext(client, [consoleLogger], new SnsEventTransport(), { default: 15 }, new AbortController(), config, meta, { ...process.env, ...stageVariables, }); ctx.log.enrichReserved({ host: hostInfo, function: { name: context.functionName, version: context.functionVersion, memoryLimit: context.memoryLimitInMB, timeout: context.getRemainingTimeInMillis(), }, }); return ctx; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBYyxhQUFhLEVBQTBCLE1BQU0sd0JBQXdCLENBQUE7QUFFMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFaEQsY0FBYywyQkFBMkIsQ0FBQTtBQWN6QyxNQUFNLGFBQWE7SUFDZixXQUFXLENBQUMsT0FBbUI7UUFDM0IsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixRQUFRLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxPQUFPLENBQUM7Z0JBQ2IsS0FBSyxPQUFPO29CQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUN6QixNQUFLO2dCQUNULEtBQUssTUFBTTtvQkFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFDdkIsTUFBSztnQkFDVCxLQUFLLFNBQVM7b0JBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQ3hCLE1BQUs7Z0JBQ1QsS0FBSyxPQUFPLENBQUM7Z0JBQ2IsS0FBSyxPQUFPO29CQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUN6QixNQUFLO1lBQ2IsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQTtJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFBO0FBRXpDLE1BQU0sUUFBUSxHQUFHO0lBQ2IsUUFBUSxFQUFFO1FBQ04sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0tBQ3ZDO0lBQ0QsTUFBTSxFQUFFO1FBQ0osT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNwQztJQUNELFFBQVEsRUFBRTtRQUNOLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQjtRQUNoRCxvQkFBb0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQjtLQUN0RDtDQUNKLENBQUE7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQW1CLEVBQ25CLGNBQXlDLEVBQ3pDLE1BQWtCLEVBQ2xCLE1BQTBCLEVBQzFCLElBQWU7SUFFZixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQ3JCLE1BQU0sRUFDTixDQUFDLGFBQWEsQ0FBQyxFQUNmLElBQUksaUJBQWlCLEVBQUUsRUFDdkIsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQ2YsSUFBSSxlQUFlLEVBQUUsRUFDckIsTUFBTSxFQUNOLElBQUksRUFDSjtRQUNJLEdBQUcsT0FBTyxDQUFDLEdBQUc7UUFDZCxHQUFHLGNBQWM7S0FDUyxDQUNqQyxDQUFBO0lBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFDMUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxlQUFlO1lBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsZUFBZTtZQUNwQyxPQUFPLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixFQUFFO1NBQzlDO0tBQ0osQ0FBQyxDQUFBO0lBQ0YsT0FBTyxHQUFHLENBQUE7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgQ2xpZW50SW5mbywgY3JlYXRlQ29udGV4dCwgTG9nRW50cnksIExvZ1RyYW5zcG9ydCB9IGZyb20gJ0ByaWRkYW5jZS9ob3N0L2NvbnRleHQnXG5pbXBvcnQgeyBGdWxsQ29uZmlndXJhdGlvbiwgTWV0YWRhdGEgfSBmcm9tICdAcmlkZGFuY2UvaG9zdC9yZWdpc3RyeSdcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tICdub2RlOmNyeXB0bydcbmltcG9ydCB7IFNuc0V2ZW50VHJhbnNwb3J0IH0gZnJvbSAnLi9saWIvc25zLmpzJ1xuXG5leHBvcnQgKiBmcm9tICdAcmlkZGFuY2Uvc2VydmljZS9jb250ZXh0J1xuXG5leHBvcnQgdHlwZSBBd3NDb250ZXh0ID0ge1xuICAgIGdldFJlbWFpbmluZ1RpbWVJbk1pbGxpcygpOiBudW1iZXJcbiAgICByZWFkb25seSBmdW5jdGlvbk5hbWU6IHN0cmluZ1xuICAgIHJlYWRvbmx5IGZ1bmN0aW9uVmVyc2lvbjogc3RyaW5nXG4gICAgcmVhZG9ubHkgaW52b2tlZEZ1bmN0aW9uQXJuOiBzdHJpbmdcbiAgICByZWFkb25seSBtZW1vcnlMaW1pdEluTUI6IG51bWJlclxuICAgIHJlYWRvbmx5IGF3c1JlcXVlc3RJZDogc3RyaW5nXG4gICAgcmVhZG9ubHkgbG9nR3JvdXBOYW1lOiBzdHJpbmdcbiAgICByZWFkb25seSBsb2dTdHJlYW1OYW1lOiBzdHJpbmdcbiAgICBjYWxsYmFja1dhaXRzRm9yRW1wdHlFdmVudExvb3A6IGJvb2xlYW5cbn1cblxuY2xhc3MgQ29uc29sZUxvZ2dlciBpbXBsZW1lbnRzIExvZ1RyYW5zcG9ydCB7XG4gICAgc2VuZEVudHJpZXMoZW50cmllczogTG9nRW50cnlbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZW50cnkubGV2ZWwpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0cmFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGVudHJ5Lmpzb24pXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVudHJ5Lmpzb24pXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlbnRyeS5qc29uKVxuICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICBjYXNlICdmYXRhbCc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZW50cnkuanNvbilcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxufVxuXG5jb25zdCBjb25zb2xlTG9nZ2VyID0gbmV3IENvbnNvbGVMb2dnZXIoKVxuXG5jb25zdCBob3N0SW5mbyA9IHtcbiAgICBpbnN0YW5jZToge1xuICAgICAgICBpZDogcmFuZG9tVVVJRCgpLnJlcGxhY2VBbGwoJy0nLCAnJyksXG4gICAgfSxcbiAgICBub2RlanM6IHtcbiAgICAgICAgdmVyc2lvbjogcHJvY2Vzcy52ZXJzaW9uLnNsaWNlKDEpLFxuICAgIH0sXG4gICAgZnVuY3Rpb246IHtcbiAgICAgICAgdmVyc2lvbjogcHJvY2Vzcy5lbnYuQVdTX0xBTUJEQV9GVU5DVElPTl9WRVJTSU9OLFxuICAgICAgICBleGVjdXRpb25FbnZpcm9ubWVudDogcHJvY2Vzcy5lbnYuQVdTX0VYRUNVVElPTl9FTlYsXG4gICAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUF3c0NvbnRleHQoXG4gICAgY29udGV4dDogQXdzQ29udGV4dCxcbiAgICBzdGFnZVZhcmlhYmxlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICBjbGllbnQ6IENsaWVudEluZm8sXG4gICAgY29uZmlnPzogRnVsbENvbmZpZ3VyYXRpb24sXG4gICAgbWV0YT86IE1ldGFkYXRhLFxuKSB7XG4gICAgY29uc3QgY3R4ID0gY3JlYXRlQ29udGV4dChcbiAgICAgICAgY2xpZW50LFxuICAgICAgICBbY29uc29sZUxvZ2dlcl0sXG4gICAgICAgIG5ldyBTbnNFdmVudFRyYW5zcG9ydCgpLFxuICAgICAgICB7IGRlZmF1bHQ6IDE1IH0sXG4gICAgICAgIG5ldyBBYm9ydENvbnRyb2xsZXIoKSxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBtZXRhLFxuICAgICAgICB7XG4gICAgICAgICAgICAuLi5wcm9jZXNzLmVudixcbiAgICAgICAgICAgIC4uLnN0YWdlVmFyaWFibGVzLFxuICAgICAgICB9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgKVxuICAgIGN0eC5sb2cuZW5yaWNoUmVzZXJ2ZWQoe1xuICAgICAgICBob3N0OiBob3N0SW5mbyxcbiAgICAgICAgZnVuY3Rpb246IHtcbiAgICAgICAgICAgIG5hbWU6IGNvbnRleHQuZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgdmVyc2lvbjogY29udGV4dC5mdW5jdGlvblZlcnNpb24sXG4gICAgICAgICAgICBtZW1vcnlMaW1pdDogY29udGV4dC5tZW1vcnlMaW1pdEluTUIsXG4gICAgICAgICAgICB0aW1lb3V0OiBjb250ZXh0LmdldFJlbWFpbmluZ1RpbWVJbk1pbGxpcygpLFxuICAgICAgICB9LFxuICAgIH0pXG4gICAgcmV0dXJuIGN0eFxufVxuIl19