open-index/open-npm huggingface dataset:
npm package: @proveedor_247/shared_components
Description: This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
Latest version: 2.0.6

# Vue 3 + TypeScript + Vite

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.

## Recommended IDE Setup

- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).

## Type Support For `.vue` Imports in TS

TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.

If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:

1. Disable the built-in TypeScript Extension
   1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
   2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
npm package: @proven-network/crypto
Description: Handle private key material inside Proven runtime
Latest version: 0.0.4

# Crypto Types for Proven Application Code

This package defines crypto types for usage in Proven Application code.

## Installation

Install this package as a dev dependency:

```bash
npm install --save-dev @proven-network/crypto
```

or

```bash
yarn add -D @proven-network/crypto
```
npm package: @proven-network/handler
Description: Customise settings for function handlers inside Proven runtime
Latest version: 0.0.13

# Handler Types for Proven Application Code

This package allows customization of exported functions in Proven application code.

## Installation

Install this package as a dev dependency:

```bash
npm install --save-dev @proven-network/handler
```

or

```bash
yarn add -D @proven-network/handler
```

## Usage

### RPC Handlers

```typescript
import { run, runWithOptions } from "@proven-network/handler";

// RPC handler with no options
export const add = run((a: number, b: number) => {
  return a + b;
});

// RPC handler with options
export const subtract = runWithOptions(
  (a: number, b: number) => {
    return a - b;
  },
  {
    allowedOrigins: ["https://example.com"],
    timeout: 30000,
  }
);
```

### HTTP Handlers

```typescript
import { runOnHttp } from "@proven-network/handler";

// Simple HTTP handler with path parameters
export const getUser = runOnHttp(
  {
    path: "/users/:userId",
  },
  (request) => {
    const { userId } = request.pathVariables;
    return { id: userId, name: "John Doe" };
  }
);

// HTTP handler with additional options
export const createUser = runOnHttp(
  {
    path: "/organizations/:orgId/users",
    timeout: 2000,
  },
  (request) => {
    const { orgId } = request.pathVariables;
    return { success: true };
  }
);
```
npm package: @proven-network/proven-dapp-toolkit
Description: Front-end SDK for Proven Network.
Latest version: 0.8.0

# Proven dApp Toolkit

## Basic usage

Update initialisation of RadixDappToolkit like so:

```typescript
// Replace this:
import {
  RadixDappToolkit,
  RadixNetwork,
  createLogger,
} from '@radixdlt/radix-dapp-toolkit';

const radixDappToolkit = RadixDappToolkit({
  networkId: RadixNetwork.Stokenet,
  dAppDefinitionAddress: "account_tdx_2_12y7ue9sslrkpywpgqyu3nj8cut0uu5arpr7qyalz7y9j7j5q4ayhv6",
  logger: createLogger(2),
})

// With this:
import ProvenDappToolkit from '@proven-network/proven-dapp-toolkit';
import {
  RadixNetwork,
  createLogger,
} from '@radixdlt/radix-dapp-toolkit';

const [radixDappToolkit, provenDappToolkit] = ProvenDappToolkit({
  networkId: RadixNetwork.Stokenet,
  dAppDefinitionAddress: "account_tdx_2_12y7ue9sslrkpywpgqyu3nj8cut0uu5arpr7qyalz7y9j7j5q4ayhv6",
  logger: createLogger(2),
})
```

Ensure that your data request is asking for proofs for the persona (and optionally for the accounts)

```typescript
radixDappToolkit.walletApi.setRequestData(
  // Persona proof is required - note the .withProof()
  DataRequestBuilder.persona().withProof(),
  // Accounts optional but should be proofed if business logic relies on token balances
  DataRequestBuilder.accounts().atLeast(1).withProof()
)
```

## Work-in-progress

* [x] Session key generation
* [x] Remote attestation of node
* [x] Checking of x509 chain (incl. bundled root certificate match)
* [x] Signing of RPC messages using COSE
* [ ] Calling exported remote functions (blocked pending integration of wit-to-zod transpiler into node WASM build process)
* [ ] Direct storage access calls
* [ ] Subscription to remote events (ledger & proven)
npm package: @proven-network/session
Description: Access information about the active session inside Proven runtime
Latest version: 0.0.1

# Key-Value Store Types for Proven Application Code

This package defines key-value store types for usage in Proven Application code. It includes string and byte stores for application, personal, and NFT contexts.

## Installation

Install this package as a dev dependency:

```bash
npm install --save-dev @proven-network/kv
```

or

```bash
yarn add -D @proven-network/kv
```

## Usage

### Application Store

#### String Store

```typescript
import { getApplicationStore } from "@proven-network/kv";

const APP_STORE = getApplicationStore("myAppStore");

export const handler = async () => {
  const success = await APP_STORE.set("key1", "value1");
  if (success) {
    const value = await APP_STORE.get("key1");
    console.log(value);
  }
};
```

#### Bytes Store

```typescript
import { getApplicationBytesStore } from "@proven-network/kv";

const APP_BYTES_STORE = getApplicationBytesStore("myAppBytesStore");

export const handler = async () => {
  const success = await APP_BYTES_STORE.set("key1", new Uint8Array([1, 2, 3]));
  if (success) {
    const value = await APP_BYTES_STORE.get("key1");
    console.log(value);
  }
};
```

### Personal Store

#### String Store

```typescript
import { getPersonalStore } from "@proven-network/kv";

const PERSONAL_STORE = getPersonalStore("myPersonalStore");

export const handler = async () => {
  const success = await PERSONAL_STORE.set("key1", "value1");
  if (success) {
    const value = await PERSONAL_STORE.get("key1");
    console.log(value);
  }
};
```

#### Bytes Store

```typescript
import { getPersonalBytesStore } from "@proven-network/kv";

const PERSONAL_BYTES_STORE = getPersonalBytesStore("myPersonalBytesStore");

export const handler = async () => {
  const success = await PERSONAL_BYTES_STORE.set(
    "key1",
    new Uint8Array([1, 2, 3])
  );
  if (success) {
    const value = await PERSONAL_BYTES_STORE.get("key1");
    console.log(value);
  }
};
```

### NFT Store

#### String Store

```typescript
import { getNftStore } from "@proven-network/kv";

const NFT_STORE = getNftStore("myNftStore", "nft123");

export const handler = async () => {
  const success = await NFT_STORE.set("key1", "value1");
  if (success) {
    const value = await NFT_STORE.get("key1");
    console.log(value);
  }
};
```

#### Bytes Store

```typescript
import { getNftBytesStore } from "@proven-network/kv";

const NFT_BYTES_STORE = getNftBytesStore("myNftBytesStore", "nft123");

export const handler = async () => {
  const success = await NFT_BYTES_STORE.set("key1", new Uint8Array([1, 2, 3]));
  if (success) {
    const value = await NFT_BYTES_STORE.get("key1");
    console.log(value);
  }
};
```
npm package: @proven-network/sql
Description: Access relational data inside Proven runtime
Latest version: 0.0.16

# SQL Database Types for Proven Application Code

This package defines SQL database types for usage in Proven Application code. It includes typed database access for application and personal contexts.

## Installation

Install this package as a dev dependency:

```bash
npm install --save-dev @proven-network/sql
```

or

```bash
yarn add -D @proven-network/sql
```

## Usage

### Application Database

```typescript
import { getApplicationDb } from "@proven-network/sql";

const APP_DB = getApplicationDb("myAppDb").migrate(`
    CREATE TABLE posts (
      id INTEGER PRIMARY KEY,
      title TEXT NOT NULL,
      content TEXT
    );
  `);

export const handler = async () => {
  const posts = await APP_DB.query(`
    SELECT * FROM posts WHERE title LIKE 'Hello%'
  `);
  console.log(posts);
};
```

### Personal Database

```typescript
import { getPersonalDb } from "@proven-network/sql";

const PERSONAL_DB = getPersonalDb("myPersonalDb").migrate(`
    CREATE TABLE tasks (
      id INTEGER PRIMARY KEY,
      description TEXT NOT NULL,
      completed BOOLEAN DEFAULT FALSE
    );
  `);

export const handler = async () => {
  const tasks = await PERSONAL_DB.query(`
    SELECT * FROM tasks WHERE completed = FALSE
  `);
  console.log(tasks);
};
```

### NFT Database

```typescript
import { getNftDb } from "@proven-network/sql";

const NFT_DB = getPersonalDb("myPersonalDb").migrate(`
    CREATE TABLE tasks (
      id INTEGER PRIMARY KEY,
      description TEXT NOT NULL,
      completed BOOLEAN DEFAULT FALSE
    );
  `);
const RESOURCE_ADDR = "resource_1qlq38wvrvh5m4kaz6etaac4389qtuycnp89atc8acdfi";

export const handler = async (nftId: string) => {
  const tasks = await NFT_DB.query(
    RESOURCE_ADDR,
    nftId,
    `
    SELECT * FROM tasks WHERE completed = FALSE
  `
  );
  console.log(tasks);
};
```