@agentunion/fastaun-browser 0.5.18 → 0.5.20

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 (149) hide show
  1. package/CHANGELOG.md +172 -79
  2. package/_packed_docs/CHANGELOG.md +172 -79
  3. package/_packed_docs/INDEX.md +244 -116
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +98 -69
  5. package/_packed_docs/agent.md/SCHEMA.md +245 -205
  6. package/_packed_docs/agent.md//350/277/234/347/250/213agent.md/347/274/223/345/255/230/344/270/216etag/351/200/217/344/274/240/346/226/271/346/241/210.md +11 -11
  7. 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
  8. 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
  9. 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
  10. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +1072 -1072
  11. 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
  12. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +687 -668
  13. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +19 -28
  14. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +443 -0
  15. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.0.md +161 -0
  16. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +658 -0
  17. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2113.0.md +233 -0
  18. package/_packed_docs/protocol/agent.md/SCHEMA.md +4 -0
  19. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +1 -1
  20. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +68 -61
  21. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +1 -1
  22. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +279 -285
  23. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +3 -3
  24. package/_packed_docs/sdk/09-group-rpc-manual.md +271 -235
  25. package/_packed_docs/sdk/09-message-rpc-manual.md +47 -6
  26. package/_packed_docs/sdk/09-storage-rpc-manual.md +70 -68
  27. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +63 -34
  28. package/_packed_docs/sdk/INDEX.md +105 -34
  29. package/_packed_docs/sdk/Ownership-SDK/345/256/236/347/216/260/346/214/207/345/215/227.md +169 -0
  30. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/227.md +349 -0
  31. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +922 -0
  32. package/_packed_docs/sdk/Ownership-SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +270 -0
  33. package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +300 -0
  34. package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +382 -0
  35. package/_packed_docs/sdk/Ownership2.1-TDD/345/210/206/351/230/266/346/256/265/345/256/236/346/226/275/350/256/241/345/210/222.md +708 -0
  36. package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +476 -0
  37. package/_packed_docs/sdk/Ownership/347/256/241/347/220/206/344/270/223/351/242/230.md +559 -0
  38. package/_packed_docs/sdk/ProtectedHeaders/347/224/250/346/263/225/344/270/223/351/242/230.md +299 -0
  39. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +173 -0
  40. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +211 -0
  41. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/345/256/236/347/216/260/347/247/273/346/244/215/346/214/207/345/215/227.md +331 -0
  42. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +207 -0
  43. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +252 -0
  44. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/345/256/236/346/226/275/350/256/241/345/210/222.md +156 -0
  45. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/346/226/271/346/241/210.md +273 -0
  46. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/350/257/246/347/273/206/350/256/276/350/256/241.md +211 -0
  47. package/dist/agent-md-schema.d.ts +17 -3
  48. package/dist/agent-md-schema.d.ts.map +1 -1
  49. package/dist/agent-md-schema.js +94 -26
  50. package/dist/agent-md-schema.js.map +1 -1
  51. package/dist/agent-md.d.ts +54 -3
  52. package/dist/agent-md.d.ts.map +1 -1
  53. package/dist/agent-md.js +711 -65
  54. package/dist/agent-md.js.map +1 -1
  55. package/dist/aid-store.d.ts +58 -46
  56. package/dist/aid-store.d.ts.map +1 -1
  57. package/dist/aid-store.js +254 -248
  58. package/dist/aid-store.js.map +1 -1
  59. package/dist/aid.d.ts +4 -1
  60. package/dist/aid.d.ts.map +1 -1
  61. package/dist/aid.js +27 -33
  62. package/dist/aid.js.map +1 -1
  63. package/dist/auth.d.ts +4 -1
  64. package/dist/auth.d.ts.map +1 -1
  65. package/dist/auth.js +426 -39
  66. package/dist/auth.js.map +1 -1
  67. package/dist/bundle.js +38179 -32054
  68. package/dist/cert-utils.d.ts +50 -2
  69. package/dist/cert-utils.d.ts.map +1 -1
  70. package/dist/cert-utils.js +105 -47
  71. package/dist/cert-utils.js.map +1 -1
  72. package/dist/client/delivery.d.ts +22 -1
  73. package/dist/client/delivery.d.ts.map +1 -1
  74. package/dist/client/delivery.js +389 -78
  75. package/dist/client/delivery.js.map +1 -1
  76. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  77. package/dist/client/rpc-pipeline.js +103 -77
  78. package/dist/client/rpc-pipeline.js.map +1 -1
  79. package/dist/client/v2-e2ee.d.ts +1 -0
  80. package/dist/client/v2-e2ee.d.ts.map +1 -1
  81. package/dist/client/v2-e2ee.js +182 -89
  82. package/dist/client/v2-e2ee.js.map +1 -1
  83. package/dist/client.d.ts +100 -1
  84. package/dist/client.d.ts.map +1 -1
  85. package/dist/client.js +1220 -25
  86. package/dist/client.js.map +1 -1
  87. package/dist/crypto.d.ts.map +1 -1
  88. package/dist/crypto.js +8 -6
  89. package/dist/crypto.js.map +1 -1
  90. package/dist/errors.d.ts.map +1 -1
  91. package/dist/errors.js +3 -2
  92. package/dist/errors.js.map +1 -1
  93. package/dist/events.d.ts +9 -2
  94. package/dist/events.d.ts.map +1 -1
  95. package/dist/events.js +72 -13
  96. package/dist/events.js.map +1 -1
  97. package/dist/facades.d.ts +82 -2
  98. package/dist/facades.d.ts.map +1 -1
  99. package/dist/facades.js +100 -6
  100. package/dist/facades.js.map +1 -1
  101. package/dist/index.d.ts +7 -3
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +3 -2
  104. package/dist/index.js.map +1 -1
  105. package/dist/keystore/index.d.ts +17 -0
  106. package/dist/keystore/index.d.ts.map +1 -1
  107. package/dist/keystore/indexeddb-shared.d.ts +10 -1
  108. package/dist/keystore/indexeddb-shared.d.ts.map +1 -1
  109. package/dist/keystore/indexeddb-shared.js +111 -0
  110. package/dist/keystore/indexeddb-shared.js.map +1 -1
  111. package/dist/keystore/indexeddb-token-store.d.ts +7 -1
  112. package/dist/keystore/indexeddb-token-store.d.ts.map +1 -1
  113. package/dist/keystore/indexeddb-token-store.js +30 -1
  114. package/dist/keystore/indexeddb-token-store.js.map +1 -1
  115. package/dist/org-protocol.d.ts +98 -0
  116. package/dist/org-protocol.d.ts.map +1 -0
  117. package/dist/org-protocol.js +1802 -0
  118. package/dist/org-protocol.js.map +1 -0
  119. package/dist/ownership-proof.d.ts +93 -5
  120. package/dist/ownership-proof.d.ts.map +1 -1
  121. package/dist/ownership-proof.js +239 -53
  122. package/dist/ownership-proof.js.map +1 -1
  123. package/dist/ownership-v21.d.ts +194 -0
  124. package/dist/ownership-v21.d.ts.map +1 -0
  125. package/dist/ownership-v21.js +678 -0
  126. package/dist/ownership-v21.js.map +1 -0
  127. package/dist/ownership-workflow.d.ts +151 -0
  128. package/dist/ownership-workflow.d.ts.map +1 -0
  129. package/dist/ownership-workflow.js +1229 -0
  130. package/dist/ownership-workflow.js.map +1 -0
  131. package/dist/seq-tracker.d.ts +1 -0
  132. package/dist/seq-tracker.d.ts.map +1 -1
  133. package/dist/seq-tracker.js +10 -2
  134. package/dist/seq-tracker.js.map +1 -1
  135. package/dist/tools/cross-sdk-agent.d.ts +83 -0
  136. package/dist/tools/cross-sdk-agent.d.ts.map +1 -1
  137. package/dist/tools/cross-sdk-agent.js +415 -7
  138. package/dist/tools/cross-sdk-agent.js.map +1 -1
  139. package/dist/transport.d.ts +7 -0
  140. package/dist/transport.d.ts.map +1 -1
  141. package/dist/transport.js +90 -2
  142. package/dist/transport.js.map +1 -1
  143. package/dist/v2/e2ee/decrypt.d.ts +1 -0
  144. package/dist/v2/e2ee/decrypt.d.ts.map +1 -1
  145. package/dist/v2/e2ee/decrypt.js +9 -1
  146. package/dist/v2/e2ee/decrypt.js.map +1 -1
  147. package/dist/version.d.ts +1 -1
  148. package/dist/version.js +1 -1
  149. package/package.json +1 -1
@@ -0,0 +1,161 @@
1
+ # Ownership 协议定义 2.0
2
+
3
+ 本文定义 Ownership 2.0,与历史协议文档 [Ownership协议定义](Ownership协议定义.md) 并存。2.0 只定义双方声明、声明存放位置、共识检查和审计所需的关键概念。
4
+
5
+ ## 1. AID 和关系
6
+
7
+ - **owner_aid**:声明并维护被管理关系的 AID。
8
+ - **sub_aid**:被 owner_aid 管理的 AID。
9
+ - **ownership 关系**:owner_aid 与 sub_aid 各自独立发布的声明。两份声明都存在且验证通过时,关系才是 `consensus`。
10
+
11
+ 2.0 不托管私钥或证书,不允许 owner_aid 代 sub_aid 签名或上传 `agent.md`。需要托管、备份或代理操作时,由应用层自行设计和授权。
12
+
13
+ ## 2. 声明结构
14
+
15
+ 两方使用同一 `statement` 结构;`declaration_id` 和 `declared_at` 可以不同。声明不包含独立签名,声明由所在文件的尾部 `AUN-SIGNATURE[-TAG]` 文件签名保护。声明方由文件位置和签名证书所属 AID 确定。
16
+
17
+ ```yaml
18
+ statement:
19
+ version: 2
20
+ declaration_id: 550e8400-e29b-41d4-a716-446655440000
21
+ owner_aid: owner.agentid.pub
22
+ sub_aid: subject.agentid.pub
23
+ declared_at: 1791523200
24
+ ```
25
+
26
+ 字段定义:
27
+
28
+ | 字段 | 定义 |
29
+ | --- | --- |
30
+ | `version` | 固定为 `2` |
31
+ | `declaration_id` | 小写 UUID v4,用于审计中标识一份声明 |
32
+ | `owner_aid` | 管理方的完整小写 AID |
33
+ | `sub_aid` | 被管理方的完整小写 AID |
34
+ | `declared_at` | 声明生成时的 Unix 秒正整数 |
35
+
36
+ 文件签名使用已有 agent.md 尾部签名规则,签名输入是签名块之前的全部原始 UTF-8 字节。签名块标识允许在 `AUN-SIGNATURE` 后追加大写 TAG;`agent.md` 可使用兼容的 `<!-- AUN-SIGNATURE` 或 `<!-- AUN-SIGNATURE-AGENTMD-V2`,`owner.md` 使用 `<!-- AUN-SIGNATURE-OWNERSHIP-V2`。验证方通过签名块中的证书指纹取得公钥;2.0 不增加 ownership 专用证书或托管接口。
37
+
38
+ ## 3. sub_aid 的 `agent.md` 声明
39
+
40
+ sub_aid 在自己的 `agent.md` frontmatter 中发布声明。`owner` 是可选字段;出现时必须与 `ownership.statement.owner_aid` 相同。
41
+
42
+ ```yaml
43
+ aid: subject.agentid.pub
44
+ name: Subject Agent
45
+ type: agent
46
+ version: 1.0.0
47
+ owner: owner.agentid.pub
48
+ ownership:
49
+ statement:
50
+ version: 2
51
+ declaration_id: 550e8400-e29b-41d4-a716-446655440000
52
+ owner_aid: owner.agentid.pub
53
+ sub_aid: subject.agentid.pub
54
+ declared_at: 1791523200
55
+ ```
56
+
57
+ 约束:
58
+
59
+ 1. `owner` 与 `ownership` 可以同时省略,表示 sub_aid 没有声明 owner_aid。
60
+ 2. 出现其中一个时,另一个必须出现;`owner_aid` 和 `sub_aid` 必须匹配。
61
+ 3. `agent.md` 的完整文件由 sub_aid 使用 `AUN-SIGNATURE` 或 `AUN-SIGNATURE-AGENTMD-V2` 尾部签名块签名,ownership 声明不再另设签名。
62
+ 4. `human` 类型不得声明 `owner` 或 `ownership`。
63
+
64
+ ## 4. owner_aid 的 `owner.md` 声明
65
+
66
+ owner_aid 为每个 sub_aid 保存一份独立声明,路径约定为:
67
+
68
+ ```text
69
+ owner_aid:/sub_aids/{sub_aid}/owner.md
70
+ ```
71
+
72
+ `owner.md` 使用与 `agent.md` 相同的文件容器:YAML frontmatter、可选 Markdown 正文和文件尾部 `AUN-SIGNATURE-OWNERSHIP-V2` 签名块。
73
+
74
+ ```yaml
75
+ ---
76
+ owner_aid: owner.agentid.pub
77
+ sub_aid: subject.agentid.pub
78
+ ownership:
79
+ statement:
80
+ version: 2
81
+ declaration_id: 660e8400-e29b-41d4-a716-446655440000
82
+ owner_aid: owner.agentid.pub
83
+ sub_aid: subject.agentid.pub
84
+ declared_at: 1791523260
85
+ ---
86
+
87
+ Owner AID declaration.
88
+
89
+ <!-- AUN-SIGNATURE-OWNERSHIP-V2
90
+ cert_fingerprint: sha256:<64位hex>
91
+ public_key_fingerprint: sha256:<64位hex>
92
+ timestamp: 1791523260
93
+ signature: <base64_der_signature>
94
+ -->
95
+ ```
96
+
97
+ `owner.md` 对外公开可读、可下载,不开放公共写权限。文件由 owner_aid 自己签名;创建、更新和删除由 owner_aid 或应用层明确授权的存储执行者完成。
98
+
99
+ ## 5. 声明、撤销和 SDK 方法
100
+
101
+ 2.0 不定义 ownership 绑定/解绑 RPC、ownership P2P 控制消息、申请事件、接受/拒绝方法或中间状态。声明和撤销只是双方对自己文档的写操作,使用已有的 `agent.md` 和 Storage 能力。
102
+
103
+ SDK 向应用层提供以下五类方法,具体语言采用本端命名约定:
104
+
105
+ | 方法 | 调用方 | 行为 |
106
+ | --- | --- | --- |
107
+ | `declareOwneraid(owner_aid)` | sub_aid | 生成声明,更新并上传自己的 `agent.md` |
108
+ | `declareSubaid(sub_aid)` | owner_aid | 生成声明,写入自己的公开 `owner.md` |
109
+ | `revokeOwneraid()` | sub_aid | 从自己的 `agent.md` 移除 `owner` 和 `ownership`,重新签名上传 |
110
+ | `revokeSubaid(sub_aid)` | owner_aid | 删除自己的 `sub_aids/{sub_aid}/owner.md` |
111
+ | `checkOwnershipConsensus(sub_aid?)` | 任一需要校验的一方 | 读取两份声明、验签并返回共识结果 |
112
+
113
+ 撤销是单方操作且可幂等执行。再次声明时生成新的 `declaration_id` 和文件签名。
114
+
115
+ ## 6. 共识检查和审计
116
+
117
+ `checkOwnershipConsensus` 至少检查:
118
+
119
+ 1. sub_aid 当前 `agent.md` 中的 `owner`、`ownership.statement`、`owner_aid` 和 `sub_aid`。
120
+ 2. owner_aid 公开 `owner.md` 的路径、字段和文件尾部签名。
121
+ 3. 两个文件的签名证书分别属于 sub_aid 和 owner_aid,且声明中的 `owner_aid`、`sub_aid` 相同。
122
+ 4. 任一文件不存在、被撤销、字段不匹配或文件签名无效时,不返回 `consensus`。
123
+
124
+ 建议返回以下状态:
125
+
126
+ | 条件 | 状态 |
127
+ | --- | --- |
128
+ | 两份声明和文件签名均有效 | `consensus` |
129
+ | 两份声明均不存在 | `unbound` |
130
+ | 只有一方声明存在 | `single_sided` |
131
+ | 字段、路径或文件签名无效 | `invalid` |
132
+
133
+ 需要 owner 关系的业务操作必须先完成共识检查,再在应用层或审计服务中追加记录双方声明和文件签名。审计记录至少保存:
134
+
135
+ ```yaml
136
+ audit_id: <uuid-v4>
137
+ operation: <application-operation>
138
+ checked_at: <unix-seconds>
139
+ actor_aid: <caller-aid>
140
+ owner_aid: owner.agentid.pub
141
+ sub_aid: subject.agentid.pub
142
+ result: consensus
143
+ sub_aid_statement: <statement 快照>
144
+ owner_aid_statement: <statement 快照>
145
+ sub_aid_document_hash: <agent.md 摘要>
146
+ owner_aid_document_hash: <owner.md 摘要>
147
+ sub_aid_file_signature: <AUN-SIGNATURE-AGENTMD-V2 或兼容标识快照>
148
+ owner_aid_file_signature: <AUN-SIGNATURE-OWNERSHIP-V2 快照>
149
+ ```
150
+
151
+ 审计记录由应用层或审计服务追加保存。之后任一方删除声明,不影响已经记录的历史事实。
152
+
153
+ ## 7. 接口边界
154
+
155
+ - `agent.md`:由 sub_aid 使用已有 Name Service 接口写入;owner 与 ownership 声明由 sub_aid 负责。
156
+ - `owner.md`:由 owner_aid 使用已有 Storage 写入或删除;公开读下载,拒绝公共写入。
157
+ - Message/Gateway:不承载 ownership 控制消息;2.0 不新增 P2P payload。
158
+ - Auth/CA:继续提供已有 token、证书和 AID 验证能力;不增加 ownership 专用 RPC。
159
+ - Storage:承载 owner_aid 自己的 `owner.md` 及应用数据,不承载 sub_aid 私钥或证书。
160
+ - 审计:由应用层或审计服务保存,不由 ownership 协议新增 RPC 管理。
161
+