@yandy0725/pi-lark 0.1.0
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 +30 -0
- package/README.zh.md +30 -0
- package/package.json +36 -0
- package/skills/lark-approval/SKILL.md +56 -0
- package/skills/lark-approval/references/lark-approval-initiate.md +196 -0
- package/skills/lark-approval/references/lark-approval-instance-form-control-parameters.md +606 -0
- package/skills/lark-approval/references/lark-approval-instance-value-sourcing.md +108 -0
- package/skills/lark-apps/SKILL.md +78 -0
- package/skills/lark-apps/references/lark-apps-access-scope-get.md +28 -0
- package/skills/lark-apps/references/lark-apps-access-scope-set.md +40 -0
- package/skills/lark-apps/references/lark-apps-cloud-dev.md +120 -0
- package/skills/lark-apps/references/lark-apps-create.md +40 -0
- package/skills/lark-apps/references/lark-apps-db-env-create.md +31 -0
- package/skills/lark-apps/references/lark-apps-db-execute.md +40 -0
- package/skills/lark-apps/references/lark-apps-db-table-get.md +29 -0
- package/skills/lark-apps/references/lark-apps-db-table-list.md +31 -0
- package/skills/lark-apps/references/lark-apps-env-pull.md +35 -0
- package/skills/lark-apps/references/lark-apps-git-credential.md +37 -0
- package/skills/lark-apps/references/lark-apps-html-publish.md +57 -0
- package/skills/lark-apps/references/lark-apps-init.md +37 -0
- package/skills/lark-apps/references/lark-apps-list.md +37 -0
- package/skills/lark-apps/references/lark-apps-local-dev.md +76 -0
- package/skills/lark-apps/references/lark-apps-release-create.md +30 -0
- package/skills/lark-apps/references/lark-apps-release-get.md +28 -0
- package/skills/lark-apps/references/lark-apps-release-list.md +31 -0
- package/skills/lark-apps/references/lark-apps-session-messages-list.md +53 -0
- package/skills/lark-apps/references/lark-apps-update.md +30 -0
- package/skills/lark-attendance/SKILL.md +57 -0
- package/skills/lark-base/SKILL.md +157 -0
- package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
- package/skills/lark-base/references/formula-field-guide.md +737 -0
- package/skills/lark-base/references/lark-base-cell-value.md +153 -0
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +717 -0
- package/skills/lark-base/references/lark-base-dashboard.md +238 -0
- package/skills/lark-base/references/lark-base-data-analysis-sop.md +210 -0
- package/skills/lark-base/references/lark-base-data-query-guide.md +61 -0
- package/skills/lark-base/references/lark-base-data-query.md +452 -0
- package/skills/lark-base/references/lark-base-field-create.md +103 -0
- package/skills/lark-base/references/lark-base-field-json.md +489 -0
- package/skills/lark-base/references/lark-base-field-update.md +171 -0
- package/skills/lark-base/references/lark-base-form-detail.md +71 -0
- package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
- package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
- package/skills/lark-base/references/lark-base-form-submit.md +170 -0
- package/skills/lark-base/references/lark-base-record-batch-create.md +57 -0
- package/skills/lark-base/references/lark-base-record-batch-update.md +52 -0
- package/skills/lark-base/references/lark-base-record-history-list.md +43 -0
- package/skills/lark-base/references/lark-base-record-upsert.md +63 -0
- package/skills/lark-base/references/lark-base-role-guide.md +65 -0
- package/skills/lark-base/references/lark-base-view-set-filter.md +189 -0
- package/skills/lark-base/references/lark-base-workflow-guide.md +830 -0
- package/skills/lark-base/references/lark-base-workflow-schema.md +1071 -0
- package/skills/lark-base/references/lookup-field-guide.md +512 -0
- package/skills/lark-base/references/role-config.md +549 -0
- package/skills/lark-calendar/SKILL.md +137 -0
- package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
- package/skills/lark-calendar/references/lark-calendar-create.md +106 -0
- package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
- package/skills/lark-calendar/references/lark-calendar-meeting.md +40 -0
- package/skills/lark-calendar/references/lark-calendar-room-find.md +113 -0
- package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
- package/skills/lark-calendar/references/lark-calendar-search-event.md +29 -0
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
- package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
- package/skills/lark-contact/SKILL.md +59 -0
- package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
- package/skills/lark-contact/references/lark-contact-search-user.md +124 -0
- package/skills/lark-doc/SKILL.md +79 -0
- package/skills/lark-doc/references/lark-doc-create.md +79 -0
- package/skills/lark-doc/references/lark-doc-fetch.md +138 -0
- package/skills/lark-doc/references/lark-doc-md.md +76 -0
- package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
- package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
- package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
- package/skills/lark-doc/references/lark-doc-resource-cover.md +70 -0
- package/skills/lark-doc/references/lark-doc-update.md +259 -0
- package/skills/lark-doc/references/lark-doc-whiteboard.md +154 -0
- package/skills/lark-doc/references/lark-doc-xml.md +181 -0
- package/skills/lark-doc/references/style/lark-doc-create-workflow.md +59 -0
- package/skills/lark-doc/references/style/lark-doc-style.md +86 -0
- package/skills/lark-doc/references/style/lark-doc-update-workflow.md +55 -0
- package/skills/lark-drive/SKILL.md +215 -0
- package/skills/lark-drive/references/lark-drive-add-comment.md +193 -0
- package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
- package/skills/lark-drive/references/lark-drive-comment-location.md +193 -0
- package/skills/lark-drive/references/lark-drive-comments-guide.md +72 -0
- package/skills/lark-drive/references/lark-drive-cover.md +79 -0
- package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
- package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
- package/skills/lark-drive/references/lark-drive-delete.md +79 -0
- package/skills/lark-drive/references/lark-drive-download.md +31 -0
- package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
- package/skills/lark-drive/references/lark-drive-export.md +145 -0
- package/skills/lark-drive/references/lark-drive-files-list.md +158 -0
- package/skills/lark-drive/references/lark-drive-import.md +170 -0
- package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +66 -0
- package/skills/lark-drive/references/lark-drive-move.md +120 -0
- package/skills/lark-drive/references/lark-drive-permission-guide.md +41 -0
- package/skills/lark-drive/references/lark-drive-preview.md +87 -0
- package/skills/lark-drive/references/lark-drive-pull.md +137 -0
- package/skills/lark-drive/references/lark-drive-push.md +162 -0
- package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
- package/skills/lark-drive/references/lark-drive-search.md +269 -0
- package/skills/lark-drive/references/lark-drive-secure-label.md +52 -0
- package/skills/lark-drive/references/lark-drive-status.md +137 -0
- package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
- package/skills/lark-drive/references/lark-drive-upload.md +101 -0
- package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
- package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
- package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
- package/skills/lark-drive/references/lark-drive-version-revert.md +35 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md +249 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md +253 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md +200 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md +336 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md +308 -0
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +226 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +168 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +424 -0
- package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +207 -0
- package/skills/lark-drive/references/lark-drive-workflow.md +130 -0
- package/skills/lark-event/SKILL.md +154 -0
- package/skills/lark-event/references/lark-event-im.md +87 -0
- package/skills/lark-event/references/lark-event-minutes.md +54 -0
- package/skills/lark-event/references/lark-event-task.md +78 -0
- package/skills/lark-event/references/lark-event-vc.md +94 -0
- package/skills/lark-event/references/lark-event-whiteboard.md +67 -0
- package/skills/lark-im/SKILL.md +247 -0
- package/skills/lark-im/references/lark-im-card-action-reply.md +175 -0
- package/skills/lark-im/references/lark-im-chat-create.md +162 -0
- package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
- package/skills/lark-im/references/lark-im-chat-list.md +166 -0
- package/skills/lark-im/references/lark-im-chat-messages-list.md +157 -0
- package/skills/lark-im/references/lark-im-chat-search.md +142 -0
- package/skills/lark-im/references/lark-im-chat-update.md +84 -0
- package/skills/lark-im/references/lark-im-feed-group-list-item.md +68 -0
- package/skills/lark-im/references/lark-im-feed-group-list.md +65 -0
- package/skills/lark-im/references/lark-im-feed-group-query-item.md +44 -0
- package/skills/lark-im/references/lark-im-feed-groups.md +452 -0
- package/skills/lark-im/references/lark-im-feed-shortcut-create.md +97 -0
- package/skills/lark-im/references/lark-im-feed-shortcut-list.md +103 -0
- package/skills/lark-im/references/lark-im-feed-shortcut-remove.md +48 -0
- package/skills/lark-im/references/lark-im-flag-cancel.md +67 -0
- package/skills/lark-im/references/lark-im-flag-create.md +67 -0
- package/skills/lark-im/references/lark-im-flag-list.md +100 -0
- package/skills/lark-im/references/lark-im-message-enrichment.md +54 -0
- package/skills/lark-im/references/lark-im-messages-mget.md +99 -0
- package/skills/lark-im/references/lark-im-messages-reply.md +267 -0
- package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
- package/skills/lark-im/references/lark-im-messages-search.md +234 -0
- package/skills/lark-im/references/lark-im-messages-send.md +267 -0
- package/skills/lark-im/references/lark-im-reactions.md +299 -0
- package/skills/lark-im/references/lark-im-threads-messages-list.md +115 -0
- package/skills/lark-mail/SKILL.md +287 -0
- package/skills/lark-mail/assets/templates/job-application--resume.html +33 -0
- package/skills/lark-mail/assets/templates/newsletter--weekly-brief.html +50 -0
- package/skills/lark-mail/assets/templates/research--market-report.html +256 -0
- package/skills/lark-mail/assets/templates/weekly--personal-report.html +43 -0
- package/skills/lark-mail/assets/templates/weekly--team-report.html +9 -0
- package/skills/lark-mail/references/lark-mail-calendar-invite.md +36 -0
- package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
- package/skills/lark-mail/references/lark-mail-draft-create.md +127 -0
- package/skills/lark-mail/references/lark-mail-draft-edit.md +404 -0
- package/skills/lark-mail/references/lark-mail-forward.md +239 -0
- package/skills/lark-mail/references/lark-mail-html.md +333 -0
- package/skills/lark-mail/references/lark-mail-lint-html.md +243 -0
- package/skills/lark-mail/references/lark-mail-message.md +233 -0
- package/skills/lark-mail/references/lark-mail-messages.md +108 -0
- package/skills/lark-mail/references/lark-mail-recall.md +66 -0
- package/skills/lark-mail/references/lark-mail-recipient-search.md +59 -0
- package/skills/lark-mail/references/lark-mail-reply-all.md +213 -0
- package/skills/lark-mail/references/lark-mail-reply.md +249 -0
- package/skills/lark-mail/references/lark-mail-rules.md +31 -0
- package/skills/lark-mail/references/lark-mail-send-as.md +44 -0
- package/skills/lark-mail/references/lark-mail-send-receipt.md +120 -0
- package/skills/lark-mail/references/lark-mail-send-status.md +46 -0
- package/skills/lark-mail/references/lark-mail-send.md +222 -0
- package/skills/lark-mail/references/lark-mail-share-to-chat.md +87 -0
- package/skills/lark-mail/references/lark-mail-signature.md +98 -0
- package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
- package/skills/lark-mail/references/lark-mail-template-update.md +150 -0
- package/skills/lark-mail/references/lark-mail-template.md +54 -0
- package/skills/lark-mail/references/lark-mail-thread.md +111 -0
- package/skills/lark-mail/references/lark-mail-triage.md +131 -0
- package/skills/lark-mail/references/lark-mail-watch.md +94 -0
- package/skills/lark-markdown/SKILL.md +69 -0
- package/skills/lark-markdown/references/lark-markdown-create.md +94 -0
- package/skills/lark-markdown/references/lark-markdown-diff.md +156 -0
- package/skills/lark-markdown/references/lark-markdown-fetch.md +79 -0
- package/skills/lark-markdown/references/lark-markdown-overwrite.md +85 -0
- package/skills/lark-markdown/references/lark-markdown-patch.md +160 -0
- package/skills/lark-minutes/SKILL.md +192 -0
- package/skills/lark-minutes/references/lark-minutes-detail.md +62 -0
- package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
- package/skills/lark-minutes/references/lark-minutes-search.md +204 -0
- package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +107 -0
- package/skills/lark-minutes/references/lark-minutes-summary.md +122 -0
- package/skills/lark-minutes/references/lark-minutes-todo.md +138 -0
- package/skills/lark-minutes/references/lark-minutes-update.md +41 -0
- package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
- package/skills/lark-note/SKILL.md +94 -0
- package/skills/lark-note/references/lark-note-detail.md +26 -0
- package/skills/lark-note/references/lark-note-transcript.md +23 -0
- package/skills/lark-okr/SKILL.md +115 -0
- package/skills/lark-okr/references/lark-okr-batch-create.md +106 -0
- package/skills/lark-okr/references/lark-okr-contentblock.md +359 -0
- package/skills/lark-okr/references/lark-okr-cycle-detail.md +84 -0
- package/skills/lark-okr/references/lark-okr-cycle-list.md +90 -0
- package/skills/lark-okr/references/lark-okr-entities.md +329 -0
- package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
- package/skills/lark-okr/references/lark-okr-indicator-update.md +80 -0
- package/skills/lark-okr/references/lark-okr-progress-create.md +81 -0
- package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
- package/skills/lark-okr/references/lark-okr-progress-get.md +62 -0
- package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
- package/skills/lark-okr/references/lark-okr-progress-update.md +81 -0
- package/skills/lark-okr/references/lark-okr-reorder.md +81 -0
- package/skills/lark-okr/references/lark-okr-weight.md +96 -0
- package/skills/lark-openapi-explorer/SKILL.md +153 -0
- package/skills/lark-shared/SKILL.md +168 -0
- package/skills/lark-shared/references/lark-wiki-token-routing.md +42 -0
- package/skills/lark-sheets/SKILL.md +165 -0
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +191 -0
- package/skills/lark-sheets/references/lark-sheets-chart.md +330 -0
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +179 -0
- package/skills/lark-sheets/references/lark-sheets-core-operations.md +103 -0
- package/skills/lark-sheets/references/lark-sheets-filter-view.md +137 -0
- package/skills/lark-sheets/references/lark-sheets-filter.md +130 -0
- package/skills/lark-sheets/references/lark-sheets-float-image.md +159 -0
- package/skills/lark-sheets/references/lark-sheets-formula-translation.md +267 -0
- package/skills/lark-sheets/references/lark-sheets-pivot-table.md +166 -0
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +267 -0
- package/skills/lark-sheets/references/lark-sheets-read-data.md +235 -0
- package/skills/lark-sheets/references/lark-sheets-search-replace.md +111 -0
- package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +212 -0
- package/skills/lark-sheets/references/lark-sheets-sparkline.md +149 -0
- package/skills/lark-sheets/references/lark-sheets-visual-standards.md +205 -0
- package/skills/lark-sheets/references/lark-sheets-workbook.md +395 -0
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +565 -0
- package/skills/lark-sheets/scripts/sheets_df.py +32 -0
- package/skills/lark-skill-maker/SKILL.md +85 -0
- package/skills/lark-slides/SKILL.md +293 -0
- package/skills/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
- package/skills/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
- package/skills/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
- package/skills/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
- package/skills/lark-slides/assets/templates/hr--employee_training.xml +912 -0
- package/skills/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
- package/skills/lark-slides/assets/templates/hr--onboarding.xml +933 -0
- package/skills/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
- package/skills/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
- package/skills/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
- package/skills/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
- package/skills/lark-slides/assets/templates/marketing--marketing_plan.xml +1469 -0
- package/skills/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
- package/skills/lark-slides/assets/templates/marketing--product_whitepaper.xml +1455 -0
- package/skills/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
- package/skills/lark-slides/assets/templates/misc--book_sharing.xml +1338 -0
- package/skills/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
- package/skills/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
- package/skills/lark-slides/assets/templates/office--dark_general.xml +3763 -0
- package/skills/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
- package/skills/lark-slides/assets/templates/office--light_general.xml +3378 -0
- package/skills/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
- package/skills/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
- package/skills/lark-slides/assets/templates/office--work_report.xml +1099 -0
- package/skills/lark-slides/assets/templates/office--work_summary.xml +4420 -0
- package/skills/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
- package/skills/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
- package/skills/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
- package/skills/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
- package/skills/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
- package/skills/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
- package/skills/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
- package/skills/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
- package/skills/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
- package/skills/lark-slides/assets/templates/personal--self_intro.xml +696 -0
- package/skills/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
- package/skills/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
- package/skills/lark-slides/assets/templates/product--market_analysis.xml +898 -0
- package/skills/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
- package/skills/lark-slides/assets/templates/product--product_intro.xml +2838 -0
- package/skills/lark-slides/assets/templates/product--product_promotion.xml +687 -0
- package/skills/lark-slides/assets/templates/product--product_promotion_2.xml +687 -0
- package/skills/lark-slides/references/asset-planning.md +124 -0
- package/skills/lark-slides/references/examples.md +261 -0
- package/skills/lark-slides/references/iconpark-index.json +41901 -0
- package/skills/lark-slides/references/iconpark.md +46 -0
- package/skills/lark-slides/references/lark-slides-create.md +137 -0
- package/skills/lark-slides/references/lark-slides-edit-workflows.md +144 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
- package/skills/lark-slides/references/lark-slides-replace-pages.md +95 -0
- package/skills/lark-slides/references/lark-slides-replace-slide.md +240 -0
- package/skills/lark-slides/references/lark-slides-screenshot.md +94 -0
- package/skills/lark-slides/references/lark-slides-whiteboard.md +330 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +187 -0
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
- package/skills/lark-slides/references/planning-layer.md +219 -0
- package/skills/lark-slides/references/slide-templates.md +201 -0
- package/skills/lark-slides/references/slides_demo.xml +226 -0
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +3049 -0
- package/skills/lark-slides/references/template-catalog.md +463 -0
- package/skills/lark-slides/references/template-index.json +1853 -0
- package/skills/lark-slides/references/troubleshooting.md +63 -0
- package/skills/lark-slides/references/validation-checklist.md +110 -0
- package/skills/lark-slides/references/visual-planning.md +254 -0
- package/skills/lark-slides/references/xml-format-guide.md +369 -0
- package/skills/lark-slides/references/xml-schema-quick-ref.md +245 -0
- package/skills/lark-slides/scripts/iconpark_tool.py +362 -0
- package/skills/lark-slides/scripts/iconpark_tool_test.py +177 -0
- package/skills/lark-slides/scripts/template_tool.py +970 -0
- package/skills/lark-slides/scripts/template_tool_test.py +177 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +367 -0
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +263 -0
- package/skills/lark-task/SKILL.md +167 -0
- package/skills/lark-task/references/lark-task-assign.md +38 -0
- package/skills/lark-task/references/lark-task-comment.md +28 -0
- package/skills/lark-task/references/lark-task-complete.md +27 -0
- package/skills/lark-task/references/lark-task-create.md +57 -0
- package/skills/lark-task/references/lark-task-followers.md +35 -0
- package/skills/lark-task/references/lark-task-get-my-tasks.md +61 -0
- package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
- package/skills/lark-task/references/lark-task-reminder.md +36 -0
- package/skills/lark-task/references/lark-task-reopen.md +27 -0
- package/skills/lark-task/references/lark-task-search.md +41 -0
- package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
- package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
- package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
- package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
- package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
- package/skills/lark-task/references/lark-task-update.md +37 -0
- package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
- package/skills/lark-vc/SKILL.md +202 -0
- package/skills/lark-vc/references/lark-vc-detail.md +44 -0
- package/skills/lark-vc/references/lark-vc-recording.md +154 -0
- package/skills/lark-vc/references/lark-vc-search.md +163 -0
- package/skills/lark-vc/references/vc-domain-boundaries.md +188 -0
- package/skills/lark-vc-agent/SKILL.md +169 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +287 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +141 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +105 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +91 -0
- package/skills/lark-whiteboard/SKILL.md +47 -0
- package/skills/lark-whiteboard/elements/connectors.md +102 -0
- package/skills/lark-whiteboard/elements/content.md +40 -0
- package/skills/lark-whiteboard/elements/image.md +80 -0
- package/skills/lark-whiteboard/elements/layout.md +374 -0
- package/skills/lark-whiteboard/elements/schema.md +357 -0
- package/skills/lark-whiteboard/elements/style.md +318 -0
- package/skills/lark-whiteboard/elements/typography.md +73 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-query.md +60 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-update.md +122 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +94 -0
- package/skills/lark-whiteboard/routes/dsl.md +107 -0
- package/skills/lark-whiteboard/routes/mermaid.md +27 -0
- package/skills/lark-whiteboard/routes/svg-edit.md +85 -0
- package/skills/lark-whiteboard/routes/svg.md +54 -0
- package/skills/lark-whiteboard/scenes/architecture.md +433 -0
- package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
- package/skills/lark-whiteboard/scenes/comparison.md +135 -0
- package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
- package/skills/lark-whiteboard/scenes/flowchart.md +185 -0
- package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
- package/skills/lark-whiteboard/scenes/funnel.md +101 -0
- package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
- package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
- package/skills/lark-whiteboard/scenes/milestone.md +139 -0
- package/skills/lark-whiteboard/scenes/organization.md +173 -0
- package/skills/lark-whiteboard/scenes/photo-showcase.md +126 -0
- package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
- package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
- package/skills/lark-whiteboard/scenes/treemap.md +216 -0
- package/skills/lark-wiki/SKILL.md +110 -0
- package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
- package/skills/lark-wiki/references/lark-wiki-member-add.md +67 -0
- package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
- package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
- package/skills/lark-wiki/references/lark-wiki-move.md +183 -0
- package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
- package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
- package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
- package/skills/lark-wiki/references/lark-wiki-node-get.md +57 -0
- package/skills/lark-wiki/references/lark-wiki-node-list.md +88 -0
- package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
- package/skills/lark-wiki/references/lark-wiki-space-list.md +68 -0
- package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
- package/skills/lark-workflow-standup-report/SKILL.md +122 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# im +chat-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 message list for a conversation. Supports both group chats and direct messages.
|
|
6
|
+
|
|
7
|
+
By default the response carries a `reactions` block (counts + details from `im.reactions.batch_query`) on every message that has reactions, and `update_time` on messages that were actually edited. Thread replies expanded via auto-`thread_replies` participate in the same batched enrichment. Pass `--no-reactions` to skip the extra round-trip. Pass `--download-resources` to additionally download message resources (image/file/audio/video/media + post-embedded, excluding stickers) into `./lark-im-resources/` and attach a `resources` block — off by default. See [message enrichment](lark-im-message-enrichment.md) for the full contract.
|
|
8
|
+
|
|
9
|
+
This skill maps to the shortcut: `lark-cli im +chat-messages-list` (internally calls `GET /open-apis/im/v1/messages`, and automatically resolves the p2p chat_id when needed).
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Get group chat messages (json output by default)
|
|
15
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx
|
|
16
|
+
|
|
17
|
+
# Get direct messages with a user (pass open_id and resolve p2p chat_id automatically)
|
|
18
|
+
lark-cli im +chat-messages-list --user-id ou_xxx
|
|
19
|
+
|
|
20
|
+
# Specify a time range (ISO 8601)
|
|
21
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx --start "2026-03-10T00:00:00+08:00" --end "2026-03-11T00:00:00+08:00"
|
|
22
|
+
|
|
23
|
+
# Specify a time range (date only)
|
|
24
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx --start 2026-03-10 --end 2026-03-11
|
|
25
|
+
|
|
26
|
+
# Control sort order and page size (max 50)
|
|
27
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx --order asc --page-size 20
|
|
28
|
+
|
|
29
|
+
# Pagination
|
|
30
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx --page-token "xxx"
|
|
31
|
+
|
|
32
|
+
# JSON output
|
|
33
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx --format json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Parameters
|
|
37
|
+
|
|
38
|
+
| Parameter | Required | Description |
|
|
39
|
+
|------|------|------|
|
|
40
|
+
| `--chat-id <id>` | One of two | Specify the conversation by its chat_id directly (e.g., group chat `oc_xxx`) |
|
|
41
|
+
| `--user-id <id>` | One of two | Specify a DM conversation by the other user's open_id (`ou_xxx`); p2p chat_id is resolved automatically. Requires user identity (`--as user`); not supported with bot identity |
|
|
42
|
+
| `--start <time>` | No | Start time (ISO 8601 or date only) |
|
|
43
|
+
| `--end <time>` | No | End time (ISO 8601 or date only) |
|
|
44
|
+
| `--order <order>` | No | Sort order: `asc` / `desc` (default `desc`) |
|
|
45
|
+
| `--page-size <n>` | No | Page size (default 50, max 50) |
|
|
46
|
+
| `--page-token <token>` | No | Pagination token |
|
|
47
|
+
| `--no-reactions` | No | Skip auto-fetching the `reactions` block |
|
|
48
|
+
| `--download-resources` | No | Download message resources (image/file/audio/video/media + post-embedded, excluding stickers) into `./lark-im-resources/` and attach a `resources` block. Off by default; no extra requests when omitted |
|
|
49
|
+
|
|
50
|
+
> Rule: `--chat-id` and `--user-id` are mutually exclusive. You must provide exactly one of them.
|
|
51
|
+
|
|
52
|
+
> **CAUTION:** `--order` is the only sort axis — messages are always ordered by creation time, `asc` or `desc`. There is no field axis: the command cannot sort by sender or any other field, so do **not** attempt `--sort sender` or similar (it is rejected). If the user asks to group or sort by sender, fetch with `--order` and aggregate client-side, and tell them this is local post-processing, not a CLI/API sort capability.
|
|
53
|
+
|
|
54
|
+
## Resource Rendering
|
|
55
|
+
|
|
56
|
+
Messages are rendered into human-readable text for inspection. Image messages are shown as placeholders such as ``; files, audio, and videos are rendered with resource keys in the content (e.g. `<audio key="file_xxx" duration="Xs"/>`). By default resource binaries are **not** downloaded.
|
|
57
|
+
|
|
58
|
+
Two ways to get the binaries:
|
|
59
|
+
- **In one pass:** add `--download-resources` to this command — every eligible resource (image/file/audio/video/media + post-embedded, excluding stickers) is downloaded into `./lark-im-resources/` and a `resources` block (`{message_id, key, type, local_path, size_bytes}`) is attached to each message. See [message enrichment](lark-im-message-enrichment.md#resource-auto-download---download-resources-opt-in).
|
|
60
|
+
- **One at a time:** use [lark-im-messages-resources-download](lark-im-messages-resources-download.md).
|
|
61
|
+
|
|
62
|
+
| Resource Type | Marker in Content | Behavior |
|
|
63
|
+
|---------|-------------|------|
|
|
64
|
+
| Image | `` | `--download-resources`, or manually `im +messages-resources-download --type image` |
|
|
65
|
+
| File | `<file key="file_xxx" .../>` | `--download-resources`, or manually `im +messages-resources-download --type file` |
|
|
66
|
+
| Audio | `<audio key="file_xxx" duration="Xs"/>` | `--download-resources`, or manually `im +messages-resources-download --type file` |
|
|
67
|
+
| Video | `<video key="file_xxx" .../>` | `--download-resources`, or manually `im +messages-resources-download --type file` |
|
|
68
|
+
| Sticker | `[Sticker]` | Not downloadable (Feishu does not support fetching sticker resources) |
|
|
69
|
+
|
|
70
|
+
## Thread Expansion (`thread_id`)
|
|
71
|
+
|
|
72
|
+
In JSON output, a message may contain a `thread_id` (`omt_xxx`) field, which means the message has replies in a thread. Use [`im +threads-messages-list`](lark-im-threads-messages-list.md) to inspect replies in that thread:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
lark-cli im +threads-messages-list --thread omt_xxx
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
| Scenario | Recommendation |
|
|
79
|
+
|------|------|
|
|
80
|
+
| You need context | Call `im +threads-messages-list --order desc --page-size 10` for the discovered thread_id to inspect recent replies |
|
|
81
|
+
| The user asks for the "full discussion" | Use `im +threads-messages-list --order asc --page-size 50`, then paginate if needed |
|
|
82
|
+
| You only need an overview | Skip thread expansion |
|
|
83
|
+
|
|
84
|
+
## Output Fields
|
|
85
|
+
|
|
86
|
+
| Field | Description |
|
|
87
|
+
|------|------|
|
|
88
|
+
| `messages` | Message array |
|
|
89
|
+
| `total` | Number of messages in the current page |
|
|
90
|
+
| `has_more` | Whether additional pages are available |
|
|
91
|
+
| `page_token` | Pagination token for the next page |
|
|
92
|
+
|
|
93
|
+
Each message contains:
|
|
94
|
+
|
|
95
|
+
| Field | Description |
|
|
96
|
+
|------|------|
|
|
97
|
+
| `message_id` | Message ID |
|
|
98
|
+
| `msg_type` | Message type: `text`, `image`, `file`, `interactive`, `post`, `audio`, `video`, `system`, etc. |
|
|
99
|
+
| `create_time` | Creation time |
|
|
100
|
+
| `sender` | Sender information (includes `name` for user senders) |
|
|
101
|
+
| `content` | Message content |
|
|
102
|
+
| `deleted` | Whether the message has been recalled (always present, `true` = recalled) |
|
|
103
|
+
| `updated` | Whether the message has been edited after sending |
|
|
104
|
+
| `mentions` | Array of @mentions in the message; each item contains `{id, key, name}`. Present only when the message contains @mentions |
|
|
105
|
+
| `thread_id` | Thread ID (`omt_xxx`) if the message has replies in a thread. Present only when replies exist |
|
|
106
|
+
|
|
107
|
+
## Pagination (`has_more` / `page_token`)
|
|
108
|
+
|
|
109
|
+
`im +chat-messages-list` returns `has_more` and `page_token` when more data is available. Use `--page-token` to continue:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
lark-cli im +chat-messages-list --chat-id oc_xxx --page-token <PAGE_TOKEN>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
You can also fall back to the generic API:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
lark-cli api GET /open-apis/im/v1/messages \
|
|
119
|
+
--params 'container_id_type=chat&container_id=oc_xxx&page_size=50&page_token=<PAGE_TOKEN>'
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Common Errors and Troubleshooting
|
|
123
|
+
|
|
124
|
+
| Symptom | Root Cause | Solution |
|
|
125
|
+
|---------|---------|---------|
|
|
126
|
+
| `specify --chat-id <chat_id> or --user-id <open_id>` | Neither `--chat-id` nor `--user-id` was provided | You must provide exactly one |
|
|
127
|
+
| `--chat-id and --user-id cannot be specified together` | Both parameters were provided | Use only one |
|
|
128
|
+
| `--user-id requires user identity (--as user); use --chat-id when calling with bot identity` | `--user-id` was used with bot identity | The p2p resolution endpoint requires user identity. Either pass `--as user` or look up the p2p `chat_id` separately and pass it via `--chat-id` |
|
|
129
|
+
| `P2P chat not found for this user` | `--user-id` was used but no p2p chat exists for the current identity and that user | Confirm the target direct-message relationship exists for the current identity |
|
|
130
|
+
| `--start: invalid time format` | Invalid time format | Use ISO 8601 or date-only format such as `2026-03-10` |
|
|
131
|
+
| Permission denied | Message read permissions are missing | Ensure the app has `im:message:readonly` and `im:chat:read` enabled |
|
|
132
|
+
|
|
133
|
+
## AI Usage Guidance
|
|
134
|
+
|
|
135
|
+
1. **Resolving chat_id from a chat name:** When the user refers to a chat by name and you don't have the `chat_id`, use [`+chat-search`](lark-im-chat-search.md) first:
|
|
136
|
+
```bash
|
|
137
|
+
# Find chat_id by name, then list messages
|
|
138
|
+
lark-cli im +chat-search --query "<chat name keyword>" --format json
|
|
139
|
+
lark-cli im +chat-messages-list --chat-id <chat_id>
|
|
140
|
+
```
|
|
141
|
+
**Do not use `im chats search` or `+chat-list` — always use the `+chat-search` shortcut.**
|
|
142
|
+
2. **Prefer `--chat-id` when available:** if the chat_id is already known, use it directly to avoid extra API calls.
|
|
143
|
+
3. **For direct messages:** use `--user-id` to resolve the p2p chat automatically instead of looking it up manually. This requires user identity (`--as user`); with bot identity, resolve the p2p `chat_id` yourself and pass it via `--chat-id`.
|
|
144
|
+
4. **For time ranges:** both ISO 8601 and date-only inputs are supported. Date-only is usually simpler.
|
|
145
|
+
5. **For full content:** table output truncates content. Use `--format json` when you need the complete message body.
|
|
146
|
+
6. **For sender info:** the command already resolves sender names, so you do not need a separate lookup.
|
|
147
|
+
7. **Application/bot identity + named group history:** If the user says "使用应用身份/以 bot 身份" and asks to list or read historical messages for a named group, use bot identity for both steps:
|
|
148
|
+
```bash
|
|
149
|
+
lark-cli im +chat-search --as bot --query "<chat name keyword>" --format json
|
|
150
|
+
lark-cli im +chat-messages-list --as bot --chat-id <chat_id> --page-size 50 --format json
|
|
151
|
+
```
|
|
152
|
+
Do not use `im +messages-search --as bot`; `+messages-search` is user-only. Continue with `--page-token` if `has_more=true`.
|
|
153
|
+
|
|
154
|
+
## References
|
|
155
|
+
|
|
156
|
+
- [lark-im](../SKILL.md) - all IM commands
|
|
157
|
+
- [lark-shared](../../lark-shared/SKILL.md) - authentication and global parameters
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# im +chat-search
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
|
|
4
|
+
|
|
5
|
+
Search the list of group chats visible to a user or bot, including chats the user or bot belongs to and public chats visible to them. Supports keyword matching on chat names and member names, including pinyin and prefix fuzzy search.
|
|
6
|
+
|
|
7
|
+
This skill maps to the shortcut: `lark-cli im +chat-search` (internally calls `POST /open-apis/im/v2/chats/search`).
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Search chats by keyword
|
|
13
|
+
lark-cli im +chat-search --query "project"
|
|
14
|
+
|
|
15
|
+
# Restrict by search types
|
|
16
|
+
lark-cli im +chat-search --query "project" --search-types "private,public_joined"
|
|
17
|
+
|
|
18
|
+
# Filter by chat mode (group = regular group, topic = topic/thread group)
|
|
19
|
+
lark-cli im +chat-search --query "project" --chat-modes "topic"
|
|
20
|
+
|
|
21
|
+
# Filter by member open_ids (with keyword)
|
|
22
|
+
lark-cli im +chat-search --query "project" --member-ids "ou_xxx,ou_yyy"
|
|
23
|
+
|
|
24
|
+
# Search by member open_ids only
|
|
25
|
+
lark-cli im +chat-search --member-ids "ou_xxx,ou_yyy"
|
|
26
|
+
|
|
27
|
+
# Only show chats you created or manage
|
|
28
|
+
lark-cli im +chat-search --query "project" --is-manager
|
|
29
|
+
|
|
30
|
+
# Set page size
|
|
31
|
+
lark-cli im +chat-search --query "project" --page-size 10
|
|
32
|
+
|
|
33
|
+
# Pagination
|
|
34
|
+
lark-cli im +chat-search --query "project" --page-token "xxx"
|
|
35
|
+
|
|
36
|
+
# JSON output
|
|
37
|
+
lark-cli im +chat-search --query "project" --format json
|
|
38
|
+
|
|
39
|
+
# Preview the request without executing it
|
|
40
|
+
lark-cli im +chat-search --query "project" --dry-run
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Parameters
|
|
44
|
+
|
|
45
|
+
| Parameter | Required | Limits | Description |
|
|
46
|
+
|------|------|------|------|
|
|
47
|
+
| `--query <keyword>` | No (at least one of `--query` / `--member-ids` required) | Max 64 characters | Search keyword. Supports matching localized chat names, member names, multilingual search, pinyin, and prefix fuzzy search. If the query contains `-`, it is automatically wrapped in quotes |
|
|
48
|
+
| `--search-types <types>` | No | Comma-separated: `private`, `external`, `public_joined`, `public_not_joined` | Restrict the visible chat types returned by search |
|
|
49
|
+
| `--chat-modes <modes>` | No | Comma-separated: `group`, `topic` | Filter by chat mode (server-side): `group` = regular group, `topic` = topic/thread group |
|
|
50
|
+
| `--member-ids <ids>` | No (at least one of `--query` / `--member-ids` required) | Up to 50, format `ou_xxx` | Filter by member open_ids; can be used alone or combined with `--query` |
|
|
51
|
+
| `--is-manager` | No | - | Only show chats you created or manage |
|
|
52
|
+
| `--disable-search-by-user` | No | - | Disable member-name-based matching and search by group name only |
|
|
53
|
+
| `--sort <field>` | No | `create_time`, `update_time`, `member_count` | Sort field (always descending) |
|
|
54
|
+
| `--page-size <n>` | No | 1-100, default 20 | Number of results per page |
|
|
55
|
+
| `--page-token <token>` | No | - | Pagination token from the previous response |
|
|
56
|
+
| `--exclude-muted` | No | User identity only | Drop chats the current user has muted (do-not-disturb). Under `--as bot`, the flag is silently inactive (mute is a per-user setting); see "Filtering muted chats" below |
|
|
57
|
+
| `--format json` | No | - | Output as JSON |
|
|
58
|
+
| `--dry-run` | No | - | Preview the request without executing it |
|
|
59
|
+
|
|
60
|
+
> **Note:** Supports both `--as user` (default) and `--as bot`. When using bot identity, the app must have bot capability enabled.
|
|
61
|
+
|
|
62
|
+
> **CAUTION:** `--sort` is **always descending** — the search API only ranks the chosen field high-to-low (e.g. `member_count` = most members first). There is no ascending option. If the user asks for "fewest first / ascending / 从少到多", tell them the search API does not support ascending order; any low-to-high view requires re-sorting the fetched page client-side and is not an upstream sort. Do **not** invent values like `member_count_asc` or pass `asc` (they are rejected).
|
|
63
|
+
|
|
64
|
+
## Output Fields
|
|
65
|
+
|
|
66
|
+
| Field | Description |
|
|
67
|
+
|------|------|
|
|
68
|
+
| `chat_id` | Chat ID (`oc_xxx` format) |
|
|
69
|
+
| `name` | Chat name |
|
|
70
|
+
| `description` | Chat description |
|
|
71
|
+
| `owner_id` | Owner ID |
|
|
72
|
+
| `external` | Whether the chat is external |
|
|
73
|
+
| `chat_status` | Chat status (`normal` / `dissolved` / `dissolved_save`) |
|
|
74
|
+
|
|
75
|
+
## Filtering muted chats
|
|
76
|
+
|
|
77
|
+
`--exclude-muted` (user identity only) drops chats the current user has set to do-not-disturb. After the search call, the CLI batches the page's chat_ids through `POST /open-apis/im/v1/chat_user_setting/batch_get_mute_status` and filters client-side. Under `--as bot`, the mute API is UAT-only and the filter is silently skipped.
|
|
78
|
+
|
|
79
|
+
When the flag is set, the JSON envelope gains a `filter` sub-object (absent otherwise, so existing consumers are unaffected); `fetched_count == returned_count + filtered_count` always holds:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"chats": [...],
|
|
84
|
+
"filter": {
|
|
85
|
+
"applied": "exclude_muted",
|
|
86
|
+
"fetched_count": 20,
|
|
87
|
+
"returned_count": 19,
|
|
88
|
+
"filtered_count": 1,
|
|
89
|
+
"hint": "Filtered out 1 muted chat(s) on this page (19 remaining, including 2 non-member public group(s)); use --page-token to fetch more."
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Note: only confirmed-muted chats count toward `filtered_count`; non-member public groups are retained and surfaced in `hint`. For strict member-only results, combine with `--search-types "private,public_joined,external"`.
|
|
95
|
+
|
|
96
|
+
## Usage Scenarios
|
|
97
|
+
|
|
98
|
+
### Scenario 1: Search chats that contain a keyword
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
lark-cli im +chat-search --query "design review"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Scenario 2: Search a chat and list recent messages
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
CHAT_ID=$(lark-cli im +chat-search --query "project" --format json | jq -r '.data.chats[0].chat_id')
|
|
108
|
+
lark-cli im +chat-messages-list --chat-id "$CHAT_ID"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Scenario 3: Search a chat and send a message
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
CHAT_ID=$(lark-cli im +chat-search --query "daily report" --format json | jq -r '.data.chats[0].chat_id')
|
|
115
|
+
lark-cli im +messages-send --chat-id "$CHAT_ID" --text "Today's progress update"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Common Errors and Troubleshooting
|
|
119
|
+
|
|
120
|
+
| Symptom | Root Cause | Solution |
|
|
121
|
+
|---------|---------|---------|
|
|
122
|
+
| `--query and --member-ids cannot both be empty` | Both were omitted | Provide at least `--query` or `--member-ids` |
|
|
123
|
+
| Empty results | No visible chats matched the keyword or filters | Relax the keyword or filters and try again |
|
|
124
|
+
| `--page-size must be an integer between 1 and 100` | page-size is out of range or not an integer | Use an integer between 1 and 100 |
|
|
125
|
+
| Permission denied (99991672) | The bot app does not have `im:chat:read` TAT permission enabled | Enable the permission for the app in the Open Platform console |
|
|
126
|
+
| Permission denied (99991679) with `--as user` | UAT is not authorized for `im:chat:read` | Run `lark-cli auth login --scope "im:chat:read"` |
|
|
127
|
+
| `Bot ability is not activated` (232025) | The app does not have bot capability enabled | Enable bot capability in the Open Platform console |
|
|
128
|
+
|
|
129
|
+
## AI Usage Guidance
|
|
130
|
+
|
|
131
|
+
When the user asks to search chats, follow these rules:
|
|
132
|
+
|
|
133
|
+
1. **At least one filter required:** `--query` and `--member-ids` cannot both be empty. Either alone or combined together are valid.
|
|
134
|
+
2. **Search scope is limited:** only chats visible to the current user or bot can be found (joined chats plus public chats). This is not a global search over all chats.
|
|
135
|
+
3. **Control result volume:** the result set may be large. Use `--page-size` deliberately.
|
|
136
|
+
4. **Suggest follow-up actions:** after finding a chat, common next steps include listing recent messages (`im +chat-messages-list`) or sending a message (`im +messages-send`).
|
|
137
|
+
5. **NEVER fall back to chats list:** If `+chat-search` returns empty results, do NOT attempt to use `+chat-list` or `GET /open-apis/im/v1/chats` as a fallback. The list API is not a search API — it returns all chats without keyword filtering and will not help locate the target chat. Instead, ask the user to refine the keyword or check whether the chat is visible to the current identity.
|
|
138
|
+
|
|
139
|
+
## References
|
|
140
|
+
|
|
141
|
+
- [lark-im](../SKILL.md) - all IM commands
|
|
142
|
+
- [lark-shared](../../lark-shared/SKILL.md) - authentication and global parameters
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# im +chat-update
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
|
|
4
|
+
|
|
5
|
+
Update a group's name or description. Supports both **TAT (bot)** and **UAT (user)** identity.
|
|
6
|
+
|
|
7
|
+
This skill maps to the shortcut: `lark-cli im +chat-update` (internally calls `PUT /open-apis/im/v1/chats/:chat_id`).
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Update the group name
|
|
13
|
+
lark-cli im +chat-update --chat-id oc_xxx --name "New Group Name"
|
|
14
|
+
|
|
15
|
+
# Update the group description
|
|
16
|
+
lark-cli im +chat-update --chat-id oc_xxx --description "Updated group description"
|
|
17
|
+
|
|
18
|
+
# Update multiple fields at once
|
|
19
|
+
lark-cli im +chat-update --chat-id oc_xxx \
|
|
20
|
+
--name "Q2 Project Team" \
|
|
21
|
+
--description "Owns Q2 goal tracking"
|
|
22
|
+
|
|
23
|
+
# Preview the request without executing it
|
|
24
|
+
lark-cli im +chat-update --chat-id oc_xxx --name "Test" --dry-run
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Parameters
|
|
28
|
+
|
|
29
|
+
### Required
|
|
30
|
+
|
|
31
|
+
| Parameter | Description |
|
|
32
|
+
|------|------|
|
|
33
|
+
| `--chat-id <oc_xxx>` | Group ID |
|
|
34
|
+
|
|
35
|
+
### Optional Fields
|
|
36
|
+
|
|
37
|
+
| Parameter | Limits | Description |
|
|
38
|
+
|------|------|------|
|
|
39
|
+
| `--name <name>` | Max 60 characters | Group name |
|
|
40
|
+
| `--description <text>` | Max 100 characters | Group description |
|
|
41
|
+
|
|
42
|
+
### Global Parameters
|
|
43
|
+
|
|
44
|
+
| Parameter | Description |
|
|
45
|
+
|------|------|
|
|
46
|
+
| `--format json` | Output as JSON (default) |
|
|
47
|
+
| `--dry-run` | Preview the request without executing it |
|
|
48
|
+
|
|
49
|
+
## Usage Scenarios
|
|
50
|
+
|
|
51
|
+
### Scenario 1: Rename a group and update its description
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
lark-cli im +chat-update --chat-id oc_xxx \
|
|
55
|
+
--name "Q2 Project Team" \
|
|
56
|
+
--description "Owns Q2 goal tracking"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Common Errors and Troubleshooting
|
|
60
|
+
|
|
61
|
+
| Symptom | Root Cause | Solution |
|
|
62
|
+
|---------|---------|---------|
|
|
63
|
+
| `invalid --chat-id: expected chat ID (oc_xxx)` | Invalid chat_id format | Use a valid `oc_xxx` chat ID |
|
|
64
|
+
| `--name exceeds the maximum of 60 characters` | Group name too long | Shorten the name to 60 characters or fewer |
|
|
65
|
+
| `--description exceeds the maximum of 100 characters` | Group description too long | Shorten the description to 100 characters or fewer |
|
|
66
|
+
| `at least one field must be specified to update` | No update field was provided | Specify at least one field to update |
|
|
67
|
+
| Permission denied (99991679) | Missing `im:chat:update` permission | Run `lark-cli auth login --scope "im:chat:update"` |
|
|
68
|
+
| Non-owner/admin cannot update (232016/232002/232017) | Current identity is not the owner/admin | Try switching identity with `--as bot` or `--as user` |
|
|
69
|
+
| Not in the group (232011) | The current user is not a member of the group | Use a member identity (`--as bot`) or join the group first |
|
|
70
|
+
|
|
71
|
+
## AI Usage Guidance
|
|
72
|
+
|
|
73
|
+
### Identity Selection
|
|
74
|
+
|
|
75
|
+
`+chat-update` supports both user and bot identity (`--as user` / `--as bot`).
|
|
76
|
+
|
|
77
|
+
Infer the group owner from context whenever possible (for example, if a bot just created the group, the owner is the bot) and use the matching identity directly. If ownership is unclear, query the group first and confirm `owner_id`.
|
|
78
|
+
|
|
79
|
+
Identity choice should follow [Group Chat Identity Rules](lark-im-chat-identity.md): if the user explicitly specifies an identity, use it directly; otherwise infer the owner identity from context.
|
|
80
|
+
|
|
81
|
+
## References
|
|
82
|
+
|
|
83
|
+
- [lark-im](../SKILL.md) - all IM commands
|
|
84
|
+
- [lark-shared](../../lark-shared/SKILL.md) - authentication and global parameters
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# +feed-group-list-item
|
|
2
|
+
|
|
3
|
+
> Shortcut for `lark-cli im +feed-group-list-item`. List the feed cards inside one feed group (tag), enriched with a readable `chat_name`.
|
|
4
|
+
|
|
5
|
+
`+feed-group-list-item` is the only CLI surface for the `feed.groups.list_item` read API — there is no raw `feed.groups list_item` command. It resolves a human-readable `chat_name` for every feed card it returns: a v1 feed card's `feed_id` is always a chat ID (`oc_xxx`), so the shortcut issues a follow-up `POST /open-apis/im/v1/chats/batch_query` and injects `chat_name` into each entry of both `items[]` and `deleted_items[]`.
|
|
6
|
+
|
|
7
|
+
## Identity
|
|
8
|
+
|
|
9
|
+
User-only. Run with `--as user`.
|
|
10
|
+
|
|
11
|
+
## Scopes
|
|
12
|
+
|
|
13
|
+
Because chat-name resolution always runs, this shortcut needs **two** user scopes unconditionally:
|
|
14
|
+
|
|
15
|
+
- `im:feed_group_v1:read` — to read the items
|
|
16
|
+
- `im:chat:read` — to resolve names
|
|
17
|
+
|
|
18
|
+
`chat_name` resolution always runs, so there is no single-scope, un-enriched path. For the other raw `feed.groups.*` methods, see [lark-im-feed-groups.md](lark-im-feed-groups.md).
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# First page, enriched with chat names
|
|
24
|
+
lark-cli im +feed-group-list-item --as user --feed-group-id ofg_xxx
|
|
25
|
+
|
|
26
|
+
# Auto-paginate through everything within a time window
|
|
27
|
+
lark-cli im +feed-group-list-item --as user --feed-group-id ofg_xxx \
|
|
28
|
+
--page-all --start-time 1767196800000 --end-time 1767200000000
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Flags
|
|
32
|
+
|
|
33
|
+
| Flag | Required | Description |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `--feed-group-id` | Yes | Feed group ID (`ofg_xxx`); path parameter |
|
|
36
|
+
| `--page-size` | No | Records per page, 1–50 (default 50) |
|
|
37
|
+
| `--page-token` | No | Continuation token for a specific page |
|
|
38
|
+
| `--page-all` | No | Auto-paginate and merge all pages |
|
|
39
|
+
| `--page-limit` | No | Max pages when `--page-all` is set, 1–1000 (default 20) |
|
|
40
|
+
| `--start-time` | No | Update-time window start (Unix milliseconds as a decimal string) |
|
|
41
|
+
| `--end-time` | No | Update-time window end (Unix milliseconds as a decimal string) |
|
|
42
|
+
|
|
43
|
+
When `--page-token` is set explicitly, it wins over `--page-all` (you get exactly that page).
|
|
44
|
+
|
|
45
|
+
## Output
|
|
46
|
+
|
|
47
|
+
JSON keeps the raw envelope and adds `chat_name` to each resolvable item:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"items": [
|
|
52
|
+
{ "feed_id": "oc_abc", "feed_type": "chat", "update_time": "1767196800000", "chat_name": "Release Team" }
|
|
53
|
+
],
|
|
54
|
+
"deleted_items": [
|
|
55
|
+
{ "feed_id": "oc_def", "feed_type": "chat", "update_time": "1767196800000", "chat_name": "Old Channel" }
|
|
56
|
+
],
|
|
57
|
+
"page_token": "",
|
|
58
|
+
"has_more": false
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
A feed card whose chat cannot be resolved (soft-deleted or no permission) simply omits `chat_name` — the command still exits 0. p2p (direct) chats also omit `chat_name`: the server returns an empty `name` for them (the client UI shows the partner's display name instead); if a label is needed, fetch the chat via `chats/batch_query`, read `p2p_target_id`, and resolve it with a contact lookup.
|
|
63
|
+
|
|
64
|
+
## See also
|
|
65
|
+
|
|
66
|
+
- [lark-im-feed-groups.md](lark-im-feed-groups.md) — raw `feed.groups.*` APIs, enums, and rule guidance
|
|
67
|
+
- [lark-im-feed-group-list.md](lark-im-feed-group-list.md) — list your feed groups
|
|
68
|
+
- [lark-im-feed-group-query-item.md](lark-im-feed-group-query-item.md) — look up specific feed cards by ID
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# +feed-group-list
|
|
2
|
+
|
|
3
|
+
> Shortcut for `lark-cli im +feed-group-list`. List the caller's feed groups (tags) with auto-pagination that correctly merges both the live and soft-deleted lists.
|
|
4
|
+
|
|
5
|
+
`+feed-group-list` is the only CLI surface for listing feed groups — there is no raw `feed.groups list` command. The list response carries two parallel arrays — `groups` (live) and `deleted_groups` (soft-deleted). The shortcut paginates this dual-list response correctly: its `--page-all` merges **both** arrays across pages (a naive single-array pager would silently drop one list's later pages). It adds no enrichment.
|
|
6
|
+
|
|
7
|
+
## Identity
|
|
8
|
+
|
|
9
|
+
User-only. Run with `--as user`.
|
|
10
|
+
|
|
11
|
+
## Scopes
|
|
12
|
+
|
|
13
|
+
- `im:feed_group_v1:read`
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# First page
|
|
19
|
+
lark-cli im +feed-group-list --as user
|
|
20
|
+
|
|
21
|
+
# Auto-paginate through all your feed groups (both live and deleted)
|
|
22
|
+
lark-cli im +feed-group-list --as user --page-all
|
|
23
|
+
|
|
24
|
+
# Within an update-time window
|
|
25
|
+
lark-cli im +feed-group-list --as user --page-all \
|
|
26
|
+
--start-time 1767196800000 --end-time 1767200000000
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Flags
|
|
30
|
+
|
|
31
|
+
| Flag | Required | Description |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| `--page-size` | No | Records per page, 1–50 (default 50). Caps the combined `groups` + `deleted_groups` count, so a page may hold fewer live groups than the size suggests |
|
|
34
|
+
| `--page-token` | No | Continuation token for a specific page |
|
|
35
|
+
| `--page-all` | No | Auto-paginate and merge all pages (both lists) |
|
|
36
|
+
| `--page-limit` | No | Max pages when `--page-all` is set, 1–1000 (default 20) |
|
|
37
|
+
| `--start-time` | No | Update-time window start (Unix milliseconds as a decimal string) |
|
|
38
|
+
| `--end-time` | No | Update-time window end (Unix milliseconds as a decimal string) |
|
|
39
|
+
|
|
40
|
+
When `--page-token` is set explicitly, it wins over `--page-all` (you get exactly that page).
|
|
41
|
+
|
|
42
|
+
## Output
|
|
43
|
+
|
|
44
|
+
JSON keeps the raw envelope; with `--page-all` both lists are returned fully merged:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"groups": [
|
|
49
|
+
{ "group_id": "ofg_xxx", "type": "normal", "name": "Releases", "rules": { "rules": [] } }
|
|
50
|
+
],
|
|
51
|
+
"deleted_groups": [
|
|
52
|
+
{ "group_id": "ofg_yyy", "type": "rule", "name": "Old", "rules": { "rules": [] } }
|
|
53
|
+
],
|
|
54
|
+
"page_token": "",
|
|
55
|
+
"has_more": false
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
> `page_size` counts live and deleted groups together, and the per-page count can be smaller still when entries are filtered — so never infer completeness from counts. Pagination is governed solely by `has_more`.
|
|
60
|
+
|
|
61
|
+
## See also
|
|
62
|
+
|
|
63
|
+
- [lark-im-feed-groups.md](lark-im-feed-groups.md) — raw `feed.groups.*` APIs, enums, and rule guidance
|
|
64
|
+
- [lark-im-feed-group-list-item.md](lark-im-feed-group-list-item.md) — list the feed cards inside one group
|
|
65
|
+
- [lark-im-feed-group-query-item.md](lark-im-feed-group-query-item.md) — look up specific feed cards by ID
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# +feed-group-query-item
|
|
2
|
+
|
|
3
|
+
> Shortcut for `lark-cli im +feed-group-query-item`. Look up specific feed cards inside one feed group (tag) by ID, enriched with a readable `chat_name`.
|
|
4
|
+
|
|
5
|
+
`+feed-group-query-item` is the only CLI surface for the `feed.groups.batch_query_item` read API — there is no raw `feed.groups batch_query_item` command. It resolves a human-readable `chat_name` for every feed card it returns: a v1 feed card's `feed_id` is always a chat ID (`oc_xxx`), so the shortcut issues a follow-up `POST /open-apis/im/v1/chats/batch_query` and injects `chat_name` into each entry of both `items[]` and `deleted_items[]`.
|
|
6
|
+
|
|
7
|
+
## Identity
|
|
8
|
+
|
|
9
|
+
User-only. Run with `--as user`.
|
|
10
|
+
|
|
11
|
+
## Scopes
|
|
12
|
+
|
|
13
|
+
Because chat-name resolution always runs, this shortcut needs **two** user scopes unconditionally:
|
|
14
|
+
|
|
15
|
+
- `im:feed_group_v1:read` — to read the items
|
|
16
|
+
- `im:chat:read` — to resolve names
|
|
17
|
+
|
|
18
|
+
`chat_name` resolution always runs, so there is no single-scope, un-enriched path. For the other raw `feed.groups.*` methods, see [lark-im-feed-groups.md](lark-im-feed-groups.md).
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
lark-cli im +feed-group-query-item --as user \
|
|
24
|
+
--feed-group-id ofg_xxx --feed-id oc_a,oc_b
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Flags
|
|
28
|
+
|
|
29
|
+
| Flag | Required | Description |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| `--feed-group-id` | Yes | Feed group ID (`ofg_xxx`); path parameter |
|
|
32
|
+
| `--feed-id` | Yes | Comma-separated chat IDs (`oc_xxx`); `feed_type` is fixed to `chat` |
|
|
33
|
+
|
|
34
|
+
## Output
|
|
35
|
+
|
|
36
|
+
The command sends `{"items":[{"feed_id":"oc_a","feed_type":"chat"},{"feed_id":"oc_b","feed_type":"chat"}]}`, then enriches the response (`items[]` and `deleted_items[]`) with `chat_name` exactly as `+feed-group-list-item` does. There is no pagination for this method.
|
|
37
|
+
|
|
38
|
+
A feed card whose chat cannot be resolved (soft-deleted or no permission) simply omits `chat_name` — the command still exits 0. p2p (direct) chats also omit `chat_name`: the server returns an empty `name` for them (the client UI shows the partner's display name instead); if a label is needed, fetch the chat via `chats/batch_query`, read `p2p_target_id`, and resolve it with a contact lookup.
|
|
39
|
+
|
|
40
|
+
## See also
|
|
41
|
+
|
|
42
|
+
- [lark-im-feed-groups.md](lark-im-feed-groups.md) — raw `feed.groups.*` APIs, enums, and rule guidance
|
|
43
|
+
- [lark-im-feed-group-list.md](lark-im-feed-group-list.md) — list your feed groups
|
|
44
|
+
- [lark-im-feed-group-list-item.md](lark-im-feed-group-list-item.md) — list all feed cards in a group (paginated)
|