praisonai 1.7.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -52,20 +52,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
52
52
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
53
53
  };
54
54
  Object.defineProperty(exports, "__esModule", { value: true });
55
- exports.createRedactionMiddleware = exports.createTimeoutMiddleware = exports.createLoggingMiddleware = exports.MissingEnvVarError = exports.MissingDependencyError = exports.ToolsRegistry = exports.resetToolsRegistry = exports.createToolsRegistry = exports.getToolsRegistry = exports.registerBuiltinTools = exports.tools = exports.createDelegator = exports.createSubagentTools = exports.createSubagentTool = exports.SubagentTool = exports.getTool = exports.registerTool = exports.getRegistry = exports.ToolRegistry = exports.tool = exports.FunctionTool = exports.createTool = exports.validateTool = exports.ToolValidationError = exports.BaseTool = exports.setDefaultDbAdapter = exports.getDefaultDbAdapter = exports.createDbAdapter = exports.db = exports.mergeConfig = exports.DEFAULT_AGENTOS_CONFIG = exports.AgentApp = exports.AgentOS = exports.Task = exports.repeatPattern = exports.Repeat = exports.loopPattern = exports.Loop = exports.repeat = exports.loop = exports.route = exports.parallel = exports.Pipeline = exports.Workflow = exports.AgentFlow = exports.Router = exports.PraisonAIAgents = exports.Agents = exports.AgentTeam = exports.Agent = void 0;
56
- exports.createRetrievalConfig = exports.CitationsMode = exports.RetrievalPolicy = exports.createRAGConfig = exports.DEFAULT_RAG_TEMPLATE = exports.formatAnswerWithCitations = exports.createRAGResult = exports.formatContextPackForPrompt = exports.hasCitations = exports.createContextPack = exports.formatCitation = exports.createCitation = exports.RetrievalStrategy = exports.createRAG = exports.RAG = exports.registerLocalTool = exports.registerNpmTool = exports.createCustomTool = exports.registerCustomTool = exports.codeMode = exports.airweaveSearch = exports.bedrockBrowserFill = exports.bedrockBrowserClick = exports.bedrockBrowserNavigate = exports.bedrockCodeInterpreter = exports.valyuCompanyResearch = exports.valyuEconomicsSearch = exports.valyuSecSearch = exports.valyuPatentSearch = exports.valyuBioSearch = exports.valyuPaperSearch = exports.valyuFinanceSearch = exports.valyuWebSearch = exports.superagentVerify = exports.superagentRedact = exports.superagentGuard = exports.firecrawlCrawl = exports.firecrawlScrape = exports.parallelSearch = exports.perplexitySearch = exports.exaSearch = exports.tavilyCrawl = exports.tavilyExtract = exports.tavilySearch = exports.codeExecution = exports.composeMiddleware = exports.createValidationMiddleware = exports.createTracingMiddleware = exports.createRetryMiddleware = exports.createRateLimitMiddleware = void 0;
57
- exports.getOptimizationRule = exports.addOptimizationRule = exports.removeJudge = exports.listJudges = exports.getJudge = exports.addJudge = exports.RecipeJudge = exports.CriteriaJudge = exports.AccuracyJudge = exports.Judge = exports.noHarmfulContentCriterion = exports.containsKeywordsCriterion = exports.lengthCriterion = exports.relevanceCriterion = exports.createEvalResults = exports.EvalResults = exports.createDefaultEvaluator = exports.createEvaluator = exports.Evaluator = exports.EvalSuite = exports.reliabilityEval = exports.performanceEval = exports.accuracyEval = exports.createContextAgent = exports.ContextAgent = exports.routeConditions = exports.createRouter = exports.RouterAgent = exports.ContextPolicy = exports.HandoffTimeoutError = exports.HandoffDepthError = exports.HandoffCycleError = exports.HandoffError = exports.promptWithHandoffInstructions = exports.RECOMMENDED_PROMPT_PREFIX = exports.handoffFilters = exports.handoff = exports.Handoff = exports.createRateLimitPolicy = exports.createApiKeyPolicy = exports.createMCPSecurity = exports.MCPSecurity = exports.createMCPSession = exports.createMCPServer = exports.MCPServer = exports.getMCPTools = exports.createMCPClient = exports.MCPClient = exports.createSmartRetrievalConfig = exports.createSimpleRetrievalConfig = void 0;
58
- exports.TelemetryCollector = exports.createTimingWorkflowHooks = exports.createLoggingWorkflowHooks = exports.createWorkflowHooks = exports.WorkflowHooksExecutor = exports.DisplayTypes = exports.clearAllCallbacks = exports.getRegisteredDisplayTypes = exports.hasApprovalCallback = exports.requestApproval = exports.executeCallback = exports.executeSyncCallback = exports.clearApprovalCallback = exports.registerApprovalCallback = exports.unregisterDisplayCallback = exports.registerDisplayCallback = exports.createValidationOperationHooks = exports.createLoggingOperationHooks = exports.createHooksManager = exports.HooksManager = exports.createDocsManager = exports.DocsManager = exports.createSafetyRules = exports.createRulesManager = exports.RulesManager = exports.createEncryptionHooks = exports.createValidationHooks = exports.createLoggingHooks = exports.createMemoryHooks = exports.MemoryHooks = exports.DEFAULT_POLICIES = exports.createLLMSummarizer = exports.createAutoMemory = exports.AutoMemory = exports.createFileMemory = exports.FileMemory = exports.createMemory = exports.Memory = exports.CLI_SPEC_VERSION = exports.executeCommand = exports.parseArgs = exports.createSkillProperties = exports.createSkillLoader = exports.SkillLoader = exports.parseSkillFile = exports.createSkillManager = exports.SkillManager = exports.parseJudgeResponse = exports.removeOptimizationRule = exports.listOptimizationRules = void 0;
59
- exports.MemoryCache = exports.BaseCache = exports.createTaskAgent = exports.createPlanningAgent = exports.createPlanStorage = exports.createTodoList = exports.createPlan = exports.RESEARCH_TOOLS = exports.RESTRICTED_TOOLS = exports.READ_ONLY_TOOLS = exports.createApprovalCallback = exports.ApprovalCallback = exports.TaskAgent = exports.PlanningAgent = exports.PlanStorage = exports.TodoItem = exports.TodoList = exports.PlanStep = exports.Plan = exports.createLLMGuardrail = exports.LLMGuardrail = exports.createPromptExpanderAgent = exports.PromptExpanderAgent = exports.createQueryRewriterAgent = exports.QueryRewriterAgent = exports.createDeepResearchAgent = exports.DeepResearchAgent = exports.createAudioAgent = exports.AudioAgent = exports.createImageAgent = exports.ImageAgent = exports.createAutoAgents = exports.AutoAgents = exports.cleanupTelemetryResources = exports.disablePerformanceMode = exports.enablePerformanceMode = exports.getMinimalTelemetry = exports.MinimalTelemetry = exports.createHTTPSink = exports.createConsoleSink = exports.createTelemetryIntegration = exports.TelemetryIntegration = exports.createPerformanceMonitor = exports.PerformanceMonitor = exports.createAgentTelemetry = exports.cleanupTelemetry = exports.disableTelemetry = exports.enableTelemetry = exports.getTelemetry = exports.AgentTelemetry = void 0;
60
- exports.get_default = exports.get_config_path = exports.get_config = exports.apply_config_defaults = exports.validate_config = exports.parse_policy_string = exports.is_policy_string = exports.clean_triple_backticks = exports.suggest_similar = exports.is_path_like = exports.detect_url_scheme = exports.resolve_guardrails = exports.resolve_routing = exports.resolve_skills = exports.resolve_hooks = exports.resolve_caching = exports.resolve_autonomy = exports.resolve_context = exports.resolve_knowledge = exports.resolve_reflection = exports.resolve_planning = exports.resolve_web = exports.resolve_execution = exports.resolve_output = exports.resolve_memory = exports.resolve = exports.KNOWLEDGE_PRESETS = exports.MULTI_AGENT_EXECUTION_PRESETS = exports.MULTI_AGENT_OUTPUT_PRESETS = exports.CACHING_PRESETS = exports.AUTONOMY_PRESETS = exports.CONTEXT_PRESETS = exports.GUARDRAIL_PRESETS = exports.REFLECTION_PRESETS = exports.PLANNING_PRESETS = exports.WEB_PRESETS = exports.EXECUTION_PRESETS = exports.OUTPUT_PRESETS = exports.MEMORY_URL_SCHEMES = exports.MEMORY_PRESETS = exports.ArrayMode = exports.ExecutionPreset = exports.OutputPreset = exports.WebSearchProvider = exports.GuardrailAction = exports.ChunkingStrategy = exports.MemoryBackend = exports.createFileCache = exports.createMemoryCache = exports.FileCache = void 0;
61
- exports.CohereReranker = exports.BaseReranker = exports.createElevenLabsVoice = exports.createOpenAIVoice = exports.ElevenLabsVoiceProvider = exports.OpenAIVoiceProvider = exports.BaseVoiceProvider = exports.createLangfuseObservability = exports.createMemoryObservability = exports.createConsoleObservability = exports.LangfuseObservabilityProvider = exports.MemoryObservabilityProvider = exports.ConsoleObservabilityProvider = exports.BaseObservabilityProvider = exports.createChromaStore = exports.ChromaVectorStore = exports.createQdrantStore = exports.QdrantVectorStore = exports.createWeaviateStore = exports.WeaviateVectorStore = exports.createPineconeStore = exports.PineconeVectorStore = exports.createMemoryVectorStore = exports.MemoryVectorStore = exports.BaseVectorStore = exports.createPostgresSessionStorage = exports.createMemoryPostgres = exports.createNeonPostgres = exports.PostgresSessionStorage = exports.MemoryPostgresAdapter = exports.NeonPostgresAdapter = exports.createMemoryRedis = exports.createUpstashRedis = exports.MemoryRedisAdapter = exports.UpstashRedisAdapter = exports.createSQLiteAdapter = exports.SQLiteAdapter = exports.validateWorkflowDefinition = exports.loadWorkflowFromFile = exports.createWorkflowFromYAML = exports.parseYAMLWorkflow = exports.createPubSub = exports.createEventBus = exports.AgentEvents = exports.AgentEventBus = exports.EventEmitterPubSub = exports.PubSub = exports.ConfigValidationError = exports.get_plugins_config = exports.get_defaults_config = void 0;
62
- exports.executeSlashCommand = exports.parseSlashCommand = exports.registerCommand = exports.createSlashCommandHandler = exports.SlashCommandHandler = exports.ADAPTERS = exports.COMMUNITY_PROVIDERS = exports.PROVIDER_ALIASES = exports.AISDK_PROVIDERS = exports.trace = exports.resetObservabilityAdapter = exports.getObservabilityAdapter = exports.setObservabilityAdapter = exports.clearAdapterCache = exports.createObservabilityAdapter = exports.createConsoleAdapter = exports.ConsoleObservabilityAdapter = exports.createMemoryAdapter = exports.MemoryObservabilityAdapter = exports.noopAdapter = exports.NoopObservabilityAdapter = exports.hasObservabilityToolEnvVar = exports.listObservabilityTools = exports.getObservabilityToolInfo = exports.OBSERVABILITY_TOOLS = exports.registerBuiltinProviders = exports.createProviderRegistry = exports.getDefaultRegistry = exports.listProviders = exports.hasProvider = exports.unregisterProvider = exports.registerProvider = exports.ProviderRegistry = exports.BaseProvider = exports.GoogleProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.getAvailableProviders = exports.isProviderAvailable = exports.parseModelString = exports.getDefaultProvider = exports.createProvider = exports.createGraphRAG = exports.GraphRAG = exports.GraphStore = exports.createLLMReranker = exports.createCrossEncoderReranker = exports.createCohereReranker = exports.LLMReranker = exports.CrossEncoderReranker = void 0;
63
- exports.CodexCliAgent = exports.GeminiCliAgent = exports.ClaudeCodeAgent = exports.BaseExternalAgent = exports.renderWorkflow = exports.createFlowDisplay = exports.FlowDisplay = exports.createFileCheckpointStorage = exports.FileCheckpointStorage = exports.MemoryCheckpointStorage = exports.createCheckpointManager = exports.CheckpointManager = exports.createFileJobStorage = exports.FileJobStorage = exports.MemoryJobStorage = exports.createJobQueue = exports.JobQueue = exports.cronExpressions = exports.createScheduler = exports.Scheduler = exports.MODE_POLICIES = exports.cliApprovalPrompt = exports.createAutonomyManager = exports.AutonomyManager = exports.DEFAULT_BLOCKED_PATHS = exports.DEFAULT_BLOCKED_COMMANDS = exports.CommandValidator = exports.sandboxExec = exports.createSandboxExecutor = exports.SandboxExecutor = exports.createDiffViewer = exports.DiffViewer = exports.createGitManager = exports.GitManager = exports.DEFAULT_IGNORE_PATTERNS = exports.getRepoTree = exports.createRepoMap = exports.RepoMap = exports.createHistoryManager = exports.HistoryManager = exports.createStatusDisplay = exports.StatusDisplay = exports.createInteractiveTUI = exports.InteractiveTUI = exports.MODEL_PRICING = exports.formatCost = exports.estimateTokens = exports.createCostTracker = exports.CostTracker = exports.isSlashCommand = void 0;
64
- exports.isUrl = exports.uint8ArrayToBase64 = exports.base64ToUint8Array = exports.toMessageContent = exports.createMultimodalMessage = exports.createTextPart = exports.createPdfPart = exports.createFilePart = exports.createImagePart = exports.getAICacheStats = exports.clearAICache = exports.applyMiddleware = exports.wrapModel = exports.createAILoggingMiddleware = exports.createCachingMiddleware = exports.resolveModelAlias = exports.hasModelAlias = exports.listModelAliases = exports.MODEL_ALIASES = exports.parseModel = exports.getModel = exports.createModel = exports.functionToTool = exports.createToolSet = exports.defineTool = exports.aiEmbedMany = exports.aiEmbed = exports.aiGenerateImage = exports.aiStreamObject = exports.aiGenerateObject = exports.aiStreamText = exports.aiGenerateText = exports.getTotalLines = exports.addLineRangeToFileMatch = exports.createFileMatch = exports.mergeRanges = exports.rangesOverlap = exports.getLineCount = exports.createLineRange = exports.getQuickContext = exports.createFastContext = exports.FastContext = exports.triggerN8NWebhook = exports.createN8NIntegration = exports.N8NIntegration = exports.externalAgentAsTool = exports.createExternalAgent = exports.getExternalAgentRegistry = exports.GenericExternalAgent = exports.AiderAgent = void 0;
65
- exports.configureTelemetry = exports.autoEnableDevTools = exports.createDevToolsMiddleware = exports.getDevToolsUrl = exports.getDevToolsState = exports.isDevToolsEnabled = exports.disableDevTools = exports.enableDevTools = exports.TRANSCRIPTION_MODELS = exports.SPEECH_MODELS = exports.transcribe = exports.generateSpeech = exports.createDangerousPatternChecker = exports.isDangerous = exports.DANGEROUS_PATTERNS = exports.ToolApprovalTimeoutError = exports.ToolApprovalDeniedError = exports.withApproval = exports.setApprovalManager = exports.getApprovalManager = exports.ApprovalManager = exports.pipeUIMessageStreamToResponse = exports.toUIMessageStreamResponse = exports.createApprovalResponse = exports.getToolsNeedingApproval = exports.hasPendingApprovals = exports.createSystemMessage = exports.createTextMessage = exports.safeValidateUIMessages = exports.validateUIMessages = exports.convertToUIMessages = exports.convertToModelMessages = exports.stopWhen = exports.stopWhenNoToolCalls = exports.stopAfterSteps = exports.AgentLoop = exports.createAgentLoop = exports.createPagesHandler = exports.createRouteHandler = exports.createNestHandler = exports.createFastifyHandler = exports.createHonoHandler = exports.createExpressHandler = exports.createHttpHandler = exports.mcpToolsToAITools = exports.closeAllMCPClients = exports.closeMCPClient = exports.getMCPClient = exports.createMCP = exports.isDataUrl = void 0;
66
- exports.displayInstruction = exports.displayGenerating = exports.displayError = exports.clearDisplayCallbacks = exports.asyncDisplayCallbacks = exports.syncDisplayCallbacks = exports.registerDisplay = exports.isPluginEnabled = exports.listPlugins = exports.disablePlugins = exports.enablePlugins = exports.parsePluginHeaderFromFile = exports.parsePluginHeader = exports.getPluginTemplate = exports.discoverAndLoadPlugins = exports.loadPlugin = exports.discoverPlugins = exports.ensurePluginDir = exports.getDefaultPluginDirs = exports.getPluginManager = exports.PluginParseError = exports.PluginManager = exports.FunctionPlugin = exports.Plugin = exports.PluginType = exports.PluginHook = exports.createCLIApprovalPrompt = exports.createComputerUseAgent = exports.ComputerUseClient = exports.createComputerUse = exports.createPostgresTool = exports.NLPostgresClient = exports.createNLPostgres = exports.parseSlackMessage = exports.verifySlackSignature = exports.SlackBot = exports.createSlackBot = exports.createTelemetrySettings = exports.clearEvents = exports.getEvents = exports.recordEvent = exports.createTelemetryMiddleware = exports.withSpan = exports.createAISpan = exports.getTracer = exports.initOpenTelemetry = exports.isTelemetryEnabled = exports.disableAITelemetry = exports.enableAITelemetry = exports.getTelemetrySettings = void 0;
67
- exports.AutoRagAgent = exports.DEFAULT_AUTO_KEYWORDS = exports.AutoRetrievalPolicy = exports.AGUI = exports.A2A = exports.A2ARole = exports.A2ATaskState = exports.createTaskOutput = exports.BaseTask = exports.FailoverManager = exports.RagRetrievalPolicy = exports.AutonomyLevel = exports.SandboxStatus = exports.notCondition = exports.orConditions = exports.andConditions = exports.createCondition = exports.evaluateCondition = exports.FunctionCondition = exports.ExpressionCondition = exports.DictCondition = exports.trackWorkflow = exports.traceContext = exports.createContextEvent = exports.ContextTraceEmitter = exports.ContextNoOpSink = exports.ContextListSink = exports.ContextTraceSink = exports.TraceSink = exports.MessageType = exports.EventType = exports.ContextEventType = exports.normalizeEmbedding = exports.euclideanDistance = exports.cosineSimilarity = exports.setEmbeddingConfig = exports.getDimensions = exports.aembeddings = exports.aembedding = exports.aembed = exports.embeddings = exports.embedding = exports.embed = exports.DisplayFlow = exports.clearErrorLogs = exports.logError = exports.errorLogs = exports.displayToolCall = exports.displaySelfReflection = exports.displayInteraction = void 0;
68
- exports.GUARDRAIL_POLICY_PRESETS = exports.resolveGuardrailPolicies = exports.workflows = exports.obs = exports.memory = exports.config = exports.Tools = void 0;
55
+ exports.MissingDependencyError = exports.validate_tool = exports.register_tool = exports.get_tool = exports.get_registry = exports.ToolsRegistry = exports.resetToolsRegistry = exports.createToolsRegistry = exports.getToolsRegistry = exports.registerBuiltinTools = exports.tools = exports.createDelegator = exports.createSubagentTools = exports.createSubagentTool = exports.SubagentTool = exports.getTool = exports.registerTool = exports.getRegistry = exports.ToolRegistry = exports.tool = exports.FunctionTool = exports.createTool = exports.validateTool = exports.ToolValidationError = exports.BaseTool = exports.setDefaultDbAdapter = exports.getDefaultDbAdapter = exports.createDbAdapter = exports.db = exports.mergeConfig = exports.DEFAULT_AGENTOS_CONFIG = exports.AgentApp = exports.AgentOS = exports.Task = exports.repeatPattern = exports.Repeat = exports.loopPattern = exports.Loop = exports.repeat = exports.loop = exports.route = exports.parallel = exports.Pipeline = exports.Workflow = exports.AgentFlow = exports.Router = exports.PraisonAIAgents = exports.Agents = exports.AgentTeam = exports.Agent = void 0;
56
+ exports.formatAnswerWithCitations = exports.createRAGResult = exports.formatContextPackForPrompt = exports.hasCitations = exports.createContextPack = exports.formatCitation = exports.createCitation = exports.RetrievalStrategy = exports.createRAG = exports.RAG = exports.registerLocalTool = exports.registerNpmTool = exports.createCustomTool = exports.registerCustomTool = exports.codeMode = exports.airweaveSearch = exports.bedrockBrowserFill = exports.bedrockBrowserClick = exports.bedrockBrowserNavigate = exports.bedrockCodeInterpreter = exports.valyuCompanyResearch = exports.valyuEconomicsSearch = exports.valyuSecSearch = exports.valyuPatentSearch = exports.valyuBioSearch = exports.valyuPaperSearch = exports.valyuFinanceSearch = exports.valyuWebSearch = exports.superagentVerify = exports.superagentRedact = exports.superagentGuard = exports.firecrawlCrawl = exports.firecrawlScrape = exports.parallelSearch = exports.perplexitySearch = exports.exaSearch = exports.tavilyCrawl = exports.tavilyExtract = exports.tavilySearch = exports.codeExecution = exports.composeMiddleware = exports.createValidationMiddleware = exports.createTracingMiddleware = exports.createRetryMiddleware = exports.createRateLimitMiddleware = exports.createRedactionMiddleware = exports.createTimeoutMiddleware = exports.createLoggingMiddleware = exports.BudgetExceededError = exports.MissingEnvVarError = void 0;
57
+ exports.addJudge = exports.RecipeJudge = exports.CriteriaJudge = exports.AccuracyJudge = exports.Judge = exports.noHarmfulContentCriterion = exports.containsKeywordsCriterion = exports.lengthCriterion = exports.relevanceCriterion = exports.createEvalResults = exports.EvalResults = exports.createDefaultEvaluator = exports.createEvaluator = exports.Evaluator = exports.EvalSuite = exports.reliabilityEval = exports.performanceEval = exports.accuracyEval = exports.createContextAgent = exports.ContextAgent = exports.routeConditions = exports.createRouter = exports.RouterAgent = exports.ContextPolicy = exports.HandoffTimeoutError = exports.HandoffDepthError = exports.HandoffCycleError = exports.HandoffError = exports.promptWithHandoffInstructions = exports.RECOMMENDED_PROMPT_PREFIX = exports.handoffFilters = exports.handoff = exports.Handoff = exports.createRateLimitPolicy = exports.createApiKeyPolicy = exports.createMCPSecurity = exports.MCPSecurity = exports.createMCPSession = exports.createMCPServer = exports.MCPServer = exports.getMCPTools = exports.createMCPClient = exports.MCPClient = exports.createSmartRetrievalConfig = exports.createSimpleRetrievalConfig = exports.createRetrievalConfig = exports.CitationsMode = exports.RetrievalPolicy = exports.createRAGConfig = exports.DEFAULT_RAG_TEMPLATE = void 0;
58
+ exports.DisplayTypes = exports.clearAllCallbacks = exports.getRegisteredDisplayTypes = exports.hasApprovalCallback = exports.requestApproval = exports.executeCallback = exports.executeSyncCallback = exports.clearApprovalCallback = exports.registerApprovalCallback = exports.unregisterDisplayCallback = exports.registerDisplayCallback = exports.createValidationOperationHooks = exports.createLoggingOperationHooks = exports.createHooksManager = exports.HooksManager = exports.createDocsManager = exports.DocsManager = exports.createSafetyRules = exports.createRulesManager = exports.RulesManager = exports.createEncryptionHooks = exports.createValidationHooks = exports.createLoggingHooks = exports.createMemoryHooks = exports.MemoryHooks = exports.DEFAULT_POLICIES = exports.createLLMSummarizer = exports.createAutoMemory = exports.AutoMemory = exports.createFileMemory = exports.FileMemory = exports.createMemory = exports.Memory = exports.CLI_SPEC_VERSION = exports.executeCommand = exports.parseArgs = exports.createSkillProperties = exports.createSkillLoader = exports.SkillLoader = exports.parseSkillFile = exports.createSkillManager = exports.SkillManager = exports.parseJudgeResponse = exports.removeOptimizationRule = exports.listOptimizationRules = exports.getOptimizationRule = exports.addOptimizationRule = exports.removeJudge = exports.listJudges = exports.getJudge = void 0;
59
+ exports.createTodoList = exports.createPlan = exports.RESEARCH_TOOLS = exports.RESTRICTED_TOOLS = exports.READ_ONLY_TOOLS = exports.createApprovalCallback = exports.ApprovalCallback = exports.TaskAgent = exports.PlanningAgent = exports.PlanStorage = exports.TodoItem = exports.TodoList = exports.PlanStep = exports.Plan = exports.createLLMGuardrail = exports.LLMGuardrail = exports.createPromptExpanderAgent = exports.PromptExpanderAgent = exports.createQueryRewriterAgent = exports.QueryRewriterAgent = exports.createDeepResearchAgent = exports.DeepResearchAgent = exports.createAudioAgent = exports.AudioAgent = exports.createImageAgent = exports.ImageAgent = exports.createAutoAgents = exports.AutoAgents = exports.cleanupTelemetryResources = exports.disablePerformanceMode = exports.enablePerformanceMode = exports.getMinimalTelemetry = exports.MinimalTelemetry = exports.createHTTPSink = exports.createConsoleSink = exports.createTelemetryIntegration = exports.TelemetryIntegration = exports.createPerformanceMonitor = exports.PerformanceMonitor = exports.createAgentTelemetry = exports.cleanupTelemetry = exports.disableTelemetry = exports.enableTelemetry = exports.getTelemetry = exports.AgentTelemetry = exports.TelemetryCollector = exports.createTimingWorkflowHooks = exports.createLoggingWorkflowHooks = exports.createWorkflowHooks = exports.WorkflowHooksExecutor = void 0;
60
+ exports.parse_policy_string = exports.is_policy_string = exports.clean_triple_backticks = exports.suggest_similar = exports.is_path_like = exports.detect_url_scheme = exports.resolve_guardrails = exports.resolve_routing = exports.resolve_skills = exports.resolve_hooks = exports.resolve_caching = exports.resolve_autonomy = exports.resolve_context = exports.resolve_knowledge = exports.resolve_reflection = exports.resolve_planning = exports.resolve_web = exports.resolve_execution = exports.resolve_output = exports.resolve_memory = exports.resolve = exports.KNOWLEDGE_PRESETS = exports.MULTI_AGENT_EXECUTION_PRESETS = exports.MULTI_AGENT_OUTPUT_PRESETS = exports.CACHING_PRESETS = exports.AUTONOMY_PRESETS = exports.CONTEXT_PRESETS = exports.GUARDRAIL_PRESETS = exports.REFLECTION_PRESETS = exports.PLANNING_PRESETS = exports.WEB_PRESETS = exports.EXECUTION_PRESETS = exports.OUTPUT_PRESETS = exports.MEMORY_URL_SCHEMES = exports.MEMORY_PRESETS = exports.ArrayMode = exports.ExecutionPreset = exports.OutputPreset = exports.WebSearchProvider = exports.GuardrailAction = exports.ChunkingStrategy = exports.MemoryBackend = exports.createFileCache = exports.createMemoryCache = exports.FileCache = exports.MemoryCache = exports.BaseCache = exports.createTaskAgent = exports.createPlanningAgent = exports.createPlanStorage = void 0;
61
+ exports.OpenAIVoiceProvider = exports.BaseVoiceProvider = exports.createLangfuseObservability = exports.createMemoryObservability = exports.createConsoleObservability = exports.LangfuseObservabilityProvider = exports.MemoryObservabilityProvider = exports.ConsoleObservabilityProvider = exports.BaseObservabilityProvider = exports.createChromaStore = exports.ChromaVectorStore = exports.createQdrantStore = exports.QdrantVectorStore = exports.createWeaviateStore = exports.WeaviateVectorStore = exports.createPineconeStore = exports.PineconeVectorStore = exports.createMemoryVectorStore = exports.MemoryVectorStore = exports.BaseVectorStore = exports.createPostgresSessionStorage = exports.createMemoryPostgres = exports.createNeonPostgres = exports.PostgresSessionStorage = exports.MemoryPostgresAdapter = exports.NeonPostgresAdapter = exports.createMemoryRedis = exports.createUpstashRedis = exports.MemoryRedisAdapter = exports.UpstashRedisAdapter = exports.createSQLiteAdapter = exports.SQLiteAdapter = exports.validateWorkflowDefinition = exports.loadWorkflowFromFile = exports.createWorkflowFromYAML = exports.parseYAMLWorkflow = exports.createPubSub = exports.createEventBus = exports.AgentEvents = exports.AgentEventBus = exports.EventEmitterPubSub = exports.PubSub = exports.ConfigValidationError = exports.get_plugins_config = exports.get_defaults_config = exports.get_default = exports.get_config_path = exports.get_config = exports.apply_config_defaults = exports.validate_config = void 0;
62
+ exports.ADAPTERS = exports.COMMUNITY_PROVIDERS = exports.PROVIDER_ALIASES = exports.AISDK_PROVIDERS = exports.trace = exports.resetObservabilityAdapter = exports.getObservabilityAdapter = exports.setObservabilityAdapter = exports.clearAdapterCache = exports.createObservabilityAdapter = exports.createConsoleAdapter = exports.ConsoleObservabilityAdapter = exports.createMemoryAdapter = exports.MemoryObservabilityAdapter = exports.noopAdapter = exports.NoopObservabilityAdapter = exports.hasObservabilityToolEnvVar = exports.listObservabilityTools = exports.getObservabilityToolInfo = exports.OBSERVABILITY_TOOLS = exports.registerBuiltinProviders = exports.createProviderRegistry = exports.getDefaultRegistry = exports.listProviders = exports.hasProvider = exports.unregisterProvider = exports.registerProvider = exports.ProviderRegistry = exports.BaseProvider = exports.GoogleProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.getAvailableProviders = exports.isProviderAvailable = exports.parseModelString = exports.getDefaultProvider = exports.createProvider = exports.createGraphRAG = exports.GraphRAG = exports.GraphStore = exports.createLLMReranker = exports.createCrossEncoderReranker = exports.createCohereReranker = exports.LLMReranker = exports.CrossEncoderReranker = exports.CohereReranker = exports.BaseReranker = exports.createElevenLabsVoice = exports.createOpenAIVoice = exports.ElevenLabsVoiceProvider = void 0;
63
+ exports.createFlowDisplay = exports.FlowDisplay = exports.createFileCheckpointStorage = exports.FileCheckpointStorage = exports.MemoryCheckpointStorage = exports.createCheckpointManager = exports.CheckpointManager = exports.createFileJobStorage = exports.FileJobStorage = exports.MemoryJobStorage = exports.createJobQueue = exports.JobQueue = exports.cronExpressions = exports.createScheduler = exports.Scheduler = exports.MODE_POLICIES = exports.cliApprovalPrompt = exports.createAutonomyManager = exports.AutonomyManager = exports.DEFAULT_BLOCKED_PATHS = exports.DEFAULT_BLOCKED_COMMANDS = exports.CommandValidator = exports.sandboxExec = exports.createSandboxExecutor = exports.SandboxExecutor = exports.createDiffViewer = exports.DiffViewer = exports.createGitManager = exports.GitManager = exports.DEFAULT_IGNORE_PATTERNS = exports.getRepoTree = exports.createRepoMap = exports.RepoMap = exports.createHistoryManager = exports.HistoryManager = exports.createStatusDisplay = exports.StatusDisplay = exports.createInteractiveTUI = exports.InteractiveTUI = exports.MODEL_PRICING = exports.formatCost = exports.estimateTokens = exports.createCostTracker = exports.CostTracker = exports.isSlashCommand = exports.executeSlashCommand = exports.parseSlashCommand = exports.registerCommand = exports.createSlashCommandHandler = exports.SlashCommandHandler = void 0;
64
+ exports.createTextPart = exports.createPdfPart = exports.createFilePart = exports.createImagePart = exports.getAICacheStats = exports.clearAICache = exports.applyMiddleware = exports.wrapModel = exports.createAILoggingMiddleware = exports.createCachingMiddleware = exports.resolveModelAlias = exports.hasModelAlias = exports.listModelAliases = exports.MODEL_ALIASES = exports.parseModel = exports.getModel = exports.createModel = exports.functionToTool = exports.createToolSet = exports.defineTool = exports.aiEmbedMany = exports.aiEmbed = exports.aiGenerateImage = exports.aiStreamObject = exports.aiGenerateObject = exports.aiStreamText = exports.aiGenerateText = exports.getTotalLines = exports.addLineRangeToFileMatch = exports.createFileMatch = exports.mergeRanges = exports.rangesOverlap = exports.getLineCount = exports.createLineRange = exports.getQuickContext = exports.createFastContext = exports.FastContext = exports.triggerN8NWebhook = exports.createN8NIntegration = exports.N8NIntegration = exports.externalAgentAsTool = exports.createExternalAgent = exports.getExternalAgentRegistry = exports.GenericExternalAgent = exports.AiderAgent = exports.CodexCliAgent = exports.GeminiCliAgent = exports.ClaudeCodeAgent = exports.BaseExternalAgent = exports.renderWorkflow = void 0;
65
+ exports.isDevToolsEnabled = exports.disableDevTools = exports.enableDevTools = exports.TRANSCRIPTION_MODELS = exports.SPEECH_MODELS = exports.transcribe = exports.generateSpeech = exports.createDangerousPatternChecker = exports.isDangerous = exports.DANGEROUS_PATTERNS = exports.ToolApprovalTimeoutError = exports.ToolApprovalDeniedError = exports.withApproval = exports.setApprovalManager = exports.getApprovalManager = exports.ApprovalManager = exports.pipeUIMessageStreamToResponse = exports.toUIMessageStreamResponse = exports.createApprovalResponse = exports.getToolsNeedingApproval = exports.hasPendingApprovals = exports.createSystemMessage = exports.createTextMessage = exports.safeValidateUIMessages = exports.validateUIMessages = exports.convertToUIMessages = exports.convertToModelMessages = exports.stopWhen = exports.stopWhenNoToolCalls = exports.stopAfterSteps = exports.AgentLoop = exports.createAgentLoop = exports.createPagesHandler = exports.createRouteHandler = exports.createNestHandler = exports.createFastifyHandler = exports.createHonoHandler = exports.createExpressHandler = exports.createHttpHandler = exports.mcpToolsToAITools = exports.closeAllMCPClients = exports.closeMCPClient = exports.getMCPClient = exports.createMCP = exports.isDataUrl = exports.isUrl = exports.uint8ArrayToBase64 = exports.base64ToUint8Array = exports.toMessageContent = exports.createMultimodalMessage = void 0;
66
+ exports.syncDisplayCallbacks = exports.registerDisplay = exports.isPluginEnabled = exports.listPlugins = exports.disablePlugins = exports.enablePlugins = exports.parsePluginHeaderFromFile = exports.parsePluginHeader = exports.getPluginTemplate = exports.discoverAndLoadPlugins = exports.loadPlugin = exports.discoverPlugins = exports.ensurePluginDir = exports.getDefaultPluginDirs = exports.getPluginManager = exports.PluginParseError = exports.PluginManager = exports.FunctionPlugin = exports.Plugin = exports.PluginType = exports.PluginHook = exports.createCLIApprovalPrompt = exports.createComputerUseAgent = exports.ComputerUseClient = exports.createComputerUse = exports.createPostgresTool = exports.NLPostgresClient = exports.createNLPostgres = exports.parseSlackMessage = exports.verifySlackSignature = exports.SlackBot = exports.createSlackBot = exports.createTelemetrySettings = exports.clearEvents = exports.getEvents = exports.recordEvent = exports.createTelemetryMiddleware = exports.withSpan = exports.createAISpan = exports.getTracer = exports.initOpenTelemetry = exports.isTelemetryEnabled = exports.disableAITelemetry = exports.enableAITelemetry = exports.getTelemetrySettings = exports.configureTelemetry = exports.autoEnableDevTools = exports.createDevToolsMiddleware = exports.getDevToolsUrl = exports.getDevToolsState = void 0;
67
+ exports.A2ARole = exports.A2ATaskState = exports.createTaskOutput = exports.BaseTask = exports.FailoverManager = exports.RagRetrievalPolicy = exports.AutonomyLevel = exports.SandboxStatus = exports.notCondition = exports.orConditions = exports.andConditions = exports.createCondition = exports.evaluateCondition = exports.FunctionCondition = exports.ExpressionCondition = exports.DictCondition = exports.trackWorkflow = exports.traceContext = exports.createContextEvent = exports.ContextTraceEmitter = exports.ContextNoOpSink = exports.ContextListSink = exports.ContextTraceSink = exports.TraceSink = exports.MessageType = exports.EventType = exports.ContextEventType = exports.normalizeEmbedding = exports.euclideanDistance = exports.cosineSimilarity = exports.setEmbeddingConfig = exports.getDimensions = exports.aembeddings = exports.aembedding = exports.aembed = exports.embeddings = exports.embedding = exports.embed = exports.DisplayFlow = exports.clearErrorLogs = exports.logError = exports.errorLogs = exports.displayToolCall = exports.displaySelfReflection = exports.displayInteraction = exports.displayInstruction = exports.displayGenerating = exports.displayError = exports.clearDisplayCallbacks = exports.asyncDisplayCallbacks = void 0;
68
+ exports.get_plugin_template = exports.ensure_plugin_dir = exports.get_default_plugin_dirs = exports.get_plugin_manager = exports.error_logs = exports.display_tool_call = exports.display_self_reflection = exports.display_interaction = exports.display_instruction = exports.display_generating = exports.display_error = exports.async_display_callbacks = exports.sync_display_callbacks = exports.register_display_callback = exports.cleanup_telemetry_resources = exports.disable_performance_mode = exports.enable_performance_mode = exports.get_telemetry = exports.disable_telemetry = exports.enable_telemetry = exports.MCP = exports.ContextManager = exports.Session = exports.Route = exports.Parallel = exports.Knowledge = exports.when = exports.If = exports.Chunking = exports.prompt_with_handoff_instructions = exports.handoff_filters = exports.create_context_agent = exports.EmbeddingAgent = exports.RealtimeAgent = exports.VideoAgent = exports.VisionAgent = exports.OCRAgent = exports.CodeAgent = exports.GUARDRAIL_POLICY_PRESETS = exports.resolveGuardrailPolicies = exports.workflows = exports.obs = exports.memory = exports.config = exports.Tools = exports.AutoRagAgent = exports.DEFAULT_AUTO_KEYWORDS = exports.AutoRetrievalPolicy = exports.AGUI = exports.A2A = void 0;
69
+ exports.trace_context = exports.resolve_guardrail_policies = exports.track_workflow = exports.get_dimensions = exports.evaluate_condition = exports.discover_and_load_plugins = exports.discover_plugins = exports.parse_plugin_header_from_file = exports.parse_plugin_header = exports.load_plugin = void 0;
69
70
  // ============================================================================
70
71
  // CORE API - The main classes users should use
71
72
  // ============================================================================
@@ -137,9 +138,14 @@ Object.defineProperty(exports, "getToolsRegistry", { enumerable: true, get: func
137
138
  Object.defineProperty(exports, "createToolsRegistry", { enumerable: true, get: function () { return registry_1.createToolsRegistry; } });
138
139
  Object.defineProperty(exports, "resetToolsRegistry", { enumerable: true, get: function () { return registry_1.resetToolsRegistry; } });
139
140
  Object.defineProperty(exports, "ToolsRegistry", { enumerable: true, get: function () { return registry_1.ToolsRegistry; } });
141
+ Object.defineProperty(exports, "get_registry", { enumerable: true, get: function () { return registry_1.get_registry; } });
142
+ Object.defineProperty(exports, "get_tool", { enumerable: true, get: function () { return registry_1.get_tool; } });
143
+ Object.defineProperty(exports, "register_tool", { enumerable: true, get: function () { return registry_1.register_tool; } });
144
+ Object.defineProperty(exports, "validate_tool", { enumerable: true, get: function () { return registry_1.validate_tool; } });
140
145
  var registry_2 = require("./tools/registry");
141
146
  Object.defineProperty(exports, "MissingDependencyError", { enumerable: true, get: function () { return registry_2.MissingDependencyError; } });
142
147
  Object.defineProperty(exports, "MissingEnvVarError", { enumerable: true, get: function () { return registry_2.MissingEnvVarError; } });
148
+ Object.defineProperty(exports, "BudgetExceededError", { enumerable: true, get: function () { return registry_2.BudgetExceededError; } });
143
149
  var registry_3 = require("./tools/registry");
144
150
  Object.defineProperty(exports, "createLoggingMiddleware", { enumerable: true, get: function () { return registry_3.createLoggingMiddleware; } });
145
151
  Object.defineProperty(exports, "createTimeoutMiddleware", { enumerable: true, get: function () { return registry_3.createTimeoutMiddleware; } });
@@ -958,3 +964,62 @@ Object.defineProperty(exports, "obs", { enumerable: true, get: function () { ret
958
964
  Object.defineProperty(exports, "workflows", { enumerable: true, get: function () { return protocols_1.workflows; } });
959
965
  Object.defineProperty(exports, "resolveGuardrailPolicies", { enumerable: true, get: function () { return protocols_1.resolveGuardrailPolicies; } });
960
966
  Object.defineProperty(exports, "GUARDRAIL_POLICY_PRESETS", { enumerable: true, get: function () { return protocols_1.GUARDRAIL_POLICY_PRESETS; } });
967
+ // Export Parity Module (All remaining P0-P3 gaps for full Python SDK parity)
968
+ // Only export items that don't conflict with existing exports from other modules
969
+ var parity_1 = require("./parity");
970
+ // P0: Specialized Agents (new)
971
+ Object.defineProperty(exports, "CodeAgent", { enumerable: true, get: function () { return parity_1.CodeAgent; } });
972
+ Object.defineProperty(exports, "OCRAgent", { enumerable: true, get: function () { return parity_1.OCRAgent; } });
973
+ Object.defineProperty(exports, "VisionAgent", { enumerable: true, get: function () { return parity_1.VisionAgent; } });
974
+ Object.defineProperty(exports, "VideoAgent", { enumerable: true, get: function () { return parity_1.VideoAgent; } });
975
+ Object.defineProperty(exports, "RealtimeAgent", { enumerable: true, get: function () { return parity_1.RealtimeAgent; } });
976
+ Object.defineProperty(exports, "EmbeddingAgent", { enumerable: true, get: function () { return parity_1.EmbeddingAgent; } });
977
+ // P0: Handoff Functions (new)
978
+ Object.defineProperty(exports, "create_context_agent", { enumerable: true, get: function () { return parity_1.createContextAgent; } });
979
+ Object.defineProperty(exports, "handoff_filters", { enumerable: true, get: function () { return parity_1.handoffFilters; } });
980
+ Object.defineProperty(exports, "prompt_with_handoff_instructions", { enumerable: true, get: function () { return parity_1.promptWithHandoffInstructions; } });
981
+ // P1: Workflow Patterns (new)
982
+ Object.defineProperty(exports, "Chunking", { enumerable: true, get: function () { return parity_1.Chunking; } });
983
+ Object.defineProperty(exports, "If", { enumerable: true, get: function () { return parity_1.If; } });
984
+ Object.defineProperty(exports, "when", { enumerable: true, get: function () { return parity_1.when; } });
985
+ Object.defineProperty(exports, "Knowledge", { enumerable: true, get: function () { return parity_1.Knowledge; } });
986
+ Object.defineProperty(exports, "Parallel", { enumerable: true, get: function () { return parity_1.Parallel; } });
987
+ Object.defineProperty(exports, "Route", { enumerable: true, get: function () { return parity_1.Route; } });
988
+ Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return parity_1.Session; } });
989
+ // P2: Context Types (new - only items not already exported)
990
+ Object.defineProperty(exports, "ContextManager", { enumerable: true, get: function () { return parity_1.ContextManager; } });
991
+ Object.defineProperty(exports, "MCP", { enumerable: true, get: function () { return parity_1.MCP; } });
992
+ // P2: Telemetry Functions (new)
993
+ Object.defineProperty(exports, "enable_telemetry", { enumerable: true, get: function () { return parity_1.enableTelemetry; } });
994
+ Object.defineProperty(exports, "disable_telemetry", { enumerable: true, get: function () { return parity_1.disableTelemetry; } });
995
+ Object.defineProperty(exports, "get_telemetry", { enumerable: true, get: function () { return parity_1.getTelemetry; } });
996
+ Object.defineProperty(exports, "enable_performance_mode", { enumerable: true, get: function () { return parity_1.enablePerformanceMode; } });
997
+ Object.defineProperty(exports, "disable_performance_mode", { enumerable: true, get: function () { return parity_1.disablePerformanceMode; } });
998
+ Object.defineProperty(exports, "cleanup_telemetry_resources", { enumerable: true, get: function () { return parity_1.cleanupTelemetryResources; } });
999
+ // P3: Display callbacks (snake_case for Python parity)
1000
+ Object.defineProperty(exports, "register_display_callback", { enumerable: true, get: function () { return parity_1.register_display_callback; } });
1001
+ Object.defineProperty(exports, "sync_display_callbacks", { enumerable: true, get: function () { return parity_1.sync_display_callbacks; } });
1002
+ Object.defineProperty(exports, "async_display_callbacks", { enumerable: true, get: function () { return parity_1.async_display_callbacks; } });
1003
+ Object.defineProperty(exports, "display_error", { enumerable: true, get: function () { return parity_1.display_error; } });
1004
+ Object.defineProperty(exports, "display_generating", { enumerable: true, get: function () { return parity_1.display_generating; } });
1005
+ Object.defineProperty(exports, "display_instruction", { enumerable: true, get: function () { return parity_1.display_instruction; } });
1006
+ Object.defineProperty(exports, "display_interaction", { enumerable: true, get: function () { return parity_1.display_interaction; } });
1007
+ Object.defineProperty(exports, "display_self_reflection", { enumerable: true, get: function () { return parity_1.display_self_reflection; } });
1008
+ Object.defineProperty(exports, "display_tool_call", { enumerable: true, get: function () { return parity_1.display_tool_call; } });
1009
+ Object.defineProperty(exports, "error_logs", { enumerable: true, get: function () { return parity_1.error_logs; } });
1010
+ // P3: Plugin functions
1011
+ Object.defineProperty(exports, "get_plugin_manager", { enumerable: true, get: function () { return parity_1.get_plugin_manager; } });
1012
+ Object.defineProperty(exports, "get_default_plugin_dirs", { enumerable: true, get: function () { return parity_1.get_default_plugin_dirs; } });
1013
+ Object.defineProperty(exports, "ensure_plugin_dir", { enumerable: true, get: function () { return parity_1.ensure_plugin_dir; } });
1014
+ Object.defineProperty(exports, "get_plugin_template", { enumerable: true, get: function () { return parity_1.get_plugin_template; } });
1015
+ Object.defineProperty(exports, "load_plugin", { enumerable: true, get: function () { return parity_1.load_plugin; } });
1016
+ Object.defineProperty(exports, "parse_plugin_header", { enumerable: true, get: function () { return parity_1.parse_plugin_header; } });
1017
+ Object.defineProperty(exports, "parse_plugin_header_from_file", { enumerable: true, get: function () { return parity_1.parse_plugin_header_from_file; } });
1018
+ Object.defineProperty(exports, "discover_plugins", { enumerable: true, get: function () { return parity_1.discover_plugins; } });
1019
+ Object.defineProperty(exports, "discover_and_load_plugins", { enumerable: true, get: function () { return parity_1.discover_and_load_plugins; } });
1020
+ // P3: Trace & condition functions
1021
+ Object.defineProperty(exports, "evaluate_condition", { enumerable: true, get: function () { return parity_1.evaluate_condition; } });
1022
+ Object.defineProperty(exports, "get_dimensions", { enumerable: true, get: function () { return parity_1.get_dimensions; } });
1023
+ Object.defineProperty(exports, "track_workflow", { enumerable: true, get: function () { return parity_1.track_workflow; } });
1024
+ Object.defineProperty(exports, "resolve_guardrail_policies", { enumerable: true, get: function () { return parity_1.resolve_guardrail_policies; } });
1025
+ Object.defineProperty(exports, "trace_context", { enumerable: true, get: function () { return parity_1.trace_context; } });
@@ -117,6 +117,10 @@ export declare class MCPSecurity {
117
117
  * Get rate limit remaining
118
118
  */
119
119
  getRateLimitRemaining(clientId: string, config: RateLimitConfig): number;
120
+ /**
121
+ * Validate credentials for a given auth method (fail closed by default)
122
+ */
123
+ private validateCredentials;
120
124
  /**
121
125
  * Match policy against request
122
126
  */
@@ -115,6 +115,32 @@ class MCPSecurity {
115
115
  return config.requests;
116
116
  return Math.max(0, config.requests - state.count);
117
117
  }
118
+ /**
119
+ * Validate credentials for a given auth method (fail closed by default)
120
+ */
121
+ async validateCredentials(auth, token) {
122
+ switch (auth.method) {
123
+ case 'none':
124
+ return true;
125
+ case 'api-key':
126
+ case 'bearer':
127
+ if (auth.validate) {
128
+ return auth.validate(token);
129
+ }
130
+ if (this.apiKeys.size === 0) {
131
+ return false;
132
+ }
133
+ return this.validateApiKey(token);
134
+ case 'basic':
135
+ case 'oauth':
136
+ if (!auth.validate) {
137
+ return false;
138
+ }
139
+ return auth.validate(token);
140
+ default:
141
+ return false;
142
+ }
143
+ }
118
144
  /**
119
145
  * Match policy against request
120
146
  */
@@ -141,19 +167,16 @@ class MCPSecurity {
141
167
  case 'allow':
142
168
  return { allowed: true };
143
169
  case 'authenticate':
144
- if (!policy.auth)
145
- return { allowed: true };
170
+ if (!policy.auth) {
171
+ return { allowed: false, reason: 'Authentication policy misconfigured' };
172
+ }
146
173
  const token = request.headers ? this.extractToken(request.headers) : null;
147
- if (!token) {
174
+ if (!token || !token.trim()) {
148
175
  return { allowed: false, reason: 'Authentication required' };
149
176
  }
150
- if (policy.auth.method === 'api-key' || policy.auth.method === 'bearer') {
151
- const valid = policy.auth.validate
152
- ? await policy.auth.validate(token)
153
- : this.validateApiKey(token);
154
- if (!valid) {
155
- return { allowed: false, reason: 'Invalid credentials' };
156
- }
177
+ const valid = await this.validateCredentials(policy.auth, token);
178
+ if (!valid) {
179
+ return { allowed: false, reason: 'Invalid credentials' };
157
180
  }
158
181
  return { allowed: true, context: { authenticated: true } };
159
182
  case 'rate-limit':
@@ -85,6 +85,8 @@ export interface MCPServerConfig {
85
85
  port?: number | null;
86
86
  /** Enable logging */
87
87
  logging?: boolean;
88
+ /** Optional bearer token for HTTP transport (or set PRAISONAI_MCP_AUTH_TOKEN) */
89
+ authToken?: string;
88
90
  }
89
91
  /**
90
92
  * MCP Request
@@ -121,6 +123,7 @@ export declare class MCPServer {
121
123
  private logging;
122
124
  private running;
123
125
  private httpServer;
126
+ private authToken?;
124
127
  constructor(config?: MCPServerConfig);
125
128
  /**
126
129
  * Register a tool
@@ -174,6 +177,10 @@ export declare class MCPServer {
174
177
  * Start stdio transport
175
178
  */
176
179
  startStdio(): Promise<void>;
180
+ /**
181
+ * Verify HTTP bearer token when authToken is configured
182
+ */
183
+ private verifyHttpAuth;
177
184
  /**
178
185
  * Start HTTP transport
179
186
  */
@@ -65,6 +65,7 @@ class MCPServer {
65
65
  this.resources = new Map();
66
66
  this.prompts = new Map();
67
67
  this.logging = config.logging ?? false;
68
+ this.authToken = config.authToken ?? process.env.PRAISONAI_MCP_AUTH_TOKEN ?? undefined;
68
69
  // Register initial tools
69
70
  if (config.tools) {
70
71
  for (const tool of config.tools) {
@@ -315,6 +316,25 @@ class MCPServer {
315
316
  this.running = false;
316
317
  });
317
318
  }
319
+ /**
320
+ * Verify HTTP bearer token when authToken is configured
321
+ */
322
+ verifyHttpAuth(req) {
323
+ if (!this.authToken) {
324
+ return true;
325
+ }
326
+ const authHeader = req.headers.authorization ?? req.headers['Authorization'];
327
+ if (typeof authHeader === 'string') {
328
+ if (authHeader.startsWith('Bearer ') && authHeader.slice(7) === this.authToken) {
329
+ return true;
330
+ }
331
+ }
332
+ const xAuth = req.headers['x-auth-token'] ?? req.headers['X-Auth-Token'];
333
+ if (typeof xAuth === 'string' && xAuth === this.authToken) {
334
+ return true;
335
+ }
336
+ return false;
337
+ }
318
338
  /**
319
339
  * Start HTTP transport
320
340
  */
@@ -325,6 +345,11 @@ class MCPServer {
325
345
  const http = await Promise.resolve().then(() => __importStar(require('http')));
326
346
  this.httpServer = http.createServer(async (req, res) => {
327
347
  if (req.method === 'POST') {
348
+ if (!this.verifyHttpAuth(req)) {
349
+ res.writeHead(401, { 'Content-Type': 'application/json' });
350
+ res.end(JSON.stringify({ error: 'Unauthorized' }));
351
+ return;
352
+ }
328
353
  let body = '';
329
354
  req.on('data', chunk => body += chunk);
330
355
  req.on('end', async () => {
@@ -112,6 +112,25 @@ class AgentOS {
112
112
  next();
113
113
  });
114
114
  }
115
+ // Optional API key middleware (except /health)
116
+ if (this.config.apiKey) {
117
+ app.use((req, res, next) => {
118
+ if (req.path === '/health') {
119
+ return next();
120
+ }
121
+ const authHeader = req.headers.authorization;
122
+ if (typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
123
+ if (authHeader.slice(7) === this.config.apiKey) {
124
+ return next();
125
+ }
126
+ }
127
+ const xAuth = req.headers['x-auth-token'] ?? req.headers['X-Auth-Token'];
128
+ if (typeof xAuth === 'string' && xAuth === this.config.apiKey) {
129
+ return next();
130
+ }
131
+ return res.status(401).json({ error: 'Unauthorized' });
132
+ });
133
+ }
115
134
  // Register routes
116
135
  this._registerRoutes(app);
117
136
  return app;
@@ -45,6 +45,8 @@ export interface AgentOSConfig {
45
45
  timeout?: number;
46
46
  /** Additional metadata for the app */
47
47
  metadata?: Record<string, any>;
48
+ /** Optional API key for route protection (or set PRAISONAI_AGENTOS_API_KEY) */
49
+ apiKey?: string;
48
50
  }
49
51
  /**
50
52
  * Default configuration values for AgentOS.
package/dist/os/config.js CHANGED
@@ -33,15 +33,18 @@ exports.DEFAULT_AGENTOS_CONFIG = {
33
33
  logLevel: 'info',
34
34
  workers: 1,
35
35
  timeout: 60,
36
+ apiKey: '',
36
37
  metadata: {},
37
38
  };
38
39
  /**
39
40
  * Merge user config with defaults.
40
41
  */
41
42
  function mergeConfig(userConfig) {
43
+ const apiKey = userConfig?.apiKey ?? process.env.PRAISONAI_AGENTOS_API_KEY ?? '';
42
44
  return {
43
45
  ...exports.DEFAULT_AGENTOS_CONFIG,
44
46
  ...userConfig,
47
+ apiKey,
45
48
  metadata: {
46
49
  ...exports.DEFAULT_AGENTOS_CONFIG.metadata,
47
50
  ...userConfig?.metadata,