feat(FN-3328): refactor droid-cli into compatibility shim backed by fusion-

Merged FN-3328: Refactored the droid integration by converting `droid-cli` into a lightweight compatibility shim that delegates to `fusion-plugin-droid-runtime`, reducing droid-cli by ~5,400 lines of code while moving the actual runtime logic into the plugin scaffold. Updated the plugin loader to al

Fusion-Task-Id: FN-3328
This commit is contained in:
Fusion
2026-05-04 17:04:31 -07:00
committed by gsxdsm
parent 6ea1fb01e4
commit 7e1768b1b1
21 changed files with 310 additions and 5700 deletions

View File

@@ -1,19 +1,38 @@
# Droid Runtime Plugin
First-class Droid plugin package under `plugins/fusion-plugin-droid-runtime`.
First-class Droid runtime/provider plugin (`@fusion-plugin-examples/droid-runtime`).
## What this package is
## Purpose
- Canonical home for Droid runtime/provider plugin code.
- Installable from dashboard **Settings → Plugins → Fusion Plugins → Bundled Plugins** via path `./plugins/fusion-plugin-droid-runtime`.
- Plugin identity is stable: `fusion-plugin-droid-runtime`.
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`
## Migration context
- FN-3261 established this package as the official landing zone so Droid plugin work does not need ad-hoc layouts.
- Runtime/provider logic that used to live in `packages/droid-cli` is now owned here; `@fusion/droid-cli` remains a compatibility shim surface where needed.
## Key IDs
## Runtime + Provider
- Runtime ID: `droid`
- Provider ID: `droid-cli`
- 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.