open-index/open-npm huggingface dataset:
npm package: @raylan_campos/task-component
Description: ## Setup ``` npm i @raylan_campos/task-component --save ```
Latest version: 0.1.9

# Task Component

## Setup
```
npm i @raylan_campos/task-component --save
```

## Usage
```
import { Task } from '@raylan_campos/task-component'
```
```
export default {
  components: {
    Task
  }
}
```
```
<Task title="My First Task" description="Description of my first task..." />
```
npm package: @raylay/plugin
Description: Raylay plugin for OpenClaw Gateway
Latest version: 1.0.1

# raylay-companion

OpenClaw Gateway plugin that gives agents a `raylay_notify` tool for sending rich, structured notifications to the Raylay desktop app.

## How it works

1. Agent calls `raylay_notify(title, summary, type, ...)` with structured payload
2. Plugin stores notification in an in-memory queue
3. Raylay desktop polls `raylay.fetch_queue` every 2s via its existing WebSocket connection
4. Rich notification card appears in Raylay's ambient layer

## Installation

```bash
# Link for local development (no copy — live reloads)
openclaw plugins install -l ./companion-plugin

# Or install from this directory
openclaw plugins install ./companion-plugin

# Verify it's active
openclaw plugins list
```

Then restart the OpenClaw Gateway.

## Enable the tool on your agents

Add to `openclaw.json`:

```json
{
  "agents": {
    "list": [
      {
        "id": "your-agent",
        "tools": {
          "allow": ["raylay_notify"]
        }
      }
    ]
  }
}
```

Or enable for all agents using `group:plugins`.

## Gateway RPC methods (used by Raylay desktop automatically)

| Method | Description |
|--------|-------------|
| `raylay.fetch_queue` | Returns pending notifications since a timestamp |
| `raylay.clear_notification` | Removes a notification from the queue |
| `raylay.status` | Health check + queue size |

## What agents see

The `raylay_notify` tool description tells agents exactly when and how to use it. No prompt engineering needed — the tool's own description drives correct usage.

### Notification types

| type | When to use |
|------|-------------|
| `completion` | Task or sub-task finished, optional result |
| `progress` | Ongoing multi-step operation with milestones |
| `preview` | Document, PDF, image, or code ready to view |
| `decision` | User needs to approve or choose something |
| `error` | Failure that needs attention |
| `quiet` | Background note, auto-dismisses in 4s |

### Example agent calls

```
# Research complete with PDF
raylay_notify(
  title="Competitor Analysis Complete",
  summary="14-page report covering pricing, feature gaps, and go-to-market strategy.",
  type="preview",
  agentName="Research",
  previewUrl="https://storage.example.com/reports/Q1-analysis.pdf",
  metadata={"previewType": "pdf"}
)

# Decision needed
raylay_notify(
  title="Action Approval Required",
  summary="Deploy agent wants to run the production migration script.",
  type="decision",
  agentName="Deploy",
  actions=[
    {"label": "Approve", "actionId": "deploy_approved", "variant": "primary"},
    {"label": "Deny",    "actionId": "deploy_denied",   "variant": "danger"}
  ]
)

# Quiet background note
raylay_notify(
  title="Memory updated",
  summary="Saved 3 notes from today's session.",
  type="quiet",
  agentName="CEO"
)
```