open-index/open-npm huggingface dataset:
npm package: @shim-finance/typescript-sdk
Description: TypeScript SDK for the Shim.Finance REST API
Latest version: 0.0.5

# @shim-finance/typescript-sdk

TypeScript SDK for the [Shim.Finance](https://shim.finance) REST API.

## Installation

```bash
npm install @shim-finance/typescript-sdk
```

## Quick Start

```typescript
import { client, institutionsList, accountsList, transactionsList } from '@shim-finance/typescript-sdk';

// Configure the client with your API key
client.setConfig({
  baseUrl: 'https://api.shim.finance',
  headers: {
    Authorization: 'Bearer sk_live_YOUR_API_KEY',
  },
});

// List connected institutions
const institutions = await institutionsList();

// List all accounts
const accounts = await accountsList();

// List transactions with filtering
const transactions = await transactionsList({
  query: {
    startDate: '2026-01-01',
    endDate: '2026-01-31',
    limit: '50',
  },
});
```

## Error Handling

All SDK functions return `{ data, error }`. Check `error` before using `data`:

```typescript
const { data, error } = await transactionsList();

if (error) {
  console.error('API error:', error);
} else {
  console.log(\`Found \${data.total} transactions\`);
}
```

## API Reference

### `institutionsList()`

Returns all connected financial institutions (banks) for the authenticated user.

### `accountsList()`

Returns all bank accounts across all connected institutions.

### `transactionsList(options?)`

Returns transactions with optional filtering and pagination.

| Parameter | Type | Description |
|-----------|------|-------------|
| `query.accountId` | `string` | Filter by account ID |
| `query.startDate` | `string` | Inclusive start date (YYYY-MM-DD) |
| `query.endDate` | `string` | Inclusive end date (YYYY-MM-DD) |
| `query.limit` | `string` | Max results per page (default 100, max 500) |
| `query.offset` | `string` | Number of results to skip |

### `transactionsSync(options?)`

Incrementally sync transaction changes. Omit `cursor` for initial sync, then pass the returned `cursor` to subsequent calls.

| Parameter | Type | Description |
|-----------|------|-------------|
| `query.cursor` | `string` | Sync cursor from a previous response |

Returns `{ added, modified, removed, cursor, hasMore }`.

## Authentication

All endpoints require an API key. Create one in your [Shim.Finance dashboard](https://app.shim.finance) under Settings > API Keys.

API keys use the format `sk_live_<token>`. Include it as a Bearer token in the Authorization header.

## License

MIT
npm package: @shimaore/amp
Description: Abstract messaging protocol
Latest version: 0.4.1


# amp

  Abstract Message Protocol codec and streaming parser for nodejs.

## Installation

```
$ npm install amp
```

## Example

```js
var bin = amp.encode([new Buffer('hello'), new Buffer('world')]);
var msg = amp.decode(bin);
console.log(msg);
```

## Protocol

  AMP is a simple versioned protocol for framed messages containing
  zero or more "arguments". Each argument is opaque binary, thus you
  may use JSON, BSON, msgpack and others on top of AMP. Multiple argument
  support is used to allow a hybrid of binary/non-binary message args without
  requiring higher level serialization libraries like msgpack or BSON.

  All multi-byte integers are big endian. The `version` and `argc` integers
  are stored in the first byte, followed by a sequence of zero or more
  `<length>` / `<data>` pairs, where `length` is a 32-bit unsigned integer.

```
      0        1 2 3 4     <length>    ...
+------------+----------+------------+
| <ver/argc> | <length> | <data>     | additional arguments
+------------+----------+------------+
```

# License

  MIT
npm package: @shimaore/amp-message
Description: Higher level Message object for the AMP protocol
Latest version: 0.2.1


# amp-message

  High level [AMP](https://github.com/visionmedia/node-amp) `Message` implementation for manipulating, encoding and decoding AMP messages.

## Installation

```
$ npm install amp-message
```

## Example

  Encoding a message:

```js
var Message = require('amp-message');

var msg = new Message;

console.log(msg.toBuffer());
// => <Buffer 10>

msg.push('foo');
msg.push('bar');
msg.push('baz');
console.log(msg.toBuffer());
// => <Buffer 13 00 05 73 3a 66 6f 6f 00 05 73 3a 62 61 72 00 05 73 3a 62 61 7a>

msg.push({ foo: 'bar' });
console.log(msg.toBuffer());
// => <Buffer 14 00 05 73 3a 66 6f 6f 00 05 73 3a 62 61 72 00 05 73 3a 62 61 7a 00 0f 6a 3a 7b 22 66 6f 6f 22 3a 22 62 61 72 22 7d>

msg.push(new Buffer('image data'));
console.log(msg.toBuffer());
// => <Buffer 15 00 05 73 3a 66 6f 6f 00 05 73 3a 62 61 72 00 05 73 3a 62 61 7a 00 0f 6a 3a 7b 22 66 6f 6f 22 3a 22 62 61 72 22 7d 00 0a 69 6d 61 67 65 20 64 61 74 ... >
```

  Decoding a message:

```js
var Message = require('..');

var msg = new Message;

msg.push('foo')
msg.push({ hello: 'world' })
msg.push(new Buffer('hello'))

var other = new Message(msg.toBuffer());

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

## API

### Message

  Initialize an empty message.

### Message(buffer)

  Decode the `buffer` AMP message to populate the `Message`.

### Message(args)

  Initialize a messeage populated with `args`.

# License

  MIT