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

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,6 +38,7 @@ 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}';
41
42
  function getEnvFilePath() {
42
43
  return path.join(process.cwd(), ENV_FILE);
43
44
  }
@@ -93,48 +94,22 @@ function generateLambdaHandler() {
93
94
  }
94
95
  // Remove .ts or .js extension if present and convert to relative path
95
96
  const modulePath = agentPath.replace(/\.(ts|js)$/, '');
96
- // Generate the Lambda handler content
97
- const lambdaHandlerContent = `exports.handler = async (event, context) => {
98
- const modulePath = '${modulePath}'; // Agent path from minded.json
99
- const resolvedPath = require.resolve(modulePath);
100
- delete require.cache[resolvedPath];
101
- const agent = require(modulePath).default;
102
- const { agentFunctionName, agentFunctionBody } = event;
103
-
104
- if (!agent[agentFunctionName]) {
105
- throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
106
- }
107
-
108
- const response = await agent[agentFunctionName](agentFunctionBody);
109
-
110
- // Safely stringify the response. If it fails (e.g., due to circular refs
111
- // or non-serialisable class instances), fall back to null.
112
- let responseBody = null;
113
- try {
114
- JSON.stringify(response);
115
- responseBody = response;
116
- } catch (_) {
117
- // ignored - responseBody stays null
118
- }
119
-
120
- if (agentFunctionName === 'startVoiceSession') {
121
- const wait = (ms) => new Promise((r) => setTimeout(r, ms));
122
- while (context.getRemainingTimeInMillis() > 1000) {
123
- console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
124
- await wait(1000); // sleep 1 s
97
+ // Get the path to the template file
98
+ const templatePath = path.join(__dirname, 'lambdaHandlerTemplate.ts');
99
+ try {
100
+ // Read the template file
101
+ let templateContent = fs.readFileSync(templatePath, 'utf8');
102
+ // Replace the placeholder with the actual module path
103
+ templateContent = templateContent.replace(MODULE_PATH_PLACEHOLDER, modulePath);
104
+ // Write the Lambda handler to index.ts at the root
105
+ const outputPath = path.join(process.cwd(), 'index.ts');
106
+ fs.writeFileSync(outputPath, templateContent);
107
+ logger_1.logger.info(`Generated Lambda handler at ${outputPath}`);
108
+ }
109
+ catch (error) {
110
+ logger_1.logger.error('Failed to generate Lambda handler:', error);
111
+ process.exit(1);
125
112
  }
126
- }
127
-
128
- return {
129
- statusCode: 200,
130
- body: responseBody,
131
- };
132
- };
133
- `;
134
- // Write the Lambda handler to index.js at the root
135
- const outputPath = path.join(process.cwd(), 'index.js');
136
- fs.writeFileSync(outputPath, lambdaHandlerContent);
137
- logger_1.logger.info(`Generated Lambda handler at ${outputPath}`);
138
113
  }
139
114
  function main() {
140
115
  const args = process.argv.slice(2);
@@ -147,11 +122,11 @@ function main() {
147
122
  }
148
123
  setToken(token);
149
124
  }
150
- else if (command === 'generate-lambda-js-handler') {
125
+ else if (command === 'generate-lambda-ts-handler') {
151
126
  generateLambdaHandler();
152
127
  }
153
128
  else {
154
- logger_1.logger.error('Unknown command. Available commands: token, generate-lambda');
129
+ logger_1.logger.error('Unknown command. Available commands: token, generate-lambda-handler');
155
130
  process.exit(1);
156
131
  }
157
132
  }
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ export declare const handler: (event: any, context: any) => Promise<{
2
+ statusCode: number;
3
+ body: any;
4
+ }>;
5
+ //# sourceMappingURL=lambdaHandlerTemplate.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // This is the template for the Lambda handler
3
+ // The {MODULE_PATH} placeholder will be replaced with the actual path
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.handler = void 0;
6
+ const handler = async (event, context) => {
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;
12
+ if (!agent[agentFunctionName]) {
13
+ throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
14
+ }
15
+ const response = await agent[agentFunctionName](agentFunctionBody);
16
+ // Safely stringify the response. If it fails (e.g., due to circular refs
17
+ // or non-serialisable class instances), fall back to null.
18
+ let responseBody = null;
19
+ try {
20
+ JSON.stringify(response);
21
+ responseBody = response;
22
+ }
23
+ catch (_) {
24
+ // ignored - responseBody stays null
25
+ }
26
+ if (agentFunctionName === 'startVoiceSession') {
27
+ const wait = (ms) => new Promise((r) => setTimeout(r, ms));
28
+ while (context.getRemainingTimeInMillis() > 1000) {
29
+ console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
30
+ await wait(1000); // sleep 1 s
31
+ }
32
+ }
33
+ return {
34
+ statusCode: 200,
35
+ body: responseBody,
36
+ };
37
+ };
38
+ exports.handler = handler;
39
+ //# sourceMappingURL=lambdaHandlerTemplate.js.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minded-ai/mindedjs",
3
- "version": "1.0.62-patch1",
3
+ "version": "1.0.62-patch2",
4
4
  "description": "MindedJS is a TypeScript library for building agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/cli/index.ts CHANGED
@@ -5,6 +5,7 @@ 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}';
8
9
 
9
10
  function getEnvFilePath(): string {
10
11
  return path.join(process.cwd(), ENV_FILE);
@@ -67,49 +68,24 @@ function generateLambdaHandler(): void {
67
68
  // Remove .ts or .js extension if present and convert to relative path
68
69
  const modulePath = agentPath.replace(/\.(ts|js)$/, '');
69
70
 
70
- // Generate the Lambda handler content
71
- const lambdaHandlerContent = `exports.handler = async (event, context) => {
72
- const modulePath = '${modulePath}'; // Agent path from minded.json
73
- const resolvedPath = require.resolve(modulePath);
74
- delete require.cache[resolvedPath];
75
- const agent = require(modulePath).default;
76
- const { agentFunctionName, agentFunctionBody } = event;
71
+ // Get the path to the template file
72
+ const templatePath = path.join(__dirname, 'lambdaHandlerTemplate.ts');
77
73
 
78
- if (!agent[agentFunctionName]) {
79
- throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
80
- }
81
-
82
- const response = await agent[agentFunctionName](agentFunctionBody);
83
-
84
- // Safely stringify the response. If it fails (e.g., due to circular refs
85
- // or non-serialisable class instances), fall back to null.
86
- let responseBody = null;
87
74
  try {
88
- JSON.stringify(response);
89
- responseBody = response;
90
- } catch (_) {
91
- // ignored - responseBody stays null
92
- }
75
+ // Read the template file
76
+ let templateContent = fs.readFileSync(templatePath, 'utf8');
93
77
 
94
- if (agentFunctionName === 'startVoiceSession') {
95
- const wait = (ms) => new Promise((r) => setTimeout(r, ms));
96
- while (context.getRemainingTimeInMillis() > 1000) {
97
- console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
98
- await wait(1000); // sleep 1 s
99
- }
100
- }
78
+ // Replace the placeholder with the actual module path
79
+ templateContent = templateContent.replace(MODULE_PATH_PLACEHOLDER, modulePath);
101
80
 
102
- return {
103
- statusCode: 200,
104
- body: responseBody,
105
- };
106
- };
107
- `;
108
-
109
- // Write the Lambda handler to index.js at the root
110
- const outputPath = path.join(process.cwd(), 'index.js');
111
- fs.writeFileSync(outputPath, lambdaHandlerContent);
112
- logger.info(`Generated Lambda handler at ${outputPath}`);
81
+ // Write the Lambda handler to index.ts at the root
82
+ const outputPath = path.join(process.cwd(), 'index.ts');
83
+ fs.writeFileSync(outputPath, templateContent);
84
+ logger.info(`Generated Lambda handler at ${outputPath}`);
85
+ } catch (error) {
86
+ logger.error('Failed to generate Lambda handler:', error);
87
+ process.exit(1);
88
+ }
113
89
  }
114
90
 
115
91
  function main() {
@@ -123,10 +99,10 @@ function main() {
123
99
  process.exit(1);
124
100
  }
125
101
  setToken(token);
126
- } else if (command === 'generate-lambda-js-handler') {
102
+ } else if (command === 'generate-lambda-ts-handler') {
127
103
  generateLambdaHandler();
128
104
  } else {
129
- logger.error('Unknown command. Available commands: token, generate-lambda');
105
+ logger.error('Unknown command. Available commands: token, generate-lambda-handler');
130
106
  process.exit(1);
131
107
  }
132
108
  }
@@ -0,0 +1,39 @@
1
+ // This is the template for the Lambda handler
2
+ // The {MODULE_PATH} placeholder will be replaced with the actual path
3
+
4
+ export const handler = async (event: any, context: any) => {
5
+ const modulePath = '{MODULE_PATH}'; // Agent path from minded.json
6
+ const resolvedPath = require.resolve(modulePath);
7
+ delete require.cache[resolvedPath];
8
+ const agent = require(modulePath).default;
9
+ const { agentFunctionName, agentFunctionBody } = event;
10
+
11
+ if (!agent[agentFunctionName]) {
12
+ throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
13
+ }
14
+
15
+ const response = await agent[agentFunctionName](agentFunctionBody);
16
+
17
+ // Safely stringify the response. If it fails (e.g., due to circular refs
18
+ // or non-serialisable class instances), fall back to null.
19
+ let responseBody = null;
20
+ try {
21
+ JSON.stringify(response);
22
+ responseBody = response;
23
+ } catch (_) {
24
+ // ignored - responseBody stays null
25
+ }
26
+
27
+ if (agentFunctionName === 'startVoiceSession') {
28
+ const wait = (ms: number) => new Promise((r) => setTimeout(r, ms));
29
+ while (context.getRemainingTimeInMillis() > 1000) {
30
+ console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
31
+ await wait(1000); // sleep 1 s
32
+ }
33
+ }
34
+
35
+ return {
36
+ statusCode: 200,
37
+ body: responseBody,
38
+ };
39
+ };
@@ -1,4 +0,0 @@
1
- import { ToolMessage } from '@langchain/core/messages';
2
- declare const extractToolMemoryResponse: <Memory>(toolMessage: ToolMessage) => Partial<Memory>;
3
- export default extractToolMemoryResponse;
4
- //# sourceMappingURL=extractToolMemoryResponse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractToolMemoryResponse.d.ts","sourceRoot":"","sources":["../../src/utils/extractToolMemoryResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,QAAA,MAAM,yBAAyB,GAAI,MAAM,EAAE,aAAa,WAAW,KAAG,OAAO,CAAC,MAAM,CAUnF,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const extractToolMemoryResponse = (toolMessage) => {
4
- try {
5
- const parsed = JSON.parse(toolMessage.content);
6
- if (typeof parsed === 'object' && parsed !== null && 'memory' in parsed) {
7
- return parsed.memory;
8
- }
9
- }
10
- catch (error) {
11
- console.error('Error parsing tool memory response', error);
12
- }
13
- return {};
14
- };
15
- exports.default = extractToolMemoryResponse;
16
- //# sourceMappingURL=extractToolMemoryResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractToolMemoryResponse.js","sourceRoot":"","sources":["../../src/utils/extractToolMemoryResponse.ts"],"names":[],"mappings":";;AAEA,MAAM,yBAAyB,GAAG,CAAS,WAAwB,EAAmB,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAiB,CAAC,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}