@awiki/im-core-node 0.1.9 → 0.2.1-dsh-test.20260831.1

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
@@ -1,23 +1,35 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## 0.2.1 (unreleased)
4
4
 
5
- ## 0.1.9
5
+ - Publish the current native API v10 External Provider source as a new immutable
6
+ candidate after `0.2.0`; no Provider protocol or public API shape is changed.
7
+ - Refresh checksums, provenance, SBOM, and all five platform packages from the
8
+ same source commit before the DSH plugin candidate is assembled.
9
+ - Add the configured `X-AWiki-Client-Version` to External HTTP requests targeting
10
+ the local AWiki User/Message/Mail origin before signing, and reject caller overrides.
6
11
 
7
- - Add byte-oriented mail attachment send/download APIs with strict filename, size, MIME, and canonical transport validation.
8
- - Require explicit `accepted=true` and `status=sent` mail-send responses, and raise the native API contract to v10.
9
- - Keep the existing Rust `SendEmailRequest` and optional download size source-compatible; expose attachment sends through a new request and method.
10
- - Use an 18 MiB decoded-total ceiling so valid attachment requests remain below the Mail Service's 25 MiB final-MIME limit.
12
+ ## 0.2.0
11
13
 
12
- ## 0.1.8
13
-
14
- - Report Windows `ERROR_SHARING_VIOLATION` and `ERROR_LOCK_VIOLATION` as the stable `state_in_use` error when another process owns the AWiki state root.
14
+ - Add restart-safe new-device Join listing, explicit cancellation, SAS/expiry, ready-admin
15
+ Registry, approval/rejection, and device revocation methods.
16
+ - Add the Host-only `anp-identity-provider-ts/1` External Provider bridge with readiness handshake,
17
+ structured error mapping, bounded Promise calls, public snapshot caching, and explicit Buffer slots.
18
+ - Keep sealed ECDH fail closed until the Provider delivery includes the authorization/AAD context
19
+ required for authenticated HPKE open; no raw shared-secret fallback is exposed.
20
+ - Raise the native API contract to v10 so the wrapper rejects published v9
21
+ binaries that do not implement the External Provider bridge, and release the
22
+ ThreadsafeFunction during explicit client close.
15
23
 
16
24
  ## 0.1.7
17
25
 
18
- - Add a Host-only opaque recovery-attestation method for post-recovery service reconciliation; the SDK never logs or persists the token.
19
- - Add stable `recovery_reconciliation_unavailable` and `recovery_reconciliation_invalid` errors without exposing the remote response.
20
- - Raise the native API contract to v9 so wrappers reject v8 binaries that do not provide the recovery-attestation method.
26
+ - Add a Host-only opaque recovery-attestation method for post-recovery service
27
+ reconciliation; the SDK never logs or persists the token.
28
+ - Add stable `recovery_reconciliation_unavailable` and
29
+ `recovery_reconciliation_invalid` errors without exposing the remote
30
+ response.
31
+ - Raise the native API contract to v9 so wrappers reject v8 binaries that do
32
+ not provide the recovery-attestation method.
21
33
 
22
34
  ## 0.1.6
23
35
 
package/README.md CHANGED
@@ -66,36 +66,26 @@ finally {
66
66
 
67
67
  ## 外部 HTTP ANP 认证
68
68
 
69
- 可信 Node Host 可以让 Rust 为外部 transport 的请求准备 ANP 认证头。SDK 不发送请求:
69
+ 默认 Node client 不返回认证 Header patch,也不把签名器作为普通 TypeScript API 暴露。
70
+ DSH Host 必须通过受限 Provider lease 的 `authenticatedHttp.dispatch` 完成签名和发送,普通
71
+ 插件只能提交精确请求并接收响应。
70
72
 
71
- ```ts
72
- const attempt = await client.prepareExternalHttpRequest({
73
- url: 'https://api.example.com/orders',
74
- method: 'POST',
75
- headers: [{ name: 'content-type', value: 'application/json' }],
76
- body: new TextEncoder().encode('{"productId":"123"}'),
77
- })
73
+ 当目标属于配置的 AWiki User/Message/Mail origin 时,Core 会把配置中的
74
+ `X-AWiki-Client-Version` 作为受管 header 加入同一个 attempt,再对完整请求签名;Host 必须发送
75
+ `headerPatch` 中的该字段,调用方不能自行覆盖。其他外部 origin 不继承产品版本 header。
78
76
 
79
- // Apply attempt.headerPatch and send attempt.targetUrl/method with the exact body.
80
- const retry = await attempt.handleResponse({
81
- statusCode: response.status,
82
- headers: [...response.headers].map(([name, value]) => ({ name, value })),
83
- })
84
- ```
77
+ ## DSH External Identity Provider
85
78
 
86
- attempt single-use opaque 对象。Rust 自动在 origin-scoped 进程内 Bearer cache 和当前设备
87
- HTTP Message Signature 之间选择;成功响应只从 `Authentication-Info` 接受 Token。一次
88
- `401` 最多产生一个 retry attempt。正文最大 4 MiB;`undefined` 表示无正文,空
89
- `Uint8Array` 表示需要摘要绑定的显式空正文。
79
+ DSH Host `ctx.anpIdentity.acquireProvider(...)` 返回的 Host-only lease 作为
80
+ `identityProvider` 传给 `openImCoreNodeClient()`。打开时会校验
81
+ `anp-identity-provider-ts/1`、必需 capability、Provider readiness Store schema;任一项不匹配
82
+ fail closed,不会隐式改用另一个身份 Store。
90
83
 
91
- 固定 verifier challenge 即使对无正文请求仍列出 `content-digest`,也不会阻止 GET/HEAD
92
- 重签;实际无正文签名仍省略 `Content-Digest`。多个合并的 `WWW-Authenticate` scheme 中,
93
- Rust 只选择唯一、合法的 DID-WBA challenge。
94
-
95
- `headerPatch` 含敏感凭证,禁止日志记录或序列化。生产只允许 HTTPS;可选
96
- `externalHttpAllowInsecureLoopbackForTesting` 仅为 literal loopback 测试。该 API 不能暴露给
97
- 浏览器、模型工具或远程调用者。DSH 插件应使用其 Host-only `externalHttpAuth.dispatch`,而
98
- 不是直接让第三方编排 attempt。
84
+ Provider 回调全部是异步 Promise。签名 payload、签名结果和 HTTP body 使用独立 Buffer 槽,不经
85
+ JSON/base64;公开 DID 快照在 Rust session 内缓存,普通签名和 Origin Proof 各只跨 TS 一次。
86
+ Host teardown 必须先 `await client.close()`,再 dispose Provider lease。当前 External bridge 在
87
+ sealed ECDH 响应携带可验证 AAD 上下文之前明确返回 capability unavailable,不会降级为把 raw
88
+ shared secret 交给 JavaScript。
99
89
 
100
90
  ## 生命周期与线程
101
91
 
@@ -128,6 +118,10 @@ recovery。Host 必须把它当作调用 `syncNow()` 的调度提示,再读取
128
118
  stream recovery,按 `stop old session → syncNow({ reason: 'websocket_reconnect' }) → startRealtime()`
129
119
  恢复,不得只退出监听循环,也不得跳过 canonical sync。
130
120
 
121
+ exact-device session 始终要求版本化 WebSocket:已协商 P6 lane 时使用既有
122
+ `awiki.sync.event.v3.p6-delivery-context.v1` 和同一 bootstrap client instance;未协商 P6 lane
123
+ (包括不编译 group-e2ee 的 Node build)时使用既有 `awiki.sync.event.v3`,不得伪造 P6 activation。
124
+
131
125
  ## DTO 与错误
132
126
 
133
127
  - ID/cursor 都是不透明字符串;字节数和 `registeredAtMs` 使用十进制字符串。
@@ -137,26 +131,24 @@ stream recovery,按 `stop old session → syncNow({ reason: 'websocket_reconne
137
131
  OTP、路径、私钥和附件内容不会进入 JS 错误。
138
132
  - `createGroup` 固定创建 private、open-join、transport-protected 群,返回的
139
133
  `conversationId` 由 Core canonical identity 生成;`addGroupMember` 接受 Handle 或 DID。
140
- - 当前开发源码的 Native contract version 为 `10`,在已发布 v9 recovery attestation contract
141
- 之上增加邮件附件下载;wrapper 拒绝缺少 `downloadMailAttachment` 的旧平台 addon。
142
-
143
- `issueHandleRecoveryAttestation({ operationId })` 是 Host-only 恢复对账方法,只允许在本机恢复
144
- `applied` 后调用。返回的短时 opaque token 必须由 Host 立即转交固定 Model Proxy 受众并丢弃;
145
- 不得持久化、打印、进入 Browser remote、Agent 工具或模型上下文。
134
+ - 当前 `0.2.1` 源码 candidate 的 Native contract version 为 `10`,增加 Host-only External
135
+ Identity Provider Promise bridge,并保留 `0.1.8` 引入的新设备 Join 恢复/SAS/cancel、
136
+ ready-admin Registry、审批/拒绝和设备撤销;同时保留 prepared registration
137
+ Join、Recovery、Profile、完整群成员管理、P9 mention 与 Payload send。registry `0.1.5`
138
+ v5,包含 external HTTP auth、local timeline、群管理展示、realtime mail facade;`0.1.6`
139
+ 是上一版 v8 candidate,已发布 `0.1.7` 为 v9。`0.2.1` 必须同步发布 v10 wrapper 与全部平台 addon,wrapper 拒绝其他
140
+ 版本的 addon。
146
141
 
147
142
  ## 邮件
148
143
 
149
- `getMailAccount()`、`listMailInbox()`、`readMail()`、`markMailRead()`、`sendMail()`
150
- `downloadMailAttachment()` 直接复用
144
+ `getMailAccount()`、`listMailInbox()`、`readMail()`、`markMailRead()` 与 `sendMail()` 直接复用
151
145
  Core `EmailService`,不会调用 CLI 或自行构造邮件 RPC。读取结果不包含 HTML、后端 attributes 或
152
146
  附件 bytes;subject、preview 和纯文本正文有明确的 UTF-8 byte 上限与 truncation 标记。
153
147
 
154
- `markMailRead()` 只支持标为已读。`sendMail()` 的正文仍是纯文本、HTML 不开放,但可选附件使用
155
- `{ fileName, contentType, bytes: Uint8Array }`;`downloadMailAttachment()` 返回 byte-exact
156
- `Uint8Array` 和十进制 `sizeBytes`。单封邮件最多 10 个附件,单个最大 10 MiB,解码后总量最大
157
- 18 MiB,为 Mail Service 的 25 MiB raw MIME 上限预留 Base64/MIME 封装空间。Node API 不暴露 Base64。发送没有 idempotency key 和自动重试;
158
- Node host 必须先取得产品层批准,timeout 或 transport loss 后按“远端结果未知”处理。所有邮件字段
159
- 和附件都应当作外部不可信数据,不能解释为指令或自动打开。
148
+ `markMailRead()` 只支持标为已读。`sendMail()` 只发送纯文本,不接受附件或 HTML,也没有
149
+ idempotency key 和自动重试。Node host 必须在调用这两个 mutation 前取得产品层批准;发送 timeout
150
+ transport loss 后必须按“远端结果未知”处理,不能自动再次发送。所有邮件字段都应当作外部
151
+ 不可信数据,不能解释为指令。
160
152
 
161
153
  平台包、provenance 与许可证发行链由原生制品 workflow 维护。第一版已批准按
162
154
  AGPL-3.0-only 分发,对应源码、SBOM、checksum 与构建来源随每个包提供。
package/SOURCE.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # Corresponding Source
2
2
 
3
- Package: @awiki/im-core-node@0.1.9
3
+ Package: @awiki/im-core-node@0.2.1-dsh-test.20260831.1
4
4
  Target: platform-independent-wrapper
5
5
  Repository: https://github.com/AgentConnect/awiki-cli-rs2
6
- Commit: 7cfc8c76d07dfa2dae5eceb0f6c42498235d9a35
7
- ANP commit: d3cc6a9571cec9b7d53dfbc5ef5612e56d1d5ea9
6
+ Commit: 7d939600a23b6209264f3b91f1a4ef46eefda8bd
7
+ ANP commit: c64bfb086acb1930803bb95db8b4e28b67cc2983
8
8
 
9
9
  Build instructions: docs/node-sdk/awiki-im-core-node-artifacts.md
package/checksums.json CHANGED
@@ -3,27 +3,43 @@
3
3
  "files": [
4
4
  {
5
5
  "path": "CHANGELOG.md",
6
- "sha256": "8b040e7e336347f9d9aa35b3b8cc8b5b99737ade882908e9203dc8097af11759"
6
+ "sha256": "ca714d8caf41a40f73da8e2321dc1c40903f3306ddc6425c564de1488b907925"
7
7
  },
8
8
  {
9
9
  "path": "COMMERCIAL-LICENSING.md",
10
10
  "sha256": "c52c6b16a68e3801154a5b628ec594bd521e0559f60acda7f187952fea87a30d"
11
11
  },
12
+ {
13
+ "path": "LICENSE",
14
+ "sha256": "0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0"
15
+ },
16
+ {
17
+ "path": "NOTICE.md",
18
+ "sha256": "1538a6d3d7e1c8e440d91aaa4051b3334937106dfd8b1678d49fa92f92babe8f"
19
+ },
20
+ {
21
+ "path": "README.md",
22
+ "sha256": "3b386981cb67c1beb214517eb0e96c57781e2dd00dcfd6d5cb28f0a7f7d84b34"
23
+ },
24
+ {
25
+ "path": "SOURCE.md",
26
+ "sha256": "bd23426833a2f10e9f11d547afcf8fb2e10b63fc80b0ff9646274a660394d6bb"
27
+ },
12
28
  {
13
29
  "path": "dist/index.d.ts",
14
30
  "sha256": "4782dfe81c1be9eb1fed0da66fcc08744468b49715526d1953dc1b7f7a4db5d3"
15
31
  },
16
32
  {
17
33
  "path": "dist/index.d.ts.map",
18
- "sha256": "24df067b3cb2b06ed9d6456ff04d497a11e61ef18d2daa3f545acea6496e3f68"
34
+ "sha256": "0f97bfd10fe7f989036937c6bf4a7b9925a08e6ead7595ee2221b5a1d587b044"
19
35
  },
20
36
  {
21
37
  "path": "dist/index.js",
22
- "sha256": "ff63fc824089d9485c30cfce2b9ac9ee11e6d6e8fbbaca56b3328b663b16885c"
38
+ "sha256": "445e84dca46afd305b1ee2d5ffce0246200921f6ef4f92405349ccc0984c741e"
23
39
  },
24
40
  {
25
41
  "path": "dist/index.js.map",
26
- "sha256": "89360d7a0a2b61e4c9ca424f73f6ae62ec00b2494d68dfb37e5260ca75898983"
42
+ "sha256": "16cb95156d3222670ab5b05e9640b2557b06a8c3df0d50139d7f1229de0af9fe"
27
43
  },
28
44
  {
29
45
  "path": "dist/loader.d.ts",
@@ -43,11 +59,11 @@
43
59
  },
44
60
  {
45
61
  "path": "dist/native.d.ts",
46
- "sha256": "ec277a8b6ccc079f859d01c5358cd82d5250cd2f29dd4bc5c4b0aa4997d9bad5"
62
+ "sha256": "75df89fa9b7eb464fd802c345793c34f43528066817019703a69c0feaa6cf8c3"
47
63
  },
48
64
  {
49
65
  "path": "dist/native.d.ts.map",
50
- "sha256": "4f2db2240f0199a87b2a7e39aeeb4bfd8d6cdaffd4e793cf517710959c7c7eb6"
66
+ "sha256": "1843958511bb3ee7ea1b0c67b6fc8f93f86fda321c9793b1f6128552a749b7c5"
51
67
  },
52
68
  {
53
69
  "path": "dist/native.js",
@@ -57,6 +73,22 @@
57
73
  "path": "dist/native.js.map",
58
74
  "sha256": "bf35d1499437f527ed3a1d38c08fc81b25dfd78eef9aaf02cbb047774d7b5c8e"
59
75
  },
76
+ {
77
+ "path": "dist/provider-bridge.d.ts",
78
+ "sha256": "12bda363e206894c59b8ee2876be6021c56d99583204799fb1a3ce6cb2f608ed"
79
+ },
80
+ {
81
+ "path": "dist/provider-bridge.d.ts.map",
82
+ "sha256": "c65fc92f108f130568cf76c4d6784b442b2b2810503a7abe2845231299664f84"
83
+ },
84
+ {
85
+ "path": "dist/provider-bridge.js",
86
+ "sha256": "b366b8f4ca4ebf13b7118817f7e42c08c230afc53c816a64e26432d400561c92"
87
+ },
88
+ {
89
+ "path": "dist/provider-bridge.js.map",
90
+ "sha256": "dc2e2b3e23955e88a9d0007c2ce7fa5d32cbe041a155d0034fa7ba4bb8b1c0e1"
91
+ },
60
92
  {
61
93
  "path": "dist/targets.d.ts",
62
94
  "sha256": "2c81ea1db905322b21dca2f814e58b25ea315cce04067b65e7266dd18f87ca0c"
@@ -75,11 +107,11 @@
75
107
  },
76
108
  {
77
109
  "path": "dist/types.d.ts",
78
- "sha256": "ef703aa6c447551655a610a2707a6ad8c1c9318e8fda3b04214a93839217b776"
110
+ "sha256": "36cce068e02eed53f7e61c265150935711b95b34948a5e57fef7aa4922ab0345"
79
111
  },
80
112
  {
81
113
  "path": "dist/types.d.ts.map",
82
- "sha256": "6aa8d97a205c51205ea77dba7f8dc108e4611bf658e6829dc5f2fbf0682d87bc"
114
+ "sha256": "836b8f5abaf1a94a192bb460f723bad66c72f491f550eea9a1a13e77b9d54df3"
83
115
  },
84
116
  {
85
117
  "path": "dist/types.js",
@@ -87,35 +119,19 @@
87
119
  },
88
120
  {
89
121
  "path": "dist/types.js.map",
90
- "sha256": "07cc58cc7ba5b2e6505865b9731310946eaa537658028dfbfc9a6041e0ee452e"
91
- },
92
- {
93
- "path": "LICENSE",
94
- "sha256": "0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0"
95
- },
96
- {
97
- "path": "NOTICE.md",
98
- "sha256": "1538a6d3d7e1c8e440d91aaa4051b3334937106dfd8b1678d49fa92f92babe8f"
122
+ "sha256": "c5841161562964c90a48831a4156dfc11702967ed9ee75a189c025e4f3975697"
99
123
  },
100
124
  {
101
125
  "path": "package.json",
102
- "sha256": "ec9b2afa737a907dbe94034bb1472e114b24827057e0967cb1e43108082aec45"
126
+ "sha256": "e9f1ec5fed230893756563ad8d8b7539856d84f6042e4923e86b8fd36dc0ff07"
103
127
  },
104
128
  {
105
129
  "path": "provenance.json",
106
- "sha256": "5e639e44319e4edfaef91a04fc764f286da5382384ae2b2df9cbe95fd4d96dbc"
107
- },
108
- {
109
- "path": "README.md",
110
- "sha256": "9da2da08010f7aa1c845109f479fe24e1de1a3ee0c54350a5469db350b805ea0"
130
+ "sha256": "1b0cd2c5cf3fd54eadd18b60ee394ae3e941333491c6a9c06b43ca02c9afaea3"
111
131
  },
112
132
  {
113
133
  "path": "sbom.cdx.json",
114
- "sha256": "135c16171d8e0a1b75f3926f9ec19e28457dc2e0f4f33940af9bffc45ceb799a"
115
- },
116
- {
117
- "path": "SOURCE.md",
118
- "sha256": "8e6f144cff917905823d83df54882e20245f09d3e0910eb726d21ae886071c09"
134
+ "sha256": "607c967e42db1ca72357a6af34d48c1ae58f422c3a847934d28f29eee023bf41"
119
135
  }
120
136
  ]
121
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAuBL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAwC3B,MAAM,YAAY,CAAA;AAEnB,cAAc,YAAY,CAAA;AA+V1B;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EA2BL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAyC3B,MAAM,YAAY,CAAA;AAEnB,cAAc,YAAY,CAAA;AAsW1B;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAQpG"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { loadNativeBinding } from './loader.js';
2
+ import { createIdentityProviderDispatch } from './provider-bridge.js';
2
3
  import { ImCoreNodeError, } from './types.js';
3
4
  export * from './types.js';
4
5
  function nativeSafeError(error) {
@@ -63,6 +64,42 @@ class RustImCoreNodeClient {
63
64
  resumePreparedRegistrationJoin(input) {
64
65
  return call(async () => copyPreparedRegistrationJoinProgress(await this.native.resumePreparedRegistrationJoin(input)));
65
66
  }
67
+ listLocalDeviceJoinSessions() {
68
+ return call(async () => (await this.native.listLocalDeviceJoinSessions()).map(value => ({ ...value })));
69
+ }
70
+ cancelPreparedRegistrationJoin(input) {
71
+ return call(async () => ({ ...await this.native.cancelPreparedRegistrationJoin(input) }));
72
+ }
73
+ getCurrentDeviceSummary() {
74
+ return call(async () => ({ ...await this.native.getCurrentDeviceSummary() }));
75
+ }
76
+ getDeviceRegistry() {
77
+ return call(async () => {
78
+ const value = await this.native.getDeviceRegistry();
79
+ return { ...value, devices: value.devices.map(device => ({ ...device })) };
80
+ });
81
+ }
82
+ listLocalDeviceJoinRequests() {
83
+ return call(async () => (await this.native.listLocalDeviceJoinRequests()).map(value => ({ ...value })));
84
+ }
85
+ startDeviceJoinVerification(input) {
86
+ return call(async () => ({ ...await this.native.startDeviceJoinVerification(input) }));
87
+ }
88
+ getLocalDeviceJoinVerificationProgress(input) {
89
+ return call(async () => ({ ...await this.native.getLocalDeviceJoinVerificationProgress(input) }));
90
+ }
91
+ prepareDeviceJoinApproval(input) {
92
+ return call(async () => ({ ...await this.native.prepareDeviceJoinApproval(input) }));
93
+ }
94
+ confirmDeviceJoinApproval(input) {
95
+ return call(async () => ({ ...await this.native.confirmDeviceJoinApproval(input) }));
96
+ }
97
+ rejectDeviceJoin(input) {
98
+ return call(async () => ({ ...await this.native.rejectDeviceJoin(input) }));
99
+ }
100
+ revokeDevice(input) {
101
+ return call(async () => ({ ...await this.native.revokeDevice(input) }));
102
+ }
66
103
  updateDisplayName(displayName) {
67
104
  return call(() => this.native.updateDisplayName(displayName));
68
105
  }
@@ -105,9 +142,6 @@ class RustImCoreNodeClient {
105
142
  removeGroupMember(input) {
106
143
  return call(() => this.native.removeGroupMember(input));
107
144
  }
108
- resumeGroupRebindRecovery(limit) {
109
- return call(() => this.native.resumeGroupRebindRecovery(limit));
110
- }
111
145
  syncNow(input) {
112
146
  return call(() => this.native.syncNow(input));
113
147
  }
@@ -154,28 +188,7 @@ class RustImCoreNodeClient {
154
188
  return call(() => this.native.markMailRead(input));
155
189
  }
156
190
  sendMail(input) {
157
- const { attachments: attachmentInputs, ...mail } = input;
158
- if (attachmentInputs === undefined)
159
- return call(() => this.native.sendMail(mail));
160
- const attachments = attachmentInputs.map(attachment => ({
161
- ...attachment,
162
- bytes: Buffer.from(attachment.bytes),
163
- }));
164
- return call(() => this.native.sendMail({ ...mail, attachments }));
165
- }
166
- async downloadMailAttachment(input) {
167
- let attachmentIndex;
168
- try {
169
- attachmentIndex = nativeUint32(input.attachmentIndex);
170
- }
171
- catch {
172
- throw new ImCoreNodeError('invalid_input', 'The mail attachment index is invalid.', false);
173
- }
174
- const value = await call(() => this.native.downloadMailAttachment({
175
- ...input,
176
- attachmentIndex,
177
- }));
178
- return { ...value, bytes: Uint8Array.from(value.bytes) };
191
+ return call(() => this.native.sendMail(input));
179
192
  }
180
193
  requestHandleRecoveryOtp(input) {
181
194
  return call(() => this.native.requestHandleRecoveryOtp(input));
@@ -229,26 +242,20 @@ class RustExternalHttpAuthAttempt {
229
242
  function copyHeaders(headers) {
230
243
  return headers.map(header => ({ name: header.name, value: header.value }));
231
244
  }
232
- function nativeUint32(value) {
233
- if (!Number.isSafeInteger(value) || value < 0 || value > 0xffff_ffff) {
234
- throw new Error('invalid native unsigned integer');
235
- }
236
- return value;
237
- }
238
245
  function copyPreparedRegistrationJoinProgress(value) {
239
246
  return {
240
247
  joinSessionId: value.joinSessionId,
241
248
  did: value.did,
242
249
  localPhase: value.localPhase,
243
250
  remoteState: value.remoteState,
251
+ expiresAt: value.expiresAt,
252
+ ...(value.sas === undefined ? {} : { sas: value.sas }),
244
253
  completed: value.completed,
245
254
  ...(value.identity === undefined ? {} : { identity: { ...value.identity } }),
246
255
  };
247
256
  }
248
257
  /** Copy the raw binding object so the public SDK never leaks N-API naming details. */
249
258
  function copyHandleRecoveryProgress(value) {
250
- const unsupportedE2eeGroupCount = value.impact.unsupportedE2eeGroupCount
251
- ?? value.impact.unsupportedE2EeGroupCount;
252
259
  return {
253
260
  operationId: value.operationId,
254
261
  ownerIdentityId: value.ownerIdentityId,
@@ -261,8 +268,6 @@ function copyHandleRecoveryProgress(value) {
261
268
  impact: {
262
269
  localOrdinaryDataWillMigrate: value.impact.localOrdinaryDataWillMigrate,
263
270
  otherDevicesMustRejoin: value.impact.otherDevicesMustRejoin,
264
- unsupportedE2eeGroupCount: nativeUint32(unsupportedE2eeGroupCount),
265
- unsupportedDidOnlyGroupCount: nativeUint32(value.impact.unsupportedDidOnlyGroupCount),
266
271
  },
267
272
  };
268
273
  }
@@ -290,7 +295,11 @@ class RustRealtimeSession {
290
295
  */
291
296
  export async function openImCoreNodeClient(options) {
292
297
  const binding = loadNativeBinding();
293
- const native = await call(() => binding.openNativeClient(options));
298
+ const { identityProvider, ...nativeOptions } = options;
299
+ const dispatch = identityProvider === undefined
300
+ ? undefined
301
+ : createIdentityProviderDispatch(identityProvider);
302
+ const native = await call(() => binding.openNativeClient(nativeOptions, dispatch));
294
303
  return new RustImCoreNodeClient(native);
295
304
  }
296
305
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/native.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AddGroupMemberInput, CreateGroupInput, DisplayProfileBatchInput, DownloadAttachmentInput, DownloadMailAttachmentInput, ExternalHttpHeader, ExternalHttpRequest, ExternalHttpResponse, GroupInput, GroupMemberPage, GroupMembersInput, GroupRebindRecoverySummary, HandleRecoveryOperationInput, HandleRecoveryOperationSummary, HandleRecoveryAttestationResult, HandleRecoveryOtpInput, HandleRecoveryOtpResult, HandleRecoveryPrepareInput, HandleRecoveryPhase, HistoryInput, ImCoreNodeOpenOptions, MailAccount, MailAttachmentDownload, MailInboxInput, MailInboxPage, MailMessage, MarkMailReadInput, MarkMailReadResult, MarkReadResult, NodeConversation, NodeDownload, NodeDisplayProfile, NodeGroup, NodeGroupMember, NodeProfile, NodeIdentity, NodeMessage, NodePeer, OtpChallenge, Page, PageInput, PreparedRegistrationJoinInput, PreparedRegistrationJoinProgress, PreparedRegistrationJoinResumeInput, RegistrationInput, RegistrationOutcome, RegistrationWithOtp, RemoveGroupMemberInput, SendAttachmentInput, SendMailAttachmentInput, SendMailInput, SendMailResult, SendTextInput, SendPayloadInput, SyncOptions, SyncResult, UpdateProfileInput, RealtimeEvent, RealtimeOptions, RealtimeStatus } from './types.js';
1
+ import type { AdminDeviceJoinProgress, AddGroupMemberInput, CreateGroupInput, CurrentDeviceSummary, DisplayProfileBatchInput, DeviceJoinApprovalPrompt, DeviceJoinRequestNotice, DeviceRegistrySnapshot, DeviceRevokeResult, DownloadAttachmentInput, ExternalHttpHeader, ExternalHttpRequest, ExternalHttpResponse, GroupInput, GroupMemberPage, GroupMembersInput, HandleRecoveryOperationInput, HandleRecoveryOperationSummary, HandleRecoveryAttestationResult, HandleRecoveryOtpInput, HandleRecoveryOtpResult, HandleRecoveryPrepareInput, HandleRecoveryPhase, HistoryInput, ImCoreNodeOpenOptions, MailAccount, MailInboxInput, MailInboxPage, MailMessage, MarkMailReadInput, MarkMailReadResult, MarkReadResult, NodeConversation, NodeDownload, NodeDisplayProfile, NodeGroup, NodeGroupMember, NodeProfile, NodeIdentity, NodeMessage, NodePeer, OtpChallenge, Page, PageInput, PreparedRegistrationJoinInput, PreparedRegistrationJoinProgress, PreparedRegistrationJoinResumeInput, LocalDeviceJoinSession, RegistrationInput, RegistrationOutcome, RegistrationWithOtp, RemoveGroupMemberInput, SendAttachmentInput, SendMailInput, SendMailResult, SendTextInput, SendPayloadInput, SyncOptions, SyncResult, StartDeviceJoinVerificationInput, UpdateProfileInput, RealtimeEvent, RealtimeOptions, RealtimeStatus } from './types.js';
2
2
  /** Raw N-API recovery shape. Keep it separate from the stable public facade. */
3
3
  export interface NativeHandleRecoveryProgress {
4
4
  readonly operationId: string;
@@ -12,12 +12,13 @@ export interface NativeHandleRecoveryProgress {
12
12
  readonly impact: {
13
13
  readonly localOrdinaryDataWillMigrate: boolean;
14
14
  readonly otherDevicesMustRejoin: boolean;
15
- readonly unsupportedE2eeGroupCount?: number;
16
- /** Compatibility with native packages built before the explicit N-API field name. */
17
- readonly unsupportedE2EeGroupCount?: number;
18
- readonly unsupportedDidOnlyGroupCount: number;
19
15
  };
20
16
  }
17
+ export interface NativeRealtimeSession {
18
+ nextEvent(): Promise<RealtimeEvent | null>;
19
+ getStatus(): Promise<RealtimeStatus>;
20
+ stop(): Promise<void>;
21
+ }
21
22
  export interface NativeExternalHttpAuthAttempt {
22
23
  getTargetUrl(): string;
23
24
  getMethod(): string;
@@ -25,11 +26,6 @@ export interface NativeExternalHttpAuthAttempt {
25
26
  getRetryCount(): number;
26
27
  handleResponse(response: ExternalHttpResponse): Promise<NativeExternalHttpAuthAttempt | null>;
27
28
  }
28
- export interface NativeRealtimeSession {
29
- nextEvent(): Promise<RealtimeEvent | null>;
30
- getStatus(): Promise<RealtimeStatus>;
31
- stop(): Promise<void>;
32
- }
33
29
  export interface NativeImCoreNodeClient {
34
30
  prepareExternalHttpRequest(input: Omit<ExternalHttpRequest, 'headers' | 'body'> & {
35
31
  readonly headers: ExternalHttpHeader[];
@@ -41,6 +37,29 @@ export interface NativeImCoreNodeClient {
41
37
  completeRegistrationWithOutcome(input: RegistrationWithOtp): Promise<RegistrationOutcome>;
42
38
  beginPreparedRegistrationJoin(input: PreparedRegistrationJoinInput): Promise<PreparedRegistrationJoinProgress>;
43
39
  resumePreparedRegistrationJoin(input: PreparedRegistrationJoinResumeInput): Promise<PreparedRegistrationJoinProgress>;
40
+ listLocalDeviceJoinSessions(): Promise<LocalDeviceJoinSession[]>;
41
+ cancelPreparedRegistrationJoin(input: PreparedRegistrationJoinResumeInput): Promise<LocalDeviceJoinSession>;
42
+ getCurrentDeviceSummary(): Promise<CurrentDeviceSummary>;
43
+ getDeviceRegistry(): Promise<DeviceRegistrySnapshot>;
44
+ listLocalDeviceJoinRequests(): Promise<DeviceJoinRequestNotice[]>;
45
+ startDeviceJoinVerification(input: StartDeviceJoinVerificationInput): Promise<AdminDeviceJoinProgress>;
46
+ getLocalDeviceJoinVerificationProgress(input: PreparedRegistrationJoinResumeInput): Promise<AdminDeviceJoinProgress>;
47
+ prepareDeviceJoinApproval(input: {
48
+ readonly joinSessionId: string;
49
+ readonly sasConfirmed: boolean;
50
+ }): Promise<DeviceJoinApprovalPrompt>;
51
+ confirmDeviceJoinApproval(input: {
52
+ readonly approvalHandle: string;
53
+ readonly userPresenceConfirmed: boolean;
54
+ }): Promise<AdminDeviceJoinProgress>;
55
+ rejectDeviceJoin(input: {
56
+ readonly joinSessionId: string;
57
+ readonly reason: 'user_rejected' | 'sas_mismatch';
58
+ }): Promise<AdminDeviceJoinProgress>;
59
+ revokeDevice(input: {
60
+ readonly targetDeviceId: string;
61
+ readonly userPresenceConfirmed: boolean;
62
+ }): Promise<DeviceRevokeResult>;
44
63
  updateDisplayName(displayName: string): Promise<NodeIdentity>;
45
64
  getProfile(): Promise<NodeProfile>;
46
65
  updateProfile(input: UpdateProfileInput): Promise<NodeProfile>;
@@ -54,7 +73,6 @@ export interface NativeImCoreNodeClient {
54
73
  leaveGroup(input: GroupInput): Promise<void>;
55
74
  listGroupMembers(input: GroupMembersInput): Promise<GroupMemberPage>;
56
75
  removeGroupMember(input: RemoveGroupMemberInput): Promise<NodeGroupMember>;
57
- resumeGroupRebindRecovery(limit?: number): Promise<GroupRebindRecoverySummary>;
58
76
  syncNow(input?: SyncOptions): Promise<SyncResult>;
59
77
  startRealtime(input?: RealtimeOptions): Promise<NativeRealtimeSession>;
60
78
  listConversations(input?: PageInput): Promise<Page<NodeConversation>>;
@@ -73,14 +91,7 @@ export interface NativeImCoreNodeClient {
73
91
  listMailInbox(input?: MailInboxInput): Promise<MailInboxPage>;
74
92
  readMail(messageId: string): Promise<MailMessage>;
75
93
  markMailRead(input: MarkMailReadInput): Promise<MarkMailReadResult>;
76
- sendMail(input: Omit<SendMailInput, 'attachments'> & {
77
- readonly attachments?: readonly (Omit<SendMailAttachmentInput, 'bytes'> & {
78
- readonly bytes: Buffer;
79
- })[];
80
- }): Promise<SendMailResult>;
81
- downloadMailAttachment(input: DownloadMailAttachmentInput): Promise<Omit<MailAttachmentDownload, 'bytes'> & {
82
- readonly bytes: Buffer;
83
- }>;
94
+ sendMail(input: SendMailInput): Promise<SendMailResult>;
84
95
  requestHandleRecoveryOtp(input: HandleRecoveryOtpInput): Promise<HandleRecoveryOtpResult>;
85
96
  prepareHandleRecovery(input: HandleRecoveryPrepareInput): Promise<NativeHandleRecoveryProgress>;
86
97
  activateHandleRecovery(input: HandleRecoveryOperationInput): Promise<NativeHandleRecoveryProgress>;
@@ -95,6 +106,19 @@ export interface NativeImCoreNodeClient {
95
106
  }
96
107
  export interface NativeBinding {
97
108
  readonly nativeApiVersion: () => number;
98
- readonly openNativeClient: (options: ImCoreNodeOpenOptions) => Promise<NativeImCoreNodeClient>;
109
+ readonly openNativeClient: (options: Omit<ImCoreNodeOpenOptions, 'identityProvider'>, identityProviderDispatch?: NativeIdentityProviderDispatch) => Promise<NativeImCoreNodeClient>;
110
+ }
111
+ export interface NativeIdentityProviderCall {
112
+ readonly operation: string;
113
+ readonly payloadJson: string;
114
+ readonly buffers: readonly Buffer[];
115
+ }
116
+ export interface NativeIdentityProviderReply {
117
+ readonly ok: boolean;
118
+ readonly payloadJson: string;
119
+ readonly buffers: readonly Buffer[];
120
+ readonly errorCode?: string;
121
+ readonly retryable?: boolean;
99
122
  }
123
+ export type NativeIdentityProviderDispatch = (call: readonly [NativeIdentityProviderCall]) => Promise<NativeIdentityProviderReply>;
100
124
  //# sourceMappingURL=native.d.ts.map