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,40 @@
1
+ import * as larkmcp from '../../mcp-tool';
2
+ import { z } from 'zod';
3
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { LarkAuthHandler } from '../../auth';
5
+ export type McpServerType = 'oapi' | 'recall';
6
+ export type McpServerTransport = 'stdio' | 'sse' | 'streamable';
7
+ export declare const mcpServerOptionSchema: z.ZodObject<{
8
+ tools: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
9
+ language: z.ZodOptional<z.ZodEnum<["zh", "en"]>>;
10
+ toolNameCase: z.ZodOptional<z.ZodEnum<["snake", "camel"]>>;
11
+ tokenMode: z.ZodOptional<z.ZodEnum<["auto", "user_access_token", "tenant_access_token"]>>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ language?: "en" | "zh" | undefined;
14
+ tokenMode?: "auto" | "user_access_token" | "tenant_access_token" | undefined;
15
+ tools?: string | string[] | undefined;
16
+ toolNameCase?: "snake" | "camel" | undefined;
17
+ }, {
18
+ language?: "en" | "zh" | undefined;
19
+ tokenMode?: "auto" | "user_access_token" | "tenant_access_token" | undefined;
20
+ tools?: string | string[] | undefined;
21
+ toolNameCase?: "snake" | "camel" | undefined;
22
+ }>;
23
+ export interface McpServerOptions {
24
+ appId?: string;
25
+ appSecret?: string;
26
+ domain?: string;
27
+ tools?: string[];
28
+ language?: 'zh' | 'en';
29
+ toolNameCase?: larkmcp.ToolNameCase;
30
+ tokenMode?: larkmcp.TokenMode;
31
+ userAccessToken?: string | larkmcp.SettableValue;
32
+ oauth?: boolean;
33
+ scope?: string[];
34
+ mode?: McpServerTransport;
35
+ host?: string;
36
+ port?: number;
37
+ }
38
+ export type InitTransportServerFunction = (getNewServer: (options?: McpServerOptions, authHandler?: LarkAuthHandler) => McpServer, mcpServerOptions: McpServerOptions, authOptions?: {
39
+ needAuthFlow: boolean;
40
+ }) => void | Promise<void>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mcpServerOptionSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.mcpServerOptionSchema = zod_1.z.object({
6
+ tools: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
7
+ language: zod_1.z.enum(['zh', 'en']).optional(),
8
+ toolNameCase: zod_1.z.enum(['snake', 'camel']).optional(),
9
+ tokenMode: zod_1.z.enum(['auto', 'user_access_token', 'tenant_access_token']).optional(),
10
+ });
@@ -0,0 +1,3 @@
1
+ export * from './stdio';
2
+ export * from './sse';
3
+ export * from './streamable';
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./stdio"), exports);
18
+ __exportStar(require("./sse"), exports);
19
+ __exportStar(require("./streamable"), exports);
@@ -0,0 +1,2 @@
1
+ import { InitTransportServerFunction } from '../shared';
2
+ export declare const initSSEServer: InitTransportServerFunction;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.initSSEServer = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const sse_js_1 = require("@modelcontextprotocol/sdk/server/sse.js");
9
+ const auth_1 = require("../../auth");
10
+ const utils_1 = require("./utils");
11
+ const logger_1 = require("../../utils/logger");
12
+ const initSSEServer = (getNewServer, options, { needAuthFlow } = { needAuthFlow: false }) => {
13
+ const { userAccessToken, port, host, oauth } = options;
14
+ if (!port || !host) {
15
+ throw new Error('[Lark MCP] Port and host are required');
16
+ }
17
+ const app = (0, express_1.default)();
18
+ const transports = new Map();
19
+ let authHandler;
20
+ if (!userAccessToken && needAuthFlow) {
21
+ authHandler = new auth_1.LarkAuthHandler(app, options);
22
+ if (oauth) {
23
+ authHandler.setupRoutes();
24
+ }
25
+ }
26
+ const authMiddleware = (req, res, next) => {
27
+ var _a;
28
+ if (authHandler && oauth) {
29
+ authHandler.authenticateRequest(req, res, next);
30
+ }
31
+ else {
32
+ const authToken = (_a = req.headers.authorization) === null || _a === void 0 ? void 0 : _a.split(' ')[1];
33
+ if (authToken) {
34
+ req.auth = { token: authToken, clientId: 'client_id_for_local_auth', scopes: [] };
35
+ }
36
+ next();
37
+ }
38
+ };
39
+ app.get('/sse', authMiddleware, async (req, res) => {
40
+ var _a;
41
+ logger_1.logger.info(`[SSEServerTransport] Received GET SSE request`);
42
+ const token = (_a = req.auth) === null || _a === void 0 ? void 0 : _a.token;
43
+ const { data } = (0, utils_1.parseMCPServerOptionsFromRequest)(req);
44
+ const server = getNewServer({ ...options, ...data, userAccessToken: data.userAccessToken || token }, authHandler);
45
+ const transport = new sse_js_1.SSEServerTransport('/messages', res);
46
+ transports.set(transport.sessionId, transport);
47
+ res.on('close', () => {
48
+ transport.close();
49
+ server.close();
50
+ transports.delete(transport.sessionId);
51
+ });
52
+ await server.connect(transport);
53
+ });
54
+ app.post('/messages', authMiddleware, async (req, res) => {
55
+ console.log('Received POST messages request');
56
+ logger_1.logger.info(`[SSEServerTransport] Received POST messages request`);
57
+ const sessionId = req.query.sessionId;
58
+ const transport = transports.get(sessionId);
59
+ if (!transport) {
60
+ res.status(400).send('No transport found for sessionId');
61
+ return;
62
+ }
63
+ await transport.handlePostMessage(req, res);
64
+ });
65
+ console.log('⚠️ SSE Mode is deprecated and will be removed in a future version. Please use Streamable mode instead.');
66
+ app.listen(port, host, (error) => {
67
+ if (error) {
68
+ logger_1.logger.error(`[SSEServerTransport] Server error: ${error}`);
69
+ process.exit(1);
70
+ }
71
+ console.log(`📡 SSE endpoint: http://${host}:${port}/sse`);
72
+ logger_1.logger.info(`[SSEServerTransport] SSE endpoint: http://${host}:${port}/sse`);
73
+ });
74
+ };
75
+ exports.initSSEServer = initSSEServer;
@@ -0,0 +1,2 @@
1
+ import { InitTransportServerFunction } from '../shared';
2
+ export declare const initStdioServer: InitTransportServerFunction;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.initStdioServer = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
9
+ const auth_1 = require("../../auth");
10
+ const auth_2 = require("../../auth");
11
+ const logger_1 = require("../../utils/logger");
12
+ const initStdioServer = async (getNewServer, options, { needAuthFlow } = { needAuthFlow: false }) => {
13
+ const { userAccessToken, appId, oauth } = options;
14
+ let authHandler;
15
+ if (!userAccessToken && needAuthFlow) {
16
+ const app = (0, express_1.default)();
17
+ app.use(express_1.default.json());
18
+ authHandler = new auth_2.LarkAuthHandlerLocal(app, options);
19
+ if (oauth) {
20
+ authHandler.setupRoutes();
21
+ }
22
+ }
23
+ const transport = new stdio_js_1.StdioServerTransport();
24
+ const userAccessTokenValue = userAccessToken
25
+ ? userAccessToken
26
+ : appId
27
+ ? { getter: async () => await auth_1.authStore.getLocalAccessToken(appId) }
28
+ : undefined;
29
+ const mcpServer = getNewServer({ ...options, userAccessToken: userAccessTokenValue }, authHandler);
30
+ logger_1.logger.info(`[StdioServerTransport] Connecting to MCP Server, userAccessToken: ${Boolean(userAccessToken)}, appId: ${appId}`);
31
+ mcpServer.connect(transport).catch((error) => {
32
+ logger_1.logger.error(`[StdioServerTransport] MCP Connect Error: ${error}`);
33
+ process.exit(1);
34
+ });
35
+ };
36
+ exports.initStdioServer = initStdioServer;
@@ -0,0 +1,2 @@
1
+ import { InitTransportServerFunction } from '../shared';
2
+ export declare const initStreamableServer: InitTransportServerFunction;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.initStreamableServer = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
9
+ const utils_1 = require("./utils");
10
+ const auth_1 = require("../../auth");
11
+ const logger_1 = require("../../utils/logger");
12
+ const initStreamableServer = (getNewServer, options, { needAuthFlow } = { needAuthFlow: false }) => {
13
+ const { userAccessToken, oauth, port, host } = options;
14
+ if (!port || !host) {
15
+ throw new Error('[Lark MCP] Port and host are required');
16
+ }
17
+ const app = (0, express_1.default)();
18
+ app.use(express_1.default.json());
19
+ let authHandler;
20
+ if (!userAccessToken && needAuthFlow) {
21
+ authHandler = new auth_1.LarkAuthHandler(app, options);
22
+ if (oauth) {
23
+ authHandler.setupRoutes();
24
+ }
25
+ }
26
+ const authMiddleware = (req, res, next) => {
27
+ var _a;
28
+ if (authHandler && oauth) {
29
+ authHandler.authenticateRequest(req, res, next);
30
+ }
31
+ else {
32
+ const authToken = (_a = req.headers.authorization) === null || _a === void 0 ? void 0 : _a.split(' ')[1];
33
+ if (authToken) {
34
+ req.auth = { token: authToken, clientId: 'client_id_for_local_auth', scopes: [] };
35
+ }
36
+ next();
37
+ }
38
+ };
39
+ app.post('/mcp', authMiddleware, async (req, res) => {
40
+ var _a;
41
+ const token = (_a = req.auth) === null || _a === void 0 ? void 0 : _a.token;
42
+ const { data } = (0, utils_1.parseMCPServerOptionsFromRequest)(req);
43
+ const server = getNewServer({ ...options, ...data, userAccessToken: data.userAccessToken || token }, authHandler);
44
+ const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({ sessionIdGenerator: undefined });
45
+ res.on('close', () => {
46
+ transport.close();
47
+ server.close();
48
+ });
49
+ await server.connect(transport);
50
+ await transport.handleRequest(req, res, req.body);
51
+ });
52
+ const handleMethodNotAllowed = async (_req, res) => {
53
+ res
54
+ .writeHead(405)
55
+ .end(JSON.stringify({ jsonrpc: '2.0', error: { code: -32000, message: 'Method not allowed.' }, id: null }));
56
+ };
57
+ app.get('/mcp', async (req, res) => {
58
+ try {
59
+ console.log('Received GET MCP request');
60
+ logger_1.logger.info(`[StreamableServerTransport] Received GET MCP request`);
61
+ await handleMethodNotAllowed(req, res);
62
+ }
63
+ catch (error) {
64
+ (0, utils_1.sendJsonRpcError)(res, error);
65
+ }
66
+ });
67
+ app.delete('/mcp', async (req, res) => {
68
+ try {
69
+ console.log('Received DELETE MCP request');
70
+ logger_1.logger.info(`[StreamableServerTransport] Received DELETE MCP request`);
71
+ await handleMethodNotAllowed(req, res);
72
+ }
73
+ catch (error) {
74
+ (0, utils_1.sendJsonRpcError)(res, error);
75
+ }
76
+ });
77
+ app.listen(port, host, (error) => {
78
+ if (error) {
79
+ logger_1.logger.error(`[StreamableServerTransport] Server error: ${error}`);
80
+ process.exit(1);
81
+ }
82
+ console.log(`📡 Streamable endpoint: http://${host}:${port}/mcp`);
83
+ logger_1.logger.info(`[StreamableServerTransport] Streamable endpoint: http://${host}:${port}/mcp`);
84
+ });
85
+ };
86
+ exports.initStreamableServer = initStreamableServer;
@@ -0,0 +1,16 @@
1
+ import { Request, Response } from 'express';
2
+ import { McpServerOptions } from '../shared';
3
+ export declare enum JSONRPCErrorCodes {
4
+ PARSE_ERROR = -32700,
5
+ INVALID_REQUEST = -32600,
6
+ METHOD_NOT_FOUND = -32601,
7
+ INVALID_PARAMS = -32602,
8
+ INTERNAL_ERROR = -32603
9
+ }
10
+ export declare function parseMCPServerOptionsFromRequest(req: Request): {
11
+ data: McpServerOptions;
12
+ success: boolean;
13
+ message?: string;
14
+ };
15
+ export declare function sendJsonRpcError(res: Response, error: Error, httpCode?: number, code?: JSONRPCErrorCodes, id?: number | null): void;
16
+ export declare function sendResponseError(res: Response, error: Error, httpCode?: number): void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JSONRPCErrorCodes = void 0;
4
+ exports.parseMCPServerOptionsFromRequest = parseMCPServerOptionsFromRequest;
5
+ exports.sendJsonRpcError = sendJsonRpcError;
6
+ exports.sendResponseError = sendResponseError;
7
+ const shared_1 = require("../shared");
8
+ var JSONRPCErrorCodes;
9
+ (function (JSONRPCErrorCodes) {
10
+ JSONRPCErrorCodes[JSONRPCErrorCodes["PARSE_ERROR"] = -32700] = "PARSE_ERROR";
11
+ JSONRPCErrorCodes[JSONRPCErrorCodes["INVALID_REQUEST"] = -32600] = "INVALID_REQUEST";
12
+ JSONRPCErrorCodes[JSONRPCErrorCodes["METHOD_NOT_FOUND"] = -32601] = "METHOD_NOT_FOUND";
13
+ JSONRPCErrorCodes[JSONRPCErrorCodes["INVALID_PARAMS"] = -32602] = "INVALID_PARAMS";
14
+ JSONRPCErrorCodes[JSONRPCErrorCodes["INTERNAL_ERROR"] = -32603] = "INTERNAL_ERROR";
15
+ })(JSONRPCErrorCodes || (exports.JSONRPCErrorCodes = JSONRPCErrorCodes = {}));
16
+ function parseMCPServerOptionsFromRequest(req) {
17
+ const result = shared_1.mcpServerOptionSchema.safeParse(req.query || {});
18
+ if (!result.success) {
19
+ return { data: {}, success: false, message: result.error.message };
20
+ }
21
+ return { data: result.data, success: true };
22
+ }
23
+ function sendJsonRpcError(res, error, httpCode = 500, code = JSONRPCErrorCodes.INTERNAL_ERROR, id = null) {
24
+ console.error(error);
25
+ if (!res.headersSent) {
26
+ res.status(httpCode).json({ jsonrpc: '2.0', error: { code, message: error.message }, id });
27
+ }
28
+ }
29
+ function sendResponseError(res, error, httpCode = 500) {
30
+ console.error(error);
31
+ if (!res.headersSent) {
32
+ res.status(httpCode).send(error.message);
33
+ }
34
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Commonly used tools in MCP
3
+ */
4
+ import { ToolName } from './tools';
5
+ export declare enum PresetName {
6
+ /**
7
+ * Default preset including IM, Bitable, Doc and Contact tools
8
+ */
9
+ LIGHT = "preset.light",
10
+ /**
11
+ * Default preset including IM, Bitable, Doc and Contact tools
12
+ */
13
+ DEFAULT = "preset.default",
14
+ /**
15
+ * IM related tools for chat and message operations
16
+ */
17
+ IM_DEFAULT = "preset.im.default",
18
+ /**
19
+ * Base preset for base operations
20
+ */
21
+ BASE_DEFAULT = "preset.base.default",
22
+ /**
23
+ * Base tools with batch operations
24
+ */
25
+ BASE_BATCH = "preset.base.batch",
26
+ /**
27
+ * Document related tools for content and permission operations
28
+ */
29
+ DOC_DEFAULT = "preset.doc.default",
30
+ /**
31
+ * Task management related tools
32
+ */
33
+ TASK_DEFAULT = "preset.task.default",
34
+ /**
35
+ * Calendar event management tools
36
+ */
37
+ CALENDAR_DEFAULT = "preset.calendar.default"
38
+ }
39
+ export declare const presetLightToolNames: ToolName[];
40
+ export declare const presetContactToolNames: ToolName[];
41
+ export declare const presetImToolNames: ToolName[];
42
+ export declare const presetBaseCommonToolNames: ToolName[];
43
+ export declare const presetBaseToolNames: ToolName[];
44
+ export declare const presetBaseRecordBatchToolNames: ToolName[];
45
+ export declare const presetDocToolNames: ToolName[];
46
+ export declare const presetTaskToolNames: ToolName[];
47
+ export declare const presetCalendarToolNames: ToolName[];
48
+ export declare const defaultToolNames: ToolName[];
49
+ export declare const presetTools: Record<PresetName, ToolName[]>;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * Commonly used tools in MCP
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.presetTools = exports.defaultToolNames = exports.presetCalendarToolNames = exports.presetTaskToolNames = exports.presetDocToolNames = exports.presetBaseRecordBatchToolNames = exports.presetBaseToolNames = exports.presetBaseCommonToolNames = exports.presetImToolNames = exports.presetContactToolNames = exports.presetLightToolNames = exports.PresetName = void 0;
7
+ var PresetName;
8
+ (function (PresetName) {
9
+ /**
10
+ * Default preset including IM, Bitable, Doc and Contact tools
11
+ */
12
+ PresetName["LIGHT"] = "preset.light";
13
+ /**
14
+ * Default preset including IM, Bitable, Doc and Contact tools
15
+ */
16
+ PresetName["DEFAULT"] = "preset.default";
17
+ /**
18
+ * IM related tools for chat and message operations
19
+ */
20
+ PresetName["IM_DEFAULT"] = "preset.im.default";
21
+ /**
22
+ * Base preset for base operations
23
+ */
24
+ PresetName["BASE_DEFAULT"] = "preset.base.default";
25
+ /**
26
+ * Base tools with batch operations
27
+ */
28
+ PresetName["BASE_BATCH"] = "preset.base.batch";
29
+ /**
30
+ * Document related tools for content and permission operations
31
+ */
32
+ PresetName["DOC_DEFAULT"] = "preset.doc.default";
33
+ /**
34
+ * Task management related tools
35
+ */
36
+ PresetName["TASK_DEFAULT"] = "preset.task.default";
37
+ /**
38
+ * Calendar event management tools
39
+ */
40
+ PresetName["CALENDAR_DEFAULT"] = "preset.calendar.default";
41
+ })(PresetName || (exports.PresetName = PresetName = {}));
42
+ exports.presetLightToolNames = [
43
+ 'im.v1.message.list',
44
+ 'im.v1.message.create',
45
+ 'im.v1.chat.search',
46
+ 'contact.v3.user.batchGetId',
47
+ 'docx.v1.document.rawContent',
48
+ 'docx.builtin.readFullContent',
49
+ 'docx.builtin.import',
50
+ 'docx.builtin.search',
51
+ 'wiki.v2.space.getNode',
52
+ 'bitable.v1.appTableRecord.search',
53
+ 'bitable.v1.appTableRecord.batchCreate',
54
+ ];
55
+ exports.presetContactToolNames = ['contact.v3.user.batchGetId'];
56
+ exports.presetImToolNames = [
57
+ 'im.v1.chat.create',
58
+ 'im.v1.chat.list',
59
+ 'im.v1.chatMembers.get',
60
+ 'im.v1.message.create',
61
+ 'im.v1.message.list',
62
+ ];
63
+ exports.presetBaseCommonToolNames = [
64
+ 'bitable.v1.app.create',
65
+ 'bitable.v1.appTable.create',
66
+ 'bitable.v1.appTable.list',
67
+ 'bitable.v1.appTableField.list',
68
+ 'bitable.v1.appTableRecord.search',
69
+ ];
70
+ exports.presetBaseToolNames = [
71
+ ...exports.presetBaseCommonToolNames,
72
+ 'bitable.v1.appTableRecord.create',
73
+ 'bitable.v1.appTableRecord.update',
74
+ ];
75
+ exports.presetBaseRecordBatchToolNames = [
76
+ ...exports.presetBaseCommonToolNames,
77
+ 'bitable.v1.appTableRecord.batchCreate',
78
+ 'bitable.v1.appTableRecord.batchUpdate',
79
+ ];
80
+ exports.presetDocToolNames = [
81
+ 'docx.v1.document.rawContent',
82
+ 'docx.builtin.readFullContent',
83
+ 'docx.builtin.import',
84
+ 'docx.builtin.search',
85
+ 'drive.v1.permissionMember.create',
86
+ 'wiki.v2.space.getNode',
87
+ 'wiki.v1.node.search',
88
+ 'board.v1.whiteboardNode.list',
89
+ ];
90
+ exports.presetTaskToolNames = [
91
+ 'task.v2.task.create',
92
+ 'task.v2.task.patch',
93
+ 'task.v2.task.addMembers',
94
+ 'task.v2.task.addReminders',
95
+ ];
96
+ exports.presetCalendarToolNames = [
97
+ 'calendar.v4.calendarEvent.create',
98
+ 'calendar.v4.calendarEvent.patch',
99
+ 'calendar.v4.calendarEvent.get',
100
+ 'calendar.v4.freebusy.list',
101
+ 'calendar.v4.calendar.primary',
102
+ ];
103
+ exports.defaultToolNames = [
104
+ ...exports.presetImToolNames,
105
+ ...exports.presetBaseToolNames,
106
+ ...exports.presetDocToolNames,
107
+ ...exports.presetContactToolNames,
108
+ ];
109
+ exports.presetTools = {
110
+ [PresetName.LIGHT]: exports.presetLightToolNames,
111
+ [PresetName.DEFAULT]: exports.defaultToolNames,
112
+ [PresetName.IM_DEFAULT]: exports.presetImToolNames,
113
+ [PresetName.BASE_DEFAULT]: exports.presetBaseToolNames,
114
+ [PresetName.BASE_BATCH]: exports.presetBaseRecordBatchToolNames,
115
+ [PresetName.DOC_DEFAULT]: exports.presetDocToolNames,
116
+ [PresetName.TASK_DEFAULT]: exports.presetTaskToolNames,
117
+ [PresetName.CALENDAR_DEFAULT]: exports.presetCalendarToolNames,
118
+ };
@@ -0,0 +1 @@
1
+ export * from './recall';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./recall"), exports);
@@ -0,0 +1,53 @@
1
+ import type { DocxBlockTextElement, DocxBlockText, DocxBlockItem, DocxBlockTable } from './types';
2
+ /** 从文本元素列表中提取纯文本 */
3
+ export declare function extractTextFromElements(elements?: DocxBlockTextElement[]): string;
4
+ /** 从 block.text 提取纯文本 */
5
+ export declare function extractBlockText(block?: {
6
+ text?: DocxBlockText;
7
+ } | null): string;
8
+ /** Block 类型枚举(与飞书 API 一致) */
9
+ export declare const BLOCK_TYPE: {
10
+ readonly PAGE: 1;
11
+ readonly TEXT: 2;
12
+ readonly HEADING1: 3;
13
+ readonly HEADING2: 4;
14
+ readonly HEADING3: 5;
15
+ readonly HEADING4: 6;
16
+ readonly HEADING5: 7;
17
+ readonly HEADING6: 8;
18
+ readonly HEADING7: 9;
19
+ readonly HEADING8: 10;
20
+ readonly HEADING9: 11;
21
+ readonly BULLET: 12;
22
+ readonly ORDERED: 13;
23
+ readonly CODE: 14;
24
+ readonly QUOTE: 15;
25
+ readonly TODO: 17;
26
+ readonly BITABLE: 18;
27
+ readonly CALLOUT: 19;
28
+ readonly CHAT_CARD: 20;
29
+ readonly DIAGRAM: 21;
30
+ readonly DIVIDER: 22;
31
+ readonly FILE: 23;
32
+ readonly GRID: 24;
33
+ readonly GRID_COLUMN: 25;
34
+ readonly IFRAME: 26;
35
+ readonly IMAGE: 27;
36
+ readonly ISV: 28;
37
+ readonly MINDNOTE: 29;
38
+ readonly SHEET: 30;
39
+ readonly TABLE: 31;
40
+ readonly TABLE_CELL: 32;
41
+ readonly VIEW: 33;
42
+ readonly QUOTE_CONTAINER: 34;
43
+ readonly TASK: 35;
44
+ readonly OKR: 36;
45
+ readonly BOARD: 37;
46
+ readonly LINK_PREVIEW: 38;
47
+ /** 画板(文档内嵌画板,部分 API 版本返回 43) */
48
+ readonly BOARD_DOCX: 43;
49
+ };
50
+ /** 标题层级对应 Markdown 前缀 */
51
+ export declare function headingPrefix(blockType: number): string;
52
+ /** 将表格块及其子单元格块格式化为 Markdown 表格 */
53
+ export declare function formatTableMarkdown(tableBlock: DocxBlockItem, cellBlocks: DocxBlockItem[], tableProp?: DocxBlockTable['property']): string;