open-index/open-npm huggingface dataset:
npm package: @gamevault/ai-content-core
Description: Shared types, interfaces, and utilities for AI content generation — provider-agnostic ImageGenerator, TTSGenerator, SFXGenerator, MusicGenerator, VideoGenerator
Latest version: 0.1.1

# @gamevault/ai-content-core

Provider-agnostic TypeScript interfaces for AI content generation. Build once, generate anywhere — swap AI providers without changing your code.

## Installation

```bash
npm install @gamevault/ai-content-core
```

## Interfaces

| Interface | Description |
|-----------|-------------|
| `ImageGenerator` | Generate images from text prompts |
| `TTSGenerator` | Text-to-speech synthesis |
| `SFXGenerator` | Sound effects generation |
| `MusicGenerator` | Music/composition generation |
| `VideoGenerator` | Video generation from prompts |

## Usage

```typescript
import type { ImageGenerator, GenerationOptions } from "@gamevault/ai-content-core";

// Define provider-agnostic interface
class MyApp {
  constructor(private generator: ImageGenerator) {}

  async generateAvatar(prompt: string) {
    return this.generator.generateImage({
      prompt,
      resolution: "512x512",
      style: "pixel-art",
    });
  }
}
```

## Provider Implementations

| Package | Description |
|---------|-------------|
| `@gas-platform/ai-sdk` | Vault7 AI provider implementation |

## Example: Swappable Providers

```typescript
import type { ImageGenerator } from "@gamevault/ai-content-core";

// Swap implementation without changing consumer code
const generator: ImageGenerator = process.env.AI_PROVIDER === "vault7"
  ? new Vault7Provider()
  : new MyCustomProvider();

const image = await generator.generateImage({ prompt: "a knight" });
```

## Job Types

Each content type has a corresponding job interface:

- `ImageJob` — Image generation parameters
- `TTSJob` — Text-to-speech parameters
- `SFXJob` — Sound effect parameters
- `MusicJob` — Music generation parameters
- `VideoJob` — Video generation parameters

## Utilities

The package includes validation utilities powered by Zod:

```typescript
import { isValidImageJob, isValidAudioJob } from "@gamevault/ai-content-core/utils";

if (isValidImageJob(job)) {
  console.log("Valid image job:", job.prompt);
}
```

## License

MIT
npm package: @gamevault/ai-text-generator
Description: Text generation workers for game content - narratives, dialogue, item descriptions, quest text, NPC backstories, and environment descriptions
Latest version: 0.1.0

# AI Text Generator

Text generation workers for game content including narratives, dialogue, item descriptions, quest text, NPC backstories, and environment descriptions.

## Installation

```bash
npm install @gamevault/ai-text-generator
```

## Usage

```typescript
import { getTextWorkerRegistry, handleTextGeneration } from '@gamevault/ai-text-generator';

// Get registry and generate text
const registry = getTextWorkerRegistry();
const worker = registry.get('gemini-2.5-flash');

const result = await worker.generate({
  prompt: 'Write a short fantasy item description for a magical sword',
  taskType: 'itemDescription',
  maxTokens: 500,
  temperature: 0.7,
});

// Or use the route handler
const response = await handleTextGeneration({
  prompt: 'Write a quest called "The Lost Temple" with 3 objectives',
  taskType: 'questText',
}, 'basic');
```

## Models

| Model | Description | Best For |
|-------|-------------|----------|
| `gemini-2.5-flash-lite` | Fast, cost-effective | Simple descriptions, short text |
| `gemini-2.5-flash` | Balanced performance | Most text generation tasks |
| `gemini-3.1-flash` | Premium quality | Complex narratives, dialogue |

## Task Types

- `narrative` - Story, lore, and world-building text
- `dialogue` - Character dialogue and conversations
- `itemDescription` - Item, equipment, and loot descriptions
- `questText` - Quest objectives and descriptions
- `npcBackstory` - NPC background and personality
- `environment` - Location and environment descriptions

## API Routes

The package exports route handlers for use in Fastify/Next.js:

- `handleTextGeneration(body, tier)` - Generate text
- `handleBatchTextGeneration(items, tier, model?)` - Batch generation
- `handleListModels(tier)` - List available models
- `handleHealthCheck()` - Worker health status

## Environment Variables

- `GOOGLE_AI_API_KEY` - Google AI API key for Gemini access
npm package: @gamevault/asset-core
Description: Shared asset processing interfaces and job definitions for the GAS Platform — Generator, Processor, Exporter interfaces
Latest version: 0.1.1

# @gamevault/asset-core

Shared asset processing interfaces and job definitions for the GAS Platform.

## Installation

```bash
npm install @gamevault/asset-core
```

## Modules

| Export | Description |
|--------|-------------|
| `Generator` | Interface for asset generators |
| `Processor` | Interface for asset processors |
| `Exporter` | Interface for asset exporters |
| `ImageJob` | Image generation job definition |
| `AudioJob` | Audio/SFX generation job definition |
| `SpriteAnimationJob` | Sprite animation job definition |
| `TerrainTilesetJob` | Terrain/tileset generation job |
| `PackJob` | Asset pack job definition |
| `isImageJob()` | Type guard for image jobs |
| `isAudioJob()` | Type guard for audio jobs |

## Usage

```typescript
import type {
  Generator,
  Processor,
  Exporter,
  ImageJob,
  AudioJob,
  isImageJob,
} from "@gamevault/asset-core";

// Implement a custom generator
class MyGenerator implements Generator {
  async generate(job: ImageJob): Promise<Uint8Array> {
    // Your generation logic here
    return new Uint8Array();
  }
}

// Type guard usage
if (isImageJob(job)) {
  console.log("Image dimensions:", job.width, job.height);
}
```

## Type Guards

The package includes type guards for runtime type checking:

- `isImageJob(job)` - Returns true if job is an ImageJob
- `isAudioJob(job)` - Returns true if job is an AudioJob
- `isSpriteAnimationJob(job)` - Returns true if job is a SpriteAnimationJob
- `isTerrainTilesetJob(job)` - Returns true if job is a TerrainTilesetJob
- `isSuperPack(job)` - Returns true if job is a super pack

## License

MIT
npm package: @gamevault/phaser-sdk
Description: GameVault SDK for Phaser game engine — import and manage game assets
Latest version: 0.2.0

# @gamevault/phaser-sdk

[![npm](https://img.shields.io/npm/v/@gamevault/phaser-sdk)](https://npmjs.com/package/@gamevault/phaser-sdk)
[![JSR](https://img.shields.io/jsr/v/@gamevault/phaser-sdk)](https://jsr.io/@gamevault/phaser-sdk)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

TypeScript SDK for integrating GameVault with Phaser game engine projects.

## Installation

### npm

```bash
npm install @gamevault/phaser-sdk
```

### JSR (Deno)

```bash
deno add jsr:@gamevault/phaser-sdk
```

## Documentation

Full documentation at: **https://gamevault.com/docs**

## Features

- Asset search with query encoding
- Asset info retrieval with error handling
- Binary asset download
- Phaser-specific import with asset type mapping
- Device code flow (OAuth) authentication
- Cache key generation for Phaser loader

## Supported Asset Types

sprite, sound, animation, tilemap, scene, shader, ui

## Usage

```typescript
import { GasClient, GasImporter } from "@gamevault/phaser-sdk";

// Search for assets
const client = new GasClient({ serverUrl: "https://gamevault.com" });
const results = await client.search("explosion sprite");

// Import assets into Phaser project
const importer = new GasImporter({ client, outputDir: "./assets" });
await importer.importAsset(assetId);
```

## API

### `GasClient`

- `search(query: string)` — Search marketplace assets
- `getAssetInfo(id: string)` — Get asset metadata (handles 404)
- `downloadAsset(url: string)` — Download asset binary
- `startDeviceCodeFlow()` — Initiate OAuth device flow

### `GasImporter`

- `importAsset(id: string)` — Download and import asset for Phaser
- Automatic directory creation and file path resolution
- Asset type mapping to Phaser-compatible formats

## Development

```bash
npm run build    # TypeScript compilation
npm run test     # Run tests (Vitest)
```

## License

MIT
npm package: @gamevault/react-native-sdk
Description: GameVault SDK for React Native — search, download, and generate game assets
Latest version: 1.0.0

# @gamevault/react-native-sdk

[![npm](https://img.shields.io/npm/v/@gamevault/react-native-sdk)](https://npmjs.com/package/@gamevault/react-native-sdk)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

GameVault SDK for React Native — search, download, and generate game assets in your mobile games.

## Installation

```bash
npm install @gamevault/react-native-sdk
```

## Documentation

Full documentation at: **https://gamevault.com/docs**

## Features

- **React hooks** — `useSearch`, `useAsset`, `useGenerate`, `useAuth`
- **Secure storage** — Expo SecureStore for API keys
- **Download queue** — Parallel downloads with queue management
- **Offline cache** — Cache assets for offline use
- **Bundle support** — Read/write `.gas` bundle format

## Usage

### Setup Provider

```tsx
import { GameVaultProvider } from "@gamevault/react-native-sdk/provider";

export default function App() {
  return (
    <GameVaultProvider
      serverUrl="https://gamevault.com"
      apiKey={apiKey}
    >
      <GameContent />
    </GameVaultProvider>
  );
}
```

### Search Assets

```tsx
import { useSearch } from "@gamevault/react-native-sdk/hooks";

function SearchScreen() {
  const { results, loading, search } = useSearch();

  return (
    <View>
      <SearchBar onSearch={search} />
      {results.map(asset => (
        <AssetCard key={asset.id} asset={asset} />
      ))}
    </View>
  );
}
```

### Download & Use Assets

```tsx
import { useAsset } from "@gamevault/react-native-sdk/hooks";

function AssetDetail({ assetId }) {
  const { asset, download, isDownloaded } = useAsset(assetId);

  return (
    <View>
      <Text>{asset.name}</Text>
      <Button
        title={isDownloaded ? "Use Asset" : "Download"}
        onPress={() => download()}
      />
    </View>
  );
}
```

### AI Generation

```tsx
import { useGenerate } from "@gamevault/react-native-sdk/hooks";

function GenerateScreen() {
  const { generate, assets, isGenerating } = useGenerate();

  const handleGenerate = async (prompt: string) => {
    const results = await generate({
      type: "sprite",
      prompt,
      count: 4,
    });
  };

  return (
    <View>
      <TextInput placeholder="Describe your sprite..." />
      <Button title="Generate" onPress={handleGenerate} />
      <AssetGrid assets={assets} />
    </View>
  );
}
```

## API

### Provider

| Prop | Type | Description |
|------|------|-------------|
| `serverUrl` | `string` | GameVault server URL |
| `apiKey` | `string` | API key for authentication |
| `cacheDir` | `string` | Custom cache directory |

### Hooks

| Hook | Description |
|------|-------------|
| `useSearch()` | Search marketplace assets |
| `useAsset(id)` | Get asset details and download |
| `useGenerate()` | AI asset generation |
| `useAuth()` | User authentication |
| `useDownloadQueue()` | Manage download queue |

## License

MIT
npm package: @gamevault/sdk
Description: GameVault SDK - Unified API for game asset marketplace
Latest version: 2.0.0

# @gamevault/sdk

[![npm](https://img.shields.io/npm/v/@gamevault/sdk)](https://npmjs.com/package/@gamevault/sdk)
[![JSR](https://img.shields.io/jsr/v/@gamevault/sdk)](https://jsr.io/@gamevault/sdk)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

GameVault SDK - Unified API for game asset marketplace. Works in Node.js, Deno, Bun, and browsers.

## Installation

### npm

```bash
npm install @gamevault/sdk
```

### JSR (Deno)

```bash
deno add jsr:@gamevault/sdk
```

## Documentation

Full documentation at: **https://gamevault.com/docs**

## Features

- **Asset Management** — Search, download, and manage game assets
- **Authentication** — OAuth device code flow for user authentication
- **Generation** — AI-powered asset generation (sprites, animations, creatures)
- **Bundles** — Read/write `.gas` bundle format for cross-engine asset sharing
- **Runtime** — Universal runtime loader for game engines

## Usage

```typescript
import { createSDK, GameVaultSDK } from "@gamevault/sdk";

// Create SDK instance
const sdk = createSDK({
  serverUrl: "https://gamevault.com",
  apiKey: process.env.GAMEVAULT_API_KEY,
});

// Search assets
const assets = await sdk.assets.search({
  query: "explosion sprite",
  type: "sprite",
  limit: 10,
});

// Download asset
const bundle = await sdk.assets.download(assetId);

// Load bundle in your engine
import { RuntimeLoader } from "@gamevault/sdk/runtime";
const loader = new RuntimeLoader(engine);
await loader.loadBundle(bundle);
```

## API Overview

### `createSDK(config)`

Creates an SDK instance with the provided configuration.

```typescript
const sdk = createSDK({
  serverUrl: "https://gamevault.com",
  apiKey: "your-api-key",
  timeout: 30000,
});
```

### Services

| Service | Description |
|---------|-------------|
| `sdk.assets` | Search, browse, download assets |
| `sdk.store` | Store management and settings |
| `sdk.users` | User profile and preferences |
| `sdk.projects` | Project management |
| `sdk.generation` | AI asset generation |
| `sdk.auth` | Authentication utilities |

### Bundle Format

The SDK supports the universal `.gas` bundle format:

```typescript
import { GasBundle } from "@gamevault/sdk/bundle";

// Read a .gas bundle
const bundle = await GasBundle.read("./asset.gas");

// Access sprite data
const sprite = bundle.getSprite("idle");
console.log(sprite.width, sprite.height);

// Write a modified bundle
await bundle.write("./modified.gas");
```

## Development

```bash
npm run build    # TypeScript compilation
npm run test     # Run tests
npm run lint     # Lint code
```

## License

MIT
npm package: @gamevault/sprite-core
Description: Pure TypeScript pixel operation library for RGBA buffers — zero dependencies, no Canvas/DOM/Sharp
Latest version: 0.1.1

# @gamevault/sprite-core

Pure TypeScript pixel operation library for RGBA buffers. Zero dependencies — no Canvas, no DOM, no Sharp. Works in Node.js, workers, and WASM.

## Installation

```bash
npm install @gamevault/sprite-core
```

## Modules

### Core Operations

| Module | Description |
|--------|-------------|
| `@gamevault/sprite-core/blend` | Blend modes (normal, multiply, screen, overlay, etc.) |
| `@gamevault/sprite-core/color` | Color manipulation (HSL, RGB, hex conversions) |
| `@gamevault/sprite-core/detect` | Grid and pattern detection |
| `@gamevault/sprite-core/fill` | Flood fill algorithms |
| `@gamevault/sprite-core/mask` | Mask operations (apply, combine, invert) |
| `@gamevault/sprite-core/palette` | Palette generation and color quantization |
| `@gamevault/sprite-core/transform` | Affine transforms (rotate, scale, flip) |
| `@gamevault/sprite-core/repair` | Sprite repair utilities |

## Usage

```typescript
import { floodFill } from "@gamevault/sprite-core/fill";
import { blend } from "@gamevault/sprite-core/blend";
import { detectGrid } from "@gamevault/sprite-core/detect";
import { extractPalette } from "@gamevault/sprite-core/palette";

// Flood fill a region
const pixels = new Uint8ClampedArray(width * height * 4);
const filled = floodFill(pixels, width, height, x, y, [255, 0, 0, 255]);

// Blend two layers
const result = blend(baseLayer, overlayLayer, "multiply", 0.5);

// Detect grid in sprite sheet
const grid = detectGrid(pixels, width, height);
```

## Why Sprite-Core?

- **Zero dependencies** — No native modules, no Canvas API required
- **Universal** — Node.js, Deno, Bun, workers, WASM
- **Tree-shakeable** — Import only what you need
- **TypeScript native** — Full type definitions included
- **Fast** — Pure typed arrays, no object allocations

## Examples

### Sprite Sheet Unpacking

```typescript
import { extractFrame } from "@gamevault/sprite-core";

const sheet = loadSpriteSheet();
const frame = extractFrame(sheet.pixels, sheet.width, 2, 3, 16, 16);
```

### Palette Generation

```typescript
import { extractPalette, reduceToPalette } from "@gamevault/sprite-core";

const palette = extractPalette(pixels, width, height, 16);
const indexed = reduceToPalette(pixels, palette);
```

## License

MIT
npm package: @gamevault/types
Description: Shared TypeScript type definitions for GAS Platform — asset types, GAS interchange format, plugin SDK types
Latest version: 0.1.1

# @gamevault/types

Shared TypeScript type definitions for the GAS Platform monorepo.

## Modules

| File | Types |
|------|-------|
| `assets.ts` | Asset interfaces, enums, creation/update types |
| `stores.ts` | Store, store settings, membership types |
| `users.ts` | User, session, role types |
| `comments.ts` | Comment, vote types |
| `animations.ts` | Animation, frame, player types |
| `media.ts` | Media file, upload types |
| `common.ts` | Shared utility types, pagination |

## Usage

```typescript
import { Asset, Store, User } from "@gamevault/types";
```

## Development

```bash
npm run build    # TypeScript compilation
npm run test     # Run tests
```

Consumed by: marketplace, asset-generator, phaser-sdk, and other packages via workspace reference.
npm package: @gameworker/jst
Description: JavaScript Toolkit
Author: gameworker
Latest version: 0.1.5

# JST - JavaScript Toolkit
![npm](https://img.shields.io/npm/v/@gameworker/jst.svg)
![npm](https://img.shields.io/travis/gameworker/jst.svg)
![npm](https://img.shields.io/npm/l/@gameworker/jst.svg)


For now, this is just a test.

## Table of contents

* [Getting started](#getting-started)
* [API](#api)
* [License](#license)


## Getting started

### 1. Get JST

Download from GitHub:
* [jst.js](https://raw.githubusercontent.com/gameworker/jst/0.1.4/jst.js) - for development (not minified, with comments).
* [jst.min.js](https://raw.githubusercontent.com/gameworker/jst/0.1.4/jst.min.js) - for production (minified, no comments).

Or install with [npm](https://www.npmjs.com/):

```bash
npm install @gameworker/jst
```

### 3. Add the script tags

Add JST on your site.

```html
<script src="jst.min.js"></script>
```

## API


## License

Copyright &copy; 2017 gameworker. Licensed under **[the MIT license](LICENSE.md)**.
npm package: @gamex/cc-cli
Description: 游戏脚手架
Author: 向前
Latest version: 1.3.2

# CocosCreator项目脚手架

## 指令
### 1、创建项目
- 在空文件夹下执行 ```npx @gamex/cc-cli@latest```

### 2、更新框架
- 在非空项目跟目录下执行 ```npx @gamex/cc-cli@latest```

## 阅读
- [开发框架](https://github.com/a1076559139/cocos-creator-frame-3d) [![GitHub stars](https://img.shields.io/github/stars/a1076559139/cocos-creator-frame-3d?style=social)](https://github.com/a1076559139/cocos-creator-frame-3d/stargazers)
- [游戏引擎](https://www.cocos.com/en/creator-download)
npm package: @gamfi/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 3.0.2

# @gamfi/react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @gamifylab/react-ui
Description: This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Author: Copyright
Latest version: 0.0.0

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
   parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    project: ['./tsconfig.json', './tsconfig.node.json'],
    tsconfigRootDir: __dirname,
   },
```

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
npm package: @gaming_frame/musicapi
Description: Makes connecting to the Music API by Cato Studios very easy!
Latest version: 1.0.2

# @gaming_frame/musicapi
[![npm (scoped)](https://img.shields.io/npm/v/@gaming_frame/musicapi)](https://www.npmjs.com/package/@bamblehorse/tiny)
[![npm](https://img.shields.io/npm/dw/@gaming_frame/musicapi)](https://www.npmjs.com/package/@bamblehorse/tiny)
[![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@gaming_frame/musicapi)](https://www.npmjs.com/package/@bamblehorse/tiny)


A npm package for the [Music API](https://music.catostudios.nl) from Cato Studios

## Install

```
$ npm install @gaming_frame/musicapi
```

## Usage

```js
const musicAPI = require("@gaming_frame/musicapi");

var MusicAPI = new musicAPI();

async function doStuff() {
    let song = await MusicAPI.random();
    console.log(song);
    // {"id":72,"title":"Firecracker","url":"https:\/\/www.youtube.com\/watch?v=_AQvXd-4tD0","genre":"fantasy bard","author":"Cami-Cat (feat. Khamydrian and more)","created_at":"2021-07-22T21:40:27.000000Z","updated_at":"2021-07-22T21:40:27.000000Z"}
}
```

## Methods

`random()`

`search(string)`

`genres()`

`randomFromGenre(string)`

`add(song)` - TOKEN REQUIRED

## Example of adding a song

```js

const musicAPI = require("@gaming_frame/musicapi");

var MusicAPI = new musicAPI("secret");

async function doStuff() {

    let song = {
        title: "example",
        url: "https://www.youtube.com/watch/dQw4w9WgXcQ",
        genre: "edm",
        author: "the author"
    }

    let response = await MusicAPI.add(song);
    console.log(response);
    /*
    message: 'Successfully added music video',
    data: {
        title: 'example',
        url: 'https://www.youtube.com/watch/dQw4w9WgXcQ',
        genre: 'edm',
        author: 'the author',
        updated_at: '2021-08-10T11:28:23.000000Z',
        created_at: '2021-08-10T11:28:23.000000Z',
        id: 666
    } */
}

```