@liselvins/lark-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/LICENSE +9 -0
  3. package/README.md +215 -0
  4. package/README_ZH.md +212 -0
  5. package/dist/auth/config.d.ts +12 -0
  6. package/dist/auth/config.js +15 -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 +38 -0
  10. package/dist/auth/handler/handler.js +123 -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 +159 -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 +19 -0
  40. package/dist/cli/login-handler.js +288 -0
  41. package/dist/cli.d.ts +4 -0
  42. package/dist/cli.js +124 -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 +44 -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 +54 -0
  64. package/dist/mcp-tool/constants.js +141 -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/recall/index.d.ts +2 -0
  68. package/dist/mcp-tool/document-tool/recall/index.js +39 -0
  69. package/dist/mcp-tool/document-tool/recall/request.d.ts +2 -0
  70. package/dist/mcp-tool/document-tool/recall/request.js +25 -0
  71. package/dist/mcp-tool/document-tool/recall/type.d.ts +19 -0
  72. package/dist/mcp-tool/document-tool/recall/type.js +2 -0
  73. package/dist/mcp-tool/index.d.ts +5 -0
  74. package/dist/mcp-tool/index.js +21 -0
  75. package/dist/mcp-tool/mcp-tool.d.ts +52 -0
  76. package/dist/mcp-tool/mcp-tool.js +198 -0
  77. package/dist/mcp-tool/tools/en/builtin-tools/docx/block-factory.d.ts +99 -0
  78. package/dist/mcp-tool/tools/en/builtin-tools/docx/block-factory.js +266 -0
  79. package/dist/mcp-tool/tools/en/builtin-tools/docx/block-tools.d.ts +10 -0
  80. package/dist/mcp-tool/tools/en/builtin-tools/docx/block-tools.js +686 -0
  81. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.d.ts +6 -0
  82. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.js +220 -0
  83. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.d.ts +4 -0
  84. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.js +63 -0
  85. package/dist/mcp-tool/tools/en/builtin-tools/index.d.ts +4 -0
  86. package/dist/mcp-tool/tools/en/builtin-tools/index.js +6 -0
  87. package/dist/mcp-tool/tools/en/gen-tools/index.d.ts +113 -0
  88. package/dist/mcp-tool/tools/en/gen-tools/index.js +127 -0
  89. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.d.ts +562 -0
  90. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.js +264 -0
  91. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.d.ts +912 -0
  92. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.js +449 -0
  93. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.d.ts +1213 -0
  94. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.js +560 -0
  95. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.d.ts +2530 -0
  96. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.js +949 -0
  97. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.d.ts +80 -0
  98. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.js +53 -0
  99. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.d.ts +1008 -0
  100. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.js +775 -0
  101. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.d.ts +3928 -0
  102. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.js +1602 -0
  103. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.d.ts +6043 -0
  104. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.js +1857 -0
  105. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.d.ts +151 -0
  106. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.js +71 -0
  107. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.d.ts +26 -0
  108. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.js +17 -0
  109. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.d.ts +2174 -0
  110. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.js +594 -0
  111. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.d.ts +755 -0
  112. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.js +234 -0
  113. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.d.ts +3541 -0
  114. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.js +1786 -0
  115. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.d.ts +40 -0
  116. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.js +18 -0
  117. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.d.ts +2075 -0
  118. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.js +1594 -0
  119. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.d.ts +528 -0
  120. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.js +260 -0
  121. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.d.ts +189 -0
  122. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.js +132 -0
  123. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.d.ts +4274 -0
  124. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.js +2583 -0
  125. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.d.ts +16873 -0
  126. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.js +5045 -0
  127. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.d.ts +29387 -0
  128. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.js +7787 -0
  129. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.d.ts +4274 -0
  130. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.js +1367 -0
  131. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.d.ts +58 -0
  132. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.js +28 -0
  133. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.d.ts +93466 -0
  134. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.js +14350 -0
  135. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.d.ts +3251 -0
  136. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.js +1422 -0
  137. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.d.ts +174 -0
  138. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.js +117 -0
  139. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.d.ts +86 -0
  140. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.js +48 -0
  141. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.d.ts +44 -0
  142. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.js +17 -0
  143. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  144. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.js +285 -0
  145. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.d.ts +10076 -0
  146. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.js +6065 -0
  147. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.d.ts +158 -0
  148. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.js +61 -0
  149. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  150. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.js +27 -0
  151. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.d.ts +3043 -0
  152. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.js +1869 -0
  153. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.d.ts +2176 -0
  154. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.js +460 -0
  155. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.d.ts +2301 -0
  156. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.js +669 -0
  157. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.d.ts +2462 -0
  158. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.js +1655 -0
  159. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.d.ts +104 -0
  160. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.js +45 -0
  161. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.d.ts +329 -0
  162. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.js +78 -0
  163. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.d.ts +92 -0
  164. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.js +62 -0
  165. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.d.ts +52 -0
  166. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.js +24 -0
  167. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.d.ts +1628 -0
  168. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.js +434 -0
  169. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  170. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  171. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.d.ts +131 -0
  172. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.js +59 -0
  173. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.d.ts +333 -0
  174. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.js +176 -0
  175. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.d.ts +309 -0
  176. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.js +178 -0
  177. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.d.ts +1177 -0
  178. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.js +559 -0
  179. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  180. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.js +303 -0
  181. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.d.ts +192 -0
  182. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.js +71 -0
  183. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.d.ts +1695 -0
  184. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.js +446 -0
  185. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  186. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.js +32 -0
  187. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.d.ts +979 -0
  188. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.js +721 -0
  189. package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
  190. package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.js +65 -0
  191. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.d.ts +1161 -0
  192. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.js +672 -0
  193. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.d.ts +6051 -0
  194. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.js +1970 -0
  195. package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.d.ts +31 -0
  196. package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.js +24 -0
  197. package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.d.ts +80 -0
  198. package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.js +37 -0
  199. package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.d.ts +182 -0
  200. package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.js +141 -0
  201. package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.d.ts +5725 -0
  202. package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.js +1751 -0
  203. package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.d.ts +21 -0
  204. package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.js +14 -0
  205. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.d.ts +72 -0
  206. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.js +19 -0
  207. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.d.ts +843 -0
  208. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.js +381 -0
  209. package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.d.ts +116 -0
  210. package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.js +77 -0
  211. package/dist/mcp-tool/tools/index.d.ts +104 -0
  212. package/dist/mcp-tool/tools/index.js +9 -0
  213. package/dist/mcp-tool/tools/zh/builtin-tools/docx/block-factory.d.ts +1 -0
  214. package/dist/mcp-tool/tools/zh/builtin-tools/docx/block-factory.js +18 -0
  215. package/dist/mcp-tool/tools/zh/builtin-tools/docx/block-tools.d.ts +4 -0
  216. package/dist/mcp-tool/tools/zh/builtin-tools/docx/block-tools.js +18 -0
  217. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.d.ts +6 -0
  218. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.js +199 -0
  219. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.d.ts +4 -0
  220. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.js +63 -0
  221. package/dist/mcp-tool/tools/zh/builtin-tools/index.d.ts +4 -0
  222. package/dist/mcp-tool/tools/zh/builtin-tools/index.js +6 -0
  223. package/dist/mcp-tool/tools/zh/gen-tools/index.d.ts +113 -0
  224. package/dist/mcp-tool/tools/zh/gen-tools/index.js +127 -0
  225. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.d.ts +562 -0
  226. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.js +277 -0
  227. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.d.ts +912 -0
  228. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.js +430 -0
  229. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.d.ts +1213 -0
  230. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.js +541 -0
  231. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.d.ts +2530 -0
  232. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.js +885 -0
  233. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.d.ts +80 -0
  234. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.js +59 -0
  235. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.d.ts +1007 -0
  236. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.js +721 -0
  237. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.d.ts +3928 -0
  238. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.js +1532 -0
  239. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.d.ts +6043 -0
  240. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.js +1620 -0
  241. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.d.ts +151 -0
  242. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.js +87 -0
  243. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.d.ts +26 -0
  244. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.js +17 -0
  245. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.d.ts +2174 -0
  246. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.js +574 -0
  247. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.d.ts +755 -0
  248. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.js +270 -0
  249. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.d.ts +3541 -0
  250. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.js +1864 -0
  251. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.d.ts +40 -0
  252. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.js +18 -0
  253. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.d.ts +2075 -0
  254. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.js +1533 -0
  255. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.d.ts +528 -0
  256. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.js +248 -0
  257. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.d.ts +189 -0
  258. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.js +130 -0
  259. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.d.ts +4274 -0
  260. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.js +2394 -0
  261. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.d.ts +16957 -0
  262. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.js +4753 -0
  263. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.d.ts +29869 -0
  264. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.js +7902 -0
  265. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.d.ts +4324 -0
  266. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.js +1340 -0
  267. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.d.ts +58 -0
  268. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.js +26 -0
  269. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.d.ts +116719 -0
  270. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.js +14949 -0
  271. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.d.ts +3251 -0
  272. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.js +1395 -0
  273. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.d.ts +174 -0
  274. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.js +115 -0
  275. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.d.ts +86 -0
  276. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.js +48 -0
  277. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.d.ts +44 -0
  278. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.js +25 -0
  279. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  280. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.js +279 -0
  281. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.d.ts +10085 -0
  282. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.js +5787 -0
  283. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.d.ts +158 -0
  284. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.js +64 -0
  285. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  286. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.js +27 -0
  287. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.d.ts +3043 -0
  288. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.js +1812 -0
  289. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.d.ts +2176 -0
  290. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.js +454 -0
  291. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.d.ts +2301 -0
  292. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.js +650 -0
  293. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.d.ts +2465 -0
  294. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.js +1467 -0
  295. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.d.ts +104 -0
  296. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.js +45 -0
  297. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.d.ts +329 -0
  298. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.js +76 -0
  299. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.d.ts +92 -0
  300. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.js +62 -0
  301. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.d.ts +52 -0
  302. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.js +20 -0
  303. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.d.ts +1664 -0
  304. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.js +455 -0
  305. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  306. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  307. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.d.ts +131 -0
  308. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.js +53 -0
  309. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.d.ts +609 -0
  310. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.js +321 -0
  311. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.d.ts +309 -0
  312. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.js +165 -0
  313. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.d.ts +1177 -0
  314. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.js +525 -0
  315. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  316. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.js +295 -0
  317. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.d.ts +194 -0
  318. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.js +72 -0
  319. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.d.ts +1695 -0
  320. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.js +556 -0
  321. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  322. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.js +32 -0
  323. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.d.ts +979 -0
  324. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.js +821 -0
  325. package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
  326. package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.js +65 -0
  327. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.d.ts +1161 -0
  328. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.js +647 -0
  329. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.d.ts +6077 -0
  330. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.js +1894 -0
  331. package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.d.ts +31 -0
  332. package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.js +24 -0
  333. package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.d.ts +80 -0
  334. package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.js +37 -0
  335. package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.d.ts +182 -0
  336. package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.js +137 -0
  337. package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.d.ts +5725 -0
  338. package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.js +1640 -0
  339. package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.d.ts +21 -0
  340. package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.js +14 -0
  341. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.d.ts +72 -0
  342. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.js +34 -0
  343. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.d.ts +843 -0
  344. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.js +376 -0
  345. package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.d.ts +116 -0
  346. package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.js +77 -0
  347. package/dist/mcp-tool/types/index.d.ts +53 -0
  348. package/dist/mcp-tool/types/index.js +9 -0
  349. package/dist/mcp-tool/utils/case-transf.d.ts +2 -0
  350. package/dist/mcp-tool/utils/case-transf.js +15 -0
  351. package/dist/mcp-tool/utils/filter-tools.d.ts +2 -0
  352. package/dist/mcp-tool/utils/filter-tools.js +27 -0
  353. package/dist/mcp-tool/utils/get-should-use-uat.d.ts +2 -0
  354. package/dist/mcp-tool/utils/get-should-use-uat.js +18 -0
  355. package/dist/mcp-tool/utils/handler.d.ts +2 -0
  356. package/dist/mcp-tool/utils/handler.js +92 -0
  357. package/dist/mcp-tool/utils/index.d.ts +4 -0
  358. package/dist/mcp-tool/utils/index.js +20 -0
  359. package/dist/utils/clean-env-args.d.ts +1 -0
  360. package/dist/utils/clean-env-args.js +12 -0
  361. package/dist/utils/constants.d.ts +18 -0
  362. package/dist/utils/constants.js +36 -0
  363. package/dist/utils/http-instance.d.ts +2 -0
  364. package/dist/utils/http-instance.js +21 -0
  365. package/dist/utils/logger.d.ts +22 -0
  366. package/dist/utils/logger.js +97 -0
  367. package/dist/utils/noop.d.ts +1 -0
  368. package/dist/utils/noop.js +6 -0
  369. package/dist/utils/parser-string-array.d.ts +1 -0
  370. package/dist/utils/parser-string-array.js +13 -0
  371. package/dist/utils/safe-json-parse.d.ts +1 -0
  372. package/dist/utils/safe-json-parse.js +14 -0
  373. package/dist/utils/version.d.ts +1 -0
  374. package/dist/utils/version.js +52 -0
  375. package/docs/recall-mcp/README.md +137 -0
  376. package/docs/recall-mcp/README_ZH.md +137 -0
  377. package/docs/reference/cli/cli-zh.md +92 -0
  378. package/docs/reference/cli/cli.md +92 -0
  379. package/docs/reference/tool-presets/presets-zh.md +120 -0
  380. package/docs/reference/tool-presets/presets.md +120 -0
  381. package/docs/reference/tool-presets/tools-en.md +1516 -0
  382. package/docs/reference/tool-presets/tools-zh.md +1533 -0
  383. package/docs/troubleshooting/faq-zh.md +67 -0
  384. package/docs/troubleshooting/faq.md +67 -0
  385. package/docs/usage/configuration/configuration-zh.md +344 -0
  386. package/docs/usage/configuration/configuration.md +344 -0
  387. package/docs/usage/docker/docker-zh.md +101 -0
  388. package/docs/usage/docker/docker.md +106 -0
  389. package/package.json +65 -0
@@ -0,0 +1,213 @@
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.authStore = exports.AuthStore = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const storage_manager_1 = require("./utils/storage-manager");
9
+ const logger_1 = require("../utils/logger");
10
+ class AuthStore {
11
+ constructor() {
12
+ this.storageDataCache = { tokens: {}, clients: {} };
13
+ this.codeVerifiers = new Map();
14
+ this.isReloading = false;
15
+ this.isInitializedStorageSuccess = false;
16
+ this.initialize();
17
+ }
18
+ async initialize() {
19
+ if (this.initializePromise) {
20
+ return this.initializePromise;
21
+ }
22
+ this.initializePromise = this.performInitialization();
23
+ await this.initializePromise;
24
+ }
25
+ async performInitialization() {
26
+ try {
27
+ await this.loadFromStorage();
28
+ logger_1.logger.info(`[AuthStore] Initialized storage successfully with ${Object.keys(this.storageDataCache.tokens).length} tokens`);
29
+ await this.clearExpiredTokens();
30
+ this.setupFileWatcher();
31
+ this.isInitializedStorageSuccess = true;
32
+ }
33
+ catch (error) {
34
+ logger_1.logger.error(`[AuthStore] Failed to initialize: ${error}`);
35
+ this.isInitializedStorageSuccess = false;
36
+ }
37
+ }
38
+ setupFileWatcher() {
39
+ try {
40
+ if (fs_1.default.existsSync(storage_manager_1.storageManager.storageFile)) {
41
+ logger_1.logger.info(`[AuthStore] Setup file watcher for ${storage_manager_1.storageManager.storageFile}`);
42
+ this.fileWatcher = fs_1.default.watch(storage_manager_1.storageManager.storageFile, () => {
43
+ this.handleFileChange();
44
+ });
45
+ }
46
+ }
47
+ catch (error) {
48
+ logger_1.logger.error(`[AuthStore] Failed to setup file watcher: ${error}`);
49
+ }
50
+ }
51
+ async handleFileChange() {
52
+ if (this.isReloading) {
53
+ return;
54
+ }
55
+ this.isReloading = true;
56
+ try {
57
+ logger_1.logger.info(`[AuthStore] Reloading storage from ${storage_manager_1.storageManager.storageFile}`);
58
+ await new Promise((resolve) => setTimeout(resolve, 100));
59
+ await this.loadFromStorage();
60
+ }
61
+ catch (error) {
62
+ logger_1.logger.error(`[AuthStore] Failed to reload storage: ${error}`);
63
+ }
64
+ finally {
65
+ this.isReloading = false;
66
+ }
67
+ }
68
+ async loadFromStorage() {
69
+ const storageData = await storage_manager_1.storageManager.loadStorageData();
70
+ this.storageDataCache = storageData;
71
+ }
72
+ async saveToStorage() {
73
+ if (!this.isInitializedStorageSuccess) {
74
+ return;
75
+ }
76
+ await storage_manager_1.storageManager.saveStorageData(this.storageDataCache);
77
+ }
78
+ async clearExpiredTokens() {
79
+ if (!this.storageDataCache || !this.storageDataCache.tokens) {
80
+ return;
81
+ }
82
+ const now = Date.now() / 1000;
83
+ let hasExpiredTokens = false;
84
+ const expiredTokenKeys = [];
85
+ for (const [tokenKey, token] of Object.entries(this.storageDataCache.tokens)) {
86
+ // 7 days after expires clear the token
87
+ if (token.expiresAt && token.expiresAt + 7 * 24 * 60 * 60 < now) {
88
+ expiredTokenKeys.push(tokenKey);
89
+ }
90
+ }
91
+ if (expiredTokenKeys.length > 0) {
92
+ for (const tokenKey of expiredTokenKeys) {
93
+ delete this.storageDataCache.tokens[tokenKey];
94
+ }
95
+ hasExpiredTokens = true;
96
+ }
97
+ if (this.storageDataCache.localTokens) {
98
+ const orphanedLocalTokenKeys = [];
99
+ for (const [appId, tokenKey] of Object.entries(this.storageDataCache.localTokens)) {
100
+ if (!this.storageDataCache.tokens[tokenKey]) {
101
+ orphanedLocalTokenKeys.push(appId);
102
+ }
103
+ }
104
+ if (orphanedLocalTokenKeys.length > 0) {
105
+ for (const appId of orphanedLocalTokenKeys) {
106
+ delete this.storageDataCache.localTokens[appId];
107
+ }
108
+ hasExpiredTokens = true;
109
+ }
110
+ }
111
+ if (hasExpiredTokens) {
112
+ logger_1.logger.info(`[AuthStore] Cleared expired tokens`);
113
+ await this.saveToStorage();
114
+ }
115
+ }
116
+ async storeToken(token) {
117
+ await this.initialize();
118
+ this.storageDataCache.tokens[token.token] = token;
119
+ await this.saveToStorage();
120
+ return token;
121
+ }
122
+ async removeToken(accessToken) {
123
+ await this.initialize();
124
+ delete this.storageDataCache.tokens[accessToken];
125
+ await this.saveToStorage();
126
+ }
127
+ async getToken(accessToken) {
128
+ await this.initialize();
129
+ return this.storageDataCache.tokens[accessToken];
130
+ }
131
+ async getTokenByRefreshToken(refreshToken) {
132
+ await this.initialize();
133
+ return Object.values(this.storageDataCache.tokens).find((token) => { var _a; return ((_a = token.extra) === null || _a === void 0 ? void 0 : _a.refreshToken) === refreshToken; });
134
+ }
135
+ async getLocalAccessToken(appId) {
136
+ var _a;
137
+ await this.initialize();
138
+ return (_a = this.storageDataCache.localTokens) === null || _a === void 0 ? void 0 : _a[appId];
139
+ }
140
+ async storeLocalAccessToken(accessToken, appId) {
141
+ await this.initialize();
142
+ if (!this.storageDataCache.localTokens) {
143
+ this.storageDataCache.localTokens = {};
144
+ }
145
+ this.storageDataCache.localTokens[appId] = accessToken;
146
+ await this.saveToStorage();
147
+ return accessToken;
148
+ }
149
+ async removeLocalAccessToken(appId) {
150
+ var _a;
151
+ await this.initialize();
152
+ if ((_a = this.storageDataCache.localTokens) === null || _a === void 0 ? void 0 : _a[appId]) {
153
+ logger_1.logger.info(`[AuthStore] Removing local access token for app: ${appId}`);
154
+ const tokenToRemove = this.storageDataCache.localTokens[appId];
155
+ delete this.storageDataCache.tokens[tokenToRemove];
156
+ delete this.storageDataCache.localTokens[appId];
157
+ await this.saveToStorage();
158
+ }
159
+ }
160
+ async removeAllLocalAccessTokens() {
161
+ await this.initialize();
162
+ logger_1.logger.info('[AuthStore] Removing all local access tokens');
163
+ if (this.storageDataCache.localTokens) {
164
+ const tokens = Object.values(this.storageDataCache.localTokens);
165
+ for (const token of tokens) {
166
+ if (this.storageDataCache.tokens[token]) {
167
+ delete this.storageDataCache.tokens[token];
168
+ }
169
+ }
170
+ }
171
+ this.storageDataCache.localTokens = {};
172
+ await this.saveToStorage();
173
+ }
174
+ async getAllLocalAccessTokens() {
175
+ await this.initialize();
176
+ return this.storageDataCache.localTokens || {};
177
+ }
178
+ async registerClient(client) {
179
+ await this.initialize();
180
+ this.storageDataCache.clients[client.client_id] = client;
181
+ await this.saveToStorage();
182
+ return client;
183
+ }
184
+ async getClient(id) {
185
+ await this.initialize();
186
+ return this.storageDataCache.clients[id];
187
+ }
188
+ async removeClient(clientId) {
189
+ await this.initialize();
190
+ delete this.storageDataCache.clients[clientId];
191
+ await this.saveToStorage();
192
+ }
193
+ storeCodeVerifier(key, codeVerifier) {
194
+ this.codeVerifiers.set(key, codeVerifier);
195
+ }
196
+ getCodeVerifier(key) {
197
+ return this.codeVerifiers.get(key);
198
+ }
199
+ removeCodeVerifier(key) {
200
+ this.codeVerifiers.delete(key);
201
+ }
202
+ clearExpiredCodeVerifiers() {
203
+ this.codeVerifiers.clear();
204
+ }
205
+ destroy() {
206
+ if (this.fileWatcher) {
207
+ this.fileWatcher.close();
208
+ this.fileWatcher = undefined;
209
+ }
210
+ }
211
+ }
212
+ exports.AuthStore = AuthStore;
213
+ exports.authStore = new AuthStore();
@@ -0,0 +1,13 @@
1
+ import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
2
+ import { OAuthClientInformationFull } from '@modelcontextprotocol/sdk/shared/auth.js';
3
+ export interface StorageData {
4
+ localTokens?: {
5
+ [appId: string]: string;
6
+ };
7
+ tokens: {
8
+ [key: string]: AuthInfo;
9
+ };
10
+ clients: {
11
+ [key: string]: OAuthClientInformationFull;
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export declare class EncryptionUtil {
2
+ private aesKey;
3
+ constructor(aesKey: string);
4
+ encrypt(data: string): string;
5
+ decrypt(encryptedData: string): string;
6
+ static generateKey(): string;
7
+ }
@@ -0,0 +1,40 @@
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.EncryptionUtil = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const config_1 = require("../config");
9
+ const logger_1 = require("../../utils/logger");
10
+ class EncryptionUtil {
11
+ constructor(aesKey) {
12
+ this.aesKey = aesKey;
13
+ }
14
+ encrypt(data) {
15
+ const iv = crypto_1.default.randomBytes(config_1.AUTH_CONFIG.ENCRYPTION.IV_LENGTH);
16
+ const key = Buffer.from(this.aesKey, 'hex');
17
+ const cipher = crypto_1.default.createCipheriv(config_1.AUTH_CONFIG.ENCRYPTION.ALGORITHM, key, iv);
18
+ let encrypted = cipher.update(data, 'utf8', 'hex');
19
+ encrypted += cipher.final('hex');
20
+ return iv.toString('hex') + ':' + encrypted;
21
+ }
22
+ decrypt(encryptedData) {
23
+ const parts = encryptedData.split(':');
24
+ if (parts.length !== 2) {
25
+ logger_1.logger.error(`[EncryptionUtil] decrypt: Invalid encrypted data format`);
26
+ throw new Error('Invalid encrypted data format');
27
+ }
28
+ const iv = Buffer.from(parts[0], 'hex');
29
+ const encrypted = parts[1];
30
+ const key = Buffer.from(this.aesKey, 'hex');
31
+ const decipher = crypto_1.default.createDecipheriv(config_1.AUTH_CONFIG.ENCRYPTION.ALGORITHM, key, iv);
32
+ let decrypted = decipher.update(encrypted, 'hex', 'utf8');
33
+ decrypted += decipher.final('utf8');
34
+ return decrypted;
35
+ }
36
+ static generateKey() {
37
+ return crypto_1.default.randomBytes(config_1.AUTH_CONFIG.ENCRYPTION.KEY_LENGTH).toString('hex');
38
+ }
39
+ }
40
+ exports.EncryptionUtil = EncryptionUtil;
@@ -0,0 +1,3 @@
1
+ export * from './is-token-valid';
2
+ export * from './pkce';
3
+ export * from './storage-manager';
@@ -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("./is-token-valid"), exports);
18
+ __exportStar(require("./pkce"), exports);
19
+ __exportStar(require("./storage-manager"), exports);
@@ -0,0 +1,7 @@
1
+ import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
2
+ export declare function isTokenValid(accessToken?: string): Promise<{
3
+ valid: boolean;
4
+ isExpired: boolean;
5
+ token: AuthInfo | undefined;
6
+ }>;
7
+ export declare function isTokenExpired(token?: AuthInfo): boolean;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTokenValid = isTokenValid;
4
+ exports.isTokenExpired = isTokenExpired;
5
+ const store_1 = require("../store");
6
+ async function isTokenValid(accessToken) {
7
+ if (!accessToken) {
8
+ return { valid: false, isExpired: false, token: undefined };
9
+ }
10
+ const token = await store_1.authStore.getToken(accessToken);
11
+ if (!token) {
12
+ return { valid: false, isExpired: false, token: undefined };
13
+ }
14
+ const isExpired = isTokenExpired(token);
15
+ if (isExpired) {
16
+ return { valid: false, isExpired: true, token };
17
+ }
18
+ return { valid: true, isExpired: false, token };
19
+ }
20
+ function isTokenExpired(token) {
21
+ if (!token) {
22
+ return false;
23
+ }
24
+ if (token.expiresAt && token.expiresAt < Date.now() / 1000) {
25
+ return true;
26
+ }
27
+ return false;
28
+ }
@@ -0,0 +1,6 @@
1
+ export declare function generateCodeVerifier(): string;
2
+ export declare function generateCodeChallenge(codeVerifier: string): string;
3
+ export declare function generatePKCEPair(): {
4
+ codeVerifier: string;
5
+ codeChallenge: string;
6
+ };
@@ -0,0 +1,20 @@
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.generateCodeVerifier = generateCodeVerifier;
7
+ exports.generateCodeChallenge = generateCodeChallenge;
8
+ exports.generatePKCEPair = generatePKCEPair;
9
+ const crypto_1 = __importDefault(require("crypto"));
10
+ function generateCodeVerifier() {
11
+ return crypto_1.default.randomBytes(32).toString('base64url');
12
+ }
13
+ function generateCodeChallenge(codeVerifier) {
14
+ return crypto_1.default.createHash('sha256').update(codeVerifier).digest('base64url');
15
+ }
16
+ function generatePKCEPair() {
17
+ const codeVerifier = generateCodeVerifier();
18
+ const codeChallenge = generateCodeChallenge(codeVerifier);
19
+ return { codeVerifier, codeChallenge };
20
+ }
@@ -0,0 +1,17 @@
1
+ import { StorageData } from '../types';
2
+ export declare class StorageManager {
3
+ private encryptionUtil;
4
+ private initializePromise;
5
+ private isInitializedStorageSuccess;
6
+ constructor();
7
+ get storageFile(): string;
8
+ private initialize;
9
+ private performInitialization;
10
+ private initializeEncryption;
11
+ private ensureStorageDir;
12
+ encrypt(data: string): string;
13
+ decrypt(encryptedData: string): string;
14
+ loadStorageData(): Promise<StorageData>;
15
+ saveStorageData(data: StorageData): Promise<void>;
16
+ }
17
+ export declare const storageManager: StorageManager;
@@ -0,0 +1,159 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.storageManager = exports.StorageManager = void 0;
40
+ const fs_1 = __importDefault(require("fs"));
41
+ const path_1 = __importDefault(require("path"));
42
+ const encryption_1 = require("./encryption");
43
+ const config_1 = require("../config");
44
+ const logger_1 = require("../../utils/logger");
45
+ class StorageManager {
46
+ constructor() {
47
+ this.isInitializedStorageSuccess = false;
48
+ this.initialize();
49
+ }
50
+ get storageFile() {
51
+ return path_1.default.join(config_1.AUTH_CONFIG.STORAGE_DIR, config_1.AUTH_CONFIG.STORAGE_FILE);
52
+ }
53
+ async initialize() {
54
+ if (this.initializePromise) {
55
+ return this.initializePromise;
56
+ }
57
+ this.initializePromise = this.performInitialization();
58
+ await this.initializePromise;
59
+ }
60
+ async performInitialization() {
61
+ try {
62
+ await this.initializeEncryption();
63
+ this.ensureStorageDir();
64
+ this.isInitializedStorageSuccess = true;
65
+ }
66
+ catch (error) {
67
+ logger_1.logger.warn(`[StorageManager] Failed to initialize: ${error}`);
68
+ logger_1.logger.warn('[StorageManager] ⚠️ Builtin User Access Token Store will be disabled. but you can still use it with memory store');
69
+ this.isInitializedStorageSuccess = false;
70
+ }
71
+ }
72
+ async initializeEncryption() {
73
+ // Try environment variable first (works in Docker/headless environments)
74
+ const envKey = process.env.LARK_MCP_AES_KEY;
75
+ if (envKey) {
76
+ this.encryptionUtil = new encryption_1.EncryptionUtil(envKey);
77
+ return;
78
+ }
79
+ // Fall back to system keyring via keytar
80
+ try {
81
+ const keytar = await Promise.resolve().then(() => __importStar(require('keytar')));
82
+ let key = await keytar.getPassword(config_1.AUTH_CONFIG.SERVER_NAME, config_1.AUTH_CONFIG.AES_KEY_NAME);
83
+ if (!key) {
84
+ key = encryption_1.EncryptionUtil.generateKey();
85
+ await keytar.setPassword(config_1.AUTH_CONFIG.SERVER_NAME, config_1.AUTH_CONFIG.AES_KEY_NAME, key);
86
+ }
87
+ this.encryptionUtil = new encryption_1.EncryptionUtil(key);
88
+ }
89
+ catch (keytarError) {
90
+ // keytar unavailable (no X11/D-Bus), generate a file-based key
91
+ const keyFile = path_1.default.join(config_1.AUTH_CONFIG.STORAGE_DIR, '.aes-key');
92
+ try {
93
+ this.ensureStorageDir();
94
+ let key;
95
+ if (fs_1.default.existsSync(keyFile)) {
96
+ key = fs_1.default.readFileSync(keyFile, 'utf8').trim();
97
+ }
98
+ else {
99
+ key = encryption_1.EncryptionUtil.generateKey();
100
+ fs_1.default.writeFileSync(keyFile, key, { mode: 0o600 });
101
+ }
102
+ this.encryptionUtil = new encryption_1.EncryptionUtil(key);
103
+ logger_1.logger.info('[StorageManager] Using file-based encryption key (keytar unavailable)');
104
+ }
105
+ catch (fileError) {
106
+ logger_1.logger.warn(`[StorageManager] Failed to initialize encryption: ${keytarError}`);
107
+ throw keytarError;
108
+ }
109
+ }
110
+ }
111
+ ensureStorageDir() {
112
+ if (!fs_1.default.existsSync(config_1.AUTH_CONFIG.STORAGE_DIR)) {
113
+ fs_1.default.mkdirSync(config_1.AUTH_CONFIG.STORAGE_DIR, { recursive: true });
114
+ }
115
+ }
116
+ encrypt(data) {
117
+ if (!this.isInitializedStorageSuccess || !this.encryptionUtil) {
118
+ throw new Error('StorageManager not initialized - call initialize() first');
119
+ }
120
+ return this.encryptionUtil.encrypt(data);
121
+ }
122
+ decrypt(encryptedData) {
123
+ if (!this.isInitializedStorageSuccess || !this.encryptionUtil) {
124
+ throw new Error('StorageManager not initialized - call initialize() first');
125
+ }
126
+ return this.encryptionUtil.decrypt(encryptedData);
127
+ }
128
+ async loadStorageData() {
129
+ await this.initialize();
130
+ if (!this.isInitializedStorageSuccess || !fs_1.default.existsSync(this.storageFile)) {
131
+ return { tokens: {}, clients: {} };
132
+ }
133
+ try {
134
+ const data = fs_1.default.readFileSync(this.storageFile, 'utf8');
135
+ return data ? JSON.parse(this.decrypt(data)) : { tokens: {}, clients: {} };
136
+ }
137
+ catch (error) {
138
+ logger_1.logger.error(`[StorageManager] Failed to load storage data: ${error}`);
139
+ logger_1.logger.error('[StorageManager] ⚠️ Builtin User Access Token Store will be disabled. but you can still use it with memory store');
140
+ return { tokens: {}, clients: {} };
141
+ }
142
+ }
143
+ async saveStorageData(data) {
144
+ if (!this.isInitializedStorageSuccess) {
145
+ return;
146
+ }
147
+ await this.initialize();
148
+ try {
149
+ const encryptedData = this.encrypt(JSON.stringify(data, null, 2));
150
+ fs_1.default.writeFileSync(this.storageFile, encryptedData);
151
+ }
152
+ catch (error) {
153
+ logger_1.logger.error(`[StorageManager] Failed to save storage data: ${error}`);
154
+ throw error;
155
+ }
156
+ }
157
+ }
158
+ exports.StorageManager = StorageManager;
159
+ exports.storageManager = new StorageManager();
@@ -0,0 +1 @@
1
+ export { LoginHandler, LoginOptions } from './login-handler';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoginHandler = void 0;
4
+ var login_handler_1 = require("./login-handler");
5
+ Object.defineProperty(exports, "LoginHandler", { enumerable: true, get: function () { return login_handler_1.LoginHandler; } });
@@ -0,0 +1,19 @@
1
+ export interface LoginOptions {
2
+ appId: string;
3
+ appSecret: string;
4
+ domain: string;
5
+ host: string;
6
+ port: string;
7
+ scope?: string[];
8
+ timeout?: number;
9
+ externalUrl?: string;
10
+ headless?: boolean;
11
+ }
12
+ export declare class LoginHandler {
13
+ static checkTokenWithTimeout(timeout: number, appId: string): Promise<boolean>;
14
+ static handleLogin(options: LoginOptions): Promise<void>;
15
+ private static handleHeadlessLogin;
16
+ static handleLogout(appId?: string): Promise<void>;
17
+ private static simpleMask;
18
+ static handleWhoAmI(): Promise<void>;
19
+ }