@hcu-lab.me/mcp-device 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -0
  3. package/dist/bootstrap.d.ts +1 -0
  4. package/dist/bootstrap.js +22 -0
  5. package/dist/command-manager.d.ts +8 -0
  6. package/dist/command-manager.js +241 -0
  7. package/dist/config-field-definitions.d.ts +41 -0
  8. package/dist/config-field-definitions.js +37 -0
  9. package/dist/config-manager.d.ts +102 -0
  10. package/dist/config-manager.js +291 -0
  11. package/dist/config.d.ts +6 -0
  12. package/dist/config.js +10 -0
  13. package/dist/custom-stdio.d.ts +51 -0
  14. package/dist/custom-stdio.js +358 -0
  15. package/dist/data/official-app-ca.pem +12 -0
  16. package/dist/data/onboarding-prompts.json +70 -0
  17. package/dist/device/device-state.d.ts +13 -0
  18. package/dist/device/device-state.js +100 -0
  19. package/dist/device/device-status.d.ts +81 -0
  20. package/dist/device/device-status.js +156 -0
  21. package/dist/device/device.d.ts +16 -0
  22. package/dist/device/device.js +190 -0
  23. package/dist/device/execution-engine.d.ts +144 -0
  24. package/dist/device/execution-engine.js +195 -0
  25. package/dist/device/gateway-channel.d.ts +48 -0
  26. package/dist/device/gateway-channel.js +384 -0
  27. package/dist/device/gateway-config.d.ts +40 -0
  28. package/dist/device/gateway-config.js +207 -0
  29. package/dist/device/gateway-identity.d.ts +35 -0
  30. package/dist/device/gateway-identity.js +178 -0
  31. package/dist/device/gateway-pairing.d.ts +25 -0
  32. package/dist/device/gateway-pairing.js +105 -0
  33. package/dist/device/gateway-secure-transport.d.ts +25 -0
  34. package/dist/device/gateway-secure-transport.js +117 -0
  35. package/dist/device/gateway-tool-adapter.d.ts +17 -0
  36. package/dist/device/gateway-tool-adapter.js +284 -0
  37. package/dist/device/gateway-url-policy.d.ts +3 -0
  38. package/dist/device/gateway-url-policy.js +43 -0
  39. package/dist/device/linux-service.d.ts +70 -0
  40. package/dist/device/linux-service.js +268 -0
  41. package/dist/device/official-trust.d.ts +7 -0
  42. package/dist/device/official-trust.js +49 -0
  43. package/dist/device/project-inspection.d.ts +1 -0
  44. package/dist/device/project-inspection.js +180 -0
  45. package/dist/device/runtime-owner.d.ts +41 -0
  46. package/dist/device/runtime-owner.js +177 -0
  47. package/dist/device/windows-dpapi.d.ts +11 -0
  48. package/dist/device/windows-dpapi.js +67 -0
  49. package/dist/device/windows-service.d.ts +56 -0
  50. package/dist/device/windows-service.js +238 -0
  51. package/dist/error-handlers.d.ts +7 -0
  52. package/dist/error-handlers.js +15 -0
  53. package/dist/handlers/edit-search-handlers.d.ts +6 -0
  54. package/dist/handlers/edit-search-handlers.js +6 -0
  55. package/dist/handlers/filesystem-handlers.d.ts +38 -0
  56. package/dist/handlers/filesystem-handlers.js +440 -0
  57. package/dist/handlers/history-handlers.d.ts +12 -0
  58. package/dist/handlers/history-handlers.js +67 -0
  59. package/dist/handlers/index.d.ts +6 -0
  60. package/dist/handlers/index.js +7 -0
  61. package/dist/handlers/process-handlers.d.ts +9 -0
  62. package/dist/handlers/process-handlers.js +15 -0
  63. package/dist/handlers/search-handlers.d.ts +17 -0
  64. package/dist/handlers/search-handlers.js +224 -0
  65. package/dist/handlers/terminal-handlers.d.ts +21 -0
  66. package/dist/handlers/terminal-handlers.js +35 -0
  67. package/dist/index.d.ts +2 -0
  68. package/dist/index.js +138 -0
  69. package/dist/mcp-device.d.ts +2 -0
  70. package/dist/mcp-device.js +7 -0
  71. package/dist/npm-scripts/remote.d.ts +3 -0
  72. package/dist/npm-scripts/remote.js +314 -0
  73. package/dist/search-manager.d.ts +147 -0
  74. package/dist/search-manager.js +828 -0
  75. package/dist/server.d.ts +46 -0
  76. package/dist/server.js +1563 -0
  77. package/dist/terminal-manager.d.ts +104 -0
  78. package/dist/terminal-manager.js +635 -0
  79. package/dist/tools/config.d.ts +96 -0
  80. package/dist/tools/config.js +260 -0
  81. package/dist/tools/edit.d.ts +38 -0
  82. package/dist/tools/edit.js +435 -0
  83. package/dist/tools/feedback.d.ts +8 -0
  84. package/dist/tools/feedback.js +132 -0
  85. package/dist/tools/filesystem.d.ts +79 -0
  86. package/dist/tools/filesystem.js +947 -0
  87. package/dist/tools/fuzzySearch.d.ts +12 -0
  88. package/dist/tools/fuzzySearch.js +74 -0
  89. package/dist/tools/fuzzySearchCore.d.ts +52 -0
  90. package/dist/tools/fuzzySearchCore.js +125 -0
  91. package/dist/tools/improved-process-tools.d.ts +24 -0
  92. package/dist/tools/improved-process-tools.js +627 -0
  93. package/dist/tools/mime-types.d.ts +3 -0
  94. package/dist/tools/mime-types.js +28 -0
  95. package/dist/tools/pdf/extract-images.d.ts +34 -0
  96. package/dist/tools/pdf/extract-images.js +132 -0
  97. package/dist/tools/pdf/index.d.ts +6 -0
  98. package/dist/tools/pdf/index.js +3 -0
  99. package/dist/tools/pdf/lib/pdf2md.d.ts +36 -0
  100. package/dist/tools/pdf/lib/pdf2md.js +76 -0
  101. package/dist/tools/pdf/manipulations.d.ts +13 -0
  102. package/dist/tools/pdf/manipulations.js +99 -0
  103. package/dist/tools/pdf/markdown.d.ts +26 -0
  104. package/dist/tools/pdf/markdown.js +275 -0
  105. package/dist/tools/pdf/utils.d.ts +12 -0
  106. package/dist/tools/pdf/utils.js +34 -0
  107. package/dist/tools/process.d.ts +3 -0
  108. package/dist/tools/process.js +56 -0
  109. package/dist/tools/prompts.d.ts +28 -0
  110. package/dist/tools/prompts.js +259 -0
  111. package/dist/tools/schemas.d.ts +454 -0
  112. package/dist/tools/schemas.js +242 -0
  113. package/dist/tools/usage.d.ts +5 -0
  114. package/dist/tools/usage.js +24 -0
  115. package/dist/types.d.ts +83 -0
  116. package/dist/types.js +1 -0
  117. package/dist/ui/config-editor/config-editor-runtime.js +150 -0
  118. package/dist/ui/config-editor/index.html +13 -0
  119. package/dist/ui/config-editor/src/app.d.ts +43 -0
  120. package/dist/ui/config-editor/src/app.js +831 -0
  121. package/dist/ui/config-editor/src/array-modal.d.ts +19 -0
  122. package/dist/ui/config-editor/src/array-modal.js +185 -0
  123. package/dist/ui/config-editor/src/main.d.ts +1 -0
  124. package/dist/ui/config-editor/src/main.js +2 -0
  125. package/dist/ui/config-editor/styles.css +587 -0
  126. package/dist/ui/contracts.d.ts +14 -0
  127. package/dist/ui/contracts.js +21 -0
  128. package/dist/ui/file-preview/index.html +16 -0
  129. package/dist/ui/file-preview/preview-runtime.js +469 -0
  130. package/dist/ui/file-preview/shared/preview-file-types.d.ts +5 -0
  131. package/dist/ui/file-preview/shared/preview-file-types.js +59 -0
  132. package/dist/ui/file-preview/src/app.d.ts +4 -0
  133. package/dist/ui/file-preview/src/app.js +680 -0
  134. package/dist/ui/file-preview/src/components/code-viewer.d.ts +6 -0
  135. package/dist/ui/file-preview/src/components/code-viewer.js +73 -0
  136. package/dist/ui/file-preview/src/components/highlighting.d.ts +2 -0
  137. package/dist/ui/file-preview/src/components/highlighting.js +54 -0
  138. package/dist/ui/file-preview/src/components/html-renderer.d.ts +5 -0
  139. package/dist/ui/file-preview/src/components/html-renderer.js +47 -0
  140. package/dist/ui/file-preview/src/components/markdown-renderer.d.ts +1 -0
  141. package/dist/ui/file-preview/src/components/markdown-renderer.js +59 -0
  142. package/dist/ui/file-preview/src/directory-controller.d.ts +8 -0
  143. package/dist/ui/file-preview/src/directory-controller.js +240 -0
  144. package/dist/ui/file-preview/src/document-layout.d.ts +20 -0
  145. package/dist/ui/file-preview/src/document-layout.js +109 -0
  146. package/dist/ui/file-preview/src/document-outline.d.ts +17 -0
  147. package/dist/ui/file-preview/src/document-outline.js +97 -0
  148. package/dist/ui/file-preview/src/document-workspace.d.ts +19 -0
  149. package/dist/ui/file-preview/src/document-workspace.js +33 -0
  150. package/dist/ui/file-preview/src/file-type-handlers.d.ts +10 -0
  151. package/dist/ui/file-preview/src/file-type-handlers.js +109 -0
  152. package/dist/ui/file-preview/src/host/external-actions.d.ts +8 -0
  153. package/dist/ui/file-preview/src/host/external-actions.js +55 -0
  154. package/dist/ui/file-preview/src/host/selection-context.d.ts +9 -0
  155. package/dist/ui/file-preview/src/host/selection-context.js +106 -0
  156. package/dist/ui/file-preview/src/image-preview.d.ts +3 -0
  157. package/dist/ui/file-preview/src/image-preview.js +21 -0
  158. package/dist/ui/file-preview/src/main.d.ts +1 -0
  159. package/dist/ui/file-preview/src/main.js +5 -0
  160. package/dist/ui/file-preview/src/markdown/conflict-dialog.d.ts +40 -0
  161. package/dist/ui/file-preview/src/markdown/conflict-dialog.js +163 -0
  162. package/dist/ui/file-preview/src/markdown/controller.d.ts +44 -0
  163. package/dist/ui/file-preview/src/markdown/controller.js +1043 -0
  164. package/dist/ui/file-preview/src/markdown/editor.d.ts +131 -0
  165. package/dist/ui/file-preview/src/markdown/editor.js +1479 -0
  166. package/dist/ui/file-preview/src/markdown/linking.d.ts +16 -0
  167. package/dist/ui/file-preview/src/markdown/linking.js +228 -0
  168. package/dist/ui/file-preview/src/markdown/outline.d.ts +2 -0
  169. package/dist/ui/file-preview/src/markdown/outline.js +16 -0
  170. package/dist/ui/file-preview/src/markdown/parser.d.ts +30 -0
  171. package/dist/ui/file-preview/src/markdown/parser.js +38 -0
  172. package/dist/ui/file-preview/src/markdown/preview.d.ts +1 -0
  173. package/dist/ui/file-preview/src/markdown/preview.js +20 -0
  174. package/dist/ui/file-preview/src/markdown/slugify.d.ts +3 -0
  175. package/dist/ui/file-preview/src/markdown/slugify.js +31 -0
  176. package/dist/ui/file-preview/src/markdown/utils.d.ts +1 -0
  177. package/dist/ui/file-preview/src/markdown/utils.js +15 -0
  178. package/dist/ui/file-preview/src/model.d.ts +35 -0
  179. package/dist/ui/file-preview/src/model.js +1 -0
  180. package/dist/ui/file-preview/src/panel-actions.d.ts +17 -0
  181. package/dist/ui/file-preview/src/panel-actions.js +182 -0
  182. package/dist/ui/file-preview/src/path-utils.d.ts +6 -0
  183. package/dist/ui/file-preview/src/path-utils.js +64 -0
  184. package/dist/ui/file-preview/src/payload-utils.d.ts +11 -0
  185. package/dist/ui/file-preview/src/payload-utils.js +119 -0
  186. package/dist/ui/file-preview/src/types.d.ts +1 -0
  187. package/dist/ui/file-preview/src/types.js +1 -0
  188. package/dist/ui/file-preview/styles.css +1631 -0
  189. package/dist/ui/resources.d.ts +28 -0
  190. package/dist/ui/resources.js +86 -0
  191. package/dist/ui/shared/compact-row.d.ts +11 -0
  192. package/dist/ui/shared/compact-row.js +18 -0
  193. package/dist/ui/shared/escape-html.d.ts +4 -0
  194. package/dist/ui/shared/escape-html.js +11 -0
  195. package/dist/ui/shared/host-context.d.ts +15 -0
  196. package/dist/ui/shared/host-context.js +51 -0
  197. package/dist/ui/shared/tool-bridge.d.ts +30 -0
  198. package/dist/ui/shared/tool-bridge.js +137 -0
  199. package/dist/ui/shared/tool-shell.d.ts +25 -0
  200. package/dist/ui/shared/tool-shell.js +107 -0
  201. package/dist/ui/shared/ui-event-tracker.d.ts +9 -0
  202. package/dist/ui/shared/ui-event-tracker.js +27 -0
  203. package/dist/ui/shared/widget-state.d.ts +33 -0
  204. package/dist/ui/shared/widget-state.js +158 -0
  205. package/dist/utils/ab-test.d.ts +12 -0
  206. package/dist/utils/ab-test.js +104 -0
  207. package/dist/utils/capture.d.ts +35 -0
  208. package/dist/utils/capture.js +481 -0
  209. package/dist/utils/dockerPrompt.d.ts +17 -0
  210. package/dist/utils/dockerPrompt.js +53 -0
  211. package/dist/utils/feature-flags.d.ts +59 -0
  212. package/dist/utils/feature-flags.js +215 -0
  213. package/dist/utils/files/base.d.ts +173 -0
  214. package/dist/utils/files/base.js +5 -0
  215. package/dist/utils/files/binary.d.ts +21 -0
  216. package/dist/utils/files/binary.js +65 -0
  217. package/dist/utils/files/docx.d.ts +47 -0
  218. package/dist/utils/files/docx.js +679 -0
  219. package/dist/utils/files/excel.d.ts +24 -0
  220. package/dist/utils/files/excel.js +437 -0
  221. package/dist/utils/files/factory.d.ts +41 -0
  222. package/dist/utils/files/factory.js +113 -0
  223. package/dist/utils/files/image.d.ts +21 -0
  224. package/dist/utils/files/image.js +78 -0
  225. package/dist/utils/files/index.d.ts +10 -0
  226. package/dist/utils/files/index.js +13 -0
  227. package/dist/utils/files/pdf.d.ts +32 -0
  228. package/dist/utils/files/pdf.js +142 -0
  229. package/dist/utils/files/text.d.ts +63 -0
  230. package/dist/utils/files/text.js +370 -0
  231. package/dist/utils/fuzzySearchLogger.d.ts +30 -0
  232. package/dist/utils/fuzzySearchLogger.js +126 -0
  233. package/dist/utils/lineEndingHandler.d.ts +21 -0
  234. package/dist/utils/lineEndingHandler.js +77 -0
  235. package/dist/utils/logger.d.ts +32 -0
  236. package/dist/utils/logger.js +72 -0
  237. package/dist/utils/mcp-ui-ab-test.d.ts +13 -0
  238. package/dist/utils/mcp-ui-ab-test.js +62 -0
  239. package/dist/utils/open-browser.d.ts +9 -0
  240. package/dist/utils/open-browser.js +42 -0
  241. package/dist/utils/process-detection.d.ts +23 -0
  242. package/dist/utils/process-detection.js +150 -0
  243. package/dist/utils/ripgrep-resolver.d.ts +9 -0
  244. package/dist/utils/ripgrep-resolver.js +74 -0
  245. package/dist/utils/system-info.d.ts +71 -0
  246. package/dist/utils/system-info.js +712 -0
  247. package/dist/utils/toolHistory.d.ts +86 -0
  248. package/dist/utils/toolHistory.js +257 -0
  249. package/dist/utils/trackTools.d.ts +6 -0
  250. package/dist/utils/trackTools.js +54 -0
  251. package/dist/utils/unsupportedParams.d.ts +24 -0
  252. package/dist/utils/unsupportedParams.js +66 -0
  253. package/dist/utils/usageTracker.d.ts +133 -0
  254. package/dist/utils/usageTracker.js +477 -0
  255. package/dist/utils/welcome-onboarding.d.ts +11 -0
  256. package/dist/utils/welcome-onboarding.js +99 -0
  257. package/dist/utils/withTimeout.d.ts +28 -0
  258. package/dist/utils/withTimeout.js +85 -0
  259. package/dist/version.d.ts +1 -0
  260. package/dist/version.js +1 -0
  261. package/package.json +131 -0
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Executes a promise with a timeout. If the promise doesn't resolve or reject within
3
+ * the specified timeout, returns the provided default value.
4
+ *
5
+ * @param operation The promise to execute
6
+ * @param timeoutMs Timeout in milliseconds
7
+ * @param operationName Name of the operation (for logs)
8
+ * @param defaultValue Value to return if the operation times out
9
+ * @returns Promise that resolves with the operation result or the default value on timeout
10
+ */
11
+ export function withTimeout(operation, timeoutMs, operationName, defaultValue) {
12
+ // Don't sanitize operation name for logs - only telemetry will sanitize if needed
13
+ return new Promise((resolve, reject) => {
14
+ let isCompleted = false;
15
+ // Set up timeout
16
+ const timeoutId = setTimeout(() => {
17
+ if (!isCompleted) {
18
+ isCompleted = true;
19
+ if (defaultValue !== null) {
20
+ resolve(defaultValue);
21
+ }
22
+ else {
23
+ // Keep the original operation name in the error message
24
+ // Telemetry sanitization happens at the capture level
25
+ reject(`__ERROR__: ${operationName} timed out after ${timeoutMs / 1000} seconds`);
26
+ }
27
+ }
28
+ }, timeoutMs);
29
+ // Execute the operation
30
+ operation
31
+ .then(result => {
32
+ if (!isCompleted) {
33
+ isCompleted = true;
34
+ clearTimeout(timeoutId);
35
+ resolve(result);
36
+ }
37
+ })
38
+ .catch(error => {
39
+ if (!isCompleted) {
40
+ isCompleted = true;
41
+ clearTimeout(timeoutId);
42
+ if (defaultValue !== null) {
43
+ resolve(defaultValue);
44
+ }
45
+ else {
46
+ // Pass the original error unchanged - sanitization for telemetry happens in capture
47
+ reject(error);
48
+ }
49
+ }
50
+ });
51
+ });
52
+ }
53
+ /**
54
+ * Run an operation under a timeout WITH real cancellation.
55
+ *
56
+ * Unlike withTimeout (which only races a timer and leaves the underlying work
57
+ * running — holding its libuv thread/fd until the OS call returns), this passes
58
+ * an AbortSignal into the operation and aborts it when the timeout fires, so a
59
+ * read/stream that honors the signal is cancelled and its resources released.
60
+ *
61
+ * Rejects with an Error whose `.code` is 'ETIMEDOUT' on timeout (so existing
62
+ * ETIMEDOUT handling / permission-error mapping keeps working).
63
+ *
64
+ * Caveat: an operation wedged inside a single un-interruptible syscall only
65
+ * observes the abort once that syscall returns; library reads that ignore the
66
+ * signal (e.g. Excel/PDF parsers) still get the timeout rejection but keep
67
+ * running in the background until they finish on their own.
68
+ */
69
+ export function runWithAbortableTimeout(operation, timeoutMs, operationName) {
70
+ const controller = new AbortController();
71
+ let timeoutId;
72
+ const timeout = new Promise((_, reject) => {
73
+ timeoutId = setTimeout(() => {
74
+ controller.abort();
75
+ const error = new Error(`${operationName} timed out after ${timeoutMs / 1000} seconds`);
76
+ error.code = 'ETIMEDOUT';
77
+ reject(error);
78
+ }, timeoutMs);
79
+ });
80
+ const op = operation(controller.signal);
81
+ // Swallow the late abort rejection so it can't surface as an unhandled
82
+ // rejection after the timeout has already settled the race.
83
+ op.catch(() => { });
84
+ return Promise.race([op, timeout]).finally(() => clearTimeout(timeoutId));
85
+ }
@@ -0,0 +1 @@
1
+ export declare const VERSION = "0.2.46";
@@ -0,0 +1 @@
1
+ export const VERSION = '0.2.46';
package/package.json ADDED
@@ -0,0 +1,131 @@
1
+ {
2
+ "name": "@hcu-lab.me/mcp-device",
3
+ "version": "1.0.0",
4
+ "description": "MCP Device securely connects a user-owned computer to an authenticated Model Context Protocol gateway.",
5
+ "license": "MIT",
6
+ "author": "Hirohimeow",
7
+ "homepage": "https://github.com/Hiroshimeow/agent-mcp-device",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/Hiroshimeow/agent-mcp-device.git"
11
+ },
12
+ "bugs": "https://github.com/Hiroshimeow/agent-mcp-device/issues",
13
+ "type": "module",
14
+ "engines": {
15
+ "node": ">=18.0.0"
16
+ },
17
+ "bin": {
18
+ "mcp-device": "dist/mcp-device.js",
19
+ "md": "dist/mcp-device.js"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "scripts": {
25
+ "device:install": "cd src/device && npm install",
26
+ "device:start": "tsx src/device/device.ts",
27
+ "device:start:dev": "nodemon --watch src/device --exec tsx src/device/device.ts",
28
+ "sync-version": "node scripts/sync-version.js",
29
+ "bump": "node scripts/sync-version.js --bump",
30
+ "bump:minor": "node scripts/sync-version.js --bump --minor",
31
+ "bump:major": "node scripts/sync-version.js --bump --major",
32
+ "build": "shx rm -rf dist/remote-device && shx rm -f dist/device/desktop-commander-integration.js dist/device/desktop-commander-integration.d.ts && tsc && shx chmod +x dist/*.js && shx mkdir -p dist/data && shx cp src/data/onboarding-prompts.json dist/data/ && node scripts/copy-official-ca.cjs && node scripts/build-ui-runtime.cjs",
33
+ "watch": "tsc --watch",
34
+ "start": "node dist/mcp-device.js",
35
+ "start:debug": "node --inspect-brk=9229 dist/mcp-device.js",
36
+ "prepack": "node scripts/verify-production-trust.cjs && shx rm -rf dist/remote-device && shx rm -f dist/device/desktop-commander-integration.js dist/device/desktop-commander-integration.d.ts dist/hcu-device.js dist/hcu-device.d.ts dist/track-installation.js dist/setup-claude-server.js dist/uninstall-claude-server.js dist/npm-scripts/setup.js dist/npm-scripts/setup.d.ts dist/npm-scripts/uninstall.js dist/npm-scripts/uninstall.d.ts dist/npm-scripts/verify-ripgrep.js dist/npm-scripts/verify-ripgrep.d.ts",
37
+ "prepare": "npm run build",
38
+ "clean": "shx rm -rf dist",
39
+ "test": "npm run build && node test/run-all-tests.js",
40
+ "test:integration": "npm run build && node test/integration/run-all-integration-tests.js",
41
+ "test:debug": "node --inspect test/run-all-tests.js",
42
+ "link:local": "npm run build && npm link",
43
+ "unlink:local": "npm unlink",
44
+ "inspector": "npx @modelcontextprotocol/inspector dist/index.js",
45
+ "logs:view": "npm run build && node scripts/view-fuzzy-logs.js",
46
+ "logs:analyze": "npm run build && node scripts/analyze-fuzzy-logs.js",
47
+ "logs:clear": "npm run build && node scripts/clear-fuzzy-logs.js",
48
+ "logs:export": "npm run build && node scripts/export-fuzzy-logs.js",
49
+ "count-tokens": "npm run build && node scripts/count-tokens.js",
50
+ "count-tokens:json": "npm run build && node scripts/count-tokens.js --json"
51
+ },
52
+ "keywords": [
53
+ "mcp",
54
+ "model-context-protocol",
55
+ "terminal",
56
+ "claude",
57
+ "ai",
58
+ "command-line",
59
+ "process-management",
60
+ "file-editing",
61
+ "code-editing",
62
+ "diff",
63
+ "patch",
64
+ "block-editing",
65
+ "file-system",
66
+ "text-manipulation",
67
+ "code-modification",
68
+ "surgical-edits",
69
+ "file-operations"
70
+ ],
71
+ "dependencies": {
72
+ "@modelcontextprotocol/sdk": "^1.9.0",
73
+ "@opendocsg/pdf2md": "^0.2.2",
74
+ "@tiptap/core": "^3.31.3",
75
+ "@tiptap/extension-image": "^3.31.3",
76
+ "@tiptap/extension-table": "^3.31.3",
77
+ "@tiptap/extension-table-cell": "^3.31.3",
78
+ "@tiptap/extension-table-header": "^3.31.3",
79
+ "@tiptap/extension-table-row": "^3.31.3",
80
+ "@tiptap/pm": "^3.31.3",
81
+ "@tiptap/starter-kit": "^3.31.3",
82
+ "@vscode/ripgrep": "^1.15.9",
83
+ "cross-fetch": "^4.1.0",
84
+ "exceljs": "^4.4.0",
85
+ "fastest-levenshtein": "^1.0.16",
86
+ "file-type": "^21.1.1",
87
+ "highlight.js": "^11.11.1",
88
+ "isbinaryfile": "^5.0.4",
89
+ "markdown-it": "^14.1.0",
90
+ "md-to-pdf": "^5.2.5",
91
+ "open": "^10.2.0",
92
+ "pdf-lib": "^1.17.1",
93
+ "pizzip": "^3.2.0",
94
+ "proxy-agent": "6.5.0",
95
+ "proxy-from-env": "2.1.0",
96
+ "qrcode-terminal": "^0.12.0",
97
+ "remark": "^15.0.1",
98
+ "remark-gfm": "^4.0.1",
99
+ "remark-parse": "^11.0.0",
100
+ "sharp": "^0.35.4",
101
+ "tiptap-markdown": "^0.9.0",
102
+ "unified": "^11.0.5",
103
+ "unpdf": "^1.4.0",
104
+ "ws": "^8.18.3",
105
+ "zod": "^3.24.1",
106
+ "zod-to-json-schema": "^3.23.5"
107
+ },
108
+ "optionalDependencies": {
109
+ "caffeinate": "^1.0.1"
110
+ },
111
+ "devDependencies": {
112
+ "@modelcontextprotocol/ext-apps": "^1.0.1",
113
+ "@types/node": "^20.17.24",
114
+ "@types/ws": "^8.18.1",
115
+ "commander": "^13.1.0",
116
+ "esbuild": "^0.27.2",
117
+ "js-tiktoken": "^1.0.21",
118
+ "jsdom": "^24.1.3",
119
+ "nodemon": "^3.0.2",
120
+ "shx": "^0.3.4",
121
+ "ts-node": "^10.9.2",
122
+ "tsx": "^4.21.0",
123
+ "typescript": "^5.3.3"
124
+ },
125
+ "overrides": {
126
+ "@mapbox/node-pre-gyp": "^2.0.3",
127
+ "exceljs": {
128
+ "uuid": "^11.1.1"
129
+ }
130
+ }
131
+ }