open-index/open-npm huggingface dataset:
npm package: @nanomatic/regulator
Description: Implementation of many types of automation regulators
Author: NANOmatic
Latest version: 1.0.0

<p align="center">
  <a href="" rel="noopener">
  <img src="https://www.eurotherm.com/wp-content/uploads/2018/12/PID-control.jpg" height="200" alt="Regulator"></a>
</p>
<h3 align="center">@nanomatic/regulator</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)

</div>

---

<p align="center">
    Implementation of many types of automation regulators
    <br />
</p>

## 📝 Table of Contents

- [📝 Table of Contents](#-table-of-contents)
- [🏁 Getting Started <a name = "getting_started"></a>](#-getting-started-)
  - [Installing](#installing)
  - [Using](#using)
- [⛏️ Built With <a name = "tech_stack"></a>](#️-built-with-)
- [✍️ Authors <a name = "authors"></a>](#️-authors-)
- [🎉 Acknowledgments <a name = "acknowledgments"></a>](#-acknowledgments-)

## 🏁 Getting Started <a name = "getting_started"></a>

### Installing

```
npm i @nanomatic/regulator
```

### Using

Example code below:

```ts
import { Hysteresis, Linear, PID, Regulator } from '@nanomatic/regulator';

let temperature = 0;

// Switch to hysteresis regulator
const regulator = new Regulator(new Hysteresis(10, 5));

// You can easly switch between different regulators with the same setpoint value
// Switch to linear regulator after 5s
setTimeout(() => regulator.regulator = new Linear(5, 15), 5000);

// Switch to PID regulator after 10s
setTimeout(() => {
    regulator.regulator = new PID(.5);
    setInterval(() => regulator.setpoint(Math.random() * 50), 5000);
}, 10000);

// Object simulation
setInterval(() => {
    temperature += regulator.output(temperature);
    // tslint:disable-next-line: no-console
    console.log(`${temperature.toFixed(2).padStart(5, ' ')} ℃  ➜  ${regulator.setpoint().toFixed(2).padStart(5, ' ')} ℃  (${regulator.toString()})`);
}, 100);
```

## ⛏️ Built With <a name = "tech_stack"></a>

- [ts-node-dev](https://www.npmjs.com/package/ts-node-dev) - TypeScript Node Dev
- [tsc-watch](https://www.npmjs.com/package/tsc-watch) - The nodemon for TypeScript
- [TSLint](https://www.npmjs.com/package/tslint) - TypeScript linter
- [NodeJs](https://nodejs.org/en/) - Test Environment

## ✍️ Authors <a name = "authors"></a>

- [@NANOmatic](https://github.com/NANOmatic) - Idea & Initial work
npm package: @nanomatic/string_to_object
Description: Library that allows to create an object from a given string
Author: NANOmatic
Latest version: 2.1.0

<p align="center">
  <a href="" rel="noopener">
  <img src="https://static.javatpoint.com/core/conversion/images/java-string-to-object.png" height="200" alt="String to object"></a>
</p>
<h3 align="center">@nanomatic/string_to_object</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)

</div>

---

<p align="center">
    Library that allows to create an object from a given string
    <br />
</p>

## 📝 Table of Contents

- [📝 Table of Contents](#-table-of-contents)
- [🏁 Getting Started <a name = "getting_started"></a>](#-getting-started-)
  - [Installing](#installing)
  - [Using](#using)
- [⛏️ Built With <a name = "tech_stack"></a>](#️-built-with-)
- [✍️ Authors <a name = "authors"></a>](#️-authors-)
- [🎉 Acknowledgments <a name = "acknowledgments"></a>](#-acknowledgments-)

## 🏁 Getting Started <a name = "getting_started"></a>

### Installing

```
npm i @nanomatic/string_to_object
```

### Using

Example code below:

```js
import { StringToObject } from '@nanomatic/string_to_object';

const factory = {
    vehicle: {
        1: {
            type: '🚑'
        },
        2: {
            type: '🚒'
        }
    }
};

const obj = new StringToObject(factory, '|');

console.log(factory);   //  The same as obj.obj object

obj.set(`vehicle|.|type`, '🚓');

console.log(obj.obj);   //  The same as factory object

const vehicle1 = obj.get(`vehicle|1|type`);

console.log(`Type of vehicle 1 is: ${vehicle1}`);
```

## ⛏️ Built With <a name = "tech_stack"></a>

- [ts-node-dev](https://www.npmjs.com/package/ts-node-dev) - TypeScript Node Dev
- [tsc-watch](https://www.npmjs.com/package/tsc-watch) - The nodemon for TypeScript
- [TSLint](https://www.npmjs.com/package/tslint) - TypeScript linter
- [NodeJs](https://nodejs.org/en/) - Test Environment

## ✍️ Authors <a name = "authors"></a>

- [@NANOmatic](https://github.com/NANOmatic) - Idea & Initial work

## 🎉 Acknowledgments <a name = "acknowledgments"></a>

- Special thanks for Sebastian for working together and giving ideas 😉
npm package: @nanomatic/time_synchronize
Description: Time synchronization based on any RTC module for the Linux Ubuntu
Author: NANOmatic
Latest version: 1.0.2

<p align="center">
  <a href="" rel="noopener">
  <img src="https://sapling-inc.com/wp-content/uploads/GettyImages_85406496-3.jpg" alt="Time synchronize"></a>
</p>
<h3 align="center">@nanomatic/time_synchronize</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)

</div>

---

<p align="center">
    Time synchronization based on any RTC module for the Linux Ubuntu.
    <br />
</p>

## 📝 Table of Contents

- [📝 Table of Contents](#-table-of-contents)
- [🏁 Getting Started <a name = "getting_started"></a>](#-getting-started-)
  - [Installing](#installing)
  - [Using](#using)
- [⛏️ Built With <a name = "tech_stack"></a>](#️-built-with-)
- [📦 Dependencies](#-dependencies)
- [✍️ Authors <a name = "authors"></a>](#️-authors-)
- [🎉 Acknowledgments <a name = "acknowledgments"></a>](#-acknowledgments-)

## 🏁 Getting Started <a name = "getting_started"></a>

### Installing

```
npm i @nanomatic/time_synchronize
```

### Using

Example code below:

```js
import TimeSynchronize from '@nanomatic/time_synchronize';
import { DS3231 } from '@nanomatic/ds3231';

const RTC = new DS3231;

// Config time synchronization
TimeSynchronize.config(() => RTC.get(), RTC.set);

// Start synchronization
TimeSynchronize.start();

// Swtich off automatic stop after first corrert synchronization by Internet
// TimeSynchronize.auto(false);

// Stop synchronization
// TimeSynchronize.stop();
```

## ⛏️ Built With <a name = "tech_stack"></a>
- [@types/node](https://www.npmjs.com/package/@types/node) - Type definitions for Node.js
- [ts-node-dev](https://www.npmjs.com/package/ts-node-dev) - TypeScript Node Dev
- [tsc-watch](https://www.npmjs.com/package/tsc-watch) - The nodemon for TypeScript
- [TSLint](https://www.npmjs.com/package/tslint) - TypeScript linter
- [NodeJs](https://nodejs.org/en/) - Test Environment

## 📦 Dependencies
- [@nanomatic/ds3231](https://www.npmjs.com/package/@nanomatic/ds3231) - RTC DS3231 implementation for the Raspberry PI 4 + temperature reading 🌡
- [axios](https://www.npmjs.com/package/axios) - Promise based HTTP client for the browser and node.js

## ✍️ Authors <a name = "authors"></a>

- [@NANOmatic](https://github.com/NANOmatic) - Idea & Initial work

## 🎉 Acknowledgments <a name = "acknowledgments"></a>

- Special thanks for Łukasz & Sebastian for working together and giving ideas 😉
npm package: @nanomatic/timer
Description: Implementation of the reuseable timer
Author: NANOmatic
Latest version: 1.1.4

<p align="center">
  <a href="" rel="noopener">
  <img src="https://webstockreview.net/images/see-clipart-stopwatch-12.png" height="200" alt="Timer"></a>
</p>
<h3 align="center">@nanomatic/timer</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)

</div>

---

<p align="center">
    Implementation of the reuseable timer
    <br />
</p>

## 📝 Table of Contents

- [📝 Table of Contents](#-table-of-contents)
- [🏁 Getting Started <a name = "getting_started"></a>](#-getting-started-)
  - [Installing](#installing)
  - [Using](#using)
- [⛏️ Built With <a name = "tech_stack"></a>](#️-built-with-)
- [✍️ Authors <a name = "authors"></a>](#️-authors-)
- [🎉 Acknowledgments <a name = "acknowledgments"></a>](#-acknowledgments-)

## 🏁 Getting Started <a name = "getting_started"></a>

### Installing

```
npm i @nanomatic/timer
```

### Using

Example code below:

```js
import { Timer } from '@nanomatic/timer';

const timer = new Timer;

// Time to countdown in s
timer.time = 5;

// tslint:disable-next-line: no-console
timer.start();

// tslint:disable-next-line: no-console
setInterval(() => console.log(`Elapsed time: ${timer.elapsedTime.toFixed(3)}s / ${timer.time.toFixed(3)}s   Reamining time: ${timer.remainingTime.toFixed(3)}s / 0s   ${timer.done ? 'Done' : ''}`), 100);

// Simulation
setTimeout(() => timer.pause(), 2000);
setTimeout(() => timer.resume(), 5000);
setTimeout(() => timer.reset(false), 10000);
setTimeout(() => {
    timer.time = 0;
    timer.start();
}, 13000);
```

## ⛏️ Built With <a name = "tech_stack"></a>

- [ts-node-dev](https://www.npmjs.com/package/ts-node-dev) - TypeScript Node Dev
- [tsc-watch](https://www.npmjs.com/package/tsc-watch) - The nodemon for TypeScript
- [TSLint](https://www.npmjs.com/package/tslint) - TypeScript linter
- [NodeJs](https://nodejs.org/en/) - Test Environment

## ✍️ Authors <a name = "authors"></a>

- [@NANOmatic](https://github.com/NANOmatic) - Idea & Initial work

## 🎉 Acknowledgments <a name = "acknowledgments"></a>

- Special thanks for Sebastian for working together and giving ideas 😉
npm package: @nanomind/atc
Description: ATC intent handler — trust queries against the OpenA2A Registry
Author: OpenA2A
Latest version: 0.1.1

# @nanomind/atc

Agent Trust Credential intent handler. Queries the OpenA2A Registry for trust data and produces human-readable explanations.

## Install

```bash
npm install @nanomind/atc
```

## Usage

```typescript
import { ATCIntentHandler } from '@nanomind/atc';

const handler = new ATCIntentHandler();

// Get trust level
const trust = await handler.getTrustLevel('billing-agent');
// { trustLevel: 3, trustScore: 0.92, ... }

// Explain WHY (the key feature)
const explanation = await handler.explainTrustLevel('billing-agent');
console.log(explanation.summary);
// "Your agent billing-agent is trust level 2 because:
//   Missing: Build attestation (+80 pts supply chain)
//     Fix: Add opena2a/build-action to your CI pipeline.
//   Present: HMA scan passed (+160 pts vulnerability surface)
//   Projected level 3 after fixes: 743 pts"
```

## License

MIT
npm package: @nanomind/cli
Description: NanoMind unified CLI entry point — interactive AI-powered security assistant
Author: OpenA2A
Latest version: 0.1.1

# @nanomind/cli

NanoMind interactive CLI — AI-powered security assistant for HackMyAgent, secretless-ai, and OpenA2A tools.

## Install

```bash
npm install @nanomind/cli
```

## Usage

When integrated into a CLI tool, NanoMind launches when the tool is run with no arguments:

```bash
hma          # launches NanoMind interactive mode
hma --help   # traditional help (NanoMind never intercepts --help)
hma secure   # runs scan directly (NanoMind doesn't intercept commands)
```

### Interactive Session

```
hma > scan this project
  > Running: hma secure .

hma > why is my agent level 2
  Your agent is trust level 2 because:
    Missing: Build attestation (+80 pts)
    Fix: Add opena2a/build-action to your CI

hma > generate a github action
  [generates workflow YAML]
```

## Features

- 16 intent types (scan, fix, explain, trust query, attestation, etc.)
- Prompt injection detection on piped input
- 9 CI/CD artifact generators
- Session context (follow-up questions)
- Skill level adaptation

## License

MIT
npm package: @nanomind/engine
Description: Core inference backend — llamafile wrapper for local LLM inference
Author: OpenA2A
Latest version: 0.1.1

# @nanomind/engine

Core inference backend for NanoMind — wraps llamafile for local LLM inference.

## Install

```bash
npm install @nanomind/engine
```

## Usage

```typescript
import { NanoMindEngine } from '@nanomind/engine';

const engine = new NanoMindEngine();
const result = await engine.infer('Classify: scan this project');
console.log(result.text); // "SCAN"
console.log(result.latencyMs); // ~200ms
```

## Model

Uses SmolLM2-135M (Q4_K_M quantization, ~80MB). Downloaded on first use via `nanomind setup`.

## License

MIT
npm package: @nanomind/guard
Description: Prompt injection detection for CLI input
Author: OpenA2A
Latest version: 0.1.1

# @nanomind/guard

Prompt injection detection for CLI input. Protects NanoMind from piped attacks, agent output injection, and encoded payloads.

## Install

```bash
npm install @nanomind/guard
```

## Usage

```typescript
import { screenInput } from '@nanomind/guard';

// Direct input — always trusted
screenInput('scan this', 'direct');
// { safe: true, patterns: [] }

// Piped input — screened for injection
screenInput('ignore previous instructions', 'piped');
// { safe: false, patterns: [{ type: 'instruction_override', ... }] }
```

## Detected Patterns

- Instruction override ("ignore previous instructions")
- Role switching ("you are now a hacking assistant")
- Permission escalation ("admin mode enabled")
- Zero-width character injection
- Encoded payloads (base64+eval combos)

## License

MIT
npm package: @nanomind/router
Description: Intent classification and command mapping for CLI tools
Author: OpenA2A
Latest version: 0.1.2

# @nanomind/router

Intent classification and command mapping for CLI security tools. Classifies natural language into 16 intent types.

## Install

```bash
npm install @nanomind/router
```

## Usage

```typescript
import { classifyIntent, mapToCommand } from '@nanomind/router';

const result = classifyIntent('scan this project for vulnerabilities');
// { intent: 'SCAN', confidence: 0.85, entities: {} }

const cmd = mapToCommand(result, 'hma');
// { command: 'hma secure', args: ['.'], description: 'Run security scan' }
```

## Intent Types

| Intent | Example |
|--------|---------|
| SCAN | "scan this project" |
| FIX | "fix the credential issue" |
| EXPLAIN | "what does CRED-001 mean" |
| TRUST_QUERY | "what's the trust level" |
| ATC_STATUS | "why is my agent level 2" |
| ATTEST | "add trust to my CI" |
| + 10 more | See [spec](https://github.com/opena2a-org/nanomind/blob/main/spec/intent-schema.json) |

## License

MIT
npm package: @nanomind/runtime
Description: NanoMind Runtime — behavioral twin for ARP anomaly detection
Author: OpenA2A
Latest version: 0.1.1

# @nanomind/runtime

NanoMind Runtime — behavioral twin for AI agent anomaly detection. The L1 layer of ARP's three-tier protection model.

## Install

```bash
npm install @nanomind/runtime
```

## Usage

```typescript
import { NanoMindRuntime } from '@nanomind/runtime';

const runtime = new NanoMindRuntime('my-agent');
await runtime.initialize();

// Process behavioral events
const result = runtime.processEvent({
  agentId: 'my-agent',
  eventType: 'TOOL_CALL',
  capability: 'db:read',
  timestampDelta: 50,
  // ...
});

console.log(result.score);  // 0.0 (normal) to 1.0 (anomalous)
console.log(result.action); // 'allow' | 'alert' | 'throttle' | 'suspend' | 'kill'
```

## How It Works

1. **Baseline learning**: First 100 events build a behavioral baseline
2. **Anomaly scoring**: 6 factors — unknown capability, timing anomaly, burst detection, L0 escalation, rare event type, error spike
3. **Sub-2ms latency**: No LLM — statistical model only
4. **Federated learning**: Gradients submitted with differential privacy

## Three-Tier ARP Model

| Tier | Layer | Latency | What |
|------|-------|---------|------|
| L0 | Rule-based | μs | Capability enforcement |
| **L1** | **NanoMind-Runtime** | **ms** | **Behavioral anomaly detection** |
| L2 | Fleet intelligence | continuous | Federated model improvement |

## License

MIT
npm package: @nanomoffet/angular-mentions
Description: Angular mentions for text fields.
Author: Michael Moffet
Latest version: 0.0.2

# Angular Mentions

Simple Angular mentions inspired by [Ment.io](https://github.com/jeff-collins/ment.io).

[Click here for a Demo](http://dmacfarlane.github.io/angular-mentions/)

Provides auto-complete suggestions for @mentions in text input fields, text areas,
and content editable fields. Not fully browser tested and comes without warranty!

To install and start the demo application:

    git clone https://github.com/dmacfarlane/angular-mentions.git
    cd angular-mentions
    npm install
    ng serve

### Usage

Add the package as a dependency to your project using:

    npm install --save angular-mentions

Add the CSS to your index.html:

    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

Add the module to your app.module imports:

    import { MentionModule } from 'angular-mentions/mention';
    ...

    @NgModule({
        imports: [ MentionModule ],
        ...
    })

Add the `[mention]` directive to your input element:

    <input type="text" [mention]="items">

Where `items` is a string array of the items to suggest. For example:

    items: string[] = ["Noah", "Liam", "Mason", "Jacob", ...

#### Configuration Options

The following optional configuration items can be used.

| Option        | Default  | Description |
| ---           | ---      | ---         |
| triggerChar   | @        | The character that will trigger the menu behavior. |
| maxItems      |          | Limit the number of items shown in the pop-up menu. The default is no limit. |
| mentionSelect |          | An optional function to format the selected item before inserting the text. |
| labelKey      | 'label'  | The field to be used as the item label (when the items are objects). |
| filterKeys    | ['label']| The field(s) to search on, if the items are objects. |
| showListHeader | false   | Show or hide a header for the search list. |
| maxHeight     | 300      | Option to set a max height for the search list, in pixels. |
| minWidth      | 250      | Option to set a minimum width for the search list, in pixels. |
| maxWidth      | 500      | Option to set a max width for the search list, in pixels. |
| positionType  | 'cursor' | Specify the position of the list. Options are cursor, above, below, or detect. |
| xPos          | 0        | Option to specify a specific x-offset, in pixels. |
| yPos          | 0        | Option to specify a specific y-offset, in pixels. |
| listItemHeight  | 26     | Option to specify a particular line-item height, in pixels. (only needed if using an advanced custom template for the list items) |
| disableSearch | false    | Disable internal filtering (only useful if async search is used). |

For Example: 

    <input type="text" [mention]="items" [mentionConfig]="{triggerChar:'#', maxItems:10, labelKey:'name', positionType: 'above', showListHeader: true}">

#### Output Events

- `(searchTerm)=""` event emitted whenever the search term changes. Can be used to trigger async search.