@wagemule/daemon 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/dist/main.cjs +246 -42
- package/dist/main.cjs.map +3 -3
- package/dist/skills/larksuite/lark-approval/SKILL.md +56 -0
- package/dist/skills/larksuite/lark-attendance/SKILL.md +57 -0
- package/dist/skills/larksuite/lark-base/SKILL.md +349 -0
- package/dist/skills/larksuite/lark-base/references/dashboard-block-data-config.md +350 -0
- package/dist/skills/larksuite/lark-base/references/examples.md +140 -0
- package/dist/skills/larksuite/lark-base/references/formula-field-guide.md +735 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-advperm-disable.md +83 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-advperm-enable.md +80 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-base-copy.md +74 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-base-create.md +68 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-base-get.md +39 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-cell-value.md +151 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-arrange.md +83 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-create.md +108 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-get.md +57 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-list.md +53 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-block-update.md +84 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-create.md +73 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-delete.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-get.md +59 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-list.md +52 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard-update.md +69 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-dashboard.md +240 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-data-analysis-sop.md +88 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-data-query.md +451 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-create.md +104 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-delete.md +51 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-get.md +42 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-list.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-search-options.md +48 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field-update.md +166 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-field.md +23 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-create.md +87 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-delete.md +64 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-get.md +68 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-list.md +73 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-create.md +118 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-delete.md +68 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-list.md +84 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions-update.md +92 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-questions.md +23 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form-update.md +82 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-form.md +24 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-history.md +16 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-create.md +58 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-batch-update.md +53 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-delete.md +62 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-history-list.md +86 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-share-link-create.md +72 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-upload-attachment.md +50 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record-upsert.md +64 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-record.md +29 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-create.md +89 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-delete.md +83 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-get.md +87 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-list.md +81 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-role-update.md +94 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-create.md +62 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-delete.md +51 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-get.md +46 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-list.md +43 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table-update.md +49 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-table.md +20 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-create.md +50 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-delete.md +48 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-card.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-filter.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-group.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-sort.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-timebar.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-get.md +38 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-list.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-rename.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-card.md +55 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-filter.md +181 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-group.md +65 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-sort.md +63 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-timebar.md +51 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-view.md +44 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-create.md +180 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-disable.md +94 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-enable.md +94 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-get.md +147 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-guide.md +718 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-list.md +124 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-schema.md +935 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow-update.md +167 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workflow.md +23 -0
- package/dist/skills/larksuite/lark-base/references/lark-base-workspace.md +18 -0
- package/dist/skills/larksuite/lark-base/references/lookup-field-guide.md +510 -0
- package/dist/skills/larksuite/lark-base/references/role-config.md +539 -0
- package/dist/skills/larksuite/lark-calendar/SKILL.md +154 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-agenda.md +78 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-create.md +109 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-freebusy.md +124 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-room-find.md +113 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-rsvp.md +42 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-suggestion.md +125 -0
- package/dist/skills/larksuite/lark-calendar/references/lark-calendar-update.md +105 -0
- package/dist/skills/larksuite/lark-contact/SKILL.md +45 -0
- package/dist/skills/larksuite/lark-contact/references/lark-contact-get-user.md +19 -0
- package/dist/skills/larksuite/lark-contact/references/lark-contact-search-user.md +124 -0
- package/dist/skills/larksuite/lark-doc/SKILL.md +69 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-create.md +89 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-fetch.md +141 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-md.md +71 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-media-download.md +50 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-media-insert.md +114 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-media-preview.md +41 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-search.md +217 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-update.md +252 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-whiteboard.md +100 -0
- package/dist/skills/larksuite/lark-doc/references/lark-doc-xml.md +169 -0
- package/dist/skills/larksuite/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
- package/dist/skills/larksuite/lark-doc/references/style/lark-doc-style.md +106 -0
- package/dist/skills/larksuite/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
- package/dist/skills/larksuite/lark-drive/SKILL.md +343 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-add-comment.md +169 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-apply-permission.md +77 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-create-folder.md +73 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-create-shortcut.md +103 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-delete.md +79 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-download.md +31 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-export-download.md +50 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-export.md +119 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-import.md +154 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-move.md +120 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-pull.md +137 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-push.md +162 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-reactions.md +113 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-search.md +239 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-status.md +137 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-task-result.md +302 -0
- package/dist/skills/larksuite/lark-drive/references/lark-drive-upload.md +101 -0
- package/dist/skills/larksuite/lark-event/SKILL.md +145 -0
- package/dist/skills/larksuite/lark-event/references/lark-event-im.md +86 -0
- package/dist/skills/larksuite/lark-im/SKILL.md +162 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-create.md +162 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-identity.md +55 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-list.md +113 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-messages-list.md +142 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-search.md +136 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-chat-update.md +84 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-flag-cancel.md +67 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-flag-create.md +67 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-flag-list.md +100 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-mget.md +95 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-reply.md +222 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-resources-download.md +94 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-search.md +217 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-messages-send.md +223 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-reactions.md +297 -0
- package/dist/skills/larksuite/lark-im/references/lark-im-threads-messages-list.md +111 -0
- package/dist/skills/larksuite/lark-mail/SKILL.md +648 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-decline-receipt.md +115 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-create.md +123 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-draft-edit.md +400 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-forward.md +232 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-message.md +230 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-messages.md +108 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-reply-all.md +206 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-reply.md +242 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-send-receipt.md +120 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-send.md +216 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-share-to-chat.md +87 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-signature.md +98 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-template-create.md +129 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-template-update.md +150 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-thread.md +111 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-triage.md +122 -0
- package/dist/skills/larksuite/lark-mail/references/lark-mail-watch.md +94 -0
- package/dist/skills/larksuite/lark-markdown/SKILL.md +46 -0
- package/dist/skills/larksuite/lark-markdown/references/lark-markdown-create.md +86 -0
- package/dist/skills/larksuite/lark-markdown/references/lark-markdown-fetch.md +79 -0
- package/dist/skills/larksuite/lark-markdown/references/lark-markdown-overwrite.md +85 -0
- package/dist/skills/larksuite/lark-minutes/SKILL.md +139 -0
- package/dist/skills/larksuite/lark-minutes/references/lark-minutes-download.md +137 -0
- package/dist/skills/larksuite/lark-minutes/references/lark-minutes-search.md +206 -0
- package/dist/skills/larksuite/lark-minutes/references/lark-minutes-upload.md +104 -0
- package/dist/skills/larksuite/lark-okr/SKILL.md +133 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-contentblock.md +359 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-detail.md +84 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-cycle-list.md +90 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-entities.md +329 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-image-upload.md +116 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-create.md +81 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-delete.md +47 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-get.md +62 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-list.md +80 -0
- package/dist/skills/larksuite/lark-okr/references/lark-okr-progress-update.md +81 -0
- package/dist/skills/larksuite/lark-openapi-explorer/SKILL.md +153 -0
- package/dist/skills/larksuite/lark-shared/SKILL.md +138 -0
- package/dist/skills/larksuite/lark-sheets/SKILL.md +345 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-data.md +197 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-images.md +59 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-dropdown.md +133 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-filter-views.md +193 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-float-images.md +125 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-formula.md +88 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
- package/dist/skills/larksuite/lark-sheets/references/lark-sheets-spreadsheet-management.md +134 -0
- package/dist/skills/larksuite/lark-skill-maker/SKILL.md +85 -0
- package/dist/skills/larksuite/lark-slides/SKILL.md +525 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training.xml +912 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/hr--onboarding.xml +933 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_plan.xml +1469 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--product_whitepaper.xml +1455 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/misc--book_sharing.xml +1338 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--dark_general.xml +3763 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--light_general.xml +3378 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--work_report.xml +1099 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary.xml +4420 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--self_intro.xml +696 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--market_analysis.xml +898 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_intro.xml +2838 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion.xml +687 -0
- package/dist/skills/larksuite/lark-slides/assets/templates/product--product_promotion_2.xml +687 -0
- package/dist/skills/larksuite/lark-slides/references/examples.md +261 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-create.md +137 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-edit-workflows.md +142 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-media-upload.md +128 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-replace-slide.md +239 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-create.md +221 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
- package/dist/skills/larksuite/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
- package/dist/skills/larksuite/lark-slides/references/slide-templates.md +201 -0
- package/dist/skills/larksuite/lark-slides/references/slides_demo.xml +226 -0
- package/dist/skills/larksuite/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
- package/dist/skills/larksuite/lark-slides/references/template-catalog.md +464 -0
- package/dist/skills/larksuite/lark-slides/references/template-index.json +1853 -0
- package/dist/skills/larksuite/lark-slides/references/xml-format-guide.md +369 -0
- package/dist/skills/larksuite/lark-slides/references/xml-schema-quick-ref.md +215 -0
- package/dist/skills/larksuite/lark-slides/scripts/layout_lint.py +349 -0
- package/dist/skills/larksuite/lark-slides/scripts/layout_lint_test.py +159 -0
- package/dist/skills/larksuite/lark-slides/scripts/template_tool.py +970 -0
- package/dist/skills/larksuite/lark-slides/scripts/template_tool_test.py +177 -0
- package/dist/skills/larksuite/lark-task/SKILL.md +165 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-assign.md +38 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-comment.md +28 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-complete.md +27 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-create.md +57 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-followers.md +35 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-get-my-tasks.md +55 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-get-related-tasks.md +53 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-reminder.md +36 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-reopen.md +27 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-search.md +41 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-set-ancestor.md +32 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-subscribe-event.md +86 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-create.md +35 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-members.md +36 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-search.md +38 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-tasklist-task-add.md +38 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-update.md +37 -0
- package/dist/skills/larksuite/lark-task/references/lark-task-upload-attachment.md +59 -0
- package/dist/skills/larksuite/lark-vc/SKILL.md +168 -0
- package/dist/skills/larksuite/lark-vc/references/lark-vc-notes.md +126 -0
- package/dist/skills/larksuite/lark-vc/references/lark-vc-recording.md +153 -0
- package/dist/skills/larksuite/lark-vc/references/lark-vc-search.md +176 -0
- package/dist/skills/larksuite/lark-vc-agent/SKILL.md +121 -0
- package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
- package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
- package/dist/skills/larksuite/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
- package/dist/skills/larksuite/lark-whiteboard/SKILL.md +144 -0
- package/dist/skills/larksuite/lark-whiteboard/references/connectors.md +102 -0
- package/dist/skills/larksuite/lark-whiteboard/references/content.md +40 -0
- package/dist/skills/larksuite/lark-whiteboard/references/image.md +80 -0
- package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
- package/dist/skills/larksuite/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
- package/dist/skills/larksuite/lark-whiteboard/references/layout.md +374 -0
- package/dist/skills/larksuite/lark-whiteboard/references/schema.md +357 -0
- package/dist/skills/larksuite/lark-whiteboard/references/style.md +318 -0
- package/dist/skills/larksuite/lark-whiteboard/references/typography.md +73 -0
- package/dist/skills/larksuite/lark-whiteboard/routes/dsl.md +107 -0
- package/dist/skills/larksuite/lark-whiteboard/routes/mermaid.md +27 -0
- package/dist/skills/larksuite/lark-whiteboard/routes/svg.md +54 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/architecture.md +433 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/bar-chart.md +187 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/comparison.md +135 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/fishbone.md +238 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/flowchart.md +185 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/flywheel.md +195 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/funnel.md +101 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/line-chart.md +214 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/mermaid.md +130 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/milestone.md +139 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/organization.md +173 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/photo-showcase.md +126 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/pyramid.md +99 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/swimlane.md +371 -0
- package/dist/skills/larksuite/lark-whiteboard/scenes/treemap.md +216 -0
- package/dist/skills/larksuite/lark-wiki/SKILL.md +111 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-delete-space.md +205 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-move.md +183 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-copy.md +72 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-create.md +127 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-node-list.md +88 -0
- package/dist/skills/larksuite/lark-wiki/references/lark-wiki-space-list.md +68 -0
- package/dist/skills/larksuite/lark-workflow-meeting-summary/SKILL.md +104 -0
- package/dist/skills/larksuite/lark-workflow-standup-report/SKILL.md +120 -0
- 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 `` 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 `` 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 ``. `--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
|