refactor: Extract promptinclude format to fw prompt template

linuztx committed Mar 13, 2026 at 23:17 UTC 8ec8d785a7dffd3c64ade720cf0baca122cc6651
2 files changed +16 -14
plugins/_promptinclude/extensions/python/system_prompt/_16_promptinclude.py
+12 -14
@@ -45,7 +45,7 @@ class PromptInclude(Extension):
45 system_prompt.append(prompt)
46 return
47
48 - includes = _format_includes(result)
48 + includes = _format_includes(self.agent, result)
49 prompt = self.agent.read_prompt(
50 "agent.system.promptinclude.md",
51 name_pattern=name_pattern,
@@ -64,24 +64,22 @@ def _resolve_workdir(agent: Agent) -> str:
64 return get_settings()["workdir_path"]
65
66
67 -def _format_includes(result: ScanResult) -> str:
67 +def _format_includes(agent: Agent, result: ScanResult) -> str:
68 lines: list[str] = []
69
70 for entry in result["files"]:
71 - path = entry["path"]
72 - status = entry["status"]
73 - content = entry["content"]
74 -
75 - if status == "skipped":
76 - lines.append(f"{path} !!! skipped to fit")
71 + if entry["status"] == "skipped":
72 + lines.append(f"{entry['path']} !!! skipped to fit")
73 continue
74
79 - suffix = " !!! cropped to fit" if status == "cropped" else ""
80 - lines.append(f"{path}{suffix}")
81 - lines.append("```")
82 - lines.append(content)
83 - lines.append("```")
84 - lines.append("")
75 + suffix = " !!! cropped to fit" if entry["status"] == "cropped" else ""
76 + block = agent.read_prompt(
77 + "fw.promptinclude.includes.md",
78 + path=entry["path"],
79 + suffix=suffix,
80 + content=entry["content"],
81 + )
82 + lines.append(block)
83
84 if result["skipped_count"] > 0:
85 lines.append(f"!!! {result['skipped_count']} more files skipped to fit")
plugins/_promptinclude/prompts/fw.promptinclude.includes.md new
+4
@@ -0,0 +1,4 @@
1 +{{path}}{{suffix}}
2 +```
3 +{{content}}
4 +```