@minded-ai/mindedjs 2.0.28-beta.2 → 2.0.29

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 (62) hide show
  1. package/dist/agent.d.ts +1 -8
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +3 -59
  4. package/dist/agent.js.map +1 -1
  5. package/dist/browserTask/executeBrowserTask.py +5 -1
  6. package/dist/cli/index.js +0 -0
  7. package/dist/index.d.ts +0 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -5
  10. package/dist/index.js.map +1 -1
  11. package/dist/platform/toolExecutor.d.ts +1 -1
  12. package/dist/platform/toolExecutor.d.ts.map +1 -1
  13. package/dist/platform/toolExecutor.js +5 -3
  14. package/dist/platform/toolExecutor.js.map +1 -1
  15. package/package.json +2 -2
  16. package/src/agent.ts +4 -70
  17. package/src/browserTask/executeBrowserTask.py +5 -1
  18. package/src/index.ts +1 -2
  19. package/src/platform/toolExecutor.ts +6 -4
  20. package/dist/browserTask/cdp.d.ts +0 -23
  21. package/dist/browserTask/cdp.d.ts.map +0 -1
  22. package/dist/browserTask/cdp.js +0 -162
  23. package/dist/browserTask/cdp.js.map +0 -1
  24. package/dist/browserTask/cookieStore.py +0 -108
  25. package/dist/cli/runTool.d.ts +0 -2
  26. package/dist/cli/runTool.d.ts.map +0 -1
  27. package/dist/cli/runTool.js +0 -143
  28. package/dist/cli/runTool.js.map +0 -1
  29. package/dist/guidelines/guidelinesManager.d.ts +0 -37
  30. package/dist/guidelines/guidelinesManager.d.ts.map +0 -1
  31. package/dist/guidelines/guidelinesManager.js +0 -172
  32. package/dist/guidelines/guidelinesManager.js.map +0 -1
  33. package/dist/internalTools/retell.d.ts +0 -12
  34. package/dist/internalTools/retell.d.ts.map +0 -1
  35. package/dist/internalTools/retell.js +0 -54
  36. package/dist/internalTools/retell.js.map +0 -1
  37. package/dist/internalTools/sendPlaceholderMessage.d.ts +0 -14
  38. package/dist/internalTools/sendPlaceholderMessage.d.ts.map +0 -1
  39. package/dist/internalTools/sendPlaceholderMessage.js +0 -61
  40. package/dist/internalTools/sendPlaceholderMessage.js.map +0 -1
  41. package/dist/platform/mindedChatOpenAI.d.ts +0 -5
  42. package/dist/platform/mindedChatOpenAI.d.ts.map +0 -1
  43. package/dist/platform/mindedChatOpenAI.js +0 -23
  44. package/dist/platform/mindedChatOpenAI.js.map +0 -1
  45. package/dist/toolsLibrary/withBrowserSession.d.ts +0 -7
  46. package/dist/toolsLibrary/withBrowserSession.d.ts.map +0 -1
  47. package/dist/toolsLibrary/withBrowserSession.js +0 -158
  48. package/dist/toolsLibrary/withBrowserSession.js.map +0 -1
  49. package/dist/utils/extractStateMemoryResponse.d.ts +0 -5
  50. package/dist/utils/extractStateMemoryResponse.d.ts.map +0 -1
  51. package/dist/utils/extractStateMemoryResponse.js +0 -91
  52. package/dist/utils/extractStateMemoryResponse.js.map +0 -1
  53. package/dist/utils/extractToolMemoryResponse.d.ts +0 -4
  54. package/dist/utils/extractToolMemoryResponse.d.ts.map +0 -1
  55. package/dist/utils/extractToolMemoryResponse.js +0 -16
  56. package/dist/utils/extractToolMemoryResponse.js.map +0 -1
  57. package/dist/utils/parseDirectToolExecutionArgs.d.ts +0 -8
  58. package/dist/utils/parseDirectToolExecutionArgs.d.ts.map +0 -1
  59. package/dist/utils/parseDirectToolExecutionArgs.js +0 -39
  60. package/dist/utils/parseDirectToolExecutionArgs.js.map +0 -1
  61. package/src/toolsLibrary/withBrowserSession.ts +0 -124
  62. package/src/utils/parseDirectToolExecutionArgs.ts +0 -46
@@ -1,124 +0,0 @@
1
- import { Browser, BrowserContext, chromium, Page } from "playwright";
2
- import { BrowserTaskMode } from "../browserTask/types";
3
- import { createBrowserSession, destroyBrowserSession } from "../browserTask/executeBrowserTask";
4
- import { logger } from "../utils/logger";
5
- import * as fs from 'fs';
6
- import * as path from 'path';
7
- import { CookieStore } from "../browserTask/CookieStore";
8
-
9
- // Initialize cookie store
10
- const cookieStore = new CookieStore(path.join(process.cwd(), 'local_storage', 'cookies'));
11
-
12
- // Helper function to load cookies for a session
13
- const loadCookiesForSession = async (context: BrowserContext, sessionId: string): Promise<void> => {
14
- const stored = await cookieStore.load();
15
- if (!stored || stored.length === 0) {
16
- logger.info({ message: 'No stored cookies to load', sessionId });
17
- return;
18
- }
19
-
20
- try {
21
- await context.addCookies(stored);
22
- logger.info({ message: 'Loaded cookies into browser session', sessionId, count: stored.length });
23
- } catch (error) {
24
- logger.warn({ message: 'Failed to add cookies to context', sessionId, error });
25
- }
26
- };
27
-
28
- // Helper function to save cookies for a session
29
- const saveCookiesForSession = async (context: BrowserContext, sessionId: string): Promise<void> => {
30
- try {
31
- const cookies = await context.cookies();
32
- if (cookies && cookies.length > 0) {
33
- await cookieStore.save(cookies);
34
- logger.info({ message: 'Saved cookies from browser session', sessionId, count: cookies.length });
35
- } else {
36
- logger.info({ message: 'No cookies found in browser session', sessionId });
37
- }
38
- } catch (error) {
39
- logger.warn({ message: 'Failed to get/save cookies from session', sessionId, error: JSON.stringify(error) });
40
- }
41
- };
42
-
43
- export const withBrowserSession = async <T>({ sessionId, browserTaskMode }: { sessionId: string, browserTaskMode: BrowserTaskMode }, callback: (page: Page) => Promise<T>): Promise<T> => {
44
- const { cdpUrl } = await createBrowserSession({ sessionId, browserTaskMode });
45
- if (!cdpUrl) {
46
- throw new Error('CDP URL was not provided by the browser session.');
47
- }
48
- logger.info({ msg: 'Connecting to CDP', cdpUrl, sessionId });
49
-
50
- let maxTries = 30;
51
- let browser: Browser | null = null;
52
- while (maxTries > 0) {
53
- try {
54
- browser = await chromium.connectOverCDP(cdpUrl);
55
- break;
56
- } catch (error) {
57
- logger.warn({ msg: 'Failed to connect to CDP', sessionId, error });
58
- maxTries--;
59
- await delay(1000);
60
- }
61
- }
62
- if (!browser) {
63
- throw new Error('Failed to connect to CDP');
64
- }
65
- logger.info({ msg: 'Connected to CDP', cdpUrl, sessionId });
66
- const context: BrowserContext = browser.contexts()[0] ?? await browser.newContext();
67
- const page: Page = context.pages()[0] ?? await context.newPage();
68
- logger.info({ msg: 'Created page', sessionId });
69
-
70
- // Load cookies for this session (only for local mode, best-effort)
71
- const noCookies = process.env.MINDED_NO_COOKIES === 'true';
72
- if (browserTaskMode === BrowserTaskMode.LOCAL && !noCookies) {
73
- try {
74
- await loadCookiesForSession(context, sessionId);
75
- } catch (error) {
76
- logger.warn({ message: 'Failed to load cookies for session', sessionId, error });
77
- }
78
- } else if (noCookies) {
79
- logger.info({ message: 'Cookies disabled via --noCookies flag', sessionId });
80
- }
81
-
82
- try {
83
- return await callback(page);
84
- } catch (e) {
85
- logger.error({ msg: 'Error in browser session callback', sessionId, error: e });
86
-
87
- // Save screenshot and HTML content for debugging
88
- try {
89
- const resultsDir = path.join(process.cwd(), 'rpaTestResults');
90
- if (!fs.existsSync(resultsDir)) {
91
- fs.mkdirSync(resultsDir, { recursive: true });
92
- }
93
-
94
- const screenshotPath = path.join(resultsDir, `screenshot.jpeg`);
95
- const htmlPath = path.join(resultsDir, `content.html`);
96
-
97
- // Take screenshot with 80% quality
98
- await page.screenshot({ path: screenshotPath, type: 'jpeg', quality: 80 });
99
- logger.info({ msg: 'Saved error screenshot', path: screenshotPath, sessionId });
100
-
101
- // Save HTML content
102
- const htmlContent = await page.content();
103
- fs.writeFileSync(htmlPath, htmlContent, 'utf8');
104
- logger.info({ msg: 'Saved error HTML content', path: htmlPath, sessionId });
105
- } catch (saveError) {
106
- logger.warn({ msg: 'Failed to save error artifacts', sessionId, error: saveError });
107
- }
108
-
109
- throw e;
110
- } finally {
111
- // Save cookies before destroying session (only for local mode, best-effort)
112
- if (browserTaskMode === BrowserTaskMode.LOCAL && !noCookies) {
113
- try {
114
- await saveCookiesForSession(context, sessionId);
115
- } catch (error) {
116
- logger.warn({ message: 'Failed to save cookies before session destruction', sessionId, error });
117
- }
118
- }
119
-
120
- destroyBrowserSession({ sessionId, localRun: browserTaskMode === BrowserTaskMode.LOCAL, onPrem: browserTaskMode === BrowserTaskMode.ON_PREM }).catch(() => { });
121
- }
122
- }
123
-
124
- const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
@@ -1,46 +0,0 @@
1
- export function parseDirectToolExecutionArgs(args: string[]): {
2
- toolName: string;
3
- params: Record<string, any>;
4
- flags: { noCookies: boolean }
5
- } {
6
- if (args.length === 0) {
7
- throw new Error('Usage: npm run tool <toolName> [key=value ...] [--noCookies]');
8
- }
9
-
10
- const toolName = args[0];
11
- const params: Record<string, any> = {};
12
- const flags = {
13
- noCookies: false,
14
- };
15
-
16
- // Parse arguments
17
- for (let i = 1; i < args.length; i++) {
18
- const arg = args[i];
19
-
20
- // Check for flags
21
- if (arg === '--noCookies') {
22
- flags.noCookies = true;
23
- continue;
24
- }
25
-
26
- // Parse key=value pairs
27
- const equalIndex = arg.indexOf('=');
28
-
29
- if (equalIndex === -1) {
30
- throw new Error(`Invalid argument format: ${arg}. Expected key=value or --flagName`);
31
- }
32
-
33
- const key = arg.substring(0, equalIndex);
34
- const rawValue = arg.substring(equalIndex + 1);
35
-
36
- // Try to parse as JSON (for objects, arrays, booleans, numbers)
37
- try {
38
- params[key] = JSON.parse(rawValue);
39
- } catch {
40
- // If not valid JSON, treat as string
41
- params[key] = rawValue;
42
- }
43
- }
44
-
45
- return { toolName, params, flags };
46
- }