Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

Β 

History

History
1130 lines (1036 loc) Β· 147 KB

File metadata and controls

1130 lines (1036 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, 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() -> bool
  • ToolResult.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() -> None
  • Agent.add_mcp_server(name: str, mcp: Any) -> Any
  • Agent.add_verification(hook: Any) -> None
  • Agent.agent_id() -> str
  • Agent.analyze_prompt(prompt: str) -> set
  • Agent.auto_memory() -> Optional[bool]
  • Agent.auto_memory(value: Optional[bool]) -> None
  • Agent.chat_history()
  • Agent.chat_history(value)
  • Agent.chat_with_context(message: str, context: 'ContextPack', **kwargs) -> str
  • Agent.clone_for_channel() -> 'Agent'
  • Agent.close() -> 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.guardrail_retry_count() -> int
  • 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.is_closed() -> bool
  • Agent.last_guardrail_error()
  • Agent.last_stop_reason() -> str
  • Agent.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]) -> 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.reasoning_effort() -> Optional[str]
  • Agent.reasoning_effort(value: Optional[str]) -> None
  • Agent.redo() -> bool
  • Agent.refresh_tools() -> List[Any]
  • Agent.remove_mcp_server(name: str) -> bool
  • Agent.remove_verification(name: str) -> 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, 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) -> bool
  • Agent.skill_manager() -> Optional[Any]
  • Agent.store_memory(content: str, memory_type: str = 'short_term', action: str = 'add', **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
  • Agent.where_does_it_run() -> str
  • 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.to_model_output(result: Any) -> Optional[Any]
  • BaseTool.validate() -> bool
  • BaseTool.validate_class() -> bool
  • BaseTool.validate_schema_roundtrip() -> bool
  • FunctionTool.call(*args, **kwargs) -> Any
  • FunctionTool.check_availability() -> tuple[bool, str]
  • FunctionTool.injected_params() -> Dict[str, Any]
  • FunctionTool.run(**kwargs) -> Any
  • FunctionTool.to_model_output(result: Any) -> Optional[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.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) -> 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, trust_level: Optional[str] = None, dynamic_schema_overrides: Optional[Callable[[Dict[str, Any]], Dict[str, Any]]] = 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.initialize_memory_async()
  • Task.set_status(new_status: str) -> None
  • 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, max_workers: Optional[int] = None, on_failure: str = 'partial_ok') -> 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

Memory

Types:

from praisonaiagents import Memory, MemoryBackend, MemoryConfig

Methods:

  • Memory.acommit_memory_batch(writes: List[tuple]) -> None
  • Memory.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) -> 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.commit_memory_batch(writes: List[tuple]) -> None
  • 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.forget(**kwargs) -> int
  • Memory.get_all_memories() -> List[Dict[str, Any]]
  • Memory.get_context(query: Optional[str] = None, **kwargs) -> str
  • Memory.get_learn_context() -> str
  • Memory.learn()
  • Memory.recall(query: str, **kwargs) -> List[Dict[str, Any]]
  • Memory.remember(content: str, **kwargs) -> str
  • 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, 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') -> 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, 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() -> bool
  • 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, 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) -> 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, tool_policy_mode: Optional[Literal['intersect', 'passthrough']] = None, blocked_tools: Optional[List[str]] = 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']]
  • 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:

Skills

Types:

from praisonaiagents import SkillLoader, SkillsConfig

Methods:

  • SkillLoader.activate(skill: LoadedSkill) -> bool
  • SkillLoader.load(skill_path: str, activate: bool = False) -> Optional[LoadedSkill]
  • SkillLoader.load_all_resources(skill: LoadedSkill) -> None
  • SkillLoader.load_assets(skill: LoadedSkill) -> dict
  • SkillLoader.load_metadata(skill_path: str) -> Optional[LoadedSkill]
  • SkillLoader.load_references(skill: LoadedSkill) -> dict
  • SkillLoader.load_scripts(skill: LoadedSkill) -> dict
  • SkillsConfig.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) -> 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.close() -> 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.is_expired() -> bool
  • 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
  • Session.time_to_expiry() -> Optional[float]

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, 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, 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() -> bool
  • AutonomyConfig.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() -> int
  • ExecutionConfig.resolved_max_tool_calls() -> int
  • 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, 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() -> bool
  • AgentFlow.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() -> bool
  • AgentFlow.to_dict() -> Dict[str, Any]
  • AgentFlow.to_mermaid() -> str
  • AgentFlow.validate_variables() -> None
  • AgentFlow.verbose() -> bool
  • AgentFlow.verbose(value: bool)
  • AgentFlow.where_does_it_run() -> str
  • AgentOSProtocol.get_app() -> Any
  • AgentOSProtocol.serve(host: Optional[str] = None, port: Optional[int] = None, reload: bool = False, **kwargs: Any) -> None
  • AgentTeam.aannounce_completion(agent_id: str, task_id: str, result: Any, success: bool = True, error: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> None
  • AgentTeam.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) -> None
  • AgentTeam.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) -> SpawnedSubAgent
  • AgentTeam.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) -> str
  • AgentTeam.clear_state() -> None
  • AgentTeam.close() -> None
  • AgentTeam.context_manager()
  • AgentTeam.current_plan()
  • AgentTeam.default_completion_checker(task, agent_output)
  • AgentTeam.delete_state(key: str) -> bool
  • AgentTeam.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() -> str
  • AgentTeam.get_spawned_agents() -> List[SpawnedSubAgent]
  • AgentTeam.get_state(key: str, default: Any = None) -> Any
  • AgentTeam.get_task_details(task_id)
  • AgentTeam.get_task_result(task_id, tasks = None)
  • AgentTeam.get_task_status(task_id)
  • AgentTeam.get_todo_markdown() -> str
  • AgentTeam.get_token_usage_summary() -> Dict[str, Any]
  • AgentTeam.has_state(key: str) -> bool
  • AgentTeam.increment_state(key: str, amount: float = 1, default: float = 0) -> float
  • AgentTeam.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) -> bool
  • AgentTeam.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) -> bool
  • AgentTeam.set_state(key: str, value: Any) -> None
  • AgentTeam.spawn_sub_agent(agent: Agent, task: Any, completion_callback: Optional[Callable[[SubAgentCompletionEvent], Any]] = None, metadata: Optional[Dict[str, Any]] = None) -> SpawnedSubAgent
  • AgentTeam.start(content = None, return_dict = False, output = None, **kwargs)
  • AgentTeam.start_for_each(inputs, **kwargs)
  • AgentTeam.stream_emitter()
  • AgentTeam.todo_list()
  • AgentTeam.update_plan_step_status(step_id: str, status: str) -> bool
  • AgentTeam.update_state(updates: Dict) -> None
  • AgentTeam.wait_for_completions(timeout: Optional[float] = None, agent_ids: Optional[List[str]] = None) -> List[SubAgentCompletionEvent]
  • AgentTeam.where_does_it_run() -> str
  • AutoApproveBackend.request_approval(request: ApprovalRequest) -> ApprovalDecision
  • AutoApproveBackend.request_approval_sync(request: ApprovalRequest) -> ApprovalDecision
  • RunOutcome.completed(output: Optional[str] = None) -> 'RunOutcome'
  • RunOutcome.from_exception(exc: BaseException, output: Optional[str] = None) -> 'RunOutcome'
  • RunOutcome.succeeded() -> bool
  • praisonaiagents.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) -> EmbeddingResult
  • praisonaiagents.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) -> EmbeddingResult
  • praisonaiagents.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 --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 chat --help
  • praisonai code --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 dashboard unified --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 examples find --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 export --help
  • praisonai flow flow-start --help
  • praisonai flow import --help
  • praisonai flow list --help
  • praisonai flow version --help
  • praisonai knowledge add --help
  • praisonai knowledge index --help
  • praisonai knowledge list --help
  • praisonai knowledge search --help
  • praisonai langextract render --help
  • praisonai langextract view --help
  • praisonai langfuse config --help
  • praisonai langfuse connect --help
  • praisonai langfuse init --help
  • praisonai langfuse langfuse-start --help
  • praisonai langfuse sessions --help
  • praisonai langfuse show --help
  • praisonai langfuse status --help
  • praisonai langfuse stop --help
  • praisonai langfuse test --help
  • praisonai langfuse traces --help
  • praisonai langfuse version --help
  • praisonai managed delete --help
  • praisonai managed get --help
  • praisonai managed list --help
  • praisonai managed managed-callback --help
  • praisonai managed multi --help
  • praisonai managed ps --help
  • praisonai managed restore --help
  • praisonai managed resume --help
  • praisonai managed run --help
  • praisonai managed save --help
  • praisonai managed show --help
  • praisonai managed stop --help
  • praisonai managed update --help
  • praisonai n8n export --help
  • praisonai n8n import --help
  • praisonai n8n list --help
  • praisonai n8n preview --help
  • praisonai n8n pull --help
  • praisonai n8n push --help
  • praisonai n8n test --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 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 runs --help
  • praisonai recipe 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 run --help
  • praisonai schedule add --help
  • praisonai schedule blueprint --help
  • praisonai schedule blueprint-list --help
  • praisonai schedule delete --help
  • praisonai schedule describe --help
  • praisonai schedule list --help
  • praisonai schedule logs --help
  • praisonai schedule pause --help
  • praisonai schedule remove --help
  • praisonai schedule restart --help
  • praisonai schedule resume --help
  • praisonai schedule run --help
  • praisonai schedule runs --help
  • praisonai schedule schedule-callback --help
  • praisonai schedule start --help
  • praisonai schedule stats --help
  • praisonai schedule stop --help
  • praisonai schedule suggestion-accept --help
  • praisonai schedule suggestion-dismiss --help
  • praisonai schedule suggestion-propose --help
  • praisonai schedule suggestions --help
  • praisonai schedule update --help
  • praisonai validate check --help
  • praisonai validate schema --help
  • praisonai 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 { AGENT_RUN_STATUSES, AgentRunOutcome, PROVIDER_BLOCK_REASONS, RunOutcome, TERMINAL_REASON_PRECEDENCE, TERMINATION_TO_RUN_STATUS, TerminationReason, classifyFinishReason, terminationToRunStatus, termination_to_run_status, validateDecisionString, validate_decision_string } from "./agent/run-outcome";
export type { AgentRunOutcomeFailureOptions, AgentRunOutcomeInit, AgentRunOutcomeOptions, AgentRunStatus, RunOutcomeInit, TerminalReason } 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 { // 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, 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, listHarnessProfiles, 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.