@agentunion/fastaun-browser 0.5.11 → 0.5.12

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/_packed_docs/CHANGELOG.md +30 -0
  3. package/_packed_docs/INDEX.md +2 -2
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +1 -1
  5. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +21 -3
  6. package/_packed_docs/sdk/09-group-rpc-manual.md +29 -2
  7. package/dist/bundle.js +559 -295
  8. package/dist/client/delivery.d.ts +1 -0
  9. package/dist/client/delivery.d.ts.map +1 -1
  10. package/dist/client/delivery.js +161 -242
  11. package/dist/client/delivery.js.map +1 -1
  12. package/dist/client/group-state.d.ts.map +1 -1
  13. package/dist/client/group-state.js +1 -0
  14. package/dist/client/group-state.js.map +1 -1
  15. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  16. package/dist/client/rpc-pipeline.js +24 -11
  17. package/dist/client/rpc-pipeline.js.map +1 -1
  18. package/dist/client/v2-e2ee.d.ts +0 -1
  19. package/dist/client/v2-e2ee.d.ts.map +1 -1
  20. package/dist/client/v2-e2ee.js +65 -44
  21. package/dist/client/v2-e2ee.js.map +1 -1
  22. package/dist/client.d.ts +14 -0
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +341 -18
  25. package/dist/client.js.map +1 -1
  26. package/dist/facades.d.ts +7 -0
  27. package/dist/facades.d.ts.map +1 -1
  28. package/dist/facades.js +44 -0
  29. package/dist/facades.js.map +1 -1
  30. package/dist/seq-tracker.d.ts +2 -2
  31. package/dist/seq-tracker.d.ts.map +1 -1
  32. package/dist/seq-tracker.js +11 -7
  33. package/dist/seq-tracker.js.map +1 -1
  34. package/dist/tools/cross-sdk-agent.js +50 -12
  35. package/dist/tools/cross-sdk-agent.js.map +1 -1
  36. package/dist/transport.d.ts.map +1 -1
  37. package/dist/transport.js +3 -0
  38. package/dist/transport.js.map +1 -1
  39. package/dist/version.d.ts +1 -1
  40. package/dist/version.js +1 -1
  41. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## 0.5.12 — 2026-09-05
10
+
11
+ ### 新功能
12
+
13
+ #### 定向群邀请
14
+ - `GroupFacade` 新增 `inviteMember`、`listMyInvites`、`acceptInvite`、`rejectInvite` 和 `revokeInvite`,统一规范化群 ID、邀请 ID/AID 别名并接入签名 RPC。
15
+ - `create({ members })` 在群创建完成后逐一发出定向邀请,支持 `member_type`,跳过自身和重复 AID;浏览器 cross-SDK agent 和群管理 E2E 覆盖邀请流程。
16
+ - 邀请按群和目标 AID 聚合并持久化,在线重复、分页恢复和连接恢复只发布一次 `group.invite_received`;终态清理,部分撤回保留剩余 pending 邀请。
17
+
18
+ ### 修复
19
+
20
+ #### Forward Pull、ACK 与游标
21
+ - Forward 页完成后忽略页内空洞,按页最大序号和服务端 `contiguous_seq` 证明推进 seq-tracker,并在提交成功后 ACK;已观察到的 Push 上界未追平时继续翻页,即使 `has_more=false`。
22
+ - 空页不直接用高位服务端 cursor 覆盖本地连续游标,待恢复 cursor 在下一次成功 Forward 时应用;持久化失败回滚 tracker 并禁止 ACK。
23
+ - inline push 只有在包含非空 inline payload 时才推进连续游标并 ACK;非 inline push 只更新 `maxSeen` 并触发 Forward,不直接推进 A/T/H 或 ACK。Tail 仅维护窗口,History 不推进实时游标。
24
+
25
+ #### Push、V2 与浏览器生命周期
26
+ - P2P、群消息和群事件的 plain/V2 路径统一上述边界;缺少 sender IK/SPK 时保留阻塞页,不错误推进、ACK 或续页,密钥恢复后按 `pending_retry` 投递。
27
+ - 当前设备自发消息在 Pull 中只标记序号,不重复发布;重复/迟到 inline ACK 保留 pending。群 changed、dissolved、自入群等非 inline Push 只记录上界并交由 Forward 处理。
28
+ - 浏览器 Worker/原生 transport 事件映射补齐邀请创建、接收和终态,连接恢复不阻塞邀请状态重建。
29
+
30
+ ### 改进
31
+
32
+ - SDK、锁文件、运行时 `VERSION`、V2 E2EE envelope `sdk_version`、conformance 及相关测试期望统一更新为 `0.5.12`。
33
+
34
+ ### 测试
35
+
36
+ - 新增定向邀请 facade、聚合持久化、分页/重连恢复、部分终态和浏览器群管理 E2E 测试。
37
+ - 扩展 Forward 空洞、服务端 contiguous 证明、空页 cursor、持久化回滚、inline/non-inline Push、Tail/History 不推进、self-sync 去重及缺 IK/SPK 阻塞边界测试;跨域 runner 使用 `agentid.cn`/`agentid.pub`。
38
+
9
39
  ## 0.5.11 — 2026-09-03
10
40
 
11
41
  ### 新功能
@@ -6,6 +6,36 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## 0.5.12 — 2026-09-05
10
+
11
+ ### 新功能
12
+
13
+ #### 定向群邀请
14
+ - `GroupFacade` 新增 `inviteMember`、`listMyInvites`、`acceptInvite`、`rejectInvite` 和 `revokeInvite`,统一规范化群 ID、邀请 ID/AID 别名并接入签名 RPC。
15
+ - `create({ members })` 在群创建完成后逐一发出定向邀请,支持 `member_type`,跳过自身和重复 AID;浏览器 cross-SDK agent 和群管理 E2E 覆盖邀请流程。
16
+ - 邀请按群和目标 AID 聚合并持久化,在线重复、分页恢复和连接恢复只发布一次 `group.invite_received`;终态清理,部分撤回保留剩余 pending 邀请。
17
+
18
+ ### 修复
19
+
20
+ #### Forward Pull、ACK 与游标
21
+ - Forward 页完成后忽略页内空洞,按页最大序号和服务端 `contiguous_seq` 证明推进 seq-tracker,并在提交成功后 ACK;已观察到的 Push 上界未追平时继续翻页,即使 `has_more=false`。
22
+ - 空页不直接用高位服务端 cursor 覆盖本地连续游标,待恢复 cursor 在下一次成功 Forward 时应用;持久化失败回滚 tracker 并禁止 ACK。
23
+ - inline push 只有在包含非空 inline payload 时才推进连续游标并 ACK;非 inline push 只更新 `maxSeen` 并触发 Forward,不直接推进 A/T/H 或 ACK。Tail 仅维护窗口,History 不推进实时游标。
24
+
25
+ #### Push、V2 与浏览器生命周期
26
+ - P2P、群消息和群事件的 plain/V2 路径统一上述边界;缺少 sender IK/SPK 时保留阻塞页,不错误推进、ACK 或续页,密钥恢复后按 `pending_retry` 投递。
27
+ - 当前设备自发消息在 Pull 中只标记序号,不重复发布;重复/迟到 inline ACK 保留 pending。群 changed、dissolved、自入群等非 inline Push 只记录上界并交由 Forward 处理。
28
+ - 浏览器 Worker/原生 transport 事件映射补齐邀请创建、接收和终态,连接恢复不阻塞邀请状态重建。
29
+
30
+ ### 改进
31
+
32
+ - SDK、锁文件、运行时 `VERSION`、V2 E2EE envelope `sdk_version`、conformance 及相关测试期望统一更新为 `0.5.12`。
33
+
34
+ ### 测试
35
+
36
+ - 新增定向邀请 facade、聚合持久化、分页/重连恢复、部分终态和浏览器群管理 E2E 测试。
37
+ - 扩展 Forward 空洞、服务端 contiguous 证明、空页 cursor、持久化回滚、inline/non-inline Push、Tail/History 不推进、self-sync 去重及缺 IK/SPK 阻塞边界测试;跨域 runner 使用 `agentid.cn`/`agentid.pub`。
38
+
9
39
  ## 0.5.11 — 2026-09-03
10
40
 
11
41
  ### 新功能
@@ -30,7 +30,7 @@
30
30
  | [SDK 文档索引](sdk/INDEX.md) | SDK 使用手册、四 SDK 当前 access token getter、Python Push 自动登记/Facade、RPC 手册、E2EE、Storage VFS、Group FS 和 Collab 的子索引 |
31
31
  | [SDK 查阅指南](sdk/AUN_DOCS_GUIDE.md) | SDK 文档按行区间渐进式查阅方法 |
32
32
  | [AUN SDK 0.5.6 更新日志](sdk/CHANGELOG-0.5.6.md) | 以 0.5.5 为基线的四 SDK 发布汇总;覆盖首次签名者回源、下载提交前验签、消息窗口、显式 change-seed 和语言能力边界 |
33
- | [四 SDK 版本对齐变更清单](../python/CHANGES_FOR_PARITY.md) | 以 Python 实现为主线的 v0.3.3 至 v0.5.11 跨语言对齐清单;0.5.11 重点覆盖消息来源、sync 生命周期、连接后身份准入自愈、Worker 降级与 V1 wrapper 内 V2 envelope 兼容 |
33
+ | [四 SDK 版本对齐变更清单](../python/CHANGES_FOR_PARITY.md) | 以 Python 实现为主线的 v0.3.3 至 v0.5.12 跨语言对齐清单;0.5.12 重点覆盖定向群邀请、Forward/ACK/seq-tracker 游标边界、Tail/History 只读语义与四端一致性 |
34
34
  | [AUN CLI 手册](cli/CLI手册.md) | Python CLI 源码位置、安装运行入口、全局选项、profile 配置和主要命令集 |
35
35
  | [AUN CLI 设计文档](cli/AUN-CLI设计文档.md) | `python/src/aun_cli` 当前实现架构、命令注册面、配置解析、SDK 桥接和实现边界 |
36
36
  | [AUN Storage 架构设计](<aun-fs/AUN Storage架构设计.md>) | Storage SDK VFS、控制面/数据面分离、下载 ticket / AID Bearer 边界、当前 access token getter、类 Linux 权限、mount/symlink、服务端分层和 direct backend 上传下载 |
@@ -222,7 +222,7 @@
222
222
 
223
223
  ### 四 SDK 版本对齐变更清单
224
224
 
225
- `python/CHANGES_FOR_PARITY.md` 以 Python SDK 历史实现为主线记录 Go / TypeScript / JavaScript 的对齐要求。当前 v0.5.11 章节以 `8abb1d7d` 的 v0.5.10 为基线,区分四语言共有能力与 JS/TS Worker 专属边界,并明确消息来源、sync 生命周期、连接后身份准入自愈、V1 wrapper 内 V2 envelope 兼容和分页进度的一致性要求。
225
+ `python/CHANGES_FOR_PARITY.md` 以 Python SDK 历史实现为主线记录 Go / TypeScript / JavaScript 的对齐要求。当前 v0.5.12 章节以 `07a489b2` 的 v0.5.11 为基线,区分四语言共有能力与语言特有边界,并明确定向群邀请、Forward/ACK/seq-tracker 游标、inline/non-inline Push、Tail/History 语义和失败回滚的一致性要求。
226
226
 
227
227
  ### AUN CLI 手册
228
228
 
@@ -102,7 +102,7 @@ AUN SDK Core 文档在 `docs/` 下。根级索引为 `docs/INDEX.md`,SDK API
102
102
  | SDK API、RPC、E2EE、Storage VFS、Group FS、Collab GC/reflog/reset 使用细节 | `docs/sdk/AUN_DOCS_GUIDE.md` |
103
103
  | 四 SDK 当前 access token getter、缓存快照语义和外部 HTTP 数据面下载凭据生命周期 | `docs/sdk/04-连接与认证.md` L94-123、`docs/sdk/06-API手册.md` L192-209、`docs/sdk/09-storage-rpc-manual.md` L621-663、`docs/sdk/09-group-rpc-manual.md` L1448-1452、`docs/aun-fs/AUN Storage架构设计.md` L153-166 |
104
104
  | 四 SDK 0.5.6 发布摘要、验签缓存、消息窗口与语言能力边界 | `docs/sdk/CHANGELOG-0.5.6.md` L1-73 |
105
- | 四 SDK 版本差异、跨语言对齐优先级、消息来源、sync 生命周期、身份准入自愈与 Worker 降级边界 | `python/CHANGES_FOR_PARITY.md` L11-101 |
105
+ | 四 SDK 版本差异、跨语言对齐优先级、定向群邀请、Forward/ACK/seq-tracker 游标及 Tail/History 边界 | `python/CHANGES_FOR_PARITY.md` L11-92 |
106
106
  | 群 `mention_mode` 提及过滤、Agent 自主行为、SDK group.index facade 和 CAS 冲突处理 | `docs/protocol/10-Group-子协议.md`、`docs/protocol/13-Agent行为规范.md`、`docs/sdk/09-group-rpc-manual.md`、`docs/sdk/07-错误处理.md` |
107
107
  | AUN Python CLI 源码位置、安装入口、全局选项、profile 配置和主要命令集 | `docs/cli/CLI手册.md` L3-333 |
108
108
  | AUN Python CLI 当前实现架构、命令注册、SDK 桥接和实现边界 | `docs/cli/AUN-CLI设计文档.md` L3-265 |
@@ -17,7 +17,7 @@ Group 服务是 AUN 协议的应用层扩展,提供多人群组通信能力。
17
17
  ```
18
18
 
19
19
  - **Group Service**:持有独立 AID,作为 AUN 节点运行,暴露 `group.*` RPC 方法
20
- - **成员**:通过 `group.request_join` / `group.add_member` / `group.use_invite_code` 加入
20
+ - **成员**:通过 `group.request_join` / `group.add_member` / `group.invite_member` / `group.use_invite_code` 加入
21
21
  - **权限层级**:`owner` > `admin` > `member`(只读群另有 `observer` 角色)
22
22
 
23
23
  ---
@@ -238,7 +238,7 @@ Group 服务是 AUN 协议的应用层扩展,提供多人群组通信能力。
238
238
 
239
239
  ### `group.add_member`
240
240
 
241
- 直接添加成员。需要 admin 及以上权限。
241
+ 直接添加成员。需要 **owner** 权限;这是立即成为正式成员的显式例外。普通指定 AID 入群应使用 `group.invite_member`,由目标 AID 接受。
242
242
 
243
243
  **参数**:
244
244
 
@@ -249,7 +249,25 @@ Group 服务是 AUN 协议的应用层扩展,提供多人群组通信能力。
249
249
  | `role` | string | ❌ | `"member"` / `"admin"`,默认 `"member"` |
250
250
  | `member_type` | string | ❌ | `"human"` / `"ai"`,默认 `"human"` |
251
251
 
252
- **响应**:`{ "group": { ... }, "member": { ... } }`
252
+ **响应**:`{ "group": { ... }, "member": { ... } }`
253
+
254
+ ### `group.invite_member`
255
+
256
+ 创建指定 AID 的待处理邀请,不写入正式成员表。公开群允许任意正式成员,非公开群仅 owner/admin;同一群、目标和邀请者重复调用幂等返回原记录。
257
+
258
+ **参数**:`group_id`(必填)、`aid` 或 `invitee_aid`(必填)、`member_type`(可选,`human` / `ai`,默认 `human`)。
259
+
260
+ ### `group.list_my_invites`
261
+
262
+ 列出当前认证 AID 收到的待处理邀请,按 `group_id + invitee_aid` 聚合。参数为可选的 `page`、`size`。
263
+
264
+ ### `group.accept_invite` / `group.reject_invite`
265
+
266
+ 由被邀请 AID 以 `invite_id` 接受或拒绝聚合邀请;接受成功时才原子写入正式成员表,拒绝不写入成员表。
267
+
268
+ ### `group.revoke_invite`
269
+
270
+ 由原邀请发出者以 `invite_id` 撤回自己的待处理邀请。撤回、接受、拒绝和过期是互斥终态转换。
253
271
 
254
272
  ### `group.leave`
255
273
 
@@ -29,7 +29,12 @@
29
29
 
30
30
  | 方法 | 说明 |
31
31
  |------|------|
32
- | [group.add_member](#groupadd_member) | 添加成员 |
32
+ | [group.add_member](#groupadd_member) | 添加成员 |
33
+ | [group.invite_member](#groupinvite_member) | 创建定向邀请 |
34
+ | [group.list_my_invites](#grouplist_my_invites) | 列出我的定向邀请 |
35
+ | [group.accept_invite](#groupaccept_invite) | 接受定向邀请 |
36
+ | [group.reject_invite](#groupreject_invite) | 拒绝定向邀请 |
37
+ | [group.revoke_invite](#grouprevoke_invite) | 撤回定向邀请 |
33
38
  | [group.get_members](#groupget_members) | 获取成员列表 |
34
39
  | [group.kick](#groupkick) | 踢出成员 |
35
40
  | [group.leave](#groupleave) | 主动退群 |
@@ -396,7 +401,7 @@ SDK 发起 `group.*` 调用时会把传入的 `group_id` / `groupId` / `group_ai
396
401
 
397
402
  ### group.add_member
398
403
 
399
- 添加成员。需要 admin 及以上权限。若设置 `role=admin`,需要 owner 权限。
404
+ 添加成员。需要 **owner** 权限;普通指定 AID 入群应使用 `group.invite_member`。若设置 `role=admin`,仍需 owner 权限。
400
405
 
401
406
  **参数**:
402
407
 
@@ -1914,6 +1919,28 @@ SDK 交付给应用层的 `payload` 是明文业务 JSON 对象;群消息信
1914
1919
  }
1915
1920
  ```
1916
1921
 
1922
+ ### group.invite_member
1923
+
1924
+ 创建指定 AID 的待处理邀请,不写入正式成员表。公开群允许任意正式成员,非公开群仅 owner/admin;同一群、目标和邀请者重复调用幂等返回原记录。
1925
+
1926
+ **参数**:`group_id`、`aid`(或 `invitee_aid`)必填;`member_type` 可选(`human` / `ai`,默认 `human`)。
1927
+
1928
+ ### group.list_my_invites
1929
+
1930
+ 列出当前认证 AID 收到的待处理邀请,按群和目标 AID 聚合;支持 `page`、`size` 分页参数。
1931
+
1932
+ ### group.accept_invite
1933
+
1934
+ 被邀请 AID 以 `invite_id` 接受聚合邀请;成功后才原子写入正式成员表。
1935
+
1936
+ ### group.reject_invite
1937
+
1938
+ 被邀请 AID 以 `invite_id` 拒绝聚合邀请,不写入正式成员表。
1939
+
1940
+ ### group.revoke_invite
1941
+
1942
+ 原邀请发出者以 `invite_id` 撤回自己的待处理邀请。撤回、接受、拒绝和过期是互斥终态转换。
1943
+
1917
1944
  该事件不是服务端 `event/group.*`。多个群和 P2P 的 Pull 共用当前 `AUNClient` 的全局排空边界,因此一次 `pull_drained` 可以包含多个 `group:<canonical-group-aid>` 和 `p2p` 变更;有效 Push / Inline Push 则在原群消息事件处理完成后实时通知。完整 payload、折叠和零通知条件见 [06-API手册:delivery.changed](06-API手册.md#deliverychanged)。
1918
1945
 
1919
1946
  ### event/group.message_recalled