Skip to content

Add publish command and manifest template management#18

Merged
sellakumaran merged 2 commits intomainfrom
users/sellak/publish
Nov 15, 2025
Merged

Add publish command and manifest template management#18
sellakumaran merged 2 commits intomainfrom
users/sellak/publish

Conversation

@sellakumaran
Copy link
Contributor

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.

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.
@sellakumaran sellakumaran requested a review from a team as a code owner November 15, 2025 03:07
Copilot AI review requested due to automatic review settings November 15, 2025 03:07
@sellakumaran sellakumaran requested a review from a team as a code owner November 15, 2025 03:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ManifestTemplateService for managing embedded manifest templates with methods for extraction, customization, and packaging
  • Enhanced PublishCommand with 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

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.
@sellakumaran sellakumaran merged commit cf2ab7f into main Nov 15, 2025
2 checks passed
@sellakumaran sellakumaran deleted the users/sellak/publish branch November 15, 2025 05:22
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.

6 participants