@quicknode/sdk 3.1.0-alpha.14 → 3.1.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -114
- package/index.d.ts +14 -136
- package/index.darwin-arm64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-arm64-musl.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.linux-x64-musl.node +0 -0
- package/package.json +6 -6
- package/sdk.d.ts +1 -16
package/README.md
CHANGED
|
@@ -15,10 +15,10 @@ Rust SDK with Python, Node.js, and Ruby bindings.
|
|
|
15
15
|
- [Testing](#testing)
|
|
16
16
|
- [Examples](#examples)
|
|
17
17
|
- [Releasing](#releasing)
|
|
18
|
-
- [
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
18
|
+
- [Two-phase flow](#two-phase-flow)
|
|
19
|
+
- [Building blocks](#building-blocks)
|
|
20
|
+
- [Version conventions](#version-conventions)
|
|
21
|
+
- [First-time setup](#first-time-setup)
|
|
22
22
|
- [License](#license)
|
|
23
23
|
|
|
24
24
|
## Per-language docs
|
|
@@ -76,7 +76,7 @@ cargo check
|
|
|
76
76
|
cargo test -p quicknode-sdk
|
|
77
77
|
|
|
78
78
|
# Python (from project root)
|
|
79
|
-
just python-setup
|
|
79
|
+
just python-setup
|
|
80
80
|
just python-build
|
|
81
81
|
|
|
82
82
|
# Node.js (from npm/)
|
|
@@ -120,126 +120,76 @@ QN_SDK__API_KEY=replaceme ruby ruby/examples/streams.rb
|
|
|
120
120
|
|
|
121
121
|
### Releasing
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
All four packages (Rust crate, Python wheels, Node `.node` module, Ruby gem) ship together from a single project version. The release flow is split into two `just` commands:
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
- **`just release-prepare <version>`** — bump versions, push, tag, build all Linux + macOS artifacts, attach them to a GitHub release. **No registry publish yet.**
|
|
126
|
+
- **`just release-publish <version>`** — push to crates.io and trigger the PyPI / npm / RubyGems publish workflows.
|
|
126
127
|
|
|
127
|
-
|
|
128
|
-
# 1. Bump the version in crates/core/Cargo.toml (e.g. 0.1.0 → 0.1.0-alpha.5)
|
|
129
|
-
# Pre-release identifiers use SemVer 2.0 syntax: MAJOR.MINOR.PATCH-<id>.<N>
|
|
130
|
-
# Examples: 0.1.0-alpha.4, 0.2.0-beta.1, 0.2.0-rc.1
|
|
131
|
-
|
|
132
|
-
# 2. Commit and push
|
|
133
|
-
git commit -am "chore: release quicknode-sdk 0.1.0-alpha.5"
|
|
134
|
-
git push
|
|
135
|
-
|
|
136
|
-
# 3. Validate the tarball (no upload)
|
|
137
|
-
cargo publish -p quicknode-sdk --dry-run
|
|
138
|
-
|
|
139
|
-
# 4. Publish (requires `cargo login` with a crates.io token)
|
|
140
|
-
cargo publish -p quicknode-sdk
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
The first publish claims the `quicknode-sdk` name permanently. Published versions are immutable — you cannot overwrite or delete them (only `cargo yank`, which hides but doesn't remove).
|
|
144
|
-
|
|
145
|
-
#### All bindings together (Python / Node / Ruby)
|
|
146
|
-
|
|
147
|
-
macOS (Apple Silicon) artifacts are built locally rather than on GitHub Actions to avoid the ~10× runner cost. Linux artifacts are built by CI when a GitHub release is published.
|
|
148
|
-
|
|
149
|
-
1. **Bump versions and commit:**
|
|
150
|
-
```bash
|
|
151
|
-
just release 0.2.0
|
|
152
|
-
git push
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
2. **Create the GitHub release** via the GitHub UI:
|
|
156
|
-
- **Releases → Draft a new release**.
|
|
157
|
-
- **Choose a tag** → type `v0.2.0` → **Create new tag on publish**.
|
|
158
|
-
- Target branch: `main`.
|
|
159
|
-
- Fill in title and notes (or click **Generate release notes**).
|
|
160
|
-
- Click **Publish release**.
|
|
161
|
-
|
|
162
|
-
This creates + pushes the tag and triggers `.github/workflows/release.yml`, which builds Linux artifacts and attaches them to the release.
|
|
163
|
-
|
|
164
|
-
3. **Build macOS arm64 artifacts locally and append them to the release:**
|
|
165
|
-
```bash
|
|
166
|
-
just macos-build-and-publish 0.2.0
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
Step 3 requires the [`gh` CLI](https://cli.github.com/) authenticated to the repo. Intel macOS (`x86_64-apple-darwin`) is not shipped — users on Intel Macs install from source.
|
|
170
|
-
|
|
171
|
-
`just release` does **not** bump the Rust crate version (that's managed separately in `crates/core/Cargo.toml`). If you want the Rust crate to move in lockstep with a binding release, bump it manually in the same commit.
|
|
172
|
-
|
|
173
|
-
#### npm publish (`@quicknode/sdk`)
|
|
174
|
-
|
|
175
|
-
The Node package is published to npm as `@quicknode/sdk`. During the 3.x pre-release period, publishes use the `next` dist-tag so `npm install @quicknode/sdk` continues to resolve to the legacy 2.x release while `npm install @quicknode/sdk@next` pulls the rewrite.
|
|
176
|
-
|
|
177
|
-
The npm publish uses [napi-rs's multi-package layout](https://napi.rs/docs/deep-dive/release): one main package plus per-platform sub-packages (`@quicknode/sdk-linux-x64-gnu`, `@quicknode/sdk-darwin-arm64`, etc.) declared as `optionalDependencies`. Publishing is triggered manually via a GitHub Actions workflow so the macOS binary (built locally) can be uploaded to the GitHub release before publish.
|
|
128
|
+
The pause between the two commands is the natural review point: inspect the GitHub release page and confirm all artifacts are present before anything goes public.
|
|
178
129
|
|
|
179
|
-
|
|
130
|
+
Requires the [`gh` CLI](https://cli.github.com/) authenticated to the repo, an Apple Silicon Mac (macOS arm64 artifacts are built locally to avoid the ~10× CI runner cost), and `cargo login` with a crates.io token.
|
|
180
131
|
|
|
181
|
-
|
|
132
|
+
#### Two-phase flow
|
|
182
133
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
2. **Create the GitHub release** via the GitHub UI:
|
|
188
|
-
- Go to **Releases → Draft a new release**.
|
|
189
|
-
- Click **Choose a tag**, type the new tag (e.g. `v0.1.0-alpha.5`), and select **Create new tag on publish**.
|
|
190
|
-
- Target branch: `main`.
|
|
191
|
-
- Fill in the title and release notes (or click **Generate release notes**).
|
|
192
|
-
- Click **Publish release**.
|
|
193
|
-
|
|
194
|
-
Publishing the release creates + pushes the tag, which triggers `.github/workflows/release.yml`. CI builds the Linux `.node` artifacts and attaches them to the release you just created.
|
|
195
|
-
|
|
196
|
-
3. **Wait for `release.yml` to finish.** Confirm the four Linux `index.*.node` artifacts are attached to the release.
|
|
197
|
-
|
|
198
|
-
4. **Build and upload the macOS arm64 binary** locally (Apple Silicon Mac required):
|
|
199
|
-
```bash
|
|
200
|
-
just node-build
|
|
201
|
-
gh release upload v0.1.0-alpha.5 npm/index.darwin-arm64.node
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
5. **Trigger the publish workflow.** From the GitHub UI: **Actions → Publish npm → Run workflow**, then enter the git tag (`v0.1.0-alpha.5`) and npm dist-tag (`next`). Or via CLI:
|
|
205
|
-
```bash
|
|
206
|
-
gh workflow run publish-npm.yml -f tag=v0.1.0-alpha.5 -f npm_tag=next
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
6. **Verify.**
|
|
210
|
-
```bash
|
|
211
|
-
npm view @quicknode/sdk dist-tags
|
|
212
|
-
# Expected: next: 3.0.0-alpha.5, latest: 2.6.0 (unchanged)
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
Users can install the pre-release with `npm install @quicknode/sdk@next`.
|
|
216
|
-
|
|
217
|
-
#### PyPI publish (`quicknode-sdk`)
|
|
218
|
-
|
|
219
|
-
The Python package is published to PyPI as `quicknode-sdk`. Wheels and the sdist are built by `release.yml` on every GitHub release and attached as artifacts; the `Publish PyPI` workflow downloads them from a release tag and uploads to PyPI via `twine`.
|
|
220
|
-
|
|
221
|
-
**Version format:** PyPI uses PEP 440, so pre-releases are written without a hyphen. `0.1.0-alpha.6` → `0.1.0a6` in `pyproject.toml`.
|
|
222
|
-
|
|
223
|
-
**Per-release flow:**
|
|
134
|
+
```bash
|
|
135
|
+
# Phase 1: build a fully-staged GitHub release
|
|
136
|
+
just release-prepare 0.2.0
|
|
224
137
|
|
|
225
|
-
|
|
138
|
+
# Inspect https://github.com/<org>/<repo>/releases/tag/v0.2.0
|
|
139
|
+
# Confirm: Linux Python wheels, Linux .node files, Linux Ruby gem,
|
|
140
|
+
# macOS arm64 wheels, index.darwin-arm64.node, arm64-darwin .gem.
|
|
226
141
|
|
|
227
|
-
|
|
142
|
+
# Phase 2: publish to crates.io + trigger registry publish workflows
|
|
143
|
+
just release-publish 0.2.0
|
|
144
|
+
```
|
|
228
145
|
|
|
229
|
-
|
|
146
|
+
`release-prepare` prompts twice — once up front before bumping, and once after the bump (showing the diff) before pushing the tag. `release-publish` prompts once before any registry write. Pass `yes=1` to skip prompts (e.g. for automation): `just release-prepare 0.2.0 yes=1`.
|
|
230
147
|
|
|
231
|
-
|
|
232
|
-
```bash
|
|
233
|
-
gh workflow run publish-pypi.yml -f tag=v0.1.0-alpha.6
|
|
234
|
-
```
|
|
148
|
+
#### Building blocks
|
|
235
149
|
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
pip install quicknode-sdk==0.1.0a6
|
|
239
|
-
python -c "import sdk; print(sdk.QuicknodeSdk)"
|
|
240
|
-
```
|
|
150
|
+
If a phase fails partway, resume with the individual recipes — they are also useful for reruns:
|
|
241
151
|
|
|
242
|
-
|
|
152
|
+
| Recipe | Purpose |
|
|
153
|
+
|---|---|
|
|
154
|
+
| `release-bump <version>` | Bump versions in all manifests, commit + tag locally |
|
|
155
|
+
| `release-push <version>` | `git push` + push tag |
|
|
156
|
+
| `release-create-tag <version>` | `gh release create` (triggers Linux CI build) |
|
|
157
|
+
| `release-wait-ci <version>` | Block until `release.yml` finishes attaching Linux artifacts |
|
|
158
|
+
| `macos-build-and-publish <version>` | Build macOS arm64 wheels / `.node` / `.gem` and `gh release upload` |
|
|
159
|
+
| `release-cargo-publish-check` | `cargo publish -p quicknode-sdk --dry-run` |
|
|
160
|
+
| `release-cargo-publish` | `cargo publish -p quicknode-sdk` |
|
|
161
|
+
| `release-trigger-pypi <version>` | Dispatch `publish-pypi.yml` |
|
|
162
|
+
| `release-trigger-npm <version> [npm_tag]` | Dispatch `publish-npm.yml` (default tag: `next`) |
|
|
163
|
+
| `release-trigger-rubygems <version>` | Dispatch `publish-rubygems.yml` |
|
|
164
|
+
| `release-trigger-all <version> [npm_tag]` | All three trigger recipes in sequence |
|
|
165
|
+
|
|
166
|
+
#### Version conventions
|
|
167
|
+
|
|
168
|
+
A single version argument drives every manifest, with two automatic translations applied by `release-bump`:
|
|
169
|
+
|
|
170
|
+
| Manifest | Format example for `0.1.0-alpha.6` |
|
|
171
|
+
|---|---|
|
|
172
|
+
| `Cargo.toml` (workspace) | `0.1.0-alpha.6` |
|
|
173
|
+
| `crates/core/Cargo.toml` | `0.1.0-alpha.6` |
|
|
174
|
+
| `pyproject.toml` (PEP 440) | `0.1.0a6` |
|
|
175
|
+
| `ruby/quicknode_sdk.gemspec` | `0.1.0-alpha.6` |
|
|
176
|
+
| `npm/package.json` | `3.0.0-alpha.6` (`0.x` → `3.x` because `@quicknode/sdk` 2.x already exists on npm) |
|
|
177
|
+
|
|
178
|
+
Pre-release identifiers use SemVer 2.0 syntax: `MAJOR.MINOR.PATCH-<id>.<N>` — e.g. `0.1.0-alpha.4`, `0.2.0-beta.1`, `0.2.0-rc.1`. The npm pre-release period uses the `next` dist-tag so `npm install @quicknode/sdk` continues to resolve to legacy 2.x while `npm install @quicknode/sdk@next` pulls the rewrite.
|
|
179
|
+
|
|
180
|
+
`release-bump` only accepts versions starting with `0.`. The `0.x → 3.x` mapping (and the recipe's guard) needs to be revisited when the project graduates to `1.0`.
|
|
181
|
+
|
|
182
|
+
#### First-time setup
|
|
183
|
+
|
|
184
|
+
- The first crates.io publish claims the `quicknode-sdk` name permanently. Published versions are immutable (only `cargo yank` is reversible, and it only hides).
|
|
185
|
+
- The first PyPI upload needs a user-scoped `PYPI_API_TOKEN`; rotate to a project-scoped token after.
|
|
186
|
+
- Verify a release reached each registry:
|
|
187
|
+
```bash
|
|
188
|
+
cargo search quicknode-sdk
|
|
189
|
+
pip install quicknode-sdk==0.1.0a6
|
|
190
|
+
npm view @quicknode/sdk dist-tags
|
|
191
|
+
gem search -e quicknode_sdk
|
|
192
|
+
```
|
|
243
193
|
|
|
244
194
|
## License
|
|
245
195
|
|
package/index.d.ts
CHANGED
|
@@ -108,7 +108,7 @@ export interface BulkUpdateEndpointStatusResponse {
|
|
|
108
108
|
export interface BulkAddTagRequest {
|
|
109
109
|
/** Endpoint ids to tag. */
|
|
110
110
|
ids: Array<string>
|
|
111
|
-
/** Label of the tag to apply (created if it doesn't exist). */
|
|
111
|
+
/** Label of the tag to apply (created if it doesn't exist). Maximum 25 characters. */
|
|
112
112
|
label: string
|
|
113
113
|
}
|
|
114
114
|
/** Tag reference returned on bulk tag operations. */
|
|
@@ -662,7 +662,7 @@ export interface UpdateEndpointStatusResponse {
|
|
|
662
662
|
}
|
|
663
663
|
/** Parameters for `create_tag` (on a specific endpoint). */
|
|
664
664
|
export interface CreateTagRequest {
|
|
665
|
-
/** Label for the new tag. */
|
|
665
|
+
/** Label for the new tag. Maximum 25 characters. */
|
|
666
666
|
label?: string
|
|
667
667
|
}
|
|
668
668
|
/** Response from `get_endpoint_security`. */
|
|
@@ -1244,12 +1244,7 @@ export const enum StreamDestination {
|
|
|
1244
1244
|
S3 = 'S3',
|
|
1245
1245
|
Azure = 'Azure',
|
|
1246
1246
|
Postgres = 'Postgres',
|
|
1247
|
-
|
|
1248
|
-
Snowflake = 'Snowflake',
|
|
1249
|
-
Mysql = 'Mysql',
|
|
1250
|
-
Mongo = 'Mongo',
|
|
1251
|
-
Kafka = 'Kafka',
|
|
1252
|
-
Redis = 'Redis'
|
|
1247
|
+
Kafka = 'Kafka'
|
|
1253
1248
|
}
|
|
1254
1249
|
/** Language a stream's filter function is written in. */
|
|
1255
1250
|
export const enum FilterLanguage {
|
|
@@ -1280,16 +1275,16 @@ export const enum StreamStatus {
|
|
|
1280
1275
|
export interface WebhookAttributes {
|
|
1281
1276
|
/** Destination URL that receives batched stream payloads. */
|
|
1282
1277
|
url: string
|
|
1283
|
-
/** Maximum number of retry attempts for a failed delivery. */
|
|
1278
|
+
/** Maximum number of retry attempts for a failed delivery. Must be in the range 1–10. */
|
|
1284
1279
|
maxRetry: number
|
|
1285
1280
|
/** Seconds to wait between retry attempts. */
|
|
1286
1281
|
retryIntervalSec: number
|
|
1287
1282
|
/** Timeout in seconds for each POST request. */
|
|
1288
1283
|
postTimeoutSec: number
|
|
1289
|
-
/** Optional token included with each request so the receiver can verify authenticity. */
|
|
1284
|
+
/** Optional token included with each request so the receiver can verify authenticity. When supplied, must be at least 32 bytes (256 bits). */
|
|
1290
1285
|
securityToken?: string
|
|
1291
|
-
/** Compression applied to the payload (e.g. `none`, `gzip`). */
|
|
1292
|
-
compression
|
|
1286
|
+
/** Compression applied to the payload (e.g. `none`, `gzip`). When omitted the server defaults to no compression. */
|
|
1287
|
+
compression?: string
|
|
1293
1288
|
}
|
|
1294
1289
|
/** Configuration for delivering stream batches to an S3-compatible object store. */
|
|
1295
1290
|
export interface S3Attributes {
|
|
@@ -1347,109 +1342,13 @@ export interface PostgresAttributes {
|
|
|
1347
1342
|
password: string
|
|
1348
1343
|
/** Destination table for inserted rows. */
|
|
1349
1344
|
tableName: string
|
|
1350
|
-
/** Postgres SSL mode
|
|
1345
|
+
/** Postgres SSL mode. The Quicknode API accepts only `disable` or `require`. */
|
|
1351
1346
|
sslmode: string
|
|
1352
1347
|
/** Maximum number of retry attempts for a failed write. */
|
|
1353
1348
|
maxRetry: number
|
|
1354
1349
|
/** Seconds to wait between retry attempts. */
|
|
1355
1350
|
retryIntervalSec: number
|
|
1356
1351
|
}
|
|
1357
|
-
/** Configuration for delivering stream batches to a MySQL database. */
|
|
1358
|
-
export interface MysqlAttributes {
|
|
1359
|
-
/** Database host. */
|
|
1360
|
-
host: string
|
|
1361
|
-
/** Database port. */
|
|
1362
|
-
port: number
|
|
1363
|
-
/** Database name. */
|
|
1364
|
-
database: string
|
|
1365
|
-
/** Username used to authenticate. */
|
|
1366
|
-
username: string
|
|
1367
|
-
/** Password used to authenticate. */
|
|
1368
|
-
password: string
|
|
1369
|
-
/** Destination table for inserted rows. */
|
|
1370
|
-
tableName: string
|
|
1371
|
-
/** Maximum number of retry attempts for a failed write. */
|
|
1372
|
-
maxRetry: number
|
|
1373
|
-
/** Seconds to wait between retry attempts. */
|
|
1374
|
-
retryIntervalSec: number
|
|
1375
|
-
}
|
|
1376
|
-
/** Configuration for delivering stream batches to a MongoDB database. */
|
|
1377
|
-
export interface MongoAttributes {
|
|
1378
|
-
/** Database host (connection string or hostname). */
|
|
1379
|
-
host: string
|
|
1380
|
-
/** Database name. */
|
|
1381
|
-
database: string
|
|
1382
|
-
/** Username used to authenticate. */
|
|
1383
|
-
username: string
|
|
1384
|
-
/** Password used to authenticate. */
|
|
1385
|
-
password: string
|
|
1386
|
-
/** Destination collection for inserted documents. */
|
|
1387
|
-
collectionName: string
|
|
1388
|
-
/** Maximum number of retry attempts for a failed write. */
|
|
1389
|
-
maxRetry: number
|
|
1390
|
-
/** Seconds to wait between retry attempts. */
|
|
1391
|
-
retryIntervalSec: number
|
|
1392
|
-
}
|
|
1393
|
-
/** Configuration for delivering stream batches to a ClickHouse cluster. */
|
|
1394
|
-
export interface ClickhouseAttributes {
|
|
1395
|
-
/** Comma-separated list of ClickHouse hosts. */
|
|
1396
|
-
hosts: string
|
|
1397
|
-
/** Database name. */
|
|
1398
|
-
database: string
|
|
1399
|
-
/** Username used to authenticate. */
|
|
1400
|
-
username: string
|
|
1401
|
-
/** Password used to authenticate. */
|
|
1402
|
-
password: string
|
|
1403
|
-
/** Destination table for inserted rows. */
|
|
1404
|
-
tableName: string
|
|
1405
|
-
/** Default table engine options applied when a table is created. */
|
|
1406
|
-
defaultTableEngineOpts: string
|
|
1407
|
-
/** Default index granularity for created tables. */
|
|
1408
|
-
defaultGranularity: number
|
|
1409
|
-
/** Default compression codec for created tables. */
|
|
1410
|
-
defaultCompression: string
|
|
1411
|
-
/** Default secondary index type for created tables. */
|
|
1412
|
-
defaultIndexType: string
|
|
1413
|
-
/** Maximum number of retry attempts for a failed write. */
|
|
1414
|
-
maxRetry: number
|
|
1415
|
-
/** Seconds to wait between retry attempts. */
|
|
1416
|
-
retryIntervalSec: number
|
|
1417
|
-
/** Disable datetime precision for older ClickHouse versions that don't support it. */
|
|
1418
|
-
disableDatetimePrecision?: boolean
|
|
1419
|
-
/** Enable when the target ClickHouse server does not support `RENAME COLUMN`. */
|
|
1420
|
-
dontSupportRenameColumn?: boolean
|
|
1421
|
-
/** Enable when the target ClickHouse server does not support empty default values. */
|
|
1422
|
-
dontSupportEmptyDefaultValue?: boolean
|
|
1423
|
-
/** Skip writing version metadata during initialization. */
|
|
1424
|
-
skipInitializeWithVersion?: boolean
|
|
1425
|
-
}
|
|
1426
|
-
/** Configuration for delivering stream batches to a Snowflake data warehouse. */
|
|
1427
|
-
export interface SnowflakeAttributes {
|
|
1428
|
-
/** Snowflake account identifier. */
|
|
1429
|
-
account: string
|
|
1430
|
-
/** Snowflake host. */
|
|
1431
|
-
host: string
|
|
1432
|
-
/** Snowflake port. */
|
|
1433
|
-
port: number
|
|
1434
|
-
/** Connection protocol (e.g. `https`). */
|
|
1435
|
-
protocol: string
|
|
1436
|
-
/** Database name. */
|
|
1437
|
-
database: string
|
|
1438
|
-
/** Schema within the database. */
|
|
1439
|
-
schema: string
|
|
1440
|
-
/** Warehouse used to run inserts. */
|
|
1441
|
-
warehouse: string
|
|
1442
|
-
/** Username used to authenticate. */
|
|
1443
|
-
username: string
|
|
1444
|
-
/** Password used to authenticate. */
|
|
1445
|
-
password: string
|
|
1446
|
-
/** Maximum number of retry attempts for a failed write. */
|
|
1447
|
-
maxRetry: number
|
|
1448
|
-
/** Seconds to wait between retry attempts. */
|
|
1449
|
-
retryIntervalSec: number
|
|
1450
|
-
/** Optional destination table for inserted rows. */
|
|
1451
|
-
tableName?: string
|
|
1452
|
-
}
|
|
1453
1352
|
/** Configuration for delivering stream batches to a Kafka topic. */
|
|
1454
1353
|
export interface KafkaAttributes {
|
|
1455
1354
|
/** Comma-separated list of Kafka broker addresses (host:port). */
|
|
@@ -1462,8 +1361,8 @@ export interface KafkaAttributes {
|
|
|
1462
1361
|
batchSize: number
|
|
1463
1362
|
/** Milliseconds the producer waits to batch additional messages. */
|
|
1464
1363
|
lingerMs: number
|
|
1465
|
-
/** Maximum
|
|
1466
|
-
|
|
1364
|
+
/** Maximum size in bytes of a single Kafka message (`max_message_bytes`). */
|
|
1365
|
+
maxMessageBytes: number
|
|
1467
1366
|
/** Request timeout in seconds. */
|
|
1468
1367
|
timeoutSec: number
|
|
1469
1368
|
/** Maximum number of retry attempts for a failed produce. */
|
|
@@ -1479,27 +1378,6 @@ export interface KafkaAttributes {
|
|
|
1479
1378
|
/** Optional SASL mechanism (e.g. `PLAIN`, `SCRAM-SHA-256`). */
|
|
1480
1379
|
mechanisms?: string
|
|
1481
1380
|
}
|
|
1482
|
-
/** Configuration for delivering stream batches to a Redis instance. */
|
|
1483
|
-
export interface RedisAttributes {
|
|
1484
|
-
/** Redis host. */
|
|
1485
|
-
host: string
|
|
1486
|
-
/** Redis port. */
|
|
1487
|
-
port: number
|
|
1488
|
-
/** Redis logical database index. */
|
|
1489
|
-
database: number
|
|
1490
|
-
/** Username used to authenticate. */
|
|
1491
|
-
username: string
|
|
1492
|
-
/** Password used to authenticate. */
|
|
1493
|
-
password: string
|
|
1494
|
-
/** Redis key that receives written payloads. */
|
|
1495
|
-
keyName: string
|
|
1496
|
-
/** Maximum number of retry attempts for a failed write. */
|
|
1497
|
-
maxRetry: number
|
|
1498
|
-
/** Seconds to wait between retry attempts. */
|
|
1499
|
-
retryIntervalSec: number
|
|
1500
|
-
/** Whether to connect over TLS. */
|
|
1501
|
-
tls?: boolean
|
|
1502
|
-
}
|
|
1503
1381
|
/**
|
|
1504
1382
|
* Links a stream's filter to an address book so JSON paths resolve against its
|
|
1505
1383
|
* managed address set.
|
|
@@ -1721,9 +1599,9 @@ export interface CreateStreamParamsNode {
|
|
|
1721
1599
|
startRange: number
|
|
1722
1600
|
endRange: number
|
|
1723
1601
|
destinationAttributes: any
|
|
1724
|
-
plan
|
|
1725
|
-
thresholdFetchBuffer
|
|
1726
|
-
datasetBatchSize
|
|
1602
|
+
plan?: string
|
|
1603
|
+
thresholdFetchBuffer?: number
|
|
1604
|
+
datasetBatchSize: number
|
|
1727
1605
|
maxBatchSize?: number
|
|
1728
1606
|
maxBufferRangeSize?: number
|
|
1729
1607
|
maxBufferProcessingWorkers?: number
|
|
@@ -1737,7 +1615,7 @@ export interface CreateStreamParamsNode {
|
|
|
1737
1615
|
notificationEmail?: string
|
|
1738
1616
|
chargeMinCap?: number
|
|
1739
1617
|
fixBlockReorgs?: number
|
|
1740
|
-
elasticBatchEnabled
|
|
1618
|
+
elasticBatchEnabled: boolean
|
|
1741
1619
|
extraDestinations?: Array<any>
|
|
1742
1620
|
}
|
|
1743
1621
|
export interface UpdateStreamParamsNode {
|
package/index.darwin-arm64.node
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/index.linux-x64-gnu.node
CHANGED
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quicknode/sdk",
|
|
3
|
-
"version": "3.1.0-alpha.
|
|
3
|
+
"version": "3.1.0-alpha.15",
|
|
4
4
|
"description": "Quicknode SDK",
|
|
5
5
|
"main": "sdk.js",
|
|
6
6
|
"types": "sdk.d.ts",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
},
|
|
47
47
|
"license": "MIT",
|
|
48
48
|
"optionalDependencies": {
|
|
49
|
-
"@quicknode/sdk-linux-x64-gnu": "3.1.0-alpha.
|
|
50
|
-
"@quicknode/sdk-linux-arm64-gnu": "3.1.0-alpha.
|
|
51
|
-
"@quicknode/sdk-linux-x64-musl": "3.1.0-alpha.
|
|
52
|
-
"@quicknode/sdk-linux-arm64-musl": "3.1.0-alpha.
|
|
53
|
-
"@quicknode/sdk-darwin-arm64": "3.1.0-alpha.
|
|
49
|
+
"@quicknode/sdk-linux-x64-gnu": "3.1.0-alpha.15",
|
|
50
|
+
"@quicknode/sdk-linux-arm64-gnu": "3.1.0-alpha.15",
|
|
51
|
+
"@quicknode/sdk-linux-x64-musl": "3.1.0-alpha.15",
|
|
52
|
+
"@quicknode/sdk-linux-arm64-musl": "3.1.0-alpha.15",
|
|
53
|
+
"@quicknode/sdk-darwin-arm64": "3.1.0-alpha.15"
|
|
54
54
|
}
|
|
55
55
|
}
|
package/sdk.d.ts
CHANGED
|
@@ -6,12 +6,7 @@ import {
|
|
|
6
6
|
S3Attributes,
|
|
7
7
|
AzureAttributes,
|
|
8
8
|
PostgresAttributes,
|
|
9
|
-
MysqlAttributes,
|
|
10
|
-
MongoAttributes,
|
|
11
|
-
ClickhouseAttributes,
|
|
12
|
-
SnowflakeAttributes,
|
|
13
9
|
KafkaAttributes,
|
|
14
|
-
RedisAttributes,
|
|
15
10
|
WebhookTemplateId,
|
|
16
11
|
EvmWalletFilterTemplate,
|
|
17
12
|
EvmContractEventsTemplate,
|
|
@@ -32,12 +27,7 @@ export type StreamDestinationAttributesInput =
|
|
|
32
27
|
| { destination: "s3"; attributes: S3Attributes }
|
|
33
28
|
| { destination: "azure"; attributes: AzureAttributes }
|
|
34
29
|
| { destination: "postgres"; attributes: PostgresAttributes }
|
|
35
|
-
| { destination: "
|
|
36
|
-
| { destination: "mongo"; attributes: MongoAttributes }
|
|
37
|
-
| { destination: "clickhouse"; attributes: ClickhouseAttributes }
|
|
38
|
-
| { destination: "snowflake"; attributes: SnowflakeAttributes }
|
|
39
|
-
| { destination: "kafka"; attributes: KafkaAttributes }
|
|
40
|
-
| { destination: "redis"; attributes: RedisAttributes };
|
|
30
|
+
| { destination: "kafka"; attributes: KafkaAttributes };
|
|
41
31
|
|
|
42
32
|
// Stream destination attributes (response). Mirrors the input shape so a
|
|
43
33
|
// response can be round-tripped back into an update call without renaming.
|
|
@@ -117,12 +107,7 @@ export type {
|
|
|
117
107
|
S3Attributes,
|
|
118
108
|
AzureAttributes,
|
|
119
109
|
PostgresAttributes,
|
|
120
|
-
MysqlAttributes,
|
|
121
|
-
MongoAttributes,
|
|
122
|
-
ClickhouseAttributes,
|
|
123
|
-
SnowflakeAttributes,
|
|
124
110
|
KafkaAttributes,
|
|
125
|
-
RedisAttributes,
|
|
126
111
|
AddressBookConfig,
|
|
127
112
|
StreamsApiClient,
|
|
128
113
|
// billing
|