@minded-ai/mindedjs 2.0.22 → 2.0.23

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.
@@ -2,14 +2,14 @@ import { mindedConnectionSocketMessageType, mindedConnectionSocketMessageTypeMap
2
2
  export declare const isConnected: () => boolean;
3
3
  export declare const on: <E extends keyof mindedConnectionSocketMessageTypeMap>(event: E, callback: (message: mindedConnectionSocketMessageTypeMap[E]) => any) => void;
4
4
  export declare const emit: <E extends keyof mindedConnectionSocketMessageTypeMap>(event: E, message: mindedConnectionSocketMessageTypeMap[E]) => void;
5
- export declare const awaitEmit: <T, R>(event: mindedConnectionSocketMessageType, message: T, timeoutMs?: number) => Promise<R>;
5
+ export declare const awaitEmit: <T, R>(event: mindedConnectionSocketMessageType, message: T, timeoutMs?: number, maxRetries?: number) => Promise<R>;
6
6
  export declare const start: () => Promise<void>;
7
7
  export declare const disconnect: () => void;
8
8
  export declare const mindedConnection: {
9
9
  isConnected: () => boolean;
10
10
  on: <E extends keyof mindedConnectionSocketMessageTypeMap>(event: E, callback: (message: mindedConnectionSocketMessageTypeMap[E]) => any) => void;
11
11
  emit: <E extends keyof mindedConnectionSocketMessageTypeMap>(event: E, message: mindedConnectionSocketMessageTypeMap[E]) => void;
12
- awaitEmit: <T, R>(event: mindedConnectionSocketMessageType, message: T, timeoutMs?: number) => Promise<R>;
12
+ awaitEmit: <T, R>(event: mindedConnectionSocketMessageType, message: T, timeoutMs?: number, maxRetries?: number) => Promise<R>;
13
13
  start: () => Promise<void>;
14
14
  };
15
15
  //# sourceMappingURL=mindedConnection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mindedConnection.d.ts","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAmBlH,eAAO,MAAM,WAAW,QAAO,OAE9B,CAAC;AAEF,eAAO,MAAM,EAAE,GAAI,CAAC,SAAS,MAAM,oCAAoC,EACrE,OAAO,CAAC,EACR,UAAU,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC,CAAC,KAAK,GAAG,SAMpE,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,oCAAoC,EAAE,OAAO,CAAC,EAAE,SAAS,oCAAoC,CAAC,CAAC,CAAC,SAIpI,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,CAAC,EAAE,CAAC,EAAE,OAAO,iCAAiC,EAAE,SAAS,CAAC,EAAE,YAAW,MAAa,KAAG,OAAO,CAAC,CAAC,CAyB/H,CAAC;AA4JF,eAAO,MAAM,KAAK,QAAa,OAAO,CAAC,IAAI,CAM1C,CAAC;AAEF,eAAO,MAAM,UAAU,YAatB,CAAC;AAEF,eAAO,MAAM,gBAAgB;uBAhOE,OAAO;SAInB,CAAC,SAAS,MAAM,oCAAoC,SAC9D,CAAC,YACE,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC,CAAC,KAAK,GAAG;WAQhD,CAAC,SAAS,MAAM,oCAAoC,SAAS,CAAC,WAAW,oCAAoC,CAAC,CAAC,CAAC;gBAMrG,CAAC,EAAE,CAAC,SAAS,iCAAiC,WAAW,CAAC,cAAa,MAAM,KAAU,OAAO,CAAC,CAAC,CAAC;iBAqLlG,OAAO,CAAC,IAAI,CAAC;CA6B3C,CAAC"}
1
+ {"version":3,"file":"mindedConnection.d.ts","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAoBlH,eAAO,MAAM,WAAW,QAAO,OAE9B,CAAC;AAEF,eAAO,MAAM,EAAE,GAAI,CAAC,SAAS,MAAM,oCAAoC,EACrE,OAAO,CAAC,EACR,UAAU,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC,CAAC,KAAK,GAAG,SAMpE,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,oCAAoC,EAAE,OAAO,CAAC,EAAE,SAAS,oCAAoC,CAAC,CAAC,CAAC,SAIpI,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,CAAC,EAAE,CAAC,EAClC,OAAO,iCAAiC,EACxC,SAAS,CAAC,EACV,YAAW,MAAa,EACxB,aAAY,MAAU,KACrB,OAAO,CAAC,CAAC,CAwDX,CAAC;AAqMF,eAAO,MAAM,KAAK,QAAa,OAAO,CAAC,IAAI,CAM1C,CAAC;AAEF,eAAO,MAAM,UAAU,YAatB,CAAC;AAEF,eAAO,MAAM,gBAAgB;uBA7SE,OAAO;SAInB,CAAC,SAAS,MAAM,oCAAoC,SAC9D,CAAC,YACE,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC,CAAC,KAAK,GAAG;WAQhD,CAAC,SAAS,MAAM,oCAAoC,SAAS,CAAC,WAAW,oCAAoC,CAAC,CAAC,CAAC;gBAMrG,CAAC,EAAE,CAAC,SAC3B,iCAAiC,WAC/B,CAAC,cACC,MAAM,eACL,MAAM,KACjB,OAAO,CAAC,CAAC,CAAC;iBA6PkB,OAAO,CAAC,IAAI,CAAC;CA6B3C,CAAC"}
@@ -47,6 +47,7 @@ const colorize = (message, colorCode) => {
47
47
  };
48
48
  // Module-level singleton state
49
49
  let socket = null;
50
+ let isReconnecting = false; // Flag to prevent multiple simultaneous reconnections
50
51
  const listeners = {};
51
52
  const isConnected = () => {
52
53
  var _a;
@@ -66,28 +67,54 @@ const emit = (event, message) => {
66
67
  }
67
68
  };
68
69
  exports.emit = emit;
69
- const awaitEmit = async (event, message, timeoutMs = 5000) => {
70
- if (!socket) {
71
- throw new Error('Socket is not connected');
72
- }
73
- await waitForConnection();
74
- return new Promise((resolve, reject) => {
75
- // Set up timeout
76
- const timeout = setTimeout(() => {
77
- reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; event type: ${event}}`));
78
- }, timeoutMs);
79
- // Emit with acknowledgement callback
80
- socket.emit(event, (0, flatted_1.stringify)(message), (response) => {
81
- clearTimeout(timeout);
82
- // Check if the response indicates an error
83
- if (response && response.error) {
84
- reject(new Error(response.error));
70
+ const awaitEmit = async (event, message, timeoutMs = 5000, maxRetries = 3) => {
71
+ let lastError = null;
72
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
73
+ try {
74
+ // Check if socket exists and is connected
75
+ if (!socket || !(0, exports.isConnected)()) {
76
+ logger_1.logger.warn({
77
+ msg: colorize(`[Agent] Socket not connected for event "${event}", attempting reconnection (attempt ${attempt + 1}/${maxRetries})`, '\x1b[33m'),
78
+ });
79
+ await attemptReconnect();
85
80
  }
86
- else {
87
- resolve(response);
81
+ // Wait for connection to be ready
82
+ await waitForConnection();
83
+ // Attempt to emit with acknowledgement
84
+ return await new Promise((resolve, reject) => {
85
+ const timeout = setTimeout(() => {
86
+ reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; event type: ${event}`));
87
+ }, timeoutMs);
88
+ socket.emit(event, (0, flatted_1.stringify)(message), (response) => {
89
+ clearTimeout(timeout);
90
+ // Check if the response indicates an error
91
+ if (response && response.error) {
92
+ reject(new Error(response.error));
93
+ }
94
+ else {
95
+ resolve(response);
96
+ }
97
+ });
98
+ });
99
+ }
100
+ catch (error) {
101
+ lastError = error;
102
+ logger_1.logger.warn({
103
+ msg: colorize(`[Agent] awaitEmit failed for event "${event}" (attempt ${attempt + 1}/${maxRetries})`, '\x1b[33m'),
104
+ error: lastError.message,
105
+ });
106
+ // If not the last attempt, wait with exponential backoff
107
+ if (attempt < maxRetries - 1) {
108
+ const backoffMs = Math.min(1000 * Math.pow(2, attempt), 5000); // Exponential backoff: 1s, 2s, 4s (max 5s)
109
+ logger_1.logger.info({
110
+ msg: colorize(`[Agent] Retrying in ${backoffMs}ms...`, '\x1b[33m'),
111
+ });
112
+ await (0, wait_1.wait)(backoffMs);
88
113
  }
89
- });
90
- });
114
+ }
115
+ }
116
+ // All retries exhausted
117
+ throw new Error(`Failed to emit event "${event}" after ${maxRetries} attempts: ${(lastError === null || lastError === void 0 ? void 0 : lastError.message) || 'Unknown error'}`);
91
118
  };
92
119
  exports.awaitEmit = awaitEmit;
93
120
  const waitForConnection = async () => {
@@ -102,6 +129,43 @@ const waitForConnection = async () => {
102
129
  }
103
130
  }
104
131
  };
132
+ const attemptReconnect = async () => {
133
+ // If another reconnection is in progress, wait for it
134
+ if (isReconnecting) {
135
+ logger_1.logger.info({ msg: colorize('[Agent] Reconnection already in progress, waiting...', '\x1b[33m') });
136
+ const maxWait = 30000; // 30 seconds max wait for ongoing reconnection
137
+ const interval = 100;
138
+ let waited = 0;
139
+ while (isReconnecting && waited < maxWait) {
140
+ await (0, wait_1.wait)(interval);
141
+ waited += interval;
142
+ }
143
+ if (isReconnecting) {
144
+ throw new Error('Reconnection timeout - another reconnection is still in progress');
145
+ }
146
+ // Reconnection completed by another call, return
147
+ return;
148
+ }
149
+ isReconnecting = true;
150
+ try {
151
+ logger_1.logger.info({ msg: colorize('[Agent] Attempting to reconnect socket...', '\x1b[33m') });
152
+ const { token } = (0, config_1.getConfig)();
153
+ if (!token) {
154
+ throw new Error('[Agent] Minded token not found for reconnection');
155
+ }
156
+ // Disconnect existing socket if any
157
+ if (socket === null || socket === void 0 ? void 0 : socket.connected) {
158
+ socket.disconnect();
159
+ }
160
+ socket = null;
161
+ // Reconnect with fresh attempt
162
+ await connect(token, 0);
163
+ logger_1.logger.info({ msg: colorize('[Agent] Socket reconnected successfully', '\x1b[32m') });
164
+ }
165
+ finally {
166
+ isReconnecting = false;
167
+ }
168
+ };
105
169
  const getSdkVersion = () => {
106
170
  try {
107
171
  return packageJson.version;
@@ -1 +1 @@
1
- {"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minded-ai/mindedjs",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "MindedJS is a TypeScript library for building agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,6 +14,7 @@ const colorize = (message: string, colorCode: string): string => {
14
14
 
15
15
  // Module-level singleton state
16
16
  let socket: Socket | null = null;
17
+ let isReconnecting = false; // Flag to prevent multiple simultaneous reconnections
17
18
  const listeners: {
18
19
  [key: string]: ((message: any) => any)[];
19
20
  } = {};
@@ -38,31 +39,67 @@ export const emit = <E extends keyof mindedConnectionSocketMessageTypeMap>(event
38
39
  }
39
40
  };
40
41
 
41
- export const awaitEmit = async <T, R>(event: mindedConnectionSocketMessageType, message: T, timeoutMs: number = 5000): Promise<R> => {
42
- if (!socket) {
43
- throw new Error('Socket is not connected');
44
- }
42
+ export const awaitEmit = async <T, R>(
43
+ event: mindedConnectionSocketMessageType,
44
+ message: T,
45
+ timeoutMs: number = 5000,
46
+ maxRetries: number = 3,
47
+ ): Promise<R> => {
48
+ let lastError: Error | null = null;
49
+
50
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
51
+ try {
52
+ // Check if socket exists and is connected
53
+ if (!socket || !isConnected()) {
54
+ logger.warn({
55
+ msg: colorize(
56
+ `[Agent] Socket not connected for event "${event}", attempting reconnection (attempt ${attempt + 1}/${maxRetries})`,
57
+ '\x1b[33m',
58
+ ),
59
+ });
60
+ await attemptReconnect();
61
+ }
45
62
 
46
- await waitForConnection();
63
+ // Wait for connection to be ready
64
+ await waitForConnection();
47
65
 
48
- return new Promise((resolve, reject) => {
49
- // Set up timeout
50
- const timeout = setTimeout(() => {
51
- reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; event type: ${event}}`));
52
- }, timeoutMs);
66
+ // Attempt to emit with acknowledgement
67
+ return await new Promise<R>((resolve, reject) => {
68
+ const timeout = setTimeout(() => {
69
+ reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; event type: ${event}`));
70
+ }, timeoutMs);
53
71
 
54
- // Emit with acknowledgement callback
55
- socket!.emit(event, stringify(message), (response: any) => {
56
- clearTimeout(timeout);
72
+ socket!.emit(event, stringify(message), (response: any) => {
73
+ clearTimeout(timeout);
57
74
 
58
- // Check if the response indicates an error
59
- if (response && response.error) {
60
- reject(new Error(response.error));
61
- } else {
62
- resolve(response);
75
+ // Check if the response indicates an error
76
+ if (response && response.error) {
77
+ reject(new Error(response.error));
78
+ } else {
79
+ resolve(response);
80
+ }
81
+ });
82
+ });
83
+ } catch (error) {
84
+ lastError = error as Error;
85
+ logger.warn({
86
+ msg: colorize(`[Agent] awaitEmit failed for event "${event}" (attempt ${attempt + 1}/${maxRetries})`, '\x1b[33m'),
87
+ error: lastError.message,
88
+ });
89
+
90
+ // If not the last attempt, wait with exponential backoff
91
+ if (attempt < maxRetries - 1) {
92
+ const backoffMs = Math.min(1000 * Math.pow(2, attempt), 5000); // Exponential backoff: 1s, 2s, 4s (max 5s)
93
+ logger.info({
94
+ msg: colorize(`[Agent] Retrying in ${backoffMs}ms...`, '\x1b[33m'),
95
+ });
96
+ await wait(backoffMs);
63
97
  }
64
- });
65
- });
98
+ }
99
+ }
100
+
101
+ // All retries exhausted
102
+ throw new Error(`Failed to emit event "${event}" after ${maxRetries} attempts: ${lastError?.message || 'Unknown error'}`);
66
103
  };
67
104
 
68
105
  const waitForConnection = async (): Promise<void> => {
@@ -78,6 +115,47 @@ const waitForConnection = async (): Promise<void> => {
78
115
  }
79
116
  };
80
117
 
118
+ const attemptReconnect = async (): Promise<void> => {
119
+ // If another reconnection is in progress, wait for it
120
+ if (isReconnecting) {
121
+ logger.info({ msg: colorize('[Agent] Reconnection already in progress, waiting...', '\x1b[33m') });
122
+ const maxWait = 30000; // 30 seconds max wait for ongoing reconnection
123
+ const interval = 100;
124
+ let waited = 0;
125
+ while (isReconnecting && waited < maxWait) {
126
+ await wait(interval);
127
+ waited += interval;
128
+ }
129
+ if (isReconnecting) {
130
+ throw new Error('Reconnection timeout - another reconnection is still in progress');
131
+ }
132
+ // Reconnection completed by another call, return
133
+ return;
134
+ }
135
+
136
+ isReconnecting = true;
137
+ try {
138
+ logger.info({ msg: colorize('[Agent] Attempting to reconnect socket...', '\x1b[33m') });
139
+
140
+ const { token } = getConfig();
141
+ if (!token) {
142
+ throw new Error('[Agent] Minded token not found for reconnection');
143
+ }
144
+
145
+ // Disconnect existing socket if any
146
+ if (socket?.connected) {
147
+ socket.disconnect();
148
+ }
149
+ socket = null;
150
+
151
+ // Reconnect with fresh attempt
152
+ await connect(token, 0);
153
+ logger.info({ msg: colorize('[Agent] Socket reconnected successfully', '\x1b[32m') });
154
+ } finally {
155
+ isReconnecting = false;
156
+ }
157
+ };
158
+
81
159
  const getSdkVersion = (): string => {
82
160
  try {
83
161
  return packageJson.version;