import { Page } from './Page.js';
export interface UrlContextMetadata {
status: 'success' | 'partial' | 'failed';
totalUrls: number;
successfulUrls: number;
failedUrls: string[];
processingTimeMs: number;
}
export class ExtractContentResult {
constructor(
public readonly pages: Page[],
public readonly answer: string,
public readonly urlContextMetadata: UrlContextMetadata
) {}
static create(pages: Page[], answer: string, metadata: UrlContextMetadata): ExtractContentResult {
return new ExtractContentResult(pages, answer, metadata);
}
toJSON(): any {
return {
pages: this.pages.map(page => ({
url: page.url.toString(),
title: page.title,
text: page.text,
images: page.images
})),
answer: this.answer,
url_context_metadata: this.urlContextMetadata
};
}
}