Skip to content

Remove unused wrapper-config sub-interface exports from public type surface#3211

Merged
lpcox merged 3 commits into
mainfrom
copilot/export-audit-remove-unused-types
May 15, 2026
Merged

Remove unused wrapper-config sub-interface exports from public type surface#3211
lpcox merged 3 commits into
mainfrom
copilot/export-audit-remove-unused-types

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 15, 2026

Bug Fix

What was the bug?

src/types/index.ts publicly re-exported wrapper-config types that included seven sub-interfaces with no known consumers outside src/types/. This inflated the public API surface and created avoidable export-audit noise.

How did you fix it?

  • Public API surface reduction
    • Removed unused sub-interface re-exports from src/types/wrapper-config.ts:
      ContainerImageOptions, NetworkOptions, VolumeOptions, SecurityOptions, ApiProxyOptions, RateLimitOptions, RuntimeOptions.
  • Preserved intended config contract
    • Kept WrapperConfig composition intact; only the extra named re-exports were removed.
  • Barrel behavior remains stable
    • src/types/index.ts still re-exports WrapperConfig via export type * from './wrapper-config', but without exposing the unused convenience types.
// src/types/wrapper-config.ts (before)
export { type ContainerImageOptions } from './container-image-options';
export { type NetworkOptions } from './network-options';
// ...5 more sub-interface re-exports

// src/types/wrapper-config.ts (after)
// removed the 7 re-export lines; internal imports for WrapperConfig remain

Testing

Not part of the issue scope; this change is limited to export surface cleanup.

Copilot AI changed the title [WIP] Remove unused sub-interface re-exports in public barrel Remove unused wrapper-config sub-interface exports from public type surface May 15, 2026
Copilot finished work on behalf of lpcox May 15, 2026 13:38
Copilot AI requested a review from lpcox May 15, 2026 13:38
@lpcox lpcox marked this pull request as ready for review May 15, 2026 13:53
@lpcox lpcox requested a review from Mossaka as a code owner May 15, 2026 13:53
Copilot AI review requested due to automatic review settings May 15, 2026 13:53
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 reduces the exported TypeScript public API surface by removing named sub-interface type re-exports from WrapperConfig’s module, while keeping the composed WrapperConfig type intact and still available via the types barrel.

Changes:

  • Removed seven named type re-exports (*Options) from src/types/wrapper-config.ts.
  • Retained internal type imports to keep WrapperConfig composition unchanged.
Show a summary per file
File Description
src/types/wrapper-config.ts Removes unused public sub-interface re-exports while preserving the WrapperConfig composed type.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment thread src/types/wrapper-config.ts Outdated
@@ -5,14 +5,6 @@
* This file re-exports those interfaces and composes the final WrapperConfig type.
@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

This comment has been minimized.

@github-actions

This comment has been minimized.

@lpcox
Copy link
Copy Markdown
Collaborator

lpcox commented May 15, 2026

@copilot address review feedback

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 15, 2026

@copilot address review feedback

Addressed in commit 5d6ec0d. I updated src/types/wrapper-config.ts JSDoc to reflect current behavior (imports domain option interfaces to compose WrapperConfig, no longer re-exports them).

Copilot finished work on behalf of lpcox May 15, 2026 14:36
@github-actions
Copy link
Copy Markdown
Contributor

Smoke Test Results

Playwright: Navigated to github.com, page title contains "GitHub"
File verify: /tmp/gh-aw/agent/smoke-test-claude-25923636342.txt exists with expected content
GitHub API: Authentication failed (HTTP 401 to localhost GraphQL endpoint)

Total: 2/3 PASS (GitHub API auth appears to be environment configuration issue, not engine failure)

💥 [THE END] — Illustrated by Smoke Claude

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Copilot Smoke Test Results

Test Status
GitHub MCP connectivity ❌ 401 Bad credentials
GitHub.com HTTP connectivity ⚠️ Template vars not expanded
File write/read /tmp/gh-aw/agent/smoke-test-copilot-25923636372.txt exists and readable

Overall: PARTIAL — File I/O works; GitHub MCP auth unavailable in this environment; pre-step template variables were not expanded by the runner.

Tests run on PR #3211 · workflow run 25923636372

📰 BREAKING: Report filed by Smoke Copilot

@github-actions
Copy link
Copy Markdown
Contributor

Smoke Test: Copilot BYOK (Offline) Mode

Test Result
1. GitHub MCP ❌ 401 Bad credentials
2. GitHub.com HTTP ⚠️ Template vars not expanded (${{ steps.smoke-data.outputs.SMOKE_HTTP_CODE }})
3. File Write/Read ⚠️ Template vars not expanded — cannot verify
4. BYOK Inference ✅ Agent is responding via api-proxy → api.githubcopilot.com

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

Overall: FAIL — GitHub MCP returned 401 and workflow template variables were not substituted before agent invocation.

🔑 BYOK report filed by Smoke Copilot BYOK

@github-actions
Copy link
Copy Markdown
Contributor

Codex smoke: FAIL
✅ Merged PRs: Refactor api-proxy SIGTERM/SIGINT shutdown flow into a shared handler; Cap /reflect effective-token totals at configured maxEffectiveTokens
❌ safeinputs-gh PR query: wrapper unavailable
✅ Playwright title check
❌ Tavily search: no exposed search tool
✅ File write/read
✅ Discussion comment
✅ npm ci && npm run build
Overall status: 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

Chroot Smoke Test Results

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

Result: FAILED — Python and Node.js versions differ between host and chroot.

Tested by Smoke Chroot

@github-actions
Copy link
Copy Markdown
Contributor

Smoke test results: FAIL (Tools missing)

Warning

Firewall blocked 1 domain

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

  • localhost

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

network:
  allowed:
    - defaults
    - "localhost"

See Network Configuration for more information.

💎 Faceted by Smoke Gemini

@github-actions
Copy link
Copy Markdown
Contributor

Smoke Test: GitHub Actions Services Connectivity

Check Result
Redis PING ❌ Timeout/no response
PostgreSQL pg_isready ❌ No response
PostgreSQL SELECT 1 ❌ Timeout/no response

Overall: FAILhost.docker.internal is not reachable from this environment. Service containers appear unreachable (connection timeout on both Redis :6379 and PostgreSQL :5432).

🔌 Service connectivity validated by Smoke Services

@github-actions
Copy link
Copy Markdown
Contributor

🏗️ 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 all passed ✅ PASS
Node.js execa all passed ✅ PASS
Node.js p-limit all 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 #3211 · ● 7M ·

@lpcox lpcox merged commit ac9c85f into main May 15, 2026
64 of 68 checks passed
@lpcox lpcox deleted the copilot/export-audit-remove-unused-types branch May 15, 2026 15:13
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 sub-interface re-exports in src/types/index.ts public barrel

3 participants