open-index/open-npm huggingface dataset:
npm package: @gotamedia/shapeshifter
Description: Shapeshifter is a general format converter. It converts strings of one format (shape) into a string of another.
Latest version: 0.10.0

# Shapeshifter

Shapeshifter is a general format converter. It converts strings of one format
(shape) into a string of another.

- [Installation](#installation)
- [Usage](#usage)
    - [API](#api)
    - [CLI](#cli)
- [License](#license)

## Installation

```shell
npm install @gotamedia/shapeshifter
```

## Usage

### API

```javascript
const { OpenContentShapeProvider, ShapeBuilder } = require("@gotamedia/shapeshifter");

const shape = await new ShapeBuilder()
    .useShapeProvider(new OpenContentShapeProvider())
    .useInput(inputString)
    .build();

console.log(shape.shift());
```

That's it!
You can use any number of shape providers or plug in your own. To enable all
available shape providers you can use a shape provider resolver.

```javascript
const { ShapeBuilder, ShapeProviderResolver } = require("@gotamedia/shapeshifter");

const shape = await new ShapeBuilder()
    .useShapeProviderResolver(new ShapeProviderResolver("/path/to/shape/providers/"))
    .useInput(inputString)
    .build();

console.log(shape.shift());
```

This saves you from updating the code anytime you want to use additional shape
providers.

### CLI

Shapeshifter also comes with a convenient CLI tool. You can use it to convert
shapes in npm scripts or simply on the command line.

The shapeshifter command accepts input as stdin. This makes it easy to use with
pipes. Here is a simple example using curl on the command line to fetch and
convert an article from Open Content.

```shell
curl --silent --user [credentials] http://xlibris.oc.gota.infomaker.io:8080/opencontent/objects/[uuid] | shapeshifter
```

And here is an example of converting an article in a file.

```shell
shapeshifter < [path/to/article].xml
```

## License

Shapeshifter is released under the [MIT](http://www.opensource.org/licenses/MIT) License.
npm package: @gotbit/merkle
Description: Merkle tree tools
Author: kotsmile
Latest version: 0.1.9

# @gotbit/merkle

Library for work with [Merkle Tree](https://en.wikipedia.org/wiki/Merkle_tree)
Was choosen sorted version of Merkle Tree, with `keccak256` hash function from `ethers.js`

## Features

- Calculate root from raw leaves
- Generate proofs
- Verify proof

## Examples

### Root

Calculation of `root` for Merkle tree you need to prepare array of leaves (hashed values)

```typescript
import { calculateRoot } from '@gotbit/merkle'

const leaves = [
  '0xbc45a2b14ce263793725c93e12afa83d2cc6312b9abe44ed06fb66afd4394175',
  '0x67cdf3d02c0c38e81f3def6251132aaae3d70cd50a1639b039b3c87c99a6092b',
  '0x85e0c2c66b77fed6c821710352651309dc3792db7db10788af32daa42706a527',
  '0xdb5425be7bb655e161ff2939dfe331a07c16e42933b133c624d1dce76f66fb6b',
]

const root = calculateRoot(leaves)
```

### Proof

Generation of proof for specific leafe

```typescript
import { generateProof } from '@gotbit/merkle'

const leaves = [
  '0xbc45a2b14ce263793725c93e12afa83d2cc6312b9abe44ed06fb66afd4394175',
  '0x67cdf3d02c0c38e81f3def6251132aaae3d70cd50a1639b039b3c87c99a6092b',
  '0x85e0c2c66b77fed6c821710352651309dc3792db7db10788af32daa42706a527',
  '0xdb5425be7bb655e161ff2939dfe331a07c16e42933b133c624d1dce76f66fb6b',
]

const i = 0
const proof = generateProof(leaves, leaves[i]) // generates proof for i-leaf
```

### Verify

To verify correctness of proof you can use `typescript` or make on-chain with `Merkle` solidity library

#### Typescript

```typescript
import { generateProof, calculateRoot, verify } from '@gotbit/merkle'

const leaves = [
  '0xbc45a2b14ce263793725c93e12afa83d2cc6312b9abe44ed06fb66afd4394175',
  '0x67cdf3d02c0c38e81f3def6251132aaae3d70cd50a1639b039b3c87c99a6092b',
  '0x85e0c2c66b77fed6c821710352651309dc3792db7db10788af32daa42706a527',
  '0xdb5425be7bb655e161ff2939dfe331a07c16e42933b133c624d1dce76f66fb6b',
]

const root = calculateRoot(leaves)

const index = 0
const proof = generateProof(leaves, leaves[index]) // generates proof for i-leaf

const result = verify(proof, root, leaves[index]) // return `true` if proof is correct
```

#### Solidity

```solidity

import "@gotbit/merkle/contracts/Merkle.sol";

contract Vesting {
  using Merkle for bytes32[];

  bytes32 ROOT;

  function verify(bytes32[] memory proof) external {
    bytes32 leaf = abi.encode(msg.sender);
    require(proof.verify(ROOT, leaf), 'Incorrect proof');
  }
}

```
npm package: @gotedo/i18n
Description: Internationalization for AdonisJS apps
Author: virk,adonisjs,ndianabasi,gotedo
Latest version: 1.8.0

<div align="center">
  <img src="https://res.cloudinary.com/adonisjs/image/upload/q_100/v1558612869/adonis-readme_zscycu.jpg" width="600px">
</div>

<br />

<div align="center">
  <h3>Internationalization</h3>
  <p>The official package to add support for I18n to AdonisJS applications. It has support for formatting <strong>numbers</strong>, <strong>currencies</strong>, <strong>date/time</strong> and <strong>messages</strong> using the <a href="https://format-message.github.io/icu-message-format-for-translators/index.html"> ICU syntax </a>.</p>
</div>

<br />

<div align="center">

[![gh-workflow-image]][gh-workflow-url] [![typescript-image]][typescript-url] [![npm-image]][npm-url] [![license-image]][license-url] [![synk-image]][synk-url]

</div>

<div align="center">
  <h3>
    <a href="https://adonisjs.com">
      Website
    </a>
    <span> | </span>
    <a href="https://docs.adonisjs.com/guides/i18n">
      Guides
    </a>
    <span> | </span>
    <a href="CONTRIBUTING.md">
      Contributing
    </a>
  </h3>
</div>

<div align="center">
  <sub>Built with ❤︎ by <a href="https://twitter.com/AmanVirk1">Harminder Virk</a>
</div>

[gh-workflow-image]: https://img.shields.io/github/workflow/status/adonisjs/i18n/test?style=for-the-badge
[gh-workflow-url]: https://github.com/adonisjs/i18n/actions/workflows/test.yml "Github action"

[typescript-image]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
[typescript-url]:  "typescript"

[npm-image]: https://img.shields.io/npm/v/@adonisjs/i18n/latest.svg?style=for-the-badge&logo=npm
[npm-url]: https://www.npmjs.com/package/@adonisjs/i18n/v/latest "npm"

[license-image]: https://img.shields.io/npm/l/@adonisjs/i18n?color=blueviolet&style=for-the-badge
[license-url]: LICENSE.md "license"

[synk-image]: https://img.shields.io/snyk/vulnerabilities/github/adonisjs/i18n?label=Synk%20Vulnerabilities&style=for-the-badge
[synk-url]: https://snyk.io/test/github/adonisjs/i18n?targetFile=package.json "synk"
npm package: @gotgenes/opencode-session-context
Description: OpenCode plugin for cross-session context access in subagent workflows
Author: Chris Lasher
Latest version: 1.0.0

# @gotgenes/opencode-session-context

OpenCode plugin for cross-session context access in subagent workflows.

## What it does

This package provides a plugin that exposes a `parent_session_messages` tool,
allowing subagents to read the full conversation from their parent session.

When OpenCode dispatches a subagent via the Task tool, the subagent runs in a
fresh child session with no access to the parent's conversation history.
This plugin bridges that gap by fetching the parent session's messages through
the OpenCode SDK.

## Installation

Add the plugin to your `opencode.json`:

```json
{
  "plugin": ["@gotgenes/opencode-session-context"]
}
```

## How it works

The plugin registers a `parent_session_messages` tool that:

1. Reads the current session's `parentID` via the SDK
2. Fetches all messages from the parent session
3. Returns them as structured text with agent attribution and content

The output includes full text content from each message and one-line summaries
for tool invocations (using the title computed by OpenCode).

### Output format

```text
1. user
How do I fix the login bug?

---

2. assistant (tdd) [anthropic/claude-opus-4-6]
Let me check the existing test helpers.

  [tool] Read file: web/app/auth/routes/sign-in.test.ts → completed
  [tool] bun test verify.test.ts → error: Process exited with code 1

I see the test is failing because...
```

## Use case

The primary use case is enabling a **retro-stage subagent** that can analyze
the parent session's conversation to capture retrospective observations
(friction, wins, user-side feedback) without requiring a human to invoke a
command or switch agents.