Skip to content

SLD-789: Add PowerShell Proxy OpenAPI spec - #199

Open
Khalil O. (Kh4lil) wants to merge 2 commits into
mainfrom
feature/powershell-proxy-openapi-sdk
Open

SLD-789: Add PowerShell Proxy OpenAPI spec#199
Khalil O. (Kh4lil) wants to merge 2 commits into
mainfrom
feature/powershell-proxy-openapi-sdk

Conversation

@Kh4lil

Copy link
Copy Markdown

Hi! This is related to this ticket: https://asg-shicorp.atlassian.net/browse/SLD-789?focusedCommentId=49205

The PR adds the PowerShell Proxy to the central OpenAPI repo, I followed the existing SHIELD/Data Gateway/URL Shortener SDK pattern.

  • Adds the OpenAPI 3.1.1 contract for POST /api/proxy
  • Adds @software-hardware-integration-lab/sdk-powershell-proxy
  • Adds the service to the existing build/publish workflows and API docs
  • Keeps PowerShell cmdlet output untyped so Microsoft response fields are preserved

Copilot AI lite review requested due to automatic review settings August 19, 2026 21:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds the SHIELD PowerShell Proxy service to this central OpenAPI repository by introducing a new OpenAPI 3.1.1 spec and a generated TypeScript SDK package, and wiring both into existing publishing/documentation workflows.

Changes:

  • Added specs/PowerShell-Proxy.json describing POST /api/proxy (authenticated allowlisted cmdlet execution).
  • Added a new TypeScript SDK package at src/powershellProxy/TypeScript (Kiota-generated client + factory/export surface).
  • Registered the service in API docs and CI publish/build workflows.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/powershellProxy/TypeScript/tsconfig.json TypeScript build configuration for the new SDK package.
src/powershellProxy/TypeScript/README.md Usage and installation documentation for the new SDK.
src/powershellProxy/TypeScript/package.json Package metadata, scripts, and dependencies for publishing the SDK.
src/powershellProxy/TypeScript/LICENSE MIT license for the new SDK package.
src/powershellProxy/TypeScript/index.ts Public SDK entrypoint: client factory + type exports.
src/powershellProxy/TypeScript/eslint.config.js Lint configuration for the new SDK package.
src/powershellProxy/TypeScript/.npmrc npm configuration for the new SDK package.
src/powershellProxy/TypeScript/.npmignore Publish-time ignore rules for the new SDK package.
specs/PowerShell-Proxy.json New OpenAPI 3.1.1 contract for the PowerShell Proxy endpoint.
apis.yaml Adds PowerShell Proxy to the API catalog for documentation/discovery.
.github/workflows/Publish-Specs.yml Adds PowerShell Proxy spec to the Swagger UI list on GitHub Pages.
.github/workflows/Publish-NPM.yml Adds the new SDK path to the NPM publish matrix.
.github/workflows/Build.yml Adds the new SDK path to the build/generate matrix.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +35 to +37
- name: PowerShellProxy
sdkPath: 'src/powershellProxy/TypeScript'
specPath: 'specs/PowerShell-Proxy.json'
Comment on lines +42 to +44
- name: PowerShellProxy
sdkPath: 'src/powershellProxy/TypeScript'
specPath: 'specs/PowerShell-Proxy.json'

```TypeScript
/** Custom host and endpoint base to as an example for something behind a layer 7 load balancer, E.g. Azure App Gateway or Azure API Gateway. If in debug mode, run against localhost. */
const customBaseUrl = debugMode ? new URL('http://localhost:7071') : new URL('https://custom-host.example.com/Ballance/Instance1/');
Comment thread src/powershellProxy/TypeScript/package.json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 13 out of 14 changed files in this pull request and generated no new comments.

Suppressed comments (1)

src/powershellProxy/TypeScript/README.md:62

  • Typo/grammar in the example URL and comment: "Ballance" should be "Balance", and the sentence reads as "base to as an example" which is ungrammatical.
/** Custom host and endpoint base to as an example for something behind a layer 7 load balancer, E.g. Azure App Gateway or Azure API Gateway. If in debug mode, run against localhost. */
const customBaseUrl = debugMode ? new URL('http://localhost:7071') : new URL('https://custom-host.example.com/Ballance/Instance1/');

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.

2 participants