Registry / web-framework / jovo-framework

jovo-framework

JSON →
library3.6.2jsnpmunverified

Jovo Framework (version 3.x, like 3.6.2 specified) is an open-source development framework designed for building cross-platform voice and chat applications. It allows developers to create a single codebase for experiences across various platforms such as Amazon Alexa, Google Assistant, Samsung Bixby, Facebook Messenger, and custom web/mobile apps, as well as hardware like Raspberry Pi. Key differentiators of Jovo v3 included its 'Voice Layer' abstraction, a comprehensive ecosystem with Jovo CLI for project management, a Marketplace for integrations (ASR, NLU, databases, analytics), and tools for efficient local development like Jovo Webhook and Debugger. The framework aimed to provide a unified language model that could be converted into platform-specific interaction models. While the provided version (3.6.2) was stable in its time, the entire Jovo project, including the framework, was archived on April 24, 2025, and is no longer actively maintained. All Jovo packages remain on npm in their current versions, but no further official updates or security patches will be released.

npm install jovo-framework
INSTALL
IMPORT
SIG · JOVO-FRAMEWORK
J
jovo-framework
web-frameworkjavascriptv3.6.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

App
const { App } = require('jovo-framework');
import { App } from 'jovo-framework';
Jovo v3 primarily used CommonJS require syntax. ESM imports (`import`) were introduced with Jovo v4. For Jovo v3, the App class is usually instantiated to create the main application object.
Jovo
const { Jovo } = require('jovo-framework');
import Jovo from 'jovo-framework';
The core Jovo object or namespace in v3 was typically imported via CommonJS. It represents the framework context within handlers.
Alexa
const { Alexa } = require('jovo-platform-alexa');
import { Alexa } from 'jovo-framework';
Platform integrations like Alexa are separate packages that need to be explicitly required and 'used' by the Jovo `App` instance as plugins in v3.

This quickstart demonstrates a basic Jovo v3 application handling launch, asking for a name, and responding with a personalized greeting, integrating with Alexa and Google Assistant platforms.

const { App } = require('jovo-framework'); const { Alexa } = require('jovo-platform-alexa'); const { GoogleAssistant } = require('jovo-platform-googleassistant'); const app = new App(); // Integrate platforms like Alexa and Google Assistant app.use( new Alexa(), new GoogleAssistant() ); // Define the application's conversational logic app.setHandler({ LAUNCH() { // On launch, redirect to the 'HelloWorldIntent' return this.toIntent('HelloWorldIntent'); }, HelloWorldIntent() { // Ask the user for their name, providing a reprompt message this.ask('Hello World! What\'s your name?', 'Please tell me your name.'); }, MyNameIsIntent() { // Access the 'name' input value and respond // Note: For certain platforms/slots, 'given-name' might be required (see warnings) const name = this.$inputs.name?.value || 'there'; this.tell(`Hey ${name}, nice to meet you!`); } }); // In a typical Jovo v3 setup, this app instance would be exported or directly used by a server. // For local development, 'jovo run' command handles the server setup. module.exports.app = app;
jovo --version
Debug
Known issues
breakingThe Jovo project underwent a major rewrite and architectural shift with the release of Jovo v4. Concepts like 'states' in v3 were replaced by 'components' in v4, and the CLI commands changed from `jovo3 new` to `jovo new` (for v4). Upgrading from v3 to v4 is not a direct path and requires a significant refactoring of the application code.
fix
If migrating from v3 to v4, consult the Jovo v4 migration guides (if available in archived docs) and redesign your application using the new component-based architecture. For continued v3 development, stick to v3 documentation and tooling.
affects: >=3.x <4.0.0
breakingAs of April 24, 2025, the entire Jovo project (framework, CLI, documentation, and related services) has been officially archived. This means there will be no further official development, bug fixes, security patches, or maintenance from the original team. All repositories are read-only on GitHub, and the Jovo website has been shut down.
fix
For new projects, consider alternative conversational AI frameworks. For existing Jovo v3 projects, acknowledge the lack of future support. The community is encouraged to fork repositories for continued development. The Jovo Debugger service was shut down (Nov 2024), but its code was open-sourced for self-hosting or alternatives like ngrok can be used for local testing.
affects: >=3.x
gotchaWhen accessing input values in Jovo v3 handlers, especially for built-in intents or specific platform slots, the input name might differ from the custom slot name. For example, the `name` slot might be exposed as `this.$inputs['given-name'].value` rather than `this.$inputs.name.value` on some platforms or templates, leading to `undefined` errors.
fix
Always verify the exact input key used by the platform or generated by the Jovo Language Model. Debug `this.$inputs` object to see available keys. Common built-in slots like `AMAZON.US_FIRST_NAME` often map to `given-name`.
affects: >=3.x <4.0.0
Errors
Common errors & fixes
Error: Input type must be defined in inputTypes
This error often occurs in Jovo v3 when a Dialogflow entity or slot name is used in an invalid format (e.g., starting with '@') or is not correctly defined in the Jovo Language Model or mapped by the platform integration.
fix
Ensure that Dialogflow entity names comply with naming conventions (start with a letter, use A-Z, a-z, 0-9, _, -). Verify that input types are correctly configured and mapped in your Jovo project's language model files (`models/*.json`) and platform configurations.
TypeError: Cannot read properties of undefined (reading 'value') at MyNameIsIntent
This error indicates that `this.$inputs.name` is undefined when `this.$inputs.name.value` is accessed. This typically happens when the `name` slot was not filled by the user, or the platform provided a different slot name for the input (e.g., `given-name`).
fix
Implement robust checks for input existence (e.g., `this.$inputs.name?.value`) and consider alternative slot names like `this.$inputs['given-name']?.value` for common name inputs. Provide a reprompt or fallback for when input is missing.
Upgrade
Version history
3.6.2latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
34 hits · last 30 days
node
30
Amazon
1
OpenAI (training)
1
Resources
jovo-framework — npm install jovo-framework · libregistry