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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kolasai/clean-talk-client

v1.0.6

Published

This repository hosts the js client for Kolas.Ai's Clean Talk public API, making it easy for developers to integrate Kolas.Ai’s machine learning services into your applications.

Readme

Clean Talk JS Client for Kolas.Ai Public API

Welcome to the Kolas.Ai Public API documentation! This repository hosts the JS client for Kolas.Ai's Clean Talk public API, making it easy for developers to integrate Kolas.Ai’s machine learning services into your applications.

Overview

Clean Talk API is designed to classify message categories based on a trained dataset within a configured project. Use this API to accurately categorize messages into types like "Neutral", "Insult", "Spam" , etc. We support different languages, including English, Russian, Ukrainian, and we can add any languages by request (message to [email protected]).

Key Features

  • Predict Message Categories: Use the /predictions/predict endpoint to sync classify messages based on your project-specific datasets and /predictions/asyncPredict endpoint to async classify messages.
  • High Accuracy: Predictions include probability scores, giving you confidence in the classification results.
  • OAuth2 Authentication: Secure access via OAuth2 client credentials flow.

Usage

The Kolas.Ai API follows the OpenAPI 3.1 standard. To get started:

  1. Create a new account on the Kolas.Ai platform.
  2. Create a new project Clean Talk and configure your datasets.
  3. Authentication: Obtain an access token using OAuth2 client credentials.
  4. Make Predictions: Send a POST request to /predictions/predict (or /predictions/asyncPredict) with your projectId and messages.
  5. Receive Predictions: Retrieve predicted categories and their probabilities in the API response.

Installation

You can install the CleanTalk JS client via Composer. Run the following command in your project directory:

npm i @kolasai/clean-talk-client

Authentication

This API uses OAuth2 client credentials for secure access. You’ll need to request a token using your client credentials from the Kolas.Ai platform.

import { KolasAiOAuthClient } from '@kolasai/clean-talk-client';

const oauthClient = new KolasAiOAuthClient();
const authResult = await oauthClient.auth(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET);

authResult contains the access token and expires_in information, which you will use to authenticate your API requests. You need to update token after its expiration.

Example for Sync Request

Once you have your access token, you can make a request like this:

import { CleanTalkPredictionClient, PredictRequest, Message } from '@kolasai/clean-talk-client';

const client = new CleanTalkPredictionClient(authResult.getAccessToken());
const response = await client.predict(
    new PredictRequest(
        YOUR_PROJECT_ID,
        [
            new Message('11177c92-1266-4817-ace5-cda430481111', 'Hello world!'),
            new Message('22277c92-1266-4817-ace5-cda430482222', 'Good buy world!'),
        ]
    )
);

for (const prediction of response.getPredictions()) {
    console.log(`MessageId: ${prediction.getMessageId()}`);
    console.log(`Message: ${prediction.getMessage()}`);
    console.log(`Prediction: ${prediction.getPrediction()}`);
    console.log(`Probability: ${prediction.getProbability()}`);
    console.log(`Categories: ${prediction.getCategories().join(', ')}`);
}

Example Response

MessageId: 11177c92-1266-4817-ace5-cda430481111
Message: Hello world!
Prediction: Neutral
Probability: 0.9036153107882
Categories: Insult, Neutral, Spam

MessageId: 22277c92-1266-4817-ace5-cda430482222
Message: Good buy world!
Prediction: Neutral
Probability: 0.99374455213547
Categories: Insult, Neutral, Spam

Example for Async Request

Once you have your access token, you can make a request like this:

import { PredictRequest, Message } from '@kolasai/clean-talk-client';

await client.asyncPredict(new PredictRequest(
    YOUR_PROJECT_ID,
    [
        new Message('11177c92-1266-4817-ace5-cda430483333', 'Hello world!'),
        new Message('22277c92-1266-4817-ace5-cda430484444', 'Good buy world!'),
    ]
));

Responses will be sent to the configured webhook URL in your project settings.

Documentation Links

License

This API specification is released under the Apache 2.0 License. See the LICENSE for more details.

__

Feel free to explore, test, and integrate Kolas.Ai's API, and reach out with any questions!