@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.
- package/README.md +9 -2
- package/dist/main.cjs +270 -101
- 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,177 @@
|
|
|
1
|
+
# Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import tempfile
|
|
6
|
+
import unittest
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import template_tool
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TemplateToolTest(unittest.TestCase):
|
|
13
|
+
@classmethod
|
|
14
|
+
def setUpClass(cls) -> None:
|
|
15
|
+
cls.index_data = template_tool.build_index_data()
|
|
16
|
+
|
|
17
|
+
def test_build_index_data_exposes_light_general_metadata(self) -> None:
|
|
18
|
+
template = next(
|
|
19
|
+
entry for entry in self.index_data["templates"] if entry["template_id"] == "office--light_general"
|
|
20
|
+
)
|
|
21
|
+
expected_keys = {
|
|
22
|
+
"template_id",
|
|
23
|
+
"category",
|
|
24
|
+
"category_label",
|
|
25
|
+
"scene",
|
|
26
|
+
"tone",
|
|
27
|
+
"formality",
|
|
28
|
+
"is_general_template",
|
|
29
|
+
"slide_count",
|
|
30
|
+
"presentation_title",
|
|
31
|
+
"palette",
|
|
32
|
+
"structure",
|
|
33
|
+
"page_types",
|
|
34
|
+
"layout_tags",
|
|
35
|
+
"use_cases",
|
|
36
|
+
"ranges",
|
|
37
|
+
}
|
|
38
|
+
self.assertEqual(set(template.keys()), expected_keys)
|
|
39
|
+
self.assertEqual(template["tone"], "light")
|
|
40
|
+
self.assertEqual(template["formality"], "formal")
|
|
41
|
+
self.assertEqual(template["slide_count"], 54)
|
|
42
|
+
self.assertEqual(template["presentation_title"], "白底通用模板")
|
|
43
|
+
self.assertIsInstance(template["layout_tags"], list)
|
|
44
|
+
self.assertNotIn("theme_summary", template)
|
|
45
|
+
self.assertNotIn("editable_regions", template)
|
|
46
|
+
self.assertNotIn("bbox_summary", template)
|
|
47
|
+
|
|
48
|
+
def test_search_templates_keeps_work_report_templates_in_top_results(self) -> None:
|
|
49
|
+
results = template_tool.search_templates(self.index_data, {"query": "工作汇报", "limit": 3})
|
|
50
|
+
self.assertTrue(results)
|
|
51
|
+
self.assertTrue(any(entry["template_id"] == "office--work_report" for entry in results))
|
|
52
|
+
|
|
53
|
+
def test_search_templates_extracts_scene_from_long_chinese_prompt(self) -> None:
|
|
54
|
+
results = template_tool.search_templates(
|
|
55
|
+
self.index_data,
|
|
56
|
+
{"query": "帮我做一个季度工作汇报PPT,偏正式", "limit": 3},
|
|
57
|
+
)
|
|
58
|
+
self.assertTrue(results)
|
|
59
|
+
self.assertTrue(any(entry["template_id"] == "office--work_report" for entry in results))
|
|
60
|
+
|
|
61
|
+
def test_search_templates_maps_chinese_tone_words(self) -> None:
|
|
62
|
+
results = template_tool.search_templates(
|
|
63
|
+
self.index_data,
|
|
64
|
+
{"query": "深色科技感产品发布", "limit": 5},
|
|
65
|
+
)
|
|
66
|
+
self.assertTrue(results)
|
|
67
|
+
self.assertTrue(any(entry["tone"] == "dark" for entry in results))
|
|
68
|
+
|
|
69
|
+
def test_search_templates_finds_product_launch_and_promotion_defense(self) -> None:
|
|
70
|
+
product_results = template_tool.search_templates(
|
|
71
|
+
self.index_data,
|
|
72
|
+
{"query": "产品发布会新品介绍", "limit": 5},
|
|
73
|
+
)
|
|
74
|
+
self.assertTrue(product_results)
|
|
75
|
+
self.assertTrue(
|
|
76
|
+
any(
|
|
77
|
+
entry["template_id"]
|
|
78
|
+
in {"office--project_kickoff", "product--product_intro", "product--product_promotion"}
|
|
79
|
+
for entry in product_results
|
|
80
|
+
)
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
defense_results = template_tool.search_templates(
|
|
84
|
+
self.index_data,
|
|
85
|
+
{"query": "晋升答辩 个人述职", "limit": 5},
|
|
86
|
+
)
|
|
87
|
+
self.assertTrue(defense_results)
|
|
88
|
+
self.assertTrue(any(entry["template_id"] == "personal--promotion_defense" for entry in defense_results))
|
|
89
|
+
|
|
90
|
+
def test_extract_selection_xml_keeps_only_requested_slides_and_theme(self) -> None:
|
|
91
|
+
xml = template_tool.extract_selection_xml(self.index_data, "office--light_general", {"label": "封面"})
|
|
92
|
+
self.assertEqual(len(template_tool.re.findall(r"<slide\b", xml)), 2)
|
|
93
|
+
self.assertIn("<theme>", xml)
|
|
94
|
+
self.assertIn("<title>白底通用模板</title>", xml)
|
|
95
|
+
|
|
96
|
+
def test_summarize_selection_aggregates_slide_titles_and_counts(self) -> None:
|
|
97
|
+
summary = template_tool.summarize_selection(self.index_data, "office--light_general", {"label": "封面"})
|
|
98
|
+
self.assertEqual(summary["selection"]["range"], "1-2")
|
|
99
|
+
self.assertEqual(summary["summary"]["slide_count"], 2)
|
|
100
|
+
self.assertTrue(summary["theme_summary"]["has_theme_node"])
|
|
101
|
+
self.assertIn("通用模板", summary["summary"]["title_hints"])
|
|
102
|
+
self.assertGreater(summary["summary"]["element_totals"]["shape"], 0)
|
|
103
|
+
self.assertIsInstance(summary["slides"][0]["layout_tags"], list)
|
|
104
|
+
self.assertIn("bbox_summary", summary["slides"][0])
|
|
105
|
+
self.assertIn("editable_regions", summary["slides"][0])
|
|
106
|
+
|
|
107
|
+
def test_template_selector_accepts_catalog_visible_filename(self) -> None:
|
|
108
|
+
entry = template_tool.resolve_template_entry(self.index_data, "work_report.xml")
|
|
109
|
+
self.assertEqual(entry["template_id"], "office--work_report")
|
|
110
|
+
|
|
111
|
+
def test_template_path_uses_user_supplied_file(self) -> None:
|
|
112
|
+
source_path = template_tool.TEMPLATES_DIR / "office--work_report.xml"
|
|
113
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
114
|
+
copied_path = Path(temp_dir) / "work_report.xml"
|
|
115
|
+
copied_path.write_text(
|
|
116
|
+
source_path.read_text(encoding="utf-8").replace(
|
|
117
|
+
"<title>工作汇报</title>",
|
|
118
|
+
"<title>Copied Path Template</title>",
|
|
119
|
+
1,
|
|
120
|
+
),
|
|
121
|
+
encoding="utf-8",
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
xml = template_tool.extract_selection_xml(
|
|
125
|
+
self.index_data,
|
|
126
|
+
str(copied_path),
|
|
127
|
+
{"range": "1"},
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
self.assertIn("<title>Copied Path Template</title>", xml)
|
|
131
|
+
|
|
132
|
+
def test_template_path_accepts_unindexed_xml_with_range(self) -> None:
|
|
133
|
+
xml = (
|
|
134
|
+
'<presentation xmlns="http://www.larkoffice.com/sml/2.0">'
|
|
135
|
+
"<title>Generated Template</title>"
|
|
136
|
+
"<slide><data></data></slide>"
|
|
137
|
+
"</presentation>"
|
|
138
|
+
)
|
|
139
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
140
|
+
template_path = Path(temp_dir) / "generated.xml"
|
|
141
|
+
template_path.write_text(xml, encoding="utf-8")
|
|
142
|
+
|
|
143
|
+
extracted = template_tool.extract_selection_xml(
|
|
144
|
+
self.index_data,
|
|
145
|
+
str(template_path),
|
|
146
|
+
{"range": "1"},
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
self.assertIn("<title>Generated Template</title>", extracted)
|
|
150
|
+
|
|
151
|
+
def test_search_templates_supports_layout_tag_filtering(self) -> None:
|
|
152
|
+
results = template_tool.search_templates(
|
|
153
|
+
self.index_data,
|
|
154
|
+
{"query": "", "layout-tag": "full-bleed-image-caption", "limit": 10},
|
|
155
|
+
)
|
|
156
|
+
self.assertTrue(results)
|
|
157
|
+
self.assertTrue(
|
|
158
|
+
any("full-bleed-image-caption" in entry["layout_tags"] for entry in results)
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
def test_all_template_files_are_cataloged_and_indexed(self) -> None:
|
|
162
|
+
template_files = sorted(path.stem for path in template_tool.TEMPLATES_DIR.glob("*.xml"))
|
|
163
|
+
indexed_templates = sorted(entry["template_id"] for entry in self.index_data["templates"])
|
|
164
|
+
self.assertEqual(indexed_templates, template_files)
|
|
165
|
+
self.assertEqual(self.index_data["template_count"], len(template_files))
|
|
166
|
+
self.assertTrue(template_files)
|
|
167
|
+
|
|
168
|
+
def test_catalog_range_parser_keeps_comma_separated_ranges(self) -> None:
|
|
169
|
+
template = next(
|
|
170
|
+
entry for entry in self.index_data["templates"] if entry["template_id"] == "operations--product_promotion"
|
|
171
|
+
)
|
|
172
|
+
content_range = next(item for item in template["ranges"] if item["label"] == "内容")
|
|
173
|
+
self.assertEqual(content_range["range"], "3-8, 10-12")
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
if __name__ == "__main__":
|
|
177
|
+
unittest.main()
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lark-task
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["lark-cli"]
|
|
8
|
+
cliHelp: "lark-cli task --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# task (v2)
|
|
12
|
+
|
|
13
|
+
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
|
|
14
|
+
|
|
15
|
+
> **任务搜索技巧**:先区分用户是否**特地指定使用搜索 skill**,以及是否真的提供了**查询关键字**(例如任务名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了任务查询关键字,则目标是**任务**时优先使用 `+search`。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如“今年以来”“已完成”“由我创建”“我关注的”),并且使用 `+search` 与 `+get-related-tasks` / `+get-my-tasks` 都能达到目的时,应优先使用列表型能力,而不是搜索型能力。其中,“与我相关 / 我关注的 / 由我创建”等优先考虑 `+get-related-tasks`;“我负责的 / 分配给我”的列表优先考虑 `+get-my-tasks`。不要把时间范围词(例如“今年以来”)本身误当成 `query` 去走搜索。
|
|
16
|
+
> **任务清单搜索技巧**:任务清单也遵循同样的判断逻辑。先区分用户是否**特地指定使用搜索 skill**,以及是否真的提供了**清单查询关键字**(例如清单名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了清单查询关键字,则优先使用 `+tasklist-search`。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如“由我创建的任务清单”“今年以来创建的清单”),并且使用搜索或原生列取清单都能达到目的时,应优先使用原生 `tasklists.list` 接口列取清单(先 `schema task.tasklists.list`,再 `lark-cli task tasklists list --as user ...`),再按 `creator`、`created_at` 等字段做本地筛选和分页控制。
|
|
17
|
+
> **意图区分补充**:像“搜索飞书中今年以来我关注的任务”这类表达,虽然字面带有“搜索”,但如果没有真正的查询关键字,且本质是在限定“与我相关 + 时间范围”,则应优先走 `+get-related-tasks`;像“搜索飞书中由我创建的任务清单”这类表达,如果没有清单关键字,且本质是在限定“清单范围 + 创建者”,则应优先走原生 `tasklists.list` 后筛选,而不是直接走搜索型 shortcut。
|
|
18
|
+
> **用户身份识别**:在用户身份(user identity)场景下,如果用户提到了“我”(例如“分配给我”、“由我创建”),请默认获取当前登录用户的 `open_id` 作为对应的参数值。
|
|
19
|
+
> **术语理解**:如果用户提到 “todo”(待办),应当思考其是否是指“task”(任务),并优先尝试使用本 Skill 提供的命令来处理。
|
|
20
|
+
> **友好输出**:在输出任务(或清单)的执行结果给用户时,建议同时提取并输出命令返回结果中的 `url` 字段(任务链接),以便用户可以直接点击跳转查看详情。
|
|
21
|
+
|
|
22
|
+
> **创建/更新注意**:
|
|
23
|
+
> 1. 只有在设置了 `due`(截止时间)的情况下,才能设置 `repeat_rule`(重复规则)和 `reminder`(提醒时间)。
|
|
24
|
+
> 2. 若同时设置了 `start`(开始时间)和 `due`(截止时间),开始时间必须小于或等于截止时间。
|
|
25
|
+
> 3. 使用 tenant_access_token(应用身份)时,无法跨租户添加任务成员。
|
|
26
|
+
|
|
27
|
+
> **查询注意**:
|
|
28
|
+
> 1. 在输出任务详情时,如果需要渲染负责人、创建人等人员字段,除了展示 `id` (例如 open_id) 外,还必须通过其他方式(例如调用通讯录技能)尝试获取并展示这个人的真实名字,以便用户更容易识别。
|
|
29
|
+
> 2. 在输出清单详情时,如果需要渲染 owner、member、角色成员等人员字段,也必须像任务成员展示一样,除了展示 `id` 外,尽量解析并展示对应人员的真实名字。
|
|
30
|
+
> 3. 在输出任务或清单详情时,如果需要渲染创建时间、截止时间等字段,需要使用本地时区来渲染(格式为2006-01-02 15:04:05)。
|
|
31
|
+
|
|
32
|
+
> **Task GUID 定义**:
|
|
33
|
+
> Task OpenAPI 中用于更新/操作任务的 `guid` 是任务的全局唯一标识(GUID),不是客户端展示的任务编号(例如 `t104121` / `suite_entity_num`)。
|
|
34
|
+
> 对于 Feishu 的任务 applink(例如 `.../client/todo/task?guid=...`),必须使用 URL query 里的 `guid` 参数作为 task guid。
|
|
35
|
+
|
|
36
|
+
## Shortcuts
|
|
37
|
+
|
|
38
|
+
- [`+create`](./references/lark-task-create.md) — Create a task
|
|
39
|
+
- [`+update`](./references/lark-task-update.md) — Update a task
|
|
40
|
+
- [`+comment`](./references/lark-task-comment.md) — Add a comment to a task
|
|
41
|
+
- [`+complete`](./references/lark-task-complete.md) — Complete a task
|
|
42
|
+
- [`+reopen`](./references/lark-task-reopen.md) — Reopen a task
|
|
43
|
+
- [`+assign`](./references/lark-task-assign.md) — Assign or remove members from a task
|
|
44
|
+
- [`+followers`](./references/lark-task-followers.md) — Manage task followers
|
|
45
|
+
- [`+reminder`](./references/lark-task-reminder.md) — Manage task reminders
|
|
46
|
+
- [`+get-my-tasks`](./references/lark-task-get-my-tasks.md) — List tasks assigned to me
|
|
47
|
+
- [`+get-related-tasks`](./references/lark-task-get-related-tasks.md) — List tasks related to me
|
|
48
|
+
- [`+search`](./references/lark-task-search.md) — Search tasks
|
|
49
|
+
- [`+subscribe-event`](./references/lark-task-subscribe-event.md) — Subscribe to task events
|
|
50
|
+
- [`+set-ancestor`](./references/lark-task-set-ancestor.md) — Set or clear a task ancestor
|
|
51
|
+
- [`+tasklist-create`](./references/lark-task-tasklist-create.md) — Create a tasklist and batch add tasks
|
|
52
|
+
- [`+tasklist-search`](./references/lark-task-tasklist-search.md) — Search tasklists
|
|
53
|
+
- [`+tasklist-task-add`](./references/lark-task-tasklist-task-add.md) — Add existing tasks to a tasklist
|
|
54
|
+
- [`+tasklist-members`](./references/lark-task-tasklist-members.md) — Manage tasklist members
|
|
55
|
+
- [`+upload-attachment`](./references/lark-task-upload-attachment.md) — Upload a file as a task attachment
|
|
56
|
+
|
|
57
|
+
## API Resources
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
lark-cli schema task.<resource>.<method> # 调用 API 前必须先查看参数结构
|
|
61
|
+
lark-cli task <resource> <method> [flags] # 调用 API
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
> **重要**:使用原生 API 时,必须先运行 `schema` 查看 `--data` / `--params` 参数结构,不要猜测字段格式。
|
|
65
|
+
|
|
66
|
+
### tasks
|
|
67
|
+
|
|
68
|
+
- `create` — 创建任务
|
|
69
|
+
- `delete` — 删除任务
|
|
70
|
+
- `get` — 获取任务详情
|
|
71
|
+
- `list` — 列取任务列表
|
|
72
|
+
- `patch` — 更新任务
|
|
73
|
+
|
|
74
|
+
### tasklists
|
|
75
|
+
|
|
76
|
+
- `add_members` — 添加清单成员
|
|
77
|
+
- `create` — 创建清单
|
|
78
|
+
- `delete` — 删除清单
|
|
79
|
+
- `get` — 获取清单详情
|
|
80
|
+
- `list` — 获取清单列表
|
|
81
|
+
- `patch` — 更新清单
|
|
82
|
+
- `remove_members` — 移除清单成员
|
|
83
|
+
- `tasks` — 获取清单任务列表
|
|
84
|
+
|
|
85
|
+
### subtasks
|
|
86
|
+
|
|
87
|
+
- `create` — 创建子任务
|
|
88
|
+
- `list` — 获取任务的子任务列表
|
|
89
|
+
|
|
90
|
+
### members
|
|
91
|
+
|
|
92
|
+
- `add` — 添加任务成员
|
|
93
|
+
- `remove` — 移除任务成员
|
|
94
|
+
|
|
95
|
+
### sections
|
|
96
|
+
|
|
97
|
+
- `create` — 创建自定义分组
|
|
98
|
+
- `delete` — 删除自定义分组
|
|
99
|
+
- `get` — 获取自定义分组详情
|
|
100
|
+
- `list` — 获取自定义分组列表
|
|
101
|
+
- `patch` — 更新自定义分组
|
|
102
|
+
- `tasks` — 获取自定义分组任务列表
|
|
103
|
+
|
|
104
|
+
### custom_fields
|
|
105
|
+
|
|
106
|
+
- `create` — 创建自定义字段
|
|
107
|
+
- `get` — 获取自定义字段详情
|
|
108
|
+
- `patch` — 更新自定义字段
|
|
109
|
+
- `list` — 获取自定义字段列表
|
|
110
|
+
- `add` — 将自定义字段加入资源
|
|
111
|
+
- `remove` — 将自定义字段移出资源
|
|
112
|
+
|
|
113
|
+
### custom_field_options
|
|
114
|
+
|
|
115
|
+
- `create` — 创建自定义字段选项
|
|
116
|
+
- `patch` — 更新自定义字段选项
|
|
117
|
+
|
|
118
|
+
### agent
|
|
119
|
+
|
|
120
|
+
- `update_agent_profile` — 更新任务代理的主页内容数据。
|
|
121
|
+
- `register_agent` — 注册AI 智能体
|
|
122
|
+
|
|
123
|
+
### agent_task_step_info
|
|
124
|
+
|
|
125
|
+
- `append_task_steps` — 写入任务记录。
|
|
126
|
+
|
|
127
|
+
## 权限表
|
|
128
|
+
|
|
129
|
+
| 方法 | 所需 scope |
|
|
130
|
+
|------|-----------|
|
|
131
|
+
| `tasks.create` | `task:task:write` |
|
|
132
|
+
| `tasks.delete` | `task:task:write` |
|
|
133
|
+
| `tasks.get` | `task:task:read` |
|
|
134
|
+
| `tasks.list` | `task:task:read` |
|
|
135
|
+
| `tasks.patch` | `task:task:write` |
|
|
136
|
+
| `tasklists.add_members` | `task:tasklist:write` |
|
|
137
|
+
| `tasklists.create` | `task:tasklist:write` |
|
|
138
|
+
| `tasklists.delete` | `task:tasklist:write` |
|
|
139
|
+
| `tasklists.get` | `task:tasklist:read` |
|
|
140
|
+
| `tasklists.list` | `task:tasklist:read` |
|
|
141
|
+
| `tasklists.patch` | `task:tasklist:write` |
|
|
142
|
+
| `tasklists.remove_members` | `task:tasklist:write` |
|
|
143
|
+
| `tasklists.tasks` | `task:tasklist:read` |
|
|
144
|
+
| `subtasks.create` | `task:task:write` |
|
|
145
|
+
| `subtasks.list` | `task:task:read` |
|
|
146
|
+
| `members.add` | `task:task:write` |
|
|
147
|
+
| `members.remove` | `task:task:write` |
|
|
148
|
+
| `sections.create` | `task:section:write` |
|
|
149
|
+
| `sections.delete` | `task:section:write` |
|
|
150
|
+
| `sections.get` | `task:section:read` |
|
|
151
|
+
| `sections.list` | `task:section:read` |
|
|
152
|
+
| `sections.patch` | `task:section:write` |
|
|
153
|
+
| `sections.tasks` | `task:section:read` |
|
|
154
|
+
| `custom_fields.create` | `task:custom_field:write` |
|
|
155
|
+
| `custom_fields.get` | `task:custom_field:read` |
|
|
156
|
+
| `custom_fields.patch` | `task:custom_field:write` |
|
|
157
|
+
| `custom_fields.list` | `task:custom_field:read` |
|
|
158
|
+
| `custom_fields.add` | `task:custom_field:write` |
|
|
159
|
+
| `custom_fields.remove` | `task:custom_field:write` |
|
|
160
|
+
| `custom_field_options.create` | `task:custom_field:write` |
|
|
161
|
+
| `custom_field_options.patch` | `task:custom_field:write` |
|
|
162
|
+
| `agent.update_agent_profile` | `task:task:write` |
|
|
163
|
+
| `agent.register_agent` | `task:task:write` |
|
|
164
|
+
| `agent_task_step_info.append_task_steps` | `task:task:write` |
|
|
165
|
+
| `+upload-attachment` | `task:attachment:write` |
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# task +assign
|
|
2
|
+
|
|
3
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
4
|
+
|
|
5
|
+
Assign or remove members (assignees) from a task.
|
|
6
|
+
|
|
7
|
+
## Recommended Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Add an assignee
|
|
11
|
+
lark-cli task +assign --task-id "<task_guid>" --add "ou_aaa"
|
|
12
|
+
|
|
13
|
+
# Add an app assignee
|
|
14
|
+
lark-cli task +assign --task-id "<task_guid>" --add "cli_xxx"
|
|
15
|
+
|
|
16
|
+
# Transfer an assignee (remove old, add new)
|
|
17
|
+
lark-cli task +assign --task-id "<task_guid>" --remove "ou_old" --add "ou_new"
|
|
18
|
+
|
|
19
|
+
# Add multiple assignees
|
|
20
|
+
lark-cli task +assign --task-id "<task_guid>" --add "ou_aaa,ou_bbb"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
| Parameter | Required | Description |
|
|
26
|
+
|-----------|----------|-------------|
|
|
27
|
+
| `--task-id <guid>` | Yes | The task GUID to modify. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
|
|
28
|
+
| `--add <ids>` | No | Comma-separated assignee IDs. Use user `open_id`s like `ou_xxx` for people, or app IDs like `cli_xxx` for apps. |
|
|
29
|
+
| `--remove <ids>` | No | Comma-separated assignee IDs. Use user `open_id`s like `ou_xxx` for people, or app IDs like `cli_xxx` for apps. |
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
1. Confirm the task and members to add/remove.
|
|
34
|
+
2. Execute the command.
|
|
35
|
+
3. Report success and the new count of assignees.
|
|
36
|
+
|
|
37
|
+
> [!CAUTION]
|
|
38
|
+
> This is a **Write Operation** -- You must confirm the user's intent before executing.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# task +comment
|
|
2
|
+
|
|
3
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
4
|
+
|
|
5
|
+
Add a comment to an existing task.
|
|
6
|
+
|
|
7
|
+
## Recommended Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Add a comment
|
|
11
|
+
lark-cli task +comment --task-id "<task_guid>" --content "Looks good!"
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
| Parameter | Required | Description |
|
|
17
|
+
|-----------|----------|-------------|
|
|
18
|
+
| `--task-id <guid>` | Yes | The task GUID to comment on. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
|
|
19
|
+
| `--content <text>` | Yes | The text content of the comment. |
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
1. Confirm the task and comment content.
|
|
24
|
+
2. Execute `lark-cli task +comment --task-id "..." --content "..."`
|
|
25
|
+
3. Report success and comment ID.
|
|
26
|
+
|
|
27
|
+
> [!CAUTION]
|
|
28
|
+
> This is a **Write Operation** -- You must confirm the user's intent before executing.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# task +complete
|
|
2
|
+
|
|
3
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
4
|
+
|
|
5
|
+
Mark a task as completed.
|
|
6
|
+
|
|
7
|
+
## Recommended Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Complete a task
|
|
11
|
+
lark-cli task +complete --task-id "<task_guid>"
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
| Parameter | Required | Description |
|
|
17
|
+
|-----------|----------|-------------|
|
|
18
|
+
| `--task-id <guid>` | Yes | The task GUID to complete. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
1. Confirm the task to complete.
|
|
23
|
+
2. Execute the command.
|
|
24
|
+
3. Report success.
|
|
25
|
+
|
|
26
|
+
> [!CAUTION]
|
|
27
|
+
> This is a **Write Operation** -- You must confirm the user's intent before executing.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# task +create
|
|
2
|
+
|
|
3
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
4
|
+
|
|
5
|
+
Create a new task in Lark.
|
|
6
|
+
|
|
7
|
+
## Recommended Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Create a task with all details
|
|
11
|
+
lark-cli task +create \
|
|
12
|
+
--summary "Quarterly Sales Review" \
|
|
13
|
+
--description "Review the sales performance for the last quarter." \
|
|
14
|
+
--assignee "ou_xxx" \
|
|
15
|
+
--due "2026-03-25" \
|
|
16
|
+
--tasklist-id "https://applink.larkoffice.com/client/todo/task_list?guid=a4b00000-000-000-000-00000000036c"
|
|
17
|
+
|
|
18
|
+
# Create a task assigned to an app
|
|
19
|
+
lark-cli task +create \
|
|
20
|
+
--summary "Nightly Sync" \
|
|
21
|
+
--assignee "cli_xxx"
|
|
22
|
+
|
|
23
|
+
# Create a simple task
|
|
24
|
+
lark-cli task +create \
|
|
25
|
+
--summary "Buy milk"
|
|
26
|
+
|
|
27
|
+
# Preview the API call without executing
|
|
28
|
+
lark-cli task +create --summary "Test Task" --dry-run
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Parameters
|
|
32
|
+
|
|
33
|
+
| Parameter | Required | Description |
|
|
34
|
+
|-----------|----------|-------------|
|
|
35
|
+
| `--summary <text>` | Yes | The title or summary of the task |
|
|
36
|
+
| `--description <text>` | No | Detailed description of the task |
|
|
37
|
+
| `--assignee <id>` | No | Assignee ID. Use user `open_id` like `ou_xxx` for people, or app ID like `cli_xxx` for apps. |
|
|
38
|
+
| `--follower <id>` | No | Follower ID. Use user `open_id` like `ou_xxx` for people, or app ID like `cli_xxx` for apps. |
|
|
39
|
+
| `--due <time>` | No | Due date. Supports ISO 8601, `YYYY-MM-DD`, relative time (e.g., `+2d`), or ms timestamp. `YYYY-MM-DD` and relative time will automatically set it as an all-day task. |
|
|
40
|
+
| `--tasklist-id <id>` | No | The GUID of the tasklist, or a full AppLink URL (the CLI will automatically extract the `guid` parameter from the URL). |
|
|
41
|
+
| `--idempotency-key <key>` | No | Client token to ensure idempotency of the request. |
|
|
42
|
+
| `--dry-run` | No | Preview the API call (JSON payload) without actually creating the task. |
|
|
43
|
+
|
|
44
|
+
## Workflow
|
|
45
|
+
|
|
46
|
+
1. Confirm with the user: task summary, due date, assignee, and tasklist if necessary.
|
|
47
|
+
- **Crucial Rule for Assignee**: If the user explicitly or implicitly says "create a task for me" (给我创建一个任务), or "help me create a task" (帮我新建/创建一个任务), you MUST assign the task to the current logged-in user. You can get the current user's `open_id` by executing `lark-cli auth status` (it already outputs JSON by default, so do not add `--json`) or `lark-cli contact +get-user` first, extracting the `userOpenId` or `open_id`, and then passing it to the `--assignee` parameter.
|
|
48
|
+
2. Execute `lark-cli task +create --summary "..." ...`
|
|
49
|
+
3. Report the result: task ID and summary.
|
|
50
|
+
|
|
51
|
+
> [!CAUTION]
|
|
52
|
+
> This is a **Write Operation** -- You must confirm the user's intent before executing.
|
|
53
|
+
|
|
54
|
+
## References
|
|
55
|
+
|
|
56
|
+
- [lark-task](../SKILL.md) -- All task commands
|
|
57
|
+
- [lark-shared](../../lark-shared/SKILL.md) -- Authentication and global parameters
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# task +followers
|
|
2
|
+
|
|
3
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
4
|
+
|
|
5
|
+
Manage task followers. Add or remove followers from an existing task.
|
|
6
|
+
|
|
7
|
+
## Recommended Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Add a follower
|
|
11
|
+
lark-cli task +followers --task-id "<task_guid>" --add "ou_aaa"
|
|
12
|
+
|
|
13
|
+
# Add an app follower
|
|
14
|
+
lark-cli task +followers --task-id "<task_guid>" --add "cli_xxx"
|
|
15
|
+
|
|
16
|
+
# Remove a follower
|
|
17
|
+
lark-cli task +followers --task-id "<task_guid>" --remove "ou_aaa"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Required | Description |
|
|
23
|
+
|-----------|----------|-------------|
|
|
24
|
+
| `--task-id <guid>` | Yes | The task GUID to modify. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
|
|
25
|
+
| `--add <ids>` | No | Comma-separated follower IDs. Use user `open_id`s like `ou_xxx` for people, or app IDs like `cli_xxx` for apps. |
|
|
26
|
+
| `--remove <ids>` | No | Comma-separated follower IDs. Use user `open_id`s like `ou_xxx` for people, or app IDs like `cli_xxx` for apps. |
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
1. Confirm the task and followers to add/remove.
|
|
31
|
+
2. Execute the command.
|
|
32
|
+
3. Report success.
|
|
33
|
+
|
|
34
|
+
> [!CAUTION]
|
|
35
|
+
> This is a **Write Operation** -- You must confirm the user's intent before executing.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# task +get-my-tasks
|
|
2
|
+
|
|
3
|
+
If the user query only specifies a task name (e.g., "Complete task Lobster No. 1"), use this command to list and search for the task by its summary.
|
|
4
|
+
|
|
5
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
6
|
+
>
|
|
7
|
+
> **⚠️ Note:** This API must be called with a user identity. **Do NOT use an app identity, otherwise the call will fail.**
|
|
8
|
+
>
|
|
9
|
+
> **Output rendering note:**
|
|
10
|
+
> 1. If you need to present user fields (assignee, creator, etc.), do not only output the raw `id` (e.g. open_id). Also try to resolve and display the user's real name (e.g. via the contact skill) for readability.
|
|
11
|
+
> 2. When rendering timestamps (e.g. created time, due time), use the local timezone. Format is 2006-01-02 15:04:05
|
|
12
|
+
|
|
13
|
+
List tasks assigned to the current user, with support for filtering by completion status, creation time, and due date.
|
|
14
|
+
By default, the command will automatically paginate up to 20 times. Use `--page-all` to fetch more (up to 40 pages).
|
|
15
|
+
|
|
16
|
+
## Recommended Commands
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Search for a specific task by name
|
|
20
|
+
lark-cli task +get-my-tasks --query "Lobster No. 1"
|
|
21
|
+
|
|
22
|
+
# Get all my tasks (fetches up to 20 pages by default)
|
|
23
|
+
lark-cli task +get-my-tasks
|
|
24
|
+
|
|
25
|
+
# Get my incomplete tasks (fetches up to 20 pages by default)
|
|
26
|
+
lark-cli task +get-my-tasks --complete=false
|
|
27
|
+
|
|
28
|
+
# Fetch all my tasks (up to 40 pages)
|
|
29
|
+
lark-cli task +get-my-tasks --page-all
|
|
30
|
+
|
|
31
|
+
# Fetch up to 10 pages
|
|
32
|
+
lark-cli task +get-my-tasks --page-limit 10
|
|
33
|
+
|
|
34
|
+
# Resume from a known page token
|
|
35
|
+
lark-cli task +get-my-tasks --page-token "pt_xxx"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Parameters
|
|
39
|
+
|
|
40
|
+
| Parameter | Required | Description |
|
|
41
|
+
|-----------|----------|-------------|
|
|
42
|
+
| `--query <string>` | No | Search for tasks by summary. Returns exact matches if any; otherwise returns partial matches. |
|
|
43
|
+
| `--complete=<bool>` | No | Optional. If not provided, it fetches all tasks (both incomplete and completed). Set to `true` to fetch only completed tasks, or `false` for incomplete tasks. |
|
|
44
|
+
| `--created_at <string>` | No | Query tasks created after this time. Supports date: `YYYY-MM-DD`, relative: `-2d`, or ms timestamp. |
|
|
45
|
+
| `--due-start <string>` | No | Query tasks with a due date after this time. Supports date: `YYYY-MM-DD`, relative: `-2d`, or ms timestamp. |
|
|
46
|
+
| `--due-end <string>` | No | Query tasks with a due date before this time. Supports date: `YYYY-MM-DD`, relative: `-2d`, or ms timestamp. |
|
|
47
|
+
| `--page-all` | No | Automatically paginate through all pages (max 40). |
|
|
48
|
+
| `--page-limit <int>` | No | Max page limit (default 20). |
|
|
49
|
+
| `--page-token <string>` | No | Start from the specified page token (useful for resuming a previous query). |
|
|
50
|
+
|
|
51
|
+
## Workflow
|
|
52
|
+
|
|
53
|
+
1. Determine the filters based on the user's request.
|
|
54
|
+
2. Execute the command. The CLI will automatically loop up to the specified limit (default 20, or 40 with `--page-all`) to fetch records.
|
|
55
|
+
3. Show the results (ID, summary, due time, and created date).
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# task +get-related-tasks
|
|
2
|
+
|
|
3
|
+
> **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
|
|
4
|
+
>
|
|
5
|
+
> **⚠️ Note:** This API must be called with a user identity. **Do NOT use an app identity, otherwise the call will fail.**
|
|
6
|
+
>
|
|
7
|
+
> **Pagination / Time Cursor Rule:**
|
|
8
|
+
> In `+get-related-tasks`, `page_token` is the task `updated_at` cursor in microseconds.
|
|
9
|
+
>
|
|
10
|
+
> **Execution Priority:**
|
|
11
|
+
> 1. If the request contains a start/end time boundary (for example, "今年以来", "最近一个月", "从 3 月 1 日开始"), first convert the **start time** boundary to a microsecond `page_token` and query from that token.
|
|
12
|
+
> 2. Continue pagination using returned `page_token` until `has_more=false`, but never exceed 40 total page fetches.
|
|
13
|
+
> 3. Do NOT default to `--page-all` for time-bounded queries.
|
|
14
|
+
>
|
|
15
|
+
> Only use `--page-all` from the beginning when:
|
|
16
|
+
> 1. the user explicitly asks for a full scan of all related tasks, or
|
|
17
|
+
> 2. no time boundary can be inferred from the request.
|
|
18
|
+
|
|
19
|
+
List tasks related to the current user.
|
|
20
|
+
|
|
21
|
+
## Recommended Commands
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# List all related tasks
|
|
25
|
+
lark-cli task +get-related-tasks
|
|
26
|
+
|
|
27
|
+
# List incomplete related tasks starting from a page token
|
|
28
|
+
lark-cli task +get-related-tasks --include-complete=false --page-token "1752730590582902"
|
|
29
|
+
|
|
30
|
+
# Show only tasks created by me
|
|
31
|
+
lark-cli task +get-related-tasks --created-by-me
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Parameters
|
|
35
|
+
|
|
36
|
+
| Parameter | Required | Description |
|
|
37
|
+
|-----------|----------|-------------|
|
|
38
|
+
| `--include-complete=<bool>` | No | Default behavior includes completed tasks. Set to `false` to keep only incomplete tasks. |
|
|
39
|
+
| `--page-all` | No | Automatically paginate through all pages (max 40). |
|
|
40
|
+
| `--page-limit <int>` | No | Max page limit (default 20). |
|
|
41
|
+
| `--page-token <string>` | No | Start from the specified page token. This token is the task's last update time cursor in microseconds. |
|
|
42
|
+
| `--created-by-me` | No | Keep only tasks whose creator is the current user. This is a client-side filter applied after fetching related-task pages. |
|
|
43
|
+
| `--followed-by-me` | No | Keep only tasks followed by the current user. This is a client-side filter applied after fetching related-task pages. |
|
|
44
|
+
|
|
45
|
+
> **Page Token Note:** In `+get-related-tasks`, the `page_token` is a microsecond-level cursor representing the task's last update time. For example, `1752730590582902` should be treated as an updated-at cursor, not a task ID.
|
|
46
|
+
>
|
|
47
|
+
> **Pagination Note for Client-side Filters:** When `--created-by-me` or `--followed-by-me` is used, filtering happens locally after each upstream related-task page is fetched. The returned `has_more` and `page_token` still describe the upstream cursor, so later pages may contain more matching tasks, or may contain none.
|
|
48
|
+
|
|
49
|
+
## Workflow
|
|
50
|
+
|
|
51
|
+
1. Determine whether the user needs all related tasks or a filtered subset.
|
|
52
|
+
2. Execute `lark-cli task +get-related-tasks ...`
|
|
53
|
+
3. Report the matching tasks and, if present, the next `page_token`.
|