open-index/open-npm huggingface dataset:
npm package: @opensteer/browser-core
Description: Engine-neutral primitives and contracts for Opensteer browser backends.
Latest version: 0.7.9

# @opensteer/browser-core

Engine-neutral primitives and contracts for Opensteer browser backends.

Install this package directly only when you are implementing or testing a browser
engine against the Opensteer interfaces. Most users should install
[`opensteer`](../opensteer/README.md) instead.

```bash
pnpm add @opensteer/browser-core
```

The package exposes shared capability contracts, browser identity and geometry
types, network and snapshot helpers, and the conformance surface used by the
Opensteer engine packages.
npm package: @opensteer/engine-abp
Description: Agent Browser Protocol engine for Opensteer.
Latest version: 0.8.9

# @opensteer/engine-abp

Agent Browser Protocol engine for Opensteer.

Install this package only when you need `opensteer --engine abp` or when you are
building directly against the engine package.

```bash
pnpm add @opensteer/engine-abp
```

`agent-browser-protocol` downloads its bundled ABP browser during install. In offline
or custom environments, point Opensteer at an existing binary with
`launch.browserExecutablePath` or `ABP_BROWSER_PATH`.
npm package: @opensteer/engine-playwright
Description: Playwright-backed browser engine for Opensteer.
Latest version: 0.8.9

# @opensteer/engine-playwright

Playwright-backed browser engine for Opensteer.

Most users should install [`opensteer`](../opensteer/README.md) and let it pull
this package in automatically. Install this package directly only when you are
building custom runtimes on top of the lower-level engine surface.

```bash
pnpm add @opensteer/engine-playwright playwright
pnpm exec playwright install chromium
```
npm package: @opensteer/protocol
Description: Public wire schemas and versioned envelopes for Opensteer APIs.
Latest version: 0.8.3

# @opensteer/protocol

Public wire schemas and versioned envelopes for Opensteer APIs.

Install this package when you need to exchange typed request, response, event,
or artifact payloads with Opensteer services and runtimes.

```bash
pnpm add @opensteer/protocol
```

Most application code should use [`opensteer`](../opensteer/README.md). Reach for
`@opensteer/protocol` directly when you need stable transport-level types without
the higher-level SDK.
npm package: @opensteer/runtime-core
Description: Shared semantic runtime for Opensteer local and cloud execution.
Latest version: 0.2.3

# @opensteer/runtime-core

Shared semantic runtime for Opensteer local and cloud execution.

This package is primarily for engine authors and advanced integrations that need
the lower-level runtime orchestration used by `opensteer`.

```bash
pnpm add @opensteer/runtime-core
```

Most users should install [`opensteer`](../opensteer/README.md), which bundles the
public SDK and CLI on top of this runtime layer.
npm package: @openstride/mcp-server
Description: MCP server for OpenStride fitness data access
Author: openstride
Latest version: 1.0.0

# OpenStride MCP Server

Model Context Protocol (MCP) server that allows AI assistants (Claude, ChatGPT, etc.) to access and analyze your OpenStride training data.

## Installation

```bash
npx -y @openstride/mcp-server
```

## Configuration

### Claude Desktop

Add to your Claude Desktop config (`~/.config/Claude/claude_desktop_config.json` on Linux/macOS or `%APPDATA%\Claude\claude_desktop_config.json` on Windows):

```json
{
  "mcpServers": {
    "openstride": {
      "command": "npx",
      "args": ["-y", "@openstride/mcp-server"],
      "env": {
        "OPENSTRIDE_MANIFEST_URL": "https://drive.google.com/uc?id=YOUR_MANIFEST_ID"
      }
    }
  }
}
```

### Getting Your Manifest URL

1. Open [OpenStride](https://www.openstride.org)
2. Go to **Profile > App Extensions**
3. Enable **AI Assistant (MCP)**
4. Go to **Profile > AI Assistant (MCP)**
5. Connect Google Drive (if not already connected)
6. Click **Publish Data**
7. Copy the manifest URL

## Available Tools

### `list_activities`
List activities with filters and pagination.

**Parameters:**
- `limit` (number): Max results (default: 20, max: 100)
- `offset` (number): Pagination offset
- `type` (string[]): Activity types (`run`, `bike`, `swim`, `walk`, `hike`)
- `startDate` (string): Start date (YYYY-MM-DD)
- `endDate` (string): End date (YYYY-MM-DD)
- `minDistance` (number): Min distance in meters
- `maxDistance` (number): Max distance in meters

### `get_activity`
Get complete activity details.

**Parameters:**
- `activityId` (string): Activity ID

### `get_stats`
Calculate aggregated statistics.

**Parameters:**
- `period` (string): Aggregation period (`week`, `month`, `year`)
- `startDate` (string): Start date
- `endDate` (string): End date

### `search_activities`
Search activities by text.

**Parameters:**
- `query` (string): Search query (title, notes)

### `analyze_activity`
Analyze activity performance.

**Parameters:**
- `activityId` (string): Activity ID
- `analyses` (string[]): Analysis types (`segments`, `best-efforts`, `slope`, `heart-rate-zones`)

## Requirements

- Google Drive connection in OpenStride
- Activities marked as public (privacy settings)

## License

MIT

## Links

- [OpenStride](https://www.openstride.org)
- [Documentation](https://github.com/openstride/openstride/tree/main/docs)
- [Report Issues](https://github.com/openstride/openstride/issues)
npm package: @openstudio/strapi-media-deletion-middleware
Description: Middleware to prevent media deletion when used in content
Author: OpenStudio
Latest version: 1.1.0

# strapi-media-deletion-middleware

Check if a media is used in any content before deleting it.

Works with strapi 4 and 5

## Install

```sh
npm i @openstudio/strapi-media-deletion-middleware
# Or
yarn add @openstudio/strapi-media-deletion-middleware
```

## Configuration

### Basic

Add in `config/middleware.ts`

```ts
module.exports = ({ env }) => [
  // ...
  {
    resolve: '@openstudio/strapi-media-deletion-middleware',
  },
  // ...
];
```

### Custom

To modify some default values add a config object with the config key you want to edit.

```ts
module.exports = ({ env }) => [
  // ...
  {
    resolve: '@openstudio/strapi-media-deletion-middleware',
    config: {
      strapiMajor: 4,
      blackList: [{ relatedType: 'api::article.article', field: 'cover' }],
      whiteList: [
        { relatedType: 'api::article.article', field: 'optionalField' },
      ],
    },
  },
  // ...
];
```

### Config parameters

| key         | description                                                                                                                          | default |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------- |
| strapiMajor | Strapi Major version in this project <br>possible values : 4 or 5                                                                    | 5       |
| blackList   | Specify a list of elements whose medias CAN'T be deleted, an empty list means everything is in the black list                        | []      |
| whiteList   | Specify a list of elements whose medias CAN be deleted, for instance if a media is in an optional field you might allow to delete it | []      |