open-index/open-npm huggingface dataset:
npm package: @kayahr/eslint-config
Description: kayahr eslint config for TypeScript projects
Latest version: 3.6.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

kayahr eslint config
====================

Shared eslint configuration for my personal TypeScript projects.


How to use it in a project
--------------------------

* Install the dependencies:

    ```bash
    $ npm install -DE @kayahr/eslint-config
    ```

* Create an `eslint.config.js` (Or `eslint.config.mjs` in CommonJS projects) configuration file with the following content (Modify environment if necessary):

  ```js
  {
      import kayahrConfigs from "@kayahr/eslint-config";
      import globals from "globals";

      export default [
          {
              ignores: [
                  "doc",
                  "lib"
              ]
          },
          {
              languageOptions: {
                  globals: {
                      ...globals.browser,
                      ...globals.node
                  }
              }
          },
          {
              files: [ "**/*.js" ],
              languageOptions: {
                  sourceType: "commonjs"
              }
          },
          ...kayahrConfigs
      ];
  }
  ```

  The block with `sourceType: "commonjs"` is only needed for CommonJS projects.

* Add the following script line to `package.json`:

    ```json
    "lint": "eslint --max-warnings 0"
    ```

* Reference the `lint` script in the `test` script:

    ```json
    "test": "npm run -s lint && npm run -s check"
    ```

* Run eslint by typing `npm test` or `npm run lint`.
npm package: @kayahr/harmless
Description: A minimalistic reactive web framework written in TypeScript
Author: Klaus Reimer
Latest version: 0.0.4

[GitHub] | [NPM] | [API Doc]

| :warning: This project is currently under construction and missing crucial functionality |
| - |

A minimalistic reactive web frontend framework written in TypeScript.

## Features

* Fine-grained reactive DOM updates via [promises], [observables] and signals using a framework-independent [signal] implementation.
* Based on standard [JSX] using the automatic runtime (aka `react-jsx` mode), so no special transpiler plugin needed.
* Supports dependency injection via a framework-independent [cdi] implementation.
* Provides built-in components for flow control, like [If], [Choose] and [Route].
* It's just a library without any build system requirements. Use whatever you like.
* Easily testable with any JSX-capable testing framework (like [Vitest]).

Some features are intentionally missing to keep Harmless small and focused:

* No server rendering. Harmless is a client-only library.
* No web component support. Should be easy enough to use Harmless inside a web component, though.
* No CLI tools. Harmless is just a library and doesn't dictate how to structure your project or how to work with it.
* No CommonJS support. It's time to leave the stone age behind and use [ESM] everywhere.

## TODO

* Write built-in components like `For` to iterate over collections of data.
* Write documentation

## More

Check out the [documentation].


[API Doc]: https://kayahr.github.io/harmless/modules/_kayahr_harmless.html
[Documentation]: https://kayahr.github.io/harmless/documents/Getting_started.html
[GitHub]: https://github.com/kayahr/harmless
[NPM]: https://www.npmjs.com/package/@kayahr/harmless
[Vitest]: https://vitest.dev/
[signal]: https://www.npmjs.com/package/@kayahr/signal
[cdi]: https://www.npmjs.com/package/@kayahr/cdi
[promises]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
[observables]: https://github.com/tc39/proposal-observable
[JSX]: https://www.typescriptlang.org/docs/handbook/jsx.html
[ESM]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
[If]: https://kayahr.github.io/harmless/documents/Control_Flow.If.html
[Choose]: https://kayahr.github.io/harmless/documents/Control_Flow.Choose.html
[Route]: https://kayahr.github.io/harmless/documents/Control_Flow.Route.html
npm package: @kayahr/jest-matchers
Description: Additional Jest matchers
Latest version: 28.2.0
Deprecated: Package no longer maintained

jest-matchers
=============

Some additional [Jest] matchers I usually use in my projects.


Usage
-----

* Install dependency:

    ```
    npm install --dev @kayahr/jest-matchers
    ```

* Import it in your Jest test file:

    ```typescript
    @import "@kayahr/jest-matchers";
    ```


Matchers
--------

### toEqualCloseTo(value, numDigits?)

Recursive version of [toBeCloseTo()] so you can compare arrays or objects with numeric values with a
specific precision. **numDigits** defaults to 2 if not specified.

```typescript
expect(values).toEqualCloseTo([ 10.3132, 40.1224, 50.1311 ], 4);
```

### toBeEquatable(equalValues, unequalValues)

Checks if the tested object has an `equals` method which correctly implements an equivalence relation on non-null object references (See Java's [object.equals()] method for details).

```typescript
expect(new Color(0, 0, 0)).toBeEquatable(
    [ new Color(0, 0, 0), new Color("black") ],
    [ new Color(1, 0, 0), new Color(0, 1, 0), new Color(0, 0, 1), new Color("white") ]
);
```

### toBeGarbageCollected(destructor, timeout)

Checks if the test object (which must be passed via a `WeakRef`) is correctly garbage collected. For this you have to specify a destructor function which
removes all references to the test object. You can also optionally specify a timeout which defaults to 5000 milliseconds. When the object was not garbage
collected in this time then the test fails.

```typescript
let testSubject: Record<string, unknown> | undefined = { a: 34 };
await expect(new WeakRef(testSubject)).toBeGarbageCollected(() => { testSubject = undefined; });
```

[Jest]: https://jestjs.io/
[toBeCloseTo()]: https://jestjs.io/docs/en/expect#tobeclosetonumber-numdigits
[object.equals()]: https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)
npm package: @kayahr/oxlint-config
Description: Shared oxlint config for @kayahr projects
Latest version: 1.31.1

# @kayahr/oxlint-config

[GitHub] | [NPM]

Shared [oxlint] configuration for my personal TypeScript projects.

## Usage

Install the dependencies:

```bash
$ npm install -DE @kayahr/oxlint-config
```

Create an `.oxlintrc.json` configuration file with the following content (modify environment if necessary):

```json
{
    "$schema": "node_modules/oxlint/configuration_schema.json",
    "extends": [
        "node_modules/@kayahr/oxlint-config/.oxlintrc.json"
    ],
    "env": {
        "node": true,
        "browser": true
    }
}
```

Add the following script line to `package.json`:

```json
{
    "scripts": {
        "test:lint": "oxlint --type-aware --deny-warnings",
        "test": "npm run test:lint"
    }
}
```

When using the [OXC VSCode extension] extension then enable `typeAware` flag in `.vscode/settings.json`:

```json
{
    "oxc.typeAware": true
}
```

[GitHub]: https://github.com/kayahr/oxlint-config
[NPM]: https://www.npmjs.com/package/@kayahr/oxlint-config
[oxlint]: https://oxc.rs/docs/guide/usage/linter
[OXC VSCode Extension]: https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode
npm package: @kayahr/stackblur
Description: A fast but still good looking image blur
Author: Klaus Reimer
Latest version: 2.0.1

StackBlur
=========

[GitHub] | [NPM] | [API Doc]

A fast almost Gaussian Blur. Based on Mario Klingemann's original [StackBlur v0.5](http://web.archive.org/web/20110707030516/http://www.quasimondo.com/StackBlurForCanvas/StackBlur.js) from 2011 with the following changes:

* Ported to modern TypeScript.
* Converted to a NPM module.
* Fixed bit-shifting error preventing the usage of blur radius larger than 180.
* Fix problems with blur radius larger than image.
* Improved alpha channel blurring.

Usage
-----

Install the library as a dependency in your project:

```
npm install @kayahr/stackblur
```

And then use it like this:

```typescript
import { blurImageData } from "@kayahr/stackblur";

// Get image data from some canvas
// ...
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);

// Blur image data
const radius = 10; // Valid range: 0-254
const withAlpha = false; // Optional, defaults to true
blurImageData(imageData, radius, withAlpha);

// Draw image data back onto canvas
ctx.putImageData(imageData, 0, 0);
```

The blur function itself has no dependency on `Canvas` or a real `ImageData` object. The passed image data simply must have a `data` property containing the raw RGBA pixels as a `Uint8Array` or `ClampedUint8Array` and a `width` and `height` property. So it should work fine with libraries like [node-canvas], [sharp] or [jimp].

[API Doc]: https://kayahr.github.io/stackblur/
[GitHub]: https://github.com/kayahr/stackblur
[NPM]: https://www.npmjs.com/package/@kayahr/stackblur
[node-canvas]: https://www.npmjs.com/package/canvas
[sharp]: https://www.npmjs.com/package/sharp
[jimp]: https://www.npmjs.com/package/jimp
npm package: @kayahr/ts-json-schema-generator
Description: A drop-in replacement for ts-json-schema-generator, bundling the tool and all its dependencies into a single module
Author: Klaus Reimer
Latest version: 2.9.0-bundle.1

# @kayahr/ts-json-schema-generator

[GitHub] | [NPM]

A drop-in replacement for [ts-json-schema-generator], bundling the tool and all its dependencies into a single module.

This package is primarily for my own use as a single dev dependency across my projects, to centralize the review of updates for the dependencies that ts-json-schema-generator brings along, and to reduce the threat of a supply-chain attack. Use at your own risk.

Usage
-----

Install as development dependency:

```
npm install -DE @kayahr/ts-json-schema-generator
```

Usage is the same as with the original [ts-json-schema-generator], so check upstream documentation for more info.

[GitHub]: https://github.com/kayahr/ts-json-schema-generator
[NPM]: https://www.npmjs.com/package/@kayahr/ts-json-schema-generator
[ts-json-schema-generator]: https://www.npmjs.com/package/ts-json-schema-generator
npm package: @kayahr/typedoc
Description: A drop-in replacement for typedoc, bundling typedoc and its dependencies into a single module
Author: Klaus Reimer
Latest version: 0.28.18-bundle.1

# @kayahr/typedoc

[GitHub] | [NPM]

A drop-in replacement for [typedoc], bundling typedoc and its dependencies into a single module.

This package is primarily for my own use as a single dev dependency across my projects, to centralize the review of updates for the dependencies that typedoc brings along, and to reduce the threat of a supply-chain attack. Use at your own risk.

## Usage

Install as development dependency:

```
npm install -DE @kayahr/typedoc
```

Usage is the same as with the original [typedoc], so check upstream documentation for more info.

## Plugins

This bundle includes the following two plugins:

* [typedoc-github-theme]
* [typedoc-plugin-mdn-links]

The bundled plugins can be loaded like this in `typedoc.json`:

```json
{
    "plugin": [
        "@kayahr/typedoc/github-theme",
        "@kayahr/typedoc/mdn-links"
    ]
}
```

Other plugins require the bundle to be referenced as a forked dependency and override in `package.json`. Example:

```json
{
    "overrides": {
        "typedoc": "npm:@kayahr/typedoc@0.28.13-bundle.1"
    },
    "devDependencies": {
        "typedoc": "npm:@kayahr/typedoc@0.28.13-bundle.1"
    }
}
```

[GitHub]: https://github.com/kayahr/typedoc
[NPM]: https://www.npmjs.com/package/@kayahr/typedoc
[typedoc]: https://www.npmjs.com/package/typedoc
[typedoc-github-theme]: https://www.npmjs.com/package/typedoc-github-theme
[typedoc-plugin-mdn-links]: https://www.npmjs.com/package/typedoc-plugin-mdn-links
npm package: @kayako/apps-proxy
Description: This package is used by Kayako apps server and the local development server to make proxy requests from the installed apps.
Author: kayako
Latest version: 1.0.1

# Apps Proxy

This package is used by Kayako apps server and the local development server to make proxy requests from the installed apps.

The job of the package is to take a packet and make a HTTP request by reading information from the packet. It doesn't store any information of it's own.

## Installation
```bash
npm i https://github.com/kayako/apps-proxy.git
```

## Usage
```js
const { proxy } = require('apps-proxy')
await proxy.makeRequest(payload, options)
```

#### Payload
Here is the list of accepted values in payload

| key | value | description |
|------|--------|-------------|
| url | String | Url where to make the HTTP request.
| method | String | HTTP request method
| headers | Object | An object of headers to pass to the actual server
| body | Object | Http request body, must be valid Javascript Object.
| params | Object | Params to pass as URL query string.

#### Options
Here is the list of required options.

| key | value | description |
|------|--------|-------------|
| whiteListedDomains | Array | An array of whitelisted domains. Only urls from this array will be allowed, else if an exception will be raised.
| tokens | Object | An object of values to replace the dynamic placeholders.

#### Allowed content-types
Only following content types are allowed in the `content-type` header. This service will transform the body itself based upon the `content-type`.

- application/x-www-form-urlencoded
- application/json

## Response structure
The response structure is defined below.

```js
{
  data: {
    status: 200,
    statusText: 'OK',
    headers: {},
    body: {}
  }
}
```

## Terms
Below is the used terms and what they mean. These terms are not unique to the proxy service, but instead used in the apps space.

#### Placeholders 
These are values, which are not known to the app developer, but developer does know the `keys` for these values. 

For example: App needs the `apiKey` to make some HTTP request, so developer use a placeholder for that key and at runtime, that value is replaced by the server.

```js
proxy.makeRequest({
  url: '{{ params.domain }}.salesforce.com'
}, {
  tokens: {
    params: {
      domain: 'kayako'
    }
  }
})
```

When making the request, `params.domain` will be replace with the defined value.

> NOTE: An exception will be raised if placeholders are defined, but their values are missing.

## Translations
Each exception raised from this package, will have a key called `translation`. You can use this key to define a human readable message for that exception.

```js
try {
  await proxy.makeRequest(payload, options)
} catch (error) {
  const message = antl.formatMessage(error.translation.key, error.translation.values)
  response.send(message)
}
```
npm package: @kaychenyi/dingtalk-calendar
Description: 钉钉日程管理 Skill - 通过自然语言创建、查询、删除钉钉日程
Author: Kay Chen
Latest version: 1.0.0

# 钉钉日历 Skill

通过自然语言管理钉钉日程，支持创建、查询、删除等操作。

## 功能特性

- 📅 **自然语言创建日程** - "明天上午10点开会"
- 🔍 **智能查询日程** - "查看明天的会议"
- 🗑️ **删除日程** - "删除今天下午3点的会议"
- 👥 **参会人邀请** - 自动搜索钉钉联系人

## 快速开始

### 1. 配置凭证

编辑 `index.js`，替换以下占位符：

```javascript
const APP_KEY = 'YOUR_APP_KEY';        // 钉钉应用 Key
const APP_SECRET = 'YOUR_APP_SECRET';  // 钉钉应用 Secret
const USER_OPEN_ID = 'YOUR_USER_OPEN_ID'; // 你的钉钉 openId
```

### 2. 安装依赖

```bash
npm install
```

### 3. 使用方式

在 OpenClaw 中直接说话：

```
创建日程：明天上午10点讨论方案，邀请张三和李四
查看明天的日程
删除今天下午3点的会议
```

## API 说明

| 功能 | 接口 | 说明 |
|------|------|------|
| 获取 Token | `/gettoken` | 应用凭证 |
| 搜索用户 | `/v1.0/contact/users/search` | 精确/模糊匹配 |
| 创建日程 | `/v1.0/calendar/users/{userId}/calendars/{calendarId}/events` | 需要 openId |
| 查询日程 | `/v1.0/calendar/users/{userId}/calendars/{calendarId}/events` | timeMin/timeMax |
| 删除日程 | DELETE `/v1.0/calendar/.../events/{eventId}` | - |

## 目录结构

```
dingtalk-calendar/
├── SKILL.md                 # Skill 定义文件
├── index.js                 # 主入口（Skill 集成）
├── skill.json               # 技能配置
├── scripts/
│   ├── dingtalk-calendar.js      # CLI 工具（完整 CRUD）
│   └── dingtalk-calendar-oauth.js # OAuth 示例
└── references/
    ├── api.md              # API 参考
    └── examples.md          # 使用示例
```

## 注意事项

1. 日程 API 需要用户的 **openId**，不是 userId
2. 搜索人员时使用 `fullMatchField: 1` 进行精确匹配
3. 查询日程使用 `timeMin`/`timeMax` 参数（不是 minTime/maxTime）
4. 应用需要在钉钉开放平台开通日历权限

## License

MIT
npm package: @kaycsailesh/draw
Description: UI for signal apps
Author: kaycsailesh
Latest version: 0.0.3

# signal-ui

> UI for signal apps

[![NPM](https://img.shields.io/npm/v/signal-ui.svg)](https://www.npmjs.com/package/signal-ui) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save signal-ui
```

## Usage

```tsx
import React, { Component } from 'react'

import MyComponent from 'signal-ui'
import 'signal-ui/dist/index.css'

class Example extends Component {
  render() {
    return <MyComponent />
  }
}
```

## License

MIT © [kaycsailesh](https://github.com/kaycsailesh)
npm package: @kaydafox/biome-config
Description: My main config for biomejs
Author: KaydaFox
Latest version: 1.0.0

<div align="center">

# @kaydafox/biome-config

My main biome configuration

</div>

**Table**

- [@kaydafox/biome-config](#kaydafoxbiome-config)
  - [Installation](#installation)
    - [Usage](#usage)

## Installation

This can be installed by using the below command. Just replace `yarn add` with your package manager if you use a different one

```sh
yarn add -D @kaydafox/biome-config
```

## Usage

This contains a few different tsconfigs depending on what I need

- `@kaydafox/biome-config/` / `@kaydafox/biome-config`
- `@kaydafox/biome-config/no-lint`
- `@kaydafox/biome-config/no-format`

I always recommend the base config to be added and the rest used as needed.
They can be used by adding them to your `biome.config` inside of `extends: []`

---

The `base` config is the default and is set up in a way that suits the majority of the projects I have, it does both formatting and linting

The `no-lint` config turns off the linter rules for biome

Lastly, `no-format` config turns off the format rules

I'd only use one of those if I was to use Prettier or ESLint along side biomejs though
npm package: @kaydafox/prettier-config
Description: The main prettier config I use for prettier
Author: KaydaFox
Latest version: 1.0.0

<div align="center">

# @kaydafox/prettier-config

My main prettier configuration

</div>

**Table**

- [@kaydafox/prettier-config](#kaydafoxprettier-config)
  - [Installation](#installation)
    - [Usage](#usage)

## installation

This can be installed by using the below command. Just replace `yarn add` with your package manager if you use a different one

```sh
yarn add -D @kaydafox/prettier-config
```

## Usage

To use this package, you can do 1 of 2 things

Either, add it to your package.json like so

```json
{
  "name": "your-project",
  "prettier": "@kaydafox/prettier-config"
}
```

Or to prettierrc.js

```js
module.exports = require("@kaydafox/prettier-config");
```
npm package: @kaydafox/typescript-config
Description: A collection of typescript configs I have for different use cases
Author: KaydaFox
Latest version: 1.0.0

<div align="center">

# @kaydafox/typescript-config

My main typescript configurations

</div>

**Table**

- [@kaydafox/typescript-config](#kaydafoxts-config)
  - [Installation](#installation)
    - [Usage](#usage)

## Installation

This can be installed by using the below command. Just replace `yarn add` with your package manager if you use a different one

```sh
yarn add -D @kaydafox/typescript-config
```

## Usage

This contains a few different tsconfigs depending on what I need

- `@kaydafox/typescript-config/base` / `@kaydafox/typescript-config`
- `@kaydafox/typescript-config/strict`
- `@kaydafox/typescript-config/no-decorators`

I always recommend the base config to be added and the rest used as needed.
They can be used by adding them to your `tsconfig` inside of `extends: []`

---

The `base` config is the default and is set up in a way that suits the majority of the projects I have

The `strict` config just adds a few options on to the base config for more strict type checking

Lastly, `no-decorators` is recommended to add to a project if decorators aren't going to be used. It's on by default in the `base` config because personally I love using decorators
npm package: @kaydelaney/slate-react
Description: A set of React components for building completely customizable rich-text editors.
Latest version: 0.22.9-grafana

This package contains the React-specific logic for Slate. It's separated further into a series of directories:

* [**Components**](./src/components) — containing the React components for rendering Slate editors.
* [**Constants**](./src/constants) — containing a few private constants modules.
* [**Plugins**](./src/plugins) — containing the React-specific plugins for Slate editors.
* [**Utils**](./src/utils) — containing a few private convenience modules.

Feel free to poke around in each of them to learn more!