bitfire-lark-mcp 1.0.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/CHANGELOG.md +73 -0
- package/LICENSE +9 -0
- package/README.md +217 -0
- package/README_ZH.md +214 -0
- package/dist/auth/config.d.ts +12 -0
- package/dist/auth/config.js +17 -0
- package/dist/auth/handler/handler-local.d.ts +21 -0
- package/dist/auth/handler/handler-local.js +123 -0
- package/dist/auth/handler/handler.d.ts +32 -0
- package/dist/auth/handler/handler.js +117 -0
- package/dist/auth/handler/index.d.ts +2 -0
- package/dist/auth/handler/index.js +18 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.js +20 -0
- package/dist/auth/provider/index.d.ts +3 -0
- package/dist/auth/provider/index.js +19 -0
- package/dist/auth/provider/oauth.d.ts +18 -0
- package/dist/auth/provider/oauth.js +147 -0
- package/dist/auth/provider/oidc.d.ts +18 -0
- package/dist/auth/provider/oidc.js +172 -0
- package/dist/auth/provider/types.d.ts +8 -0
- package/dist/auth/provider/types.js +2 -0
- package/dist/auth/store.d.ts +39 -0
- package/dist/auth/store.js +213 -0
- package/dist/auth/types.d.ts +13 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/utils/encryption.d.ts +7 -0
- package/dist/auth/utils/encryption.js +40 -0
- package/dist/auth/utils/index.d.ts +3 -0
- package/dist/auth/utils/index.js +19 -0
- package/dist/auth/utils/is-token-valid.d.ts +7 -0
- package/dist/auth/utils/is-token-valid.js +28 -0
- package/dist/auth/utils/pkce.d.ts +6 -0
- package/dist/auth/utils/pkce.js +20 -0
- package/dist/auth/utils/storage-manager.d.ts +17 -0
- package/dist/auth/utils/storage-manager.js +135 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/login-handler.d.ts +16 -0
- package/dist/cli/login-handler.js +142 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.js +122 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +19 -0
- package/dist/mcp-server/index.d.ts +2 -0
- package/dist/mcp-server/index.js +18 -0
- package/dist/mcp-server/shared/index.d.ts +2 -0
- package/dist/mcp-server/shared/index.js +18 -0
- package/dist/mcp-server/shared/init.d.ts +10 -0
- package/dist/mcp-server/shared/init.js +121 -0
- package/dist/mcp-server/shared/types.d.ts +40 -0
- package/dist/mcp-server/shared/types.js +10 -0
- package/dist/mcp-server/transport/index.d.ts +3 -0
- package/dist/mcp-server/transport/index.js +19 -0
- package/dist/mcp-server/transport/sse.d.ts +2 -0
- package/dist/mcp-server/transport/sse.js +75 -0
- package/dist/mcp-server/transport/stdio.d.ts +2 -0
- package/dist/mcp-server/transport/stdio.js +36 -0
- package/dist/mcp-server/transport/streamable.d.ts +2 -0
- package/dist/mcp-server/transport/streamable.js +86 -0
- package/dist/mcp-server/transport/utils.d.ts +16 -0
- package/dist/mcp-server/transport/utils.js +34 -0
- package/dist/mcp-tool/constants.d.ts +49 -0
- package/dist/mcp-tool/constants.js +118 -0
- package/dist/mcp-tool/document-tool/index.d.ts +1 -0
- package/dist/mcp-tool/document-tool/index.js +17 -0
- package/dist/mcp-tool/document-tool/read-full-content/extract-text.d.ts +53 -0
- package/dist/mcp-tool/document-tool/read-full-content/extract-text.js +109 -0
- package/dist/mcp-tool/document-tool/read-full-content/index.d.ts +3 -0
- package/dist/mcp-tool/document-tool/read-full-content/index.js +9 -0
- package/dist/mcp-tool/document-tool/read-full-content/reader.d.ts +12 -0
- package/dist/mcp-tool/document-tool/read-full-content/reader.js +283 -0
- package/dist/mcp-tool/document-tool/read-full-content/types.d.ts +78 -0
- package/dist/mcp-tool/document-tool/read-full-content/types.js +2 -0
- package/dist/mcp-tool/document-tool/read-full-content/whiteboard.d.ts +53 -0
- package/dist/mcp-tool/document-tool/read-full-content/whiteboard.js +174 -0
- package/dist/mcp-tool/document-tool/recall/index.d.ts +2 -0
- package/dist/mcp-tool/document-tool/recall/index.js +39 -0
- package/dist/mcp-tool/document-tool/recall/request.d.ts +2 -0
- package/dist/mcp-tool/document-tool/recall/request.js +25 -0
- package/dist/mcp-tool/document-tool/recall/type.d.ts +19 -0
- package/dist/mcp-tool/document-tool/recall/type.js +2 -0
- package/dist/mcp-tool/index.d.ts +5 -0
- package/dist/mcp-tool/index.js +21 -0
- package/dist/mcp-tool/mcp-tool.d.ts +52 -0
- package/dist/mcp-tool/mcp-tool.js +198 -0
- package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.d.ts +6 -0
- package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.js +303 -0
- package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.d.ts +4 -0
- package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.js +63 -0
- package/dist/mcp-tool/tools/en/builtin-tools/index.d.ts +4 -0
- package/dist/mcp-tool/tools/en/builtin-tools/index.js +6 -0
- package/dist/mcp-tool/tools/en/gen-tools/index.d.ts +113 -0
- package/dist/mcp-tool/tools/en/gen-tools/index.js +127 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.d.ts +562 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.js +264 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.d.ts +912 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.js +449 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.d.ts +1213 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.js +560 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.d.ts +2530 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.js +949 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.d.ts +80 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.js +53 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.d.ts +1008 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.js +775 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.d.ts +3928 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.js +1602 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.d.ts +6043 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.js +1857 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.d.ts +151 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.js +71 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.d.ts +26 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.js +17 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.d.ts +2174 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.js +594 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.d.ts +755 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.js +234 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.d.ts +3541 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.js +1786 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.d.ts +40 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.js +18 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.d.ts +2075 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.js +1594 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.d.ts +528 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.js +260 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.d.ts +189 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.js +132 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.d.ts +4274 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.js +2583 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.d.ts +16873 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.js +5045 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.d.ts +29387 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.js +7787 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.d.ts +4274 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.js +1367 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.d.ts +58 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.js +28 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.d.ts +93466 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.js +14350 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.d.ts +3251 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.js +1422 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.d.ts +174 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.js +117 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.d.ts +86 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.js +48 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.d.ts +44 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.js +17 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.d.ts +733 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.js +285 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.d.ts +10076 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.js +6065 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.d.ts +158 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.js +61 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.d.ts +70 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.js +27 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.d.ts +3043 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.js +1869 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.d.ts +2176 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.js +460 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.d.ts +2301 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.js +669 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.d.ts +2462 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.js +1655 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.d.ts +104 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.js +45 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.d.ts +329 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.js +78 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.d.ts +92 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.js +62 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.d.ts +52 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.js +24 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.d.ts +1628 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.js +434 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.js +17 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.d.ts +131 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.js +59 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.d.ts +333 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.js +176 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.d.ts +309 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.js +178 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.d.ts +1177 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.js +559 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.d.ts +640 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.js +303 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.d.ts +192 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.js +71 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.d.ts +1695 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.js +446 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.js +32 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.d.ts +979 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.js +721 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.js +65 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.d.ts +1161 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.js +672 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.d.ts +6051 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.js +1970 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.d.ts +31 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.js +24 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.d.ts +80 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.js +37 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.d.ts +182 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.js +141 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.d.ts +5725 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.js +1751 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.d.ts +21 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.js +14 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.d.ts +72 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.js +19 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.d.ts +843 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.js +381 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.d.ts +116 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.js +77 -0
- package/dist/mcp-tool/tools/index.d.ts +104 -0
- package/dist/mcp-tool/tools/index.js +9 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.d.ts +6 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.js +282 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.d.ts +4 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.js +63 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/index.d.ts +4 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/index.js +6 -0
- package/dist/mcp-tool/tools/zh/gen-tools/index.d.ts +113 -0
- package/dist/mcp-tool/tools/zh/gen-tools/index.js +127 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.d.ts +562 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.js +277 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.d.ts +912 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.js +430 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.d.ts +1213 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.js +541 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.d.ts +2530 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.js +885 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.d.ts +80 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.js +59 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.d.ts +1007 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.js +721 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.d.ts +3928 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.js +1532 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.d.ts +6043 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.js +1620 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.d.ts +151 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.js +87 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.d.ts +26 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.js +17 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.d.ts +2174 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.js +574 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.d.ts +755 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.js +270 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.d.ts +3541 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.js +1864 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.d.ts +40 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.js +18 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.d.ts +2075 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.js +1533 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.d.ts +528 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.js +248 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.d.ts +189 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.js +130 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.d.ts +4274 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.js +2394 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.d.ts +16957 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.js +4753 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.d.ts +29869 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.js +7902 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.d.ts +4324 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.js +1340 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.d.ts +58 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.js +26 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.d.ts +116719 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.js +14949 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.d.ts +3251 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.js +1395 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.d.ts +174 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.js +115 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.d.ts +86 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.js +48 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.d.ts +44 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.js +25 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.d.ts +733 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.js +279 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.d.ts +10085 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.js +5787 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.d.ts +158 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.js +64 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.d.ts +70 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.js +27 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.d.ts +3043 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.js +1812 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.d.ts +2176 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.js +454 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.d.ts +2301 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.js +650 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.d.ts +2465 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.js +1467 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.d.ts +104 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.js +45 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.d.ts +329 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.js +76 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.d.ts +92 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.js +62 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.d.ts +52 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.js +20 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.d.ts +1664 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.js +455 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.js +17 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.d.ts +131 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.js +53 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.d.ts +609 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.js +321 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.d.ts +309 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.js +165 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.d.ts +1177 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.js +525 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.d.ts +640 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.js +295 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.d.ts +194 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.js +72 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.d.ts +1695 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.js +556 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.js +32 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.d.ts +979 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.js +821 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.js +65 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.d.ts +1161 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.js +647 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.d.ts +6077 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.js +1894 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.d.ts +31 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.js +24 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.d.ts +80 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.js +37 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.d.ts +182 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.js +137 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.d.ts +5725 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.js +1640 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.d.ts +21 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.js +14 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.d.ts +72 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.js +34 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.d.ts +843 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.js +376 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.d.ts +116 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.js +77 -0
- package/dist/mcp-tool/types/index.d.ts +53 -0
- package/dist/mcp-tool/types/index.js +9 -0
- package/dist/mcp-tool/utils/case-transf.d.ts +2 -0
- package/dist/mcp-tool/utils/case-transf.js +15 -0
- package/dist/mcp-tool/utils/filter-tools.d.ts +2 -0
- package/dist/mcp-tool/utils/filter-tools.js +27 -0
- package/dist/mcp-tool/utils/get-should-use-uat.d.ts +2 -0
- package/dist/mcp-tool/utils/get-should-use-uat.js +18 -0
- package/dist/mcp-tool/utils/handler.d.ts +2 -0
- package/dist/mcp-tool/utils/handler.js +92 -0
- package/dist/mcp-tool/utils/index.d.ts +4 -0
- package/dist/mcp-tool/utils/index.js +20 -0
- package/dist/utils/clean-env-args.d.ts +1 -0
- package/dist/utils/clean-env-args.js +12 -0
- package/dist/utils/constants.d.ts +18 -0
- package/dist/utils/constants.js +35 -0
- package/dist/utils/http-instance.d.ts +2 -0
- package/dist/utils/http-instance.js +21 -0
- package/dist/utils/logger.d.ts +22 -0
- package/dist/utils/logger.js +97 -0
- package/dist/utils/noop.d.ts +1 -0
- package/dist/utils/noop.js +6 -0
- package/dist/utils/parser-string-array.d.ts +1 -0
- package/dist/utils/parser-string-array.js +13 -0
- package/dist/utils/safe-json-parse.d.ts +1 -0
- package/dist/utils/safe-json-parse.js +14 -0
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.js +52 -0
- package/docs/development/mcp-develop-and-publish.md +273 -0
- package/docs/examples/read-wiki-with-board.md +114 -0
- package/docs/examples/wiki-board-architecture-summary.md +88 -0
- package/docs/recall-mcp/README.md +137 -0
- package/docs/recall-mcp/README_ZH.md +137 -0
- package/docs/reference/cli/cli-zh.md +92 -0
- package/docs/reference/cli/cli.md +92 -0
- package/docs/reference/tool-presets/presets-zh.md +122 -0
- package/docs/reference/tool-presets/presets.md +122 -0
- package/docs/reference/tool-presets/tools-en.md +1516 -0
- package/docs/reference/tool-presets/tools-zh.md +1533 -0
- package/docs/troubleshooting/faq-zh.md +67 -0
- package/docs/troubleshooting/faq.md +67 -0
- package/docs/usage/bitfire-lark-mcp-setup.md +119 -0
- package/docs/usage/configuration/configuration-zh.md +344 -0
- package/docs/usage/configuration/configuration.md +344 -0
- package/docs/usage/docker/docker-zh.md +101 -0
- package/docs/usage/docker/docker.md +106 -0
- package/package.json +64 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BLOCK_TYPE = void 0;
|
|
4
|
+
exports.extractTextFromElements = extractTextFromElements;
|
|
5
|
+
exports.extractBlockText = extractBlockText;
|
|
6
|
+
exports.headingPrefix = headingPrefix;
|
|
7
|
+
exports.formatTableMarkdown = formatTableMarkdown;
|
|
8
|
+
/** 从文本元素列表中提取纯文本 */
|
|
9
|
+
function extractTextFromElements(elements) {
|
|
10
|
+
if (!(elements === null || elements === void 0 ? void 0 : elements.length))
|
|
11
|
+
return '';
|
|
12
|
+
return elements
|
|
13
|
+
.map((el) => {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
if ((_a = el.text_run) === null || _a === void 0 ? void 0 : _a.content)
|
|
16
|
+
return el.text_run.content;
|
|
17
|
+
if (el.mention_user)
|
|
18
|
+
return '@用户';
|
|
19
|
+
if ((_b = el.mention_doc) === null || _b === void 0 ? void 0 : _b.title)
|
|
20
|
+
return `@文档: ${el.mention_doc.title}`;
|
|
21
|
+
if ((_c = el.mention_doc) === null || _c === void 0 ? void 0 : _c.url)
|
|
22
|
+
return '@文档';
|
|
23
|
+
return '';
|
|
24
|
+
})
|
|
25
|
+
.join('');
|
|
26
|
+
}
|
|
27
|
+
/** 从 block.text 提取纯文本 */
|
|
28
|
+
function extractBlockText(block) {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
if (!((_b = (_a = block === null || block === void 0 ? void 0 : block.text) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.length))
|
|
31
|
+
return '';
|
|
32
|
+
return extractTextFromElements(block.text.elements);
|
|
33
|
+
}
|
|
34
|
+
/** Block 类型枚举(与飞书 API 一致) */
|
|
35
|
+
exports.BLOCK_TYPE = {
|
|
36
|
+
PAGE: 1,
|
|
37
|
+
TEXT: 2,
|
|
38
|
+
HEADING1: 3,
|
|
39
|
+
HEADING2: 4,
|
|
40
|
+
HEADING3: 5,
|
|
41
|
+
HEADING4: 6,
|
|
42
|
+
HEADING5: 7,
|
|
43
|
+
HEADING6: 8,
|
|
44
|
+
HEADING7: 9,
|
|
45
|
+
HEADING8: 10,
|
|
46
|
+
HEADING9: 11,
|
|
47
|
+
BULLET: 12,
|
|
48
|
+
ORDERED: 13,
|
|
49
|
+
CODE: 14,
|
|
50
|
+
QUOTE: 15,
|
|
51
|
+
TODO: 17,
|
|
52
|
+
BITABLE: 18,
|
|
53
|
+
CALLOUT: 19,
|
|
54
|
+
CHAT_CARD: 20,
|
|
55
|
+
DIAGRAM: 21,
|
|
56
|
+
DIVIDER: 22,
|
|
57
|
+
FILE: 23,
|
|
58
|
+
GRID: 24,
|
|
59
|
+
GRID_COLUMN: 25,
|
|
60
|
+
IFRAME: 26,
|
|
61
|
+
IMAGE: 27,
|
|
62
|
+
ISV: 28,
|
|
63
|
+
MINDNOTE: 29,
|
|
64
|
+
SHEET: 30,
|
|
65
|
+
TABLE: 31,
|
|
66
|
+
TABLE_CELL: 32,
|
|
67
|
+
VIEW: 33,
|
|
68
|
+
QUOTE_CONTAINER: 34,
|
|
69
|
+
TASK: 35,
|
|
70
|
+
OKR: 36,
|
|
71
|
+
BOARD: 37,
|
|
72
|
+
LINK_PREVIEW: 38,
|
|
73
|
+
/** 画板(文档内嵌画板,部分 API 版本返回 43) */
|
|
74
|
+
BOARD_DOCX: 43,
|
|
75
|
+
};
|
|
76
|
+
/** 标题层级对应 Markdown 前缀 */
|
|
77
|
+
function headingPrefix(blockType) {
|
|
78
|
+
const level = blockType - exports.BLOCK_TYPE.HEADING1 + 1;
|
|
79
|
+
if (level >= 1 && level <= 9)
|
|
80
|
+
return '#'.repeat(level) + ' ';
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
/** 将表格块及其子单元格块格式化为 Markdown 表格 */
|
|
84
|
+
function formatTableMarkdown(tableBlock, cellBlocks, tableProp) {
|
|
85
|
+
var _a, _b, _c;
|
|
86
|
+
const rowSize = (_a = tableProp === null || tableProp === void 0 ? void 0 : tableProp.row_size) !== null && _a !== void 0 ? _a : 0;
|
|
87
|
+
const columnSize = (_b = tableProp === null || tableProp === void 0 ? void 0 : tableProp.column_size) !== null && _b !== void 0 ? _b : 0;
|
|
88
|
+
if (rowSize <= 0 || columnSize <= 0) {
|
|
89
|
+
return '[表格](无法解析行列数)\n';
|
|
90
|
+
}
|
|
91
|
+
const cells = [];
|
|
92
|
+
for (let r = 0; r < rowSize; r++) {
|
|
93
|
+
cells[r] = [];
|
|
94
|
+
for (let c = 0; c < columnSize; c++) {
|
|
95
|
+
const idx = r * columnSize + c;
|
|
96
|
+
const cell = cellBlocks[idx];
|
|
97
|
+
const text = cell ? extractBlockText(cell) : '';
|
|
98
|
+
cells[r][c] = text.replace(/\|/g, '\\|').replace(/\n/g, ' ');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const lines = [];
|
|
102
|
+
for (let r = 0; r < rowSize; r++) {
|
|
103
|
+
lines.push('| ' + cells[r].join(' | ') + ' |');
|
|
104
|
+
if (r === 0 && ((_c = tableProp === null || tableProp === void 0 ? void 0 : tableProp.header_row) !== null && _c !== void 0 ? _c : true)) {
|
|
105
|
+
lines.push('| ' + Array(columnSize).fill('---').join(' | ') + ' |');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return lines.join('\n') + '\n';
|
|
109
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BLOCK_TYPE = exports.extractTextFromElements = exports.extractBlockText = exports.readDocxFullContent = void 0;
|
|
4
|
+
var reader_1 = require("./reader");
|
|
5
|
+
Object.defineProperty(exports, "readDocxFullContent", { enumerable: true, get: function () { return reader_1.readDocxFullContent; } });
|
|
6
|
+
var extract_text_1 = require("./extract-text");
|
|
7
|
+
Object.defineProperty(exports, "extractBlockText", { enumerable: true, get: function () { return extract_text_1.extractBlockText; } });
|
|
8
|
+
Object.defineProperty(exports, "extractTextFromElements", { enumerable: true, get: function () { return extract_text_1.extractTextFromElements; } });
|
|
9
|
+
Object.defineProperty(exports, "BLOCK_TYPE", { enumerable: true, get: function () { return extract_text_1.BLOCK_TYPE; } });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Client } from '@larksuiteoapi/node-sdk';
|
|
2
|
+
import type { ReadFullContentOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* 将文档所有块转换为可读文本(含表格、流程图等描述)
|
|
5
|
+
*/
|
|
6
|
+
export declare function readDocxFullContent(client: Client, options: ReadFullContentOptions & {
|
|
7
|
+
useUAT: boolean;
|
|
8
|
+
userAccessToken?: string;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
title?: string;
|
|
11
|
+
content: string;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.readDocxFullContent = readDocxFullContent;
|
|
37
|
+
const lark = __importStar(require("@larksuiteoapi/node-sdk"));
|
|
38
|
+
const extract_text_1 = require("./extract-text");
|
|
39
|
+
const whiteboard_1 = require("./whiteboard");
|
|
40
|
+
const DEFAULT_PAGE_SIZE = 200;
|
|
41
|
+
/**
|
|
42
|
+
* 拉取文档所有块(分页)
|
|
43
|
+
*/
|
|
44
|
+
async function fetchAllBlocks(client, documentId, options) {
|
|
45
|
+
var _a, _b, _c;
|
|
46
|
+
const items = [];
|
|
47
|
+
let pageToken;
|
|
48
|
+
const call = options.useUAT && options.userAccessToken
|
|
49
|
+
? (params) => client.docx.v1.documentBlock.list(params, lark.withUserAccessToken(options.userAccessToken))
|
|
50
|
+
: (params) => client.docx.v1.documentBlock.list(params);
|
|
51
|
+
do {
|
|
52
|
+
const res = await call({
|
|
53
|
+
path: { document_id: documentId },
|
|
54
|
+
params: {
|
|
55
|
+
page_size: (_a = options.pageSize) !== null && _a !== void 0 ? _a : DEFAULT_PAGE_SIZE,
|
|
56
|
+
page_token: pageToken,
|
|
57
|
+
document_revision_id: options.documentRevisionId,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
const data = ((_b = res === null || res === void 0 ? void 0 : res.data) !== null && _b !== void 0 ? _b : res);
|
|
61
|
+
if ((_c = data.items) === null || _c === void 0 ? void 0 : _c.length)
|
|
62
|
+
items.push(...data.items);
|
|
63
|
+
pageToken = data.has_more ? data.page_token : undefined;
|
|
64
|
+
} while (pageToken);
|
|
65
|
+
return items;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 将文档所有块转换为可读文本(含表格、流程图等描述)
|
|
69
|
+
*/
|
|
70
|
+
async function readDocxFullContent(client, options) {
|
|
71
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
72
|
+
const { documentId, documentRevisionId, pageSize } = options;
|
|
73
|
+
const docCall = options.useUAT && options.userAccessToken
|
|
74
|
+
? (params) => client.docx.v1.document.get(params, lark.withUserAccessToken(options.userAccessToken))
|
|
75
|
+
: (params) => client.docx.v1.document.get(params);
|
|
76
|
+
let title = '';
|
|
77
|
+
try {
|
|
78
|
+
const docRes = await docCall({ path: { document_id: documentId } });
|
|
79
|
+
const docData = (_a = docRes === null || docRes === void 0 ? void 0 : docRes.data) !== null && _a !== void 0 ? _a : docRes;
|
|
80
|
+
title = (_c = (_b = docData === null || docData === void 0 ? void 0 : docData.document) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '';
|
|
81
|
+
}
|
|
82
|
+
catch (_y) {
|
|
83
|
+
// 仅读块时可能无权限 get document,继续用 blocks
|
|
84
|
+
}
|
|
85
|
+
const blocks = await fetchAllBlocks(client, documentId, {
|
|
86
|
+
useUAT: options.useUAT,
|
|
87
|
+
userAccessToken: options.userAccessToken,
|
|
88
|
+
pageSize,
|
|
89
|
+
documentRevisionId,
|
|
90
|
+
});
|
|
91
|
+
const blockMap = new Map();
|
|
92
|
+
for (const b of blocks) {
|
|
93
|
+
if (b.block_id)
|
|
94
|
+
blockMap.set(b.block_id, b);
|
|
95
|
+
}
|
|
96
|
+
const out = [];
|
|
97
|
+
if (title)
|
|
98
|
+
out.push(`# ${title}\n`);
|
|
99
|
+
let i = 0;
|
|
100
|
+
while (i < blocks.length) {
|
|
101
|
+
const block = blocks[i];
|
|
102
|
+
const blockType = (_d = block.block_type) !== null && _d !== void 0 ? _d : 0;
|
|
103
|
+
switch (blockType) {
|
|
104
|
+
case extract_text_1.BLOCK_TYPE.PAGE:
|
|
105
|
+
break;
|
|
106
|
+
case extract_text_1.BLOCK_TYPE.TEXT: {
|
|
107
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
108
|
+
if (t)
|
|
109
|
+
out.push(t + '\n');
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
case extract_text_1.BLOCK_TYPE.HEADING1:
|
|
113
|
+
case extract_text_1.BLOCK_TYPE.HEADING2:
|
|
114
|
+
case extract_text_1.BLOCK_TYPE.HEADING3:
|
|
115
|
+
case extract_text_1.BLOCK_TYPE.HEADING4:
|
|
116
|
+
case extract_text_1.BLOCK_TYPE.HEADING5:
|
|
117
|
+
case extract_text_1.BLOCK_TYPE.HEADING6:
|
|
118
|
+
case extract_text_1.BLOCK_TYPE.HEADING7:
|
|
119
|
+
case extract_text_1.BLOCK_TYPE.HEADING8:
|
|
120
|
+
case extract_text_1.BLOCK_TYPE.HEADING9: {
|
|
121
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
122
|
+
out.push((0, extract_text_1.headingPrefix)(blockType) + t + '\n');
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case extract_text_1.BLOCK_TYPE.BULLET: {
|
|
126
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
127
|
+
if (t)
|
|
128
|
+
out.push('- ' + t + '\n');
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case extract_text_1.BLOCK_TYPE.ORDERED: {
|
|
132
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
133
|
+
if (t)
|
|
134
|
+
out.push('1. ' + t + '\n');
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
case extract_text_1.BLOCK_TYPE.CODE: {
|
|
138
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
139
|
+
out.push('```\n' + (t || '') + '\n```\n');
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case extract_text_1.BLOCK_TYPE.QUOTE: {
|
|
143
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
144
|
+
if (t)
|
|
145
|
+
out.push('> ' + t.replace(/\n/g, '\n> ') + '\n');
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case extract_text_1.BLOCK_TYPE.TODO: {
|
|
149
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
150
|
+
if (t)
|
|
151
|
+
out.push('- [ ] ' + t + '\n');
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case extract_text_1.BLOCK_TYPE.DIVIDER:
|
|
155
|
+
out.push('---\n');
|
|
156
|
+
break;
|
|
157
|
+
case extract_text_1.BLOCK_TYPE.TABLE: {
|
|
158
|
+
const prop = (_e = block.table) === null || _e === void 0 ? void 0 : _e.property;
|
|
159
|
+
const rowSize = (_f = prop === null || prop === void 0 ? void 0 : prop.row_size) !== null && _f !== void 0 ? _f : 0;
|
|
160
|
+
const columnSize = (_g = prop === null || prop === void 0 ? void 0 : prop.column_size) !== null && _g !== void 0 ? _g : 0;
|
|
161
|
+
const cellCount = rowSize * columnSize;
|
|
162
|
+
const cellBlocks = [];
|
|
163
|
+
for (let j = 1; j <= cellCount && i + j < blocks.length; j++) {
|
|
164
|
+
const next = blocks[i + j];
|
|
165
|
+
if ((next === null || next === void 0 ? void 0 : next.block_type) === extract_text_1.BLOCK_TYPE.TABLE_CELL) {
|
|
166
|
+
cellBlocks.push(next);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
out.push((0, extract_text_1.formatTableMarkdown)(block, cellBlocks, prop));
|
|
173
|
+
i += cellBlocks.length;
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
case extract_text_1.BLOCK_TYPE.TABLE_CELL:
|
|
177
|
+
// 已在上方 Table 分支中处理,不应单独出现(若出现则跳过)
|
|
178
|
+
break;
|
|
179
|
+
case extract_text_1.BLOCK_TYPE.SHEET:
|
|
180
|
+
out.push('[电子表格]');
|
|
181
|
+
if (((_h = block.sheet) === null || _h === void 0 ? void 0 : _h.row_size) != null || ((_j = block.sheet) === null || _j === void 0 ? void 0 : _j.column_size) != null) {
|
|
182
|
+
out.push(` (${(_k = block.sheet.row_size) !== null && _k !== void 0 ? _k : '-'} 行 × ${(_l = block.sheet.column_size) !== null && _l !== void 0 ? _l : '-'} 列)`);
|
|
183
|
+
}
|
|
184
|
+
out.push('\n');
|
|
185
|
+
break;
|
|
186
|
+
case extract_text_1.BLOCK_TYPE.BITABLE:
|
|
187
|
+
out.push('[多维表格]\n');
|
|
188
|
+
break;
|
|
189
|
+
case extract_text_1.BLOCK_TYPE.DIAGRAM:
|
|
190
|
+
if ((_m = block.diagram) === null || _m === void 0 ? void 0 : _m.content) {
|
|
191
|
+
out.push('【流程图/UML】\n' + block.diagram.content + '\n');
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
out.push('[流程图 / UML 图]\n');
|
|
195
|
+
}
|
|
196
|
+
break;
|
|
197
|
+
case extract_text_1.BLOCK_TYPE.IMAGE:
|
|
198
|
+
out.push('[图片]\n');
|
|
199
|
+
break;
|
|
200
|
+
case extract_text_1.BLOCK_TYPE.FILE:
|
|
201
|
+
out.push('[文件]\n');
|
|
202
|
+
break;
|
|
203
|
+
case extract_text_1.BLOCK_TYPE.IFRAME:
|
|
204
|
+
if ((_p = (_o = block.iframe) === null || _o === void 0 ? void 0 : _o.component) === null || _p === void 0 ? void 0 : _p.url) {
|
|
205
|
+
out.push('[内嵌链接] ' + block.iframe.component.url + '\n');
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
out.push('[内嵌内容]\n');
|
|
209
|
+
}
|
|
210
|
+
break;
|
|
211
|
+
case extract_text_1.BLOCK_TYPE.CALLOUT: {
|
|
212
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
213
|
+
if (t)
|
|
214
|
+
out.push('> ' + t.replace(/\n/g, '\n> ') + '\n');
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
case extract_text_1.BLOCK_TYPE.MINDNOTE:
|
|
218
|
+
out.push('[思维笔记]\n');
|
|
219
|
+
break;
|
|
220
|
+
case extract_text_1.BLOCK_TYPE.GRID:
|
|
221
|
+
case extract_text_1.BLOCK_TYPE.GRID_COLUMN:
|
|
222
|
+
// 分栏:子块会按顺序出现在后面,文本会在子块中提取,此处仅做占位或跳过
|
|
223
|
+
break;
|
|
224
|
+
case extract_text_1.BLOCK_TYPE.BOARD:
|
|
225
|
+
case extract_text_1.BLOCK_TYPE.BOARD_DOCX:
|
|
226
|
+
case extract_text_1.BLOCK_TYPE.VIEW: {
|
|
227
|
+
const viewBlock = block;
|
|
228
|
+
let whiteboardId = (_u = (_s = (_q = block.token) !== null && _q !== void 0 ? _q : (_r = viewBlock.view) === null || _r === void 0 ? void 0 : _r.token) !== null && _s !== void 0 ? _s : (_t = viewBlock.view) === null || _t === void 0 ? void 0 : _t.whiteboard_token) !== null && _u !== void 0 ? _u : (_v = viewBlock.board) === null || _v === void 0 ? void 0 : _v.token;
|
|
229
|
+
if (!whiteboardId && viewBlock.view && typeof viewBlock.view === 'object') {
|
|
230
|
+
const v = viewBlock.view;
|
|
231
|
+
whiteboardId = [v.whiteboard_token, v.whiteboard_id, v.token, v.board_token].find((x) => typeof x === 'string' && x.length > 0);
|
|
232
|
+
}
|
|
233
|
+
if (whiteboardId) {
|
|
234
|
+
try {
|
|
235
|
+
const nodes = await (0, whiteboard_1.fetchWhiteboardNodes)(client, whiteboardId, {
|
|
236
|
+
useUAT: options.useUAT,
|
|
237
|
+
userAccessToken: options.userAccessToken,
|
|
238
|
+
});
|
|
239
|
+
const nodeText = (0, whiteboard_1.formatWhiteboardNodes)(nodes);
|
|
240
|
+
if (nodeText && !nodeText.includes('(画板无节点)')) {
|
|
241
|
+
out.push('[画板]\n' + nodeText + '\n');
|
|
242
|
+
}
|
|
243
|
+
else if (nodes.length > 0) {
|
|
244
|
+
out.push('[画板]\n' + nodeText + '\n');
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
out.push('[画板]\n(已请求画板节点接口,返回 0 个节点;可能需应用具备「画板」相关权限)\n');
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
catch (e) {
|
|
251
|
+
const msg = (_w = e === null || e === void 0 ? void 0 : e.message) !== null && _w !== void 0 ? _w : '';
|
|
252
|
+
out.push('[画板]\n(拉取画板节点失败: ' + (msg.slice(0, 80) || '未知错误') + ')\n');
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
const keys = Object.keys(block).filter((k) => !k.startsWith('_')).join(', ');
|
|
257
|
+
out.push('[画板]\n(未获取到画板 ID,无法拉取节点;当前块字段: ' + keys + ')\n');
|
|
258
|
+
}
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
case extract_text_1.BLOCK_TYPE.LINK_PREVIEW:
|
|
262
|
+
if ((_x = block.link_preview) === null || _x === void 0 ? void 0 : _x.url) {
|
|
263
|
+
out.push('[链接] ' +
|
|
264
|
+
block.link_preview.url +
|
|
265
|
+
'\n');
|
|
266
|
+
}
|
|
267
|
+
break;
|
|
268
|
+
case extract_text_1.BLOCK_TYPE.CHAT_CARD:
|
|
269
|
+
case extract_text_1.BLOCK_TYPE.ISV:
|
|
270
|
+
case extract_text_1.BLOCK_TYPE.QUOTE_CONTAINER:
|
|
271
|
+
case extract_text_1.BLOCK_TYPE.TASK:
|
|
272
|
+
case extract_text_1.BLOCK_TYPE.OKR:
|
|
273
|
+
default: {
|
|
274
|
+
const t = (0, extract_text_1.extractBlockText)(block);
|
|
275
|
+
if (t)
|
|
276
|
+
out.push(t + '\n');
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
i++;
|
|
281
|
+
}
|
|
282
|
+
return { title: title || undefined, content: out.join('').trim() };
|
|
283
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 飞书 docx 文档块 API 返回的块结构(与 documentBlock.list 一致)
|
|
3
|
+
*/
|
|
4
|
+
export interface DocxBlockTextElement {
|
|
5
|
+
text_run?: {
|
|
6
|
+
content?: string;
|
|
7
|
+
};
|
|
8
|
+
mention_user?: {
|
|
9
|
+
user_id?: string;
|
|
10
|
+
};
|
|
11
|
+
mention_doc?: {
|
|
12
|
+
url?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface DocxBlockText {
|
|
17
|
+
elements?: DocxBlockTextElement[];
|
|
18
|
+
}
|
|
19
|
+
export interface DocxBlockTableProperty {
|
|
20
|
+
row_size?: number;
|
|
21
|
+
column_size?: number;
|
|
22
|
+
header_row?: boolean;
|
|
23
|
+
header_column?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface DocxBlockTable {
|
|
26
|
+
property?: DocxBlockTableProperty;
|
|
27
|
+
}
|
|
28
|
+
export interface DocxBlockSheet {
|
|
29
|
+
row_size?: number;
|
|
30
|
+
column_size?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface DocxBlockDiagram {
|
|
33
|
+
diagram_type?: number;
|
|
34
|
+
/** 流程图 / UML 的文本描述或数据,部分类型可能包含 content */
|
|
35
|
+
content?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface DocxBlockItem {
|
|
38
|
+
block_id?: string;
|
|
39
|
+
block_type?: number;
|
|
40
|
+
parent_id?: string;
|
|
41
|
+
children?: string[];
|
|
42
|
+
index?: number;
|
|
43
|
+
text?: DocxBlockText;
|
|
44
|
+
table?: DocxBlockTable;
|
|
45
|
+
sheet?: DocxBlockSheet;
|
|
46
|
+
diagram?: DocxBlockDiagram;
|
|
47
|
+
bitable?: {
|
|
48
|
+
view_type?: number;
|
|
49
|
+
};
|
|
50
|
+
grid?: {
|
|
51
|
+
column_size?: number;
|
|
52
|
+
};
|
|
53
|
+
image?: unknown;
|
|
54
|
+
file?: unknown;
|
|
55
|
+
iframe?: {
|
|
56
|
+
component?: {
|
|
57
|
+
url?: string;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
callout?: unknown;
|
|
61
|
+
link_preview?: {
|
|
62
|
+
url?: string;
|
|
63
|
+
};
|
|
64
|
+
board?: unknown;
|
|
65
|
+
/** 文档 token(如 Bitable/Sheet 可能带 token) */
|
|
66
|
+
token?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface DocxBlockListResponse {
|
|
69
|
+
items?: DocxBlockItem[];
|
|
70
|
+
page_token?: string;
|
|
71
|
+
has_more?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface ReadFullContentOptions {
|
|
74
|
+
documentId: string;
|
|
75
|
+
lang?: number;
|
|
76
|
+
documentRevisionId?: number;
|
|
77
|
+
pageSize?: number;
|
|
78
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Client } from '@larksuiteoapi/node-sdk';
|
|
2
|
+
/** 画板节点列表 API 返回的单个节点(兼容多种可能字段) */
|
|
3
|
+
export interface WhiteboardNodeItem {
|
|
4
|
+
node_type?: number | string;
|
|
5
|
+
resource_type?: string;
|
|
6
|
+
text?: {
|
|
7
|
+
elements?: Array<{
|
|
8
|
+
content?: string;
|
|
9
|
+
}>;
|
|
10
|
+
};
|
|
11
|
+
content?: string;
|
|
12
|
+
/** 形状/图形节点常见字段 */
|
|
13
|
+
shape?: {
|
|
14
|
+
text?: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
[k: string]: unknown;
|
|
17
|
+
};
|
|
18
|
+
label?: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
body?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
/** 流程图/状态图可能有的子节点与边 */
|
|
24
|
+
nodes?: Array<{
|
|
25
|
+
id?: string;
|
|
26
|
+
label?: string;
|
|
27
|
+
text?: string;
|
|
28
|
+
[k: string]: unknown;
|
|
29
|
+
}>;
|
|
30
|
+
edges?: Array<{
|
|
31
|
+
source?: string;
|
|
32
|
+
target?: string;
|
|
33
|
+
label?: string;
|
|
34
|
+
[k: string]: unknown;
|
|
35
|
+
}>;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
}
|
|
38
|
+
export interface WhiteboardNodesResponse {
|
|
39
|
+
items?: WhiteboardNodeItem[];
|
|
40
|
+
nodes?: WhiteboardNodeItem[];
|
|
41
|
+
node_list?: WhiteboardNodeItem[];
|
|
42
|
+
page_token?: string;
|
|
43
|
+
has_more?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 拉取画板内所有节点(分页)
|
|
47
|
+
*/
|
|
48
|
+
export declare function fetchWhiteboardNodes(client: Client, whiteboardId: string, options: {
|
|
49
|
+
useUAT: boolean;
|
|
50
|
+
userAccessToken?: string;
|
|
51
|
+
}): Promise<WhiteboardNodeItem[]>;
|
|
52
|
+
/** 将画板节点列表格式化为可读文本(含类型标注,便于状态流转图) */
|
|
53
|
+
export declare function formatWhiteboardNodes(nodes: WhiteboardNodeItem[]): string;
|