@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,452 @@
|
|
|
1
|
+
|
|
2
|
+
# Base data-query DSL SSOT
|
|
3
|
+
|
|
4
|
+
> **入口指南**: [lark-base-data-query-guide.md](lark-base-data-query-guide.md) | **前置条件**: 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
5
|
+
|
|
6
|
+
本文档是 `+data-query` JSON DSL 的单一事实来源(SSOT),用于说明完整字段、操作符、限制、返回和错误恢复。常用 fewshot 与命令选择先读 [lark-base-data-query-guide.md](lark-base-data-query-guide.md)。
|
|
7
|
+
|
|
8
|
+
查询类任务还必须先遵守 [`lark-base-data-analysis-sop.md`](lark-base-data-analysis-sop.md)。`+data-query` 适合让筛选、分组、聚合、排序和 TopN 在 Base 云端查询服务中执行;不要用默认分页的 `+record-list` 或本地 `jq` 替代聚合查询。
|
|
9
|
+
|
|
10
|
+
## 限制
|
|
11
|
+
|
|
12
|
+
- **权限要求**(按文档类型分流):
|
|
13
|
+
- **普通多维表格**:调用者拥有文档的**阅读权限**即可
|
|
14
|
+
- **高级权限多维表格**:调用者必须是文档管理员,拥有 **FA(Full Access / 完全访问权限)**
|
|
15
|
+
|
|
16
|
+
权限不足时返回权限错误。
|
|
17
|
+
|
|
18
|
+
## 推荐命令
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# 按字段分组计数
|
|
22
|
+
lark-cli base +data-query \
|
|
23
|
+
--base-token MAGObxxxxx \
|
|
24
|
+
--dsl '{
|
|
25
|
+
"datasource": {"type": "table", "table": {"tableId": "tblxxxxxxxx"}},
|
|
26
|
+
"dimensions": [{"field_name": "城市", "alias": "dim_city"}],
|
|
27
|
+
"measures": [{"field_name": "城市", "aggregation": "count", "alias": "count"}],
|
|
28
|
+
"shaper": {"format": "flat"}
|
|
29
|
+
}'
|
|
30
|
+
|
|
31
|
+
# 带过滤条件 + 排序 + 限制条数
|
|
32
|
+
lark-cli base +data-query \
|
|
33
|
+
--base-token MAGObxxxxx \
|
|
34
|
+
--dsl '{
|
|
35
|
+
"datasource": {"type": "table", "table": {"tableId": "tblxxxxxxxx"}},
|
|
36
|
+
"dimensions": [{"field_name": "城市", "alias": "dim_city"}],
|
|
37
|
+
"measures": [{"field_name": "金额", "aggregation": "sum", "alias": "total_amount"}],
|
|
38
|
+
"filters": {
|
|
39
|
+
"type": 1,
|
|
40
|
+
"conjunction": "and",
|
|
41
|
+
"conditions": [{"field_name": "城市", "operator": "isNot", "value": [""]}]
|
|
42
|
+
},
|
|
43
|
+
"sort": [{"field_name": "total_amount", "order": "desc"}],
|
|
44
|
+
"pagination": {"limit": 100},
|
|
45
|
+
"shaper": {"format": "flat"}
|
|
46
|
+
}'
|
|
47
|
+
|
|
48
|
+
# 使用 tableName(表名)代替 tableId
|
|
49
|
+
lark-cli base +data-query \
|
|
50
|
+
--base-token MAGObxxxxx \
|
|
51
|
+
--dsl '{
|
|
52
|
+
"datasource": {"type": "table", "table": {"tableName": "销售数据"}},
|
|
53
|
+
"measures": [{"field_name": "金额", "aggregation": "sum", "alias": "total"}],
|
|
54
|
+
"shaper": {"format": "flat"}
|
|
55
|
+
}'
|
|
56
|
+
|
|
57
|
+
# 聚合或维度查询后如需读取逐条记录,先让 data-query 返回可回查的业务 key
|
|
58
|
+
lark-cli base +data-query \
|
|
59
|
+
--base-token MAGObxxxxx \
|
|
60
|
+
--dsl '{
|
|
61
|
+
"datasource": {"type": "table", "table": {"tableId": "tblxxxxxxxx"}},
|
|
62
|
+
"dimensions": [{"field_name": "业务编号", "alias": "biz_key"}],
|
|
63
|
+
"measures": [{"field_name": "指标值", "aggregation": "max", "alias": "max_value"}],
|
|
64
|
+
"filters": {
|
|
65
|
+
"type": 1,
|
|
66
|
+
"conjunction": "and",
|
|
67
|
+
"conditions": [{"field_name": "状态", "operator": "is", "value": ["有效"]}]
|
|
68
|
+
},
|
|
69
|
+
"sort": [{"field_name": "max_value", "order": "desc"}],
|
|
70
|
+
"pagination": {"limit": 10},
|
|
71
|
+
"shaper": {"format": "flat"}
|
|
72
|
+
}'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 参数
|
|
76
|
+
|
|
77
|
+
| 参数 | 必填 | 说明 |
|
|
78
|
+
|------------------------|------|------|
|
|
79
|
+
| `--base-token <token>` | 是 | Base Token(base_token) |
|
|
80
|
+
| `--dsl <json>` | 是 | LiteQuery Protocol JSON DSL 查询语句 |
|
|
81
|
+
|
|
82
|
+
## 如何从链接中提取参数
|
|
83
|
+
|
|
84
|
+
用户通常会提供如下 URL:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
https://example.feishu.cn/base/<base_token>?table=<table_id>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
- `--base-token`:取 `/base/` 后面的字符串
|
|
91
|
+
- DSL 中的 `tableId`:取 `table=` 后面的值
|
|
92
|
+
|
|
93
|
+
## API 入参详情
|
|
94
|
+
|
|
95
|
+
**HTTP 方法和路径:**
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
POST /open-apis/base/v3/bases/:base_token/data/query
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Path 参数:**
|
|
102
|
+
|
|
103
|
+
| 参数 | 必填 | 说明 |
|
|
104
|
+
|------|------|------|
|
|
105
|
+
| `base_token` | 是 | Base Token |
|
|
106
|
+
|
|
107
|
+
**Request Body — DSL 结构:**
|
|
108
|
+
|
|
109
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
110
|
+
|------|------|------|------|
|
|
111
|
+
| `datasource` | object | 是 | 数据源,包含 `type`(固定 `"table"`)和 `table` 对象 |
|
|
112
|
+
| `datasource.table.tableId` | string | 二选一 | 目标数据表 ID |
|
|
113
|
+
| `datasource.table.tableName` | string | 二选一 | 目标数据表名称 |
|
|
114
|
+
| `dimensions` | Dimension[] | 否* | 分组维度字段(GROUP BY) |
|
|
115
|
+
| `measures` | Measure[] | 否* | 聚合度量字段 |
|
|
116
|
+
| `filters` | FilterGroup | 否 | 过滤条件(WHERE) |
|
|
117
|
+
| `sort` | Sort[] | 否 | 排序规则 |
|
|
118
|
+
| `pagination` | object | 否 | 限制返回行数,`{limit: N}`,最大 5000 |
|
|
119
|
+
| `shaper` | object | 否 | 结果格式,固定 `{format: "flat"}` |
|
|
120
|
+
|
|
121
|
+
> \* `dimensions` 和 `measures` 至少填写一个。
|
|
122
|
+
|
|
123
|
+
**Dimension 字段:**
|
|
124
|
+
|
|
125
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
126
|
+
|------|------|------|------|
|
|
127
|
+
| `field_name` | string | 是 | 字段名称 |
|
|
128
|
+
| `alias` | string | 否 | 输出列别名,需全局唯一 |
|
|
129
|
+
|
|
130
|
+
**Measure 字段:**
|
|
131
|
+
|
|
132
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
133
|
+
|------|------|------|------|
|
|
134
|
+
| `field_name` | string | 是 | 字段名称 |
|
|
135
|
+
| `aggregation` | string | 是 | 聚合函数:`sum`、`avg`、`min`、`max`、`count`、`count_all`、`distinct_count` |
|
|
136
|
+
| `alias` | string | 否 | 输出列别名,需全局唯一 |
|
|
137
|
+
|
|
138
|
+
**聚合函数适用字段类型:**
|
|
139
|
+
|
|
140
|
+
| 聚合函数 | 适用字段类型 |
|
|
141
|
+
|----------|-------------|
|
|
142
|
+
| `sum` / `avg` | `number` |
|
|
143
|
+
| `min` / `max` | `number`、`datetime` |
|
|
144
|
+
| `count` | 全字段适用,计数非空值 |
|
|
145
|
+
| `count_all` | 全字段适用,计数所有行 |
|
|
146
|
+
| `distinct_count` | 全字段适用 |
|
|
147
|
+
|
|
148
|
+
> `number` 包含 `style.type` 为 `progress` / `currency` / `rating` 等所有子类型。
|
|
149
|
+
|
|
150
|
+
**FilterGroup:**
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"filters": {
|
|
155
|
+
"type": 1,
|
|
156
|
+
"conjunction": "and",
|
|
157
|
+
"conditions": [
|
|
158
|
+
{"field_name": "城市", "operator": "is", "value": ["北京"]}
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
165
|
+
|------|------|------|------|
|
|
166
|
+
| `type` | int | 是 | 固定填 `1` |
|
|
167
|
+
| `conjunction` | string | 否 | 条件组合逻辑:`"and"` 或 `"or"`,默认 `"and"` |
|
|
168
|
+
| `conditions` | Condition[] | 否 | 条件列表 |
|
|
169
|
+
|
|
170
|
+
**Condition:**
|
|
171
|
+
|
|
172
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
173
|
+
|------|------|------|------|
|
|
174
|
+
| `field_name` | string | 是 | 字段名称(必须与表中字段名精确匹配) |
|
|
175
|
+
| `operator` | string | 是 | 运算符(见下方运算符表) |
|
|
176
|
+
| `value` | string[] | 是 | 条件值数组;`isEmpty`/`isNotEmpty` 时**必须**传空数组 `[]` |
|
|
177
|
+
|
|
178
|
+
**运算符:**
|
|
179
|
+
|
|
180
|
+
| 运算符 | 说明 |
|
|
181
|
+
|--------|------|
|
|
182
|
+
| `is` | 等于 |
|
|
183
|
+
| `isNot` | 不等于 |
|
|
184
|
+
| `contains` | 包含 |
|
|
185
|
+
| `doesNotContain` | 不包含 |
|
|
186
|
+
| `isEmpty` | 为空 |
|
|
187
|
+
| `isNotEmpty` | 不为空 |
|
|
188
|
+
| `isGreater` | 大于 |
|
|
189
|
+
| `isGreaterEqual` | 大于等于 |
|
|
190
|
+
| `isLess` | 小于 |
|
|
191
|
+
| `isLessEqual` | 小于等于 |
|
|
192
|
+
|
|
193
|
+
> 各运算符的适用字段类型见下方「按各字段类型筛选时 value 格式详解」。
|
|
194
|
+
|
|
195
|
+
**按各字段类型筛选时 value 格式详解:**
|
|
196
|
+
|
|
197
|
+
*`text`*
|
|
198
|
+
|
|
199
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
200
|
+
|--------|-----------|---------|------|
|
|
201
|
+
| `is` / `isNot` / `contains` / `doesNotContain` | `["文本内容"]` | 仅 1 个 | `["Hello"]` |
|
|
202
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
203
|
+
|
|
204
|
+
> **不支持** `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`:文本无自然顺序,比较运算无意义。
|
|
205
|
+
> `text` 也覆盖电话、超链接、邮箱、条码字段;通过 `style.type` 区分(`plain`(默认)/ `phone` / `url` / `email` / `barcode`),运算符集合一致。
|
|
206
|
+
> 当 `style.type=url` 时,value 筛选的是链接显示名称,而不是 URL 本身。
|
|
207
|
+
|
|
208
|
+
*`number`*
|
|
209
|
+
|
|
210
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
211
|
+
|--------|-----------|---------|------|
|
|
212
|
+
| `is` / `isNot` / `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual` | `["数字字符串"]` | 仅 1 个 | `["23.4"]`、`["-100"]` |
|
|
213
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
214
|
+
|
|
215
|
+
> value 必须为合法数字的字符串形式。
|
|
216
|
+
> `number` 也覆盖货币、进度、评分字段;通过 `style.type` 区分(`plain`(默认)/ `currency` / `progress` / `rating`),运算符集合一致,仅 value 解释不同:
|
|
217
|
+
> - 当 `style.type=progress` 时,34% 对应 0.34 而不是 34。
|
|
218
|
+
> - 当 `style.type=rating` 时,必须输入整数,代表评分。
|
|
219
|
+
|
|
220
|
+
*`auto_number`*
|
|
221
|
+
|
|
222
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
223
|
+
|--------|-----------|---------|------|
|
|
224
|
+
| `is` / `isNot` / `contains` / `doesNotContain` | `["编号字符串"]` | 仅 1 个 | `["00001"]` |
|
|
225
|
+
| `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual` | `["编号字符串"]` | 仅 1 个 | `["00010"]` |
|
|
226
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
227
|
+
|
|
228
|
+
*`select`*
|
|
229
|
+
|
|
230
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
231
|
+
|--------|-----------|---------|------|
|
|
232
|
+
| `is` / `isNot` | `["选项名"]` | **仅 1 个** | `["选项A"]` |
|
|
233
|
+
| `contains` / `doesNotContain` | `["选项A", "选项B"]` | 可多个 | `["选项A", "选项B"]` |
|
|
234
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
235
|
+
|
|
236
|
+
> **不支持** `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`:选项为枚举值,无自然顺序。
|
|
237
|
+
> 通过 `multiple` 区分单选(`multiple=false`,默认)/ 多选(`multiple=true`)。
|
|
238
|
+
|
|
239
|
+
*`user` / `created_by` / `updated_by`*
|
|
240
|
+
|
|
241
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
242
|
+
|--------|-----------|---------|------------------------|
|
|
243
|
+
| `is` / `isNot` | `["用户ID1", "用户ID2"]` | **可多个** | `["ou_aaa", "ou_bbb"]` |
|
|
244
|
+
| `contains` / `doesNotContain` | `["用户ID1", "用户ID2"]` | 可多个 | `["ou_aaa", "ou_bbb"]` |
|
|
245
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
246
|
+
|
|
247
|
+
> **不支持** `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`:人员无法比大小。
|
|
248
|
+
> 用户 ID 使用 `open_id`(`ou_` 前缀),接口层会自动做 ID 转换。
|
|
249
|
+
|
|
250
|
+
*`group_chat`*
|
|
251
|
+
|
|
252
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
253
|
+
|--------|-----------|---------|------|
|
|
254
|
+
| `is` / `isNot` | `["群组ID1", "群组ID2"]` | 可多个 | `["oc_aaa", "oc_bbb"]` |
|
|
255
|
+
| `contains` / `doesNotContain` | `["群组ID1", "群组ID2"]` | 可多个 | `["oc_aaa", "oc_bbb"]` |
|
|
256
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
257
|
+
|
|
258
|
+
> **不支持** `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`:群组无法比大小。
|
|
259
|
+
|
|
260
|
+
*`link`*
|
|
261
|
+
|
|
262
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
263
|
+
|--------|-----------|---------|------|
|
|
264
|
+
| `is` / `isNot` | `["recId1", "recId2"]` | 可多个 | `["recAAA", "recBBB"]` |
|
|
265
|
+
| `contains` / `doesNotContain` | `["recId1", "recId2"]` | 可多个 | `["recAAA", "recBBB"]` |
|
|
266
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
267
|
+
|
|
268
|
+
> **不支持** `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`:关联记录无法比大小。
|
|
269
|
+
> value 传关联表记录的 `record_id`。
|
|
270
|
+
> 双向关联(创建时设 `bidirectional=true`)也属于 `link` 类型,运算符与单向关联一致。
|
|
271
|
+
|
|
272
|
+
*`location`*
|
|
273
|
+
|
|
274
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
275
|
+
|--------|-----------|---------|------|
|
|
276
|
+
| `is` / `isNot` / `contains` / `doesNotContain` | `["地址文本"]` | 仅 1 个 | `["北京市朝阳区..."]` |
|
|
277
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
278
|
+
|
|
279
|
+
> **不支持** `isGreater` / `isGreaterEqual` / `isLess` / `isLessEqual`:地理位置无自然顺序。
|
|
280
|
+
> location 按 `full_address` 字符串筛选,不支持经纬度空间筛选;查城市/片区时优先用 `contains`,避免用 `is` 匹配短地址词。
|
|
281
|
+
|
|
282
|
+
*`checkbox`*
|
|
283
|
+
|
|
284
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
285
|
+
|--------|-----------|---------|------|
|
|
286
|
+
| `is` | `["true"]` 或 `["false"]` | 仅 1 个 | `["true"]` |
|
|
287
|
+
|
|
288
|
+
> 仅支持 `is` 运算符,不支持其他运算符。
|
|
289
|
+
|
|
290
|
+
*`datetime` / `created_at` / `updated_at`*
|
|
291
|
+
|
|
292
|
+
日期字段仅支持 `is`、`isEmpty`、`isNotEmpty`、`isGreater`、`isLess` 五种运算符。
|
|
293
|
+
|
|
294
|
+
value 使用预定义关键字机制,第一个元素为字符串常量名称:
|
|
295
|
+
|
|
296
|
+
| 关键字 | 说明 | value 格式 | 支持的运算符 |
|
|
297
|
+
|--------|------|-----------|-------------|
|
|
298
|
+
| `ExactDate` | 精确日期 | `["ExactDate", "1773187200000"]`(毫秒时间戳) | `is`、`isGreater`、`isLess` |
|
|
299
|
+
| `Today` | 今天 | `["Today"]` | `is`、`isGreater`、`isLess` |
|
|
300
|
+
| `Tomorrow` | 明天 | `["Tomorrow"]` | `is`、`isGreater`、`isLess` |
|
|
301
|
+
| `Yesterday` | 昨天 | `["Yesterday"]` | `is`、`isGreater`、`isLess` |
|
|
302
|
+
| `CurrentWeek` | 本周 | `["CurrentWeek"]` | 仅 `is` |
|
|
303
|
+
| `LastWeek` | 上周 | `["LastWeek"]` | 仅 `is` |
|
|
304
|
+
| `CurrentMonth` | 本月 | `["CurrentMonth"]` | 仅 `is` |
|
|
305
|
+
| `LastMonth` | 上月 | `["LastMonth"]` | 仅 `is` |
|
|
306
|
+
| `TheLastWeek` | 过去七天 | `["TheLastWeek"]` | 仅 `is` |
|
|
307
|
+
| `TheNextWeek` | 未来七天 | `["TheNextWeek"]` | 仅 `is` |
|
|
308
|
+
| `TheLastMonth` | 过去三十天 | `["TheLastMonth"]` | 仅 `is` |
|
|
309
|
+
| `TheNextMonth` | 未来三十天 | `["TheNextMonth"]` | 仅 `is` |
|
|
310
|
+
|
|
311
|
+
> - **ExactDate 时区行为**:毫秒时间戳在实际筛选时会被转为**文档时区当天零点**,跨时区场景需注意日期可能偏移一天。
|
|
312
|
+
> - **范围型关键字**(`CurrentWeek`、`LastWeek`、`CurrentMonth`、`LastMonth`、`TheLastWeek`、`TheNextWeek`、`TheLastMonth`、`TheNextMonth`)仅支持 `is` 运算符。
|
|
313
|
+
> - **关键字大小写敏感**:`ExactDate`、`Today`、`CurrentWeek` 等首字母大写,写错大小写会导致校验失败。
|
|
314
|
+
|
|
315
|
+
*`attachment`*
|
|
316
|
+
|
|
317
|
+
| 运算符 | value 格式 | 元素个数 | 示例 |
|
|
318
|
+
|--------|-----------|---------|------|
|
|
319
|
+
| `isEmpty` / `isNotEmpty` | `[]` | 0 个 | `[]` |
|
|
320
|
+
|
|
321
|
+
> 附件字段仅支持 `isEmpty` 和 `isNotEmpty`,不支持其他运算符。
|
|
322
|
+
|
|
323
|
+
*`formula` / `lookup`*
|
|
324
|
+
|
|
325
|
+
公式和查找引用字段的运算符和 value 格式 **取决于其结果数据类型**,按结果类型参照上方对应字段类型的规则。例如:
|
|
326
|
+
|
|
327
|
+
- 公式结果为数字 → 按 `number` 规则
|
|
328
|
+
- 公式结果为日期 → 按 `datetime` 规则
|
|
329
|
+
- 公式结果为单选 → 按 `select` 规则
|
|
330
|
+
|
|
331
|
+
**Sort 字段:**
|
|
332
|
+
|
|
333
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
334
|
+
|------|------|------|------|
|
|
335
|
+
| `field_name` | string | 是 | 字段名称或 alias |
|
|
336
|
+
| `order` | string | 否 | `"asc"`(默认)或 `"desc"` |
|
|
337
|
+
|
|
338
|
+
**Pagination 字段:**
|
|
339
|
+
|
|
340
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
341
|
+
|------|------|------|------|
|
|
342
|
+
| `limit` | int | 否 | 返回记录数上限,必须为正整数,最大 5000;不填时使用系统默认值。不支持 offset |
|
|
343
|
+
|
|
344
|
+
**Shaper 字段:**
|
|
345
|
+
|
|
346
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
347
|
+
|------|------|------|------|
|
|
348
|
+
| `format` | string | 是 | 固定为 `"flat"`,表示返回扁平化的对象数组 |
|
|
349
|
+
|
|
350
|
+
## API 出参详情
|
|
351
|
+
|
|
352
|
+
**成功时:**
|
|
353
|
+
|
|
354
|
+
```json
|
|
355
|
+
{"code": 0, "data": {"main_data": [{"dim_city": {"value": "北京"}, "total_amount": {"value": 12345.00}}, ...]}, "msg": ""}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
**失败时:**
|
|
359
|
+
|
|
360
|
+
```json
|
|
361
|
+
{"code": 800004006, "data": {"error": {"code": 800004006, ...}}, "msg": "DSL validation failed"}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**Response 字段:**
|
|
365
|
+
|
|
366
|
+
| 字段 | 类型 | 说明 |
|
|
367
|
+
|------|------|------|
|
|
368
|
+
| `code` | int | 状态码,0 为成功 |
|
|
369
|
+
| `msg` | string | 错误信息 |
|
|
370
|
+
| `data.main_data` | []object | 查询结果数组,每个元素为一行数据 |
|
|
371
|
+
| `data.error` | object | 失败时的错误详情 |
|
|
372
|
+
|
|
373
|
+
每行数据的字段值封装在 CellValue 中:
|
|
374
|
+
|
|
375
|
+
```json
|
|
376
|
+
{
|
|
377
|
+
"dim_city": {
|
|
378
|
+
"value": "北京"
|
|
379
|
+
},
|
|
380
|
+
"total_amount": {
|
|
381
|
+
"value": 12345.00
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
- `value`:展示值(人员名称、选项名称、格式化日期等)
|
|
387
|
+
|
|
388
|
+
## 返回值
|
|
389
|
+
|
|
390
|
+
命令成功后输出 `data` 字段的内容:
|
|
391
|
+
|
|
392
|
+
```json
|
|
393
|
+
{
|
|
394
|
+
"main_data": [
|
|
395
|
+
{
|
|
396
|
+
"dim_city": {"value": "直营"},
|
|
397
|
+
"measure_count": {"value": 1}
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"dim_city": {"value": "加盟"},
|
|
401
|
+
"measure_count": {"value": 2}
|
|
402
|
+
}
|
|
403
|
+
]
|
|
404
|
+
}
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
## 工作流
|
|
408
|
+
|
|
409
|
+
1. 确认 base-token 和 table-id
|
|
410
|
+
2. **先查表结构**:执行 `lark-cli base +field-list --base-token <base_token> --table-id <table_id>`
|
|
411
|
+
3. 从返回的字段列表中获取 field_name(DSL 中使用的字段名称)
|
|
412
|
+
4. 根据字段信息构造 DSL JSON
|
|
413
|
+
5. 执行 +data-query
|
|
414
|
+
6. 解读返回结果:
|
|
415
|
+
- 结果在 `data.main_data` 数组中,每个元素代表一行
|
|
416
|
+
- 每行对象的 key 为 DSL 中指定的 `alias`;未指定 alias 时,key 为自动生成的列名
|
|
417
|
+
- 每个 value 是 CellValue 对象,实际值在 `value` 字段中,如 `{"value": "北京"}` 或 `{"value": 12345.00}`
|
|
418
|
+
- 失败时结果在 `data.error` 中,包含具体错误码和信息
|
|
419
|
+
|
|
420
|
+
## 与记录读取组合
|
|
421
|
+
|
|
422
|
+
`+data-query` 可返回聚合结果,也可在只传 `dimensions` 时返回维度字段行;这些维度行按字段组合去重,不包含 `record_id`,不能等同于逐条原始记录。需要输出聚合结果对应的原始记录字段、展示值、记录定位信息或关联表字段时,按以下方式组合:
|
|
423
|
+
|
|
424
|
+
1. 用 `+data-query` 在 Base 云端查询服务中完成全局筛选、分组、聚合、排序和 TopN,得到业务 key、分组值或候选字段组合。
|
|
425
|
+
2. 如果已经拿到候选记录的 `record_id`,用 `+record-get` 读取逐条记录字段。
|
|
426
|
+
3. 如果拿到的是结构化业务 key(例如编号、状态、日期、金额等),用 `+record-list --filter-json` 做精确过滤后读取;不要用 `+record-search` 代替结构化条件。
|
|
427
|
+
4. 只有候选条件本身是文本展示值关键词时,才使用 `+record-search`,并用 `search_fields` 限定范围、`select_fields` 做投影。
|
|
428
|
+
5. 若候选记录包含 link 字段,提取关联 `record_id` 后到关联表用 `+record-get` 批量读取展示字段。
|
|
429
|
+
6. 最终回答业务字段,不要把内部 `record_id` 当作用户可读答案。
|
|
430
|
+
|
|
431
|
+
不要把 `data-query pagination.limit` 理解为分页扫描;它只限制 Base 云端查询服务返回的聚合结果行数,不支持 offset。需要全量原始记录导出时回到 data analysis SOP 的 `+record-list` 分页规则。
|
|
432
|
+
|
|
433
|
+
## 坑点
|
|
434
|
+
|
|
435
|
+
- ⚠️ **必须先查表结构**:DSL 的 `field_name` 必须与表中字段名称精确匹配(区分大小写),不能凭猜测构造。先用 `lark-cli base +field-list --base-token <base_token> --table-id <table_id>` 获取真实字段名
|
|
436
|
+
- ⚠️ **权限要求按文档类型分流**:普通多维表格只需文档**阅读权限**;高级权限多维表格必须是文档管理员(**FA / Full Access**),否则返回权限错误
|
|
437
|
+
- ⚠️ **alias 不支持中文**:dimensions 和 measures 的 alias 必须使用英文(如 `dim_city`、`total_amount`),中文 alias 会导致错误
|
|
438
|
+
- ⚠️ **API 路径是 `base/v3`**:本接口路径为 `/open-apis/base/v3/bases/:base_token/data/query`,不是 `bitable/v1`。两者完全不同,用错版本号会返回 `[2200] Internal Error`
|
|
439
|
+
- ⚠️ **`dimensions` 和 `measures` 至少填一个**:两个都不填会返回 DSL 校验错误
|
|
440
|
+
- ⚠️ **`shaper` 必须为 `{"format": "flat"}`**:不填或填其他值会导致结果格式不可预期,建议始终显式指定
|
|
441
|
+
- ⚠️ **数据表标识 `tableId` vs `tableName`**:datasource 中可以用 `tableId`(如 `tblXXX`)或 `tableName`(数据表的用户自定义显示名称),二选一,不要混用
|
|
442
|
+
- ⚠️ **`pagination.limit` 最大 5000**:超过会报错,且不支持 offset,只支持 limit
|
|
443
|
+
- ⚠️ **所有 alias 必须全局唯一**:dimensions 和 measures 之间的 alias 也不能重名
|
|
444
|
+
- ⚠️ **不要用本地分页结果替代 data-query**:凡是全局计数、分组、聚合、排序 TopN,优先让 `+data-query` 在 Base 云端查询服务中执行;默认页 `+record-list` 后本地统计只能得到已读取范围内的结果
|
|
445
|
+
|
|
446
|
+
## 参考
|
|
447
|
+
|
|
448
|
+
- [lark-base](../SKILL.md) — 多维表格全部命令
|
|
449
|
+
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|
|
450
|
+
- [lark-base-data-analysis-sop.md](lark-base-data-analysis-sop.md) — 查询范围、选路、下推、分页、`+record-list` / `+record-search` 回查和关系查询 SOP
|
|
451
|
+
- [lark-base-cell-value.md](lark-base-cell-value.md) — CellValue 格式规范
|
|
452
|
+
- [lark-base-field-json.md](lark-base-field-json.md) — 字段类型与 JSON 结构
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# base +field-create
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
|
+
|
|
5
|
+
创建一个字段。
|
|
6
|
+
|
|
7
|
+
## Agent 最小工作流
|
|
8
|
+
|
|
9
|
+
1. 先判断是不是 `formula` / `lookup`。
|
|
10
|
+
2. 如果是:先读对应 guide。
|
|
11
|
+
3. 没读 guide 前,不要直接创建 formula / lookup 字段。
|
|
12
|
+
4. 读完 guide 后,再构造 `--json` 并创建字段。
|
|
13
|
+
5. 如果是跨表 formula / lookup,再补查**目标表**的结构。
|
|
14
|
+
|
|
15
|
+
## 推荐命令
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
lark-cli base +field-create \
|
|
19
|
+
--base-token <base_token> \
|
|
20
|
+
--table-id <table_id> \
|
|
21
|
+
--json '{"name":"预算","type":"number","style":{"type":"plain","precision":2}}'
|
|
22
|
+
|
|
23
|
+
lark-cli base +field-create \
|
|
24
|
+
--base-token <base_token> \
|
|
25
|
+
--table-id <table_id> \
|
|
26
|
+
--json '{"name":"状态","type":"select","multiple":false,"options":[{"name":"Todo","hue":"Blue","lightness":"Lighter"},{"name":"Done","hue":"Green","lightness":"Light"}]}'
|
|
27
|
+
|
|
28
|
+
lark-cli base +field-create \
|
|
29
|
+
--base-token <base_token> \
|
|
30
|
+
--table-id <table_id> \
|
|
31
|
+
--json '{"name":"负责人","type":"user","multiple":false,"description":"用于标记记录的直接负责人;协作约定可参考[团队字段约定](https://example.com/field-spec)"}'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 参数
|
|
35
|
+
|
|
36
|
+
| 参数 | 必填 | 说明 |
|
|
37
|
+
|------|------|------|
|
|
38
|
+
| `--base-token <token>` | 是 | Base Token |
|
|
39
|
+
| `--table-id <id_or_name>` | 是 | 表 ID 或表名 |
|
|
40
|
+
| `--json <body>` | 是 | 字段属性 JSON 对象 |
|
|
41
|
+
## API 入参详情
|
|
42
|
+
|
|
43
|
+
**HTTP 方法和路径:**
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
POST /open-apis/base/v3/bases/:base_token/tables/:table_id/fields
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## JSON 值规范
|
|
50
|
+
|
|
51
|
+
- `--json` 必须是 **JSON 对象**,顶层直接传字段定义,不要再套一层。
|
|
52
|
+
- 顶层最少包含:`name`、`type`。
|
|
53
|
+
- 所有字段类型都支持可选 `description`;支持纯文本,也支持 Markdown 链接,如 `协作约定可参考[团队字段约定](https://example.com/field-spec)`。
|
|
54
|
+
- `type` 不同,必填子字段不同:
|
|
55
|
+
- `select`:`multiple` 控制是否多选,`options` 定义静态选项,`dynamic_options_source` 定义动态选项来源。静态与动态选项配置二选一,不能同时传。
|
|
56
|
+
- `link`:必须有 `link_table`,可选 `bidirectional`、`bidirectional_link_field_name`。
|
|
57
|
+
- `formula`:必须有 `expression`;先读 formula guide,再创建。
|
|
58
|
+
- `lookup`:必须有 `from`、`select`、`where`;先读 lookup guide,再创建。
|
|
59
|
+
|
|
60
|
+
**正确(base +field-create)**
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"name": "状态",
|
|
65
|
+
"type": "select",
|
|
66
|
+
"multiple": false,
|
|
67
|
+
"options": [
|
|
68
|
+
{ "name": "Todo", "hue": "Blue", "lightness": "Lighter" },
|
|
69
|
+
{ "name": "Done", "hue": "Green", "lightness": "Light" }
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**字段说明示例**
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"name": "负责人",
|
|
79
|
+
"type": "user",
|
|
80
|
+
"multiple": false,
|
|
81
|
+
"description": "用于标记记录的直接负责人;协作约定可参考[团队字段约定](https://example.com/field-spec)"
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## 返回重点
|
|
86
|
+
|
|
87
|
+
- 返回 `field` 和 `created: true`。
|
|
88
|
+
|
|
89
|
+
## 工作流
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
1. formula / lookup 字段必须先阅读对应指南;没读之前不要直接创建。
|
|
93
|
+
|
|
94
|
+
## 坑点
|
|
95
|
+
|
|
96
|
+
- ⚠️ 这是写入操作,执行前必须确认。
|
|
97
|
+
- ⚠️ 当 `type` 是 `formula` 或 `lookup` 时,先读对应 guide,再创建。
|
|
98
|
+
|
|
99
|
+
## 参考
|
|
100
|
+
|
|
101
|
+
- [lark-base-field-json.md](lark-base-field-json.md) — 字段 JSON 规范(推荐)
|
|
102
|
+
- [formula-field-guide.md](formula-field-guide.md) — formula 指南(创建公式必读)
|
|
103
|
+
- [lookup-field-guide.md](lookup-field-guide.md) — lookup 指南(创建查找引用必读)
|