PraisonAI 4.5.2__tar.gz → 4.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {praisonai-4.5.2 → praisonai-4.5.3}/PKG-INFO +2 -2
- {praisonai-4.5.2 → praisonai-4.5.3}/PraisonAI.egg-info/PKG-INFO +2 -2
- {praisonai-4.5.2 → praisonai-4.5.3}/PraisonAI.egg-info/requires.txt +1 -1
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_whatsapp_web_adapter.py +14 -4
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/whatsapp.py +9 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/bot.py +10 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy.py +1 -1
- praisonai-4.5.3/praisonai/version.py +1 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/pyproject.toml +1 -1
- praisonai-4.5.2/praisonai/version.py +0 -1
- {praisonai-4.5.2 → praisonai-4.5.3}/PraisonAI.egg-info/SOURCES.txt +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/PraisonAI.egg-info/dependency_links.txt +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/PraisonAI.egg-info/entry_points.txt +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/PraisonAI.egg-info/top_level.txt +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/README.md +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/__main__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/api_md.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/docs_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/docs_generator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/generator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/python_docs_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/python_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/rust_docs_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/rust_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/topic_normalizer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/ts_docs_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/_dev/parity/typescript_extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/acp/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/acp/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/acp/safe_edit.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/acp/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/acp/session.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/adapters/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/adapters/readers.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/adapters/rerankers.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/adapters/retrievers.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/adapters/vector_stores.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/agent_scheduler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/agents_generator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/api/call.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/app/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/app/agentos.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/audit/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/audit/agent_centric.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/auto.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_ack.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_approval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_approval_base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_chunk.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_commands.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_config_schema.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_debounce.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_discord_approval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_http_approval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_protocol_mixin.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_resilience.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_session.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_slack_approval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_telegram_approval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/_webhook_approval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/bot.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/botos.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/discord.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/media.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/slack.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/bots/telegram.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/agent.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/benchmark.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/cdp_agent.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/cdp_utils.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/diagnostics.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/launcher.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/playwright_agent.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/profiling.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/protocol.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/report.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/sessions.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/browser/video.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/a2a.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/assistants.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/audio.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/batches.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/completions.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/container_files.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/containers.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/embeddings.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/files.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/fine_tuning.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/guardrails.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/images.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/mcp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/messages.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/moderations.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/ocr.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/passthrough.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/rag.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/realtime.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/rerank.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/responses.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/search.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/skills.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/vector_store_files.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/vector_stores.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/capabilities/videos.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/chainlit_ui.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/chat/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/chat/app.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/app.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/branding.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/acp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/agents.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/app.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/audit.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/batch.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/benchmark.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/browser.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/call.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/chat.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/code.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/commit.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/completion.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/context.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/debug.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/deploy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/diag.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/docs.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/doctor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/endpoints.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/environment.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/eval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/examples.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/gateway.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/hooks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/knowledge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/loop.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/lsp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/mcp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/memory.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/obs.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/package.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/plugins.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/profile.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/rag.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/realtime.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/recipe.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/replay.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/research.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/retrieval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/rules.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/run.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/sandbox.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/schedule.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/serve.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/session.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/skills.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/standardise.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/templates.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/test.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/todo.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/traces.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/train.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/ui.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/version.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/commands/workflow.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/config_loader.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/configuration/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/configuration/loader.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/configuration/paths.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/configuration/schema.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/execution/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/execution/core.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/execution/profiler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/execution/request.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/execution/result.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/acp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/action_orchestrator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/agent_scheduler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/agent_tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/agents.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/at_mentions.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/audit_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/auto_memory.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/auto_mode.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/autonomy_mode.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/background.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/benchmark.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/bots_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/capabilities.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/checkpoints.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/cli_profiler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/code_intelligence.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/compaction.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/compare.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/config_hierarchy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/context_manager.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/cost_tracker.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/csv_test_runner.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/debug.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/deploy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/diag.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/acp_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/bot_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/config_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/db_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/env_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/lsp_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/mcp_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/memory_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/network_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/obs_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/performance_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/permissions_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/selftest_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/serve_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/skills_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/checks/tools_checks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/engine.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/formatters.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/handler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/doctor/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/endpoints.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/eval.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/examples.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/external_agents.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/fast_context.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/file_history.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/flow_display.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/gateway.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/git_attribution.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/git_integration.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/guardrail.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/handoff.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/hooks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/image.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/interactive_core_headless.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/interactive_runtime.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/interactive_test_harness.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/interactive_tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/interactive_tui.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/jobs.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/knowledge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/knowledge_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/lite.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/logs.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/lsp_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/lsp_diagnostics.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/mcp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/message_queue.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/metrics.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/migrate.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/migration_flow.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/migration_spec.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/n8n.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/observability.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/ollama.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/onboard.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/output_modes.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/output_style.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/package.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/performance.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/persistence.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/plugin_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/profile.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/profiler/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/profiler/core.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/profiler/optimizations.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/profiler/suite.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/profiling.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/queue/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/queue/manager.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/queue/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/queue/persistence.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/queue/scheduler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/queue/worker.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/recipe.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/recipe_creator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/recipe_optimizer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/recipe_prompts.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/recipes.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/repo_map.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/router.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/safe_shell.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/sandbox_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/sandbox_executor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/sdk_knowledge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/serve.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/session.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/skills.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/slash_commands.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/telemetry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/templates.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/thinking.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/todo.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/app.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/debug.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/events.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/mock_provider.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/orchestrator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/screens/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/screens/help.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/screens/main.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/screens/queue.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/screens/session.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/screens/settings.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/session_store.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/chat.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/command_popup.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/composer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/file_popup.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/queue_panel.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/status.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/tui/widgets/tool_panel.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/wizard.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/workflow.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/features/yaml_utils.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/async_tui.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/core.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/events.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/frontends/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/frontends/rich_frontend.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/frontends/textual_frontend.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/praison_io.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/repl.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/split_tui.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/interactive/tui_app.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/legacy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/main.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/output/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/output/console.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/schedule_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/session/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/session/unified.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/state/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/state/identifiers.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/state/sessions.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/ui/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/ui/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/ui/events.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/ui/mg_backend.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/ui/plain.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/cli/ui/rich_backend.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/agent_tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/diff/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/diff/diff_strategy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/apply_diff.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/execute_command.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/list_files.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/read_file.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/search_replace.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/tools/write_file.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/utils/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/utils/file_utils.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/utils/ignore_utils.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/code/utils/text_utils.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/artifact_store.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/history_store.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/queue.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/setup.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/context/terminal_logger.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/daemon/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/daemon/launchd.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/daemon/systemd.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/db/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/db/adapter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/api.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/docker.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/doctor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/main.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/providers/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/providers/aws.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/providers/azure.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/providers/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/providers/gcp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/deploy/schema.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/classifier.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/executor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/extractor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/reporter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/runner.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/docs_runner/workspace.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/a2u_server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/discovery.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/a2a.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/a2u.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/agents_api.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/mcp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/recipe.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/providers/tools_mcp.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/endpoints/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/gateway/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/gateway/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/inbuilt_tools/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/inc/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/inc/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/inc/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/integrations/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/integrations/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/integrations/claude_code.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/integrations/codex_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/integrations/cursor_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/integrations/gemini_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/jobs/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/jobs/executor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/jobs/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/jobs/router.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/jobs/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/jobs/store.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/llm/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/llm/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/agents.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/capabilities.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/cli_tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/extended_capabilities.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/knowledge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/memory.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/prompts.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/resources.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/adapters/tools_bridge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/auth/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/auth/api_key.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/auth/oauth.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/auth/oidc.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/auth/scopes.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/elicitation.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/icons.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/recipe_adapter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/recipe_cli.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/sampling.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/tasks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/tool_index.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/transports/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/transports/http_stream.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/mcp_server/transports/stdio.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/async_mysql.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/async_postgres.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/async_sqlite.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/json_store.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/mysql.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/postgres.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/singlestore.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/sqlite.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/supabase.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/conversation/surrealdb.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/factory.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/hooks/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/hooks/agent_hooks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/cassandra.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/chroma.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/clickhouse.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/cosmosdb_vector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/couchbase.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/lancedb.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/langchain_adapter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/lightrag_adapter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/llamaindex_adapter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/milvus.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/mongodb_vector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/pgvector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/pinecone.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/qdrant.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/redis_vector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/singlestore_vector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/surrealdb_vector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/upstash_vector.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/knowledge/weaviate.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/migrations/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/migrations/manager.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/orchestrator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/async_mongodb.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/dynamodb.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/firestore.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/gcs.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/memory.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/mongodb.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/redis.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/state/upstash.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/tests/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/persistence/tests/test_all_backends.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/profiler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/bridge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/core.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/exceptions.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/history.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/operations.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/policy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/runtime.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/security.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/serve.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/recipe/server.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/analyzer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/applier.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/judge.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/plan.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/player.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/reader.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/storage.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/replay/writer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/sandbox/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/sandbox/docker.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/sandbox/subprocess.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler/agent_scheduler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler/base.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler/daemon_manager.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler/state_manager.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler/yaml_loader.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/scheduler.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/setup/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/setup/build.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/setup/post_install.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/setup/setup_conda_env.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/setup.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/ai_generator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/dedupe.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/discovery.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/drift.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/engine.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/enhanced_templates.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/example_verifier.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/manifest.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/reports.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/templates.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/undo_redo.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/standardise/validator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/batch_source.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/cli_docs_source.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/discovery.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/docs_source.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/examples_source.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/executor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/report_viewer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/reporter.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/suite_runner/runner.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/cache.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/dependency_checker.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/discovery.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/loader.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/resolver.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/security.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/tool_override.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/templates/tools_doctor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/test.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/tool_resolver.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/tools/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/tools/audio.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/tools/glob_tool.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/tools/grep_tool.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/tools/multiedit.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/agents/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/agents/grader.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/agents/hook.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/agents/models.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/agents/orchestrator.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/agents/storage.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/llm/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train/llm/trainer.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/train_vision.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/agents.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/bot.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/callbacks.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/chainlit_compat.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/chat.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/code.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/colab.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/colab_chainlit.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/components/aicoder.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/context.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/database_config.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/db.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/realtime.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/realtimeclient/__init__.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/realtimeclient/tools.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/ui/sql_alchemy.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/praisonai/upload_vision.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/setup.cfg +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_agents_playbook.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_approval_system.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_basic.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_cli_features.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_custom_tools_fix.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_double_api_fix.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_n8n_integration.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_phase2_refactor.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_recipe.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_registry.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_runner.py +0 -0
- {praisonai-4.5.2 → praisonai-4.5.3}/tests/test_serve_features.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.3
|
|
4
4
|
Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
|
|
|
11
11
|
Requires-Dist: rich>=13.7
|
|
12
12
|
Requires-Dist: markdown>=3.5
|
|
13
13
|
Requires-Dist: pyparsing>=3.0.0
|
|
14
|
-
Requires-Dist: praisonaiagents>=1.5.
|
|
14
|
+
Requires-Dist: praisonaiagents>=1.5.3
|
|
15
15
|
Requires-Dist: python-dotenv>=0.19.0
|
|
16
16
|
Requires-Dist: litellm>=1.81.0
|
|
17
17
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.3
|
|
4
4
|
Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
|
|
|
11
11
|
Requires-Dist: rich>=13.7
|
|
12
12
|
Requires-Dist: markdown>=3.5
|
|
13
13
|
Requires-Dist: pyparsing>=3.0.0
|
|
14
|
-
Requires-Dist: praisonaiagents>=1.5.
|
|
14
|
+
Requires-Dist: praisonaiagents>=1.5.3
|
|
15
15
|
Requires-Dist: python-dotenv>=0.19.0
|
|
16
16
|
Requires-Dist: litellm>=1.81.0
|
|
17
17
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -112,13 +112,19 @@ class WhatsAppWebAdapter:
|
|
|
112
112
|
# ── Suppress noisy Go-backend warnings ─────────────────────
|
|
113
113
|
# whatsmeow emits non-actionable warnings (websocket EOF on
|
|
114
114
|
# close, LTHash mismatches during state sync, duplicate
|
|
115
|
-
# contacts, missing MAC values
|
|
116
|
-
# quirks, not bugs in our
|
|
115
|
+
# contacts, missing MAC values, decryption failures for old
|
|
116
|
+
# keys). These are protocol-level quirks, not bugs in our
|
|
117
|
+
# code — suppress to reduce noise.
|
|
117
118
|
_known_noise = (
|
|
118
119
|
"failed to close WebSocket",
|
|
120
|
+
"Error sending close to websocket",
|
|
119
121
|
"duplicate contacts found",
|
|
120
122
|
"mismatching LTHash",
|
|
121
123
|
"missing value MAC",
|
|
124
|
+
"failed to decrypt prekey message",
|
|
125
|
+
"failed to decrypt group message",
|
|
126
|
+
"received message with old counter",
|
|
127
|
+
"failed to read frame header",
|
|
122
128
|
)
|
|
123
129
|
|
|
124
130
|
class _WhatsmeowNoiseFilter(logging.Filter):
|
|
@@ -126,9 +132,13 @@ class WhatsAppWebAdapter:
|
|
|
126
132
|
msg = record.getMessage()
|
|
127
133
|
return not any(pat in msg for pat in _known_noise)
|
|
128
134
|
|
|
129
|
-
|
|
135
|
+
# Apply to the root "whatsmeow" logger so ALL child loggers
|
|
136
|
+
# (whatsmeow.Client, whatsmeow.Database, etc.) inherit it.
|
|
137
|
+
# Also apply to neonize's own log module logger.
|
|
138
|
+
_noise_filter = _WhatsmeowNoiseFilter()
|
|
139
|
+
for _logger_name in ("whatsmeow", "neonize.utils.log"):
|
|
130
140
|
_wm_logger = logging.getLogger(_logger_name)
|
|
131
|
-
_wm_logger.addFilter(
|
|
141
|
+
_wm_logger.addFilter(_noise_filter)
|
|
132
142
|
|
|
133
143
|
# ── Critical: bridge neonize's event loop to ours ──────────
|
|
134
144
|
# neonize creates event_global_loop = asyncio.new_event_loop()
|
|
@@ -457,10 +457,19 @@ class WhatsAppBot(ChatCommandMixin, MessageHookMixin):
|
|
|
457
457
|
await asyncio.sleep(1)
|
|
458
458
|
except asyncio.CancelledError:
|
|
459
459
|
pass
|
|
460
|
+
except KeyboardInterrupt:
|
|
461
|
+
pass
|
|
460
462
|
except Exception as e:
|
|
461
463
|
logger.error(f"WhatsApp Web mode error: {e}")
|
|
462
464
|
raise
|
|
463
465
|
finally:
|
|
466
|
+
# Graceful shutdown: stop the neonize log worker thread to
|
|
467
|
+
# prevent "threading._shutdown" errors on Ctrl+C.
|
|
468
|
+
try:
|
|
469
|
+
from neonize.utils.log import shutdown_log_worker
|
|
470
|
+
shutdown_log_worker()
|
|
471
|
+
except Exception:
|
|
472
|
+
pass
|
|
464
473
|
await self.stop()
|
|
465
474
|
|
|
466
475
|
async def _web_send(self, to: Any, text: str) -> None:
|
|
@@ -286,6 +286,9 @@ def bot_whatsapp(
|
|
|
286
286
|
auto_tts: bool = typer.Option(False, "--auto-tts", help="Auto-convert all responses to speech"),
|
|
287
287
|
stt: bool = typer.Option(False, "--stt", help="Enable STT tool for speech-to-text"),
|
|
288
288
|
stt_model: Optional[str] = typer.Option(None, "--stt-model", help="STT model (default: openai/whisper-1)"),
|
|
289
|
+
respond_to: Optional[str] = typer.Option(None, "--respond-to", help="Comma-separated phone numbers the bot responds to (besides self)"),
|
|
290
|
+
respond_to_groups: Optional[str] = typer.Option(None, "--respond-to-groups", help="Comma-separated group JIDs the bot responds in"),
|
|
291
|
+
respond_to_all: bool = typer.Option(False, "--respond-to-all", help="Respond to ALL messages (default: self-only)"),
|
|
289
292
|
):
|
|
290
293
|
"""Start a WhatsApp bot with full agent capabilities.
|
|
291
294
|
|
|
@@ -328,6 +331,10 @@ def bot_whatsapp(
|
|
|
328
331
|
user_id=user_id,
|
|
329
332
|
)
|
|
330
333
|
|
|
334
|
+
# Parse comma-separated filtering values
|
|
335
|
+
allowed_numbers = [n.strip() for n in respond_to.split(",") if n.strip()] if respond_to else None
|
|
336
|
+
allowed_groups = [g.strip() for g in respond_to_groups.split(",") if g.strip()] if respond_to_groups else None
|
|
337
|
+
|
|
331
338
|
handler = BotHandler()
|
|
332
339
|
handler.start_whatsapp(
|
|
333
340
|
token=token,
|
|
@@ -338,6 +345,9 @@ def bot_whatsapp(
|
|
|
338
345
|
capabilities=capabilities,
|
|
339
346
|
mode=mode,
|
|
340
347
|
creds_dir=creds_dir,
|
|
348
|
+
allowed_numbers=allowed_numbers,
|
|
349
|
+
allowed_groups=allowed_groups,
|
|
350
|
+
respond_to_all=respond_to_all,
|
|
341
351
|
)
|
|
342
352
|
|
|
343
353
|
|
|
@@ -57,7 +57,7 @@ class CloudDeployer:
|
|
|
57
57
|
file.write("FROM python:3.11-slim\n")
|
|
58
58
|
file.write("WORKDIR /app\n")
|
|
59
59
|
file.write("COPY . .\n")
|
|
60
|
-
file.write("RUN pip install flask praisonai==4.5.
|
|
60
|
+
file.write("RUN pip install flask praisonai==4.5.3 gunicorn markdown\n")
|
|
61
61
|
file.write("EXPOSE 8080\n")
|
|
62
62
|
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
|
|
63
63
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.5.3"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "4.5.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|