Context
OpenAEV is landing an asset taxonomy remodel (OpenAEV-Platform/openaev#6704):
- The AiTarget entity is merged into Asset (asset_category = AI_TARGET, ai_target_* fields). The /api/ai_targets facade remains.
- Network-related fields move from the Endpoint level to the Asset level with a wire rename:
- endpoint_hostname -> asset_hostname
- endpoint_ips -> asset_ips
- endpoint_mac_addresses -> asset_mac_addresses
- endpoint_seen_ip -> asset_seen_ip
- endpoint_url -> asset_url
- endpoint_platform / endpoint_arch stay endpoint-scoped (agent-capable hosts only).
- Asset groups can now contain any asset type (including AI targets), both statically and via dynamic filters on the renamed asset_* keys.
Changes needed in pyoaev
- EndpointManager create/upsert attributes must send the asset_* keys.
- AiTargetManager must treat AI targets as assets (asset_id identifier, asset_name + ai_target_* attributes).
- New ContractAiTarget contract field type (ai-target) so injector contracts can render a platform AI target picker.
- Tests updated accordingly.
This is a breaking change for any consumer building endpoint payloads with the old endpoint_* keys.
Context
OpenAEV is landing an asset taxonomy remodel (OpenAEV-Platform/openaev#6704):
Changes needed in pyoaev
This is a breaking change for any consumer building endpoint payloads with the old endpoint_* keys.