ForgeCAD / agent_loop.py
KaiWu
refactor: 拆分 agent_loop.py 为 agent_core 包与 cli 入口
105f2e1
"""Backward-compatible entrypoint for the terminal agent.
New code should import from agent_core.* modules directly. This file remains so
existing commands like `python agent_loop.py` keep working.
"""
from agent_core.agent import TOOL_HANDLERS, TOOLS, agent_loop, latest_user_prompt
from agent_core.config import (
DEFAULT_CADQUERY_OUTPUT_PATH,
DEFAULT_LUX3D_OUTPUT_PATH,
IMAGE_SUFFIXES,
LUX3D_API_KEY_ENV,
LUX3D_CREATE_URL,
LUX3D_GET_URL,
LUX3D_POLL_INTERVAL_SECONDS,
LUX3D_TIMEOUT_SECONDS,
STEP_SUFFIXES,
WORKDIR,
get_client,
)
from agent_core.outputs import (
allocate_run_dir,
new_run_id,
resolve_lux3d_run,
resolve_run_output,
safe_path,
update_latest_link,
workspace_relative,
write_lux3d_manifest,
write_manifest,
)
from agent_core.prompts import SYSTEM
from agent_core.tools.cadquery_tool import CADQUERY_RUNNER, run_execute_cadquery
from agent_core.tools.lux3d_tool import (
download_lux3d_result,
image_to_data_url,
infer_lux3d_output_name,
lux3d_create_task,
lux3d_get_task,
lux3d_json_request,
lux3d_query,
parse_lux3d_api_key,
run_generate_3d_model,
validate_image_path,
)
from agent_core.utils import json_response as _json_response
from agent_core.utils import tail_text
from cli import main
if __name__ == "__main__":
main()