1.1.1 • Published 9 months ago

@atomstate/atomstate-grpc v1.1.1

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
9 months ago

JavaScript Atomstate gRPC Client

This repository contains the gRPC client for the Atomstate vector search engine.

Installation

npm install @atomstate/atomstate-grpc
# or
yarn add @atomstate/atomstate-grpc
# or
yarn i @atomstate/atomstate-grpc

Usage

Run the Atomstate Docker container:

docker run -p 9353:9353 atomstate/atomstate

Instantiate a client

import {AtomstateClient} from '@atomstate/atomstate-grpc';

const client = new AtomstateClient({host: '127.0.0.1', port: 9353});
// or
const client = new AtomstateClient({url: 'http://127.0.0.1:9353'});

Make requests

Use an endpoint from collections API:

try {
    const result = await client.api('collections').list({});
    console.log('List of collections:', result.collections);
} catch (err) {
    console.error('Could not get collections:', err);
}

Support

The gRPC implementation utilizes the native Node module node:https. Currently, only Node and Deno are supported, though support for web environments may be added in the future. Both Deno and Node provide full-duplex communication, HTTP trailers, and all essential features for gRPC. The client relies on connect-es for communication with the server.

Releases

Major and minor version numbers align with Atomstate's engine releases, while patch versions are reserved for fixes related to the current minor release.

Contributing

These are the most relevant scripts for development:

  • yarn build: builds and bundles from TypeScript sources
  • yarn pre-check: type-checks sources
  • yarn pre-commit: same as pre-check, but for git hooks (husky)
  • yarn test: run unit tests
  • yarn test:integration: runs integration tests against a locally running Atomstate docker container
  • yarn codegen:grpc-typescript: updates generated TS classes and types from the latest remote proto files