Skip to content

Scoopika/client

Repository files navigation

Scoopika Client

Documentation | Github repo

This package facilitates communication with a Scoopika server, allowing you to run LLM-powered agents and multi-agent boxes from the client-side with client-side actions and real-time streaming hooks supported out-of-the-box.

Installation

Using Npm

npm install @scoopika/client

Using Bun

bun add @scoopika/client

Note: This package has been tested with Bun version 1.0.15.

Using a CDN

<script src="https://cdn.jsdelivr.net/npm/@scoopika/client/index.global.js"></script>

When loaded from a CDN, the global variable is Scoopika.

Usage

Ensure you have a running Scoopika server. Refer to the documentation for more details.

Initialize client:

import { Client } from "@scoopika/client";

const client = new Client("SCOOPIKA_SERVER_URL");

// iife
const client = new Scoopika.Client("SCOOPIKA_SERVER_URL");

Run AI agent

import { Client, Agent } from "@scoopika/client";

const client = new Client("SCOOPIKA_SERVER_URL");
const agent = new Agent("AGENT_ID", client);

(async () => {
  const response = await agent.run({
    inputs: { message: "Hello!" },
    hooks: {
      onToken: (token) => console.log(token), // real-time hook
    },
  });

  console.log(response);
})();

Run Multi-agent box

import { Client, Box } from "@scoopika/client";

const client = new Client("SCOOPIKA_SERVER_URL");
const box = new Box("BOX_ID", client);

(async () => {
  const response = await box.run({
    inputs: { message: "Hello!" },
    hooks: {
      onToken: (token) => console.log(token), // real-time hook
    },
  });

  console.log(response);
})();

Manage history sessions

import { Client, Agent } from "@scoopika/client";

const client = new Client("SCOOPIKA_SERVER_URL");

(async () => {
  // Create new session
  const session = await client.store.newSesssion({
    user_id: "USER_1", // optional
  });
  console.log(session); // StoreSession

  // Get session info by id
  const mySession = await client.store.getSession(session.id);
  console.log(mySession); // StoreSession

  // List user sessions
  const userSessions = await client.store.listUserSessions("USER_1");
  console.log(userSessions); // string[]

  // Get session runs (messages)
  const runs = await client.store.getSessionRuns(userSessions[0]);
  console.log(runs); // HistoryRun[]
})();

Development

You're free to clone the Github repository, The code can be found in the src directory and the tests in the tests and e2e directories.

Read the tests/README.md for more information on how to setup and run tests.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages