praisonai-code 0.0.6__tar.gz → 0.0.8__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_code-0.0.6 → praisonai_code-0.0.8}/PKG-INFO +1 -1
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/async_tui.py +48 -2
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli_backends/__init__.py +20 -4
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code.egg-info/PKG-INFO +1 -1
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/pyproject.toml +1 -1
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/README.md +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/__main__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/_framework_availability.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/_logging.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/_registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/_safe_loader.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/_version.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/_wrapper_bridge.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/_forward_shim.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/_paths.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/_warnings.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/app.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/approval_backend.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/branding.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/acp.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/agent.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/agents.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/app.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/attach.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/audit.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/auth.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/batch.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/benchmark.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/browser.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/call.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/chat.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/checkpoint.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/code.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/command.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/commit.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/completion.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/config.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/context.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/daemon.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/debug.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/deploy.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/diag.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/docs.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/doctor.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/endpoints.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/environment.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/eval.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/examples.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/flow.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/github.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/hooks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/init.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/knowledge.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/langextract.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/langfuse.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/loop.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/lsp.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/managed.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/mcp.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/memory.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/models.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/n8n.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/obs.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/package.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/paths.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/permissions.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/plugins.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/port.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/profile.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/publish.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/rag.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/realtime.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/recipe.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/replay.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/research.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/retrieval.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/rules.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/run.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/sandbox.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/schedule.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/serve.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/session.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/setup.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/skills.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/standardise.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/templates.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/test.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/todo.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/tools.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/traces.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/tracker.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/train.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/ui.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/up.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/validate.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/version.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/commands/workflow.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/config_loader.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/config.schema.json +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/credentials.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/loader.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/model_resolver.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/oauth.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/paths.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/resolver.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/schema.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/execution/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/execution/core.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/execution/profiler.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/execution/request.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/execution/result.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/fallback_schema.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/_approval_bridge.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/_endpoint_registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/_search_registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/acp.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/action_orchestrator.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/agent_scheduler.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/agent_tools.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/agents.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/at_mentions.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/audit_cli.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/auto_memory.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/auto_mode.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/autonomy_mode.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/background.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/base.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/benchmark.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/capabilities.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/checkpoints.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/cli_profiler.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/code_intelligence.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/compaction.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/compare.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/config_hierarchy.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/context_manager.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/cost_tracker.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/csv_test_runner.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/custom_definitions.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/debug.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/deploy.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/diag.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/display_jsonl.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/_wrapper_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/acp_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/bot_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/config_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/db_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/env_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/gateway_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/lsp_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/mcp_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/memory_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/network_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/obs_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/packaging_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/performance_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/permissions_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/runtime_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/runtime_migration_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/selftest_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/serve_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/skills_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/tools_checks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/engine.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/formatters.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/handler.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/models.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/endpoints.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/eval.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/examples.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/external_agents.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/fast_context.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/file_history.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/flow_display.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/git_attribution.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/git_integration.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/guardrail.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/handoff.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/hooks.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/hybrid_workflow.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/image.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/interactive_core_headless.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/interactive_runtime.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/interactive_test_harness.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/interactive_tools.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/interactive_tui.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/job_workflow.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/jobs.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/knowledge.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/knowledge_cli.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/lite.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/logs.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/lsp_cli.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/lsp_diagnostics.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/mcp.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/message_queue.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/metrics.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/migrate.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/migration_flow.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/migration_spec.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/n8n.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/observability.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/ollama.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/output_modes.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/output_style.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/package.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/performance.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/persistence.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/profiler/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/profiler/core.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/profiler/optimizations.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/profiler/suite.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/queue/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/queue/manager.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/queue/models.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/queue/persistence.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/queue/scheduler.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/queue/worker.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/recipe.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/recipe_creator.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/recipe_optimizer.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/recipe_prompts.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/repo_map.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/router.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/safe_shell.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/sandbox_cli.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/sandbox_executor.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/sdk_knowledge.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/session.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/session_checkpoints.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/setup/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/setup/handler.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/setup/templates.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/skills.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/slash_commands.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/telemetry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/templates.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/thinking.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/todo.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tools.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/app.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/cli.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/config.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/debug.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/events.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/mock_provider.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/orchestrator.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/screens/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/screens/help.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/screens/main.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/screens/queue.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/screens/session.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/screens/settings.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/session_store.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/chat.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/command_popup.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/composer.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/file_popup.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/queue_panel.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/status.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/tui/widgets/tool_panel.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/wizard.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/workflow.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/yaml_utils.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/config.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/core.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/events.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/frontends/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/frontends/rich_frontend.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/frontends/textual_frontend.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/praison_io.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/repl.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/split_tui.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/interactive/tui_app.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/langfuse_client.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/main.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/output/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/output/console.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/output/event_bridge.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/schedule_cli.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/schema_provider.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/session/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/session/resume.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/session/unified.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/state/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/state/identifiers.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/state/project_sessions.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/state/sessions.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/ui/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/ui/config.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/ui/events.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/ui/mg_backend.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/ui/plain.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/ui/rich_backend.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/unified_schema.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/utils/env_utils.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/utils/project.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli_backends/claude.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli_backends/registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/llm/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/llm/catalogue.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/llm/config.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/llm/credentials.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/llm/env.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/runtime/__init__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/runtime/__main__.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/runtime/client.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/runtime/descriptor.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/runtime/server.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/tool_registry.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/tool_resolver.py +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code.egg-info/SOURCES.txt +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code.egg-info/dependency_links.txt +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code.egg-info/entry_points.txt +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code.egg-info/requires.txt +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code.egg-info/top_level.txt +0 -0
- {praisonai_code-0.0.6 → praisonai_code-0.0.8}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: praisonai-code
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.8
|
|
4
4
|
Summary: Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
License: MIT
|
|
@@ -111,6 +111,33 @@ def _detect_auth_error(text: Optional[str]) -> Optional[str]:
|
|
|
111
111
|
return None
|
|
112
112
|
|
|
113
113
|
|
|
114
|
+
def _extract_response_output(response) -> Optional[str]:
|
|
115
|
+
"""Extract user-visible text from an agent response.
|
|
116
|
+
|
|
117
|
+
Handles plain strings as well as wrapper objects such as
|
|
118
|
+
``AutonomyResult`` returned by ``agent.astart()`` which expose the
|
|
119
|
+
generated text via an ``output`` attribute.
|
|
120
|
+
"""
|
|
121
|
+
if response is None:
|
|
122
|
+
return None
|
|
123
|
+
output = getattr(response, "output", None)
|
|
124
|
+
if output is not None:
|
|
125
|
+
text = str(output).strip()
|
|
126
|
+
return text or None
|
|
127
|
+
text = str(response).strip()
|
|
128
|
+
return text or None
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def _is_empty_agent_response(response) -> bool:
|
|
132
|
+
"""True when the agent produced no user-visible output.
|
|
133
|
+
|
|
134
|
+
``agent.astart()`` may return a truthy wrapper object (e.g.
|
|
135
|
+
``AutonomyResult(success=True, output='')``) even on auth failure, so a
|
|
136
|
+
plain ``not response`` check is insufficient (issue #2568).
|
|
137
|
+
"""
|
|
138
|
+
return _extract_response_output(response) is None
|
|
139
|
+
|
|
140
|
+
|
|
114
141
|
class _LogCapture(logging.Handler):
|
|
115
142
|
"""Lightweight logging handler that records messages for failure detection."""
|
|
116
143
|
|
|
@@ -852,12 +879,31 @@ Example: /handoff code "refactor the auth module" """
|
|
|
852
879
|
# Detect silent failures: some providers log an auth/permission
|
|
853
880
|
# error and return None instead of raising. Surface these so the
|
|
854
881
|
# CLI can exit with a non-zero status (issue #2562).
|
|
882
|
+
#
|
|
883
|
+
# NOTE: agent.astart() may return a truthy wrapper object such as
|
|
884
|
+
# AutonomyResult(success=True, output='') even on auth failure, so
|
|
885
|
+
# we must inspect the actual output rather than the object's
|
|
886
|
+
# truthiness (issue #2568).
|
|
887
|
+
output_text = _extract_response_output(response)
|
|
855
888
|
auth_error = log_capture.find_auth_error()
|
|
856
|
-
if auth_error and
|
|
889
|
+
if auth_error and output_text is None:
|
|
857
890
|
self._last_error = RuntimeError(auth_error)
|
|
858
891
|
return f"Error: {auth_error}"
|
|
859
892
|
|
|
860
|
-
|
|
893
|
+
# Surface explicit failures reported by wrapper objects even when
|
|
894
|
+
# no auth signature matched (e.g. AutonomyResult.success is False).
|
|
895
|
+
result_error = getattr(response, "error", None)
|
|
896
|
+
if result_error:
|
|
897
|
+
self._last_error = RuntimeError(str(result_error))
|
|
898
|
+
return f"Error: {result_error}"
|
|
899
|
+
if getattr(response, "success", None) is False:
|
|
900
|
+
self._last_error = RuntimeError("Agent execution failed")
|
|
901
|
+
# Preserve any partial/diagnostic output for the user instead
|
|
902
|
+
# of hiding it behind a generic message (still exits non-zero
|
|
903
|
+
# via ``execution_failed``).
|
|
904
|
+
return output_text if output_text is not None else "Error: Agent execution failed"
|
|
905
|
+
|
|
906
|
+
return output_text
|
|
861
907
|
except Exception as e:
|
|
862
908
|
logger.error(f"Error executing prompt: {e}", exc_info=True)
|
|
863
909
|
self._last_error = e
|
|
@@ -6,6 +6,16 @@ Wrapper implementations of CLI backend protocols following AGENTS.md:
|
|
|
6
6
|
- Lazy loading to avoid heavy imports at startup
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
+
def _is_cli_backend_instance(obj) -> bool:
|
|
10
|
+
"""Return True if ``obj`` is a pre-resolved CliBackendProtocol instance.
|
|
11
|
+
|
|
12
|
+
A CliBackendProtocol instance exposes both ``execute()`` and ``stream()``.
|
|
13
|
+
This single predicate is the one place the protocol shape is checked, so any
|
|
14
|
+
future protocol change touches exactly one function.
|
|
15
|
+
"""
|
|
16
|
+
return hasattr(obj, "execute") and hasattr(obj, "stream")
|
|
17
|
+
|
|
18
|
+
|
|
9
19
|
def resolve_cli_backend_config(value):
|
|
10
20
|
"""Resolve a YAML/Python cli_backend value (str | dict | instance) to a CliBackendProtocol.
|
|
11
21
|
|
|
@@ -22,11 +32,16 @@ def resolve_cli_backend_config(value):
|
|
|
22
32
|
"""
|
|
23
33
|
if value is None:
|
|
24
34
|
return None
|
|
25
|
-
|
|
26
|
-
#
|
|
27
|
-
if
|
|
35
|
+
|
|
36
|
+
# Pre-resolved protocol instance: a CliBackendProtocol exposes execute() + stream().
|
|
37
|
+
if _is_cli_backend_instance(value):
|
|
28
38
|
return value
|
|
29
|
-
|
|
39
|
+
|
|
40
|
+
# Factory callable (not itself a protocol instance) - return as-is; the core
|
|
41
|
+
# Agent invokes it to obtain the protocol instance.
|
|
42
|
+
if callable(value):
|
|
43
|
+
return value
|
|
44
|
+
|
|
30
45
|
# Import registry functions
|
|
31
46
|
from .registry import resolve_cli_backend
|
|
32
47
|
|
|
@@ -68,6 +83,7 @@ __all__ = [
|
|
|
68
83
|
"register_cli_backend",
|
|
69
84
|
"resolve_cli_backend",
|
|
70
85
|
"resolve_cli_backend_config",
|
|
86
|
+
"_is_cli_backend_instance",
|
|
71
87
|
"ClaudeCodeBackend",
|
|
72
88
|
"list_cli_backends"
|
|
73
89
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: praisonai-code
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.8
|
|
4
4
|
Summary: Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
License: MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "praisonai-code"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.8"
|
|
4
4
|
description = "Agentic terminal CLI for PraisonAI — the terminal-native agent (run, chat, code, runtime, cli backends) extracted from the praisonai wrapper."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = {text = "MIT"}
|
|
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
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/config.schema.json
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/credentials.py
RENAMED
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/configuration/model_resolver.py
RENAMED
|
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
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/_approval_bridge.py
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/_endpoint_registry.py
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/_search_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/action_orchestrator.py
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/agent_scheduler.py
RENAMED
|
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
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/code_intelligence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/config_hierarchy.py
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/context_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/csv_test_runner.py
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/custom_definitions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/__init__.py
RENAMED
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/checks/db_checks.py
RENAMED
|
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
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/formatters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{praisonai_code-0.0.6 → praisonai_code-0.0.8}/praisonai_code/cli/features/doctor/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|