feat: add missing gen_ai semconv attributes
LLM spans now include:
- gen_ai.response.id (message ID from API response)
- gen_ai.conversation.id (session ID, replaces custom session.id)
Tool spans now include:
- gen_ai.tool.call.id (tool_use ID)
- gen_ai.tool.type ("extension" for Claude Code tools)
- gen_ai.operation.name ("execute_tool")
- gen_ai.system ("anthropic")
Subagent spans now use:
- gen_ai.agent.id, gen_ai.agent.name (replaces custom attributes)
All spans use gen_ai.conversation.id instead of session.id for
consistency with the semconv spec.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>