@amaster.ai/pi-lark 0.1.2-beta.48 → 0.1.2-beta.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/package.json +2 -2
  2. package/skills/lark-apps/SKILL.md +1 -0
  3. package/skills/lark-apps/references/lark-apps-cache.md +61 -0
  4. package/skills/lark-base/SKILL.md +12 -5
  5. package/skills/lark-base/references/lark-base-data-query.md +11 -4
  6. package/skills/lark-base/references/lark-base-form-questions-create.md +6 -3
  7. package/skills/lark-base/references/lark-base-role-guide.md +11 -0
  8. package/skills/lark-base/references/role-config.md +31 -5
  9. package/skills/lark-calendar/SKILL.md +2 -2
  10. package/skills/lark-calendar/references/lark-calendar-recurring.md +1 -0
  11. package/skills/lark-contact/SKILL.md +1 -1
  12. package/skills/lark-drive/SKILL.md +16 -43
  13. package/skills/lark-drive/references/lark-drive-add-comment.md +2 -4
  14. package/skills/lark-drive/references/lark-drive-add-reply.md +47 -0
  15. package/skills/lark-drive/references/lark-drive-apply-permission.md +2 -2
  16. package/skills/lark-drive/references/lark-drive-batch-query-comments.md +46 -0
  17. package/skills/lark-drive/references/lark-drive-comment-content.md +50 -0
  18. package/skills/lark-drive/references/lark-drive-comment-location.md +7 -13
  19. package/skills/lark-drive/references/lark-drive-delete-reply.md +48 -0
  20. package/skills/lark-drive/references/lark-drive-download.md +5 -1
  21. package/skills/lark-drive/references/lark-drive-list-comments.md +25 -68
  22. package/skills/lark-drive/references/lark-drive-list-replies.md +54 -0
  23. package/skills/lark-drive/references/lark-drive-member-add.md +2 -2
  24. package/skills/lark-drive/references/lark-drive-member-list.md +2 -2
  25. package/skills/lark-drive/references/lark-drive-permission-get-setting.md +2 -2
  26. package/skills/lark-drive/references/lark-drive-preview.md +11 -1
  27. package/skills/lark-drive/references/lark-drive-react-reply.md +51 -0
  28. package/skills/lark-drive/references/lark-drive-reactions.md +27 -25
  29. package/skills/lark-drive/references/lark-drive-resolve-comment.md +45 -0
  30. package/skills/lark-drive/references/lark-drive-restore-comment.md +46 -0
  31. package/skills/lark-drive/references/lark-drive-update-reply.md +46 -0
  32. package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +1 -1
  33. package/skills/lark-slides/references/lark-slides-media-upload.md +1 -1
  34. package/skills/lark-slides/scripts/sxsd_validator.py +908 -0
  35. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +209 -92
  36. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +1079 -42
  37. package/skills/lark-drive/references/lark-drive-comments-guide.md +0 -80
@@ -0,0 +1,46 @@
1
+ # drive +restore-comment
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和权限处理。
4
+
5
+ 恢复 / 重新打开一条已解决的评论。反向操作——把评论标记为已解决——是独立命令 [`lark-drive-resolve-comment.md`](lark-drive-resolve-comment.md)。
6
+
7
+ 用户说“重新打开 / 取消解决 / 恢复这条评论”对应本命令。
8
+
9
+ ## 命令
10
+
11
+ ```bash
12
+ # 推荐:完整 URL + 评论 ID
13
+ lark-cli drive +restore-comment --url "https://example.larksuite.com/docx/<DOCX_TOKEN>" --comment-id '<id>'
14
+ ```
15
+
16
+ ## 参数
17
+
18
+ | 参数 | 必填 | 说明 |
19
+ |---|---|---|
20
+ | `--url` | 与 `--token` 二选一 | 推荐入口。支持 doc/docx/sheet/file/slides/base/bitable/apps/wiki URL;apps 妙搭 URL 使用 `/page/<token>`;wiki URL 会自动解析到真实文档。 |
21
+ | `--token` | 与 `--url` 二选一 | 裸 token 或 URL。裸 token 必须搭配 `--type`;wiki token 使用 `--type wiki`。 |
22
+ | `--type` | 裸 token 时必填 | 传 token 对应类型:`doc`、`docx`、`sheet`、`file`、`slides`、`bitable`、`base`、`apps`、`wiki`。wiki token 使用 `wiki`;传 `base` 时,CLI 会按 `bitable` 类型处理。 |
23
+ | `--comment-id` | 是 | 要恢复的评论 ID;来自 `drive +list-comments` 的 `items[].comment_id` |
24
+
25
+ ## 行为说明
26
+
27
+ - 这是写操作。
28
+ - **找目标评论必须带 `--solved-status`**:`drive +list-comments` 默认只返回未解决评论,本命令的目标恰好是已解决评论,直接用默认口径查会一条都找不到。先用 `drive +list-comments --solved-status true`(只看已解决)或 `--solved-status all`(全部)取 `items[].comment_id`。
29
+ - 对同一条评论连续翻转解决状态可能触发服务端限流(HTTP 429);连续调用之间留间隔或短暂延迟后重试。
30
+
31
+ ## 输出
32
+
33
+ ```json
34
+ {
35
+ "file_token": "docx_token",
36
+ "file_type": "docx",
37
+ "comment_id": "<comment_id>",
38
+ "action": "restore",
39
+ "is_solved": false,
40
+ "updated": true
41
+ }
42
+ ```
43
+
44
+ ## 参考
45
+
46
+ - [lark-drive-resolve-comment](lark-drive-resolve-comment.md) -- 解决(标记已解决)评论
@@ -0,0 +1,46 @@
1
+ # drive +update-reply
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和权限处理;`--content` 完整格式见 [`lark-drive-comment-content.md`](lark-drive-comment-content.md)。
4
+
5
+ 整体替换某条回复的内容。
6
+
7
+ ## 命令
8
+
9
+ ```bash
10
+ # 推荐:完整 URL + 评论 ID + 回复 ID + 新内容(整体替换,无局部编辑)
11
+ lark-cli drive +update-reply --url "https://example.larksuite.com/docx/<DOCX_TOKEN>" --comment-id '<id>' --reply-id '<id>' --content '[{"type":"text","text":"新内容"}]'
12
+ ```
13
+
14
+ ## 参数
15
+
16
+ | 参数 | 必填 | 说明 |
17
+ |---|---|---|
18
+ | `--url` | 与 `--token` 二选一 | 推荐入口。支持 doc/docx/sheet/file/slides/base/bitable/apps/wiki URL;apps 妙搭 URL 使用 `/page/<token>`;wiki URL 会自动解析到真实文档。 |
19
+ | `--token` | 与 `--url` 二选一 | 裸 token 或 URL。裸 token 必须搭配 `--type`;wiki token 使用 `--type wiki`。 |
20
+ | `--type` | 裸 token 时必填 | 传 token 对应类型:`doc`、`docx`、`sheet`、`file`、`slides`、`bitable`、`base`、`apps`、`wiki`。wiki token 使用 `wiki`;传 `base` 时,CLI 会按 `bitable` 类型处理。 |
21
+ | `--comment-id` | 是 | 回复所属的评论 ID;来自 `drive +list-comments` |
22
+ | `--reply-id` | 是 | 要更新的回复 ID;来自 `drive +list-replies` 的 `items[].reply_id` |
23
+ | `--content` | 是 | 新的 `reply_elements` JSON,`type=text` 文本自动转义;完整 schema 见 [`lark-drive-comment-content.md`](lark-drive-comment-content.md) |
24
+
25
+ ## 行为说明
26
+
27
+ - 更新是整体替换:新 `content` 完全覆盖旧内容,没有局部修改语义。
28
+ - **只能更新当前身份自己创建的回复**;更新他人回复返回 API 错误 `1069303 forbidden`。执行前先用 `+list-replies` 核对 `items[].user_id`(open_id),并用创建该回复的同一个 `--as` 身份执行。
29
+ - 更新评论卡片的根回复(第一页 `items[0]`,即创建最早的一条 reply)等价于改写这条评论的正文本身;改写前先和用户确认改的是回复还是评论正文。
30
+
31
+ ## 输出
32
+
33
+ ```json
34
+ {
35
+ "file_token": "docx_token",
36
+ "file_type": "docx",
37
+ "comment_id": "<comment_id>",
38
+ "reply_id": "<reply_id>",
39
+ "updated": true
40
+ }
41
+ ```
42
+
43
+ ## 参考
44
+
45
+ - [lark-drive-comment-content](lark-drive-comment-content.md) -- `--content` 格式
46
+ - [lark-drive-list-replies](lark-drive-list-replies.md) -- 获取回复与 reply_id
@@ -121,7 +121,7 @@ Risk / Structure: `R2` / `S2`
121
121
 
122
122
  1. "所有文档"只表示当前身份在确认范围内可枚举到的文档。不可见、无权限、API 不返回或工具预算不足的部分必须进入 `discovery_blockers` 或 `unsupported_checks`。
123
123
  2. 发现阶段必须生成稳定 `path`。不要只保存 title;同名文档必须能通过 path 或 token 区分。
124
- 3. 权限设置读取使用 `drive +permission-get-setting`,目标类型包括 `doc`、`sheet`、`file`、`wiki`、`bitable`、`docx`、`mindnote`、`minutes`、`slides`、`folder`;未来新增类型以 shortcut 和 OpenAPI 元数据为准。
124
+ 3. 权限设置读取使用 `drive +permission-get-setting`,目标类型包括 `doc`、`sheet`、`file`、`wiki`、`bitable`、`docx`、`mindnote`、`minutes`、`slides`、`folder`、`apps`;未来新增类型以 shortcut 和 OpenAPI 元数据为准。
125
125
  4. `minutes` 只能作为 `partial_public_permission` 目标:可读取 / 修改公开权限和 owner 转移能力以运行时 schema 为准,但 `drive metas batch_query` 当前不支持 `minutes`,URL、owner、密级等 metadata 可能进入 `unsupported_checks`。
126
126
  5. `folder` 作为递归容器时先枚举子资源;如用户明确要查询文件夹自身权限设置,可对该文件夹单独执行 `drive +permission-get-setting --token <folder_token> --type folder`。不要执行 raw `permission.public patch type=folder`,除非 schema 和需求都明确支持。`shortcut`、`catalog` 或缺少 stable token/type 的条目必须记录为 unsupported,除非后续 API 明确解析出支持目标。
127
127
  6. 对大范围目标输出进度时,只展示已扫描容器数、已发现目标数、已审计目标数、剩余队列或 blocker;不要默认展示内部 page token / cursor。
@@ -105,7 +105,7 @@ lark-cli slides +replace-slide --as user \
105
105
 
106
106
  `+media-upload` 内部调用 `POST /open-apis/drive/v1/medias/upload_all`(单次上传,最大 20 MB),固定使用:
107
107
 
108
- - `parent_type=slide_file`(slides 后端唯一接受的取值,已实测验证)
108
+ - `parent_type=slide_file`(slides 后端唯一接受的取值)
109
109
  - `parent_node=<xml_presentation_id>`
110
110
 
111
111
  **不要尝试用 `slides_image`、`slide_image` 等 parent_type**——后端会返回 1061001 / 1061002 错误。这是 slides 的特殊约定。