Files
fusion/plugins/fusion-plugin-droid-runtime
gsxdsm 37c4cfa56e FN-6808: handle AI CLI probe spawn failures
Resolve synchronous AI CLI probe launch failures as unavailable auth states.

- Catch synchronous spawn failures in Claude and Droid probe helpers so fire-and-forget validation paths do not reject.
- Return unavailable/unauthenticated sentinels for Droid model discovery and CLI presence/auth checks.
- Add regression coverage for Claude and Droid presence/auth probes plus a patch changeset.

Files changed:
 .../fn-6808-cli-probe-unhandled-rejection.md       |  5 ++++
 .../src/__tests__/process-manager.test.ts          | 25 ++++++++++++++++++++
 .../src/__tests__/process-manager.test.ts          | 25 ++++++++++++++++++++
 packages/pi-claude-cli/src/process-manager.ts      | 12 +++++++++-
 .../src/process-manager.ts                         | 27 +++++++++++++++++++---
 5 files changed, 90 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-6808

Fusion-Task-Lineage: 79702ef2-e116-4313-a557-da17a6888c30
2026-06-20 21:32:43 -07:00
..
2026-06-19 07:34:26 -07:00
2026-06-19 07:34:26 -07:00

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.ts
  • provider.ts
  • process-manager.ts
  • probe.ts
  • prompt/tool/thinking/control helpers

Dashboard UI contribution surfaces

The plugin registers uiSlots for:

  • settings-provider-card
  • settings-integration-card
  • onboarding-provider-card
  • onboarding-setup-help
  • post-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.