Skip to content

Mark DockerService and DockerNetwork interfaces as @internal#2439

Merged
lpcox merged 3 commits intomainfrom
copilot/remove-unused-exports-docker-service-network
May 3, 2026
Merged

Mark DockerService and DockerNetwork interfaces as @internal#2439
lpcox merged 3 commits intomainfrom
copilot/remove-unused-exports-docker-service-network

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 3, 2026

DockerService and DockerNetwork in src/types.ts are internal sub-types of DockerComposeConfig with 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 export keyword would be a breaking change for downstream TypeScript consumers. Instead, both interfaces retain their export and are marked with @internal JSDoc tags, following the existing convention in the codebase (e.g. src/docker-manager.ts).

Changes

  • src/types.ts: Add @internal JSDoc tag to DockerService and DockerNetwork interface declarations to signal they are not part of the stable public API.
/**
 * ...
 * @internal Internal sub-type of DockerComposeConfig; subject to change with Docker Compose spec updates
 */
export interface DockerService { ... }

/**
 * ...
 * @internal Internal sub-type of DockerComposeConfig; subject to change with Docker Compose spec updates
 */
export interface DockerNetwork { ... }

Copilot AI changed the title [WIP] Remove unused exported interfaces from src/types.ts Make DockerService and DockerNetwork interfaces internal (remove export) May 3, 2026
Copilot finished work on behalf of lpcox May 3, 2026 14:00
Copilot AI requested a review from lpcox May 3, 2026 14:00
@lpcox lpcox marked this pull request as ready for review May 3, 2026 22:59
@lpcox lpcox requested a review from Mossaka as a code owner May 3, 2026 22:59
Copilot AI review requested due to automatic review settings May 3, 2026 22:59
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

✅ Coverage Check Passed

Overall Coverage

Metric Base PR Delta
Lines 85.76% 85.77% ➡️ +0.01%
Statements 85.64% 85.71% 📈 +0.07%
Functions 88.11% 88.15% 📈 +0.04%
Branches 78.65% 78.72% 📈 +0.07%
📁 Per-file Coverage Changes (2 files)
File Lines (Before → After) Statements (Before → After)
src/pid-tracker.ts 97.3% → 97.2% (-0.15%) 95.8% → 95.6% (-0.22%)
src/docker-manager.ts 87.4% → 87.6% (+0.16%) 87.0% → 87.4% (+0.36%)

Coverage comparison generated by scripts/ci/compare-coverage.ts

Copy link
Copy Markdown
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 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 export from DockerService.
  • Remove export from DockerNetwork.
  • Keep DockerComposeConfig referencing 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 DockerComposeConfig still references the shape structurally, any consumer that imports DockerNetwork from 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

Comment thread src/types.ts Outdated
* and dependency configurations.
*/
export interface DockerService {
interface DockerService {
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

🤖 Smoke Test Results

Test Status
GitHub MCP connectivity
GitHub.com HTTP connectivity ✅ (pre-step)
File write/read

PR: "Make DockerService and DockerNetwork interfaces internal (remove export)"
Author: @Copilot | Assignees: @lpcox, @Copilot

Overall: PASS

📰 BREAKING: Report filed by Smoke Copilot

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Smoke Test: Gemini Engine Validation

  • GitHub MCP Testing: ✅
    • "feat: add 4 agentic code quality workflows"
    • "refactor(api-proxy): extract ProviderAdapter abstraction, make core provider-agnostic"
  • GitHub.com Connectivity: ✅ (200)
  • File Writing Testing: ✅
  • Bash Tool Testing: ✅

Overall status: PASS

💎 Faceted by Smoke Gemini

@lpcox
Copy link
Copy Markdown
Collaborator

lpcox commented May 3, 2026

@copilot address the review feedback

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 3, 2026

@copilot address the review feedback

Good catch — restored both exports in 60db4ac and added @internal JSDoc tags (matching the existing convention in docker-manager.ts) to signal they're not stable public API without causing a breaking change.

Copilot AI changed the title Make DockerService and DockerNetwork interfaces internal (remove export) Mark DockerService and DockerNetwork interfaces as @internal May 3, 2026
Copilot finished work on behalf of lpcox May 3, 2026 23:17
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Smoke Test Results

✅ GitHub MCP: Retrieved last 2 merged PRs (#2437, #2436)
✅ Playwright: github.com page title verified
✅ File Writing: Test file created in /tmp/gh-aw/agent/
✅ Bash Tool: File verified with cat

PASS — Claude engine validation complete.

💥 [THE END] — Illustrated by Smoke Claude

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

🧪 Smoke Test: Copilot BYOK (Offline) Mode

Test Result
GitHub MCP connectivity
GitHub.com HTTP connectivity
File write/read (smoke-test-copilot-byok-25293670999.txt)
BYOK inference (agent → api-proxy → api.githubcopilot.com)

Running in BYOK offline mode (COPILOT_OFFLINE=true) via api-proxy → api.githubcopilot.com.

Overall: PASS · PR by @Copilot · Assignees: @lpcox, @Copilot

🔑 BYOK report filed by Smoke Copilot BYOK

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

PR titles: unavailable
GitHub merged-PR review: ❌
Safe-input GH query: ❌
Playwright title check: ✅
Tavily search: ❌
File write + bash verify + AWF build: ✅
Discussion oracle comment: ❌
Overall: FAIL

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • registry.npmjs.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "registry.npmjs.org"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

🧪 Chroot Version Comparison Results

Runtime Host Version Chroot Version Match?
Python Python 3.12.13 Python 3.12.3
Node.js v24.14.1 v20.20.2
Go go1.22.12 go1.22.12

Result: ❌ Not all versions match — Python and Node.js versions differ between host and chroot environment. Go matches. Label smoke-chroot not applied.

Tested by Smoke Chroot

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Smoke Test Results — Services Connectivity

Check Result
Redis PING ❌ No response (empty output)
PostgreSQL pg_isready no response
PostgreSQL SELECT 1 ❌ Connection timed out

Overall: FAIL

host.docker.internal is not reachable from this environment — service containers appear unavailable.

🔌 Service connectivity validated by Smoke Services

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

🏗️ Build Test Suite Results

Ecosystem Project Build/Install Tests Status
Bun elysia 1/1 passed ✅ PASS
Bun hono 1/1 passed ✅ PASS
C++ fmt N/A ✅ PASS
C++ json N/A ✅ PASS
Deno oak N/A 1/1 passed ✅ PASS
Deno std N/A 1/1 passed ✅ PASS
.NET hello-world N/A ✅ PASS
.NET json-parse N/A ✅ PASS
Go color 1/1 passed ✅ PASS
Go env 1/1 passed ✅ PASS
Go uuid 1/1 passed ✅ PASS
Java gson 1/1 passed ✅ PASS
Java caffeine 1/1 passed ✅ PASS
Node.js clsx passed ✅ PASS
Node.js execa passed ✅ PASS
Node.js p-limit passed ✅ PASS
Rust fd 1/1 passed ✅ PASS
Rust zoxide 1/1 passed ✅ PASS

Overall: 8/8 ecosystems passed — ✅ PASS

Generated by Build Test Suite for issue #2439 · ● 1.2M ·

@lpcox lpcox merged commit 1a7b608 into main May 3, 2026
63 of 69 checks passed
@lpcox lpcox deleted the copilot/remove-unused-exports-docker-service-network branch May 3, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Export Audit] Unused exported interfaces in src/types.ts: DockerService, DockerNetwork

3 participants