@minded-ai/mindedjs 1.0.62-patch2 → 1.0.62-patch4

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/cli/index.js CHANGED
@@ -38,7 +38,6 @@ const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  const logger_1 = require("../utils/logger");
40
40
  const ENV_FILE = '.env';
41
- const MODULE_PATH_PLACEHOLDER = '{MODULE_PATH}';
42
41
  function getEnvFilePath() {
43
42
  return path.join(process.cwd(), ENV_FILE);
44
43
  }
@@ -95,12 +94,33 @@ function generateLambdaHandler() {
95
94
  // Remove .ts or .js extension if present and convert to relative path
96
95
  const modulePath = agentPath.replace(/\.(ts|js)$/, '');
97
96
  // Get the path to the template file
98
- const templatePath = path.join(__dirname, 'lambdaHandlerTemplate.ts');
97
+ // Try multiple locations to support both development and npm package scenarios
98
+ const templatePaths = [
99
+ path.join(__dirname, 'lambdaHandlerTemplate.ts'), // For npm package
100
+ path.join(__dirname, '..', '..', 'src', 'cli', 'lambdaHandlerTemplate.ts'), // For development
101
+ ];
102
+ let templateContent = null;
103
+ // Try each path until we find the template
104
+ for (const templatePath of templatePaths) {
105
+ try {
106
+ if (fs.existsSync(templatePath)) {
107
+ templateContent = fs.readFileSync(templatePath, 'utf8');
108
+ logger_1.logger.debug(`Found template at ${templatePath}`);
109
+ break;
110
+ }
111
+ }
112
+ catch (error) {
113
+ // Continue to next path
114
+ }
115
+ }
116
+ if (!templateContent) {
117
+ logger_1.logger.error('Could not find Lambda handler template file');
118
+ process.exit(1);
119
+ }
99
120
  try {
100
- // Read the template file
101
- let templateContent = fs.readFileSync(templatePath, 'utf8');
102
121
  // Replace the placeholder with the actual module path
103
- templateContent = templateContent.replace(MODULE_PATH_PLACEHOLDER, modulePath);
122
+ // Using a string literal here to make sure we match exactly what's in the template
123
+ templateContent = templateContent.replace(/const modulePath = '{MODULE_PATH}';/, `const modulePath = '${modulePath}';`);
104
124
  // Write the Lambda handler to index.ts at the root
105
125
  const outputPath = path.join(process.cwd(), 'index.ts');
106
126
  fs.writeFileSync(outputPath, templateContent);
@@ -126,7 +146,7 @@ function main() {
126
146
  generateLambdaHandler();
127
147
  }
128
148
  else {
129
- logger_1.logger.error('Unknown command. Available commands: token, generate-lambda-handler');
149
+ logger_1.logger.error('Unknown command. Available commands: token, generate-lambda-ts-handler');
130
150
  process.exit(1);
131
151
  }
132
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- export declare const handler: (event: any, context: any) => Promise<{
2
- statusCode: number;
3
- body: any;
4
- }>;
1
+ import { APIGatewayProxyEvent, APIGatewayProxyResult, Context } from 'aws-lambda';
2
+ export declare const handler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
5
3
  //# sourceMappingURL=lambdaHandlerTemplate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambdaHandlerTemplate.d.ts","sourceRoot":"","sources":["../../src/cli/lambdaHandlerTemplate.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,GAAU,OAAO,GAAG,EAAE,SAAS,GAAG;;;EAmCrD,CAAC"}
1
+ {"version":3,"file":"lambdaHandlerTemplate.d.ts","sourceRoot":"","sources":["../../src/cli/lambdaHandlerTemplate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAElF,eAAO,MAAM,OAAO,GAAU,OAAO,oBAAoB,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,qBAAqB,CAwC1G,CAAC"}
@@ -8,7 +8,7 @@ const handler = async (event, context) => {
8
8
  const resolvedPath = require.resolve(modulePath);
9
9
  delete require.cache[resolvedPath];
10
10
  const agent = require(modulePath).default;
11
- const { agentFunctionName, agentFunctionBody } = event;
11
+ const { agentFunctionName, agentFunctionBody } = event.body ? JSON.parse(event.body) : event;
12
12
  if (!agent[agentFunctionName]) {
13
13
  throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
14
14
  }
@@ -32,7 +32,12 @@ const handler = async (event, context) => {
32
32
  }
33
33
  return {
34
34
  statusCode: 200,
35
- body: responseBody,
35
+ headers: {
36
+ 'Content-Type': 'application/json',
37
+ 'Access-Control-Allow-Origin': '*',
38
+ 'Access-Control-Allow-Credentials': true,
39
+ },
40
+ body: JSON.stringify(responseBody),
36
41
  };
37
42
  };
38
43
  exports.handler = handler;
@@ -1 +1 @@
1
- {"version":3,"file":"lambdaHandlerTemplate.js","sourceRoot":"","sources":["../../src/cli/lambdaHandlerTemplate.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,sEAAsE;;;AAE/D,MAAM,OAAO,GAAG,KAAK,EAAE,KAAU,EAAE,OAAY,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,8BAA8B;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IAC1C,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEvD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,iBAAiB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAEnE,yEAAyE;IACzE,2DAA2D;IAC3D,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzB,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oCAAoC;IACtC,CAAC;IAED,IAAI,iBAAiB,KAAK,mBAAmB,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,wBAAwB,EAAE,GAAG,IAAI,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,CAAC,wBAAwB,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,GAAG;QACf,IAAI,EAAE,YAAY;KACnB,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,OAAO,WAmClB"}
1
+ {"version":3,"file":"lambdaHandlerTemplate.js","sourceRoot":"","sources":["../../src/cli/lambdaHandlerTemplate.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,sEAAsE;;;AAI/D,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,OAAgB,EAAkC,EAAE;IAC7G,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,8BAA8B;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IAC1C,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7F,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,iBAAiB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAEnE,yEAAyE;IACzE,2DAA2D;IAC3D,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzB,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oCAAoC;IACtC,CAAC;IAED,IAAI,iBAAiB,KAAK,mBAAmB,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,wBAAwB,EAAE,GAAG,IAAI,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,CAAC,wBAAwB,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,GAAG;QACf,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,6BAA6B,EAAE,GAAG;YAClC,kCAAkC,EAAE,IAAI;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KACnC,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,OAAO,WAwClB"}
@@ -0,0 +1,46 @@
1
+ // This is the template for the Lambda handler
2
+ // The {MODULE_PATH} placeholder will be replaced with the actual path
3
+
4
+ import { APIGatewayProxyEvent, APIGatewayProxyResult, Context } from 'aws-lambda';
5
+
6
+ export const handler = async (event: APIGatewayProxyEvent, context: Context): Promise<APIGatewayProxyResult> => {
7
+ const modulePath = '{MODULE_PATH}'; // Agent path from minded.json
8
+ const resolvedPath = require.resolve(modulePath);
9
+ delete require.cache[resolvedPath];
10
+ const agent = require(modulePath).default;
11
+ const { agentFunctionName, agentFunctionBody } = event.body ? JSON.parse(event.body) : event;
12
+
13
+ if (!agent[agentFunctionName]) {
14
+ throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
15
+ }
16
+
17
+ const response = await agent[agentFunctionName](agentFunctionBody);
18
+
19
+ // Safely stringify the response. If it fails (e.g., due to circular refs
20
+ // or non-serialisable class instances), fall back to null.
21
+ let responseBody = null;
22
+ try {
23
+ JSON.stringify(response);
24
+ responseBody = response;
25
+ } catch (_) {
26
+ // ignored - responseBody stays null
27
+ }
28
+
29
+ if (agentFunctionName === 'startVoiceSession') {
30
+ const wait = (ms: number) => new Promise((r) => setTimeout(r, ms));
31
+ while (context.getRemainingTimeInMillis() > 1000) {
32
+ console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
33
+ await wait(1000); // sleep 1 s
34
+ }
35
+ }
36
+
37
+ return {
38
+ statusCode: 200,
39
+ headers: {
40
+ 'Content-Type': 'application/json',
41
+ 'Access-Control-Allow-Origin': '*',
42
+ 'Access-Control-Allow-Credentials': true,
43
+ },
44
+ body: JSON.stringify(responseBody),
45
+ };
46
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minded-ai/mindedjs",
3
- "version": "1.0.62-patch2",
3
+ "version": "1.0.62-patch4",
4
4
  "description": "MindedJS is a TypeScript library for building agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,7 +12,8 @@
12
12
  "src"
13
13
  ],
14
14
  "scripts": {
15
- "build": "tsc",
15
+ "build": "tsc && npm run copy-templates",
16
+ "copy-templates": "cp -r src/cli/lambdaHandlerTemplate.ts dist/cli/",
16
17
  "watch": "tsc -w",
17
18
  "test": "NODE_ENV=test mocha --parallel --jobs auto --retries 1 -r ts-node/register -r ./test/setup.ts \"test/**/*.test.ts\"",
18
19
  "testFile": "NODE_ENV=test mocha -r ts-node/register -r ./test/setup.ts",
@@ -26,6 +27,7 @@
26
27
  "license": "ISC",
27
28
  "devDependencies": {
28
29
  "@eslint/js": "^9.27.0",
30
+ "@types/aws-lambda": "^8.10.150",
29
31
  "@types/chai": "^4.3.11",
30
32
  "@types/mocha": "^10.0.6",
31
33
  "@types/node": "^20.11.19",
package/src/cli/index.ts CHANGED
@@ -5,7 +5,6 @@ import * as path from 'path';
5
5
  import { logger } from '../utils/logger';
6
6
 
7
7
  const ENV_FILE = '.env';
8
- const MODULE_PATH_PLACEHOLDER = '{MODULE_PATH}';
9
8
 
10
9
  function getEnvFilePath(): string {
11
10
  return path.join(process.cwd(), ENV_FILE);
@@ -69,14 +68,36 @@ function generateLambdaHandler(): void {
69
68
  const modulePath = agentPath.replace(/\.(ts|js)$/, '');
70
69
 
71
70
  // Get the path to the template file
72
- const templatePath = path.join(__dirname, 'lambdaHandlerTemplate.ts');
71
+ // Try multiple locations to support both development and npm package scenarios
72
+ const templatePaths = [
73
+ path.join(__dirname, 'lambdaHandlerTemplate.ts'), // For npm package
74
+ path.join(__dirname, '..', '..', 'src', 'cli', 'lambdaHandlerTemplate.ts'), // For development
75
+ ];
76
+
77
+ let templateContent: string | null = null;
78
+
79
+ // Try each path until we find the template
80
+ for (const templatePath of templatePaths) {
81
+ try {
82
+ if (fs.existsSync(templatePath)) {
83
+ templateContent = fs.readFileSync(templatePath, 'utf8');
84
+ logger.debug(`Found template at ${templatePath}`);
85
+ break;
86
+ }
87
+ } catch (error) {
88
+ // Continue to next path
89
+ }
90
+ }
73
91
 
74
- try {
75
- // Read the template file
76
- let templateContent = fs.readFileSync(templatePath, 'utf8');
92
+ if (!templateContent) {
93
+ logger.error('Could not find Lambda handler template file');
94
+ process.exit(1);
95
+ }
77
96
 
97
+ try {
78
98
  // Replace the placeholder with the actual module path
79
- templateContent = templateContent.replace(MODULE_PATH_PLACEHOLDER, modulePath);
99
+ // Using a string literal here to make sure we match exactly what's in the template
100
+ templateContent = templateContent.replace(/const modulePath = '{MODULE_PATH}';/, `const modulePath = '${modulePath}';`);
80
101
 
81
102
  // Write the Lambda handler to index.ts at the root
82
103
  const outputPath = path.join(process.cwd(), 'index.ts');
@@ -102,7 +123,7 @@ function main() {
102
123
  } else if (command === 'generate-lambda-ts-handler') {
103
124
  generateLambdaHandler();
104
125
  } else {
105
- logger.error('Unknown command. Available commands: token, generate-lambda-handler');
126
+ logger.error('Unknown command. Available commands: token, generate-lambda-ts-handler');
106
127
  process.exit(1);
107
128
  }
108
129
  }
@@ -1,12 +1,14 @@
1
1
  // This is the template for the Lambda handler
2
2
  // The {MODULE_PATH} placeholder will be replaced with the actual path
3
3
 
4
- export const handler = async (event: any, context: any) => {
4
+ import { APIGatewayProxyEvent, APIGatewayProxyResult, Context } from 'aws-lambda';
5
+
6
+ export const handler = async (event: APIGatewayProxyEvent, context: Context): Promise<APIGatewayProxyResult> => {
5
7
  const modulePath = '{MODULE_PATH}'; // Agent path from minded.json
6
8
  const resolvedPath = require.resolve(modulePath);
7
9
  delete require.cache[resolvedPath];
8
10
  const agent = require(modulePath).default;
9
- const { agentFunctionName, agentFunctionBody } = event;
11
+ const { agentFunctionName, agentFunctionBody } = event.body ? JSON.parse(event.body) : event;
10
12
 
11
13
  if (!agent[agentFunctionName]) {
12
14
  throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
@@ -34,6 +36,11 @@ export const handler = async (event: any, context: any) => {
34
36
 
35
37
  return {
36
38
  statusCode: 200,
37
- body: responseBody,
39
+ headers: {
40
+ 'Content-Type': 'application/json',
41
+ 'Access-Control-Allow-Origin': '*',
42
+ 'Access-Control-Allow-Credentials': true,
43
+ },
44
+ body: JSON.stringify(responseBody),
38
45
  };
39
46
  };