@agentunion/fastaun-browser 0.5.3 → 0.5.4
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 +38 -0
- package/_packed_docs/CHANGELOG.md +38 -0
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +37 -27
- package/_packed_docs/sdk/09-group-rpc-manual.md +26 -16
- package/dist/bundle.js +106 -50
- package/dist/facades.d.ts +3 -0
- package/dist/facades.d.ts.map +1 -1
- package/dist/facades.js +109 -52
- package/dist/facades.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,44 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 0.5.4 — 2026-07-09
|
|
10
|
+
|
|
11
|
+
### 新功能
|
|
12
|
+
|
|
13
|
+
#### 通用 indexed document settings
|
|
14
|
+
- 浏览器 `GroupFacade` 新增 `getSettingWithIndex()` / `updateSettingWithIndex()`,支持按 `keyName` 管理 `{keyName}.content` 与 `{keyName}.attachments` 两类文档型 indexed settings。
|
|
15
|
+
- `keyName` 增加统一校验:必须匹配 `^[A-Za-z][A-Za-z0-9_-]{0,63}$`,并拒绝 `join`、`group`、`index`、`visibility` 等保留基名。
|
|
16
|
+
- `getAnnouncement()` / `updateAnnouncement()` 与 `getRules()` / `updateRules()` 复用通用 indexed document setting 路径,继续通过 signed `group.index` + `expected_index_etag` CAS 写入。
|
|
17
|
+
|
|
18
|
+
#### 入群要求附件
|
|
19
|
+
- `getJoinRequirements()` / `updateJoinRequirements()` 支持 `attachments`,对应服务端 `join.attachments` indexed setting。
|
|
20
|
+
- `join.attachments` 与公告/群规附件保持同一类 `group.fs` 引用结构,可通过 group.index 签名索引同步。
|
|
21
|
+
|
|
22
|
+
#### Group FS 角色 ACL
|
|
23
|
+
- 服务端 group.fs 命名空间新增受保护 `.group` 控制目录,并为 owner/admin 同步基线角色 ACL。
|
|
24
|
+
- owner/admin 默认可写群自有区;admin 可管理群自有区角色 ACL。
|
|
25
|
+
- `role:member` 支持按具体业务目录授予 `rw`,允许成员创建/上传,但不允许删除、重命名或移动群自有区内容。
|
|
26
|
+
|
|
27
|
+
### 修复
|
|
28
|
+
|
|
29
|
+
- 修复 Storage 直接入口对群自有区删除/移动/重命名权限检查不足的问题,删除类操作统一走 `delete` 权限判定。
|
|
30
|
+
- 修复旧 group AID 证书类型仍为 normal 时,Storage 无法通过 group resolver 判定群空间的问题。
|
|
31
|
+
- 兼容 CA 续期时 PEM 公钥与 SPKI base64 的等价比较,并兼容托管续期返回 `cert_pem` / `new_cert` 字段。
|
|
32
|
+
|
|
33
|
+
### 改进
|
|
34
|
+
|
|
35
|
+
- message/group WAL writer 的 `micro_wait` 支持 auto 预算模型,并扩展性能统计输出,便于观察批量写入队列深度与 pending 状态。
|
|
36
|
+
- group.fs 命名空间在读取 group 记录时支持懒修复,缺失 baseline ACL 时可重试同步。
|
|
37
|
+
- SDK 包版本、运行时 `VERSION` 和 conformance 期望版本更新为 `0.5.4`。
|
|
38
|
+
|
|
39
|
+
### 测试
|
|
40
|
+
|
|
41
|
+
- 扩展浏览器 GroupFacade group index 单元测试,覆盖通用 indexed document setting、`join.attachments` 缓存读取和 group.index 写入路径。
|
|
42
|
+
- 更新 conformance 版本期望到 `0.5.4`。
|
|
43
|
+
- 服务端测试扩展 group settings、group.fs namespace / role ACL、Storage 群自有区权限和 CA 续期兼容性。
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
9
47
|
## 0.5.3 — 2026-07-07
|
|
10
48
|
|
|
11
49
|
### 新功能
|
|
@@ -6,6 +6,44 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 0.5.4 — 2026-07-09
|
|
10
|
+
|
|
11
|
+
### 新功能
|
|
12
|
+
|
|
13
|
+
#### 通用 indexed document settings
|
|
14
|
+
- 浏览器 `GroupFacade` 新增 `getSettingWithIndex()` / `updateSettingWithIndex()`,支持按 `keyName` 管理 `{keyName}.content` 与 `{keyName}.attachments` 两类文档型 indexed settings。
|
|
15
|
+
- `keyName` 增加统一校验:必须匹配 `^[A-Za-z][A-Za-z0-9_-]{0,63}$`,并拒绝 `join`、`group`、`index`、`visibility` 等保留基名。
|
|
16
|
+
- `getAnnouncement()` / `updateAnnouncement()` 与 `getRules()` / `updateRules()` 复用通用 indexed document setting 路径,继续通过 signed `group.index` + `expected_index_etag` CAS 写入。
|
|
17
|
+
|
|
18
|
+
#### 入群要求附件
|
|
19
|
+
- `getJoinRequirements()` / `updateJoinRequirements()` 支持 `attachments`,对应服务端 `join.attachments` indexed setting。
|
|
20
|
+
- `join.attachments` 与公告/群规附件保持同一类 `group.fs` 引用结构,可通过 group.index 签名索引同步。
|
|
21
|
+
|
|
22
|
+
#### Group FS 角色 ACL
|
|
23
|
+
- 服务端 group.fs 命名空间新增受保护 `.group` 控制目录,并为 owner/admin 同步基线角色 ACL。
|
|
24
|
+
- owner/admin 默认可写群自有区;admin 可管理群自有区角色 ACL。
|
|
25
|
+
- `role:member` 支持按具体业务目录授予 `rw`,允许成员创建/上传,但不允许删除、重命名或移动群自有区内容。
|
|
26
|
+
|
|
27
|
+
### 修复
|
|
28
|
+
|
|
29
|
+
- 修复 Storage 直接入口对群自有区删除/移动/重命名权限检查不足的问题,删除类操作统一走 `delete` 权限判定。
|
|
30
|
+
- 修复旧 group AID 证书类型仍为 normal 时,Storage 无法通过 group resolver 判定群空间的问题。
|
|
31
|
+
- 兼容 CA 续期时 PEM 公钥与 SPKI base64 的等价比较,并兼容托管续期返回 `cert_pem` / `new_cert` 字段。
|
|
32
|
+
|
|
33
|
+
### 改进
|
|
34
|
+
|
|
35
|
+
- message/group WAL writer 的 `micro_wait` 支持 auto 预算模型,并扩展性能统计输出,便于观察批量写入队列深度与 pending 状态。
|
|
36
|
+
- group.fs 命名空间在读取 group 记录时支持懒修复,缺失 baseline ACL 时可重试同步。
|
|
37
|
+
- SDK 包版本、运行时 `VERSION` 和 conformance 期望版本更新为 `0.5.4`。
|
|
38
|
+
|
|
39
|
+
### 测试
|
|
40
|
+
|
|
41
|
+
- 扩展浏览器 GroupFacade group index 单元测试,覆盖通用 indexed document setting、`join.attachments` 缓存读取和 group.index 写入路径。
|
|
42
|
+
- 更新 conformance 版本期望到 `0.5.4`。
|
|
43
|
+
- 服务端测试扩展 group settings、group.fs namespace / role ACL、Storage 群自有区权限和 CA 续期兼容性。
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
9
47
|
## 0.5.3 — 2026-07-07
|
|
10
48
|
|
|
11
49
|
### 新功能
|
|
@@ -329,7 +329,7 @@ headers = client.get_protected_headers()
|
|
|
329
329
|
| Collab | `client.collab` | `client.collab` | `client.Collab()` | 版本化文档、标签、`gc` / `reflog` / `revert` |
|
|
330
330
|
| Group FS | `client.group.fs` | `client.group.fs` | `client.Group().FS()` | POSIX 风格群文件系统;`ls/find/stat/lstat/mkdir/rm/cp/mv/df/mount/umount`,以及 `set_acl/remove_acl/get_acl/list_acl` 角色 ACL 门面,上传下载数据面由 SDK 编排 |
|
|
331
331
|
|
|
332
|
-
群文件系统路径统一使用 `group_aid:/...`,成员数据区使用 `group_aid:/memberdata/{member_ref}/...`。SDK 不拼接真实 storage 路径,`memberdata` 到成员 `group_data/{group_aid}` 的映射只在服务端完成。群自有区写入允许当前 `group_aid`
|
|
332
|
+
群文件系统路径统一使用 `group_aid:/...`,成员数据区使用 `group_aid:/memberdata/{member_ref}/...`。SDK 不拼接真实 storage 路径,`memberdata` 到成员 `group_data/{group_aid}` 的映射只在服务端完成。群自有区写入允许当前 `group_aid` 证书签名;成员角色中 `owner/admin` 默认可写群自有区,`member` 默认不可写。`owner/admin` 可通过 `group.fs.set_acl` 对特定业务目录授予 `role:member` 的 `rw` 权限,用于后续群协作场景;`rw` 只允许创建/写入,不授予删除、移动、重命名权限。`rwd` 是 storage 内部权限位,SDK/RPC 对外按 POSIX 视图显示为 `rwx`,不给删除/移动/重命名权限时只使用 `rw`。`.group/` 是系统控制目录,默认给 `owner/admin` 写权限,用于群公告、群规则、入群要求附件,不能向 `role:member` 授权。老群如果缺少 `.group/` 默认 ACL,group 服务会在该群首次被 RPC 访问时 best-effort 触发 namespace/ACL lazy repair;ACL 同步全部成功后才记录本进程已检查,失败会在后续访问继续重试。JS 浏览器版上传中 `string` 默认表示文本内容,Node 本地路径需显式 `sourceType: "path"`、`localPath: true` 或 `local:` 前缀;Python/TS/Go 默认把 `string` 当本地路径。
|
|
333
333
|
|
|
334
334
|
### 消息与群组门面
|
|
335
335
|
|
|
@@ -347,15 +347,20 @@ headers = client.get_protected_headers()
|
|
|
347
347
|
- `getInfo()` — 查询群组信息(扁平化格式,提升常用字段到顶层),**推荐外部使用**
|
|
348
348
|
- `info()` — 查询群组详细信息(带权限控制,非成员只能看公开群,成员能看 seq/epoch 等运行时状态)
|
|
349
349
|
|
|
350
|
-
**群设置便利方法**:`GroupFacade` 提供向后兼容的便利方法:
|
|
351
|
-
|
|
352
|
-
- `getAnnouncement()` / `updateAnnouncement()` — 群公告
|
|
353
|
-
- `getRules()` / `updateRules()` — 群规则
|
|
354
|
-
- `getJoinRequirements()` / `updateJoinRequirements()` — 入群要求
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
350
|
+
**群设置便利方法**:`GroupFacade` 提供向后兼容的便利方法:
|
|
351
|
+
|
|
352
|
+
- `getAnnouncement()` / `updateAnnouncement()` — 群公告
|
|
353
|
+
- `getRules()` / `updateRules()` — 群规则
|
|
354
|
+
- `getJoinRequirements()` / `updateJoinRequirements()` — 入群要求
|
|
355
|
+
- `getSettingWithIndex()` / `updateSettingWithIndex()` — 通用文档型 indexed setting(Python 为 `get_setting_with_index()` / `update_setting_with_index()`,Go 为 `GetSettingWithIndex()` / `UpdateSettingWithIndex()`)
|
|
356
|
+
|
|
357
|
+
读取方法优先返回 SDK 本地缓存;本地没有对应值时才读取相应 settings 做初始化。便利读取从服务端拿到 canonical `group_aid` 后,会同时以 canonical `group_aid` 和本次入参 `group_id` 写入 settings cache,避免 legacy/base `group_id` 下一次读取直接 cache miss。即使 `checkGroupIndex` 观察到远端 etag 与本地 etag 不一致,`getAnnouncement()` / `getRules()` / `getJoinRequirements()` / `getSettingWithIndex()` 也不会自动拉取远端版本覆盖本地缓存。`updateAnnouncement()` / `updateRules()` / `updateJoinRequirements()` / `updateSettingWithIndex()` 属于 indexed 写入,内部会调用 `updateGroupIndex` 生成签名 `group.index` 并带 `expected_index_etag` CAS 提交。
|
|
358
|
+
|
|
359
|
+
`getSettingWithIndex()` / `updateSettingWithIndex()` 比三对预定义方法多一个 `keyName`(Python 可传 `key_name`,Go 同时接受 `keyName` / `key_name`)。SDK 会生成 `{keyName}.content` 和 `{keyName}.attachments` 两个 settings key;`keyName` 只能是受控文档名(`^[A-Za-z][A-Za-z0-9_-]{0,63}$`,且不能使用 `join` 等保留前缀)。`getRules()` / `updateRules()` 与 `getAnnouncement()` / `updateAnnouncement()` 是该通用方法在 `rules`、`announcement` 上的薄封装;`getJoinRequirements()` / `updateJoinRequirements()` 保持结构化 schema,不改成 `join.content`。
|
|
360
|
+
|
|
361
|
+
这些 `update*` 便利方法只更新群设置元数据:`updateRules()` / `updateAnnouncement()` / `updateSettingWithIndex()` 写入 `*.content` 与 `*.attachments`,`updateJoinRequirements()` 写入 `join.mode` / `join.question` / `join.auto_approve_patterns` / `join.max_pending` / `join.attachments`。`attachments` 只保存稳定引用,附件实体应先上传到 group.fs 群自有区,推荐路径为 `group_aid:/.group/attachments/{rules|announcement|join|<keyName>}/...`。
|
|
362
|
+
|
|
363
|
+
**Group Index 高级同步方法**:`group.index` 是 SDK 内部签名 manifest,用于记录群公告、群规则、入群要求及附件稳定引用的版本。SDK 观察 `_meta.group_indexes` 后只记录远端 etag;etag 不一致只表示本地与观察到的远端版本不同,可能是远端更新,也可能是本地有未提交修改。应用层需要显式选择 pull 远端或 push 本地。
|
|
359
364
|
|
|
360
365
|
| 语义 | Python | TS/JS | Go | 说明 |
|
|
361
366
|
|------|--------|-------|----|------|
|
|
@@ -525,13 +530,14 @@ fmt.Printf("拉取成功,etag: %s\n", result["meta"].(map[string]any)["etag"])
|
|
|
525
530
|
| `last_modified` | int | ❌ | 时间戳毫秒(默认 `Date.now()` / `time.time()*1000`) |
|
|
526
531
|
| `max_attempts` | int | ❌ | CAS 冲突最大重试次数(默认 2) |
|
|
527
532
|
|
|
528
|
-
**支持的 indexed settings keys**:
|
|
529
|
-
|
|
530
|
-
- `rules.content` / `rules.attachments` — 群规则及附件
|
|
531
|
-
- `announcement.content` / `announcement.attachments` — 群公告及附件
|
|
532
|
-
- `join.mode` / `join.question` / `join.auto_approve_patterns` / `join.max_pending` —
|
|
533
|
-
|
|
534
|
-
|
|
533
|
+
**支持的 indexed settings keys**:
|
|
534
|
+
|
|
535
|
+
- `rules.content` / `rules.attachments` — 群规则及附件
|
|
536
|
+
- `announcement.content` / `announcement.attachments` — 群公告及附件
|
|
537
|
+
- `join.mode` / `join.question` / `join.auto_approve_patterns` / `join.max_pending` / `join.attachments` — 入群要求及附件
|
|
538
|
+
- `{keyName}.content` / `{keyName}.attachments` — 通用文档型 indexed setting;`keyName` 需满足 `^[A-Za-z][A-Za-z0-9_-]{0,63}$`,且不能使用 `join` 等保留前缀
|
|
539
|
+
|
|
540
|
+
**返回值**:
|
|
535
541
|
|
|
536
542
|
```python
|
|
537
543
|
{
|
|
@@ -600,13 +606,16 @@ console.log(`推送成功,新 etag: ${result._meta.group_indexes['g-team.agent
|
|
|
600
606
|
|
|
601
607
|
```go
|
|
602
608
|
// Go - 更新入群要求
|
|
603
|
-
result, err := client.Group().UpdateGroupIndex(ctx, map[string]any{
|
|
604
|
-
"group_id": "g-team.agentid.pub",
|
|
605
|
-
"settings": map[string]any{
|
|
606
|
-
"join.mode": "approval",
|
|
607
|
-
"join.question": "你是如何知道本群的?",
|
|
608
|
-
|
|
609
|
-
}
|
|
609
|
+
result, err := client.Group().UpdateGroupIndex(ctx, map[string]any{
|
|
610
|
+
"group_id": "g-team.agentid.pub",
|
|
611
|
+
"settings": map[string]any{
|
|
612
|
+
"join.mode": "approval",
|
|
613
|
+
"join.question": "你是如何知道本群的?",
|
|
614
|
+
"join.attachments": []any{
|
|
615
|
+
map[string]any{"type": "group.fs", "path": "/.group/attachments/join/guide.pdf"},
|
|
616
|
+
},
|
|
617
|
+
},
|
|
618
|
+
})
|
|
610
619
|
if err != nil {
|
|
611
620
|
log.Fatal(err)
|
|
612
621
|
}
|
|
@@ -618,9 +627,10 @@ fmt.Printf("推送成功\n")
|
|
|
618
627
|
1. **权限要求**:写入 indexed settings 需要 admin 及以上权限
|
|
619
628
|
2. **签名算法限制**:当前版本仅支持 ECDSA-P256-SHA256,使用其他算法的 AID 无法签名
|
|
620
629
|
3. **CAS 冲突策略**:默认重试 2 次,高并发场景建议增加 `max_attempts`
|
|
621
|
-
4. **`signer` 必须是当前连接身份**:服务端强制校验 `signed_by == actor_aid`,传入其他 AID 会被拒绝
|
|
622
|
-
|
|
623
|
-
|
|
630
|
+
4. **`signer` 必须是当前连接身份**:服务端强制校验 `signed_by == actor_aid`,传入其他 AID 会被拒绝
|
|
631
|
+
5. **附件字段只存引用**:`updateRules` / `updateAnnouncement` / `updateSettingWithIndex` 传入 `content` 和 `attachments` 元数据引用;`updateJoinRequirements` 传入结构化入群字段和 `attachments` 元数据引用。附件实体先上传到群自有区,推荐路径为 `group_aid:/.group/attachments/{rules|announcement|join|<keyName>}/...`。群自有区默认允许 `owner/admin` 写入,`member` 默认不可写;`.group/` 不允许授予 `role:member` 写权限。
|
|
632
|
+
|
|
633
|
+
---
|
|
624
634
|
|
|
625
635
|
## ServiceProxyClient
|
|
626
636
|
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
| [group.set_settings](#groupset_settings) | 统一设置群参数(含公告、规则、入群要求、dispatch_mode 等) |
|
|
104
104
|
| [group.get_settings](#groupget_settings) | 统一读取群参数 |
|
|
105
105
|
|
|
106
|
-
**便利方法**:SDK 提供向后兼容的便利方法(`getAnnouncement`/`updateAnnouncement`/`getRules`/`updateRules`/`getJoinRequirements`/`updateJoinRequirements`)。读取方法优先返回 SDK 本地缓存,本地没有对应值时才调用 `get_settings` 初始化;即使观察到远端 etag 不一致也不会自动 pull 远端。indexed 写入方法内部调用 `updateGroupIndex` 生成签名 `group.index` 并通过 `set_settings` CAS 提交。
|
|
106
|
+
**便利方法**:SDK 提供向后兼容的便利方法(`getAnnouncement`/`updateAnnouncement`/`getRules`/`updateRules`/`getJoinRequirements`/`updateJoinRequirements`),并提供通用文档型方法(`getSettingWithIndex`/`updateSettingWithIndex`,Python 为 `get_setting_with_index`/`update_setting_with_index`,Go 为 `GetSettingWithIndex`/`UpdateSettingWithIndex`)。读取方法优先返回 SDK 本地缓存,本地没有对应值时才调用 `get_settings` 初始化;即使观察到远端 etag 不一致也不会自动 pull 远端。indexed 写入方法内部调用 `updateGroupIndex` 生成签名 `group.index` 并通过 `set_settings` CAS 提交。
|
|
107
107
|
|
|
108
108
|
### 群文件系统
|
|
109
109
|
|
|
@@ -493,7 +493,7 @@ SDK 发起 `group.*` 调用时会把传入的 `group_id` / `groupId` / `group_ai
|
|
|
493
493
|
|
|
494
494
|
### group.set_role
|
|
495
495
|
|
|
496
|
-
|
|
496
|
+
设置成员角色。`owner` 可将普通成员设为 `admin`,也可将 `admin` 设回 `member`;`admin` 不能修改其它成员角色,只能将自己的角色降为 `member`。不能通过 `group.set_role` 改变 `owner` 角色;群主只在建群或 `group.transfer_owner` 中变更。该 RPC 改变 membership 中的角色事实;`owner/admin` 默认拥有群自有区写权限,`member` 默认没有写权限。成员级群协作目录应通过 `group.fs.set_acl` 显式授予 `role:member` 的 `rw` 权限。
|
|
497
497
|
|
|
498
498
|
**参数**:
|
|
499
499
|
|
|
@@ -966,7 +966,12 @@ aun-group-aid-renew-v1|{group_id}|{group_aid}|{sha256(old_public_key)}|{sha256(n
|
|
|
966
966
|
| `expected_index_etag` | string | 写 `group.index` 时必填 | CAS 期望旧 etag;空字符串表示只允许创建首个 `group.index` |
|
|
967
967
|
| `settings["dispatch_mode"]` | string | 否 | `"broadcast"` / `"mention"`,默认 `"broadcast"` |
|
|
968
968
|
| `settings["rules.content"]` | string | 否 | 群规则正文 |
|
|
969
|
+
| `settings["rules.attachments"]` | array | 否 | 群规则附件稳定引用 |
|
|
969
970
|
| `settings["announcement.content"]` | string | 否 | 群公告正文 |
|
|
971
|
+
| `settings["announcement.attachments"]` | array | 否 | 群公告附件稳定引用 |
|
|
972
|
+
| `settings["join.attachments"]` | array | 否 | 入群要求附件稳定引用 |
|
|
973
|
+
| `settings["{keyName}.content"]` | string | 否 | 通用文档型 indexed setting 正文;`keyName` 需满足受控命名规则 |
|
|
974
|
+
| `settings["{keyName}.attachments"]` | array | 否 | 通用文档型 indexed setting 附件稳定引用 |
|
|
970
975
|
| `settings["group.index"]` | object | 更新 indexed settings 时必填 | 签名 group index,当前结构至少包含 `body` |
|
|
971
976
|
|
|
972
977
|
**预定义群级参数**:
|
|
@@ -981,9 +986,10 @@ aun-group-aid-renew-v1|{group_id}|{group_aid}|{sha256(old_public_key)}|{sha256(n
|
|
|
981
986
|
| `announcement.content` | string | `""` | 群公告正文 |
|
|
982
987
|
| `announcement.attachments` | array | `[]` | 群公告附件 |
|
|
983
988
|
| `join.mode` | string | 按 `visibility` 推导:`public -> open`,`private -> approval` | 入群模式:`"open"` / `"approval"` / `"invite_only"` / `"closed"` |
|
|
984
|
-
| `join.question` | string | `""` | 入群问题 |
|
|
985
|
-
| `join.auto_approve_patterns` | array | `[]` | 自动批准 AID 匹配规则 |
|
|
989
|
+
| `join.question` | string | `""` | 入群问题 |
|
|
990
|
+
| `join.auto_approve_patterns` | array | `[]` | 自动批准 AID 匹配规则 |
|
|
986
991
|
| `join.max_pending` | integer | `100` | 最大待审批入群申请数 |
|
|
992
|
+
| `join.attachments` | array | `[]` | 入群材料附件稳定引用 |
|
|
987
993
|
| `dispatch_mode` | string | `"broadcast"` | 群消息分发标签:`"broadcast"` / `"mention"`;未显式设置时 `get_settings` 仍返回默认值 |
|
|
988
994
|
| `group.index` | object | — | 保留 key;签名 JSONL 群索引,由 SDK 生成,服务端只校验、CAS 保存和返回 |
|
|
989
995
|
|
|
@@ -993,15 +999,18 @@ aun-group-aid-renew-v1|{group_id}|{group_aid}|{sha256(old_public_key)}|{sha256(n
|
|
|
993
999
|
|-----|------|
|
|
994
1000
|
| `rules.content` / `rules.attachments` | 群规则正文与附件稳定引用 |
|
|
995
1001
|
| `announcement.content` / `announcement.attachments` | 群公告正文与附件稳定引用 |
|
|
996
|
-
| `join.mode` / `join.question` / `join.auto_approve_patterns` / `join.max_pending` |
|
|
1002
|
+
| `join.mode` / `join.question` / `join.auto_approve_patterns` / `join.max_pending` / `join.attachments` | 入群要求配置与附件稳定引用 |
|
|
1003
|
+
| `{keyName}.content` / `{keyName}.attachments` | 通用文档型设置正文与附件稳定引用 |
|
|
997
1004
|
|
|
998
1005
|
写入规则:
|
|
999
1006
|
|
|
1000
1007
|
- 只更新非 indexed settings 时,继续直接调用 `set_settings`,不需要 `group.index`。
|
|
1001
1008
|
- 更新任意 indexed setting 时,必须在同一次 `settings` 中携带签名 `group.index`。
|
|
1009
|
+
- 服务端只接受受控动态文档 key:`{keyName}.content` / `{keyName}.attachments`,其中 `keyName` 匹配 `^[A-Za-z][A-Za-z0-9_-]{0,63}$`,且不能使用 `join` 等保留前缀。调用方不能用该机制写任意 settings key。
|
|
1002
1010
|
- 写入 `group.index` 时必须传 `expected_index_etag`。
|
|
1003
1011
|
- 服务端在同一事务内比较当前 `group.index` etag、写 indexed settings、写 `group.index`。
|
|
1004
1012
|
- CAS 失败时错误消息包含 `group.index etag conflict`;SDK 的 `updateGroupIndex` 会重新读取当前 index、重建签名并按 `max_attempts` 重试。
|
|
1013
|
+
- `rules.attachments`、`announcement.attachments`、`join.attachments` 和 `{keyName}.attachments` 只保存附件引用;附件实体应先写入群自有区,推荐路径为 `group_aid:/.group/attachments/{rules|announcement|join|<keyName>}/...`。群自有区默认允许 `owner/admin` 写入,`member` 默认不可写;`.group/` 是系统控制目录,不允许授予 `role:member` 写权限。
|
|
1005
1014
|
|
|
1006
1015
|
```python
|
|
1007
1016
|
await client.call("group.set_settings", {
|
|
@@ -1386,8 +1395,9 @@ result = await client.call("group.thought.get", {
|
|
|
1386
1395
|
|
|
1387
1396
|
权限与签名约束:
|
|
1388
1397
|
|
|
1389
|
-
- 群自有区是除 `memberdata` 等系统保留路径外的整个 `group_aid` namespace。`group_aid`
|
|
1390
|
-
-
|
|
1398
|
+
- 群自有区是除 `memberdata` 等系统保留路径外的整个 `group_aid` namespace。`group_aid` 当前证书签名可写;成员角色中 `owner/admin` 默认可写,`member` 默认不可写。`group_aid:/.group/` 是系统控制目录,用于群公告、群规则、入群要求附件,默认允许 `owner/admin` 写入。
|
|
1399
|
+
- 老群如果缺少 `.group/` 默认 ACL,group 服务会在该群首次被 RPC 访问时 best-effort 触发 namespace/ACL lazy repair;只有本次 baseline ACL 全部同步成功才记录本进程已检查,失败会在后续访问继续重试。
|
|
1400
|
+
- `group.fs.set_acl` / `group.fs.remove_acl` / `group.fs.get_acl` / `group.fs.list_acl` 只能由当前 group `owner/admin` 调用。当前支持 `grantee_aid="role:admin"` 与 `grantee_aid="role:member"`;`role:member` 只能授予具体业务目录的 `rw` 权限,不能授予根目录或 `.group/`,也不能获得删除、移动、重命名权限。成员升降级、退群、踢出不会联动授权或撤销目录 ACL。
|
|
1391
1401
|
- `memberdata/{member_ref}` 写入默认只允许该成员本人;SDK 只传 group path,不拼接真实 storage 路径。
|
|
1392
1402
|
- 上传控制面会透传 `parents` 到 storage:默认 `parents=true` 时可递归创建父目录,显式 `parents=false` 时父目录必须已存在。
|
|
1393
1403
|
- JavaScript 浏览器版 `cp(string, group)` 默认把 string 当文本内容上传;Node 本地路径需显式传 `sourceType: "path"`、`localPath: true` 或使用 `local:` 前缀。Python、TypeScript 和 Go 默认把 string 当本地路径。
|
|
@@ -1418,21 +1428,21 @@ result = await client.call("group.thought.get", {
|
|
|
1418
1428
|
|
|
1419
1429
|
### group.fs.set_acl
|
|
1420
1430
|
|
|
1421
|
-
授予群自有区角色 ACL。需要当前 group owner
|
|
1422
|
-
|
|
1423
|
-
参数:`path` 必填,指向群自有区路径;`grantee_aid`
|
|
1431
|
+
授予群自有区角色 ACL。需要当前 group `owner/admin` 身份调用;底层由 group 服务以内部门面写入 `storage.set_acl`。
|
|
1432
|
+
|
|
1433
|
+
参数:`path` 必填,指向群自有区路径;`grantee_aid` 可为 `role:admin` 或 `role:member`。`role:admin` 默认 `rwx`;`role:member` 只能为 `rw`,且只能授到具体业务目录,不能授到根目录或 `.group/`。`path` 可传 `group_aid:/archive` 等 group path。服务端写入 storage 内部权限位时会把 POSIX 删除位 `x` 映射为内部 `d`,对外响应仍显示 `rwx`;不授删除、移动、重命名权限时使用 `rw`。
|
|
1424
1434
|
|
|
1425
1435
|
### group.fs.remove_acl
|
|
1426
1436
|
|
|
1427
|
-
撤销群自有区角色 ACL。需要当前 group owner
|
|
1428
|
-
|
|
1429
|
-
参数:`path` 必填,指向群自有区路径;`grantee_aid`
|
|
1437
|
+
撤销群自有区角色 ACL。需要当前 group `owner/admin` 身份调用;底层由 group 服务以内部门面写入 `storage.remove_acl`。
|
|
1438
|
+
|
|
1439
|
+
参数:`path` 必填,指向群自有区路径;`grantee_aid` 可为 `role:admin` 或 `role:member`。撤销 `role:member` 后,member 不再因该目录 ACL 获得创建/写入权限。
|
|
1430
1440
|
|
|
1431
1441
|
### group.fs.get_acl
|
|
1432
1442
|
|
|
1433
|
-
查询群自有区角色 ACL。需要当前 group owner
|
|
1434
|
-
|
|
1435
|
-
响应包含 `group_id`、`group_aid`、`path`、`area`、`storage` 和 `acls`。`acls[].perms` 使用 POSIX 视图,删除权限显示为 `x
|
|
1443
|
+
查询群自有区角色 ACL。需要当前 group `owner/admin` 身份调用;普通 member 不能查询。参数:`path` 必填,指向群自有区路径;可传裸路径 + `group_id`,也可传完整 `group_aid:/...`。
|
|
1444
|
+
|
|
1445
|
+
响应包含 `group_id`、`group_aid`、`path`、`area`、`storage` 和 `acls`。`acls[].perms` 使用 POSIX 视图,删除权限显示为 `x`,因此授权 `role:admin:rwx` 后查询也返回 `rwx`;`role:member` 只应返回 `rw`。
|
|
1436
1446
|
|
|
1437
1447
|
### group.fs.list_acl
|
|
1438
1448
|
|
package/dist/bundle.js
CHANGED
|
@@ -460,7 +460,7 @@ var init_indexeddb_store = __esm({
|
|
|
460
460
|
});
|
|
461
461
|
|
|
462
462
|
// src/version.ts
|
|
463
|
-
var VERSION = "0.5.
|
|
463
|
+
var VERSION = "0.5.4";
|
|
464
464
|
|
|
465
465
|
// src/types.ts
|
|
466
466
|
var ConnectionState = /* @__PURE__ */ ((ConnectionState2) => {
|
|
@@ -11660,6 +11660,19 @@ function isRecord4(value) {
|
|
|
11660
11660
|
}
|
|
11661
11661
|
|
|
11662
11662
|
// src/facades.ts
|
|
11663
|
+
var INDEXED_DOCUMENT_SETTING_KEY_NAME_RE = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
|
|
11664
|
+
var INDEXED_DOCUMENT_SETTING_RESERVED_BASES = /* @__PURE__ */ new Set([
|
|
11665
|
+
"join",
|
|
11666
|
+
"dispatch_mode",
|
|
11667
|
+
"duty",
|
|
11668
|
+
"e2ee",
|
|
11669
|
+
"group",
|
|
11670
|
+
"group_index",
|
|
11671
|
+
"index",
|
|
11672
|
+
"name",
|
|
11673
|
+
"description",
|
|
11674
|
+
"visibility"
|
|
11675
|
+
]);
|
|
11663
11676
|
function stripNil2(params2) {
|
|
11664
11677
|
const out = {};
|
|
11665
11678
|
for (const [key, value] of Object.entries(params2 ?? {})) {
|
|
@@ -11688,6 +11701,14 @@ function indexUpdateParams(groupId, settings, merged) {
|
|
|
11688
11701
|
}
|
|
11689
11702
|
return out;
|
|
11690
11703
|
}
|
|
11704
|
+
function indexedDocumentKeyName(params2) {
|
|
11705
|
+
const raw = "keyName" in params2 ? params2.keyName : params2.key_name;
|
|
11706
|
+
const keyName = String(raw ?? "").trim();
|
|
11707
|
+
if (!keyName || INDEXED_DOCUMENT_SETTING_RESERVED_BASES.has(keyName.toLowerCase()) || !INDEXED_DOCUMENT_SETTING_KEY_NAME_RE.test(keyName)) {
|
|
11708
|
+
throw new Error("keyName must match ^[A-Za-z][A-Za-z0-9_-]{0,63}$");
|
|
11709
|
+
}
|
|
11710
|
+
return keyName;
|
|
11711
|
+
}
|
|
11691
11712
|
var RpcFacade = class {
|
|
11692
11713
|
constructor(client) {
|
|
11693
11714
|
__publicField(this, "client");
|
|
@@ -12048,83 +12069,115 @@ var GroupFacade = class extends RpcFacade {
|
|
|
12048
12069
|
ackEvents(params2) {
|
|
12049
12070
|
return this.call("group.ack_events", params2);
|
|
12050
12071
|
}
|
|
12051
|
-
|
|
12072
|
+
documentSettingResult(groupId, keyName, settings) {
|
|
12073
|
+
const contentKey = `${keyName}.content`;
|
|
12074
|
+
const attachmentsKey = `${keyName}.attachments`;
|
|
12075
|
+
return {
|
|
12076
|
+
group_id: groupId,
|
|
12077
|
+
setting: {
|
|
12078
|
+
group_id: groupId,
|
|
12079
|
+
key_name: keyName,
|
|
12080
|
+
content: settings[contentKey] ?? "",
|
|
12081
|
+
attachments: settings[attachmentsKey] ?? [],
|
|
12082
|
+
updated_by: settings[`${contentKey}.updated_by`] ?? "",
|
|
12083
|
+
updated_at: settings[`${contentKey}.updated_at`] ?? 0
|
|
12084
|
+
}
|
|
12085
|
+
};
|
|
12086
|
+
}
|
|
12087
|
+
async getSettingWithIndex(params2) {
|
|
12052
12088
|
const merged = params2 || {};
|
|
12053
12089
|
const groupId = merged.group_id;
|
|
12054
12090
|
if (!groupId) throw new Error("group_id is required");
|
|
12091
|
+
const keyName = indexedDocumentKeyName(merged);
|
|
12055
12092
|
const { groupId: resultGroupId, settings } = await this.getIndexedSettings(
|
|
12056
12093
|
String(groupId),
|
|
12057
|
-
[
|
|
12094
|
+
[`${keyName}.content`, `${keyName}.attachments`]
|
|
12058
12095
|
);
|
|
12096
|
+
return this.documentSettingResult(resultGroupId, keyName, settings);
|
|
12097
|
+
}
|
|
12098
|
+
async updateSettingWithIndex(params2) {
|
|
12099
|
+
const merged = params2 || {};
|
|
12100
|
+
const groupId = merged.group_id;
|
|
12101
|
+
if (!groupId) throw new Error("group_id is required");
|
|
12102
|
+
const keyName = indexedDocumentKeyName(merged);
|
|
12103
|
+
if (!("content" in merged)) throw new Error("content is required");
|
|
12104
|
+
const content = merged.content;
|
|
12105
|
+
const attachments = merged.attachments ?? [];
|
|
12106
|
+
const settingsUpdate = { [`${keyName}.content`]: content };
|
|
12107
|
+
if ("attachments" in merged) {
|
|
12108
|
+
settingsUpdate[`${keyName}.attachments`] = attachments;
|
|
12109
|
+
}
|
|
12110
|
+
const result = await this.updateGroupIndex(indexUpdateParams(groupId, settingsUpdate, merged));
|
|
12111
|
+
const resultGroupId = String(result.group_id ?? groupId);
|
|
12059
12112
|
return {
|
|
12060
12113
|
group_id: resultGroupId,
|
|
12061
|
-
|
|
12114
|
+
setting: {
|
|
12062
12115
|
group_id: resultGroupId,
|
|
12063
|
-
|
|
12064
|
-
|
|
12065
|
-
|
|
12066
|
-
|
|
12116
|
+
key_name: keyName,
|
|
12117
|
+
content,
|
|
12118
|
+
attachments,
|
|
12119
|
+
updated_by: "",
|
|
12120
|
+
updated_at: 0
|
|
12121
|
+
}
|
|
12122
|
+
};
|
|
12123
|
+
}
|
|
12124
|
+
async getAnnouncement(params2) {
|
|
12125
|
+
const merged = params2 || {};
|
|
12126
|
+
const result = await this.getSettingWithIndex({ ...merged, keyName: "announcement" });
|
|
12127
|
+
const resultMap = result;
|
|
12128
|
+
const setting = resultMap.setting;
|
|
12129
|
+
return {
|
|
12130
|
+
group_id: resultMap.group_id,
|
|
12131
|
+
announcement: {
|
|
12132
|
+
group_id: setting.group_id,
|
|
12133
|
+
content: setting.content,
|
|
12134
|
+
attachments: setting.attachments,
|
|
12135
|
+
updated_by: setting.updated_by,
|
|
12136
|
+
updated_at: setting.updated_at
|
|
12067
12137
|
}
|
|
12068
12138
|
};
|
|
12069
12139
|
}
|
|
12070
12140
|
async updateAnnouncement(params2) {
|
|
12071
12141
|
const merged = params2 || {};
|
|
12072
|
-
const
|
|
12073
|
-
const
|
|
12074
|
-
const
|
|
12075
|
-
if (!groupId) throw new Error("group_id is required");
|
|
12076
|
-
if (content === void 0) throw new Error("content is required");
|
|
12077
|
-
const settingsUpdate = { "announcement.content": content };
|
|
12078
|
-
if (attachments !== void 0) {
|
|
12079
|
-
settingsUpdate["announcement.attachments"] = attachments;
|
|
12080
|
-
}
|
|
12081
|
-
const result = await this.updateGroupIndex(indexUpdateParams(groupId, settingsUpdate, merged));
|
|
12142
|
+
const result = await this.updateSettingWithIndex({ ...merged, keyName: "announcement" });
|
|
12143
|
+
const resultMap = result;
|
|
12144
|
+
const setting = resultMap.setting;
|
|
12082
12145
|
return {
|
|
12083
|
-
group_id:
|
|
12146
|
+
group_id: resultMap.group_id,
|
|
12084
12147
|
announcement: {
|
|
12085
|
-
group_id:
|
|
12086
|
-
content,
|
|
12087
|
-
attachments: attachments
|
|
12148
|
+
group_id: resultMap.group_id,
|
|
12149
|
+
content: setting.content,
|
|
12150
|
+
attachments: setting.attachments
|
|
12088
12151
|
}
|
|
12089
12152
|
};
|
|
12090
12153
|
}
|
|
12091
12154
|
async getRules(params2) {
|
|
12092
12155
|
const merged = params2 || {};
|
|
12093
|
-
const
|
|
12094
|
-
|
|
12095
|
-
const
|
|
12096
|
-
String(groupId),
|
|
12097
|
-
["rules.content", "rules.attachments"]
|
|
12098
|
-
);
|
|
12156
|
+
const result = await this.getSettingWithIndex({ ...merged, keyName: "rules" });
|
|
12157
|
+
const resultMap = result;
|
|
12158
|
+
const setting = resultMap.setting;
|
|
12099
12159
|
return {
|
|
12100
|
-
group_id:
|
|
12160
|
+
group_id: resultMap.group_id,
|
|
12101
12161
|
rules: {
|
|
12102
|
-
group_id:
|
|
12103
|
-
content:
|
|
12104
|
-
attachments:
|
|
12105
|
-
updated_by:
|
|
12106
|
-
updated_at:
|
|
12162
|
+
group_id: setting.group_id,
|
|
12163
|
+
content: setting.content,
|
|
12164
|
+
attachments: setting.attachments,
|
|
12165
|
+
updated_by: setting.updated_by,
|
|
12166
|
+
updated_at: setting.updated_at
|
|
12107
12167
|
}
|
|
12108
12168
|
};
|
|
12109
12169
|
}
|
|
12110
12170
|
async updateRules(params2) {
|
|
12111
12171
|
const merged = params2 || {};
|
|
12112
|
-
const
|
|
12113
|
-
const
|
|
12114
|
-
const
|
|
12115
|
-
if (!groupId) throw new Error("group_id is required");
|
|
12116
|
-
if (content === void 0) throw new Error("content is required");
|
|
12117
|
-
const settingsUpdate = { "rules.content": content };
|
|
12118
|
-
if (attachments !== void 0) {
|
|
12119
|
-
settingsUpdate["rules.attachments"] = attachments;
|
|
12120
|
-
}
|
|
12121
|
-
const result = await this.updateGroupIndex(indexUpdateParams(groupId, settingsUpdate, merged));
|
|
12172
|
+
const result = await this.updateSettingWithIndex({ ...merged, keyName: "rules" });
|
|
12173
|
+
const resultMap = result;
|
|
12174
|
+
const setting = resultMap.setting;
|
|
12122
12175
|
return {
|
|
12123
|
-
group_id:
|
|
12176
|
+
group_id: resultMap.group_id,
|
|
12124
12177
|
rules: {
|
|
12125
|
-
group_id:
|
|
12126
|
-
content,
|
|
12127
|
-
attachments: attachments
|
|
12178
|
+
group_id: resultMap.group_id,
|
|
12179
|
+
content: setting.content,
|
|
12180
|
+
attachments: setting.attachments
|
|
12128
12181
|
}
|
|
12129
12182
|
};
|
|
12130
12183
|
}
|
|
@@ -12134,7 +12187,7 @@ var GroupFacade = class extends RpcFacade {
|
|
|
12134
12187
|
if (!groupId) throw new Error("group_id is required");
|
|
12135
12188
|
const { groupId: resultGroupId, settings } = await this.getIndexedSettings(
|
|
12136
12189
|
String(groupId),
|
|
12137
|
-
["join.mode", "join.question", "join.auto_approve_patterns", "join.max_pending"]
|
|
12190
|
+
["join.mode", "join.question", "join.auto_approve_patterns", "join.max_pending", "join.attachments"]
|
|
12138
12191
|
);
|
|
12139
12192
|
return {
|
|
12140
12193
|
group_id: resultGroupId,
|
|
@@ -12144,6 +12197,7 @@ var GroupFacade = class extends RpcFacade {
|
|
|
12144
12197
|
question: settings["join.question"] || "",
|
|
12145
12198
|
auto_approve_patterns: settings["join.auto_approve_patterns"] || [],
|
|
12146
12199
|
max_pending: settings["join.max_pending"] || 100,
|
|
12200
|
+
attachments: settings["join.attachments"] || [],
|
|
12147
12201
|
updated_by: settings["join.mode.updated_by"] || "",
|
|
12148
12202
|
updated_at: settings["join.mode.updated_at"] || 0
|
|
12149
12203
|
}
|
|
@@ -12158,6 +12212,7 @@ var GroupFacade = class extends RpcFacade {
|
|
|
12158
12212
|
if ("question" in merged) settingsUpdate["join.question"] = merged.question;
|
|
12159
12213
|
if ("auto_approve_patterns" in merged) settingsUpdate["join.auto_approve_patterns"] = merged.auto_approve_patterns;
|
|
12160
12214
|
if ("max_pending" in merged) settingsUpdate["join.max_pending"] = merged.max_pending;
|
|
12215
|
+
if ("attachments" in merged) settingsUpdate["join.attachments"] = merged.attachments;
|
|
12161
12216
|
if (Object.keys(settingsUpdate).length === 0) {
|
|
12162
12217
|
throw new Error("at least one field to update is required");
|
|
12163
12218
|
}
|
|
@@ -12169,7 +12224,8 @@ var GroupFacade = class extends RpcFacade {
|
|
|
12169
12224
|
mode: merged.mode,
|
|
12170
12225
|
question: merged.question,
|
|
12171
12226
|
auto_approve_patterns: merged.auto_approve_patterns,
|
|
12172
|
-
max_pending: merged.max_pending
|
|
12227
|
+
max_pending: merged.max_pending,
|
|
12228
|
+
attachments: merged.attachments || []
|
|
12173
12229
|
}
|
|
12174
12230
|
};
|
|
12175
12231
|
}
|
package/dist/facades.d.ts
CHANGED
|
@@ -83,6 +83,9 @@ export declare class GroupFacade extends RpcFacade {
|
|
|
83
83
|
pullEvents(params?: FacadeParams | null): Promise<RpcResult>;
|
|
84
84
|
ackMessages(params?: FacadeParams | null): Promise<RpcResult>;
|
|
85
85
|
ackEvents(params?: FacadeParams | null): Promise<RpcResult>;
|
|
86
|
+
private documentSettingResult;
|
|
87
|
+
getSettingWithIndex(params?: FacadeParams | null): Promise<RpcResult>;
|
|
88
|
+
updateSettingWithIndex(params?: FacadeParams | null): Promise<RpcResult>;
|
|
86
89
|
getAnnouncement(params?: FacadeParams | null): Promise<RpcResult>;
|
|
87
90
|
updateAnnouncement(params?: FacadeParams | null): Promise<RpcResult>;
|
|
88
91
|
getRules(params?: FacadeParams | null): Promise<RpcResult>;
|
package/dist/facades.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facades.d.ts","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAa,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7D,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,kBAAkB,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9F,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAClG;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"facades.d.ts","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"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"}
|
package/dist/facades.js
CHANGED
|
@@ -2,6 +2,19 @@ import { GroupFSVFS } from './group-fs.js';
|
|
|
2
2
|
import { GROUP_INDEX_KEY, parseGroupIndex, prepareGroupSettingsWithIndex, verifyGroupIndex } from './group-index.js';
|
|
3
3
|
import { validateGroupIDFormat } from './validators.js';
|
|
4
4
|
export { GroupFSVFS, isGroupRemotePath } from './group-fs.js';
|
|
5
|
+
const INDEXED_DOCUMENT_SETTING_KEY_NAME_RE = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
|
|
6
|
+
const INDEXED_DOCUMENT_SETTING_RESERVED_BASES = new Set([
|
|
7
|
+
'join',
|
|
8
|
+
'dispatch_mode',
|
|
9
|
+
'duty',
|
|
10
|
+
'e2ee',
|
|
11
|
+
'group',
|
|
12
|
+
'group_index',
|
|
13
|
+
'index',
|
|
14
|
+
'name',
|
|
15
|
+
'description',
|
|
16
|
+
'visibility',
|
|
17
|
+
]);
|
|
5
18
|
function stripNil(params) {
|
|
6
19
|
const out = {};
|
|
7
20
|
for (const [key, value] of Object.entries(params ?? {})) {
|
|
@@ -33,6 +46,14 @@ function indexUpdateParams(groupId, settings, merged) {
|
|
|
33
46
|
}
|
|
34
47
|
return out;
|
|
35
48
|
}
|
|
49
|
+
function indexedDocumentKeyName(params) {
|
|
50
|
+
const raw = 'keyName' in params ? params.keyName : params.key_name;
|
|
51
|
+
const keyName = String(raw ?? '').trim();
|
|
52
|
+
if (!keyName || INDEXED_DOCUMENT_SETTING_RESERVED_BASES.has(keyName.toLowerCase()) || !INDEXED_DOCUMENT_SETTING_KEY_NAME_RE.test(keyName)) {
|
|
53
|
+
throw new Error('keyName must match ^[A-Za-z][A-Za-z0-9_-]{0,63}$');
|
|
54
|
+
}
|
|
55
|
+
return keyName;
|
|
56
|
+
}
|
|
36
57
|
class RpcFacade {
|
|
37
58
|
client;
|
|
38
59
|
constructor(client) {
|
|
@@ -414,87 +435,119 @@ export class GroupFacade extends RpcFacade {
|
|
|
414
435
|
ackEvents(params) {
|
|
415
436
|
return this.call('group.ack_events', params);
|
|
416
437
|
}
|
|
417
|
-
|
|
418
|
-
|
|
438
|
+
documentSettingResult(groupId, keyName, settings) {
|
|
439
|
+
const contentKey = `${keyName}.content`;
|
|
440
|
+
const attachmentsKey = `${keyName}.attachments`;
|
|
441
|
+
return {
|
|
442
|
+
group_id: groupId,
|
|
443
|
+
setting: {
|
|
444
|
+
group_id: groupId,
|
|
445
|
+
key_name: keyName,
|
|
446
|
+
content: settings[contentKey] ?? '',
|
|
447
|
+
attachments: settings[attachmentsKey] ?? [],
|
|
448
|
+
updated_by: settings[`${contentKey}.updated_by`] ?? '',
|
|
449
|
+
updated_at: settings[`${contentKey}.updated_at`] ?? 0,
|
|
450
|
+
}
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
async getSettingWithIndex(params) {
|
|
419
454
|
const merged = params || {};
|
|
420
455
|
const groupId = merged.group_id;
|
|
421
456
|
if (!groupId)
|
|
422
457
|
throw new Error('group_id is required');
|
|
423
|
-
const
|
|
458
|
+
const keyName = indexedDocumentKeyName(merged);
|
|
459
|
+
const { groupId: resultGroupId, settings } = await this.getIndexedSettings(String(groupId), [`${keyName}.content`, `${keyName}.attachments`]);
|
|
460
|
+
return this.documentSettingResult(resultGroupId, keyName, settings);
|
|
461
|
+
}
|
|
462
|
+
async updateSettingWithIndex(params) {
|
|
463
|
+
const merged = params || {};
|
|
464
|
+
const groupId = merged.group_id;
|
|
465
|
+
if (!groupId)
|
|
466
|
+
throw new Error('group_id is required');
|
|
467
|
+
const keyName = indexedDocumentKeyName(merged);
|
|
468
|
+
if (!('content' in merged))
|
|
469
|
+
throw new Error('content is required');
|
|
470
|
+
const content = merged.content;
|
|
471
|
+
const attachments = merged.attachments ?? [];
|
|
472
|
+
const settingsUpdate = { [`${keyName}.content`]: content };
|
|
473
|
+
if ('attachments' in merged) {
|
|
474
|
+
settingsUpdate[`${keyName}.attachments`] = attachments;
|
|
475
|
+
}
|
|
476
|
+
const result = await this.updateGroupIndex(indexUpdateParams(groupId, settingsUpdate, merged));
|
|
477
|
+
const resultGroupId = String(result.group_id ?? groupId);
|
|
424
478
|
return {
|
|
425
479
|
group_id: resultGroupId,
|
|
426
|
-
|
|
480
|
+
setting: {
|
|
427
481
|
group_id: resultGroupId,
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
482
|
+
key_name: keyName,
|
|
483
|
+
content,
|
|
484
|
+
attachments,
|
|
485
|
+
updated_by: '',
|
|
486
|
+
updated_at: 0
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
}
|
|
490
|
+
async getAnnouncement(params) {
|
|
491
|
+
// 便利方法:基于 getSettings
|
|
492
|
+
const merged = params || {};
|
|
493
|
+
const result = await this.getSettingWithIndex({ ...merged, keyName: 'announcement' });
|
|
494
|
+
const resultMap = result;
|
|
495
|
+
const setting = resultMap.setting;
|
|
496
|
+
return {
|
|
497
|
+
group_id: resultMap.group_id,
|
|
498
|
+
announcement: {
|
|
499
|
+
group_id: setting.group_id,
|
|
500
|
+
content: setting.content,
|
|
501
|
+
attachments: setting.attachments,
|
|
502
|
+
updated_by: setting.updated_by,
|
|
503
|
+
updated_at: setting.updated_at
|
|
432
504
|
}
|
|
433
505
|
};
|
|
434
506
|
}
|
|
435
507
|
async updateAnnouncement(params) {
|
|
436
508
|
// 便利方法:基于 setSettings
|
|
437
509
|
const merged = params || {};
|
|
438
|
-
const
|
|
439
|
-
const
|
|
440
|
-
const
|
|
441
|
-
if (!groupId)
|
|
442
|
-
throw new Error('group_id is required');
|
|
443
|
-
if (content === undefined)
|
|
444
|
-
throw new Error('content is required');
|
|
445
|
-
const settingsUpdate = { 'announcement.content': content };
|
|
446
|
-
if (attachments !== undefined) {
|
|
447
|
-
settingsUpdate['announcement.attachments'] = attachments;
|
|
448
|
-
}
|
|
449
|
-
const result = await this.updateGroupIndex(indexUpdateParams(groupId, settingsUpdate, merged));
|
|
510
|
+
const result = await this.updateSettingWithIndex({ ...merged, keyName: 'announcement' });
|
|
511
|
+
const resultMap = result;
|
|
512
|
+
const setting = resultMap.setting;
|
|
450
513
|
return {
|
|
451
|
-
group_id:
|
|
514
|
+
group_id: resultMap.group_id,
|
|
452
515
|
announcement: {
|
|
453
|
-
group_id:
|
|
454
|
-
content,
|
|
455
|
-
attachments: attachments
|
|
516
|
+
group_id: resultMap.group_id,
|
|
517
|
+
content: setting.content,
|
|
518
|
+
attachments: setting.attachments
|
|
456
519
|
}
|
|
457
520
|
};
|
|
458
521
|
}
|
|
459
522
|
async getRules(params) {
|
|
460
523
|
// 便利方法:基于 getSettings
|
|
461
524
|
const merged = params || {};
|
|
462
|
-
const
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
const { groupId: resultGroupId, settings } = await this.getIndexedSettings(String(groupId), ['rules.content', 'rules.attachments']);
|
|
525
|
+
const result = await this.getSettingWithIndex({ ...merged, keyName: 'rules' });
|
|
526
|
+
const resultMap = result;
|
|
527
|
+
const setting = resultMap.setting;
|
|
466
528
|
return {
|
|
467
|
-
group_id:
|
|
529
|
+
group_id: resultMap.group_id,
|
|
468
530
|
rules: {
|
|
469
|
-
group_id:
|
|
470
|
-
content:
|
|
471
|
-
attachments:
|
|
472
|
-
updated_by:
|
|
473
|
-
updated_at:
|
|
531
|
+
group_id: setting.group_id,
|
|
532
|
+
content: setting.content,
|
|
533
|
+
attachments: setting.attachments,
|
|
534
|
+
updated_by: setting.updated_by,
|
|
535
|
+
updated_at: setting.updated_at
|
|
474
536
|
}
|
|
475
537
|
};
|
|
476
538
|
}
|
|
477
539
|
async updateRules(params) {
|
|
478
540
|
// 便利方法:基于 setSettings
|
|
479
541
|
const merged = params || {};
|
|
480
|
-
const
|
|
481
|
-
const
|
|
482
|
-
const
|
|
483
|
-
if (!groupId)
|
|
484
|
-
throw new Error('group_id is required');
|
|
485
|
-
if (content === undefined)
|
|
486
|
-
throw new Error('content is required');
|
|
487
|
-
const settingsUpdate = { 'rules.content': content };
|
|
488
|
-
if (attachments !== undefined) {
|
|
489
|
-
settingsUpdate['rules.attachments'] = attachments;
|
|
490
|
-
}
|
|
491
|
-
const result = await this.updateGroupIndex(indexUpdateParams(groupId, settingsUpdate, merged));
|
|
542
|
+
const result = await this.updateSettingWithIndex({ ...merged, keyName: 'rules' });
|
|
543
|
+
const resultMap = result;
|
|
544
|
+
const setting = resultMap.setting;
|
|
492
545
|
return {
|
|
493
|
-
group_id:
|
|
546
|
+
group_id: resultMap.group_id,
|
|
494
547
|
rules: {
|
|
495
|
-
group_id:
|
|
496
|
-
content,
|
|
497
|
-
attachments: attachments
|
|
548
|
+
group_id: resultMap.group_id,
|
|
549
|
+
content: setting.content,
|
|
550
|
+
attachments: setting.attachments
|
|
498
551
|
}
|
|
499
552
|
};
|
|
500
553
|
}
|
|
@@ -504,7 +557,7 @@ export class GroupFacade extends RpcFacade {
|
|
|
504
557
|
const groupId = merged.group_id;
|
|
505
558
|
if (!groupId)
|
|
506
559
|
throw new Error('group_id is required');
|
|
507
|
-
const { groupId: resultGroupId, settings } = await this.getIndexedSettings(String(groupId), ['join.mode', 'join.question', 'join.auto_approve_patterns', 'join.max_pending']);
|
|
560
|
+
const { groupId: resultGroupId, settings } = await this.getIndexedSettings(String(groupId), ['join.mode', 'join.question', 'join.auto_approve_patterns', 'join.max_pending', 'join.attachments']);
|
|
508
561
|
return {
|
|
509
562
|
group_id: resultGroupId,
|
|
510
563
|
join_requirements: {
|
|
@@ -513,6 +566,7 @@ export class GroupFacade extends RpcFacade {
|
|
|
513
566
|
question: settings['join.question'] || '',
|
|
514
567
|
auto_approve_patterns: settings['join.auto_approve_patterns'] || [],
|
|
515
568
|
max_pending: settings['join.max_pending'] || 100,
|
|
569
|
+
attachments: settings['join.attachments'] || [],
|
|
516
570
|
updated_by: settings['join.mode.updated_by'] || '',
|
|
517
571
|
updated_at: settings['join.mode.updated_at'] || 0
|
|
518
572
|
}
|
|
@@ -533,6 +587,8 @@ export class GroupFacade extends RpcFacade {
|
|
|
533
587
|
settingsUpdate['join.auto_approve_patterns'] = merged.auto_approve_patterns;
|
|
534
588
|
if ('max_pending' in merged)
|
|
535
589
|
settingsUpdate['join.max_pending'] = merged.max_pending;
|
|
590
|
+
if ('attachments' in merged)
|
|
591
|
+
settingsUpdate['join.attachments'] = merged.attachments;
|
|
536
592
|
if (Object.keys(settingsUpdate).length === 0) {
|
|
537
593
|
throw new Error('at least one field to update is required');
|
|
538
594
|
}
|
|
@@ -544,7 +600,8 @@ export class GroupFacade extends RpcFacade {
|
|
|
544
600
|
mode: merged.mode,
|
|
545
601
|
question: merged.question,
|
|
546
602
|
auto_approve_patterns: merged.auto_approve_patterns,
|
|
547
|
-
max_pending: merged.max_pending
|
|
603
|
+
max_pending: merged.max_pending,
|
|
604
|
+
attachments: merged.attachments || []
|
|
548
605
|
}
|
|
549
606
|
};
|
|
550
607
|
}
|
package/dist/facades.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facades.js","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"facades.js","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.5.
|
|
1
|
+
export declare const VERSION = "0.5.4";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED