PraisonAI 4.6.133__tar.gz → 4.6.135__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.6.133 → praisonai-4.6.135}/PKG-INFO +4 -4
- {praisonai-4.6.133 → praisonai-4.6.135}/PraisonAI.egg-info/PKG-INFO +4 -4
- {praisonai-4.6.133 → praisonai-4.6.135}/PraisonAI.egg-info/requires.txt +3 -3
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/agents_generator.py +77 -80
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/auto.py +1 -1
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/docs.py +6 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/registry.py +31 -16
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/executor.py +24 -1
- praisonai-4.6.135/praisonai/version.py +1 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/pyproject.toml +3 -3
- praisonai-4.6.133/praisonai/version.py +0 -1
- {praisonai-4.6.133 → praisonai-4.6.135}/PraisonAI.egg-info/SOURCES.txt +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/PraisonAI.egg-info/dependency_links.txt +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/PraisonAI.egg-info/entry_points.txt +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/PraisonAI.egg-info/top_level.txt +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/README.md +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/__main__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_approval_spec.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_async_bridge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_bootstrap.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/api_md.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/docs_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/docs_generator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/generator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/python_docs_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/python_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/rust_docs_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/rust_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/topic_normalizer.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/ts_docs_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_dev/parity/typescript_extractor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_entrypoint.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_framework_availability.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_lazy_cache.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_lockmap.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_logging.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/_safe_loader.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/acp/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/acp/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/acp/safe_edit.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/acp/server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/acp/session.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/adapters/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/adapters/readers.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/adapters/rerankers.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/adapters/retrievers.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/adapters/vector_stores.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/agent_scheduler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/api/agent_invoke.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/api/call.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/app/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/app/agentos.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/async_agent_scheduler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/audit/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/audit/agent_centric.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/bots/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/benchmark.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/cdp_agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/cdp_utils.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/diagnostics.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/launcher.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/playwright_agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/profiling.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/protocol.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/report.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/sessions.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/browser/video.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/a2a.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/assistants.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/audio.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/batches.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/completions.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/container_files.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/containers.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/embeddings.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/files.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/fine_tuning.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/guardrails.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/images.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/mcp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/messages.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/moderations.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/ocr.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/passthrough.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/rag.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/realtime.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/rerank.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/responses.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/search.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/skills.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/vector_store_files.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/vector_stores.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/capabilities/videos.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/claw/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/_paths.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/_shim.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/_warnings.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/approval_backend.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/branding.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/acp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/agents.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/attach.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/audit.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/auth.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/batch.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/benchmark.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/bot.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/browser.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/call.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/chat.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/checkpoint.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/claw.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/code.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/command.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/commit.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/completion.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/context.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/daemon.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/dashboard.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/debug.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/deploy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/diag.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/doctor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/endpoints.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/environment.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/eval.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/examples.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/flow.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/gateway.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/github.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/hooks.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/identity.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/init.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/kanban.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/knowledge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/langextract.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/langfuse.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/loop.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/lsp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/managed.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/mcp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/memory.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/mint_link.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/n8n.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/obs.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/onboard.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/package.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/pairing.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/paths.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/permissions.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/plugins.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/port.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/profile.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/publish.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/rag.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/realtime.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/recipe.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/replay.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/research.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/retrieval.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/rules.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/run.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/sandbox.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/schedule.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/serve.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/session.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/setup.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/skills.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/standardise.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/templates.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/test.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/todo.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/traces.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/tracker.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/train.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/ui.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/up.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/validate.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/version.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/commands/workflow.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/config_loader.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/configuration/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/configuration/config.schema.json +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/execution/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/fallback_schema.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/acp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/agent_scheduler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/agent_tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/approval.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/background.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/bots_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/deploy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/endpoints.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/eval.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/gateway.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/ollama.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/onboard.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/persistence.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/recipe.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/recipe_optimizer.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/sandbox_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/serve.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/templates.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/tui/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/tui/app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/features/workflow.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/interactive/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/interactive/async_tui.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/interactive/core.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/langfuse_client.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/direct_prompt.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/dispatch/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/dispatch/argparse_builder.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/dispatch/legacy_dispatch.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/framework_run.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/inbuilt_tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/interactive_legacy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/subcommand_handlers.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/legacy/workflow_commands.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/main.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/output/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/schedule_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/schema_provider.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/session/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/state/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/ui/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/unified_schema.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli/utils/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/cli_backends/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/agent_tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/diff/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/diff/diff_strategy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/apply_diff.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/execute_command.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/list_files.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/read_file.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/search_replace.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/tools/write_file.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/utils/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/utils/file_utils.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/utils/ignore_utils.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/code/utils/text_utils.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/config/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/config/schema.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/config/validator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/_storage_path.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/artifact_store.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/history_store.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/queue.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/setup.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/context/terminal_logger.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/daemon/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/db/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/db/adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/api.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/docker.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/doctor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/main.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/providers/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/providers/_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/providers/aws.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/providers/azure.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/providers/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/providers/gcp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/deploy/schema.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/a2u_server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/discovery.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/a2a.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/a2u.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/agents_api.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/mcp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/openai_compat.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/recipe.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/providers/tools_mcp.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/endpoints/server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/client.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/components/PraisonAI/praisonai_agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/components/PraisonAI/praisonai_agents.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/components/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/converter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/flow/helpers.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/_config_builder.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/autogen_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/crewai_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/praisonai_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/validators.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/framework_adapters/workflow_framework.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/gateway/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/inbuilt_tools/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/inc/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/inc/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/inc/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/approvals_bridge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/hooks_query.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/kanban_bridge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/schedules_runner.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/usage_bridge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/bridges/workflows_service.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/context_files.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/gateway_host.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/host_app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/pages/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/pages/bot_health.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integration/pages/workflow_runs.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/_session_info.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/_tool_aliases.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/_unified_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/backend_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/claude_code.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/codex_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/daytona.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/docker.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/e2b.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/flyio.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/local.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/compute/modal_compute.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/cursor_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/db_session_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/gemini_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/hosted_agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/local_agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/managed_agents.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/managed_local.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/integrations/sandboxed_agent.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/executor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/path_validation.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/router.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/jobs/store.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/kanban/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/catalogue.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/credentials.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/env.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/gateways.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/llm/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/agents.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/capabilities.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/cli_tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/extended_capabilities.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/knowledge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/memory.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/prompts.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/resources.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/adapters/tools_bridge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/auth/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/auth/api_key.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/auth/oauth.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/auth/oidc.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/auth/scopes.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/elicitation.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/icons.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/recipe_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/recipe_cli.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/sampling.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/tasks.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/tool_index.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/transports/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/transports/http_stream.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/mcp_server/transports/stdio.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/n8n/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/n8n/client.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/n8n/converter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/n8n/preview.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/n8n/reverse_converter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/observability/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/observability/hooks.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/observability/langextract.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/observability/langfuse.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/_valkey_client.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/_sql_base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/_sqlite_base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/async_mysql.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/async_postgres.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/async_sqlite.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/json_store.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/mysql.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/postgres.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/singlestore.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/sqlite.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/supabase.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/surrealdb.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/sync_sqlite.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/conversation/turso.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/factory.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/hooks/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/hooks/agent_hooks.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/cassandra.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/chroma.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/clickhouse.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/cosmosdb_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/couchbase.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/lancedb.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/langchain_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/lightrag_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/llamaindex_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/milvus.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/mongodb_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/pgvector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/pinecone.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/qdrant.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/redis_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/singlestore_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/surrealdb_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/upstash_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/valkey_vector.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/knowledge/weaviate.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/migrations/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/migrations/manager.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/orchestrator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/async_mongodb.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/dynamodb.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/firestore.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/gcs.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/memory.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/mongodb.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/redis.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/upstash.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/state/valkey.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/tests/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/tests/test_all_backends.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/tests/test_registry_lazy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/persistence/tests/test_valkey_backends.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/profiler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/push/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/push/client.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/push/transports.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/bridge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/core.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/exceptions.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/history.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/operations.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/policy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/runtime.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/security.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/serve.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/recipe/server.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/analyzer.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/applier.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/judge.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/plan.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/player.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/reader.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/storage.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/replay/writer.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/runtime/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/runtime/__main__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/_compat.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/_shell.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/daytona.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/docker.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/e2b.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/modal.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/sandlock.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/ssh.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/sandbox/subprocess.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/_base_scheduler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/_dispatch.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/agent_scheduler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/async_agent_scheduler.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/base.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/blueprint_catalogue.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/condition_gate.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/daemon_manager.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/deployment.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/executor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/run_policy.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/shared.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/state_manager.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/suggestion_engine.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/scheduler/yaml_loader.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/security/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/security/audit.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/security/injection.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/security/protected.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/setup/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/setup/build.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/setup/post_install.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/setup/setup_conda_env.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/setup.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/ai_generator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/dedupe.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/discovery.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/drift.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/engine.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/enhanced_templates.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/example_verifier.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/manifest.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/reports.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/templates.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/undo_redo.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/standardise/validator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/storage/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/storage/dynamodb_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/storage/mongodb_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/storage/postgresql_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/storage/redis_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/storage/valkey_adapter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/batch_source.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/cli_docs_source.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/discovery.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/docs_source.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/examples_source.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/report_viewer.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/reporter.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/suite_runner/runner.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/cache.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/dependency_checker.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/discovery.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/loader.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/resolver.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/security.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/tool_override.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/templates/tools_doctor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tool_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tool_resolver.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/audio.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/glob_tool.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/grep_tool.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/kanban_tools.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/multiedit.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/tools/skill_manage.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/_ollama.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/agents/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/agents/grader.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/agents/hook.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/agents/models.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/agents/orchestrator.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/agents/storage.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/llm/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train/llm/trainer.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/train_vision.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui/_aiui_datastore.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui/_external_agents.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui/callbacks.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui/components/aicoder.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui/context.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui/database_config.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_agents/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_agents/default_app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_bot/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_bot/default_app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_chat/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_chat/default_app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_dashboard/default_app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_realtime/__init__.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/ui_realtime/default_app.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/praisonai/upload_vision.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/setup.cfg +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_agents_playbook.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_approval_system.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_basic.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_cli_features.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_custom_tools_fix.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_double_api_fix.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_n8n_agent_invoke.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_n8n_cli_feature.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_n8n_integration.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_phase2_refactor.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_recipe.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_registry.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_runner.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_sandboxed_agent_compatibility.py +0 -0
- {praisonai-4.6.133 → praisonai-4.6.135}/tests/test_serve_features.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 4.6.
|
|
3
|
+
Version: 4.6.135
|
|
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,9 +11,9 @@ 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.6.
|
|
15
|
-
Requires-Dist: praisonai-code>=0.0.
|
|
16
|
-
Requires-Dist: praisonai-bot>=0.0.
|
|
14
|
+
Requires-Dist: praisonaiagents>=1.6.138
|
|
15
|
+
Requires-Dist: praisonai-code>=0.0.34
|
|
16
|
+
Requires-Dist: praisonai-bot>=0.0.19
|
|
17
17
|
Requires-Dist: python-dotenv>=0.19.0
|
|
18
18
|
Requires-Dist: litellm<2,>=1.83.14
|
|
19
19
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 4.6.
|
|
3
|
+
Version: 4.6.135
|
|
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,9 +11,9 @@ 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.6.
|
|
15
|
-
Requires-Dist: praisonai-code>=0.0.
|
|
16
|
-
Requires-Dist: praisonai-bot>=0.0.
|
|
14
|
+
Requires-Dist: praisonaiagents>=1.6.138
|
|
15
|
+
Requires-Dist: praisonai-code>=0.0.34
|
|
16
|
+
Requires-Dist: praisonai-bot>=0.0.19
|
|
17
17
|
Requires-Dist: python-dotenv>=0.19.0
|
|
18
18
|
Requires-Dist: litellm<2,>=1.83.14
|
|
19
19
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -870,19 +870,29 @@ class AgentsGenerator:
|
|
|
870
870
|
cli_config=getattr(self, 'cli_config', None),
|
|
871
871
|
)
|
|
872
872
|
|
|
873
|
+
async def _aload_config(self):
|
|
874
|
+
"""Async-safe config loading (blocking file I/O off the event loop)."""
|
|
875
|
+
import asyncio
|
|
876
|
+
return await asyncio.to_thread(self._load_config)
|
|
877
|
+
|
|
878
|
+
async def _aprepare_for_run(self, config):
|
|
879
|
+
"""Async-safe run preparation (heavy imports + adapter.setup() off the loop)."""
|
|
880
|
+
import asyncio
|
|
881
|
+
return await asyncio.to_thread(self._prepare_for_run, config)
|
|
882
|
+
|
|
873
883
|
async def agenerate_crew_and_kickoff(self):
|
|
874
884
|
"""
|
|
875
885
|
Async version of generate_crew_and_kickoff.
|
|
876
886
|
Generates a crew of agents and initiates tasks based on the provided configuration.
|
|
877
887
|
"""
|
|
878
|
-
config = self.
|
|
888
|
+
config = await self._aload_config()
|
|
879
889
|
if config is None:
|
|
880
890
|
return
|
|
881
891
|
if self._is_workflow_yaml(config):
|
|
882
892
|
return await self._arun_yaml_workflow(config)
|
|
883
893
|
|
|
884
|
-
# Use shared preparation logic
|
|
885
|
-
prep = self.
|
|
894
|
+
# Use shared preparation logic (off the event loop to avoid blocking imports)
|
|
895
|
+
prep = await self._aprepare_for_run(config)
|
|
886
896
|
|
|
887
897
|
self.logger.info(f"Using framework: {prep['adapter'].name}")
|
|
888
898
|
return await prep['adapter'].arun(
|
|
@@ -896,28 +906,29 @@ class AgentsGenerator:
|
|
|
896
906
|
)
|
|
897
907
|
|
|
898
908
|
|
|
899
|
-
|
|
909
|
+
def _build_yaml_workflow(self, config):
|
|
900
910
|
"""
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
911
|
+
Single source of truth for YAML workflow preparation.
|
|
912
|
+
|
|
913
|
+
Handles: praisonaiagents availability check, parser import guard,
|
|
914
|
+
name defaulting, framework validation, default_llm merge, yaml.dump,
|
|
915
|
+
and parser.parse_string. Returns the parsed workflow plus input data.
|
|
916
|
+
|
|
906
917
|
Args:
|
|
907
|
-
config: YAML configuration
|
|
908
|
-
|
|
918
|
+
config (dict): The parsed YAML configuration
|
|
919
|
+
|
|
909
920
|
Returns:
|
|
910
|
-
|
|
921
|
+
Tuple[Any, Any]: (workflow, input_data)
|
|
911
922
|
"""
|
|
912
923
|
if not is_available("praisonaiagents"):
|
|
913
924
|
raise ImportError("PraisonAI is not installed. Please install it with 'pip install praisonaiagents'")
|
|
914
|
-
|
|
925
|
+
|
|
915
926
|
try:
|
|
916
927
|
from praisonaiagents.workflows import YAMLWorkflowParser
|
|
917
928
|
except ImportError as err:
|
|
918
929
|
raise ImportError("YAMLWorkflowParser not available. Please update praisonaiagents.") from err
|
|
919
|
-
|
|
920
|
-
# Ensure name is present
|
|
930
|
+
|
|
931
|
+
# Ensure name is present (YAMLWorkflowParser handles roles->agents conversion)
|
|
921
932
|
if 'name' not in config:
|
|
922
933
|
config['name'] = config.get('topic', 'Workflow')
|
|
923
934
|
|
|
@@ -925,12 +936,19 @@ class AgentsGenerator:
|
|
|
925
936
|
framework_from_config,
|
|
926
937
|
validate_workflow_framework,
|
|
927
938
|
)
|
|
928
|
-
|
|
939
|
+
# Validate the YAML-declared framework first so a non-native workflow
|
|
940
|
+
# YAML (e.g. framework: crewai) can't slip through just because the
|
|
941
|
+
# generator instance still holds the default 'praisonai'.
|
|
929
942
|
validate_workflow_framework(
|
|
930
|
-
|
|
943
|
+
framework_from_config(config),
|
|
931
944
|
source="agents.yaml workflow section",
|
|
932
945
|
)
|
|
933
|
-
|
|
946
|
+
if self.framework:
|
|
947
|
+
validate_workflow_framework(
|
|
948
|
+
self.framework,
|
|
949
|
+
source="AgentsGenerator framework",
|
|
950
|
+
)
|
|
951
|
+
|
|
934
952
|
# Pass model from config_list to workflow as default_llm
|
|
935
953
|
if self.config_list and self.config_list[0].get('model'):
|
|
936
954
|
model_from_cli = self.config_list[0]['model']
|
|
@@ -938,93 +956,72 @@ class AgentsGenerator:
|
|
|
938
956
|
config['workflow'] = {}
|
|
939
957
|
if 'default_llm' not in config['workflow']:
|
|
940
958
|
config['workflow']['default_llm'] = model_from_cli
|
|
941
|
-
|
|
959
|
+
|
|
960
|
+
# Convert config back to YAML string for parser
|
|
961
|
+
# Note: YAMLWorkflowParser handles 'roles' to 'agents' conversion internally
|
|
942
962
|
import yaml as yaml_module
|
|
943
963
|
yaml_content = yaml_module.dump(config, default_flow_style=False)
|
|
944
|
-
|
|
964
|
+
|
|
945
965
|
parser = YAMLWorkflowParser()
|
|
946
966
|
workflow = parser.parse_string(yaml_content)
|
|
947
|
-
|
|
967
|
+
|
|
968
|
+
# Get input: 'input' is canonical, 'topic' is alias for backward compatibility
|
|
948
969
|
input_data = config.get('input', config.get('topic', ''))
|
|
949
|
-
|
|
970
|
+
|
|
971
|
+
return workflow, input_data
|
|
972
|
+
|
|
973
|
+
@staticmethod
|
|
974
|
+
def _finalise_workflow_result(result):
|
|
975
|
+
"""Normalize a workflow execution result into a string."""
|
|
976
|
+
if result.get("status") == "completed":
|
|
977
|
+
return result.get("output", "Workflow completed successfully")
|
|
978
|
+
return f"Workflow failed: {result.get('error', 'Unknown error')}"
|
|
979
|
+
|
|
980
|
+
async def _arun_yaml_workflow(self, config):
|
|
981
|
+
"""
|
|
982
|
+
Async version of _run_yaml_workflow using YAMLWorkflowParser.
|
|
983
|
+
|
|
984
|
+
This method handles agents.yaml files that have:
|
|
985
|
+
- process: workflow
|
|
986
|
+
|
|
987
|
+
Args:
|
|
988
|
+
config: YAML configuration dictionary
|
|
989
|
+
|
|
990
|
+
Returns:
|
|
991
|
+
str: Workflow execution result
|
|
992
|
+
"""
|
|
993
|
+
import asyncio
|
|
994
|
+
workflow, input_data = await asyncio.to_thread(self._build_yaml_workflow, config)
|
|
995
|
+
|
|
950
996
|
self.logger.info(f"Starting async YAML workflow with topic: {input_data}")
|
|
951
|
-
|
|
997
|
+
|
|
952
998
|
if hasattr(workflow, 'astart'):
|
|
953
999
|
result = await workflow.astart(input_data)
|
|
954
1000
|
else:
|
|
955
|
-
import asyncio
|
|
956
1001
|
result = await asyncio.to_thread(workflow.start, input_data)
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
return result.get("output", "Workflow completed successfully")
|
|
960
|
-
else:
|
|
961
|
-
return f"Workflow failed: {result.get('error', 'Unknown error')}"
|
|
1002
|
+
|
|
1003
|
+
return self._finalise_workflow_result(result)
|
|
962
1004
|
|
|
963
1005
|
def _run_yaml_workflow(self, config):
|
|
964
1006
|
"""
|
|
965
1007
|
Run a YAML workflow using the YAMLWorkflowParser.
|
|
966
|
-
|
|
1008
|
+
|
|
967
1009
|
This method handles agents.yaml files that have:
|
|
968
1010
|
- process: workflow
|
|
969
1011
|
- steps section with workflow patterns (route, parallel, loop, repeat)
|
|
970
|
-
|
|
1012
|
+
|
|
971
1013
|
Args:
|
|
972
1014
|
config (dict): The parsed YAML configuration
|
|
973
|
-
|
|
1015
|
+
|
|
974
1016
|
Returns:
|
|
975
1017
|
str: Result of the workflow execution
|
|
976
1018
|
"""
|
|
977
|
-
|
|
978
|
-
raise ImportError("PraisonAI is not installed. Please install it with 'pip install praisonaiagents'")
|
|
979
|
-
|
|
980
|
-
try:
|
|
981
|
-
from praisonaiagents.workflows import YAMLWorkflowParser
|
|
982
|
-
except ImportError:
|
|
983
|
-
raise ImportError("YAMLWorkflowParser not available. Please update praisonaiagents.")
|
|
984
|
-
|
|
985
|
-
# Ensure name is present (YAMLWorkflowParser handles roles->agents conversion)
|
|
986
|
-
if 'name' not in config:
|
|
987
|
-
config['name'] = config.get('topic', 'Workflow')
|
|
1019
|
+
workflow, input_data = self._build_yaml_workflow(config)
|
|
988
1020
|
|
|
989
|
-
from .framework_adapters.workflow_framework import (
|
|
990
|
-
framework_from_config,
|
|
991
|
-
validate_workflow_framework,
|
|
992
|
-
)
|
|
993
|
-
effective_framework = (self.framework or framework_from_config(config))
|
|
994
|
-
validate_workflow_framework(
|
|
995
|
-
effective_framework,
|
|
996
|
-
source="agents.yaml workflow section",
|
|
997
|
-
)
|
|
998
|
-
|
|
999
|
-
# Pass model from config_list to workflow as default_llm
|
|
1000
|
-
if self.config_list and self.config_list[0].get('model'):
|
|
1001
|
-
model_from_cli = self.config_list[0]['model']
|
|
1002
|
-
# Set default_llm in workflow config if not already set
|
|
1003
|
-
if 'workflow' not in config:
|
|
1004
|
-
config['workflow'] = {}
|
|
1005
|
-
if 'default_llm' not in config['workflow']:
|
|
1006
|
-
config['workflow']['default_llm'] = model_from_cli
|
|
1007
|
-
|
|
1008
|
-
# Convert config back to YAML string for parser
|
|
1009
|
-
# Note: YAMLWorkflowParser handles 'roles' to 'agents' conversion internally
|
|
1010
|
-
import yaml as yaml_module
|
|
1011
|
-
yaml_content = yaml_module.dump(config, default_flow_style=False)
|
|
1012
|
-
|
|
1013
|
-
# Parse and execute
|
|
1014
|
-
parser = YAMLWorkflowParser()
|
|
1015
|
-
workflow = parser.parse_string(yaml_content)
|
|
1016
|
-
|
|
1017
|
-
# Get input: 'input' is canonical, 'topic' is alias for backward compatibility
|
|
1018
|
-
input_data = config.get('input', config.get('topic', ''))
|
|
1019
|
-
|
|
1020
|
-
# Execute workflow
|
|
1021
1021
|
self.logger.debug(f"Running workflow: {workflow.name}")
|
|
1022
1022
|
result = workflow.start(input_data)
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
return result.get("output", "Workflow completed successfully")
|
|
1026
|
-
else:
|
|
1027
|
-
return f"Workflow failed: {result.get('error', 'Unknown error')}"
|
|
1023
|
+
|
|
1024
|
+
return self._finalise_workflow_result(result)
|
|
1028
1025
|
|
|
1029
1026
|
|
|
1030
1027
|
# Standalone function for backward compatibility with tests
|
|
@@ -1635,7 +1635,7 @@ Example structure:
|
|
|
1635
1635
|
workflow_yaml = {
|
|
1636
1636
|
'name': data.get('name', 'Auto-Generated Workflow'),
|
|
1637
1637
|
'description': data.get('description', ''),
|
|
1638
|
-
'framework':
|
|
1638
|
+
'framework': self.framework,
|
|
1639
1639
|
'workflow': {
|
|
1640
1640
|
'output': 'verbose', # Use output= instead of deprecated verbose=
|
|
1641
1641
|
'planning': False,
|
|
@@ -137,6 +137,11 @@ def docs_run(
|
|
|
137
137
|
"--python",
|
|
138
138
|
help="Python executable to use (default: current interpreter)",
|
|
139
139
|
),
|
|
140
|
+
dry_run: bool = typer.Option(
|
|
141
|
+
False,
|
|
142
|
+
"--dry-run",
|
|
143
|
+
help="Extract code blocks without executing them",
|
|
144
|
+
),
|
|
140
145
|
quiet: bool = typer.Option(
|
|
141
146
|
False,
|
|
142
147
|
"--quiet", "-q",
|
|
@@ -190,6 +195,7 @@ def docs_run(
|
|
|
190
195
|
timeout=timeout,
|
|
191
196
|
fail_fast=fail_fast,
|
|
192
197
|
stream_output=not no_stream,
|
|
198
|
+
dry_run=dry_run,
|
|
193
199
|
max_items=max_snippets,
|
|
194
200
|
require_env=list(require_env) if require_env else None,
|
|
195
201
|
report_dir=output_dir,
|
|
@@ -10,6 +10,7 @@ MCP Protocol Version: 2025-11-25
|
|
|
10
10
|
import base64
|
|
11
11
|
import inspect
|
|
12
12
|
import logging
|
|
13
|
+
import threading
|
|
13
14
|
from dataclasses import dataclass, field
|
|
14
15
|
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
|
|
15
16
|
|
|
@@ -141,6 +142,7 @@ class MCPToolRegistry:
|
|
|
141
142
|
def __init__(self):
|
|
142
143
|
self._tools: Dict[str, MCPToolDefinition] = {}
|
|
143
144
|
self._lazy_loaders: List[Callable[[], None]] = []
|
|
145
|
+
self._lock = threading.RLock()
|
|
144
146
|
|
|
145
147
|
def register(
|
|
146
148
|
self,
|
|
@@ -172,16 +174,23 @@ class MCPToolRegistry:
|
|
|
172
174
|
|
|
173
175
|
def register_lazy(self, loader: Callable[[], None]) -> None:
|
|
174
176
|
"""Register a lazy loader that will be called before listing tools."""
|
|
175
|
-
self.
|
|
177
|
+
with self._lock:
|
|
178
|
+
self._lazy_loaders.append(loader)
|
|
176
179
|
|
|
177
180
|
def _ensure_loaded(self) -> None:
|
|
178
|
-
"""Ensure all lazy loaders have been called."""
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
"""Ensure all lazy loaders have been called (thread-safe, run-once)."""
|
|
182
|
+
with self._lock:
|
|
183
|
+
# Swap out pending loaders atomically so concurrent callers don't
|
|
184
|
+
# iterate a list being cleared underneath them or double-run loaders.
|
|
185
|
+
pending, self._lazy_loaders = self._lazy_loaders, []
|
|
186
|
+
# Run loaders while holding the (re-entrant) lock so a concurrent
|
|
187
|
+
# caller blocks until loading completes instead of observing an
|
|
188
|
+
# empty/partial registry mid-load.
|
|
189
|
+
for loader in pending:
|
|
190
|
+
try:
|
|
191
|
+
loader()
|
|
192
|
+
except Exception as e:
|
|
193
|
+
logger.warning(f"Lazy loader failed: {e}")
|
|
185
194
|
|
|
186
195
|
def get(self, name: str) -> Optional[MCPToolDefinition]:
|
|
187
196
|
"""Get a tool by name."""
|
|
@@ -382,6 +391,7 @@ class MCPResourceRegistry:
|
|
|
382
391
|
def __init__(self):
|
|
383
392
|
self._resources: Dict[str, MCPResourceDefinition] = {}
|
|
384
393
|
self._lazy_loaders: List[Callable[[], None]] = []
|
|
394
|
+
self._lock = threading.RLock()
|
|
385
395
|
|
|
386
396
|
def register(
|
|
387
397
|
self,
|
|
@@ -410,16 +420,18 @@ class MCPResourceRegistry:
|
|
|
410
420
|
|
|
411
421
|
def register_lazy(self, loader: Callable[[], None]) -> None:
|
|
412
422
|
"""Register a lazy loader."""
|
|
413
|
-
self.
|
|
423
|
+
with self._lock:
|
|
424
|
+
self._lazy_loaders.append(loader)
|
|
414
425
|
|
|
415
426
|
def _ensure_loaded(self) -> None:
|
|
416
|
-
"""Ensure all lazy loaders have been called."""
|
|
417
|
-
|
|
427
|
+
"""Ensure all lazy loaders have been called (thread-safe, run-once)."""
|
|
428
|
+
with self._lock:
|
|
429
|
+
pending, self._lazy_loaders = self._lazy_loaders, []
|
|
430
|
+
for loader in pending:
|
|
418
431
|
try:
|
|
419
432
|
loader()
|
|
420
433
|
except Exception as e:
|
|
421
434
|
logger.warning(f"Lazy loader failed: {e}")
|
|
422
|
-
self._lazy_loaders.clear()
|
|
423
435
|
|
|
424
436
|
def get(self, uri: str) -> Optional[MCPResourceDefinition]:
|
|
425
437
|
"""Get a resource by URI."""
|
|
@@ -477,6 +489,7 @@ class MCPPromptRegistry:
|
|
|
477
489
|
def __init__(self):
|
|
478
490
|
self._prompts: Dict[str, MCPPromptDefinition] = {}
|
|
479
491
|
self._lazy_loaders: List[Callable[[], None]] = []
|
|
492
|
+
self._lock = threading.RLock()
|
|
480
493
|
|
|
481
494
|
def register(
|
|
482
495
|
self,
|
|
@@ -504,16 +517,18 @@ class MCPPromptRegistry:
|
|
|
504
517
|
|
|
505
518
|
def register_lazy(self, loader: Callable[[], None]) -> None:
|
|
506
519
|
"""Register a lazy loader."""
|
|
507
|
-
self.
|
|
520
|
+
with self._lock:
|
|
521
|
+
self._lazy_loaders.append(loader)
|
|
508
522
|
|
|
509
523
|
def _ensure_loaded(self) -> None:
|
|
510
|
-
"""Ensure all lazy loaders have been called."""
|
|
511
|
-
|
|
524
|
+
"""Ensure all lazy loaders have been called (thread-safe, run-once)."""
|
|
525
|
+
with self._lock:
|
|
526
|
+
pending, self._lazy_loaders = self._lazy_loaders, []
|
|
527
|
+
for loader in pending:
|
|
512
528
|
try:
|
|
513
529
|
loader()
|
|
514
530
|
except Exception as e:
|
|
515
531
|
logger.warning(f"Lazy loader failed: {e}")
|
|
516
|
-
self._lazy_loaders.clear()
|
|
517
532
|
|
|
518
533
|
def get(self, name: str) -> Optional[MCPPromptDefinition]:
|
|
519
534
|
"""Get a prompt by name."""
|
|
@@ -30,6 +30,7 @@ class SuiteExecutor:
|
|
|
30
30
|
timeout: int = 60,
|
|
31
31
|
fail_fast: bool = False,
|
|
32
32
|
stream_output: bool = True,
|
|
33
|
+
dry_run: bool = False,
|
|
33
34
|
max_items: Optional[int] = None,
|
|
34
35
|
require_env: Optional[List[str]] = None,
|
|
35
36
|
env_overrides: Optional[dict] = None,
|
|
@@ -50,6 +51,7 @@ class SuiteExecutor:
|
|
|
50
51
|
timeout: Per-item timeout in seconds.
|
|
51
52
|
fail_fast: Stop on first failure.
|
|
52
53
|
stream_output: Stream output to terminal.
|
|
54
|
+
dry_run: Detect runnable items without executing them.
|
|
53
55
|
max_items: Maximum items to process.
|
|
54
56
|
require_env: Global required env vars.
|
|
55
57
|
env_overrides: Environment variable overrides.
|
|
@@ -66,6 +68,7 @@ class SuiteExecutor:
|
|
|
66
68
|
self.timeout = timeout
|
|
67
69
|
self.fail_fast = fail_fast
|
|
68
70
|
self.stream_output = stream_output
|
|
71
|
+
self.dry_run = dry_run
|
|
69
72
|
self.max_items = max_items
|
|
70
73
|
self.require_env = require_env or []
|
|
71
74
|
self.env_overrides = env_overrides or {}
|
|
@@ -176,7 +179,27 @@ class SuiteExecutor:
|
|
|
176
179
|
if on_item_end:
|
|
177
180
|
on_item_end(result, idx, total)
|
|
178
181
|
continue
|
|
179
|
-
|
|
182
|
+
if self.dry_run:
|
|
183
|
+
result = RunResult(
|
|
184
|
+
item_id=item.item_id,
|
|
185
|
+
suite=item.suite,
|
|
186
|
+
group=item.group,
|
|
187
|
+
source_path=item.source_path,
|
|
188
|
+
block_index=item.block_index,
|
|
189
|
+
language=item.language,
|
|
190
|
+
line_start=item.line_start,
|
|
191
|
+
line_end=item.line_end,
|
|
192
|
+
runnable_decision=item.runnable_decision,
|
|
193
|
+
status="not_run",
|
|
194
|
+
skip_reason="Dry run",
|
|
195
|
+
code_hash=item.code_hash,
|
|
196
|
+
)
|
|
197
|
+
results.append(result)
|
|
198
|
+
|
|
199
|
+
if on_item_end:
|
|
200
|
+
on_item_end(result, idx, total)
|
|
201
|
+
|
|
202
|
+
continue
|
|
180
203
|
# Execute
|
|
181
204
|
result = runner.run(
|
|
182
205
|
item,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.6.135"
|
|
@@ -12,9 +12,9 @@ dependencies = [
|
|
|
12
12
|
"rich>=13.7",
|
|
13
13
|
"markdown>=3.5",
|
|
14
14
|
"pyparsing>=3.0.0",
|
|
15
|
-
"praisonaiagents>=1.6.
|
|
16
|
-
"praisonai-code>=0.0.
|
|
17
|
-
"praisonai-bot>=0.0.
|
|
15
|
+
"praisonaiagents>=1.6.138",
|
|
16
|
+
"praisonai-code>=0.0.34",
|
|
17
|
+
"praisonai-bot>=0.0.19",
|
|
18
18
|
"python-dotenv>=0.19.0",
|
|
19
19
|
"litellm>=1.83.14,<2",
|
|
20
20
|
"PyYAML>=6.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "4.6.133"
|
|
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
|