Raises Grok and Droid CLI cold-start timeout defaults from 60s to 120s and lets operators override them via environment variables. - Grok runtime adapter: new GROK_CLI_FIRST_OUTPUT_TIMEOUT_MS env override for the first-output cold-start guard; default raised 60000ms → 120000ms; invalid/non-positive values fall back to the default - Droid provider: new PI_DROID_CLI_FIRST_LINE_TIMEOUT_MS env override for the first-line cold-start guard; default raised 60000ms → 120000ms; invalid/non-positive values fall back to the default - 30-minute inactivity safety net left unchanged on both adapters - Added/updated unit tests covering the new env-driven timeout resolution and fallback behavior for both plugins - Documented the new settings in docs/settings-reference.md and both plugin READMEs - Added a minor changeset for @runfusion/fusion Files changed: .changeset/fn-7838-cli-timeout-configurable.md | 7 ++ docs/settings-reference.md | 13 ++- plugins/fusion-plugin-droid-runtime/README.md | 8 ++ .../src/__tests__/provider.test.ts | 97 +++++++++++++++++++++- .../fusion-plugin-droid-runtime/src/provider.ts | 26 ++++-- plugins/fusion-plugin-grok-runtime/README.md | 8 ++ .../src/__tests__/runtime-adapter.test.ts | 52 +++++++++++- .../src/runtime-adapter.ts | 23 ++++- 8 files changed, 222 insertions(+), 12 deletions(-) Fusion-Task-Id: FN-7838 Fusion-Task-Lineage: 7aad4470-b28f-42bd-be01-8363a1dd05e5 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
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
Configuration
| Environment variable | Default | Description |
|---|---|---|
PI_DROID_CLI_FIRST_LINE_TIMEOUT_MS |
120000 |
Cold-start / first-stdout-line kill ceiling for Droid CLI streams. Blank, non-numeric, zero, or negative values fall back to the default. |
The first-line guard is separate from the 30-minute inactivity safety net that applies after stdout has begun.
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.