mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-07 12:47:55 -10:00
149 KiB
149 KiB
PraisonAI API Reference
This file is auto-generated. Do not edit manually.
Regenerate with: praisonai docs api-md --write
Shared Types
Types:
from praisonaiagents import ContextPolicy, GuardrailResult, HandoffConfig, HandoffCycleError, HandoffDepthError, HandoffError, HandoffInputData, HandoffResult, HandoffTimeoutError, ReflectionOutput, StepResult, ToolResult, ToolValidationError, WorkflowContext
Methods:
GuardrailResult.from_tuple(result: Tuple[bool, Any]) -> 'GuardrailResult'HandoffConfig.from_dict(data: Dict[str, Any]) -> 'HandoffConfig'HandoffConfig.to_dict() -> Dict[str, Any]HandoffResult.from_outcome(outcome: AgentRunOutcome, target_agent: Optional[str] = None, source_agent: Optional[str] = None, handoff_depth: int = 0) -> 'HandoffResult'ToolResult.is_multimodal() -> boolToolResult.to_dict() -> Dict[str, Any]
Agents
Types:
from praisonaiagents import Agent, AutoAgents, AutoRagAgent, ContextAgent, DeepResearchAgent, ImageAgent, PlanningAgent, PraisonAIAgents, PromptExpanderAgent, QueryRewriterAgent, create_context_agent
Methods:
Agent.aclose() -> NoneAgent.add_mcp_server(name: str, mcp: Any) -> AnyAgent.add_verification(hook: Any) -> NoneAgent.agent_id() -> strAgent.analyze_prompt(prompt: str) -> setAgent.auto_memory() -> Optional[bool]Agent.auto_memory(value: Optional[bool]) -> NoneAgent.chat_history()Agent.chat_history(value)Agent.chat_with_context(message: str, context: 'ContextPack', **kwargs) -> strAgent.clone_for_channel() -> 'Agent'Agent.close() -> NoneAgent.console() -> Optional[Any]Agent.context_manager() -> Optional[Any]Agent.context_manager(value)Agent.cost_summary() -> dictAgent.diff(from_hash: Optional[str] = None)Agent.display_name() -> strAgent.from_template(uri: str, config: Optional[Dict[str, Any]] = None, offline: bool = False, **kwargs) -> 'Agent'Agent.get_available_tools() -> List[Any]Agent.get_learn_context() -> strAgent.get_memory_context(query: Optional[str] = None) -> strAgent.get_recommended_stage(prompt: str) -> strAgent.get_rules_context(file_path: Optional[str] = None, include_manual: Optional[List[str]] = None) -> strAgent.get_skills_prompt() -> strAgent.guardrail_retry_count() -> intAgent.handoff_to(target_agent: 'Agent', prompt: str, context: Optional[Dict[str, Any]] = None, config: Optional['HandoffConfig'] = None) -> 'HandoffResult'Agent.handoff_to_async(target_agent: 'Agent', prompt: str, context: Optional[Dict[str, Any]] = None, config: Optional['HandoffConfig'] = None) -> 'HandoffResult'Agent.is_closed() -> boolAgent.last_guardrail_error()Agent.last_stop_reason() -> strAgent.list_mcp_servers() -> List[str]Agent.llm_instance()Agent.llm_instance(value)Agent.llm_model() -> Optional[str]Agent.output_style() -> Optional[str]Agent.output_style(value: Optional[str]) -> NoneAgent.policy() -> Optional[Any]Agent.policy(value: Optional[Any]) -> NoneAgent.query(question: str, **kwargs) -> 'RAGResult'Agent.rag() -> Optional[Any]Agent.rag_query(question: str, **kwargs) -> 'RAGResult'Agent.reasoning_effort() -> Optional[str]Agent.reasoning_effort(value: Optional[str]) -> NoneAgent.redo() -> boolAgent.refresh_tools() -> List[Any]Agent.remove_mcp_server(name: str) -> boolAgent.remove_verification(name: str) -> boolAgent.retrieval_config() -> Optional[Any]Agent.retrieve(query: str, **kwargs) -> 'ContextPack'Agent.rules_manager() -> Optional[Any]Agent.run_autonomous(prompt: str, max_iterations: Optional[int] = None, timeout_seconds: Optional[float] = None, completion_promise: Optional[str] = None, clear_context: bool = False)Agent.run_autonomous_async(prompt: str, max_iterations: Optional[int] = None, timeout_seconds: Optional[float] = None, completion_promise: Optional[str] = None, clear_context: bool = False)Agent.run_until(prompt: str, criteria: str = '', threshold: float = 8.0, max_iterations: int = 5, mode: str = 'optimize', on_iteration: Optional[Callable[[Any], None]] = None, verbose: bool = False, goal: Optional[str] = None, goal_criteria: Optional[Any] = None, judge_model: Optional[str] = None) -> 'EvaluationLoopResult'Agent.run_until_async(prompt: str, criteria: str, threshold: float = 8.0, max_iterations: int = 5, mode: str = 'optimize', on_iteration: Optional[Callable[[Any], None]] = None, verbose: bool = False) -> 'EvaluationLoopResult'Agent.set_snapshot_root(project_path: str) -> boolAgent.skill_manager() -> Optional[Any]Agent.store_memory(content: str, memory_type: str = 'short_term', action: str = 'add', **kwargs: Any) -> NoneAgent.stream_emitter() -> Optional[Any]Agent.stream_emitter(value: Optional[Any]) -> NoneAgent.thinking_budget() -> Optional[int]Agent.thinking_budget(value: Optional[int]) -> NoneAgent.total_cost() -> floatAgent.undo() -> boolAgent.where_does_it_run() -> strAutoAgents.astart()AutoAgents.start()AutoRagAgent.achat(message: str, **kwargs) -> strAutoRagAgent.chat(message: str, **kwargs) -> strAutoRagAgent.name() -> strAutoRagAgent.rag() -> Optional['RAG']ContextAgent.aanalyze_codebase(project_path: str) -> Dict[str, Any]ContextAgent.acreate_implementation_blueprint(feature_request: str, context_analysis: Optional[Dict[str, Any]] = None) -> Dict[str, Any]ContextAgent.agenerate_prp(feature_request: str, context_analysis: Optional[Dict[str, Any]] = None) -> strContextAgent.analyze_codebase(project_path: str) -> Dict[str, Any]ContextAgent.analyze_codebase_with_gitingest(project_path: str) -> Dict[str, Any]ContextAgent.analyze_integration_points(project_path: str) -> Dict[str, Any]ContextAgent.analyze_test_patterns(project_path: str) -> Dict[str, Any]ContextAgent.build_implementation_blueprint(feature_request: str, context_analysis: Dict[str, Any] = None) -> Dict[str, Any]ContextAgent.compile_context_documentation(project_path: str) -> Dict[str, Any]ContextAgent.create_implementation_blueprint(feature_request: str, context_analysis: Optional[Dict[str, Any]] = None) -> Dict[str, Any]ContextAgent.create_quality_gates(requirements: List[str]) -> Dict[str, Any]ContextAgent.create_validation_framework(project_path: str) -> Dict[str, Any]ContextAgent.execute_prp(prp_file_path: str) -> Dict[str, Any]ContextAgent.extract_implementation_patterns(project_path: str, ast_analysis: Dict[str, Any] = None) -> Dict[str, Any]ContextAgent.generate_comprehensive_prp(feature_request: str, context_analysis: Dict[str, Any] = None) -> strContextAgent.generate_feature_prp(feature_request: str) -> strContextAgent.generate_prp(feature_request: str, context_analysis: Optional[Dict[str, Any]] = None) -> strContextAgent.get_agent_interaction_summary() -> Dict[str, Any]ContextAgent.log_debug(message: str, **kwargs)ContextAgent.perform_ast_analysis(project_path: str) -> Dict[str, Any]ContextAgent.save_comprehensive_session_report()ContextAgent.save_markdown_output(content: str, filename: str, section_title: str = 'Output')ContextAgent.setup_logging()ContextAgent.setup_output_directories()ContextAgent.start(input_text: str) -> strDeepResearchAgent.aresearch(query: str, instructions: Optional[str] = None, model: Optional[str] = None, summary_mode: Optional[Literal['auto', 'detailed', 'concise']] = None, web_search: Optional[bool] = None, code_interpreter: Optional[bool] = None, mcp_servers: Optional[List[Dict[str, Any]]] = None, file_ids: Optional[List[str]] = None, file_search: Optional[bool] = None, file_search_stores: Optional[List[str]] = None) -> DeepResearchResponseDeepResearchAgent.async_openai_client()DeepResearchAgent.clarify(query: str, model: Optional[str] = None) -> strDeepResearchAgent.follow_up(query: str, previous_interaction_id: str, model: Optional[str] = None) -> DeepResearchResponseDeepResearchAgent.gemini_client()DeepResearchAgent.openai_client()DeepResearchAgent.research(query: str, instructions: Optional[str] = None, model: Optional[str] = None, summary_mode: Optional[Literal['auto', 'detailed', 'concise']] = None, web_search: Optional[bool] = None, code_interpreter: Optional[bool] = None, mcp_servers: Optional[List[Dict[str, Any]]] = None, file_ids: Optional[List[str]] = None, file_search: Optional[bool] = None, file_search_stores: Optional[List[str]] = None, stream: bool = True) -> DeepResearchResponseDeepResearchAgent.rewrite_query(query: str, model: Optional[str] = None) -> strImageAgent.achat(prompt: str, temperature: float = 0.2, tools: Optional[List[Any]] = None, output_json: Optional[str] = None, output_pydantic: Optional[Any] = None, reasoning_steps: bool = False, **kwargs) -> Union[str, Dict[str, Any]]ImageAgent.aedit(image: str, prompt: str, mask: Optional[str] = None, n: int = 1, size: Optional[str] = None, **kwargs) -> Dict[str, Any]ImageAgent.agenerate(prompt: str, **kwargs) -> Dict[str, Any]ImageAgent.agenerate_image(prompt: str, **kwargs) -> Dict[str, Any]ImageAgent.avariation(image: str, n: int = 1, size: Optional[str] = None, **kwargs) -> Dict[str, Any]ImageAgent.chat(prompt: str, **kwargs) -> Dict[str, Any]ImageAgent.edit(image: str, prompt: str, mask: Optional[str] = None, n: int = 1, size: Optional[str] = None, **kwargs) -> Dict[str, Any]ImageAgent.generate(prompt: str, **kwargs) -> Dict[str, Any]ImageAgent.generate_image(prompt: str, **kwargs) -> Dict[str, Any]ImageAgent.litellm()ImageAgent.variation(image: str, n: int = 1, size: Optional[str] = None, **kwargs) -> Dict[str, Any]PlanningAgent.analyze_context(context: str) -> strPlanningAgent.analyze_context_sync(context: str) -> strPlanningAgent.create_plan(request: str, agents: List['Agent'], tasks: Optional[List['Task']] = None, context: Optional[str] = None) -> PlanPlanningAgent.create_plan_sync(request: str, agents: List['Agent'], tasks: Optional[List['Task']] = None, context: Optional[str] = None) -> PlanPlanningAgent.is_tool_allowed(tool_name: str) -> boolPlanningAgent.refine_plan(plan: Plan, feedback: str) -> PlanPlanningAgent.refine_plan_sync(plan: Plan, feedback: str) -> PlanPromptExpanderAgent.agent()PromptExpanderAgent.expand(prompt: str, strategy: ExpandStrategy = ..., context: Optional[str] = None) -> ExpandResultPromptExpanderAgent.expand_basic(prompt: str, context: Optional[str] = None) -> ExpandResultPromptExpanderAgent.expand_creative(prompt: str, context: Optional[str] = None) -> ExpandResultPromptExpanderAgent.expand_detailed(prompt: str, context: Optional[str] = None) -> ExpandResultPromptExpanderAgent.expand_structured(prompt: str, context: Optional[str] = None) -> ExpandResultQueryRewriterAgent.add_abbreviation(abbrev: str, expansion: str) -> NoneQueryRewriterAgent.add_abbreviations(abbreviations: Dict[str, str]) -> NoneQueryRewriterAgent.agent()QueryRewriterAgent.rewrite(query: str, strategy: RewriteStrategy = ..., chat_history: Optional[List[Dict[str, str]]] = None, context: Optional[str] = None, num_queries: int = None) -> RewriteResultQueryRewriterAgent.rewrite_basic(query: str) -> RewriteResultQueryRewriterAgent.rewrite_contextual(query: str, chat_history: List[Dict[str, str]]) -> RewriteResultQueryRewriterAgent.rewrite_hyde(query: str) -> RewriteResultQueryRewriterAgent.rewrite_multi_query(query: str, num_queries: int = None) -> RewriteResultQueryRewriterAgent.rewrite_step_back(query: str) -> RewriteResultQueryRewriterAgent.rewrite_sub_queries(query: str) -> RewriteResultpraisonaiagents.create_context_agent(llm: Optional[Union[str, Any]] = None, **kwargs) -> ContextAgent
Tools
Types:
from praisonaiagents import BaseTool, FunctionTool, ToolRegistry, Tools, get_registry, get_tool, register_tool, tool, validate_tool
Methods:
BaseTool.call(**kwargs) -> AnyBaseTool.get_schema() -> Dict[str, Any]BaseTool.run(**kwargs) -> AnyBaseTool.safe_run(**kwargs) -> ToolResultBaseTool.to_model_output(result: Any) -> Optional[Any]BaseTool.validate() -> boolBaseTool.validate_class() -> boolBaseTool.validate_schema_roundtrip() -> boolFunctionTool.call(*args, **kwargs) -> AnyFunctionTool.check_availability() -> tuple[bool, str]FunctionTool.injected_params() -> Dict[str, Any]FunctionTool.run(**kwargs) -> AnyFunctionTool.to_model_output(result: Any) -> Optional[Any]ToolRegistry.clear() -> NoneToolRegistry.discover_plugins() -> intToolRegistry.discover_single_file_plugins() -> intToolRegistry.get(name: str) -> Optional[Union[BaseTool, Callable]]ToolRegistry.get_all() -> Dict[str, Union[BaseTool, Callable]]ToolRegistry.get_tool_definition(name: str) -> Optional[Dict[str, Any]]ToolRegistry.get_tool_definitions(permission_resolver: Optional[Callable[[str], bool]] = None) -> List[Dict[str, Any]]ToolRegistry.get_trust_level(name: str) -> Optional[str]ToolRegistry.list_available_tools(context: Optional[Dict[str, Any]] = None, ttl_seconds: Optional[float] = None) -> List[Union[BaseTool, Callable]]ToolRegistry.list_base_tools() -> List[BaseTool]ToolRegistry.list_tools() -> List[str]ToolRegistry.list_tools_with_allowed_filter(context: Optional[Dict[str, Any]] = None) -> List[str]ToolRegistry.register(tool: Union[BaseTool, Callable], name: Optional[str] = None, overwrite: bool = False, trust_level: Optional[str] = None, dynamic_schema_overrides: Optional[Callable[[Dict[str, Any]], Dict[str, Any]]] = None) -> NoneToolRegistry.unregister(name: str) -> boolTools.internet_search(*args, **kwargs)praisonaiagents.get_registry() -> ToolRegistrypraisonaiagents.get_tool(name: str) -> Optional[Union[BaseTool, Callable]]praisonaiagents.register_tool(tool: Union[BaseTool, Callable], name: Optional[str] = None, trust_level: Optional[str] = None, dynamic_schema_overrides: Optional[Callable[[Dict[str, Any]], Dict[str, Any]]] = None) -> Nonepraisonaiagents.tool(func: Optional[Callable] = None) -> Union[FunctionTool, Callable[[Callable], FunctionTool]]praisonaiagents.validate_tool(tool: Any) -> bool
Workflows
Types:
from praisonaiagents import Loop, Parallel, Pipeline, Repeat, Route, Task, Workflow, loop, parallel, repeat, route
Methods:
Task.depends_on()Task.depends_on(value)Task.evaluate_when(context: Dict[str, Any]) -> boolTask.execute_callback(task_output: TaskOutput) -> NoneTask.execute_callback_sync(task_output: TaskOutput) -> NoneTask.get_next_task(context: Dict[str, Any]) -> Optional[str]Task.initialize_memory()Task.initialize_memory_async()Task.set_status(new_status: str) -> NoneTask.store_in_memory(content: str, agent_name: str = None, task_id: str = None)Task.to_dict() -> Dict[str, Any]praisonaiagents.loop(step: Any = None, steps: Optional[List[Any]] = None, over: Optional[str] = None, from_csv: Optional[str] = None, from_file: Optional[str] = None, var_name: str = 'item', parallel: bool = False, max_workers: Optional[int] = None, output_variable: Optional[str] = None, context: str = 'full') -> Looppraisonaiagents.parallel(steps: List, max_workers: Optional[int] = None, on_failure: str = 'partial_ok', timeout: Optional[float] = None, context: str = 'full') -> Parallelpraisonaiagents.repeat(step: Any, until: Optional[Callable[[WorkflowContext], bool]] = None, max_iterations: int = 10) -> Repeatpraisonaiagents.route(routes: Dict[str, List], default: Optional[List] = None) -> Route
Memory
Types:
from praisonaiagents import Memory, MemoryBackend, MemoryConfig
Methods:
Memory.acommit_memory_batch(writes: List[tuple]) -> NoneMemory.build_cache_optimized_context(task_descr: str, user_id: Optional[str] = None, additional: str = '', max_items: int = 3, include_cache_boundary: bool = True, include_in_output: Optional[bool] = None) -> Dict[str, str]Memory.build_context_for_task(task_descr: str, user_id: Optional[str] = None, additional: str = '', max_items: int = 3, include_in_output: Optional[bool] = None) -> strMemory.calculate_quality_metrics(output: str, expected_output: str, llm: Optional[str] = None, custom_prompt: Optional[str] = None) -> Dict[str, float]Memory.close_connections()Memory.commit_memory_batch(writes: List[tuple]) -> NoneMemory.compute_quality_score(completeness: float, relevance: float, clarity: float, accuracy: float, weights: Dict[str, float] = None) -> floatMemory.delete_long_term(memory_id: str) -> boolMemory.delete_memories(memory_ids: List[str]) -> intMemory.delete_memories_matching(query: str, memory_type: Optional[str] = None, limit: int = 10) -> intMemory.delete_memory(memory_id: str, memory_type: Optional[str] = None) -> boolMemory.delete_short_term(memory_id: str) -> boolMemory.finalize_task_output(content: str, agent_name: str, quality_score: float, threshold: float = 0.7, metrics: Dict[str, Any] = None, task_id: str = None)Memory.forget(**kwargs) -> intMemory.get_all_memories() -> List[Dict[str, Any]]Memory.get_context(query: Optional[str] = None, **kwargs) -> strMemory.get_learn_context() -> strMemory.learn()Memory.recall(query: str, **kwargs) -> List[Dict[str, Any]]Memory.remember(content: str, **kwargs) -> strMemory.reset_all()Memory.reset_entity_only()Memory.reset_long_term()Memory.reset_short_term()Memory.reset_user_memory()Memory.search(query: str, user_id: Optional[str] = None, agent_id: Optional[str] = None, run_id: Optional[str] = None, limit: int = 5, rerank: bool = False, **kwargs) -> List[Dict[str, Any]]Memory.search_entity(query: str, limit: int = 5) -> List[Dict[str, Any]]Memory.search_long_term(query: str, limit: int = 5, relevance_cutoff: float = 0.0, min_quality: float = 0.0, rerank: bool = False, metadata_filter: Optional[Dict[str, Any]] = None, user_id: Optional[str] = None, min_trust = None, **kwargs) -> List[Dict[str, Any]]Memory.search_short_term(query: str, limit: int = 5, min_quality: float = 0.0, relevance_cutoff: float = 0.0, rerank: bool = False, metadata_filter: Optional[Dict[str, Any]] = None, user_id: Optional[str] = None, min_trust = None, **kwargs) -> List[Dict[str, Any]]Memory.search_user_memory(user_id: str, query: str, limit: int = 5, rerank: bool = False, **kwargs) -> List[Dict[str, Any]]Memory.search_with_quality(query: str, min_quality: float = 0.0, memory_type: Literal['short', 'long'] = 'long', limit: int = 5) -> List[Dict[str, Any]]Memory.store_entity(name: str, type_: str, desc: str, relations: str)Memory.store_long_term(text: str, metadata: Dict[str, Any] = None, completeness: float = None, relevance: float = None, clarity: float = None, accuracy: float = None, weights: Dict[str, float] = None, evaluator_quality: float = None, trust = None, origin: Optional[str] = None)Memory.store_quality(text: str, quality_score: float, task_id: Optional[str] = None, iteration: Optional[int] = None, metrics: Optional[Dict[str, float]] = None, memory_type: Literal['short', 'long'] = 'long') -> NoneMemory.store_short_term(text: str, metadata: Dict[str, Any] = None, completeness: float = None, relevance: float = None, clarity: float = None, accuracy: float = None, weights: Dict[str, float] = None, evaluator_quality: float = None, trust = None, origin: Optional[str] = None)Memory.store_user_memory(user_id: str, text: str, extra: Dict[str, Any] = None)MemoryConfig.to_dict() -> Dict[str, Any]
Knowledge
Types:
from praisonaiagents import Chunking, ChunkingStrategy, Knowledge, KnowledgeConfig
Methods:
Chunking.SUPPORTED_CHUNKERS() -> Dict[str, Any]Chunking.call(text: Union[str, List[str]], **kwargs) -> Union[List[Any], List[List[Any]]]Chunking.chunk(text: Union[str, List[str]], **kwargs) -> Union[List[Any], List[List[Any]]]Chunking.chunker()Chunking.embedding_model()Knowledge.add(file_path, user_id = None, agent_id = None, run_id = None, metadata = None)Knowledge.chunker()Knowledge.config()Knowledge.delete(memory_id)Knowledge.delete_all(user_id = None, agent_id = None, run_id = None)Knowledge.get(memory_id)Knowledge.get_all(user_id = None, agent_id = None, run_id = None)Knowledge.get_corpus_stats()Knowledge.history(memory_id)Knowledge.index(path: str, incremental: bool = True, force: bool = False, include_glob: list = None, exclude_glob: list = None, user_id: str = None, agent_id: str = None, run_id: str = None)Knowledge.markdown()Knowledge.memory()Knowledge.normalize_content(content)Knowledge.reset() -> boolKnowledge.search(query, user_id = None, agent_id = None, run_id = None, rerank = None, **kwargs)Knowledge.store(content, user_id = None, agent_id = None, run_id = None, metadata = None, is_content = False)Knowledge.update(memory_id, data)KnowledgeConfig.to_dict() -> Dict[str, Any]
RAG
Types:
from praisonaiagents import CitationsMode, ContextPack, RAG, RAGCitation, RAGConfig, RAGResult, RetrievalConfig, RetrievalPolicy
Methods:
ContextPack.format_for_prompt(include_sources: bool = True) -> strContextPack.from_dict(data: Dict[str, Any]) -> 'ContextPack'ContextPack.has_citations() -> boolContextPack.to_dict() -> Dict[str, Any]RAG.aquery(question: str, user_id: Optional[str] = None, agent_id: Optional[str] = None, run_id: Optional[str] = None, **kwargs) -> RAGResultRAG.aretrieve(query: str, **kwargs) -> ContextPackRAG.astream(question: str, user_id: Optional[str] = None, agent_id: Optional[str] = None, run_id: Optional[str] = None, **kwargs) -> AsyncIterator[str]RAG.get_citations(question: str, user_id: Optional[str] = None, agent_id: Optional[str] = None, run_id: Optional[str] = None, **kwargs) -> List[Citation]RAG.llm()RAG.query(question: str, user_id: Optional[str] = None, agent_id: Optional[str] = None, run_id: Optional[str] = None, **kwargs) -> RAGResultRAG.retrieve(query: str, **kwargs) -> ContextPackRAG.stream(question: str, user_id: Optional[str] = None, agent_id: Optional[str] = None, run_id: Optional[str] = None, **kwargs) -> Iterator[str]RAGCitation.from_dict(data: Dict[str, Any]) -> 'Citation'RAGCitation.to_dict() -> Dict[str, Any]RAGConfig.from_dict(data: Dict[str, Any]) -> 'RAGConfig'RAGConfig.to_dict() -> Dict[str, Any]RAGResult.format_answer_with_citations() -> strRAGResult.from_dict(data: Dict[str, Any]) -> 'RAGResult'RAGResult.has_citations() -> boolRAGResult.to_dict() -> Dict[str, Any]RetrievalConfig.from_dict(data: Dict[str, Any]) -> 'RetrievalConfig'RetrievalConfig.get_strategy(corpus_stats = None)RetrievalConfig.get_token_budget(model_name: Optional[str] = None)RetrievalConfig.should_retrieve(query: str, force: bool = False, skip: bool = False) -> boolRetrievalConfig.to_dict() -> Dict[str, Any]RetrievalConfig.to_knowledge_config() -> Dict[str, Any]RetrievalConfig.to_rag_config() -> Dict[str, Any]
Handoff
Types:
from praisonaiagents import Handoff, RECOMMENDED_PROMPT_PREFIX, handoff, handoff_filters, prompt_with_handoff_instructions
Methods:
Handoff.default_tool_description() -> strHandoff.default_tool_name() -> strHandoff.execute_async(source_agent: 'Agent', prompt: str, context: Optional[Dict[str, Any]] = None) -> HandoffResultHandoff.execute_programmatic(source_agent: 'Agent', prompt: str, context: Optional[Dict[str, Any]] = None) -> HandoffResultHandoff.to_tool_function(source_agent: 'Agent') -> CallableHandoff.tool_description() -> strHandoff.tool_name() -> strpraisonaiagents.handoff(agent: 'Agent', tool_name_override: Optional[str] = None, tool_description_override: Optional[str] = None, on_handoff: Optional[Callable] = None, input_type: Optional[type] = None, input_filter: Optional[Callable[[HandoffInputData], HandoffInputData]] = None, config: Optional[HandoffConfig] = None, context_policy: Optional[str] = None, timeout_seconds: Optional[float] = None, max_concurrent: Optional[int] = None, detect_cycles: Optional[bool] = None, max_depth: Optional[int] = None, tool_policy_mode: Optional[Literal['intersect', 'passthrough']] = None, blocked_tools: Optional[List[str]] = None) -> Handoffhandoff_filters.compress_history(data: HandoffInputData) -> HandoffInputDatahandoff_filters.keep_last_n_messages(n: int) -> Callable[[HandoffInputData], HandoffInputData]handoff_filters.remove_all_tools(data: HandoffInputData) -> HandoffInputDatahandoff_filters.remove_system_messages(data: HandoffInputData) -> HandoffInputDatapraisonaiagents.prompt_with_handoff_instructions(base_prompt: str, agent: 'Agent') -> str
Guardrails
Types:
from praisonaiagents import GuardrailAction, GuardrailConfig, LLMGuardrail
Methods:
GuardrailConfig.to_dict() -> Dict[str, Any]LLMGuardrail.call(task_output) -> Tuple[bool, Union[str, 'TaskOutput']]LLMGuardrail.validate_input(content: str, **kwargs) -> Tuple[bool, str]LLMGuardrail.validate_output(content: str, **kwargs) -> Tuple[bool, str]LLMGuardrail.validate_tool_call(tool_name: str, arguments: Dict[str, Any], **kwargs) -> Tuple[bool, Dict[str, Any]]LLMGuardrail.validate_tool_result(tool_name: str, result: Any, **kwargs) -> Tuple[bool, Any]
Planning
Types:
from praisonaiagents import ApprovalCallback, Plan, PlanStep, PlanStorage, PlanningConfig, READ_ONLY_TOOLS, RESTRICTED_TOOLS, TodoItem, TodoList
Methods:
ApprovalCallback.call(plan: 'Plan') -> boolApprovalCallback.always_approve(plan: 'Plan') -> boolApprovalCallback.always_reject(plan: 'Plan') -> boolApprovalCallback.approve_if_no_dangerous_tools(plan: 'Plan') -> boolApprovalCallback.approve_if_small(plan: 'Plan', max_steps: int = 5) -> boolApprovalCallback.async_call(plan: 'Plan') -> boolApprovalCallback.console_approval(plan: 'Plan') -> boolPlan.add_step(step: PlanStep) -> NonePlan.approve() -> NonePlan.cancel() -> NonePlan.complete() -> NonePlan.completed_step_ids() -> List[str]Plan.from_dict(data: Dict[str, Any]) -> 'Plan'Plan.from_markdown(markdown: str) -> 'Plan'Plan.get_next_steps() -> List[PlanStep]Plan.get_step(step_id: str) -> Optional[PlanStep]Plan.is_complete() -> boolPlan.progress() -> floatPlan.remove_step(step_id: str) -> boolPlan.start_execution() -> NonePlan.to_dict() -> Dict[str, Any]Plan.to_markdown() -> strPlan.update_step_status(step_id: str, status: str) -> boolPlanStep.from_dict(data: Dict[str, Any]) -> 'PlanStep'PlanStep.is_ready(completed_steps: List[str]) -> boolPlanStep.mark_complete() -> NonePlanStep.mark_in_progress() -> NonePlanStep.mark_skipped() -> NonePlanStep.to_dict() -> Dict[str, Any]PlanStorage.cleanup_old_plans(keep_count: int = 10) -> intPlanStorage.delete_plan(plan_id: str) -> boolPlanStorage.delete_todo(name: str) -> boolPlanStorage.get_latest_plan() -> Optional[Plan]PlanStorage.list_plans() -> List[Dict[str, Any]]PlanStorage.list_todos() -> List[str]PlanStorage.load_plan(plan_id: str) -> Optional[Plan]PlanStorage.load_plan_from_file(path: str) -> Optional[Plan]PlanStorage.load_todo(name: str = 'current') -> Optional[TodoList]PlanStorage.save_plan(plan: Plan, filename: Optional[str] = None) -> strPlanStorage.save_todo(todo: TodoList, name: str = 'current') -> strPlanningConfig.to_dict() -> Dict[str, Any]TodoItem.complete() -> NoneTodoItem.from_dict(data: Dict[str, Any]) -> 'TodoItem'TodoItem.is_ready(completed_ids: List[str]) -> boolTodoItem.reset() -> NoneTodoItem.start() -> NoneTodoItem.to_dict() -> Dict[str, Any]TodoList.add(item: Union[TodoItem, str]) -> TodoItemTodoList.complete(item_id: str) -> boolTodoList.completed() -> List[TodoItem]TodoList.completed_ids() -> List[str]TodoList.from_dict(data: Dict[str, Any]) -> 'TodoList'TodoList.from_json(json_str: str) -> 'TodoList'TodoList.from_markdown(markdown: str) -> 'TodoList'TodoList.from_plan(plan: 'Plan') -> 'TodoList'TodoList.get(item_id: str) -> Optional[TodoItem]TodoList.get_ready_items() -> List[TodoItem]TodoList.in_progress() -> List[TodoItem]TodoList.is_complete() -> boolTodoList.pending() -> List[TodoItem]TodoList.progress() -> floatTodoList.remove(item_id: str) -> boolTodoList.start(item_id: str) -> boolTodoList.sync_with_plan(plan: 'Plan') -> NoneTodoList.to_dict() -> Dict[str, Any]TodoList.to_json() -> strTodoList.to_markdown() -> strTodoList.update_from_plan(plan: 'Plan') -> None
Skills
Types:
from praisonaiagents import SkillLoader, SkillsConfig
Methods:
SkillLoader.activate(skill: LoadedSkill) -> boolSkillLoader.load(skill_path: str, activate: bool = False) -> Optional[LoadedSkill]SkillLoader.load_all_resources(skill: LoadedSkill) -> NoneSkillLoader.load_assets(skill: LoadedSkill) -> dictSkillLoader.load_metadata(skill_path: str) -> Optional[LoadedSkill]SkillLoader.load_references(skill: LoadedSkill) -> dictSkillLoader.load_scripts(skill: LoadedSkill) -> dictSkillsConfig.to_dict() -> Dict[str, Any]
Session
Types:
from praisonaiagents import Session
Methods:
Session.Agent(name: str, role: str = 'Assistant', instructions: Optional[str] = None, tools: Optional[List[Any]] = None, memory: bool = True, knowledge: Optional[List[str]] = None, **kwargs) -> 'Agent'Session.add_knowledge(source: str) -> NoneSession.add_memory(text: str, memory_type: str = 'long', **metadata) -> NoneSession.chat(message: str, **kwargs) -> strSession.clear_memory(memory_type: str = 'all') -> NoneSession.close() -> NoneSession.create_agent(*args, **kwargs) -> 'Agent'Session.get_context(query: str, max_items: int = 3) -> strSession.get_state(key: str, default: Any = None) -> AnySession.increment_state(key: str, increment: int = 1, default: int = 0) -> NoneSession.is_expired() -> boolSession.knowledge() -> 'Knowledge'Session.memory() -> 'Memory'Session.restore_state() -> Dict[str, Any]Session.save_state(state_data: Dict[str, Any]) -> NoneSession.search_knowledge(query: str, limit: int = 5) -> List[Dict[str, Any]]Session.search_memory(query: str, memory_type: str = 'long', limit: int = 5) -> List[Dict[str, Any]]Session.send_message(message: str, **kwargs) -> strSession.set_state(key: str, value: Any) -> NoneSession.time_to_expiry() -> Optional[float]
MCP
Types:
from praisonaiagents import MCP
Methods:
MCP.apply_tool_filters(allowed_tools: Optional[List[str]] = None, disabled_tools: Optional[List[str]] = None) -> 'MCP'MCP.get_prompts() -> List[dict]MCP.get_resources() -> List[dict]MCP.get_tools() -> List[Callable]MCP.list_active_server_names() -> setMCP.shutdown()MCP.to_openai_tool()MCP.with_tool_prefix(prefix: str) -> 'MCP'
Telemetry
Types:
from praisonaiagents import MinimalTelemetry, TelemetryCollector, cleanup_telemetry_resources, disable_performance_mode, disable_telemetry, enable_performance_mode, enable_telemetry, get_telemetry
Methods:
MinimalTelemetry.flush()MinimalTelemetry.get_metrics() -> Dict[str, Any]MinimalTelemetry.shutdown()MinimalTelemetry.track_agent_execution(agent_name: str = None, success: bool = True, async_mode: bool = False)MinimalTelemetry.track_error(error_type: str = None)MinimalTelemetry.track_feature_usage(feature_name: str)MinimalTelemetry.track_task_completion(task_name: str = None, success: bool = True)MinimalTelemetry.track_tool_usage(tool_name: str, success: bool = True, execution_time: float = None)TelemetryCollector.get_metrics() -> Dict[str, Any]TelemetryCollector.record_cost(cost: float, model: str = None)TelemetryCollector.record_tokens(prompt_tokens: int, completion_tokens: int, model: str = None)TelemetryCollector.start()TelemetryCollector.stop()TelemetryCollector.trace_agent_execution(agent_name: str, **attributes)TelemetryCollector.trace_llm_call(model: str = None, **attributes)TelemetryCollector.trace_task_execution(task_name: str, agent_name: str = None, **attributes)TelemetryCollector.trace_tool_call(tool_name: str, **attributes)praisonaiagents.cleanup_telemetry_resources()praisonaiagents.disable_performance_mode()praisonaiagents.disable_telemetry()praisonaiagents.enable_performance_mode()praisonaiagents.enable_telemetry()praisonaiagents.get_telemetry() -> 'MinimalTelemetry'
Observability
Types:
from praisonaiagents import FlowDisplay, track_workflow
Methods:
FlowDisplay.display()FlowDisplay.start()FlowDisplay.stop()praisonaiagents.track_workflow()
Context
Types:
from praisonaiagents import ContextManager
Methods:
ContextManager.capture_llm_boundary(messages: List[Dict[str, Any]], tools: List[Dict[str, Any]]) -> SnapshotHookDataContextManager.emergency_truncate(messages: List[Dict[str, Any]], target_tokens: int) -> List[Dict[str, Any]]ContextManager.estimate_tokens(text: str, validate: bool = False) -> Tuple[int, Optional[EstimationMetrics]]ContextManager.get_history() -> List[Dict[str, Any]]ContextManager.get_last_snapshot_hook() -> Optional[SnapshotHookData]ContextManager.get_resolved_config() -> Dict[str, Any]ContextManager.get_stats() -> Dict[str, Any]ContextManager.get_tool_budget(tool_name: str) -> intContextManager.process(messages: List[Dict[str, Any]], system_prompt: str = '', tools: Optional[List[Dict[str, Any]]] = None, trigger: Literal['turn', 'tool_call', 'manual', 'overflow'] = 'turn') -> Dict[str, Any]ContextManager.register_snapshot_callback(callback: Callable[[SnapshotHookData], None]) -> NoneContextManager.reset() -> NoneContextManager.set_tool_budget(tool_name: str, max_tokens: int, protected: bool = False) -> NoneContextManager.truncate_tool_output(tool_name: str, output: str, tool_call_id: str = None, run_id: str = None) -> str
UI
Types:
from praisonaiagents import A2UI
Config
Types:
from praisonaiagents import AutonomyConfig, AutonomyLevel, CachingConfig, ExecutionConfig, ExecutionPreset, GuardrailConfig, HooksConfig, KnowledgeConfig, MemoryConfig, MultiAgentExecutionConfig, MultiAgentHooksConfig, MultiAgentMemoryConfig, MultiAgentOutputConfig, MultiAgentPlanningConfig, OutputConfig, OutputPreset, PlanningConfig, ReflectionConfig, SkillsConfig, TemplateConfig, WebConfig, WebSearchProvider
Methods:
AutonomyConfig.effective_track_changes() -> boolAutonomyConfig.from_dict(data: Dict[str, Any]) -> 'AutonomyConfig'CachingConfig.to_dict() -> Dict[str, Any]ExecutionConfig.from_dict(data: Dict[str, Any]) -> 'ExecutionConfig'ExecutionConfig.resolved_max_steps() -> intExecutionConfig.resolved_max_tool_calls() -> intExecutionConfig.to_dict() -> Dict[str, Any]GuardrailConfig.to_dict() -> Dict[str, Any]HooksConfig.to_dict() -> Dict[str, Any]KnowledgeConfig.to_dict() -> Dict[str, Any]MemoryConfig.to_dict() -> Dict[str, Any]MultiAgentExecutionConfig.to_dict() -> Dict[str, Any]MultiAgentHooksConfig.to_dict() -> Dict[str, Any]MultiAgentMemoryConfig.to_dict() -> Dict[str, Any]MultiAgentOutputConfig.to_dict() -> Dict[str, Any]MultiAgentPlanningConfig.to_dict() -> Dict[str, Any]OutputConfig.to_dict() -> Dict[str, Any]PlanningConfig.to_dict() -> Dict[str, Any]ReflectionConfig.to_dict() -> Dict[str, Any]SkillsConfig.to_dict() -> Dict[str, Any]TemplateConfig.to_dict() -> Dict[str, Any]WebConfig.to_dict() -> Dict[str, Any]
Display
Types:
from praisonaiagents import async_display_callbacks, clean_triple_backticks, display_error, display_generating, display_instruction, display_interaction, display_self_reflection, display_tool_call, error_logs, register_display_callback, sync_display_callbacks
Methods:
praisonaiagents.clean_triple_backticks(text: str) -> strpraisonaiagents.display_error(message: str, console = None)praisonaiagents.display_generating(content: str = '', start_time: Optional[float] = None)praisonaiagents.display_instruction(message: str, console = None, agent_name: str = None, agent_role: str = None, agent_tools: List[str] = None)praisonaiagents.display_interaction(message, response, markdown = True, generation_time = None, console = None, agent_name = None, agent_role = None, agent_tools = None, task_name = None, task_description = None, task_id = None, metrics = None)praisonaiagents.display_self_reflection(message: str, console = None)praisonaiagents.display_tool_call(message: str, console = None, tool_name: str = None, tool_input: dict = None, tool_output: str = None, elapsed_time: float = None, success: bool = True)praisonaiagents.register_display_callback(display_type: str, callback_fn, is_async: bool = False)
Utilities
Types:
from praisonaiagents import ArrayMode, is_policy_string, parse_policy_string, resolve, resolve_autonomy, resolve_caching, resolve_context, resolve_execution, resolve_guardrail_policies, resolve_guardrails, resolve_hooks, resolve_knowledge, resolve_memory, resolve_output, resolve_planning, resolve_reflection, resolve_routing, resolve_skills, resolve_web
Methods:
praisonaiagents.is_policy_string(value: str) -> boolpraisonaiagents.parse_policy_string(value: str) -> tuplepraisonaiagents.resolve(value: Any, param_name: str, config_class: Optional[Type] = None, presets: Optional[Dict[str, Any]] = None, default: Any = None, instance_check: Optional[Callable[[Any], bool]] = None, url_schemes: Optional[Dict[str, str]] = None, array_mode: Optional[str] = None, string_mode: Optional[str] = None) -> Anypraisonaiagents.resolve_autonomy(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_caching(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_context(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_execution(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_guardrail_policies(policies: list, config_class: Type) -> Anypraisonaiagents.resolve_guardrails(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_hooks(value: Any, config_class: Optional[Type] = None) -> Anypraisonaiagents.resolve_knowledge(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_memory(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_output(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_planning(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_reflection(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_routing(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_skills(value: Any, config_class: Type) -> Anypraisonaiagents.resolve_web(value: Any, config_class: Type) -> Any
Other
Types:
from praisonaiagents import AgentAppConfig, AgentAppProtocol, AgentFlow, AgentManager, AgentOSConfig, AgentOSProtocol, AgentTeam, AutoApproveBackend, EmbeddingResult, RetryBackoffConfig, RunOutcome, __version__, aembedding, aembeddings, embedding, embeddings, get_dimensions
Methods:
AgentFlow.arun(input: str = '', llm: Optional[str] = None, verbose: bool = False) -> Dict[str, Any]AgentFlow.astart(input: str = '', llm: Optional[str] = None, verbose: bool = False) -> Dict[str, Any]AgentFlow.from_template(uri: str, config: Optional[Dict[str, Any]] = None, offline: bool = False, **kwargs) -> 'Workflow'AgentFlow.get_history() -> List[Dict[str, Any]]AgentFlow.memory_config() -> Optional[Dict[str, Any]]AgentFlow.on_step_complete() -> Optional[Callable]AgentFlow.on_step_error() -> Optional[Callable]AgentFlow.on_step_start() -> Optional[Callable]AgentFlow.on_workflow_complete() -> Optional[Callable]AgentFlow.on_workflow_start() -> Optional[Callable]AgentFlow.planning_llm() -> Optional[str]AgentFlow.reasoning() -> boolAgentFlow.run(input: str = '', llm: Optional[str] = None, verbose: bool = False, stream: bool = None) -> Dict[str, Any]AgentFlow.start(input: str = '', **kwargs) -> Dict[str, Any]AgentFlow.state()AgentFlow.stream() -> boolAgentFlow.to_dict() -> Dict[str, Any]AgentFlow.to_graph() -> Dict[str, Any]AgentFlow.to_mermaid() -> strAgentFlow.validate_variables() -> NoneAgentFlow.verbose() -> boolAgentFlow.verbose(value: bool)AgentFlow.where_does_it_run() -> strAgentOSProtocol.get_app() -> AnyAgentOSProtocol.serve(host: Optional[str] = None, port: Optional[int] = None, reload: bool = False, **kwargs: Any) -> NoneAgentTeam.aannounce_completion(agent_id: str, task_id: str, result: Any, success: bool = True, error: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> NoneAgentTeam.add_task(task)AgentTeam.aexecute_task(task_id)AgentTeam.announce_completion(agent_id: str, task_id: str, result: Any, success: bool = True, error: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> NoneAgentTeam.append_to_state(key: str, value: Any, max_length: Optional[int] = None) -> List[Any]AgentTeam.arun_all_tasks()AgentTeam.arun_task(task_id)AgentTeam.aspawn_sub_agent(agent: Agent, task: Any, completion_callback: Optional[Callable[[SubAgentCompletionEvent], Any]] = None, metadata: Optional[Dict[str, Any]] = None) -> SpawnedSubAgentAgentTeam.astart(content = None, return_dict = False, **kwargs)AgentTeam.astart_for_each(inputs, **kwargs)AgentTeam.await_for_completions(timeout: Optional[float] = None, agent_ids: Optional[List[str]] = None) -> List[SubAgentCompletionEvent]AgentTeam.clean_json_output(output: str) -> strAgentTeam.clear_state() -> NoneAgentTeam.close() -> NoneAgentTeam.context_manager()AgentTeam.current_plan()AgentTeam.default_completion_checker(task, agent_output)AgentTeam.delete_state(key: str) -> boolAgentTeam.display_token_usage()AgentTeam.execute_task(task_id)AgentTeam.get_agent_details(agent_name)AgentTeam.get_all_state() -> Dict[str, Any]AgentTeam.get_all_tasks_status()AgentTeam.get_detailed_token_report() -> Dict[str, Any]AgentTeam.get_plan_markdown() -> strAgentTeam.get_spawned_agents() -> List[SpawnedSubAgent]AgentTeam.get_state(key: str, default: Any = None) -> AnyAgentTeam.get_task_details(task_id)AgentTeam.get_task_result(task_id, tasks = None)AgentTeam.get_task_status(task_id)AgentTeam.get_todo_markdown() -> strAgentTeam.get_token_usage_summary() -> Dict[str, Any]AgentTeam.has_state(key: str) -> boolAgentTeam.increment_state(key: str, amount: float = 1, default: float = 0) -> floatAgentTeam.launch(path: str = '/agents', port: int = 8000, host: str = '127.0.0.1', debug: bool = False, protocol: str = 'http')AgentTeam.restore_session_state(session_id: str) -> boolAgentTeam.run(content = None, return_dict = False, **kwargs)AgentTeam.run_all_tasks()AgentTeam.run_task(task_id)AgentTeam.save_output_to_file(task, task_output)AgentTeam.save_session_state(session_id: str, include_memory: bool = True) -> boolAgentTeam.set_state(key: str, value: Any) -> NoneAgentTeam.spawn_sub_agent(agent: Agent, task: Any, completion_callback: Optional[Callable[[SubAgentCompletionEvent], Any]] = None, metadata: Optional[Dict[str, Any]] = None) -> SpawnedSubAgentAgentTeam.start(content = None, return_dict = False, output = None, **kwargs)AgentTeam.start_for_each(inputs, **kwargs)AgentTeam.stream_emitter()AgentTeam.to_graph() -> Dict[str, Any]AgentTeam.to_mermaid() -> strAgentTeam.todo_list()AgentTeam.update_plan_step_status(step_id: str, status: str) -> boolAgentTeam.update_state(updates: Dict) -> NoneAgentTeam.wait_for_completions(timeout: Optional[float] = None, agent_ids: Optional[List[str]] = None) -> List[SubAgentCompletionEvent]AgentTeam.where_does_it_run() -> strAutoApproveBackend.request_approval(request: ApprovalRequest) -> ApprovalDecisionAutoApproveBackend.request_approval_sync(request: ApprovalRequest, timeout: Optional[float] = None) -> ApprovalDecisionRunOutcome.completed(output: Optional[str] = None) -> 'RunOutcome'RunOutcome.from_exception(exc: BaseException, output: Optional[str] = None) -> 'RunOutcome'RunOutcome.succeeded() -> boolpraisonaiagents.aembedding(input: Union[str, List[str]], model: str = 'text-embedding-3-small', dimensions: Optional[int] = None, encoding_format: str = 'float', timeout: float = 600.0, api_key: Optional[str] = None, api_base: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, **kwargs) -> EmbeddingResultpraisonaiagents.aembeddings(input: Union[str, List[str]], model: str = 'text-embedding-3-small', dimensions: Optional[int] = None, encoding_format: str = 'float', timeout: float = 600.0, api_key: Optional[str] = None, api_base: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, **kwargs) -> EmbeddingResultpraisonaiagents.get_dimensions(model_name: str) -> int
Wrapper (praisonai)
Types:
from praisonai import Agent, AgentApp, AgentOS, AnthropicManagedAgent, HostedAgent, HostedAgentConfig, LocalAgent, LocalAgentConfig, LocalManagedAgent, LocalManagedConfig, ManagedAgent, ManagedConfig, __version__, arun, run
CLI
Methods:
praisonai --helppraisonai app app --helppraisonai audit agent-centric --helppraisonai batch batch-run --helppraisonai batch list --helppraisonai batch report --helppraisonai batch stats --helppraisonai chat --helppraisonai code --helppraisonai context add --helppraisonai context clear --helppraisonai context compact --helppraisonai context export --helppraisonai context grep --helppraisonai context list --helppraisonai context show --helppraisonai context stats --helppraisonai context tail --helppraisonai dashboard unified --helppraisonai docs api-md --helppraisonai docs generate --helppraisonai docs list --helppraisonai docs report --helppraisonai docs run --helppraisonai docs run-all --helppraisonai docs serve --helppraisonai docs stats --helppraisonai examples find --helppraisonai examples info --helppraisonai examples list --helppraisonai examples report --helppraisonai examples run --helppraisonai examples run-all --helppraisonai examples stats --helppraisonai flow export --helppraisonai flow flow-start --helppraisonai flow import --helppraisonai flow list --helppraisonai flow version --helppraisonai knowledge add --helppraisonai knowledge index --helppraisonai knowledge list --helppraisonai knowledge search --helppraisonai langextract render --helppraisonai langextract view --helppraisonai langfuse config --helppraisonai langfuse connect --helppraisonai langfuse init --helppraisonai langfuse langfuse-start --helppraisonai langfuse sessions --helppraisonai langfuse show --helppraisonai langfuse status --helppraisonai langfuse stop --helppraisonai langfuse test --helppraisonai langfuse traces --helppraisonai langfuse version --helppraisonai managed delete --helppraisonai managed get --helppraisonai managed list --helppraisonai managed managed-callback --helppraisonai managed multi --helppraisonai managed ps --helppraisonai managed restore --helppraisonai managed resume --helppraisonai managed run --helppraisonai managed save --helppraisonai managed show --helppraisonai managed stop --helppraisonai managed update --helppraisonai n8n export --helppraisonai n8n import --helppraisonai n8n list --helppraisonai n8n preview --helppraisonai n8n pull --helppraisonai n8n push --helppraisonai n8n test --helppraisonai profile imports --helppraisonai profile optimize --helppraisonai profile profile-callback --helppraisonai profile query --helppraisonai profile snapshot --helppraisonai profile startup --helppraisonai profile suite --helppraisonai rag chat --helppraisonai rag eval --helppraisonai rag index --helppraisonai rag query --helppraisonai rag serve --helppraisonai realtime realtime-main --helppraisonai recipe apply --helppraisonai recipe create --helppraisonai recipe info --helppraisonai recipe install --helppraisonai recipe judge --helppraisonai recipe list --helppraisonai recipe optimize --helppraisonai recipe run --helppraisonai recipe runs --helppraisonai recipe serve --helppraisonai replay cleanup --helppraisonai replay context --helppraisonai replay dashboard --helppraisonai replay delete --helppraisonai replay export --helppraisonai replay flow --helppraisonai replay list --helppraisonai replay rerun --helppraisonai replay show --helppraisonai replay view --helppraisonai replay watch --helppraisonai run --helppraisonai schedule add --helppraisonai schedule blueprint --helppraisonai schedule blueprint-list --helppraisonai schedule delete --helppraisonai schedule describe --helppraisonai schedule list --helppraisonai schedule logs --helppraisonai schedule pause --helppraisonai schedule remove --helppraisonai schedule restart --helppraisonai schedule resume --helppraisonai schedule run --helppraisonai schedule runs --helppraisonai schedule schedule-callback --helppraisonai schedule start --helppraisonai schedule stats --helppraisonai schedule stop --helppraisonai schedule suggestion-accept --helppraisonai schedule suggestion-dismiss --helppraisonai schedule suggestion-propose --helppraisonai schedule suggestions --helppraisonai schedule update --helppraisonai validate check --helppraisonai validate schema --helppraisonai validate validate --help
TypeScript
Types/Exports:
export { Agent, AgentTeam, Agents, CodeAgent, EmbeddingAgent, OCRAgent, PraisonAIAgents, RealtimeAgent, Router, TASK_STATUS, VideoAgent, VisionAgent, createCodeAgent, createEmbeddingAgent, createOCRAgent, createRealtimeAgent, createSubprocessExecutor, createVideoAgent, createVisionAgent } from "./agent";
export type { AgentChatCallOptions, AgentChatOptions, AgentEvent, AgentExecuteTask, AgentGuardrailEntry, AgentGuardrailFunction, AgentGuardrailInput, AgentHooksInput, AgentMemoryStore, AgentMessage, AgentRetryConfig, AgentStreamOptions, AgentTaskLike, AgentTeamConfig, AgentTeamProcess, AgentTeamStartDictOptions, AgentTeamStartOptions, AgentTeamStartOptionsInput, AgentWebConfig, PraisonAIAgentsConfig, SimpleAgentConfig, SimpleRouteConfig, SimpleRouterConfig, StopReason, TaskCallback, TaskGuardrail, TaskOnError } from "./agent";
export { AudioAgent, createAudioAgent } from "./agent/audio";
export type { AudioAgentConfig, AudioConfig, AudioProvider, AudioSpeakOptions, AudioSpeakResult, AudioTranscribeOptions, AudioTranscribeResult } from "./agent/audio";
export { ContextAgent, createContextAgent, create_context_agent } from "./agent/context";
export { ContextPolicy, DEFAULT_HANDOFF_TOOL_POLICY, Handoff, HandoffCycleError, HandoffDepthError, HandoffError, HandoffTimeoutError, HandoffToolPolicyMode, RECOMMENDED_PROMPT_PREFIX, handoff, handoffFilters, handoffToolName, handoff_filters, listAgentTools, parallelHandoffs, parallel_handoffs, promptWithHandoffInstructions, prompt_with_handoff_instructions, resolveHandoffToolPolicy } from "./agent/handoff";
export { Heartbeat, HeartbeatConfig, parseHeartbeatSchedule } from "./agent/heartbeat";
export type { HeartbeatAgent, HeartbeatOnError, HeartbeatOptions } from "./agent/heartbeat";
export { ImageAgent, createImageAgent } from "./agent/image";
export { PromptExpanderAgent, createPromptExpanderAgent } from "./agent/prompt-expander";
export { QueryRewriterAgent, createQueryRewriterAgent } from "./agent/query-rewriter";
export { DeepResearchAgent, Provider, createDeepResearchAgent } from "./agent/research";
export { RetryBackoffConfig, interruptibleSleep, jitteredBackoff } from "./agent/retry-utils";
export type { JitteredBackoffOptions, RetryBackoffConfigOptions } from "./agent/retry-utils";
export { RouterAgent, createRouter, routeConditions } from "./agent/router";
export { // Canonical terminal-outcome contract (praisonaiagents/run_outcome.py)
RunTerminal, AGENT_RUN_STATUSES, AgentRunOutcome, PROVIDER_BLOCK_REASONS, RunOutcome, TERMINAL_REASON_PRECEDENCE, TERMINATION_TO_RUN_STATUS, TerminationReason, classifyFinishReason, collapse, isSticky, is_sticky, mergeRunTerminal, merge_run_terminal, terminationToRunStatus, termination_to_run_status, validateDecisionString, validate_decision_string } from "./agent/run-outcome";
export type { AgentRunOutcomeFailureOptions, AgentRunOutcomeInit, AgentRunOutcomeOptions, AgentRunStatus, RunOutcomeInit, RunTerminalInit, TerminalKind, TerminalReason, TerminalSource } from "./agent/run-outcome";
export { reviewTaskOutput } from "./agent/task-review";
export { // Agent loop
createAgentLoop, // DevTools
enableDevTools, // MCP
createMCP, // Middleware (renamed to avoid conflicts)
createCachingMiddleware, // Models
createModel, // Multimodal
createImagePart, // Next.js
createRouteHandler, // OAuth for MCP
type OAuthClientProvider, // Server adapters
createHttpHandler, // Speech & Transcription
generateSpeech, // Telemetry (AI SDK v6 parity)
configureTelemetry, // Tool Approval (AI SDK v6 parity)
ApprovalManager, // Tools
defineTool, // UI Message (AI SDK v6 parity)
convertToModelMessages, AIAgentStep, AIEmbedManyResult, AIEmbedOptions, AIEmbedResult, AIFilePart, AIGenerateImageOptions, AIGenerateImageResult, AIGenerateObjectOptions, AIGenerateObjectResult, AIGenerateTextOptions, AIGenerateTextResult, AIImagePart, AIMiddleware, AIMiddlewareConfig, AIModelMessage, AISpan, AISpanKind, AISpanOptions, AISpanStatus, AIStreamObjectOptions, AIStreamObjectResult, AIStreamTextOptions, AIStreamTextResult, AITelemetryEvent, AITelemetrySettings, AITextPart, AIToolDefinition, AITracer, AgentLoop, DANGEROUS_PATTERNS, MCPClientType, MODEL_ALIASES, SPEECH_MODELS, TRANSCRIPTION_MODELS, ToolApprovalDeniedError, ToolApprovalTimeoutError, aiEmbed, aiEmbedMany, aiGenerateImage, aiGenerateObject, aiGenerateText, aiStreamObject, aiStreamText, applyMiddleware, autoEnableDevTools, base64ToUint8Array, clearAICache, clearEvents, closeAllMCPClients, closeMCPClient, convertToUIMessages, createAILoggingMiddleware, createAISpan, createApprovalResponse, createDangerousPatternChecker, createDevToolsMiddleware, createExpressHandler, createFastifyHandler, createFilePart, createHonoHandler, createMultimodalMessage, createNestHandler, createPagesHandler, createPdfPart, createSystemMessage, createTelemetryMiddleware, createTelemetrySettings, createTextMessage, createTextPart, createToolSet, disableAITelemetry, disableDevTools, enableAITelemetry, functionToTool, getAICacheStats, getApprovalManager, getDevToolsState, getDevToolsUrl, getEvents, getMCPClient, getModel, getTelemetrySettings, getToolsNeedingApproval, getTracer, hasModelAlias, hasPendingApprovals, initOpenTelemetry, isDangerous, isDataUrl, isDevToolsEnabled, isTelemetryEnabled, isUrl, listModelAliases, mcpToolsToAITools, parseModel, pipeUIMessageStreamToResponse, recordEvent, resolveModelAlias, safeValidateUIMessages, setApprovalManager, stopAfterSteps, stopWhen, stopWhenNoToolCalls, toMessageContent, toUIMessageStreamResponse, transcribe, uint8ArrayToBase64, validateUIMessages, withApproval, withSpan, wrapModel } from "./ai";
export { AutoAgents, AutoTaskConfig, createAutoAgents } from "./auto";
export { BotRunStatus } from "./bots/protocols";
export { BaseCache, FileCache, MemoryCache, createFileCache, createMemoryCache } from "./cache";
export { CLI_SPEC_VERSION, executeCommand, parseArgs } from "./cli";
export { // Autonomy Mode
AutonomyManager, // Background Jobs
JobQueue, // Checkpoints
CheckpointManager, // Cost Tracker
CostTracker, // External Agents
BaseExternalAgent, // Fast Context (Python parity with praisonaiagents/context/fast)
FastContext, // Flow Display
FlowDisplay, // Git Integration
GitManager, // Interactive TUI
InteractiveTUI, // N8N Integration
N8NIntegration, // Python parity additions
type LineRange, // Repo Map
RepoMap, // Sandbox Executor
SandboxExecutor, // Scheduler
Scheduler, // Slash Commands
SlashCommandHandler, AiderAgent, ClaudeCodeAgent, CodexCliAgent, CommandValidator, CostTokenUsage, DEFAULT_BLOCKED_COMMANDS, DEFAULT_BLOCKED_PATHS, DEFAULT_IGNORE_PATTERNS, DiffViewer, FileCheckpointStorage, FileJobStorage, GeminiCliAgent, GenericExternalAgent, HistoryManager, MODEL_PRICING, MODE_POLICIES, MemoryCheckpointStorage, MemoryJobStorage, StatusDisplay, addLineRangeToFileMatch, cliApprovalPrompt, createAutonomyManager, createCheckpointManager, createCostTracker, createDiffViewer, createExternalAgent, createFastContext, createFileCheckpointStorage, createFileJobStorage, createFileMatch, createFlowDisplay, createGitManager, createHistoryManager, createInteractiveTUI, createJobQueue, createLineRange, createN8NIntegration, createRepoMap, createSandboxExecutor, createScheduler, createSlashCommandHandler, createStatusDisplay, cronExpressions, estimateTokens, executeSlashCommand, externalAgentAsTool, formatCost, getExternalAgentRegistry, getLineCount, getQuickContext, getRepoTree, getTotalLines, isSlashCommand, mergeRanges, parseSlashCommand, rangesOverlap, registerCommand, renderWorkflow, sandboxExec, triggerN8NWebhook } from "./cli/features";
export { ComputeError, DockerCompute, LocalCompute, listComputeProviders, registerComputeProvider, resolveComputeProvider } from "./compute";
export { // Classes
DictCondition, // Functions
evaluateCondition, // Types
type ConditionProtocol, ExpressionCondition, FunctionCondition, andConditions, createCondition, evaluate_condition, notCondition, orConditions } from "./conditions";
export { // Enums
MemoryBackend, // Errors
ConfigValidationError, // Parse utilities
detect_url_scheme, // Presets
MEMORY_PRESETS, // Resolver functions
resolve, AUTONOMY_PRESETS, ArrayMode, CACHING_PRESETS, CONTEXT_PRESETS, ChunkingStrategy, EXECUTION_PRESETS, ExecutionPreset, FeatureMemoryConfig, GUARDRAIL_PRESETS, GuardrailAction, KNOWLEDGE_PRESETS, LearnBackend, LearnMode, LearnScope, MEMORY_URL_SCHEMES, MULTI_AGENT_EXECUTION_PRESETS, MULTI_AGENT_OUTPUT_PRESETS, OUTPUT_PRESETS, OutputPreset, PLANNING_PRESETS, PreCompactionMemoryFlushConfig, REFLECTION_PRESETS, RulesConfig, ToolSearchConfig, WEB_PRESETS, WebSearchProvider, apply_config_defaults, clean_triple_backticks, get_config, get_config_path, get_default, get_defaults_config, get_plugins_config, is_path_like, is_policy_string, parse_policy_string, resolve_autonomy, resolve_caching, resolve_context, resolve_execution, resolve_guardrails, resolve_hooks, resolve_knowledge, resolve_memory, resolve_output, resolve_planning, resolve_reflection, resolve_routing, resolve_skills, resolve_web, suggest_similar, validate_config } from "./config";
export { createDbAdapter, db, getDefaultDbAdapter, setDefaultDbAdapter } from "./db";
export type { DbAdapter, DbConfig, DbMessage, DbRun, DbTrace } from "./db";
export { MemoryPostgresAdapter, NeonPostgresAdapter, PostgresSessionStorage, createMemoryPostgres, createNeonPostgres, createPostgresSessionStorage } from "./db/postgres";
export { MemoryRedisAdapter, UpstashRedisAdapter, createMemoryRedis, createUpstashRedis } from "./db/redis";
export { SQLiteAdapter, createSQLiteAdapter } from "./db/sqlite";
export { KNOWN_DECISION_MODELS, choiceQuestion, defaultTicketTriageQuestions, getChoice, getNoul, getScore, isDecisionModel, noulQuestion, resolveSystemOneBaseUrl, scoreQuestion, systemOne, triagedStart } from "./decisions";
export type { DecisionAgentLike, DecisionRoutePlan, QuestionSpec, RouteTarget, SystemOneAnswer, SystemOneOptions, SystemOneResult } from "./decisions";
export { // Functions
// NB: the unaliased registerDisplayCallback name belongs to the per-type
// callback registry (callbacks module, // Types
type DisplayCallback, DisplayFlow, DisplayFlowConfig, asyncDisplayCallbacks, async_display_callbacks, clearDisplayCallbacks, clearErrorLogs, displayError, displayGenerating, displayInstruction, displayInteraction, displaySelfReflection, displayToolCall, display_error, display_generating, display_instruction, display_interaction, display_self_reflection, display_tool_call, errorLogs, error_logs, logError, registerDisplay, register_display_callback, syncDisplayCallbacks, sync_display_callbacks } from "./display";
export { // Functions
embed, // Types
type EmbeddingResult, aembed, aembedding, aembeddings, cosineSimilarity, embedding, embeddings, euclideanDistance, getDimensions, get_dimensions, normalizeEmbedding, setEmbeddingConfig } from "./embeddings";
export { AGENT_ERROR_KINDS, FailoverDecision, IdleTimeoutBreaker, LEGACY_ERROR_CATEGORY_MAP, LLMError, NetworkError, PraisonAIConfigError, PraisonAIError, ToolExecutionError, ValidationError, isAgentErrorKind, isErrorContext, resolveErrorCategory } from "./errors";
export type { AgentErrorKind, ErrorContextProtocol, FailoverAction, FailoverDecisionOptions, LLMErrorOptions, LegacyErrorCategory, NetworkErrorOptions, PraisonAIConfigErrorOptions, PraisonAIErrorOptions, ToolExecutionErrorOptions, ValidationErrorOptions } from "./errors";
export { // LLM-as-Judge
Judge, AccuracyJudge, CriteriaJudge, EvalResults, EvalSuite, Evaluator, RecipeJudge, accuracyEval, addJudge, addOptimizationRule, containsKeywordsCriterion, createDefaultEvaluator, createEvalResults, createEvaluator, getJudge, getOptimizationRule, lengthCriterion, listJudges, listOptimizationRules, noHarmfulContentCriterion, parseJudgeResponse, performanceEval, relevanceCriterion, reliabilityEval, removeJudge, removeOptimizationRule } from "./eval";
export { AgentEventBus, AgentEvents, EventEmitterPubSub, PubSub, createEventBus, createPubSub } from "./events";
export { // Bot types
type BotConfig, // Classes
FailoverManager, // Enums
SandboxStatus, // Gateway types
type GatewayConfig, // Other types
type ProviderStatus, // Session-projection reducer (Issue #5324)
SessionProjection, AutonomyLevel, GatewayEventType, RagRetrievalPolicy } from "./gateway";
export { LLMGuardrail, createLLMGuardrail } from "./guardrails/llm-guardrail";
export { DisplayTypes, HooksManager, WorkflowHooksExecutor, clearAllCallbacks, clearApprovalCallback, createHooksManager, createLoggingOperationHooks, createLoggingWorkflowHooks, createTimingWorkflowHooks, createValidationOperationHooks, createWorkflowHooks, executeCallback, executeSyncCallback, getRegisteredDisplayTypes, hasApprovalCallback, registerApprovalCallback, registerDisplayCallback, requestApproval, unregisterDisplayCallback } from "./hooks";
export { // Computer Use
createComputerUse, ComputerUseClient, createCLIApprovalPrompt, createComputerUseAgent } from "./integrations/computer-use";
export { BaseObservabilityProvider, ConsoleObservabilityProvider, LangfuseObservabilityProvider, MemoryObservabilityProvider, ObservabilityTraceContext, createConsoleObservability, createLangfuseObservability, createMemoryObservability } from "./integrations/observability";
export { // Natural Language Postgres
createNLPostgres, NLPostgresClient, NLPostgresConfig, createPostgresTool } from "./integrations/postgres";
export { // Slack
createSlackBot, SlackBot, parseSlackMessage, verifySlackSignature } from "./integrations/slack";
export { BaseVectorStore, ChromaVectorStore, MemoryVectorStore, PineconeVectorStore, QdrantVectorStore, VectorQueryResult, WeaviateVectorStore, createChromaStore, createMemoryVectorStore, createPineconeStore, createQdrantStore, createWeaviateStore } from "./integrations/vector";
export { BaseVoiceProvider, ElevenLabsVoiceProvider, OpenAIVoiceProvider, createElevenLabsVoice, createOpenAIVoice } from "./integrations/voice";
export type { KnowledgeRecord } from "./knowledge";
export { GraphRAG, GraphStore, createGraphRAG } from "./knowledge/graph-rag";
export { Knowledge } from "./knowledge/knowledge";
export type { KnowledgeIndexOptions, KnowledgeSearchCallOptions, KnowledgeStoreConfig, KnowledgeStoreOptions } from "./knowledge/knowledge";
export { KnowledgeBase, KnowledgeDocument, KnowledgeSearchResult, createKnowledgeBase } from "./knowledge/rag";
export { BaseReranker, CohereReranker, CrossEncoderReranker, LLMReranker, createCohereReranker, createCrossEncoderReranker, createLLMReranker } from "./knowledge/reranker";
export { // Provider classes
OpenAIProvider, // Provider factory and utilities
createProvider, // Provider registry (extensibility API)
ProviderRegistry, // Types
type LLMProvider, AnthropicProvider, BaseProvider, GoogleProvider, ProviderMessage, ProviderToolDefinition, createProviderRegistry, getAvailableProviders, getDefaultProvider, getDefaultRegistry, hasProvider, isProviderAvailable, listProviders, parseModelString, registerBuiltinProviders, registerProvider, unregisterProvider } from "./llm/providers";
export { ADAPTERS, AISDK_PROVIDERS, COMMUNITY_PROVIDERS, PROVIDER_ALIASES } from "./llm/providers/ai-sdk/types";
export { AgentMessageEvent, CustomToolUseEvent, ManagedEvent, SessionErrorEvent, SessionIdleEvent, SessionRunningEvent, ToolConfirmationEvent, ToolUseEvent, UsageEvent, isManagedBackend } from "./managed";
export type { AgentMessageEventInit, CustomToolUseEventInit, ManagedBackendKwargs, ManagedBackendProtocol, ManagedContentBlock, ManagedEventInit, ManagedEventType, ManagedStopReason, SessionErrorEventInit, SessionIdleEventInit, ToolConfirmationEventInit, ToolUseEventInit, UsageEventInit } from "./managed";
export { MCPClient, MCPSecurity, MCPServer, MCPSessionManager, createApiKeyPolicy, createMCPClient, createMCPSecurity, createMCPServer, createMCPSession, createRateLimitPolicy, getMCPTools } from "./mcp";
export { ChromaMemory, InMemoryAdapter, MEMORY_PROVIDER_ALIASES, MemoryAdapterRegistry, addMemoryAdapter, addMemoryFactory, add_memory_adapter, add_memory_factory, createChromaMemoryAdapter, createDakeraMemoryAdapter, createMem0MemoryAdapter, createMongodbMemoryAdapter, createSqliteMemoryAdapter, getDefaultMemoryRegistry, getFirstAvailableMemoryAdapter, getMemoryAdapter, get_memory_adapter, hasMemoryAdapter, has_memory_adapter, listMemoryAdapters, list_memory_adapters, registerMemoryAdapter, registerMemoryFactory, register_memory_adapter, register_memory_factory, resetDefaultMemoryRegistry, resolveMemoryAdapterName, sanitizeChromaMetadata } from "./memory/adapters";
export type { ChromaMemoryConfig, MaybePromise, MemoryEmbedder, MemoryProtocol, MemoryRecord } from "./memory/adapters";
export { AutoMemory, AutoMemoryKnowledgeBase, AutoMemoryVectorStore, DEFAULT_POLICIES, createAutoMemory, createLLMSummarizer } from "./memory/auto-memory";
export { DocsManager, createDocsManager } from "./memory/docs-manager";
export { FileMemory, createFileMemory } from "./memory/file-memory";
export { MemoryHooks, createEncryptionHooks, createLoggingHooks, createMemoryHooks, createValidationHooks } from "./memory/hooks";
export { BaseStore, DecisionStore, FeedbackStore, ImprovementStore, InsightStore, LearnBackendNotAvailableError, LearnEntry, LearnError, LearnManager, LearnManagerMode, MongoDBLearnBackend, PatternStore, PersonaStore, RedisLearnBackend, SQLiteLearnBackend, ThreadStore, getDataDir, getLearnDir, resolveLearnConfig, toLearnEntryDict } from "./memory/learn";
export type { AsyncLearnProtocol, BaseStoreOptions, LearnEntryConvertible, LearnEntryData, LearnEntryInit, LearnEntryLike, LearnExtractor, LearnManagerConfig, LearnManagerProtocol, LearnMessage, LearnProtocol, LearnStorageBackend, LearnStore, ProcessConversationResult, ResolvedLearnConfig } from "./memory/learn";
export { Memory, createMemory } from "./memory/memory";
export type { MemoryConfig, MemoryEntry } from "./memory/memory";
export { RulesManager, createRulesManager, createSafetyRules } from "./memory/rules-manager";
export { DEFAULT_PROFILE, HarnessProfile, ModelRequestBlocked, ScriptExhausted, ScriptedModel, allowModelRequests, listHarnessProfiles, modelRequestsAllowed, noModelRequests, registerProfile, register_profile, resetHarnessRegistry, resolveHarness, resolve_harness } from "./model-harness";
export type { HarnessProfileConfig, HarnessRegistryEntry, HarnessResolverProtocol } from "./model-harness";
export { // Adapters
NoopObservabilityAdapter, // Constants
OBSERVABILITY_TOOLS, // Global adapter management
setObservabilityAdapter, // Types
type SpanKind, ConsoleObservabilityAdapter, MemoryObservabilityAdapter, clearAdapterCache, createConsoleAdapter, createMemoryAdapter, createObservabilityAdapter, getObservabilityAdapter, getObservabilityToolInfo, hasObservabilityToolEnvVar, listObservabilityTools, noopAdapter, resetObservabilityAdapter, trace } from "./observability";
export { AgentApp, AgentAppConfig, AgentAppProtocol, AgentOS, AgentOSConfig, AgentOSProtocol, DEFAULT_AGENTOS_CONFIG, mergeConfig } from "./os";
export type { AgentAppOptions, AgentOSOptions } from "./os";
export { // Core classes
Plan, // Python parity additions
ApprovalCallback, PlanStep, PlanStorage, PlanningAgent, READ_ONLY_TOOLS, RESEARCH_TOOLS, RESTRICTED_TOOLS, TaskAgent, TodoItem, TodoList, createApprovalCallback, createPlan, createPlanStorage, createPlanningAgent, createTaskAgent, createTodoList } from "./planning";
export { // Classes
Plugin, // Enums
PluginHook, // Functions
getPluginManager, // Interfaces
type PluginMetadata, FunctionPlugin, PluginManager, PluginParseError, PluginType, disablePlugins, discoverAndLoadPlugins, discoverPlugins, discover_and_load_plugins, discover_plugins, enablePlugins, ensurePluginDir, ensure_plugin_dir, getDefaultPluginDirs, getPluginTemplate, get_default_plugin_dirs, get_plugin_manager, get_plugin_template, isPluginEnabled, listPlugins, loadPlugin, load_plugin, parsePluginHeader, parsePluginHeaderFromFile, parse_plugin_header, parse_plugin_header_from_file } from "./plugins";
export { // A2A Protocol
A2ATaskState, // AGUI Protocol
AGUI, // AgentManager alias type
type AgentManager, // Global singletons
config, // Guardrail policies
type GuardrailPolicy, // Tools class
type ToolDefinition, A2A, A2ARole, AutoRagAgent, AutoRetrievalPolicy, DEFAULT_AUTO_KEYWORDS, GUARDRAIL_POLICY_PRESETS, Tools, memory, obs, resolveGuardrailPolicies, resolve_guardrail_policies, workflows } from "./protocols";
export { CitationsMode, DEFAULT_RAG_TEMPLATE, RAG, RAGCitation, RAGContextPack, RetrievalPolicy, RetrievalStrategy, createCitation, createContextPack, createRAG, createRAGConfig, createRAGResult, createRetrievalConfig, createSimpleRetrievalConfig, createSmartRetrievalConfig, formatAnswerWithCitations, formatCitation, formatContextPackForPrompt, hasCitations } from "./rag";
export { PraisonAIRuntime, RuntimeRegistry, RuntimeRegistryEntry, RuntimeRegistryError, addRuntimeAlias, getRuntimeRegistry, isAgentRuntime, isRuntimeAvailable, listRuntimes, list_runtimes, registerRuntime, register_runtime, resolveRuntime, resolve_runtime, unregisterRuntime } from "./runtime";
export type { AgentRuntimeProtocol, RunTurnOptions, RuntimeCapabilityMatrix, RuntimeConfig, RuntimeDelta, RuntimeDeltaType, RuntimeFactory, RuntimeMode, RuntimeRegistryEntryInit, RuntimeRegistryProtocol, RuntimeResult, TurnContextBuilderProtocol, TurnRuntimeProtocol } from "./runtime";
export type { RunStatus } from "./session";
export { Session } from "./session/session";
export { // Python parity additions
SkillLoader, EnforcementLevel, SkillManager, SkillParseError, SkillState, createSkillLoader, createSkillManager, createSkillProperties, discoverSkill, discoverSkills, discover_skills, findSkillMd, getDefaultSkillDirs, loadSkill, load_skill, parseFrontmatter, parseSkillFile, validate, validateMetadata, validateSkill, validate_metadata } from "./skills";
export type { RemoteSkillSource } from "./skills";
export { AgentTask, AgentTaskConfig, BaseTask, createTaskOutput } from "./task";
export { // Python parity additions
MinimalTelemetry, AgentTelemetry, PerformanceMonitor, TelemetryCollector, TelemetryIntegration, cleanupTelemetry, cleanupTelemetryResources, cleanup_telemetry_resources, createAgentTelemetry, createConsoleSink, createHTTPSink, createPerformanceMonitor, createTelemetryIntegration, disablePerformanceMode, disableTelemetry, disable_performance_mode, disable_telemetry, enablePerformanceMode, enableTelemetry, enable_performance_mode, enable_telemetry, getMinimalTelemetry, getTelemetry, get_telemetry } from "./telemetry";
export { // Subagent Tool (agent-as-tool pattern)
SubagentTool, BaseTool, FunctionTool, TOOL_TRUST_LEVELS, ToolRegistry, ToolResult, ToolValidationError, add_tool, createDelegator, createSubagentTool, createSubagentTools, createTool, getRegistry, getTool, getToolDefinitions, get_registry, get_tool, get_tool_definitions, hasTool, has_tool, listTools, list_tools, registerTool, register_tool, removeTool, remove_tool, tool, validateTool, validate_tool } from "./tools";
export { airweaveSearch, bedrockBrowserClick, bedrockBrowserFill, bedrockBrowserNavigate, bedrockCodeInterpreter, codeExecution, codeMode, createCustomTool, crwCrawl, crwScrape, exaSearch, firecrawlCrawl, firecrawlScrape, parallelSearch, perplexitySearch, registerCustomTool, registerLocalTool, registerNpmTool, superagentGuard, superagentRedact, superagentVerify, tavilyCrawl, tavilyExtract, tavilySearch, valyuBioSearch, valyuCompanyResearch, valyuEconomicsSearch, valyuFinanceSearch, valyuPaperSearch, valyuPatentSearch, valyuSecSearch, valyuWebSearch } from "./tools/builtins";
export { MCP, MCPToolTransportType } from "./tools/mcp";
export { BudgetExceededError, MissingDependencyError, MissingEnvVarError, ToolConstructionError, ToolNotRegisteredError, ToolsRegistry, composeMiddleware, createLoggingMiddleware, createRateLimitMiddleware, createRedactionMiddleware, createRetryMiddleware, createTimeoutMiddleware, createToolInstance, createToolsRegistry, createTracingMiddleware, createValidationMiddleware, getToolsRegistry, registerToolFactory, resetToolsRegistry, tryCreateToolInstance, validateToolInstall } from "./tools/registry";
export type { InstallHints, PraisonTool, RedactionHooks, RegisteredTool, ToolCapabilities, ToolExecutionContext, ToolExecutionResult, ToolFactory, ToolHooks, ToolInstallStatus, ToolLimits, ToolLogger, ToolMetadata, ToolMiddleware, ToolParameterProperty, ToolParameterSchema } from "./tools/registry";
export { registerBuiltinTools, tools } from "./tools/tools";
export { TOOLSET_TOOL_ID_MAP, ToolsetRegistry, ToolsetSpec, getToolset, getToolsetRegistry, get_toolset, get_toolset_registry, hasToolset, has_toolset, listToolsets, list_toolsets, registerToolset, register_toolset, resolveToolset, resolveToolsetBuiltinIds, resolveToolsets, resolveToolsetsForModel, resolve_toolset, resolve_toolsets, resolve_toolsets_for_model, toolsetToolId, unregisterToolset, unregister_toolset } from "./toolsets";
export type { ToolsetSpecConfig } from "./toolsets";
export { // Classes
TraceSink, // Enums
ContextEventType, // Functions
createContextEvent, // Types
type ContextEvent, ContextListSink, ContextNoOpSink, ContextTraceEmitter, ContextTraceSink, EventType, MessageType, TraceCtx, traceContext, trace_context, trackWorkflow, track_workflow } from "./trace";
export { A2UI, A2UINotInstalledError, A2UI_MIME_TYPE, createA2uiPart, getSchemaManager, isA2uiPart, parseA2uiResponse } from "./ui/a2ui";
export type { A2UIAdapter, A2UISystemPromptOptions, A2UIToolResultProtocol } from "./ui/a2ui";
export { AdapterBackendNotAvailableError, AdapterCreationError, AdapterRegistry, isBackendUnavailableError } from "./utils/adapter-registry";
export type { AdapterClass, AdapterFactory, AdapterKwargs } from "./utils/adapter-registry";
export { Logger, PraisonLogger, ROOT_LOGGER_NAME, StructuredFormatter, configureStructuredLogging, configure_structured_logging, getLogger, get_logger, normalizeLoggerName } from "./utils/logger";
export type { GetLoggerOptions, LogFormatter, LogLevelName, LogRecord, StructuredFormatterOptions } from "./utils/logger";
export { VERSION, __version__, getVersion } from "./version";
export { // New: Python-parity Loop and Repeat classes
Loop, // Task class
Task, AgentFlow, DEFAULT_MAX_PARALLEL_WORKERS, If, Include, MAX_NESTING_DEPTH, NestingDepthError, PARALLEL_ON_FAILURE_MODES, Parallel, Pipeline, Repeat, Route, Workflow, WorkflowStepError, evaluateWorkflowCondition, getRecipeResolver, ifStep, if_, include, isControlFlowPattern, loop, loopPattern, parallel, parallelPattern, repeat, repeatPattern, route, routePattern, setRecipeResolver, substituteWorkflowVariables, when } from "./workflows";
export type { AgentLikeStep, FlowStep, IncludableWorkflow, LoopConfig, LoopResult, ParallelBranchError, ParallelOnFailure, RecipeResolver, RepeatConfig, RepeatContext, RepeatResult, StepContextConfig, StepExecutionConfig, StepOutputConfig, StepResult, StepRoutingConfig, TaskConfig, WorkflowContext } from "./workflows";
export { YAMLWorkflowParser, createWorkflowFromYAML, loadWorkflowFromFile, parseYAMLWorkflow, validateWorkflowDefinition } from "./workflows/yaml-parser";
Optional Plugins
External tools are available via praisonai-tools package:
pip install praisonai-tools
See PraisonAI-tools for available tools.