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/agent/simple.js +19 -2
- package/dist/ai/agent-loop.d.ts +4 -0
- package/dist/ai/agent-loop.js +33 -10
- package/dist/cli/features/external-agents.d.ts +23 -0
- package/dist/cli/features/external-agents.js +84 -0
- package/dist/cli/features/sandbox-executor.d.ts +7 -1
- package/dist/cli/features/sandbox-executor.js +65 -15
- package/dist/index.d.ts +3 -2
- package/dist/index.js +79 -14
- package/dist/mcp/security.d.ts +4 -0
- package/dist/mcp/security.js +33 -10
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +25 -0
- package/dist/os/agentos.js +19 -0
- package/dist/os/config.d.ts +2 -0
- package/dist/os/config.js +3 -0
- package/dist/parity/index.d.ts +1104 -0
- package/dist/parity/index.js +1366 -0
- package/dist/tools/builtins/code-mode.js +16 -16
- package/dist/tools/index.d.ts +5 -2
- package/dist/tools/index.js +32 -5
- package/dist/tools/registry/index.d.ts +2 -2
- package/dist/tools/registry/index.js +10 -1
- package/dist/tools/registry/registry.d.ts +33 -0
- package/dist/tools/registry/registry.js +79 -1
- package/dist/tools/registry/types.d.ts +17 -0
- package/dist/tools/registry/types.js +22 -1
- package/dist/tools/utility-tools.js +39 -9
- package/dist/workflows/yaml-parser.d.ts +4 -1
- package/dist/workflows/yaml-parser.js +42 -5
- package/package.json +2 -2
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.
|
|
56
|
-
exports.
|
|
57
|
-
exports.
|
|
58
|
-
exports.
|
|
59
|
-
exports.
|
|
60
|
-
exports.
|
|
61
|
-
exports.
|
|
62
|
-
exports.
|
|
63
|
-
exports.
|
|
64
|
-
exports.
|
|
65
|
-
exports.
|
|
66
|
-
exports.
|
|
67
|
-
exports.
|
|
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; } });
|
package/dist/mcp/security.d.ts
CHANGED
|
@@ -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
|
*/
|
package/dist/mcp/security.js
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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':
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -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
|
*/
|
package/dist/mcp/server.js
CHANGED
|
@@ -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 () => {
|
package/dist/os/agentos.js
CHANGED
|
@@ -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;
|
package/dist/os/config.d.ts
CHANGED
|
@@ -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,
|