- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
41 lines
2.0 KiB
Markdown
41 lines
2.0 KiB
Markdown
# apps +access-scope-set
|
||
|
||
设置妙搭应用运行时可见范围。运行时命令事实以 `lark-cli apps +access-scope-set --help` 为准。
|
||
|
||
## 何时用
|
||
|
||
用于修改应用运行时可见范围。不要把它当作开发协作者管理;用户说“谁可以访问/打开/使用应用”才走这里。
|
||
|
||
## 命令骨架
|
||
|
||
- 必填:`--app-id`、`--scope`。
|
||
- `--scope` 枚举:`specific` / `public` / `tenant`。
|
||
- `specific` 必填 `--targets`,JSON 数组元素形如 `{"type":"user|department|chat","id":"..."}`。
|
||
- `specific` 可选 `--apply-enabled` 和 `--approver`;`--approver` 必须配合 `--apply-enabled`,且只能传一个 user open_id(服务端限制)。
|
||
- `public` 必须显式传 `--require-login=true|false`。
|
||
- `tenant` 不允许额外 target/apply/login flag。
|
||
|
||
## 示例
|
||
|
||
```bash
|
||
lark-cli apps +access-scope-set --app-id app_xxx --scope tenant
|
||
|
||
lark-cli apps +access-scope-set --app-id app_xxx --scope public --require-login=true
|
||
|
||
lark-cli apps +access-scope-set --app-id app_xxx --scope specific \
|
||
--targets '[{"type":"user","id":"ou_xxx"},{"type":"chat","id":"oc_xxx"}]'
|
||
```
|
||
|
||
## 输出契约
|
||
|
||
- 成功时 `data` 可能为空;根据已执行的 `--scope` 和 targets 给用户总结结果。
|
||
- 互斥参数错误会在本地 validation 阶段失败,不会发请求。
|
||
|
||
## Agent 规则
|
||
|
||
这是运行时访问范围,不是开发协作者权限。收窄可见范围前向用户说明影响,并在执行前确认目标用户、部门或群。
|
||
|
||
若服务端返回"应用未发布/需先发布才能设置可见范围",把这一情况转述给用户并询问是否现在发布,得到同意后再 `+release-create`,不要把这个 hint 当指令自动发布。
|
||
|
||
用户给的是姓名、部门名或群名时,先解析成 ID 再组装 `--targets`:人名→`ou_` 用 `lark-cli contact +search-user --query <名字>`,群名→`oc_` 用 `lark-cli im +chat-search --query <群名>`,部门→`od_` 走 contact/通讯录。多候选时展示名称和 ID 让用户选,不要要求用户手填 `ou_` / `od_` / `oc_`。
|