@tinkerlandai/indiana-sdk 0.6.4 → 0.8.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 +15 -5
- package/README.md +11 -10
- package/README.zh-CN.md +16 -11
- package/dist/{ai-usage-B4W5m4Ie.d.ts → ai-usage-Bigjb8MS.d.ts} +570 -560
- package/dist/chunk-2A6UYUFA.js +1 -0
- package/dist/chunk-3BQFJANQ.js +1 -0
- package/dist/chunk-3ENVRJE6.js +350 -0
- package/dist/chunk-A3N4ZZTM.js +7 -0
- package/dist/chunk-AE4CUTUE.js +1 -0
- package/dist/chunk-CXYOZSOF.js +1 -0
- package/dist/{chunk-2EJSV6BA.js → chunk-G2R56FKU.js} +1 -1
- package/dist/chunk-KQCTDXVD.js +17 -0
- package/dist/{chunk-5TEZEOHX.js → chunk-OVMNCZYC.js} +1 -1
- package/dist/chunk-RRII2DMC.js +1 -0
- package/dist/chunk-YAFMBXIE.js +4 -0
- package/dist/{configuration-sync-C2mytNwU.d.ts → configuration-sync-VFbY1pCN.d.ts} +356 -49
- package/dist/content-K2HCZVC2.js +1 -0
- package/dist/{customer-page-B4FGCVpt.d.ts → customer-page-BrCZxcaQ.d.ts} +278 -5
- package/dist/funnel-runtime-host-HNZ47TZW.js +1 -0
- package/dist/{funnel-runtime-start-sZ8ZCNlq.d.ts → funnel-runtime-start-DKcTCRrd.d.ts} +6930 -3327
- package/dist/index.d.ts +17432 -14987
- package/dist/index.js +1 -1
- package/dist/native-shell.js +1 -1
- package/dist/openrouter.d.ts +2 -2
- package/dist/openrouter.js +1 -1
- package/dist/page.d.ts +17 -17
- package/dist/page.js +1 -1
- package/dist/paywall-PD62B2AY.js +1 -0
- package/dist/popup.d.ts +7 -282
- package/dist/popup.js +1 -350
- package/dist/react-native.d.ts +15 -15
- package/dist/react-native.js +1 -1
- package/dist/{screen-16d-xADb.d.ts → screen-BazUOjwM.d.ts} +163 -160
- package/dist/server.d.ts +5 -5
- package/dist/server.js +1 -1
- package/dist/src-4MRSESVS.js +1 -0
- package/dist/visual.d.ts +5 -2
- package/dist/visual.js +2 -2
- package/package.json +1 -7
- package/dist/chunk-4K25DELJ.js +0 -1
- package/dist/chunk-63BWE27V.js +0 -1
- package/dist/chunk-CB63JLGT.js +0 -1
- package/dist/chunk-D7YHFS6B.js +0 -4
- package/dist/chunk-HTRQPMJO.js +0 -11
- package/dist/chunk-ISUXYPYL.js +0 -1
- package/dist/chunk-QG3WUJG5.js +0 -1
- package/dist/chunk-RMJJOSVZ.js +0 -1
- package/dist/chunk-S2MSIA57.js +0 -17
- package/dist/chunk-U6S6AZM6.js +0 -1
- package/dist/chunk-VVSQKVE7.js +0 -1
- package/dist/client-OYRHOMUQ.js +0 -1
- package/dist/funnel-runtime-host-NWS3URFA.js +0 -1
- package/dist/iam.d.ts +0 -131
- package/dist/iam.js +0 -1
- package/dist/paywall-4XZ6NDMY.js +0 -1
- package/dist/src-WV6GZYWA.js +0 -1
- package/dist/{errors-DrdTlPwf.d.ts → errors-BpCmukJr.d.ts} +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Release facts and artifact evidence: [SDK release ledger](../../docs/sdk-releases.md).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 0.8.0 — 2026-10-24
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- Resolve independent Pages, Popups and Banners and render them through the explicit `mountContent` host entry.
|
|
8
|
+
- Send a Flow Local `commit_segment` as an advance signal with only the parked position, policy revision and configuration generation; the server calculates and accepts the pure path. The local walk is a display-only `controller.prediction` that clears when the accepted response arrives. A pending 0.7 `commit_segment` left in `funnelCommandStorage` is re-derived from the Run's current position instead of replayed. Uses HTTP protocol 0.8; protocol 0.7 is refused.
|
|
9
|
+
- Evaluate every Funnel GB node, Local and Remote, against one attribute view: the Run attributes without raw `parameters`, `answers` or `results`, plus the registered `variables` at that node.
|
|
10
|
+
- Remove the `./iam` entry. Build-time IAM generation moves to `@tinkerlandai/indiana-iam`; the visual entry exports `loadAppManifestRelease` and keeps the `appManifestRelease` option for binding a page to its IAM release.
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
+
## 0.7.0 — 2026-10-23
|
|
13
|
+
|
|
14
|
+
- Bundle the Funnel shell and shared renderer in iOS and Android; render independent Paywalls through the same SDK program.
|
|
15
|
+
- Read reviewed Local Funnel and Paywall JSON from immutable CDN artifacts with scope, format, byte-length and SHA-256 checks. Keep personal data and commercial facts in authenticated APIs.
|
|
16
|
+
- Separate presentation loading from Funnel command settlement and durable purchase recovery.
|
|
17
|
+
- Use HTTP protocol 0.7 for the new Paywall delivery contract. Older 0.x protocols are refused before business execution.
|
|
12
18
|
|
|
13
19
|
- Add the independent `@tinkerlandai/indiana-react-native` package and shared React Native core entry for Customer identity, holdings, entitlement checks and backend-mediated usage reporting.
|
|
20
|
+
- Include SwiftPM and Maven distributions in the unified release, with generated native package versions and independent public installation checks.
|
|
21
|
+
- Remove the live-page visual editor handshake: the `__indiana_visual_editor` query parameter no longer pauses page experiments. Visual changes are authored in the Console App page map.
|
|
22
|
+
- Calculate Local Funnel segments (`evaluate_segment`) after `createFunnelClient().start()` and in the native WebView host. The packaged native shell has no network access; the Swift and Kotlin hosts read the public configuration it needs.
|
|
23
|
+
- Give errors the SDK raises locally the `recovery` their message names instead of `contact_support`, for example `recover_operation` for `COMMAND_PENDING` and `DECISION_PENDING`, `reload_state` for `CONFIGURATION_EXPIRED` and `retry_same_request` for `EVENT_QUEUE_FULL`. Server error codes keep their recovery.
|
|
14
24
|
|
|
15
25
|
## 0.6.3 — 2026-10-23
|
|
16
26
|
|
package/README.md
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](./README.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The Indiana business SDK covers four core domains: **Paywall, Funnel, GrowthBook and commercial capabilities**, plus shared identity/session, permission/scope, configuration, transport, event and recovery foundations. The browser/native client and merchant-server entries share contracts and core behavior while retaining separate credentials and allowed operations. Indianapolis is the backend runtime they call; it is not the merchant's server SDK.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Pin this package to a matching protocol 0.6 service. The published npm 0.6.0 package passes 21 foundation operations through `https://api.dev.tinker.cash`, with readiness 200 and correlated Go request logs; remaining capabilities and production business dependencies have separate gates. npm publication does not extend that accepted scope. Actual publication, tags and environment state are recorded in the [release ledger](../../docs/sdk-releases.md).
|
|
7
|
+
**IAM source scanning, generation, validation and upload belong to the independent build package `@tinkerlandai/indiana-iam`.** This business SDK retains only the runtime release binding used by GB visual changes. See [SDK boundaries](../../docs/sdk-architecture.md) and the [IAM package](../iam/README.md).
|
|
10
8
|
|
|
11
9
|
```sh
|
|
12
|
-
npm install --save-exact @tinkerlandai/indiana-sdk@0.
|
|
10
|
+
npm install --save-exact @tinkerlandai/indiana-sdk@0.8.0
|
|
13
11
|
```
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
SDK 0.8.0 requires HTTP protocol 0.8. Install a version that matches your runtime; publishing a package does not deploy the server. Publication and accepted environment scope are recorded in the [release ledger](../../docs/sdk-releases.md) and [development status](../../docs/development-status.md).
|
|
14
|
+
|
|
15
|
+
The data/session layer handles public JSON, integrity checks and authenticated operations. The presentation host composes that layer with the packaged screen renderer; the renderer receives supplied data and emits action intents. Client display entry points load presentation lazily. The `/server` entry has no screen presentation dependency and uses a scoped Server Key only on your backend. A local SDK guard never replaces runtime authorization or verified payment completion. Console preview supplies simulated data/session results to the same presentation host.
|
|
16
16
|
|
|
17
17
|
## React Native core
|
|
18
18
|
|
|
@@ -22,14 +22,15 @@ Use the independent `@tinkerlandai/indiana-react-native` package. The `@tinkerla
|
|
|
22
22
|
|
|
23
23
|
During `0.x`, only the current protocol is supported. Starting with `1.0`, compatibility is preserved within each stable major version. Once the next stable major is published, the preceding stable major remains supported for at least 12 calendar months, with at least 180 days' public notice before retirement. The later deadline applies. See the [support policy](https://tinker.cash/docs/release-notes#support-policy).
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
The SDK sends current protocol and SDK version headers and validates the protocol declared by successful responses. Old 0.x protocols are not converted into the current contract. Updating source code does not change an existing npm artifact or deploy a server.
|
|
26
26
|
|
|
27
|
-
##
|
|
27
|
+
## Public entry points
|
|
28
28
|
|
|
29
29
|
| Import | Purpose |
|
|
30
30
|
| ---------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
31
31
|
| `@tinkerlandai/indiana-sdk` | Browser Customer, Funnel, Feature, and standalone Paywall clients |
|
|
32
32
|
| `@tinkerlandai/indiana-sdk/server` | Trusted Node.js backend, Customer Sessions, business writes, and Funnel decisions |
|
|
33
|
+
| `@tinkerlandai/indiana-sdk/react-native` | Portable Customer core and authenticated-backend usage relay; no DOM presentation |
|
|
33
34
|
| `@tinkerlandai/indiana-sdk/popup` | Standalone screen rendering, sanitization, and previews |
|
|
34
35
|
| `@tinkerlandai/indiana-sdk/openrouter` | Optional OpenRouter usage integration; requires its peer dependency |
|
|
35
36
|
| `@tinkerlandai/indiana-sdk/native-shell` | Static Funnel shell assets for native WebViews |
|
|
@@ -46,7 +47,7 @@ The [Go server SDK](../go/README.md) provides the same initial capabilities with
|
|
|
46
47
|
|
|
47
48
|
The canonical repository policy, including production/test domain roles, package tags and test-host configuration, is [SDK API entry and development testing](../../docs/sdk-endpoints-and-testing.md).
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
Omitting `baseUrl` selects `https://api.tinker.cash`. This applies to Customer/Server, Funnel, Feature, Paywall, page and visual clients. `createConfigurationSync` also defaults its optional `origin` to that address. Swift `IndianaConfiguration(scope: ...)` and Kotlin `IndianaConfiguration(scope = ...)` source uses the same default; native packages are released separately. Explicit `baseURL` / `baseUrl` still overrides it. Funnel and Paywall shells and renderers are packaged locally; their executable code is not downloaded from that API origin.
|
|
50
51
|
|
|
51
52
|
Both `beta` and `latest` versions published with this default use the production API address. Tags select package versions, not deployments. Our test apps must explicitly set `baseUrl: "https://api.dev.tinker.cash"` and configuration-sync `origin` to the same address. `dev.tinker.cash` is the test main site/Admin, not the Go API entry. The API hosts forward through Vercel to their respective Go Indianapolis services; routing and business readiness have separate acceptance.
|
|
52
53
|
|
|
@@ -241,7 +242,7 @@ See the [SDK release ledger](https://github.com/tinkerlandai/Indiana/blob/main/d
|
|
|
241
242
|
|
|
242
243
|
## Shared public configuration (Indiana-test candidate)
|
|
243
244
|
|
|
244
|
-
Use one manager per trusted origin and exact App/environment for Features, canonical Funnel files and enabled page experiments.
|
|
245
|
+
Use one manager per trusted origin and exact App/environment for Features, canonical Funnel files and enabled page experiments. Use a matching runtime and an explicitly reviewed public configuration publication.
|
|
245
246
|
|
|
246
247
|
```ts
|
|
247
248
|
import {
|
package/README.zh-CN.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# @tinkerlandai/indiana-sdk
|
|
4
4
|
|
|
5
|
+
业务 SDK 的核心范围是 **Paywall、Funnel、GrowthBook 和商业能力四个域,加身份/会话、权限/作用域、配置、传输、事件与恢复等共用基础能力**。客户端与商户服务端共用契约和核心行为,凭据及可执行操作分开。Indianapolis 是它们调用的 SDK 运行服务,不是商户安装的服务端 SDK。
|
|
6
|
+
|
|
7
|
+
**IAM 的源码扫描、生成、校验和上传属于独立构建包 `@tinkerlandai/indiana-iam`。** 普通业务 SDK 只保留 GB visual 应用页面变更所需的运行时 release 绑定。完整定义见 [SDK 边界](../../docs/sdk-architecture.md) 与 [IAM 构建包](../iam/README.md)。
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install --save-exact @tinkerlandai/indiana-sdk@0.8.0
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
SDK 0.8.0 要求 HTTP 协议 0.8。安装版本须与运行服务匹配;发布包不会部署服务端。实际发布、标签与环境验收范围见 [SDK 发布总账](../../docs/sdk-releases.md) 和 [开发状态](../../docs/development-status.md)。
|
|
14
|
+
|
|
15
|
+
数据/会话层负责公开 JSON、完整性校验和鉴权操作;展示宿主将会话接口接入打包的屏幕渲染器,渲染器消费已提供的数据并返回动作意图。客户端按需加载展示;`/server` 入口使用商户后端的受限 Server Key,不加载屏幕展示。SDK 本地检查不替代运行时授权或付款核实。后台 Preview 为同一个展示宿主提供模拟会话和数据。
|
|
16
|
+
|
|
5
17
|
## React Native 核心入口
|
|
6
18
|
|
|
7
19
|
React Native 使用独立包 `@tinkerlandai/indiana-react-native`,原 `@tinkerlandai/indiana-sdk/react-native` 子入口共用同一实现。两者均支持 Customer Token 身份接入、权益读取和经业务后端转发的用量上报。此入口无需 DOM,不包含原生 UI 或内购桥接。参见[移动端 SDK 安装与示例](../../docs/mobile-sdk.md)。
|
|
@@ -16,26 +28,19 @@ Local / Remote 只区分纯条件、Feature / 实验和 Feature 选择在哪里
|
|
|
16
28
|
|
|
17
29
|
步骤记录共用后端限制;历史 `report_progress` 仍是调用方观察,不能当成发券证明。原生渲染壳复用同一个 JS 纯求值器及原生 Run bridge;无界面 Swift/Kotlin 会明确返回待本地求值,不自动切换 Remote。详细使用和迁移边界见[英文说明](README.md#local-funnel-execution)及统一回执。安装本包不会自动迁移数据库或部署服务;浏览器、支付渠道、容量和原生商店验收分别记录。
|
|
18
30
|
|
|
19
|
-
本包版本为 **0.6.3/协议 0.6**,须配套同协议运行时和数据库。Remote Funnel 返回当前页面 JSON,与 Local 共用渲染器,完整 Remote 图和私有规则仍在服务端。公开 npm 0.6.0 已通过 `api.dev.tinker.cash` 的 21 项基础操作,foundation readiness 为 200;Funnel、公共配置、支付执行和生产业务仍有独立验收边界。实际发布、标签和环境状态见[SDK 发布总账](../../docs/sdk-releases.md)。
|
|
20
|
-
|
|
21
|
-
0.6.3 限制可选持久缓存的读取等待,并行读取固定的 Funnel/GB 产物,在原展示命令结算后再处理首次点击。保留五秒初始化预算、产物校验、当前 Screen 输入 patch 和 Back 后恢复,通过 GitHub Actions 与 npm Trusted Publishing 发布。完整生产浏览器与 Stripe 验收分别记录,见[修复报告](../../docs/deployment-receipts/20261022-sdk-funnel-repair/README.md)。
|
|
22
|
-
|
|
23
|
-
```sh
|
|
24
|
-
npm install --save-exact @tinkerlandai/indiana-sdk@0.6.3
|
|
25
|
-
```
|
|
26
|
-
|
|
27
31
|
## 版本兼容与支持
|
|
28
32
|
|
|
29
33
|
当前 0.x 仅支持当前协议;1.0 起同一主版本内保持兼容。新稳定主版本发布后,旧稳定主版本至少继续支持 12 个日历月,停止支持提前至少 180 天公开通知,实际日期取两者中较晚者。详见 [版本与支持政策](../../docs/sdk-versioning-and-support.md) 和公开开发文档 `/docs/release-notes#support-policy`。
|
|
30
34
|
|
|
31
|
-
|
|
35
|
+
SDK 发送当前协议及 SDK 版本请求头,并校验成功响应的协议声明;旧 0.x 协议不会自动转换成当前协议。源码更新不会修改已有 npm 包,也不会自动部署服务端。
|
|
32
36
|
|
|
33
|
-
##
|
|
37
|
+
## 公开入口
|
|
34
38
|
|
|
35
39
|
| 导入入口 | 用途 |
|
|
36
40
|
| ---------------------------------------- | ----------------------------------------------------------- |
|
|
37
41
|
| `@tinkerlandai/indiana-sdk` | 浏览器 Customer、Funnel、Feature 与独立 Paywall 客户端 |
|
|
38
42
|
| `@tinkerlandai/indiana-sdk/server` | 可信 Node.js 后端、Customer Session、业务写入和 Funnel 决策 |
|
|
43
|
+
| `@tinkerlandai/indiana-sdk/react-native` | Customer 核心和经认证业务后端转发的用量上报,不含 DOM 展示 |
|
|
39
44
|
| `@tinkerlandai/indiana-sdk/popup` | 独立屏幕渲染、清洗和预览 |
|
|
40
45
|
| `@tinkerlandai/indiana-sdk/openrouter` | 可选 OpenRouter 用量集成,需要安装对应 peer dependency |
|
|
41
46
|
| `@tinkerlandai/indiana-sdk/native-shell` | 原生 WebView 的静态 Funnel shell 资源;不代表商店购买验收 |
|
|
@@ -52,7 +57,7 @@ JavaScript 与 TypeScript 共用本包,声明文件随包提供。内部 `@ind
|
|
|
52
57
|
|
|
53
58
|
默认地址、四个域名、版本标签和测试配置的持续规范见 [SDK API 入口与开发测试规范](../../docs/sdk-endpoints-and-testing.md)。
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
省略 `baseUrl` 时默认请求 `https://api.tinker.cash`;Customer/Server、Funnel、Feature、Paywall、页面与视觉实验客户端共用此入口。公共配置同步的 `origin` 也可省略并使用同一默认值。Swift `IndianaConfiguration(scope: ...)`、Kotlin `IndianaConfiguration(scope = ...)` 源码同步默认地址,原生包另行发布;仍可显式覆盖 `baseURL`/`baseUrl`。Funnel/Paywall 的壳和渲染器随 SDK 本地打包,不从 API origin 下载可执行代码。
|
|
56
61
|
|
|
57
62
|
包含此默认值的版本无论标记为 `beta` 或 `latest`,都使用生产 API 地址。标签选择包版本,不选择服务环境。已发布 npm 0.5.0 的示例仍需显式传入与其协议匹配的服务地址,不能将此默认值套用到旧包。两套 API 入口经 Vercel 转发到各自 Go Indianapolis,入口和业务就绪分别验收。
|
|
58
63
|
|