quidproquo-actionprocessor-awslambda 0.0.261 → 0.0.263

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.
Files changed (53) hide show
  1. package/lib/commonjs/getActionProcessor/core/ai/aiModelMap.d.ts +2 -0
  2. package/lib/commonjs/getActionProcessor/core/ai/aiModelMap.js +15 -0
  3. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.d.ts +2 -0
  4. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js +75 -0
  5. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.d.ts +2 -0
  6. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +126 -0
  7. package/lib/commonjs/getActionProcessor/core/ai/index.d.ts +2 -0
  8. package/lib/commonjs/getActionProcessor/core/ai/index.js +18 -0
  9. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.d.ts +2 -0
  10. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +39 -0
  11. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/index.d.ts +2 -0
  12. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/index.js +17 -0
  13. package/lib/commonjs/getActionProcessor/core/event/apiGatwayEvent/api/getEventAutoRespondActionProcessor.js +2 -34
  14. package/lib/commonjs/getActionProcessor/core/event/apiGatwayEvent/api/getEventGetStorySessionActionProcessor.js +2 -31
  15. package/lib/commonjs/getActionProcessor/core/event/apiGatwayEvent/websocket/getEventTransformResponseResultActionProcessor.js +2 -2
  16. package/lib/commonjs/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +2 -2
  17. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.d.ts +2 -0
  18. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +100 -0
  19. package/lib/commonjs/getActionProcessor/core/file/index.js +2 -1
  20. package/lib/commonjs/getActionProcessor/core/index.d.ts +2 -0
  21. package/lib/commonjs/getActionProcessor/core/index.js +6 -1
  22. package/lib/commonjs/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +2 -2
  23. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +6 -1
  24. package/lib/commonjs/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +2 -2
  25. package/lib/esm/getActionProcessor/core/ai/aiModelMap.d.ts +2 -0
  26. package/lib/esm/getActionProcessor/core/ai/aiModelMap.js +12 -0
  27. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.d.ts +2 -0
  28. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js +60 -0
  29. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.d.ts +2 -0
  30. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +75 -0
  31. package/lib/esm/getActionProcessor/core/ai/index.d.ts +2 -0
  32. package/lib/esm/getActionProcessor/core/ai/index.js +6 -0
  33. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.d.ts +2 -0
  34. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +24 -0
  35. package/lib/esm/getActionProcessor/core/apiKeyValidation/index.d.ts +2 -0
  36. package/lib/esm/getActionProcessor/core/apiKeyValidation/index.js +4 -0
  37. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getEventAutoRespondActionProcessor.js +3 -32
  38. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getEventGetStorySessionActionProcessor.js +3 -35
  39. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getEventTransformResponseResultActionProcessor.js +2 -2
  40. package/lib/esm/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +2 -5
  41. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.d.ts +2 -0
  42. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +50 -0
  43. package/lib/esm/getActionProcessor/core/file/index.js +2 -0
  44. package/lib/esm/getActionProcessor/core/index.d.ts +2 -0
  45. package/lib/esm/getActionProcessor/core/index.js +8 -0
  46. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +2 -5
  47. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +7 -2
  48. package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +2 -5
  49. package/package.json +7 -5
  50. package/lib/commonjs/getActionProcessor/core/event/utils/isAuthValid.d.ts +0 -3
  51. package/lib/commonjs/getActionProcessor/core/event/utils/isAuthValid.js +0 -68
  52. package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.d.ts +0 -3
  53. package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.js +0 -55
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.isAuthValid = void 0;
13
- const quidproquo_config_aws_1 = require("quidproquo-config-aws");
14
- const quidproquo_core_1 = require("quidproquo-core");
15
- const awsNamingUtils_1 = require("../../../../awsNamingUtils");
16
- const getApiKeys_1 = require("../../../../logic/apiGateway/getApiKeys");
17
- const getExportedValue_1 = require("../../../../logic/cloudformation/getExportedValue");
18
- const verifyJwt_1 = require("../../../../logic/cognito/verifyJwt");
19
- const isAuthValidForCognito = (qpqConfig, authSettings, authHeader) => __awaiter(void 0, void 0, void 0, function* () {
20
- // If there are no auth settings ~ Its valid.
21
- if (!authSettings.userDirectoryName) {
22
- return true;
23
- }
24
- // We need a header to be able to auth
25
- if (!authHeader) {
26
- return false;
27
- }
28
- // Make sure we have a Bearer token
29
- const [authType, accessToken] = authHeader.split(' ');
30
- if (authType !== 'Bearer' || !accessToken) {
31
- return false;
32
- }
33
- // Grab the user directory to auth against
34
- const userDirectoryName = authSettings.userDirectoryName;
35
- const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
36
- // Resolve the user pool id
37
- const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig), region);
38
- // Verify the token
39
- return yield (0, verifyJwt_1.verifyJwt)(accessToken, userPoolId, region, false);
40
- });
41
- const isAuthValidForApiKeys = (qpqConfig, authSettings, apiKeyHeader) => __awaiter(void 0, void 0, void 0, function* () {
42
- const apiKeys = authSettings.apiKeys || [];
43
- if (apiKeys.length === 0) {
44
- return true;
45
- }
46
- const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
47
- const application = quidproquo_core_1.qpqCoreUtils.getApplicationName(qpqConfig);
48
- const service = quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
49
- const environment = quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig);
50
- const feature = quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig);
51
- const realApiKeys = yield (0, getApiKeys_1.getApiKeys)(region, ...apiKeys.map((apiKey) => {
52
- const apiKeyApplication = apiKey.applicationName || application;
53
- const apiKeyService = apiKey.serviceName || service;
54
- return (0, awsNamingUtils_1.getConfigRuntimeResourceName)(apiKey.name, apiKeyApplication, apiKeyService, environment, feature);
55
- }));
56
- const index = realApiKeys.findIndex((apiKey) => apiKey.value === apiKeyHeader);
57
- return index >= 0;
58
- });
59
- const isAuthValid = (qpqConfig, authHeader, apiKeyHeader, authSettings) => __awaiter(void 0, void 0, void 0, function* () {
60
- // If there are no auth settings ~ Its valid.
61
- if (!authSettings) {
62
- return true;
63
- }
64
- const cognitoValid = yield isAuthValidForCognito(qpqConfig, authSettings, authHeader);
65
- const authKeysValid = yield isAuthValidForApiKeys(qpqConfig, authSettings, apiKeyHeader);
66
- return cognitoValid && authKeysValid;
67
- });
68
- exports.isAuthValid = isAuthValid;
@@ -1,3 +0,0 @@
1
- import { QPQConfig } from 'quidproquo-core';
2
- import { RouteAuthSettings } from 'quidproquo-webserver';
3
- export declare const isAuthValid: (qpqConfig: QPQConfig, authHeader?: string | null, apiKeyHeader?: string | null, authSettings?: RouteAuthSettings) => Promise<boolean>;
@@ -1,55 +0,0 @@
1
- import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
2
- import { qpqCoreUtils } from 'quidproquo-core';
3
- import { getCFExportNameUserPoolIdFromConfig, getConfigRuntimeResourceName } from '../../../../awsNamingUtils';
4
- import { getApiKeys } from '../../../../logic/apiGateway/getApiKeys';
5
- import { getExportedValue } from '../../../../logic/cloudformation/getExportedValue';
6
- import { verifyJwt } from '../../../../logic/cognito/verifyJwt';
7
- const isAuthValidForCognito = async (qpqConfig, authSettings, authHeader) => {
8
- // If there are no auth settings ~ Its valid.
9
- if (!authSettings.userDirectoryName) {
10
- return true;
11
- }
12
- // We need a header to be able to auth
13
- if (!authHeader) {
14
- return false;
15
- }
16
- // Make sure we have a Bearer token
17
- const [authType, accessToken] = authHeader.split(' ');
18
- if (authType !== 'Bearer' || !accessToken) {
19
- return false;
20
- }
21
- // Grab the user directory to auth against
22
- const userDirectoryName = authSettings.userDirectoryName;
23
- const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
24
- // Resolve the user pool id
25
- const userPoolId = await getExportedValue(getCFExportNameUserPoolIdFromConfig(userDirectoryName, qpqConfig), region);
26
- // Verify the token
27
- return await verifyJwt(accessToken, userPoolId, region, false);
28
- };
29
- const isAuthValidForApiKeys = async (qpqConfig, authSettings, apiKeyHeader) => {
30
- const apiKeys = authSettings.apiKeys || [];
31
- if (apiKeys.length === 0) {
32
- return true;
33
- }
34
- const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
35
- const application = qpqCoreUtils.getApplicationName(qpqConfig);
36
- const service = qpqCoreUtils.getApplicationModuleName(qpqConfig);
37
- const environment = qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig);
38
- const feature = qpqCoreUtils.getApplicationModuleFeature(qpqConfig);
39
- const realApiKeys = await getApiKeys(region, ...apiKeys.map((apiKey) => {
40
- const apiKeyApplication = apiKey.applicationName || application;
41
- const apiKeyService = apiKey.serviceName || service;
42
- return getConfigRuntimeResourceName(apiKey.name, apiKeyApplication, apiKeyService, environment, feature);
43
- }));
44
- const index = realApiKeys.findIndex((apiKey) => apiKey.value === apiKeyHeader);
45
- return index >= 0;
46
- };
47
- export const isAuthValid = async (qpqConfig, authHeader, apiKeyHeader, authSettings) => {
48
- // If there are no auth settings ~ Its valid.
49
- if (!authSettings) {
50
- return true;
51
- }
52
- const cognitoValid = await isAuthValidForCognito(qpqConfig, authSettings, authHeader);
53
- const authKeysValid = await isAuthValidForApiKeys(qpqConfig, authSettings, apiKeyHeader);
54
- return cognitoValid && authKeysValid;
55
- };