@agentunion/fastaun-browser 0.5.18 → 0.5.19

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 (118) hide show
  1. package/CHANGELOG.md +44 -2
  2. package/_packed_docs/CHANGELOG.md +44 -2
  3. package/_packed_docs/INDEX.md +136 -14
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +42 -16
  5. package/_packed_docs/agent.md/SCHEMA.md +245 -205
  6. package/_packed_docs/aun/345/210/206/345/270/203/345/274/217/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +42 -15
  7. package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +4 -4
  8. package/_packed_docs/protocol/01-/350/272/253/344/273/275/344/270/216/345/207/255/350/257/201/345/215/217/350/256/256-auth.md +45 -134
  9. package/_packed_docs/protocol/07-/351/224/231/350/257/257/347/240/201/344/270/216/347/212/266/346/200/201/346/234/272.md +5 -20
  10. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +28 -9
  11. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +22 -27
  12. package/_packed_docs/protocol/agent.md/SCHEMA.md +4 -0
  13. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +5 -2
  14. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +250 -283
  15. package/_packed_docs/sdk/09-group-rpc-manual.md +46 -14
  16. package/_packed_docs/sdk/09-message-rpc-manual.md +40 -2
  17. package/_packed_docs/sdk/09-storage-rpc-manual.md +74 -64
  18. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +25 -5
  19. package/_packed_docs/sdk/INDEX.md +76 -17
  20. package/dist/agent-md-schema.d.ts +3 -0
  21. package/dist/agent-md-schema.d.ts.map +1 -1
  22. package/dist/agent-md-schema.js +45 -11
  23. package/dist/agent-md-schema.js.map +1 -1
  24. package/dist/agent-md.d.ts +45 -2
  25. package/dist/agent-md.d.ts.map +1 -1
  26. package/dist/agent-md.js +519 -30
  27. package/dist/agent-md.js.map +1 -1
  28. package/dist/aid-store.d.ts +12 -46
  29. package/dist/aid-store.d.ts.map +1 -1
  30. package/dist/aid-store.js +113 -246
  31. package/dist/aid-store.js.map +1 -1
  32. package/dist/aid.d.ts.map +1 -1
  33. package/dist/aid.js +20 -7
  34. package/dist/aid.js.map +1 -1
  35. package/dist/auth.d.ts +4 -1
  36. package/dist/auth.d.ts.map +1 -1
  37. package/dist/auth.js +343 -23
  38. package/dist/auth.js.map +1 -1
  39. package/dist/bundle.js +37330 -32005
  40. package/dist/cert-utils.d.ts +1 -1
  41. package/dist/cert-utils.d.ts.map +1 -1
  42. package/dist/cert-utils.js +19 -7
  43. package/dist/cert-utils.js.map +1 -1
  44. package/dist/client/delivery.d.ts +15 -1
  45. package/dist/client/delivery.d.ts.map +1 -1
  46. package/dist/client/delivery.js +147 -51
  47. package/dist/client/delivery.js.map +1 -1
  48. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  49. package/dist/client/rpc-pipeline.js +19 -5
  50. package/dist/client/rpc-pipeline.js.map +1 -1
  51. package/dist/client/v2-e2ee.d.ts +1 -0
  52. package/dist/client/v2-e2ee.d.ts.map +1 -1
  53. package/dist/client/v2-e2ee.js +104 -30
  54. package/dist/client/v2-e2ee.js.map +1 -1
  55. package/dist/client.d.ts +100 -1
  56. package/dist/client.d.ts.map +1 -1
  57. package/dist/client.js +1204 -23
  58. package/dist/client.js.map +1 -1
  59. package/dist/errors.d.ts.map +1 -1
  60. package/dist/errors.js +3 -2
  61. package/dist/errors.js.map +1 -1
  62. package/dist/events.d.ts +4 -0
  63. package/dist/events.d.ts.map +1 -1
  64. package/dist/events.js +41 -1
  65. package/dist/events.js.map +1 -1
  66. package/dist/facades.d.ts +82 -2
  67. package/dist/facades.d.ts.map +1 -1
  68. package/dist/facades.js +98 -4
  69. package/dist/facades.js.map +1 -1
  70. package/dist/index.d.ts +7 -3
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +3 -2
  73. package/dist/index.js.map +1 -1
  74. package/dist/keystore/index.d.ts +17 -0
  75. package/dist/keystore/index.d.ts.map +1 -1
  76. package/dist/keystore/indexeddb-shared.d.ts +10 -1
  77. package/dist/keystore/indexeddb-shared.d.ts.map +1 -1
  78. package/dist/keystore/indexeddb-shared.js +111 -0
  79. package/dist/keystore/indexeddb-shared.js.map +1 -1
  80. package/dist/keystore/indexeddb-token-store.d.ts +7 -1
  81. package/dist/keystore/indexeddb-token-store.d.ts.map +1 -1
  82. package/dist/keystore/indexeddb-token-store.js +30 -1
  83. package/dist/keystore/indexeddb-token-store.js.map +1 -1
  84. package/dist/org-protocol.d.ts +98 -0
  85. package/dist/org-protocol.d.ts.map +1 -0
  86. package/dist/org-protocol.js +1742 -0
  87. package/dist/org-protocol.js.map +1 -0
  88. package/dist/ownership-proof.d.ts +93 -5
  89. package/dist/ownership-proof.d.ts.map +1 -1
  90. package/dist/ownership-proof.js +239 -53
  91. package/dist/ownership-proof.js.map +1 -1
  92. package/dist/ownership-v21.d.ts +177 -0
  93. package/dist/ownership-v21.d.ts.map +1 -0
  94. package/dist/ownership-v21.js +609 -0
  95. package/dist/ownership-v21.js.map +1 -0
  96. package/dist/ownership-workflow.d.ts +146 -0
  97. package/dist/ownership-workflow.d.ts.map +1 -0
  98. package/dist/ownership-workflow.js +1066 -0
  99. package/dist/ownership-workflow.js.map +1 -0
  100. package/dist/seq-tracker.d.ts +1 -0
  101. package/dist/seq-tracker.d.ts.map +1 -1
  102. package/dist/seq-tracker.js +10 -2
  103. package/dist/seq-tracker.js.map +1 -1
  104. package/dist/tools/cross-sdk-agent.d.ts +82 -0
  105. package/dist/tools/cross-sdk-agent.d.ts.map +1 -1
  106. package/dist/tools/cross-sdk-agent.js +332 -7
  107. package/dist/tools/cross-sdk-agent.js.map +1 -1
  108. package/dist/transport.d.ts +6 -0
  109. package/dist/transport.d.ts.map +1 -1
  110. package/dist/transport.js +88 -2
  111. package/dist/transport.js.map +1 -1
  112. package/dist/v2/e2ee/decrypt.d.ts +1 -0
  113. package/dist/v2/e2ee/decrypt.d.ts.map +1 -1
  114. package/dist/v2/e2ee/decrypt.js +9 -1
  115. package/dist/v2/e2ee/decrypt.js.map +1 -1
  116. package/dist/version.d.ts +1 -1
  117. package/dist/version.js +1 -1
  118. package/package.json +1 -1
@@ -12,15 +12,29 @@
12
12
  | [01-快速开始](01-快速开始.md) | 安装 · 三主体模型 · 最小示例 · 多语言构造 |
13
13
  | [02-WebSocket协议](02-WebSocket协议.md) | 握手流程 · Capabilities 能力声明 · JSON-RPC 消息格式 · 裸 WebSocket 示例 |
14
14
  | [03-核心概念](03-核心概念.md) | AID · AIDStore · AUNClient · A/T/H 消息窗口 · 每个 AUNClient 一个 Pull Gate · 九态状态机 · E2EE |
15
- | [04-连接与认证](04-连接与认证.md) | 注册加载 · 认证连接 · 当前 access token getter · Python Push 自动登记 · 网关发现 · 事件 · agent.md 自动观察 |
16
- | [05-E2EE加密通信](05-E2EE加密通信.md) | E2EE V2 消息 · ProtectedHeaders · agent.md 版本提示 · recipient wrap |
17
- | [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md) | V2 P2P/GROUP 明文与加密主链路 |
18
- | [06-API手册](06-API手册.md) | AIDStore · AID · AUNClient · 四 SDK access token getter · Python PushFacade · P2P TTL volatile 消息 · Message/Group History 门面 · 消息来源与 Pull 同步生命周期 · 事件 · E2EE 高级 API · RPC 索引 |
15
+ | [04-连接与认证](04-连接与认证.md) | 注册加载 · 认证连接 · 当前 access token getter · Python Push 自动登记 · 网关发现 · 事件 · 已读状态本地补偿完成事件 · agent.md 自动观察 |
16
+ | [Ownership管理专题](Ownership管理专题.md) | 四端 `aun.ownership.v1` P2P owner API · 应用层 accept/reject · identity escrow · owner 代签 agent.md · release 解绑/rekey · 崩溃恢复 · 完整消息 payload · metadata 状态 |
17
+ | [Ownership SDK集成指南](Ownership-SDK集成指南.md) | TypeScript 应用层快速接入 · 审批 API · 状态查询 · SDK 自动编排流程图 |
18
+ | [Ownership SDK实现指南](Ownership-SDK实现指南.md) | 四端移植入口 · proof/escrow · 消息拦截 · metadata · rekey/上传恢复 · 验收 |
19
+ | [Ownership协议定义](../protocol/Ownership协议定义.md) | P2P 消息 schema · proof/签名 · agent.md · escrow · owner 授权头 · 现有 RPC |
20
+ | [Ownership 协议定义 2.1](../protocol/Ownership协议定义2.1.md) | 普通双文件/锁/版本 · Group/Org 专属生命周期边界 · owner 本人尾签 signer_aid · 完整 V2 上传授权与实体代际 · 过期停传/保留待办/明确重新上传 |
21
+ | [Ownership SDK 编排指南 2.1](Ownership-SDK编排指南2.1.md) | 当前七 Facade、审批、持久任务/恢复 · 无消息历史同意释放清理 · Group/Org not_applicable 门禁 |
22
+ | [Ownership 2.1 应用集成指南](Ownership2.1-SDK应用集成指南.md) | 当前应用接入、审批与新鲜共识 · 实体授权过期后的明确上传和专属生命周期 |
23
+ | [Ownership 2.1 开发与移植指南](Ownership2.1-SDK开发与移植指南.md) | 四端文件/证书/Storage/CAS · 原件上下文、严格 OCSP 与授权恢复 · 按协议逐项裁决 |
24
+ | [凭证与组织服务 SDK 应用集成指南](凭证与组织服务SDK应用集成指南.md) | 0.5.19 应用接入:CAP 验证、登记回执、成员入组/续期、组织请求、代表操作和转让恢复 |
25
+ | [凭证与组织服务 SDK 开发与移植指南](凭证与组织服务SDK开发与移植指南.md) | 0.5.19 四端协议实现:canonical JSON、签名/状态 proof、binding、facade/RPC、持久编排和测试向量 |
26
+ | [Ownership 2.1 详细设计](Ownership2.1详细设计.md) | 本地任务/完成证据、首次授权固定、清理原件与原 CAS |
27
+ | [Ownership 2.1 TDD 实施计划](Ownership2.1-TDD分阶段实施计划.md) | 冻结契约、历史网络账本与本轮复审的本地验证 |
28
+ | [Ownership 2.1 审查报告](../audit/Ownership2.1代码审查报告.md) | 本轮 13 项问题、修代码/修文档、逐项参考端和验证限制 |
29
+ | [05-E2EE加密通信](05-E2EE加密通信.md) | E2EE V2 消息 · ProtectedHeaders · agent.md 版本提示 · recipient wrap |
30
+ | [ProtectedHeaders用法专题](ProtectedHeaders用法专题.md) | `protected_headers` 四端 API · 实例级/单次调用 · E2EE V2 HMAC 完整性 · 接收信任边界 |
31
+ | [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md) | V2 P2P/GROUP 明文与加密主链路 |
32
+ | [06-API手册](06-API手册.md) | AIDStore · AID · AUNClient · 四 SDK access token getter · Python PushFacade · P2P TTL volatile 消息 · Message/Group History 与已读门面 · 已读变更和本地补偿完成 · 消息来源与 Pull 同步生命周期 · 事件 · E2EE 高级 API · RPC 索引 |
19
33
  | [07-错误处理](07-错误处理.md) | Result · Python `ErrorInfo.cause` · 错误类层级 · 错误码 · 重试 |
20
34
  | [08-最佳实践](08-最佳实践.md) | 幂等连接 · 消息同步/History · AUNClient 级 Pull Gate(始终单飞)· group.index · 测试数据保护 |
21
35
  | [09-payload-reference](09-payload-reference.md) | message / group / thought payload 格式 |
22
- | [09-message-rpc-manual](09-message-rpc-manual.md) | P2P 消息 RPC(含 device 定向发送、TTL volatile 消息、双游标/ACK、Forward Pull、`message.history`、Piggy ACK、实时推送内联载荷) |
23
- | [09-group-rpc-manual](09-group-rpc-manual.md) | 群组 RPC(含成员 block/status、两阶段群主转让、Group Forward、`group.history`、`group.index`、Group FS MIME/Content-Type 与角色 ACL) |
36
+ | [09-message-rpc-manual](09-message-rpc-manual.md) | P2P 消息 RPC(含跨设备 `read/read_state/read_changed`、设备映射、精确整数、device 定向发送、TTL volatile 消息、双游标/ACK、Forward Pull、`message.history`、Piggy ACK、实时推送内联载荷) |
37
+ | [09-group-rpc-manual](09-group-rpc-manual.md) | 群组 RPC(自动 owner 绑定/解绑、owner 本人名片、强制 rekey 的两阶段转移、跨设备已读、成员 block/status、Group Forward/History/index、Group FS) |
24
38
  | [09-storage-rpc-manual](09-storage-rpc-manual.md) | 存储 RPC(含实际字节 MIME 识别、session/PUT/complete Content-Type 一致性、OSS 403、POSIX VFS / ACL / token) |
25
39
  | [09-collab-rpc-manual](09-collab-rpc-manual.md) | 协作 RPC(版本化文档 / 乐观锁 / 三方合并 / 标签 / GC / reflog / revert) |
26
40
  | [group.fs POSIX 化详细设计](../aun-fs/group-fs/group.fs-POSIX化详细设计.md) | `client.group.fs.*` / `aun group fs` / `group.fs.*` 群文件系统设计,含群自有区角色 ACL、`parents` 和 JS string 语义 |
@@ -38,9 +52,17 @@
38
52
 
39
53
  ### 身份与认证
40
54
 
55
+ - 当前普通 Ownership 2.1、七 Facade、任务恢复、Group/Org not_applicable → [编排指南 2.1](Ownership-SDK编排指南2.1.md)、[协议 2.1](../protocol/Ownership协议定义2.1.md)
56
+ - Group/Org owner 本人尾签、signer_aid、完整 V2 上传授权、实体证书代际与 pending、过期停传/明确上传 → [协议 §2.5](../protocol/Ownership协议定义2.1.md#25-grouporg-名片的-owner-代签与上传)、[Group RPC](09-group-rpc-manual.md#群组生命周期)
57
+ - Credential/Org 应用接入、CAP 完整验证、登记回执、成员入组/续期、代表请求和转让恢复 → [凭证与组织服务 SDK 应用集成指南](凭证与组织服务SDK应用集成指南.md)
58
+ - Credential/Org 四端协议实现、canonical JSON、强状态 proof、请求绑定、facade/RPC 和共同向量 → [凭证与组织服务 SDK 开发与移植指南](凭证与组织服务SDK开发与移植指南.md)
59
+
41
60
  - AID 格式、证书、不可变值对象 → [03-核心概念](03-核心概念.md)
42
61
  - `AIDStore.register()` / `load()` / `exists()` / `resolve()` → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
43
- - 新 AID 的 `register({aid, type, owner?})`、legacy/unbound AID 的 `bind_aid`/`bindAid`、`change_owner`、ownership proof 与 relation operation 恢复 → [06-API手册](06-API手册.md)、[04-连接与认证](04-连接与认证.md)、[../protocol/01-身份与凭证协议-auth.md](../protocol/01-身份与凭证协议-auth.md)
62
+ - 四端 `bindAid`/`bindOwner` ownership API、应用层请求确认、完整 P2P payload、identity escrow、owner 代签 agent.md、release 解绑/rekey 和消息拦截 → [Ownership管理专题](Ownership管理专题.md)
63
+ - TypeScript 应用层 ownership 快速集成、审批、查询和 SDK 自动编排流程图 → [Ownership SDK集成指南](Ownership-SDK集成指南.md)
64
+ - ownership SDK 实现/移植、声明字节与验签、escrow、metadata 持久化和恢复 → [Ownership SDK实现指南](Ownership-SDK实现指南.md)
65
+ - ownership P2P/proof/agent.md/escrow schema 与现有 RPC、HTTP 授权边界 → [Ownership协议定义](../protocol/Ownership协议定义.md)
44
66
  - agent.md 上传/下载/检查、`remote_etag` / `last_modified` 自动观察、`requester` / `peer` / `group` 角色 → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)、[远程 agent.md 缓存与 ETag 透传方案](../agent.md/远程agent.md缓存与etag透传方案.md)
45
67
  - AID 构造约束与多语言入口 → [01-快速开始](01-快速开始.md)、[06-API手册](06-API手册.md)
46
68
  - 认证链路、后台刷新和当前 token getter(`get_access_token()` / `getAccessToken()` / `GetAccessToken()`)→ [03-核心概念](03-核心概念.md)、[04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
@@ -52,14 +74,16 @@
52
74
  - `connect()` 选项、长短连接、网关发现 → [04-连接与认证](04-连接与认证.md)
53
75
  - capability getter、事件、生命周期 API → [06-API手册](06-API手册.md)
54
76
  - 消息事件 `source`、`sync.started/progress/stopped`、`delivery.changed` → [06-API手册](06-API手册.md)
77
+ - 已读状态重连补偿、本地 `read_state_sync` 的 states/errors 和 `background_sync` 边界 → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
55
78
  - Capabilities 能力声明、`inline_realtime_payload_v1` 实时推送优化 → [02-WebSocket协议](02-WebSocket协议.md)、[CHANGELOG-0.5.6](CHANGELOG-0.5.6.md)
56
79
  - 裸 WebSocket 握手 → [02-WebSocket协议](02-WebSocket协议.md)
57
80
 
58
81
  ### E2EE
59
82
 
60
- - E2EE 原理和默认行为 → [03-核心概念](03-核心概念.md)
61
- - ProtectedHeaders、agent.md 版本提示边界、V2 recipient wrap、sender_signature / AAD / recipient proof → [05-E2EE加密通信](05-E2EE加密通信.md)
62
- - V2 P2P/GROUP 时序 → [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md)
83
+ - E2EE 原理和默认行为 → [03-核心概念](03-核心概念.md)
84
+ - ProtectedHeaders、agent.md 版本提示边界、V2 recipient wrap、sender_signature / AAD / recipient proof → [05-E2EE加密通信](05-E2EE加密通信.md)
85
+ - `protected_headers` 用法、四端 API、合并优先级、key/value 规范化、HMAC 和信任边界 → [ProtectedHeaders用法专题](ProtectedHeaders用法专题.md)
86
+ - V2 P2P/GROUP 时序 → [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md)
63
87
  - 高级 E2EE API → [06-API手册](06-API手册.md)
64
88
  - 解密失败排查 → [07-错误处理](07-错误处理.md)
65
89
 
@@ -70,6 +94,7 @@
70
94
  - `client.notify()` 在线轻量通知、跨域 federation、在线/离线边界 → [Notify通知方案](Notify通知方案.md)
71
95
  - A/T/H 实时窗口、页内唯一有序发布、应用层跨页幂等排序、每个 AUNClient 一个 Pull Gate(始终 single-inflight、相同 key 折叠、不同 key 排队、前台 FIFO 优先)、缺 sender IK 有界同步 bootstrap、永久页内 Gap、坏密文推进 → [03-核心概念](03-核心概念.md)、[05-E2EE加密通信](05-E2EE加密通信.md)、[08-最佳实践](08-最佳实践.md)
72
96
  - P2P device 定向发送、TTL volatile 消息、双游标/ACK、Forward/History/Piggy ACK → [09-message-rpc-manual](09-message-rpc-manual.md)
97
+ - 跨设备 `read/read_state/read_changed`、单条/显式空值、回执与汇总、scope/owner 绑定、晚到位置回填、Group canonical/权限版本及混合域部分提交 → [09-message-rpc-manual](09-message-rpc-manual.md)、[09-group-rpc-manual](09-group-rpc-manual.md)
73
98
  - Group 成员 block/status、暂停群权限、两阶段群主转让、Forward/History、`group.index`、Group FS MIME/Content-Type 和角色 ACL → [09-group-rpc-manual](09-group-rpc-manual.md)
74
99
  - 下一版群文件系统 `group.fs.*`、`client.group.fs.*`、`aun group fs`、`cp/mv` POSIX 化语义和 JS string 差异 → [group.fs POSIX 化详细设计](../aun-fs/group-fs/group.fs-POSIX化详细设计.md)、[分阶段实施计划](../aun-fs/group-fs/group.fs-POSIX化分阶段实施计划.md)
75
100
  - Storage 架构、SDK VFS、控制面/数据面分离、下载 ticket / AID Bearer 边界、类 Linux 权限和 mount/symlink → [AUN Storage架构设计](<../aun-fs/AUN Storage架构设计.md>)
@@ -107,17 +132,51 @@
107
132
 
108
133
  解释 AID 身份、三主体职责、device_id / slot_id 隔离键、A/T/H 实时消息窗口、每个 AUNClient 一个 Pull Gate、九态状态机、默认 E2EE 行为和 RPC/事件模型。
109
134
 
110
- ### 04-连接与认证
135
+ ### 04-连接与认证
136
+
137
+ 描述 `AIDStore` 注册加载、`AUNClient` 身份加载、显式认证、当前 access token getter、连接选项、Python `connect()` 的 Push 自动登记、长短连接共存、网关发现、已读状态本地补偿完成事件、agent.md 上传/下载/检查,以及连接后从 Gateway `_meta.agent_md_etags` 和信封 `agent_md` 自动观察远端版本。
138
+
139
+ ### Ownership 2.1 当前契约与复审
140
+
141
+ 现行六份协议/SDK 文档定义普通双文件流程、七 Facade 与实体专属 owner 名片;实体 pending 保留原授权和 CAS,超过 ±300 秒停止自动重传,须明确重新上传。无控制消息的释放清理按精确本人历史同意恢复,保持 completed 历史;当前证书严格绑定 OCSP issuer,整体 30 秒包含首次 GET。各端差异按协议逐项裁决,TS 是接线参考;13 项本轮修复及实际验证见 [审查报告第十二节](../audit/Ownership2.1代码审查报告.md#十二2026-10-11-本轮复审与修复)。
142
+
143
+ ### 凭证与组织服务 SDK 应用集成指南
144
+
145
+ 面向应用开发者说明 0.5.19 的 Credential/Org service-plane 边界、CAP 完整 Verify、Credential 请求绑定、受保护读取、首次入组 admission、组织创建与两阶段转让恢复、解散证书失效清理;列出四端实际入口及状态未知和 `NOT_IMPLEMENTED` 的 fail-closed 边界。
146
+
147
+ ### 凭证与组织服务 SDK 开发与移植指南
148
+
149
+ 面向其它语言 SDK 开发者冻结两类 canonical JSON、P-256/DER 签名、CAP 深度和安全声明、父链强状态 proof、Org admission 与 Credential 请求绑定、四端 facade/RPC、创建/转让 checkpoint、解散清理、事件去重和共享测试向量。
150
+
151
+ ### Ownership管理专题
152
+
153
+ 以下旧 Ownership 专题、集成/实现指南与协议条目均为 legacy;当前 2.1 不使用旧 proof/escrow,Group/Org 的专属 owner 名片也不采用旧目标 identity 代签规则。
154
+
155
+ 按当前四端 SDK、CA、Name Service 和 Storage 实现说明 `ownership.request` 应用层 accept/reject、双方签署后立即发布 proof、独立托管与代上传、identity 的文件/IndexedDB 持久化位置、完整 P2P payload、agent.md 与 metadata 恢复、服务端 active signing 校验、下载端验签和实现边界。
156
+
157
+ ### Ownership SDK集成指南
158
+
159
+ 先以 TypeScript 应用示例完成身份加载、事件审批、双向绑定、状态查询与解绑,再用时序图说明 SDK 的 proof、identity 托管、owner 代上传、名片同步和中断恢复。
111
160
 
112
- 描述 `AIDStore` 注册加载、`AUNClient` 身份加载、显式认证、当前 access token getter、连接选项、Python `connect()` 的 Push 自动登记、长短连接共存、网关发现、agent.md 上传/下载/检查,以及连接后从 Gateway `_meta.agent_md_etags` 和信封 `agent_md` 自动观察远端版本。
161
+ ### Ownership SDK实现指南
113
162
 
114
- ### 05-E2EE加密通信
163
+ 面向其它语言 SDK 的实现者与移植者,对照四端代码说明公开契约、控制消息拦截、密码学原语、self-owner、escrow、metadata、rekey 和 agent.md 待上传恢复,并索引现有验收用例。
115
164
 
116
- 覆盖默认加密发送、接收自动解密、E2EE V2 多设备 wrap、ProtectedHeaders、agent.md 版本提示与 E2EE 安全边界、`sender_signature` / AAD / recipient proof、群 E2EE 和高级存储扩展边界。
165
+ ### Ownership协议定义
117
166
 
118
- ### 06-API手册
167
+ 定义 `aun.ownership.v1` 的公共字段和六类 action、v2 独立声明及签名封套、ownership release、agent.md frontmatter、identity escrow、owner 上传授权头,以及 Message、Storage、Name Service、Auth/CA 的现有接口边界。
168
+
169
+ ### 05-E2EE加密通信
170
+
171
+ 覆盖默认加密发送、接收自动解密、E2EE V2 多设备 wrap、ProtectedHeaders、agent.md 版本提示与 E2EE 安全边界、`sender_signature` / AAD / recipient proof、群 E2EE 和高级存储扩展边界。
172
+
173
+ ### ProtectedHeaders用法专题
174
+
175
+ 按当前 Python、TypeScript、JavaScript、Go 实现说明 `protected_headers` 的实例级/单次调用 API、`headers` 兼容别名、E2EE V2 元数据 HMAC、自动字段、解密失败边界和裸 RPC 限制。
176
+
177
+ ### 06-API手册
119
178
 
120
- 列出 AIDStore、AID、AUNClient(含四 SDK 当前 access token getter)、Python PushFacade、P2P TTL volatile 消息、Message/Group History 门面、事件、agent.md、ServiceProxyClient、E2EE 高级 API、Group Index facade 和 RPC 手册索引。
179
+ 列出 AIDStore、AID、AUNClient(含四 SDK 当前 access token getter)、Python PushFacade、P2P TTL volatile 消息、Message/Group History 与已读门面、已读变更及本地补偿完成事件、agent.md、ServiceProxyClient、E2EE 高级 API、Group Index facade 和 RPC 手册索引。
121
180
 
122
181
  ### 07-错误处理
123
182
 
@@ -129,7 +188,7 @@
129
188
 
130
189
  ### 09-*-rpc-manual
131
190
 
132
- 各业务服务的 RPC 参数、响应和错误语义。Message RPC 覆盖 device 定向发送、TTL volatile 双游标/ACK;Group RPC 覆盖成员 block/status、暂停群权限、两阶段群主转让、Group Event 独立游标和 Group FS MIME/Content-Type;Storage RPC 覆盖实际字节 MIME 识别、session/PUT/complete Content-Type 一致性和 OSS 403。
191
+ 各业务服务的 RPC 参数、响应和错误语义。Message RPC 覆盖 device 定向发送、TTL volatile 双游标/ACK;Group RPC 覆盖成员 block/status、暂停群权限、两阶段群主转让、Group Event 独立游标和 Group FS MIME/Content-Type;Storage RPC 覆盖实际字节 MIME 识别、session/PUT/complete Content-Type 一致性和 OSS 403。Message/Group 另定义顶层单条与显式空值、共享已读汇总、设备映射、晚到位置回填、精确整数及 scope/owner 绑定;Group 包含 canonical ID、跨实例权限版本、混合域逐域提交/幂等重试和全量查询。
133
192
 
134
193
  ### AUN Storage架构设计
135
194
 
@@ -1,9 +1,12 @@
1
1
  export declare const AGENT_MD_MAX_SIGNATURE_BYTES = 2048;
2
+ export declare function parseFileFrontmatter(payload: string): Record<string, unknown>;
2
3
  export declare function validateAgentMdDocument(content: string, opts?: {
3
4
  expectedAid?: string;
4
5
  maxPayloadBytes?: number;
5
6
  requireSignature?: boolean;
6
7
  now?: number;
8
+ validateOwnership?: boolean;
9
+ checkTimestamp?: boolean;
7
10
  }): {
8
11
  payload: string;
9
12
  frontmatter: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-md-schema.d.ts","sourceRoot":"","sources":["../src/agent-md-schema.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAqBjD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO;;;;EAmC/J;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO5H;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,sBAAsB,UAAO,GAC5B,IAAI,CASN"}
1
+ {"version":3,"file":"agent-md-schema.d.ts","sourceRoot":"","sources":["../src/agent-md-schema.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,4BAA4B,OAAO,CAAC;AASjD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqB7E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO;;;;EA6CtN;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5H;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,sBAAsB,UAAO,GAC5B,IAAI,CASN"}
@@ -1,17 +1,18 @@
1
1
  import { ValidationError } from './errors.js';
2
2
  import { parseAgentMdTailSignature, parseCertMetadata, verifySignatureWithCert, certFingerprint, publicKeyMatchesFingerprint, isStrictBase64 } from './cert-utils.js';
3
- import { parseDocument } from 'yaml';
3
+ import { isAlias, parseDocument, visit } from 'yaml';
4
4
  import { validateOwnershipFrontmatter } from './ownership-proof.js';
5
+ import { validateOwnershipAgentFrontmatter } from './ownership-v21.js';
5
6
  const AID_RE = /^[A-Za-z0-9_][A-Za-z0-9_-]*(?:\.[A-Za-z0-9_][A-Za-z0-9_-]*)+$/;
6
7
  const SEMVER_RE = /^\d+\.\d+\.\d+$/;
7
8
  export const AGENT_MD_MAX_SIGNATURE_BYTES = 2048;
8
9
  function assertValidUtf8Text(content) {
9
10
  const encoded = new TextEncoder().encode(content);
10
- if (new TextDecoder('utf-8', { fatal: true }).decode(encoded) !== content) {
11
+ if (new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(encoded) !== content) {
11
12
  throw new ValidationError('agent.md must be valid UTF-8 text');
12
13
  }
13
14
  }
14
- function frontmatter(payload) {
15
+ export function parseFileFrontmatter(payload) {
15
16
  const lines = payload.replace(/^\ufeff/, '').split(/\r\n|\n|\r/);
16
17
  if (lines[0]?.trim() !== '---')
17
18
  throw new ValidationError('agent.md must start with YAML frontmatter');
@@ -21,6 +22,20 @@ function frontmatter(payload) {
21
22
  const doc = parseDocument(lines.slice(1, end + 1).join('\n'), { uniqueKeys: true });
22
23
  if (doc.errors.length)
23
24
  throw new ValidationError(`agent.md frontmatter is invalid: ${doc.errors[0].message}`);
25
+ visit(doc, (_key, node) => {
26
+ if (node && typeof node === 'object' && (isAlias(node) || 'anchor' in node && node.anchor || 'tag' in node && node.tag))
27
+ throw new ValidationError('YAML tags, anchors and aliases are forbidden');
28
+ });
29
+ if (doc.warnings.length)
30
+ throw new ValidationError(`agent.md frontmatter is invalid: ${doc.warnings[0].message}`);
31
+ for (const path of [
32
+ ['ownership', 'statement', 'version'], ['ownership', 'statement', 'relation_version'], ['ownership', 'statement', 'declared_at'],
33
+ ['ownership', 'transfer', 'target_relation_version'], ['ownership', 'transfer', 'expires_at'],
34
+ ]) {
35
+ const scalar = doc.getIn(path, true);
36
+ if (scalar && typeof scalar.value === 'number' && !/^(?:0|[1-9][0-9]*)$/.test(scalar.source ?? ''))
37
+ throw new ValidationError(`${path.join('.')} must be a YAML integer`);
38
+ }
24
39
  const result = doc.toJS();
25
40
  if (!result || typeof result !== 'object' || Array.isArray(result))
26
41
  throw new ValidationError('agent.md frontmatter must be a mapping');
@@ -41,7 +56,7 @@ export function validateAgentMdDocument(content, opts = {}) {
41
56
  throw new ValidationError('agent.md payload exceeds 4096 bytes');
42
57
  if (parsed.fields && new TextEncoder().encode(String(content)).byteLength - new TextEncoder().encode(parsed.payload).byteLength > AGENT_MD_MAX_SIGNATURE_BYTES)
43
58
  throw new ValidationError(`agent.md signature block exceeds ${AGENT_MD_MAX_SIGNATURE_BYTES} bytes`);
44
- const meta = frontmatter(parsed.payload);
59
+ const meta = parseFileFrontmatter(parsed.payload);
45
60
  for (const key of ['aid', 'name', 'type', 'version'])
46
61
  if (!(key in meta))
47
62
  throw new ValidationError(`agent.md frontmatter missing ${key}`);
@@ -66,22 +81,40 @@ export function validateAgentMdDocument(content, opts = {}) {
66
81
  if (Array.from(meta.avatar).length > 256)
67
82
  throw new ValidationError('agent.md avatar exceeds 256 characters');
68
83
  }
84
+ if ('exttype' in meta && typeof meta.exttype !== 'string')
85
+ throw new ValidationError('agent.md frontmatter exttype must be a string');
69
86
  if (meta.tags !== undefined && (!Array.isArray(meta.tags) || meta.tags.some((item) => typeof item !== 'string')))
70
87
  throw new ValidationError('agent.md tags must be an array of strings');
71
- validateOwnershipFrontmatter(meta, opts.expectedAid);
88
+ const entity = ['group', 'org'].includes(String(meta.type));
89
+ if (entity) {
90
+ if (typeof meta.owner !== 'string' || !AID_RE.test(meta.owner))
91
+ throw new ValidationError('group/org agent.md requires owner');
92
+ if (typeof meta.entity_cert_fingerprint !== 'string' || !/^sha256:[0-9a-f]{64}$/.test(meta.entity_cert_fingerprint))
93
+ throw new ValidationError('group/org agent.md requires entity_cert_fingerprint');
94
+ if (['ownership', 'ownership_proof', 'ownership_release'].some((field) => Object.hasOwn(meta, field)))
95
+ throw new ValidationError('group/org agent.md cannot use Ownership 2.1');
96
+ }
97
+ else if (opts.validateOwnership ?? true) {
98
+ if ('ownership' in meta || 'owner' in meta && !('ownership_proof' in meta))
99
+ validateOwnershipAgentFrontmatter(meta, opts.expectedAid);
100
+ else
101
+ validateOwnershipFrontmatter(meta, opts.expectedAid);
102
+ }
72
103
  const fields = parsed.fields;
73
104
  if (fields) {
74
- if (Object.keys(fields).some((key) => !['cert_fingerprint', 'public_key_fingerprint', 'timestamp', 'signature'].includes(key)))
105
+ if (Object.keys(fields).some((key) => !['cert_fingerprint', 'public_key_fingerprint', 'timestamp', 'signature', ...(entity ? ['signer_aid'] : [])].includes(key)))
75
106
  throw new ValidationError('agent.md signature contains unknown fields');
76
- if (!/^sha256:[0-9a-f]{64}$/i.test(fields.cert_fingerprint))
107
+ if (entity && ![meta.aid, meta.owner].includes(fields.signer_aid ?? meta.aid))
108
+ throw new ValidationError('group/org agent.md signer must be entity or owner');
109
+ if (!/^sha256:[0-9a-f]{64}$/.test(fields.cert_fingerprint))
77
110
  throw new ValidationError('agent.md cert_fingerprint is invalid');
78
- if (fields.public_key_fingerprint && !/^sha256:[0-9a-f]{64}$/i.test(fields.public_key_fingerprint))
111
+ if (fields.public_key_fingerprint !== undefined && !/^sha256:[0-9a-f]{64}$/.test(fields.public_key_fingerprint))
79
112
  throw new ValidationError('agent.md public_key_fingerprint is invalid');
80
- if (!/^\d+$/.test(fields.timestamp) || !isStrictBase64(fields.signature))
113
+ if (!/^[1-9][0-9]*$/.test(fields.timestamp) || !Number.isSafeInteger(Number(fields.timestamp)) || !isStrictBase64(fields.signature))
81
114
  throw new ValidationError('agent.md signature fields are invalid');
82
115
  const now = Math.trunc(opts.now ?? Date.now() / 1000);
83
116
  const ts = Number(fields.timestamp);
84
- if (ts > now + 300)
117
+ if ((opts.checkTimestamp ?? true) && ts > now + 300)
85
118
  throw new ValidationError('agent.md signature timestamp is too far in the future');
86
119
  }
87
120
  return { payload: parsed.payload, frontmatter: meta, signature: fields };
@@ -89,7 +122,8 @@ export function validateAgentMdDocument(content, opts = {}) {
89
122
  export async function verifyAgentMdUpload(content, certPem, expectedAid, now) {
90
123
  const parsed = validateAgentMdDocument(content, { expectedAid, requireSignature: true, now });
91
124
  const fields = parsed.signature;
92
- validateAgentMdCertificate(certPem, expectedAid, Number(fields.timestamp), now);
125
+ const signer = ['group', 'org'].includes(String(parsed.frontmatter.type)) ? fields.signer_aid ?? expectedAid : expectedAid;
126
+ validateAgentMdCertificate(certPem, signer, Number(fields.timestamp), now);
93
127
  const actualCertFingerprint = (await certFingerprint(certPem)).toLowerCase();
94
128
  if (actualCertFingerprint !== fields.cert_fingerprint.trim().toLowerCase())
95
129
  throw new ValidationError('agent.md certificate fingerprint mismatch');
@@ -1 +1 @@
1
- {"version":3,"file":"agent-md-schema.js","sourceRoot":"","sources":["../src/agent-md-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-md-schema.js","sourceRoot":"","sources":["../src/agent-md-schema.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
1
  import { AID } from './aid.js';
2
+ import { type OwnershipRelease, type OwnershipVerificationStatus } from './ownership-proof.js';
2
3
  import type { TokenStore } from './keystore/index.js';
3
4
  import type { ModuleLogger } from './logger.js';
4
5
  import { type JsonObject } from './types.js';
6
+ import { type OwnershipAgentSnapshot, type OwnershipPreparedFile, type OwnershipStatementV21 } from './ownership-v21.js';
7
+ export declare function buildOwnershipReleaseAgentMd(content: string, release: OwnershipRelease): string;
8
+ export declare function buildOwnershipAgentMd(content: string, owner: string, proof: Record<string, unknown>): string;
9
+ export declare function buildOwnershipAgentMdV21(content: string, statement?: OwnershipStatementV21): string;
5
10
  export declare function buildDefaultAgentMd(aid: string, options?: {
6
11
  type?: string;
12
+ owner?: string;
13
+ entityCertFingerprint?: string;
14
+ exttype?: string;
15
+ ownershipProof?: Record<string, unknown>;
7
16
  name?: string;
8
17
  description?: string;
9
18
  avatar?: string;
@@ -11,6 +20,7 @@ export declare function buildDefaultAgentMd(aid: string, options?: {
11
20
  export type AgentMdVerification = {
12
21
  status: string;
13
22
  reason?: string;
23
+ ownership_status?: OwnershipVerificationStatus | 'not_applicable';
14
24
  };
15
25
  export type AgentMdDownloadResult = {
16
26
  aid: string;
@@ -49,8 +59,12 @@ export interface AgentMdManagerOptions {
49
59
  ownerAidGetter?: () => string | null | undefined;
50
60
  currentAidGetter?: () => AID | null | undefined;
51
61
  gatewayResolver?: (aid: string) => Promise<string> | string;
52
- peerResolver?: (aid: string, certFingerprint?: string | null) => Promise<AID> | AID;
62
+ peerResolver?: (aid: string, certFingerprint?: string | null, signedAt?: number) => Promise<AID> | AID;
63
+ entityOwnerResolver?: (aid: string, type: string) => Promise<string> | string;
64
+ entityIdentityGetter?: (aid: string, type?: string) => Promise<AID> | AID;
65
+ entitySignerResolver?: (aid: string, fingerprint: string) => Promise<AID> | AID;
53
66
  accessTokenResolver?: (aid: string, gatewayUrl: string) => Promise<string> | string;
67
+ uploadAccessTokenResolver?: (aid: string, gatewayUrl: string) => Promise<string> | string;
54
68
  aidValidator?: (aid: string) => void;
55
69
  }
56
70
  export declare class AgentMdManager {
@@ -65,7 +79,11 @@ export declare class AgentMdManager {
65
79
  private _gatewayResolver?;
66
80
  private _peerResolver?;
67
81
  private _accessTokenResolver?;
82
+ private _uploadAccessTokenResolver?;
68
83
  private _aidValidator?;
84
+ private _entityOwnerResolver?;
85
+ private _entityIdentityGetter?;
86
+ private _entitySignerResolver?;
69
87
  private _cache;
70
88
  private _memoryStorage;
71
89
  private _fetchInflight;
@@ -75,8 +93,30 @@ export declare class AgentMdManager {
75
93
  constructor(opts: AgentMdManagerOptions);
76
94
  get root(): string;
77
95
  setAunPath(aunPath: string): void;
96
+ readOwnershipFresh(aid: string): Promise<OwnershipAgentSnapshot>;
97
+ submitOwnershipRaw(aid: string, content: string, condition: OwnershipPreparedFile['condition']): Promise<OwnershipAgentSnapshot>;
78
98
  setRoot(root?: string | null): string;
79
- upload(content?: string | null, ownerOperationId?: string | null): Promise<Record<string, unknown>>;
99
+ upload(content?: string | null): Promise<Record<string, unknown>>;
100
+ uploadAs(targetAid: string, content: string, signer: AID): Promise<Record<string, unknown>>;
101
+ pendingUpload(aid: string): Promise<{
102
+ content: string;
103
+ content_etag: string;
104
+ last_error: string;
105
+ condition?: OwnershipPreparedFile['condition'];
106
+ relation?: Record<string, unknown>;
107
+ authorization?: string;
108
+ } | null>;
109
+ resumePendingUpload(aid: string, signer?: AID): Promise<boolean>;
110
+ private _uploadPrepared;
111
+ readEntityAuthorityFresh(target: string): Promise<{
112
+ owner_aid: string;
113
+ entity_cert_fingerprint: string;
114
+ }>;
115
+ private _readEntityFresh;
116
+ private _entityCurrentContext;
117
+ private _entityContext;
118
+ private _entityDocumentSigner;
119
+ private _verifyEntityOwnerSigner;
80
120
  download(aid?: string | null, timeoutMs?: number): Promise<AgentMdDownloadResult>;
81
121
  check(aid?: string | null, ttlDays?: number): Promise<AgentMdCheckResult>;
82
122
  observeMeta(aid: string, etag?: string, lastModified?: string, source?: string): Promise<void>;
@@ -104,6 +144,9 @@ export declare class AgentMdManager {
104
144
  private _resolveGateway;
105
145
  private _resolvePeer;
106
146
  private _accessToken;
147
+ private _uploadAccessToken;
148
+ private _validateEntityUploadAuthorization;
149
+ private _ownerUploadAuthorization;
107
150
  private _url;
108
151
  private _uploadHttp;
109
152
  private _downloadHttp;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-md.d.ts","sourceRoot":"","sources":["../src/agent-md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-md.d.ts","sourceRoot":"","sources":["../src/agent-md.ts"],"names":[],"mappings":"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"}