When a user shares a file or image in Nextcloud Talk, the webhook
delivers object.content as a JSON-encoded rich object message like:
{"message":"{file}","parameters":{"file":{"type":"file","name":"IMG.jpg","link":"https://..."}}}
Previously payloadToInboundMessage() passed this raw JSON string as
text, leaving mediaUrls unpopulated and the agent blind to attachments.
This change adds parseRichObjectContent() which:
- Detects JSON-encoded rich object payloads
- Extracts file links into mediaUrls
- Resolves {placeholder} names for human-readable displayText
- Falls back to raw content for non-rich-object text (no behaviour change)
Also updates NextcloudTalkInboundMessage type to include mediaUrls?,
passes mediaUrls through inbound.ts to the agent context payload, and
relaxes the empty-body guard to allow media-only messages through.
Fixes#29152