UNPKG

@memory-bank/mcp

Version:

Memory-enabled Co-Pilot (MCP) server for managing project documentation and context

99 lines 3.97 kB
/** * 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