open-index/open-npm huggingface dataset:
npm package: @galaxyproject/vintent
Description: This is a starter template for building custom visualizations using [Galaxy Charts](https://charts.galaxyproject.org), a modern framework for Galaxy visualization development.
Latest version: 0.0.1

# <img src="https://cdn.jsdelivr.net/gh/galaxyproject/galaxy-charts/docs/public/galaxy-charts.svg" alt="Galaxy Charts Logo" width="24" /> Galaxy Charts Starter

This is a starter template for building custom visualizations using [Galaxy Charts](https://charts.galaxyproject.org), a modern framework for Galaxy visualization development.

The starter template uses [Vue 3](https://vuejs.org/) and [Vite](https://vitejs.dev/) and includes the optional [Galaxy Charts UI](https://github.com/galaxyproject/galaxy-charts) package for rapid development.

Use this repository as a starting point for Galaxy visualization plugins.

---

## 🚀 Quick Start

1. **Create your visualization project** using this template:

    ```bash
    npx degit guerler/galaxy-charts-starter my-viz
    cd my-viz
    npm install
    npm run dev
    ```

2. **Open your browser** to [http://localhost:3000](http://localhost:3000) to start developing.

3. **Develop your plugin** inside the `src/plugins` directory.

---

## 📦 What's Included

-   ⚡ Vite for fast dev server and hot module replacement
-   🧩 Galaxy Charts plugin system
-   🎨 Vue 3 setup with scoped components
-   🧪 Example plugin for reference
-   🛠️ Pre-configured for connecting to Galaxy datasets

---

## 📘 Learn More

-   [Galaxy Charts Documentation](https://galaxyproject.github.io/galaxy-charts/)
-   [Galaxy Charts Repository](https://github.com/galaxyproject/galaxy-charts)
npm package: @galaxywolfv/devanime
Description: Nodejs library that provides high-level APIs for obtaining information on various entertainment media such as books, movies, comic books, anime, manga, and so on.
Latest version: 1.0.7

<p align="center"><img src="https://i.imgur.com/yv74BRj.jpg" width="175"/></p>

<h1 align="center"> DevAnime library </h1>

DevAnime library is a Node library which provides high-level APIs to get information about several entertainment mediums like books, movies, comics, anime, manga, etc.

<h2> Table of Contents </h2>

- [Quick Start](#quick-start)
  - [Installation](#installation)
  - [Usage](#usage)
- [Documentation](#documentation)

## Quick Start

### Installation

To use DevAnime library in your project, run:
```bash
yarn add @galaxywolfv/devanime
# or "npm i @galaxywolfv/devanime"
```

### Usage

**Example** - searching for a book using the libgen provider.
```ts
import { BOOKS } from "@galaxywolfv/devanime"

// Create a new instance of the Libgen provider
const books = new BOOKS.Libgen();
// Search for a book. In this case, "Pride and Prejudice"
const data = books.search('pride and prejudice').then(data => {
  // print results
  console.log(data)
})
```

**Exmaple** - searching for anime using the gogoanime provider.
```ts
import { ANIME } from "@galaxywolfv/devanime"

// Create a new instance of the Gogoanime provider
const gogoanime = new ANIME.Gogoanime();
// Search for an anime. In this case, "One Piece"
const results = gogoanime.search("One Piece").then(data => {
  // print results
  console.log(data);
})
```

Do you want to know more? Head to the [`Getting Started`](https://github.com/galaxywolfv/devanime-library/tree/master/docs/guides/getting-started.md).

## Documentation
- [`Getting Started`](./docs/guides/getting-started.md)
- [`Guides`](https://github.com/galaxywolfv/devanime-library/tree/master/docs)
- [`Anime`](./docs/guides/anime.md)
- [`Manga`](./docs/guides/manga.md)
- [`Books`](./docs/guides/books.md)
- [`Movies`](./docs/guides/movies.md)
- [`Light Novels`](./docs/guides/light-novels.md)
- [`Comics`](./docs/guides/comics.md)
- [`Meta`](./docs/guides/meta.md)
- [`News`](./docs/guides/news.md)

## License
Licensed under [MIT](./LICENSE).
npm package: @galaxyxieyu/openclaw-xiaozhi
Description: OpenClaw channel plugin for xiaozhi-server bridge mode
Latest version: 0.1.4

# @openclaw/xiaozhi

`@openclaw/xiaozhi` is a native OpenClaw channel plugin for the self-hosted Xiaozhi bridge flow.

It does three things:

1. Keeps an outbound WebSocket connection to `xiaozhi-server`.
2. Handles the JSON-RPC methods `xiaozhi.sessionStarted`, `xiaozhi.sessionEnded`, `xiaozhi.chat`, and `xiaozhi.bindPeerAgent`.
3. Resolves peer-to-agent routing using:
   - runtime overrides: `peer -> agentId`
   - static bindings from config
   - account-level default agent

## Local development

Install from the workspace:

```bash
openclaw plugins install ./packages/openclaw-xiaozhi
openclaw plugins enable xiaozhi
openclaw gateway restart
```
npm package: @galaxyxieyu/openclaw-xiaozhi-cli
Description: Installer CLI for the OpenClaw xiaozhi bridge plugin
Latest version: 0.1.16

# @galaxyxieyu/openclaw-xiaozhi-cli

Intended usage:

```bash
npx -y --registry=https://registry.npmjs.org @galaxyxieyu/openclaw-xiaozhi-cli@latest install
```

The CLI will:

1. ask for `xiaozhi-server` domain and admin key
2. issue a bridge token
3. install and enable `@galaxyxieyu/xiaozhi`
4. write `channels.xiaozhi` config
5. restart the OpenClaw gateway
npm package: @galaxyxieyu/xiaozhi
Description: OpenClaw channel plugin for xiaozhi-server bridge mode
Latest version: 0.1.16

# @galaxyxieyu/xiaozhi

`@galaxyxieyu/xiaozhi` is a native OpenClaw channel plugin for the self-hosted Xiaozhi bridge flow.

It does four things:

1. Keeps an outbound WebSocket connection to `xiaozhi-server`.
2. Handles the JSON-RPC methods `xiaozhi.sessionStarted`, `xiaozhi.sessionEnded`, `xiaozhi.chat`, and `xiaozhi.bindPeerAgent`.
3. Resolves peer-to-agent routing using:
   - runtime overrides: `peer -> agentId`
   - static bindings from config
   - account-level default agent
4. Registers `xiaozhi_push_text`, which lets an agent or subagent proactively push TTS back to the current Xiaozhi device.

## Local development

Install from the workspace:

```bash
openclaw plugins install ./packages/openclaw-xiaozhi
openclaw plugins enable xiaozhi
openclaw gateway restart
```
npm package: @galcg/decamelize
Description: Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow
Latest version: 4.1.0

# decamelize [![Build Status](https://travis-ci.org/sindresorhus/decamelize.svg?branch=master)](https://travis-ci.org/sindresorhus/decamelize)

> Convert a camelized string into a lowercased one with a custom separator<br>
> Example: `unicornRainbow` → `unicorn_rainbow`


## Install

```
$ npm install decamelize
```


## Usage

```js
const decamelize = require('decamelize');

decamelize('unicornRainbow');
//=> 'unicorn_rainbow'

decamelize('unicornRainbow', '-');
//=> 'unicorn-rainbow'
```


## API

### decamelize(input, separator?)

#### input

Type: `string`

#### separator

Type: `string`<br>
Default: `_`


## Related

See [`camelcase`](https://github.com/sindresorhus/camelcase) for the inverse.


---

<div align="center">
	<b>
		<a href="https://tidelift.com/subscription/pkg/npm-decamelize?utm_source=npm-decamelize&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
	</b>
	<br>
	<sub>
		Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
	</sub>
</div>
npm package: @galeanne-thorn/gemini-templates
Description: Gemini text game engine templates subsystem
Author: Galeanne Thorn
Latest version: 1.0.1

Gemini Game Engine - Template Engine
==========================================

Template engine allows separation of Game Objects code and constants (templates) and data (state)

Installation
------------

```
npm install @galeanne-thorn/gemini-templates
```
npm package: @galenica-dev/fetch-graphql-schema
Description: A simple command-line tool to download GraphQL schemas for local use.
Author: Balthazar de Moncuit
Latest version: 1.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @galenica-dev/fetch-graphql-schema

[![Galenica Logo](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT28SnSz-u4kK7ZWy9KKdzNN5o_qOCFNMCSRw&s)](https://www.galenica.com)

A simple and efficient command-line tool to download and save GraphQL schemas locally for easy development and integration purposes.

## Features

- Fetches the full GraphQL schema from a specified endpoint URL
- Saves the schema in the SDL (Schema Definition Language) format to a local file
- Supports custom output paths for flexibility
- Built with TypeScript for type safety and reliability
- Provides clear error messaging for invalid URLs or paths

## Prerequisites

- Node.js version 18 or higher
- npm (Node Package Manager)

## Installation

To install the package globally on your system, run:

```bash
npm install -g @galenica-dev/fetch-graphql-schema
```

## Usage

Once installed, you can use the tool to fetch a schema from a GraphQL endpoint and save it to a file:

```bash
fetch-graphql-schema <graphql-endpoint-url> -o <output-file-path>
```

### Example

To fetch a schema from `https://example.com/graphql` and save it as `schema.graphql`:

```bash
fetch-graphql-schema https://example.com/graphql -o schema.graphql
```

If no output path is specified, the default output file will be `schema.graphql` in the current directory.

### Options

- `<graphql-endpoint-url>`: The URL of the GraphQL endpoint from which to fetch the schema.
- `-o, --output`: Specifies the output file path. If omitted, the schema will be saved to `schema.graphql` in the current directory.

### Error Handling

- If the provided URL is missing or invalid, an error will be thrown:
  - (missing)`Please provide a valid GraphQL endpoint URL.`
  - (invalid)`Invalid GraphQL endpoint URL.`
- If the output path is a directory instead of a file, an error will be thrown: `The output path is a directory. Please provide a file name.`

## Sponsorship

This project is open-source and maintained by the Galenica Development Team. Development and maintenance of this project are sponsored by [Galenica](https://www.galenica.com).

## License

This project is licensed under the MIT License
npm package: @galenjiang/my-repo-2
Description: 测试仓库，用来测试依赖关系和mono-repo
Latest version: 1.0.3

### 说明
测试仓库，用来测试依赖关系和mono-repo

* 1.0.0
没有依赖
* 1.0.1
my-repo-3@1.0.0
my-repo-3@1.0.0
* 1.0.2
my-repo-3@1.0.1
my-repo-3@1.0.1
npm package: @galenjiang/my-repo-3
Description: 测试仓库，用来测试依赖关系和mono-repo 1.0.0 没有依赖 1.0.1 没有依赖 1.1.1 没有依赖
Latest version: 2.1.1

### 说明
测试仓库，用来测试依赖关系和mono-repo
1.0.0 没有依赖
1.0.1 没有依赖
1.1.1 没有依赖
npm package: @galenjs/amqp-next
Description: galenjs amqp next
Author: AlfieriChou
Latest version: 1.7.0

# `amqp-next`

> TODO: description

## Usage

install

```bash
yarn add @galenjs/amqp-next
// or
npm i @galenjs/amqp-next
// or
pnpm install @galenjs/amqp-next
```

- original

```javascript
// app.js
const Amqp = require('./index')

const amqp = new Amqp({
  config: {
    url: 'amqp://localhost:5672',
    sub: {
      test: {
        pullInterval: 1000, // 默认1s拉一次消息
        pullBatchSize: 5, // 每次拉5条
        topic: 'GALEN' // topic
      }
    },
    consumerPath: `${process.cwd()}/test`
  },
  logger: console
})

const start = async () => {
  await amqp.setup()
}

start()

setInterval(async () => {
  /**
   * topic
   * routeKey
   * content
   * options
  */
  await amqp.send('GALEN', 'test', 'hello world')
}, 10000)
```

```javascript
// test/test.js
module.exports = class Test {
  async onMsg (msg) {
    console.log('[message]: ', msg)
  }
}
```

- support galenjs framework app and context

```javascript
// app.js
const Amqp = require('./index')

const amqp = new Amqp({
  config: {
    url: 'amqp://localhost:5672',
    sub: {
      test: {
        pullInterval: 1000, // 默认1s拉一次消息
        pullBatchSize: 5, // 每次拉5条
        topic: 'GALEN' // topic
      }
    },
    consumerPath: `${process.cwd()}/test`
  },
  logger: console,
  app
})

const start = async () => {
  await amqp.setup(ctx)
}

start()
```
npm package: @galenjs/core
Description: galenjs core.
Author: AlfieriChou
Latest version: 0.3.0

# `core`

- galen模型数据处理中心

## Usage

```javascript
const loadModels = require('@galenjs/core')
const path = require('path')

const bootstrap = async () => {
  const {
    remoteMethods, modelSchemas, schemas
  } = await loadModels(path.join(__dirname, './model'))
}

bootstrap()
```

## tableName

默认创建的表名
例如

```yaml
tableName: 't_user'
```

## modelName

默认模型名
例如

```yaml
modelName: 'User'
```

## dialect

默认使用的是mysql

- mysql-默认创建sequelize模型
- virtual-虚拟模型类型（不创建任何模型）

例如

```yaml
dialect: 'mysql'
```

## model

模型属性

例如

```yaml
model:
  id:
    type: integer
    autoIncrement: true
    primaryKey: true
  phone:
    type: string
    length: 11
    description: '手机号'
  password:
    type: string
    length: 32
    description: '密码'
  nickName:
    type: string
    length: 32
    description: '昵称'
  createdAt:
    type: date
    allowNull: false
  updatedAt:
    type: date
    allowNull: false
  deletedAt:
    type: date
    allowNull: false
```

## relations

关联关系

- belongsTo

```yaml
relations:
  role:
    type: 'belongsTo'
    model: 'Role'
```

- hasOne

- belongsToMany

```yaml
relations:
  roles:
    type: 'belongsToMany'
    model: 'Role'
    through: 'UserRole'
```

## indexes

联合索引（支持的类型是index和unique，后续在考虑接入fulltext）

例如

```yaml
indexes:
  testIndex:
    type: 'unique'
    fields:
      - phone
      - nickName
```

## remoteMethods

接口请求信息

自定义接口信息，用来生成文档和api路由

例如

```yaml
remoteMethods:
  register:
      path: '/register'
      method: 'post'
      tags:
        - user
      summary: '用户注册'
      requestBody:
        body:
          phone:
            type: string
            length: 11
            description: '手机号'
          password:
            type: string
            length: 32
            description: '密码'
        required:
          - phone
          - password
      output:
        200:
          type: 'object'
          result:
            id:
              type: integer
              autoIncrement: true
              primaryKey: true
            phone:
              type: string
              length: 11
              description: '手机号'
            password:
              type: string
              length: 32
              description: '密码'
            nickName:
              type: string
              length: 32
              description: '昵称'
            createdAt:
              type: date
              allowNull: false
            updatedAt:
              type: date
              allowNull: false
            deletedAt:
              type: date
              allowNull: false 
```
npm package: @galenjs/sequelize-models
Description: sequelize models.
Author: AlfieriChou
Latest version: 1.7.0

# `sequelize-models`

> galenjs sequelize models

## Usage

```javascript
const createSequelizeModels = require('@galenjs/sequelize-models')

const bootstrap = async () => {
  const db = await createSequelizeModels(schemas, {
    default: {
      host: '127.0.0.1',
      user: 'root',
      password: 'alfieri',
      database: 'test'
    },
    clients: {
      main: {}
    }
  })
}

bootstrap()
```

### 支持配置多实例

```js
{
  default: {
    host: '127.0.0.1',
    user: 'root',
    password: 'alfieri',
    database: 'test'
  },
  clients: {
    main: {},
    test: {
      database: 'test1'
    }
  }
}
```

* default为默认配置可以为空对象
* clients则是需要配置的配置实例的信息

### 安全关闭

```javascript
const createSequelizeModels = require('@galenjs/sequelize-models')

const bootstrap = () => {
  const db = await createSequelizeModels(schemas, {
    default: {
      host: '127.0.0.1',
      user: 'root',
      password: 'alfieri',
      database: 'test'
    },
    clients: {
      main: {},
      test: {
        database: 'test1'
      }
    }
  })

  // do something
  await db.User.findAll()
  await db.User.findOne()
  await db.User.create()
  await db.User.update()
  await db.User.destroy()

  // select sequelize instance
  db.select('main')

  // graceful exit
  await db.quit()
}

bootstrap()
```

### 模型使用参考sequelize文档

[sequelize](https://sequelize.org/master/manual/model-querying-basics.html)
npm package: @galenjs/sequelize-query-filter
Description: Sequelize query filter.
Author: AlfieriChou
Latest version: 1.4.1

# `sequelize-query-filter`

> galenjs sequelize query filter

## Usage

```javascript
const sequelizeQueryFilter = require('@galenjs/sequelize-query-filter')
/***
  * @param {object} query
  * @param {object} query.where 搜索条件 {"name":{"$like": "%abc%"}}
  * @param {array} query.include 关联关系 [{"model":"UserRole","include":[{"model":"Role"}]}]
  * @param {number} query.limit 条数限制 10
  * @param {number} query.offset 偏移量 0
  * @param {array} query.order 排序 [["createdAt", "desc"]]
  * @param {object} models sequelize models
*/
sequelizeQueryFilter(query, models)
```

## where

- $eq: Sequelize.Op.eq
- $ne: Sequelize.Op.ne
- $gte: Sequelize.Op.gte
- $gt: Sequelize.Op.gt
- $lte: Sequelize.Op.lte
- $lt: Sequelize.Op.lt
- $not: Sequelize.Op.not
- $in: Sequelize.Op.in
- $notIn: Sequelize.Op.notIn
- $is: Sequelize.Op.is
- $like: Sequelize.Op.like
- $notLike: Sequelize.Op.notLike
- $iLike: Sequelize.Op.iLike
- $notILike: Sequelize.Op.notILike
- $regexp: Sequelize.Op.regexp
- $notRegexp: Sequelize.Op.notRegexp
- $iRegexp: Sequelize.Op.iRegexp
- $notIRegexp: Sequelize.Op.notIRegexp
- $between: Sequelize.Op.between
- $notBetween: Sequelize.Op.notBetween
- $overlap: Sequelize.Op.overlap
- $contains: Sequelize.Op.contains
- $contained: Sequelize.Op.contained
- $adjacent: Sequelize.Op.adjacent
- $strictLeft: Sequelize.Op.strictLeft
- $strictRight: Sequelize.Op.strictRight
- $noExtendRight: Sequelize.Op.noExtendRight
- $noExtendLeft: Sequelize.Op.noExtendLeft
- $and: Sequelize.Op.and
- $or: Sequelize.Op.or
- $any: Sequelize.Op.any
- $all: Sequelize.Op.all
- $values: Sequelize.Op.values
- $col: Sequelize.Op.col

```javascript
where={"nickname":{"$like":"%abc%"}}
```

## order

```javascript
order=[["createdAt", "desc"]]
```

## include

- model
- as
- where
- order
- include

```javascript
include=[{"model":"UserRole","include":[{"model":"Role"}]}]
```

```javascript
include=[{"model":"Role","as":"roles"}]
```

## limit - default 20

```javascript
limit=20
```

## offset - default 0

```javascript
offset=0
```

## example

```javascript
v1/users?where={"nickname":{"$like":"%abc%"}}&offset=0&limit=10&order=[["createdAt", "desc"]]&include=[{"model":"UserRole","include":[{"model":"Role"}]}]
```
npm package: @galenjs/swagger
Description: swagger document.
Author: AlfieriChou
Latest version: 1.4.0

# `swagger`

> galenjs swagger document

## Usage

### install

```bash
pnpm install @galenjs/swagger
```

### example

```javascript
const buildSwaggerDocs = require('@galenjs/swagger')

const openApiInfo = {
  title: 'galenJs API document',
  version: 'v3',
  description: 'openApi 3.0 document',
  contact: {
    name: 'AlfieriChou',
    email: 'alfierichou@gmail.com',
    url: 'https://github.com/AlfieriChou/galen/tree/master/packages/swagger'
  },
  license: {
    name: 'MIT',
    url: 'https://github.com/AlfieriChou/galen/blob/master/LICENSE'
  }
}

buildSwaggerDocs(openApiInfo, {
  schemas: ctx.jsonSchemas, remoteMethods: ctx.remoteMethods
})
```