Add publish command and manifest template management#18
Merged
sellakumaran merged 2 commits intomainfrom Nov 15, 2025
Merged
Conversation
Introduced a new `publish` command to streamline packaging and publishing of agent manifests to the MOS Titles service. Key features include embedded templates, automatic ID updates, interactive customization, and Graph API integration. Added `ManifestTemplateService` for managing embedded manifest templates, enabling extraction, customization, and packaging of manifest files. Updated dependency injection to include this service. Enhanced error handling in `PublishCommand` to manage network issues, timeouts, and authorization errors, with fallback instructions for manual uploads. Updated `manifest.json` and `agenticUserTemplateManifest.json` schemas with detailed metadata and new fields. Embedded templates and icons as resources in the CLI binary for portability. Refactored `PublishCommand` for improved modularity and logging. Added comprehensive unit tests for the new `ManifestTemplateService`. Updated documentation with detailed instructions for the `publish` command.
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a comprehensive publish command feature that enables streamlined packaging and publishing of agent manifests to the MOS Titles service. The implementation focuses on portability by embedding all required templates (JSON and PNG files) directly in the CLI binary, eliminating external file dependencies.
Key changes include:
- Added
ManifestTemplateServicefor managing embedded manifest templates with methods for extraction, customization, and packaging - Enhanced
PublishCommandwith automatic template extraction, improved error handling for network issues, and graceful degradation for authorization failures - Comprehensive test suite with 30+ unit tests covering all service methods and edge cases
Reviewed Changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
src/Tests/Microsoft.Agents.A365.DevTools.Cli.Tests/Services/ManifestTemplateServiceTests.cs |
Comprehensive unit test suite covering template extraction, manifest updates, validation, and zip creation |
src/Microsoft.Agents.A365.DevTools.Cli/Templates/outline.png |
Embedded outline icon template (32x32 PNG) |
src/Microsoft.Agents.A365.DevTools.Cli/Templates/manifest.json |
Embedded Teams app manifest template with agent metadata |
src/Microsoft.Agents.A365.DevTools.Cli/Templates/color.png |
Embedded color icon template (192x192 PNG) |
src/Microsoft.Agents.A365.DevTools.Cli/Templates/agenticUserTemplateManifest.json |
Embedded agent identity blueprint configuration template |
src/Microsoft.Agents.A365.DevTools.Cli/Services/ManifestTemplateService.cs |
Core service implementing template extraction, manifest ID updates, validation, and zip packaging |
src/Microsoft.Agents.A365.DevTools.Cli/Program.cs |
Updated dependency injection to register ManifestTemplateService and wire it into PublishCommand |
src/Microsoft.Agents.A365.DevTools.Cli/Microsoft.Agents.A365.DevTools.Cli.csproj |
Added EmbeddedResource entries for manifest templates and icon files |
src/Microsoft.Agents.A365.DevTools.Cli/Commands/PublishCommand.cs |
Enhanced with template extraction logic, improved network error handling, and timeout management |
src/DEVELOPER.md |
Added comprehensive publish command documentation with workflow examples and troubleshooting guide |
manifest/manifest.json |
Removed project-level manifest file (migrated to embedded templates) |
manifest/addendum.json |
Removed unused addendum file |
src/Microsoft.Agents.A365.DevTools.Cli/Templates/agenticUserTemplateManifest.json
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Commands/PublishCommand.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Commands/PublishCommand.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Services/ManifestTemplateService.cs
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Services/ManifestTemplateService.cs
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Services/ManifestTemplateService.cs
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Services/ManifestTemplateService.cs
Show resolved
Hide resolved
src/Microsoft.Agents.A365.DevTools.Cli/Services/ManifestTemplateService.cs
Show resolved
Hide resolved
Refactored `PublishCommand` to use `using` statements for `StringContent` objects, ensuring proper disposal and better resource management. Updated `manifest.json` to revise the agent's name and description: - Changed `name.short` to "Your Agent Name" and `name.full` to "Your Agent Full Name." - Replaced `description.short` and `description.full` with more generic and comprehensive descriptions of the agent's purpose and capabilities.
mengyimicro
approved these changes
Nov 15, 2025
LavanyaK235
approved these changes
Nov 15, 2025
mrunalhirve128
approved these changes
Nov 15, 2025
rahuldevikar761
approved these changes
Nov 15, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduced a new
publishcommand to streamline packaging and publishing of agent manifests to the MOS Titles service. Key features include embedded templates, automatic ID updates, interactive customization, and Graph API integration.Added
ManifestTemplateServicefor managing embedded manifest templates, enabling extraction, customization, and packaging of manifest files. Updated dependency injection to include this service.Enhanced error handling in
PublishCommandto manage network issues, timeouts, and authorization errors, with fallback instructions for manual uploads.Updated
manifest.jsonandagenticUserTemplateManifest.jsonschemas with detailed metadata and new fields. Embedded templates and icons as resources in the CLI binary for portability.Refactored
PublishCommandfor improved modularity and logging. Added comprehensive unit tests for the newManifestTemplateService. Updated documentation with detailed instructions for thepublishcommand.