-
Notifications
You must be signed in to change notification settings - Fork 5
Feature/partner integration cli #110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Feature/partner integration cli #110
Conversation
- Created comprehensive CLI tool for Partner Integration development - Includes init, generate, validate, and package commands - Supports EHR, API connector, data sync, and custom templates - Full test coverage with Jest (10/10 tests passing) - Based on Dragon Extension CLI architecture - Cross-platform support (Windows, macOS, Linux) - Production-ready with error handling and validation
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Feature/partner integration cli
…crosoft#100) Bumps [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) from 7.8.6 to 7.9.0. - [Release notes](https://github.com/SBoudrias/Inquirer.js/releases) - [Commits](https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/[email protected]...@inquirer/[email protected]) --- updated-dependencies: - dependency-name: "@inquirer/prompts" dependency-version: 7.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…osoft#101) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.7.2 to 24.8.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 24.8.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o 9.0.10 (microsoft#103) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer dependency-version: 9.0.10 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ft#105) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.OpenApi dependency-version: 9.0.10 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--- updated-dependencies: - dependency-name: Microsoft.Identity.Web dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v5...v6) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
There was a problem hiding this 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 Partner Integration CLI tool alongside refactoring shared utilities into a common library. The Partner Integration CLI mirrors the Dragon Extension CLI architecture but focuses on partner integration manifests for healthcare data processing. A web-based manifest builder UI is also included for browser-based workflows.
Key Changes
- New Partner Integration CLI with init, generate, validate, and package commands
- Shared CLI utilities library (
@dragon-copilot/cli-common) for publisher prompts, logo validation, and asset bootstrapping - Web-based manifest builder (HTML/CSS/JS) that generates Partner Integration manifests client-side
- TypeScript configuration updates for better module resolution across both CLIs
- Package version bumps for ASP.NET dependencies
Reviewed Changes
Copilot reviewed 61 out of 87 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/partner-integration-cli/* | Complete Partner Integration CLI implementation with commands, templates, prompts, and validation |
| tools/partner-integration-cli/web/* | Standalone web UI for interactive manifest building without CLI installation |
| tools/cli-common/* | Extracted shared utilities for publisher prompts, logo validation, and asset management |
| tools/dragon-extension-cli/* | Refactored to use shared utilities and updated TypeScript configuration |
| samples/.../SampleExtension.Web.csproj | Updated Microsoft package versions |
Files not reviewed (2)
- tools/cli-common/package-lock.json: Language not supported
- tools/dragon-extension-cli/package-lock.json: Language not supported
| }, | ||
| 'in-bound-issuer': { | ||
| type: 'url', | ||
| description: 'issue claim of access tokens used to partner to call Dragon Copilot Interop', |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling and grammar. Changed 'issue claim of access tokens used to partner to call' to 'issuer claim of access tokens used by partner to call'.
| description: 'issue claim of access tokens used to partner to call Dragon Copilot Interop', | |
| description: 'issuer claim of access tokens used by partner to call Dragon Copilot Interop', |
| }, | ||
| 'out-bound-client-id': { | ||
| type: 'string', | ||
| description: 'partner provided client id to issued access tokens for Dragon Copilot Interop to call partner', |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar. Changed 'client id to issued access tokens' to 'client id to issue access tokens'.
| description: 'partner provided client id to issued access tokens for Dragon Copilot Interop to call partner', | |
| description: 'partner provided client id to issue access tokens for Dragon Copilot Interop to call partner', |
| }, | ||
| 'out-bound-secret': { | ||
| type: 'string', | ||
| description: 'partner provided secret to issued access tokens for Dragon Copilot Interop to call partner', |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar. Changed 'secret to issued access tokens' to 'secret to issue access tokens'.
| description: 'partner provided secret to issued access tokens for Dragon Copilot Interop to call partner', | |
| description: 'partner provided secret to issue access tokens for Dragon Copilot Interop to call partner', |
| { | ||
| name: 'base_url', | ||
| type: 'url', | ||
| description: 'base url needed for API calls. These are typically FHIR calls.', |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected capitalization. Changed 'base url needed' to 'Base URL needed'.
| description: 'base url needed for API calls. These are typically FHIR calls.', | |
| description: 'Base URL needed for API calls. These are typically FHIR calls.', |
| { | ||
| name: 'ehr-user_id', | ||
| type: 'string', | ||
| description: 'optional EHR user id for FHIR API calls.', |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected capitalization. Changed 'optional EHR user id' to 'Optional EHR user ID'.
| description: 'optional EHR user id for FHIR API calls.', | |
| description: 'Optional EHR user ID for FHIR API calls.', |
| }); | ||
| console.log(''); | ||
| logInfo( | ||
| 'Common Entra ID claims include Enterprise Application Object ID (oid) or Application (Client) ID (azp) values.'); |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed inconsistent terminology. Changed 'Entra ID' to 'Microsoft Entra ID' for consistency with Microsoft's official product naming.
| 'Common Entra ID claims include Enterprise Application Object ID (oid) or Application (Client) ID (azp) values.'); | |
| 'Common Microsoft Entra ID claims include Enterprise Application Object ID (oid) or Application (Client) ID (azp) values.'); |
| # any mapping of section. The key is the section, the value is which items the partner | ||
| # would like in the section. No items means the partner does not want the section | ||
| # generated. | ||
| # This will change if the Dragon Ontology Knownledge base comes to fruition. |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'Knownledge' to 'Knowledge'.
| # This will change if the Dragon Ontology Knownledge base comes to fruition. | |
| # This will change if the Dragon Ontology Knowledge base comes to fruition. |
| required: yes ##Optional | ||
| - name: in-bound-issuer ##Optional | ||
| type: url ##Optional | ||
| description: issue claim of access tokens used to partner to call Dragon Copilot Interop |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling and grammar. Changed 'issue claim of access tokens used to partner to call' to 'issuer claim of access tokens used by partner to call'.
| description: issue claim of access tokens used to partner to call Dragon Copilot Interop | |
| description: issuer claim of access tokens used by partner to call Dragon Copilot Interop |
| required: yes ##Optional | ||
| - name: out-bound-client-id ##Optional | ||
| type: string ##Optional | ||
| description: partner provided client id to issued access tokens for Dragon Copilot Interop to call partner |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar. Changed 'client id to issued access tokens' to 'client id to issue access tokens'.
| description: partner provided client id to issued access tokens for Dragon Copilot Interop to call partner | |
| description: partner provided client id to issue access tokens for Dragon Copilot Interop to call partner |
| required: yes ##Optional | ||
| - name: out-bound-secret ##Optional | ||
| type: string ##Optional | ||
| description: partner provided secret to issued access tokens for Dragon Copilot Interop to call partner |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar. Changed 'secret to issued access tokens' to 'secret to issue access tokens'.
| description: partner provided secret to issued access tokens for Dragon Copilot Interop to call partner | |
| description: partner provided secret to issue access tokens for Dragon Copilot Interop to call partner |
|
@mfrongillo35 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
No description provided.