Remove blocking execSync validation paths from CLI process managers while preserving async probe coverage. - Drop synchronous Claude and Droid CLI presence/auth validators from process managers. - Keep async spawn-based validation as the sole probing path for session startup. - Replace sync validator tests with execSync guard coverage for both CLI integrations. Files changed: .../droid-cli/src/__tests__/execsync-guard.test.ts | 17 ++++++++ .../src/__tests__/process-manager.test.ts | 46 +--------------------- .../src/__tests__/execsync-guard.test.ts | 14 +++++++ .../src/__tests__/process-manager.test.ts | 46 +--------------------- .../pi-claude-cli/src/__tests__/provider.test.ts | 1 - packages/pi-claude-cli/src/process-manager.ts | 44 +++------------------ .../src/process-manager.ts | 43 +++----------------- 7 files changed, 45 insertions(+), 166 deletions(-) Fusion-Task-Id: FN-6485 Fusion-Task-Lineage: e3f0f656-3445-4672-b597-a811924137e9
Droid Runtime Plugin
First-class Droid runtime/provider plugin (@fusion-plugin-examples/droid-runtime).
Purpose
This package is the canonical home for Droid-specific runtime behavior, including:
- provider id
droid-cli - model discovery + normalization
- CLI subprocess streaming + session resume
- MCP tool bridge + thinking effort mapping
- probe contract via
probeDroidBinary
Runtime + Provider
- Runtime ID:
droid - Display name:
Droid Runtime - Provider surface preserved:
Factory AI — via Droid CLI(droid-cli)
Core implementation files live in src/:
runtime-adapter.tsprovider.tsprocess-manager.tsprobe.ts- prompt/tool/thinking/control helpers
Dashboard UI contribution surfaces
The plugin registers uiSlots for:
settings-provider-cardsettings-integration-cardonboarding-provider-cardonboarding-setup-helppost-onboarding-recommendation
Compatibility with @fusion/droid-cli
packages/droid-cli is now a thin compatibility shim. It keeps the historical pi-extension entrypoint, but delegates runtime/provider behavior to this plugin package.