@wagemule/daemon 0.1.2 → 0.1.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.
Files changed (341) hide show
  1. package/README.md +9 -1
  2. package/dist/main.cjs +246 -42
  3. package/dist/main.cjs.map +3 -3
  4. package/dist/skills/larksuite/lark-approval/SKILL.md +56 -0
  5. package/dist/skills/larksuite/lark-attendance/SKILL.md +57 -0
  6. package/dist/skills/larksuite/lark-base/SKILL.md +349 -0
  7. package/dist/skills/larksuite/lark-base/references/dashboard-block-data-config.md +350 -0
  8. package/dist/skills/larksuite/lark-base/references/examples.md +140 -0
  9. package/dist/skills/larksuite/lark-base/references/formula-field-guide.md +735 -0
  10. package/dist/skills/larksuite/lark-base/references/lark-base-advperm-disable.md +83 -0
  11. package/dist/skills/larksuite/lark-base/references/lark-base-advperm-enable.md +80 -0
  12. package/dist/skills/larksuite/lark-base/references/lark-base-base-copy.md +74 -0
  13. package/dist/skills/larksuite/lark-base/references/lark-base-base-create.md +68 -0
  14. package/dist/skills/larksuite/lark-base/references/lark-base-base-get.md +39 -0
  15. package/dist/skills/larksuite/lark-base/references/lark-base-cell-value.md +151 -0
  16. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  17. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  18. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  19. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  20. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  21. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  22. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-create.md +73 -0
  23. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-delete.md +44 -0
  24. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-get.md +59 -0
  25. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-list.md +52 -0
  26. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-update.md +69 -0
  27. package/dist/skills/larksuite/lark-base/references/lark-base-dashboard.md +240 -0
  28. package/dist/skills/larksuite/lark-base/references/lark-base-data-analysis-sop.md +88 -0
  29. package/dist/skills/larksuite/lark-base/references/lark-base-data-query.md +451 -0
  30. package/dist/skills/larksuite/lark-base/references/lark-base-field-create.md +104 -0
  31. package/dist/skills/larksuite/lark-base/references/lark-base-field-delete.md +51 -0
  32. package/dist/skills/larksuite/lark-base/references/lark-base-field-get.md +42 -0
  33. package/dist/skills/larksuite/lark-base/references/lark-base-field-list.md +44 -0
  34. package/dist/skills/larksuite/lark-base/references/lark-base-field-search-options.md +48 -0
  35. package/dist/skills/larksuite/lark-base/references/lark-base-field-update.md +166 -0
  36. package/dist/skills/larksuite/lark-base/references/lark-base-field.md +23 -0
  37. package/dist/skills/larksuite/lark-base/references/lark-base-form-create.md +87 -0
  38. package/dist/skills/larksuite/lark-base/references/lark-base-form-delete.md +64 -0
  39. package/dist/skills/larksuite/lark-base/references/lark-base-form-get.md +68 -0
  40. package/dist/skills/larksuite/lark-base/references/lark-base-form-list.md +73 -0
  41. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-create.md +118 -0
  42. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-delete.md +68 -0
  43. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-list.md +84 -0
  44. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-update.md +92 -0
  45. package/dist/skills/larksuite/lark-base/references/lark-base-form-questions.md +23 -0
  46. package/dist/skills/larksuite/lark-base/references/lark-base-form-update.md +82 -0
  47. package/dist/skills/larksuite/lark-base/references/lark-base-form.md +24 -0
  48. package/dist/skills/larksuite/lark-base/references/lark-base-history.md +16 -0
  49. package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-create.md +58 -0
  50. package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-update.md +53 -0
  51. package/dist/skills/larksuite/lark-base/references/lark-base-record-delete.md +62 -0
  52. package/dist/skills/larksuite/lark-base/references/lark-base-record-history-list.md +86 -0
  53. package/dist/skills/larksuite/lark-base/references/lark-base-record-share-link-create.md +72 -0
  54. package/dist/skills/larksuite/lark-base/references/lark-base-record-upload-attachment.md +50 -0
  55. package/dist/skills/larksuite/lark-base/references/lark-base-record-upsert.md +64 -0
  56. package/dist/skills/larksuite/lark-base/references/lark-base-record.md +29 -0
  57. package/dist/skills/larksuite/lark-base/references/lark-base-role-create.md +89 -0
  58. package/dist/skills/larksuite/lark-base/references/lark-base-role-delete.md +83 -0
  59. package/dist/skills/larksuite/lark-base/references/lark-base-role-get.md +87 -0
  60. package/dist/skills/larksuite/lark-base/references/lark-base-role-list.md +81 -0
  61. package/dist/skills/larksuite/lark-base/references/lark-base-role-update.md +94 -0
  62. package/dist/skills/larksuite/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
  63. package/dist/skills/larksuite/lark-base/references/lark-base-table-create.md +62 -0
  64. package/dist/skills/larksuite/lark-base/references/lark-base-table-delete.md +51 -0
  65. package/dist/skills/larksuite/lark-base/references/lark-base-table-get.md +46 -0
  66. package/dist/skills/larksuite/lark-base/references/lark-base-table-list.md +43 -0
  67. package/dist/skills/larksuite/lark-base/references/lark-base-table-update.md +49 -0
  68. package/dist/skills/larksuite/lark-base/references/lark-base-table.md +20 -0
  69. package/dist/skills/larksuite/lark-base/references/lark-base-view-create.md +50 -0
  70. package/dist/skills/larksuite/lark-base/references/lark-base-view-delete.md +48 -0
  71. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-card.md +38 -0
  72. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-filter.md +38 -0
  73. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-group.md +38 -0
  74. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-sort.md +38 -0
  75. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-timebar.md +38 -0
  76. package/dist/skills/larksuite/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
  77. package/dist/skills/larksuite/lark-base/references/lark-base-view-get.md +38 -0
  78. package/dist/skills/larksuite/lark-base/references/lark-base-view-list.md +44 -0
  79. package/dist/skills/larksuite/lark-base/references/lark-base-view-rename.md +44 -0
  80. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-card.md +55 -0
  81. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-filter.md +181 -0
  82. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-group.md +65 -0
  83. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-sort.md +63 -0
  84. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-timebar.md +51 -0
  85. package/dist/skills/larksuite/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
  86. package/dist/skills/larksuite/lark-base/references/lark-base-view.md +44 -0
  87. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-create.md +180 -0
  88. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-disable.md +94 -0
  89. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-enable.md +94 -0
  90. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-get.md +147 -0
  91. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-guide.md +718 -0
  92. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-list.md +124 -0
  93. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-schema.md +935 -0
  94. package/dist/skills/larksuite/lark-base/references/lark-base-workflow-update.md +167 -0
  95. package/dist/skills/larksuite/lark-base/references/lark-base-workflow.md +23 -0
  96. package/dist/skills/larksuite/lark-base/references/lark-base-workspace.md +18 -0
  97. package/dist/skills/larksuite/lark-base/references/lookup-field-guide.md +510 -0
  98. package/dist/skills/larksuite/lark-base/references/role-config.md +539 -0
  99. package/dist/skills/larksuite/lark-calendar/SKILL.md +154 -0
  100. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-agenda.md +78 -0
  101. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-create.md +109 -0
  102. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  103. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-room-find.md +113 -0
  104. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  105. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  106. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  107. package/dist/skills/larksuite/lark-calendar/references/lark-calendar-update.md +105 -0
  108. package/dist/skills/larksuite/lark-contact/SKILL.md +45 -0
  109. package/dist/skills/larksuite/lark-contact/references/lark-contact-get-user.md +19 -0
  110. package/dist/skills/larksuite/lark-contact/references/lark-contact-search-user.md +124 -0
  111. package/dist/skills/larksuite/lark-doc/SKILL.md +69 -0
  112. package/dist/skills/larksuite/lark-doc/references/lark-doc-create.md +89 -0
  113. package/dist/skills/larksuite/lark-doc/references/lark-doc-fetch.md +141 -0
  114. package/dist/skills/larksuite/lark-doc/references/lark-doc-md.md +71 -0
  115. package/dist/skills/larksuite/lark-doc/references/lark-doc-media-download.md +50 -0
  116. package/dist/skills/larksuite/lark-doc/references/lark-doc-media-insert.md +114 -0
  117. package/dist/skills/larksuite/lark-doc/references/lark-doc-media-preview.md +41 -0
  118. package/dist/skills/larksuite/lark-doc/references/lark-doc-search.md +217 -0
  119. package/dist/skills/larksuite/lark-doc/references/lark-doc-update.md +252 -0
  120. package/dist/skills/larksuite/lark-doc/references/lark-doc-whiteboard.md +100 -0
  121. package/dist/skills/larksuite/lark-doc/references/lark-doc-xml.md +169 -0
  122. package/dist/skills/larksuite/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
  123. package/dist/skills/larksuite/lark-doc/references/style/lark-doc-style.md +106 -0
  124. package/dist/skills/larksuite/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
  125. package/dist/skills/larksuite/lark-drive/SKILL.md +343 -0
  126. package/dist/skills/larksuite/lark-drive/references/lark-drive-add-comment.md +169 -0
  127. package/dist/skills/larksuite/lark-drive/references/lark-drive-apply-permission.md +77 -0
  128. package/dist/skills/larksuite/lark-drive/references/lark-drive-create-folder.md +73 -0
  129. package/dist/skills/larksuite/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  130. package/dist/skills/larksuite/lark-drive/references/lark-drive-delete.md +79 -0
  131. package/dist/skills/larksuite/lark-drive/references/lark-drive-download.md +31 -0
  132. package/dist/skills/larksuite/lark-drive/references/lark-drive-export-download.md +50 -0
  133. package/dist/skills/larksuite/lark-drive/references/lark-drive-export.md +119 -0
  134. package/dist/skills/larksuite/lark-drive/references/lark-drive-import.md +154 -0
  135. package/dist/skills/larksuite/lark-drive/references/lark-drive-move.md +120 -0
  136. package/dist/skills/larksuite/lark-drive/references/lark-drive-pull.md +137 -0
  137. package/dist/skills/larksuite/lark-drive/references/lark-drive-push.md +162 -0
  138. package/dist/skills/larksuite/lark-drive/references/lark-drive-reactions.md +113 -0
  139. package/dist/skills/larksuite/lark-drive/references/lark-drive-search.md +239 -0
  140. package/dist/skills/larksuite/lark-drive/references/lark-drive-status.md +137 -0
  141. package/dist/skills/larksuite/lark-drive/references/lark-drive-task-result.md +302 -0
  142. package/dist/skills/larksuite/lark-drive/references/lark-drive-upload.md +101 -0
  143. package/dist/skills/larksuite/lark-event/SKILL.md +145 -0
  144. package/dist/skills/larksuite/lark-event/references/lark-event-im.md +86 -0
  145. package/dist/skills/larksuite/lark-im/SKILL.md +162 -0
  146. package/dist/skills/larksuite/lark-im/references/lark-im-chat-create.md +162 -0
  147. package/dist/skills/larksuite/lark-im/references/lark-im-chat-identity.md +55 -0
  148. package/dist/skills/larksuite/lark-im/references/lark-im-chat-list.md +113 -0
  149. package/dist/skills/larksuite/lark-im/references/lark-im-chat-messages-list.md +142 -0
  150. package/dist/skills/larksuite/lark-im/references/lark-im-chat-search.md +136 -0
  151. package/dist/skills/larksuite/lark-im/references/lark-im-chat-update.md +84 -0
  152. package/dist/skills/larksuite/lark-im/references/lark-im-flag-cancel.md +67 -0
  153. package/dist/skills/larksuite/lark-im/references/lark-im-flag-create.md +67 -0
  154. package/dist/skills/larksuite/lark-im/references/lark-im-flag-list.md +100 -0
  155. package/dist/skills/larksuite/lark-im/references/lark-im-messages-mget.md +95 -0
  156. package/dist/skills/larksuite/lark-im/references/lark-im-messages-reply.md +222 -0
  157. package/dist/skills/larksuite/lark-im/references/lark-im-messages-resources-download.md +94 -0
  158. package/dist/skills/larksuite/lark-im/references/lark-im-messages-search.md +217 -0
  159. package/dist/skills/larksuite/lark-im/references/lark-im-messages-send.md +223 -0
  160. package/dist/skills/larksuite/lark-im/references/lark-im-reactions.md +297 -0
  161. package/dist/skills/larksuite/lark-im/references/lark-im-threads-messages-list.md +111 -0
  162. package/dist/skills/larksuite/lark-mail/SKILL.md +648 -0
  163. package/dist/skills/larksuite/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  164. package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-create.md +123 -0
  165. package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-edit.md +400 -0
  166. package/dist/skills/larksuite/lark-mail/references/lark-mail-forward.md +232 -0
  167. package/dist/skills/larksuite/lark-mail/references/lark-mail-message.md +230 -0
  168. package/dist/skills/larksuite/lark-mail/references/lark-mail-messages.md +108 -0
  169. package/dist/skills/larksuite/lark-mail/references/lark-mail-reply-all.md +206 -0
  170. package/dist/skills/larksuite/lark-mail/references/lark-mail-reply.md +242 -0
  171. package/dist/skills/larksuite/lark-mail/references/lark-mail-send-receipt.md +120 -0
  172. package/dist/skills/larksuite/lark-mail/references/lark-mail-send.md +216 -0
  173. package/dist/skills/larksuite/lark-mail/references/lark-mail-share-to-chat.md +87 -0
  174. package/dist/skills/larksuite/lark-mail/references/lark-mail-signature.md +98 -0
  175. package/dist/skills/larksuite/lark-mail/references/lark-mail-template-create.md +129 -0
  176. package/dist/skills/larksuite/lark-mail/references/lark-mail-template-update.md +150 -0
  177. package/dist/skills/larksuite/lark-mail/references/lark-mail-thread.md +111 -0
  178. package/dist/skills/larksuite/lark-mail/references/lark-mail-triage.md +122 -0
  179. package/dist/skills/larksuite/lark-mail/references/lark-mail-watch.md +94 -0
  180. package/dist/skills/larksuite/lark-markdown/SKILL.md +46 -0
  181. package/dist/skills/larksuite/lark-markdown/references/lark-markdown-create.md +86 -0
  182. package/dist/skills/larksuite/lark-markdown/references/lark-markdown-fetch.md +79 -0
  183. package/dist/skills/larksuite/lark-markdown/references/lark-markdown-overwrite.md +85 -0
  184. package/dist/skills/larksuite/lark-minutes/SKILL.md +139 -0
  185. package/dist/skills/larksuite/lark-minutes/references/lark-minutes-download.md +137 -0
  186. package/dist/skills/larksuite/lark-minutes/references/lark-minutes-search.md +206 -0
  187. package/dist/skills/larksuite/lark-minutes/references/lark-minutes-upload.md +104 -0
  188. package/dist/skills/larksuite/lark-okr/SKILL.md +133 -0
  189. package/dist/skills/larksuite/lark-okr/references/lark-okr-contentblock.md +359 -0
  190. package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-detail.md +84 -0
  191. package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-list.md +90 -0
  192. package/dist/skills/larksuite/lark-okr/references/lark-okr-entities.md +329 -0
  193. package/dist/skills/larksuite/lark-okr/references/lark-okr-image-upload.md +116 -0
  194. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-create.md +81 -0
  195. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-delete.md +47 -0
  196. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-get.md +62 -0
  197. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-list.md +80 -0
  198. package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-update.md +81 -0
  199. package/dist/skills/larksuite/lark-openapi-explorer/SKILL.md +153 -0
  200. package/dist/skills/larksuite/lark-shared/SKILL.md +138 -0
  201. package/dist/skills/larksuite/lark-sheets/SKILL.md +345 -0
  202. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-data.md +197 -0
  203. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-images.md +59 -0
  204. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
  205. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-dropdown.md +133 -0
  206. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-filter-views.md +193 -0
  207. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-float-images.md +125 -0
  208. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-formula.md +88 -0
  209. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
  210. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
  211. package/dist/skills/larksuite/lark-sheets/references/lark-sheets-spreadsheet-management.md +134 -0
  212. package/dist/skills/larksuite/lark-skill-maker/SKILL.md +85 -0
  213. package/dist/skills/larksuite/lark-slides/SKILL.md +525 -0
  214. package/dist/skills/larksuite/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
  215. package/dist/skills/larksuite/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
  216. package/dist/skills/larksuite/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
  217. package/dist/skills/larksuite/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
  218. package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training.xml +912 -0
  219. package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
  220. package/dist/skills/larksuite/lark-slides/assets/templates/hr--onboarding.xml +933 -0
  221. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
  222. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
  223. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
  224. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
  225. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_plan.xml +1469 -0
  226. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
  227. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--product_whitepaper.xml +1455 -0
  228. package/dist/skills/larksuite/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
  229. package/dist/skills/larksuite/lark-slides/assets/templates/misc--book_sharing.xml +1338 -0
  230. package/dist/skills/larksuite/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
  231. package/dist/skills/larksuite/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
  232. package/dist/skills/larksuite/lark-slides/assets/templates/office--dark_general.xml +3763 -0
  233. package/dist/skills/larksuite/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
  234. package/dist/skills/larksuite/lark-slides/assets/templates/office--light_general.xml +3378 -0
  235. package/dist/skills/larksuite/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
  236. package/dist/skills/larksuite/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
  237. package/dist/skills/larksuite/lark-slides/assets/templates/office--work_report.xml +1099 -0
  238. package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary.xml +4420 -0
  239. package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
  240. package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
  241. package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
  242. package/dist/skills/larksuite/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
  243. package/dist/skills/larksuite/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
  244. package/dist/skills/larksuite/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
  245. package/dist/skills/larksuite/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
  246. package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
  247. package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
  248. package/dist/skills/larksuite/lark-slides/assets/templates/personal--self_intro.xml +696 -0
  249. package/dist/skills/larksuite/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
  250. package/dist/skills/larksuite/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
  251. package/dist/skills/larksuite/lark-slides/assets/templates/product--market_analysis.xml +898 -0
  252. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
  253. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_intro.xml +2838 -0
  254. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion.xml +687 -0
  255. package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion_2.xml +687 -0
  256. package/dist/skills/larksuite/lark-slides/references/examples.md +261 -0
  257. package/dist/skills/larksuite/lark-slides/references/lark-slides-create.md +137 -0
  258. package/dist/skills/larksuite/lark-slides/references/lark-slides-edit-workflows.md +142 -0
  259. package/dist/skills/larksuite/lark-slides/references/lark-slides-media-upload.md +128 -0
  260. package/dist/skills/larksuite/lark-slides/references/lark-slides-replace-slide.md +239 -0
  261. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-create.md +221 -0
  262. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  263. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  264. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
  265. package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  266. package/dist/skills/larksuite/lark-slides/references/slide-templates.md +201 -0
  267. package/dist/skills/larksuite/lark-slides/references/slides_demo.xml +226 -0
  268. package/dist/skills/larksuite/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  269. package/dist/skills/larksuite/lark-slides/references/template-catalog.md +464 -0
  270. package/dist/skills/larksuite/lark-slides/references/template-index.json +1853 -0
  271. package/dist/skills/larksuite/lark-slides/references/xml-format-guide.md +369 -0
  272. package/dist/skills/larksuite/lark-slides/references/xml-schema-quick-ref.md +215 -0
  273. package/dist/skills/larksuite/lark-slides/scripts/layout_lint.py +349 -0
  274. package/dist/skills/larksuite/lark-slides/scripts/layout_lint_test.py +159 -0
  275. package/dist/skills/larksuite/lark-slides/scripts/template_tool.py +970 -0
  276. package/dist/skills/larksuite/lark-slides/scripts/template_tool_test.py +177 -0
  277. package/dist/skills/larksuite/lark-task/SKILL.md +165 -0
  278. package/dist/skills/larksuite/lark-task/references/lark-task-assign.md +38 -0
  279. package/dist/skills/larksuite/lark-task/references/lark-task-comment.md +28 -0
  280. package/dist/skills/larksuite/lark-task/references/lark-task-complete.md +27 -0
  281. package/dist/skills/larksuite/lark-task/references/lark-task-create.md +57 -0
  282. package/dist/skills/larksuite/lark-task/references/lark-task-followers.md +35 -0
  283. package/dist/skills/larksuite/lark-task/references/lark-task-get-my-tasks.md +55 -0
  284. package/dist/skills/larksuite/lark-task/references/lark-task-get-related-tasks.md +53 -0
  285. package/dist/skills/larksuite/lark-task/references/lark-task-reminder.md +36 -0
  286. package/dist/skills/larksuite/lark-task/references/lark-task-reopen.md +27 -0
  287. package/dist/skills/larksuite/lark-task/references/lark-task-search.md +41 -0
  288. package/dist/skills/larksuite/lark-task/references/lark-task-set-ancestor.md +32 -0
  289. package/dist/skills/larksuite/lark-task/references/lark-task-subscribe-event.md +86 -0
  290. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-create.md +35 -0
  291. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-members.md +36 -0
  292. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-search.md +38 -0
  293. package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  294. package/dist/skills/larksuite/lark-task/references/lark-task-update.md +37 -0
  295. package/dist/skills/larksuite/lark-task/references/lark-task-upload-attachment.md +59 -0
  296. package/dist/skills/larksuite/lark-vc/SKILL.md +168 -0
  297. package/dist/skills/larksuite/lark-vc/references/lark-vc-notes.md +126 -0
  298. package/dist/skills/larksuite/lark-vc/references/lark-vc-recording.md +153 -0
  299. package/dist/skills/larksuite/lark-vc/references/lark-vc-search.md +176 -0
  300. package/dist/skills/larksuite/lark-vc-agent/SKILL.md +121 -0
  301. package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
  302. package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
  303. package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
  304. package/dist/skills/larksuite/lark-whiteboard/SKILL.md +144 -0
  305. package/dist/skills/larksuite/lark-whiteboard/references/connectors.md +102 -0
  306. package/dist/skills/larksuite/lark-whiteboard/references/content.md +40 -0
  307. package/dist/skills/larksuite/lark-whiteboard/references/image.md +80 -0
  308. package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  309. package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
  310. package/dist/skills/larksuite/lark-whiteboard/references/layout.md +374 -0
  311. package/dist/skills/larksuite/lark-whiteboard/references/schema.md +357 -0
  312. package/dist/skills/larksuite/lark-whiteboard/references/style.md +318 -0
  313. package/dist/skills/larksuite/lark-whiteboard/references/typography.md +73 -0
  314. package/dist/skills/larksuite/lark-whiteboard/routes/dsl.md +107 -0
  315. package/dist/skills/larksuite/lark-whiteboard/routes/mermaid.md +27 -0
  316. package/dist/skills/larksuite/lark-whiteboard/routes/svg.md +54 -0
  317. package/dist/skills/larksuite/lark-whiteboard/scenes/architecture.md +433 -0
  318. package/dist/skills/larksuite/lark-whiteboard/scenes/bar-chart.md +187 -0
  319. package/dist/skills/larksuite/lark-whiteboard/scenes/comparison.md +135 -0
  320. package/dist/skills/larksuite/lark-whiteboard/scenes/fishbone.md +238 -0
  321. package/dist/skills/larksuite/lark-whiteboard/scenes/flowchart.md +185 -0
  322. package/dist/skills/larksuite/lark-whiteboard/scenes/flywheel.md +195 -0
  323. package/dist/skills/larksuite/lark-whiteboard/scenes/funnel.md +101 -0
  324. package/dist/skills/larksuite/lark-whiteboard/scenes/line-chart.md +214 -0
  325. package/dist/skills/larksuite/lark-whiteboard/scenes/mermaid.md +130 -0
  326. package/dist/skills/larksuite/lark-whiteboard/scenes/milestone.md +139 -0
  327. package/dist/skills/larksuite/lark-whiteboard/scenes/organization.md +173 -0
  328. package/dist/skills/larksuite/lark-whiteboard/scenes/photo-showcase.md +126 -0
  329. package/dist/skills/larksuite/lark-whiteboard/scenes/pyramid.md +99 -0
  330. package/dist/skills/larksuite/lark-whiteboard/scenes/swimlane.md +371 -0
  331. package/dist/skills/larksuite/lark-whiteboard/scenes/treemap.md +216 -0
  332. package/dist/skills/larksuite/lark-wiki/SKILL.md +111 -0
  333. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  334. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-move.md +183 -0
  335. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  336. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-create.md +127 -0
  337. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-list.md +88 -0
  338. package/dist/skills/larksuite/lark-wiki/references/lark-wiki-space-list.md +68 -0
  339. package/dist/skills/larksuite/lark-workflow-meeting-summary/SKILL.md +104 -0
  340. package/dist/skills/larksuite/lark-workflow-standup-report/SKILL.md +120 -0
  341. package/package.json +2 -1
@@ -0,0 +1,115 @@
1
+ # mail +decline-receipt
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 关闭收到邮件的已读回执请求 banner,**但不向发件人发送回执**。**本命令仅在对方邮件请求了已读回执(`READ_RECEIPT_REQUEST` 标签,系统 ID `-607`)时使用**。对齐飞书客户端上已读回执 banner 右侧的"不发送"按钮。
6
+
7
+ 本 skill 对应 shortcut:`lark-cli mail +decline-receipt`。
8
+
9
+ ## 使用时机
10
+
11
+ 决策分支:拉信看到 `READ_RECEIPT_REQUEST` 标签 → **必须先问用户**:
12
+
13
+ - 用户愿意告知对方"已读" → `+send-receipt`
14
+ - 用户不愿意告知但想消掉提示 → `+decline-receipt`(本命令)
15
+ - 用户既不想回执也不关心 banner → 什么都不做
16
+
17
+ ## 命令
18
+
19
+ ```bash
20
+ # 标准用法
21
+ lark-cli mail +decline-receipt --message-id <message-id>
22
+
23
+ # 指定邮箱(公共邮箱场景)
24
+ lark-cli mail +decline-receipt --mailbox shared@example.com --message-id <message-id>
25
+
26
+ # Dry Run(不真改)
27
+ lark-cli mail +decline-receipt --message-id <message-id> --dry-run
28
+ ```
29
+
30
+ ## 参数
31
+
32
+ | 参数 | 必填 | 默认 | 说明 |
33
+ |------|------|------|------|
34
+ | `--message-id <id>` | 是 | — | 请求了已读回执的原邮件 message ID |
35
+ | `--mailbox <email>` | 否 | `me` | 邮件归属的邮箱 |
36
+ | `--dry-run` | 否 | — | 仅打印请求,不执行 |
37
+
38
+ > 注意本命令没有 `--yes` —— 它只是移除一个本地 label,不对外发信,Risk 级别是 `write` 而非 `high-risk-write`。
39
+
40
+ ## 行为细节
41
+
42
+ - 先 `fetchFullMessage` 拉一遍原邮件校验:若 `label_ids` 中不含 `READ_RECEIPT_REQUEST`(也不含数字 `-607`),直接返回 `already_cleared: true`,**不发请求**,幂等。
43
+ - 标签存在时调 `PUT /user_mailboxes/<mailbox>/messages/<id>/modify`(`user_mailbox.message.modify`),body `{"remove_label_ids":["READ_RECEIPT_REQUEST"]}`。
44
+ - **不发任何外发邮件**:等价于飞书客户端"不发送"按钮——只清除本地标签,发件人不会收到任何通知。
45
+
46
+ ## 返回值
47
+
48
+ 标签已清除(无副作用):
49
+
50
+ ```json
51
+ {
52
+ "ok": true,
53
+ "data": {
54
+ "message_id": "原邮件 message ID",
55
+ "decline_receipt_for_id": "原邮件 message ID",
56
+ "declined": false,
57
+ "already_cleared": true
58
+ }
59
+ }
60
+ ```
61
+
62
+ 本次真正移除了标签:
63
+
64
+ ```json
65
+ {
66
+ "ok": true,
67
+ "data": {
68
+ "message_id": "原邮件 message ID",
69
+ "decline_receipt_for_id": "原邮件 message ID",
70
+ "declined": true
71
+ }
72
+ }
73
+ ```
74
+
75
+ ## 典型场景
76
+
77
+ ### 场景 1:用户选择不发回执
78
+
79
+ ```bash
80
+ # 1. 拉信
81
+ lark-cli mail +message --message-id msg-1 --format json | jq '.data.label_ids'
82
+ # → ["UNREAD", "READ_RECEIPT_REQUEST"]
83
+
84
+ # 2. 向用户提示:
85
+ # "这封来自 alice@example.com 的邮件请求已读回执。主题:《周报》。
86
+ # 要不要回一封告诉对方你已阅读?
87
+ # 也可以选择:不发送回执,但关闭这条提示。"
88
+
89
+ # 3. 用户选了"不发送" →
90
+ lark-cli mail +decline-receipt --message-id msg-1
91
+ ```
92
+
93
+ ### 场景 2:幂等重跑
94
+
95
+ ```bash
96
+ # 第一次移除标签
97
+ lark-cli mail +decline-receipt --message-id msg-1
98
+ # → {"declined": true}
99
+
100
+ # 再跑一次 —— 不会报错,也不会再发 modify 请求
101
+ lark-cli mail +decline-receipt --message-id msg-1
102
+ # → {"declined": false, "already_cleared": true}
103
+ ```
104
+
105
+ ## 不要这样做
106
+
107
+ - ❌ 替用户自动 decline —— 违反隐私规则的对称面:不回执的"沉默"也属于用户选择
108
+ - ❌ 拿 `+decline-receipt` 当"标记已读"——它只移 `READ_RECEIPT_REQUEST` 一个标签,不改 `UNREAD`
109
+ - ❌ 在没有 `READ_RECEIPT_REQUEST` 标签的邮件上调用 —— 虽然幂等返回 `already_cleared`,但多发一次 GET 无意义
110
+
111
+ ## 相关命令
112
+
113
+ - `lark-cli mail +send-receipt` — 同意回执(发一封系统样式的已读回执邮件)
114
+ - `lark-cli mail +message` — 拉单封邮件(在 `label_ids` 里检查 `READ_RECEIPT_REQUEST`)
115
+ - `lark-cli mail +send --request-receipt` — 反向:**请求**别人回执
@@ -0,0 +1,123 @@
1
+ # mail +draft-create
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 从零创建一封全新的邮件草稿。适用于已知收件人、主题和正文的场景。
6
+
7
+ 不要用此命令处理回复或转发场景。回复和转发应使用对应的专用 shortcut(它们默认也是创建草稿而不发送)。
8
+
9
+ 如需修改已有草稿,不要使用此命令,请使用 `lark-cli mail +draft-edit`。
10
+
11
+ ## 安全约束
12
+
13
+ 此命令创建草稿——**不会**发送邮件。用户可以在飞书邮件 UI 中打开草稿查看详情,确认后再进入后续操作。因此:
14
+
15
+ - **不要把邮件内容以文本形式输出再请求确认。** 当用户要求"起草"/"草拟"邮件时,直接调用 `+draft-create` 在飞书邮箱中创建草稿,并引导用户去飞书邮件里打开草稿。
16
+ - **收件人未指定时省略 `--to`** — 草稿将不带收件人创建,用户之后可自行添加。
17
+ - **仅在用户请求确实有歧义时才需确认**(例如内容有多种可能的理解方式)。
18
+ - **发送**草稿是单独的操作,需要用户明确确认。
19
+ - **产出草稿时要返回打开链接** — 只要当前结果是草稿而不是直接发信,就要给用户展示草稿打开链接。当前应以创建、编辑、发送链路返回的链接信息为准,不要指望 `user_mailbox.drafts get` 返回打开链接。如果当前命令输出里有草稿链接,一并返回;如果没有链接,则静默处理,也不要伪造 URL。
20
+
21
+ ## 命令
22
+
23
+ ```bash
24
+ # 创建 HTML 草稿(推荐)
25
+ lark-cli mail +draft-create --to alice@example.com --subject '周报' \
26
+ --body '<p>本周进展:</p><ul><li>完成 A 模块</li></ul>'
27
+
28
+ # 不带收件人的 HTML 草稿(用户之后可自行添加)
29
+ lark-cli mail +draft-create --subject '周报' --body '<p>草稿内容</p>'
30
+
31
+ # 带附件和内嵌图片的 HTML 草稿(推荐:直接用相对路径,自动解析)
32
+ lark-cli mail +draft-create --to alice@example.com --subject '预览图' --body '<p>见附件和图:<img src="./logo.png" /></p>' --attach ./report.pdf
33
+
34
+ # 纯文本草稿(仅在内容极简时使用)
35
+ lark-cli mail +draft-create --to alice@example.com --subject '简短通知' --body '收到,谢谢'
36
+
37
+ # Dry Run(仅打印请求,不执行)
38
+ lark-cli mail +draft-create --to alice@example.com --subject '测试' --body 'test' --dry-run
39
+ ```
40
+
41
+ ## 参数
42
+
43
+ | 参数 | 必填 | 说明 |
44
+ |------|------|------|
45
+ | `--to <emails>` | 否 | 完整收件人列表,多个用逗号分隔。支持 `Alice <alice@example.com>` 格式。省略时草稿不带收件人(之后可通过 `+draft-edit` 添加) |
46
+ | `--subject <text>` | 是 | 草稿主题 |
47
+ | `--body <text>` | 是 | 邮件正文。推荐使用 HTML 获得富文本排版;也支持纯文本(自动检测)。使用 `--plain-text` 可强制纯文本模式。支持 `<img src="./local.png" />` 相对路径自动解析为内嵌图片(仅支持相对路径,不支持绝对路径) |
48
+ | `--from <email>` | 否 | 发件人邮箱地址(EML From 头)。使用别名(send_as)发信时,设为别名地址并配合 `--mailbox` 指定所属邮箱。省略时使用邮箱主地址 |
49
+ | `--mailbox <email>` | 否 | 邮箱地址,指定草稿所属的邮箱(默认回退到 `--from`,再回退到 `me`)。当发件人(`--from`)与邮箱不同时使用,如通过别名或 send_as 地址发信。可通过 `accessible_mailboxes` 查询可用邮箱 |
50
+ | `--cc <emails>` | 否 | 完整抄送列表,多个用逗号分隔 |
51
+ | `--bcc <emails>` | 否 | 完整密送列表,多个用逗号分隔。与 `--event-*` 不兼容(见 `+send` 日程邀请约束) |
52
+ | `--plain-text` | 否 | 强制纯文本模式,忽略 HTML 自动检测。不可与 `--inline` 同时使用 |
53
+ | `--attach <paths>` | 否 | 附件文件路径,多个用逗号分隔。相对路径。当附件导致 EML 总大小超过 25 MB 时,超出部分自动上传为超大附件(HTML 邮件插入下载卡片,纯文本邮件追加下载链接),单个文件上限 3 GB |
54
+ | `--inline <json>` | 否 | 高级用法:手动指定内嵌图片 CID 映射。推荐直接在 `--body` 中使用 `<img src="./path" />`(自动解析)。仅在需要精确控制 CID 命名时使用此参数。格式:`'[{"cid":"mycid","file_path":"./logo.png"}]'`,在 body 中用 `<img src="cid:mycid">` 引用。不可与 `--plain-text` 同时使用 |
55
+ | `--signature-id <id>` | 否 | 签名 ID。附加邮箱签名到正文末尾。运行 `mail +signature` 查看可用签名。不可与 `--plain-text` 同时使用 |
56
+ | `--priority <level>` | 否 | 邮件优先级:`high`、`normal`、`low`。省略或 `normal` 时不设置优先级 |
57
+ | `--request-receipt` | 否 | 请求已读回执(RFC 3798 Message Disposition Notification)。在草稿 EML 里写 `Disposition-Notification-To: <sender>` 头,发送时生效。收件人的邮件客户端可能弹出提示、自动发送或忽略——送达不保证 |
58
+ | `--event-summary <text>` | 否 | 日程标题。设置此参数即在邮件中嵌入日程邀请。需同时设置 `--event-start` 和 `--event-end` |
59
+ | `--event-start <time>` | 条件必填 | 日程开始时间(ISO 8601) |
60
+ | `--event-end <time>` | 条件必填 | 日程结束时间(ISO 8601) |
61
+ | `--event-location <text>` | 否 | 日程地点 |
62
+
63
+ > **日程约束**:`--event-*` 与 `--send-time` 不可同时使用;`--to` 和 `--cc` 收件人自动成为日程参与者(ATTENDEE),`--bcc` 收件人不计入参与者。
64
+
65
+ | `--format <mode>` | 否 | 输出格式:`json`(默认)/ `pretty` / `table` / `ndjson` / `csv` |
66
+ | `--dry-run` | 否 | 仅打印请求,不执行 |
67
+
68
+ ## 返回值
69
+
70
+ 成功时:
71
+
72
+ ```json
73
+ {
74
+ "ok": true,
75
+ "data": {
76
+ "draft_id": "草稿ID"
77
+ }
78
+ }
79
+ ```
80
+
81
+ 可选字段:
82
+
83
+ - `reference`:草稿打开链接。**仅在当前创建链路实际返回时才会出现**。
84
+
85
+ 如果创建结果里带有 `reference`,应把草稿打开链接与 `draft_id` 一起返回给用户;如果当前没有链接,则静默处理。
86
+
87
+ ## 典型场景
88
+
89
+ ### 撰写新邮件 → 创建草稿 → 预览 → 发送
90
+
91
+ ```bash
92
+ # 1. 创建草稿
93
+ lark-cli mail +draft-create --to alice@example.com --subject 'Q1 报告' --body '请查收附件中的报告。' --attach ./q1-report.pdf --format json
94
+
95
+ # 2. 发送草稿
96
+ lark-cli mail user_mailbox.drafts send --params '{"user_mailbox_id":"me","draft_id":"<draft_id>"}'
97
+ ```
98
+
99
+ ### 创建带内嵌图片的 HTML 草稿
100
+
101
+ > **推荐方式:** 直接在 `--body` HTML 中使用 `<img src="./logo.png" />`(相对路径),系统会自动创建内嵌 MIME 部分并替换为 `cid:` 引用。仅支持相对路径(如 `./logo.png`),不支持绝对路径(如 `/tmp/logo.png`)。
102
+
103
+ ```bash
104
+ # 推荐:直接使用相对路径,自动解析为内嵌图片
105
+ lark-cli mail +draft-create \
106
+ --to alice@example.com \
107
+ --subject '通讯稿' \
108
+ --body '<h1>你好</h1><img src="./banner.png" />'
109
+
110
+ # 高级用法:手动指定 CID(CID 为唯一标识符,可用随机十六进制字符串)
111
+ lark-cli mail +draft-create \
112
+ --to alice@example.com \
113
+ --subject '通讯稿' \
114
+ --body '<h1>你好</h1><img src="cid:c7d8e9f0a1b2c3d4e5f6">' \
115
+ --inline '[{"cid":"c7d8e9f0a1b2c3d4e5f6","file_path":"./banner.png"}]'
116
+ ```
117
+
118
+ ## 相关命令
119
+
120
+ - `lark-cli mail +draft-edit` — 编辑已有草稿
121
+ - `lark-cli mail user_mailbox.drafts send` — 发送已有草稿
122
+ - `lark-cli mail user_mailbox.drafts get` — 获取草稿内容
123
+ - `lark-cli mail +reply` / `+reply-all` / `+forward` — 创建回复/转发草稿(默认),或加 `--confirm-send` 发送
@@ -0,0 +1,400 @@
1
+ # mail +draft-edit
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 编辑已有的邮件草稿。命令会读取当前原始 EML,应用最小化补丁,然后将更新后的草稿写回。
6
+
7
+ 简单元数据编辑使用直接参数:
8
+ - `--set-subject`
9
+ - `--set-to`
10
+ - `--set-cc`
11
+ - `--set-bcc`
12
+
13
+ **正文编辑和其他高级操作必须通过 `--patch-file`**。没有 `--set-body` flag。
14
+
15
+ ### 正文编辑:两个 op 的选择
16
+
17
+ 正文编辑通过 `--patch-file` 传入,有两个 op 可选:
18
+
19
+ | 情况 | op | 行为 |
20
+ |------|-----|------|
21
+ | 普通草稿(无引用区) | `set_body` | 替换用户撰写内容 |
22
+ | 回复/转发草稿,编辑用户撰写部分 | `set_reply_body` | 替换用户撰写部分,自动重新拼接引用区。传入的 value 只包含新的用户撰写内容,**不要包含引用区** |
23
+ | 回复/转发草稿,编辑引用区内容 | `set_body` | 传入含完整引用区的 HTML 进行替换 |
24
+ | 用户明确要去掉引用区 | `set_body` | 不包含引用区即可 |
25
+
26
+ **判断方法:** 运行 `--inspect`,若返回 `has_quoted_content: true`,说明草稿包含引用区(由 `+reply` 或 `+forward` 生成)。
27
+
28
+ **关键区别:**
29
+ - `set_reply_body` 的 value = **纯用户撰写内容**(不含引用区),引用区会自动重新拼接
30
+ - `set_body` 的 value = 可含可不含引用区
31
+
32
+ **系统托管元素自动保留(两个 op 通用):** 签名块(`lark-mail-signature`)和超大附件卡片(`large-file-area-*`)不属于用户撰写内容,是由 `insert_signature` / `add_attachment` 等 op 管理的草稿级元素。`set_body` 和 `set_reply_body` 都会自动保留它们(普通附件 MIME part 也一样不受正文编辑影响)。若 value 里显式包含相应元素,则尊重用户的显式指定,不再自动注入。删除签名/附件请用对应的专用 op(`remove_signature` / `remove_attachment`)。
33
+
34
+ ### 正文编辑:plain+HTML 耦合草稿
35
+
36
+ 当草稿同时包含 `text/plain` 和 `text/html` 部分时,它们构成耦合对。`set_body` 和 `set_reply_body` 均更新 HTML 正文并自动重新生成纯文本摘要。此时务必传入 HTML 作为输入,因为原始主正文为 `text/html`。
37
+
38
+ ## 安全约束
39
+
40
+ 此命令会更新真实草稿。调用前须与用户确认:
41
+ 1. 草稿 ID
42
+ 2. 最终收件人范围(To/Cc/Bcc)
43
+ 3. 最终主题和正文
44
+ 4. 是否需要附件、内嵌图片或其他高级编辑
45
+
46
+ ## 命令
47
+
48
+ ```bash
49
+ # 编辑草稿元数据(主题、收件人)
50
+ lark-cli mail +draft-edit --draft-id <draft-id> --set-subject '更新后的主题' --set-to alice@example.com,bob@example.com
51
+
52
+ # 编辑草稿正文(必须通过 patch-file)
53
+ lark-cli mail +draft-edit --draft-id <draft-id> --patch-file ./patch.json
54
+
55
+ # 查看草稿(只读)— 返回包含 has_quoted_content、attachments_summary 和 inline_summary 的投影
56
+ lark-cli mail +draft-edit --draft-id <draft-id> --inspect
57
+
58
+ # 打印补丁模板
59
+ lark-cli mail +draft-edit --print-patch-template
60
+
61
+ # Dry Run(仅打印请求,不执行)
62
+ lark-cli mail +draft-edit --draft-id <draft-id> --set-subject '测试' --dry-run
63
+ ```
64
+
65
+ ## 通用参数
66
+
67
+ | 参数 | 必填 | 说明 |
68
+ |------|------|------|
69
+ | `--mailbox <email>` | 否 | 邮箱地址,指定草稿所属的邮箱(默认回退到 `--from`,再回退到 `me`)。优先于 `--from`。可通过 `accessible_mailboxes` 查询可用邮箱 |
70
+ | `--draft-id <id>` | 是 | 目标草稿 ID。仅当单独使用 `--print-patch-template` 时可省略 |
71
+ | `--set-subject <text>` | 否 | 用此值替换主题 |
72
+ | `--set-to <emails>` | 否 | 用此处提供的地址替换整个 To 收件人列表 |
73
+ | `--set-cc <emails>` | 否 | 用此处提供的地址替换整个 Cc 抄送列表 |
74
+ | `--set-bcc <emails>` | 否 | 用此处提供的地址替换整个 Bcc 密送列表 |
75
+ | `--set-priority <level>` | 否 | 设置邮件优先级:`high`、`normal`、`low`。设为 `normal` 会清除已有优先级 |
76
+ | `--set-event-summary <text>` | 否 | 设置日程标题。需同时设置 `--set-event-start` 和 `--set-event-end` |
77
+ | `--set-event-start <time>` | 条件必填 | 设置日程开始时间(ISO 8601) |
78
+ | `--set-event-end <time>` | 条件必填 | 设置日程结束时间(ISO 8601) |
79
+ | `--set-event-location <text>` | 否 | 设置日程地点 |
80
+ | `--remove-event` | 否 | 移除草稿中的日程邀请。与 `--set-event-*` 互斥 |
81
+ | `--patch-file <path>` | 否 | 所有正文编辑、增量收件人编辑、邮件头编辑、附件变更和内嵌图片变更的入口。相对路径。先运行 `--print-patch-template` 查看 JSON 结构 |
82
+ | `--print-patch-template` | 否 | 打印 `--patch-file` 的 JSON 模板和支持的操作。建议在生成补丁文件前先运行此命令。不会读取或写入草稿 |
83
+ | `--inspect` | 否 | 查看草稿但不修改。返回包含 `has_quoted_content`(是否有引用区)、`attachments_summary`(普通附件,含 `part_id`/`cid`/`filename`)、`large_attachments_summary`(超大附件,含 `token`/`filename`/`size_bytes`)和 `inline_summary` 的草稿投影 |
84
+ | `--request-receipt` | 否 | 在草稿上追加 `Disposition-Notification-To: <草稿的 From 地址>` 头,请求已读回执(RFC 3798)。本质上是在 patch 中注入一个 `set_header` op;已有的 DNT 值会被覆盖。可以与其他 `--set-*` / `--patch-file` 编辑组合,也可以单独使用 |
85
+ | `--format <mode>` | 否 | 输出格式:`json`(默认)/ `pretty` / `table` / `ndjson` / `csv` |
86
+ | `--dry-run` | 否 | 仅打印请求,不执行 |
87
+
88
+ ## `--patch-file` 格式
89
+
90
+ 推荐工作流:
91
+
92
+ 1. 运行 `--inspect` 查看草稿当前状态(是否有引用区、附件等)
93
+ 2. 运行 `--print-patch-template` 查看 JSON 结构
94
+ 3. 生成符合该结构的补丁文件
95
+ 4. 运行 `--patch-file`
96
+
97
+ `--patch-file` 接受项目专用的类型化补丁 JSON 格式,不是 RFC 6902 JSON Patch。
98
+
99
+ 顶层结构:
100
+
101
+ ```json
102
+ {
103
+ "ops": [
104
+ { "op": "set_subject", "value": "更新后的主题" }
105
+ ],
106
+ "options": {
107
+ "rewrite_entire_draft": false,
108
+ "allow_protected_header_edits": false
109
+ }
110
+ }
111
+ ```
112
+
113
+ `options` 字段:
114
+
115
+ - `rewrite_entire_draft`:默认 `false`。仅当编辑需要合成或重组正文部分(例如添加缺失的主正文部分)时设为 `true`。普通的主题、收件人、正文、附件和内嵌图片编辑保持 `false`。
116
+ - `allow_protected_header_edits`:默认 `false`。仅当用户明确要编辑受保护的邮件头并了解可能的会话归档或投递风险时设为 `true`。正常使用保持 `false`。
117
+
118
+ ### 主题与正文
119
+
120
+ `set_subject`
121
+
122
+ ```json
123
+ { "op": "set_subject", "value": "更新后的主题" }
124
+ ```
125
+
126
+ `set_body` — 替换用户撰写内容
127
+
128
+ ```json
129
+ { "op": "set_body", "value": "<p>全新的正文内容</p>" }
130
+ ```
131
+
132
+ > **注意:** `set_body` 不自动保留引用区(用户要保留引用区可以在 value 里自带,或改用 `set_reply_body`)。系统托管元素(签名、超大附件卡片、普通附件)会自动保留。
133
+
134
+ `set_reply_body` — 替换用户撰写内容,自动保留引用区
135
+
136
+ ```json
137
+ { "op": "set_reply_body", "value": "<p>新的回复内容</p>" }
138
+ ```
139
+
140
+ > **value 只传用户撰写的内容,不要包含引用区。** 引用区会自动从原草稿中提取并重新拼接到 value 后面。签名、超大附件卡片、普通附件也会自动保留。
141
+ >
142
+ > 如果用户要修改引用区里的内容(如修正引用中的错误),必须用 `set_body` 全量传入完整 HTML(含修改后的引用区)。
143
+ >
144
+ > 如果草稿无引用区,`set_reply_body` 行为与 `set_body` 相同。
145
+
146
+ ### 收件人
147
+
148
+ `set_recipients`
149
+
150
+ ```json
151
+ { "op": "set_recipients", "field": "to", "addresses": [{ "address": "alice@example.com", "name": "Alice" }] }
152
+ ```
153
+
154
+ `add_recipient`
155
+
156
+ ```json
157
+ { "op": "add_recipient", "field": "cc", "address": "alice@example.com", "name": "Alice" }
158
+ ```
159
+
160
+ `remove_recipient`
161
+
162
+ ```json
163
+ { "op": "remove_recipient", "field": "cc", "address": "alice@example.com" }
164
+ ```
165
+
166
+ ### 邮件头
167
+
168
+ `set_header`
169
+
170
+ ```json
171
+ { "op": "set_header", "name": "X-Custom", "value": "abc" }
172
+ ```
173
+
174
+ `remove_header`
175
+
176
+ ```json
177
+ { "op": "remove_header", "name": "X-Custom" }
178
+ ```
179
+
180
+ ### 附件与内嵌图片
181
+
182
+ **如何获取定位字段:** 不同类型附件有不同的定位字段,都从 `--inspect` 获取:
183
+
184
+ - **普通附件**:`part_id` 或 `cid`(来自 `projection.attachments_summary`)
185
+ - **超大附件**:`token`(来自 `projection.large_attachments_summary`)
186
+ - **内嵌图片**:`part_id` 或 `cid`(来自 `projection.inline_summary`)
187
+
188
+ 这些值来自草稿的 MIME 结构与 header 解析,与公开 API 的附件 ID **不同**。
189
+
190
+ ```bash
191
+ lark-cli mail +draft-edit --draft-id <draft_id> --inspect
192
+ ```
193
+
194
+ `add_attachment` — 统一入口,不区分普通/超大。当累计附件导致 EML 总大小超过 25 MB 时,超出部分自动作为超大附件处理,单个文件上限 3 GB。
195
+
196
+ ```json
197
+ { "op": "add_attachment", "path": "./report.pdf" }
198
+ ```
199
+
200
+ `remove_attachment` — 统一入口。`target` 接受 `part_id` / `cid`(普通附件)或 `token`(超大附件)。优先级:`part_id` > `cid` > `token`。
201
+
202
+ ```json
203
+ { "op": "remove_attachment", "target": { "part_id": "1.3" } } // 普通附件,按 part_id
204
+ { "op": "remove_attachment", "target": { "cid": "logo" } } // 普通附件,按 CID
205
+ { "op": "remove_attachment", "target": { "token": "12101..." } } // 超大附件,按 file token
206
+ ```
207
+
208
+ `add_inline`
209
+
210
+ ```json
211
+ { "op": "add_inline", "path": "./logo.png", "cid": "logo" }
212
+ ```
213
+
214
+ > **推荐方式:** 直接在 `set_body`/`set_reply_body` 的 HTML 中使用 `<img src="./logo.png" />`(相对路径),系统会自动创建 MIME 内嵌部分、生成 CID 并替换为 `cid:` 引用。仅支持相对路径(如 `./logo.png`),不支持绝对路径。删除或替换 `<img>` 标签时,对应的 MIME 部分会自动清理。详见[在正文中插入内嵌图片](#在正文中插入内嵌图片)。
215
+ >
216
+ > `add_inline` 仅在需要精确控制 CID 命名时使用。使用时仍需在 HTML 正文中加入 `<img src="cid:...">` 引用。
217
+
218
+ `replace_inline`
219
+
220
+ ```json
221
+ { "op": "replace_inline", "target": { "part_id": "1.2" }, "path": "./new-logo.png", "filename": "new-logo.png", "content_type": "image/png" }
222
+ { "op": "replace_inline", "target": { "cid": "logo" }, "path": "./new-logo.png" }
223
+ ```
224
+
225
+ `replace_inline` 中 `filename` 和 `content_type` 为可选。省略时保留原内嵌部分的文件名和内容类型。`target` 接受 `part_id` 或 `cid`。
226
+
227
+ `remove_inline`
228
+
229
+ ```json
230
+ { "op": "remove_inline", "target": { "part_id": "1.2" } }
231
+ { "op": "remove_inline", "target": { "cid": "logo" } }
232
+ ```
233
+
234
+ `insert_signature`
235
+
236
+ ```json
237
+ { "op": "insert_signature", "signature_id": "<签名ID>" }
238
+ ```
239
+
240
+ 插入签名到正文末尾(引用块之前)。如已有签名则先移除再插入。运行 `mail +signature` 获取可用签名 ID。签名中的模板变量会自动替换,内联图片自动下载嵌入。
241
+
242
+ `remove_signature`
243
+
244
+ ```json
245
+ { "op": "remove_signature" }
246
+ ```
247
+
248
+ 移除草稿中的现有签名(含签名前的空行间距)。如签名包含内联图片且正文不再引用这些图片,对应的 MIME part 也会一并移除。
249
+
250
+ 注意事项:
251
+
252
+ - `ops` 按顺序执行
253
+ - `target` 接受 `part_id` 或 `cid`;优先级:`part_id` > `cid`
254
+ - **所有文件路径(`--patch-file` 及 ops 中的 `path`)必须为相对路径**
255
+ - **正文编辑没有 flag,必须通过 `--patch-file`**
256
+ - **`set_body` 替换用户撰写内容** — 不保留旧的引用区(用户要保留需在 value 里带上,或改用 `set_reply_body`);自动保留签名、超大附件卡片、普通附件
257
+ - **`set_reply_body` 替换用户撰写内容** — 自动保留引用区、签名、超大附件卡片、普通附件;value 只传用户撰写的部分,不要包含引用区/签名/附件卡片;如果用户要修改引用区内容,用 `set_body` 并在 value 里带上修改后的引用区
258
+ - **删除签名 / 附件**不能通过 `set_body` 清空实现 — 必须用对应的专用 op:`remove_signature`、`remove_attachment`(按 `part_id` / `cid` / `token` 定位)
259
+ - 通过 `--inspect` 返回的 `has_quoted_content` 字段可判断草稿是否包含引用区
260
+ - 通过 `--inspect` 返回的 `has_signature` / `signature_id` 字段可判断草稿是否包含签名
261
+
262
+ ## 返回值
263
+
264
+ 成功时:
265
+
266
+ ```json
267
+ {
268
+ "ok": true,
269
+ "data": {
270
+ "draft_id": "草稿ID",
271
+ "warning": "This edit flow has no optimistic locking. If the same draft is changed concurrently, the last writer wins."
272
+ }
273
+ }
274
+ ```
275
+
276
+ 可选字段:
277
+
278
+ - `reference`:草稿打开链接。**仅在当前编辑链路实际返回时才会出现**。
279
+
280
+ 如果更新结果里带有 `reference`,应把草稿打开链接与 `draft_id` 一起返回给用户;如果当前没有链接,则静默处理。
281
+
282
+ ## 典型场景
283
+
284
+ ### 获取草稿 → 编辑 → 发送
285
+
286
+ ```bash
287
+ # 1. 查看草稿当前状态
288
+ lark-cli mail +draft-edit --draft-id <draft_id> --inspect
289
+
290
+ # 2. 编辑草稿(元数据用 flag,正文用 patch-file)
291
+ cat > ./patch.json << 'EOF'
292
+ { "ops": [{ "op": "set_body", "value": "<p>更新后的内容</p>" }] }
293
+ EOF
294
+ lark-cli mail +draft-edit --draft-id <draft_id> --set-subject '最终版本' --patch-file ./patch.json
295
+
296
+ # 3. 发送草稿
297
+ lark-cli mail user_mailbox.drafts send --params '{"user_mailbox_id":"me","draft_id":"<draft_id>"}'
298
+ ```
299
+
300
+ ### 编辑回复/转发草稿的正文
301
+
302
+ 回复或转发草稿的正文包含引用区(原邮件引用块)。编辑时需使用 `set_reply_body` 保留引用区。
303
+
304
+ ```bash
305
+ # 1. 查看草稿,确认是否有引用区
306
+ lark-cli mail +draft-edit --draft-id <draft_id> --inspect
307
+ # 返回包含:
308
+ # has_quoted_content: true ← 说明有引用区,应使用 set_reply_body
309
+ # body_html_summary: "<div>原有回复内容</div>..."
310
+
311
+ # 2. 使用 set_reply_body 编辑正文(value 只传用户撰写内容,不含引用区)
312
+ cat > ./patch.json << 'EOF'
313
+ { "ops": [{ "op": "set_reply_body", "value": "<p>修改后的回复内容</p>" }] }
314
+ EOF
315
+ lark-cli mail +draft-edit --draft-id <draft_id> --patch-file ./patch.json
316
+ ```
317
+
318
+ **注意:** 如果误用 `set_body`,引用区将被覆盖丢失。如果用户明确要去掉引用区或修改引用区内容,则应使用 `set_body`。
319
+
320
+ ### 从草稿中移除附件
321
+
322
+ `remove_attachment` 统一处理普通附件和超大附件;根据 `--inspect` 输出选择对应的定位字段。
323
+
324
+ ```bash
325
+ # 1. 查看草稿以获取附件定位信息
326
+ lark-cli mail +draft-edit --draft-id <draft_id> --inspect
327
+ # 返回包含:
328
+ # projection.attachments_summary (普通附件):
329
+ # [{"part_id":"1.3","filename":"report.pdf","content_type":"application/pdf"}]
330
+ # projection.large_attachments_summary (超大附件):
331
+ # [{"token":"12101...","filename":"video.mov","size_bytes":314572800}]
332
+
333
+ # 2. 编写补丁文件。普通附件用 part_id(或 cid),超大附件用 token
334
+ cat > ./patch.json << 'EOF'
335
+ {
336
+ "ops": [
337
+ { "op": "remove_attachment", "target": { "part_id": "1.3" } },
338
+ { "op": "remove_attachment", "target": { "token": "12101..." } }
339
+ ]
340
+ }
341
+ EOF
342
+
343
+ # 3. 应用补丁
344
+ lark-cli mail +draft-edit --draft-id <draft_id> --patch-file ./patch.json
345
+ ```
346
+
347
+ ### 在正文中插入内嵌图片
348
+
349
+ 直接在 `set_body`/`set_reply_body` 的 HTML 中使用相对路径即可(如 `./logo.png`,不支持绝对路径)。系统会自动创建 MIME 内嵌部分并替换为 `cid:` 引用。
350
+
351
+ ```bash
352
+ # 1. 查看草稿以获取当前 HTML 正文
353
+ lark-cli mail +draft-edit --draft-id <draft_id> --inspect
354
+
355
+ # 2. 编写补丁 — 直接使用相对路径(注意:回复草稿用 set_reply_body,普通草稿用 set_body)
356
+ cat > ./patch.json << 'EOF'
357
+ {
358
+ "ops": [
359
+ { "op": "set_body", "value": "<div>内容<img src=\"./logo.png\" /><img src=\"./photo.jpg\" /></div>" }
360
+ ]
361
+ }
362
+ EOF
363
+
364
+ # 3. 应用补丁
365
+ lark-cli mail +draft-edit --draft-id <draft_id> --patch-file ./patch.json
366
+ ```
367
+
368
+ 内嵌图片的增删改通过 HTML 正文自动联动:
369
+ - **添加**:在 HTML 中写 `<img src="./image.png" />`,自动创建 MIME 部分
370
+ - **删除**:从 HTML 中移除 `<img>` 标签,对应 MIME 部分自动清理
371
+ - **替换**:将 `src` 改为新的相对路径,旧 MIME 部分自动移除、新部分自动创建
372
+
373
+ > **高级用法:** 需要精确控制 CID 命名时,仍可使用 `add_inline` 手动添加 MIME 部分,并在 HTML 中用 `<img src="cid:your-cid">` 引用。
374
+
375
+ ### 使用 patch-file 进行高级编辑
376
+
377
+ ```bash
378
+ # 1. 查看补丁模板
379
+ lark-cli mail +draft-edit --print-patch-template
380
+
381
+ # 2. 编写补丁文件(例如添加一个抄送并移除一个附件)
382
+ cat > ./patch.json << 'EOF'
383
+ {
384
+ "ops": [
385
+ { "op": "add_recipient", "field": "cc", "address": "carol@example.com", "name": "Carol" },
386
+ { "op": "remove_attachment", "target": { "part_id": "1.3" } }
387
+ ],
388
+ "options": {}
389
+ }
390
+ EOF
391
+
392
+ # 3. 应用补丁
393
+ lark-cli mail +draft-edit --draft-id <draft_id> --patch-file ./patch.json
394
+ ```
395
+
396
+ ## 相关命令
397
+
398
+ - `lark-cli mail +draft-create` — 创建新草稿
399
+ - `lark-cli mail user_mailbox.drafts get` — 获取草稿原始内容
400
+ - `lark-cli mail user_mailbox.drafts send` — 发送已有草稿