mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-05-19 18:35:18 +02:00
fixed review comments
This commit is contained in:
parent
5d78d66b00
commit
a0a7933a7c
8 changed files with 53 additions and 76 deletions
|
|
@ -416,23 +416,19 @@ export function convertFromMessages(messages: z.infer<typeof Message>[]): ModelM
|
|||
} else {
|
||||
// New content parts array — collapse to text for LLM
|
||||
const textSegments: string[] = [];
|
||||
const attachmentLines: string[] = [];
|
||||
|
||||
// Collect attachments into a header block
|
||||
const attachmentParts = msg.content.filter((p: { type: string }) => p.type === "attachment");
|
||||
if (attachmentParts.length > 0) {
|
||||
textSegments.push("User has attached the following files:");
|
||||
for (const part of attachmentParts) {
|
||||
const att = (part as { type: string; attachment: { filename: string; mediaType: string; size?: number; path: string } }).attachment;
|
||||
const sizeStr = att.size ? `, ${formatBytes(att.size)}` : '';
|
||||
textSegments.push(`- ${att.filename} (${att.mediaType}${sizeStr}) at ${att.path}`);
|
||||
for (const part of msg.content) {
|
||||
if (part.type === "attachment") {
|
||||
const sizeStr = part.size ? `, ${formatBytes(part.size)}` : '';
|
||||
attachmentLines.push(`- ${part.filename} (${part.mimeType}${sizeStr}) at ${part.path}`);
|
||||
} else {
|
||||
textSegments.push(part.text);
|
||||
}
|
||||
textSegments.push(""); // blank line separator
|
||||
}
|
||||
|
||||
// Collect text parts
|
||||
const textParts = msg.content.filter((p: { type: string }) => p.type === "text");
|
||||
for (const part of textParts) {
|
||||
textSegments.push((part as { type: string; text: string }).text);
|
||||
if (attachmentLines.length > 0) {
|
||||
textSegments.unshift("User has attached the following files:", ...attachmentLines, "");
|
||||
}
|
||||
|
||||
result.push({
|
||||
|
|
|
|||
|
|
@ -49,10 +49,10 @@ export class FSRunsRepo implements IRunsRepo {
|
|||
let textContent: string | undefined;
|
||||
if (typeof content === 'string') {
|
||||
textContent = content;
|
||||
} else if (Array.isArray(content)) {
|
||||
} else {
|
||||
textContent = content
|
||||
.filter((p: { type: string }) => p.type === 'text')
|
||||
.map((p: { type: string; text?: string }) => p.text || '')
|
||||
.filter(p => p.type === 'text')
|
||||
.map(p => p.text)
|
||||
.join('');
|
||||
}
|
||||
if (textContent && textContent.trim()) {
|
||||
|
|
@ -101,10 +101,10 @@ export class FSRunsRepo implements IRunsRepo {
|
|||
let textContent: string | undefined;
|
||||
if (typeof content === 'string') {
|
||||
textContent = content;
|
||||
} else if (Array.isArray(content)) {
|
||||
} else {
|
||||
textContent = content
|
||||
.filter((p: { type: string }) => p.type === 'text')
|
||||
.map((p: { type: string; text?: string }) => p.text || '')
|
||||
.filter(p => p.type === 'text')
|
||||
.map(p => p.text)
|
||||
.join('');
|
||||
}
|
||||
if (textContent && textContent.trim()) {
|
||||
|
|
@ -257,13 +257,5 @@ export class FSRunsRepo implements IRunsRepo {
|
|||
async delete(id: string): Promise<void> {
|
||||
const filePath = path.join(WorkDir, 'runs', `${id}.jsonl`);
|
||||
await fsp.unlink(filePath);
|
||||
// Clean up attachment sidecar directory if it exists
|
||||
const attachmentsDir = path.join(WorkDir, 'runs', 'attachments', id);
|
||||
try {
|
||||
await fsp.rm(attachmentsDir, { recursive: true });
|
||||
} catch (err: unknown) {
|
||||
const e = err as { code?: string };
|
||||
if (e.code !== 'ENOENT') throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue