Skip to content

feat: add UploadSource to ClientExtractedMetaData for XVC1 uploads#132

Open
RafaelHinojosa wants to merge 1 commit into
mainfrom
uploadsource-client-extracted-metadata
Open

feat: add UploadSource to ClientExtractedMetaData for XVC1 uploads#132
RafaelHinojosa wants to merge 1 commit into
mainfrom
uploadsource-client-extracted-metadata

Conversation

@RafaelHinojosa

Copy link
Copy Markdown
Collaborator

Summary

Include UploadSource in the package creation request body (ClientExtractedMetaData) for XVC1 uploads, so downstream services (Xbox.Xbet.Service / LogAnalytics) can identify the originating tool.

Values

  • PackageUploader — CLI tool (default)
  • XGPM — Xbox Game Package Manager UI
  • makepkg2 — via packagingservices.dll (pending external integration)
  • null — omitted from JSON when not set

Changes

  • Add UploadSource nullable property to ClientExtractedMetaData
  • Add makepkg2 to UploadSourceConfig allowlist
  • Pass validated _uploadSource from HttpRestClient to the builder
  • Expose MakePkg2UploadSource public constant for external consumers
  • ~30 tests covering builder, serialization, HTTP body flow, DI, and edge cases
  • Design document: docs/uploadsource-client-extracted-metadata.md

What is NOT changed

  • MSIXVC2 flow (completely separate, uses makepkg2 CLI with /uploadsource flag)
  • Public interfaces (IPackageUploaderService, IIngestionHttpClient)
  • HTTP header behavior (UploadSource header still sent, unchanged)
  • Non-XVC uploads (ClientExtractedMetaData remains null)

Include UploadSource in the package creation request body (ClientExtractedMetaData)
so downstream services (Xbox.Xbet.Service / LogAnalytics) can identify the originating
tool (PackageUploader, XGPM, or makepkg2).

Changes:
- Add UploadSource nullable property to ClientExtractedMetaData
- Add makepkg2 to UploadSourceConfig allowlist
- Pass validated _uploadSource from HttpRestClient to the builder
- Expose MakePkg2UploadSource public constant for external consumers
- Add ~30 tests covering builder, serialization, HTTP flow, and edge cases
- Add design document (docs/uploadsource-client-extracted-metadata.md)

No changes to MSIXVC2 flow, public interfaces, or HTTP header behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant