Mark DockerService and DockerNetwork interfaces as @internal#2439
Mark DockerService and DockerNetwork interfaces as @internal#2439
Conversation
…nterfaces Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/3d8ca4b5-953c-4de0-a91f-591c1996c7e2 Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (2 files)
Coverage comparison generated by |
There was a problem hiding this comment.
Pull request overview
This PR narrows the TypeScript surface in src/types.ts by making DockerService and DockerNetwork module-private instead of exported, with the goal of treating them as internal helper types behind DockerComposeConfig.
Changes:
- Remove
exportfromDockerService. - Remove
exportfromDockerNetwork. - Keep
DockerComposeConfigreferencing those interfaces internally.
Show a summary per file
| File | Description |
|---|---|
src/types.ts |
Shrinks the declared type surface for Docker Compose-related interfaces by making two sub-types non-exported. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (1)
src/types.ts:1635
- This is another externally visible API removal. Even if
DockerComposeConfigstill references the shape structurally, any consumer that importsDockerNetworkfrom the published declarations will break after this change, so this needs a deprecation/major-version plan rather than a silent export removal.
interface DockerNetwork {
- Files reviewed: 1/1 changed files
- Comments generated: 1
| * and dependency configurations. | ||
| */ | ||
| export interface DockerService { | ||
| interface DockerService { |
🤖 Smoke Test Results
PR: "Make DockerService and DockerNetwork interfaces internal (remove export)" Overall: PASS
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Smoke Test: Gemini Engine Validation
Overall status: PASS
|
|
@copilot address the review feedback |
Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/43c79dba-4316-4e8b-beab-4d5a24a86744 Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Smoke Test Results✅ GitHub MCP: Retrieved last 2 merged PRs (#2437, #2436) PASS — Claude engine validation complete.
|
🧪 Smoke Test: Copilot BYOK (Offline) Mode
Running in BYOK offline mode ( Overall: PASS · PR by
|
|
PR titles: unavailable Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "registry.npmjs.org"See Network Configuration for more information.
|
🧪 Chroot Version Comparison Results
Result: ❌ Not all versions match — Python and Node.js versions differ between host and chroot environment. Go matches. Label
|
Smoke Test Results — Services Connectivity
Overall: FAIL
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — ✅ PASS
|
DockerServiceandDockerNetworkinsrc/types.tsare internal sub-types ofDockerComposeConfigwith no consumers outside the file, yet were exported — unnecessarily widening the public API surface with types subject to change as Docker Compose spec evolves.Since the package emits declaration files and ships an npm tarball, removing the
exportkeyword would be a breaking change for downstream TypeScript consumers. Instead, both interfaces retain theirexportand are marked with@internalJSDoc tags, following the existing convention in the codebase (e.g.src/docker-manager.ts).Changes
src/types.ts: Add@internalJSDoc tag toDockerServiceandDockerNetworkinterface declarations to signal they are not part of the stable public API.