@memory-bank/mcp
Version:
Memory-enabled Co-Pilot (MCP) server for managing project documentation and context
99 lines • 3.97 kB
TypeScript
/**
* JsonTemplateLoaderRepository
*
* TypeScript定義からテンプレートを直接ロードするリポジトリの実装。
* ITemplateRepositoryインターフェースとITemplateLoaderインターフェースの両方を実装し、
* FileTemplateRepositoryとTemplateRendererの機能を統合した効率的で軽量な実装です。
*/
import { Template as DomainTemplate } from '../../domain/templates/Template.js';
import { ITemplateRepository } from '../../domain/templates/ITemplateRepository.js';
import { Language } from '../../domain/i18n/Language.js';
import { Template as SchemaTemplate, Language as SchemaLanguage } from '@memory-bank/schemas/templates';
import { II18nProvider } from '../i18n/interfaces/II18nProvider.js';
import { ITemplateLoader } from './interfaces/ITemplateLoader.js';
/**
* JsonTemplateLoaderRepository class
* TypeScript定義からテンプレートを直接ロードする
* ITemplateRepositoryとITemplateLoaderの両方を実装したクラス
*/
export declare class JsonTemplateLoaderRepository implements ITemplateRepository, ITemplateLoader {
private readonly i18nProvider;
private templateCache;
private cacheDirty;
private readonly componentLogger;
/**
* コンストラクタ
* @param i18nProvider 国際化サービス
*/
constructor(i18nProvider: II18nProvider);
/**
* テンプレートIDをTypeScript変数名に変換
* 例: 'rules' → 'rulesTemplate'
* 例: 'active-context' → 'activeContextTemplate'
*/
private getTypeScriptTemplateName;
/**
* 初期化メソッド - 必要に応じて呼び出す
*/
initialize(): Promise<void>;
/**
* すべてのテンプレートをロードしてキャッシュに格納
*/
private loadAllTemplates;
/**
* スキーマテンプレートをドメインテンプレートに変換
*/
private convertSchemaTemplateToDomain;
/**
* テンプレートを取得する
*/
getTemplate(id: string): Promise<DomainTemplate | null>;
/**
* テンプレートをJSONオブジェクトとして取得する
*/
getTemplateAsJsonObject(id: string, language: Language, _variables?: Record<string, string>): Promise<Record<string, any>>;
/**
* 指定したタイプのテンプレートをすべて取得
*/
getTemplatesByType(type: string): Promise<DomainTemplate[]>;
/**
* テンプレートを保存する(TypeScript定義でTypeScriptファイルに書き込まれるため、このメソッドはサポートしない)
*/
saveTemplate(_template: DomainTemplate): Promise<boolean>;
/**
* テンプレートが存在するかチェック
*/
templateExists(id: string): Promise<boolean>;
/**
* 利用可能なすべてのテンプレートIDを取得
*/
getAllTemplateIds(): Promise<string[]>;
/**
* 利用可能なすべてのテンプレートタイプを取得
*/
getAllTemplateTypes(): Promise<string[]>;
/**
* TemplateLoaderインターフェースのloadJsonTemplateメソッドを実装
* スキーマTemplateを直接返す
*/
loadJsonTemplate(templateId: string): Promise<SchemaTemplate>;
/**
* TemplateLoaderインターフェースのgetMarkdownTemplateメソッドを実装
* テンプレートをMarkdownにレンダリング
*/
getMarkdownTemplate(templateId: string, language: SchemaLanguage, variables?: Record<string, string>): Promise<string>;
/**
* テンプレートをMarkdownにレンダリング
* 旧TemplateRendererの機能を統合
*/
private renderTemplateToMarkdown;
/**
* テンプレートのセクションをレンダリング
*/
private renderSection;
/**
* テキスト内の変数を置換
*/
private replaceVariables;
}
//# sourceMappingURL=JsonTemplateLoaderRepository.d.ts.map