open-index/open-npm huggingface dataset:
npm package: @holokai/holo-etl
Description: ETL pipelines for Holo model catalog — dictionary sync, alias generation
Author: Holokai
Latest version: 0.1.0

# @holokai/holo-etl

ETL pipelines for the Holo model catalog. Fetches model metadata from external sources, matches against the internal dictionary, generates aliases, and publishes canonical model entries.

## Installation

```bash
npm install @holokai/holo-etl
```

## Subpath Exports

| Subpath | Description |
|---------|-------------|
| `@holokai/holo-etl` | Root — re-exports everything |
| `@holokai/holo-etl/sources` | External data source fetchers |
| `@holokai/holo-etl/sync` | Dictionary sync, alias generation, canonicalization, pipeline |

## Data Sources

The `sources` subpath fetches model metadata from external catalogs:

```typescript
import {fetchOpenRouterModels, fetchLiteLLMModels, fetchModelsDevModels} from '@holokai/holo-etl/sources';

const openRouterModels = await fetchOpenRouterModels();
const liteLLMModels = await fetchLiteLLMModels();
const modelsDevModels = await fetchModelsDevModels();
```

Each source returns raw API data that can be converted to a unified `SourceModel` format:

```typescript
import {toSourceModels, toLiteLLMSourceModels, toModelsDevSourceModels} from '@holokai/holo-etl/sources';
```

## Sync Pipeline

The `sync` subpath provides the full ETL pipeline:

```typescript
import {runPipeline} from '@holokai/holo-etl/sync';

const result = await runPipeline(deps);
// result: { fetched, matched, enriched, published, aliases }
```

Individual steps:

| Function | Description |
|----------|-------------|
| `syncDictionary(deps)` | Match source observations against the model dictionary |
| `enrichUnmatchedObservations(deps)` | Enrich unmatched models with metadata |
| `generateAliases(models)` | Generate model name aliases for fuzzy matching |
| `buildCanonicalCandidates(models)` | Build canonical model entries from matched data |
| `publishCanonicalCandidates(deps)` | Publish finalized entries to the database |

## License

MIT
npm package: @holokai/holo-types
Description: Pure type definitions for the Holo platform
Author: Holokai
Latest version: 1.4.4

# @holokai/holo-types

Pure type definitions for the Holo platform. Zero runtime dependencies. Used by `@holokai/holo-sdk`, provider plugins,
and the Holo application.

## Installation

```bash
npm install @holokai/holo-types
```

## Subpath Exports

Types are organized into subpath exports for tree-shaking and clear dependency boundaries:

| Subpath                            | Description                    | Key Types                                                                       |
|------------------------------------|--------------------------------|---------------------------------------------------------------------------------|
| `@holokai/holo-types`              | Root re-export of all types    | Everything                                                                      |
| `@holokai/holo-types/holo`         | Holo universal format          | `HoloRequest`, `HoloResponse`, `HoloMessage`, content types                     |
| `@holokai/holo-types/entities`     | Database entities and enums    | `ProviderRequest`, `ProviderResponse`, `ProtocolCapability`, pricing types      |
| `@holokai/holo-types/worker`       | Worker queue messages          | `HoloWorkerRequest`, `WorkerResponseEnvelope`, `WorkerQueueMessage`             |
| `@holokai/holo-types/notification` | Notification events            | `NotificationEvent`, `NotificationStore`                                        |
| `@holokai/holo-types/routing`      | Route definitions and handlers | `RouteTree`, `RouteDefinition`, `RouteHandler`                                  |
| `@holokai/holo-types/api`          | API request/response shapes    | API controller types                                                            |
| `@holokai/holo-types/provider`     | Provider interfaces            | `IProvider`, `IWireAdapter`, `IAuditor`, `IProviderTranslator`, `ProviderEvent` |
| `@holokai/holo-types/logger`       | Logging contracts              | `ILoggerFactory`, `ILogger`, `HoloLogLevel`                                     |
| `@holokai/holo-types/plugin`       | Plugin interfaces              | `IProviderPlugin`, `PluginManifest`, `PluginContext`, `PluginState`             |

## Usage

```typescript
// Import from specific subpaths
import type {HoloRequest, HoloResponse} from '@holokai/holo-types/holo';
import type {IProviderPlugin, PluginManifest} from '@holokai/holo-types/plugin';
import type {IProvider, ProviderEvent} from '@holokai/holo-types/provider';
import {ProtocolCapability} from '@holokai/holo-types/entities';
import {RouteHandler} from '@holokai/holo-types/routing';

// Or import everything from root
import type {HoloRequest, IProvider, PluginManifest} from '@holokai/holo-types';
```

## License

MIT
npm package: @holokai/moku-test
Description: Integration tests for the Moku API via moku-sdk
Author: Holokai
Latest version: 1.3.3

# @holokai/moku-test

Integration test helpers for the Moku SDK. Provides test client factory, environment detection, and verbose logging.

## Installation

```bash
npm install @holokai/moku-test
```

Peer dependency: `vitest ^3.0.0`

## Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `MOKU_URL` | `http://localhost:8080` | Moku API base URL |
| `MOKU_TEST_TOKEN` | *(required)* | Bearer token for authentication |
| `MOKU_TEST_VERBOSE` | *(unset)* | Enable verbose logging when set to any value |

## Usage

```typescript
import {describe, it, expect, beforeAll} from 'vitest';
import {MokuClient} from '@holokai/moku-sdk';
import {createTestClient, isMokuAvailable, verboseLog} from '@holokai/moku-test';

describe.skipIf(!isMokuAvailable())('moku integration', () => {
    let client: MokuClient;

    beforeAll(() => {
        client = createTestClient();
    });

    it('lists threads', async () => {
        const result = await client.threads.list({page: 0, size: 10});
        verboseLog('threads.list', result);
        expect(result.content).toBeInstanceOf(Array);
    });

    it('lists providers', async () => {
        const result = await client.providers.list({page: 0, size: 5});
        verboseLog('providers.list', result);
        expect(result.totalElements).toBeGreaterThanOrEqual(0);
    });
});
```

## API

| Export | Description |
|--------|-------------|
| `createTestClient()` | Returns a `MokuClient` configured from environment variables |
| `isMokuAvailable()` | Returns `true` if `MOKU_TEST_TOKEN` is set |
| `getMokuUrl()` | Returns the Moku base URL |
| `getMokuToken()` | Returns the test token (throws if not configured) |
| `isVerbose()` | Returns `true` if verbose mode is enabled |
| `verboseLog(label, data)` | Logs to console if verbose mode is on |

## License

MIT
npm package: @holokai/moku-types
Description: Pure type definitions for the Moku API
Author: Holokai
Latest version: 1.3.3

# @holokai/moku-types

Pure TypeScript type definitions for the Moku API. Zero runtime dependencies.

## Installation

```bash
npm install @holokai/moku-types
```

Typically used alongside `@holokai/moku-sdk`:

```typescript
import {MokuClient} from '@holokai/moku-sdk';
import type {ApplicationDetail, ThreadDto, PagedResponse} from '@holokai/moku-types';
```

## Type Categories

| Module | Types |
|--------|-------|
| `pagination` | `PagedResponse<T>`, `SpringPage<T>`, `SortObject`, `PageableObject` |
| `application` | `ApplicationSummary`, `ApplicationDetail`, create/update requests, filters |
| `provider` | `ProviderSummary`, `ProviderDetail`, connectivity test, model sync |
| `model` | `ModelSummary`, `ModelDetail`, create/update requests |
| `organization` | `OrganizationListItem`, `OrganizationDetail`, BYOK toggle, segments |
| `team` | `TeamSummary`, `TeamDetail`, `TreeNode` hierarchy |
| `user` | `UserSummary`, `UserDetail`, role/status updates |
| `auth` | `OAuth2ClientRegistration`, `AuthProviderListItem` |
| `credential` | `ApiCredentialListItem`, `ApiCredentialDetail`, `VaultResponse` |
| `prompt` | `PromptSummary`, `PromptDetail`, audit entries, references |
| `project` | `ProjectDto`, `ProjectDetailDto`, `MemberDto` |
| `pricing` | Pricing plans, sheets, per-model costs |
| `plugin` | `PluginListItem`, `PluginDetail` |
| `dataset` | `DatasetListItem`, `DatasetDetail`, samples, references |
| `evaluation` | Plans, sessions, results, analytics, dataset results |
| `schema` | Schema CRUD, versioning, migrations, compatibility validation |
| `dashboard` | Dashboard generation request/response |
| `analytics` | Query execution, widget generation |
| `monitoring` | Request monitoring, RabbitMQ metrics, health status |
| `server` | `ServerListItem`, `ServerDetail`, `ServerInfo` |
| `audit` | `AuditEntry`, `AuditHealthStatus` |
| `thread` | `ThreadDto`, `MessageDto`, `AgentListItem`, `AgentChatConfig` |
| `refs` | `SelectItem`, `RoleOption`, `RoleHierarchy`, `SchemaOption` |
| `enums` | Status enums, capability types, migration strategies |

## Pagination

Two pagination wrappers are provided to match the Java backend:

```typescript
// Standard pagination (most endpoints)
interface PagedResponse<T> {
    content: T[];
    totalElements: number;
    totalPages: number;
    size: number;
    number: number;
}

// Spring Data page format (schemas, monitoring, audit)
interface SpringPage<T> {
    content: T[];
    totalElements: number;
    totalPages: number;
    size: number;
    number: number;
    pageable: PageableObject;
    sort: SortObject;
}
```

## License

MIT