FN-8753: enable installed voice input in project settings
Make Voice Input available only after its local model and runtime are ready. - Bundle the optional sherpa runtime with the published CLI. - Gate the project setting on model installation and stable runtime status codes. - Add localized recovery guidance, documentation, and coverage. Files changed: .changeset/fn-8753-voice-input-enable.md | 7 ++++ docs/dashboard-guide.md | 2 +- docs/settings-reference.md | 8 +++-- packages/cli/package.json | 3 ++ packages/cli/src/__tests__/package-config.test.ts | 16 +++++++++ .../settings/__tests__/VoiceInputSection.test.tsx | 36 ++++++++++++++++---- .../settings/sections/VoiceInputSection.tsx | 30 ++++++++++++----- packages/dashboard/package.json | 2 +- .../routes/__tests__/register-voice-routes.test.ts | 39 ++++++++++++++++++++++ .../dashboard/src/stt/__tests__/voice-stt.test.ts | 27 ++++++++++++--- packages/dashboard/src/stt/parakeet-service.ts | 26 ++++++++++----- packages/i18n/locales/en/app.json | 6 ++++ pnpm-lock.yaml | 6 +++- 13 files changed, 175 insertions(+), 33 deletions(-) Fusion-Task-Id: FN-8753 Fusion-Task-Lineage: db92b148-37f0-45d2-b616-ed2e3f2d54f6 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -177,6 +177,22 @@ describe("CLI package.json publishing config", () => {
|
||||
expect(publishedPkg.files).toContain("agent-browser.mjs");
|
||||
});
|
||||
|
||||
/*
|
||||
FNXC:VoiceInput 2026-08-03-05:43:
|
||||
FN-8753 requires the published CLI manifest to own the lazy sherpa native
|
||||
addon. The private dashboard workspace dependency is not present after an
|
||||
npm install, so retain the pinned optional dependency through prepack while
|
||||
keeping private workspace tooling out of the consumer manifest.
|
||||
*/
|
||||
it("keeps the optional voice runtime in the published manifest", () => {
|
||||
const publishedPkg = applyPrepackTransform(pkg);
|
||||
|
||||
expect(pkg.optionalDependencies).toHaveProperty("sherpa-onnx-node", "1.13.4");
|
||||
expect(publishedPkg.optionalDependencies).toHaveProperty("sherpa-onnx-node", "1.13.4");
|
||||
expect(publishedPkg.devDependencies).not.toHaveProperty("@fusion/dashboard");
|
||||
expect(publishedPkg.dependencies).not.toHaveProperty("@fusion/dashboard");
|
||||
});
|
||||
|
||||
/**
|
||||
* FNXC:Packaging 2026-06-13-16:36:
|
||||
* Standalone npm/pnpm installs may omit a package when the published manifest declares it as both a runtime dependency and an optional peer. Keep the pi runtime packages as plain dependencies so dist/bin.js and dist/extension.js can resolve their static imports outside the monorepo, while leaving typebox as the optional-peer control because Fusion does not import it at runtime.
|
||||
|
||||
Reference in New Issue
Block a user