prthm11 commited on
Commit
3691149
·
verified ·
1 Parent(s): 10ab122

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -14
app.py CHANGED
@@ -22,7 +22,7 @@ from langchain_core.utils.utils import secret_from_env
22
  from io import BytesIO
23
  from pathlib import Path
24
  import os
25
- from utils.block_relation_builder import block_builder#, variable_adder_main
26
  from langchain.chat_models import ChatOpenAI
27
  from langchain_openai import ChatOpenAI
28
  from pydantic import Field, SecretStr
@@ -1009,6 +1009,23 @@ If you find any "Code-Blocks" then,
1009
  print(f"[OVREALL LISTS OF LOGICS]: {Data}")
1010
  logger.info("Plan refinement and block relation analysis completed for all plans.")
1011
  return state
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1012
  # Node 2: planner node
1013
  def overall_planner_node(state: GameState):
1014
  """
@@ -2353,16 +2370,17 @@ def delay_for_tpm_node(state: GameState):
2353
  workflow = StateGraph(GameState)
2354
 
2355
  # Add all nodes to the workflow
2356
- workflow.add_node("time_delay_1", delay_for_tpm_node)
2357
- workflow.add_node("time_delay_2", delay_for_tpm_node)
2358
- workflow.add_node("time_delay_3", delay_for_tpm_node)
2359
  # workflow.add_node("time_delay_4", delay_for_tpm_node)
2360
  workflow.add_node("pseudo_generator", pseudo_generator_node)
2361
- workflow.add_node("plan_generator", overall_planner_node)
 
2362
  #workflow.add_node("logic_alignment", plan_logic_aligner_node)
2363
  #workflow.add_node("plan_verifier", plan_verification_node)
2364
- workflow.add_node("refined_planner", refined_planner_node) # Refines the action plan
2365
- workflow.add_node("opcode_counter", plan_opcode_counter_node)
2366
  workflow.add_node("block_builder", overall_block_builder_node_2)
2367
  workflow.add_node("variable_initializer", variable_adder_node)
2368
  workflow.add_node("page_processed", processed_page_node)
@@ -2384,13 +2402,14 @@ workflow.add_conditional_edges(
2384
  }
2385
  )
2386
  # Main chain
2387
- workflow.add_edge("pseudo_generator", "time_delay_1")
2388
- workflow.add_edge("time_delay_1", "plan_generator")
2389
- workflow.add_edge("plan_generator", "time_delay_2")
2390
- workflow.add_edge("time_delay_2", "refined_planner")
2391
- workflow.add_edge("refined_planner", "time_delay_3")
2392
- workflow.add_edge("time_delay_3", "opcode_counter")
2393
- workflow.add_edge("opcode_counter", "block_builder")
 
2394
  workflow.add_edge("block_builder", "variable_initializer")
2395
 
2396
  # After last node, check again
 
22
  from io import BytesIO
23
  from pathlib import Path
24
  import os
25
+ from utils.block_relation_builder import block_builder, separate_scripts, transform_logic_to_action_flow#, variable_adder_main
26
  from langchain.chat_models import ChatOpenAI
27
  from langchain_openai import ChatOpenAI
28
  from pydantic import Field, SecretStr
 
1009
  print(f"[OVREALL LISTS OF LOGICS]: {Data}")
1010
  logger.info("Plan refinement and block relation analysis completed for all plans.")
1011
  return state
1012
+
1013
+ def node_optimizer(state: GameState):
1014
+ logger.info("--- Running Node Optimizer Node ---")
1015
+ project_json = state["project_json"]
1016
+ raw = state.get("pseudo_code", {})
1017
+ refined_logic_data = raw.get("refined_logic", {})
1018
+ sprite_name = refined_logic_data.get("name_variable", "<unknown>")
1019
+ pseudo = refined_logic_data.get("pseudocode", "")
1020
+ try:
1021
+ refined_logic_data["pseudocode"] = separate_scripts(pseudo)
1022
+ # Step 4: If you want to update the `state` dictionary with the new refined_logic_data
1023
+ state["pseudo_code"]["refined_logic"] = refined_logic_data
1024
+ state["action_plan"] = transform_logic_to_action_flow(state["pseudo_code"])
1025
+ return state
1026
+ except Exception as e:
1027
+ logger.error(f"Error in Node Optimizer Node: {e}")
1028
+
1029
  # Node 2: planner node
1030
  def overall_planner_node(state: GameState):
1031
  """
 
2370
  workflow = StateGraph(GameState)
2371
 
2372
  # Add all nodes to the workflow
2373
+ # workflow.add_node("time_delay_1", delay_for_tpm_node)
2374
+ # workflow.add_node("time_delay_2", delay_for_tpm_node)
2375
+ # workflow.add_node("time_delay_3", delay_for_tpm_node)
2376
  # workflow.add_node("time_delay_4", delay_for_tpm_node)
2377
  workflow.add_node("pseudo_generator", pseudo_generator_node)
2378
+ #workflow.add_node("plan_generator", overall_planner_node)
2379
+ workflow.add_node("Node_optimizer", node_optimizer)
2380
  #workflow.add_node("logic_alignment", plan_logic_aligner_node)
2381
  #workflow.add_node("plan_verifier", plan_verification_node)
2382
+ #workflow.add_node("refined_planner", refined_planner_node) # Refines the action plan
2383
+ #workflow.add_node("opcode_counter", plan_opcode_counter_node)
2384
  workflow.add_node("block_builder", overall_block_builder_node_2)
2385
  workflow.add_node("variable_initializer", variable_adder_node)
2386
  workflow.add_node("page_processed", processed_page_node)
 
2402
  }
2403
  )
2404
  # Main chain
2405
+ # workflow.add_edge("pseudo_generator", "time_delay_1")
2406
+ workflow.add_edge("pseudo_generator", "Node_optimizer")
2407
+ # workflow.add_edge("time_delay_1", "plan_generator")
2408
+ # workflow.add_edge("plan_generator", "time_delay_2")
2409
+ # workflow.add_edge("time_delay_2", "refined_planner")
2410
+ # workflow.add_edge("refined_planner", "time_delay_3")
2411
+ # workflow.add_edge("time_delay_3", "opcode_counter")
2412
+ workflow.add_edge("Node_optimizer", "block_builder")
2413
  workflow.add_edge("block_builder", "variable_initializer")
2414
 
2415
  # After last node, check again