@danyow/lark-mcp 0.5.1

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 +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 +115 -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/builtin.d.ts +5 -0
  78. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.js +219 -0
  79. package/dist/mcp-tool/tools/en/builtin-tools/drive/builtin.d.ts +4 -0
  80. package/dist/mcp-tool/tools/en/builtin-tools/drive/builtin.js +159 -0
  81. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.d.ts +4 -0
  82. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.js +63 -0
  83. package/dist/mcp-tool/tools/en/builtin-tools/index.d.ts +5 -0
  84. package/dist/mcp-tool/tools/en/builtin-tools/index.js +7 -0
  85. package/dist/mcp-tool/tools/en/gen-tools/index.d.ts +114 -0
  86. package/dist/mcp-tool/tools/en/gen-tools/index.js +129 -0
  87. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.d.ts +562 -0
  88. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.js +264 -0
  89. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.d.ts +912 -0
  90. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.js +449 -0
  91. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.d.ts +1213 -0
  92. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.js +560 -0
  93. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.d.ts +2530 -0
  94. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.js +949 -0
  95. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.d.ts +80 -0
  96. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.js +53 -0
  97. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.d.ts +1008 -0
  98. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.js +775 -0
  99. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.d.ts +3928 -0
  100. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.js +1602 -0
  101. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.d.ts +6043 -0
  102. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.js +1857 -0
  103. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.d.ts +151 -0
  104. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.js +71 -0
  105. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.d.ts +26 -0
  106. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.js +17 -0
  107. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.d.ts +2174 -0
  108. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.js +594 -0
  109. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.d.ts +755 -0
  110. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.js +234 -0
  111. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.d.ts +3541 -0
  112. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.js +1786 -0
  113. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.d.ts +40 -0
  114. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.js +18 -0
  115. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.d.ts +2075 -0
  116. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.js +1594 -0
  117. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.d.ts +528 -0
  118. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.js +260 -0
  119. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.d.ts +189 -0
  120. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.js +132 -0
  121. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.d.ts +4274 -0
  122. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.js +2583 -0
  123. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.d.ts +16873 -0
  124. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.js +5045 -0
  125. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.d.ts +29387 -0
  126. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.js +7787 -0
  127. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.d.ts +4274 -0
  128. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.js +1367 -0
  129. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.d.ts +58 -0
  130. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.js +28 -0
  131. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.d.ts +93466 -0
  132. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.js +14350 -0
  133. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.d.ts +3251 -0
  134. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.js +1422 -0
  135. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.d.ts +174 -0
  136. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.js +117 -0
  137. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.d.ts +86 -0
  138. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.js +48 -0
  139. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.d.ts +44 -0
  140. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.js +17 -0
  141. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  142. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.js +285 -0
  143. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.d.ts +10076 -0
  144. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.js +6065 -0
  145. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.d.ts +158 -0
  146. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.js +61 -0
  147. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  148. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.js +27 -0
  149. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.d.ts +3043 -0
  150. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.js +1869 -0
  151. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.d.ts +2176 -0
  152. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.js +460 -0
  153. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.d.ts +2301 -0
  154. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.js +669 -0
  155. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.d.ts +2462 -0
  156. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.js +1655 -0
  157. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.d.ts +104 -0
  158. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.js +45 -0
  159. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.d.ts +329 -0
  160. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.js +78 -0
  161. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.d.ts +92 -0
  162. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.js +62 -0
  163. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.d.ts +52 -0
  164. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.js +24 -0
  165. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.d.ts +1628 -0
  166. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.js +434 -0
  167. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  168. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  169. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.d.ts +131 -0
  170. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.js +59 -0
  171. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.d.ts +333 -0
  172. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.js +176 -0
  173. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.d.ts +309 -0
  174. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.js +178 -0
  175. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.d.ts +1177 -0
  176. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.js +559 -0
  177. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  178. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.js +303 -0
  179. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.d.ts +192 -0
  180. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.js +71 -0
  181. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.d.ts +1695 -0
  182. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.js +446 -0
  183. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  184. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.js +32 -0
  185. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v2.d.ts +523 -0
  186. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v2.js +231 -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/builtin.d.ts +5 -0
  214. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.js +198 -0
  215. package/dist/mcp-tool/tools/zh/builtin-tools/drive/builtin.d.ts +4 -0
  216. package/dist/mcp-tool/tools/zh/builtin-tools/drive/builtin.js +159 -0
  217. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.d.ts +4 -0
  218. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.js +63 -0
  219. package/dist/mcp-tool/tools/zh/builtin-tools/index.d.ts +5 -0
  220. package/dist/mcp-tool/tools/zh/builtin-tools/index.js +7 -0
  221. package/dist/mcp-tool/tools/zh/gen-tools/index.d.ts +114 -0
  222. package/dist/mcp-tool/tools/zh/gen-tools/index.js +129 -0
  223. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.d.ts +562 -0
  224. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.js +277 -0
  225. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.d.ts +912 -0
  226. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.js +430 -0
  227. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.d.ts +1213 -0
  228. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.js +541 -0
  229. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.d.ts +2530 -0
  230. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.js +885 -0
  231. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.d.ts +80 -0
  232. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.js +59 -0
  233. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.d.ts +1007 -0
  234. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.js +721 -0
  235. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.d.ts +3928 -0
  236. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.js +1532 -0
  237. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.d.ts +6043 -0
  238. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.js +1620 -0
  239. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.d.ts +151 -0
  240. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.js +87 -0
  241. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.d.ts +26 -0
  242. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.js +17 -0
  243. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.d.ts +2174 -0
  244. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.js +574 -0
  245. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.d.ts +755 -0
  246. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.js +270 -0
  247. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.d.ts +3541 -0
  248. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.js +1864 -0
  249. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.d.ts +40 -0
  250. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.js +18 -0
  251. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.d.ts +2075 -0
  252. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.js +1533 -0
  253. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.d.ts +528 -0
  254. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.js +248 -0
  255. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.d.ts +189 -0
  256. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.js +130 -0
  257. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.d.ts +4274 -0
  258. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.js +2394 -0
  259. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.d.ts +16957 -0
  260. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.js +4753 -0
  261. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.d.ts +29869 -0
  262. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.js +7902 -0
  263. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.d.ts +4324 -0
  264. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.js +1340 -0
  265. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.d.ts +58 -0
  266. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.js +26 -0
  267. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.d.ts +116719 -0
  268. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.js +14949 -0
  269. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.d.ts +3251 -0
  270. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.js +1395 -0
  271. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.d.ts +174 -0
  272. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.js +115 -0
  273. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.d.ts +86 -0
  274. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.js +48 -0
  275. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.d.ts +44 -0
  276. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.js +25 -0
  277. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  278. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.js +279 -0
  279. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.d.ts +10085 -0
  280. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.js +5787 -0
  281. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.d.ts +158 -0
  282. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.js +64 -0
  283. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  284. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.js +27 -0
  285. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.d.ts +3043 -0
  286. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.js +1812 -0
  287. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.d.ts +2176 -0
  288. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.js +454 -0
  289. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.d.ts +2301 -0
  290. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.js +650 -0
  291. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.d.ts +2465 -0
  292. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.js +1467 -0
  293. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.d.ts +104 -0
  294. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.js +45 -0
  295. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.d.ts +329 -0
  296. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.js +76 -0
  297. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.d.ts +92 -0
  298. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.js +62 -0
  299. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.d.ts +52 -0
  300. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.js +20 -0
  301. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.d.ts +1664 -0
  302. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.js +455 -0
  303. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  304. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  305. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.d.ts +131 -0
  306. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.js +53 -0
  307. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.d.ts +609 -0
  308. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.js +321 -0
  309. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.d.ts +309 -0
  310. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.js +165 -0
  311. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.d.ts +1177 -0
  312. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.js +525 -0
  313. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  314. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.js +295 -0
  315. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.d.ts +194 -0
  316. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.js +72 -0
  317. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.d.ts +1695 -0
  318. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.js +556 -0
  319. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  320. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.js +32 -0
  321. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v2.d.ts +523 -0
  322. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v2.js +231 -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 +119 -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 +35 -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 +1527 -0
  382. package/docs/reference/tool-presets/tools-zh.md +1544 -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,135 @@
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 {
74
+ const keytar = await Promise.resolve().then(() => __importStar(require('keytar')));
75
+ let key = await keytar.getPassword(config_1.AUTH_CONFIG.SERVER_NAME, config_1.AUTH_CONFIG.AES_KEY_NAME);
76
+ if (!key) {
77
+ key = encryption_1.EncryptionUtil.generateKey();
78
+ await keytar.setPassword(config_1.AUTH_CONFIG.SERVER_NAME, config_1.AUTH_CONFIG.AES_KEY_NAME, key);
79
+ }
80
+ this.encryptionUtil = new encryption_1.EncryptionUtil(key);
81
+ }
82
+ catch (error) {
83
+ logger_1.logger.warn(`[StorageManager] Failed to initialize encryption: ${error}`);
84
+ throw error;
85
+ }
86
+ }
87
+ ensureStorageDir() {
88
+ if (!fs_1.default.existsSync(config_1.AUTH_CONFIG.STORAGE_DIR)) {
89
+ fs_1.default.mkdirSync(config_1.AUTH_CONFIG.STORAGE_DIR, { recursive: true });
90
+ }
91
+ }
92
+ encrypt(data) {
93
+ if (!this.isInitializedStorageSuccess || !this.encryptionUtil) {
94
+ throw new Error('StorageManager not initialized - call initialize() first');
95
+ }
96
+ return this.encryptionUtil.encrypt(data);
97
+ }
98
+ decrypt(encryptedData) {
99
+ if (!this.isInitializedStorageSuccess || !this.encryptionUtil) {
100
+ throw new Error('StorageManager not initialized - call initialize() first');
101
+ }
102
+ return this.encryptionUtil.decrypt(encryptedData);
103
+ }
104
+ async loadStorageData() {
105
+ await this.initialize();
106
+ if (!this.isInitializedStorageSuccess || !fs_1.default.existsSync(this.storageFile)) {
107
+ return { tokens: {}, clients: {} };
108
+ }
109
+ try {
110
+ const data = fs_1.default.readFileSync(this.storageFile, 'utf8');
111
+ return data ? JSON.parse(this.decrypt(data)) : { tokens: {}, clients: {} };
112
+ }
113
+ catch (error) {
114
+ logger_1.logger.error(`[StorageManager] Failed to load storage data: ${error}`);
115
+ logger_1.logger.error('[StorageManager] ⚠️ Builtin User Access Token Store will be disabled. but you can still use it with memory store');
116
+ return { tokens: {}, clients: {} };
117
+ }
118
+ }
119
+ async saveStorageData(data) {
120
+ if (!this.isInitializedStorageSuccess) {
121
+ return;
122
+ }
123
+ await this.initialize();
124
+ try {
125
+ const encryptedData = this.encrypt(JSON.stringify(data, null, 2));
126
+ fs_1.default.writeFileSync(this.storageFile, encryptedData);
127
+ }
128
+ catch (error) {
129
+ logger_1.logger.error(`[StorageManager] Failed to save storage data: ${error}`);
130
+ throw error;
131
+ }
132
+ }
133
+ }
134
+ exports.StorageManager = StorageManager;
135
+ 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,16 @@
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
+ }
10
+ export declare class LoginHandler {
11
+ static checkTokenWithTimeout(timeout: number, appId: string): Promise<boolean>;
12
+ static handleLogin(options: LoginOptions): Promise<void>;
13
+ static handleLogout(appId?: string): Promise<void>;
14
+ private static simpleMask;
15
+ static handleWhoAmI(): Promise<void>;
16
+ }