1.1.1 • Published 9 months ago
@atomstate/atomstate-grpc v1.1.1
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 sourcesyarn pre-check
: type-checks sourcesyarn pre-commit
: same as pre-check, but for git hooks (husky)yarn test
: run unit testsyarn test:integration
: runs integration tests against a locally running Atomstate docker containeryarn codegen:grpc-typescript
: updates generated TS classes and types from the latest remote proto files