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
@fusion/droid-cli
Compatibility-shim package for Fusion's Droid integration extension entrypoint.
Runtime/provider internals live in:
@fusion-plugin-examples/droid-runtime(plugins/fusion-plugin-droid-runtime)
This package preserves the historical pi extension entrypoint and wires runtime helpers into the real extension surface (registerProvider, session_start tool activation, model discovery, and MCP handoff) so existing imports continue to work.
Testing boundary
packages/droid-cli/src/__tests__/index.test.tsowns integration coverage for this shim entrypoint (index.ts) and verifies provider registration and wiring behavior.- Runtime internals (
streamViaCli, CLI process handling, MCP schema generation, parsing, etc.) remain covered in the plugin package tests underplugins/fusion-plugin-droid-runtime.