@agentunion/fastaun-browser 0.4.12 → 0.5.0
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 +480 -359
- package/_packed_docs/CHANGELOG.md +480 -359
- package/_packed_docs/INDEX.md +111 -53
- package/_packed_docs/KITE_DOCS_GUIDE.md +43 -29
- package/_packed_docs/agent.md/SCHEMA.md +2 -0
- package/_packed_docs/agent.md/examples/codeagent-claudecode.md +2 -0
- package/_packed_docs/agent.md/examples/human-developer.md +2 -0
- package/_packed_docs/agent.md/examples/openclaw-lobster.md +2 -0
- package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +2 -0
- 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 +2 -0
- package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +265 -686
- package/_packed_docs/collab-gateway-boundary-test-report.md +164 -0
- package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +2 -0
- package/_packed_docs/design/AUNClient/346/213/206/345/210/206/351/207/215/346/236/204/346/211/247/350/241/214/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/design/E2EE_V2/347/256/200/345/214/226/344/270/2721DH/345/212/240Per-AID_Wrap/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/design//350/267/250/350/257/255/350/250/200/345/256/271/345/231/250E2E/346/265/213/350/257/225/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -0
- 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 +2 -0
- 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 +2 -0
- package/_packed_docs/protocol/02-/350/257/201/344/271/246/344/270/216/344/277/241/344/273/273/344/275/223/347/263/273.md +2 -0
- package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +2 -0
- package/_packed_docs/protocol/04-Peer-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/05-Relay-/345/255/220/345/215/217/350/256/256.md +2 -0
- 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 +2 -0
- package/_packed_docs/protocol/08-AUN-E2EE-Group.md +2 -0
- package/_packed_docs/protocol/08-AUN-E2EE.md +2 -0
- package/_packed_docs/protocol/09-/345/256/211/345/205/250/350/200/203/350/231/221.md +2 -0
- package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +28 -85
- package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +49 -0
- package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +2 -0
- package/_packed_docs/protocol/14-/344/272/244/344/272/222/346/234/272/345/210/266-/345/223/215/345/272/224/346/250/241/345/274/217/344/270/216/350/207/252/344/270/273/346/250/241/345/274/217.md +2 -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 +2 -0
- package/_packed_docs/protocol/README.md +2 -0
- package/_packed_docs/protocol/agent.md/SCHEMA.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/codeagent-claudecode.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/human-developer.md +2 -0
- package/_packed_docs/protocol/agent.md/examples/openclaw-lobster.md +2 -0
- package/_packed_docs/protocol/aun-docs-guide.md +2 -0
- package/_packed_docs/protocol/index.md +3 -1
- package/_packed_docs/protocol//350/215/211/346/241/210-agent.md/347/255/276/345/220/215/345/215/217/350/256/256.md +2 -0
- 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 +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225B-/346/211/251/345/261/225/346/200/247/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225C-/347/247/201/351/222/245/347/256/241/347/220/206/344/270/216/350/272/253/344/273/275/346/201/242/345/244/215.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225D-Root_CA_/346/262/273/347/220/206/346/234/272/345/210/266.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225E-Root_CA_/345/207/206/345/205/245/346/265/201/347/250/213.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225F-Issuer_CA_/347/224/263/350/257/267/346/265/201/347/250/213.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225G-AID_/345/255/244/345/204/277/351/242/204/351/230/262/344/270/216/346/225/221/346/217/264/346/234/272/345/210/266.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225H-Identity/346/234/215/345/212/241/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225I-/350/267/250/345/237/237/346/266/210/346/201/257/350/267/257/347/224/261/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225J-/345/256/242/346/210/267/347/253/257/346/216/245/345/205/245/347/244/272/344/276/213.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225K-Agent_Web/345/217/221/347/216/260/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225L-E2EE/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225M-JWT/350/256/244/350/257/201/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
- package/_packed_docs/protocol//351/231/204/345/275/225N-/345/210/206/345/270/203/345/274/217Trace/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +2 -0
- package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -0
- package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -0
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -0
- package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +2 -0
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +283 -267
- package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +4 -1
- package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
- package/_packed_docs/sdk/09-collab-rpc-manual.md +550 -0
- package/_packed_docs/sdk/09-custody-api-manual.md +2 -0
- package/_packed_docs/sdk/09-group-rpc-manual.md +197 -445
- package/_packed_docs/sdk/09-message-rpc-manual.md +8 -7
- package/_packed_docs/sdk/09-meta-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-payload-reference.md +2 -0
- package/_packed_docs/sdk/09-proxy-rpc-manual.md +2 -0
- package/_packed_docs/sdk/09-storage-rpc-manual.md +952 -279
- package/_packed_docs/sdk/09-stream-rpc-manual.md +2 -0
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +33 -20
- 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 +2 -0
- package/_packed_docs/sdk/INDEX.md +46 -29
- package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +2 -0
- package/_packed_docs/sdk/README.md +17 -15
- package/dist/aid-store.d.ts +25 -0
- package/dist/aid-store.d.ts.map +1 -1
- package/dist/aid-store.js +89 -8
- package/dist/aid-store.js.map +1 -1
- package/dist/auth.d.ts +2 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +98 -9
- package/dist/auth.js.map +1 -1
- package/dist/bundle.js +19156 -16554
- package/dist/client/delivery.d.ts +5 -0
- package/dist/client/delivery.d.ts.map +1 -1
- package/dist/client/delivery.js +169 -15
- package/dist/client/delivery.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 +76 -34
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts.map +1 -1
- package/dist/client/v2-e2ee.js +67 -8
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +31 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +313 -23
- package/dist/client.js.map +1 -1
- package/dist/collab/client.d.ts +39 -0
- package/dist/collab/client.d.ts.map +1 -0
- package/dist/collab/client.js +124 -0
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/errors.d.ts +16 -0
- package/dist/collab/errors.d.ts.map +1 -0
- package/dist/collab/errors.js +60 -0
- package/dist/collab/errors.js.map +1 -0
- package/dist/collab/index.d.ts +4 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +4 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/types.d.ts +111 -0
- package/dist/collab/types.d.ts.map +1 -0
- package/dist/collab/types.js +2 -0
- package/dist/collab/types.js.map +1 -0
- package/dist/crypto.d.ts +6 -0
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +6 -0
- package/dist/crypto.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -1
- package/dist/errors.js.map +1 -1
- package/dist/facades.d.ts +89 -0
- package/dist/facades.d.ts.map +1 -0
- package/dist/facades.js +228 -0
- package/dist/facades.js.map +1 -0
- package/dist/group-fs.d.ts +103 -0
- package/dist/group-fs.d.ts.map +1 -0
- package/dist/group-fs.js +496 -0
- package/dist/group-fs.js.map +1 -0
- package/dist/group-resources.d.ts +98 -0
- package/dist/group-resources.d.ts.map +1 -0
- package/dist/group-resources.js +635 -0
- package/dist/group-resources.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/register-flow.d.ts +1 -0
- package/dist/register-flow.d.ts.map +1 -1
- package/dist/register-flow.js +3 -0
- package/dist/register-flow.js.map +1 -1
- package/dist/service-proxy.d.ts +1 -0
- package/dist/service-proxy.d.ts.map +1 -1
- package/dist/service-proxy.js +15 -3
- package/dist/service-proxy.js.map +1 -1
- package/dist/storage/errors.d.ts +28 -0
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +65 -0
- package/dist/storage/errors.js.map +1 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/lowlevel.d.ts +314 -0
- package/dist/storage/lowlevel.d.ts.map +1 -0
- package/dist/storage/lowlevel.js +460 -0
- package/dist/storage/lowlevel.js.map +1 -0
- package/dist/storage/types.d.ts +59 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +113 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storage/vfs.d.ts +144 -0
- package/dist/storage/vfs.d.ts.map +1 -0
- package/dist/storage/vfs.js +403 -0
- package/dist/storage/vfs.js.map +1 -0
- package/dist/tools/cross-sdk-agent.d.ts +3 -0
- package/dist/tools/cross-sdk-agent.d.ts.map +1 -0
- package/dist/tools/cross-sdk-agent.js +1089 -0
- package/dist/tools/cross-sdk-agent.js.map +1 -0
- package/dist/transport.d.ts +3 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +33 -13
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +44 -44
|
@@ -116,36 +116,29 @@
|
|
|
116
116
|
| [group.get_join_requirements](#groupget_join_requirements) | 获取入群要求 |
|
|
117
117
|
| [group.update_join_requirements](#groupupdate_join_requirements) | 更新入群要求 |
|
|
118
118
|
|
|
119
|
-
###
|
|
120
|
-
|
|
121
|
-
| 方法 | 说明 |
|
|
122
|
-
|------|------|
|
|
123
|
-
| [group.
|
|
124
|
-
| [group.
|
|
125
|
-
| [group.
|
|
126
|
-
| [group.
|
|
127
|
-
| [group.
|
|
128
|
-
| [group.
|
|
129
|
-
| [group.
|
|
130
|
-
| [group.
|
|
131
|
-
| [group.
|
|
132
|
-
| [group.
|
|
133
|
-
| [group.
|
|
134
|
-
| [group.
|
|
135
|
-
| [group.
|
|
136
|
-
| [group.
|
|
137
|
-
| [group.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
|
142
|
-
| [group.resources.list_pending](#groupresourceslist_pending) | 待审批列表 |
|
|
143
|
-
| [group.resources.approve_request](#groupresourcesapprove_request) | 批准申请 |
|
|
144
|
-
| [group.resources.reject_request](#groupresourcesreject_request) | 拒绝申请 |
|
|
145
|
-
|
|
146
|
-
### 在线状态
|
|
147
|
-
|
|
148
|
-
| 方法 | 说明 |
|
|
119
|
+
### 群文件系统
|
|
120
|
+
|
|
121
|
+
| 方法 | 说明 |
|
|
122
|
+
|------|------|
|
|
123
|
+
| [group.fs.ls](#groupfsls) | 列出目录 |
|
|
124
|
+
| [group.fs.find](#groupfsfind) | 查找节点 |
|
|
125
|
+
| [group.fs.stat](#groupfsstat) | 查看节点 |
|
|
126
|
+
| [group.fs.lstat](#groupfslstat) | 查看链接本身 |
|
|
127
|
+
| [group.fs.df](#groupfsdf) | 查看用量 |
|
|
128
|
+
| [group.fs.create_download_ticket](#groupfscreate_download_ticket) | 创建下载票据 |
|
|
129
|
+
| [group.fs.mkdir](#groupfsmkdir) | 创建目录 |
|
|
130
|
+
| [group.fs.rm](#groupfsrm) | 删除节点 |
|
|
131
|
+
| [group.fs.cp](#groupfscp) | 远程复制 |
|
|
132
|
+
| [group.fs.mv](#groupfsmv) | 远程移动 |
|
|
133
|
+
| [group.fs.check_upload](#groupfscheck_upload) | 上传前检查 |
|
|
134
|
+
| [group.fs.create_upload_session](#groupfscreate_upload_session) | 创建上传会话 |
|
|
135
|
+
| [group.fs.complete_upload](#groupfscomplete_upload) | 完成上传 |
|
|
136
|
+
| [group.fs.mount](#groupfsmount) | 挂载成员数据区 |
|
|
137
|
+
| [group.fs.umount](#groupfsumount) | 卸载成员数据区 |
|
|
138
|
+
|
|
139
|
+
### 在线状态
|
|
140
|
+
|
|
141
|
+
| 方法 | 说明 |
|
|
149
142
|
|------|------|
|
|
150
143
|
| [group.get_online_members](#groupget_online_members) | 在线成员 |
|
|
151
144
|
|
|
@@ -153,11 +146,13 @@
|
|
|
153
146
|
|
|
154
147
|
## Group ID 规范
|
|
155
148
|
|
|
156
|
-
`group_id`
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
149
|
+
`group_id` 的 canonical 形式为 `group.{issuer-domain}/{base}`,例如 `group.agentid.pub/10042`、`group.agentid.pub/team01`、`group.agentid.pub/g-abc123`。服务端接受输入后会规范化为 canonical group_id;响应和内部存储以 canonical 形式为准。SDK 发起 `group.*` 调用时也会对带域旧格式做同等规范化;裸客户端应使用同一规则生成签名和 E2EE AAD,避免同一群的不同别名产生不同材料。
|
|
150
|
+
|
|
151
|
+
兼容输入包括 canonical `group.{issuer-domain}/{base}`、本域简写 `{base}` / `g-{slug}`,以及旧跨域形式 `{base}@issuer-domain`、`{base}.issuer-domain`、`g-{slug}@issuer-domain`、`g-{slug}.issuer-domain`。`base` 支持 5 位及以上小写字母或数字,或 4 到 64 位 `[a-z0-9_-]` 风格名称;旧 `g-` 前缀形式继续兼容,`g-` 后为 4 到 32 位小写字母或数字。命名群使用 `group_name` 作为 base,规则见 `group.create` 参数说明。
|
|
152
|
+
|
|
153
|
+
`group.create` 可以指定自定义 `group_id`,但不能是纯数字(纯数字群号保留给服务端自动分配),且规范化后的 canonical group_id 未被占用;如果已被占用或与旧别名碰撞会返回错误。不指定 `group_id` 时服务端按群号自动分配,并通过唯一约束兜底,发现碰撞会重新生成。
|
|
154
|
+
|
|
155
|
+
在 `https://group.issuer-domain/...` 这类群链接中,host 已携带 issuer,path 中的 `group_id` 使用 base 简写形式,例如 `https://group.agentid.pub/10042/invite/ic-xxx`;旧 `g-` base 群也可以表示为 `https://group.agentid.pub/g-abc123/invite/ic-xxx`。
|
|
161
156
|
|
|
162
157
|
---
|
|
163
158
|
|
|
@@ -989,7 +984,7 @@ await client.call("group.set_settings", {
|
|
|
989
984
|
| `payload` | object | 否 | 消息内容 |
|
|
990
985
|
| `type` | string | 否 | 信封/封装类型,普通业务消息无需填写;SDK 加密群消息时自动使用 `e2ee.group_encrypted` |
|
|
991
986
|
| `attachments` | array | 否 | 兼容旧接口的顶层附件元数据;推荐把业务附件放入 `payload.attachments` |
|
|
992
|
-
| `protected_headers` / `headers` | object | 否 | SDK 加密前读取的 E2EE 信封元数据,类似 HTTP headers;推荐使用 `protected_headers`,`headers` 仅作为兼容别名;服务端不解释,接收端验 `_auth` 后在 `e2ee.protected_headers` 暴露 |
|
|
987
|
+
| `protected_headers` / `headers` | object | 否 | SDK 加密前读取的 E2EE 信封元数据,类似 HTTP headers;推荐使用 `protected_headers`,`headers` 仅作为兼容别名;服务端不解释,接收端验 `_auth` 后在 `e2ee.protected_headers` 暴露 |
|
|
993
988
|
|
|
994
989
|
### Payload 参考约定
|
|
995
990
|
|
|
@@ -1049,7 +1044,7 @@ SDK 调用时必须走群组 E2EE。应用层传入明文 `payload`,SDK 会加
|
|
|
1049
1044
|
| `encrypt` | boolean | 否 | SDK 侧固定按 `true` 处理;`false` 会被拒绝 |
|
|
1050
1045
|
| `thought_id` | string | 否 | thought item ID;不传时 SDK 生成 `gt-*` |
|
|
1051
1046
|
| `timestamp` | integer | 否 | 客户端时间戳;不传时 SDK 生成 |
|
|
1052
|
-
| `protected_headers` / `headers` | object | 否 | SDK 加密前读取的 E2EE 信封元数据;推荐使用 `protected_headers`,`headers` 仅作为兼容别名;`context` 会被 SDK 复制进信封并单独验 `_auth` |
|
|
1047
|
+
| `protected_headers` / `headers` | object | 否 | SDK 加密前读取的 E2EE 信封元数据;推荐使用 `protected_headers`,`headers` 仅作为兼容别名;`context` 会被 SDK 复制进信封并单独验 `_auth` |
|
|
1053
1048
|
|
|
1054
1049
|
**SDK 调用示例**:
|
|
1055
1050
|
|
|
@@ -1335,330 +1330,91 @@ result = await client.call("group.thought.get", {
|
|
|
1335
1330
|
| `auto_approve_patterns` | array | 否 | 自动批准正则列表 |
|
|
1336
1331
|
| `max_pending` | integer | 否 | 最大待审批数 |
|
|
1337
1332
|
|
|
1338
|
-
---
|
|
1339
|
-
|
|
1340
|
-
##
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
|
1349
|
-
|
|
1350
|
-
|
|
|
1351
|
-
|
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
### group.
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
**参数**:`group_id`,资源选择器,目标父目录(`dst_parent_resource_id` / `dst_parent_path`),可选 `new_name` / `dst_name`、`expected_version`。
|
|
1424
|
-
|
|
1425
|
-
**响应**:更新后的 `resource`。
|
|
1426
|
-
|
|
1427
|
-
### group.resources.mount_object
|
|
1428
|
-
|
|
1429
|
-
将 `storage.*` 对象挂载为群资源。需要 **owner/admin** 权限。
|
|
1430
|
-
|
|
1431
|
-
**参数**:
|
|
1432
|
-
|
|
1433
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
1434
|
-
|------|------|------|------|
|
|
1435
|
-
| `group_id` | string | 是 | 群组 ID |
|
|
1436
|
-
| `storage_ref` | object | 是 | storage 引用,通常包含 `owner_aid`、`bucket`、`object_id` 或 `object_key` |
|
|
1437
|
-
| `path` / `resource_path` | string | 否 | 资源路径;不传时用 storage 文件名 |
|
|
1438
|
-
| `title` | string | 否 | 显示标题 |
|
|
1439
|
-
| `metadata` | object | 否 | 自定义元数据 |
|
|
1440
|
-
| `visibility` | string | 否 | `"members_only"` / `"public"` |
|
|
1441
|
-
| `tags` | array | 否 | 标签 |
|
|
1442
|
-
| `mkdirs` | boolean | 否 | 是否递归创建父目录,默认 `true` |
|
|
1443
|
-
| `conflict_policy` | string | 否 | `"reject"` / `"replace"` / `"keep_both"` |
|
|
1444
|
-
|
|
1445
|
-
**响应**:`{ "group_id": "...", "resource": { ... }, "created": true }`。
|
|
1446
|
-
|
|
1447
|
-
### group.resources.request_mount_object
|
|
1448
|
-
|
|
1449
|
-
成员申请挂载自己的 storage 对象,进入待审批队列。语义等同 `group.resources.request_add`,但输入按挂载对象组织。
|
|
1450
|
-
|
|
1451
|
-
**参数**:同 `group.resources.mount_object`,但不需要 owner/admin 权限。
|
|
1452
|
-
|
|
1453
|
-
**响应**:`{ "group_id": "...", "request": { ... } }`。
|
|
1454
|
-
|
|
1455
|
-
### group.resources.unmount
|
|
1456
|
-
|
|
1457
|
-
取消挂载资源,等价于非递归 `group.resources.delete`。
|
|
1458
|
-
|
|
1459
|
-
**参数**:`group_id`,资源选择器(`resource_id` / `resource_path` / `path`)。
|
|
1460
|
-
|
|
1461
|
-
**响应**:删除结果。
|
|
1462
|
-
|
|
1463
|
-
### group.resources.resolve_path
|
|
1464
|
-
|
|
1465
|
-
按路径解析资源节点。
|
|
1466
|
-
|
|
1467
|
-
**参数**:`group_id`、`path` / `resource_path`;可选 `expected_type`。
|
|
1468
|
-
|
|
1469
|
-
**响应**:`resource_id`、`resource_type`、`resource_path`、`path`、`status`、`resource`。
|
|
1470
|
-
|
|
1471
|
-
### group.resources.list_refs_by_storage
|
|
1472
|
-
|
|
1473
|
-
按 storage 引用反查群资源。传 `group_id` 时要求调用者是该群成员;不传 `group_id` 时要求调用者是 `owner_aid`。
|
|
1474
|
-
|
|
1475
|
-
**参数**:`owner_aid` 必填,`object_id` 或 `object_key` 至少一个;可选 `bucket`、`group_id`、`include_missing`、`offset`、`limit` / `size`。
|
|
1476
|
-
|
|
1477
|
-
**响应**:`items`、`total`、`count`、`limit`、`offset`,并回显 storage 选择器字段。
|
|
1478
|
-
|
|
1479
|
-
### group.resources.cleanup_by_storage_ref
|
|
1480
|
-
|
|
1481
|
-
清理指向已删除或失效 storage 对象的资源引用。传 `group_id` 时要求 owner/admin 或 storage owner;不传 `group_id` 时要求 storage owner。
|
|
1482
|
-
|
|
1483
|
-
**参数**:`owner_aid` 必填,`object_id` 或 `object_key` 至少一个;可选 `bucket`、`group_id`、`mode`。
|
|
1484
|
-
|
|
1485
|
-
**响应**:`affected_count` 和被影响的资源 `items`。
|
|
1486
|
-
|
|
1487
|
-
### group.resources.get
|
|
1488
|
-
|
|
1489
|
-
查看资源详情。
|
|
1490
|
-
|
|
1491
|
-
**参数**:`group_id` (string), `resource_path` (string)
|
|
1492
|
-
|
|
1493
|
-
### group.resources.list
|
|
1494
|
-
|
|
1495
|
-
列出群资源。
|
|
1496
|
-
|
|
1497
|
-
**参数**:
|
|
1498
|
-
|
|
1499
|
-
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|
|
1500
|
-
|------|------|------|--------|------|
|
|
1501
|
-
| `group_id` | string | 是 | — | 群组 ID |
|
|
1502
|
-
| `prefix` | string | 否 | — | 资源路径前缀 |
|
|
1503
|
-
| `owner_aid` | string | 否 | — | 筛选创建者 |
|
|
1504
|
-
| `visibility` | string | 否 | — | 筛选可见性 |
|
|
1505
|
-
| `tags` | array | 否 | — | 筛选标签 |
|
|
1506
|
-
| `sort_by` | string | 否 | `"resource_path"` | 排序字段 |
|
|
1507
|
-
| `order` | string | 否 | `"asc"` | `"asc"` / `"desc"` |
|
|
1508
|
-
| `size` | integer | 否 | 50 | 每页数量(也接受 `limit`) |
|
|
1509
|
-
| `page` | integer | 否 | 1 | 页码(也接受 `offset`) |
|
|
1510
|
-
|
|
1511
|
-
**响应**:
|
|
1512
|
-
|
|
1513
|
-
```json
|
|
1514
|
-
{
|
|
1515
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1516
|
-
"prefix": "",
|
|
1517
|
-
"owner_aid": null,
|
|
1518
|
-
"visibility": null,
|
|
1519
|
-
"tags": [],
|
|
1520
|
-
"limit": 50,
|
|
1521
|
-
"size": 50,
|
|
1522
|
-
"offset": 0,
|
|
1523
|
-
"page": 1,
|
|
1524
|
-
"items": [ ... ],
|
|
1525
|
-
"count": 3,
|
|
1526
|
-
"total": 3
|
|
1527
|
-
}
|
|
1528
|
-
```
|
|
1529
|
-
|
|
1530
|
-
### group.resources.get_access
|
|
1531
|
-
|
|
1532
|
-
获取资源下载票据。
|
|
1533
|
-
|
|
1534
|
-
**参数**:`group_id` (string), `resource_path` (string)
|
|
1535
|
-
|
|
1536
|
-
**响应**:
|
|
1537
|
-
|
|
1538
|
-
```json
|
|
1539
|
-
{
|
|
1540
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1541
|
-
"resource_path": "/docs/guide.pdf",
|
|
1542
|
-
"resource_link": "storage://...",
|
|
1543
|
-
"resource": { ... },
|
|
1544
|
-
"access_ticket": {
|
|
1545
|
-
"ticket": "tk_...",
|
|
1546
|
-
"ticket_type": "group-resource-access",
|
|
1547
|
-
"issued_to": "alice.agentid.pub",
|
|
1548
|
-
"resource_link": "storage://...",
|
|
1549
|
-
"issued_at": 1234567890,
|
|
1550
|
-
"expire_at": 1234571490
|
|
1551
|
-
},
|
|
1552
|
-
"access_token": "tk_...",
|
|
1553
|
-
"token_type": "Bearer",
|
|
1554
|
-
"download": { ... }
|
|
1555
|
-
}
|
|
1556
|
-
```
|
|
1557
|
-
|
|
1558
|
-
### group.resources.delete
|
|
1559
|
-
|
|
1560
|
-
删除群资源链接。需要 admin 权限。
|
|
1561
|
-
|
|
1562
|
-
**参数**:`group_id` (string), `resource_path` (string)
|
|
1563
|
-
|
|
1564
|
-
**响应**:`{ "group_id": "g-abc123.agentid.pub", "resource_path": "/path/to/file" }`
|
|
1565
|
-
|
|
1566
|
-
### group.resources.update
|
|
1567
|
-
|
|
1568
|
-
更新资源元数据。需要 admin 及以上权限。
|
|
1569
|
-
|
|
1570
|
-
**参数**:`group_id` (必填), `resource_path` (必填), `title` / `metadata` / `tags` / `visibility` (可选)
|
|
1571
|
-
|
|
1572
|
-
**响应**:`{ "group_id": "g-abc123.agentid.pub", "resource": { ... } }`
|
|
1573
|
-
|
|
1574
|
-
### group.resources.resolve_access_ticket
|
|
1575
|
-
|
|
1576
|
-
使用访问票据换取下载令牌。
|
|
1577
|
-
|
|
1578
|
-
**参数**:`ticket` (string, 必填)
|
|
1579
|
-
|
|
1580
|
-
**响应**:`{ "resource": { ... }, "download": { ... } }`
|
|
1581
|
-
|
|
1582
|
-
### group.resources.request_add
|
|
1583
|
-
|
|
1584
|
-
成员申请分享资源(需审批)。
|
|
1585
|
-
|
|
1586
|
-
**参数**:同 `group.resources.put`(不需要 `storage_ref`)。
|
|
1587
|
-
|
|
1588
|
-
**响应**:
|
|
1589
|
-
|
|
1590
|
-
```json
|
|
1591
|
-
{
|
|
1592
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1593
|
-
"request": {
|
|
1594
|
-
"request_id": "req_...",
|
|
1595
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1596
|
-
"requester_aid": "bob.agentid.pub",
|
|
1597
|
-
"resource_path": "/docs/my-file.pdf",
|
|
1598
|
-
"resource_type": "file",
|
|
1599
|
-
"title": "我的文件",
|
|
1600
|
-
"status": "pending",
|
|
1601
|
-
"created_at": 1234567890,
|
|
1602
|
-
"updated_at": 1234567890,
|
|
1603
|
-
"visibility": "members_only",
|
|
1604
|
-
"tags": [],
|
|
1605
|
-
"reviewed_by": null,
|
|
1606
|
-
"review_note": null,
|
|
1607
|
-
"resource_created": false
|
|
1608
|
-
}
|
|
1609
|
-
}
|
|
1610
|
-
```
|
|
1611
|
-
|
|
1612
|
-
### group.resources.direct_add
|
|
1613
|
-
|
|
1614
|
-
Owner/Admin 直接添加资源(无需审批)。需要 **owner/admin** 权限。
|
|
1615
|
-
|
|
1616
|
-
**参数**:同 `group.resources.put`(`resource_type` 不能是 `"folder"`)。
|
|
1617
|
-
|
|
1618
|
-
**响应**:同 `group.resources.put`。
|
|
1619
|
-
|
|
1620
|
-
### group.resources.list_pending
|
|
1621
|
-
|
|
1622
|
-
列出待审批的资源申请。需要 **owner** 权限。
|
|
1623
|
-
|
|
1624
|
-
**参数**:`group_id` (string)
|
|
1625
|
-
|
|
1626
|
-
### group.resources.approve_request
|
|
1627
|
-
|
|
1628
|
-
批准资源申请。需要 **owner** 权限。
|
|
1629
|
-
|
|
1630
|
-
**参数**:`request_id` (string, 必填), `note` (string, 可选)
|
|
1631
|
-
|
|
1632
|
-
**响应**:
|
|
1633
|
-
|
|
1634
|
-
```json
|
|
1635
|
-
{
|
|
1636
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1637
|
-
"request": { ... },
|
|
1638
|
-
"resource": { ... }
|
|
1639
|
-
}
|
|
1640
|
-
```
|
|
1641
|
-
|
|
1642
|
-
### group.resources.reject_request
|
|
1643
|
-
|
|
1644
|
-
拒绝资源申请。需要 **owner** 权限。
|
|
1645
|
-
|
|
1646
|
-
**参数**:`request_id` (string, 必填), `note` (string, 可选)
|
|
1647
|
-
|
|
1648
|
-
**响应**:
|
|
1649
|
-
|
|
1650
|
-
```json
|
|
1651
|
-
{
|
|
1652
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1653
|
-
"request": { ... }
|
|
1654
|
-
}
|
|
1655
|
-
```
|
|
1656
|
-
|
|
1657
|
-
---
|
|
1658
|
-
|
|
1659
|
-
## 在线状态
|
|
1660
|
-
|
|
1661
|
-
### group.get_online_members
|
|
1333
|
+
---
|
|
1334
|
+
|
|
1335
|
+
## 群文件系统
|
|
1336
|
+
|
|
1337
|
+
新代码统一使用 `group.fs.*`。路径为 POSIX 风格 group path:`group_aid:/docs/a.md`、`https://{group_aid}/docs/a.md` 或带 `group_id` 参数的裸路径。`group_aid:/memberdata/{member_ref}/...` 只由服务端映射到真实成员 storage,SDK 不拼接 `groupdata/{group_id}`。
|
|
1338
|
+
|
|
1339
|
+
推荐通过 SDK/CLI 使用:
|
|
1340
|
+
|
|
1341
|
+
| 语言 | 入口 |
|
|
1342
|
+
|------|------|
|
|
1343
|
+
| Python | `client.group.fs` |
|
|
1344
|
+
| TypeScript / JavaScript | `client.group.fs` |
|
|
1345
|
+
| Go | `client.Group().FS()` |
|
|
1346
|
+
| CLI | `aun group fs ...` |
|
|
1347
|
+
|
|
1348
|
+
权限与签名约束:
|
|
1349
|
+
|
|
1350
|
+
- 群自有区(如 `group_aid:/announce`、`/public`、`/archive`)只有 owner 可写,但实际调用身份必须是 `group_aid`,并且 `client_signature_aid` 必须是当前 group_identity。`group_aid` 私钥由群主持有;admin/member 不能用个人 AID 直接写群自有区。
|
|
1351
|
+
- `memberdata/{member_ref}` 写入默认只允许该成员本人;SDK 只传 group path,不拼接真实 storage 路径。
|
|
1352
|
+
- 上传控制面会透传 `parents` 到 storage:默认 `parents=true` 时可递归创建父目录,显式 `parents=false` 时父目录必须已存在。
|
|
1353
|
+
- JavaScript 浏览器版 `cp(string, group)` 默认把 string 当文本内容上传;Node 本地路径需显式传 `sourceType: "path"`、`localPath: true` 或使用 `local:` 前缀。Python、TypeScript 和 Go 默认把 string 当本地路径。
|
|
1354
|
+
|
|
1355
|
+
### group.fs.ls
|
|
1356
|
+
|
|
1357
|
+
列出目录。参数:`path` 必填;可选 `page`、`size`、`marker`、`long`、`recursive`。响应返回 group view `items`,节点 `path` 仍为 group path。
|
|
1358
|
+
|
|
1359
|
+
### group.fs.find
|
|
1360
|
+
|
|
1361
|
+
查找节点。参数:`path` 必填;可选 `pattern`、`name`、`type`、`size`、`mtime`、`page`、`page_size`。
|
|
1362
|
+
|
|
1363
|
+
### group.fs.stat
|
|
1364
|
+
|
|
1365
|
+
查看节点。参数:`path` 必填。响应为 NodeView。
|
|
1366
|
+
|
|
1367
|
+
### group.fs.lstat
|
|
1368
|
+
|
|
1369
|
+
查看链接节点本身。参数同 `group.fs.stat`。
|
|
1370
|
+
|
|
1371
|
+
### group.fs.df
|
|
1372
|
+
|
|
1373
|
+
查看群文件系统用量。参数可传 `path` 或 `group_id`。
|
|
1374
|
+
|
|
1375
|
+
### group.fs.create_download_ticket
|
|
1376
|
+
|
|
1377
|
+
创建下载票据。参数:`path` 必填。响应包含 `download_url`、可选 `sha256`、`content_type`、`file_name`。SDK 下载数据面使用该票据执行 HTTP GET 并校验 sha256。
|
|
1378
|
+
|
|
1379
|
+
### group.fs.mkdir
|
|
1380
|
+
|
|
1381
|
+
创建目录。参数:`path` 必填;`parents` 可选,默认 `false`。
|
|
1382
|
+
|
|
1383
|
+
### group.fs.rm
|
|
1384
|
+
|
|
1385
|
+
删除节点。参数:`path` 必填;`recursive`、`force` 可选。
|
|
1386
|
+
|
|
1387
|
+
### group.fs.cp
|
|
1388
|
+
|
|
1389
|
+
只处理 group→group 远程复制。参数:`src`、`dst` 必填;`force`、`recursive`、`follow_symlinks` 可选。本地上传和下载由 SDK 的 `cp` 编排数据面,不直接调用此 RPC。
|
|
1390
|
+
|
|
1391
|
+
### group.fs.mv
|
|
1392
|
+
|
|
1393
|
+
只处理 group→group 远程移动。参数:`src`、`dst` 必填;`force` 可选。本地路径参与时 SDK/CLI 应拒绝。
|
|
1394
|
+
|
|
1395
|
+
### group.fs.check_upload
|
|
1396
|
+
|
|
1397
|
+
上传前检查。参数:`path`、`size_bytes`、`sha256`、`content_type`;可选 `force`、`parents`、`expected_version`、`metadata`。响应可包含 `target_exists`、`within_limit`、`instant`、`dedup_hit` 或 `skip_upload`。
|
|
1398
|
+
|
|
1399
|
+
### group.fs.create_upload_session
|
|
1400
|
+
|
|
1401
|
+
创建上传会话。参数同 `check_upload`。响应包含 `upload_url`、`session_id`、可选 `headers`。SDK 使用该 URL 执行 HTTP PUT。
|
|
1402
|
+
|
|
1403
|
+
### group.fs.complete_upload
|
|
1404
|
+
|
|
1405
|
+
完成上传。参数包含 `path`、`sha256`、`size_bytes`、可选 `session_id`、`skip_blob`、`metadata`、`expected_version`。响应为 group view NodeView。
|
|
1406
|
+
|
|
1407
|
+
### group.fs.mount
|
|
1408
|
+
|
|
1409
|
+
挂载成员数据区。参数:`path` 必填;可选 `readonly`、`require_approval`、`source_bucket`、`expires_at`、`volume_id`。
|
|
1410
|
+
|
|
1411
|
+
### group.fs.umount
|
|
1412
|
+
|
|
1413
|
+
卸载成员数据区。参数:`path` 必填。对成员数据区卸载不删除成员源数据。
|
|
1414
|
+
|
|
1415
|
+
## 在线状态
|
|
1416
|
+
|
|
1417
|
+
### group.get_online_members
|
|
1662
1418
|
|
|
1663
1419
|
获取当前在线成员列表。
|
|
1664
1420
|
|
|
@@ -1957,29 +1713,29 @@ CAS 轮换群组 E2EE Epoch。需要 **admin 及以上**权限。
|
|
|
1957
1713
|
|
|
1958
1714
|
**Payload**:
|
|
1959
1715
|
|
|
1960
|
-
```json
|
|
1961
|
-
{
|
|
1962
|
-
"envelope": {
|
|
1963
|
-
"module_id": "group",
|
|
1964
|
-
"action": "member_added",
|
|
1965
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1966
|
-
"event_seq": 42
|
|
1967
|
-
},
|
|
1968
|
-
"module_id": "group",
|
|
1969
|
-
"action": "member_added",
|
|
1970
|
-
"group_id": "g-abc123.agentid.pub",
|
|
1716
|
+
```json
|
|
1717
|
+
{
|
|
1718
|
+
"envelope": {
|
|
1719
|
+
"module_id": "group",
|
|
1720
|
+
"action": "member_added",
|
|
1721
|
+
"group_id": "g-abc123.agentid.pub",
|
|
1722
|
+
"event_seq": 42
|
|
1723
|
+
},
|
|
1724
|
+
"module_id": "group",
|
|
1725
|
+
"action": "member_added",
|
|
1726
|
+
"group_id": "g-abc123.agentid.pub",
|
|
1971
1727
|
"event_seq": 42
|
|
1972
|
-
}
|
|
1973
|
-
```
|
|
1974
|
-
|
|
1975
|
-
SDK 交付给应用层的群事件信封字段统一放在 `envelope`。0.4.x 兼容期仍保留顶层 `module_id` / `action` / `group_id` / `event_seq` 等别名,下一个大版本 0.5.* 将移除这些顶层别名,请通过 `ev["envelope"]["action"]` 等路径访问。
|
|
1976
|
-
|
|
1977
|
-
| 字段 | 类型 | 说明 |
|
|
1978
|
-
|------|------|------|
|
|
1979
|
-
| `envelope` | object | 群事件信封,包含 `module_id`、`action`、`group_id`、`event_seq`、`event_type`、`actor_aid`、`created_at`、`device_id`、`slot_id` 等存在的字段 |
|
|
1980
|
-
| `module_id` | string | 固定 `"group"` |
|
|
1981
|
-
| `action` | string | 变更类型(见下表) |
|
|
1982
|
-
| `group_id` | string | 群组 ID |
|
|
1728
|
+
}
|
|
1729
|
+
```
|
|
1730
|
+
|
|
1731
|
+
SDK 交付给应用层的群事件信封字段统一放在 `envelope`。0.4.x 兼容期仍保留顶层 `module_id` / `action` / `group_id` / `event_seq` 等别名,下一个大版本 0.5.* 将移除这些顶层别名,请通过 `ev["envelope"]["action"]` 等路径访问。
|
|
1732
|
+
|
|
1733
|
+
| 字段 | 类型 | 说明 |
|
|
1734
|
+
|------|------|------|
|
|
1735
|
+
| `envelope` | object | 群事件信封,包含 `module_id`、`action`、`group_id`、`event_seq`、`event_type`、`actor_aid`、`created_at`、`device_id`、`slot_id` 等存在的字段 |
|
|
1736
|
+
| `module_id` | string | 固定 `"group"` |
|
|
1737
|
+
| `action` | string | 变更类型(见下表) |
|
|
1738
|
+
| `group_id` | string | 群组 ID |
|
|
1983
1739
|
| `event_seq` | integer | 可选,服务端分配的单调递增序号,用于 SDK 内部保序去重 |
|
|
1984
1740
|
| `request_id` | string | 可选,仅资源审批相关 action |
|
|
1985
1741
|
| `resource_path` | string | 可选,仅资源相关 action |
|
|
@@ -2021,10 +1777,6 @@ SDK 交付给应用层的群事件信封字段统一放在 `envelope`。0.4.x
|
|
|
2021
1777
|
| `resource_put` | 资源上传 |
|
|
2022
1778
|
| `resource_updated` | 资源更新 |
|
|
2023
1779
|
| `resource_deleted` | 资源删除 |
|
|
2024
|
-
| `resource_request_created` | 资源申请创建 |
|
|
2025
|
-
| `resource_direct_added` | 资源直接添加 |
|
|
2026
|
-
| `resource_request_approved` | 资源申请批准 |
|
|
2027
|
-
| `resource_request_rejected` | 资源申请拒绝 |
|
|
2028
1780
|
| `suspended` | 群组暂停 |
|
|
2029
1781
|
| `resumed` | 群组恢复 |
|
|
2030
1782
|
| `dissolved` | 群组解散 |
|
|
@@ -2074,73 +1826,71 @@ SDK 收到后自动解密 `payload`,解密后的明文消息直接交付用户
|
|
|
2074
1826
|
}
|
|
2075
1827
|
```
|
|
2076
1828
|
|
|
2077
|
-
SDK 收到后自动调用 `group.pull` 拉取最新消息并逐条解密后交付用户回调。
|
|
2078
|
-
|
|
2079
|
-
**SDK 应用层回调形态**:
|
|
2080
|
-
|
|
2081
|
-
```json
|
|
2082
|
-
{
|
|
2083
|
-
"envelope": {
|
|
2084
|
-
"group_id": "g-abc123.agentid.pub",
|
|
2085
|
-
"
|
|
2086
|
-
"
|
|
2087
|
-
"
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
"
|
|
2092
|
-
"
|
|
2093
|
-
"
|
|
2094
|
-
"
|
|
2095
|
-
"
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
### event/group.message_recalled
|
|
1829
|
+
SDK 收到后自动调用 `group.pull` 拉取最新消息并逐条解密后交付用户回调。
|
|
1830
|
+
|
|
1831
|
+
**SDK 应用层回调形态**:
|
|
1832
|
+
|
|
1833
|
+
```json
|
|
1834
|
+
{
|
|
1835
|
+
"envelope": {
|
|
1836
|
+
"group_id": "g-abc123.agentid.pub",
|
|
1837
|
+
"from": "alice.agentid.pub",
|
|
1838
|
+
"type": "text",
|
|
1839
|
+
"timestamp": 1234567890000
|
|
1840
|
+
},
|
|
1841
|
+
"group_id": "g-abc123.agentid.pub",
|
|
1842
|
+
"seq": 42,
|
|
1843
|
+
"message_id": "uuid",
|
|
1844
|
+
"sender_aid": "alice.agentid.pub",
|
|
1845
|
+
"message_type": "group.message",
|
|
1846
|
+
"dispatch_mode": "broadcast",
|
|
1847
|
+
"payload": {"type": "text", "text": "Hello"}
|
|
1848
|
+
}
|
|
1849
|
+
```
|
|
1850
|
+
|
|
1851
|
+
SDK 交付给应用层的 `payload` 是明文业务 JSON 对象;群消息信封字段统一放在 `envelope`。`envelope` 只保留可转发的归一化元数据,`from` 由 `sender_aid` 归一化而来,`timestamp` 由 `created_at` / `t_server` 归一化而来。0.4.x 兼容期仍保留顶层 `group_id` / `seq` / `message_id` / `sender_aid` / `dispatch_mode` 等别名,下一个大版本 0.5.* 将移除这些顶层别名;请通过 `msg["envelope"]["from"]`、`msg["envelope"]["timestamp"]` 等路径访问。
|
|
1852
|
+
|
|
1853
|
+
### event/group.message_recalled
|
|
2104
1854
|
|
|
2105
1855
|
群消息撤回后推送给所有在线成员(与 pull 双 tombstone 兜底互补)。在线 push 是实时通道,双 tombstone 是离线 / 未读 / push 丢失时的可靠性兜底;两者最终一致,SDK 去重保证应用层只感知一次。
|
|
2106
1856
|
|
|
2107
1857
|
**Payload**:
|
|
2108
1858
|
|
|
2109
|
-
```json
|
|
2110
|
-
{
|
|
2111
|
-
"envelope": {
|
|
2112
|
-
"
|
|
2113
|
-
"
|
|
2114
|
-
"
|
|
2115
|
-
"
|
|
2116
|
-
"
|
|
2117
|
-
},
|
|
2118
|
-
"module_id": "group",
|
|
2119
|
-
"group_id": "g-abc123.agentid.pub",
|
|
2120
|
-
"seq": 43,
|
|
2121
|
-
"message_id": "grm-uuid",
|
|
2122
|
-
"tombstone_message_id": "grm-uuid",
|
|
2123
|
-
"message_ids": ["gm-aaa"],
|
|
2124
|
-
"target_message_seqs": [42],
|
|
2125
|
-
"sender_aid": "alice.agentid.pub",
|
|
1859
|
+
```json
|
|
1860
|
+
{
|
|
1861
|
+
"envelope": {
|
|
1862
|
+
"group_id": "g-abc123.agentid.pub",
|
|
1863
|
+
"from": "alice.agentid.pub",
|
|
1864
|
+
"type": "group.message_recalled",
|
|
1865
|
+
"kind": "group.message_recalled",
|
|
1866
|
+
"timestamp": 1234567890000
|
|
1867
|
+
},
|
|
1868
|
+
"module_id": "group",
|
|
1869
|
+
"group_id": "g-abc123.agentid.pub",
|
|
1870
|
+
"seq": 43,
|
|
1871
|
+
"message_id": "grm-uuid",
|
|
1872
|
+
"tombstone_message_id": "grm-uuid",
|
|
1873
|
+
"message_ids": ["gm-aaa"],
|
|
1874
|
+
"target_message_seqs": [42],
|
|
1875
|
+
"sender_aid": "alice.agentid.pub",
|
|
2126
1876
|
"recalled_by": "alice.agentid.pub",
|
|
2127
1877
|
"recalled_at": 1234567890000,
|
|
2128
1878
|
"reason": "",
|
|
2129
1879
|
"member_aids": ["bob.agentid.pub"]
|
|
2130
|
-
}
|
|
2131
|
-
```
|
|
2132
|
-
|
|
2133
|
-
SDK 交付给应用层的撤回事件同样带 `envelope`。`envelope` 表示当前交付的撤回 tombstone / 通知自身信封,不是被撤回原消息的信封;业务侧被撤回的原消息列表继续使用 `message_ids` / `target_message_seqs`。0.4.x 兼容期仍保留顶层 `group_id` / `seq` / `message_id` / `sender_aid` 等别名,下一个大版本 0.5.* 将移除这些顶层别名。
|
|
2134
|
-
|
|
2135
|
-
| 字段 | 类型 | 说明 |
|
|
2136
|
-
|------|------|------|
|
|
2137
|
-
| `envelope` | object | 撤回 tombstone / 通知自身信封,包含 `
|
|
2138
|
-
| `module_id` | string | 固定 `"group"` |
|
|
2139
|
-
| `group_id` | string | 群组 ID |
|
|
2140
|
-
| `seq` | integer | 当前交付的撤回 tombstone / 通知 seq;在线 push 为 notice_seq,原 seq 占位 tombstone 为原消息 seq |
|
|
2141
|
-
| `message_id` | string | 当前交付的撤回 tombstone / 通知自己的 message_id |
|
|
2142
|
-
| `tombstone_message_id` | string | 兼容别名,等同于撤回 tombstone / 通知自身的 `message_id` |
|
|
2143
|
-
| `message_ids` | string[] | 被撤回的**原消息 ID 列表** |
|
|
1880
|
+
}
|
|
1881
|
+
```
|
|
1882
|
+
|
|
1883
|
+
SDK 交付给应用层的撤回事件同样带 `envelope`。`envelope` 表示当前交付的撤回 tombstone / 通知自身信封,不是被撤回原消息的信封;业务侧被撤回的原消息列表继续使用 `message_ids` / `target_message_seqs`。`message_id` / `seq` 继续只保留在顶层兼容字段中,不进入 `envelope`。0.4.x 兼容期仍保留顶层 `group_id` / `seq` / `message_id` / `sender_aid` 等别名,下一个大版本 0.5.* 将移除这些顶层别名。
|
|
1884
|
+
|
|
1885
|
+
| 字段 | 类型 | 说明 |
|
|
1886
|
+
|------|------|------|
|
|
1887
|
+
| `envelope` | object | 撤回 tombstone / 通知自身信封,包含 `group_id`、`from`、`type`、`kind`、`timestamp`、`encrypted`、`context`、`protected_headers` 等存在的字段 |
|
|
1888
|
+
| `module_id` | string | 固定 `"group"` |
|
|
1889
|
+
| `group_id` | string | 群组 ID |
|
|
1890
|
+
| `seq` | integer | 当前交付的撤回 tombstone / 通知 seq;在线 push 为 notice_seq,原 seq 占位 tombstone 为原消息 seq |
|
|
1891
|
+
| `message_id` | string | 当前交付的撤回 tombstone / 通知自己的 message_id |
|
|
1892
|
+
| `tombstone_message_id` | string | 兼容别名,等同于撤回 tombstone / 通知自身的 `message_id` |
|
|
1893
|
+
| `message_ids` | string[] | 被撤回的**原消息 ID 列表** |
|
|
2144
1894
|
| `target_message_seqs` | integer[] | 被撤回的原消息 seq 列表 |
|
|
2145
1895
|
| `sender_aid` | string | 原消息发送方 |
|
|
2146
1896
|
| `recalled_by` | string | 撤回操作者 |
|
|
@@ -2174,3 +1924,5 @@ Group 服务定义了以下专用错误码(-33xxx 段):
|
|
|
2174
1924
|
| -33009 | Resource request not found | 检查 request_id |
|
|
2175
1925
|
|
|
2176
1926
|
> SDK 客户端将 -33001 映射为 `GroupNotFoundError`,-33002~-33003 映射为 `GroupStateError`,其余映射为 `GroupError`。未识别的错误码 fallback 到 `AUNError`。
|
|
1927
|
+
|
|
1928
|
+
|