npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

api-ai-javascript

v2.0.0-beta.21

Published

Javascript SDK for https://api.ai/

Downloads

5,940

Readme

Installation

You can use this library as common pre-built .js (choose there).

Or you can install it with nodejs and that import as es6 (or .ts) module. See below.

npm install [email protected]

Usage

.textRequest


const client = new ApiAi.ApiAiClient({accessToken: 'YOUR_ACCESS_TOKEN'});
const promise = client.textRequest(longTextRequest);

promise
    .then(handleResponse)
    .catch(handleError);

function handleResponse(serverResponse) {
        console.log(serverResponse);
}
function handleError(serverError) {
        console.log(serverError);
}

.eventRequest

const promise = client.eventRequest("EVENT_NAME", options);

TypeScript and ES6

This SDK written with Typescript and all it's sources are available in this package. So basically if you are using something like webpack or browserify with ES6 imports and so on, you can just install this SDK with $ npm install api-ai-javascript --save-dev command and then import original sources with something like:


import {ApiAiClient} from "api-ai-javascript";

const client = new ApiAiClient({accessToken: 'YOUR_ACCESS_TOKEN'})

.textRequest('Hello!')
    .then((response) => {/* do something */})
    .catch((error) => {/* do something here too */})

Note: If you are going to build es5 version of your bundle with ApiAiClient inside, please add some typings for promises (e.g. @types/es6-promise)

You also can import and use all defined interfaces and ApiAiConstants:

import {IRequestOptions, IServerResponse, ApiAiConstants} from "api-ai-javascript/ApiAiClient"
const lang = ApiAiConstants.AVAILABLE_LANGUAGES.EN;

You can find full list of interfaces here

Development

  • Checkout from this repository, do not forget to switch to "v2" branch
  • run $ npm install
  • run $ webpack -w or just $ npm start (as an option for non globally installed dev-server - $ ./node_modules/.bin/webpack-dev-server)
  • develop! (webpack will automatically compile SDK to ./target/ApiAi.js file on each change, just include it into some test HTML file (./demo/index.html will probably do the job) and test it).

Building

$ npm run-script build command will build everything

Testing

$ npm test

Changelog

2.0.0-beta.21

  • tts and asr support removed (discontinued on API.AI side)

2.0.0-beta.19

  • minor typings changes

2.0.0-beta.18

  • some minor typings changes

2.0.0-beta.17

  • dependencies updated
  • webrtc typings removed (now part of typescript default lib)

2.0.0-beta.16

  • some linting (ionic2 compatibility issues)

2.0.0-beta.15

  • minor fixes, minor readme updates
  • exported constants

2.0.0-beta.14

  • minor fixes
  • GainNode removed (for now) as non-working in current setup

2.0.0-beta.13

  • IStreamClient is aligned with StreamClient needs, thanks to @muuki88 (#26)
  • Callbacks in IStremClientOptions are now typed properly
  • Added IStreamClient.getGain(): GainNode (#25) to allow set up gain of listener
  • Fixed UTF8 requests, thanks to @elaval (#24)

2.0.0-beta.12

  • Possibility to import ApiAiClient separately from ApiAiStreamClient
  • Typescript project demo setup added

2.0.0-beta.8

Breaking changes:

  • Main class renamed from Client to ApiAiClient
  • StreamClient renamed (in exports at least) to ApiAiStreamClient
  • StreamClient class is no longer available inside main ApiAiClient class and now should be passed directly in ApiAiClient constructor: const client = new ApiAiClient("ACCESS_TOKEN", {streamClientClass: ApiAiStreamClient}).That was made to allow building your applications without streamclient at all (streamclient now takes about 70% of whole library). And also there will be other implementation of streamClient in the future

Non-breaking changes:

  • Demo updated