const DEVELOPMENT_RESULT_XSD_SCHEMA: &str = include_str!("../xsd/development_result.xsd");
const PLAN_XSD_SCHEMA: &str = include_str!("../xsd/plan.xsd");
const XSD_RETRY_TMP_DIR: &str = ".agent/tmp";
fn write_planning_xsd_schema_file(workspace: &dyn Workspace) {
let tmp_dir = Path::new(XSD_RETRY_TMP_DIR);
if workspace.create_dir_all(tmp_dir).is_err() {
return;
}
let _ = workspace.write(&tmp_dir.join("plan.xsd"), PLAN_XSD_SCHEMA);
}
fn write_planning_xsd_retry_schema_files(workspace: &dyn Workspace) {
let tmp_dir = Path::new(XSD_RETRY_TMP_DIR);
if workspace.create_dir_all(tmp_dir).is_err() {
return;
}
let _ = workspace.write(&tmp_dir.join("plan.xsd"), PLAN_XSD_SCHEMA);
}
fn write_planning_xsd_retry_files(workspace: &dyn Workspace, last_output: &str) {
write_planning_xsd_retry_schema_files(workspace);
let _ = workspace.write(
&Path::new(XSD_RETRY_TMP_DIR).join("last_output.xml"),
last_output,
);
}
fn write_dev_iteration_xsd_retry_schema_files(workspace: &dyn Workspace) {
let tmp_dir = Path::new(XSD_RETRY_TMP_DIR);
if workspace.create_dir_all(tmp_dir).is_err() {
return;
}
let _ = workspace.write(
&tmp_dir.join("development_result.xsd"),
DEVELOPMENT_RESULT_XSD_SCHEMA,
);
}
fn write_dev_iteration_xsd_retry_files(workspace: &dyn Workspace, last_output: &str) {
write_dev_iteration_xsd_retry_schema_files(workspace);
let _ = workspace.write(
&Path::new(XSD_RETRY_TMP_DIR).join("last_output.xml"),
last_output,
);
}