open-index/open-npm huggingface dataset:
npm package: @swatk6/decenc
Description: Plug-in easy encryption, using AES-256-CTR + HMAC hash check.
Author: Andras Kemeny
Latest version: 1.0.0

# swatk6-decenc
Plug-in easy encryption, using AES-256-CTR + HMAC hash check.

For now, please refer to the inline JSDOC in the index.js file. Proper documentation is coming soon.

### A note for npmjs.com users

Please always refer to the docs at Github; if a change occurs only in the documentation (ie. this file), I'm not bumping the version of the package, therefore the docs at npmjs.com are not updated either.
npm package: @swatk6/logger
Description: A simple logger that offers a retain-release feature for remote debugging
Author: Andras Kemeny
Latest version: 1.5.1

# swatk6-logger
@swatk6/logger, a simple logger that offers a retain-release feature for remote debugging

For now, please refer to the inline JSDOC in the index.js file. Proper documentation is coming soon.

### A note for npmjs.com users

Please always refer to the docs at Github; if a change occurs only in the documentation (ie. this file), I'm not bumping the version of the package, therefore the docs at npmjs.com are not updated either.
npm package: @swatk6/packet
Description: A packet class for layer-agnostic communications.
Author: Andras Kemeny
Latest version: 1.1.1

# @swatk6/packet
A packet class for layer-agnostic communications.

For now, please refer to the inline JSDOC in the index.js file. Proper documentation is coming soon.

### A note for npmjs.com users

Please always refer to the docs at Github; if a change occurs only in the documentation (ie. this file), I'm not bumping the version of the package, therefore the docs at npmjs.com are not updated either.
npm package: @swatle/widget-core
Description: Core chat functionality for Zolvit AI Legal Assistant
Author: Zolvit
Latest version: 1.0.0

# @zolvit/widget-core

Core chat engine for Zolvit AI Legal Assistant. This package contains the core functionality for OpenAI Realtime API integration.

## Installation

```bash
npm install @swatle/widget-core
```

## Usage

This package is typically used as a dependency of `@zolvit/ai-legal-widget`. For direct usage:

```typescript
import { ChatEngine, ConfigLoader, WidgetConfig } from '@swatle/widget-core';

// Initialize
const config: WidgetConfig = { /* ... */ };
const engine = new ChatEngine(config, handlers, domElements);
await engine.start();
```

## License

MIT
npm package: @swatle2/ai-legal-widget
Description: Zolvit AI Legal Assistant Widget - Vanilla JS wrapper for voice chat integration
Author: Zolvit
Latest version: 1.0.0

# @swatle/ai-legal-widget

AI Legal Assistant Widget for voice chat integration with OpenAI Realtime API.

## Installation

```bash
npm install @swatle/ai-legal-widget
```

## Quick Start

```javascript
import { LegalAIChat } from '@zolvit/ai-legal-widget';

const widget = new LegalAIChat({
  container: '#chat-container',
  apiKey: 'sk_user_xxx',
  configId: 'config_123',
  apiBaseUrl: 'https://dashboard.zolvit.com/api'
});

await widget.init();
widget.start();
```

## Usage

### Basic Example

```html
<div id="chat-container"></div>

<script type="module">
  import { LegalAIChat } from '@swatle/ai-legal-widget';
  
  const widget = new LegalAIChat({
    container: '#chat-container',
    apiKey: 'your-api-key',
    configId: 'your-config-id',
    apiBaseUrl: 'https://your-dashboard.vercel.app/api'
  });
  
  await widget.init();
</script>
```

### With Event Handlers

```javascript
const widget = new LegalAIChat({
  container: '#chat-container',
  apiKey: 'sk_user_xxx',
  configId: 'config_123',
  apiBaseUrl: 'https://dashboard.zolvit.com/api',
  handlers: {
    onStart: () => {
      console.log('Chat started');
    },
    onStop: () => {
      console.log('Chat stopped');
    },
    onMessage: (message) => {
      console.log('Message:', message);
      // message = { role: 'user' | 'assistant', text: '...' }
    },
    onError: (error) => {
      console.error('Error:', error);
    },
    onConfigLoaded: (config) => {
      console.log('Config loaded:', config);
    },
    onFormSubmit: (formData) => {
      console.log('Form submitted:', formData);
    }
  }
});

await widget.init();
widget.start();
```

### Manual Control

```javascript
// Start chat
await widget.start();

// Stop chat
widget.stop();

// Get status
const status = widget.getStatus();
console.log(status); // { isActive: true, isConnecting: false }

// Update config
await widget.updateConfig({
  features: {
    timerLimit: 300 // 5 minutes
  }
});

// Destroy widget
widget.destroy();
```

## Configuration

Configuration is loaded from your dashboard API. You can also provide partial config:

```javascript
const widget = new LegalAIChat({
  container: '#chat-container',
  apiKey: 'sk_user_xxx',
  configId: 'config_123',
  config: {
    features: {
      autoStart: true,
      timerLimit: 180
    },
    ui: {
      colors: {
        primary: '#667eea'
      }
    }
  }
});
```

## Requirements

- OpenAI API key (configured in dashboard)
- Dashboard API endpoint (for config loading)
- Modern browser with WebRTC support

## Browser Support

- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)

## License

MIT

## Support

For issues and questions, visit: https://github.com/jerrytregno/zolvit-ai-legal-assistant
npm package: @swatle2/voice-chatbot
Description: Zolvit AI Legal Assistant Voice Chatbot - Real-time voice chat with OpenAI Realtime API
Author: Zolvit
Latest version: 1.0.0

# @swatle/voice-chatbot

Zolvit AI Legal Assistant Voice Chatbot - Real-time voice chat with OpenAI Realtime API

## Installation

```bash
npm install @swatle/voice-chatbot
```

## Quick Start

```javascript
import { VoiceChatbot } from '@swatle/voice-chatbot';

// Initialize chatbot
const chatbot = new VoiceChatbot({
  container: '#chat-container',
  apiBaseUrl: 'https://your-api.com',
  defaultLanguage: 'english',
  defaultVoice: 'verse',
  onMessage: (message) => {
    console.log('Message received:', message);
  }
});

// Initialize and start
await chatbot.init();
await chatbot.start();
```

## Configuration Options

### VoiceChatbotConfig

```typescript
interface VoiceChatbotConfig {
  container: string | HTMLElement;        // Required: Container selector or element
  apiBaseUrl?: string;                     // Backend API base URL
  apiKey?: string;                         // OpenAI API key (optional)
  defaultLanguage?: string;                // Default language
  defaultVoice?: string;                    // Default AI voice
  enableTextChat?: boolean;                // Enable text chat mode
  enableHistory?: boolean;                 // Enable conversation history
  customStyles?: string;                   // Custom CSS styles
  onStart?: () => void;                    // Callback when chat starts
  onStop?: () => void;                     // Callback when chat stops
  onError?: (error: Error) => void;        // Callback on error
  onMessage?: (message: ChatMessage) => void; // Callback on message
}
```

## API Methods

### `init(): Promise<void>`
Initialize the chatbot UI and prepare for connection.

### `start(): Promise<void>`
Start voice chat session.

### `stop(): Promise<void>`
Stop voice chat session.

### `setLanguage(language: string): void`
Change conversation language.

### `setVoice(voice: string): void`
Change AI voice.

### `getHistory(): Conversation[]`
Get conversation history.

### `clearHistory(): void`
Clear conversation history.

## Supported Languages

- English
- Tamil
- Hindi
- Telugu
- Kannada
- Malayalam
- Urdu
- Marathi

## Browser Support

- Chrome/Edge (recommended)
- Firefox
- Safari (with limitations)

## Requirements

- Backend API endpoint for session management
- Microphone access permission
- HTTPS (required for WebRTC)

## License

MIT

## Repository

https://github.com/jerrytregno/zolvit-ai-legal-assistant
npm package: @swatle2/widget-core
Description: Core chat functionality for Zolvit AI Legal Assistant
Author: Zolvit
Latest version: 1.0.0

# @zolvit/widget-core

Core chat engine for Zolvit AI Legal Assistant. This package contains the core functionality for OpenAI Realtime API integration.

## Installation

```bash
npm install @swatle/widget-core
```

## Usage

This package is typically used as a dependency of `@zolvit/ai-legal-widget`. For direct usage:

```typescript
import { ChatEngine, ConfigLoader, WidgetConfig } from '@swatle/widget-core';

// Initialize
const config: WidgetConfig = { /* ... */ };
const engine = new ChatEngine(config, handlers, domElements);
await engine.start();
```

## License

MIT
npm package: @swavoti/browser-dart-compiler
Description: Ready-to-use Dart compiler for Browser IDEs (WebContainers) and Node.js.
Author: Swavoti South Africa
Latest version: 1.0.0

# @swavoti/browser-dart-compiler

A powerful Dart compiler wrapper designed for **Web-based IDEs** (running in StackBlitz WebContainers, Replit, etc.) and Node.js.

Highly optimized for **Browser-based Dart development**.

## 🚀 Features
- **Auto-SDK Fetcher**: Automatically downloads the correct Linux Dart SDK when installed in a browser-based environment (WebContainers).
- **Custom Snapshot Support**: Run your own Dart VM snapshots (like `dart2wasm_product.snapshot`) easily.
- **Unified API**: Compile to WASM or JS with a simple Promise-based API.

## 📦 Installation
```bash
npm install @swavoti/browser-dart-compiler
```

## 🛠 Usage (In your Web IDE)

```javascript
const DartCompiler = require('@swavoti/browser-dart-compiler');

const compiler = new DartCompiler();

// Compile Dart to WebAssembly (WASM)
async function buildMyProject() {
  try {
    const stdout = await compiler.compileWasm('./lib/main.dart', './build/main.wasm');
    console.log('Build Successful:', stdout);
  } catch (err) {
    console.error('Compilation Error:', err);
  }
}

// Compile to JavaScript
async function buildMyProjectJS() {
  try {
    const stdout = await compiler.compileJs('./lib/main.dart', './build/main.js');
    console.log('Build Successful:', stdout);
  } catch (err) {
    console.error('Compilation Error:', err);
  }
}
```

## 🎯 Running Custom Snapshots (Like your dart2wasm_product.snapshot)
```javascript
const path = require('path');
const compiler = new DartCompiler();

const mySnapshot = path.join(__dirname, 'snapshots', 'dart2wasm_product.snapshot');

async function testSnapshot() {
  const result = await compiler.runSnapshot(mySnapshot, ['--help']);
  console.log(result);
}
```

## 🏗 Why this exists?
Standard Dart SDKs are heavy and hard to bundle for the browser. This package abstracts the download and setup logic so your web-based IDE can just focus on the code.

---
Built with ⚡ for the Dart community.
npm package: @swavoti/vula
Description: Vula.js - High Performance React Framework (Rspack + Deno/Node)
Author: swavoti
Latest version: 1.0.2

# Vula.js 💫 — High Performance React Framework

![VULA](./vula_js_banner.png)

**Vula.js** is a next-generation React framework designed for absolute performance, sub-second development cycles, and multi-runtime flexibility. It bridges the gap between **Deno** security and **Node.js** ecosystem, powered by the blazing fast **Rspack** (Rust-based) bundler.

---

## ⚡ Why Vula?

Next.js is great, but Vula is built for **Speed**. By leveraging Rust-driven bundling and a minimalist core, we deliver:

-   🚀 **Instant Start**: Dev server starts in < 100ms.
-   🏎️ **Rust Bundling**: Powered by Rspack for sub-second HMR.
-   🦕 **Deno Native**: Secure by default, with native TypeScript support.
-   📂 **File-Based Routing**: Next-gen `app/` directory architecture.
-   🛡️ **Auto-Linting**: Built-in code analysis via ESLint before every dev start.
-   🔥 **Built-in SSR**: True Server-Side Rendering out of the box.

---

## 🛠 Project Structure

```text
my-vula-app/
├── app/                  # Application Router
│   ├── page.tsx          # Home Page (/)
│   ├── about/
│   │   └── page.tsx      # About Page (/about)
│   └── api/
│       └── route.ts      # API Endpoint (/api/hello)
├── core/                 # Vula Core Logic
├── public/               # Static Assets
├── vula.ts               # Deno Management CLI
└── bin/vula.js           # Node.js CLI Wrapper
```

---

## 🚦 Getting Started

### 1. Installation

Install Vula globally or in your project:

```bash
npm install @swavoti/vula
```

### 2. Configure Runtime

In your `package.json`, tell Vula which engine to use:

```json
{
  "name": "my-app",
  "vula": {
    "runtime": "node" // or "deno"
  }
}
```

### 3. Run Development Server

```bash
npx vula dev
```

---

## 📄 Core Concepts

### **Page Routing (SSR)**
Create a `page.tsx` in the `app/` directory. Vula automatically scans and generates a manifest for hydration.

```tsx
// app/page.tsx
export default function Home() {
  return (
    <div className="vula-hero">
      <h1>Performance Beyond Limits.</h1>
    </div>
  );
}
```

### **API Endpoints**
Vula supports high-performance API routes via standard JS/TS files.

```ts
// app/api/route.ts
export const GET = (req, res) => {
  return res.json({ status: "Vula API is Live" });
}
```

---

## ⚖️ Comparison

| Feature | Next.js | **Vula.js** |
| :--- | :--- | :--- |
| Bundler | Webpack/Turbopack | **Rspack (Rust)** |
| Runtime | Node.js | **Deno / Node.js** |
| Cold Start | ~2-5s | **< 100ms** |
| HMR | Fast | **Instant** |
| Native TS | Complex Config | **Native (via Deno/Rspack)** |

---

## 🛡 License

MIT © [Swavoti](https://github.com/swavoti)

---

Built with 🔥 and 🦀 speed.
npm package: @sway-kit/cli
Description: SwayKit command line tool
Author: Swayfy
Latest version: 1.0.0-alpha.1

<div align="center">
  <img src="./.github/assets/logo-color.png" height="160" alt="Logo">
  <h3>SwayKit CLI</h3>
  <p align="center">
    SwayKit CLI command line tool.
  </p>
  <br>
</div>

In production...

## License

SwayKit CLI is open-source and it is licensed under the
[MIT License](https://github.com/Swayfy/sway-kit/core/blob/main/LICENSE).
npm package: @sway-kit/core
Description: SwayKit Core backend development framework
Author: Swayfy
Latest version: 1.0.0-alpha.7

<div align="center">
  <img src="./.github/assets/logo-color.png" height="160" alt="Logo">
  <h3>SwayKit Core</h3>
  <p align="center">
    SwayKit Core backend development framework for Node.js.
  </p>
  <br>
</div>

In production...

## License

SwayKit Core is open-source and it is licensed under the
[MIT License](https://github.com/Swayfy/sway-kit/core/blob/main/LICENSE).
npm package: @sway-ui/sway-ui-theme
Description: Official SwayUI Theme for Chakra UI
Author: Clément de Louvencourt
Latest version: 1.0.9

<h1>@sway-ui/sway-ui-theme</h1>
<p>
  <img alt="Version" src="https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000" />
  <a href="#" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

<img src="./ressources/illustration.png"/>

> Official Sway UI Theme

## Install

```sh
yarn add @sway-ui/sway-ui-theme
```

## Usage

```sh
import { theme } from "@sway-ui/sway-ui-theme";

<ChakraProvider theme={meilleursbiens}>
</ChakraProvider>
```

## Author

👤 **Clément de Louvencourt <clement@meilleursbiens.com>**

* Website: https://cdlv.fr
* Github: [@c-delouvencourt](https://github.com/c-delouvencourt)

## Show your support

Give a ⭐️ if this project helped you!
npm package: @sway11466/holiday-jp-npm
Description: Library to judge Japanese national holidays in nodejs.
Author: sway11466
Latest version: 0.3.3

# holiday-jp-npm

内閣府ホームページの[「国民の祝日」について](https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html)に基づいて平日や祝日を判定するライブラリです。  
独自の祝日を追加することも可能です。

-   判定ルール
    | 日付の種類 | 判定方法 |
    |------------|----------|
    | 平日 | 週末でも祝日でもない日 |
    | 週末 | 土曜日および日曜日（対象となる曜日は設定で変更可能） |
    | 祝日 | 内閣府ホームページの[「国民の祝日」について](https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html)に記載の祝日 |

-   判定の例（2024年5月）
    | 日付の種類 | 5/1(水) | 5/2(木) | 5/3(金) | 5/4(土) | 5/5(日) | 5/6(月) | 5/7(火) |
    |------------|---------|---------|---------|---------|---------|---------|---------|
    | 平日 | 〇 | 〇 | × | × | × | × | 〇 |
    | 週末 | × | × | × | 〇 | 〇 | × | × |
    | 祝日 | × | × | 〇 | 〇 | 〇 | 〇 | × |

## インストール

```
npm install @sway11466/holiday-jp-npm
```

## 使い方

-   初期化
    ```
    import { useHolidayJP } from '@sway11466/holiday-jp-npm'
    const holidayjp = useHolidayJP();
    ```
-   指定日が祝日であるか判定する
    ```
    const ret = holidayjp.isHoliday(new Date(2021, 5-1, 3)); // 2021/5/3 憲法記念日
    console.log(ret); // true
    ```
-   指定日が平日であるか判定する
    ```
    const ret = holidayjp.isWeekday(new Date(2021, 5-1, 7)); // 2021/5/7 平日
    console.log(ret); // true
    ```
-   指定した条件に当てはまる祝日を取得する（例１）
    ```
    const holidays = holidayjp.get({ year: 2021, month: 5 });
    console.log(holidays.length);  // 3
    console.log(holidays[0].name); // 憲法記念日
    console.log(holidays[0].localDate); // 2021/5/3のDateオブジェクト
    ```
-   指定した条件に当てはまる祝日を取得する（例２）
    ```
    const holidays = holidayjp.get({ year: 2021, name: "スポーツの日" });
    console.log(holidays.length);  // 1
    console.log(holidays[0].localDate); // 2021/7/23のDateオブジェクト（日本オリンピックによる特別対応日）
    ```
-   独自の祝日を追加する
    ```
    import { useHolidayJP } from '@sway11466/holiday-jp-npm'
    const additional = [{ name: 'test', year: 2023, month: 3, date: 10, localDate: new Date('2023-03-10T00:00:00+09:00') }]; // 金曜日
    const holidayjp = useHolidayJP({ extends: additional });
    const cond = { year: 2023, month: 3, date: 10 };
    const holiday = holidayjp.isHoliday(cond);
    console.log(holiday); // true
    ```

## 説明

-   1955年～2025年に対応しています
    -   内閣府ホームページで公開しているデータに依存しているためです
    -   対応外の日付を指定するとエラーを起こします
-   このライブラリは実行環境のタイムゾーンを考慮して日本時間での祝日判定を行います
-   [設定](./doc/setting.md)で以下の挙動を変更可能です
    -   対応外の日付を指定した場合のエラー発生有無
    -   タイムゾーン考慮の有無
    -   週末として扱う曜日
    -   独自の祝日の追加
-   より詳細な情報は[docフォルダ](./doc/index.md)内のドキュメントを参照してください

## 主な変更履歴

-   2025/02/21
    -   2027年の祝日に対応
-   2025/02/09
    -   2026年の祝日に対応
npm package: @swayable/vue-snarkdown
Description: Vue component implementing Snarkdown, transforming Markdown into HTML.
Author: Swayable
Latest version: 3.0.5

<h1 align="center">
  Vue Snarkdown
</h1>

Single dependency Vue component wrapping the tiny Markdown parser [Snarkdown](https://github.com/developit/snarkdown)

*Now Vue 3 compatible!*

(For Vue 2, use version 2.0.0)

## Installation
`npm install @swayable/vue-snarkdown`

## Usage

_this_ is **easy** to `use`.

```html
<template>
  <Snarkdown>
    _this_ is **easy** to `use`.
  </Snarkdown>
</template>

<script>
import Snarkdown from '@swayable/vue-snarkdown'

export default {
  components: {
    Snarkdown,
  },
}
</script>
```

## Reactivity
If markdown will change during your component's lifespan,
you must use the `markdown` prop instead of the default slot.

This is because `$slots` [is not reactive](https://github.com/vuejs/vue/issues/3517).

```html
<Snarkdown markdown='_this_ is **easy** to `use`.'>
```

## License

MIT
npm package: @swayam18/offline-geocoder
Description: Node library for reverse geocoding. Designed to be used offline (for example embedded in a desktop or mobile application) - no web requests are made to perform a lookup.
Author: Luca Spiller
Latest version: 1.0.5

# Offline Geocoder

Node library for reverse geocoding. Designed to be used offline (for example embedded in a desktop or mobile
application) - no web requests are made to perform a lookup.

## Data

This uses data from the [GeoNames project](http://www.geonames.org/), which is free to use under the
[Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/). To enable this to work offline,
the data is imported into a SQLite database which is roughly 12 MB, so easily embeddable within an application. If you
use this data, you must give attribution, as specified by the license.

By default it uses the `cities1000` dataset which contains details of all worldwide cities with a population of at least
1000 people. Depending on your needs you may get better performance or accuracy by using one of their other datasets.

The GeoNames data is limited to city-level granularity, so if you need street level accuracy this won't work for you.
Also most data is only available in English. Take a look at the
[OpenStreetMap Nominatim project](https://github.com/twain47/Nominatim) for a similar tool with a lot more features.

The advantages of this working offline are you don't need to pay or obtain a license key, and it's fast. On a 2015
MacBook Pro, the `geocoder-benchmark` tool achieves ~540 lookups per second using the `cities1000` dataset.

## Installation

```
npm install --save @treblefm/offline-geocoder
```

A database with the latest data will be generated automatically as a `postinstall` step. An internet connection is
required for this succeed.

## Usage

When you initialize the library you need to pass the location of the database:

```js
const Geocoder = require("offline-geocoder");
let geocoder = new Geocoder({ database: "data/geodata.sqlite" });
```

### Reverse Geocoding

To perform a reverse geocode lookup just pass the coordinates:

```js
geocoder.reverse(41.89, 12.49)
  .then((result) => {
    console.log(JSON.stringify(result, null, 2));
    process.exit(0);
  })
  .catch((error) => {
    console.error(error);
    process.exit(1);
  });
```

Which outputs:

```json
{
  "formatted": "Rome, Latium, Italy",
  "city": {
    "id": 3169070,
    "name": "Rome"
  },
  "region": {
    "id": 7,
    "name": "Latium"
  },
  "country": {
    "id": "IT",
    "name": "Italy"
  },
  "coordinates": {
    "latitude": 41.89193,
    "longitude": 12.51133
  }
}
```

## License

This library is licensed under [the MIT license](https://github.com/lucaspiller/offline-geocoder/blob/master/LICENSE).
npm package: @swayjs/prettier-config
Description: 通用 prettier 配置
Author: BoTao
Latest version: 1.0.0

# @swayjs/prettier-config

通用的 prettier 配置。

## 使用

安装 `@swayjs/prettier-config` 为开发依赖：

```bash
npm install @swayjs/prettier-config -D
```

在 `package.json` 中添加以下配置：

```json
{
  "prettier": "@swayjs/prettier-config"
}
```

如果你不想在 `package.json` 中配置的话，也可以通过在根目录下新建 `.prettierrc` 或 `.prettierrc.json` 文件，内容如下：

```json
"swayjs/prettier-config"
```

以上两种形式并没有提供一种方法来扩展我们的配置，如果我们想要覆盖一些配置，可以通过在根目录下新建 `.prettierrc.js` 文件来实现，它是 CJS 模块的导出，内容如下：

```js
module.exports = {
  ...require('@swayjs/prettier-config'),
  semi: true,
}
```

查看 prettier 的[官方文档](https://prettier.io/docs/en/configuration.html#sharing-configurations)以查看共享配置的更多信息。

## @swayjs/prettier-config 配置项

```json
{
  "printWidth": 100,
  "tabWidth": 2,
  "useTabs": false,
  "semi": false,
  "singleQuote": true,
  "quoteProps": "as-needed",
  "jsxSingleQuote": false,
  "trailingComma": "all",
  "bracketSpacing": true,
  "bracketSameLine": false,
  "arrowParens": "avoid",
  "proseWrap": "never",
  "endOfLine": "auto"
}
```

更多配置内容请参考 prettier [官方文档](https://prettier.io/docs/en/options.html)