open-index/open-npm huggingface dataset:
npm package: @maennl/iobroker.webfuel
Description: Zugriff auf das Webfuel.de API
Author: Marcel Schmidt
Latest version: 0.1.12

![Logo](admin/webfuel.png)

# ioBroker.webfuel

[![NPM version](https://img.shields.io/npm/v/iobroker.webfuel.svg)](https://www.npmjs.com/package/iobroker.webfuel)
[![Downloads](https://img.shields.io/npm/dm/iobroker.webfuel.svg)](https://www.npmjs.com/package/iobroker.webfuel)
![Number of Installations](https://iobroker.live/badges/webfuel-installed.svg)
![Current version in stable repository](https://iobroker.live/badges/webfuel-stable.svg)

[![NPM](https://nodei.co/npm/iobroker.webfuel.png?downloads=true)](https://nodei.co/npm/iobroker.webfuel/)

**
Tests:** ![Test and Release](https://github.com/maennl/ioBroker.webfuel/workflows/Test%20and%20Release/badge.svg)

## webfuel adapter for ioBroker

Zugriff auf das Webfuel.de API

Dieser Adapter dient zum Zugriff auf das REST-API von webfuel.de.
In der ersten Version steht der Zugriff auf Sondendaten zur Verfügung.

<!--  
    Placeholder for the next version (at the beginning of the line):
    ### **WORK IN PROGRESS**
-->

## Changelog
### 0.1.12 (2022-03-02)

- (Vorbereitung für) npm-Release

### 0.1.11 (2022-03-02)

- Update von Abhängigkeiten

### 0.1.10 (2022-02-21)

- Workaround für Request-Error

### 0.1.9 (2022-02-16)

- Aufräumarbeiten

### 0.1.8 (2022-02-16)

- einige Aufräumarbeiten
- Umbenennung des Adapters gemäß den Vorgaben

## License

MIT License

Copyright (c) 2022 Marcel Schmidt <derprogger@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @maeris/maeris-player
Description: Local Playwright-based runner for Maeris
Latest version: 0.2.0

# Maeris Player

Local Playwright-based runner for Maeris **Run in Browser**.
Start the runner once, then trigger runs from the Maeris web app.

## Prerequisites
- Node.js 18+
- macOS / Windows / Linux

## Quick start
```bash
npx @maeris/maeris-player
```

This starts the local runner on `ws://localhost:8090` (headed by default).  
Keep it running, then click **Run in Browser** in the Maeris UI.

If you prefer a global install:
```bash
npm i -g @maeris/maeris-player
maeris-player
```

## How users run tests
1. Start the runner:
   ```bash
   npx @maeris/maeris-player
   ```
2. Open the Maeris app and click **Run in Browser**.
3. The runner opens a local browser window and executes the steps.

## Production usage options
### Option A — Extension proxy (recommended)
Works from `https://` without TLS.  
The Maeris extension connects to the local runner and proxies events.

1. Install the Maeris Chrome extension.
2. Start the runner:
   ```bash
   npx @maeris/maeris-player
   ```
3. Click **Run in Browser** in the Maeris app.

### Option B — TLS direct (no extension)
Connect directly from an `https://` web app using `wss://localhost`.

```bash
npx @maeris/maeris-player setup-cert

# macOS/Linux
MAERIS_TLS_CERT="$HOME/.maeris-player/certs/localhost.cert.pem" \
MAERIS_TLS_KEY="$HOME/.maeris-player/certs/localhost.key.pem" \
npx @maeris/maeris-player
```

Then trust the certificate as instructed by `setup-cert`.  
The runner will listen on `wss://localhost:8090`.

Tip: if you used the default cert location, you can also run:
```bash
maeris-player --tls
```

## Troubleshooting
- If the Maeris web app shows "Extension required" on an `https://` page:
  - use the Maeris Player (TLS) option in the modal, or
  - install the extension (Option A).
- If runs don't start, confirm the runner is listening:
  - `ws://localhost:8090` for non-TLS
  - `wss://localhost:8090` for TLS

## Maintainers
### Publishing
This is published as a public scoped package (`@maeris/maeris-player`).

If your npm org enforces 2FA, you will need either:
- an OTP at publish time (`npm publish --otp=123456`), or
- a granular access token with "bypass 2FA for publish" enabled.

First publish (or if npm requires it for scoped packages):
```bash
npm publish --access public
```

### Architecture (for contributors)
1. `src/cli/run.js` starts a WebSocket server and waits for the UI to send `RUN_STEPS`, or replays a local JSON file when `--steps` is provided.
2. `src/runner/index.js` normalizes steps, opens Playwright, and streams `STEP_*` / `REPLAY_*` events over WebSocket (port 8090).
3. `src/runner/playwrightAdapter.js` performs clicks, inputs, navigations, assertions, and captures screenshots on failure.
npm package: @maestro-app/typescript-sdk
Description: TypeScript SDK for building and executing Maestro workflows
Author: Maestro
Latest version: 1.5.4

# Maestro TypeScript SDK

Build and execute Maestro workflows programmatically using TypeScript/JavaScript.

## Installation

```bash
npm install @maestro-app/typescript-sdk
```

## Quick Start

```typescript
import {
  Workflow,
  StartNode,
  GeneratorNode,
  EndNode,
  MaestroClient,
} from "@maestro-app/typescript-sdk";

// Build a workflow
const workflow = new Workflow("My Workflow");

const start = new StartNode({ id: "start"});
const generator = new GeneratorNode({
  id: "generate",
  systemPrompt: "Generate something about the given input",
});
const end = new EndNode({ id: "end" });

workflow
  .addNode(start)
  .addNode(generator)
  .addNode(end)
  .connect(start, generator)
  .connect(generator, end);

const client = new MaestroClient({
  apiKey: "your-api-key",
  accountSlug: "my-account",
});

const { runId } = await client.executeWorkflow(workflow, {key: "value"});

// Stream the results
for await (const event of client.streamRun(runId)) {
  console.log(event);
}
```

## Node Types

### StartNode

Entry point for the workflow.

```typescript
const start = new StartNode({
  id: "start",
});
```

### EndNode

Exit point for the workflow.

```typescript
const end = new EndNode({
  id: "end",
  outputMappingExpression: "{{generate.output}}",
});
```

### GeneratorNode

LLM-based content generation with optional tools and RAG.

```typescript
const generator = new GeneratorNode({
  id: "generate",
  systemPrompt: "Generate content based on: {{input}}",
  provider: "openai",
  modelName: "gpt-4",
  tools: ["web_search"],
  retrieveCollectionName: "my-docs",
});
```

### ValidatorNode

Validates outputs with retry logic.

```typescript
const validator = new ValidatorNode({
  id: "validate",
  systemPrompt: "Validate the output",
  validatesNodeId: "generate",
  maxRetries: 3,
});
```

### ProcessorNode

Processes and transforms data.

```typescript
const processor = new ProcessorNode({
  id: "process",
  systemPrompt: "Transform the input",
});
```

## Client Methods


### `executeWorkflow(workflow, input?)`

Execute a workflow without persisting it to the database.

```typescript
const { runId } = await client.executeWorkflow(workflow, { key: "value" });
```

### `streamRun(runId)`

Stream execution events in real-time (SSE).

```typescript
for await (const event of client.streamRun(runId)) {
  console.log(event);
}
```

## API Reference

### Workflow

```typescript
class Workflow {
  constructor(name: string, description?: string);

  addNode(node: WorkflowNode): this;
  removeNode(nodeId: string): this;
  getNode(nodeId: string): WorkflowNode | undefined;
  connect(source, target, options?): this;
  validate(): void;
  toJSON(): object;
}
```

### MaestroClient

```typescript
class MaestroClient {
  constructor(config: {
    apiKey: string;
    accountSlug: string;
    baseUrl?: string;
  });
  executeWorkflow(workflow, input?): Promise<TriggerRunResult>;
  streamRun(runId, options?): AsyncGenerator<WorkflowStreamEvent>;
}
```

## License

MIT
npm package: @maestro_io/maestro-web-sdk
Description: Official SDK for integrating Maestro interactive features into web and TV streaming applications.
Latest version: 5.3.6

# Maestro Web SDK

Official SDK for integrating Maestro interactive features into web and TV streaming applications.

## Installation

```bash
npm install @maestro_io/maestro-web-sdk
```

## Documentation

For complete documentation, setup guides, and API reference, visit:

**[developers.maestro.io/sdk/web](https://developers.maestro.io/sdk/web/)**
**[Maestro](https://www.maestro.io/)**

## Requirements

- React 16+
- Node.js 18+

## License

MIT
npm package: @maestro_io/panel-sdk
Description: Maestro panel SDK for Node.js
Author: Maestro.io, Inc.
Latest version: 0.1.4

# Maestro Panel SDK
Version: 1.00.0

Initializing

```ecmascript 6
const MaestroPanelSDK = require('MaestroPanelSDK');
const panel = new MaestroPanelSDK();

const run = async () => {
  panel.init();
}

// get style from parent
panel.on('style', (style) => {
  // do stuff
  
});

// tell parent to render panel
panel.render();

// initialize the sdk
panel.init();

// destroy when finished
panel.destroy();

```

### Methods
Name | Params | Description | Payload | Async
--- | --- | --- | --- | ---
init | | registers the iframe with the parent and inits listener | | false 
destroy | | destroys listeners and informs parent this iframe is destroyed | | false 
render | | informs the parent the panel should be rendered | | false

### Events
Name | Description
style | fired when the parent's style changes | Payload matches IStyle.ts