Skip to content

Latest commit

 

History

History
1200 lines (1106 loc) · 147 KB

File metadata and controls

1200 lines (1106 loc) · 147 KB

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, TaskOutput, 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]
  • TaskOutput.json() -> Optional[str]
  • TaskOutput.to_dict() -> dict
  • ToolResult.to_dict() -> Dict[str, Any]

Agents

Types:

from praisonaiagents import Agent, AutoAgents, AutoRagAgent, ContextAgent, DeepResearchAgent, ImageAgent, PlanningAgent, PromptExpanderAgent, QueryRewriterAgent, create_context_agent

Methods:

  • Agent.agent_id() -> str
  • Agent.analyze_prompt(prompt: str) -> set
  • Agent.auto_memory() -> Optional[bool]
  • Agent.auto_memory(value: Optional[bool]) -> None
  • Agent.background() -> Optional[bool]
  • Agent.background(value: Optional[bool]) -> None
  • Agent.chat_with_context(message: str, context: 'ContextPack', **kwargs) -> str
  • Agent.checkpoints() -> Optional[bool]
  • Agent.checkpoints(value: Optional[bool]) -> None
  • Agent.console() -> Optional[Any]
  • Agent.context_manager() -> Optional[Any]
  • Agent.context_manager(value)
  • Agent.cost_summary() -> dict
  • Agent.diff(from_hash: Optional[str] = None)
  • Agent.display_name() -> str
  • Agent.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() -> str
  • Agent.get_memory_context(query: Optional[str] = None) -> str
  • Agent.get_recommended_stage(prompt: str) -> str
  • Agent.get_rules_context(file_path: Optional[str] = None, include_manual: Optional[List[str]] = None) -> str
  • Agent.get_skills_prompt() -> str
  • Agent.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.llm_model() -> Optional[str]
  • Agent.output_style() -> Optional[str]
  • Agent.output_style(value: Optional[str]) -> None
  • Agent.policy() -> Optional[Any]
  • Agent.policy(value: Optional[Any]) -> None
  • Agent.query(question: str, **kwargs) -> 'RAGResult'
  • Agent.rag() -> Optional[Any]
  • Agent.rag_query(question: str, **kwargs) -> 'RAGResult'
  • Agent.redo() -> bool
  • Agent.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) -> '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.skill_manager() -> Optional[Any]
  • Agent.store_memory(content: str, memory_type: str = 'short_term', **kwargs: Any) -> None
  • Agent.stream_emitter() -> Optional[Any]
  • Agent.stream_emitter(value: Optional[Any]) -> None
  • Agent.thinking_budget() -> Optional[int]
  • Agent.thinking_budget(value: Optional[int]) -> None
  • Agent.total_cost() -> float
  • Agent.undo() -> bool
  • AutoAgents.astart()
  • AutoAgents.start()
  • AutoRagAgent.achat(message: str, **kwargs) -> str
  • AutoRagAgent.chat(message: str, **kwargs) -> str
  • AutoRagAgent.name() -> str
  • AutoRagAgent.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) -> str
  • ContextAgent.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) -> str
  • ContextAgent.generate_feature_prp(feature_request: str) -> str
  • ContextAgent.generate_prp(feature_request: str, context_analysis: Optional[Dict[str, Any]] = None) -> str
  • ContextAgent.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) -> str
  • DeepResearchAgent.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) -> DeepResearchResponse
  • DeepResearchAgent.async_openai_client()
  • DeepResearchAgent.clarify(query: str, model: Optional[str] = None) -> str
  • DeepResearchAgent.follow_up(query: str, previous_interaction_id: str, model: Optional[str] = None) -> DeepResearchResponse
  • DeepResearchAgent.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) -> DeepResearchResponse
  • DeepResearchAgent.rewrite_query(query: str, model: Optional[str] = None) -> str
  • ImageAgent.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) -> str
  • PlanningAgent.analyze_context_sync(context: str) -> str
  • PlanningAgent.create_plan(request: str, agents: List['Agent'], tasks: Optional[List['Task']] = None, context: Optional[str] = None) -> Plan
  • PlanningAgent.create_plan_sync(request: str, agents: List['Agent'], tasks: Optional[List['Task']] = None, context: Optional[str] = None) -> Plan
  • PlanningAgent.is_tool_allowed(tool_name: str) -> bool
  • PlanningAgent.refine_plan(plan: Plan, feedback: str) -> Plan
  • PlanningAgent.refine_plan_sync(plan: Plan, feedback: str) -> Plan
  • PromptExpanderAgent.agent()
  • PromptExpanderAgent.expand(prompt: str, strategy: ExpandStrategy = ..., context: Optional[str] = None) -> ExpandResult
  • PromptExpanderAgent.expand_basic(prompt: str, context: Optional[str] = None) -> ExpandResult
  • PromptExpanderAgent.expand_creative(prompt: str, context: Optional[str] = None) -> ExpandResult
  • PromptExpanderAgent.expand_detailed(prompt: str, context: Optional[str] = None) -> ExpandResult
  • PromptExpanderAgent.expand_structured(prompt: str, context: Optional[str] = None) -> ExpandResult
  • QueryRewriterAgent.add_abbreviation(abbrev: str, expansion: str) -> None
  • QueryRewriterAgent.add_abbreviations(abbreviations: Dict[str, str]) -> None
  • QueryRewriterAgent.agent()
  • QueryRewriterAgent.rewrite(query: str, strategy: RewriteStrategy = ..., chat_history: Optional[List[Dict[str, str]]] = None, context: Optional[str] = None, num_queries: int = None) -> RewriteResult
  • QueryRewriterAgent.rewrite_basic(query: str) -> RewriteResult
  • QueryRewriterAgent.rewrite_contextual(query: str, chat_history: List[Dict[str, str]]) -> RewriteResult
  • QueryRewriterAgent.rewrite_hyde(query: str) -> RewriteResult
  • QueryRewriterAgent.rewrite_multi_query(query: str, num_queries: int = None) -> RewriteResult
  • QueryRewriterAgent.rewrite_step_back(query: str) -> RewriteResult
  • QueryRewriterAgent.rewrite_sub_queries(query: str) -> RewriteResult
  • praisonaiagents.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) -> Any
  • BaseTool.get_schema() -> Dict[str, Any]
  • BaseTool.run(**kwargs) -> Any
  • BaseTool.safe_run(**kwargs) -> ToolResult
  • BaseTool.validate() -> bool
  • BaseTool.validate_class() -> bool
  • FunctionTool.call(*args, **kwargs) -> Any
  • FunctionTool.injected_params() -> Dict[str, Any]
  • FunctionTool.run(**kwargs) -> Any
  • ToolRegistry.clear() -> None
  • ToolRegistry.discover_plugins() -> int
  • ToolRegistry.discover_single_file_plugins() -> int
  • ToolRegistry.get(name: str) -> Optional[Union[BaseTool, Callable]]
  • ToolRegistry.get_all() -> Dict[str, Union[BaseTool, Callable]]
  • ToolRegistry.list_base_tools() -> List[BaseTool]
  • ToolRegistry.list_tools() -> List[str]
  • ToolRegistry.register(tool: Union[BaseTool, Callable], name: Optional[str] = None, overwrite: bool = False) -> None
  • ToolRegistry.unregister(name: str) -> bool
  • Tools.internet_search(*args, **kwargs)
  • praisonaiagents.get_registry() -> ToolRegistry
  • praisonaiagents.get_tool(name: str) -> Optional[Union[BaseTool, Callable]]
  • praisonaiagents.register_tool(tool: Union[BaseTool, Callable], name: Optional[str] = None) -> None
  • praisonaiagents.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]) -> bool
  • Task.execute_callback(task_output: TaskOutput) -> None
  • Task.execute_callback_sync(task_output: TaskOutput) -> None
  • Task.get_next_task(context: Dict[str, Any]) -> Optional[str]
  • Task.initialize_memory()
  • Task.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) -> Loop
  • praisonaiagents.parallel(steps: List) -> Parallel
  • praisonaiagents.repeat(step: Any, until: Optional[Callable[[WorkflowContext], bool]] = None, max_iterations: int = 10) -> Repeat
  • praisonaiagents.route(routes: Dict[str, List], default: Optional[List] = None) -> Route

DB

Types:

from praisonaiagents import db

Memory

Types:

from praisonaiagents import Memory, MemoryBackend, MemoryConfig

Methods:

  • 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) -> str
  • Memory.calculate_quality_metrics(output: str, expected_output: str, llm: Optional[str] = None, custom_prompt: Optional[str] = None) -> Dict[str, float]
  • Memory.close_connections()
  • Memory.compute_quality_score(completeness: float, relevance: float, clarity: float, accuracy: float, weights: Dict[str, float] = None) -> float
  • Memory.delete_long_term(memory_id: str) -> bool
  • Memory.delete_memories(memory_ids: List[str]) -> int
  • Memory.delete_memories_matching(query: str, memory_type: Optional[str] = None, limit: int = 10) -> int
  • Memory.delete_memory(memory_id: str, memory_type: Optional[str] = None) -> bool
  • Memory.delete_short_term(memory_id: str) -> bool
  • Memory.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.get_all_memories() -> List[Dict[str, Any]]
  • Memory.get_learn_context() -> str
  • Memory.learn()
  • Memory.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, **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, **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)
  • 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') -> None
  • Memory.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)
  • 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()
  • Knowledge.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)
  • 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) -> str
  • ContextPack.from_dict(data: Dict[str, Any]) -> 'ContextPack'
  • ContextPack.has_citations() -> bool
  • ContextPack.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) -> RAGResult
  • RAG.aretrieve(query: str, **kwargs) -> ContextPack
  • RAG.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) -> RAGResult
  • RAG.retrieve(query: str, **kwargs) -> ContextPack
  • RAG.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() -> str
  • RAGResult.from_dict(data: Dict[str, Any]) -> 'RAGResult'
  • RAGResult.has_citations() -> bool
  • RAGResult.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) -> bool
  • RetrievalConfig.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() -> str
  • Handoff.default_tool_name() -> str
  • Handoff.execute_async(source_agent: 'Agent', prompt: str, context: Optional[Dict[str, Any]] = None) -> HandoffResult
  • Handoff.execute_programmatic(source_agent: 'Agent', prompt: str, context: Optional[Dict[str, Any]] = None) -> HandoffResult
  • Handoff.to_tool_function(source_agent: 'Agent') -> Callable
  • Handoff.tool_description() -> str
  • Handoff.tool_name() -> str
  • praisonaiagents.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) -> Handoff
  • handoff_filters.compress_history(data: HandoffInputData) -> HandoffInputData
  • handoff_filters.keep_last_n_messages(n: int) -> Callable[[HandoffInputData], HandoffInputData]
  • handoff_filters.remove_all_tools(data: HandoffInputData) -> HandoffInputData
  • handoff_filters.remove_system_messages(data: HandoffInputData) -> HandoffInputData
  • praisonaiagents.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']]

Planning

Types:

from praisonaiagents import ApprovalCallback, Plan, PlanStep, PlanStorage, PlanningConfig, READ_ONLY_TOOLS, RESTRICTED_TOOLS, TodoItem, TodoList

Methods:

Skills

Types:

from praisonaiagents import SkillLoader, SkillManager, SkillMetadata, SkillProperties, SkillsConfig

Methods:

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) -> None
  • Session.add_memory(text: str, memory_type: str = 'long', **metadata) -> None
  • Session.chat(message: str, **kwargs) -> str
  • Session.clear_memory(memory_type: str = 'all') -> None
  • Session.create_agent(*args, **kwargs) -> 'Agent'
  • Session.get_context(query: str, max_items: int = 3) -> str
  • Session.get_state(key: str, default: Any = None) -> Any
  • Session.increment_state(key: str, increment: int = 1, default: int = 0) -> None
  • Session.knowledge() -> 'Knowledge'
  • Session.memory() -> 'Memory'
  • Session.restore_state() -> Dict[str, Any]
  • Session.save_state(state_data: Dict[str, Any]) -> None
  • Session.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) -> str
  • Session.set_state(key: str, value: Any) -> None

MCP

Types:

from praisonaiagents import MCP

Methods:

Telemetry

Types:

from praisonaiagents import MinimalTelemetry, TelemetryCollector, cleanup_telemetry_resources, disable_performance_mode, disable_telemetry, enable_performance_mode, enable_telemetry, get_telemetry

Methods:

Observability

Types:

from praisonaiagents import FlowDisplay, obs, track_workflow

Methods:

Context

Types:

from praisonaiagents import ContextManager

Methods:

  • ContextManager.capture_llm_boundary(messages: List[Dict[str, Any]], tools: List[Dict[str, Any]]) -> SnapshotHookData
  • ContextManager.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) -> int
  • ContextManager.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]) -> None
  • ContextManager.reset() -> None
  • ContextManager.set_tool_budget(tool_name: str, max_tokens: int, protected: bool = False) -> None
  • ContextManager.truncate_tool_output(tool_name: str, output: str) -> str

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() -> bool
  • AutonomyConfig.from_dict(data: Dict[str, Any]) -> 'AutonomyConfig'
  • CachingConfig.to_dict() -> Dict[str, Any]
  • ExecutionConfig.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) -> str
  • praisonaiagents.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) -> bool
  • praisonaiagents.parse_policy_string(value: str) -> tuple
  • praisonaiagents.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) -> Any
  • praisonaiagents.resolve_autonomy(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_caching(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_context(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_execution(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_guardrail_policies(policies: list, config_class: Type) -> Any
  • praisonaiagents.resolve_guardrails(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_hooks(value: Any, config_class: Optional[Type] = None) -> Any
  • praisonaiagents.resolve_knowledge(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_memory(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_output(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_planning(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_reflection(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_routing(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_skills(value: Any, config_class: Type) -> Any
  • praisonaiagents.resolve_web(value: Any, config_class: Type) -> Any

Other

Types:

from praisonaiagents import AgentAppConfig, AgentAppProtocol, AgentFlow, AgentManager, AgentOSConfig, AgentOSProtocol, AgentTeam, AutoApproveBackend, EmbeddingResult, aembedding, aembeddings, embedding, embeddings, get_dimensions

Methods:

Wrapper (praisonai)

Types:

from praisonai import AgentApp, AgentOS, CloudProvider, Deploy, DeployConfig, DeployType, PraisonAI, __version__

CLI

Methods:

  • praisonai --help
  • praisonai acp acp-main --help
  • praisonai agents create --help
  • praisonai agents info --help
  • praisonai agents list --help
  • praisonai app app --help
  • praisonai audit agent-centric --help
  • praisonai batch batch-run --help
  • praisonai batch list --help
  • praisonai batch report --help
  • praisonai batch stats --help
  • praisonai benchmark agent --help
  • praisonai benchmark benchmark-callback --help
  • praisonai benchmark cli --help
  • praisonai benchmark compare --help
  • praisonai benchmark litellm --help
  • praisonai benchmark profile --help
  • praisonai benchmark sdk --help
  • praisonai benchmark workflow --help
  • praisonai bot agentmail --help
  • praisonai bot bot-callback --help
  • praisonai bot discord --help
  • praisonai bot email --help
  • praisonai bot slack --help
  • praisonai bot start --help
  • praisonai bot telegram --help
  • praisonai bot whatsapp --help
  • praisonai browser browser-callback --help
  • praisonai browser click --help
  • praisonai browser navigate --help
  • praisonai browser open --help
  • praisonai browser profiles --help
  • praisonai browser screenshot --help
  • praisonai browser snapshot --help
  • praisonai browser status --help
  • praisonai browser type --help
  • praisonai call call-main --help
  • praisonai chat --help
  • praisonai chat chat-main --help
  • praisonai claw claw --help
  • praisonai code --help
  • praisonai code code-main --help
  • praisonai commit commit-main --help
  • praisonai completion bash --help
  • praisonai completion completion-callback --help
  • praisonai completion fish --help
  • praisonai completion zsh --help
  • praisonai config doctor --help
  • praisonai config env --help
  • praisonai config get --help
  • praisonai config list --help
  • praisonai config path --help
  • praisonai config reset --help
  • praisonai config set --help
  • praisonai context add --help
  • praisonai context clear --help
  • praisonai context compact --help
  • praisonai context export --help
  • praisonai context grep --help
  • praisonai context list --help
  • praisonai context show --help
  • praisonai context stats --help
  • praisonai context tail --help
  • praisonai debug acp --help
  • praisonai debug debug-callback --help
  • praisonai debug interactive --help
  • praisonai debug lsp --help
  • praisonai debug trace --help
  • praisonai deploy aws --help
  • praisonai deploy azure --help
  • praisonai deploy docker --help
  • praisonai deploy gcp --help
  • praisonai diag diag-callback --help
  • praisonai diag export --help
  • praisonai docs api-md --help
  • praisonai docs generate --help
  • praisonai docs list --help
  • praisonai docs report --help
  • praisonai docs run --help
  • praisonai docs run-all --help
  • praisonai docs serve --help
  • praisonai docs stats --help
  • praisonai doctor cleanup --help
  • praisonai doctor config --help
  • praisonai doctor db --help
  • praisonai doctor doctor-callback --help
  • praisonai doctor env --help
  • praisonai doctor mcp --help
  • praisonai doctor network --help
  • praisonai doctor performance --help
  • praisonai doctor selftest --help
  • praisonai doctor tools --help
  • praisonai doctor troubleshoot --help
  • praisonai endpoints list --help
  • praisonai endpoints test --help
  • praisonai environment check --help
  • praisonai environment doctor --help
  • praisonai environment view --help
  • praisonai eval accuracy --help
  • praisonai eval judge --help
  • praisonai eval list-judges --help
  • praisonai eval performance --help
  • praisonai examples info --help
  • praisonai examples list --help
  • praisonai examples report --help
  • praisonai examples run --help
  • praisonai examples run-all --help
  • praisonai examples stats --help
  • praisonai flow flow-start --help
  • praisonai flow version --help
  • praisonai gateway channels --help
  • praisonai gateway gateway-callback --help
  • praisonai gateway send --help
  • praisonai gateway start --help
  • praisonai gateway status --help
  • praisonai hooks add --help
  • praisonai hooks list --help
  • praisonai hooks remove --help
  • praisonai knowledge add --help
  • praisonai knowledge index --help
  • praisonai knowledge list --help
  • praisonai knowledge search --help
  • praisonai loop help --help
  • praisonai loop loop-main --help
  • praisonai lsp logs --help
  • praisonai lsp lsp-callback --help
  • praisonai lsp start --help
  • praisonai lsp status --help
  • praisonai lsp stop --help
  • praisonai mcp add --help
  • praisonai mcp auth --help
  • praisonai mcp describe --help
  • praisonai mcp list --help
  • praisonai mcp logout --help
  • praisonai mcp mcp-callback --help
  • praisonai mcp remove --help
  • praisonai mcp run --help
  • praisonai mcp status --help
  • praisonai mcp sync --help
  • praisonai mcp test --help
  • praisonai mcp tools --help
  • praisonai memory add --help
  • praisonai memory clear --help
  • praisonai memory search --help
  • praisonai memory show --help
  • praisonai memory status --help
  • praisonai obs obs-fallback --help
  • praisonai package install --help
  • praisonai package list --help
  • praisonai package uninstall --help
  • praisonai paths show --help
  • praisonai plugins create --help
  • praisonai plugins disable --help
  • praisonai plugins discover --help
  • praisonai plugins doctor --help
  • praisonai plugins enable --help
  • praisonai plugins info --help
  • praisonai plugins install --help
  • praisonai plugins list --help
  • praisonai plugins plugins-callback --help
  • praisonai plugins remove --help
  • praisonai profile imports --help
  • praisonai profile optimize --help
  • praisonai profile profile-callback --help
  • praisonai profile query --help
  • praisonai profile snapshot --help
  • praisonai profile startup --help
  • praisonai profile suite --help
  • praisonai publish publish-main --help
  • praisonai publish pypi --help
  • praisonai rag chat --help
  • praisonai rag eval --help
  • praisonai rag index --help
  • praisonai rag query --help
  • praisonai rag serve --help
  • praisonai realtime realtime-main --help
  • praisonai recipe apply --help
  • praisonai recipe create --help
  • praisonai recipe info --help
  • praisonai recipe install --help
  • praisonai recipe judge --help
  • praisonai recipe list --help
  • praisonai recipe optimize --help
  • praisonai recipe run --help
  • praisonai recipe serve --help
  • praisonai registry list --help
  • praisonai registry serve --help
  • praisonai replay cleanup --help
  • praisonai replay context --help
  • praisonai replay dashboard --help
  • praisonai replay delete --help
  • praisonai replay flow --help
  • praisonai replay list --help
  • praisonai replay show --help
  • praisonai research research-main --help
  • praisonai retrieval index --help
  • praisonai retrieval query --help
  • praisonai retrieval search --help
  • praisonai rules add --help
  • praisonai rules clear --help
  • praisonai rules list --help
  • praisonai run --help
  • praisonai run run-main --help
  • praisonai sandbox explain --help
  • praisonai sandbox list --help
  • praisonai sandbox recreate --help
  • praisonai sandbox sandbox-callback --help
  • praisonai sandbox status --help
  • praisonai schedule add --help
  • praisonai schedule delete --help
  • praisonai schedule describe --help
  • praisonai schedule list --help
  • praisonai schedule logs --help
  • praisonai schedule restart --help
  • praisonai schedule schedule-callback --help
  • praisonai schedule start --help
  • praisonai schedule stats --help
  • praisonai schedule stop --help
  • praisonai serve a2a --help
  • praisonai serve a2u --help
  • praisonai serve acp --help
  • praisonai serve agents --help
  • praisonai serve docs --help
  • praisonai serve gateway --help
  • praisonai serve lsp --help
  • praisonai serve mcp --help
  • praisonai serve rag --help
  • praisonai serve recipe --help
  • praisonai serve registry --help
  • praisonai serve scheduler --help
  • praisonai serve serve-callback --help
  • praisonai serve start --help
  • praisonai serve status --help
  • praisonai serve stop --help
  • praisonai serve ui --help
  • praisonai serve unified --help
  • praisonai session delete --help
  • praisonai session export --help
  • praisonai session import --help
  • praisonai session list --help
  • praisonai session resume --help
  • praisonai session show --help
  • praisonai skills check --help
  • praisonai skills create --help
  • praisonai skills eligible --help
  • praisonai skills info --help
  • praisonai skills install --help
  • praisonai skills list --help
  • praisonai skills search --help
  • praisonai skills validate --help
  • praisonai standardise check --help
  • praisonai standardise fix --help
  • praisonai standardise init --help
  • praisonai standardise report --help
  • praisonai templates create --help
  • praisonai templates list --help
  • praisonai test info --help
  • praisonai test interactive --help
  • praisonai test run --help
  • praisonai todo add --help
  • praisonai todo done --help
  • praisonai todo list --help
  • praisonai tools info --help
  • praisonai tools list --help
  • praisonai tools test --help
  • praisonai tools validate --help
  • praisonai traces disable --help
  • praisonai traces enable --help
  • praisonai traces list --help
  • praisonai traces status --help
  • praisonai tracker batch --help
  • praisonai tracker judge --help
  • praisonai tracker run --help
  • praisonai tracker tools --help
  • praisonai tracker tracker-main --help
  • praisonai train agents --help
  • praisonai train apply --help
  • praisonai train list --help
  • praisonai train llm --help
  • praisonai train show --help
  • praisonai train train-callback --help
  • praisonai ui ui --help
  • praisonai version check --help
  • praisonai version show --help
  • praisonai version version-callback --help
  • praisonai workflow create --help
  • praisonai workflow list --help
  • praisonai workflow run --help

TypeScript

Types/Exports:

export { Agent, AgentTeam, Agents, PraisonAIAgents, Router } from "./agent";
export type { AgentTeamConfig, PraisonAIAgentsConfig, SimpleAgentConfig, SimpleRouteConfig, SimpleRouterConfig } from "./agent";
export { AudioAgent, createAudioAgent } from "./agent/audio";
export type { AudioAgentConfig, AudioProvider, AudioSpeakOptions, AudioSpeakResult, AudioTranscribeOptions, AudioTranscribeResult } from "./agent/audio";
export { ContextAgent, createContextAgent } from "./agent/context";
export { ContextPolicy, Handoff, HandoffCycleError, HandoffDepthError, HandoffError, HandoffTimeoutError, RECOMMENDED_PROMPT_PREFIX, handoff, handoffFilters, promptWithHandoffInstructions } from "./agent/handoff";
export { ImageAgent, createImageAgent } from "./agent/image";
export { PromptExpanderAgent, createPromptExpanderAgent } from "./agent/prompt-expander";
export { QueryRewriterAgent, createQueryRewriterAgent } from "./agent/query-rewriter";
export { DeepResearchAgent, createDeepResearchAgent } from "./agent/research";
export { RouterAgent, createRouter, routeConditions } from "./agent/router";
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 { 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 { // Classes
  DictCondition, // Functions
  evaluateCondition, // Types
  type ConditionProtocol, ExpressionCondition, FunctionCondition, andConditions, createCondition, 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, MEMORY_URL_SCHEMES, MULTI_AGENT_EXECUTION_PRESETS, MULTI_AGENT_OUTPUT_PRESETS, OUTPUT_PRESETS, OutputPreset, PLANNING_PRESETS, REFLECTION_PRESETS, 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 { // Types
  type DisplayCallback, DisplayFlow, DisplayFlowConfig, asyncDisplayCallbacks, clearDisplayCallbacks, clearErrorLogs, displayError, displayGenerating, displayInstruction, displayInteraction, displaySelfReflection, displayToolCall, errorLogs, logError, registerDisplay, syncDisplayCallbacks } from "./display";
export { // Functions
  embed, // Types
  type EmbeddingResult, aembed, aembedding, aembeddings, cosineSimilarity, embedding, embeddings, euclideanDistance, getDimensions, normalizeEmbedding, setEmbeddingConfig } from "./embeddings";
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, AutonomyLevel, 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 { GraphRAG, GraphStore, createGraphRAG } from "./knowledge/graph-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 { MCPClient, MCPSecurity, MCPServer, MCPSessionManager, createApiKeyPolicy, createMCPClient, createMCPSecurity, createMCPServer, createMCPSession, createRateLimitPolicy, getMCPTools } from "./mcp";
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 { Memory, createMemory } from "./memory/memory";
export type { MemoryConfig, MemoryEntry } from "./memory/memory";
export { RulesManager, createRulesManager, createSafetyRules } from "./memory/rules-manager";
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 { // P0: Call Types (new)
  type MCPCall, // P0: Specialized Agent Configs (new)
  type AudioConfig, // P0: Specialized Agents (new)
  CodeAgent, // P1: Workflow Patterns (new)
  Chunking, // P2: Context Types (new - only items not already exported)
  ContextManager, // P3: Display callbacks (snake_case for Python parity)
  register_display_callback, // P3: Plugin functions
  get_plugin_manager, // P3: Trace & condition functions
  evaluate_condition, EmbeddingAgent, If, Knowledge, MCP, OCRAgent, Parallel, RealtimeAgent, Route, Session, VideoAgent, VisionAgent, async_display_callbacks, cleanup_telemetry_resources, create_context_agent, disable_performance_mode, disable_telemetry, discover_and_load_plugins, discover_plugins, display_error, display_generating, display_instruction, display_interaction, display_self_reflection, display_tool_call, enable_performance_mode, enable_telemetry, ensure_plugin_dir, error_logs, get_default_plugin_dirs, get_dimensions, get_plugin_template, get_telemetry, handoff_filters, load_plugin, parse_plugin_header, parse_plugin_header_from_file, prompt_with_handoff_instructions, resolve_guardrail_policies, sync_display_callbacks, trace_context, track_workflow, when } from "./parity";
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, enablePlugins, ensurePluginDir, getDefaultPluginDirs, getPluginTemplate, isPluginEnabled, listPlugins, loadPlugin, parsePluginHeader, parsePluginHeaderFromFile } 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, 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 { // Python parity additions
  SkillLoader, SkillManager, createSkillLoader, createSkillManager, createSkillProperties, parseSkillFile } from "./skills";
export { AgentTask, AgentTaskConfig, BaseTask, createTaskOutput } from "./task";
export { // Python parity additions
  MinimalTelemetry, AgentTelemetry, PerformanceMonitor, TelemetryCollector, TelemetryIntegration, cleanupTelemetry, cleanupTelemetryResources, createAgentTelemetry, createConsoleSink, createHTTPSink, createPerformanceMonitor, createTelemetryIntegration, disablePerformanceMode, disableTelemetry, enablePerformanceMode, enableTelemetry, getMinimalTelemetry, getTelemetry } from "./telemetry";
export { // Subagent Tool (agent-as-tool pattern)
  SubagentTool, BaseTool, FunctionTool, ToolRegistry, ToolResult, ToolValidationError, createDelegator, createSubagentTool, createSubagentTools, createTool, getRegistry, getTool, registerTool, tool, validateTool } from "./tools";
export { airweaveSearch, bedrockBrowserClick, bedrockBrowserFill, bedrockBrowserNavigate, bedrockCodeInterpreter, codeExecution, codeMode, createCustomTool, 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 { BudgetExceededError, MissingDependencyError, MissingEnvVarError, ToolsRegistry, composeMiddleware, createLoggingMiddleware, createRateLimitMiddleware, createRedactionMiddleware, createRetryMiddleware, createTimeoutMiddleware, createToolsRegistry, createTracingMiddleware, createValidationMiddleware, getRegistry, getTool, getToolsRegistry, get_registry, get_tool, registerTool, register_tool, resetToolsRegistry, validateTool, validate_tool } 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 { // Classes
  TraceSink, // Enums
  ContextEventType, // Functions
  createContextEvent, // Types
  type ContextEvent, ContextListSink, ContextNoOpSink, ContextTraceEmitter, ContextTraceSink, EventType, MessageType, TraceCtx, traceContext, trackWorkflow } from "./trace";
export { // New: Python-parity Loop and Repeat classes
  Loop, // Task class
  Task, AgentFlow, Pipeline, Repeat, Workflow, loop, loopPattern, parallel, repeat, repeatPattern, route } from "./workflows";
export type { LoopConfig, LoopResult, RepeatConfig, RepeatContext, RepeatResult, StepContextConfig, StepExecutionConfig, StepOutputConfig, StepResult, StepRoutingConfig, TaskConfig, WorkflowContext } from "./workflows";
export { 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.