Skip to content

[Export Audit] LogsCommandOptions and StreamOptions exported but never imported externally #2500

Description

@github-actions

API Surface Issue

Category

Unused exports — parameter/option interfaces exposed unnecessarily

Summary

Two option interfaces are exported from their respective modules but are never imported anywhere else:

Symbol File Line
LogsCommandOptions src/commands/logs.ts 19
StreamOptions src/logs/log-streamer.ts 18

StreamOptions is additionally re-exported via src/logs/index.ts (line 14), widening its surface further.

Evidence

$ grep -rn "LogsCommandOptions" src/ tests/
src/commands/logs.ts:19:export interface LogsCommandOptions {
src/commands/logs.ts:37:export async function logsCommand(options: LogsCommandOptions): Promise<void> {

$ grep -rn "StreamOptions" src/ tests/
src/logs/log-streamer.ts:18:export interface StreamOptions {
src/logs/log-streamer.ts:36:export async function streamLogs(options: StreamOptions): Promise<void> {
src/logs/index.ts:14:export { streamLogs, StreamOptions } from './log-streamer';

Neither symbol is imported by any other file.

Recommended Fix

  1. LogsCommandOptions: Remove export from line 19 of src/commands/logs.ts.
  2. StreamOptions: Remove export from line 18 of src/logs/log-streamer.ts and remove StreamOptions from the re-export in src/logs/index.ts line 14.

Impact

  • Dead code risk: Low (type-only)
  • Maintenance burden: Medium (unnecessary public contract; barrel re-export of StreamOptions makes it look intentionally public)

Detected by Export Audit workflow. Triggered by push to main on 2026-05-04

Generated by API Surface & Export Audit · ● 312.6K ·

  • expires on Jun 3, 2026, 3:25 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions