Skip to content

Remove pi-embedded.ts stub barrel and clean up no-op call sites #76

@alexey-pelykh

Description

@alexey-pelykh

Summary

The pi-embedded execution engine was gutted in #75, but a transitional stub barrel src/agents/pi-embedded.ts was left behind with no-op implementations so existing callers would compile without import-path changes. This stub and its consumer files need to be cleaned up — every function in the barrel returns a constant (false, 0, "default", empty object) and does nothing.

What to Delete

src/agents/pi-embedded.ts — the stub barrel itself. Contains:

  • 4 stub types: EmbeddedPiAgentMeta, EmbeddedPiRunMeta, EmbeddedPiRunResult, EmbeddedPiCompactResult
  • 9 stub functions: isEmbeddedPiRunActive (→false), isEmbeddedPiRunStreaming (→false), abortEmbeddedPiRun (→false), waitForEmbeddedPiRunEnd (→true), queueEmbeddedPiMessage (→false), resolveEmbeddedSessionLane (→"default"), getActiveEmbeddedRunCount (→0), runEmbeddedPiAgent (→empty result), compactEmbeddedPiSession (→failure result)

Call Sites to Clean Up

Category A: Remove function call + import (7 production files)

These call abortEmbeddedPiRun() which always returns false — pure no-op, return value unused or irrelevant:

File Function Called Action
src/gateway/server-methods/sessions.ts abortEmbeddedPiRun, waitForEmbeddedPiRunEnd Remove both calls; waitForEmbeddedPiRunEnd always resolves true so simplify the if-block
src/agents/tools/subagents-tool.ts abortEmbeddedPiRun (2 call sites: kill + steer) Remove both calls, keep surrounding structure
src/auto-reply/reply/commands-session.ts abortEmbeddedPiRun Remove call (pure side-effect no-op)
src/auto-reply/reply/abort.ts abortEmbeddedPiRun Remove import + all calls
src/auto-reply/reply/commands-subagents/action-send.ts abortEmbeddedPiRun Remove call
src/auto-reply/reply/commands-subagents/action-kill.ts abortEmbeddedPiRun Remove call
src/auto-reply/reply/agent-runner.ts queueEmbeddedPiMessage Remove call (returns false, nothing queued)

Category B: Replace function call with literal (3 production files)

File Function Called Replacement
src/auto-reply/reply/queue/cleanup.ts resolveEmbeddedSessionLane(cleaned) Replace with literal "default"
src/gateway/server-reload-handlers.ts getActiveEmbeddedRunCount() Replace with literal 0
src/gateway/server.impl.ts getActiveEmbeddedRunCount() Replace with literal 0

Category C: Clean up test harnesses (legacy pi-embedded mock naming)

These test files mock ChannelBridge but use legacy piEmbeddedMock variable naming and legacy type shims. They need renaming and cleanup:

File What to Do
src/auto-reply/reply.block-streaming.test.ts Rename piEmbeddedMockbridgeMock; remove unused mock fns (abortEmbeddedPiRun, queueEmbeddedPiMessage, isEmbeddedPiRunActive, isEmbeddedPiRunStreaming); replace local RunEmbeddedPiAgentReply/RunEmbeddedPiAgentParams types with AgentDeliveryResult from middleware; rename toDeliveryResult or inline
src/auto-reply/reply.triggers.trigger-handling.test-harness.ts Rename piEmbeddedMocksbridgeMocks; remove unused mock fns; remove exported getters (getAbortEmbeddedPiRunMock, getCompactEmbeddedPiSessionMock, getQueueEmbeddedPiMessageMock); rename getRunEmbeddedPiAgentMockgetBridgeRunMock or similar

Category D: Update other test files with pi-embedded mocks

File Mocked Symbol Action
src/cron/isolated-agent.test-setup.ts runEmbeddedPiAgent Remove mock setup
src/cron/isolated-agent.delivery.test-helpers.ts runEmbeddedPiAgent Remove mock helpers
src/auto-reply/reply.media-note.test.ts runEmbeddedPiAgent Remove mock
src/auto-reply/reply/commands.test.ts Multiple pi-embedded functions Remove entire vi.mock("../../agents/pi-embedded.js") block
src/auto-reply/reply.directive.directive-behavior.e2e-harness.ts runEmbeddedPiAgent Remove re-export

Category E: Clean extension API

File Action
src/extensionAPI.ts Remove pi-embedded re-exports

Approach

  1. Remove all production imports and calls (Categories A + B) — ~10 files
  2. Clean up test harnesses: rename legacy pi-embedded mock naming to ChannelBridge-oriented naming, remove unused mock functions, replace legacy type shims with middleware types (Category C) — 2 files
  3. Remove test mocks that reference pi-embedded (Category D) — ~5 files
  4. Clean extensionAPI.ts (Category E) — 1 file
  5. Delete src/agents/pi-embedded.ts — the stub barrel itself
  6. Verify: grep -r "pi-embedded" src/ --include="*.ts" returns zero results
  7. Verify: pnpm build passes
  8. Verify: pnpm test passes (remaining tests)

Scope

~17 files modified + 1 file deleted. ~80-100 lines changed total.

Context

This is the final cleanup after #75 (gut pi-embedded execution engine core). The stub barrel was a transitional measure to keep the build passing while the engine was removed. With the engine gone, these no-op stubs serve no purpose and should be removed to eliminate dead code references. The test harnesses that mock ChannelBridge using legacy pi-embedded naming should be modernized to use ChannelBridge-native types and naming.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions