npm package: @rethink-ai/core
Description: Official TypeScript SDK for ReThink Core API
Author: R-Universe Labs
Latest version: 0.1.7

<div align="center">

# ReThink Core SDK

[![NPM Version](https://img.shields.io/npm/v/@rethink-ai/core?style=flat-square&color=blue)](https://www.npmjs.com/package/@rethink-ai/core)
[![License](https://img.shields.io/badge/license-MIT-green?style=flat-square)](LICENSE)
[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-3178C6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![R-Universe Labs](https://img.shields.io/badge/Author-R--Universe%20Labs-purple?style=flat-square)](https://core.rethink.web.id)

**Official SDK untuk mengakses ReThink Core API dengan mudah dan efisien**

[Bahasa Indonesia](#dokumentasi-bahasa-indonesia) | [English Documentation](#english-documentation)

</div>

---

## Dokumentasi Bahasa Indonesia

**@rethink-ai/core** adalah library client resmi yang dirancang untuk mempermudah integrasi dengan layanan AI dari ReThink Core. Mendukung text generation (streaming & non-streaming) serta image generation

### 🔑 Mendapatkan API Key

Sebelum memulai, Anda wajib memiliki API Key yang bisa didapatkan dengan cara:

1. Kunjungi halaman **[ReThink Core](http://core.rethink.web.id/)**
2. Daftar akun baru atau login
3. Masuk ke menu dashboard untuk menyalin API Key Anda

### 📦 Instalasi

Install package menggunakan npm, yarn, atau pnpm:

```bash
npm install @rethink-ai/core
```

### 🚀 Penggunaan Dasar

#### 1. Inisialisasi Client

Import dan inisialisasi client. API Key bersifat wajib (dengan batasan tertentu untuk mengakses model berdasarkan tier)

```typescript
import { rethink } from '@rethink-ai/core';

const client = new rethink({
  apiKey: 'YOUR_API_KEY_HERE' 
});
```

#### 2. Generate Teks (Chat Completion)

Mendapatkan respons teks sederhana dari model AI

```typescript
async function contohGenerateTeks() {
  try {
    const response = await client.text.generate({
      model: 'rethink-v1', // atau 'mistral', 'gpt-oss-120b', dll.
      prompt: 'Jelaskan apa itu nebula'
    });

    console.log('AI:', response.content);
    // Output: Nebula adalah...
  } catch (error) {
    console.error('Terjadi kesalahan:', error.message);
  }
}
```

#### 3. Streaming Teks (Real-time)

Mendapatkan respons secara bertahap (per kata/chunk) seperti efek mengetik. Sangat disarankan untuk pengalaman pengguna yang lebih baik

```typescript
async function contohStreaming() {
  try {
    const stream = await client.text.generate({
      model: 'rethink-v1',
      prompt: 'Buatkan puisi pendek tentang hujan.',
      stream: true // Aktifkan mode streaming
    });

    process.stdout.write('AI: ');
    
    // Loop async iterator
    for await (const chunk of stream) {
      process.stdout.write(chunk);
    }
    
    console.log('\n--- Selesai ---');
  } catch (error) {
    console.error('Error streaming:', error.message);
  }
}
```

#### 4. Generate Gambar

Membuat gambar berdasarkan deskripsi teks (prompt)

```typescript
async function contohGenerateGambar() {
  try {
    const response = await client.image.generate({
      model: 'flux', // Model gambar
      prompt: 'Buatkan gambar galaksi bima sakti',
      width: 1024,
      height: 768
    });

    console.log('URL Gambar:', response.url);
  } catch (error) {
    console.error('Gagal membuat gambar:', error.message);
  }
}
```

### 🛠️ Fitur Utama

- **Type-Safe**: Dibangun dengan TypeScript, memberikan autocompletion dan validasi tipe yang kuat
- **Convenience Methods**: API yang intuitif (`text.generate`, `image.generate`)
- **Streaming Support**: Dukungan native untuk Server-Sent Events (SSE) yang mudah digunakan
- **Multi-Model**: Akses ke berbagai model AI (OpenAI, Mistral, Gemini, Flux, dll) melalui satu interface

---

## English Documentation

**@rethink-ai/core** is the official client library for integrating with ReThink Core AI services. It supports text generation (streaming & non-streaming) and image generation

### 🔑 Getting an API Key

Before starting, you must obtain an API Key:

1. Visit **[ReThink Core](http://core.rethink.web.id/)**
2. Sign up for a new account or login
3. Go to the dashboard to copy your API Key

### 📦 Installation

```bash
npm install @rethink-ai/core
```

### 🚀 Basic Usage

#### 1. Client Initialization

```typescript
import { rethink } from '@rethink-ai/core';

const client = new rethink({
  apiKey: 'YOUR_API_KEY_HERE'
});
```

#### 2. Text Generation

```typescript
const response = await client.text.generate({
  model: 'rethink-v1',
  prompt: 'Explain AI in one sentence.'
});
console.log(response.content);
```

#### 3. Text Streaming

```typescript
const stream = await client.text.generate({
  model: 'rethink-v1',
  prompt: 'Write a haiku about code.',
  stream: true
});

for await (const chunk of stream) {
  process.stdout.write(chunk);
}
```

#### 4. Image Generation

```typescript
const response = await client.image.generate({
  model: 'flux',
  prompt: 'Generate an image of milky way',
  width: 1024,
  height: 768
});
console.log(response.url);
```

---

<div align="center">
  <p>Created with ❤️ by <b>R-Universe Labs</b></p>
  <p>Rio Fernanda © 2026 ReThink AI. All rights reserved</p>
</div>