@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,302 @@
1
+
2
+ # drive +task_result
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 查询异步任务结果。该 shortcut 聚合了导入、导出、移动/删除文件夹、Wiki 节点 / 文档迁入 Wiki 等多种异步任务的结果查询,统一接口方便调用。
7
+
8
+ > [!IMPORTANT]
9
+ > 对于 `import` 场景,如果使用 `--as bot` 且这次查询**已经拿到最终在线文档目标**(`ready=true` 且返回了最终 `token` / `url`),CLI 会**再次尝试为当前 CLI 用户自动授予该资源的 `full_access`(可管理权限)**。
10
+ >
11
+ > 此时结果里会额外返回 `permission_grant` 字段,明确说明授权结果:
12
+ > - `status = granted`:当前 CLI 用户已获得该导入结果的可管理权限
13
+ > - `status = skipped`:本地没有可用的当前用户 `open_id`,或最终结果缺少可授权的在线文档目标,因此不会自动授权;可提示用户先完成 `lark-cli auth login`,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限
14
+ > - `status = failed`:导入结果已就绪,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该文档
15
+ >
16
+ > `permission_grant.perm = full_access` 表示该资源已授予“可管理权限”。
17
+ >
18
+ > **不要擅自执行 owner 转移。** 如果用户需要把 owner 转给自己,必须单独确认。
19
+
20
+ ## 命令
21
+
22
+ ```bash
23
+ # 查询导入任务结果
24
+ lark-cli drive +task_result \
25
+ --scenario import \
26
+ --ticket <IMPORT_TICKET>
27
+
28
+ # 查询导出任务结果
29
+ lark-cli drive +task_result \
30
+ --scenario export \
31
+ --ticket <EXPORT_TICKET> \
32
+ --file-token <SOURCE_DOC_TOKEN>
33
+
34
+ # 查询移动/删除文件夹任务状态
35
+ lark-cli drive +task_result \
36
+ --scenario task_check \
37
+ --task-id <TASK_ID>
38
+
39
+ # 查询 Wiki 移动任务结果(wiki +move 异步超时后的续跑)
40
+ lark-cli drive +task_result \
41
+ --scenario wiki_move \
42
+ --task-id <TASK_ID>
43
+
44
+ # 查询 Wiki 删除知识空间任务结果(wiki +delete-space 异步超时后的续跑)
45
+ lark-cli drive +task_result \
46
+ --scenario wiki_delete_space \
47
+ --task-id <TASK_ID>
48
+ ```
49
+
50
+ ## 参数
51
+
52
+ | 参数 | 必填 | 说明 |
53
+ |------|------|------|
54
+ | `--scenario` | 是 | 任务场景,可选值:`import` (导入任务)、`export` (导出任务)、`task_check` (移动/删除文件夹任务)、`wiki_move` (Wiki 移动任务)、`wiki_delete_space` (Wiki 删除知识空间任务) |
55
+ | `--ticket` | 条件必填 | 异步任务 ticket,**import/export 场景必填** |
56
+ | `--task-id` | 条件必填 | 异步任务 ID,**task_check / wiki_move / wiki_delete_space 场景必填** |
57
+ | `--file-token` | 条件必填 | 导出任务对应的源文档 token,**export 场景必填** |
58
+
59
+ ## 场景说明
60
+
61
+ | 场景 | 说明 | 所需参数 |
62
+ |------|------|----------|
63
+ | `import` | 文档导入任务(如将本地文件导入为云文档) | `--ticket` |
64
+ | `export` | 文档导出任务(如云文档导出为 PDF/Word) | `--ticket`、`--file-token` |
65
+ | `task_check` | 文件夹移动/删除任务 | `--task-id` |
66
+ | `wiki_move` | Wiki 移动任务(`wiki +move` 的 docs-to-wiki 异步流程,超时后续跑用) | `--task-id` |
67
+ | `wiki_delete_space` | Wiki 删除知识空间任务(`wiki +delete-space` 的异步流程,超时后续跑用) | `--task-id` |
68
+
69
+ ## 返回结果
70
+
71
+ ### Import 场景返回
72
+
73
+ ```json
74
+ {
75
+ "scenario": "import",
76
+ "ticket": "<IMPORT_TICKET>",
77
+ "type": "sheet",
78
+ "ready": true,
79
+ "failed": false,
80
+ "job_status": 0,
81
+ "job_status_label": "success",
82
+ "job_error_msg": "success",
83
+ "token": "<IMPORTED_DOC_TOKEN>",
84
+ "url": "https://example.feishu.cn/sheets/<IMPORTED_DOC_TOKEN>",
85
+ "extra": ["2000"],
86
+ "permission_grant": {
87
+ "status": "granted",
88
+ "perm": "full_access",
89
+ "member_type": "openid",
90
+ "user_open_id": "<CURRENT_USER_OPEN_ID>",
91
+ "message": "Granted the current CLI user full_access (可管理权限) on the new spreadsheet."
92
+ }
93
+ }
94
+ ```
95
+
96
+ **字段说明:**
97
+ - `ready`: 是否已经导入完成,可直接使用 `token` / `url`
98
+ - `failed`: 是否已经失败
99
+ - `job_status`: 服务端返回的原始状态码
100
+ - `job_status_label`: 便于阅读的状态标签,例如 `success` / `processing`
101
+ - `token`: 导入后的文档 token
102
+ - `url`: 导入后的文档链接
103
+ - `permission_grant`: 仅 `--as bot` 且这次查询已经拿到最终在线文档目标时返回,用于说明是否已自动为当前 CLI 用户授予可管理权限;如果当前仍是 `ready=false`,则不会返回这个字段
104
+
105
+ ### Export 场景返回
106
+
107
+ ```json
108
+ {
109
+ "scenario": "export",
110
+ "ticket": "<EXPORT_TICKET>",
111
+ "ready": true,
112
+ "failed": false,
113
+ "file_extension": "pdf",
114
+ "type": "doc",
115
+ "file_name": "docName",
116
+ "file_token": "<EXPORTED_FILE_TOKEN>",
117
+ "file_size": 34356,
118
+ "job_error_msg": "success",
119
+ "job_status": 0,
120
+ "job_status_label": "success"
121
+ }
122
+ ```
123
+
124
+ **字段说明:**
125
+ - `ready`: 是否已经完成导出,可直接使用 `file_token`
126
+ - `failed`: 是否已经失败
127
+ - `job_status`: 服务端返回的原始状态码
128
+ - `job_status_label`: 便于阅读的状态标签,例如 `success` / `processing`
129
+ - `file_token`: 导出文件的 token,用于下载
130
+ - `file_extension`: 导出文件扩展名
131
+ - `file_size`: 导出文件大小(字节)
132
+
133
+ ### Task_check 场景返回
134
+
135
+ ```json
136
+ {
137
+ "scenario": "task_check",
138
+ "task_id": "<TASK_ID>",
139
+ "status": "success",
140
+ "ready": true,
141
+ "failed": false
142
+ }
143
+ ```
144
+
145
+ **字段说明:**
146
+ - `status`: 任务状态,`success`=成功,`failed`=失败,`pending`=处理中
147
+ - `ready`: 是否已经完成
148
+ - `failed`: 是否已经失败
149
+
150
+ ### Wiki_move 场景返回
151
+
152
+ ```json
153
+ {
154
+ "scenario": "wiki_move",
155
+ "task_id": "<TASK_ID>",
156
+ "ready": true,
157
+ "failed": false,
158
+ "status": 0,
159
+ "status_msg": "success",
160
+ "wiki_token": "wikcnXXX",
161
+ "node_token": "wikcnXXX",
162
+ "space_id": "<TARGET_SPACE_ID>",
163
+ "obj_token": "<OBJ_TOKEN>",
164
+ "obj_type": "docx",
165
+ "parent_node_token": "",
166
+ "node_type": "origin",
167
+ "origin_node_token": "",
168
+ "title": "项目计划",
169
+ "has_child": false,
170
+ "node": {
171
+ "space_id": "<TARGET_SPACE_ID>",
172
+ "node_token": "wikcnXXX",
173
+ "obj_token": "<OBJ_TOKEN>",
174
+ "obj_type": "docx",
175
+ "parent_node_token": "",
176
+ "node_type": "origin",
177
+ "origin_node_token": "",
178
+ "title": "项目计划",
179
+ "has_child": false
180
+ },
181
+ "move_results": [
182
+ {
183
+ "status": 0,
184
+ "status_msg": "success",
185
+ "node": { "...": "同上" }
186
+ }
187
+ ]
188
+ }
189
+ ```
190
+
191
+ **字段说明:**
192
+ - `ready`: 所有 `move_results[].status` 都为 `0` 时为 `true`
193
+ - `failed`: 任一 `move_results[].status` 小于 `0` 时为 `true`
194
+ - `status` / `status_msg`: 第一个 move_result 的状态码 / 标签(无结果时回退为 `1` / `processing`)
195
+ - `wiki_token` / `node_token`: 移入 Wiki 后的目标节点 token(首个结果有 `node.node_token` 时镜像到顶层,便于下游脚本使用)
196
+ - `space_id`、`obj_token`、`obj_type`、`title` 等:从首个 `move_results[0].node` 平铺到顶层,方便直接引用
197
+ - `move_results`: 保留完整列表(适用于一次任务移动多个文档的场景)
198
+
199
+ ### Wiki_delete_space 场景返回
200
+
201
+ ```json
202
+ {
203
+ "scenario": "wiki_delete_space",
204
+ "task_id": "<TASK_ID>",
205
+ "ready": true,
206
+ "failed": false,
207
+ "status": "success",
208
+ "status_msg": "success"
209
+ }
210
+ ```
211
+
212
+ **字段说明:**
213
+ - `ready`: `status=success` 时为 `true`
214
+ - `failed`: `status=failure` 或 `failed` 时为 `true`;未知非成功状态(如 `processing`)视为进行中
215
+ - `status`: 服务端返回的原始 `delete_space_result.status`
216
+ - `status_msg`: 优先使用 `delete_space_result.status_msg`,否则回落到 `status`,再回落到 `processing`
217
+
218
+ ## 使用场景
219
+
220
+ ### 配合 +import 使用
221
+
222
+ ```bash
223
+ # 1. 创建导入任务
224
+ lark-cli drive +import --file ./data.xlsx --type sheet
225
+ # 若任务很快完成:直接返回 token / url
226
+ # 若内置轮询超时:返回 ready=false、ticket 和 next_command
227
+
228
+ # 2. 轮询导入结果
229
+ lark-cli drive +task_result --scenario import --ticket <IMPORT_TICKET>
230
+ # 如果这里返回 ready=true 且使用 --as bot,结果还会包含 permission_grant
231
+ ```
232
+
233
+ ### 配合 +move 使用
234
+
235
+ ```bash
236
+ # 1. 移动文件夹(异步操作)
237
+ lark-cli drive +move --file-token <FOLDER_TOKEN> --type folder --folder-token <TARGET_FOLDER_TOKEN>
238
+ # 若轮询窗口内完成:直接返回 ready=true
239
+ # 若内置轮询结束仍未完成:返回 ready=false、task_id 和 next_command
240
+
241
+ # 2. 轮询移动结果
242
+ lark-cli drive +task_result --scenario task_check --task-id <TASK_ID>
243
+ ```
244
+
245
+ ### 配合 wiki +move 使用
246
+
247
+ ```bash
248
+ # 1. 把 Drive 文档迁入 Wiki(异步任务可能返回 task_id)
249
+ lark-cli wiki +move --obj-type docx --obj-token <DOC_TOKEN> --target-space-id <TARGET_SPACE_ID>
250
+ # 若内置轮询窗口内完成:直接返回 ready=true 和 wiki_token
251
+ # 若轮询窗口结束仍未完成:返回 ready=false、task_id、timed_out=true 和 next_command
252
+
253
+ # 2. 续跑查询 Wiki 移动结果(next_command 即下面这条)
254
+ lark-cli drive +task_result --scenario wiki_move --task-id <TASK_ID> --as user
255
+ ```
256
+
257
+ > **身份保持一致**:续跑命令的 `--as` 必须与原 `wiki +move` 调用一致;`wiki +move` 的 `next_command` 已自动带上正确的 `--as`。
258
+
259
+ ### 配合 wiki +delete-space 使用
260
+
261
+ ```bash
262
+ # 1. 删除知识空间(高风险写操作,必须显式带 --yes;接口可能同步返回空 task_id,也可能返回异步 task_id)
263
+ lark-cli wiki +delete-space --space-id <SPACE_ID> --yes
264
+ # 若同步返回:直接 ready=true
265
+ # 若轮询窗口结束仍未完成:返回 ready=false、task_id、timed_out=true 和 next_command
266
+
267
+ # 2. 续跑查询 Wiki 删除结果(next_command 即下面这条)
268
+ lark-cli drive +task_result --scenario wiki_delete_space --task-id <TASK_ID> --as user
269
+ ```
270
+
271
+ ### 配合 +export 使用
272
+
273
+ ```bash
274
+ # 1. 发起导出
275
+ lark-cli drive +export --token <SOURCE_DOC_TOKEN> --doc-type docx --file-extension pdf
276
+ # 若轮询窗口内完成:直接下载本地文件
277
+ # 若内置轮询结束仍未完成:返回 ready=false、ticket 和 next_command
278
+
279
+ # 2. 继续查询导出结果
280
+ lark-cli drive +task_result --scenario export --ticket <EXPORT_TICKET> --file-token <SOURCE_DOC_TOKEN>
281
+
282
+ # 3. 拿到 file_token 后下载
283
+ lark-cli drive +export-download --file-token <EXPORTED_FILE_TOKEN>
284
+ ```
285
+
286
+ ## 权限要求
287
+
288
+ | 场景 | 所需 scope |
289
+ |------|-----------|
290
+ | import | `drive:drive.metadata:readonly` |
291
+ | export | `drive:drive.metadata:readonly` |
292
+ | task_check | `drive:drive.metadata:readonly` |
293
+ | wiki_move | `wiki:space:read` |
294
+ | wiki_delete_space | `wiki:space:read` |
295
+
296
+ > [!NOTE]
297
+ > `import` 场景在 `--as bot` 且任务最终就绪时,还可能额外尝试一次协作者授权;如果 `permission_grant.status = failed`,请根据失败信息检查应用是否具备相应的文档协作者授权能力。
298
+
299
+ ## 参考
300
+
301
+ - [lark-drive](../SKILL.md) -- 云空间全部命令
302
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
@@ -0,0 +1,101 @@
1
+
2
+ # drive +upload
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 上传本地文件到飞书云空间。目标位置可以是 Drive 文件夹,也可以是 wiki 节点。
7
+
8
+ ## 快速决策
9
+ - 用户要在 Drive 里上传、创建、读取、覆盖更新**原生 `.md` 文件**(不是导入成 docx),切到 [`lark-markdown`](../../lark-markdown/SKILL.md)。
10
+
11
+ ## 命令
12
+
13
+ ```bash
14
+ # 上传到 Drive 文件夹
15
+ lark-cli drive +upload --file ./report.pdf --folder-token fldbc_xxx
16
+
17
+ # 上传到 wiki 节点
18
+ lark-cli drive +upload --file ./report.pdf --wiki-token wikcn_xxx
19
+
20
+ # 不指定目标时,上传到调用者的 Drive 根目录
21
+ lark-cli drive +upload --file ./report.pdf
22
+
23
+ # 自定义上传后的文件名
24
+ lark-cli drive +upload --file ./report.pdf --name "季度总结.pdf"
25
+
26
+ # 覆盖已存在文件(原地覆盖,保留 file_token)
27
+ lark-cli drive +upload --file ./report.pdf --file-token boxcn_existing_file
28
+
29
+ # 原生命令(高级/分片上传):预上传 + 完成上传
30
+ lark-cli drive files upload_prepare --data '{
31
+ "file_name": "report.pdf",
32
+ "parent_type": "explorer",
33
+ "parent_node": "fldbc_xxx",
34
+ "size": 1048576,
35
+ "file_token": "boxcn_existing_file"
36
+ }'
37
+ lark-cli drive files upload_finish --data '{
38
+ "upload_id": "<UPLOAD_ID>",
39
+ "block_num": 1
40
+ }'
41
+
42
+ # 查看完整参数定义
43
+ lark-cli schema drive.files.upload_prepare
44
+ ```
45
+
46
+ > [!IMPORTANT]
47
+ > 如果文件是**以应用身份(bot)新建上传**的,如 `lark-cli drive +upload --as bot` 在上传成功后,CLI 会**尝试为当前 CLI 用户自动授予该文件的 `full_access`(可管理权限)**。
48
+ >
49
+ > 如果这次调用传了 `--file-token`,表示是在**覆盖已有文件**,CLI **不会**额外修改该文件权限。
50
+ >
51
+ > 以应用身份上传时,结果里会额外返回 `permission_grant` 字段,明确说明授权结果:
52
+ > - `status = granted`:当前 CLI 用户已获得该文件的可管理权限
53
+ > - `status = skipped`:本地没有可用的当前用户 `open_id`,因此不会自动授权;可提示用户先完成 `lark-cli auth login`,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限
54
+ > - `status = failed`:文件已上传成功,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该文件
55
+ >
56
+ > `permission_grant.perm = full_access` 表示该资源已授予“可管理权限”。
57
+ >
58
+ > **不要擅自执行 owner 转移。** 如果用户需要把 owner 转给自己,必须单独确认。
59
+
60
+ > [!TIP]
61
+ > 当底层上传接口返回版本号时,shortcut 会在结果里额外透出 `version`。
62
+
63
+ ## 目标位置选择(关键)
64
+
65
+ - 上传到 Drive 文件夹:传 `--folder-token <folder_token>`,shortcut 会发送 `parent_type=explorer`
66
+ - 上传到 wiki 节点:传 `--wiki-token <wiki_token>`,shortcut 会发送 `parent_type=wiki`
67
+ - 上传到 Drive 根目录:`--folder-token` 和 `--wiki-token` 都不传
68
+ - 覆盖已有文件:额外传 `--file-token <existing_file_token>`;shortcut 会把它原样透传到底层 `upload_all` / `upload_prepare`,让后端按覆盖语义写入
69
+ - bot 模式下,`--file-token` 覆盖只改文件内容;不会额外给当前 CLI 用户补 `full_access`
70
+ - 不要传空目标值:`--folder-token ""` / `--wiki-token ""` 会被视为参数错误;如需上传到 Drive 根目录,应直接省略这两个参数
71
+ - 不要传空 `--file-token`:如需新建上传,直接省略该参数;显式传空字符串会报错
72
+ - `--folder-token` 和 `--wiki-token` 互斥,不要同时传
73
+ - `--wiki-token` 传的是 **wiki node token**,不是 `space_id`
74
+
75
+ Shortcut 参数:
76
+
77
+ | 参数 | 必填 | 说明 |
78
+ |------|------|------|
79
+ | `--file` | 是 | 本地文件路径 |
80
+ | `--file-token` | 否 | 已存在文件的 token;传入后按“覆盖已有文件”语义上传 |
81
+ | `--folder-token` | 否 | 目标文件夹 token;与 `--wiki-token` 互斥;省略时默认为 Drive 根目录;显式传空字符串会报错 |
82
+ | `--wiki-token` | 否 | 目标 wiki 节点 token;与 `--folder-token` 互斥;会映射为 `parent_type=wiki`、`parent_node=<wiki_token>`;显式传空字符串会报错 |
83
+ | `--name` | 否 | 上传后的文件名;默认使用本地文件名 |
84
+
85
+ 参数(预上传 `--data` JSON body):
86
+
87
+ | 字段 | 必填 | 说明 |
88
+ |------|------|------|
89
+ | `file_name` | 是 | 文件名 |
90
+ | `parent_type` | 是 | 父节点类型;上传到文件夹 / 根目录时用 `"explorer"`,上传到 wiki 节点时用 `"wiki"` |
91
+ | `parent_node` | 是 | 父节点 token;`explorer` 时传文件夹 token(根目录可为空字符串),`wiki` 时传 wiki node token |
92
+ | `size` | 是 | 文件大小(字节) |
93
+ | `file_token` | 否 | 已存在文件 token;传入后覆盖该文件内容 |
94
+
95
+ > [!CAUTION]
96
+ > 这是**写入操作** —— 执行前必须确认用户意图。
97
+
98
+ ## 参考
99
+
100
+ - [lark-drive](../SKILL.md) -- 云空间全部命令
101
+ - [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: lark-event
3
+ version: 1.0.0
4
+ description: "Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM message receive, reactions, chat member changes, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses."
5
+ metadata:
6
+ requires:
7
+ bins: ["lark-cli"]
8
+ cliHelp: "lark-cli event --help"
9
+ ---
10
+
11
+ # Lark Events
12
+
13
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) first for authentication, `--as user/bot` switching, `Permission denied` handling, and safety rules.
14
+
15
+ ## Core commands
16
+
17
+ | Command | Purpose |
18
+ |------|------|
19
+ | `lark-cli event list [--json]` | List all subscribable EventKeys |
20
+ | `lark-cli event schema <EventKey> [--json]` | Show an EventKey's params and output schema |
21
+ | `lark-cli event consume <EventKey> [flags]` | Blocking consume; events → stdout NDJSON |
22
+ | `lark-cli event status [--json] [--fail-on-orphan]` | Inspect the local bus daemon status |
23
+ | `lark-cli event stop [--all] [--force]` | Stop the bus daemon |
24
+
25
+
26
+ ## Common flags
27
+
28
+ | Flag | Description |
29
+ |---|---|
30
+ | `--param key=value` / `-p` | Business params (repeatable; comma-separated for multi-value). Unknown keys fail with valid names listed inline |
31
+ | `--jq <expr>` | jq expression to filter / transform each event; empty output skips the event |
32
+ | `--max-events N` | Exit after N events. Default 0 = unlimited |
33
+ | `--timeout D` | Exit after duration D (e.g. `30s`, `2m`). Default 0 = no timeout. Whichever of `--max-events` / `--timeout` fires first wins |
34
+ | `--output-dir <dir>` | Write each event as a file (relative paths only; prevents traversal) |
35
+ | `--quiet` | Suppress stderr diagnostics. **AI should not use this** — it silences the ready marker |
36
+ | `--as user\|bot\|auto` | Identity for the session (see lark-shared) |
37
+
38
+
39
+ ## Examples
40
+
41
+ ```bash
42
+ # Default: stream every event for the key (no filter, no projection)
43
+ lark-cli event consume im.message.receive_v1 --as bot
44
+
45
+ # Grab one sample event to inspect payload shape
46
+ lark-cli event consume im.message.receive_v1 --max-events 1 --timeout 30s --as bot
47
+
48
+ # Run for 10 minutes then auto-exit
49
+ lark-cli event consume im.message.receive_v1 --timeout 10m --as bot
50
+
51
+ # Consume multiple EventKeys concurrently (one shape per process, no dispatcher)
52
+ lark-cli event consume im.message.receive_v1 --as bot > receive.ndjson &
53
+ lark-cli event consume im.message.reaction.created_v1 --as bot > reaction.ndjson &
54
+ wait
55
+
56
+ ```
57
+
58
+ ## Call flow
59
+
60
+ 1. `lark-cli event list --json` → pick a legal key
61
+ 2. `lark-cli event schema <key> --json` → read `resolved_output_schema` + `jq_root_path` to determine field paths
62
+ 3. `lark-cli event consume <key> [--jq '<expr>']` → consume
63
+
64
+ ## Subprocess contract
65
+
66
+ ### Ready marker
67
+
68
+ `event consume`'s stderr emits a fixed line `[event] ready event_key=<key>`. **Parent processes should block on stderr until this line appears, then start reading stdout.** Do not fall back to `sleep`.
69
+
70
+ ### stdin EOF = graceful exit
71
+
72
+ `event consume` treats stdin close as a shutdown signal (wired for AI subprocess callers). `< /dev/null` / `nohup` / systemd's default `StandardInput=null` will cause an immediate graceful exit (stderr `reason: signal`). To keep running:
73
+
74
+ - Feed stdin a source that never EOFs: `< <(tail -f /dev/null)`
75
+ - Or run bounded: `--max-events N` / `--timeout D`
76
+
77
+ ### Exit codes & reason
78
+
79
+ On exit, the last stderr line is `[event] exited — received N event(s) in Xs (reason: ...)`.
80
+
81
+ | exit code | reason | Trigger |
82
+ |---|---|---|
83
+ | 0 | `reason: limit` | `--max-events` reached |
84
+ | 0 | `reason: timeout` | `--timeout` reached |
85
+ | 0 | `reason: signal` | Ctrl+C / SIGTERM / stdin EOF |
86
+ | non-0 | `Error: ...` (no `exited` line) | Startup / runtime failure (permissions, network, params, config) |
87
+
88
+ Orchestrators should treat `reason: limit/timeout/signal` (all exit 0) as "business completion" and non-zero as "failure".
89
+
90
+ ### Never `kill -9`
91
+
92
+ **Avoid `kill -9` on consume processes**: for EventKeys with a **PreConsume hook** (those that register server-side subscriptions via OAPI), `kill -9` skips the OAPI unsubscribe and leaks server-side subscriptions (symptoms: "subscription already exists" on restart, duplicate event delivery). Prefer SIGTERM or closing stdin.
93
+
94
+ ### One consume, one EventKey (multi-key = multi-shell)
95
+
96
+ The command takes exactly one positional argument; `k1,k2` and wildcards are unsupported. Listening to N keys means N subprocesses — this is **intentional**:
97
+
98
+ - One shape per process stdout; no dispatcher logic required in the AI
99
+ - Fault isolation (one key failing doesn't affect others)
100
+ - Independent `--as` / `--jq` / `--max-events` / `--timeout` per key
101
+
102
+ All N consumers share a single bus daemon (UDS local IPC), so the overhead is small
103
+
104
+ ## Writing jq via schema
105
+
106
+ `event schema <key> --json` is the source of truth for writing `--jq`. Four things to look at:
107
+
108
+ **(1) Where fields start** — see `jq_root_path`
109
+
110
+ - Value `"."` → fields are at the top level, write `.chat_id`
111
+ - Value `".event"` → fields are inside a V2 envelope, write `.event.chat_id`
112
+
113
+ **(2) Field list and types** — see `resolved_output_schema.properties.<name>`
114
+
115
+ Each field carries `type` / `description`, and some also have `format`. Snippet (from `event schema im.message.receive_v1 --json`):
116
+
117
+ ```json
118
+ {
119
+ "chat_id": {"type":"string", "format":"chat_id", "description":"Chat ID, prefixed with oc_"},
120
+ "sender_id": {"type":"string", "format":"open_id", "description":"Sender open_id, prefixed with ou_"},
121
+ "create_time": {"type":"string", "format":"timestamp_ms", "description":"Send time as ms-epoch string"}
122
+ }
123
+ ```
124
+
125
+ **(3) Field semantics** — see the `format` tag
126
+
127
+ Lark-defined semantic tags (**not** JSON Schema's standard `format`). Common values: `open_id` / `chat_id` / `message_id` / `timestamp_ms` / `email`. Purpose: distinguish "same string type, different meanings" fields so you can reverse-lookup via API or convert formats.
128
+
129
+ **(4) Decoded state** — read the field's `description`
130
+
131
+ `event consume` runs Process hooks that may pre-decode some payload fields (flattening V2 envelopes, rendering `.content` to plain text, etc.) — behavior differs from raw OAPI. **Always read the field's `description` before writing jq**, especially for generic field names like `content` / `data` / `body` / `payload`.
132
+
133
+ **Why it matters**: blindly applying `fromjson` to an already-decoded text field makes jq error on every event and silently drop it — the consumer looks alive but emits nothing, with only a single `WARN` line buried on stderr. (This is the general behavior: any jq runtime error skips the event with a one-line WARN; the loop does not abort.)
134
+
135
+ **Don't shortcut the schema**: when projecting `event schema --json` with jq, do not strip `.description` from `properties` — that's the field that tells you whether a field is already decoded. Dump the full property objects, not just keys.
136
+
137
+ ---
138
+
139
+ **Aside**: `--param`'s valid parameters also live in the schema — the `params` section lists `name` / `type` / `required` / `enum` / `default` / `description`; **section missing = this key accepts no `--param`**.
140
+
141
+ ## Topic index
142
+
143
+ | Topic | Reference | Coverage |
144
+ |---|---|---|
145
+ | IM | [`references/lark-event-im.md`](references/lark-event-im.md) | Catalog of 11 IM EventKeys + shape notes (flat vs V2 envelope) + `im.message.receive_v1` field gotchas (`sender_id` is open_id only; `.content` is plain text except for `interactive` cards) + common jq recipes (filter by chat_type / message_type / sender) |
@@ -0,0 +1,86 @@
1
+ # IM Events
2
+
3
+ > **Prerequisite:** Read [`../SKILL.md`](../SKILL.md) first for the `event consume` essentials (commands, subprocess contract, jq usage).
4
+ >
5
+ > **Heads-up for AI agents**: this key's `.content` is **NOT** the raw OAPI payload shape your training data may suggest. `lark-cli` runs a Process hook (`convertlib`) that flattens the V2 envelope and **pre-renders** `.content` to human-readable text for `text` / `post` / `image` / `file` / `audio` / etc. Only `interactive` (cards) keeps the raw JSON string. Don't blindly `fromjson`.
6
+
7
+ ## Key catalog (11)
8
+
9
+ | EventKey | Purpose |
10
+ |---|---|
11
+ | `im.message.receive_v1` | Receive IM messages |
12
+ | `im.message.message_read_v1` | User read a bot's **p2p** message (group messages don't fire this) |
13
+ | `im.message.reaction.created_v1` | Reaction added to a message |
14
+ | `im.message.reaction.deleted_v1` | Reaction removed from a message |
15
+ | `im.chat.updated_v1` | Chat settings changed (owner, avatar, name, permissions, etc.) |
16
+ | `im.chat.disbanded_v1` | Chat disbanded |
17
+ | `im.chat.member.bot.added_v1` | Bot added to a chat |
18
+ | `im.chat.member.bot.deleted_v1` | Bot removed from a chat |
19
+ | `im.chat.member.user.added_v1` | User joined a chat (including topic chats) |
20
+ | `im.chat.member.user.deleted_v1` | User left voluntarily **or** was removed |
21
+ | `im.chat.member.user.withdrawn_v1` | Pending chat invite withdrawn (inviter canceled; user never actually joined) |
22
+
23
+ > **Shape**: `im.message.receive_v1` is the only flat key (fields at `.xxx`); the other 10 are V2-enveloped (fields at `.event.xxx`).
24
+
25
+ ## Gotchas (`im.message.receive_v1`)
26
+
27
+ **sender_id is open_id only**: the event payload carries no display name. Call the contact API separately if you need the sender's name.
28
+
29
+ **`.content` shape depends on `message_type`** (this key uses a flat Custom schema; see [`events/im/message_receive.go`](../../../events/im/message_receive.go)):
30
+
31
+ | message_type | `.content` shape | How to read |
32
+ |---|---|---|
33
+ | `text` / `post` / `image` / `file` / `audio` / `sticker` / `share_chat` / `share_user` / `media` / `system` | Human-readable text (convertlib-processed; `@mentions` resolved to display names) | Use `.content` directly |
34
+ | `interactive` (card) | Raw card JSON string (structured actions can't be losslessly flattened) | `.content \| fromjson` to get the card object |
35
+
36
+ **Do not blindly `fromjson`** — for non-interactive messages it fails with `jq: fromjson cannot be applied to "hello"` because `.content` isn't JSON-encoded.
37
+
38
+ ```bash
39
+ # text: .content is plain text — no fromjson needed
40
+ lark-cli event consume im.message.receive_v1 --as bot \
41
+ --jq 'select(.message_type=="text") | .content'
42
+
43
+ # interactive: .content is a JSON string — fromjson to parse
44
+ lark-cli event consume im.message.receive_v1 --as bot \
45
+ --jq 'select(.message_type=="interactive") | .content | fromjson'
46
+ ```
47
+
48
+ ## On-demand filter recipes
49
+
50
+ > **Default = no `--jq`.** Run `lark-cli event consume im.message.receive_v1 --as bot` to see every message. The recipes below are only for cases where the user has asked to narrow the stream.
51
+
52
+ ### 1. Filter by chat type (p2p vs group)
53
+
54
+ `chat_type` is an enum with values `p2p` / `group`.
55
+
56
+ ```bash
57
+ # p2p only (direct messages)
58
+ lark-cli event consume im.message.receive_v1 --as bot \
59
+ --jq 'select(.chat_type=="p2p") | {from: .sender_id, msg: .content}'
60
+
61
+ # group only
62
+ lark-cli event consume im.message.receive_v1 --as bot \
63
+ --jq 'select(.chat_type=="group") | {chat: .chat_id, from: .sender_id, msg: .content}'
64
+ ```
65
+
66
+ ### 2. Filter by message type
67
+
68
+ ```bash
69
+ # text only — content is plain human-readable text
70
+ lark-cli event consume im.message.receive_v1 --as bot \
71
+ --jq 'select(.message_type=="text") | .content'
72
+
73
+ # interactive (card) only — parse the card body
74
+ lark-cli event consume im.message.receive_v1 --as bot \
75
+ --jq 'select(.message_type=="interactive") | .content | fromjson'
76
+ ```
77
+
78
+ ### 3. Filter by sender (only one user's messages)
79
+
80
+ ```bash
81
+ # example: only messages from the given open_id
82
+ lark-cli event consume im.message.receive_v1 --as bot\
83
+ --jq 'select(.sender_id=="ou_xxxxxxxxxxxxxxxxxxxxxxxxxx") | {msg_id: .message_id, text: .content}'
84
+ ```
85
+
86
+ Get your own open_id via `lark-cli contact +get-user --as user`; other users' via `lark-cli contact +search-user`.