@wagemule/daemon 0.1.0 → 0.1.3

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 -2
  2. package/dist/main.cjs +270 -101
  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,223 @@
1
+ # im +messages-send
2
+
3
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
4
+
5
+ Send a message to a group chat or a direct message conversation. Supports both user identity (`--as user`) and bot identity (`--as bot`).
6
+
7
+ This skill maps to the shortcut: `lark-cli im +messages-send` (internally calls `POST /open-apis/im/v1/messages`).
8
+
9
+ ## Safety Constraints
10
+
11
+ Messages sent by this tool are visible to other people. Before calling it, you **must** confirm with the user:
12
+
13
+ 1. The recipient (which person or which group)
14
+ 2. The message content
15
+ 3. The sending identity (user or bot)
16
+
17
+ **Do not** send messages without explicit user approval.
18
+
19
+ When using `--as bot`, the message is sent in the app's name, so make sure the app has already been added to the target chat.
20
+
21
+ When using `--as user`, the message is sent as the authorized end user and requires the `im:message.send_as_user` and `im:message` scopes.
22
+
23
+ ## Choose The Right Content Flag
24
+
25
+ | Need | Recommended flag | Why |
26
+ |------|------|------|
27
+ | Send plain text exactly as written | `--text` | Wrapped directly to `{"text":"..."}`; no Markdown conversion |
28
+ | Send simple Markdown and accept Feishu-style rendering | `--markdown` | Automatically converted to `post` JSON |
29
+ | Precisely control the final payload | `--content` | You provide the exact JSON for `text` / `post` / `interactive` / `share_*` / media payloads |
30
+ | Send image / file / video / audio | `--image` / `--file` / `--video` / `--audio` | Shortcut uploads local files automatically |
31
+
32
+ ### `--text` vs `--markdown`
33
+
34
+ - Use `--text` when the content should stay as plain text, including exact line breaks, indentation, code samples, shell snippets, or Markdown characters that should **not** be reinterpreted.
35
+ - Use `--markdown` when you want basic Markdown-style rendering and you accept that the shortcut will normalize and rewrite parts of the content before sending.
36
+ - Use `--content` when `--markdown` is not enough, especially if you need exact `post` JSON, a title, multiple locales, cards, or unsupported rich structures.
37
+
38
+ ## What `--markdown` Really Does
39
+
40
+ `--markdown` is **not** sent as raw Markdown API content.
41
+
42
+ The shortcut does all of the following before sending:
43
+
44
+ 1. Forces `msg_type=post`
45
+ 2. Resolves remote Markdown images like `![x](https://...)` by downloading and uploading them first
46
+ 3. Normalizes the Markdown for Feishu post rendering
47
+ 4. Wraps the result as:
48
+
49
+ ```json
50
+ {"zh_cn":{"content":[[{"tag":"md","text":"..."}]]}}
51
+ ```
52
+
53
+ This means `--markdown` is convenient, but it is not a full-fidelity Markdown transport.
54
+
55
+ ### Current Markdown Caveats
56
+
57
+ - It does **not** promise full CommonMark / GitHub Flavored Markdown support.
58
+ - It always becomes a `post` payload with a single `zh_cn` locale.
59
+ - It does **not** let you set a `post` title. If you need a title, use `--msg-type post --content ...`.
60
+ - Headings are rewritten:
61
+ - `# Title` becomes `#### Title`
62
+ - `##` to `######` are normalized to `#####` when the content contains H1-H3
63
+ - Consecutive headings are separated with blank lines after heading normalization.
64
+ - Block spacing and line breaks may be normalized during conversion.
65
+ - Code blocks are preserved as code blocks.
66
+ - Excess blank lines are compressed.
67
+ - Only `http://...`, `https://...`, or already-uploaded `img_xxx` Markdown images are kept reliably.
68
+ - Local paths in Markdown image syntax like `![x](./a.png)` are **not** auto-uploaded by `--markdown`; they may be stripped during optimization.
69
+ - If remote Markdown image download/upload fails, that image is removed with a warning.
70
+
71
+ If any of the above is unacceptable, do **not** use `--markdown`; use `--content` and provide the final JSON yourself.
72
+
73
+ ## Preserving Formatting
74
+
75
+ If the message has multiple lines, indentation, code blocks, tabs, or many quotes/backslashes, prefer shell ANSI-C quoting with `$'...'`.
76
+
77
+ This is especially useful in `zsh` / `bash` because it lets you write `\n` explicitly instead of relying on the shell to preserve literal newlines.
78
+
79
+ ### When formatting must be preserved
80
+
81
+ Use `--text` plus `$'...'`:
82
+
83
+ ```bash
84
+ lark-cli im +messages-send --chat-id oc_xxx --text $'Build failed\nBranch: feature/im-docs\nAction: please check logs'
85
+ ```
86
+
87
+ ```bash
88
+ lark-cli im +messages-send --chat-id oc_xxx --text $'```bash\nmake test\nmake lint\n```'
89
+ ```
90
+
91
+ Use this path when you want the receiver to see the text exactly as entered, not a converted Markdown post.
92
+
93
+ ### When formatting does not need exact preservation
94
+
95
+ Use `--markdown`:
96
+
97
+ ```bash
98
+ lark-cli im +messages-send --chat-id oc_xxx --markdown $'## Release Notes\n\n- Added send shortcut\n- Added reply shortcut'
99
+ ```
100
+
101
+ This is better for lightweight readable formatting, but the final content may not match the source text byte-for-byte because the shortcut normalizes headings and spacing before sending.
102
+
103
+ ## Commands
104
+
105
+ ```bash
106
+ # Send plain text (--text is recommended for normal messages)
107
+ lark-cli im +messages-send --chat-id oc_xxx --text "Hello"
108
+
109
+ # Equivalent manual JSON
110
+ lark-cli im +messages-send --chat-id oc_xxx --content '{"text":"Hello"}'
111
+
112
+ # Send to a direct message (pass open_id)
113
+ lark-cli im +messages-send --user-id ou_xxx --text "Hello"
114
+
115
+ # Send multi-line text while preserving formatting
116
+ lark-cli im +messages-send --chat-id oc_xxx --text $'Line 1\nLine 2\n indented line'
117
+
118
+ # Send basic Markdown (will be converted to post JSON)
119
+ lark-cli im +messages-send --chat-id oc_xxx --markdown $'## Update\n\n- item 1\n- item 2'
120
+
121
+ # If you need exact post structure, send JSON directly
122
+ lark-cli im +messages-send --chat-id oc_xxx --msg-type post --content '{"zh_cn":{"title":"Title","content":[[{"tag":"text","text":"Body"}]]}}'
123
+
124
+ # Send a local image (uploaded automatically before sending)
125
+ lark-cli im +messages-send --chat-id oc_xxx --image ./photo.png
126
+
127
+ # Or send directly with an existing image_key
128
+ lark-cli im +messages-send --chat-id oc_xxx --image img_xxx
129
+
130
+ # Send a local file (uploaded automatically before sending)
131
+ lark-cli im +messages-send --chat-id oc_xxx --file ./report.pdf
132
+
133
+ # Send a video (--video-cover is required as the cover)
134
+ lark-cli im +messages-send --chat-id oc_xxx --video ./demo.mp4 --video-cover ./cover.png
135
+ lark-cli im +messages-send --chat-id oc_xxx --video ./demo.mp4 --video-cover img_xxx
136
+
137
+ # Send audio
138
+ lark-cli im +messages-send --chat-id oc_xxx --audio ./voice.opus
139
+
140
+ # Use an idempotency key (same key sends only once within 1 hour)
141
+ lark-cli im +messages-send --chat-id oc_xxx --text "Hello" --idempotency-key my-unique-id
142
+
143
+ # Preview the request without executing it
144
+ lark-cli im +messages-send --chat-id oc_xxx --markdown $'## Test\n\nhello' --dry-run
145
+ ```
146
+
147
+ ## Parameters
148
+
149
+ | Parameter | Required | Description |
150
+ |------|------|------|
151
+ | `--chat-id <id>` | One of two | Group chat ID (`oc_xxx`) |
152
+ | `--user-id <id>` | One of two | User open_id (`ou_xxx`) for direct messages |
153
+ | `--text <string>` | One content option | Plain text message. Best default for exact text and preserved formatting. Automatically wrapped as `{"text":"..."}` |
154
+ | `--markdown <string>` | One content option | Convenience Markdown input. Internally converted to `post` JSON with Feishu-specific normalization; not full Markdown passthrough |
155
+ | `--content <json>` | One content option | Exact message content JSON string; use this when you need full control over `msg_type` and payload. The JSON must match the effective `--msg-type` |
156
+ | `--image <path\|key>` | One content option | Local image path or `image_key` (`img_xxx`). Local paths are uploaded automatically |
157
+ | `--file <path\|key>` | One content option | Local file path or `file_key` (`file_xxx`). Local paths are uploaded automatically |
158
+ | `--video <path\|key>` | One content option | Local video path or `file_key`. Local paths are uploaded automatically. **Must be paired with `--video-cover`** |
159
+ | `--video-cover <path\|key>` | **Required with `--video`** | Video cover image path or `image_key` (`img_xxx`). Local paths are uploaded automatically |
160
+ | `--audio <path\|key>` | One content option | Local audio path or `file_key`. Local paths are uploaded automatically |
161
+ | `--msg-type <type>` | No | Message type (default `text`). If you use `--text` / `--markdown` / media flags, the effective type is inferred automatically. Explicitly setting a conflicting `--msg-type` fails validation |
162
+ | `--idempotency-key <key>` | No | Idempotency key; the same key sends only one message within 1 hour |
163
+ | `--as <identity>` | No | Identity type: `bot` or `user` (default `bot`) |
164
+ | `--dry-run` | No | Print the request only, do not execute it |
165
+
166
+ > **Mutual exclusivity rule:** `--text`, `--markdown`, `--content`, and `--image`/`--file`/`--video`/`--audio` cannot be used together. Media flags are also mutually exclusive with each other.
167
+ >
168
+ > **Video cover rule:** `--video` **must** be accompanied by `--video-cover`. Omitting `--video-cover` when using `--video` will fail validation. `--video-cover` cannot be used without `--video`.
169
+
170
+ ## Common Mistakes
171
+
172
+ - Choosing `--markdown` when you actually need exact plain text. If exact line breaks and spacing matter, use `--text`, usually with `$'...'`.
173
+ - Assuming `--markdown` supports all Markdown features. It does not; it is converted into a Feishu `post` payload and rewritten first.
174
+ - Putting local image paths inside Markdown like `![x](./a.png)`. `--markdown` does not auto-upload those paths.
175
+ - Using `--content` without making the JSON match the effective `--msg-type`.
176
+ - Explicitly setting `--msg-type` to something that conflicts with `--text`, `--markdown`, or media flags.
177
+ - Mixing `--text`, `--markdown`, or `--content` with media flags in one command.
178
+
179
+ ## `content` Format Reference
180
+
181
+ | `msg_type` | Example `content` |
182
+ |----------|-------------|
183
+ | `text` | `{"text":"Hello <at user_id=\"ou_xxx\">name</at>"}` |
184
+ | `post` | `{"zh_cn":{"title":"Title","content":[[{"tag":"text","text":"Body"}]]}}` |
185
+ | `image` | `{"image_key":"img_xxx"}` |
186
+ | `file` | `{"file_key":"file_xxx"}` |
187
+ | `audio` | `{"file_key":"file_xxx"}` |
188
+ | `media` | `{"file_key":"file_xxx","image_key":"img_xxx"}` (video; `image_key` is the cover from `--video-cover` — **required**) |
189
+ | `share_chat` | `{"chat_id":"oc_xxx"}` |
190
+ | `share_user` | `{"user_id":"ou_xxx"}` |
191
+ | `interactive` | Card JSON (see Feishu interactive card documentation) |
192
+
193
+ ## Return Value
194
+
195
+ ```json
196
+ {
197
+ "message_id": "om_xxx",
198
+ "chat_id": "oc_xxx",
199
+ "create_time": "1234567890"
200
+ }
201
+ ```
202
+
203
+ ## @Mention Format (text / post)
204
+
205
+ - Recommended format: `<at user_id="ou_xxx">name</at>`
206
+ - @all: `<at user_id="all"></at>`
207
+ - The shortcut normalizes common variants like `<at id=...>` and `<at open_id=...>` into `user_id`, but you should still document examples with `user_id`
208
+
209
+ ## Notes
210
+
211
+ - `--chat-id` and `--user-id` are mutually exclusive; you must provide exactly one
212
+ - `--content` must be valid JSON
213
+ - When using `--content`, you are responsible for making the JSON structure match the effective `msg_type`
214
+ - `--image`/`--file`/`--video`/`--audio` support local file paths; the shortcut uploads first and then sends the message; both the upload and send steps use the same identity (UAT when `--as user`, TAT when `--as bot`)
215
+ - If the provided media value starts with `img_` or `file_`, it is treated as an existing key and used directly
216
+ - `--markdown` always sends `msg_type=post`, even if you do not explicitly set `--msg-type post`
217
+ - If you explicitly set `--msg-type` and it conflicts with the chosen content flag, validation fails
218
+ - When using `--video`, `--video-cover` is required as the video cover
219
+ - `--dry-run` uses placeholder image keys for remote Markdown images and placeholder media keys for local uploads
220
+ - Failures return an error code and message
221
+ - `--as user` uses a user access token (UAT) and requires the `im:message.send_as_user` and `im:message` scopes; the message is sent as the authorized end user
222
+ - `--as bot` uses a tenant access token (TAT) and requires the `im:message:send_as_bot` scope
223
+ - When sending as a bot, the app must already be in the target group or already have a direct-message relationship with the target user
@@ -0,0 +1,297 @@
1
+ # im reactions
2
+
3
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
4
+
5
+ This reference is the shared annotation target for the IM reaction APIs:
6
+
7
+ - `im.reactions.create`
8
+ - `im.reactions.list`
9
+ - `im.reactions.delete`
10
+ - `im.reactions.batch_query`
11
+
12
+ It focuses on:
13
+
14
+ - What each reaction method does
15
+ - The request/response shape you need when calling the raw API commands
16
+ - The complete `emoji_type` list used in reaction payloads and filters
17
+
18
+ > **Important:** These raw API commands accept structured input through `--params '<json>'` and `--data '<json>'`. They do not expose typed flags such as `--message-id` or `--reaction-type` directly.
19
+
20
+ ## Command Overview
21
+
22
+ | Method | HTTP | Path | Purpose |
23
+ |---|---|---|---|
24
+ | `im.reactions.create` | `POST` | `/open-apis/im/v1/messages/{message_id}/reactions` | Add a reaction to one message |
25
+ | `im.reactions.list` | `GET` | `/open-apis/im/v1/messages/{message_id}/reactions` | List reaction records on one message |
26
+ | `im.reactions.delete` | `DELETE` | `/open-apis/im/v1/messages/{message_id}/reactions/{reaction_id}` | Delete one specific reaction record |
27
+ | `im.reactions.batch_query` | `POST` | `/open-apis/im/v1/messages/reactions/batch_query` | Query reactions for multiple messages in one request |
28
+
29
+ ## Common Notes
30
+
31
+ - `message_id` is always an IM message ID such as `om_xxx`
32
+ - `reaction_id` is the unique record ID returned after a reaction is added
33
+ - `reaction_type.emoji_type` is the enum-like emoji identifier used by both write and read APIs
34
+ - Reaction APIs return **reaction records**, not only aggregated counts
35
+ - When the operator is a human user, the returned ID type may depend on `user_id_type`
36
+
37
+ ## Inspect Schema
38
+
39
+ ```bash
40
+ lark-cli schema im.reactions
41
+ lark-cli schema im.reactions.create --format pretty
42
+ lark-cli schema im.reactions.list --format pretty
43
+ lark-cli schema im.reactions.delete --format pretty
44
+ ```
45
+
46
+ If your local build has already exposed the batch API in `schema`, also check:
47
+
48
+ ```bash
49
+ lark-cli schema im.reactions.batch_query --format pretty
50
+ ```
51
+
52
+ ## create
53
+
54
+ Add a reaction to one message.
55
+
56
+ ```bash
57
+ lark-cli im reactions create \
58
+ --params '{"message_id":"om_xxx"}' \
59
+ --data '{"reaction_type":{"emoji_type":"SMILE"}}'
60
+ ```
61
+
62
+ ### Request
63
+
64
+ - `--params.message_id`: required message ID
65
+ - `--data.reaction_type.emoji_type`: required emoji type
66
+
67
+ ### Response
68
+
69
+ ```json
70
+ {
71
+ "reaction_id": "ZCaCIjUBVVWSrm5L-3ZTw_xxx",
72
+ "operator": {
73
+ "operator_id": "ou_xxx",
74
+ "operator_type": "user"
75
+ },
76
+ "action_time": "1663054162546",
77
+ "reaction_type": {
78
+ "emoji_type": "SMILE"
79
+ }
80
+ }
81
+ ```
82
+
83
+ ## list
84
+
85
+ List reaction records on one message.
86
+
87
+ ```bash
88
+ lark-cli im reactions list --params '{"message_id":"om_xxx"}'
89
+ lark-cli im reactions list --params '{"message_id":"om_xxx","reaction_type":"SMILE"}'
90
+ lark-cli im reactions list --params '{"message_id":"om_xxx","page_size":50}'
91
+ lark-cli im reactions list --params '{"message_id":"om_xxx","page_token":"<PAGE_TOKEN>"}'
92
+ lark-cli im reactions list --params '{"message_id":"om_xxx","user_id_type":"open_id"}'
93
+ ```
94
+
95
+ ### Request Parameters (`--params`)
96
+
97
+ | Parameter | Required | Description |
98
+ |---|---|---|
99
+ | `message_id` | Yes | Message ID (`om_xxx`) |
100
+ | `reaction_type` | No | Filter by one emoji type such as `SMILE` or `LAUGH` |
101
+ | `page_size` | No | Number of records per page. Default is 20 |
102
+ | `page_token` | No | Pagination token from the previous page |
103
+ | `user_id_type` | No | Returned operator ID type when `operator_type=user`: `open_id`, `union_id`, or `user_id` |
104
+
105
+ ### Response Shape
106
+
107
+ ```json
108
+ {
109
+ "items": [
110
+ {
111
+ "reaction_id": "ZCaCIjUBVVWSrm5L-3ZTw_xxx",
112
+ "operator": {
113
+ "operator_id": "ou_xxx",
114
+ "operator_type": "user"
115
+ },
116
+ "action_time": "1663054162546",
117
+ "reaction_type": {
118
+ "emoji_type": "SMILE"
119
+ }
120
+ }
121
+ ],
122
+ "has_more": true,
123
+ "page_token": "YhljsPiGfUgnVAg9urvRFd-BvSqRLxxxx"
124
+ }
125
+ ```
126
+
127
+ ### Top-Level Fields
128
+
129
+ | Field | Type | Meaning |
130
+ |---|---|---|
131
+ | `items` | `array<object>` | Reaction records for the current page |
132
+ | `has_more` | `boolean` | Whether more pages are available |
133
+ | `page_token` | `string` | Token for the next page when `has_more=true` |
134
+
135
+ ### `items[]` Fields
136
+
137
+ | Field | Type | Meaning |
138
+ |---|---|---|
139
+ | `reaction_id` | `string` | Unique ID of this reaction record |
140
+ | `operator` | `object` | Identity of the user or app that added the reaction |
141
+ | `action_time` | `string` | Unix timestamp in milliseconds |
142
+ | `reaction_type` | `object` | Reaction payload. The key field is `emoji_type` |
143
+
144
+ ### `operator` Fields
145
+
146
+ | Field | Type | Meaning |
147
+ |---|---|---|
148
+ | `operator.operator_id` | `string` | Operator ID. If `operator_type=user`, the returned ID type follows `user_id_type`; if `operator_type=app`, this is the app ID |
149
+ | `operator.operator_type` | `string` | `user` or `app` |
150
+
151
+ ## delete
152
+
153
+ Delete one specific reaction record from one message.
154
+
155
+ ```bash
156
+ lark-cli im reactions delete \
157
+ --params '{"message_id":"om_xxx","reaction_id":"ZCaCIjUBVVWSrm5L-3ZTw_xxx"}'
158
+ ```
159
+
160
+ ### Request
161
+
162
+ - `--params.message_id`: required message ID
163
+ - `--params.reaction_id`: required reaction record ID
164
+
165
+ ### Response
166
+
167
+ The response shape is similar to `create`, and usually echoes:
168
+
169
+ - `reaction_id`
170
+ - `operator`
171
+ - `action_time`
172
+ - `reaction_type.emoji_type`
173
+
174
+ ## batch_query
175
+
176
+ Query reactions for multiple messages in one request.
177
+
178
+ ```bash
179
+ lark-cli im reactions batch_query \
180
+ --params '{"user_id_type":"open_id"}' \
181
+ --data '{
182
+ "queries":[
183
+ {"message_id":"om_xxx"},
184
+ {"message_id":"om_yyy","page_token":"<PAGE_TOKEN>"}
185
+ ],
186
+ "page_size_per_message":10,
187
+ "reaction_type":"LAUGH"
188
+ }'
189
+ ```
190
+
191
+ ### Request
192
+
193
+ #### `--params`
194
+
195
+ | Parameter | Required | Description |
196
+ |---|---|---|
197
+ | `user_id_type` | No | Returned user ID type in operator info: `open_id`, `union_id`, or `user_id` |
198
+
199
+ #### `--data`
200
+
201
+ | Field | Required | Description |
202
+ |---|---|---|
203
+ | `queries` | Yes | Array of target messages |
204
+ | `queries[].message_id` | No | Message ID to query |
205
+ | `queries[].page_token` | No | Continuation token for that message |
206
+ | `page_size_per_message` | No | Max reactions returned per message |
207
+ | `reaction_type` | No | Filter by one emoji type |
208
+
209
+ ### Response
210
+
211
+ The meta definition contains three top-level result groups:
212
+
213
+ | Field | Meaning |
214
+ |---|---|
215
+ | `success_msg_reaction_details` | Per-message reaction detail records |
216
+ | `success_msg_reaction_counts` | Per-message aggregated reaction counts |
217
+ | `fail_msg_reaction_details` | Query failures for individual messages |
218
+
219
+ #### `success_msg_reaction_details`
220
+
221
+ Each `message_reaction_items[]` element includes:
222
+
223
+ - `reaction_id`
224
+ - `operator`
225
+ - `action_time`
226
+ - `emoji_type`
227
+
228
+ #### `success_msg_reaction_counts`
229
+
230
+ Each aggregated count record includes:
231
+
232
+ - `message_id`
233
+ - `reaction_count[].reaction_type`
234
+ - `reaction_count[].count`
235
+
236
+ #### `fail_msg_reaction_details`
237
+
238
+ Each failed message record includes:
239
+
240
+ - `message_id`
241
+ - `fail_reason`
242
+
243
+ Supported `fail_reason` values from meta:
244
+
245
+ - `invalid`
246
+ - `invalid_page_token`
247
+ - `no_permission`
248
+
249
+ ## `emoji_type` Field
250
+
251
+ Reaction emoji identifiers are used in slightly different field names across the APIs:
252
+
253
+ - `im.reactions.create`: request and response use `reaction_type.emoji_type`
254
+ - `im.reactions.list`: request filter uses `reaction_type`, response uses `reaction_type.emoji_type`
255
+ - `im.reactions.delete`: response uses `reaction_type.emoji_type`
256
+ - `im.reactions.batch_query`: request filter uses top-level `reaction_type`, detail results use `message_reaction_items[].emoji_type`, aggregated results use `reaction_count[].reaction_type`
257
+
258
+ ## Complete `emoji_type` List
259
+
260
+ The following list is synchronized from the official Feishu reaction emoji documentation:
261
+
262
+ - Source page: `https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message-reaction/emojis-introduce`
263
+ - Markdown source: `https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message-reaction/emojis-introduce.md`
264
+
265
+ Current count in the fetched source: `185`.
266
+
267
+ ```text
268
+ OK, THUMBSUP, THANKS, MUSCLE, FINGERHEART, APPLAUSE, FISTBUMP, JIAYI
269
+ DONE, SMILE, BLUSH, LAUGH, SMIRK, LOL, FACEPALM, LOVE
270
+ WINK, PROUD, WITTY, SMART, SCOWL, THINKING, SOB, CRY
271
+ ERROR, NOSEPICK, HAUGHTY, SLAP, SPITBLOOD, TOASTED, GLANCE, DULL
272
+ INNOCENTSMILE, JOYFUL, WOW, TRICK, YEAH, ENOUGH, TEARS, EMBARRASSED
273
+ KISS, SMOOCH, DROOL, OBSESSED, MONEY, TEASE, SHOWOFF, COMFORT
274
+ CLAP, PRAISE, STRIVE, XBLUSH, SILENT, WAVE, WHAT, FROWN
275
+ SHY, DIZZY, LOOKDOWN, CHUCKLE, WAIL, CRAZY, WHIMPER, HUG
276
+ BLUBBER, WRONGED, HUSKY, SHHH, SMUG, ANGRY, HAMMER, SHOCKED
277
+ TERROR, PETRIFIED, SKULL, SWEAT, SPEECHLESS, SLEEP, DROWSY, YAWN
278
+ SICK, PUKE, BETRAYED, HEADSET, EatingFood, MeMeMe, Sigh, Typing
279
+ Lemon, Get, LGTM, OnIt, OneSecond, VRHeadset, YouAreTheBest, SALUTE
280
+ SHAKE, HIGHFIVE, UPPERLEFT, ThumbsDown, SLIGHT, TONGUE, EYESCLOSED, RoarForYou
281
+ CALF, BEAR, BULL, RAINBOWPUKE, ROSE, HEART, PARTY, LIPS
282
+ BEER, CAKE, GIFT, CUCUMBER, Drumstick, Pepper, CANDIEDHAWS, BubbleTea
283
+ Coffee, Yes, No, OKR, CheckMark, CrossMark, MinusOne, Hundred
284
+ AWESOMEN, Pin, Alarm, Loudspeaker, Trophy, Fire, BOMB, Music
285
+ XmasTree, Snowman, XmasHat, FIREWORKS, 2022, REDPACKET, FORTUNE, LUCK
286
+ FIRECRACKER, StickyRiceBalls, HEARTBROKEN, POOP, StatusFlashOfInspiration, 18X, CLEAVER, Soccer
287
+ Basketball, GeneralDoNotDisturb, Status_PrivateMessage, GeneralInMeetingBusy, StatusReading, StatusInFlight, GeneralBusinessTrip, GeneralWorkFromHome
288
+ StatusEnjoyLife, GeneralTravellingCar, StatusBus, GeneralSun, GeneralMoonRest, MoonRabbit, Mooncake, JubilantRabbit
289
+ TV, Movie, Pumpkin, BeamingFace, Delighted, ColdSweat, FullMoonFace, Partying
290
+ GoGoGo, ThanksFace, SaluteFace, Shrug, ClownFace, HappyDragon
291
+ ```
292
+
293
+ ## References
294
+
295
+ - [lark-im](../SKILL.md) - all IM commands
296
+ - [lark-shared](../../lark-shared/SKILL.md) - authentication and global parameters
297
+ - Official emoji doc: `https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message-reaction/emojis-introduce`
@@ -0,0 +1,111 @@
1
+ # im +threads-messages-list
2
+
3
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
4
+
5
+ Fetch the reply message list inside a thread. When `im +chat-messages-list` returns messages that include a `thread_id` field, use this command to inspect all replies in that thread.
6
+
7
+ This skill maps to the shortcut: `lark-cli im +threads-messages-list` (internally calls `GET /open-apis/im/v1/messages` with `container_id_type=thread` to fetch thread messages).
8
+
9
+ ## Commands
10
+
11
+ ```bash
12
+ # Get thread replies (ascending by time by default, table output)
13
+ lark-cli im +threads-messages-list --thread omt_xxx
14
+
15
+ # Reverse chronological order (latest first)
16
+ lark-cli im +threads-messages-list --thread omt_xxx --sort desc
17
+
18
+ # Control page size
19
+ lark-cli im +threads-messages-list --thread omt_xxx --page-size 20
20
+
21
+ # Pagination
22
+ lark-cli im +threads-messages-list --thread omt_xxx --page-token <PAGE_TOKEN>
23
+
24
+ # Output format options
25
+ lark-cli im +threads-messages-list --thread omt_xxx --format pretty
26
+ lark-cli im +threads-messages-list --thread omt_xxx --format table
27
+ lark-cli im +threads-messages-list --thread omt_xxx --format csv
28
+
29
+ # View as a bot
30
+ lark-cli im +threads-messages-list --thread omt_xxx --as bot
31
+
32
+ # Preview the request without executing it
33
+ lark-cli im +threads-messages-list --thread omt_xxx --dry-run
34
+ ```
35
+
36
+ ## Parameters
37
+
38
+ | Parameter | Required | Description |
39
+ |------|------|------|
40
+ | `--thread <id>` | Yes | Thread ID (`om_xxx` or `omt_xxx` format) |
41
+ | `--sort <order>` | No | Sort order: `asc` (default) / `desc` |
42
+ | `--page-size <n>` | No | Number of items per page (default 50, range 1-500) |
43
+ | `--page-token <token>` | No | Pagination token for the next page |
44
+ | `--format <fmt>` | No | Output format: `json` (default) / `pretty` / `table` / `ndjson` / `csv` |
45
+ | `--as <identity>` | No | Identity type: `user` (default) / `bot` |
46
+ | `--dry-run` | No | Print the request only, do not execute it |
47
+
48
+ ## Core Constraints
49
+
50
+ ### 1. Source of `thread_id`
51
+
52
+ `thread_id` (`omt_xxx` or `om_xxx`) comes from the `thread_id` field in results returned by `im +chat-messages-list` or `im +messages-search`. Do not guess a thread ID. Fetch messages first and use the returned value.
53
+
54
+ ### 2. No time filtering support
55
+
56
+ Thread messages do not support `start_time` / `end_time` filtering because of Feishu API limitations. Use pagination and sort order to control the scope.
57
+
58
+ ### 3. Pagination (`has_more` / `page_token`)
59
+
60
+ - When the result includes `has_more=true`, use `page_token` to fetch the next page
61
+ - If you need the complete thread, keep paginating; if you only need an overview, the first page is often enough
62
+
63
+ ### 4. Recommended expansion strategy
64
+
65
+ | Scenario | Recommended Parameters |
66
+ |------|---------|
67
+ | Quickly inspect recent replies | `--sort desc --page-size 10` |
68
+ | Read the full thread in chronological order | `--sort asc --page-size 50`, then paginate as needed |
69
+ | Just confirm whether replies exist | `--sort desc --page-size 1` |
70
+
71
+ ## Usage Scenarios
72
+
73
+ ### Scenario 1: Expand a thread discovered in group messages
74
+
75
+ ```bash
76
+ # Step 1: Fetch group messages and find one that contains thread_id
77
+ lark-cli im +chat-messages-list --chat-id oc_xxx
78
+
79
+ # Step 2: Extract thread_id from the JSON output and fetch thread replies
80
+ lark-cli im +threads-messages-list --thread omt_xxx
81
+ ```
82
+
83
+ ### Scenario 2: Paginate through a long thread
84
+
85
+ ```bash
86
+ # First page
87
+ lark-cli im +threads-messages-list --thread omt_xxx
88
+
89
+ # If has_more=true is returned, continue with page_token
90
+ lark-cli im +threads-messages-list --thread omt_xxx --page-token <PAGE_TOKEN>
91
+ ```
92
+
93
+ ## Resource Rendering
94
+
95
+ Thread replies are rendered into human-readable text. Image messages appear as placeholders such as `[Image: img_xxx]`; resource binaries are **not** downloaded automatically.
96
+
97
+ Other resource types (files, audio, video) still need to be downloaded manually through `im +messages-resources-download`. See [lark-im-messages-resources-download](lark-im-messages-resources-download.md).
98
+
99
+ ## Common Errors and Troubleshooting
100
+
101
+ | Symptom | Root Cause | Solution |
102
+ |---------|---------|---------|
103
+ | "Invalid thread ID format" | `thread_id` does not start with `om_` or `omt_` | Use a valid `om_xxx` or `omt_xxx` value |
104
+ | Empty thread result | Wrong thread_id or no replies in the thread | Confirm the thread_id came from `im +chat-messages-list` output |
105
+ | Permission denied | The user is not authorized or is not a conversation member | Make sure OAuth authorization is complete and the identity is a chat member |
106
+
107
+ ## References
108
+
109
+ - [lark-im](../SKILL.md) - all message-related commands
110
+ - [lark-im-chat-messages-list](lark-im-chat-messages-list.md) - fetch conversation messages (source of `thread_id`)
111
+ - [lark-shared](../../lark-shared/SKILL.md) - authentication and global parameters