Files
fusion/plugins/fusion-plugin-droid-runtime
gsxdsm 1f23a2e622 FN-6878: register Droid provider before probes
Register Droid provider startup without waiting on local binary probes.

- Register the Droid CLI provider synchronously with an empty model list, then refresh discovered models asynchronously.
- Harden Droid runtime probes to convert spawn errors and timeouts into unavailable sentinel results.
- Add coverage for non-blocking startup, failed probes, unavailable binaries, and process cleanup behavior.
- Add a patch changeset for the published Fusion CLI package.

Files changed:
 .changeset/fn-6878-droid-boot.md                   |  5 ++
 packages/droid-cli/index.ts                        | 73 +++++++++++-------
 packages/droid-cli/src/__tests__/index.test.ts     | 52 ++++++++++++-
 .../src/__tests__/process-manager.test.ts          | 58 +++++++--------
 .../src/__tests__/discover-models.test.ts          |  8 ++
 .../src/__tests__/probe.test.ts                    | 43 ++++++++++-
 .../src/__tests__/startup-probes.test.ts           | 86 ++++++++++++++++++++++
 plugins/fusion-plugin-droid-runtime/src/probe.ts   | 32 +++++---
 8 files changed, 283 insertions(+), 74 deletions(-)

Fusion-Task-Id: FN-6878

Fusion-Task-Lineage: 4e44a6e8-0eea-4867-a172-3bdc0c6368e1
2026-06-21 16:40:32 -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.