pi-feishu-cli 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/LICENSE +21 -0
- package/README.md +111 -0
- package/dist/src/bot.d.ts +29 -0
- package/dist/src/bot.js +75 -0
- package/dist/src/cards.d.ts +6 -0
- package/dist/src/cards.js +87 -0
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.js +28 -0
- package/dist/src/daemon.d.ts +2 -0
- package/dist/src/daemon.js +151 -0
- package/dist/src/extension.d.ts +2 -0
- package/dist/src/extension.js +124 -0
- package/dist/src/poller.d.ts +33 -0
- package/dist/src/poller.js +94 -0
- package/dist/src/renderer.d.ts +8 -0
- package/dist/src/renderer.js +31 -0
- package/dist/src/session-registry.d.ts +15 -0
- package/dist/src/session-registry.js +82 -0
- package/dist/src/types.d.ts +25 -0
- package/dist/src/types.js +1 -0
- package/dist/tests/bot.test.d.ts +1 -0
- package/dist/tests/bot.test.js +89 -0
- package/dist/tests/cards.test.d.ts +1 -0
- package/dist/tests/cards.test.js +39 -0
- package/dist/tests/config.test.d.ts +1 -0
- package/dist/tests/config.test.js +59 -0
- package/dist/tests/renderer.test.d.ts +1 -0
- package/dist/tests/renderer.test.js +61 -0
- package/dist/tests/session-registry.test.d.ts +1 -0
- package/dist/tests/session-registry.test.js +92 -0
- package/dist/tests/types.test.d.ts +1 -0
- package/dist/tests/types.test.js +30 -0
- package/package.json +35 -0
- package/skills/lark-approval/SKILL.md +56 -0
- package/skills/lark-apps/SKILL.md +92 -0
- package/skills/lark-apps/references/lark-apps-access-scope-get.md +104 -0
- package/skills/lark-apps/references/lark-apps-access-scope-set.md +126 -0
- package/skills/lark-apps/references/lark-apps-create.md +112 -0
- package/skills/lark-apps/references/lark-apps-html-publish.md +151 -0
- package/skills/lark-apps/references/lark-apps-list.md +95 -0
- package/skills/lark-apps/references/lark-apps-update.md +86 -0
- package/skills/lark-attendance/SKILL.md +57 -0
- package/skills/lark-base/SKILL.md +359 -0
- package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
- package/skills/lark-base/references/examples.md +140 -0
- package/skills/lark-base/references/formula-field-guide.md +737 -0
- package/skills/lark-base/references/lark-base-advperm-disable.md +83 -0
- package/skills/lark-base/references/lark-base-advperm-enable.md +80 -0
- package/skills/lark-base/references/lark-base-base-copy.md +74 -0
- package/skills/lark-base/references/lark-base-base-create.md +68 -0
- package/skills/lark-base/references/lark-base-base-get.md +39 -0
- package/skills/lark-base/references/lark-base-cell-value.md +151 -0
- package/skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
- package/skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
- package/skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
- package/skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
- package/skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
- package/skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
- package/skills/lark-base/references/lark-base-dashboard-create.md +73 -0
- package/skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
- package/skills/lark-base/references/lark-base-dashboard-get.md +59 -0
- package/skills/lark-base/references/lark-base-dashboard-list.md +52 -0
- package/skills/lark-base/references/lark-base-dashboard-update.md +69 -0
- package/skills/lark-base/references/lark-base-dashboard.md +240 -0
- package/skills/lark-base/references/lark-base-data-analysis-sop.md +88 -0
- package/skills/lark-base/references/lark-base-data-query.md +375 -0
- package/skills/lark-base/references/lark-base-field-create.md +104 -0
- package/skills/lark-base/references/lark-base-field-delete.md +51 -0
- package/skills/lark-base/references/lark-base-field-get.md +42 -0
- package/skills/lark-base/references/lark-base-field-list.md +44 -0
- package/skills/lark-base/references/lark-base-field-search-options.md +48 -0
- package/skills/lark-base/references/lark-base-field-update.md +97 -0
- package/skills/lark-base/references/lark-base-field.md +22 -0
- package/skills/lark-base/references/lark-base-form-create.md +87 -0
- package/skills/lark-base/references/lark-base-form-delete.md +64 -0
- package/skills/lark-base/references/lark-base-form-detail.md +198 -0
- package/skills/lark-base/references/lark-base-form-get.md +68 -0
- package/skills/lark-base/references/lark-base-form-list.md +73 -0
- package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
- package/skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
- package/skills/lark-base/references/lark-base-form-questions-list.md +84 -0
- package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
- package/skills/lark-base/references/lark-base-form-questions.md +23 -0
- package/skills/lark-base/references/lark-base-form-submit.md +171 -0
- package/skills/lark-base/references/lark-base-form-update.md +82 -0
- package/skills/lark-base/references/lark-base-form.md +25 -0
- package/skills/lark-base/references/lark-base-history.md +16 -0
- package/skills/lark-base/references/lark-base-record-batch-create.md +58 -0
- package/skills/lark-base/references/lark-base-record-batch-update.md +53 -0
- package/skills/lark-base/references/lark-base-record-delete.md +62 -0
- package/skills/lark-base/references/lark-base-record-history-list.md +86 -0
- package/skills/lark-base/references/lark-base-record-share-link-create.md +72 -0
- package/skills/lark-base/references/lark-base-record-upsert.md +64 -0
- package/skills/lark-base/references/lark-base-record.md +31 -0
- package/skills/lark-base/references/lark-base-role-create.md +89 -0
- package/skills/lark-base/references/lark-base-role-delete.md +83 -0
- package/skills/lark-base/references/lark-base-role-get.md +87 -0
- package/skills/lark-base/references/lark-base-role-list.md +81 -0
- package/skills/lark-base/references/lark-base-role-update.md +94 -0
- package/skills/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
- package/skills/lark-base/references/lark-base-table-create.md +62 -0
- package/skills/lark-base/references/lark-base-table-delete.md +51 -0
- package/skills/lark-base/references/lark-base-table-get.md +46 -0
- package/skills/lark-base/references/lark-base-table-list.md +43 -0
- package/skills/lark-base/references/lark-base-table-update.md +49 -0
- package/skills/lark-base/references/lark-base-table.md +20 -0
- package/skills/lark-base/references/lark-base-view-create.md +50 -0
- package/skills/lark-base/references/lark-base-view-delete.md +48 -0
- package/skills/lark-base/references/lark-base-view-get-card.md +38 -0
- package/skills/lark-base/references/lark-base-view-get-filter.md +38 -0
- package/skills/lark-base/references/lark-base-view-get-group.md +38 -0
- package/skills/lark-base/references/lark-base-view-get-sort.md +38 -0
- package/skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
- package/skills/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
- package/skills/lark-base/references/lark-base-view-get.md +38 -0
- package/skills/lark-base/references/lark-base-view-list.md +44 -0
- package/skills/lark-base/references/lark-base-view-rename.md +44 -0
- package/skills/lark-base/references/lark-base-view-set-card.md +55 -0
- package/skills/lark-base/references/lark-base-view-set-filter.md +181 -0
- package/skills/lark-base/references/lark-base-view-set-group.md +65 -0
- package/skills/lark-base/references/lark-base-view-set-sort.md +63 -0
- package/skills/lark-base/references/lark-base-view-set-timebar.md +51 -0
- package/skills/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
- package/skills/lark-base/references/lark-base-view.md +44 -0
- package/skills/lark-base/references/lark-base-workflow-create.md +180 -0
- package/skills/lark-base/references/lark-base-workflow-disable.md +94 -0
- package/skills/lark-base/references/lark-base-workflow-enable.md +94 -0
- package/skills/lark-base/references/lark-base-workflow-get.md +147 -0
- package/skills/lark-base/references/lark-base-workflow-guide.md +718 -0
- package/skills/lark-base/references/lark-base-workflow-list.md +124 -0
- package/skills/lark-base/references/lark-base-workflow-schema.md +935 -0
- package/skills/lark-base/references/lark-base-workflow-update.md +167 -0
- package/skills/lark-base/references/lark-base-workflow.md +23 -0
- package/skills/lark-base/references/lark-base-workspace.md +18 -0
- package/skills/lark-base/references/lookup-field-guide.md +512 -0
- package/skills/lark-base/references/role-config.md +539 -0
- package/skills/lark-calendar/SKILL.md +154 -0
- package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
- package/skills/lark-calendar/references/lark-calendar-create.md +109 -0
- package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -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-suggestion.md +125 -0
- package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
- package/skills/lark-contact/SKILL.md +45 -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 +65 -0
- package/skills/lark-doc/references/lark-doc-create.md +89 -0
- package/skills/lark-doc/references/lark-doc-fetch.md +141 -0
- package/skills/lark-doc/references/lark-doc-md.md +71 -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-update.md +252 -0
- package/skills/lark-doc/references/lark-doc-whiteboard.md +100 -0
- package/skills/lark-doc/references/lark-doc-xml.md +169 -0
- package/skills/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
- package/skills/lark-doc/references/style/lark-doc-style.md +106 -0
- package/skills/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
- package/skills/lark-drive/SKILL.md +369 -0
- package/skills/lark-drive/references/lark-drive-add-comment.md +182 -0
- package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -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 +119 -0
- package/skills/lark-drive/references/lark-drive-import.md +159 -0
- package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
- package/skills/lark-drive/references/lark-drive-move.md +120 -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 +266 -0
- package/skills/lark-drive/references/lark-drive-status.md +198 -0
- package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
- package/skills/lark-drive/references/lark-drive-upload.md +67 -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 +198 -0
- package/skills/lark-event/SKILL.md +145 -0
- package/skills/lark-event/references/lark-event-im.md +86 -0
- package/skills/lark-im/SKILL.md +162 -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 +198 -0
- package/skills/lark-im/references/lark-im-chat-messages-list.md +148 -0
- package/skills/lark-im/references/lark-im-chat-search.md +136 -0
- package/skills/lark-im/references/lark-im-chat-update.md +84 -0
- package/skills/lark-im/references/lark-im-flag-cancel.md +198 -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-messages-mget.md +95 -0
- package/skills/lark-im/references/lark-im-messages-reply.md +228 -0
- package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
- package/skills/lark-im/references/lark-im-messages-search.md +232 -0
- package/skills/lark-im/references/lark-im-messages-send.md +229 -0
- package/skills/lark-im/references/lark-im-reactions.md +297 -0
- package/skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
- package/skills/lark-mail/SKILL.md +648 -0
- package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
- package/skills/lark-mail/references/lark-mail-draft-create.md +123 -0
- package/skills/lark-mail/references/lark-mail-draft-edit.md +400 -0
- package/skills/lark-mail/references/lark-mail-forward.md +173 -0
- package/skills/lark-mail/references/lark-mail-message.md +230 -0
- package/skills/lark-mail/references/lark-mail-messages.md +108 -0
- package/skills/lark-mail/references/lark-mail-reply-all.md +206 -0
- package/skills/lark-mail/references/lark-mail-reply.md +242 -0
- package/skills/lark-mail/references/lark-mail-send-receipt.md +198 -0
- package/skills/lark-mail/references/lark-mail-send.md +216 -0
- package/skills/lark-mail/references/lark-mail-share-to-chat.md +198 -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 +198 -0
- package/skills/lark-mail/references/lark-mail-thread.md +111 -0
- package/skills/lark-mail/references/lark-mail-triage.md +122 -0
- package/skills/lark-mail/references/lark-mail-watch.md +94 -0
- package/skills/lark-minutes/SKILL.md +139 -0
- package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
- package/skills/lark-minutes/references/lark-minutes-search.md +206 -0
- package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
- package/skills/lark-okr/SKILL.md +133 -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-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-openapi-explorer/SKILL.md +153 -0
- package/skills/lark-shared/SKILL.md +144 -0
- package/skills/lark-sheets/SKILL.md +343 -0
- package/skills/lark-sheets/references/lark-sheets-cell-data.md +197 -0
- package/skills/lark-sheets/references/lark-sheets-cell-images.md +59 -0
- package/skills/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
- package/skills/lark-sheets/references/lark-sheets-dropdown.md +133 -0
- package/skills/lark-sheets/references/lark-sheets-filter-views.md +193 -0
- package/skills/lark-sheets/references/lark-sheets-float-images.md +125 -0
- package/skills/lark-sheets/references/lark-sheets-formula.md +88 -0
- package/skills/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
- package/skills/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
- package/skills/lark-sheets/references/lark-sheets-spreadsheet-management.md +140 -0
- package/skills/lark-skill-maker/SKILL.md +85 -0
- package/skills/lark-slides/SKILL.md +296 -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 +198 -0
- package/skills/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
- package/skills/lark-slides/assets/templates/marketing--product_whitepaper.xml +198 -0
- package/skills/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
- package/skills/lark-slides/assets/templates/misc--book_sharing.xml +198 -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 +198 -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/lark-slides-create.md +137 -0
- package/skills/lark-slides/references/lark-slides-edit-workflows.md +142 -0
- package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
- package/skills/lark-slides/references/lark-slides-replace-slide.md +239 -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 +186 -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 +3004 -0
- package/skills/lark-slides/references/template-catalog.md +463 -0
- package/skills/lark-slides/references/template-index.json +198 -0
- package/skills/lark-slides/references/troubleshooting.md +198 -0
- package/skills/lark-slides/references/validation-checklist.md +102 -0
- package/skills/lark-slides/references/visual-planning.md +250 -0
- package/skills/lark-slides/references/xml-format-guide.md +369 -0
- package/skills/lark-slides/references/xml-schema-quick-ref.md +215 -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 +165 -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 +55 -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-subscribe-event.md +86 -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 +168 -0
- package/skills/lark-vc/references/lark-vc-notes.md +126 -0
- package/skills/lark-vc/references/lark-vc-recording.md +153 -0
- package/skills/lark-vc/references/lark-vc-search.md +193 -0
- package/skills/lark-vc-agent/SKILL.md +121 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
- package/skills/lark-whiteboard/SKILL.md +144 -0
- package/skills/lark-whiteboard/references/connectors.md +102 -0
- package/skills/lark-whiteboard/references/content.md +40 -0
- package/skills/lark-whiteboard/references/image.md +80 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
- package/skills/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
- package/skills/lark-whiteboard/references/layout.md +374 -0
- package/skills/lark-whiteboard/references/schema.md +357 -0
- package/skills/lark-whiteboard/references/style.md +318 -0
- package/skills/lark-whiteboard/references/typography.md +73 -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.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 +198 -0
- package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
- package/skills/lark-whiteboard/scenes/funnel.md +198 -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 +198 -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 +198 -0
- package/skills/lark-wiki/SKILL.md +119 -0
- package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
- package/skills/lark-wiki/references/lark-wiki-member-add.md +66 -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 +56 -0
- package/skills/lark-wiki/references/lark-wiki-node-list.md +198 -0
- package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
- package/skills/lark-wiki/references/lark-wiki-space-list.md +198 -0
- package/skills/lark-workflow-meeting-summary/SKILL.md +104 -0
- package/skills/lark-workflow-standup-report/SKILL.md +120 -0
- package/skills/mmx-cli/SKILL.md +440 -0
- package/src/bot.ts +109 -0
- package/src/cards.ts +105 -0
- package/src/config.ts +33 -0
- package/src/daemon.ts +217 -0
- package/src/extension.ts +132 -0
- package/src/poller.ts +135 -0
- package/src/renderer.ts +47 -0
- package/src/session-registry.ts +90 -0
- package/src/types.ts +29 -0
- package/tests/bot.test.ts +104 -0
- package/tests/cards.test.ts +48 -0
- package/tests/config.test.ts +59 -0
- package/tests/renderer.test.ts +74 -0
- package/tests/session-registry.test.ts +94 -0
- package/tests/types.test.ts +35 -0
- package/tsconfig.json +16 -0
- package/vitest.config.ts +7 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# wiki +move
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
|
+
|
|
5
|
+
在飞书知识库中移动已有 Wiki 节点,或将 Drive 文档迁入 Wiki。这个 shortcut 统一封装了两类流程:
|
|
6
|
+
|
|
7
|
+
- `node` 模式:移动已有 Wiki 节点,可同空间移动,也可跨空间移动
|
|
8
|
+
- `docs_to_wiki` 模式:把 Drive 文档迁入目标知识空间;必要时可提交移动申请,并在异步任务场景下自动有限轮询
|
|
9
|
+
|
|
10
|
+
当 `docs_to_wiki` 返回 `task_id` 时,shortcut 会先轮询一小段时间;如果轮询窗口内仍未完成,会返回 `next_command`,让调用方继续执行 `lark-cli drive +task_result --scenario wiki_move --task-id <TASK_ID>`。
|
|
11
|
+
|
|
12
|
+
## 与 `drive +move` 的区别
|
|
13
|
+
|
|
14
|
+
- `wiki +move` 的目标是 **知识空间或 Wiki 父节点**,使用 `--target-space-id` / `--target-parent-token`
|
|
15
|
+
- `drive +move` 的目标是 **Drive 文件夹**,使用 `--folder-token`
|
|
16
|
+
- 如果源对象已经是 Wiki 节点,必须使用 `wiki +move`,而不是 `drive +move`
|
|
17
|
+
- 如果源对象还是 Drive 文档,但用户要“迁入知识库”“挂到某个 Wiki 页面下”,也应使用 `wiki +move`
|
|
18
|
+
- 如果用户只是想整理云空间文件夹,把文件/文件夹挪到另一个 Drive 文件夹,应使用 `drive +move`
|
|
19
|
+
|
|
20
|
+
## 口语目标识别
|
|
21
|
+
|
|
22
|
+
- 当用户说“移动到某个知识库”“挂到某个页面下”“迁入 Wiki”时,按 **Wiki 目标** 处理,优先使用 `wiki +move`
|
|
23
|
+
- 当用户说“移动到某个文件夹”“移动到云空间根目录”时,按 **Drive 文件夹目标** 处理,优先使用 `drive +move`
|
|
24
|
+
- 当用户说“移动到我的文档库”“移动到我的知识库”“放到个人知识库”时,应先按 **Wiki 个人知识库目标** 理解,而不是直接退化成 `drive +move`
|
|
25
|
+
- 遇到“我的文档库”这类表述时,可以把它理解成:先用 `my_library` 去查询用户个人知识库,再拿到真实 `space_id`
|
|
26
|
+
- 推荐做法是先执行 `lark-cli wiki spaces get --params '{"space_id":"my_library"}'`,取回真实知识库 `space_id`,再把这个 `space_id` 用到 `wiki +move`
|
|
27
|
+
- 当前 `wiki +move` 文档的主示例仍以显式 `--target-space-id` / `--target-parent-token` 为主;如果调用方只有自然语言目标,不要因为目标暂时不明确就改走 `drive +move`
|
|
28
|
+
|
|
29
|
+
## 命令
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# 将已有 wiki 节点移动到另一个父节点下
|
|
33
|
+
lark-cli wiki +move \
|
|
34
|
+
--node-token <NODE_TOKEN> \
|
|
35
|
+
--target-parent-token <TARGET_PARENT_TOKEN>
|
|
36
|
+
|
|
37
|
+
# 将已有 wiki 节点移动到另一个知识空间根目录
|
|
38
|
+
lark-cli wiki +move \
|
|
39
|
+
--node-token <NODE_TOKEN> \
|
|
40
|
+
--target-space-id <TARGET_SPACE_ID>
|
|
41
|
+
|
|
42
|
+
# 将 Drive 文档迁入某个知识空间根目录
|
|
43
|
+
lark-cli wiki +move \
|
|
44
|
+
--obj-type docx \
|
|
45
|
+
--obj-token <DOC_TOKEN> \
|
|
46
|
+
--target-space-id <TARGET_SPACE_ID>
|
|
47
|
+
|
|
48
|
+
# 将 Drive 文档迁入某个父节点下;如果当前没有直接移动权限,则提交申请
|
|
49
|
+
lark-cli wiki +move \
|
|
50
|
+
--obj-type sheet \
|
|
51
|
+
--obj-token <SHEET_TOKEN> \
|
|
52
|
+
--target-space-id <TARGET_SPACE_ID> \
|
|
53
|
+
--target-parent-token <TARGET_PARENT_TOKEN> \
|
|
54
|
+
--apply
|
|
55
|
+
|
|
56
|
+
# 预览底层调用链
|
|
57
|
+
lark-cli wiki +move \
|
|
58
|
+
--obj-type docx \
|
|
59
|
+
--obj-token <DOC_TOKEN> \
|
|
60
|
+
--target-space-id <TARGET_SPACE_ID> \
|
|
61
|
+
--dry-run
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 参数
|
|
65
|
+
|
|
66
|
+
| 参数 | 必填 | 说明 |
|
|
67
|
+
|------|------|------|
|
|
68
|
+
| `--node-token` | 条件必填 | 要移动的 Wiki 节点 token。传入后命令进入 `node` 模式 |
|
|
69
|
+
| `--source-space-id` | 否 | 源知识空间 ID,仅 `node` 模式可用;不传时会根据 `--node-token` 自动解析 |
|
|
70
|
+
| `--target-space-id` | 条件必填 | 目标知识空间 ID。`docs_to_wiki` 模式必填;`node` 模式下如果不传,则必须传 `--target-parent-token` |
|
|
71
|
+
| `--target-parent-token` | 否 | 目标父节点 token。`docs_to_wiki` 不传时表示迁入目标知识空间根目录 |
|
|
72
|
+
| `--obj-type` | 条件必填 | Drive 文档类型,仅 `docs_to_wiki` 模式可用。可选值:`doc`、`sheet`、`bitable`、`mindnote`、`docx`、`file`、`slides` |
|
|
73
|
+
| `--obj-token` | 条件必填 | Drive 文档 token,仅 `docs_to_wiki` 模式可用 |
|
|
74
|
+
| `--apply` | 否 | 仅 `docs_to_wiki` 模式可用;当当前调用方不能直接移动文档时,提交一个 move request |
|
|
75
|
+
|
|
76
|
+
## 模式选择与校验规则
|
|
77
|
+
|
|
78
|
+
- **`node` 模式**:只要传了 `--node-token`,就会按“移动已有 Wiki 节点”执行
|
|
79
|
+
- **`docs_to_wiki` 模式**:未传 `--node-token` 时,按“把 Drive 文档迁入 Wiki”执行
|
|
80
|
+
- `node` 模式下,`--node-token` 不能与 `--obj-type`、`--obj-token`、`--apply` 同时使用
|
|
81
|
+
- `node` 模式下,`--target-parent-token` 和 `--target-space-id` 不能同时为空
|
|
82
|
+
- `docs_to_wiki` 模式下,必须同时提供 `--obj-type`、`--obj-token`、`--target-space-id`
|
|
83
|
+
- `docs_to_wiki` 模式下,`--source-space-id` 非法,只能用于 `node` 模式
|
|
84
|
+
|
|
85
|
+
## 空间解析与一致性校验
|
|
86
|
+
|
|
87
|
+
### `node` 模式
|
|
88
|
+
|
|
89
|
+
- **源空间解析**:如果未传 `--source-space-id`,shortcut 会先调用 `GET /open-apis/wiki/v2/spaces/get_node` 查询 `--node-token`,再读取其 `space_id`
|
|
90
|
+
- **目标父节点解析**:如果传了 `--target-parent-token`,shortcut 会先解析该父节点所属的 `space_id`
|
|
91
|
+
- **一致性校验**:如果同时传了 `--target-space-id` 和 `--target-parent-token`,shortcut 会校验两者是否属于同一个知识空间;不一致时直接返回验证错误
|
|
92
|
+
- **移动到空间根目录**:如果只传 `--target-space-id`,则表示移动到该知识空间根目录
|
|
93
|
+
|
|
94
|
+
### `docs_to_wiki` 模式
|
|
95
|
+
|
|
96
|
+
- `--target-space-id` 始终必填
|
|
97
|
+
- `--target-parent-token` 可选;不传时表示移动到目标知识空间根目录
|
|
98
|
+
- 请求体会自动映射成 `obj_type`、`obj_token`、`parent_wiki_token`、`apply`
|
|
99
|
+
|
|
100
|
+
## 行为说明
|
|
101
|
+
|
|
102
|
+
- **`node` 模式是同步操作**:请求成功后直接返回移动后的节点信息
|
|
103
|
+
- **`docs_to_wiki` 可能是同步,也可能是异步**:
|
|
104
|
+
- 如果接口直接返回 `wiki_token`,shortcut 会立刻返回 `ready=true`
|
|
105
|
+
- 如果接口返回 `applied=true`,shortcut 会返回 `ready=false`、`failed=false`、`applied=true` 和 `status_msg="move request submitted for approval"`
|
|
106
|
+
- 如果接口返回 `task_id`,shortcut 会先进入有限轮询
|
|
107
|
+
- **有限轮询窗口**:固定最多轮询 `30` 次,每次间隔 `2` 秒
|
|
108
|
+
- **轮询超时不是失败**:如果轮询窗口结束任务仍在处理中,会返回 `task_id`、`status`、`status_msg`、`ready=false`、`timed_out=true` 和 `next_command`
|
|
109
|
+
- **继续查询**:看到 `next_command` 后,改用 `lark-cli drive +task_result --scenario wiki_move --task-id <TASK_ID>` 继续查
|
|
110
|
+
- **任务失败直接报错**:如果轮询期间任务进入失败态,shortcut 会直接返回错误,不会再输出 `ready=false` 结果
|
|
111
|
+
- **轮询请求全部失败时也直接报错**:如果任务已创建,但后续每一次状态查询都失败,shortcut 会返回带 hint 的错误,并给出继续查询命令
|
|
112
|
+
|
|
113
|
+
## 返回结果
|
|
114
|
+
|
|
115
|
+
### `node` 模式典型返回
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"mode": "node",
|
|
120
|
+
"source_space_id": "space_src",
|
|
121
|
+
"target_space_id": "space_dst",
|
|
122
|
+
"space_id": "space_dst",
|
|
123
|
+
"node_token": "wikcnode_xxx",
|
|
124
|
+
"obj_token": "doccn_xxx",
|
|
125
|
+
"obj_type": "docx",
|
|
126
|
+
"parent_node_token": "wikcparent_xxx",
|
|
127
|
+
"node_type": "origin",
|
|
128
|
+
"origin_node_token": "",
|
|
129
|
+
"title": "项目计划",
|
|
130
|
+
"has_child": false
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### `docs_to_wiki` 异步超时返回
|
|
135
|
+
|
|
136
|
+
```json
|
|
137
|
+
{
|
|
138
|
+
"mode": "docs_to_wiki",
|
|
139
|
+
"obj_type": "docx",
|
|
140
|
+
"obj_token": "doccn_xxx",
|
|
141
|
+
"target_space_id": "space_xxx",
|
|
142
|
+
"target_parent_token": "wikcparent_xxx",
|
|
143
|
+
"task_id": "7500000000000000001",
|
|
144
|
+
"ready": false,
|
|
145
|
+
"failed": false,
|
|
146
|
+
"status": 1,
|
|
147
|
+
"status_msg": "processing",
|
|
148
|
+
"timed_out": true,
|
|
149
|
+
"next_command": "lark-cli drive +task_result --scenario wiki_move --task-id 7500000000000000001"
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**输出字段说明:**
|
|
154
|
+
|
|
155
|
+
- `mode`:当前执行模式,值为 `node` 或 `docs_to_wiki`
|
|
156
|
+
- `ready`:任务是否已经完成并可直接继续使用结果
|
|
157
|
+
- `failed`:任务是否已失败
|
|
158
|
+
- `task_id`:异步任务 ID,仅异步场景返回
|
|
159
|
+
- `status` / `status_msg`:异步任务的主状态码和可读状态
|
|
160
|
+
- `wiki_token`:docs-to-wiki 成功后返回的 Wiki 节点 token;同时也会镜像到 `node_token`
|
|
161
|
+
- `space_id`、`node_token`、`obj_token`、`obj_type`、`parent_node_token`、`title` 等:成功拿到节点信息时返回,方便下游继续调用
|
|
162
|
+
|
|
163
|
+
## dry-run 编排
|
|
164
|
+
|
|
165
|
+
- `node` 模式下,dry-run 会根据是否需要解析源节点 / 目标父节点,展示 1 到 3 步的调用链
|
|
166
|
+
- `docs_to_wiki` 模式下,dry-run 会展示两步:
|
|
167
|
+
1. `POST /open-apis/wiki/v2/spaces/{target_space_id}/nodes/move_docs_to_wiki`
|
|
168
|
+
2. `GET /open-apis/wiki/v2/tasks/{task_id}?task_type=move`
|
|
169
|
+
|
|
170
|
+
## 权限说明
|
|
171
|
+
|
|
172
|
+
CLI 会在执行前做本地 scope 预检查;当前 shortcut 声明的权限为 `wiki:node:move`、`wiki:node:read`、`wiki:space:read`(分别覆盖 move 写操作、节点解析读操作、以及异步任务轮询读操作)。如果本地 token 已记录 scopes 且缺失任一权限,命令会直接提示重新执行 `lark-cli auth login --scope ...`。
|
|
173
|
+
|
|
174
|
+
当异步任务超时后,后续 `lark-cli drive +task_result --scenario wiki_move --task-id <TASK_ID>` 只需要 `wiki:space:read` 权限。
|
|
175
|
+
|
|
176
|
+
> [!CAUTION]
|
|
177
|
+
> `wiki +move` 是**写入操作**。执行前必须确认用户意图,以及目标节点 / 目标知识空间是否明确。
|
|
178
|
+
|
|
179
|
+
## 参考
|
|
180
|
+
|
|
181
|
+
- [lark-wiki](../SKILL.md) -- 知识库全部命令
|
|
182
|
+
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
183
|
+
- [drive +task_result](../../lark-drive/references/lark-drive-task-result.md) -- docs-to-wiki 异步任务的续跑查询命令
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# lark-wiki +node-copy
|
|
2
|
+
|
|
3
|
+
Copy a wiki node (including its content) to a target space or under a target parent node. Used for cross-space migration.
|
|
4
|
+
|
|
5
|
+
> ⚠️ **High-risk write** — the upstream API is flagged `danger: true`, so this shortcut requires explicit `--yes` confirmation before issuing the request. Forgetting `--yes` returns a `confirmation_required` error and the copy is **not** performed.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
lark-cli wiki +node-copy \
|
|
11
|
+
--space-id <source_space_id> \
|
|
12
|
+
--node-token <source_node_token> \
|
|
13
|
+
(--target-space-id <target_space_id> | --target-parent-node-token <token>) \
|
|
14
|
+
[--title <new_title>] \
|
|
15
|
+
--yes \
|
|
16
|
+
[--as user|bot]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Flags
|
|
20
|
+
|
|
21
|
+
| Flag | Required | Description |
|
|
22
|
+
|------|----------|-------------|
|
|
23
|
+
| `--space-id` | **Yes** | Source wiki space ID |
|
|
24
|
+
| `--node-token` | **Yes** | Source node token to copy |
|
|
25
|
+
| `--target-space-id` | Conditional | Target space ID. Required if `--target-parent-node-token` is not set |
|
|
26
|
+
| `--target-parent-node-token` | Conditional | Target parent node token. Required if `--target-space-id` is not set |
|
|
27
|
+
| `--title` | No | New title for the copied node. Omit to keep the original title |
|
|
28
|
+
| `--yes` | **Yes** | Confirm the high-risk operation. Without this flag the shortcut refuses to send the API request |
|
|
29
|
+
| `--format` | No | Output format: `json` (default) / `pretty` / `table` / `csv` / `ndjson` |
|
|
30
|
+
| `--as` | No | Identity `user`/`bot` (default `auto`); wiki is user-centric → pass `--as user` |
|
|
31
|
+
|
|
32
|
+
> At least one of `--target-space-id` or `--target-parent-node-token` must be provided.
|
|
33
|
+
|
|
34
|
+
## Output
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"space_id": "target_space_id",
|
|
39
|
+
"node_token": "wikcn_EXAMPLE_TOKEN",
|
|
40
|
+
"obj_token": "doccn_EXAMPLE_TOKEN",
|
|
41
|
+
"obj_type": "docx",
|
|
42
|
+
"node_type": "origin",
|
|
43
|
+
"title": "Getting Started (Copy)",
|
|
44
|
+
"parent_node_token": "",
|
|
45
|
+
"has_child": false
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Migration workflow
|
|
50
|
+
|
|
51
|
+
To migrate a subtree from one space to another:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# 1. List nodes in the source space
|
|
55
|
+
lark-cli wiki +node-list --space-id source_space_id
|
|
56
|
+
|
|
57
|
+
# 2. Copy each node to the target space
|
|
58
|
+
lark-cli wiki +node-copy \
|
|
59
|
+
--space-id <source_space_id> \
|
|
60
|
+
--node-token wikcn_EXAMPLE_TOKEN \
|
|
61
|
+
--target-space-id <target_space_id> \
|
|
62
|
+
--yes
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Notes
|
|
66
|
+
|
|
67
|
+
- Copying is recursive — the subtree under the node is also copied.
|
|
68
|
+
- There is no native move API; migration = copy to target + (manually delete source if needed).
|
|
69
|
+
|
|
70
|
+
## Required Scope
|
|
71
|
+
|
|
72
|
+
`wiki:node:copy`
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# wiki +node-create
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
|
+
|
|
5
|
+
在飞书知识库中创建一个新节点,并自动解析目标知识空间。该 shortcut 对原生 `wiki.nodes.create` 做了一层更适合日常使用的封装:可以直接指定 `space_id`,也可以从父节点自动反查所属空间;在 `user` 身份下,如果同时省略 `--space-id` 和 `--parent-node-token`,还会自动回退到个人知识库 `my_library`。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 在个人知识库根目录下创建一个 docx 节点(user 身份默认回退到 my_library)
|
|
11
|
+
lark-cli wiki +node-create \
|
|
12
|
+
--title "项目计划"
|
|
13
|
+
|
|
14
|
+
# 在指定知识空间中创建一个 docx 节点
|
|
15
|
+
lark-cli wiki +node-create \
|
|
16
|
+
--space-id <SPACE_ID> \
|
|
17
|
+
--title "项目计划"
|
|
18
|
+
|
|
19
|
+
# 在指定父节点下创建一个子节点
|
|
20
|
+
lark-cli wiki +node-create \
|
|
21
|
+
--parent-node-token <PARENT_NODE_TOKEN> \
|
|
22
|
+
--title "迭代记录"
|
|
23
|
+
|
|
24
|
+
# 显式指定创建到个人知识库(仅 user 身份;bot 不支持 `--space-id my_library`)
|
|
25
|
+
lark-cli wiki +node-create \
|
|
26
|
+
--space-id my_library \
|
|
27
|
+
--title "学习笔记"
|
|
28
|
+
|
|
29
|
+
# 创建一个快捷方式节点(shortcut)
|
|
30
|
+
lark-cli wiki +node-create \
|
|
31
|
+
--parent-node-token <PARENT_NODE_TOKEN> \
|
|
32
|
+
--node-type shortcut \
|
|
33
|
+
--origin-node-token <ORIGIN_NODE_TOKEN> \
|
|
34
|
+
--title "原文档快捷方式"
|
|
35
|
+
|
|
36
|
+
# 创建非 docx 类型节点
|
|
37
|
+
lark-cli wiki +node-create \
|
|
38
|
+
--space-id <SPACE_ID> \
|
|
39
|
+
--obj-type sheet \
|
|
40
|
+
--title "周报数据"
|
|
41
|
+
|
|
42
|
+
# 预览底层调用链
|
|
43
|
+
lark-cli wiki +node-create \
|
|
44
|
+
--title "Roadmap" \
|
|
45
|
+
--dry-run
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 返回值
|
|
49
|
+
|
|
50
|
+
成功后会返回一个 JSON 对象,常见字段包括:
|
|
51
|
+
|
|
52
|
+
- `resolved_space_id`:最终用于创建的真实知识空间 ID
|
|
53
|
+
- `resolved_by`:空间解析来源,可能是 `explicit_space_id`、`parent_node_token`、`my_library`
|
|
54
|
+
- `node_token`:新建知识库节点 token
|
|
55
|
+
- `obj_token`:节点关联对象 token
|
|
56
|
+
- `obj_type`:节点关联对象类型
|
|
57
|
+
- `node_type`:节点类型
|
|
58
|
+
- `title`:节点标题
|
|
59
|
+
- `permission_grant`(可选):仅 `--as bot` 时返回,说明是否已自动为当前 CLI 用户授予可管理权限
|
|
60
|
+
|
|
61
|
+
> [!IMPORTANT]
|
|
62
|
+
> 如果节点是**以应用身份(bot)创建**的,如 `lark-cli wiki +node-create --as bot`,在创建成功后 CLI 会**尝试为当前 CLI 用户自动授予该知识库节点的 `full_access`(可管理权限)**。
|
|
63
|
+
>
|
|
64
|
+
> 以应用身份创建时,结果里会额外返回 `permission_grant` 字段,明确说明授权结果:
|
|
65
|
+
> - `status = granted`:当前 CLI 用户已获得该知识库节点的可管理权限
|
|
66
|
+
> - `status = skipped`:本地没有可用的当前用户 `open_id`,因此不会自动授权;可提示用户先完成 `lark-cli auth login`,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限
|
|
67
|
+
> - `status = failed`:节点已创建成功,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该节点
|
|
68
|
+
>
|
|
69
|
+
> `permission_grant.perm = full_access` 表示该资源已授予“可管理权限”
|
|
70
|
+
>
|
|
71
|
+
> **不要擅自执行 owner 转移。** 如果用户需要把 owner 转给自己,必须单独确认。
|
|
72
|
+
|
|
73
|
+
## 参数
|
|
74
|
+
|
|
75
|
+
| 参数 | 必填 | 说明 |
|
|
76
|
+
|------|------|------|
|
|
77
|
+
| `--space-id` | 否 | 目标知识空间 ID;`user` 身份可传特殊值 `my_library` 表示个人知识库,`bot` 身份不支持该值 |
|
|
78
|
+
| `--parent-node-token` | 否 | 父知识库节点 token;传入后会在该节点下创建新节点 |
|
|
79
|
+
| `--title` | 否 | 节点标题 |
|
|
80
|
+
| `--node-type` | 否 | 节点类型,默认 `origin`;可选值:`origin`、`shortcut` |
|
|
81
|
+
| `--obj-type` | 否 | 节点对应对象类型,默认 `docx`;可选值:`sheet`、`mindnote`、`bitable`、`docx`、`slides` |
|
|
82
|
+
| `--origin-node-token` | 否 | 当 `--node-type=shortcut` 时必填,表示快捷方式指向的源节点 token |
|
|
83
|
+
|
|
84
|
+
## 空间解析规则
|
|
85
|
+
|
|
86
|
+
- **优先级**:`--space-id` > `--parent-node-token` > `my_library`
|
|
87
|
+
- **显式 space**:传了 `--space-id` 时,shortcut 会直接使用该空间;如果该值是 `my_library`,则仅 `user` 身份可用,并会先调用 `GET /open-apis/wiki/v2/spaces/my_library` 解析成真实 `space_id`
|
|
88
|
+
- **父节点推断**:未传 `--space-id` 但传了 `--parent-node-token` 时,会先调用 `GET /open-apis/wiki/v2/spaces/get_node` 获取父节点,再读取其 `space_id`
|
|
89
|
+
- **个人知识库回退**:`user` 身份下,如果 `--space-id` 和 `--parent-node-token` 都没传,会自动解析 `my_library`
|
|
90
|
+
- **bot 身份限制**:`bot` 身份既没有“个人知识库”回退语义,也不支持显式传 `--space-id my_library`;请改用真实 `space_id` 或 `--parent-node-token`
|
|
91
|
+
|
|
92
|
+
## shortcut 节点规则
|
|
93
|
+
|
|
94
|
+
- `--node-type=shortcut` 时,必须同时提供 `--origin-node-token`
|
|
95
|
+
- `--node-type=origin` 时,不能传 `--origin-node-token`
|
|
96
|
+
- `shortcut` 节点只是知识库中的快捷方式入口;真正被引用的节点由 `--origin-node-token` 指定
|
|
97
|
+
|
|
98
|
+
## 一致性校验
|
|
99
|
+
|
|
100
|
+
- 如果同时传了 `--space-id` 和 `--parent-node-token`,shortcut 会校验父节点所属空间是否与 `--space-id` 一致
|
|
101
|
+
- 如果两者解析出的空间不一致,命令会直接返回验证错误,而不会继续创建
|
|
102
|
+
- 对于 `my_library`,`user` 身份下也会先解析出真实 `space_id` 后再做这层校验
|
|
103
|
+
|
|
104
|
+
## 行为说明
|
|
105
|
+
|
|
106
|
+
- **默认对象类型**:不传 `--obj-type` 时默认创建 `docx` 节点
|
|
107
|
+
- **默认节点类型**:不传 `--node-type` 时默认创建普通节点 `origin`
|
|
108
|
+
- **dry-run 编排**:
|
|
109
|
+
- 仅传 `--title`:会展示 `my_library` 解析 + 创建节点 两步调用
|
|
110
|
+
- 仅传 `--parent-node-token`:会展示“查询父节点 -> 创建节点”两步调用
|
|
111
|
+
- 同时需要 `my_library` 和父节点时:会展示三步调用链
|
|
112
|
+
- **bot 自动授权**:若使用 `--as bot`,结果还会额外带上 `permission_grant`,用于说明是否已自动为当前 CLI 用户授予新建节点的可管理权限
|
|
113
|
+
- **输出结果**:成功后会返回 `resolved_space_id`、`resolved_by`、`node_token`、`obj_token`、`obj_type`、`node_type`、`title` 等字段,便于后续继续操作
|
|
114
|
+
|
|
115
|
+
## 推荐场景
|
|
116
|
+
|
|
117
|
+
- 用户说“在我的知识库里新建一篇页面”时,优先用 `lark-cli wiki +node-create --title "..."`
|
|
118
|
+
- 用户已经给出父页面链接或 `parent_node_token` 时,优先传 `--parent-node-token`,让 shortcut 自动推导空间
|
|
119
|
+
- 需要创建知识库快捷方式时,使用 `--node-type shortcut --origin-node-token <token>`
|
|
120
|
+
|
|
121
|
+
> [!CAUTION]
|
|
122
|
+
> `wiki +node-create` 是**写入操作**,执行前必须确认用户意图。
|
|
123
|
+
|
|
124
|
+
## 参考
|
|
125
|
+
|
|
126
|
+
- [lark-wiki](../SKILL.md) -- 知识库全部命令
|
|
127
|
+
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# lark-wiki +node-delete
|
|
2
|
+
|
|
3
|
+
Delete a wiki node (or pull a cloud doc out of Wiki). OpenAPI: `DELETE /open-apis/wiki/v2/spaces/:space_id/nodes/:node_token`.
|
|
4
|
+
|
|
5
|
+
> ⚠️ **High-risk write & irreversible** — deletes the node and (by default) its whole subtree. Requires explicit `--yes`; without it the CLI returns a `confirmation_required` error and nothing is deleted.
|
|
6
|
+
|
|
7
|
+
- **Sync / async**: an empty `task_id` means the delete completed synchronously (`ready=true`). A non-empty `task_id` triggers bounded polling; if the window elapses the output carries `timed_out=true` and a `next_command`:
|
|
8
|
+
`lark-cli drive +task_result --scenario wiki_delete_node --task-id <TASK_ID> --as <user|bot>`
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
lark-cli wiki +node-delete \
|
|
14
|
+
--node-token <node_token | obj_token | Lark URL> \
|
|
15
|
+
[--obj-type <wiki|doc|docx|sheet|bitable|mindnote|slides|file>] \
|
|
16
|
+
[--space-id <space_id>] \
|
|
17
|
+
[--include-children=true|false] \
|
|
18
|
+
--yes \
|
|
19
|
+
[--as user|bot]
|
|
20
|
+
|
|
21
|
+
# Preview the call chain without deleting
|
|
22
|
+
lark-cli wiki +node-delete --node-token <token> --obj-type wiki --dry-run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Flags
|
|
26
|
+
|
|
27
|
+
| Flag | Type | Required | Default | Description |
|
|
28
|
+
|------|------|----------|---------|-------------|
|
|
29
|
+
| `--node-token` | string | **Yes** | — | `node_token`, cloud-doc `obj_token`, or a Lark URL embedding one; URL paths also imply `--obj-type` |
|
|
30
|
+
| `--obj-type` | enum | Conditional | — | Required for a raw token (URL inputs auto-infer). `wiki` = the token is a `node_token`; otherwise the cloud-doc type |
|
|
31
|
+
| `--space-id` | string | No | — | Auto-resolved via `get_node` when omitted (extra lookup; pass it to skip) |
|
|
32
|
+
| `--include-children` | bool | No | `true` | Cascade-delete the subtree (default). `--include-children=false` lifts direct children up to the parent |
|
|
33
|
+
| `--yes` | bool | Yes (real delete) | — | Confirm the high-risk operation. Without it the CLI returns `confirmation_required` |
|
|
34
|
+
| `--as` | enum | No | `auto` | Identity `user`/`bot`; wiki is user-centric → pass `--as user` |
|
|
35
|
+
|
|
36
|
+
## Output
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"space_id": "7160145948494381236",
|
|
41
|
+
"node_token": "wikcnEXAMPLE",
|
|
42
|
+
"obj_type": "wiki",
|
|
43
|
+
"include_children": true,
|
|
44
|
+
"ready": true,
|
|
45
|
+
"failed": false,
|
|
46
|
+
"status": "success",
|
|
47
|
+
"status_msg": "success"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Async/timeout adds `task_id`, `timed_out`, and `next_command`.
|
|
52
|
+
|
|
53
|
+
## Behavior
|
|
54
|
+
|
|
55
|
+
- **Task poll**: `GET /open-apis/wiki/v2/tasks/{task_id}?task_type=delete_node`. The status lives under `data.task.simple_task_result.status` (the gateway's generic key — **not** `delete_node_result`); that object has no `status_msg`, so the label falls back to the status code.
|
|
56
|
+
- **Error hints**:
|
|
57
|
+
- `131011` → the node has delete-approval enabled; apply via the Wiki UI (CLI cannot bypass approval).
|
|
58
|
+
- `131003` → subtree too large to cascade-delete; use `--include-children=false` or delete sub-trees first.
|
|
59
|
+
|
|
60
|
+
## Required Scope
|
|
61
|
+
|
|
62
|
+
`wiki:node:create` (the delete endpoint declares this scope). Auto-resolving `space_id` additionally needs `wiki:node:retrieve`; pass `--space-id` to avoid that lookup.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# lark-wiki +node-get
|
|
2
|
+
|
|
3
|
+
Get a wiki node's details by `node_token`, `obj_token`, or a Lark URL. Use this as the "what am I about to touch?" step before `+move` / `+node-copy` / `+node-delete`.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
lark-cli wiki +node-get \
|
|
9
|
+
--token <node_token | obj_token | Lark URL> \
|
|
10
|
+
[--obj-type <doc|docx|sheet|bitable|mindnote|slides|file>] \
|
|
11
|
+
[--space-id <space_id>] \
|
|
12
|
+
[--format json|pretty|table|csv|ndjson] \
|
|
13
|
+
[--as user|bot]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Flags
|
|
17
|
+
|
|
18
|
+
| Flag | Type | Required | Default | Description |
|
|
19
|
+
|------|------|----------|---------|-------------|
|
|
20
|
+
| `--token` | string | **Yes** | — | `node_token`, cloud-doc `obj_token`, or a Lark URL embedding one (e.g. `https://feishu.cn/wiki/<token>` or `https://feishu.cn/docx/<token>`) |
|
|
21
|
+
| `--obj-type` | enum | No | — | Needed when `--token` is a raw `obj_token`; auto-inferred from the URL path. Not allowed when the token looks like a `node_token` (`wik...`) |
|
|
22
|
+
| `--space-id` | string | No | — | Optional cross-check: fail if the resolved node does not live in this space |
|
|
23
|
+
| `--format` | enum | No | `json` | `json` / `pretty` / `table` / `csv` / `ndjson` |
|
|
24
|
+
| `--as` | enum | No | `auto` | Identity `user`/`bot`; wiki is user-centric → pass `--as user` |
|
|
25
|
+
|
|
26
|
+
## Output
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"space_id": "7160145948494381236",
|
|
31
|
+
"node_token": "wikcnEXAMPLE",
|
|
32
|
+
"obj_token": "docxEXAMPLE",
|
|
33
|
+
"obj_type": "docx",
|
|
34
|
+
"node_type": "origin",
|
|
35
|
+
"parent_node_token": "wikcnPARENT",
|
|
36
|
+
"origin_node_token": "",
|
|
37
|
+
"title": "Design Spec",
|
|
38
|
+
"has_child": true,
|
|
39
|
+
"creator": "ou_xxx",
|
|
40
|
+
"owner": "ou_yyy",
|
|
41
|
+
"obj_edit_time": "1700000000",
|
|
42
|
+
"obj_create_time": "1690000000",
|
|
43
|
+
"node_create_time": "1690000001",
|
|
44
|
+
"updated_at": "2023-11-14T22:13:20Z"
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Notes
|
|
49
|
+
|
|
50
|
+
- The underlying API is `GET /open-apis/wiki/v2/spaces/get_node`. For a `node_token` no `obj_type` is sent; for an `obj_token` the `obj_type` (explicit or URL-inferred) is required.
|
|
51
|
+
- `creator` falls back to `creator` when `node_creator` is absent. `updated_at` is `obj_edit_time` formatted as RFC3339.
|
|
52
|
+
- No `url` is returned: `get_node` does not provide one and a synthesized `www.feishu.cn/wiki/<node_token>` link is non-canonical/misleading for a read command. Use `node_token` / `obj_token` as the identifiers.
|
|
53
|
+
|
|
54
|
+
## Required Scope
|
|
55
|
+
|
|
56
|
+
`wiki:node:retrieve`
|