# Ultipa Node.js Driver

Official Node.js/TypeScript driver for Ultipa graph database (GQL).

## Requirements

- Node.js 18+

## Installation

```bash
npm install @ultipa-graph/ultipa-driver
```

> **Note:** This is the v6.x driver for Ultipa Graph. If you are using Ultipa v5.x, please install [@ultipa-graph/ultipa-driver@5.1.5-s5.2](https://www.npmjs.com/package/@ultipa-graph/ultipa-driver/v/5.1.5-s5.2). If you are using Ultipa v4.x, please install [@ultipa-graph/ultipa-node-sdk@4.5.0-s4.4](https://www.npmjs.com/package/@ultipa-graph/ultipa-node-sdk/v/4.5.0-s4.4).

## Quick Start

```typescript
import { GqldbClient, ConfigBuilder } from '@ultipa-graph/ultipa-driver';

async function main() {
  const client = new GqldbClient(
    new ConfigBuilder()
      .hosts('localhost:60061')
      .username('admin')
      .password('password')
      .defaultGraph('myGraph')
      .build()
  );

  try {
    await client.login('admin', 'password');

    const response = await client.gql('MATCH (n) RETURN n LIMIT 10');

    console.log('Rows:', response.rowCount);
    console.log('Columns:', response.columns);
    console.log('Data:', response.toObjects());
  } finally {
    await client.close();
  }
}

main().catch(console.error);
```

## Features

- GQL query execution with parameters
- Streaming results for large datasets
- Transaction support (begin, commit, rollback)
- Graph management (create, drop, list)
- Bulk import for high-throughput loading
- Algorithm support (CALL algo.pagerank, algo.degree, etc.)
- TypeScript support
- Health checks

## Documentation

See [Quick Start](https://www.ultipa.com/docs/drivers/nodejs-quick-start) for detailed usage.

## License

MIT License
