gitextract_9yecxdwb/ ├── .claude/ │ └── commands/ │ ├── cuga-commit.md │ ├── cuga-create-pr.md │ ├── cuga-new-feature.md │ ├── cuga-report-bug.md │ └── cuga-ruff-check.md ├── .cra/ │ └── .fileignore ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation-request.yml │ │ ├── feature_request.yml │ │ └── use_case.yml │ ├── PULL_REQUEST_TEMPLATE/ │ │ ├── bugfix.md │ │ ├── chore.md │ │ ├── docs.md │ │ └── feature.md │ └── workflows/ │ ├── deploy-image-ghcr.yml │ ├── deploy-image.yml │ ├── release-pr.yml │ ├── release-tag.yml │ ├── release.yml │ ├── smoke-pip-install.yml │ ├── stability-tests.yml │ └── tests.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── .run/ │ ├── API Registry Appworld.run.xml │ ├── API Registry Demo.run.xml │ ├── App World Eval.run.xml │ └── Cuga Demo.run.xml ├── .secrets.baseline ├── .vscode/ │ ├── launch.json │ └── settings.json ├── .whitesource ├── CONTRIBUTING.md ├── Dockerfile ├── Dockerfile.ubi ├── LICENSE ├── README.md ├── __init__.py ├── deployment/ │ ├── README.md │ ├── certs/ │ │ └── README.md │ ├── deploy-local-postgres.sh │ ├── deploy-local.sh │ ├── docker-compose/ │ │ └── openlit/ │ │ ├── docker-compose.yml │ │ ├── grafana-datasources.yaml │ │ ├── otel-collector-config.yaml │ │ ├── prometheus.yml │ │ └── tempo.yaml │ └── helm/ │ ├── cleanup-openshift.sh │ ├── cuga/ │ │ ├── Chart.yaml │ │ ├── templates/ │ │ │ ├── NOTES.txt │ │ │ ├── _helpers.tpl │ │ │ ├── deployment.yaml │ │ │ ├── pvc.yaml │ │ │ ├── route.yaml │ │ │ └── service.yaml │ │ └── values.yaml │ ├── deploy-openshift.sh │ ├── openshift.example.env │ ├── postgres-pgvector/ │ │ ├── Chart.yaml │ │ ├── README.md │ │ ├── templates/ │ │ │ ├── NOTES.txt │ │ │ ├── _helpers.tpl │ │ │ ├── configmap.yaml │ │ │ ├── deployment.yaml │ │ │ ├── pvc.yaml │ │ │ ├── secret.yaml │ │ │ └── service.yaml │ │ └── values.yaml │ ├── status-openshift.sh │ └── vault/ │ ├── Chart.yaml │ ├── templates/ │ │ └── NOTES.txt │ ├── values.openshift.yaml │ └── values.yaml ├── design.html ├── design.md ├── docs/ │ ├── examples/ │ │ ├── cuga_as_mcp/ │ │ │ ├── .python-version │ │ │ ├── README.md │ │ │ ├── main.py │ │ │ ├── mcp_servers.yaml │ │ │ ├── pyproject.toml │ │ │ └── tools_loader.py │ │ ├── cuga_with_runtime_tools/ │ │ │ ├── .gitignore │ │ │ ├── .python-version │ │ │ ├── README.md │ │ │ ├── fast_mcp_example.py │ │ │ ├── langchain_example_tool.py │ │ │ ├── main.py │ │ │ ├── mcp_servers.yaml │ │ │ └── pyproject.toml │ │ ├── demo_apps/ │ │ │ └── setup/ │ │ │ ├── README.md │ │ │ ├── cli.py │ │ │ └── pyproject.toml │ │ ├── digital_sales_openapi/ │ │ │ └── main.py │ │ ├── evaluation/ │ │ │ ├── input_example.json │ │ │ └── input_schema.json │ │ └── langflow/ │ │ └── CUGA Langflow Demo - Conference Preparation.json │ ├── flags.html │ ├── memory/ │ │ └── README.md │ └── sales_app.html ├── pyproject.toml ├── readme_cuga_lite_kaizen.md ├── ruff.toml ├── run_stability_tests.py ├── scripts/ │ ├── deploy-image.sh │ ├── docker-entrypoint.sh │ └── smoke_pip_install_isolated.sh ├── src/ │ ├── cuga/ │ │ ├── __init__.py │ │ ├── backend/ │ │ │ ├── __init__.py │ │ │ ├── activity_tracker/ │ │ │ │ ├── __init__.py │ │ │ │ ├── join_tool.py │ │ │ │ ├── render_helper.py │ │ │ │ └── tracker.py │ │ │ ├── browser_env/ │ │ │ │ ├── __init__.py │ │ │ │ ├── browser/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── chat_async.py │ │ │ │ │ ├── env.py │ │ │ │ │ ├── extension_env_async.py │ │ │ │ │ ├── gym_env.py │ │ │ │ │ ├── gym_env_async.py │ │ │ │ │ ├── gym_obs/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── extract_chrome_extension.py │ │ │ │ │ │ ├── http_stream_comm.py │ │ │ │ │ │ ├── javascript/ │ │ │ │ │ │ │ ├── frame_mark_elements.js │ │ │ │ │ │ │ └── frame_unmark_elements.js │ │ │ │ │ │ ├── obs.py │ │ │ │ │ │ ├── obs_async.py │ │ │ │ │ │ └── websocket_server.py │ │ │ │ │ ├── open_ended_async.py │ │ │ │ │ ├── utils.py │ │ │ │ │ └── utils_async.py │ │ │ │ ├── page_understanding/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── extension_processor.py │ │ │ │ │ ├── extractor_utils/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── extract_async.py │ │ │ │ │ │ └── javascript/ │ │ │ │ │ │ ├── frame_mark_elements.js │ │ │ │ │ │ └── frame_unmark_elements.js │ │ │ │ │ ├── nocodeui_pu_utils/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── model.py │ │ │ │ │ │ ├── nocode_utils.py │ │ │ │ │ │ └── rules.yaml │ │ │ │ │ ├── pu_extractor.py │ │ │ │ │ ├── pu_extractor_chrome_extension.py │ │ │ │ │ ├── pu_processor.py │ │ │ │ │ ├── pu_transform.py │ │ │ │ │ ├── tranformer_utils/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── dom_transform_utils.py │ │ │ │ │ │ └── transform_utils.py │ │ │ │ │ └── types/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── dom_tree_types.py │ │ │ │ │ └── validate_structure.py │ │ │ │ └── tools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── extension_commands.py │ │ │ │ ├── playwright_commands.py │ │ │ │ └── providers.py │ │ │ ├── cuga_graph/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── graph.py │ │ │ │ ├── nodes/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── answer/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── final_answer.py │ │ │ │ │ │ └── final_answer_agent/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── final_answer_agent.py │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ ├── system_appworld.jinja2 │ │ │ │ │ │ ├── system_appworld_plain.jinja2 │ │ │ │ │ │ ├── system_concise.jinja2 │ │ │ │ │ │ ├── system_long.jinja2 │ │ │ │ │ │ ├── user_msg.jinja2 │ │ │ │ │ │ ├── user_msg_appworld.jinja2 │ │ │ │ │ │ └── user_msg_appworld_plain.jinja2 │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── api_agent_utils/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── utils.py │ │ │ │ │ │ ├── api_code_agent.py │ │ │ │ │ │ ├── api_code_planner.py │ │ │ │ │ │ ├── api_code_planner_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── api_code_planner_agent.py │ │ │ │ │ │ │ ├── api_planner_prompt_v1.md │ │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ │ ├── system.backup.jinja2 │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ ├── system_fast.jinja2 │ │ │ │ │ │ │ ├── system_high_level_no_relation_to_vars.jinja2 │ │ │ │ │ │ │ ├── test.md │ │ │ │ │ │ │ └── user.jinja2 │ │ │ │ │ │ ├── api_planner.py │ │ │ │ │ │ ├── api_planner_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── api_planner_agent.py │ │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ ├── system_hitl.jinja2 │ │ │ │ │ │ │ ├── system_long_task_good.jinja2 │ │ │ │ │ │ │ ├── system_no_few_shots_thoughts_as_list.jinja2 │ │ │ │ │ │ │ ├── system_short.jinja2 │ │ │ │ │ │ │ ├── system_success_on_long_template.jinja2 │ │ │ │ │ │ │ ├── system_v2.jinja2 │ │ │ │ │ │ │ ├── user.jinja2 │ │ │ │ │ │ │ ├── user_hitl.jinja2 │ │ │ │ │ │ │ └── user_v2.jinja2 │ │ │ │ │ │ ├── api_shortlister.py │ │ │ │ │ │ ├── code_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── code_act_agent.py │ │ │ │ │ │ │ ├── code_agent.py │ │ │ │ │ │ │ ├── model.py │ │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ │ ├── system_accurate.jinja2 │ │ │ │ │ │ │ ├── system_fast.jinja2 │ │ │ │ │ │ │ ├── system_no_plan.jinja2 │ │ │ │ │ │ │ ├── user.jinja2 │ │ │ │ │ │ │ └── user_no_plan.jinja2 │ │ │ │ │ │ ├── shortlister_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ │ ├── system_parameters.jinja2 │ │ │ │ │ │ │ │ ├── user.jinja2 │ │ │ │ │ │ │ │ └── user_parameters.jinja2 │ │ │ │ │ │ │ └── shortlister_agent.py │ │ │ │ │ │ ├── tasks/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ │ ├── reflection_system.jinja2 │ │ │ │ │ │ │ │ ├── reflection_user.jinja2 │ │ │ │ │ │ │ │ ├── summary_system.jinja2 │ │ │ │ │ │ │ │ └── summary_user.jinja2 │ │ │ │ │ │ │ ├── reflection.py │ │ │ │ │ │ │ └── summarize_code.py │ │ │ │ │ │ └── variables_manager/ │ │ │ │ │ │ └── tests/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── data.json │ │ │ │ │ │ ├── test_manager.py │ │ │ │ │ │ └── test_value_preview.py │ │ │ │ │ ├── browser/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── action.py │ │ │ │ │ │ ├── action_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── action_agent.py │ │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ │ └── user.jinja2 │ │ │ │ │ │ │ ├── ranker_output.json │ │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── alert.py │ │ │ │ │ │ │ ├── tool_processor.py │ │ │ │ │ │ │ └── tools.py │ │ │ │ │ │ ├── browser_planner.py │ │ │ │ │ │ ├── browser_planner_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── browser_planner_agent.py │ │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ ├── test.json │ │ │ │ │ │ │ └── user.jinja2 │ │ │ │ │ │ ├── qa_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ │ └── user_msg.jinja2 │ │ │ │ │ │ │ └── qa_agent.py │ │ │ │ │ │ └── qa_agent_node.py │ │ │ │ │ ├── chat/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── chat.py │ │ │ │ │ │ └── chat_agent/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── chat_agent.py │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ ├── pmt.jinja2 │ │ │ │ │ │ ├── pmt_chat.jinja2 │ │ │ │ │ │ └── pmt_with_variables_mentioning.jinja2 │ │ │ │ │ ├── cuga_lite/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── combined_tool_provider.py │ │ │ │ │ │ ├── cuga_lite_graph.py │ │ │ │ │ │ ├── cuga_lite_node.py │ │ │ │ │ │ ├── direct_langchain_tools_provider.py │ │ │ │ │ │ ├── executors/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── base_executor.py │ │ │ │ │ │ │ ├── code_executor.py │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── benchmark_mode.py │ │ │ │ │ │ │ │ ├── call_api_helper.py │ │ │ │ │ │ │ │ ├── code_wrapper.py │ │ │ │ │ │ │ │ ├── restricted_environment.py │ │ │ │ │ │ │ │ ├── security.py │ │ │ │ │ │ │ │ └── variable_utils.py │ │ │ │ │ │ │ ├── docker/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ └── docker_executor.py │ │ │ │ │ │ │ ├── e2b/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ └── e2b_executor.py │ │ │ │ │ │ │ ├── local/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ └── local_executor.py │ │ │ │ │ │ │ └── tests/ │ │ │ │ │ │ │ ├── test_api_calls_with_print.py │ │ │ │ │ │ │ ├── test_code_executor.py │ │ │ │ │ │ │ ├── test_e2b_direct.py │ │ │ │ │ │ │ ├── test_e2b_lite.py │ │ │ │ │ │ │ ├── test_extract_codeblocks.py │ │ │ │ │ │ │ ├── test_sync_async_tools.py │ │ │ │ │ │ │ ├── test_tool_call_timeout.py │ │ │ │ │ │ │ └── test_variable_creation_order.py │ │ │ │ │ │ ├── nl_auto_continue_classifier.py │ │ │ │ │ │ ├── prompt_utils.py │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ ├── mcp_prompt.jinja2 │ │ │ │ │ │ │ └── shortlister/ │ │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ │ └── user.jinja2 │ │ │ │ │ │ ├── reflection/ │ │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ │ ├── reflection_system.jinja2 │ │ │ │ │ │ │ │ └── reflection_user.jinja2 │ │ │ │ │ │ │ └── reflection.py │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── test_cuga_lite_graph_evolve_guidelines.py │ │ │ │ │ │ │ ├── test_cuga_lite_node.py │ │ │ │ │ │ │ └── test_tool_call_args.py │ │ │ │ │ │ ├── tool_approval_handler.py │ │ │ │ │ │ ├── tool_call_args.py │ │ │ │ │ │ ├── tool_call_tracker.py │ │ │ │ │ │ ├── tool_provider_interface.py │ │ │ │ │ │ └── tool_registry_provider.py │ │ │ │ │ ├── cuga_supervisor/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── a2a_protocol.py │ │ │ │ │ │ ├── cuga_supervisor_graph.py │ │ │ │ │ │ ├── cuga_supervisor_node.py │ │ │ │ │ │ ├── cuga_supervisor_state.py │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ └── supervisor_lite_prompt.jinja2 │ │ │ │ │ ├── human_in_the_loop/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── followup_model.py │ │ │ │ │ │ ├── suggest_actions.py │ │ │ │ │ │ └── wait_for_response.py │ │ │ │ │ ├── save_reuse/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── save_reuse_agent/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ │ ├── explainbility.jinja2 │ │ │ │ │ │ │ │ ├── explainbility_user.jinja2 │ │ │ │ │ │ │ │ ├── save_reuse.jinja2 │ │ │ │ │ │ │ │ └── save_reuse_user.jinja2 │ │ │ │ │ │ │ ├── reuse_agent.py │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── export_mcp.py │ │ │ │ │ │ │ └── save_reuse.py │ │ │ │ │ │ └── save_reuse_node.py │ │ │ │ │ ├── shared/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base_agent.py │ │ │ │ │ │ ├── base_node.py │ │ │ │ │ │ ├── interrupt_tool_node.py │ │ │ │ │ │ └── location_solver.py │ │ │ │ │ └── task_decomposition_planning/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── analyze_task.py │ │ │ │ │ ├── location_resolver_agent/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── google_search_agent.py │ │ │ │ │ │ └── location_resolver_agent.py │ │ │ │ │ ├── plan_controller.py │ │ │ │ │ ├── plan_controller_agent/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── plan_controller_agent.py │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── example.json │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ └── user.jinja2 │ │ │ │ │ ├── task_analyzer_agent/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── load_prompt.py │ │ │ │ │ │ ├── task_analyzer_agent.py │ │ │ │ │ │ └── tasks/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── app_matcher.py │ │ │ │ │ │ ├── classify_task.py │ │ │ │ │ │ ├── navigation_paths_task.py │ │ │ │ │ │ ├── paraphrase.py │ │ │ │ │ │ └── prompts/ │ │ │ │ │ │ ├── app_matcher_system.jinja2 │ │ │ │ │ │ ├── app_matcher_user.jinja2 │ │ │ │ │ │ ├── classify_task_system.jinja2 │ │ │ │ │ │ ├── classify_task_user.jinja2 │ │ │ │ │ │ ├── navigation_paths_system.jinja2 │ │ │ │ │ │ ├── navigation_paths_user.jinja2 │ │ │ │ │ │ ├── paraphrase_system.jinja2 │ │ │ │ │ │ ├── paraphrase_user.jinja2 │ │ │ │ │ │ └── sitemap_gitlab.json │ │ │ │ │ ├── task_decomposition.py │ │ │ │ │ └── task_decomposition_agent/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── load_prompt.py │ │ │ │ │ │ ├── system.jinja2 │ │ │ │ │ │ ├── system_multi.jinja2 │ │ │ │ │ │ ├── user_msg.jinja2 │ │ │ │ │ │ └── user_multi.jinja2 │ │ │ │ │ ├── prompts_experiments/ │ │ │ │ │ │ ├── HighLevelPrompt.jinja │ │ │ │ │ │ ├── Prompt.jinja │ │ │ │ │ │ ├── Task Decomposition prompt json.jinja │ │ │ │ │ │ ├── Task Decomposition prompt.jinja │ │ │ │ │ │ ├── Task Decomposition prompts.txt │ │ │ │ │ │ ├── Tests_Azure_4o-mini.txt │ │ │ │ │ │ └── Tests_Azure_4o.txt │ │ │ │ │ └── task_decomposition_agent.py │ │ │ │ ├── policy/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agent.py │ │ │ │ │ ├── cli.py │ │ │ │ │ ├── configurable.py │ │ │ │ │ ├── enactment.py │ │ │ │ │ ├── examples.py │ │ │ │ │ ├── filesystem_sync.py │ │ │ │ │ ├── folder_loader.py │ │ │ │ │ ├── models.py │ │ │ │ │ ├── output_formatter_utils.py │ │ │ │ │ ├── storage.py │ │ │ │ │ ├── tests/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── helpers.py │ │ │ │ │ │ ├── test_e2e_healthcare_family_claims.py │ │ │ │ │ │ ├── test_e2e_intent_guard.py │ │ │ │ │ │ ├── test_e2e_intent_guard_priority.py │ │ │ │ │ │ ├── test_e2e_output_formatter.py │ │ │ │ │ │ ├── test_e2e_playbook_guidance.py │ │ │ │ │ │ ├── test_e2e_playbook_refinement.py │ │ │ │ │ │ ├── test_e2e_tool_enrichment.py │ │ │ │ │ │ ├── test_filesystem_sync.py │ │ │ │ │ │ ├── test_keyword_operator.py │ │ │ │ │ │ ├── test_nl_trigger_conflict_resolution.py │ │ │ │ │ │ ├── test_similarity_integration.py │ │ │ │ │ │ ├── test_tool_approval_full_graph.py │ │ │ │ │ │ └── test_utils.py │ │ │ │ │ └── utils.py │ │ │ │ ├── state/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agent_state.py │ │ │ │ │ └── api_planner_history.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── agent_loop.py │ │ │ │ ├── context_management_utils.py │ │ │ │ ├── context_summarizer.py │ │ │ │ ├── controller.py │ │ │ │ ├── event_porcessors/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── action_agent_event_processor.py │ │ │ │ ├── message_utils.py │ │ │ │ ├── nodes_names.py │ │ │ │ └── token_counter.py │ │ │ ├── evolve/ │ │ │ │ ├── __init__.py │ │ │ │ ├── integration.py │ │ │ │ └── tests/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_integration.py │ │ │ │ └── test_launch_config.py │ │ │ ├── knowledge/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth.py │ │ │ │ ├── awareness.py │ │ │ │ ├── client.py │ │ │ │ ├── config.py │ │ │ │ ├── engine.py │ │ │ │ ├── interprocess_lock.py │ │ │ │ ├── mcp_server.py │ │ │ │ ├── metadata/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── postgres_store.py │ │ │ │ │ └── sqlite_store.py │ │ │ │ ├── routes.py │ │ │ │ ├── session_provider.py │ │ │ │ ├── shopping_admin/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── sitemap.txt │ │ │ │ │ ├── sitemap_js.txt │ │ │ │ │ └── sitemap_md.txt │ │ │ │ ├── storage/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── adapter.py │ │ │ │ │ ├── local.py │ │ │ │ │ ├── prod.py │ │ │ │ │ └── schema.py │ │ │ │ ├── vector_store.py │ │ │ │ └── vector_store_base.py │ │ │ ├── llm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── config.py │ │ │ │ ├── errors.py │ │ │ │ ├── models.py │ │ │ │ ├── rits/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── chat_rits_llm.py │ │ │ │ │ └── rits_llm.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ └── helpers.py │ │ │ ├── observability/ │ │ │ │ ├── __init__.py │ │ │ │ └── openlit_init.py │ │ │ ├── secrets/ │ │ │ │ ├── __init__.py │ │ │ │ ├── backends/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── aws_backend.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── db_backend.py │ │ │ │ │ ├── env_backend.py │ │ │ │ │ └── vault_backend.py │ │ │ │ ├── models.py │ │ │ │ ├── secret_resolver.py │ │ │ │ └── seed.py │ │ │ ├── server/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── dependencies.py │ │ │ │ │ ├── issuer_allowlist.py │ │ │ │ │ ├── jwt_validator.py │ │ │ │ │ ├── models.py │ │ │ │ │ └── oidc_client.py │ │ │ │ ├── config_store.py │ │ │ │ ├── conversation_history.py │ │ │ │ ├── debug_server.py │ │ │ │ ├── demo_manage_setup.py │ │ │ │ ├── demo_setup_utils/ │ │ │ │ │ └── oak_policies.json │ │ │ │ ├── event_stream_handler.py │ │ │ │ ├── main.py │ │ │ │ ├── manage_routes.py │ │ │ │ ├── managed_mcp.py │ │ │ │ ├── mcp_servers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── cuga.py │ │ │ │ │ └── tests/ │ │ │ │ │ └── __init__.py │ │ │ │ ├── secrets_routes.py │ │ │ │ └── server-manager.sh │ │ │ ├── storage/ │ │ │ │ ├── __init__.py │ │ │ │ ├── embedding/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── embedding_service.py │ │ │ │ │ ├── local.py │ │ │ │ │ └── prod.py │ │ │ │ ├── facade.py │ │ │ │ ├── policy/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── local.py │ │ │ │ │ └── prod.py │ │ │ │ ├── relational/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── local.py │ │ │ │ │ └── prod.py │ │ │ │ └── secrets_store.py │ │ │ ├── tools_env/ │ │ │ │ ├── __init__.py │ │ │ │ ├── code_sandbox/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── e2b_sandbox.py │ │ │ │ │ ├── sandbox.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_sandbox.py │ │ │ │ └── registry/ │ │ │ │ ├── QUICKSTART.md │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── config/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── config_loader.py │ │ │ │ │ ├── mcp_servers.yaml │ │ │ │ │ ├── mcp_servers_appworld.yaml │ │ │ │ │ ├── mcp_servers_crm.yaml │ │ │ │ │ ├── mcp_servers_hf.yaml │ │ │ │ │ ├── mcp_servers_wxo.yaml │ │ │ │ │ └── supervisor_demo_crm.yaml │ │ │ │ ├── example_api_servers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── petstore.py │ │ │ │ ├── mcp_manager/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── adapter.py │ │ │ │ │ ├── mcp_manager.py │ │ │ │ │ ├── openapi_parser.py │ │ │ │ │ ├── openapi_parser_v0.py │ │ │ │ │ ├── openapi_parser_v1.py │ │ │ │ │ ├── response_schema.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_api_response.py │ │ │ │ │ ├── test_array_handling.py │ │ │ │ │ └── test_path_ext.py │ │ │ │ ├── registry/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── api_registry.py │ │ │ │ │ ├── api_registry_server.py │ │ │ │ │ ├── authentication/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── appworld_auth_manager.py │ │ │ │ │ │ └── base_auth_manager.py │ │ │ │ │ └── test_naming_strategy_e2e.py │ │ │ │ ├── tests/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── mcp_servers_test.yaml │ │ │ │ │ ├── data/ │ │ │ │ │ │ └── schemas/ │ │ │ │ │ │ └── openapi_nested.yaml │ │ │ │ │ ├── e2e_helpers.py │ │ │ │ │ ├── output_schema_server.py │ │ │ │ │ ├── run_all_tests.py │ │ │ │ │ ├── test_agent_registry_loading.py │ │ │ │ │ ├── test_api_registry_error_handling.py │ │ │ │ │ ├── test_auth/ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── auth_server.py │ │ │ │ │ │ ├── mcp_servers_auth_test.yaml │ │ │ │ │ │ ├── test_apply_authentication.py │ │ │ │ │ │ └── test_auth_e2e.py │ │ │ │ │ ├── test_e2e_api_registry.py │ │ │ │ │ ├── test_enum_handling.py │ │ │ │ │ ├── test_legacy_openapi.py │ │ │ │ │ ├── test_mcp_server.py │ │ │ │ │ ├── test_mixed_configuration.py │ │ │ │ │ └── test_output_schema.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── api_utils.py │ │ │ │ └── types.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── code_generator.py │ │ │ ├── consts.py │ │ │ ├── file_utils.py │ │ │ └── id_utils.py │ │ ├── cli/ │ │ │ ├── __init__.py │ │ │ ├── app_manager.py │ │ │ └── main.py │ │ ├── config.py │ │ ├── configurations/ │ │ │ ├── instructions/ │ │ │ │ ├── default/ │ │ │ │ │ ├── answer.md │ │ │ │ │ ├── api_code_planner.md │ │ │ │ │ ├── api_planner.md │ │ │ │ │ ├── code_agent.md │ │ │ │ │ ├── plan_controller.md │ │ │ │ │ ├── reflection.md │ │ │ │ │ ├── shortlister.md │ │ │ │ │ └── task_decomposition.md │ │ │ │ └── instructions.toml │ │ │ ├── instructions_manager.py │ │ │ ├── knowledge/ │ │ │ │ ├── knowledge_instructions.md │ │ │ │ ├── knowledge_profiles/ │ │ │ │ │ ├── balanced.toml │ │ │ │ │ ├── max_quality.toml │ │ │ │ │ ├── speed.toml │ │ │ │ │ └── standard.toml │ │ │ │ └── knowledge_settings.toml │ │ │ ├── memory/ │ │ │ │ ├── memory_settings.mem0.toml │ │ │ │ ├── memory_settings.milvus.toml │ │ │ │ └── memory_settings.tips_extractor.toml │ │ │ ├── models/ │ │ │ │ ├── settings.azure.toml │ │ │ │ ├── settings.google.toml │ │ │ │ ├── settings.groq.toml │ │ │ │ ├── settings.litellm.toml │ │ │ │ ├── settings.openai.toml │ │ │ │ ├── settings.openrouter.toml │ │ │ │ ├── settings.rits.toml │ │ │ │ └── settings.watsonx.toml │ │ │ ├── modes/ │ │ │ │ ├── accurate.toml │ │ │ │ ├── balanced.toml │ │ │ │ ├── custom.toml │ │ │ │ ├── fast.toml │ │ │ │ └── save_reuse_fast.toml │ │ │ └── set_from_one_file.py │ │ ├── demo_tools/ │ │ │ ├── __init__.py │ │ │ ├── crm/ │ │ │ │ ├── .gitignore │ │ │ │ ├── LICENSE │ │ │ │ ├── MANIFEST.in │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── crm_api/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── accounts.py │ │ │ │ │ ├── contacts.py │ │ │ │ │ ├── crud.py │ │ │ │ │ ├── database.py │ │ │ │ │ ├── leads.py │ │ │ │ │ ├── main.py │ │ │ │ │ ├── opportunities.py │ │ │ │ │ ├── run_all.py │ │ │ │ │ ├── schemas.py │ │ │ │ │ ├── seed_data.py │ │ │ │ │ └── wrap_as_mcp.py │ │ │ │ ├── pytest.ini │ │ │ │ ├── run.py │ │ │ │ ├── run_tests.py │ │ │ │ ├── tests/ │ │ │ │ │ ├── conftest.py │ │ │ │ │ ├── test_contacts.py │ │ │ │ │ └── test_workspace_workflow.py │ │ │ │ └── wrap_as_mcp.py │ │ │ ├── docs_mcp/ │ │ │ │ └── docs_mcp_server.py │ │ │ ├── email_mcp/ │ │ │ │ ├── mail_sink/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ └── server.py │ │ │ │ └── mcp_server/ │ │ │ │ ├── server.py │ │ │ │ └── utils.py │ │ │ ├── file_system/ │ │ │ │ └── main.py │ │ │ ├── health/ │ │ │ │ └── README.md │ │ │ └── huggingface/ │ │ │ ├── contacts.txt │ │ │ ├── cuga_knowledge.md │ │ │ ├── cuga_playbook.md │ │ │ └── email_template.md │ │ ├── evaluation/ │ │ │ ├── README.md │ │ │ ├── calculate_test_score.py │ │ │ ├── evaluate_cuga.py │ │ │ └── langfuse/ │ │ │ └── get_langfuse_data.py │ │ ├── frontend/ │ │ │ └── dist/ │ │ │ ├── background.js │ │ │ ├── index.html │ │ │ ├── main.fbff5b207d7495606137.js │ │ │ ├── manifest.json │ │ │ ├── tailwind.js │ │ │ └── vendors.89d8d26b14ea275079ad.js │ │ ├── sdk.py │ │ ├── sdk_core/ │ │ │ └── tests/ │ │ │ ├── conversation_messages.json │ │ │ ├── fixtures/ │ │ │ │ └── supervisor_config.yaml │ │ │ ├── policies-export-2025-12-31.json │ │ │ ├── test_context_summarization_sdk.py │ │ │ ├── test_policy_loading_and_matching.py │ │ │ ├── test_policy_reset_and_reload.py │ │ │ ├── test_sdk_integration.py │ │ │ ├── test_sdk_policies.py │ │ │ ├── test_supervisor_advanced.py │ │ │ └── test_supervisor_yaml_config.py │ │ ├── settings.toml │ │ └── supervisor_utils/ │ │ ├── __init__.py │ │ └── supervisor_config.py │ ├── frontend_workspaces/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── __init__.py │ │ ├── agentic_chat/ │ │ │ ├── global.d.ts │ │ │ ├── package.json │ │ │ ├── public/ │ │ │ │ └── fake_data.json │ │ │ ├── src/ │ │ │ │ ├── AdvancedTourButton.css │ │ │ │ ├── AdvancedTourButton.tsx │ │ │ │ ├── AgentBehaviorConfig.tsx │ │ │ │ ├── AgentHumanConfig.tsx │ │ │ │ ├── App.tsx │ │ │ │ ├── AppLayout.css │ │ │ │ ├── CardManager.css │ │ │ │ ├── CardManager.tsx │ │ │ │ ├── ConfigHeader.css │ │ │ │ ├── ConfigHeader.tsx │ │ │ │ ├── ConfigModal.css │ │ │ │ ├── CugaHeader.tsx │ │ │ │ ├── CustomChat.css │ │ │ │ ├── CustomChat.tsx │ │ │ │ ├── CustomResponseStyles.css │ │ │ │ ├── DebugPanel.css │ │ │ │ ├── DebugPanel.tsx │ │ │ │ ├── FileAutocomplete.css │ │ │ │ ├── FileAutocomplete.tsx │ │ │ │ ├── Followup.tsx │ │ │ │ ├── FollowupSuggestions.css │ │ │ │ ├── FollowupSuggestions.tsx │ │ │ │ ├── GuidedTour.css │ │ │ │ ├── GuidedTour.tsx │ │ │ │ ├── KnowledgeConfig.tsx │ │ │ │ ├── KnowledgePanel.tsx │ │ │ │ ├── KnowledgeSidePanel.css │ │ │ │ ├── KnowledgeSidePanel.tsx │ │ │ │ ├── LeftSidebar.css │ │ │ │ ├── LeftSidebar.tsx │ │ │ │ ├── MemoryConfig.tsx │ │ │ │ ├── ModelConfig.tsx │ │ │ │ ├── PoliciesConfig.tsx │ │ │ │ ├── PolicyBlockComponent.css │ │ │ │ ├── PolicyBlockComponent.tsx │ │ │ │ ├── PolicyPlaybookComponent.css │ │ │ │ ├── PolicyPlaybookComponent.tsx │ │ │ │ ├── SessionAttachments.tsx │ │ │ │ ├── StatusBar.css │ │ │ │ ├── StatusBar.tsx │ │ │ │ ├── StreamManager.tsx │ │ │ │ ├── StreamingManager.ts │ │ │ │ ├── StreamingWorkflow.ts │ │ │ │ ├── SubAgentsConfig.tsx │ │ │ │ ├── ToolReview.tsx │ │ │ │ ├── ToolsConfig.tsx │ │ │ │ ├── VariablePopup.css │ │ │ │ ├── VariablePopup.tsx │ │ │ │ ├── VariablesSidebar.css │ │ │ │ ├── VariablesSidebar.tsx │ │ │ │ ├── WorkspacePanel.css │ │ │ │ ├── WorkspacePanel.tsx │ │ │ │ ├── WriteableElementExample.css │ │ │ │ ├── action_agent.tsx │ │ │ │ ├── action_status_component.tsx │ │ │ │ ├── app_analyzer_component.tsx │ │ │ │ ├── coder_agent_output.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── customSendMessage.ts │ │ │ │ ├── exampleUtterances.ts │ │ │ │ ├── final_answer_component.tsx │ │ │ │ ├── floating/ │ │ │ │ │ └── stop_button.tsx │ │ │ │ ├── generic_component.tsx │ │ │ │ ├── mockApi.ts │ │ │ │ ├── qa_agent.tsx │ │ │ │ ├── renderUserDefinedResponse.tsx │ │ │ │ ├── shortlister.tsx │ │ │ │ ├── task_decomposition.tsx │ │ │ │ ├── task_status_component.tsx │ │ │ │ ├── useTour.ts │ │ │ │ ├── useWorkspaceTree.ts │ │ │ │ ├── uuid.ts │ │ │ │ ├── workspaceService.ts │ │ │ │ └── workspaceThrottle.ts │ │ │ ├── tsconfig.app.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── extension/ │ │ │ ├── .editorconfig │ │ │ ├── .gitignore │ │ │ ├── constants.ts │ │ │ ├── package.json │ │ │ ├── playwright.config.ts │ │ │ ├── readme.md │ │ │ ├── releases/ │ │ │ │ └── chrome-mv3/ │ │ │ │ ├── assets/ │ │ │ │ │ └── sidepanel-Bm0DOHi9.css │ │ │ │ ├── background.js │ │ │ │ ├── chunks/ │ │ │ │ │ ├── DailyMotion-Mu-1s4ir.js │ │ │ │ │ ├── Facebook-CbG0_jez.js │ │ │ │ │ ├── FilePlayer-CYjbWbG8.js │ │ │ │ │ ├── Kaltura-BDM2l5do.js │ │ │ │ │ ├── Mixcloud-jUDy-IoK.js │ │ │ │ │ ├── Mux-BSWrBpZP.js │ │ │ │ │ ├── Preview-of7xUcD9.js │ │ │ │ │ ├── SoundCloud-C1q3o5ey.js │ │ │ │ │ ├── Streamable-BsCvFyja.js │ │ │ │ │ ├── Twitch-K5Lc2N4C.js │ │ │ │ │ ├── Vidyard-N6MhfVze.js │ │ │ │ │ ├── Vimeo-C2ru3W0B.js │ │ │ │ │ ├── Wistia-DBD0XvkL.js │ │ │ │ │ ├── YouTube-8naRW_9O.js │ │ │ │ │ ├── ar-BqPjhJxT.js │ │ │ │ │ ├── ar-dz-DyZwJqCp.js │ │ │ │ │ ├── ar-kw-0W-ym3nk.js │ │ │ │ │ ├── ar-ly-1r7VuSmV.js │ │ │ │ │ ├── ar-ma-C8a5fRTZ.js │ │ │ │ │ ├── ar-sa-LX3Zlta0.js │ │ │ │ │ ├── ar-tn-9PwKM2NI.js │ │ │ │ │ ├── chat.export-Civ2zEoT.js │ │ │ │ │ ├── chat.export.carbon-x9hVoQbk.js │ │ │ │ │ ├── common-D6sVSfnG.js │ │ │ │ │ ├── cs-C9atpGa0.js │ │ │ │ │ ├── de-DTzGRoiG.js │ │ │ │ │ ├── de-at-DM5xnk44.js │ │ │ │ │ ├── de-ch-C9PZsiWh.js │ │ │ │ │ ├── en-au-DKKQ7o_a.js │ │ │ │ │ ├── en-ca-Bsp7ASfx.js │ │ │ │ │ ├── en-gb-BZNi8AbR.js │ │ │ │ │ ├── en-ie-DvDRqUel.js │ │ │ │ │ ├── en-il-DPvmOO-u.js │ │ │ │ │ ├── en-nz-CLOrpKu9.js │ │ │ │ │ ├── es-_25F1VNE.js │ │ │ │ │ ├── es-do-3T87tC4C.js │ │ │ │ │ ├── es-us-BfRgSno2.js │ │ │ │ │ ├── fr-C2PP_RDY.js │ │ │ │ │ ├── fr-ca-l2g_8cqb.js │ │ │ │ │ ├── fr-ch-Cj9LWtf4.js │ │ │ │ │ ├── index-7KKzZJbI.js │ │ │ │ │ ├── index-B9FHQ1q8.js │ │ │ │ │ ├── index-aSW4scoW.js │ │ │ │ │ ├── it-BmAWTxOq.js │ │ │ │ │ ├── it-ch-CqrZ_w7Y.js │ │ │ │ │ ├── ja-bDUE5UJb.js │ │ │ │ │ ├── ko-BS2Hu1tA.js │ │ │ │ │ ├── nl-Bgmo7MMX.js │ │ │ │ │ ├── pt-DwX7O4_L.js │ │ │ │ │ ├── pt-br-Gzdc6c2B.js │ │ │ │ │ ├── sidepanel-DjwwbR2c.js │ │ │ │ │ ├── swiper-react-1kjVGWrh.js │ │ │ │ │ ├── sync-D0xm7If2.js │ │ │ │ │ ├── utils-D71RtZIR.js │ │ │ │ │ ├── zh-cn-BoLpJCZk.js │ │ │ │ │ └── zh-tw-Ck9WD2i8.js │ │ │ │ ├── content-scripts/ │ │ │ │ │ └── content.js │ │ │ │ ├── fonts/ │ │ │ │ │ └── IBM-Plex-Sans/ │ │ │ │ │ └── fonts/ │ │ │ │ │ ├── complete/ │ │ │ │ │ │ ├── woff/ │ │ │ │ │ │ │ └── license.txt │ │ │ │ │ │ └── woff2/ │ │ │ │ │ │ └── license.txt │ │ │ │ │ └── split/ │ │ │ │ │ ├── woff/ │ │ │ │ │ │ ├── IBMPlexSans-Bold.css │ │ │ │ │ │ ├── IBMPlexSans-BoldItalic.css │ │ │ │ │ │ ├── IBMPlexSans-ExtraLight.css │ │ │ │ │ │ ├── IBMPlexSans-ExtraLightItalic.css │ │ │ │ │ │ ├── IBMPlexSans-Italic.css │ │ │ │ │ │ ├── IBMPlexSans-Light.css │ │ │ │ │ │ ├── IBMPlexSans-LightItalic.css │ │ │ │ │ │ ├── IBMPlexSans-Medium.css │ │ │ │ │ │ ├── IBMPlexSans-MediumItalic.css │ │ │ │ │ │ ├── IBMPlexSans-Regular.css │ │ │ │ │ │ ├── IBMPlexSans-SemiBold.css │ │ │ │ │ │ ├── IBMPlexSans-SemiBoldItalic.css │ │ │ │ │ │ ├── IBMPlexSans-Text.css │ │ │ │ │ │ ├── IBMPlexSans-TextItalic.css │ │ │ │ │ │ ├── IBMPlexSans-Thin.css │ │ │ │ │ │ ├── IBMPlexSans-ThinItalic.css │ │ │ │ │ │ └── license.txt │ │ │ │ │ └── woff2/ │ │ │ │ │ ├── IBMPlexSans-Bold.css │ │ │ │ │ ├── IBMPlexSans-BoldItalic.css │ │ │ │ │ ├── IBMPlexSans-ExtraLight.css │ │ │ │ │ ├── IBMPlexSans-ExtraLightItalic.css │ │ │ │ │ ├── IBMPlexSans-Italic.css │ │ │ │ │ ├── IBMPlexSans-Light.css │ │ │ │ │ ├── IBMPlexSans-LightItalic.css │ │ │ │ │ ├── IBMPlexSans-Medium.css │ │ │ │ │ ├── IBMPlexSans-MediumItalic.css │ │ │ │ │ ├── IBMPlexSans-Regular.css │ │ │ │ │ ├── IBMPlexSans-SemiBold.css │ │ │ │ │ ├── IBMPlexSans-SemiBoldItalic.css │ │ │ │ │ ├── IBMPlexSans-Text.css │ │ │ │ │ ├── IBMPlexSans-TextItalic.css │ │ │ │ │ ├── IBMPlexSans-Thin.css │ │ │ │ │ ├── IBMPlexSans-ThinItalic.css │ │ │ │ │ └── license.txt │ │ │ │ ├── manifest.json │ │ │ │ └── sidepanel.html │ │ │ ├── src/ │ │ │ │ ├── content/ │ │ │ │ │ ├── frame.mark.elements.ts │ │ │ │ │ ├── page_analysis/ │ │ │ │ │ │ ├── CachedXPathBuilder.ts │ │ │ │ │ │ ├── DomCache.ts │ │ │ │ │ │ ├── DomTree.ts │ │ │ │ │ │ ├── ElementHighlighter.ts │ │ │ │ │ │ ├── NodeElementCollector.ts │ │ │ │ │ │ ├── NodeHelper.ts │ │ │ │ │ │ ├── PageHighlighter.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── dom_tree_module.ts │ │ │ │ │ │ └── types.d.ts │ │ │ │ │ └── worker.connection.ts │ │ │ │ ├── entrypoints/ │ │ │ │ │ ├── background.ts │ │ │ │ │ ├── content.tsx │ │ │ │ │ └── sidepanel/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── sidepanel.css │ │ │ │ │ ├── sidepanel.tsx │ │ │ │ │ └── tailwind.js │ │ │ │ ├── functions.ts │ │ │ │ ├── manifest.chrome.json │ │ │ │ ├── manifest.firefox.json │ │ │ │ ├── symbol.dispose.polyfill.js │ │ │ │ ├── vite-env.d.ts │ │ │ │ └── worker/ │ │ │ │ ├── http.stream.module.ts │ │ │ │ ├── index.ts │ │ │ │ └── sidepanel.module.ts │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ ├── vite.config.ts │ │ │ └── wxt.config.ts │ │ ├── frontend/ │ │ │ ├── .babelrc │ │ │ ├── OPTIMIZATION_SUMMARY.md │ │ │ ├── analyze-bundle.sh │ │ │ ├── build.sh │ │ │ ├── electron_loader/ │ │ │ │ ├── main.js │ │ │ │ └── preload.js │ │ │ ├── index.html │ │ │ ├── main.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── AddToolModal.css │ │ │ │ ├── AddToolModal.tsx │ │ │ │ ├── App.tsx │ │ │ │ ├── AuthContext.tsx │ │ │ │ ├── ChatLanding.css │ │ │ │ ├── ChatLanding.tsx │ │ │ │ ├── ConfigHeader.tsx │ │ │ │ ├── CugaHeader.css │ │ │ │ ├── CugaHeader.tsx │ │ │ │ ├── ManageDashboard.css │ │ │ │ ├── ManageDashboard.tsx │ │ │ │ ├── ManagePage.css │ │ │ │ ├── ManagePage.tsx │ │ │ │ ├── SecretsManager.tsx │ │ │ │ ├── ToolsConfig.css │ │ │ │ ├── ToolsConfig.tsx │ │ │ │ ├── UnauthorizedPage.tsx │ │ │ │ ├── api.ts │ │ │ │ ├── auth.ts │ │ │ │ ├── carbon-chat/ │ │ │ │ │ ├── CarbonChat.css │ │ │ │ │ ├── CarbonChat.tsx │ │ │ │ │ ├── README.md │ │ │ │ │ ├── carbonChatHelpers.ts │ │ │ │ │ ├── customLoadHistory.ts │ │ │ │ │ ├── customSendMessage.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── scenarios.ts │ │ │ │ ├── carbon.scss │ │ │ │ ├── global.css │ │ │ │ ├── knowledge/ │ │ │ │ │ └── useSessionKnowledgeAttachments.ts │ │ │ │ └── types/ │ │ │ │ └── tools.ts │ │ │ ├── static/ │ │ │ │ ├── background.js │ │ │ │ ├── fake_data.json │ │ │ │ ├── manifest.json │ │ │ │ └── tailwind.js │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── package.json │ │ ├── pnpm-workspace.yaml │ │ ├── runtime/ │ │ │ ├── .eslintrc │ │ │ ├── .gitignore │ │ │ ├── commands.ts │ │ │ ├── functions.ts │ │ │ ├── index.ts │ │ │ ├── package.json │ │ │ ├── responses.ts │ │ │ └── tsconfig.json │ │ └── shared/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── constants/ │ │ │ │ ├── constants.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── types/ │ │ │ │ ├── index.ts │ │ │ │ └── sidepanel.ts │ │ │ └── utils/ │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── scripts/ │ │ ├── __init__.py │ │ ├── build_embedded.py │ │ ├── build_standalone.py │ │ ├── commands.py │ │ ├── create_e2b_template.py │ │ ├── draw_graph.py │ │ ├── embed_assets.py │ │ ├── graph_visualization/ │ │ │ ├── graph.html │ │ │ └── graph.json │ │ ├── preload_models.py │ │ ├── push-to-hf.sh │ │ ├── run_e2b_test.py │ │ ├── run_tests.sh │ │ └── test_e2b_ngrok.py │ └── system_tests/ │ ├── e2e/ │ │ ├── accurate_test.py │ │ ├── balanced_test.py │ │ ├── base_crm_test.py │ │ ├── base_test.py │ │ ├── calculator_tool.py │ │ ├── config/ │ │ │ ├── mcp_servers.yaml │ │ │ ├── mcp_servers_crm.yaml │ │ │ └── mcp_servers_crm_hf.yaml │ │ ├── conftest.py │ │ ├── crm_contacts_email_balanced_test.py │ │ ├── crm_contacts_email_test.py │ │ ├── crm_contacts_email_test_find_tools.py │ │ ├── crm_followup_test.py │ │ ├── crm_hf_utterances_test.py │ │ ├── digital_sales_test_helpers.py │ │ ├── fast_test.py │ │ ├── load_test.py │ │ ├── run_registry.sh │ │ ├── save_reuse_test.py │ │ ├── stability_test_config.toml │ │ ├── test_context_summarization_e2e.py │ │ └── test_long_output.py │ ├── profiling/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── QUICK_START.md │ │ ├── README.md │ │ ├── bin/ │ │ │ ├── profile_digital_sales_tasks.py │ │ │ ├── run_experiment.sh │ │ │ └── run_profiling.sh │ │ ├── config/ │ │ │ ├── default_experiment.yaml │ │ │ ├── env_variables_example.yaml │ │ │ ├── fast_vs_accurate.yaml │ │ │ ├── full_matrix_comparison.yaml │ │ │ └── providers_comparison.yaml │ │ ├── experiments/ │ │ │ └── comparison.html │ │ ├── run_experiment.sh │ │ └── serve.sh │ └── unit/ │ ├── __init__.py │ └── test_sandbox_local.py ├── tests/ │ ├── integration/ │ │ ├── __init__.py │ │ ├── test_context_summarization.py │ │ ├── test_knowledge_integration.py │ │ ├── test_llm_config_publish.py │ │ └── test_tool_call_tracking.py │ ├── system/ │ │ ├── README.md │ │ └── test_manager_api_integration.py │ ├── test_agent_tools_api.py │ ├── test_conversation_history.py │ ├── test_variables_manager_langgraph.py │ ├── test_variables_manager_with_state.py │ └── unit/ │ ├── test_chat_agent_knowledge_toggle.py │ ├── test_chat_knowledge_mode.py │ ├── test_context_summarizer.py │ ├── test_cuga_lite_knowledge_scopes.py │ ├── test_find_tools_exception.py │ ├── test_knowledge_engine.py │ ├── test_knowledge_manage_gate.py │ ├── test_knowledge_routes.py │ ├── test_knowledge_storage_vector.py │ ├── test_llm_override.py │ ├── test_manage_publish_sync.py │ ├── test_plan_controller_prompt.py │ ├── test_session_knowledge.py │ ├── test_token_counter.py │ └── test_tool_use_failed_recovery.py └── todos.md