Skip to content

Commit ff1c542

Browse files
fix: address final reviewer feedback
- Add error handling for agents_update CLI command - Remove unnecessary SessionInfo ImportError fallback for consistent dict shapes - Fix ComputeConfig parameter passing in _install_via_compute Co-authored-by: Mervin Praison <MervinPraison@users.noreply.github.com>
1 parent e9b2ef9 commit ff1c542

File tree

3 files changed

+14
-22
lines changed

3 files changed

+14
-22
lines changed

src/praisonai/praisonai/cli/commands/managed.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,12 @@ def agents_update(
419419
if not kwargs:
420420
typer.echo("Nothing to update. Pass --name, --system, or --model.")
421421
raise typer.Exit(0)
422-
updated = client.beta.agents.update(agent_id, **kwargs)
423-
typer.echo(f"Updated agent: {updated.id} (v{getattr(updated,'version','')})")
422+
try:
423+
updated = client.beta.agents.update(agent_id, **kwargs)
424+
typer.echo(f"Updated agent: {updated.id} (v{getattr(updated,'version','')})")
425+
except Exception as e:
426+
typer.echo(f"Error updating agent {agent_id}: {e}", err=True)
427+
raise typer.Exit(1)
424428

425429

426430
@agents_app.command("delete")

src/praisonai/praisonai/integrations/managed_agents.py

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -581,23 +581,13 @@ def retrieve_session(self) -> Dict[str, Any]:
581581
}
582582

583583
# Use unified SessionInfo schema for consistency with Local backend
584-
try:
585-
from praisonaiagents.managed import SessionInfo
586-
session_info = SessionInfo(
587-
id=getattr(sess, "id", self._session_id),
588-
status=getattr(sess, "status", None),
589-
usage=usage_dict
590-
)
591-
return session_info.to_dict()
592-
except ImportError:
593-
# Fallback to old format if SessionInfo not available
594-
result: Dict[str, Any] = {
595-
"id": getattr(sess, "id", self._session_id),
596-
"status": getattr(sess, "status", None),
597-
}
598-
if usage_dict:
599-
result["usage"] = usage_dict
600-
return result
584+
from praisonaiagents.managed import SessionInfo
585+
session_info = SessionInfo(
586+
id=getattr(sess, "id", self._session_id),
587+
status=getattr(sess, "status", None),
588+
usage=usage_dict
589+
)
590+
return session_info.to_dict()
601591

602592
# ------------------------------------------------------------------
603593
# list_sessions — ManagedBackendProtocol

src/praisonai/praisonai/integrations/managed_local.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -536,13 +536,11 @@ async def _install_via_compute(self, pip_pkgs: List[str]) -> None:
536536
"""Install packages via compute provider."""
537537
if not self._compute_instance_id:
538538
# Provision compute instance if needed
539-
from praisonaiagents.managed.protocols import ComputeConfig
540-
config = ComputeConfig(
539+
await self.provision_compute(
541540
packages={"pip": pip_pkgs},
542541
image="python:3.12-slim",
543542
working_dir=self._cfg.get("working_dir", "/workspace")
544543
)
545-
await self.provision_compute(config=config)
546544
else:
547545
# Install on existing instance
548546
import shlex

0 commit comments

Comments
 (0)