@invonetwork/web-sdk 0.2.0 → 0.3.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to `@invonetwork/web-sdk` are documented here. This project follows
4
4
  [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## [0.3.0] — 2026-06-30
7
+
8
+ Additive release — new server capabilities plus transport resilience/observability.
9
+
10
+ - **Webhook verification** (`/server`): `verifyWebhook(rawBody, signatureHeader, secret | secrets, opts?)`
11
+ — constant-time HMAC-SHA256 over `${t}.${rawBody}`, 5-minute replay window,
12
+ multi-secret rotation; returns a typed `InvoWebhookEvent` discriminated union
13
+ (`purchase.*`, `item.purchased`, `transfer.*`, `payout.status_changed`, `webhook.test`).
14
+ Throws `InvoError` (`WEBHOOK_SIGNATURE_INVALID` / `WEBHOOK_TIMESTAMP_EXPIRED` /
15
+ `WEBHOOK_MALFORMED` / `WEBHOOK_SECRET_MISSING`). Server-only; the browser bundle
16
+ stays crypto-free. Independently security-audited.
17
+ - **`getPlayerBalance({ playerEmail | playerId })`** (`/server`): typed `player` / `balances` / `summary`.
18
+ - **Automatic retries**: network errors/timeouts, `429` (honoring `retry_after`), and
19
+ `5xx` are retried with exponential backoff + jitter. New config `maxRetries`
20
+ (default 2, `0` disables) and `retryBaseDelayMs` (default 250).
21
+ - **Observability hooks**: optional `onRequest` / `onResponse` / `onError` on both
22
+ entries (best-effort/non-throwing); `InvoError.requestId` carries the backend
23
+ request id for support/tracing.
24
+ - **Typed reads**: `confirmPayment` → `ConfirmPaymentResult`; `getOrderDetails` /
25
+ `getItemOrderDetails` → `OrderDetailsResult`; `getItemPurchaseHistory` →
26
+ `ItemHistoryResult` (previously untyped `Record`). All keep `raw`.
27
+ - **Light validation**: `mintPlayerToken` and `createCheckout` require a non-blank
28
+ `playerEmail` (throws `INVALID_INPUT` before the network call).
29
+ - **License**: `package.json` `license` is now `SEE LICENSE IN LICENSE` (was
30
+ `UNLICENSED`); `LICENSE` rewritten as an explicit install-and-use grant for
31
+ building INVO integrations.
32
+
33
+ ## [0.2.1] — 2026-06-30
34
+
35
+ Docs only — no code change (republished so the npm page README is current).
36
+
37
+ - Rewrote the README into a complete integration/deployment guide: capability
38
+ overview, architecture, deployment prerequisites, per-flow sections (currency
39
+ purchase, item purchase, sends, transfers, passkeys), webhooks, errors, and a
40
+ full API reference for both entries.
41
+ - Added INVO console onboarding: `https://console.invo.network` (production) and
42
+ `https://dev.console.invo.network` (testing/sandbox), mapped to their API base URLs.
43
+
6
44
  ## [0.2.0] — 2026-06-30
7
45
 
8
46
  Adds **item purchase** (spend existing game currency on an in-game item, §4.8) — an
package/LICENSE CHANGED
@@ -1,17 +1,18 @@
1
- Copyright (c) 2026 Invo Tech Inc. All rights reserved.
2
-
3
- This software and associated documentation files (the "Software") are the
4
- proprietary and confidential property of Invo Tech Inc. ("INVO"). The Software
5
- is licensed, not sold, for use solely in connection with integrating the INVO
6
- platform under a separate written agreement with INVO.
7
-
8
- Without a valid agreement with INVO, you may not use, copy, modify, merge,
9
- publish, distribute, sublicense, or sell copies of the Software.
10
-
11
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
- IMPLIED. IN NO EVENT SHALL INVO BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
13
- LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE.
14
-
15
- NOTE: Licensing for a partner-distributed SDK is a business decision — if INVO
16
- prefers a permissive license (e.g. MIT/Apache-2.0) so partners can freely
17
- vendor the package, replace this file and the "license" field in package.json.
1
+ Copyright (c) 2026 Invo Tech Inc. All rights reserved.
2
+
3
+ This software and associated documentation files (the "Software") are the
4
+ proprietary property of Invo Tech Inc. ("INVO"). The Software is licensed, not
5
+ sold.
6
+
7
+ GRANT. INVO grants you a non-exclusive, non-transferable, royalty-free license to
8
+ install and use the Software, in unmodified form, solely to build and operate
9
+ integrations with the INVO platform, subject to INVO's developer terms at
10
+ https://invo.network.
11
+
12
+ RESTRICTIONS. Except as expressly permitted above, you may not copy, modify,
13
+ distribute, sublicense, sell, or create derivative works of the Software, or
14
+ remove any proprietary notices, without INVO's prior written consent.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED. IN NO EVENT SHALL INVO BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
18
+ LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE.