UNPKG

dpml-prompt

Version:

DPML-powered AI prompt framework - Revolutionary AI-First CLI system based on Deepractice Prompt Markup Language. Build sophisticated AI agents with structured prompts, memory systems, and execution frameworks.

92 lines (78 loc) 1.96 kB
/** * PromptX Resource Module * 基于DPML资源协议的统一资源管理模块 * * 提供完整的资源协议解析、注册表管理、资源加载功能 */ // 核心管理器 const ResourceManager = require('./resourceManager') // 核心组件 const ResourceProtocolParser = require('./resourceProtocolParser') // 数据类型 const { LoadingSemantics, ParsedReference, QueryParams, NestedReference, ResourceContent, LazyResource, ProcessedResult, ResourceResult, ProtocolInfo } = require('./types') // 全局单例 ResourceManager 实例 let globalResourceManager = null /** * 获取全局单例 ResourceManager 实例 * 确保整个应用程序使用同一个 ResourceManager 实例 */ function getGlobalResourceManager() { if (!globalResourceManager) { globalResourceManager = new ResourceManager() } return globalResourceManager } /** * 重置全局 ResourceManager 实例 * 主要用于测试或需要完全重新初始化的场景 */ function resetGlobalResourceManager() { globalResourceManager = null } // 导出主接口 module.exports = { // 主管理器类 ResourceManager, // 全局单例实例 getGlobalResourceManager, resetGlobalResourceManager, // 核心组件 ResourceProtocolParser, // 数据类型 LoadingSemantics, ParsedReference, QueryParams, NestedReference, ResourceContent, LazyResource, ProcessedResult, ResourceResult, ProtocolInfo, // 便捷方法 - 创建默认实例(保持向后兼容) createManager: (options) => new ResourceManager(options), // 便捷方法 - 快速解析 parse: (resourceRef) => { const parser = new ResourceProtocolParser() return parser.parse(resourceRef) }, // 便捷方法 - 快速验证 validate: (resourceRef) => { try { const parser = new ResourceProtocolParser() parser.parse(resourceRef) return true } catch (error) { return false } } }