Skip to content

Commit bf1f321

Browse files
author
Yuriy Bezsonov
committed
fix(java-spring-ai-agents): drop code interpreter scaffolding files from downloads
When the model writes JavaScript/TypeScript, the code interpreter sandbox emits package.json and package-lock.json, which were surfaced as useless download links. Skip those scaffolding files while keeping genuine user outputs (images, CSV, JSON, PDF). Also return early when no displayable file is produced.
1 parent 07aaf98 commit bf1f321

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

apps/java-spring-ai-agents/aiagent/src/main/java/com/example/agent/ChatService.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,12 +173,19 @@ private Flux<String> appendGeneratedFiles(String sessionId) {
173173
if (files == null || files.isEmpty()) {
174174
return Flux.empty();
175175
}
176-
return Flux.just(formatFilesAsMarkdown(files));
176+
String markdown = formatFilesAsMarkdown(files);
177+
if (markdown.isEmpty()) {
178+
return Flux.empty();
179+
}
180+
return Flux.just(markdown);
177181
}
178182

179183
private String formatFilesAsMarkdown(List<GeneratedFile> files) {
180184
StringBuilder sb = new StringBuilder();
181185
for (GeneratedFile file : files) {
186+
if (file.name().equals("package.json") || file.name().equals("package-lock.json")) {
187+
continue;
188+
}
182189
if (file.isImage()) {
183190
sb.append("\n\n![").append(file.name()).append("](")
184191
.append(file.toDataUrl()).append(")");

apps/java-spring-ai-agents/demo-scripts/06-code-interpreter.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,19 @@ public class ChatService {
162162
if (files == null || files.isEmpty()) {
163163
return Flux.empty();
164164
}
165-
return Flux.just(formatFilesAsMarkdown(files));
165+
String markdown = formatFilesAsMarkdown(files);
166+
if (markdown.isEmpty()) {
167+
return Flux.empty();
168+
}
169+
return Flux.just(markdown);
166170
}
167171
168172
private String formatFilesAsMarkdown(List<GeneratedFile> files) {
169173
StringBuilder sb = new StringBuilder();
170174
for (GeneratedFile file : files) {
175+
if (file.name().equals("package.json") || file.name().equals("package-lock.json")) {
176+
continue;
177+
}
171178
if (file.isImage()) {
172179
sb.append("\n\n![").append(file.name()).append("](")
173180
.append(file.toDataUrl()).append(")");

0 commit comments

Comments
 (0)