import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { resolveAppHtml } from './resolve-html.js';
const uiBaseDir = path.dirname(fileURLToPath(import.meta.url));
const uiHtmlPath = path.join(uiBaseDir, 'object-details', 'mcp-app.html');
const distUiHtmlPath = path.join(uiBaseDir, '..', '..', 'dist', 'ui', 'object-details', 'mcp-app.html');
export class GetMuseumObjectAppResource {
public readonly name: string = 'Met Object Details';
public readonly uri: string = 'ui://met/object-details.html';
public readonly mimeType: string = 'text/html;profile=mcp-app';
private htmlCache?: string;
public async getHtml(): Promise<string> {
if (this.htmlCache) {
return this.htmlCache;
}
this.htmlCache = await resolveAppHtml(uiHtmlPath, distUiHtmlPath);
return this.htmlCache;
}
}