feat: add portfolio daemon assignment and improve list rendering

- Add --daemon-id option to portfolio update command for daemon assignment
- Update managed_by_daemon_id field in portfolio updates
- Refactor print_portfolio_table() to print_portfolio_list() for better readability
- Display daemon_id in portfolio list output when assigned
- Show portfolio tags and managed daemon information in CLI list view
- Add daemon_id support to portfolio repository and service layers
- Update schemas to include managed_by_daemon_id field in responses
This commit is contained in:
2026-05-15 08:27:14 +00:00
parent d194873616
commit b9e3bddb34
7 changed files with 43 additions and 27 deletions
+2
View File
@@ -195,6 +195,7 @@ def update_portfolio(
strategy_name: str | None = typer.Option(None, help="Strategy name."),
strategy_params: str | None = typer.Option(None, help="Strategy params as JSON object."),
asset_price: float | None = typer.Option(None, min=0.0, help="Current asset price."),
daemon_id: str | None = typer.Option(None, "--daemon-id", help="Assign portfolio to this daemon (managed_by_daemon_id)."),
force: bool = typer.Option(False, "--force", help="Skip confirmation prompt."),
) -> None:
_validate_portfolio_name(name, ctx.obj.console)
@@ -218,6 +219,7 @@ def update_portfolio(
strategy_name=strategy_name,
strategy_params=parsed_strategy_params,
asset_price=asset_price,
managed_by_daemon_id=daemon_id,
),
)