open-index/open-npm huggingface dataset:
npm package: @smara/mcp-server
Description: MCP server for Smara Memory API — persistent memory for AI agents
Author: parallelromb
Latest version: 2.2.0

# @smara/mcp-server

MCP server for the [Smara Memory API](https://smara.io) — give any AI app persistent memory with Temporal Memory Scoring™.

## Quick Start

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "smara": {
      "command": "npx",
      "args": ["-y", "@smara/mcp-server"],
      "env": {
        "SMARA_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

Get a free API key at [smara.io](https://smara.io) (10,000 memories, no credit card).

## Tools

| Tool | Description |
|------|-------------|
| `store_memory` | Store a fact about a user with importance scoring |
| `search_memories` | Semantic search with Temporal Memory Scoring™ |
| `get_user_context` | Pre-formatted context string for LLM system prompts |
| `delete_memory` | Delete a specific memory |
| `get_usage` | Check plan limits and memory count |

## How It Works

Smara uses **Temporal Memory Scoring™** — a proprietary ranking system that makes AI memory work like human recall. Memories naturally fade over time, modulated by importance and access patterns. Recent, critical memories surface first. Stale, trivial ones fade. Contradictions are auto-detected and resolved.

## Works With

- Claude Desktop
- Claude Code
- Cursor
- Windsurf
- VS Code (GitHub Copilot)
- Any MCP-compatible client

## Environment Variables

| Variable | Required | Default |
|----------|----------|---------|
| `SMARA_API_KEY` | Yes | — |
| `SMARA_API_URL` | No | `https://api.smara.io` |

## License

MIT
npm package: @smara/paperclip-plugin-memory
Description: Persistent memory for Paperclip agents via the Smara API — Temporal Memory Scoring, dedup, contradiction detection
Author: parallelromb
Latest version: 0.1.0

# @smara/paperclip-plugin-memory

Persistent, decay-aware memory for [Paperclip](https://github.com/paperclipai/paperclip) agents — powered by the [Smara Memory API](https://smara.io).

## What it does

Every Paperclip agent gets persistent memory across sessions. Store facts, search by meaning, and recall context — powered by **Temporal Memory Scoring™** that makes recent, important memories surface first while stale ones fade naturally.

## Install

```bash
# From the Paperclip UI
POST /api/plugins/install
{ "packageName": "@smara/paperclip-plugin-memory" }

# Or local development
POST /api/plugins/install
{ "packageName": "/path/to/paperclip-plugin", "isLocalPath": true }
```

## Configuration

In the Paperclip plugin settings:

| Setting | Required | Description |
|---------|----------|-------------|
| `smaraApiKeyRef` | Yes | Secret reference for your Smara API key |
| `smaraApiUrl` | No | API URL (default: `https://api.smara.io`) |
| `defaultUserId` | No | Default user ID when agents don't specify one |

Get a free API key at [smara.io](https://smara.io) — 10,000 memories, no credit card.

## Tools Available to Agents

| Tool | Description |
|------|-------------|
| `memory-store` | Store a fact with importance scoring (0-1) |
| `memory-search` | Semantic search with decay-aware ranking |
| `memory-context` | Pre-formatted context for agent prompts |
| `memory-delete` | Delete a specific memory |
| `memory-usage` | Check plan limits and memory count |

## How Scoring Works

Smara uses **Temporal Memory Scoring™** — a proprietary ranking system that balances:

- **Semantic relevance** — Voyage AI vector embeddings, cosine similarity
- **Temporal decay** — memories fade over time, modulated by importance
- **Access patterns** — frequently recalled memories stay stronger
- **Contradiction detection** — conflicting facts are auto-detected and resolved

## License

MIT
npm package: @smardev/awsjs
Description: Javascript object library for AWS SDK
Author: smardev
Latest version: 0.1.4

# AWSjs
[![Version](https://badge.fury.io/js/%40smardev%2Fawsjs.svg)](https://badge.fury.io/js/%40smardev%2Fawsjs.svg) [![Build Status](https://img.shields.io/circleci/token/25a0282c1bd667f533332ba2c5e551a26d9d685b/project/bitbucket/smardev/aws-js/master.svg)](https://circleci.com/bb/smardev/aws-js) [![Coverage Status](https://img.shields.io/codecov/c/bb/smardev/aws-js.svg)](https://codecov.io/bb/smardev/aws-js)

Javascrit ES6 library built on top of AWS SDK. It aims to make it easier to interact with AWS on your projects.

AWS SDK does not provide a simple object model, it rather encapsulates a set of requests that provide information or
allow changing cloud resources, AWSjs aims to create an object model that hides the SDK complexity

**_Note: This is still a work in progress, bellow are the list of supported objects and completion level_**


[x] Connection  [DONE]
[x] EndPoint  [DONE]
[ ] IPPermission [5%]
[ ] RDSInstance [70%]
[x] RDSInstanceStatus [DONE]
[ ] SecurityGroup [10%]


## Installing

### Pre-requisites
AWS SDK is referenced as development dependency, giving you the capability of not having it as part of your package
when AWS SDK is part of your node runtime (for instance it allows you to minimize your AWS lambda package)

Before installing AWSjs, you need to install and configure AWS SDK, for more information on how to do it, please check
https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-started.html

### In Node.js
The preferred way to install the AWSjs for Node.js is to use the [npm](http://npmjs.org) package manager for Node.js.
Simply type the following into a terminal window:

```sh
npm install @smardev/awsjs
```

Then within your application, you can reference awsjs by

```javascript
var AWSJS = require('awsjs');
```

## Usage and Getting Started

You can find a getting started guide at:

TO BE ADDED

## Usage Samples

The repository contains a samples folder where you can find some AWSjs usage examples
npm package: @smardev/tsmapper
Description: Object mapping done easy in TypeScript
Latest version: 0.1.3

# TSMapper

TypeScript utility library to ease object mapping.
Websites, mobile applications and others developed using TypeScript more and more consist of similar but different object models. One will easily endup loading data from diferent sources, like databases and services, where the data in two models may be similar but having diferent structure. TSMapper mapping makes it easy to convert between different models, allowing them to remain segregated.

![License](https://img.shields.io/github/license/smardev-inc/tsmapper)
![Version](https://img.shields.io/github/package-json/v/smardev-inc/tsmapper)
![Build](https://img.shields.io/github/workflow/status/smardev-inc/tsmapper/Continuous%20Integration)
![Statements](https://img.shields.io/badge/Coverage-92.65%25-brightgreen.svg)
![Issues](https://img.shields.io/github/issues/smardev-inc/tsmapper)
![Issues](https://img.shields.io/github/commit-activity/w/smardev-inc/tsmapper)

## Installation

```bash
# NPM
npm install @smardev/tsmapper

# YARN
yarn add @smardev/tsmapper
```

## Using It

```ts
// TODO: Add examples

```

## Contributing

We are open for contributions. If you're planning to contribute please make sure to read the contributing guide as it can save you from wasting your time: [CONTRIBUTING.md](/.github/CONTRIBUTING.md)

---
## Authors

* **Pedro Gomes** - *Initial work* - [pedromvgomes](https://github.com/pedromvgomes)

See also the list of [contributors](https://github.com/smardev-inc/tsmapper/contributors) who participated in this project.

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
npm package: @smardex/solidity-libraries
Description: A collection of useful open-source Solidity libraries
Author: RA2 Tech SA
Latest version: 1.0.1

# SmarDex Ecosystem Open-Source Libraries

Open-source Solidity libraries used in the SmarDex ecosystem.

## Installation

To install with [**Foundry**](https://github.com/foundry-rs/foundry):

```sh
forge soldeer install @smardex-solidity-libraries~1.0.0
```

To install with [**Hardhat**](https://github.com/nomiclabs/hardhat):

```sh
npm install @smardex/solidity-libraries
```

## Contributing

If you want to contribute to this repository, create an issue explaining your problem or which improvement you would like to see added first. Mention that you are willing to open a pull request to solve the issue if that's the case.

Then, wait for maintainers to state on what to do with your issue.

If you contribute, any change of code must be thoroughly tested and requires one or more code reviews depending on its complexity.

## Contracts

```ml
src
└─ HugeUint — "Uint512 implementation with basic math operations"
```

## Safety

The smart contracts and libraries in this repository are **experimental** and are provided **as is**.

While audits were conducted on projects implementing code from this repository, we cannot guarantee that no side effects can emerge when used with other code, or that it will not break with future Solidity versions.

## Acknowledgements

This repository is inspired by or directly modified from many sources, primarily:

* [Solady](https://github.com/Vectorized/solady)
* [OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts)
npm package: @smark182/lib
Description: NombreProyecto code for a simple, lightweight, and performant react npm package. Read a step-by-step guide on how to create a react npm package on [Codify Tools](https://www.codifytools.com/blog/react-npm-package).
Latest version: 1.0.14

# React Package NombreProyecto
NombreProyecto code for a simple, lightweight, and performant react npm package. Read a step-by-step guide on how to create a react npm package on [Codify Tools](https://www.codifytools.com/blog/react-npm-package).

![npm bundle size](https://img.shields.io/bundlephobia/min/@codifytools/react-npm-package-NombreProyecto?style=flat-square)
![npm bundle size](https://img.shields.io/bundlephobia/minzip/@codifytools/react-npm-package-NombreProyecto?style=flat-square)
![npm downloads](https://img.shields.io/npm/dt/@codifytools/react-npm-package-NombreProyecto?style=flat-square)
![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)

## Features
- [Babel](https://babeljs.io/) for modern JavaScript and JSX transpilation.
- [Rollup](https://rollupjs.org/) for build.
- Bundle generated in `cjs` and `esm` formats.
- [Storybook](https://storybook.js.org/) for local development.

### Commands
- `npm install` - install project dependencies.
- `npm run storybook` - start local development environment.
- `npm run build` - build package into `dist/` folder.
- `npm publish` - publish your package to [npm](npmjs.com).

### License
MIT license, Copyright (c) Juan Pablo Mejia Duque. For more information see `LICENSE`.
npm package: @smarlhens/opinionated-safe-code-normalizer
Description: TypeScript opinionated safe code normalizer using ts-morph & ESLint
Author: Samuel MARLHENS
Latest version: 1.1.1

# Opinionated safe code normalizer

TypeScript opinionated safe code normalizer using ts-morph & ESLint.

[![GitHub CI](https://github.com/smarlhens/opinionated-safe-code-normalizer/workflows/CI/badge.svg)](https://github.com/smarlhens/opinionated-safe-code-normalizer/actions/workflows/ci.yml)
![node-current (scoped)](https://img.shields.io/node/v/@smarlhens/opinionated-safe-code-normalizer)
[![GitHub license](https://img.shields.io/github/license/smarlhens/opinionated-safe-code-normalizer)](https://github.com/smarlhens/opinionated-safe-code-normalizer)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)

**This tool helps you to add `public` keyword to your code `methods`, `properties`, `getters` & `setters` to be compliant with [`@typescript-eslint/explicit-member-accessibility`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md) rule.**

---

## Table of Contents

- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)

---

## Prerequisites

- [Node.JS](https://nodejs.org/en/download/) **version ^14.17.0 || >=16.0.0**

---

## Installation

Install globally:

```sh
npm install -g @smarlhens/opinionated-safe-code-normalizer
```

---

## Usage

Use inside a directory which contain an `.eslintrc.js` configuration file and `**/*.ts` files (_can be in subdirectories of the working directory_).  
Using ts-morph & ESLint, your code will be updated adding `public` keyword to `methods`, `properties`, `getters` & `setters`.

```sh
$ oscn
```

---

## Example

```diff
class Foo {
  private propA: string;
  protected propB: string;
  public propC?: string;
- propD?: string;
+ public propD?: string;

  private _propE?: string;

- get propE(): string | undefined {
* public get propE(): string | undefined {
    return this._propE;
  }

- set propE(value: string | undefined) {
+ public set propE(value: string | undefined) {
    this._propE = value;
  }

  constructor() {
    this.propA = 'lorem';
    this.propB = 'ispum';
  }

- methodA(): void {}
+ public methodA(): void {}
}
```

---
npm package: @smaro.nitr/compact-util
Description: - token - contentType | `json = application/json` | `pdf = application/pdf` | `form = multipart/form-data` - **setToken: (token: any)** - **isSuccess: (result: any)** - **delete: (url: string)** - **get: (url: string, fileDownload?: boolean, disableT
Author: Subhendu Kumar Sahoo
Latest version: 1.1.2

# Version 1.1.0

## API UTIL

- token
- contentType | `json = application/json` | `pdf = application/pdf` | `form = multipart/form-data`
- **setToken: (token: any)**
- **isSuccess: (result: any)**
- **delete: (url: string)**
- **get: (url: string, fileDownload?: boolean, disableToken?: boolean)**
- **post: (url: string, data: any, disableToken?: boolean, multiformData?: boolean)**
- **put: (url: string, data: any)**
- **graphQl: (url: string, query: any)**

## ARRAY UTIL

- **getLength: (inputArray: any[])**
- **isEmpty: (inputArray: any[])**

## DATE UTIL

- pattern > time | `HHmmss = HH:mm:ss` | `hhmmss = hh:mm:ss A` | `HHmm = HH:mm` | `hhmm = hh:mm A`
- pattern > date | `YYYYMMDD = YYYY-MM-DD` | `DDMMYYYY = DD-MM-YYYY` | `DoMMMYYYY = Do MMM, YYYY`
- pattern > dateAndTime | `YYYYMMDDHHmmss = YYYY-MM-DD HH:mm:ss` | `DDMMYYYYhhmmss = DD-MM-YYYY hh:mm:ss A`
- timezone | `Default = Local`
- **setTimezone: (timezone: string)**
- **getFormattedStamp: (stamp: string, pattern: string): any**
- **getArrayFormattedStamp: (stamp: any[], pattern: string): any**
- **getDaysDifference: (finalDate: any, initialDate: any)**

## DOWNLOAD UTIL

- **blob: (data: any, fileName: string)**
- **file: (data: any, fileName: string, extension: string)**

## FORMAT UTIL

- **currency: (value: number)**

### number

- **noCommaNoDecimal: (value: number)**
- **noCommaWithDecimal: (value: number, decimal: number = 2)**
- **noCommaWithDecimalPercent: (value: number, decimal: number = 2)**
- **commaNoDecimal: (value: number)**
- **commaWithDecimal: (value: number, decimal: number = 2)**
- **commaWithDecimalPercent: (value: number, decimal: number = 2)**
- **toAlphabet: (value: number, caps: boolean)**
- **toRoman: (value: number, caps: boolean)**

### text

- **toTitleCase: (text: string)**
- **toLowerCase: (text: string)**
- **toUpperCase: (text: string)**

## INPUT UTIL

- **disableButtonOnClick: (buttonId: string)**
- **enableButtonManually: (buttonId: string)**
- **validateEmail: (emailId: string)**

## OBJECT UTIL

- **isEmpty: (inputObject: any)**
- **isObject: (inputObject: any)**
- **renameKey: (inputObject: any, oldKey: string, newKey: string)**

## OTHER UTIL

- **scrollTo: (id: string)**

## STORAGE UTIL

- storageKey | `Object - { [lowerCamelCase] : hypen-seprated-value }`
- **setStorageKey: (storageKeyList: any[])**
- **setLocalStorage: (key: string, value: any)**
- **removeLocalStorage: (key: string)**
- **getLocalStorage: (key: string)**
npm package: @smars/nifti-volume-loader
Description: Nifti Image Loader from Smars for Cornerstone3D
Latest version: 1.0.3

# @smars/nifti-volume-loader

独立的 NIfTI 体积数据加载器，基于 Cornerstone3D 框架。

## 安装

```bash
npm install @smars/nifti-volume-loader
```

## 使用方法

### 基本使用

```js
import {
  cornerstoneNiftiImageLoader,
  createNiftiImageIdsAndCacheMetadata,
  init,
} from '@smars/nifti-volume-loader';

// 初始化加载器
init();

// 创建图像 ID 并缓存元数据
const imageIds = await createNiftiImageIdsAndCacheMetadata({
  url: 'path/to/your/nifti/file.nii.gz',
});
```

### 自定义请求头

您可以为加载器发出的请求注入自定义头部，这对于身份验证很有用：

```js
import { init } from '@smars/nifti-volume-loader';

init({
  beforeSend: (xhr, headers, url) => {
    headers['Authorization'] = 'Bearer your-token';
    headers['Custom-Header'] = 'Custom-Value';
    return headers;
  },
});
```

### API 参考

#### `cornerstoneNiftiImageLoader`

主要的图像加载器函数。

#### `createNiftiImageIdsAndCacheMetadata(options)`

创建 NIfTI 图像 ID 并缓存元数据。

**参数：**

- `options.url` - NIfTI 文件的 URL

#### `init(config)`

初始化加载器配置。

**参数：**

- `config.beforeSend` - 请求前的回调函数

## 依赖要求

此包需要 `@cornerstonejs/core` 作为 peer dependency。

```bash
npm install @cornerstonejs/core
```

## 许可证

MIT
npm package: @smarsh1/vector2
Description: Vector2 calculator
Author: smarsh1
Latest version: 1.0.6

# vector2 # 
vector2 is vector calculator

# Usage / Installation #
You can install vector2 using npm 
```
npm i @smarsh1/vector2
```

# Example #
```js
const Vector = require('@smarsh1/vector2');

let vec = new Vector(2, 3);

console.log(vec.add(5, 6));

// expected output: 7, 9 
```

# Documentation #

Constructor
```js
const Vector = new Vector2(x, y) 
```

Add
```js
add(x, y);
// 
add(otherVector);
```

Subtract
```js
sub(x, y);
//
sub(otherVector);
```

Multiplcate
```js
multi(x, y);
//
multi(otherVector);
```

Divade
```js
div(x, y)
//
div(otherVector)
```

Lenght
```js
len()
```

Normalize
```js
norm()
```

# License #
MIT
npm package: @smart-ai/components-vue2
Description: 一个基于 Vue 2 + Element UI 的智能组件库，提供配置驱动的表格和弹窗组件，快速构建 CRUD 页面。
Latest version: 1.0.6

# @smart-ai/components-vue2

Smart AI Table and Dialog components for Vue 2

## ✨ 特性

- ✅ **完全兼容 Vue 2**：支持 Vue 2.6+ 和 Vue 2.7
- ✅ **兼容 Node 16+**：构建产物可在任何 Node 版本的项目中使用
- ✅ **TypeScript 支持**：提供完整的类型定义
- ✅ **双格式支持**：同时提供 ES 模块和 CommonJS 格式
- ✅ **零依赖打包**：Vue 和 Element UI 作为 peerDependencies
- ✅ **无需 webpack 配置**：支持注入自定义 HTTP 实例，完全避免 webpack 配置问题

## 📋 兼容性

### 运行环境要求

- **Node.js**: 16+ （用于安装和使用，不限制构建环境）
- **Vue**: 2.6.14+ 或 2.7.x
- **Element UI**: 2.15.0+

### 构建环境要求

- **Node.js**: 18+ （仅构建时需要，使用方不受影响）
- **构建工具**: Vite 5.x

> 💡 **重要说明**：虽然构建时使用 Node 20，但构建后的包可以在 Node 16 的项目中正常使用。构建工具和构建环境不影响使用方。

详细兼容性说明请查看 [COMPATIBILITY.md](./COMPATIBILITY.md)

## 安装

### 方式一：使用 npm（推荐）

如果包发布到私有 npm 仓库，需要先配置 registry：

**1. 配置私有仓库（在项目根目录创建 `.npmrc` 文件）：**

```ini
# 将 @smart-ai scope 的包指向私有仓库
@smart-ai:registry=http://10.1.6.38:9081/repository/npm_aspire/

# 如果需要认证，添加认证信息
# //10.1.6.38:9081/repository/npm_aspire/:_authToken=your-token-here
```

**2. 安装包：**

```bash
npm install @smart-ai/components-vue2
```

### 方式二：使用 cnpm

如果使用 `cnpm`，需要配置 `.cnpmrc` 文件：

**1. 在项目根目录创建 `.cnpmrc` 文件：**

```ini
# 将 @smart-ai scope 的包指向私有仓库
@smart-ai:registry=http://10.1.6.38:9081/repository/npm_aspire/

# 如果需要认证
# //10.1.6.38:9081/repository/npm_aspire/:_authToken=your-token-here
```

**2. 安装包：**

```bash
cnpm install @smart-ai/components-vue2
```

> ⚠️ **注意**：如果使用 `cnpm`，确保 `.cnpmrc` 配置正确，否则 `cnpm` 会尝试从淘宝镜像获取包，导致 404 错误。

### 方式三：使用 pnpm 或 yarn

**pnpm：**

```bash
# 配置 .npmrc（pnpm 使用相同的配置文件）
# @smart-ai:registry=http://10.1.6.38:9081/repository/npm_aspire/

pnpm add @smart-ai/components-vue2
```

**yarn：**

```bash
# 配置 .yarnrc 或 .npmrc
# @smart-ai:registry=http://10.1.6.38:9081/repository/npm_aspire/

yarn add @smart-ai/components-vue2
```

## 使用

### 1. 安装依赖

```bash
# 安装组件库
npm install @smart-ai/components-vue2

# 安装 peer dependencies（如果还没有安装）
npm install vue@^2.7.14 element-ui@^2.15.14 axios@^1.13.2
```

> 💡 **提示**：如果你的项目中已经有 axios，直接使用即可，无需重新安装。

### 2. 在项目中使用

组件库已内置 axios，**无需额外配置**，直接使用即可（与 Vue 3 版本一致）：

```javascript
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import SmartAiComponents from '@smart-ai/components-vue2'
import '@smart-ai/components-vue2/style'

Vue.use(ElementUI)
Vue.use(SmartAiComponents, {
  requestHooks: {
    getCustomHeaders: () => ({
      token: localStorage.getItem('token') || '',
    }),
  },
  table: {
    theme: 'webbas',
  },
})
```

> ✅ **说明**：
> - 组件库已内置 axios 1.x（axios 已打包进组件库），**使用方项目无需安装 axios，也无需任何 webpack 配置**
> - 组件库完全独立，可以直接使用，无需额外配置

## 构建

```bash
# 进入 packages 目录
cd src/packages

# 安装依赖
npm install

# 构建
npm run build
```

## 发布到 npm

```bash
# 进入 packages 目录
cd src/packages

# 登录 npm
npm login

# 发布
npm publish
```

## 版本管理

发布新版本前，请更新 `package.json` 中的版本号：

```bash
npm version patch  # 补丁版本 1.0.0 -> 1.0.1
npm version minor  # 次要版本 1.0.0 -> 1.1.0
npm version major  # 主要版本 1.0.0 -> 2.0.0
```
npm package: @smart-aipi/mcp
Description: MCP server for Smart AIPI - manage API keys and access documentation
Latest version: 1.2.0

# Smart AIPI MCP Server

[MCP](https://modelcontextprotocol.io) server for [Smart AIPI](https://smartaipi.com) — lets AI agents manage API keys, check usage, and access setup documentation.

## Install

```bash
npm install -g @smart-aipi/mcp
```

## Setup

### 1. Get an Account Token

```bash
npm install -g smart-aipi
smart-aipi login
smart-aipi tokens create -n "MCP Token"
```

### 2. Add to Your AI Tool

#### OpenCode

Add to your MCP config (`~/.config/opencode/mcp.json`):

```json
{
  "mcpServers": {
    "smart-aipi": {
      "command": "smart-aipi-mcp",
      "env": {
        "SMART_AIPI_TOKEN": "your-token-here"
      }
    }
  }
}
```

#### Cursor

Add to Cursor MCP settings:

```json
{
  "mcpServers": {
    "smart-aipi": {
      "command": "smart-aipi-mcp",
      "env": {
        "SMART_AIPI_TOKEN": "your-token-here"
      }
    }
  }
}
```

#### Cline / Other MCP Clients

Same config format — set the command to `smart-aipi-mcp` and pass your token via env.

## Available Tools

### Public (no auth required)

| Tool | Description |
|------|-------------|
| `smart_aipi_docs` | Get setup guides (cursor, cline, windsurf, continue, aider, opencode, codex-cli, langchain, python, nodejs, mcp, models) |
| `smart_aipi_config` | Get base URL and environment variable configuration |
| `smart_aipi_models` | List available models (use `live: true` for real-time list) |

### Authenticated (requires `SMART_AIPI_TOKEN`)

| Tool | Description |
|------|-------------|
| `smart_aipi_list_keys` | List your API keys |
| `smart_aipi_create_key` | Create a new API key |
| `smart_aipi_revoke_key` | Revoke an API key |
| `smart_aipi_usage` | Check credits balance and usage history |
| `smart_aipi_me` | View account information |

## Documentation Resources

The server also exposes MCP resources at `smart-aipi://docs/{topic}` for each integration guide.

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `SMART_AIPI_TOKEN` | For authenticated tools | Your account token |
| `SMART_AIPI_URL` | No | Override API base URL (default: https://smartaipi.com) |

## Available Models

- **Codex:** gpt-5.3-codex, gpt-5.2-codex, gpt-5.1-codex, gpt-5-codex + mini/max variants
- **GPT-5:** gpt-5.2, gpt-5.1, gpt-5
- **Image:** gpt-image-latest, gpt-image-1.5, gpt-image-1-mini
- **Free Tier:** gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5-mini, gpt-5-nano, gpt-4o, gpt-4o-mini

## Companion CLI

For account management from the terminal:

```bash
npm install -g smart-aipi
smart-aipi signup
smart-aipi keys create
smart-aipi docs cursor
```

## License

MIT
npm package: @smart-alert/evm-observability
Description: EVM on-chain observability SDK for Solidity
Author: alkesproject@gmail.com
Latest version: 0.0.2

# EVM Observability SDK

Lightweight, zero-dependency **on-chain observability SDK** for EVM smart contracts.

This SDK provides a simple and gas-efficient way to emit **structured telemetry events**
from smart contracts, enabling off-chain analytics, tracing, monitoring, and product metrics
— without changing business logic.

---

## 🚀 Installation

Install via npm:

```bash
npm install @smart-alert/evm-observability
```

---

## ✨ Key Features

- 📡 Function call tracing (who, what, where)
- 📊 Business metrics emitted directly from contracts
- 🧩 Zero runtime dependencies
- ⚡ No external calls, no shared state
- 🛠 Works with any EVM-compatible chain
- 🧠 Contract-agnostic off-chain analytics

---

## 📦 What This SDK Is (and Is Not)

### ✅ This SDK **IS**
- A **Solidity compile-time SDK**
- A set of **standardized events**
- A reusable **abstract contract**
- A stable **on-chain telemetry schema**

### ❌ This SDK is **NOT**
- A deployed central contract
- A runtime dependency
- A protocol with shared state
- A replacement for business events like `Transfer`

---

## 🏗 Architecture Overview

Smart Contract Architecture
===========================
```markdown
┌──────────────────────────────┐
│ Your Smart Contract          │
│ (Vault, AMM, etc)           │
└─────────────┬────────────────┘
              ▼
┌──────────────────────────────┐
│ Observability.sol (SDK)      │
│ - ObsCall                    │
│ - ObsMetric                  │
└─────────────┬────────────────┘
              ▼
┌──────────────────────────────┐
│ Blockchain Logs              │
└─────────────┬────────────────┘
              ▼
┌──────────────────────────────┐
│ Off-chain SDK / Indexer /    │
│ Analytics                    │
└──────────────────────────────┘
```
npm package: @smart-axiata/js-bridge
Description: Smart Axiata Cambodia WebView bridge with core JS, Vue, and React adapters.
Latest version: 0.1.2

# Smart Axiata JS Bridge

Small WebView bridge library that provides a core JS bridge with Vue 3 and
React adapters. Use it to call native handlers from web content and receive
native events.

## Install

```bash
npm install @smart-axiata/js-bridge
```

## Web integration

### Vue quick start

```ts
import { createApp } from 'vue';
import App from './App.vue';
import { createBridgePlugin, useBridge } from '@smart-axiata/js-bridge';

const app = createApp(App);
app.use(createBridgePlugin());
app.mount('#app');

const bridge = useBridge();
await bridge.call('getUserInfo');
```

### Vue component example

```vue
<script setup lang="ts">
import { useBridge } from '@smart-axiata/js-bridge';

const bridge = useBridge();

const loadUser = async () => {
  const user = await bridge.call('getUserInfo');
  console.log(user);
};

bridge.on('tokenExpired', () => {
  console.log('token expired');
});
</script>
```

### React usage

```tsx
import React from 'react';
import { ReactBridgeProvider, useReactBridge } from '@smart-axiata/js-bridge';

const UserPanel = () => {
  const bridge = useReactBridge();

  const loadUser = async () => {
    const user = await bridge.call('getUserInfo');
    console.log(user);
  };

  return <button onClick={loadUser}>Load user</button>;
};

const App = () => (
  <ReactBridgeProvider>
    <UserPanel />
  </ReactBridgeProvider>
);
```

## Core API

- `bridge.call(name, payload?)` -> Promise
- `bridge.on(event, handler)` -> unsubscribe

## Native bridge requirement

The native app must inject a `WebViewJavascriptBridge` object with:

- `callHandler(name, data, callback)`
- `registerHandler(name, handler)`

The web app calls `bridge.call('methodName', payload)` which maps to
`callHandler`. Native handlers should respond with JSON-compatible values. If an
error occurs, respond with `{ error: 'message' }`.
npm package: @smart-base/memory-orm
Description: ORM-to-memory-data is a modern TypeScript and Node.js ORM for data saved in memory
Author: SmartBase
Latest version: 2.0.0

# `orm-to-memory-data`

ORM-to-memory-data is a modern TypeScript and Node.js ORM for data saved in memory

## Usage

```
const ormToMemoryData = require('orm-to-memory-data');

// TODO: DEMONSTRATE API
```