@lmcc-dev/mult-fetch-mcp-server 1.1.0 → 1.2.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 (216) hide show
  1. package/README.md +8 -8
  2. package/README.zh.md +16 -8
  3. package/dist/i18n-test-report.json +8 -0
  4. package/dist/i18n-unused-keys-report.json +8 -0
  5. package/dist/src/client.js +70 -37
  6. package/dist/src/index.js +0 -0
  7. package/dist/src/lib/BrowserFetcher.js +12 -12
  8. package/dist/src/lib/NodeFetcher.js +22 -22
  9. package/dist/src/lib/fetch.js +40 -0
  10. package/dist/src/lib/fetchers/FetcherFactory.js +43 -0
  11. package/dist/src/lib/fetchers/browser/BrowserFetcher.js +381 -0
  12. package/dist/src/lib/fetchers/browser/BrowserInstance.js +180 -0
  13. package/dist/src/lib/fetchers/browser/PageOperations.js +168 -0
  14. package/dist/src/lib/fetchers/common/types.js +41 -0
  15. package/dist/src/lib/fetchers/common/utils.js +141 -0
  16. package/dist/src/lib/fetchers/index.js +62 -0
  17. package/dist/src/lib/fetchers/node/HttpClient.js +239 -0
  18. package/dist/src/lib/fetchers/node/NodeFetcher.js +180 -0
  19. package/dist/src/lib/i18n/index.js +105 -17
  20. package/dist/src/lib/i18n/keys/base.js +41 -0
  21. package/dist/src/lib/i18n/keys/browser.js +91 -0
  22. package/dist/src/lib/i18n/keys/client.js +68 -0
  23. package/dist/src/lib/i18n/keys/errors.js +49 -0
  24. package/dist/src/lib/i18n/keys/factory.js +46 -0
  25. package/dist/src/lib/i18n/keys/fetcher.js +87 -0
  26. package/dist/src/lib/i18n/keys/index.js +16 -0
  27. package/dist/src/lib/i18n/keys/node.js +69 -0
  28. package/dist/src/lib/i18n/keys/prompts.js +79 -0
  29. package/dist/src/lib/i18n/keys/resources.js +53 -0
  30. package/dist/src/lib/i18n/keys/server.js +67 -0
  31. package/dist/src/lib/i18n/keys/tools.js +39 -0
  32. package/dist/src/lib/i18n/keys.js +488 -119
  33. package/dist/src/lib/i18n/locales/en/browser.js +67 -57
  34. package/dist/src/lib/i18n/locales/en/client.js +57 -33
  35. package/dist/src/lib/i18n/locales/en/errors.js +36 -12
  36. package/dist/src/lib/i18n/locales/en/factory.js +38 -0
  37. package/dist/src/lib/i18n/locales/en/fetcher.js +8 -2
  38. package/dist/src/lib/i18n/locales/en/index.js +10 -8
  39. package/dist/src/lib/i18n/locales/en/node.js +57 -35
  40. package/dist/src/lib/i18n/locales/en/prompts.js +42 -65
  41. package/dist/src/lib/i18n/locales/en/resources.js +52 -55
  42. package/dist/src/lib/i18n/locales/en/server.js +49 -24
  43. package/dist/src/lib/i18n/locales/en/tools.js +27 -19
  44. package/dist/src/lib/i18n/locales/zh/browser.js +71 -62
  45. package/dist/src/lib/i18n/locales/zh/client.js +57 -32
  46. package/dist/src/lib/i18n/locales/zh/errors.js +36 -12
  47. package/dist/src/lib/i18n/locales/zh/factory.js +38 -0
  48. package/dist/src/lib/i18n/locales/zh/fetcher.js +36 -30
  49. package/dist/src/lib/i18n/locales/zh/index.js +10 -8
  50. package/dist/src/lib/i18n/locales/zh/node.js +61 -36
  51. package/dist/src/lib/i18n/locales/zh/prompts.js +35 -57
  52. package/dist/src/lib/i18n/locales/zh/resources.js +52 -55
  53. package/dist/src/lib/i18n/locales/zh/server.js +51 -25
  54. package/dist/src/lib/i18n/locales/zh/tools.js +27 -19
  55. package/dist/src/lib/i18n/logger.js +90 -19
  56. package/dist/src/lib/logger.js +135 -14
  57. package/dist/src/lib/server/browser.js +42 -10
  58. package/dist/src/lib/server/fetcher.js +87 -37
  59. package/dist/src/lib/server/index.js +2 -2
  60. package/dist/src/lib/server/prompts.js +1 -1
  61. package/dist/src/lib/server/resources.js +1 -1
  62. package/dist/src/lib/server/tools.js +46 -10
  63. package/dist/src/lib/utils/ErrorHandler.js +125 -0
  64. package/dist/src/mcp-server.js +0 -0
  65. package/dist/src/test-i18n.js +139 -0
  66. package/dist/tests/BrowserFetcher.test.js +0 -0
  67. package/dist/tests/NodeFetcher.test.js +0 -0
  68. package/dist/tests/client.test.js +42 -81
  69. package/dist/tests/fetch.test.js +70 -0
  70. package/dist/tests/fetchers/Fetcher.test.js +108 -0
  71. package/dist/tests/fetchers/browser/BrowserFetcher.test.js +195 -0
  72. package/dist/tests/fetchers/browser/BrowserInstance.test.js +163 -0
  73. package/dist/tests/fetchers/node/NodeFetcher.test.js +211 -0
  74. package/dist/tests/i18n-missing-keys.js +364 -0
  75. package/dist/tests/i18n-remove-unused-keys.js +236 -0
  76. package/dist/tests/i18n-test-report.json +2004 -0
  77. package/dist/tests/i18n-unused-keys.js +425 -0
  78. package/dist/tests/i18n.test.js +6 -7
  79. package/dist/tests/logger.test.js +14 -13
  80. package/dist/tests/mcp-server.test.js +7 -7
  81. package/dist/tests/server/browser.test.js +25 -21
  82. package/dist/tests/server/fetcher.test.js +58 -101
  83. package/dist/tests/server/index.test.js +30 -30
  84. package/dist/tests/server/prompts.test.js +36 -33
  85. package/dist/tests/server/resources.test.js +120 -84
  86. package/dist/tests/server/tools.test.js +7 -6
  87. package/dist/tests/setup.js +36 -0
  88. package/dist/tests/src/lib/i18n/index.js +108 -0
  89. package/dist/tests/src/lib/i18n/keys/base.js +47 -0
  90. package/dist/tests/src/lib/i18n/keys/browser.js +93 -0
  91. package/dist/tests/src/lib/i18n/keys/client.js +70 -0
  92. package/dist/tests/src/lib/i18n/keys/errors.js +34 -0
  93. package/dist/tests/src/lib/i18n/keys/fetcher.js +84 -0
  94. package/dist/tests/src/lib/i18n/keys/index.js +31 -0
  95. package/dist/tests/src/lib/i18n/keys/node.js +56 -0
  96. package/dist/tests/src/lib/i18n/keys/prompts.js +82 -0
  97. package/dist/tests/src/lib/i18n/keys/resources.js +50 -0
  98. package/dist/tests/src/lib/i18n/keys/server.js +64 -0
  99. package/dist/tests/src/lib/i18n/keys/tools.js +34 -0
  100. package/dist/tests/src/lib/i18n/locales/en/browser.js +88 -0
  101. package/dist/tests/src/lib/i18n/locales/en/client.js +66 -0
  102. package/dist/tests/src/lib/i18n/locales/en/errors.js +28 -0
  103. package/dist/tests/src/lib/i18n/locales/en/fetcher.js +71 -0
  104. package/dist/tests/src/lib/i18n/locales/en/index.js +29 -0
  105. package/dist/tests/src/lib/i18n/locales/en/node.js +51 -0
  106. package/dist/tests/src/lib/i18n/locales/en/prompts.js +52 -0
  107. package/dist/tests/src/lib/i18n/locales/en/resources.js +50 -0
  108. package/dist/tests/src/lib/i18n/locales/en/server.js +56 -0
  109. package/dist/tests/src/lib/i18n/locales/en/tools.js +28 -0
  110. package/dist/tests/src/lib/i18n/locales/zh/browser.js +87 -0
  111. package/dist/tests/src/lib/i18n/locales/zh/client.js +66 -0
  112. package/dist/tests/src/lib/i18n/locales/zh/errors.js +28 -0
  113. package/dist/tests/src/lib/i18n/locales/zh/fetcher.js +71 -0
  114. package/dist/tests/src/lib/i18n/locales/zh/index.js +29 -0
  115. package/dist/tests/src/lib/i18n/locales/zh/node.js +51 -0
  116. package/dist/tests/src/lib/i18n/locales/zh/prompts.js +53 -0
  117. package/dist/tests/src/lib/i18n/locales/zh/resources.js +50 -0
  118. package/dist/tests/src/lib/i18n/locales/zh/server.js +57 -0
  119. package/dist/tests/src/lib/i18n/locales/zh/tools.js +28 -0
  120. package/dist/tests/src/lib/i18n/logger.js +114 -0
  121. package/dist/tests/src/lib/logger.js +181 -0
  122. package/dist/tests/test-direct-client.js +0 -0
  123. package/dist/tests/test-i18n.js +530 -0
  124. package/dist/tests/test-mcp-methods.js +1 -1
  125. package/dist/tests/test-mcp.js +0 -0
  126. package/dist/tests/test-mini4k.js +0 -0
  127. package/dist/tests/tests/test-i18n.js +588 -0
  128. package/dist/tests/types.test.js +1 -1
  129. package/dist/tests/utils/ErrorHandler.test.js +144 -0
  130. package/dist/vitest.config.js +29 -0
  131. package/package.json +31 -27
  132. package/dist/src/cli-language.js +0 -78
  133. package/dist/src/client.d.ts +0 -6
  134. package/dist/src/client.js.map +0 -1
  135. package/dist/src/index.d.ts +0 -15
  136. package/dist/src/index.js.map +0 -1
  137. package/dist/src/lib/BrowserFetcher.d.ts +0 -175
  138. package/dist/src/lib/BrowserFetcher.js.map +0 -1
  139. package/dist/src/lib/NodeFetcher.d.ts +0 -92
  140. package/dist/src/lib/NodeFetcher.js.map +0 -1
  141. package/dist/src/lib/example.js +0 -93
  142. package/dist/src/lib/i18n/index.js.map +0 -1
  143. package/dist/src/lib/i18n/locales/en/browser.d.ts +0 -61
  144. package/dist/src/lib/i18n/locales/en/browser.js.map +0 -1
  145. package/dist/src/lib/i18n/locales/en/client.d.ts +0 -39
  146. package/dist/src/lib/i18n/locales/en/client.js.map +0 -1
  147. package/dist/src/lib/i18n/locales/en/errors.d.ts +0 -17
  148. package/dist/src/lib/i18n/locales/en/errors.js.map +0 -1
  149. package/dist/src/lib/i18n/locales/en/fetcher.d.ts +0 -66
  150. package/dist/src/lib/i18n/locales/en/fetcher.js.map +0 -1
  151. package/dist/src/lib/i18n/locales/en/index.d.ts +0 -344
  152. package/dist/src/lib/i18n/locales/en/index.js.map +0 -1
  153. package/dist/src/lib/i18n/locales/en/node.d.ts +0 -41
  154. package/dist/src/lib/i18n/locales/en/node.js.map +0 -1
  155. package/dist/src/lib/i18n/locales/en/prompts.d.ts +0 -65
  156. package/dist/src/lib/i18n/locales/en/prompts.js.map +0 -1
  157. package/dist/src/lib/i18n/locales/en/resources.d.ts +0 -41
  158. package/dist/src/lib/i18n/locales/en/resources.js.map +0 -1
  159. package/dist/src/lib/i18n/locales/en/server.d.ts +0 -30
  160. package/dist/src/lib/i18n/locales/en/server.js.map +0 -1
  161. package/dist/src/lib/i18n/locales/en/tools.d.ts +0 -24
  162. package/dist/src/lib/i18n/locales/en/tools.js.map +0 -1
  163. package/dist/src/lib/i18n/locales/zh/browser.d.ts +0 -61
  164. package/dist/src/lib/i18n/locales/zh/browser.js.map +0 -1
  165. package/dist/src/lib/i18n/locales/zh/client.d.ts +0 -38
  166. package/dist/src/lib/i18n/locales/zh/client.js.map +0 -1
  167. package/dist/src/lib/i18n/locales/zh/errors.d.ts +0 -17
  168. package/dist/src/lib/i18n/locales/zh/errors.js.map +0 -1
  169. package/dist/src/lib/i18n/locales/zh/fetcher.d.ts +0 -66
  170. package/dist/src/lib/i18n/locales/zh/fetcher.js.map +0 -1
  171. package/dist/src/lib/i18n/locales/zh/index.d.ts +0 -343
  172. package/dist/src/lib/i18n/locales/zh/index.js.map +0 -1
  173. package/dist/src/lib/i18n/locales/zh/node.d.ts +0 -41
  174. package/dist/src/lib/i18n/locales/zh/node.js.map +0 -1
  175. package/dist/src/lib/i18n/locales/zh/prompts.d.ts +0 -65
  176. package/dist/src/lib/i18n/locales/zh/prompts.js.map +0 -1
  177. package/dist/src/lib/i18n/locales/zh/resources.d.ts +0 -41
  178. package/dist/src/lib/i18n/locales/zh/resources.js.map +0 -1
  179. package/dist/src/lib/i18n/locales/zh/server.d.ts +0 -30
  180. package/dist/src/lib/i18n/locales/zh/server.js.map +0 -1
  181. package/dist/src/lib/i18n/locales/zh/tools.d.ts +0 -24
  182. package/dist/src/lib/i18n/locales/zh/tools.js.map +0 -1
  183. package/dist/src/lib/i18n/logger.d.ts +0 -38
  184. package/dist/src/lib/i18n/logger.js.map +0 -1
  185. package/dist/src/lib/logger.d.ts +0 -32
  186. package/dist/src/lib/logger.js.map +0 -1
  187. package/dist/src/lib/server/browser.d.ts +0 -34
  188. package/dist/src/lib/server/browser.js.map +0 -1
  189. package/dist/src/lib/server/fetcher.d.ts +0 -20
  190. package/dist/src/lib/server/fetcher.js.map +0 -1
  191. package/dist/src/lib/server/index.d.ts +0 -10
  192. package/dist/src/lib/server/index.js.map +0 -1
  193. package/dist/src/lib/server/logger.js +0 -23
  194. package/dist/src/lib/server/prompts.d.ts +0 -11
  195. package/dist/src/lib/server/prompts.js.map +0 -1
  196. package/dist/src/lib/server/resources.d.ts +0 -11
  197. package/dist/src/lib/server/resources.js.map +0 -1
  198. package/dist/src/lib/server/tools.d.ts +0 -12
  199. package/dist/src/lib/server/tools.js.map +0 -1
  200. package/dist/src/lib/server/types.d.ts +0 -71
  201. package/dist/src/lib/server/types.js.map +0 -1
  202. package/dist/src/lib/types.d.ts +0 -119
  203. package/dist/src/lib/types.js.map +0 -1
  204. package/dist/src/mcp-server.d.ts +0 -6
  205. package/dist/src/mcp-server.js.map +0 -1
  206. package/dist/tests/jest.setup.d.ts +0 -6
  207. package/dist/tests/jest.setup.js +0 -30
  208. package/dist/tests/jest.setup.js.map +0 -1
  209. package/dist/tests/test-direct-client.d.ts +0 -6
  210. package/dist/tests/test-direct-client.js.map +0 -1
  211. package/dist/tests/test-mcp-methods.d.ts +0 -6
  212. package/dist/tests/test-mcp-methods.js.map +0 -1
  213. package/dist/tests/test-mcp.d.ts +0 -6
  214. package/dist/tests/test-mcp.js.map +0 -1
  215. package/dist/tests/test-mini4k.d.ts +0 -6
  216. package/dist/tests/test-mini4k.js.map +0 -1
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BROWSER_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 浏览器相关键 (Browser related keys)
12
+ */
13
+ exports.BROWSER_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('browser');
15
+ return {
16
+ // 浏览器生命周期 (Browser lifecycle)
17
+ closing: keyGen('closing'),
18
+ closed: keyGen('closed'),
19
+ starting: keyGen('starting'),
20
+ startingFailed: keyGen('startingFailed'),
21
+ alreadyRunning: keyGen('alreadyRunning'),
22
+ // 页面操作 (Page operations)
23
+ creatingPage: keyGen('creatingPage'),
24
+ navigatingTo: keyGen('navigatingTo'),
25
+ waitingForSelector: keyGen('waitingForSelector'),
26
+ waitingForTimeout: keyGen('waitingForTimeout'),
27
+ scrollingToBottom: keyGen('scrollingToBottom'),
28
+ gettingContent: keyGen('gettingContent'),
29
+ contentLength: keyGen('contentLength'),
30
+ // Cookie 相关 (Cookie related)
31
+ savingCookies: keyGen('savingCookies'),
32
+ cookiesSaved: keyGen('cookiesSaved'),
33
+ loadingCookies: keyGen('loadingCookies'),
34
+ cookiesLoaded: keyGen('cookiesLoaded'),
35
+ noCookiesFound: keyGen('noCookiesFound'),
36
+ // 错误相关 (Error related)
37
+ errorLoadingCookies: keyGen('errorLoadingCookies'),
38
+ errorSavingCookies: keyGen('errorSavingCookies'),
39
+ errorNavigating: keyGen('errorNavigating'),
40
+ errorGettingContent: keyGen('errorGettingContent'),
41
+ errorClosingBrowser: keyGen('errorClosingBrowser'),
42
+ errorCreatingPage: keyGen('errorCreatingPage'),
43
+ closingError: keyGen('closingError'),
44
+ // 额外的浏览器相关键 (Additional browser related keys)
45
+ waiting: keyGen('waiting'),
46
+ startupSuccess: keyGen('startupSuccess'),
47
+ navigating: keyGen('navigating'),
48
+ scrolling: keyGen('scrolling'),
49
+ scrollCompleted: keyGen('scrollCompleted'),
50
+ contentTruncated: keyGen('contentTruncated'),
51
+ pageClosed: keyGen('pageClosed'),
52
+ fetchError: keyGen('fetchError'),
53
+ highMemory: keyGen('highMemory'),
54
+ closingDueToMemory: keyGen('closingDueToMemory'),
55
+ forcingGC: keyGen('forcingGC'),
56
+ memoryCheckError: keyGen('memoryCheckError'),
57
+ usingCookies: keyGen('usingCookies'),
58
+ usingProxy: keyGen('usingProxy'),
59
+ // Cloudflare 相关 (Cloudflare related)
60
+ checkingCloudflare: keyGen('checkingCloudflare'),
61
+ cloudflareDetected: keyGen('cloudflareDetected'),
62
+ simulatingHuman: keyGen('simulatingHuman'),
63
+ simulatingHumanError: keyGen('simulatingHumanError'),
64
+ stillOnCloudflare: keyGen('stillOnCloudflare'),
65
+ bypassFailed: keyGen('bypassFailed'),
66
+ cloudflareError: keyGen('cloudflareError'),
67
+ continuingWithoutBypass: keyGen('continuingWithoutBypass'),
68
+ unableToBypassCloudflare: keyGen('unableToBypassCloudflare'),
69
+ // 获取和重试相关 (Fetch and retry related)
70
+ fetchingWithRetry: keyGen('fetchingWithRetry'),
71
+ memoryUsage: keyGen('memoryUsage'),
72
+ memoryTooHigh: keyGen('memoryTooHigh'),
73
+ contentTooLarge: keyGen('contentTooLarge'),
74
+ failedToParseJSON: keyGen('failedToParseJSON'),
75
+ startingBrowserFetchForMarkdown: keyGen('startingBrowserFetchForMarkdown'),
76
+ errorInBrowserFetchForMarkdown: keyGen('errorInBrowserFetchForMarkdown'),
77
+ fetchRequest: keyGen('fetchRequest'),
78
+ usingStoredCookies: keyGen('usingStoredCookies'),
79
+ closingInstance: keyGen('closingInstance'),
80
+ fetchErrorWithAttempt: keyGen('fetchErrorWithAttempt'),
81
+ retryingAfterDelay: keyGen('retryingAfterDelay'),
82
+ // 浏览器启动相关 (Browser startup related)
83
+ browserStartupSuccess: keyGen('browserStartupSuccess'),
84
+ browserStartupFailed: keyGen('browserStartupFailed'),
85
+ usingCustomChromePath: keyGen('usingCustomChromePath'),
86
+ browserDisconnected: keyGen('browserDisconnected'),
87
+ waitingForBrowserStart: keyGen('waitingForBrowserStart'),
88
+ reusingExistingBrowser: keyGen('reusingExistingBrowser'),
89
+ startingBrowser: keyGen('startingBrowser'),
90
+ browserStarted: keyGen('browserStarted'),
91
+ browserStartError: keyGen('browserStartError')
92
+ };
93
+ })();
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.CLIENT_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 客户端相关键 (Client related keys)
12
+ */
13
+ exports.CLIENT_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('client');
15
+ return {
16
+ // 连接相关 (Connection related)
17
+ connecting: keyGen('connecting'),
18
+ connected: keyGen('connected'),
19
+ connectionFailed: keyGen('connectionFailed'),
20
+ disconnected: keyGen('disconnected'),
21
+ reconnecting: keyGen('reconnecting'),
22
+ // 错误相关 (Error related)
23
+ clientError: keyGen('clientError'),
24
+ transportError: keyGen('transportError'),
25
+ requestError: keyGen('requestError'),
26
+ // 请求相关 (Request related)
27
+ requestStarted: keyGen('requestStarted'),
28
+ requestCompleted: keyGen('requestCompleted'),
29
+ requestCancelled: keyGen('requestCancelled'),
30
+ // 内容相关 (Content related)
31
+ fetchingHtml: keyGen('fetchingHtml'),
32
+ fetchingJson: keyGen('fetchingJson'),
33
+ fetchingText: keyGen('fetchingText'),
34
+ fetchingMarkdown: keyGen('fetchingMarkdown'),
35
+ fetchSuccessful: keyGen('fetchSuccessful'),
36
+ contentLength: keyGen('contentLength'),
37
+ // 调试相关 (Debug related)
38
+ debugMode: keyGen('debugMode'),
39
+ debugInfo: keyGen('debugInfo'),
40
+ error: keyGen('error'),
41
+ callTool: keyGen('callTool'),
42
+ callToolSuccess: keyGen('callToolSuccess'),
43
+ callToolError: keyGen('callToolError'),
44
+ statusCodeDetected: keyGen('statusCodeDetected'),
45
+ usageInfo: keyGen('usageInfo'),
46
+ exampleUsage: keyGen('exampleUsage'),
47
+ invalidJson: keyGen('invalidJson'),
48
+ usingCommandLineProxy: keyGen('usingCommandLineProxy'),
49
+ invalidProxyFormat: keyGen('invalidProxyFormat'),
50
+ usingEnvProxy: keyGen('usingEnvProxy'),
51
+ usingShellProxy: keyGen('usingShellProxy'),
52
+ noShellProxy: keyGen('noShellProxy'),
53
+ systemProxyDisabled: keyGen('systemProxyDisabled'),
54
+ usingSystemProxy: keyGen('usingSystemProxy'),
55
+ noSystemProxy: keyGen('noSystemProxy'),
56
+ requestFailed: keyGen('requestFailed'),
57
+ fatalError: keyGen('fatalError'),
58
+ startingServer: keyGen('startingServer'),
59
+ fetchingUrl: keyGen('fetchingUrl'),
60
+ usingMode: keyGen('usingMode'),
61
+ fetchFailed: keyGen('fetchFailed'),
62
+ fetchSuccess: keyGen('fetchSuccess'),
63
+ browserModeNeeded: keyGen('browserModeNeeded'),
64
+ retryingWithBrowser: keyGen('retryingWithBrowser'),
65
+ browserModeFetchFailed: keyGen('browserModeFetchFailed'),
66
+ browserModeFetchSuccess: keyGen('browserModeFetchSuccess'),
67
+ serverClosed: keyGen('serverClosed'),
68
+ proxySet: keyGen('proxySet')
69
+ };
70
+ })();
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ERROR_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 错误相关键 (Error related keys)
12
+ */
13
+ exports.ERROR_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('errors');
15
+ return {
16
+ // 参数错误 (Parameter errors)
17
+ missingRequiredParam: keyGen('missingRequiredParam'),
18
+ invalidUrl: keyGen('invalidUrl'),
19
+ // 请求错误 (Request errors)
20
+ requestTimeout: keyGen('requestTimeout'),
21
+ maxRedirectsExceeded: keyGen('maxRedirectsExceeded'),
22
+ requestFailed: keyGen('requestFailed'),
23
+ networkError: keyGen('networkError'),
24
+ // 响应错误 (Response errors)
25
+ invalidResponse: keyGen('invalidResponse'),
26
+ invalidContentType: keyGen('invalidContentType'),
27
+ invalidJson: keyGen('invalidJson'),
28
+ // 浏览器错误 (Browser errors)
29
+ browserInitFailed: keyGen('browserInitFailed'),
30
+ pageLoadFailed: keyGen('pageLoadFailed'),
31
+ // 通用错误 (Generic errors)
32
+ unknownError: keyGen('unknownError')
33
+ };
34
+ })();
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.FETCHER_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 获取器相关键 (Fetcher related keys)
12
+ */
13
+ exports.FETCHER_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('fetcher');
15
+ return {
16
+ // 延迟相关 (Delay related)
17
+ addingDelay: keyGen('addingDelay'),
18
+ delayCompleted: keyGen('delayCompleted'),
19
+ // 代理相关 (Proxy related)
20
+ usingProxy: keyGen('usingProxy'),
21
+ usingSpecifiedProxy: keyGen('usingSpecifiedProxy'),
22
+ attemptingToUseSystemProxy: keyGen('attemptingToUseSystemProxy'),
23
+ notUsingProxy: keyGen('notUsingProxy'),
24
+ finalProxyUsed: keyGen('finalProxyUsed'),
25
+ noProxy: keyGen('noProxy'),
26
+ usingHttpsProxy: keyGen('usingHttpsProxy'),
27
+ usingHttpProxy: keyGen('usingHttpProxy'),
28
+ // 请求相关 (Request related)
29
+ fetchingUrl: keyGen('fetchingUrl'),
30
+ usingUserAgent: keyGen('usingUserAgent'),
31
+ requestOptions: keyGen('requestOptions'),
32
+ startingFetch: keyGen('startingFetch'),
33
+ fetchCompleted: keyGen('fetchCompleted'),
34
+ // 响应相关 (Response related)
35
+ responseStatus: keyGen('responseStatus'),
36
+ redirectingTo: keyGen('redirectingTo'),
37
+ constructedFullRedirectUrl: keyGen('constructedFullRedirectUrl'),
38
+ requestSuccess: keyGen('requestSuccess'),
39
+ // 错误相关 (Error related)
40
+ errorResponse: keyGen('errorResponse'),
41
+ errorResponseBody: keyGen('errorResponseBody'),
42
+ errorReadingBody: keyGen('errorReadingBody'),
43
+ fetchError: keyGen('fetchError'),
44
+ requestAborted: keyGen('requestAborted'),
45
+ networkError: keyGen('networkError'),
46
+ requestTimeout: keyGen('requestTimeout'),
47
+ fetchFailed: keyGen('fetchFailed'),
48
+ tooManyRedirects: keyGen('tooManyRedirects'),
49
+ // 内容类型相关 (Content type related)
50
+ startingHtmlFetch: keyGen('startingHtmlFetch'),
51
+ readingText: keyGen('readingText'),
52
+ htmlContentLength: keyGen('htmlContentLength'),
53
+ startingJsonFetch: keyGen('startingJsonFetch'),
54
+ parsingJson: keyGen('parsingJson'),
55
+ jsonParsed: keyGen('jsonParsed'),
56
+ jsonParseError: keyGen('jsonParseError'),
57
+ startingTxtFetch: keyGen('startingTxtFetch'),
58
+ textContentLength: keyGen('textContentLength'),
59
+ startingMarkdownFetch: keyGen('startingMarkdownFetch'),
60
+ creatingTurndown: keyGen('creatingTurndown'),
61
+ convertingToMarkdown: keyGen('convertingToMarkdown'),
62
+ markdownContentLength: keyGen('markdownContentLength'),
63
+ // 系统代理相关 (System proxy related)
64
+ checkingProxyEnv: keyGen('checkingProxyEnv'),
65
+ envVarValue: keyGen('envVarValue'),
66
+ foundSystemProxy: keyGen('foundSystemProxy'),
67
+ systemCommandProxySettings: keyGen('systemCommandProxySettings'),
68
+ foundProxyFromCommand: keyGen('foundProxyFromCommand'),
69
+ errorGettingProxyFromCommand: keyGen('errorGettingProxyFromCommand'),
70
+ checkingSystemEnvVars: keyGen('checkingSystemEnvVars'),
71
+ windowsEnvVars: keyGen('windowsEnvVars'),
72
+ foundWindowsEnvProxy: keyGen('foundWindowsEnvProxy'),
73
+ errorGettingWindowsEnvVars: keyGen('errorGettingWindowsEnvVars'),
74
+ unixEnvVars: keyGen('unixEnvVars'),
75
+ foundUnixEnvProxy: keyGen('foundUnixEnvProxy'),
76
+ errorGettingUnixEnvVars: keyGen('errorGettingUnixEnvVars'),
77
+ errorGettingSystemEnvVars: keyGen('errorGettingSystemEnvVars'),
78
+ noSystemProxyFound: keyGen('noSystemProxyFound'),
79
+ // 通用 (General)
80
+ notSet: keyGen('notSet'),
81
+ debug: keyGen('debug'),
82
+ none: keyGen('none')
83
+ };
84
+ })();
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./base.js"), exports);
23
+ __exportStar(require("./browser.js"), exports);
24
+ __exportStar(require("./client.js"), exports);
25
+ __exportStar(require("./errors.js"), exports);
26
+ __exportStar(require("./fetcher.js"), exports);
27
+ __exportStar(require("./node.js"), exports);
28
+ __exportStar(require("./prompts.js"), exports);
29
+ __exportStar(require("./resources.js"), exports);
30
+ __exportStar(require("./server.js"), exports);
31
+ __exportStar(require("./tools.js"), exports);
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.NODE_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 节点相关键 (Node related keys)
12
+ */
13
+ exports.NODE_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('node');
15
+ return {
16
+ // 延迟和代理相关 (Delay and proxy related)
17
+ addingDelay: keyGen('addingDelay'),
18
+ noProxy: keyGen('noProxy'),
19
+ usingProxy: keyGen('usingProxy'),
20
+ usingHttpsProxy: keyGen('usingHttpsProxy'),
21
+ usingHttpProxy: keyGen('usingHttpProxy'),
22
+ // 请求相关 (Request related)
23
+ usingUserAgent: keyGen('usingUserAgent'),
24
+ requestDetails: keyGen('requestDetails'),
25
+ requestOptions: keyGen('requestOptions'),
26
+ startingFetch: keyGen('startingFetch'),
27
+ fetchingUrl: keyGen('fetchingUrl'),
28
+ // 响应相关 (Response related)
29
+ responseStatus: keyGen('responseStatus'),
30
+ redirectingTo: keyGen('redirectingTo'),
31
+ constructedFullRedirectUrl: keyGen('constructedFullRedirectUrl'),
32
+ requestSuccess: keyGen('requestSuccess'),
33
+ // 错误相关 (Error related)
34
+ errorResponse: keyGen('errorResponse'),
35
+ errorResponseBody: keyGen('errorResponseBody'),
36
+ errorReadingBody: keyGen('errorReadingBody'),
37
+ fetchError: keyGen('fetchError'),
38
+ requestAborted: keyGen('requestAborted'),
39
+ networkError: keyGen('networkError'),
40
+ tooManyRedirects: keyGen('tooManyRedirects'),
41
+ // 内容类型相关 (Content type related)
42
+ startingHtmlFetch: keyGen('startingHtmlFetch'),
43
+ readingText: keyGen('readingText'),
44
+ htmlContentLength: keyGen('htmlContentLength'),
45
+ htmlFetchError: keyGen('htmlFetchError'),
46
+ startingJsonFetch: keyGen('startingJsonFetch'),
47
+ parsingJson: keyGen('parsingJson'),
48
+ jsonParsed: keyGen('jsonParsed'),
49
+ jsonParseError: keyGen('jsonParseError'),
50
+ jsonFetchError: keyGen('jsonFetchError'),
51
+ startingTxtFetch: keyGen('startingTxtFetch'),
52
+ startingMarkdownFetch: keyGen('startingMarkdownFetch'),
53
+ creatingTurndown: keyGen('creatingTurndown'),
54
+ convertingToMarkdown: keyGen('convertingToMarkdown')
55
+ };
56
+ })();
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.PROMPTS_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 提示相关键 (Prompts related keys)
12
+ */
13
+ exports.PROMPTS_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('prompts');
15
+ return {
16
+ // 提示列表和获取 (Prompt list and get)
17
+ list: {
18
+ request: keyGen('list.request')
19
+ },
20
+ get: {
21
+ request: keyGen('get.request')
22
+ },
23
+ // 错误消息 (Error messages)
24
+ notFound: keyGen('notFound'),
25
+ missingRequiredArg: keyGen('missingRequiredArg'),
26
+ useBrowserValue: keyGen('useBrowserValue'),
27
+ // 通用提示 (Generic prompt)
28
+ generic: {
29
+ result: keyGen('generic.result'),
30
+ message: keyGen('generic.message'),
31
+ args: keyGen('generic.args')
32
+ },
33
+ // 是/否 (Yes/No)
34
+ yes: keyGen('yes'),
35
+ no: keyGen('no'),
36
+ // 提示描述和参数 (Prompt descriptions and parameters)
37
+ url: {
38
+ description: keyGen('url.description')
39
+ },
40
+ format: {
41
+ description: keyGen('format.description')
42
+ },
43
+ useBrowser: {
44
+ description: keyGen('useBrowser.description')
45
+ },
46
+ selector: {
47
+ description: keyGen('selector.description')
48
+ },
49
+ dataType: {
50
+ description: keyGen('dataType.description')
51
+ },
52
+ error: {
53
+ description: keyGen('error.description')
54
+ },
55
+ // 获取网站提示 (Fetch website prompt)
56
+ fetchWebsite: {
57
+ description: keyGen('fetchWebsite.description'),
58
+ result: keyGen('fetchWebsite.result'),
59
+ message: keyGen('fetchWebsite.message'),
60
+ response: keyGen('fetchWebsite.response'),
61
+ instruction: keyGen('fetchWebsite.instruction'),
62
+ formatInstruction: keyGen('fetchWebsite.formatInstruction'),
63
+ browserInstruction: keyGen('fetchWebsite.browserInstruction')
64
+ },
65
+ // 提取内容提示 (Extract content prompt)
66
+ extractContent: {
67
+ description: keyGen('extractContent.description'),
68
+ result: keyGen('extractContent.result'),
69
+ message: keyGen('extractContent.message'),
70
+ selectorInstruction: keyGen('extractContent.selectorInstruction'),
71
+ dataTypeInstruction: keyGen('extractContent.dataTypeInstruction')
72
+ },
73
+ // 调试获取提示 (Debug fetch prompt)
74
+ debugFetch: {
75
+ description: keyGen('debugFetch.description'),
76
+ result: keyGen('debugFetch.result'),
77
+ message: keyGen('debugFetch.message'),
78
+ errorDetails: keyGen('debugFetch.errorDetails'),
79
+ instruction: keyGen('debugFetch.instruction')
80
+ }
81
+ };
82
+ })();
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ var __assign = (this && this.__assign) || function () {
8
+ __assign = Object.assign || function(t) {
9
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
10
+ s = arguments[i];
11
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
12
+ t[p] = s[p];
13
+ }
14
+ return t;
15
+ };
16
+ return __assign.apply(this, arguments);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.RESOURCES_KEYS = void 0;
20
+ var base_js_1 = require("./base.js");
21
+ /**
22
+ * 资源相关键 (Resources related keys)
23
+ */
24
+ exports.RESOURCES_KEYS = (function () {
25
+ var keyGen = (0, base_js_1.createKeyGenerator)('resources');
26
+ var resourceKeys = (0, base_js_1.createResourceKeys)('resources');
27
+ return __assign(__assign({}, resourceKeys), {
28
+ // 额外的资源相关键 (Additional resource related keys)
29
+ fileReadError: keyGen('fileReadError'), invalidUri: keyGen('invalidUri'), notFound: keyGen('notFound'),
30
+ // 资源描述 (Resource descriptions)
31
+ readme: {
32
+ description: keyGen('readme.description')
33
+ }, package: {
34
+ description: keyGen('package.description')
35
+ }, index: {
36
+ description: keyGen('index.description')
37
+ }, client: {
38
+ description: keyGen('client.description')
39
+ },
40
+ // 资源模板描述 (Resource template descriptions)
41
+ sourceFile: {
42
+ name: keyGen('sourceFile.name'),
43
+ description: keyGen('sourceFile.description')
44
+ }, docFile: {
45
+ name: keyGen('docFile.name'),
46
+ description: keyGen('docFile.description')
47
+ }, filename: {
48
+ description: keyGen('filename.description')
49
+ } });
50
+ })();
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SERVER_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 服务器相关键 (Server related keys)
12
+ */
13
+ exports.SERVER_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('server');
15
+ return {
16
+ // 服务器状态 (Server status)
17
+ starting: keyGen('starting'),
18
+ started: keyGen('started'),
19
+ stopping: keyGen('stopping'),
20
+ stopped: keyGen('stopped'),
21
+ error: keyGen('error'),
22
+ // 连接相关 (Connection related)
23
+ connecting: keyGen('connecting'),
24
+ connected: keyGen('connected'),
25
+ connectionFailed: keyGen('connectionFailed'),
26
+ disconnected: keyGen('disconnected'),
27
+ // 错误相关 (Error related)
28
+ serverError: keyGen('serverError'),
29
+ transportError: keyGen('transportError'),
30
+ // 请求处理 (Request handling)
31
+ receivedRequest: keyGen('receivedRequest'),
32
+ processingRequest: keyGen('processingRequest'),
33
+ requestCompleted: keyGen('requestCompleted'),
34
+ requestError: keyGen('requestError'),
35
+ requestReceived: keyGen('requestReceived'),
36
+ requestProcessed: keyGen('requestProcessed'),
37
+ requestFailed: keyGen('requestFailed'),
38
+ // 浏览器相关 (Browser related)
39
+ initializingBrowser: keyGen('initializingBrowser'),
40
+ browserInitialized: keyGen('browserInitialized'),
41
+ browserInitFailed: keyGen('browserInitFailed'),
42
+ closingBrowser: keyGen('closingBrowser'),
43
+ browserClosed: keyGen('browserClosed'),
44
+ // 工具相关 (Tool related)
45
+ tool: {
46
+ requestReceived: keyGen('tool.requestReceived'),
47
+ requestProcessed: keyGen('tool.requestProcessed'),
48
+ requestError: keyGen('tool.requestError')
49
+ },
50
+ // 系统相关 (System related)
51
+ receivedInterruptSignal: keyGen('receivedInterruptSignal'),
52
+ receivedTerminateSignal: keyGen('receivedTerminateSignal'),
53
+ uncaughtException: keyGen('uncaughtException'),
54
+ debug: keyGen('debug'),
55
+ listeningOn: keyGen('listeningOn'),
56
+ // 其他键 (Other keys)
57
+ receivedToolRequest: keyGen('receivedToolRequest'),
58
+ processingToolRequestError: keyGen('processingToolRequestError'),
59
+ usingBrowserMode: keyGen('usingBrowserMode'),
60
+ usingAutoDetectMode: keyGen('usingAutoDetectMode'),
61
+ switchingToBrowserMode: keyGen('switchingToBrowserMode'),
62
+ fetchError: keyGen('fetchError')
63
+ };
64
+ })();
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Author: Martin <lmccc.dev@gmail.com>
4
+ * Co-Author: AI Assistant (Claude)
5
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TOOLS_KEYS = void 0;
9
+ var base_js_1 = require("./base.js");
10
+ /**
11
+ * 工具相关键 (Tools related keys)
12
+ */
13
+ exports.TOOLS_KEYS = (function () {
14
+ var keyGen = (0, base_js_1.createKeyGenerator)('tools');
15
+ return {
16
+ // 通用工具描述 (General tool descriptions)
17
+ fetchHtmlDescription: keyGen('fetchHtmlDescription'),
18
+ fetchJsonDescription: keyGen('fetchJsonDescription'),
19
+ fetchTxtDescription: keyGen('fetchTxtDescription'),
20
+ fetchMarkdownDescription: keyGen('fetchMarkdownDescription'),
21
+ // 参数描述 (Parameter descriptions)
22
+ urlDescription: keyGen('urlDescription'),
23
+ // 错误消息 (Error messages)
24
+ fetchHtmlError: keyGen('fetchHtmlError'),
25
+ fetchJsonError: keyGen('fetchJsonError'),
26
+ fetchTxtError: keyGen('fetchTxtError'),
27
+ fetchMarkdownError: keyGen('fetchMarkdownError'),
28
+ // 成功消息 (Success messages)
29
+ fetchHtmlSuccess: keyGen('fetchHtmlSuccess'),
30
+ fetchJsonSuccess: keyGen('fetchJsonSuccess'),
31
+ fetchTxtSuccess: keyGen('fetchTxtSuccess'),
32
+ fetchMarkdownSuccess: keyGen('fetchMarkdownSuccess')
33
+ };
34
+ })();