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.
Files changed (395) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/LICENSE +9 -0
  3. package/README.md +217 -0
  4. package/README_ZH.md +214 -0
  5. package/dist/auth/config.d.ts +12 -0
  6. package/dist/auth/config.js +17 -0
  7. package/dist/auth/handler/handler-local.d.ts +21 -0
  8. package/dist/auth/handler/handler-local.js +123 -0
  9. package/dist/auth/handler/handler.d.ts +32 -0
  10. package/dist/auth/handler/handler.js +117 -0
  11. package/dist/auth/handler/index.d.ts +2 -0
  12. package/dist/auth/handler/index.js +18 -0
  13. package/dist/auth/index.d.ts +4 -0
  14. package/dist/auth/index.js +20 -0
  15. package/dist/auth/provider/index.d.ts +3 -0
  16. package/dist/auth/provider/index.js +19 -0
  17. package/dist/auth/provider/oauth.d.ts +18 -0
  18. package/dist/auth/provider/oauth.js +147 -0
  19. package/dist/auth/provider/oidc.d.ts +18 -0
  20. package/dist/auth/provider/oidc.js +172 -0
  21. package/dist/auth/provider/types.d.ts +8 -0
  22. package/dist/auth/provider/types.js +2 -0
  23. package/dist/auth/store.d.ts +39 -0
  24. package/dist/auth/store.js +213 -0
  25. package/dist/auth/types.d.ts +13 -0
  26. package/dist/auth/types.js +2 -0
  27. package/dist/auth/utils/encryption.d.ts +7 -0
  28. package/dist/auth/utils/encryption.js +40 -0
  29. package/dist/auth/utils/index.d.ts +3 -0
  30. package/dist/auth/utils/index.js +19 -0
  31. package/dist/auth/utils/is-token-valid.d.ts +7 -0
  32. package/dist/auth/utils/is-token-valid.js +28 -0
  33. package/dist/auth/utils/pkce.d.ts +6 -0
  34. package/dist/auth/utils/pkce.js +20 -0
  35. package/dist/auth/utils/storage-manager.d.ts +17 -0
  36. package/dist/auth/utils/storage-manager.js +135 -0
  37. package/dist/cli/index.d.ts +1 -0
  38. package/dist/cli/index.js +5 -0
  39. package/dist/cli/login-handler.d.ts +16 -0
  40. package/dist/cli/login-handler.js +142 -0
  41. package/dist/cli.d.ts +4 -0
  42. package/dist/cli.js +122 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.js +19 -0
  45. package/dist/mcp-server/index.d.ts +2 -0
  46. package/dist/mcp-server/index.js +18 -0
  47. package/dist/mcp-server/shared/index.d.ts +2 -0
  48. package/dist/mcp-server/shared/index.js +18 -0
  49. package/dist/mcp-server/shared/init.d.ts +10 -0
  50. package/dist/mcp-server/shared/init.js +121 -0
  51. package/dist/mcp-server/shared/types.d.ts +40 -0
  52. package/dist/mcp-server/shared/types.js +10 -0
  53. package/dist/mcp-server/transport/index.d.ts +3 -0
  54. package/dist/mcp-server/transport/index.js +19 -0
  55. package/dist/mcp-server/transport/sse.d.ts +2 -0
  56. package/dist/mcp-server/transport/sse.js +75 -0
  57. package/dist/mcp-server/transport/stdio.d.ts +2 -0
  58. package/dist/mcp-server/transport/stdio.js +36 -0
  59. package/dist/mcp-server/transport/streamable.d.ts +2 -0
  60. package/dist/mcp-server/transport/streamable.js +86 -0
  61. package/dist/mcp-server/transport/utils.d.ts +16 -0
  62. package/dist/mcp-server/transport/utils.js +34 -0
  63. package/dist/mcp-tool/constants.d.ts +49 -0
  64. package/dist/mcp-tool/constants.js +118 -0
  65. package/dist/mcp-tool/document-tool/index.d.ts +1 -0
  66. package/dist/mcp-tool/document-tool/index.js +17 -0
  67. package/dist/mcp-tool/document-tool/read-full-content/extract-text.d.ts +53 -0
  68. package/dist/mcp-tool/document-tool/read-full-content/extract-text.js +109 -0
  69. package/dist/mcp-tool/document-tool/read-full-content/index.d.ts +3 -0
  70. package/dist/mcp-tool/document-tool/read-full-content/index.js +9 -0
  71. package/dist/mcp-tool/document-tool/read-full-content/reader.d.ts +12 -0
  72. package/dist/mcp-tool/document-tool/read-full-content/reader.js +283 -0
  73. package/dist/mcp-tool/document-tool/read-full-content/types.d.ts +78 -0
  74. package/dist/mcp-tool/document-tool/read-full-content/types.js +2 -0
  75. package/dist/mcp-tool/document-tool/read-full-content/whiteboard.d.ts +53 -0
  76. package/dist/mcp-tool/document-tool/read-full-content/whiteboard.js +174 -0
  77. package/dist/mcp-tool/document-tool/recall/index.d.ts +2 -0
  78. package/dist/mcp-tool/document-tool/recall/index.js +39 -0
  79. package/dist/mcp-tool/document-tool/recall/request.d.ts +2 -0
  80. package/dist/mcp-tool/document-tool/recall/request.js +25 -0
  81. package/dist/mcp-tool/document-tool/recall/type.d.ts +19 -0
  82. package/dist/mcp-tool/document-tool/recall/type.js +2 -0
  83. package/dist/mcp-tool/index.d.ts +5 -0
  84. package/dist/mcp-tool/index.js +21 -0
  85. package/dist/mcp-tool/mcp-tool.d.ts +52 -0
  86. package/dist/mcp-tool/mcp-tool.js +198 -0
  87. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.d.ts +6 -0
  88. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.js +303 -0
  89. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.d.ts +4 -0
  90. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.js +63 -0
  91. package/dist/mcp-tool/tools/en/builtin-tools/index.d.ts +4 -0
  92. package/dist/mcp-tool/tools/en/builtin-tools/index.js +6 -0
  93. package/dist/mcp-tool/tools/en/gen-tools/index.d.ts +113 -0
  94. package/dist/mcp-tool/tools/en/gen-tools/index.js +127 -0
  95. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.d.ts +562 -0
  96. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.js +264 -0
  97. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.d.ts +912 -0
  98. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.js +449 -0
  99. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.d.ts +1213 -0
  100. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.js +560 -0
  101. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.d.ts +2530 -0
  102. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.js +949 -0
  103. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.d.ts +80 -0
  104. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.js +53 -0
  105. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.d.ts +1008 -0
  106. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.js +775 -0
  107. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.d.ts +3928 -0
  108. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.js +1602 -0
  109. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.d.ts +6043 -0
  110. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.js +1857 -0
  111. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.d.ts +151 -0
  112. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.js +71 -0
  113. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.d.ts +26 -0
  114. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.js +17 -0
  115. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.d.ts +2174 -0
  116. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.js +594 -0
  117. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.d.ts +755 -0
  118. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.js +234 -0
  119. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.d.ts +3541 -0
  120. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.js +1786 -0
  121. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.d.ts +40 -0
  122. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.js +18 -0
  123. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.d.ts +2075 -0
  124. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.js +1594 -0
  125. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.d.ts +528 -0
  126. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.js +260 -0
  127. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.d.ts +189 -0
  128. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.js +132 -0
  129. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.d.ts +4274 -0
  130. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.js +2583 -0
  131. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.d.ts +16873 -0
  132. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.js +5045 -0
  133. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.d.ts +29387 -0
  134. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.js +7787 -0
  135. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.d.ts +4274 -0
  136. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.js +1367 -0
  137. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.d.ts +58 -0
  138. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.js +28 -0
  139. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.d.ts +93466 -0
  140. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.js +14350 -0
  141. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.d.ts +3251 -0
  142. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.js +1422 -0
  143. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.d.ts +174 -0
  144. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.js +117 -0
  145. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.d.ts +86 -0
  146. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.js +48 -0
  147. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.d.ts +44 -0
  148. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.js +17 -0
  149. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  150. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.js +285 -0
  151. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.d.ts +10076 -0
  152. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.js +6065 -0
  153. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.d.ts +158 -0
  154. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.js +61 -0
  155. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  156. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.js +27 -0
  157. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.d.ts +3043 -0
  158. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.js +1869 -0
  159. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.d.ts +2176 -0
  160. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.js +460 -0
  161. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.d.ts +2301 -0
  162. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.js +669 -0
  163. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.d.ts +2462 -0
  164. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.js +1655 -0
  165. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.d.ts +104 -0
  166. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.js +45 -0
  167. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.d.ts +329 -0
  168. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.js +78 -0
  169. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.d.ts +92 -0
  170. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.js +62 -0
  171. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.d.ts +52 -0
  172. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.js +24 -0
  173. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.d.ts +1628 -0
  174. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.js +434 -0
  175. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  176. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  177. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.d.ts +131 -0
  178. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.js +59 -0
  179. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.d.ts +333 -0
  180. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.js +176 -0
  181. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.d.ts +309 -0
  182. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.js +178 -0
  183. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.d.ts +1177 -0
  184. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.js +559 -0
  185. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  186. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.js +303 -0
  187. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.d.ts +192 -0
  188. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.js +71 -0
  189. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.d.ts +1695 -0
  190. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.js +446 -0
  191. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  192. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.js +32 -0
  193. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.d.ts +979 -0
  194. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.js +721 -0
  195. package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
  196. package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.js +65 -0
  197. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.d.ts +1161 -0
  198. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.js +672 -0
  199. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.d.ts +6051 -0
  200. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.js +1970 -0
  201. package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.d.ts +31 -0
  202. package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.js +24 -0
  203. package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.d.ts +80 -0
  204. package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.js +37 -0
  205. package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.d.ts +182 -0
  206. package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.js +141 -0
  207. package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.d.ts +5725 -0
  208. package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.js +1751 -0
  209. package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.d.ts +21 -0
  210. package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.js +14 -0
  211. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.d.ts +72 -0
  212. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.js +19 -0
  213. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.d.ts +843 -0
  214. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.js +381 -0
  215. package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.d.ts +116 -0
  216. package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.js +77 -0
  217. package/dist/mcp-tool/tools/index.d.ts +104 -0
  218. package/dist/mcp-tool/tools/index.js +9 -0
  219. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.d.ts +6 -0
  220. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.js +282 -0
  221. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.d.ts +4 -0
  222. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.js +63 -0
  223. package/dist/mcp-tool/tools/zh/builtin-tools/index.d.ts +4 -0
  224. package/dist/mcp-tool/tools/zh/builtin-tools/index.js +6 -0
  225. package/dist/mcp-tool/tools/zh/gen-tools/index.d.ts +113 -0
  226. package/dist/mcp-tool/tools/zh/gen-tools/index.js +127 -0
  227. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.d.ts +562 -0
  228. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.js +277 -0
  229. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.d.ts +912 -0
  230. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.js +430 -0
  231. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.d.ts +1213 -0
  232. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.js +541 -0
  233. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.d.ts +2530 -0
  234. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.js +885 -0
  235. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.d.ts +80 -0
  236. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.js +59 -0
  237. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.d.ts +1007 -0
  238. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.js +721 -0
  239. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.d.ts +3928 -0
  240. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.js +1532 -0
  241. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.d.ts +6043 -0
  242. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.js +1620 -0
  243. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.d.ts +151 -0
  244. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.js +87 -0
  245. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.d.ts +26 -0
  246. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.js +17 -0
  247. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.d.ts +2174 -0
  248. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.js +574 -0
  249. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.d.ts +755 -0
  250. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.js +270 -0
  251. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.d.ts +3541 -0
  252. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.js +1864 -0
  253. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.d.ts +40 -0
  254. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.js +18 -0
  255. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.d.ts +2075 -0
  256. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.js +1533 -0
  257. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.d.ts +528 -0
  258. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.js +248 -0
  259. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.d.ts +189 -0
  260. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.js +130 -0
  261. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.d.ts +4274 -0
  262. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.js +2394 -0
  263. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.d.ts +16957 -0
  264. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.js +4753 -0
  265. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.d.ts +29869 -0
  266. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.js +7902 -0
  267. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.d.ts +4324 -0
  268. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.js +1340 -0
  269. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.d.ts +58 -0
  270. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.js +26 -0
  271. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.d.ts +116719 -0
  272. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.js +14949 -0
  273. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.d.ts +3251 -0
  274. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.js +1395 -0
  275. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.d.ts +174 -0
  276. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.js +115 -0
  277. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.d.ts +86 -0
  278. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.js +48 -0
  279. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.d.ts +44 -0
  280. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.js +25 -0
  281. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  282. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.js +279 -0
  283. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.d.ts +10085 -0
  284. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.js +5787 -0
  285. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.d.ts +158 -0
  286. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.js +64 -0
  287. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  288. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.js +27 -0
  289. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.d.ts +3043 -0
  290. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.js +1812 -0
  291. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.d.ts +2176 -0
  292. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.js +454 -0
  293. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.d.ts +2301 -0
  294. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.js +650 -0
  295. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.d.ts +2465 -0
  296. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.js +1467 -0
  297. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.d.ts +104 -0
  298. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.js +45 -0
  299. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.d.ts +329 -0
  300. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.js +76 -0
  301. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.d.ts +92 -0
  302. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.js +62 -0
  303. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.d.ts +52 -0
  304. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.js +20 -0
  305. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.d.ts +1664 -0
  306. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.js +455 -0
  307. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  308. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  309. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.d.ts +131 -0
  310. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.js +53 -0
  311. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.d.ts +609 -0
  312. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.js +321 -0
  313. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.d.ts +309 -0
  314. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.js +165 -0
  315. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.d.ts +1177 -0
  316. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.js +525 -0
  317. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  318. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.js +295 -0
  319. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.d.ts +194 -0
  320. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.js +72 -0
  321. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.d.ts +1695 -0
  322. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.js +556 -0
  323. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  324. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.js +32 -0
  325. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.d.ts +979 -0
  326. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.js +821 -0
  327. package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
  328. package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.js +65 -0
  329. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.d.ts +1161 -0
  330. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.js +647 -0
  331. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.d.ts +6077 -0
  332. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.js +1894 -0
  333. package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.d.ts +31 -0
  334. package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.js +24 -0
  335. package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.d.ts +80 -0
  336. package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.js +37 -0
  337. package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.d.ts +182 -0
  338. package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.js +137 -0
  339. package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.d.ts +5725 -0
  340. package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.js +1640 -0
  341. package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.d.ts +21 -0
  342. package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.js +14 -0
  343. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.d.ts +72 -0
  344. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.js +34 -0
  345. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.d.ts +843 -0
  346. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.js +376 -0
  347. package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.d.ts +116 -0
  348. package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.js +77 -0
  349. package/dist/mcp-tool/types/index.d.ts +53 -0
  350. package/dist/mcp-tool/types/index.js +9 -0
  351. package/dist/mcp-tool/utils/case-transf.d.ts +2 -0
  352. package/dist/mcp-tool/utils/case-transf.js +15 -0
  353. package/dist/mcp-tool/utils/filter-tools.d.ts +2 -0
  354. package/dist/mcp-tool/utils/filter-tools.js +27 -0
  355. package/dist/mcp-tool/utils/get-should-use-uat.d.ts +2 -0
  356. package/dist/mcp-tool/utils/get-should-use-uat.js +18 -0
  357. package/dist/mcp-tool/utils/handler.d.ts +2 -0
  358. package/dist/mcp-tool/utils/handler.js +92 -0
  359. package/dist/mcp-tool/utils/index.d.ts +4 -0
  360. package/dist/mcp-tool/utils/index.js +20 -0
  361. package/dist/utils/clean-env-args.d.ts +1 -0
  362. package/dist/utils/clean-env-args.js +12 -0
  363. package/dist/utils/constants.d.ts +18 -0
  364. package/dist/utils/constants.js +35 -0
  365. package/dist/utils/http-instance.d.ts +2 -0
  366. package/dist/utils/http-instance.js +21 -0
  367. package/dist/utils/logger.d.ts +22 -0
  368. package/dist/utils/logger.js +97 -0
  369. package/dist/utils/noop.d.ts +1 -0
  370. package/dist/utils/noop.js +6 -0
  371. package/dist/utils/parser-string-array.d.ts +1 -0
  372. package/dist/utils/parser-string-array.js +13 -0
  373. package/dist/utils/safe-json-parse.d.ts +1 -0
  374. package/dist/utils/safe-json-parse.js +14 -0
  375. package/dist/utils/version.d.ts +1 -0
  376. package/dist/utils/version.js +52 -0
  377. package/docs/development/mcp-develop-and-publish.md +273 -0
  378. package/docs/examples/read-wiki-with-board.md +114 -0
  379. package/docs/examples/wiki-board-architecture-summary.md +88 -0
  380. package/docs/recall-mcp/README.md +137 -0
  381. package/docs/recall-mcp/README_ZH.md +137 -0
  382. package/docs/reference/cli/cli-zh.md +92 -0
  383. package/docs/reference/cli/cli.md +92 -0
  384. package/docs/reference/tool-presets/presets-zh.md +122 -0
  385. package/docs/reference/tool-presets/presets.md +122 -0
  386. package/docs/reference/tool-presets/tools-en.md +1516 -0
  387. package/docs/reference/tool-presets/tools-zh.md +1533 -0
  388. package/docs/troubleshooting/faq-zh.md +67 -0
  389. package/docs/troubleshooting/faq.md +67 -0
  390. package/docs/usage/bitfire-lark-mcp-setup.md +119 -0
  391. package/docs/usage/configuration/configuration-zh.md +344 -0
  392. package/docs/usage/configuration/configuration.md +344 -0
  393. package/docs/usage/docker/docker-zh.md +101 -0
  394. package/docs/usage/docker/docker.md +106 -0
  395. 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,3 @@
1
+ export { readDocxFullContent } from './reader';
2
+ export type { ReadFullContentOptions } from './types';
3
+ export { extractBlockText, extractTextFromElements, BLOCK_TYPE } from './extract-text';
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;