open-index/open-npm huggingface dataset:
npm package: @open-xchange/tsconfig
Description: Shared compiler options for tsconfig.json files
Latest version: 0.0.3

# @open-xchange/tsconfig

This package exports base configurations for the TypeScript compiler that [`tsconfig.json`](https://www.typescriptlang.org/tsconfig) files in projects can extend from.
All configuration files contain:

- Strict options for type checking (except `exactOptionalPropertyTypes`, `noPropertyAccessFromIndexSignature`, and `noUncheckedIndexedAccess` which are too heavy to satisfy).
- Modern target (`es2024`) and module settings (`esnext` and `bundler`).
- Option `skipLibCheck` to skip linting external packages for better performance (and too many existing type issues in various packages).

## Installation

```sh
npm install -D @open-xchange/tsconfig
# or
pnpm add -D @open-xchange/tsconfig
# or
yarn add -D @open-xchange/tsconfig
```

## Usage

The following configurations are available:

- `@open-xchange/tsconfig/tsconfig.lint.json`: For type-checking during lint stage (`noEmit` set to `true`).
- `@open-xchange/tsconfig/tsconfig.build.json`: For building the project (`outDir` set to `"${configDir}/../dist"`).
- `@open-xchange/tsconfig/tsconfig.transform.json`: Same as `tsconfig.build.json` but includes the plugin `typescript-transform-paths` to transform path aliases. Package must be installed in the project.

_Example:_

```json
{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@open-xchange/tsconfig/tsconfig.lint.json",
  "compilerOptions": {
    // custom overrides
  }
}
```
npm package: @open-xchange/ui-middleware
Description: App Suite UI specific middleware
Latest version: 7.10.3

# App Suite UI Middleware

This middleware is intended for use with App Suite 7.10.x only and is not designed for standalone use.

For App Suite 8, the successor lives here: https://gitlab.com/openxchange/appsuite/web-foundation/ui-service

## Development

```
yarn install
yarn dev
```

## Running tests

```
yarn test
```
npm package: @open-xchange/vite
Description: Native-ESM powered web dev build tool
Author: Evan You
Latest version: 0.1.11
Deprecated: this package has been deprecated

# vite ⚡

> Next Generation Frontend Tooling

- 💡 Instant Server Start
- ⚡️ Lightning Fast HMR
- 🛠️ Rich Features
- 📦 Optimized Build
- 🔩 Universal Plugin Interface
- 🔑 Fully Typed APIs

Vite (French word for "fast", pronounced `/vit/`) is a new breed of frontend build tool that significantly improves the frontend development experience. It consists of two major parts:

- A dev server that serves your source files over [native ES modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules), with [rich built-in features](https://vitejs.dev/guide/features.html) and astonishingly fast [Hot Module Replacement (HMR)](https://vitejs.dev/guide/features.html#hot-module-replacement).

- A [build command](https://vitejs.dev/guide/build.html) that bundles your code with [Rollup](https://rollupjs.org), pre-configured to output highly optimized static assets for production.

In addition, Vite is highly extensible via its [Plugin API](https://vitejs.dev/guide/api-plugin.html) and [JavaScript API](https://vitejs.dev/guide/api-javascript.html) with full typing support.

[Read the Docs to Learn More](https://vitejs.dev).
npm package: @open-xchange/vite-helper
Description: A collection of implementation helpers for Vite plugins
Latest version: 1.3.0

# @open-xchange/vite-helper

A collection of implementation helpers for Vite plugins.

This package provides multiple submodules.

## @open-xchange/vite-helper/utils

Exports assorted types and utility functions needed for plugin implementations.

## @open-xchange/vite-helper/file

Exports utility functions for files and file paths needed for plugin implementations.

## @open-xchange/vite-helper/logger

Exports the class `Logger` that encapsulates a Vite logger instance. Enforces consistent logging style for all Vite plugins.

## @open-xchange/vite-helper/cache

Exports the class `Cache` that is a simple value cache backed by a native `Map<string, T>` with additional helper methods.

## Main: @open-xchange/vite-helper

Exports the class `PluginHelper`. Provides helper methods for:

- Logging (encapsulates a `Logger` instance, see above).
- Type narrowing and type assertions of unknown values at runtime.
- Reading and writing binary files, text files, and JSON/YAML configuration files (validated by JSON schemas).
- Managing virtual module identifiers (also for multiple instances of the same plugin).
- Caching of expensive intermediate results based on config file timestamps.
npm package: @open-xchange/vite-plugin-es-decorators
Description: Vite plugin that adds support for native ES decorators in JS source files
Latest version: 1.3.0

# @open-xchange/vite-plugin-es-decorators

A Vite plugin that adds support for native ES decorators in JS and TS source files.

Supports Vite 6 and 7 (with rollup/esbuild), and Vite 8 (with rolldown/oxc).

## Usage

Add the plugin to your Vite configuration:

```ts
// vite.config.ts

import { defineConfig } from 'vite' // or 'vitest/config'
import decoratorsPlugin from '@open-xchange/vite-plugin-es-decorators'

export default defineConfig(() => {

  // ...

  plugins: [
    // ...

    decoratorsPlugin(),
  ],
})
```

The plugin will detect the version of Vite currently used and will configure the appropriate Babel plugin ([vite-plugin-babel](https://www.npmjs.com/package/vite-plugin-babel) for Vite 7 and less with rollup/esbuild, or [@rolldown/plugin-babel](https://www.npmjs.com/package/@rolldown/plugin-babel) for Vite 8 and up with rolldown/oxc).

Vite will then send all source files to the Babel parser which will transpile ES decorators using the plugin [@babel/plugin-proposal-decorators](https://babeljs.io/docs/babel-plugin-proposal-decorators).
npm package: @open-xchange/vite-plugin-i18next-gettext
Description: Vite integration of i18next using gettext
Latest version: 1.5.0

# @open-xchange/vite-plugin-i18next-gettext

A Vite plugin that allows using [i18next](https://www.i18next.com/) in source code with gettext's `.po` and `.pot` files under the hood.

This plugin has the following responsibilities:

- Vite's development server will convert `.po` files imported in source code to i18next-compatible JSON data on-the-fly.
- When building the project, `.po` files will be converted to and written as i18next-compatible JSON files into the bundle.
- When building the project, the source code will be scanned for translation strings (`t` function calls), and a `.pot` file containing all strings will be generated into the output directory.

This plugin is designed to work together with the i18next plugin [i18next-resources-to-backend](https://github.com/i18next/i18next-resources-to-backend) that will load the `.po` files into the i18next instance.

## Usage

Add the plugin to your Vite configuration:

```ts
// vite.config.ts

import { defineConfig } from 'vite' // or 'vitest/config'
import i18nextPlugin from '@open-xchange/vite-plugin-i18next-gettext'

export default defineConfig(() => {

  // ...

  plugins: [
    // ...

    i18nextPlugin({
      poFiles: 'i18n/*.po',
      srcFiles: 'src/**/*.{js,jsx,ts,tsx}',
      potFile: 'dist/[NAMESPACE].pot',
      projectName: 'My Project',
    }),
  ],
})
```

### Options

| Name | Type | Default | Description |
| - | - | - | - |
| `poFiles` | `string\|string[]` | _required_ | Glob pattern(s) for all PO files containing the translations. |
| `srcFiles` | `string\|string[]` | _required_ | Glob pattern(s) for all source files to be scanned for UI strings. |
| `potFile` | `string` | _required_ | Path to the POT files to be generated when building the project, relative to the build output directory. Should contain the placeholder `[NAMESPACE]` if the project contains translation strings in different i18next namespaces. |
| `projectName` | `string` | _required_ | The project name to be inserted into the POT file under the key 'Project-Id-Version'. May contain the placeholder `[NAMESPACE]` |
npm package: @open-xchange/vite-plugin-ox-bundle
Description: vite plugin to create a custom bundle file to reduce js requests for App Suite UI
Author: App Suite Web Foundation
Latest version: 1.0.0

# Vite Plugin OX Bundle

A vite plugin to create a custom bundle file to reduce js requests for App Suite UI

## Install

```sh
pnpm i "@open-xchange/vite-plugin-ox-bundle"
```

## How to use

```js
// in the vite.config.js
import vitePluginOxBundle from '@open-xchange/vite-plugin-ox-bundle'

return {
  plugins: [vitePluginOxBundle()]
}
```

You need to manual define a bundle file:

```js
// bundles.json
[
  {
    name: 'mybundle.js',
    files: [
      ....
    ]
  }
]
```

## Options

You can provide the following options to the plugin:

* src `<string>` Path to predefined bundles file. Default: `./bundles.json`
* htmlFiles `<string[]>` HTML files to be added to manifest. Default: `[]`
* ignore `<string[]>` Paths to be ignored. Default: `[]`
npm package: @open-xchange/vite-plugin-ox-css
Description: vite plugin to inject css loading for App Suite UI
Author: App Suite Web Foundation
Latest version: 1.0.2

# Vite Plugin OX CSS

A vite plugin to inject loading of stylesheets for App Suite UI

## Install

```sh
pnpm i "@open-xchange/vite-plugin-ox-css"
```

## How to use

```js
// in the vite.config.js
import vitePluginOxCss from '@open-xchange/vite-plugin-ox-css'

return {
  plugins: [vitePluginOxCss()]
}
```
npm package: @open-xchange/vite-plugin-ox-externals
Description: A vite plugin to resolve external ox core modules
Author: App Suite Web Foundation
Latest version: 1.0.0

# Vite Plugin OX Externals

A vite plugin that will mark prefixed modules as external and will transform the path in production into a path relative to the root.

## Install

```sh
pnpm i "@open-xchange/vite-plugin-ox-externals"
```

## How to use

```js
// in the vite.config.js
import vitePluginOxExternals from '@open-xchange/vite-plugin-ox-externals'

return {
  plugins: [vitePluginOxExternals()]
}
```

## Options

You can provide the following options to the plugin:

| Name | Type | Default | Description |
| -- | -- | -- | -- |
| `prefix` | `string` | `'$'` | The prefix to use for external modules. Will always be followed by a `/` if you specify the path. |

## Example

```js
// import the core settings module
import { Settings } from '$/io.ox/core/settings'
```

## How to test

```sh
pnpm test
```
npm package: @open-xchange/vite-plugin-ox-manifests
Description: A vite plugin to concat and serve ox manifests
Author: App Suite Web Foundation
Latest version: 1.0.4

# Vite Plugin OX Manifests

A vite plugin that generates a manifest.json for code loading inside an App Suite UI plugin environment.

## Install

```sh
pnpm i "@open-xchange/vite-plugin-ox-manifests"
```

## How to use

```js
// in the vite.config.js
import vitePluginOxManifests from '@open-xchange/vite-plugin-ox-manifests'

return {
  plugins: [vitePluginOxManifests()]
}
```

## Options

You can provide the following options to the plugin:

* watch `<boolean>` If set to true, it will watch any changes to manifest.json files and will automatically reload the vite-dev-server. Default: `false`
* entryPoints `<string> | <glob pattern>` Convenience method to specify additional entry points for the production build. The glob pattern will be resolved and injected into the `build.input` options of vite. Can be specified as a glob-pattern. Default: `undefined`
* manifestsAsEntryPoints `<boolean>` If set to true, this will inject every entrypoint that is defined by a manifest.json file into the `build.input` options of vite. Default: `true`
* autoloadSettings `<boolean>` If set to true, this plugin tries to auto-detect files that export settings. Prerequisites are, that the file imports `Settings` from the `io.ox/core/settings` module and have a named export called `settings`. Default true
* supportedEntryExtensions `<string[]>` This array defines the extensions, that are to expect as entry points. For example, if a manifest.json have `"path": "index"`, it will look for `index.js`, `index.mjs` or `index.ts` next to the manifest.json. Default: `['js', 'mjs', 'ts']`
* meta `<object | null>` An object that will be translated into a meta.json file in the root directory. Default: `null`

## Examples

### Autoload settings

If autoload settings is enabled, the settings modules have to look like the following:

```js
// import from the core settings module
import { Settings } from '$/io.ox/core/settings'

// named export 'settings'
export const settings = new Settings('test', () => {})
```

## How to test

```sh
pnpm test
```

## Migration guide

### From 0.x to 1.x

The field `transformAbsolutePaths` has been removed as you can use `base: './'` within your vite configuration.
npm package: @open-xchange/vite-plugin-po2json
Description: A Vite plugin to load po files into our gettext based dictionary implementation.
Author: App Suite Web Foundation
Latest version: 1.1.1

# Vite Plugin PO2JSON

A Vite plugin that compiles GNU gettext PO files into JSON translation dictionaries for App Suite UI. Forked from `@open-xchange/rollup-plugin-po2json` and adapted for Vite 8 / Rolldown.

## Install

```sh
pnpm i "@open-xchange/vite-plugin-po2json"
```

## How to use

```js
// in the vite.config.js
import vitePluginPo2json from '@open-xchange/vite-plugin-po2json'

export default defineConfig({
  plugins: [vitePluginPo2json({
    poFiles: 'i18n/*.po'
  })]
})
```

## Options

* poFiles `<string>` **(required)** Glob pattern pointing to the PO files to compile.
* outFile `<string>` Output filename for the extracted POT file. Default: `'i18n.pot'`
* defaultDictionary `<string>` Name of the default translation dictionary. Default: `'i18n'`
* defaultLanguage `<string>` The default language to use. Default: `'en_US'`
* headers `<object>` Headers to include in the generated POT file. Default: `{ 'Content-Type': 'text/plain; charset=UTF-8', 'Content-Transfer-Encoding': '8bit' }`
* includeFuzzy `<boolean>` Whether to include fuzzy translations in the output. Default: `false`

## How to test

```sh
pnpm test
```
npm package: @open-xchange/vite-plugin-print-urls
Description: Vite plugin to print additional URLs when starting dev/preview server
Latest version: 1.3.0

# @open-xchange/vite-plugin-print-urls

A Vite plugin that allows printing additional URLs to the console when starting the dev or preview server.

## Usage

Add the plugin to your Vite configuration:

```ts
// vite.config.ts

import { defineConfig } from 'vite' // or 'vitest/config'
import printUrlsPlugin from '@open-xchange/vite-plugin-print-urls'

export default defineConfig(() => {

  // ...

  plugins: [
    // ...

    printUrlsPlugin({
      urls: {
        Server: env.SERVER,
      },
    }),
  ],
})
```

results in an additional line 'Server' when starting the Vite dev server (or the Vite preview server):

```txt
> vite dev

  VITE v5.3.5  ready in 693 ms

  ➜  Server:  https://your.dev.server
  ➜  Local:   https://localhost:3000/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
```

### Options

| Name | Type | Default | Description |
| - | - | - | - |
| `urls` | `Record<string, string\|undefined>` | _required_ | A map with the labels as keys ('Server' in the example above), and the values to be printed after the labels. Empty strings and `undefined` values will be omitted. |
npm package: @open-xchange/vite-plugin-project-meta
Description: Vite plugin providing a virtual import for project metadata
Latest version: 1.3.0

# @open-xchange/vite-plugin-project-meta

A Vite plugin providing a virtual import for project metadata with build information.

The metadata object can simply be imported in source code as following:

```js
import metadata from 'virtual:metadata'
```

Additionally, while bundling the project, the plugin will insert a `<meta>` element into all HTML entry files containing a string with random length and contents. This is needed to workaround sticky browser cache when the HTML entry files are being served with weak e-tags that depend on the file size only but not on the file contents.

## Usage

Add the plugin to your Vite configuration:

```ts
// vite.config.ts

import { defineConfig } from 'vite' // or 'vitest/config'
import metaPlugin from '@open-xchange/vite-plugin-project-meta'

export default defineConfig(() => {

  // ...

  plugins: [
    // ...

    metaPlugin({
      id: 'my-project-ui'
      name: 'My Project UI',
    }),
  ],
})
```

Register TypeScript type definitions for the 'virtual:metadata' module import:

```json
// src/tsconfig.json

{
  // ...

  "types": [
    "vite/client",
    "@open-xchange/vite-plugin-project-meta/virtual"
  ],
}
```

Use the virtual module in your code:

```ts
// src/path/to/some/module.ts

import metadata from 'virtual:metadata'

console.log(metadata.id)        // from package.json ('name')
console.log(metadata.name)      // from `options.projectName`
console.log(metadata.version)   // from package.json ('version')
console.log(metadata.builddate) // plugin execution timestamp
console.log(metadata.commitsha) // from env variable 'CI_COMMIT_SHA'
```

### Options

| Name | Type | Default | Description |
| - | - | - | - |
| `projectName` | `string` | _required_ | Display name of the project, for metadata property 'name'. |
npm package: @open.network/ovm-contracts
Description: [![Tests](https://github.com/NaturalSelectionLabs/ovm-contracts/actions/workflows/test.yml/badge.svg)](https://github.com/NaturalSelectionLabs/ovm-contracts/actions/workflows/test.yml) [![checks](https://github.com/NaturalSelectionLabs/ovm-contracts/actio
Latest version: 1.3.0

## ovm-contracts

[![Tests](https://github.com/NaturalSelectionLabs/ovm-contracts/actions/workflows/test.yml/badge.svg)](https://github.com/NaturalSelectionLabs/ovm-contracts/actions/workflows/test.yml)
[![checks](https://github.com/NaturalSelectionLabs/ovm-contracts/actions/workflows/checks.yml/badge.svg)](https://github.com/NaturalSelectionLabs/ovm-contracts/actions/workflows/checks.yml)
[![codecov](https://codecov.io/gh/NaturalSelectionLabs/ovm-contracts/graph/badge.svg?token=Q0GMj4Epjx)](https://codecov.io/gh/NaturalSelectionLabs/ovm-contracts)


## Usage

### Build

```shell
$ forge build
```

### Test

```shell
$ forge test
```

### Format

```shell
$ forge fmt
```

### Gas Snapshots

```shell
$ forge snapshot
```

### Anvil

```shell
$ anvil
```

### Deploy


```shell
forge script script/Deploy.s.sol:Deploy \
--chain-id $CHAIN_ID \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--verifier-url $VERIFIER_URL \
--verifier $VERIFIER \
--verify \
--broadcast --ffi -vvvv

# generate easily readable abi to /deployments
forge script script/Deploy.s.sol:Deploy --sig 'sync()' --rpc-url $RPC_URL --broadcast --ffi
```
npm package: @open330/oac-budget
Description: Token estimation and execution planning for OAC
Latest version: 2026.3.6
Deprecated: DEPRECATED: Budget functionality is now integrated into @open330/oac. Install @open330/oac instead.

# @open330/oac-budget

Token estimation and execution planning for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-budget
```

## What's Inside

- **Token Estimator** — per-provider token counting using tiktoken
- **Complexity Analyzer** — estimates LOC changes and task difficulty
- **Execution Planner** — knapsack-optimized task selection within a token budget (with 10% reserve)

## Usage

```typescript
import { estimateTokens, buildExecutionPlan } from '@open330/oac-budget';

const estimate = estimateTokens(task, 'claude');
const plan = buildExecutionPlan(tasks, { totalBudget: 50_000 });
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-completion
Description: PR creation and post-execution completion for OAC
Latest version: 2026.3.6
Deprecated: Use @open330/oac instead

# @open330/oac-completion

PR creation and issue linking for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-completion
```

## What's Inside

- **PR Handler** — creates pull requests via Octokit with structured descriptions
- **Issue Linker** — links PRs to source issues/TODOs with `Closes #N` references
- **Diff Validator** — sanity-checks agent output before submitting

## Usage

```typescript
import { createCompletionHandler } from '@open330/oac-completion';

const handler = createCompletionHandler({ token: process.env.GITHUB_TOKEN });
const pr = await handler.createPR({ repo, task, execution });
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-core
Description: Core types, config schema, and event bus for Open Agent Contribution
Latest version: 2026.3.6
Deprecated: Use @open330/oac instead

# @open330/oac-core

Core module for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution) — event bus, config loader, shared types, and error definitions.

## Install

```bash
npm install @open330/oac-core
```

## What's Inside

- **Event Bus** — typed EventEmitter for pipeline coordination
- **Config Loader** — Zod-validated `oac.config.ts` reader with `defineConfig()` helper
- **Types** — shared interfaces (`Task`, `TokenEstimate`, `ResolvedRepo`, etc.)
- **Errors** — `OacError` base class with error codes

## Usage

```typescript
import { createEventBus, loadConfig, OacError } from '@open330/oac-core';
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-dashboard
Description: Web dashboard for monitoring OAC runs and contributions
Latest version: 2026.3.6
Deprecated: DEPRECATED: Dashboard functionality is now integrated into @open330/oac. Install @open330/oac instead.

# @open330/oac-dashboard

Web dashboard for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-dashboard
```

## What's Inside

- **Fastify Server** — localhost web dashboard for managing OAC runs
- **SSE Streaming** — real-time progress updates via Server-Sent Events
- **Embedded SPA** — dark-mode UI with task filters, budget controls, and contribution history

## Usage

```bash
# Via CLI
oac dashboard

# Programmatic
```

```typescript
import { startDashboard } from '@open330/oac-dashboard';

await startDashboard({ port: 3330 });
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-discovery
Description: Task discovery scanners (lint, to-do comments, GitHub issues) for OAC
Latest version: 2026.3.6
Deprecated: DEPRECATED: Discovery functionality is now integrated into @open330/oac. Install @open330/oac instead.

# @open330/oac-discovery

Task discovery scanners for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-discovery
```

## What's Inside

- **TodoScanner** — finds `TODO`/`FIXME`/`HACK` comments via ripgrep
- **LintScanner** — detects lint warnings from ESLint/Biome output
- **GitHubIssuesScanner** — fetches open issues labeled `good-first-issue`, `help-wanted`, etc.
- **CompositeScanner** — runs multiple scanners and merges results
- **Priority Ranker** — scores and sorts tasks by actionability

## Usage

```typescript
import { CompositeScanner, TodoScanner, LintScanner, rankTasks } from '@open330/oac-discovery';

const scanner = new CompositeScanner([new TodoScanner(), new LintScanner()]);
const tasks = await scanner.scan('/path/to/repo');
const ranked = rankTasks(tasks);
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-execution
Description: Agent execution engine and sandboxing for OAC
Latest version: 2026.3.6
Deprecated: DEPRECATED: Execution functionality is now integrated into @open330/oac. Install @open330/oac instead.

# @open330/oac-execution

Agent execution engine for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-execution
```

## What's Inside

- **ExecutionEngine** — priority-based job queue with `p-queue`, retry, and abort support
- **ClaudeCodeAdapter** — `AgentProvider` implementation for Claude Code CLI (`claude-code`)
- **CodexAdapter** — `AgentProvider` implementation for OpenAI Codex CLI (`codex`)
- **Git Worktree Sandbox** — isolated execution environments per task via `git worktree`

## Usage

```typescript
import { ClaudeCodeAdapter, CodexAdapter, createSandbox, executeTask } from '@open330/oac-execution';

// Use Claude Code
const claude = new ClaudeCodeAdapter();
// Or use Codex
const codex = new CodexAdapter();

const sandbox = await createSandbox(repo, task);
const result = await executeTask(claude, task, sandbox);
```

## Adding Custom Agents

Implement the `AgentProvider` interface:

```typescript
import type { AgentProvider } from '@open330/oac-execution';

export class MyAgent implements AgentProvider {
  readonly id = 'my-agent';
  readonly name = 'My Agent';
  async checkAvailability() { /* ... */ }
  execute(params) { /* ... */ }
  async estimateTokens(params) { /* ... */ }
  async abort(executionId) { /* ... */ }
}
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-repo
Description: Repository resolution and cloning for OAC
Latest version: 2026.3.6
Deprecated: DEPRECATED: Repo functionality is now integrated into @open330/oac. Install @open330/oac instead.

# @open330/oac-repo

Repository resolution and cloning for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-repo
```

## What's Inside

- **Repo Resolver** — parse `owner/repo`, GitHub URLs, or SSH URIs into a structured `ResolvedRepo`
- **Clone Manager** — shallow clone with `simple-git`, automatic cache at `~/.oac/cache/repos/`
- **Metadata Cache** — JSON-based cache for repo metadata (languages, permissions, head SHA)

## Usage

```typescript
import { resolveRepo, cloneRepo } from '@open330/oac-repo';

const repo = await resolveRepo('facebook/react');
await cloneRepo(repo);
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.
npm package: @open330/oac-tracking
Description: Contribution logging and leaderboard tracking for OAC
Latest version: 2026.3.6
Deprecated: DEPRECATED: Tracking functionality is now integrated into @open330/oac. Install @open330/oac instead.

# @open330/oac-tracking

Contribution tracking and leaderboard for [OAC (Open Agent Contribution)](https://github.com/Open330/open-agent-contribution).

## Install

```bash
npm install @open330/oac-tracking
```

## What's Inside

- **Contribution Logger** — writes JSON audit logs to `.oac/contributions/`
- **Leaderboard** — aggregates contribution stats across team members
- **JSON Schema** — typed contribution log format

## Usage

```typescript
import { writeContributionLog } from '@open330/oac-tracking';

await writeContributionLog(repoPath, {
  contributor: 'jiun',
  tasks: completedTasks,
  tokensUsed: 42_000,
  prsCreated: 3,
});
```

## License

MIT — see the [main repo](https://github.com/Open330/open-agent-contribution) for details.