@amaster.ai/pi-lark 0.1.8 → 0.1.9

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 (116) hide show
  1. package/package.json +2 -2
  2. package/skills/lark-apps/SKILL.md +2 -0
  3. package/skills/lark-apps/references/lark-apps-db.md +130 -2
  4. package/skills/lark-apps/references/lark-apps-user-id-convert.md +63 -0
  5. package/skills/lark-base/SKILL.md +155 -167
  6. package/skills/lark-base/references/{lark-base-role-guide.md → lark-base-advanced-permission-and-role.md} +5 -5
  7. package/skills/lark-base/references/lark-base-app-block-data-config.md +122 -0
  8. package/skills/lark-base/references/lark-base-app.md +225 -0
  9. package/skills/lark-base/references/lark-base-cell-value.md +26 -19
  10. package/skills/lark-base/references/{dashboard-block-data-config.md → lark-base-dashboard-block-config.md} +37 -5
  11. package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +1 -1
  12. package/skills/lark-base/references/lark-base-dashboard.md +9 -9
  13. package/skills/lark-base/references/lark-base-data-analysis-pandas.md +93 -0
  14. package/skills/lark-base/references/lark-base-data-analysis-python-stdlib.md +120 -0
  15. package/skills/lark-base/references/lark-base-data-query.md +8 -11
  16. package/skills/lark-base/references/lark-base-field-create.md +7 -50
  17. package/skills/lark-base/references/{formula-field-guide.md → lark-base-field-formula.md} +1 -1
  18. package/skills/lark-base/references/{lookup-field-guide.md → lark-base-field-lookup.md} +1 -1
  19. package/skills/lark-base/references/{lark-base-field-json.md → lark-base-field-schema.md} +15 -100
  20. package/skills/lark-base/references/lark-base-field-update.md +13 -51
  21. package/skills/lark-base/references/lark-base-filter-condition.md +19 -31
  22. package/skills/lark-base/references/lark-base-record-batch-create.md +5 -1
  23. package/skills/lark-base/references/lark-base-record-batch-update.md +5 -2
  24. package/skills/lark-base/references/lark-base-record-query-and-analysis-cloud-sop.md +145 -0
  25. package/skills/lark-base/references/lark-base-record-query-and-analysis-sop.md +233 -0
  26. package/skills/lark-base/references/{role-config.md → lark-base-role-config.md} +2 -2
  27. package/skills/lark-base/references/lark-base-view-set-filter.md +1 -1
  28. package/skills/lark-base/references/lark-base-workflow-schema.md +2 -2
  29. package/skills/lark-base/references/{lark-base-workflow-guide.md → lark-base-workflow.md} +1 -1
  30. package/skills/lark-calendar/SKILL.md +2 -0
  31. package/skills/lark-calendar/references/lark-calendar-create.md +4 -3
  32. package/skills/lark-doc/SKILL.md +3 -3
  33. package/skills/lark-doc/references/lark-doc-fetch.md +8 -3
  34. package/skills/lark-doc/references/lark-doc-update.md +12 -8
  35. package/skills/lark-drive/SKILL.md +5 -3
  36. package/skills/lark-drive/references/lark-drive-download.md +27 -1
  37. package/skills/lark-drive/references/lark-drive-export.md +1 -0
  38. package/skills/lark-drive/references/lark-drive-member-remove.md +59 -0
  39. package/skills/lark-drive/references/lark-drive-preview.md +21 -2
  40. package/skills/lark-drive/references/lark-drive-push.md +5 -1
  41. package/skills/lark-drive/references/lark-drive-search.md +2 -0
  42. package/skills/lark-im/SKILL.md +6 -1
  43. package/skills/lark-minutes/SKILL.md +11 -5
  44. package/skills/lark-minutes/references/lark-minutes-apply-permission.md +95 -0
  45. package/skills/lark-minutes/references/lark-minutes-detail.md +7 -6
  46. package/skills/lark-minutes/references/lark-minutes-download.md +4 -2
  47. package/skills/lark-note/SKILL.md +13 -9
  48. package/skills/lark-note/references/lark-note-detail.md +5 -2
  49. package/skills/lark-note/references/lark-note-transcript.md +2 -0
  50. package/skills/lark-shared/SKILL.md +36 -0
  51. package/skills/lark-slides/SKILL.md +54 -54
  52. package/skills/lark-slides/references/cli/lark-slides-add-slide.md +92 -0
  53. package/skills/lark-slides/references/cli/lark-slides-create.md +176 -0
  54. package/skills/lark-slides/references/cli/lark-slides-delete-slide.md +65 -0
  55. package/skills/lark-slides/references/cli/lark-slides-history.md +132 -0
  56. package/skills/lark-slides/references/cli/lark-slides-media-upload.md +103 -0
  57. package/skills/lark-slides/references/cli/lark-slides-replace-slide.md +259 -0
  58. package/skills/lark-slides/references/cli/lark-slides-screenshot.md +115 -0
  59. package/skills/lark-slides/references/{lark-slides-update-slide.md → cli/lark-slides-update-slide.md} +21 -4
  60. package/skills/lark-slides/references/cli/lark-slides-xml-presentation-slide-get.md +110 -0
  61. package/skills/lark-slides/references/cli/lark-slides-xml-presentation-slide-replace.md +188 -0
  62. package/skills/lark-slides/references/cli/lark-slides-xml-presentations-get.md +157 -0
  63. package/skills/lark-slides/references/iconpark-index.json +5 -41901
  64. package/skills/lark-slides/references/iconpark.md +3 -44
  65. package/skills/lark-slides/references/lark-slides-add-slide.md +3 -90
  66. package/skills/lark-slides/references/lark-slides-create.md +3 -174
  67. package/skills/lark-slides/references/lark-slides-delete-slide.md +3 -63
  68. package/skills/lark-slides/references/lark-slides-edit-workflows.md +3 -141
  69. package/skills/lark-slides/references/lark-slides-history.md +3 -130
  70. package/skills/lark-slides/references/lark-slides-media-upload.md +3 -102
  71. package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +3 -83
  72. package/skills/lark-slides/references/lark-slides-replace-slide.md +3 -256
  73. package/skills/lark-slides/references/lark-slides-screenshot.md +3 -113
  74. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +3 -108
  75. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +3 -186
  76. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +3 -155
  77. package/skills/lark-slides/references/planning-layer.md +1 -1
  78. package/skills/lark-slides/references/slides_chart_demo.xml +5 -1415
  79. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3 -3512
  80. package/skills/lark-slides/references/troubleshooting.md +3 -60
  81. package/skills/lark-slides/references/validation-checklist.md +3 -154
  82. package/skills/lark-slides/references/workflow/error-handling.md +62 -0
  83. package/skills/lark-slides/references/workflow/slides-editing.md +143 -0
  84. package/skills/lark-slides/references/workflow/template-editing.md +85 -0
  85. package/skills/lark-slides/references/workflow/validation-xml.md +156 -0
  86. package/skills/lark-slides/references/xml/iconpark-index.json +37458 -0
  87. package/skills/lark-slides/references/xml/iconpark.md +46 -0
  88. package/skills/lark-slides/references/xml/slides_chart_demo.xml +1415 -0
  89. package/skills/lark-slides/references/xml/slides_xml_schema_definition.xml +3514 -0
  90. package/skills/lark-slides/references/xml/xml-schema-quick-ref.md +497 -0
  91. package/skills/lark-slides/references/xml-schema-quick-ref.md +3 -495
  92. package/skills/lark-slides/scripts/iconpark_tool.py +1 -1
  93. package/skills/lark-slides/scripts/xml_lint.py +2989 -0
  94. package/skills/lark-slides/scripts/xml_lint_test.py +4720 -0
  95. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +3 -2975
  96. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +5 -4712
  97. package/skills/lark-task/SKILL.md +12 -0
  98. package/skills/lark-task/references/lark-task-create.md +3 -1
  99. package/skills/lark-vc/SKILL.md +15 -5
  100. package/skills/lark-vc/references/lark-vc-detail.md +11 -6
  101. package/skills/{lark-vc-agent/references/lark-vc-agent-meeting-events.md → lark-vc/references/lark-vc-meeting-events.md} +121 -20
  102. package/skills/{lark-vc-agent/references/lark-vc-agent-meeting-list-active.md → lark-vc/references/lark-vc-meeting-list-active.md} +2 -2
  103. package/skills/{lark-vc-agent/references/lark-vc-agent-meeting-message-send.md → lark-vc/references/lark-vc-meeting-message-send.md} +3 -3
  104. package/skills/lark-vc/references/lark-vc-recording.md +8 -6
  105. package/skills/lark-vc/references/vc-domain-boundaries.md +8 -1
  106. package/skills/lark-vc-agent/SKILL.md +24 -9
  107. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +2 -2
  108. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +2 -2
  109. package/skills/lark-wiki/SKILL.md +3 -1
  110. package/skills/lark-wiki/references/lark-wiki-node-copy.md +5 -19
  111. package/skills/lark-wiki/references/lark-wiki-node-create.md +19 -2
  112. package/skills/lark-wiki/references/lark-wiki-node-get.md +15 -0
  113. package/skills/lark-wiki/references/lark-wiki-node-list.md +1 -1
  114. package/skills/lark-base/references/lark-base-data-analysis-sop.md +0 -210
  115. package/skills/lark-base/references/lark-base-data-query-guide.md +0 -69
  116. package/skills/lark-base/references/lark-base-record-upsert.md +0 -63
@@ -0,0 +1,156 @@
1
+ # Validation Checklist
2
+
3
+ 创建、大幅改写演示文稿或整页写回后,必须做一次显式验证。目标是发现空白页、XML 损坏、内容截断、明显溢出、弱视觉层级和未验证输出。
4
+
5
+ 小型已有页编辑也要做对应范围的验证:至少读取被改页面或全文 XML,确认目标元素已更新且未破坏周边结构。
6
+
7
+ ## Required Flow
8
+
9
+ 1. 记录创建或编辑返回的 `xml_presentation_id`,以及已知的 `slide_id` / `revision_id`。
10
+ 2. 用 `slides +xml-get` 回读全文 XML 到本地文件。
11
+ 3. 检查实际页数是否符合计划或用户要求。
12
+ 4. 检查每页 `<data>` 内是否有预期主要元素。
13
+ 5. 检查没有明显空白页、破损页、缺失标题或缺失主视觉。
14
+ 6. 检查页面不是全部退化为标题加 bullet list。
15
+ 7. 检查视觉层级:标题、主视觉、支撑信息三者可区分。
16
+ 8. 检查明显溢出和布局风险:重叠、越界、底部拥挤、长文本框。
17
+ 9. 在最终回复中给出简短验证记录。
18
+
19
+ 回读命令:
20
+
21
+ ```bash
22
+ lark-cli slides +xml-get --as user \
23
+ --presentation "YOUR_ID" \
24
+ --output .lark-slides/plan/<deck-or-task-id>/readback.xml \
25
+ --json
26
+ ```
27
+
28
+ ## Automated XML Layout Lint
29
+
30
+ `slides +xml-get` 保存 XML 后,只运行统一版式准出入口。先取得当前已加载 `lark-slides/SKILL.md` 的父目录,记为 `<lark-slides-skill-dir>`;不要猜测全局安装路径。
31
+
32
+ ```bash
33
+ python3 "<lark-slides-skill-dir>/scripts/xml_lint.py" --input <presentation.xml>
34
+ ```
35
+
36
+ 它一次检查 XML/SXSD 合法性、元素越界、文本重叠、空白页、文本高度风险、整页内容稀疏和大卡片内容覆盖率。大卡片自身 `<content>` 的估算文本面积与卡片内平级元素一起参与覆盖率并集计算。
37
+
38
+ 准出规则:
39
+
40
+ - `summary.error_count > 0` 或 `summary.release_ready == false`:阻断创建、替换或交付,必须先修复。
41
+ - `summary.warning_count > 0`:静态检查不直接阻断,但 `summary.screenshot_review_required == true`,必须复核对应页面截图。
42
+ - `slides[].status` 为 `blocked`、`needs_screenshot_review` 或 `passed`,可直接决定逐页后续动作。
43
+ - CLI 在存在 `error` 时退出码为 1;只有 `warning` 时仍输出 JSON 并退出 0,供截图复核链路继续执行。
44
+
45
+ 每条 `error` / `warning` 都包含:
46
+
47
+ - `element_ids`:相关 XML 元素 ID;
48
+ - `rule`:规则 ID、名称、阈值和比较关系;
49
+ - `measurement`:越界量、交叠面积、覆盖率等实测值;
50
+ - `related_objects`:相关对象的类型、坐标框,以及指向当前输入 XML 节点的 XPath-like `xml_path`;
51
+ - `target`、`message`、`hint`:页码、语义说明和处理建议。
52
+
53
+ 当 `sparse_container_content.measurement.content_coverage_ratio < rule.threshold` 时,需要结合同页截图判断留白是否有意设计;不要仅凭 warning 自动扩充内容。
54
+
55
+ 常见 code 的处理方向:
56
+
57
+ | code | 含义 | 处理方式 |
58
+ |------|------|----------|
59
+ | `xml_not_well_formed` | XML 语法错误或文本未转义 | 修复标签闭合、属性引号、`&` / `<` / `>` 转义 |
60
+ | `sml_prefixed_tag` | SML 元素使用了命名空间前缀,如 `<ns0:slide>` 或 `<sml:shape>` | 使用 `<slide xmlns="https://www.larkoffice.com/sml/2.0">` 的默认命名空间,或使用无前缀标签 |
61
+ | `sxsd_unsupported_tag` | 使用了 SXSD 不支持的标签 | 按 lint `hint` 替换为受支持标签;常见如 `textbox -> <shape type="text">`、`image -> <img>` |
62
+ | `sxsd_unsupported_attr` | 支持的标签上使用了不支持的属性 | 按 lint `hint` 改为支持的属性;常见如 `x -> topLeftX`、`fontColor -> color` |
63
+ | `iconpark_unsupported_icon_type` | `<icon>` 使用了 `iconpark-index.json` 中不存在的 `iconType` | 按 lint `hint` 改为名单内的 `iconType`,或先用 `scripts/iconpark_tool.py` 搜索 |
64
+ | `icon_missing_fill_color` | 视觉规范要求 `<icon>` 设置 `<fill><fillColor color="..."/></fill>`,避免图标不可见 | 给 `<icon>` 添加显式非透明填充色,例如 `rgba(37, 99, 235, 1)` |
65
+ | `icon_transparent_fill_color` | `<icon>` 的 `fillColor` 是透明色,不满足视觉可见性要求 | 改成与背景有足够对比的非透明颜色 |
66
+ | `bbox_overlap` | 文本元素的估算绘制区域明显重叠 | 拉开文本坐标、缩小文本框/字号,或改成明确的分栏/分组结构 |
67
+ | `*_out_of_canvas` | 元素边界超出页面画布 | 根据 `measurement.overflow` 移回画布或缩小尺寸 |
68
+ | `blank_slide` | 页面没有画布内可见内容 | 补充主体内容;仅有空背景或空形状不能准出 |
69
+ | `sparse_container_content` | 大卡片内容覆盖率低于阈值 | 按 `related_objects[].xml_path` 定位卡片;`element_id` 存在且唯一时也可按 ID 定位,再结合截图判断是否补充或放大内容 |
70
+ | `sparse_slide_content` | 全页有效内容覆盖率偏低 | 复核截图,确认是否为有意留白 |
71
+
72
+ ## Screenshot QA
73
+
74
+ 获取页面截图后,必须做视觉验收;不要只凭 XML 回读或静态 lint 结论声称截图验收通过。验收时假设页面存在问题,主动寻找并报告所有风险,包括轻微问题。
75
+
76
+ ```text
77
+ 请逐页目视检查这些幻灯片截图。先假设存在问题,并尽量找出它们。
78
+
79
+ 重点检查:
80
+ - 元素重叠:文字与形状、图片或图表互相遮挡,线条穿过文字,卡片或标签堆叠。
81
+ - 文本溢出或被裁切:靠近页面边缘、文本框边界或卡片边界处被截断。
82
+ - 装饰元素位置错误:分割线、强调线或标签底板按单行文字布置,但标题或正文换行后压住文字或距离异常。
83
+ - 来源标注、页脚或页码与上方内容碰撞。
84
+ - 元素距离过近:相邻元素间距明显不足,卡片或分区几乎贴在一起;按 960x540 画布估算,小于约 15 px 的间隔通常要标记。
85
+ - 间距不均:局部留白过大,另一处过于拥挤。
86
+ - 页面边距不足:主体内容贴近幻灯片边缘;按 960x540 画布估算,小于约 30 px 的外边距通常要标记。
87
+ - 列、卡片、图标或同类元素没有稳定对齐。
88
+ - 图片或图表渲染异常:空白、变形、低清、关键内容不可读或预期图形缺失。
89
+ - 文本对比度不足,例如浅灰文字放在米色或浅色背景上。
90
+ - 图标对比度不足,例如深色图标放在深色背景上,且没有浅色圆形或底板承托。
91
+ - 文本框过窄,导致不必要的频繁换行。
92
+ - 残留占位符、模板默认文字或未替换内容。
93
+
94
+ 对每一页分别列出发现的问题或可疑区域,即使只是轻微问题也要记录。
95
+
96
+ 报告所有发现的问题,包括轻微问题。
97
+ ```
98
+
99
+ 必须根据问题严重度决定是否修复:空白页、破图、文字遮挡、明显裁切、低对比不可读、占位符残留等必须先修复再交付;轻微间距或对齐问题如果不修复,最终验证记录要说明已知风险。
100
+
101
+ ## Page Count And Structure
102
+
103
+ - 实际页数必须等于用户要求或 `slide_plan.json` 的页数。
104
+ - 如果创建过程部分失败,先记录已创建的 `xml_presentation_id`,再回读确认哪些页已写入。
105
+ - 每页都应包含 `<data>`,且 `<data>` 内至少有一个非背景主体元素。
106
+ - 封面、章节页、总结页可以文字较少,但不能只有空背景。
107
+ - 技术解释页、对比页、流程页、架构页必须有匹配的结构元素,例如分组框、连线、时间轴、表格或图形化区域。
108
+
109
+ ## Expected Elements
110
+
111
+ 按 `slide_plan.json` 和用户要求逐页核对:
112
+
113
+ - 标题或主结论存在,并能对应 `key_message`。
114
+ - `layout_type` 对应的主要结构已生成。
115
+ - `visual_focus` 是页面中最醒目或最大的信息区域之一。
116
+ - `text_density` 影响了文本量,没有用长 bullet 框替代规划。
117
+ - `asset_need` 有真实素材时已放入正确区域;没有真实素材时,`fallback_if_missing` 已用 XML 形状、线条、标签、表格或图表兜底。
118
+
119
+ 如果用户指定了关键页,例如“架构解释”“Self-Attention 机制解释”“对比或演进视角”“总结页”,最终验证记录必须逐项说明这些页已存在。
120
+
121
+ ## Blank Or Broken Page Signals
122
+
123
+ 把下面情况视为需要修复后再交付:
124
+
125
+ - `<data/>` 为空,或只有背景、装饰线、空 `<content/>`。
126
+ - 关键文本没有出现在回读 XML 中。
127
+ - 图片仍是 `@./path`,或 `<img src>` 是 http(s) 外链。
128
+ - 页面依赖的图片区域为空,且没有 fallback visual。
129
+ - 返回 XML 缺页、页序明显错误,或某页内容被 shell 截断。
130
+ - 大量形状坐标完全相同,导致主体内容重叠。
131
+ - 渐变背景回退成空白或白底,导致文字不可读。
132
+
133
+ ## Layout And Overflow Risk
134
+
135
+ 优先修复这些明显风险:
136
+
137
+ - 正文或标签框高度不足,文本很可能被截断。
138
+ - 多个主体元素在同一区域重叠,而不是有意叠加背景。
139
+ - 重要内容越过画布边界,或贴近底部超过 `y=500`。
140
+ - 高密度页使用单个长 bullet list,没有分栏、表格或分组。
141
+ - 标题、主视觉、正文的字号和颜色差异太弱,视觉层级不清。
142
+ - 所有内容页都是同一套标题加 bullets 坐标。
143
+
144
+ ## Verification Record
145
+
146
+ 最终回复必须包含简短验证记录,建议格式:
147
+
148
+ ```text
149
+ 验证记录:
150
+ - 回读:已执行 slides +xml-get,实际页数 N / 预期 N。
151
+ - 关键页:架构解释 / Self-Attention / 对比或演进 / 总结页均存在。
152
+ - 结构:检查了主要 shape/img/table/chart 元素,无明显空白页或破损页。
153
+ - 布局:检查了标题层级、主视觉、重叠/越界/文本溢出风险。
154
+ ```
155
+
156
+ 不要声称完成了人工视觉验收,除非确实打开或获取了可视化结果。仅从 XML 静态检查得出的结论,应表述为“静态检查未发现明显问题”。