0.46.11 • Published 3 years ago

naifjs v0.46.11

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

NaifJs, a simple state-machine based dialog manager

NaifJs is a simple state-machine based (task-oriented) dialog manager micro-framework for nodejs developers.

The project consists in:

  • A run-time dialog manager, as a module to be embedded as part of a container dialog system
  • A micro-framework development environment (naif command line program) to create and quickly test dialogues.

Concepts

Naifjs is based on a specific conceptual model and a domain specific language (DSL) I conceived, implementing multi-turn contextual dialogues as "state machines", graphs of internal states.

Following paragraph introduces main concepts and naming conventions. I define what is a dialog system, a dialog manager, a single dialog unit, the end multi-dialog application:

Documentation

The full documentation is available here.

Installation

The package contains command line interface program naif, so you must install the npm package as global:

  • use npm package manager repo

    $ npm install -g naifjs
  • or download this github repo:

    $ git clone https://github.com/solyarisoftware/naifjs
    $ cd naifjs && npm link

Application Programming interface and command line tools

API library

NaifJs act as an API library of functions to be called by a main nodejs program. See:

Command line tools

The NaifJs API are foundation for a micro-framework development environment (the naif command line program) to create the end application, generate dialog units skeleton code and quickly test dialogues:

  • naif is the main command line program
  • naif init initializes project directory
  • naif generate generate the code skeleton of a dialog unit
  • naif show for a given project, lists all dialog units and relative states
  • naif shell test a dialog unit using the command line interface
  • naif telegram test a dialog unit, setting up on the fly a telegram bot for the purpose

Discussion / How to contribute

Status

Currently the project is just a proof of concept, not ready for production. The software made is just a prototype, in alpha stage.

License

MIT (c) Giorgio Robino


top | index

0.46.11

3 years ago

0.46.8

4 years ago

0.46.6

4 years ago

0.46.2

4 years ago

0.45.0

4 years ago

0.44.0

4 years ago

0.43.13

4 years ago

0.43.0

4 years ago

0.41.4

4 years ago

0.41.2

4 years ago

0.41.0

4 years ago

0.39.0

4 years ago

0.37.3

4 years ago

0.37.0

4 years ago

0.36.0

4 years ago

0.34.0

4 years ago

0.33.0

4 years ago

0.32.2

4 years ago

0.32.1

4 years ago

0.31.0

4 years ago

0.30.1

4 years ago

0.29.2

4 years ago

0.29.0

4 years ago

0.29.1

4 years ago

0.28.7

4 years ago

0.28.6

4 years ago

0.28.5

4 years ago