@minded-ai/mindedjs 2.0.17 → 2.0.18-beta-1

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 (43) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +8 -0
  3. package/dist/agent.js.map +1 -1
  4. package/dist/browserTask/README.md +419 -0
  5. package/dist/browserTask/browserAgent.py +632 -0
  6. package/dist/browserTask/captcha_isolated.png +0 -0
  7. package/dist/browserTask/executeBrowserTask.d.ts.map +1 -1
  8. package/dist/browserTask/executeBrowserTask.js +13 -0
  9. package/dist/browserTask/executeBrowserTask.js.map +1 -1
  10. package/dist/browserTask/executeBrowserTask.ts +79 -0
  11. package/dist/browserTask/localBrowserTask.d.ts +1 -0
  12. package/dist/browserTask/localBrowserTask.d.ts.map +1 -1
  13. package/dist/browserTask/localBrowserTask.js +6 -0
  14. package/dist/browserTask/localBrowserTask.js.map +1 -1
  15. package/dist/browserTask/requirements.txt +8 -0
  16. package/dist/browserTask/setup.sh +144 -0
  17. package/dist/cli/index.js +0 -0
  18. package/dist/internalTools/retell.d.ts +12 -0
  19. package/dist/internalTools/retell.d.ts.map +1 -0
  20. package/dist/internalTools/retell.js +54 -0
  21. package/dist/internalTools/retell.js.map +1 -0
  22. package/dist/internalTools/sendPlaceholderMessage.d.ts +14 -0
  23. package/dist/internalTools/sendPlaceholderMessage.d.ts.map +1 -0
  24. package/dist/internalTools/sendPlaceholderMessage.js +61 -0
  25. package/dist/internalTools/sendPlaceholderMessage.js.map +1 -0
  26. package/dist/utils/extractStateMemoryResponse.d.ts +5 -0
  27. package/dist/utils/extractStateMemoryResponse.d.ts.map +1 -0
  28. package/dist/utils/extractStateMemoryResponse.js +91 -0
  29. package/dist/utils/extractStateMemoryResponse.js.map +1 -0
  30. package/package.json +1 -1
  31. package/src/agent.ts +9 -0
  32. package/src/browserTask/executeBrowserTask.ts +22 -5
  33. package/src/browserTask/localBrowserTask.ts +6 -0
  34. package/src/browserTask/profile/Default/Extension Rules/000003.log +0 -0
  35. package/src/browserTask/profile/Default/Extension Scripts/000003.log +0 -0
  36. package/src/browserTask/profile/Default/Extension State/000003.log +0 -0
  37. package/src/browserTask/profile/Default/GCM Store/000003.log +0 -0
  38. package/src/browserTask/profile/Default/Local Storage/leveldb/000004.log +0 -0
  39. package/src/browserTask/profile/Default/Session Storage/000003.log +0 -0
  40. package/src/browserTask/profile/Default/Site Characteristics Database/000003.log +0 -0
  41. package/src/browserTask/profile/Default/Sync Data/LevelDB/000003.log +0 -0
  42. package/src/browserTask/profile/Default/shared_proto_db/000003.log +0 -0
  43. package/src/browserTask/profile/Default/shared_proto_db/metadata/000003.log +0 -0
@@ -11,7 +11,7 @@ import {
11
11
  DestroyBrowserSessionRequest,
12
12
  DestroyBrowserSessionResponse,
13
13
  } from '../platform/mindedConnectionTypes';
14
- import { kill, getOrStartLocalCDP } from './localBrowserTask';
14
+ import { kill, getOrStartLocalCDP, isLocalBrowserRunning } from './localBrowserTask';
15
15
  import { BrowserTaskMode, InvokeBrowserTaskOptions } from './types';
16
16
  import { isLocalOperatorSetup, validateLocalOperatorSetup } from '../cli/localOperatorSetup';
17
17
 
@@ -111,10 +111,10 @@ export const invokeBrowserTask = async (options: InvokeBrowserTaskOptions): Prom
111
111
  stdio: ['pipe', 'pipe', 'pipe'],
112
112
  env: isLocalOperatorSetup()
113
113
  ? {
114
- ...process.env,
115
- VIRTUAL_ENV: path.join(process.cwd(), '.venv'),
116
- PATH: `${path.join(process.cwd(), '.venv', 'bin')}:${process.env.PATH}`,
117
- }
114
+ ...process.env,
115
+ VIRTUAL_ENV: path.join(process.cwd(), '.venv'),
116
+ PATH: `${path.join(process.cwd(), '.venv', 'bin')}:${process.env.PATH}`,
117
+ }
118
118
  : process.env,
119
119
  });
120
120
 
@@ -146,11 +146,27 @@ export const invokeBrowserTask = async (options: InvokeBrowserTaskOptions): Prom
146
146
  process.stderr.write(text);
147
147
  });
148
148
 
149
+ const interval = setInterval(() => {
150
+ // Check if chromium process stopped running
151
+ if (!isLocalBrowserRunning()) {
152
+ logger.error({ message: 'Local browser process stopped running, killing browser task' });
153
+ child.kill();
154
+ clearInterval(interval);
155
+ }
156
+ }, 1000);
157
+
158
+ // Automatically clear interval after 20 minutes to avoid memory leaks
159
+ setTimeout(() => {
160
+ clearInterval(interval);
161
+ }, 1200000); // 20 minutes
162
+
149
163
  const exitCode: number = await new Promise((resolve, reject) => {
150
164
  child.on('error', (err) => reject(err));
151
165
  child.on('close', (code) => resolve(code ?? 1));
152
166
  });
153
167
 
168
+ clearInterval(interval);
169
+
154
170
  if (exitCode !== 0) {
155
171
  logger.error({ message: 'Operator failed', exitCode, stderr: stderrBuffer });
156
172
  throw new Error(`Local browser task failed with exit code ${exitCode}`);
@@ -158,6 +174,7 @@ export const invokeBrowserTask = async (options: InvokeBrowserTaskOptions): Prom
158
174
 
159
175
  logger.info({ message: 'Operator finished' });
160
176
 
177
+
161
178
  let result = stdoutBuffer.split('___RESULT___')[1]?.trim() || stdoutBuffer;
162
179
  if (outputSchema?.length) {
163
180
  try {
@@ -130,6 +130,7 @@ export async function getOrStartLocalCDP(
130
130
 
131
131
  proc.on("exit", (code, signal) => {
132
132
  logger.error({ message: 'Chromium exited', code, signal });
133
+ localBrowserTask = null;
133
134
  });
134
135
 
135
136
  await waitForCdpEndpoint(port, 30);
@@ -168,10 +169,15 @@ async function waitForCdpEndpoint(port: number, maxAttempts: number): Promise<vo
168
169
  throw new Error(`CDP endpoint not available on port ${port} after ${maxAttempts} attempts`);
169
170
  }
170
171
 
172
+ export function isLocalBrowserRunning(): boolean {
173
+ return localBrowserTask !== null;
174
+ }
175
+
171
176
  export async function kill() {
172
177
  if (localBrowserTask) {
173
178
  localBrowserTask.proc.kill("SIGTERM");
174
179
  await wait(300);
175
180
  localBrowserTask.proc.kill("SIGKILL");
181
+ localBrowserTask = null; // Reset the variable after killing the process
176
182
  }
177
183
  }