open-index/open-npm huggingface dataset:
npm package: @open-harness/client
Description: --- lastUpdated: "2026-01-10T10:11:36.649Z" lastCommit: "150d2ad147832f2553c0dbfb779f1a466c0a001b" lastCommitDate: "2026-01-10T09:55:26Z" --- # @open-harness/client
Latest version: 1.0.0-alpha.3

---
lastUpdated: "2026-01-10T10:11:36.649Z"
lastCommit: "150d2ad147832f2553c0dbfb779f1a466c0a001b"
lastCommitDate: "2026-01-10T09:55:26Z"
---
# @open-harness/client

Client-side transport utilities for Open Harness.

## Status: Re-export Package

This package re-exports the internal client implementation for public consumption.

## Current Exports

```typescript
import {
  HttpSseClient,
  RemoteTransport,
  // Error types
  TransportError,
  ConnectionError,
  ParseError,
} from "@open-harness/client";
```

## HttpSseClient

HTTP + Server-Sent Events client for streaming responses:

```typescript
import { HttpSseClient } from "@open-harness/client";

const client = new HttpSseClient({
  baseUrl: "http://localhost:3000",
});

// Stream events from an endpoint
for await (const event of client.stream("/chat", { prompt: "Hello" })) {
  console.log("Event:", event);
}
```

## RemoteTransport

Higher-level transport abstraction:

```typescript
import { RemoteTransport } from "@open-harness/client";

const transport = new RemoteTransport({
  baseUrl: "http://localhost:3000",
});

// Connect and stream
await transport.connect();
for await (const signal of transport.signals()) {
  console.log("Signal:", signal);
}
```

## Error Handling

```typescript
import { TransportError, ConnectionError, ParseError } from "@open-harness/client";

try {
  await client.stream("/chat", input);
} catch (error) {
  if (error instanceof ConnectionError) {
    console.error("Connection failed:", error.message);
  } else if (error instanceof ParseError) {
    console.error("Parse failed:", error.message);
  }
}
```

## See Also

- [@open-harness/core](../core/README.md) - Core API
- [@open-harness/server](../server/README.md) - Server utilities
npm package: @open-harness/react
Description: --- lastUpdated: "2026-01-10T10:11:36.649Z" lastCommit: "150d2ad147832f2553c0dbfb779f1a466c0a001b" lastCommitDate: "2026-01-10T09:55:26Z" --- # @open-harness/react
Latest version: 1.0.0-alpha.3

---
lastUpdated: "2026-01-10T10:11:36.649Z"
lastCommit: "150d2ad147832f2553c0dbfb779f1a466c0a001b"
lastCommitDate: "2026-01-10T09:55:26Z"
---
# @open-harness/react

React bindings for Open Harness signal-based architecture.

## Status: Stub Package

This package is a placeholder for future React hooks. The v0.2.0 hooks (`useRuntime`, `useHarness`) were deleted as part of the v0.3.0 migration to signal-based providers.

## Current Exports

```typescript
import { SignalBus, type ISignalBus, type Signal } from "@open-harness/react";
```

Re-exports core signal types for convenience.

## Using Signals in React (v0.3.0)

Until signal-native hooks are implemented, use `SignalBus` directly:

```typescript
import { useEffect, useState } from "react";
import { SignalBus } from "@open-harness/react";

function useSignals(bus: SignalBus, pattern: string) {
  const [signals, setSignals] = useState<Signal[]>([]);

  useEffect(() => {
    return bus.subscribe([pattern], (signal) => {
      setSignals((prev) => [...prev, signal]);
    });
  }, [bus, pattern]);

  return signals;
}
```

## Planned Future Hooks

- `useSignalBus()` - Subscribe to signal streams with automatic cleanup
- `useProvider()` - Run a provider and track its streaming state
- `useRecording()` - Replay recorded signal streams
- `useHarnessResult()` - Track harness execution state

## See Also

- [@open-harness/core](../core/README.md) - Core API and providers
- [Examples](../../../examples/) - Usage patterns
npm package: @open-harness/server
Description: --- lastUpdated: "2026-01-11T10:45:35.208Z" lastCommit: "7c119005269c88d906afffaea1ab3b283a07056f" lastCommitDate: "2026-01-11T07:21:34Z" --- # @open-harness/server
Latest version: 1.0.0-alpha.3

---
lastUpdated: "2026-01-11T10:45:35.208Z"
lastCommit: "7c119005269c88d906afffaea1ab3b283a07056f"
lastCommitDate: "2026-01-11T07:21:34Z"
---
# @open-harness/server

Server utilities for Open Harness.

## Status: Minimal Package

Most v0.2.0 server code was deleted as part of the v0.3.0 migration. This package now provides only essential middleware utilities.

## Current Exports

```typescript
import { createHealthRoute, corsMiddleware, errorHandler } from "@open-harness/server";
```

### `createHealthRoute()`

Creates a Hono health check route:

```typescript
import { Hono } from "hono";
import { createHealthRoute } from "@open-harness/server";

const app = new Hono();
app.route("/health", createHealthRoute());
// GET /health returns { status: "ok" }
```

### `corsMiddleware`

CORS middleware for Hono:

```typescript
import { corsMiddleware } from "@open-harness/server";

app.use("*", corsMiddleware);
```

### `errorHandler`

Error handling middleware:

```typescript
import { errorHandler } from "@open-harness/server";

app.onError(errorHandler);
```

## Building v0.3.0 Servers

For v0.3.0, build custom Hono routes that consume Harness signals:

```typescript
import { Hono } from "hono";
import { ClaudeHarness, createSignal } from "@open-harness/core";

const app = new Hono();

app.post("/chat", async (c) => {
  const harness = new ClaudeHarness();
  const input = await c.req.json();

  const signals: Signal[] = [];
  for await (const signal of harness.run(input, { signal: c.req.raw.signal })) {
    signals.push(signal);
  }

  return c.json({ signals });
});
```

## Deleted Exports (v0.2.0)

The following were removed in v0.3.0:

- `createChatRoute`, `createCommandsRoute`, `createEventsRoute` - Old API routes
- `createLocalAIKitTransport`, `WebSocketTransport` - Old transports
- `createWorkflow`, `runFlow`, `registerStandardNodes` - Old workflow utilities
- Claude agent/node types - Use `ClaudeHarness` from @open-harness/core

## See Also

- [@open-harness/core](../core/README.md) - Harnesses and signals
- [Hono documentation](https://hono.dev/) - Web framework
npm package: @open-harness/stores
Description: --- lastUpdated: "2026-01-10T10:11:36.649Z" lastCommit: "150d2ad147832f2553c0dbfb779f1a466c0a001b" lastCommitDate: "2026-01-10T09:55:26Z" --- # @open-harness/stores
Latest version: 1.0.0-alpha.3

---
lastUpdated: "2026-01-10T10:11:36.649Z"
lastCommit: "150d2ad147832f2553c0dbfb779f1a466c0a001b"
lastCommitDate: "2026-01-10T09:55:26Z"
---
# @open-harness/stores

Signal storage implementations for Open Harness.

## Status: Stub Package

This package is a placeholder for future persistent stores. The v0.2.0 stores (`FileRecordingStore`, `SqliteRecordingStore`, `SqliteRunStore`) were deleted as part of the v0.3.0 migration.

## Current Exports

```typescript
import { MemorySignalStore, type SignalStore } from "@open-harness/stores";
```

Re-exports the in-memory store from core for convenience.

## Available Stores

### MemorySignalStore (Current)

In-memory signal storage, ideal for testing and short-lived sessions:

```typescript
import { MemorySignalStore } from "@open-harness/stores";
import { runReactive } from "@open-harness/core";

const store = new MemorySignalStore();

const result = await runReactive({
  agents: { myAgent },
  state: initialState,
  provider,
  signalStore: store,
});

// Access recorded signals
const recording = await store.load("run-id");
```

## Planned Future Stores

- `FileSignalStore` - File-based signal persistence (JSON/JSONL)
- `SqliteSignalStore` - SQLite-backed signal storage
- `S3SignalStore` - Cloud storage for signals

## SignalStore Interface

Custom stores must implement:

```typescript
interface SignalStore {
  append(runId: string, signal: Signal): Promise<void>;
  load(runId: string): Promise<Recording | null>;
  checkpoint(runId: string, index: number): Promise<void>;
  list(query?: RecordingQuery): Promise<RecordingMetadata[]>;
  delete(runId: string): Promise<void>;
}
```

## See Also

- [@open-harness/core](../core/README.md) - Core API
- [Recording example](../../../examples/recording-replay/) - Recording patterns
npm package: @open-harness/testing
Description: --- lastUpdated: "2026-01-11T13:09:48.217Z" lastCommit: "907d0b728b929259d4b202827743bf044de77fdd" lastCommitDate: "2026-01-11T10:45:33Z" --- # @open-harness/testing
Latest version: 1.0.0-alpha.3

---
lastUpdated: "2026-01-11T13:09:48.217Z"
lastCommit: "907d0b728b929259d4b202827743bf044de77fdd"
lastCommitDate: "2026-01-11T10:45:33Z"
---
# @open-harness/testing

Testing utilities for Open Harness signal-based architecture.

## Status: Stub Package

This package is a placeholder for future testing utilities. The v0.2.0 utilities (`MockRuntime`, `runtimeContract`) were deleted as part of the v0.3.0 migration to signal-based providers.

## Current Exports

```typescript
import { MemorySignalStore, Player, type SignalStore } from "@open-harness/testing";
```

Re-exports core testing primitives for convenience.

## Testing Signal-Based Code (v0.3.0)

### Recording and Replay

```typescript
import { MemorySignalStore, Player } from "@open-harness/testing";
import { runReactive } from "@open-harness/core";

// Record signals during execution
const store = new MemorySignalStore();
const result = await runReactive({
  agents: { myAgent },
  state: initialState,
  provider,
  signalStore: store,
});

// Replay with Player (VCR-style)
const player = new Player(result.signals);
player.step();  // Advance one signal
player.goto(5); // Jump to signal index 5
```

### Mocking Providers

```typescript
import { type Provider, createSignal } from "@open-harness/core";

const mockProvider: Provider = {
  run: async function* (input, ctx) {
    yield createSignal("harness:start", {});
    yield createSignal("text:delta", { delta: "Mock response" });
    yield createSignal("harness:end", { output: "Mock response" });
  },
};
```

## Recommended: @open-harness/vitest

For Vitest-based testing with custom matchers, use [@open-harness/vitest](../vitest/README.md):

```typescript
import { expect } from "vitest";
import { signalMatchers } from "@open-harness/vitest";

expect.extend(signalMatchers);

expect(result.signals).toContainSignal("agent:activated");
expect(result.signals).toHaveSignalsInOrder(["harness:start", "harness:end"]);
```

## Planned Future Utilities

- Signal factories for common test patterns
- Provider mocking helpers
- Fixture recording/loading utilities
- Contract tests for custom providers

## See Also

- [@open-harness/vitest](../vitest/README.md) - Vitest matchers
- [Testing example](../../../examples/testing-signals/) - Full test patterns
npm package: @open-hotel/pixel
Description: Pixel UI is a Vue.js based lib that implements Habbo UI components. It is being designed for [Open Hotel](https://github.com/open-hotel/open-hotel-client).
Latest version: 0.2.6

# Pixel UI

Pixel UI is a Vue.js based lib that implements Habbo UI components.
It is being designed for [Open Hotel](https://github.com/open-hotel/open-hotel-client).

Check out the [demo](https://pixel-ui.netlify.com/#/).

It is still an on-going project, so contributions are more than welcomed!

## Install

```bash
yarn add @open-hotel/pixel
# or
npm install @open-hotel/pixel
```

## Usage

You can install all the UI components

```js
import { PixelUI } from '@open-hotel/pixel'
import Vue from 'vue'

Vue.use(PixelUI)
```

Or use them separetely

```js
// MyComponent.vue
import { Button as PxBtn } from '@open-hotel/pixel'

export default {
  components: {
    PxBtn
  }
}
```