open-index/open-npm huggingface dataset:
npm package: @funkybob/csv
Description: Simple CSV generator
Author: Curtis Maloney
Latest version: 1.1.1

Simple CSV encoder
==================

Overview
--------

    import {CSVWriter} from '@funkybob/csv';

    const csv = CSVWriter(fields, [options])

 - fields: list of field keys
 - options:
   - headers: list of header labels for the fields (Defaults to fields)
   - SEP : field separator (Default: ',')
   - QUOTE : field quoting character (Default: '"')
   - LINEBREAK : record separator (Default: '\n')
   - ESCQUOTE : what to replace QUOTEs in values with (Default: '""')

   csv.write(Array)

   - write list of values

     Note: this ignores `fields`, and writes all the values to a row.

   csv.write\_map(Object)

   - write values from object according to fields.

   csv.write\_headers()

   - write headers as a row.

Usage
-----

Simple list of values:

    const data = [
        [1, 'one'],
        [2, 'two'], 
        [3, 'three']
    ]

    const csv = CSVWriter(['first', 'second'])

    const csvContent = data.map(csv.write).join('')


List of objects:

    const data = [
        {name: 'one', value: 1},
        {name: 'two', value: 2},
        {name: 'three', value: 3}
    ]

    const csv = CSVWriter(['name', 'value'])

    const csvContent = data.map(csv.write_map).join('')


Add headers:

    const data = [
        {name: 'one', value: 1},
        {name: 'two', value: 2},
        {name: 'three', value: 3}
    ]

    const csv = CSVWriter(['name', 'value'], ['First', 'Second'])

    const csvContent = csv.write_headers() + data.map(csv.write_map).join('')
npm package: @funkybob/downlink
Description: Download Browser-generated files.
Author: Curtis Maloney
Latest version: 0.1.0

Download
========

Download browser-generated content to the user.

Usage
-----

    import {downlink} from '@funkybob/downlink';

    // Sample YAML from http://yaml.org/start.html
    let content = `
    --- !clarkevans.com/^invoice
    invoice: 34843
    date   : 2001-01-23
    bill-to: &id001
        given  : Chris
        family : Dumars
        address:
            lines: |
                458 Walkman Dr.
                Suite #292
            city    : Royal Oak
            state   : MI
            postal  : 48046
    `;

    downlink(content, 'sample.yaml', 'text/yaml');
npm package: @funkybob/qs
Description: Simple QueryString parsing and building
Author: Curtis Maloney
Latest version: 1.1.2

qs
==

Simple querystring parsing and construction.

Parse
-----

The parse function will return an Object of the terms. Any leading '?' or '#'
will be removed, so it's safe to use on both location.search and location.hash.

    import qs from 'qs';

    // Parse the querystring
    params = qs.parse(window.location.search)

    // Parse the hash
    params = qs.parse(window.location.hash)

Any key that appears more than once in the query string will result in a list
in the result, with the values in order of discovery.

You can pass in an intial state to be updated:

    params = qs.parse(window.location.hash, defaults)

You can also use this to force some valies to be always be lists:

    params = qs.parse(..., {names: []})

Encode
------

Encodes values into a querystring. Can also be used to generate POST data.

Any values which are lists will be handled automatically.

Note: This library does NOT use the idiomatic PHP style of appending [] to
fields that have multiple values.


    import qs from 'qs'

    // results in foo=1&bar=a&bar=b
    qstring = qs.encode({foo: 1, bar: ["a", "b"]})
npm package: @funkybob/request
Description: Promise wrapper for XHR
Author: Curtis Maloney
Latest version: 0.0.9

# funky-request
Simple Promise wrapper for XHR

# request.request(url, options)

Options:

 - method : GET | POST | ...
 - data : post body
 - form : form element to POST
 - headers: {}
 - query:

If *form* is provided, it will override *data*, and a FormData instance will be
constructed with it.

If provided, *data* will be encoded according to the 'Content-Type' header. If
it is 'application/json', then *data* will be JSON encoded. Otherwise, URL
encoding will be applied.

# request.defaultHeaders = {}

Any values added to this Object will be set as Headers on all requests.

# request.prepareHeaders(headers)

A hook to allow a callable to inspect and modify headers before each request.

# request.json(url, options)

Automatically decodes successful responses from JSON.

# request.rpc(url, method, data)

Sets 'Content-Type' as 'application/json', passes *method* in a 'X-RPC-Action'
header, and JSON decodes the response.

# request.RequestError

All errors are raised using this class.

Properties:

 - message: the Method and URL of the request
 - errorType: one of 'error', 'timeout', or 'abort'
 - xhr : the XMLHttpRequest instance
npm package: @funkycram/n8n-nodes-humhub
Description: A node consuming the HumHub API.
Author: Marc FARRE
Latest version: 0.1.8

# n8n-nodes-humhub

An n8n node consuming HumHub API.

## License

[MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)
npm package: @funly/macpilot
Description: MCP server for MacPilot — gives AI agents mouse, keyboard, screenshot, and accessibility control of macOS via a local HTTP API
Author: Funly
Latest version: 0.3.0

# @funly/macpilot

MCP (Model Context Protocol) server for **MacPilot** — gives AI agents mouse, keyboard, screenshot, and accessibility control of macOS desktops.

MacPilot is a local HTTP API that runs as a menu bar app on macOS. This MCP server wraps that API so any MCP-compatible AI agent (Claude, etc.) can control the desktop through standard MCP tool calls instead of raw HTTP.

## Quick Start

### Install

```bash
npm install -g @funly/macpilot
```

### Configure in Claude Code / Claude Desktop

Add to your MCP config:

```json
{
  "mcpServers": {
    "macpilot": {
      "command": "npx",
      "args": ["-y", "@funly/macpilot"],
      "env": {
        "MACPILOT_HOST": "127.0.0.1",
        "MACPILOT_PORT": "49901",
        "MACPILOT_API_KEY": ""
      }
    }
  }
}
```

## Environment Variables

| Variable | Default | Description |
|---|---|---|
| `MACPILOT_HOST` | `127.0.0.1` | MacPilot server host |
| `MACPILOT_PORT` | `49901` | MacPilot server port |
| `MACPILOT_API_KEY` | (empty) | API key if MacPilot has auth enabled |

## Available Tools

### Session Management
- `session_status` — Check current status (available/active/user_control/user_finished/paused)
- `session_start` — Start a session (required before any actions)
- `session_end` — End session (always call when done)

### Screenshots
- `capture_window` — Screenshot a window (returns image + dimensions)
- `capture_region` — Screenshot a screen region

### Mouse
- `mouse_click` — Click using normalized coords (nx/ny 0.0–1.0)
- `mouse_double_click` — Double-click (select word)
- `mouse_scroll` — Scroll at position
- `mouse_move` — Move cursor
- `mouse_drag` — Drag between positions
- `mouse_position` — Get current cursor position

### Keyboard
- `click_and_type` — Click field + type text (most reliable form filling)
- `keyboard_type` — Type text via clipboard paste
- `keyboard_key` — Press key with modifiers
- `keyboard_shortcut` — Named shortcuts (copy, paste, etc.)

### Apps & Windows
- `list_apps` — All running apps with windowIds
- `focus_app` — Bring app to front
- `launch_app` — Launch an app
- `focused_app` — Get frontmost app

### Accessibility
- `accessibility_elements` — List UI elements (buttons, fields, labels)

### Batch & Debug
- `batch` — Multiple actions in one call
- `diagnostics` — Recent API call log

## Workflow

1. `session_start` with your agent name
2. `list_apps` to find target window
3. `capture_window` to see the screen
4. Calculate `nx = pixelX / imageWidth`, `ny = pixelY / imageHeight`
5. `mouse_click` or `click_and_type` at those coordinates
6. `capture_window` again to verify
7. `session_end` when done

## License

MIT
npm package: @funnc/mui
Description: React components that implement Google's Material Design.
Author: MUI Team
Latest version: 5.10.13

# @mui/material

React components that implement Google's Material Design.

## Installation

Install the package in your project directory with:

```sh
// with npm
npm install @mui/material

// with yarn
yarn add @mui/material
```

## Documentation

[The documentation](https://mui.com/)
npm package: @funnel-io/lalr
Description: Local API Gateway-lambda runner.
Latest version: 0.0.14

# LALR

Local API Gateway-lambda runner.

Runs your lambda locally with hot reloading through an API-gateway mock.

## Features

- Is able to listen to your source code and react to changes. Is also able to compile your code when that happens.
- Starts a web server at 127.0.0.1:8080 and will through various adapters run your code and return it the HTTP client.

Language support:

- JavaScript
- TypeScript
- Python

## Dependencies

Due to esbuild having difficult bundling `nodemon`, it's required to have in your node environment before running.

## Motivation

AWS' `sam` has a CLI tool has a command `sam local start-api`, that will take a yaml file and start an API gateway mock HTTP server. The problem with this is that there [no support to hot reload your code](https://github.com/aws/aws-sam-cli/issues/901) from a built `asset` folder, you manually need to run `sam build` to build your lambda and then run it. If you're using aws-cdk to deploy your code, it doesn't really make sense to build your lambda with `sam build`.

## Usage

`yarn add --dev @funnel-io/lalr`

### TypeScript

`$ yarn lalr --lambda-path dist/index.js --lambda-handler lambdaHandler --build-language ts --build "yarn tsc"`

### JavaScript

`$ yarn lalr --lambda-path dist/index.js --lambda-handler lambdaHandler --build-language js`

### Python

`$ yarn lalr --lambda-path handler.py --lambda-handler handler --build-language python`

### Run example lambda

`$ yarn lalr --lambda-path example-dist/index.js --lambda-handler myHandler --build-language js`

`$ curl -H "x-hello: test" "http://localhost:8080?queryParam=hello"`