donobu 2.18.2 → 2.18.4

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.
@@ -1 +1 @@
1
- 1161
1
+ 1163
@@ -1 +1 @@
1
- 1161
1
+ 1163
@@ -29,7 +29,8 @@ export declare class SolveMfaChallengeTool extends ReplayableInteraction<SolveMf
29
29
  constructor();
30
30
  invoke(context: ToolCallContext, parameters: SolveMfaChallengeToolCoreParameters, element: Locator): Promise<string>;
31
31
  private getMfaCodeFromEmails;
32
- private getLatestEmailBody;
32
+ private fetchLatestMfaEmail;
33
+ private extractBody;
33
34
  private extractMfaCodeWithGpt;
34
35
  private decodeBase64Url;
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolveMfaChallenge.d.ts","sourceRoot":"","sources":["../../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4CACf,SAAQ,uBAAuB,EAC7B,mCAAmC;CAAG;AAE1C,MAAM,WAAW,8CACf,SAAQ,yBAAyB,EAC/B,mCAAmC;CAAG;AAE1C,qBAAa,qBAAsB,SAAQ,qBAAqB,CAC9D,mCAAmC,EACnC,4CAA4C,EAC5C,8CAA8C,CAC/C;IACC,gBAAuB,IAAI,uBAAuB;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;;IAYzC,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,mCAAmC,EAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;YAgDJ,oBAAoB;YAwCpB,kBAAkB;YAiElB,qBAAqB;IAwCnC,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"SolveMfaChallenge.d.ts","sourceRoot":"","sources":["../../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4CACf,SAAQ,uBAAuB,EAC7B,mCAAmC;CAAG;AAE1C,MAAM,WAAW,8CACf,SAAQ,yBAAyB,EAC/B,mCAAmC;CAAG;AAE1C,qBAAa,qBAAsB,SAAQ,qBAAqB,CAC9D,mCAAmC,EACnC,4CAA4C,EAC5C,8CAA8C,CAC/C;IACC,gBAAuB,IAAI,uBAAuB;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;;IAYzC,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,mCAAmC,EAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;YAoDJ,oBAAoB;YAyCpB,mBAAmB;IA2DjC,OAAO,CAAC,WAAW;YA6BL,qBAAqB;IAwCnC,OAAO,CAAC,eAAe;CAKxB"}
@@ -22,19 +22,22 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
22
22
  if (!mfaCode) {
23
23
  throw new Error('Could not find MFA code in emails after multiple attempts');
24
24
  }
25
- // Input the MFA code into the element
25
+ // Input the MFA code into the element.
26
+ //
27
+ // Note: We focus the element then send raw keyboard events rather than
28
+ // doing 'element.press' since some MFA systems automatically progress
29
+ // focus across input fields when each character is entered.
30
+ await element.focus();
26
31
  for (const char of mfaCode) {
27
- await element.press(char, {
32
+ await context.page.current.keyboard.press(char, {
28
33
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(char),
29
- timeout: 3000,
30
34
  });
31
35
  }
32
36
  // Submit the form if necessary
33
37
  try {
34
38
  const char = 'Enter';
35
- await element.press(char, {
39
+ await context.page.current.keyboard.press(char, {
36
40
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(char),
37
- timeout: 3000,
38
41
  });
39
42
  }
40
43
  catch (_error) {
@@ -44,6 +47,7 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
44
47
  return `Successfully retrieved and inputted MFA code: ${mfaCode}`;
45
48
  }
46
49
  async getMfaCodeFromEmails(context, gmail, waitTimeSeconds) {
50
+ const seenIds = new Set();
47
51
  const startTime = Date.now();
48
52
  const endTime = startTime + waitTimeSeconds * 1000;
49
53
  let attempt = 0;
@@ -53,7 +57,7 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
53
57
  attempt++;
54
58
  Logger_1.appLogger.info(`Attempt ${attempt} of ${SolveMfaChallengeTool.MAX_RETRIES} to find MFA code in emails`);
55
59
  // Get the body of the latest email for the user.
56
- const emailBody = await this.getLatestEmailBody(gmail);
60
+ const emailBody = await this.fetchLatestMfaEmail(gmail, seenIds);
57
61
  // Only process if the email body has changed.
58
62
  if (emailBody && emailBody !== lastEmailBody) {
59
63
  lastEmailBody = emailBody;
@@ -71,29 +75,51 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
71
75
  }
72
76
  return null;
73
77
  }
74
- async getLatestEmailBody(gmail) {
75
- // Build search query to only get recent emails (last 2 minutes)
76
- const query = 'subject:(verification code OR security code OR authentication code OR verification OR confirm OR code OR verify) newer_than:2m';
77
- // fetch a few recent message IDs (Gmail API already returns them newest-first)
78
- const res = await gmail.users.messages.list({
78
+ async fetchLatestMfaEmail(gmail, seenIds) {
79
+ const lookbackMinutes = 2;
80
+ const cutoff = Date.now() - lookbackMinutes * 60000;
81
+ const threadRes = await gmail.users.threads.list({
79
82
  userId: 'me',
80
- q: query,
81
- maxResults: 10, // small buffer in case of threading
83
+ q: 'subject:(code OR security OR authentication OR verification OR confirm OR verify) ' +
84
+ 'is:unread in:inbox',
85
+ maxResults: 25,
86
+ fields: 'threads(id)',
82
87
  });
83
- if (!res.data.messages?.length) {
84
- Logger_1.appLogger.info('No matching emails found');
88
+ const candidates = [];
89
+ for (const th of threadRes.data.threads ?? []) {
90
+ const t = await gmail.users.threads.get({
91
+ userId: 'me',
92
+ id: th.id,
93
+ format: 'metadata',
94
+ fields: 'messages(id,internalDate,labelIds)',
95
+ });
96
+ const m = t.data.messages.at(-1); // newest in that thread
97
+ if (!m || seenIds.has(m.id)) {
98
+ continue;
99
+ }
100
+ else if (!m.labelIds?.includes('UNREAD')) {
101
+ continue;
102
+ }
103
+ const ts = Number(m.internalDate);
104
+ if (ts < cutoff) {
105
+ continue;
106
+ }
107
+ candidates.push({ id: m.id, ts });
108
+ }
109
+ if (!candidates.length) {
85
110
  return null;
86
111
  }
87
- // fetch metadata for each candidate, then pick the newest by internalDate
88
- const detailed = await Promise.all(res.data.messages.map((m) => gmail.users.messages.get({
112
+ const winner = candidates.sort((a, b) => b.ts - a.ts)[0];
113
+ seenIds.add(winner.id);
114
+ const full = await gmail.users.messages.get({
89
115
  userId: 'me',
90
- id: m.id,
116
+ id: winner.id,
91
117
  format: 'full',
92
- })));
93
- detailed.sort((a, b) => Number(b.data.internalDate) - Number(a.data.internalDate));
94
- const email = detailed[0];
95
- // Extract email body
96
- const parts = email.data.payload?.parts;
118
+ });
119
+ return this.extractBody(full.data);
120
+ }
121
+ extractBody(email) {
122
+ const parts = email.payload?.parts;
97
123
  let body = '';
98
124
  if (parts) {
99
125
  // Try to find plain text part first
@@ -109,9 +135,9 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
109
135
  }
110
136
  }
111
137
  }
112
- else if (email.data.payload?.body?.data) {
138
+ else if (email.payload?.body?.data) {
113
139
  // Handle case where email has no parts
114
- body = this.decodeBase64Url(email.data.payload.body.data);
140
+ body = this.decodeBase64Url(email.payload.body.data);
115
141
  }
116
142
  if (!body) {
117
143
  Logger_1.appLogger.warn('Email found but body could not be decoded');
@@ -1 +1 @@
1
- {"version":3,"file":"SolveMfaChallenge.js","sourceRoot":"","sources":["../../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolveMfaChallenge.js","sourceRoot":"","sources":["../../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,8 @@ export declare class SolveMfaChallengeTool extends ReplayableInteraction<SolveMf
29
29
  constructor();
30
30
  invoke(context: ToolCallContext, parameters: SolveMfaChallengeToolCoreParameters, element: Locator): Promise<string>;
31
31
  private getMfaCodeFromEmails;
32
- private getLatestEmailBody;
32
+ private fetchLatestMfaEmail;
33
+ private extractBody;
33
34
  private extractMfaCodeWithGpt;
34
35
  private decodeBase64Url;
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolveMfaChallenge.d.ts","sourceRoot":"","sources":["../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4CACf,SAAQ,uBAAuB,EAC7B,mCAAmC;CAAG;AAE1C,MAAM,WAAW,8CACf,SAAQ,yBAAyB,EAC/B,mCAAmC;CAAG;AAE1C,qBAAa,qBAAsB,SAAQ,qBAAqB,CAC9D,mCAAmC,EACnC,4CAA4C,EAC5C,8CAA8C,CAC/C;IACC,gBAAuB,IAAI,uBAAuB;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;;IAYzC,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,mCAAmC,EAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;YAgDJ,oBAAoB;YAwCpB,kBAAkB;YAiElB,qBAAqB;IAwCnC,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"SolveMfaChallenge.d.ts","sourceRoot":"","sources":["../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4CACf,SAAQ,uBAAuB,EAC7B,mCAAmC;CAAG;AAE1C,MAAM,WAAW,8CACf,SAAQ,yBAAyB,EAC/B,mCAAmC;CAAG;AAE1C,qBAAa,qBAAsB,SAAQ,qBAAqB,CAC9D,mCAAmC,EACnC,4CAA4C,EAC5C,8CAA8C,CAC/C;IACC,gBAAuB,IAAI,uBAAuB;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;;IAYzC,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,mCAAmC,EAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;YAoDJ,oBAAoB;YAyCpB,mBAAmB;IA2DjC,OAAO,CAAC,WAAW;YA6BL,qBAAqB;IAwCnC,OAAO,CAAC,eAAe;CAKxB"}
@@ -22,19 +22,22 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
22
22
  if (!mfaCode) {
23
23
  throw new Error('Could not find MFA code in emails after multiple attempts');
24
24
  }
25
- // Input the MFA code into the element
25
+ // Input the MFA code into the element.
26
+ //
27
+ // Note: We focus the element then send raw keyboard events rather than
28
+ // doing 'element.press' since some MFA systems automatically progress
29
+ // focus across input fields when each character is entered.
30
+ await element.focus();
26
31
  for (const char of mfaCode) {
27
- await element.press(char, {
32
+ await context.page.current.keyboard.press(char, {
28
33
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(char),
29
- timeout: 3000,
30
34
  });
31
35
  }
32
36
  // Submit the form if necessary
33
37
  try {
34
38
  const char = 'Enter';
35
- await element.press(char, {
39
+ await context.page.current.keyboard.press(char, {
36
40
  delay: MiscUtils_1.MiscUtils.generateHumanLikeKeyPressDurationInMs(char),
37
- timeout: 3000,
38
41
  });
39
42
  }
40
43
  catch (_error) {
@@ -44,6 +47,7 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
44
47
  return `Successfully retrieved and inputted MFA code: ${mfaCode}`;
45
48
  }
46
49
  async getMfaCodeFromEmails(context, gmail, waitTimeSeconds) {
50
+ const seenIds = new Set();
47
51
  const startTime = Date.now();
48
52
  const endTime = startTime + waitTimeSeconds * 1000;
49
53
  let attempt = 0;
@@ -53,7 +57,7 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
53
57
  attempt++;
54
58
  Logger_1.appLogger.info(`Attempt ${attempt} of ${SolveMfaChallengeTool.MAX_RETRIES} to find MFA code in emails`);
55
59
  // Get the body of the latest email for the user.
56
- const emailBody = await this.getLatestEmailBody(gmail);
60
+ const emailBody = await this.fetchLatestMfaEmail(gmail, seenIds);
57
61
  // Only process if the email body has changed.
58
62
  if (emailBody && emailBody !== lastEmailBody) {
59
63
  lastEmailBody = emailBody;
@@ -71,29 +75,51 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
71
75
  }
72
76
  return null;
73
77
  }
74
- async getLatestEmailBody(gmail) {
75
- // Build search query to only get recent emails (last 2 minutes)
76
- const query = 'subject:(verification code OR security code OR authentication code OR verification OR confirm OR code OR verify) newer_than:2m';
77
- // fetch a few recent message IDs (Gmail API already returns them newest-first)
78
- const res = await gmail.users.messages.list({
78
+ async fetchLatestMfaEmail(gmail, seenIds) {
79
+ const lookbackMinutes = 2;
80
+ const cutoff = Date.now() - lookbackMinutes * 60000;
81
+ const threadRes = await gmail.users.threads.list({
79
82
  userId: 'me',
80
- q: query,
81
- maxResults: 10, // small buffer in case of threading
83
+ q: 'subject:(code OR security OR authentication OR verification OR confirm OR verify) ' +
84
+ 'is:unread in:inbox',
85
+ maxResults: 25,
86
+ fields: 'threads(id)',
82
87
  });
83
- if (!res.data.messages?.length) {
84
- Logger_1.appLogger.info('No matching emails found');
88
+ const candidates = [];
89
+ for (const th of threadRes.data.threads ?? []) {
90
+ const t = await gmail.users.threads.get({
91
+ userId: 'me',
92
+ id: th.id,
93
+ format: 'metadata',
94
+ fields: 'messages(id,internalDate,labelIds)',
95
+ });
96
+ const m = t.data.messages.at(-1); // newest in that thread
97
+ if (!m || seenIds.has(m.id)) {
98
+ continue;
99
+ }
100
+ else if (!m.labelIds?.includes('UNREAD')) {
101
+ continue;
102
+ }
103
+ const ts = Number(m.internalDate);
104
+ if (ts < cutoff) {
105
+ continue;
106
+ }
107
+ candidates.push({ id: m.id, ts });
108
+ }
109
+ if (!candidates.length) {
85
110
  return null;
86
111
  }
87
- // fetch metadata for each candidate, then pick the newest by internalDate
88
- const detailed = await Promise.all(res.data.messages.map((m) => gmail.users.messages.get({
112
+ const winner = candidates.sort((a, b) => b.ts - a.ts)[0];
113
+ seenIds.add(winner.id);
114
+ const full = await gmail.users.messages.get({
89
115
  userId: 'me',
90
- id: m.id,
116
+ id: winner.id,
91
117
  format: 'full',
92
- })));
93
- detailed.sort((a, b) => Number(b.data.internalDate) - Number(a.data.internalDate));
94
- const email = detailed[0];
95
- // Extract email body
96
- const parts = email.data.payload?.parts;
118
+ });
119
+ return this.extractBody(full.data);
120
+ }
121
+ extractBody(email) {
122
+ const parts = email.payload?.parts;
97
123
  let body = '';
98
124
  if (parts) {
99
125
  // Try to find plain text part first
@@ -109,9 +135,9 @@ class SolveMfaChallengeTool extends ReplayableInteraction_1.ReplayableInteractio
109
135
  }
110
136
  }
111
137
  }
112
- else if (email.data.payload?.body?.data) {
138
+ else if (email.payload?.body?.data) {
113
139
  // Handle case where email has no parts
114
- body = this.decodeBase64Url(email.data.payload.body.data);
140
+ body = this.decodeBase64Url(email.payload.body.data);
115
141
  }
116
142
  if (!body) {
117
143
  Logger_1.appLogger.warn('Email found but body could not be decoded');
@@ -1 +1 @@
1
- {"version":3,"file":"SolveMfaChallenge.js","sourceRoot":"","sources":["../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":";;;AAEA,mEAIiC;AACjC,kDAA+C;AAC/C,2CAAoC;AACpC,4CAA4C;AAgC5C,MAAa,qBAAsB,SAAQ,6CAI1C;IAKC;QACE,KAAK,CACH,qBAAqB,CAAC,IAAI,EAC1B,2GAA2G,EAC3G,8CAA8C,EAC9C,gDAAgD,EAChD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAwB,EACxB,UAA+C,EAC/C,OAAgB;QAEhB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,mBAAM,CAAC,IAAI,CAAC,MAAM,CACzC,UAAU,CAAC,aAAa,EACxB,UAAU,CAAC,iBAAiB,CAC7B,CAAC;QACF,YAAY,CAAC,cAAc,CAAC;YAC1B,aAAa,EAAE,UAAU,CAAC,iBAAiB;SAC5C,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,mBAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAElE,mCAAmC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC7C,OAAO,EACP,KAAK,EACL,eAAe,CAChB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxB,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,IAAI,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC;YACrB,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxB,KAAK,EAAE,qBAAS,CAAC,qCAAqC,CAAC,IAAI,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,kEAAkE;YAClE,iEAAiE;QACnE,CAAC;QAED,OAAO,iDAAiD,OAAO,EAAE,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAwB,EACxB,KAAqB,EACrB,eAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC;QACnD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,aAAa,GAAkB,IAAI,CAAC;QAExC,OACE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;YACpB,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAC3C,CAAC;YACD,OAAO,EAAE,CAAC;YACV,kBAAS,CAAC,IAAI,CACZ,WAAW,OAAO,OAAO,qBAAqB,CAAC,WAAW,6BAA6B,CACxF,CAAC;YACF,iDAAiD;YACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACvD,8CAA8C;YAC9C,IAAI,SAAS,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;gBAC7C,aAAa,GAAG,SAAS,CAAC;gBAC1B,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAErE,IAAI,OAAO,EAAE,CAAC;oBACZ,kBAAS,CAAC,IAAI,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;oBAC1D,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,wBAAwB;YACxB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAqB;QAErB,gEAAgE;QAChE,MAAM,KAAK,GACT,gIAAgI,CAAC;QAEnI,+EAA+E;QAC/E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,IAAI;YACZ,CAAC,EAAE,KAAK;YACR,UAAU,EAAE,EAAE,EAAE,oCAAoC;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC/B,kBAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE,CAAC,CAAC,EAAG;YACT,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CACpE,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE1B,qBAAqB;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;QACxC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,KAAK,EAAE,CAAC;YACV,oCAAoC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;YACtE,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBACpC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;gBACrE,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;oBACpC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1C,uCAAuC;YACvC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,kBAAS,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAwB,EACxB,SAAiB;QAEjB,sDAAsD;QACtD,MAAM,aAAa,GAAkB;YACnC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;;;;uDAI2C;SAClD,CAAC;QAEF,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;EAEd,SAAS;OACJ;iBACE;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAU,CAAC,UAAU,CAAC;YACnD,aAAa;YACb,WAAW;SACZ,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;;AA5NH,sDA6NC;AAxNwB,0BAAI,GAAG,mBAAmB,CAAC;AAC1B,iCAAW,GAAG,CAAC,CAAC;AAChB,oCAAc,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"SolveMfaChallenge.js","sourceRoot":"","sources":["../../src/tools/SolveMfaChallenge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "donobu",
3
- "version": "2.18.2",
3
+ "version": "2.18.4",
4
4
  "description": "Create browser automations with an LLM agent and replay them as Playwright scripts.",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/esm/main.js",