@agentunion/fastaun-browser 0.5.0 → 0.5.2
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 +550 -464
- package/_packed_docs/CHANGELOG-validators.md +147 -0
- package/_packed_docs/CHANGELOG.md +550 -464
- package/_packed_docs/INDEX.md +201 -177
- package/_packed_docs/KITE_DOCS_GUIDE.md +38 -32
- 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 +169 -116
- package/_packed_docs/aun-perf-audit-critical-bugs.md +315 -0
- package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +263 -260
- package/_packed_docs/cli/CLI/346/211/213/345/206/214.md +331 -0
- package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -2
- package/_packed_docs/protocol/00A-/350/256/276/350/256/241/345/216/237/345/210/231-/344/270/272Agent/350/200/214/347/224/237.md +1 -1
- 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 +39 -16
- package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +8 -5
- package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +18 -19
- 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 +1 -1
- package/_packed_docs/protocol/08-AUN-E2EE-Group.md +139 -746
- package/_packed_docs/protocol/08-AUN-E2EE.md +12 -10
- package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +117 -171
- package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +6 -0
- package/_packed_docs/protocol/15-/347/246/273/347/272/277/346/216/250/351/200/201/351/200/232/347/237/245/345/215/217/350/256/256.md +1 -1
- package/_packed_docs/protocol/16-/347/263/273/347/273/237/347/233/256/345/275/225/344/277/235/346/212/244/346/226/271/346/241/210.md +177 -0
- package/_packed_docs/protocol/README.md +5 -4
- package/_packed_docs/protocol/aun-docs-guide.md +2 -2
- package/_packed_docs/protocol/index.md +12 -7
- package/_packed_docs/protocol//350/215/211/346/241/210-/346/213/222/347/273/235/344/277/241/345/217/267/345/215/217/350/256/256.md +1 -1
- package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +13 -13
- package/_packed_docs/protocol//351/231/204/345/275/225L-E2EE/345/256/236/347/216/260/346/214/207/345/215/227.md +9 -9
- package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +15 -13
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +26 -18
- package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +35 -284
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +473 -442
- package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +11 -7
- package/_packed_docs/sdk/09-collab-rpc-manual.md +581 -550
- package/_packed_docs/sdk/09-group-rpc-manual.md +367 -433
- package/_packed_docs/sdk/09-message-rpc-manual.md +50 -28
- package/_packed_docs/sdk/09-payload-reference.md +3 -3
- package/_packed_docs/sdk/09-storage-rpc-manual.md +57 -20
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +18 -17
- package/_packed_docs/sdk/E2EE_V2/346/266/210/346/201/257/351/200/232/344/277/241/346/227/266/345/272/217/345/233/276.md +3 -2
- package/_packed_docs/sdk/INDEX.md +25 -24
- package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +6 -2
- package/dist/agent-md.d.ts.map +1 -1
- package/dist/agent-md.js +18 -9
- package/dist/agent-md.js.map +1 -1
- package/dist/bundle.js +1661 -1180
- package/dist/client/delivery.d.ts +13 -2
- package/dist/client/delivery.d.ts.map +1 -1
- package/dist/client/delivery.js +251 -46
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/group-state.d.ts.map +1 -1
- package/dist/client/group-state.js +36 -14
- package/dist/client/group-state.js.map +1 -1
- package/dist/client/lifecycle.js +2 -2
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +1 -0
- package/dist/client/rpc-pipeline.d.ts.map +1 -1
- package/dist/client/rpc-pipeline.js +166 -50
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +14 -1
- package/dist/client/v2-e2ee.d.ts.map +1 -1
- package/dist/client/v2-e2ee.js +376 -126
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +5 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +187 -46
- package/dist/client.js.map +1 -1
- package/dist/collab/client.d.ts +8 -0
- package/dist/collab/client.d.ts.map +1 -1
- package/dist/collab/client.js +12 -0
- package/dist/collab/client.js.map +1 -1
- package/dist/errors.d.ts +0 -20
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -51
- package/dist/errors.js.map +1 -1
- package/dist/facades.d.ts +9 -4
- package/dist/facades.d.ts.map +1 -1
- package/dist/facades.js +192 -31
- package/dist/facades.js.map +1 -1
- package/dist/group-fs.d.ts +17 -0
- package/dist/group-fs.d.ts.map +1 -1
- package/dist/group-fs.js +54 -11
- package/dist/group-fs.js.map +1 -1
- package/dist/group-id.d.ts +9 -12
- package/dist/group-id.d.ts.map +1 -1
- package/dist/group-id.js +41 -63
- package/dist/group-id.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/index.d.ts +2 -54
- package/dist/keystore/index.d.ts.map +1 -1
- package/dist/keystore/indexeddb-identity-store.d.ts +3 -0
- package/dist/keystore/indexeddb-identity-store.d.ts.map +1 -1
- package/dist/keystore/indexeddb-identity-store.js +65 -0
- package/dist/keystore/indexeddb-identity-store.js.map +1 -1
- package/dist/keystore/indexeddb-shared.d.ts +3 -17
- package/dist/keystore/indexeddb-shared.d.ts.map +1 -1
- package/dist/keystore/indexeddb-shared.js +4 -47
- package/dist/keystore/indexeddb-shared.js.map +1 -1
- package/dist/keystore/indexeddb-token-store.d.ts +1 -64
- package/dist/keystore/indexeddb-token-store.d.ts.map +1 -1
- package/dist/keystore/indexeddb-token-store.js +45 -774
- package/dist/keystore/indexeddb-token-store.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +4 -0
- package/dist/logger.js.map +1 -1
- package/dist/storage/lowlevel.d.ts +9 -1
- package/dist/storage/lowlevel.d.ts.map +1 -1
- package/dist/storage/lowlevel.js +12 -1
- package/dist/storage/lowlevel.js.map +1 -1
- package/dist/storage/vfs.d.ts +22 -0
- package/dist/storage/vfs.d.ts.map +1 -1
- package/dist/storage/vfs.js +54 -0
- package/dist/storage/vfs.js.map +1 -1
- package/dist/tools/cross-sdk-agent.js +336 -49
- package/dist/tools/cross-sdk-agent.js.map +1 -1
- package/dist/transport.d.ts +2 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +96 -3
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +39 -56
- package/dist/types.d.ts.map +1 -1
- package/dist/v2/session/session.d.ts +2 -0
- package/dist/v2/session/session.d.ts.map +1 -1
- package/dist/v2/session/session.js +58 -22
- package/dist/v2/session/session.js.map +1 -1
- package/dist/v2/state/commitment.d.ts +1 -1
- package/dist/v2/state/commitment.d.ts.map +1 -1
- package/dist/v2/state/commitment.js +5 -3
- package/dist/v2/state/commitment.js.map +1 -1
- package/dist/validators.d.ts +35 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +127 -0
- package/dist/validators.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/_packed_docs/collab-gateway-boundary-test-report.md +0 -164
|
@@ -27,16 +27,17 @@ P2P `message.*` 的最终投递语义由连接阶段声明的 `delivery_mode`
|
|
|
27
27
|
| [message.recall](#messagerecall) | 撤回消息 |
|
|
28
28
|
| [message.query_online](#messagequery_online) | 批量查询在线状态 |
|
|
29
29
|
|
|
30
|
-
### E2EE 辅助方法(SDK 内部使用)
|
|
31
|
-
|
|
32
|
-
> 以下方法由 SDK E2EE 层自动调用,应用层通常无需直接使用。
|
|
33
|
-
|
|
34
|
-
| 方法 | 说明 |
|
|
35
|
-
|------|------|
|
|
36
|
-
| message.
|
|
37
|
-
| message.
|
|
38
|
-
| message.
|
|
39
|
-
|
|
30
|
+
### E2EE V2 辅助方法(SDK 内部使用)
|
|
31
|
+
|
|
32
|
+
> 以下方法由 SDK E2EE 层自动调用,应用层通常无需直接使用。
|
|
33
|
+
|
|
34
|
+
| 方法 | 说明 |
|
|
35
|
+
|------|------|
|
|
36
|
+
| message.v2.put_peer_pk | 注册/更新当前设备的 P2P SPK(`peer_device_prekey`) |
|
|
37
|
+
| message.v2.bootstrap | 拉取对端活跃设备、设备 IK/SPK、audit recipients 与 wrap 策略 |
|
|
38
|
+
| message.v2.group_bootstrap | Group 服务内部批量拉取成员设备 V2 公钥 |
|
|
39
|
+
|
|
40
|
+
> 旧 `message.e2ee.*` prekey/replay guard RPC 只属于 legacy E2EE 信封兼容路径;当前 SDK 主路径不再直接使用它们。新实现应使用 V2 多设备 wrap,详见 [05-E2EE加密通信](05-E2EE加密通信.md) 和 [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md)。
|
|
40
41
|
|
|
41
42
|
## 事件索引
|
|
42
43
|
|
|
@@ -74,7 +75,7 @@ P2P `message.*` 的最终投递语义由连接阶段声明的 `delivery_mode`
|
|
|
74
75
|
|------|------|------|--------|------|
|
|
75
76
|
| `to` | string | 是 | — | 接收方 AID |
|
|
76
77
|
| `payload` | object | 是 | — | 消息内容(任意 JSON 对象) |
|
|
77
|
-
| `type` | string | 否 | — | 信封/封装类型,普通业务消息无需填写;SDK 加密发送时自动使用 `e2ee.
|
|
78
|
+
| `type` | string | 否 | — | 信封/封装类型,普通业务消息无需填写;SDK V2 加密发送时自动使用 `e2ee.p2p_encrypted` |
|
|
78
79
|
| `encrypted` | boolean | 否 | `false` | 底层 RPC 的 E2EE 标记。Python SDK 便捷层通常使用 `encrypt` 入参并由 SDK 自动填充此字段 |
|
|
79
80
|
| `message_id` | string | 否 | — | 幂等键(客户端提供或服务端生成 UUID) |
|
|
80
81
|
| `timestamp` | integer | 否 | — | 客户端时间戳(毫秒)。**服务端忽略此字段,始终使用服务端时间** |
|
|
@@ -96,8 +97,17 @@ P2P `message.*` 的最终投递语义由连接阶段声明的 `delivery_mode`
|
|
|
96
97
|
"message_id": "550e8400-e29b-41d4-a716-446655440000",
|
|
97
98
|
"seq": 42,
|
|
98
99
|
"timestamp": 1234567890000,
|
|
99
|
-
"status": "delivered",
|
|
100
|
-
"delivery_mode": "fanout"
|
|
100
|
+
"status": "delivered",
|
|
101
|
+
"delivery_mode": "fanout",
|
|
102
|
+
"envelope": {
|
|
103
|
+
"from": "alice.agentid.pub",
|
|
104
|
+
"to": "bob.agentid.pub",
|
|
105
|
+
"type": "text",
|
|
106
|
+
"timestamp": 1234567890000,
|
|
107
|
+
"encrypted": false,
|
|
108
|
+
"payload_type": "text"
|
|
109
|
+
},
|
|
110
|
+
"payload": {"type": "text", "text": "Hello!"}
|
|
101
111
|
},
|
|
102
112
|
"id": 1
|
|
103
113
|
}
|
|
@@ -108,9 +118,11 @@ P2P `message.*` 的最终投递语义由连接阶段声明的 `delivery_mode`
|
|
|
108
118
|
| `message_id` | string | 消息 ID |
|
|
109
119
|
| `seq` | integer | 接收方收件箱序号 |
|
|
110
120
|
| `timestamp` | integer | 服务端时间戳(毫秒) |
|
|
111
|
-
| `status` | string | `"sent"` / `"delivered"` / `"duplicate"` |
|
|
112
|
-
| `delivery_mode` | string | 最终生效的连接级投递语义:`fanout` 或 `queue` |
|
|
113
|
-
| `
|
|
121
|
+
| `status` | string | `"sent"` / `"delivered"` / `"duplicate"` |
|
|
122
|
+
| `delivery_mode` | string | 最终生效的连接级投递语义:`fanout` 或 `queue` |
|
|
123
|
+
| `envelope` | object | SDK 回填的发送结果信封,包含发送方、接收方、业务类型、时间戳、加密标志、protected headers 等可转发元数据 |
|
|
124
|
+
| `payload` | object | SDK 回填的应用层业务 payload;裸 RPC 或内部 `_skip_send_result_envelope` 路径可能没有该字段 |
|
|
125
|
+
| `cross_domain` | boolean | 仅跨域投递时出现,当前值为 `true` |
|
|
114
126
|
| `target_issuer` | string | 仅跨域投递时出现,表示目标 issuer |
|
|
115
127
|
|
|
116
128
|
> **duplicate 响应**:当 `message_id` 重复时,若服务端仍缓存首次结果,返回完整首次响应并附加 `"status": "duplicate"`;若缓存已过期,仅返回 `message_id`、`timestamp`、`status`,**不含** `seq` 和 `delivery_mode`。客户端收到 `"duplicate"` 状态时应视为幂等成功,无需重试。
|
|
@@ -141,15 +153,15 @@ result = await client.call("message.send", {
|
|
|
141
153
|
|
|
142
154
|
写入当前发送者针对一个上下文的思考内容。它不是普通消息:不广播、不进 `message.pull`、不占用收件箱 `seq`,只通过 `message.thought.get` 主动读取。
|
|
143
155
|
|
|
144
|
-
SDK 调用时必须走 P2P E2EE。应用层传入明文 `payload`,SDK 会加密成 `e2ee.
|
|
156
|
+
SDK 调用时必须走 P2P E2EE。应用层传入明文 `payload`,SDK 会加密成 V2 `e2ee.p2p_encrypted` 信封、补齐 `thought_id` / `timestamp`,并附加 `client_signature`。裸 WebSocket 客户端若绕过 SDK,至少必须自行完成 V2 envelope、`sender_signature` 和 AAD 生成;`client_signature` 按 Gateway 连接级身份语义携带。
|
|
145
157
|
|
|
146
|
-
存储键为 `sender_aid + peer_aid + context.type + context.id`。其中 `sender_aid` 由认证态派生,`peer_aid` 来自 `to`;`context` 是 thought head 的唯一 selector,推荐使用 `{"type": "run", "id": "run-xxx"}`。同一会话里每个 sender 保留最近 N 个 context 对应的 head,N 由 Message 服务配置 `max_thought_heads_per_sender` 控制,当前默认值为
|
|
158
|
+
存储键为 `sender_aid + peer_aid + context.type + context.id`。其中 `sender_aid` 由认证态派生,`peer_aid` 来自 `to`;`context` 是 thought head 的唯一 selector,推荐使用 `{"type": "run", "id": "run-xxx"}`。同一会话里每个 sender 保留最近 N 个 context 对应的 head,N 由 Message 服务配置 `max_thought_heads_per_sender` 控制,当前默认值为 100;同一个 head 下可追加多条 thought item。
|
|
147
159
|
|
|
148
160
|
### 参数
|
|
149
161
|
|
|
150
162
|
| 参数 | 类型 | 必填 | 说明 |
|
|
151
163
|
|------|------|------|------|
|
|
152
|
-
| `to` | string | 是 | P2P 会话另一方 AID
|
|
164
|
+
| `to` | string | 是 | P2P 会话另一方 AID,不能是群 `group_aid` |
|
|
153
165
|
| `context.type` | string | 是 | 思考的上下文类型,推荐 `run` |
|
|
154
166
|
| `context.id` | string | 是 | 思考的上下文 ID,如 `run_id` |
|
|
155
167
|
| `payload` | object | 是 | SDK 加密前的思考内容;推荐格式见 [09-payload-reference](09-payload-reference.md#thought思考内容) |
|
|
@@ -175,9 +187,9 @@ await client.call("message.thought.put", {
|
|
|
175
187
|
"to": "bob.agentid.pub",
|
|
176
188
|
"context": {"type": "run", "id": "run-xxx"},
|
|
177
189
|
"thought_id": "mt-...",
|
|
178
|
-
"type": "e2ee.
|
|
179
|
-
"encrypted": true,
|
|
180
|
-
"payload": {"type": "e2ee.
|
|
190
|
+
"type": "e2ee.p2p_encrypted",
|
|
191
|
+
"encrypted": true,
|
|
192
|
+
"payload": {"type": "e2ee.p2p_encrypted", "version": "v2", "...": "..."},
|
|
181
193
|
"client_signature": { "...": "..." }
|
|
182
194
|
}
|
|
183
195
|
```
|
|
@@ -251,7 +263,7 @@ result = await client.call("message.thought.get", {
|
|
|
251
263
|
"to": "alice.agentid.pub",
|
|
252
264
|
"payload": {"type": "thought", "text": "需要补一个边界条件"},
|
|
253
265
|
"created_at": 1234567890000,
|
|
254
|
-
"e2ee": {"
|
|
266
|
+
"e2ee": {"version": "v2", "wrap_protocol": "3DH"}
|
|
255
267
|
}
|
|
256
268
|
],
|
|
257
269
|
"updated_at": 1234567890000
|
|
@@ -287,7 +299,7 @@ result = await client.call("message.thought.get", {
|
|
|
287
299
|
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
288
300
|
|------|------|------|--------|------|
|
|
289
301
|
| `after_seq` | integer | 否 | 0 | 拉取 seq > after_seq 的消息 |
|
|
290
|
-
| `limit` | integer | 否 |
|
|
302
|
+
| `limit` | integer | 否 | 50 | 单次返回上限(最大 50;`pull_max_limit` 配置只能在 1-50 内进一步收紧) |
|
|
291
303
|
| `device_id` | string | 否 | 当前连接实例 | 多实例消费上下文中的设备标识 |
|
|
292
304
|
| `slot_id` | string | 否 | 当前连接实例 | 同一设备下的消费槽位;可用 `/`、`:`、空格表达共享隔离键,如 `evolclaw cli` |
|
|
293
305
|
|
|
@@ -525,12 +537,22 @@ result = await client.call("message.ack", {"seq": 150})
|
|
|
525
537
|
"seq": 42,
|
|
526
538
|
"timestamp": 1234567890000,
|
|
527
539
|
"payload": {"type": "text", "text": "Hello!"},
|
|
528
|
-
"delivery_mode": "queue",
|
|
529
|
-
"encrypted": false
|
|
540
|
+
"delivery_mode": "queue",
|
|
541
|
+
"encrypted": false,
|
|
542
|
+
"proximity": {
|
|
543
|
+
"same_device": false,
|
|
544
|
+
"same_egress_ip": true,
|
|
545
|
+
"same_network": true,
|
|
546
|
+
"basis": "egress_ip",
|
|
547
|
+
"asserted_by": "gateway"
|
|
548
|
+
},
|
|
549
|
+
"same_device": false,
|
|
550
|
+
"same_egress_ip": true,
|
|
551
|
+
"same_network": true
|
|
530
552
|
}
|
|
531
553
|
```
|
|
532
554
|
|
|
533
|
-
SDK 交付给应用层的 `payload` 是明文业务 JSON 对象;信封字段统一放在 `envelope`。`envelope` 只保留可转发的归一化元数据,`from` 由 `from_aid` / `sender_aid` 归一化而来,`timestamp` 由 `created_at` / `t_server` 归一化而来。0.
|
|
555
|
+
SDK 交付给应用层的 `payload` 是明文业务 JSON 对象;信封字段统一放在 `envelope`。`envelope` 只保留可转发的归一化元数据,`from` 由 `from_aid` / `sender_aid` 归一化而来,`timestamp` 由 `created_at` / `t_server` 归一化而来。0.5.x 当前仍保留顶层 `message_id` / `from` / `to` / `seq` / `timestamp` 等兼容别名;新代码应优先通过 `msg["envelope"]["from"]`、`msg["envelope"]["timestamp"]` 等路径访问。`envelope.agent_md.sender` / `envelope.agent_md.group` 是 agent.md 云端版本提示,SDK 会自动观察并写入本地 `remote_etag`。Gateway 可能附加 `proximity` 及 `same_device` / `same_egress_ip` / `same_network`,表示由 Gateway 基于连接上下文判断的近端关系提示,不参与 E2EE AAD 或业务鉴权。
|
|
534
556
|
|
|
535
557
|
### 订阅
|
|
536
558
|
|
|
@@ -564,7 +586,7 @@ client.on("message.received", lambda msg: print(msg["payload"]))
|
|
|
564
586
|
}
|
|
565
587
|
```
|
|
566
588
|
|
|
567
|
-
SDK 交付给应用层的撤回事件同样带 `envelope`。`envelope` 表示撤回 tombstone / 通知自身的信封,不是被撤回原消息的信封;被撤回的原消息继续通过 `message_ids` 表达。`message_id` / `seq` 继续只保留在顶层兼容字段中,不进入 `envelope`。0.
|
|
589
|
+
SDK 交付给应用层的撤回事件同样带 `envelope`。`envelope` 表示撤回 tombstone / 通知自身的信封,不是被撤回原消息的信封;被撤回的原消息继续通过 `message_ids` 表达。`message_id` / `seq` 继续只保留在顶层兼容字段中,不进入 `envelope`。0.5.x 当前仍保留顶层 `message_id` / `from` / `to` / `seq` / `timestamp` 等兼容别名;新代码应优先读取 `envelope` 和 `message_ids`。
|
|
568
590
|
|
|
569
591
|
| 字段 | 类型 | 说明 |
|
|
570
592
|
|------|------|------|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`message.send.params.payload`、`message.thought.put.params.payload`、`group.send.params.payload` 和 `group.thought.put.params.payload` 使用同一套业务负载约定。`payload` 是应用层 JSON 对象,服务端只做大小、JSON 可序列化、信封/封装类型和加密相关的必要检查;业务字段由发送端和接收端协商,服务端不按本文字段做强制校验。
|
|
4
4
|
|
|
5
|
-
示例展示的是 `payload` 片段:P2P 完整请求仍需要在同级传入 `to`;群消息完整请求仍需要在同级传入 `group_id
|
|
5
|
+
示例展示的是 `payload` 片段:P2P 完整请求仍需要在同级传入 `to`;群消息完整请求仍需要在同级传入 `group_id`(兼容参数名,值使用目标态 `group_aid`);思考内容需要在顶层通过 `context.type + context.id` 指定 selector。文本、图片、文件、思考内容等业务消息类型只能放在 `payload.type`;`message.send.params.type` / `message.thought.put.params.type` / `group.send.params.type` / `group.thought.put.params.type` 是信封或封装类型,例如 SDK V2 加密发送时自动填充的 `e2ee.p2p_encrypted` / `e2ee.group_encrypted`。
|
|
6
6
|
|
|
7
7
|
## 类型总览
|
|
8
8
|
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
| 字段 | 所在位置 | 说明 |
|
|
39
39
|
|------|----------|------|
|
|
40
40
|
| `to` | `message.send.params` | P2P 接收方 AID |
|
|
41
|
-
| `group_id` | `group.send.params` 和群消息信封 |
|
|
41
|
+
| `group_id` | `group.send.params` 和群消息信封 | 兼容字段名;值语义为目标态 `group_aid` |
|
|
42
42
|
| `context.type + context.id` | `message.thought.put/get.params` 和 `group.thought.put/get.params` | 思考内容 selector;必填,不要只放在 payload 内 |
|
|
43
43
|
| `protected_headers` / `headers` | `message.send` / `message.thought.put` / `group.send` / `group.thought.put` 参数 | E2EE 信封元数据,类似 HTTP headers;推荐 `protected_headers`,`headers` 仅为兼容别名;SDK 验 `_auth` 后在 `e2ee.protected_headers` 暴露 |
|
|
44
44
|
| `from` / `sender_aid` | 服务端生成的消息信封 | 发送方身份 |
|
|
45
45
|
| `message_id` / `seq` / `timestamp` / `created_at` | 服务端生成或发送参数 | 当前消息 ID、序号和服务端时间 |
|
|
46
46
|
| `encrypted` / `delivery_mode` | 发送参数或连接上下文 | 加密和 P2P 投递语义 |
|
|
47
47
|
| `dispatch_mode` | 群消息信封和 SDK 注入的群消息 payload | 群消息应用层分发模式标签:`broadcast` / `mention`;由群设置决定,不作为 `group.send` 单次入参 |
|
|
48
|
-
| `type` / `message_type` | 发送参数或消息信封 | 信封/封装类型,如 `e2ee.
|
|
48
|
+
| `type` / `message_type` | 发送参数或消息信封 | 信封/封装类型,如 `e2ee.p2p_encrypted` / `e2ee.group_encrypted` |
|
|
49
49
|
| `dispatch` / `duty_state` / `message_dispatch` | `group.send` 响应和群消息事件 | 群消息运行时分发状态和值班分发结果 |
|
|
50
50
|
|
|
51
51
|
`protected_headers` 用于可见但需防篡改的信封元数据,例如 `device_id`、`slot_id`、`sdk_version`。它不属于业务 payload,也不提供机密性;需要端到端保密的上下文仍应放在 `payload.client_context` 或其他 payload 字段内。
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
|
|
60
60
|
### POSIX VFS 方法
|
|
61
61
|
|
|
62
|
-
> 在对象存储之上提供 Linux 文件系统语义(`ls/find/df/stat/mkdir/rm/mv/cp/mount`)。节点类型:`file` / `dir` / `symlink` / `mount`。
|
|
62
|
+
> 在对象存储之上提供 Linux 文件系统语义(`ls/find/df/stat/lstat/mkdir/touch/rm/mv/cp/mount`)。节点类型:`file` / `dir` / `symlink` / `mount`。
|
|
63
63
|
|
|
64
64
|
| 方法 | 说明 |
|
|
65
65
|
|------|------|
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
| [storage.fs.stat](#storagefsstat) | 查节点(stat,跟随末级软链) |
|
|
70
70
|
| [storage.fs.lstat](#storagefslstat) | 查节点(lstat,不跟随软链) |
|
|
71
71
|
| [storage.fs.mkdir](#storagefsmkdir) | 建目录(mkdir) |
|
|
72
|
+
| [storage.fs.touch](#storagefstouch) | 创建空文件或更新时间戳(touch) |
|
|
72
73
|
| [storage.fs.remove](#storagefsremove) | 删除文件/目录/软链(rm) |
|
|
73
74
|
| [storage.fs.rename](#storagefsrename) | 同 owner 内移动/改名(mv) |
|
|
74
75
|
| [storage.fs.copy](#storagefscopy) | 复制对象或软链(cp) |
|
|
@@ -91,6 +92,8 @@
|
|
|
91
92
|
### ACL / 权限方法
|
|
92
93
|
|
|
93
94
|
> 统一权限求值顺序(硬顺序):公开位 → token → ACL(最近祖先前缀)→ 角色 → owner → 拒绝。
|
|
95
|
+
>
|
|
96
|
+
> AID storage 的 `storage.set_acl/remove_acl` 面向具体 AID,当前主要用于写/删除授权;直接读授权不通过 ACL 下发,读访问应使用 `storage.create_share_link` / `storage.get_by_share`,撤销分享使用 `storage.revoke_share_link`。`role:*` 伪主体只允许可信 group 内部门面管理,客户端不得直接对 `group_aid` 空间设置角色 ACL;群自有区 admin 写授权使用 `group.fs.set_acl/remove_acl`。
|
|
94
97
|
|
|
95
98
|
| 方法 | 说明 |
|
|
96
99
|
|------|------|
|
|
@@ -113,15 +116,15 @@
|
|
|
113
116
|
|
|
114
117
|
---
|
|
115
118
|
|
|
116
|
-
> `object_key` 当前仅支持 ASCII 安全字符集合 `[A-Za-z0-9._/-]`,且不允许空路径段、`..`、反斜杠转义后的非法段。
|
|
117
|
-
|
|
118
|
-
## SDK 封装状态
|
|
119
|
-
|
|
120
|
-
Python / Go / TypeScript / JavaScript SDK 均提供 storage low-level 与 VFS 门面。普通应用优先使用 SDK VFS:`write_bytes` / `upload_file` 会先 `check_upload`,小对象走 `put_object`,大对象走 `create_upload_session` → HTTP PUT → `complete_upload`,秒传路径用 `complete_upload(skip_blob=true)`;`read_bytes` / `download_file` 优先尝试 inline `get_object`,超限时回退 `create_download_ticket`。需要精确控制 ACL、token、软链、卷、批量操作或 URL 字段时,再直接调用本手册中的 `storage.*` RPC。
|
|
121
|
-
|
|
122
|
-
## storage.put_object
|
|
123
|
-
|
|
124
|
-
上传小对象(内容 base64 编码通过 RPC 传输)。
|
|
119
|
+
> `object_key` 当前仅支持 ASCII 安全字符集合 `[A-Za-z0-9._/-]`,且不允许空路径段、`..`、反斜杠转义后的非法段。
|
|
120
|
+
|
|
121
|
+
## SDK 封装状态
|
|
122
|
+
|
|
123
|
+
Python / Go / TypeScript / JavaScript SDK 均提供 storage low-level 与 VFS 门面。普通应用优先使用 SDK VFS:`write_bytes` / `upload_file` 会先 `check_upload`,小对象走 `put_object`,大对象走 `create_upload_session` → HTTP PUT → `complete_upload`,秒传路径用 `complete_upload(skip_blob=true)`;`read_bytes` / `download_file` 优先尝试 inline `get_object`,超限时回退 `create_download_ticket`;`touch` 直接封装 `storage.fs.touch`。需要精确控制 ACL、token、软链、卷、批量操作或 URL 字段时,再直接调用本手册中的 `storage.*` RPC。
|
|
124
|
+
|
|
125
|
+
## storage.put_object
|
|
126
|
+
|
|
127
|
+
上传小对象(内容 base64 编码通过 RPC 传输)。
|
|
125
128
|
|
|
126
129
|
### 参数
|
|
127
130
|
|
|
@@ -885,7 +888,7 @@ share_url = result["url"] # https://alice.agentid.pub/s/Ab3xK9mZ2q
|
|
|
885
888
|
|
|
886
889
|
## storage.fs.list
|
|
887
890
|
|
|
888
|
-
列目录(POSIX `ls`)。混合返回子目录/对象/软链/可用挂载点,排序 dir < file < symlink < mount。群 owner 路径回退到 Group FS 子节点。
|
|
891
|
+
列目录(POSIX `ls`)。混合返回子目录/对象/软链/可用挂载点,排序 dir < file < symlink < mount。群 owner 路径回退到 Group FS 子节点。
|
|
889
892
|
|
|
890
893
|
### 参数
|
|
891
894
|
|
|
@@ -915,7 +918,7 @@ share_url = result["url"] # https://alice.agentid.pub/s/Ab3xK9mZ2q
|
|
|
915
918
|
|
|
916
919
|
## storage.fs.find
|
|
917
920
|
|
|
918
|
-
递归查找(POSIX `find`),支持 name/type/size/mtime 过滤与分页。Group FS 与 `.collab` 注册表有回退。
|
|
921
|
+
递归查找(POSIX `find`),支持 name/type/size/mtime 过滤与分页。Group FS 与 `.collab` 注册表有回退。
|
|
919
922
|
|
|
920
923
|
### 参数
|
|
921
924
|
|
|
@@ -1014,6 +1017,36 @@ fs 目录节点视图。
|
|
|
1014
1017
|
|
|
1015
1018
|
---
|
|
1016
1019
|
|
|
1020
|
+
## storage.fs.touch
|
|
1021
|
+
|
|
1022
|
+
创建空文件或刷新已有节点的修改时间(POSIX `touch`)。已存在的文件、目录或软链会更新时间戳;不存在时默认创建 0 字节私有文件;`no_create=true` 时不存在不创建并返回 `{touched:false, created:false}`。
|
|
1023
|
+
|
|
1024
|
+
### 参数
|
|
1025
|
+
|
|
1026
|
+
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1027
|
+
|------|------|------|------|------|
|
|
1028
|
+
| `path` | string | 是 | — | 目标路径 |
|
|
1029
|
+
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1030
|
+
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1031
|
+
| `parents` | boolean | 否 | `false` | 创建文件时是否递归创建父目录 |
|
|
1032
|
+
| `no_create` / `noCreate` | boolean | 否 | `false` | 目标不存在时不创建 |
|
|
1033
|
+
| `mtime` | integer | 否 | 当前时间 | Unix 秒或毫秒;小于 `10000000000` 按秒解释 |
|
|
1034
|
+
| `follow_symlinks` / `followSymlinks` | boolean | 否 | `false` | 目标为软链时是否跟随末级软链 |
|
|
1035
|
+
| `content_type` | string | 否 | `"application/octet-stream"` | 新建空文件的 MIME 类型 |
|
|
1036
|
+
| `metadata` | object | 否 | `{}` | 新建空文件的元数据 |
|
|
1037
|
+
| `expire_in_seconds` | integer | 否 | `0` | 新建空文件的过期秒数 |
|
|
1038
|
+
|
|
1039
|
+
### 响应
|
|
1040
|
+
|
|
1041
|
+
成功返回 fs 节点视图,并额外包含:
|
|
1042
|
+
|
|
1043
|
+
| 字段 | 类型 | 说明 |
|
|
1044
|
+
|------|------|------|
|
|
1045
|
+
| `touched` | boolean | 是否实际更新或创建 |
|
|
1046
|
+
| `created` | boolean | 是否新建了空文件 |
|
|
1047
|
+
|
|
1048
|
+
---
|
|
1049
|
+
|
|
1017
1050
|
## storage.fs.remove
|
|
1018
1051
|
|
|
1019
1052
|
删除文件/目录/软链(POSIX `rm`,目录用 `recursive`)。**拒绝删除挂载点**(须先 unmount)。
|
|
@@ -1107,6 +1140,8 @@ fs 目录节点视图。
|
|
|
1107
1140
|
| `mount` | object | 挂载视图 |
|
|
1108
1141
|
| `status` | string | `active`(直接生效)/ `pending`(待批准) |
|
|
1109
1142
|
|
|
1143
|
+
> `status` 字段仅在直接调用 lowlevel RPC(`fs_mount`/`FSMount`/`fsMount` 原始返回)时可见。四语言 SDK 的高层 VFS 门面(`vfs.mount()`/`StorageVFS.Mount()`/`vfs.mount()`)会把响应解析为通用 NodeView,该视图不保留顶层 `status` 字段;需要判断是否 `pending` 时请改用 lowlevel 接口读取原始响应,或检查服务端在 `pending` 场景下额外写入的 `request_id`。
|
|
1144
|
+
|
|
1110
1145
|
---
|
|
1111
1146
|
|
|
1112
1147
|
## storage.fs.approve
|
|
@@ -1167,7 +1202,7 @@ fs 目录节点视图。
|
|
|
1167
1202
|
|
|
1168
1203
|
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1169
1204
|
|------|------|------|------|------|
|
|
1170
|
-
| `group_id` | string | 是 | — |
|
|
1205
|
+
| `group_id` | string | 是 | — | 群组标识兼容字段,值语义为目标态 `group_aid` |
|
|
1171
1206
|
| `group_owner_aid` | string | 是 | — | 群 owner AID |
|
|
1172
1207
|
| `member_aid` | string | 否 | — | 成员 AID(不传=全员) |
|
|
1173
1208
|
| `reason` | string | 否 | `"membership_changed"` | `dissolved` / `membership_changed` |
|
|
@@ -1219,7 +1254,7 @@ fs 目录节点视图。
|
|
|
1219
1254
|
|
|
1220
1255
|
## storage.atomic_repoint
|
|
1221
1256
|
|
|
1222
|
-
原子重指软链 target(乐观锁 CAS)。**collab commit / tag 并发正确性的底层核心**。
|
|
1257
|
+
原子重指软链 target(乐观锁 CAS)。**collab commit / tag 并发正确性的底层核心**。
|
|
1223
1258
|
|
|
1224
1259
|
### 参数
|
|
1225
1260
|
|
|
@@ -1280,14 +1315,16 @@ fs 目录节点视图。
|
|
|
1280
1315
|
|
|
1281
1316
|
## storage.set_acl
|
|
1282
1317
|
|
|
1283
|
-
授予路径前缀 ACL grant
|
|
1318
|
+
授予路径前缀 ACL grant。普通 AID storage 的 `grantee_aid` 必须是具体 AID,主要用于授予写/删除权限;子路径默认继承(最近祖先覆盖)。读取不通过 AID ACL 直接授权,应用应改用 `storage.create_share_link` 并在需要时用 `storage.revoke_share_link` 撤销。
|
|
1319
|
+
|
|
1320
|
+
`role:*` 伪主体只允许可信 group 内部门面写入。客户端不能直接对 `group_aid` 空间调用 `storage.set_acl` 设置 `role:admin`;群自有区角色写授权统一使用 `group.fs.set_acl`。
|
|
1284
1321
|
|
|
1285
1322
|
### 参数
|
|
1286
1323
|
|
|
1287
1324
|
| 参数 | 类型 | 必填 | 默认 | 说明 |
|
|
1288
1325
|
|------|------|------|------|------|
|
|
1289
1326
|
| `path` | string | 是 | — | 授权路径前缀 |
|
|
1290
|
-
| `grantee_aid` | string | 是 | — | 被授权 AID
|
|
1327
|
+
| `grantee_aid` | string | 是 | — | 被授权 AID;`role:*` 仅限 group 内部调用 |
|
|
1291
1328
|
| `perms` | string | 是 | — | 权限位:`r`/`w`/`rw`/`rwx`(`rwx` 含删除) |
|
|
1292
1329
|
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1293
1330
|
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
@@ -1302,7 +1339,7 @@ ACL 视图。
|
|
|
1302
1339
|
|
|
1303
1340
|
## storage.remove_acl
|
|
1304
1341
|
|
|
1305
|
-
移除路径 ACL
|
|
1342
|
+
移除路径 ACL 授权。对 AID storage,这是撤销写/删除授权的入口;读分享的撤销入口是 `storage.revoke_share_link`。群自有区角色写授权撤销使用 `group.fs.remove_acl`,不要由客户端直接调用 `storage.remove_acl` 操作 `role:*`。
|
|
1306
1343
|
|
|
1307
1344
|
### 参数
|
|
1308
1345
|
|
|
@@ -1339,7 +1376,7 @@ ACL 视图。
|
|
|
1339
1376
|
|
|
1340
1377
|
## storage.set_visibility
|
|
1341
1378
|
|
|
1342
|
-
切换对象或目录的公开/私有(软链不支持)。`allow_roles`
|
|
1379
|
+
切换对象或目录的公开/私有(软链不支持)。`allow_roles` 是低层兼容字段,不能作为群自有区 admin 写授权入口;群自有区角色写授权必须使用 `group.fs.set_acl/remove_acl`。
|
|
1343
1380
|
|
|
1344
1381
|
### 参数
|
|
1345
1382
|
|
|
@@ -1349,7 +1386,7 @@ ACL 视图。
|
|
|
1349
1386
|
| `visibility` | string | 是 | — | `public` / `private` |
|
|
1350
1387
|
| `owner_aid` | string | 否 | 当前用户 | 所有者 AID |
|
|
1351
1388
|
| `bucket` | string | 否 | `"default"` | 存储桶 |
|
|
1352
|
-
| `allow_roles` | array | 否 | — |
|
|
1389
|
+
| `allow_roles` | array | 否 | — | 低层兼容字段,仅表示可见性读角色;不能用于群自有区写授权 |
|
|
1353
1390
|
|
|
1354
1391
|
### 响应
|
|
1355
1392
|
|
|
@@ -1502,4 +1539,4 @@ token 列表(hash 摘要 + 元数据)。
|
|
|
1502
1539
|
| -32004 | 权限拒绝(requester 不是对象 owner,或非公开对象的读权限不足) |
|
|
1503
1540
|
| -32008 | 对象不存在(`ErrNotFound`) |
|
|
1504
1541
|
| -32009 | 版本冲突(`ErrVersionConflict`,`expected_version` 与实际版本不匹配) |
|
|
1505
|
-
| -32000 | 通用错误(参数校验失败、配额不足、base64 解码失败、文件大小超限等) |
|
|
1542
|
+
| -32000 | 通用错误(参数校验失败、配额不足、base64 解码失败、文件大小超限等) |
|
|
@@ -11,10 +11,10 @@ AUN SDK 文档位于 `docs/sdk/`,索引文件 `docs/sdk/INDEX.md` 分三层:
|
|
|
11
11
|
- `AUNClient`:认证、连接、状态机、事件和 RPC。
|
|
12
12
|
- `ServiceProxyClient`:Python SDK 的 Service Proxy provider 侧客户端,负责 Gateway 控制面注册和 proxy-server 数据面隧道注册。
|
|
13
13
|
|
|
14
|
-
业务 RPC 的底层参数见 `09-*-rpc-manual.md`,可通过 `client.call(method, params)` 调用;Storage、Collab、Group FS、Service Proxy 等具备高层门面的能力以对应专项文档为准。`message.send`、`message.thought.put`、`group.send`、`group.thought.put` 的业务 payload 见 `09-payload-reference.md`。在线轻量通知和跨域 federation notify 方案见 `Notify通知方案.md`。
|
|
15
|
-
|
|
16
|
-
Storage 的 SDK VFS、控制面/数据面分离、direct backend 上传下载、类 Linux 权限、mount/symlink 和服务端分层见 `AUN Storage架构设计.md`。
|
|
17
|
-
Group FS 的 `group.fs.*` RPC、`client.group.fs.*` 门面、`aun group fs` CLI、`cp/mv`
|
|
14
|
+
业务 RPC 的底层参数见 `09-*-rpc-manual.md`,可通过 `client.call(method, params)` 调用;Storage、Collab、Group FS、Service Proxy 等具备高层门面的能力以对应专项文档为准。`message.send`、`message.thought.put`、`group.send`、`group.thought.put` 的业务 payload 见 `09-payload-reference.md`。群组标识以 `group_aid` 为主,`group_id` 只作为兼容参数名,详见 `09-group-rpc-manual.md`。在线轻量通知和跨域 federation notify 方案见 `Notify通知方案.md`。
|
|
15
|
+
|
|
16
|
+
Storage 的 SDK VFS、控制面/数据面分离、direct backend 上传下载、类 Linux 权限、mount/symlink 和服务端分层见 `AUN Storage架构设计.md`。
|
|
17
|
+
Group FS 的 `group.fs.*` RPC、`client.group.fs.*` 门面、`aun group fs` CLI、`cp/mv` 语义、群自有区角色 ACL 授权/撤销/查询与 `group_aid` 签名、`parents` 语义、JS string 差异和 memberdata 服务端映射见 `09-group-rpc-manual.md`。Collab 的 `gc`、`reflog`、`revert`、`clone` 及版本化文档/标签语义见 `09-collab-rpc-manual.md`。
|
|
18
18
|
|
|
19
19
|
## 渐进式查阅流程
|
|
20
20
|
|
|
@@ -29,12 +29,12 @@ Group FS 的 `group.fs.*` RPC、`client.group.fs.*` 门面、`aun group fs` CLI
|
|
|
29
29
|
- 身份与认证:AIDStore / AID / 注册 / 加载 / 证书
|
|
30
30
|
- 连接与状态:AUNClient / 九态状态机 / Gateway / 重连
|
|
31
31
|
- E2EE:默认加密、ProtectedHeaders、P2P / Group V2
|
|
32
|
-
- RPC 与事件:`client.call()`、`client.on()`、`client.notify()`、RPC 手册
|
|
33
|
-
- Storage:SDK VFS、direct backend 数据面、`storage.*` low-level RPC、类 Linux 权限、mount/symlink、Storage Service 分层
|
|
34
|
-
- 群文件系统:`group.fs.*`、`client.group.fs.*`、`aun group fs`、`cp/mv`
|
|
35
|
-
- 协作(collab):`collab.*` 版本化文档、乐观锁 CAS commit、三方合并、标签、GC、reflog、revert(见 `09-collab-rpc-manual.md`)
|
|
32
|
+
- RPC 与事件:`client.call()`、`client.on()`、`client.notify()`、RPC 手册
|
|
33
|
+
- Storage:SDK VFS、direct backend 数据面、`storage.*` low-level RPC、类 Linux 权限、mount/symlink、Storage Service 分层
|
|
34
|
+
- 群文件系统:`group.fs.*`、`client.group.fs.*`、`aun group fs`、`cp/mv` 上传下载、群自有区角色 ACL 与 `group_aid` 签名、`parents`、JS string 差异和 memberdata 服务端映射(见 `09-group-rpc-manual.md`)
|
|
35
|
+
- 协作(collab):`collab.*` 版本化文档、乐观锁 CAS commit、三方合并、标签、GC、reflog、revert(见 `09-collab-rpc-manual.md`)
|
|
36
36
|
- Service Proxy:`ServiceProxyClient`、`proxy.register_services`、proxy-server `register_services`
|
|
37
|
-
- agent.md:`AIDStore.upload_agent_md()`、`AIDStore.download_agent_md()`、`AIDStore.check_agent_md()`
|
|
37
|
+
- agent.md:`AIDStore.upload_agent_md()`、`AIDStore.download_agent_md()`、`AIDStore.check_agent_md()`、Gateway `_meta.agent_md_etags` 被动观察、`requester` / `peer` / `group` 角色
|
|
38
38
|
- 错误处理:Result、异常、错误码、重试
|
|
39
39
|
|
|
40
40
|
### Step 3:读 Layer 3 摘要
|
|
@@ -48,9 +48,9 @@ Group FS 的 `group.fs.*` RPC、`client.group.fs.*` 门面、`aun group fs` CLI
|
|
|
48
48
|
| 01 | [快速开始](01-快速开始.md) | 安装、三主体模型、最小示例 |
|
|
49
49
|
| 02 | [WebSocket协议](02-WebSocket协议.md) | 握手流程、消息格式、裸 WebSocket |
|
|
50
50
|
| 03 | [核心概念](03-核心概念.md) | AID、状态机、认证、E2EE |
|
|
51
|
-
| 04 | [连接与认证](04-连接与认证.md) | AIDStore
|
|
52
|
-
| 05 | [E2EE加密通信](05-E2EE加密通信.md) | E2EE、ProtectedHeaders
|
|
53
|
-
| 06 | [API手册](06-API手册.md) | AIDStore / AID / AUNClient / ServiceProxyClient / 事件 / RPC |
|
|
51
|
+
| 04 | [连接与认证](04-连接与认证.md) | AIDStore、连接、网关发现、事件、agent.md 自动观察 |
|
|
52
|
+
| 05 | [E2EE加密通信](05-E2EE加密通信.md) | E2EE V2、ProtectedHeaders、agent.md 版本提示、recipient wrap |
|
|
53
|
+
| 06 | [API手册](06-API手册.md) | AIDStore / AID / AUNClient / agent.md / ServiceProxyClient / 事件 / RPC |
|
|
54
54
|
| 07 | [错误处理](07-错误处理.md) | Result、异常、错误码、重试 |
|
|
55
55
|
| 08 | [最佳实践](08-最佳实践.md) | 幂等、多 AID、资源清理、测试数据 |
|
|
56
56
|
| - | [AUN Storage架构设计](<AUN Storage架构设计.md>) | Storage SDK VFS、控制面/数据面分离、类 Linux 权限、mount/symlink、服务端分层 |
|
|
@@ -65,14 +65,15 @@ Group FS 的 `group.fs.*` RPC、`client.group.fs.*` 门面、`aun group fs` CLI
|
|
|
65
65
|
| 首次使用 SDK | [01-快速开始](01-快速开始.md) |
|
|
66
66
|
| 理解新构造入口 | [01-快速开始](01-快速开始.md)、[06-API手册](06-API手册.md) |
|
|
67
67
|
| 注册或加载 AID | [04-连接与认证](04-连接与认证.md) |
|
|
68
|
-
|
|
|
68
|
+
| 发布、下载、检查或排查 agent.md 远端 ETag | [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)、[../agent.md/远程agent.md缓存与etag透传方案.md](../agent.md/远程agent.md缓存与etag透传方案.md) |
|
|
69
69
|
| 状态机和重连 | [03-核心概念](03-核心概念.md)、[04-连接与认证](04-连接与认证.md) |
|
|
70
70
|
| 查方法签名 | [06-API手册](06-API手册.md) |
|
|
71
71
|
| 查消息或群组 RPC | 对应 `09-*-rpc-manual.md` |
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
| 查 Storage
|
|
75
|
-
|
|
|
72
|
+
| 查群组标识 `group_aid` / `group_id` 兼容规范 | [09-group-rpc-manual.md](09-group-rpc-manual.md) |
|
|
73
|
+
| 查群文件系统 RPC / SDK / CLI 入口、群自有区角色 ACL 授权/撤销/查询、`parents` 和 JS string 差异 | [09-group-rpc-manual.md](09-group-rpc-manual.md)、[06-API手册](06-API手册.md) |
|
|
74
|
+
| 查 Storage 架构、SDK VFS、权限模型、mount/symlink 和上传下载链路 | [AUN Storage架构设计.md](<AUN Storage架构设计.md>) |
|
|
75
|
+
| 查 Storage RPC 参数 | [09-storage-rpc-manual.md](09-storage-rpc-manual.md) |
|
|
76
|
+
| 查协作(版本化文档/乐观锁/标签/GC/reflog/revert)RPC | [09-collab-rpc-manual.md](09-collab-rpc-manual.md) |
|
|
76
77
|
| 查 notify 在线轻量通知 / 跨域 federation | [Notify通知方案.md](Notify通知方案.md) |
|
|
77
78
|
| 查 Service Proxy 服务注册和路由 | [06-API手册](06-API手册.md)、[09-proxy-rpc-manual.md](09-proxy-rpc-manual.md) |
|
|
78
79
|
| 查 payload 格式 | [09-payload-reference.md](09-payload-reference.md) |
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
- SDK 默认 `message.send` / `group.send` 为 `encrypt=true`,由 SDK 本地构造 V2 加密 envelope。
|
|
8
8
|
- 显式 `encrypt=false` 时走明文发送;V2 SDK 接收端仍通过 `message.v2.pull` / `group.v2.pull` 合并拉取明文历史行。
|
|
9
9
|
- P2P 加密 envelope 类型为 `e2ee.p2p_encrypted`,通过 `message.send` 提交,服务端按 V2 分流处理。
|
|
10
|
-
- GROUP 加密 envelope 类型为 `e2ee.group_encrypted`,通过 `group.v2.send` 提交。
|
|
11
|
-
- 服务端只做认证、路由、结构校验、密文存储和事件通知,不持有明文 payload,也不执行端到端解密。
|
|
10
|
+
- GROUP 加密 envelope 类型为 `e2ee.group_encrypted`,通过 `group.v2.send` 提交。
|
|
11
|
+
- 服务端只做认证、路由、结构校验、密文存储和事件通知,不持有明文 payload,也不执行端到端解密。
|
|
12
|
+
- 图中的 `group_id` 是 RPC 兼容参数名,传值语义均为规范化后的 `group_aid`(`{base}.{issuer}`)。
|
|
12
13
|
|
|
13
14
|
## V2 设备密钥注册
|
|
14
15
|
|
|
@@ -11,20 +11,20 @@
|
|
|
11
11
|
| [01-快速开始](01-快速开始.md) | 安装 · 三主体模型 · 最小示例 · 多语言构造 |
|
|
12
12
|
| [02-WebSocket协议](02-WebSocket协议.md) | 握手流程 · JSON-RPC 消息格式 · 裸 WebSocket 示例 |
|
|
13
13
|
| [03-核心概念](03-核心概念.md) | AID · AIDStore · AUNClient · 九态状态机 · E2EE |
|
|
14
|
-
| [04-连接与认证](04-连接与认证.md) | 注册加载 · 认证连接 · 网关发现 · 事件 · agent.md |
|
|
15
|
-
| [05-E2EE加密通信](05-E2EE加密通信.md) | E2EE 消息 · ProtectedHeaders ·
|
|
14
|
+
| [04-连接与认证](04-连接与认证.md) | 注册加载 · 认证连接 · 网关发现 · 事件 · agent.md 自动观察 |
|
|
15
|
+
| [05-E2EE加密通信](05-E2EE加密通信.md) | E2EE V2 消息 · ProtectedHeaders · agent.md 版本提示 · recipient wrap |
|
|
16
16
|
| [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md) | V2 P2P/GROUP 明文与加密主链路 |
|
|
17
|
-
| [06-API手册](06-API手册.md) | AIDStore · AID · AUNClient · 事件 · E2EE 高级 API · RPC 索引 |
|
|
17
|
+
| [06-API手册](06-API手册.md) | AIDStore · AID · AUNClient · 事件 · agent.md · E2EE 高级 API · RPC 索引 |
|
|
18
18
|
| [07-错误处理](07-错误处理.md) | Result · 错误类层级 · 错误码 · 重试 |
|
|
19
19
|
| [08-最佳实践](08-最佳实践.md) | 幂等连接 · 多 AID · 资源清理 · 测试数据保护 |
|
|
20
20
|
| [09-payload-reference](09-payload-reference.md) | message / group / thought payload 格式 |
|
|
21
21
|
| [09-message-rpc-manual](09-message-rpc-manual.md) | P2P 消息 RPC |
|
|
22
|
-
| [09-group-rpc-manual](09-group-rpc-manual.md) | 群组 RPC(含 `group.fs.*` 群文件系统 RPC
|
|
23
|
-
| [09-storage-rpc-manual](09-storage-rpc-manual.md) | 存储 RPC(对象 + POSIX VFS / 卷 / 软链 / ACL / token) |
|
|
24
|
-
| [09-collab-rpc-manual](09-collab-rpc-manual.md) | 协作 RPC(版本化文档 / 乐观锁 / 三方合并 / 标签 / GC / reflog / revert) |
|
|
25
|
-
| [group.fs POSIX 化详细设计](../aun-fs/group-fs/group.fs-POSIX化详细设计.md) |
|
|
26
|
-
| [group.fs POSIX 化分阶段实施计划](../aun-fs/group-fs/group.fs-POSIX化分阶段实施计划.md) | group.fs 重构的 IPO、Step-by-step、用例集、Checklist、验收和回滚 |
|
|
27
|
-
| [AUN Storage架构设计](<AUN Storage架构设计.md>) | Storage SDK VFS、控制面/数据面分离、服务端分层、类 Linux 权限、mount/symlink 与关键时序 |
|
|
22
|
+
| [09-group-rpc-manual](09-group-rpc-manual.md) | 群组 RPC(含 `group_aid` / `group_id` 兼容规范、`group.fs.*` 群文件系统 RPC、群自有区角色 ACL 授权/撤销/查询和 `parents` 语义) |
|
|
23
|
+
| [09-storage-rpc-manual](09-storage-rpc-manual.md) | 存储 RPC(对象 + POSIX VFS / 卷 / 软链 / ACL / token) |
|
|
24
|
+
| [09-collab-rpc-manual](09-collab-rpc-manual.md) | 协作 RPC(版本化文档 / 乐观锁 / 三方合并 / 标签 / GC / reflog / revert) |
|
|
25
|
+
| [group.fs POSIX 化详细设计](../aun-fs/group-fs/group.fs-POSIX化详细设计.md) | `client.group.fs.*` / `aun group fs` / `group.fs.*` 群文件系统设计,含群自有区角色 ACL、`parents` 和 JS string 语义 |
|
|
26
|
+
| [group.fs POSIX 化分阶段实施计划](../aun-fs/group-fs/group.fs-POSIX化分阶段实施计划.md) | group.fs 重构的 IPO、Step-by-step、用例集、Checklist、验收和回滚 |
|
|
27
|
+
| [AUN Storage架构设计](<AUN Storage架构设计.md>) | Storage SDK VFS、控制面/数据面分离、服务端分层、类 Linux 权限、mount/symlink 与关键时序 |
|
|
28
28
|
| [09-meta-rpc-manual](09-meta-rpc-manual.md) | meta RPC 和信任根 |
|
|
29
29
|
| [09-stream-rpc-manual](09-stream-rpc-manual.md) | stream RPC |
|
|
30
30
|
| [09-proxy-rpc-manual](09-proxy-rpc-manual.md) | Service Proxy 控制面 RPC 和数据面隧道注册 |
|
|
@@ -37,9 +37,10 @@
|
|
|
37
37
|
|
|
38
38
|
### 身份与认证
|
|
39
39
|
|
|
40
|
-
- AID 格式、证书、不可变值对象 → [03-核心概念](03-核心概念.md)
|
|
41
|
-
- `AIDStore.register()` / `load()` / `exists()` / `resolve()` → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
|
|
42
|
-
-
|
|
40
|
+
- AID 格式、证书、不可变值对象 → [03-核心概念](03-核心概念.md)
|
|
41
|
+
- `AIDStore.register()` / `load()` / `exists()` / `resolve()` → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
|
|
42
|
+
- 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)
|
|
43
|
+
- AID 构造约束与多语言入口 → [01-快速开始](01-快速开始.md)、[06-API手册](06-API手册.md)
|
|
43
44
|
- 认证链路和 token → [03-核心概念](03-核心概念.md)、[04-连接与认证](04-连接与认证.md)
|
|
44
45
|
- AID 托管恢复 / 跨设备复制 → [09-custody-api-manual](09-custody-api-manual.md)
|
|
45
46
|
|
|
@@ -53,7 +54,7 @@
|
|
|
53
54
|
### E2EE
|
|
54
55
|
|
|
55
56
|
- E2EE 原理和默认行为 → [03-核心概念](03-核心概念.md)
|
|
56
|
-
- ProtectedHeaders、
|
|
57
|
+
- ProtectedHeaders、agent.md 版本提示边界、V2 recipient wrap、sender_signature / AAD / recipient proof → [05-E2EE加密通信](05-E2EE加密通信.md)
|
|
57
58
|
- V2 P2P/GROUP 时序 → [E2EE_V2消息通信时序图](E2EE_V2消息通信时序图.md)
|
|
58
59
|
- 高级 E2EE API → [06-API手册](06-API手册.md)
|
|
59
60
|
- 解密失败排查 → [07-错误处理](07-错误处理.md)
|
|
@@ -62,12 +63,12 @@
|
|
|
62
63
|
|
|
63
64
|
- `client.call()` / `client.on()` → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
|
|
64
65
|
- `client.notify()` 在线轻量通知、跨域 federation、在线/离线边界 → [Notify通知方案](Notify通知方案.md)
|
|
65
|
-
- Message RPC → [09-message-rpc-manual](09-message-rpc-manual.md)
|
|
66
|
-
- Group RPC
|
|
67
|
-
- 下一版群文件系统 `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)
|
|
68
|
-
- Storage 架构、SDK VFS、控制面/数据面分离、类 Linux 权限和 mount/symlink → [AUN Storage架构设计](<AUN Storage架构设计.md>)
|
|
69
|
-
- Storage RPC(对象 + `storage.fs.*` / `storage.volume.*` / 软链 / ACL / token)→ [09-storage-rpc-manual](09-storage-rpc-manual.md)
|
|
70
|
-
- Collab RPC(`collab.*` 版本化文档、乐观锁、标签、GC、reflog、revert)→ [09-collab-rpc-manual](09-collab-rpc-manual.md)
|
|
66
|
+
- Message RPC → [09-message-rpc-manual](09-message-rpc-manual.md)
|
|
67
|
+
- Group RPC、`group_aid` / `group_id` 兼容规范、群文件系统 `group.fs.*` 控制面、群自有区角色 ACL 授权/撤销/查询和 `parents` 语义 → [09-group-rpc-manual](09-group-rpc-manual.md)
|
|
68
|
+
- 下一版群文件系统 `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)
|
|
69
|
+
- Storage 架构、SDK VFS、控制面/数据面分离、类 Linux 权限和 mount/symlink → [AUN Storage架构设计](<AUN Storage架构设计.md>)
|
|
70
|
+
- Storage RPC(对象 + `storage.fs.*` / `storage.volume.*` / `storage.fs.touch` / 软链 / ACL / token)→ [09-storage-rpc-manual](09-storage-rpc-manual.md)
|
|
71
|
+
- Collab RPC(`collab.*` 版本化文档、乐观锁、标签、GC、reflog、revert)→ [09-collab-rpc-manual](09-collab-rpc-manual.md)
|
|
71
72
|
- Meta RPC → [09-meta-rpc-manual](09-meta-rpc-manual.md)
|
|
72
73
|
- Stream RPC → [09-stream-rpc-manual](09-stream-rpc-manual.md)
|
|
73
74
|
- Service Proxy RPC 和隧道注册 → [09-proxy-rpc-manual](09-proxy-rpc-manual.md)
|
|
@@ -98,15 +99,15 @@
|
|
|
98
99
|
|
|
99
100
|
### 04-连接与认证
|
|
100
101
|
|
|
101
|
-
描述 `AIDStore` 注册加载、`AUNClient` 身份加载、显式认证、连接选项、长短连接共存、网关发现、agent.md
|
|
102
|
+
描述 `AIDStore` 注册加载、`AUNClient` 身份加载、显式认证、连接选项、长短连接共存、网关发现、agent.md 上传/下载/检查,以及连接后从 Gateway `_meta.agent_md_etags` 和信封 `agent_md` 自动观察远端版本。
|
|
102
103
|
|
|
103
104
|
### 05-E2EE加密通信
|
|
104
105
|
|
|
105
|
-
覆盖默认加密发送、接收自动解密、ProtectedHeaders、
|
|
106
|
+
覆盖默认加密发送、接收自动解密、E2EE V2 多设备 wrap、ProtectedHeaders、agent.md 版本提示与 E2EE 安全边界、`sender_signature` / AAD / recipient proof、群 E2EE 和高级存储扩展边界。
|
|
106
107
|
|
|
107
108
|
### 06-API手册
|
|
108
109
|
|
|
109
|
-
列出 AIDStore、AID、AUNClient、事件、ServiceProxyClient、E2EE 高级 API 和 RPC 手册索引,包含 Python / TS / JS / Go 的主要命名差异。
|
|
110
|
+
列出 AIDStore、AID、AUNClient、事件、agent.md、ServiceProxyClient、E2EE 高级 API 和 RPC 手册索引,包含 Python / TS / JS / Go 的主要命名差异。
|
|
110
111
|
|
|
111
112
|
### 07-错误处理
|
|
112
113
|
|
|
@@ -118,7 +119,7 @@
|
|
|
118
119
|
|
|
119
120
|
### 09-*-rpc-manual
|
|
120
121
|
|
|
121
|
-
各业务服务的 RPC 参数、响应和错误语义。Storage、Collab、Group FS、Service Proxy 等明确提供高层门面的能力应优先使用门面;需要精确控制底层参数时再通过 `client.call()` 调用业务 RPC。
|
|
122
|
+
各业务服务的 RPC 参数、响应和错误语义。Storage、Collab、Group FS、Service Proxy 等明确提供高层门面的能力应优先使用门面;需要精确控制底层参数时再通过 `client.call()` 调用业务 RPC。
|
|
122
123
|
|
|
123
124
|
### AUN Storage架构设计
|
|
124
125
|
|
|
@@ -126,7 +127,7 @@
|
|
|
126
127
|
|
|
127
128
|
### 09-collab-rpc-manual
|
|
128
129
|
|
|
129
|
-
定义协作层 `collab.*` RPC(共 21 个):文档版本线(ls-files/create/show/commit/merge/log/diff/revert/prune)、运维备份迁移(gc/reflog/clone)、目录级标签(tag.create/list/show/diff/restore/rm/prune)、群内发现(ls-remote/unregister)。collab 编排并入 storage 服务进程,以调用者身份直调 storage 原语,授权下沉到 storage ACL。涵盖乐观锁 CAS commit 撞版本响应、三方合并冲突标记、forward-only 标签回滚、垃圾扫描和审计日志语义。
|
|
130
|
+
定义协作层 `collab.*` RPC(共 21 个):文档版本线(ls-files/create/show/commit/merge/log/diff/revert/prune)、运维备份迁移(gc/reflog/clone)、目录级标签(tag.create/list/show/diff/restore/rm/prune)、群内发现(ls-remote/unregister)。collab 编排并入 storage 服务进程,以调用者身份直调 storage 原语,授权下沉到 storage ACL。涵盖乐观锁 CAS commit 撞版本响应、三方合并冲突标记、forward-only 标签回滚、垃圾扫描和审计日志语义。
|
|
130
131
|
|
|
131
132
|
### 09-proxy-rpc-manual
|
|
132
133
|
|
|
@@ -41,9 +41,11 @@
|
|
|
41
41
|
```python
|
|
42
42
|
await client.notify("notification/client.activity", {"state": "idle"})
|
|
43
43
|
await client.notify("event/app.typing", {"thread_id": "t1"}, to="bob.agentid.pub", ttl_ms=5000)
|
|
44
|
-
await client.notify("event/app.presence", {"state": "active"}, group_id="
|
|
44
|
+
await client.notify("event/app.presence", {"state": "active"}, group_id="g-abc123.agentid.pub")
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
+
> `group_id` 是兼容参数名,传值应使用目标态 `group_aid`。
|
|
48
|
+
|
|
47
49
|
`await client.notify(...)` 只表示 SDK 已尝试把 Notification 帧写入当前 WebSocket,不表示服务端接受、目标在线或对端收到。
|
|
48
50
|
|
|
49
51
|
## 路由模型
|
|
@@ -119,10 +121,12 @@ Gateway 校验发送方认证上下文、payload 大小、TTL、方法名前缀
|
|
|
119
121
|
|
|
120
122
|
### 4. 群在线转发
|
|
121
123
|
|
|
122
|
-
指定 `group_id` 时,SDK 发送 `notification/group.route`。Gateway 调用 Group 服务解析目标成员,Group 服务负责校验成员身份、群状态和权限;Gateway 只按 Group 服务返回的成员 AID 做在线 fanout。
|
|
124
|
+
指定 `group_id` 时,SDK 发送 `notification/group.route`。这里的 `group_id` 是兼容参数名,值使用目标态 `group_aid`。Gateway 调用 Group 服务解析目标成员,Group 服务负责校验成员身份、群状态和权限;Gateway 只按 Group 服务返回的成员 AID 做在线 fanout。
|
|
123
125
|
|
|
124
126
|
群成员包含外域 AID 时,Gateway 会按成员 AID issuer 做 federation 转发。Gateway 不直接跨域解析远端 `group_id`,群权限仍以 Group 服务返回的目标成员集合为准。
|
|
125
127
|
|
|
128
|
+
Gateway 在线推送 notify / event 时会复用 agent.md 元数据注入机制:缓存命中且未被节流时,`_meta.agent_md_etags.group` 表示群自身 `group_aid` / `group_id` 的 agent.md 版本,SDK 会自动观察并更新本地 `remote_etag`。
|
|
129
|
+
|
|
126
130
|
## 在线投递规则
|
|
127
131
|
|
|
128
132
|
- `to=aid`:默认投递该 AID 的所有在线长连接设备。
|
package/dist/agent-md.d.ts.map
CHANGED
|
@@ -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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"}
|