maxun-core 0.0.21 → 0.0.22

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 (2) hide show
  1. package/build/interpret.js +34 -30
  2. package/package.json +1 -1
@@ -1005,30 +1005,33 @@ class Interpreter extends events_1.EventEmitter {
1005
1005
  yield p.close();
1006
1006
  return;
1007
1007
  }
1008
- let pageState = {};
1009
- try {
1010
- // Check if page is still valid before accessing state
1011
- if (p.isClosed()) {
1012
- this.log('Page was closed during execution', logger_1.Level.WARN);
1013
- return;
1014
- }
1015
- pageState = yield this.getState(p, workflowCopy, selectors);
1016
- selectors = [];
1017
- console.log("Empty selectors:", selectors);
1018
- }
1019
- catch (e) {
1020
- this.log(`Failed to get page state: ${e.message}`, logger_1.Level.ERROR);
1021
- // If state access fails, attempt graceful recovery
1022
- if (p.isClosed()) {
1023
- this.log('Browser has been closed, terminating workflow', logger_1.Level.WARN);
1024
- return;
1025
- }
1026
- // For other errors, continue with empty state to avoid complete failure
1027
- pageState = { url: p.url(), selectors: [], cookies: {} };
1028
- }
1029
- if (this.options.debug) {
1030
- this.log(`Current state is: \n${JSON.stringify(pageState, null, 2)}`, logger_1.Level.WARN);
1008
+ if (workflowCopy.length === 0) {
1009
+ this.log('All actions completed. Workflow finished.', logger_1.Level.LOG);
1010
+ return;
1031
1011
  }
1012
+ // let pageState = {};
1013
+ // try {
1014
+ // // Check if page is still valid before accessing state
1015
+ // if (p.isClosed()) {
1016
+ // this.log('Page was closed during execution', Level.WARN);
1017
+ // return;
1018
+ // }
1019
+ // pageState = await this.getState(p, workflowCopy, selectors);
1020
+ // selectors = [];
1021
+ // console.log("Empty selectors:", selectors)
1022
+ // } catch (e: any) {
1023
+ // this.log(`Failed to get page state: ${e.message}`, Level.ERROR);
1024
+ // // If state access fails, attempt graceful recovery
1025
+ // if (p.isClosed()) {
1026
+ // this.log('Browser has been closed, terminating workflow', Level.WARN);
1027
+ // return;
1028
+ // }
1029
+ // // For other errors, continue with empty state to avoid complete failure
1030
+ // pageState = { url: p.url(), selectors: [], cookies: {} };
1031
+ // }
1032
+ // if (this.options.debug) {
1033
+ // this.log(`Current state is: \n${JSON.stringify(pageState, null, 2)}`, Level.WARN);
1034
+ // }
1032
1035
  // const actionId = workflow.findIndex((step) => {
1033
1036
  // const isApplicable = this.applicable(step.where, pageState, usedActions);
1034
1037
  // console.log("-------------------------------------------------------------");
@@ -1038,7 +1041,8 @@ class Interpreter extends events_1.EventEmitter {
1038
1041
  // console.log("-------------------------------------------------------------");
1039
1042
  // return isApplicable;
1040
1043
  // });
1041
- actionId = this.getMatchingActionId(workflowCopy, pageState, usedActions);
1044
+ // actionId = this.getMatchingActionId(workflowCopy, pageState, usedActions);
1045
+ const actionId = workflowCopy.length - 1;
1042
1046
  const action = workflowCopy[actionId];
1043
1047
  console.log("MATCHED ACTION:", action);
1044
1048
  console.log("MATCHED ACTION ID:", actionId);
@@ -1060,12 +1064,12 @@ class Interpreter extends events_1.EventEmitter {
1060
1064
  workflowCopy.splice(actionId, 1);
1061
1065
  console.log(`Action with ID ${action.id} removed from the workflow copy.`);
1062
1066
  // const newSelectors = this.getPreviousSelectors(workflow, actionId);
1063
- const newSelectors = this.getSelectors(workflowCopy);
1064
- newSelectors.forEach(selector => {
1065
- if (!selectors.includes(selector)) {
1066
- selectors.push(selector);
1067
- }
1068
- });
1067
+ // const newSelectors = this.getSelectors(workflowCopy);
1068
+ // newSelectors.forEach(selector => {
1069
+ // if (!selectors.includes(selector)) {
1070
+ // selectors.push(selector);
1071
+ // }
1072
+ // });
1069
1073
  // Reset loop iteration counter on successful action
1070
1074
  loopIterations = 0;
1071
1075
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maxun-core",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "description": "Core package for Maxun, responsible for data extraction",
5
5
  "main": "build/index.js",
6
6
  "typings": "build/index.d.ts",