Skip to content

SignalR: authenticated rich-input attachment ingestion for ticket chat clients #2121

Description

@boston-ai-agent

Dependency discovered in BostonTechnologies/helpdesk#799 (parent #794). At dev df8ad6e, SessionHub.SendMessage(sessionId,text) is text-only and SessionRegistry constructs Contents=[TextContent(text)]. SendUserMessage already has MediaReferences and channel input supports rich content, but SignalR has no authenticated upload/opaque media-reference admission contract. Helpdesk MCP currently exposes attachment counts/references, not binary/image retrieval.\n\nProposed backward-compatible extension: retain SendMessage unchanged; provide bounded authenticated media staging scoped to paired device/session and a new SendRichMessage DTO with text plus opaque staged media IDs. Resolve only server-owned staged IDs to existing media/content processing, validate MIME/actual content/size and expiry, enforce session ownership and cleanup. Never accept caller daemon-local paths, arbitrary fetch URLs or base64 text prompts. Carry image contents through the existing harness media pipeline, not just metadata. Include device/session isolation, expired/foreign IDs, oversized/type mismatch, existing text-only compatibility and a real image consumed/described by the model.\n\nHelpdesk UX follow-up will not expose a functioning attachment Send path until this or an authenticated Helpdesk MCP image-content path is implemented and proven end-to-end. No upstream runtime change or attachment-complete claim has been made.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions