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
+```