@wonderwhy-er/desktop-commander 0.2.37 → 0.2.39

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 (383) hide show
  1. package/README.md +290 -100
  2. package/dist/command-manager.js +6 -3
  3. package/dist/config-field-definitions.d.ts +41 -0
  4. package/dist/config-field-definitions.js +37 -0
  5. package/dist/config-manager.d.ts +2 -0
  6. package/dist/config-manager.js +22 -2
  7. package/dist/handlers/filesystem-handlers.d.ts +5 -0
  8. package/dist/handlers/filesystem-handlers.js +19 -12
  9. package/dist/remote-device/desktop-commander-integration.js +1 -1
  10. package/dist/remote-device/remote-channel.js +1 -1
  11. package/dist/search-manager.js +31 -38
  12. package/dist/server.js +11 -4
  13. package/dist/terminal-manager.js +4 -2
  14. package/dist/tools/config.d.ts +71 -0
  15. package/dist/tools/config.js +117 -2
  16. package/dist/tools/edit.js +34 -1
  17. package/dist/tools/filesystem.js +91 -3
  18. package/dist/tools/improved-process-tools.js +2 -1
  19. package/dist/tools/schemas.d.ts +3 -0
  20. package/dist/tools/schemas.js +1 -0
  21. package/dist/types.d.ts +0 -1
  22. package/dist/ui/config-editor/app.d.ts +43 -0
  23. package/dist/ui/config-editor/app.js +840 -0
  24. package/dist/ui/config-editor/array-modal.d.ts +19 -0
  25. package/dist/ui/config-editor/array-modal.js +185 -0
  26. package/dist/ui/config-editor/config-editor-runtime.js +150 -0
  27. package/dist/ui/config-editor/index.html +13 -0
  28. package/dist/ui/config-editor/main.js +2 -0
  29. package/dist/ui/config-editor/src/App.d.ts +43 -0
  30. package/dist/ui/config-editor/src/App.js +840 -0
  31. package/dist/ui/config-editor/src/array-modal.d.ts +19 -0
  32. package/dist/ui/config-editor/src/array-modal.js +185 -0
  33. package/dist/ui/config-editor/src/components/layout.d.ts +4 -0
  34. package/dist/ui/config-editor/src/components/layout.js +83 -0
  35. package/dist/ui/config-editor/src/components/toolbar.d.ts +1 -0
  36. package/dist/ui/config-editor/src/components/toolbar.js +21 -0
  37. package/dist/ui/config-editor/src/config-values.d.ts +6 -0
  38. package/dist/ui/config-editor/src/config-values.js +61 -0
  39. package/dist/ui/config-editor/src/contracts.d.ts +14 -0
  40. package/dist/ui/config-editor/src/contracts.js +3 -0
  41. package/dist/ui/config-editor/src/directory-browser.d.ts +6 -0
  42. package/dist/ui/config-editor/src/directory-browser.js +71 -0
  43. package/dist/ui/config-editor/src/layout.d.ts +5 -0
  44. package/dist/ui/config-editor/src/layout.js +90 -0
  45. package/dist/ui/config-editor/src/main.js +2 -0
  46. package/dist/ui/config-editor/src/parsing.d.ts +5 -0
  47. package/dist/ui/config-editor/src/parsing.js +50 -0
  48. package/dist/ui/config-editor/src/toolbar.d.ts +1 -0
  49. package/dist/ui/config-editor/src/toolbar.js +18 -0
  50. package/dist/ui/config-editor/src/types.d.ts +17 -0
  51. package/dist/ui/config-editor/src/types.js +3 -0
  52. package/dist/ui/config-editor/src/utils/config-values.d.ts +9 -0
  53. package/dist/ui/config-editor/src/utils/config-values.js +61 -0
  54. package/dist/ui/config-editor/src/utils/directory-browser.d.ts +31 -0
  55. package/dist/ui/config-editor/src/utils/directory-browser.js +201 -0
  56. package/dist/ui/config-editor/src/utils/parsing.d.ts +8 -0
  57. package/dist/ui/config-editor/src/utils/parsing.js +50 -0
  58. package/dist/ui/config-editor/styles.css +587 -0
  59. package/dist/ui/file-preview/app.d.ts +8 -0
  60. package/dist/ui/file-preview/app.js +2020 -0
  61. package/dist/ui/file-preview/components/code-viewer.d.ts +6 -0
  62. package/dist/ui/file-preview/components/code-viewer.js +73 -0
  63. package/dist/ui/file-preview/components/highlighting.d.ts +2 -0
  64. package/dist/ui/file-preview/components/highlighting.js +54 -0
  65. package/dist/ui/file-preview/components/html-renderer.d.ts +5 -0
  66. package/dist/ui/file-preview/components/html-renderer.js +47 -0
  67. package/dist/ui/file-preview/components/markdown-renderer.d.ts +1 -0
  68. package/dist/ui/file-preview/components/markdown-renderer.js +67 -0
  69. package/dist/ui/file-preview/components/toolbar.d.ts +6 -0
  70. package/dist/ui/file-preview/components/toolbar.js +75 -0
  71. package/dist/ui/file-preview/image-preview.d.ts +3 -0
  72. package/dist/ui/file-preview/image-preview.js +21 -0
  73. package/dist/ui/file-preview/main.js +5 -0
  74. package/dist/ui/file-preview/markdown/editor.d.ts +36 -0
  75. package/dist/ui/file-preview/markdown/editor.js +643 -0
  76. package/dist/ui/file-preview/markdown/linking.d.ts +9 -0
  77. package/dist/ui/file-preview/markdown/linking.js +210 -0
  78. package/dist/ui/file-preview/markdown/outline.d.ts +7 -0
  79. package/dist/ui/file-preview/markdown/outline.js +40 -0
  80. package/dist/ui/file-preview/markdown/preview.d.ts +8 -0
  81. package/dist/ui/file-preview/markdown/preview.js +33 -0
  82. package/dist/ui/file-preview/markdown/slugify.d.ts +3 -0
  83. package/dist/ui/file-preview/markdown/slugify.js +31 -0
  84. package/dist/ui/file-preview/markdown/toc.d.ts +11 -0
  85. package/dist/ui/file-preview/markdown/toc.js +75 -0
  86. package/dist/ui/file-preview/markdown/utils.d.ts +1 -0
  87. package/dist/ui/file-preview/markdown/utils.js +15 -0
  88. package/dist/ui/file-preview/markdown/workspace-controller.d.ts +25 -0
  89. package/dist/ui/file-preview/markdown/workspace-controller.js +40 -0
  90. package/dist/ui/file-preview/preview-runtime.js +399 -13969
  91. package/dist/ui/file-preview/shared/preview-file-types.d.ts +1 -1
  92. package/dist/ui/file-preview/shared/preview-file-types.js +3 -1
  93. package/dist/ui/file-preview/src/App.d.ts +4 -0
  94. package/dist/ui/file-preview/src/App.js +564 -0
  95. package/dist/ui/file-preview/src/components/CodeViewer.d.ts +6 -0
  96. package/dist/ui/file-preview/src/components/CodeViewer.js +60 -0
  97. package/dist/ui/file-preview/src/components/HtmlRenderer.d.ts +8 -0
  98. package/dist/ui/file-preview/src/components/HtmlRenderer.js +45 -0
  99. package/dist/ui/file-preview/src/components/MarkdownRenderer.d.ts +1 -0
  100. package/dist/ui/file-preview/src/components/MarkdownRenderer.js +15 -0
  101. package/dist/ui/file-preview/src/components/editor-toolbar.d.ts +15 -0
  102. package/dist/ui/file-preview/src/components/editor-toolbar.js +384 -0
  103. package/dist/ui/file-preview/src/components/html-renderer.d.ts +1 -5
  104. package/dist/ui/file-preview/src/components/html-renderer.js +11 -27
  105. package/dist/ui/file-preview/src/components/markdown-editor.d.ts +29 -0
  106. package/dist/ui/file-preview/src/components/markdown-editor.js +535 -0
  107. package/dist/ui/file-preview/src/components/markdown-renderer.js +47 -9
  108. package/dist/ui/file-preview/src/directory-controller.d.ts +8 -0
  109. package/dist/ui/file-preview/src/directory-controller.js +233 -0
  110. package/dist/ui/file-preview/src/document-layout.d.ts +20 -0
  111. package/dist/ui/file-preview/src/document-layout.js +109 -0
  112. package/dist/ui/file-preview/src/document-outline.d.ts +17 -0
  113. package/dist/ui/file-preview/src/document-outline.js +97 -0
  114. package/dist/ui/file-preview/src/document-workspace.d.ts +19 -0
  115. package/dist/ui/file-preview/src/document-workspace.js +33 -0
  116. package/dist/ui/file-preview/src/file-type-handlers.d.ts +10 -0
  117. package/dist/ui/file-preview/src/file-type-handlers.js +98 -0
  118. package/dist/ui/file-preview/src/host/external-actions.d.ts +19 -0
  119. package/dist/ui/file-preview/src/host/external-actions.js +94 -0
  120. package/dist/ui/file-preview/src/host/selection-context.d.ts +9 -0
  121. package/dist/ui/file-preview/src/host/selection-context.js +106 -0
  122. package/dist/ui/file-preview/src/markdown/block-merge.d.ts +25 -0
  123. package/dist/ui/file-preview/src/markdown/block-merge.js +86 -0
  124. package/dist/ui/file-preview/src/markdown/conflict-dialog.d.ts +40 -0
  125. package/dist/ui/file-preview/src/markdown/conflict-dialog.js +163 -0
  126. package/dist/ui/file-preview/src/markdown/controller.d.ts +38 -0
  127. package/dist/ui/file-preview/src/markdown/controller.js +921 -0
  128. package/dist/ui/file-preview/src/markdown/editor.d.ts +35 -0
  129. package/dist/ui/file-preview/src/markdown/editor.js +691 -0
  130. package/dist/ui/file-preview/src/markdown/link-modal.d.ts +13 -0
  131. package/dist/ui/file-preview/src/markdown/link-modal.js +213 -0
  132. package/dist/ui/file-preview/src/markdown/linking.d.ts +16 -0
  133. package/dist/ui/file-preview/src/markdown/linking.js +228 -0
  134. package/dist/ui/file-preview/src/markdown/outline.d.ts +2 -0
  135. package/dist/ui/file-preview/src/markdown/outline.js +16 -0
  136. package/dist/ui/file-preview/src/markdown/parser.d.ts +30 -0
  137. package/dist/ui/file-preview/src/markdown/parser.js +38 -0
  138. package/dist/ui/file-preview/src/markdown/preview.d.ts +1 -0
  139. package/dist/ui/file-preview/src/markdown/preview.js +20 -0
  140. package/dist/ui/file-preview/src/markdown/raw-editor.d.ts +8 -0
  141. package/dist/ui/file-preview/src/markdown/raw-editor.js +61 -0
  142. package/dist/ui/file-preview/src/markdown/selection-toolbar.d.ts +14 -0
  143. package/dist/ui/file-preview/src/markdown/selection-toolbar.js +128 -0
  144. package/dist/ui/file-preview/src/markdown/slugify.d.ts +3 -0
  145. package/dist/ui/file-preview/src/markdown/slugify.js +31 -0
  146. package/dist/ui/file-preview/src/markdown/toc.d.ts +11 -0
  147. package/dist/ui/file-preview/src/markdown/toc.js +75 -0
  148. package/dist/ui/file-preview/src/markdown/utils.d.ts +1 -0
  149. package/dist/ui/file-preview/src/markdown/utils.js +15 -0
  150. package/dist/ui/file-preview/src/markdown-workspace/editor.d.ts +36 -0
  151. package/dist/ui/file-preview/src/markdown-workspace/editor.js +643 -0
  152. package/dist/ui/file-preview/src/markdown-workspace/linking.d.ts +9 -0
  153. package/dist/ui/file-preview/src/markdown-workspace/linking.js +210 -0
  154. package/dist/ui/file-preview/src/markdown-workspace/outline.d.ts +7 -0
  155. package/dist/ui/file-preview/src/markdown-workspace/outline.js +40 -0
  156. package/dist/ui/file-preview/src/markdown-workspace/preview.d.ts +8 -0
  157. package/dist/ui/file-preview/src/markdown-workspace/preview.js +33 -0
  158. package/dist/ui/file-preview/src/markdown-workspace/slugify.d.ts +3 -0
  159. package/dist/ui/file-preview/src/markdown-workspace/slugify.js +31 -0
  160. package/dist/ui/file-preview/src/markdown-workspace/toc.d.ts +11 -0
  161. package/dist/ui/file-preview/src/markdown-workspace/toc.js +75 -0
  162. package/dist/ui/file-preview/src/markdown-workspace/utils.d.ts +1 -0
  163. package/dist/ui/file-preview/src/markdown-workspace/utils.js +15 -0
  164. package/dist/ui/file-preview/src/markdown-workspace/workspace-controller.d.ts +25 -0
  165. package/dist/ui/file-preview/src/markdown-workspace/workspace-controller.js +40 -0
  166. package/dist/ui/file-preview/src/model.d.ts +34 -0
  167. package/dist/ui/file-preview/src/panel-actions.d.ts +17 -0
  168. package/dist/ui/file-preview/src/panel-actions.js +182 -0
  169. package/dist/ui/file-preview/src/path-utils.d.ts +6 -0
  170. package/dist/ui/file-preview/src/path-utils.js +64 -0
  171. package/dist/ui/file-preview/src/payload-utils.d.ts +11 -0
  172. package/dist/ui/file-preview/src/payload-utils.js +94 -0
  173. package/dist/ui/file-preview/styles.css +1144 -277
  174. package/dist/ui/file-preview/types.d.ts +1 -0
  175. package/dist/ui/file-preview/types.js +1 -0
  176. package/dist/ui/resources.d.ts +7 -0
  177. package/dist/ui/resources.js +16 -2
  178. package/dist/ui/server-integration.d.ts +13 -0
  179. package/dist/ui/server-integration.js +31 -0
  180. package/dist/ui/shared/ToolHeader.d.ts +9 -0
  181. package/dist/ui/shared/ToolHeader.js +29 -0
  182. package/dist/ui/shared/app-bootstrap.d.ts +9 -0
  183. package/dist/ui/shared/app-bootstrap.js +15 -0
  184. package/dist/ui/shared/compact-row.d.ts +11 -0
  185. package/dist/ui/shared/compact-row.js +18 -0
  186. package/dist/ui/shared/guards.d.ts +1 -0
  187. package/dist/ui/shared/guards.js +3 -0
  188. package/dist/ui/shared/host-context.d.ts +15 -0
  189. package/dist/ui/shared/host-context.js +51 -0
  190. package/dist/ui/shared/host-lifecycle.d.ts +1 -0
  191. package/dist/ui/shared/host-lifecycle.js +8 -2
  192. package/dist/ui/shared/tool-bridge.d.ts +30 -0
  193. package/dist/ui/shared/tool-bridge.js +137 -0
  194. package/dist/ui/shared/tool-shell.d.ts +9 -0
  195. package/dist/ui/shared/tool-shell.js +46 -4
  196. package/dist/ui/shared/ui-event-tracker.d.ts +9 -0
  197. package/dist/ui/shared/ui-event-tracker.js +27 -0
  198. package/dist/ui/shared/widget-state.d.ts +6 -1
  199. package/dist/ui/shared/widget-state.js +102 -4
  200. package/dist/utils/capture.js +3 -3
  201. package/dist/utils/files/base.d.ts +2 -0
  202. package/dist/utils/open-browser.js +1 -1
  203. package/dist/utils/ui-call-context.d.ts +8 -0
  204. package/dist/utils/ui-call-context.js +72 -0
  205. package/dist/version.d.ts +1 -1
  206. package/dist/version.js +1 -1
  207. package/package.json +13 -4
  208. package/dist/data/spec-kit-prompts.json +0 -123
  209. package/dist/handlers/node-handlers.d.ts +0 -6
  210. package/dist/handlers/node-handlers.js +0 -73
  211. package/dist/handlers/test-crash-handler.d.ts +0 -11
  212. package/dist/handlers/test-crash-handler.js +0 -26
  213. package/dist/http-index.d.ts +0 -45
  214. package/dist/http-index.js +0 -51
  215. package/dist/http-server-auto-tunnel.js +0 -667
  216. package/dist/http-server-named-tunnel.d.ts +0 -2
  217. package/dist/http-server-named-tunnel.js +0 -167
  218. package/dist/http-server-tunnel.d.ts +0 -2
  219. package/dist/http-server-tunnel.js +0 -111
  220. package/dist/http-server.d.ts +0 -2
  221. package/dist/http-server.js +0 -270
  222. package/dist/index-oauth.d.ts +0 -2
  223. package/dist/index-oauth.js +0 -201
  224. package/dist/oauth/auth-middleware.d.ts +0 -20
  225. package/dist/oauth/auth-middleware.js +0 -62
  226. package/dist/oauth/index.d.ts +0 -3
  227. package/dist/oauth/index.js +0 -3
  228. package/dist/oauth/oauth-manager.d.ts +0 -80
  229. package/dist/oauth/oauth-manager.js +0 -179
  230. package/dist/oauth/oauth-routes.d.ts +0 -3
  231. package/dist/oauth/oauth-routes.js +0 -377
  232. package/dist/oauth/provider.d.ts +0 -22
  233. package/dist/oauth/provider.js +0 -124
  234. package/dist/oauth/server.d.ts +0 -18
  235. package/dist/oauth/server.js +0 -160
  236. package/dist/oauth/types.d.ts +0 -54
  237. package/dist/oauth/types.js +0 -2
  238. package/dist/remote-device/templates/auth-success.d.ts +0 -1
  239. package/dist/remote-device/templates/auth-success.js +0 -30
  240. package/dist/setup.log +0 -275
  241. package/dist/test-setup.js +0 -14
  242. package/dist/tools/docx/builders/html-builder.d.ts +0 -17
  243. package/dist/tools/docx/builders/html-builder.js +0 -92
  244. package/dist/tools/docx/builders/image.d.ts +0 -14
  245. package/dist/tools/docx/builders/image.js +0 -84
  246. package/dist/tools/docx/builders/index.d.ts +0 -11
  247. package/dist/tools/docx/builders/index.js +0 -11
  248. package/dist/tools/docx/builders/markdown-builder.d.ts +0 -2
  249. package/dist/tools/docx/builders/markdown-builder.js +0 -260
  250. package/dist/tools/docx/builders/paragraph.d.ts +0 -12
  251. package/dist/tools/docx/builders/paragraph.js +0 -29
  252. package/dist/tools/docx/builders/table.d.ts +0 -10
  253. package/dist/tools/docx/builders/table.js +0 -138
  254. package/dist/tools/docx/builders/utils.d.ts +0 -5
  255. package/dist/tools/docx/builders/utils.js +0 -18
  256. package/dist/tools/docx/constants.d.ts +0 -32
  257. package/dist/tools/docx/constants.js +0 -61
  258. package/dist/tools/docx/converters/markdown-to-html.d.ts +0 -17
  259. package/dist/tools/docx/converters/markdown-to-html.js +0 -111
  260. package/dist/tools/docx/create.d.ts +0 -21
  261. package/dist/tools/docx/create.js +0 -386
  262. package/dist/tools/docx/dom.d.ts +0 -139
  263. package/dist/tools/docx/dom.js +0 -448
  264. package/dist/tools/docx/errors.d.ts +0 -28
  265. package/dist/tools/docx/errors.js +0 -48
  266. package/dist/tools/docx/extractors/images.d.ts +0 -14
  267. package/dist/tools/docx/extractors/images.js +0 -40
  268. package/dist/tools/docx/extractors/metadata.d.ts +0 -14
  269. package/dist/tools/docx/extractors/metadata.js +0 -64
  270. package/dist/tools/docx/extractors/sections.d.ts +0 -14
  271. package/dist/tools/docx/extractors/sections.js +0 -61
  272. package/dist/tools/docx/html.d.ts +0 -17
  273. package/dist/tools/docx/html.js +0 -111
  274. package/dist/tools/docx/index.d.ts +0 -10
  275. package/dist/tools/docx/index.js +0 -10
  276. package/dist/tools/docx/markdown.d.ts +0 -84
  277. package/dist/tools/docx/markdown.js +0 -507
  278. package/dist/tools/docx/modify.d.ts +0 -28
  279. package/dist/tools/docx/modify.js +0 -271
  280. package/dist/tools/docx/operations/handlers/index.d.ts +0 -39
  281. package/dist/tools/docx/operations/handlers/index.js +0 -152
  282. package/dist/tools/docx/operations/html-manipulator.d.ts +0 -24
  283. package/dist/tools/docx/operations/html-manipulator.js +0 -352
  284. package/dist/tools/docx/operations/index.d.ts +0 -14
  285. package/dist/tools/docx/operations/index.js +0 -61
  286. package/dist/tools/docx/operations/operation-handlers.d.ts +0 -3
  287. package/dist/tools/docx/operations/operation-handlers.js +0 -67
  288. package/dist/tools/docx/operations/preprocessor.d.ts +0 -14
  289. package/dist/tools/docx/operations/preprocessor.js +0 -44
  290. package/dist/tools/docx/operations/xml-replacer.d.ts +0 -9
  291. package/dist/tools/docx/operations/xml-replacer.js +0 -35
  292. package/dist/tools/docx/operations.d.ts +0 -13
  293. package/dist/tools/docx/operations.js +0 -13
  294. package/dist/tools/docx/ops/delete-paragraph-at-body-index.d.ts +0 -11
  295. package/dist/tools/docx/ops/delete-paragraph-at-body-index.js +0 -23
  296. package/dist/tools/docx/ops/header-replace-text-exact.d.ts +0 -13
  297. package/dist/tools/docx/ops/header-replace-text-exact.js +0 -55
  298. package/dist/tools/docx/ops/index.d.ts +0 -17
  299. package/dist/tools/docx/ops/index.js +0 -70
  300. package/dist/tools/docx/ops/insert-image-after-text.d.ts +0 -24
  301. package/dist/tools/docx/ops/insert-image-after-text.js +0 -128
  302. package/dist/tools/docx/ops/insert-paragraph-after-text.d.ts +0 -12
  303. package/dist/tools/docx/ops/insert-paragraph-after-text.js +0 -74
  304. package/dist/tools/docx/ops/insert-table-after-text.d.ts +0 -19
  305. package/dist/tools/docx/ops/insert-table-after-text.js +0 -57
  306. package/dist/tools/docx/ops/replace-hyperlink-url.d.ts +0 -12
  307. package/dist/tools/docx/ops/replace-hyperlink-url.js +0 -37
  308. package/dist/tools/docx/ops/replace-paragraph-at-body-index.d.ts +0 -9
  309. package/dist/tools/docx/ops/replace-paragraph-at-body-index.js +0 -25
  310. package/dist/tools/docx/ops/replace-paragraph-text-exact.d.ts +0 -21
  311. package/dist/tools/docx/ops/replace-paragraph-text-exact.js +0 -36
  312. package/dist/tools/docx/ops/replace-table-cell-text.d.ts +0 -25
  313. package/dist/tools/docx/ops/replace-table-cell-text.js +0 -85
  314. package/dist/tools/docx/ops/set-color-for-paragraph-exact.d.ts +0 -9
  315. package/dist/tools/docx/ops/set-color-for-paragraph-exact.js +0 -24
  316. package/dist/tools/docx/ops/set-color-for-style.d.ts +0 -13
  317. package/dist/tools/docx/ops/set-color-for-style.js +0 -31
  318. package/dist/tools/docx/ops/set-paragraph-style-at-body-index.d.ts +0 -8
  319. package/dist/tools/docx/ops/set-paragraph-style-at-body-index.js +0 -57
  320. package/dist/tools/docx/ops/table-set-cell-text.d.ts +0 -9
  321. package/dist/tools/docx/ops/table-set-cell-text.js +0 -40
  322. package/dist/tools/docx/parsers/image-extractor.d.ts +0 -18
  323. package/dist/tools/docx/parsers/image-extractor.js +0 -61
  324. package/dist/tools/docx/parsers/index.d.ts +0 -9
  325. package/dist/tools/docx/parsers/index.js +0 -9
  326. package/dist/tools/docx/parsers/paragraph-parser.d.ts +0 -2
  327. package/dist/tools/docx/parsers/paragraph-parser.js +0 -88
  328. package/dist/tools/docx/parsers/table-parser.d.ts +0 -9
  329. package/dist/tools/docx/parsers/table-parser.js +0 -72
  330. package/dist/tools/docx/parsers/xml-parser.d.ts +0 -25
  331. package/dist/tools/docx/parsers/xml-parser.js +0 -71
  332. package/dist/tools/docx/parsers/zip-reader.d.ts +0 -23
  333. package/dist/tools/docx/parsers/zip-reader.js +0 -52
  334. package/dist/tools/docx/read.d.ts +0 -27
  335. package/dist/tools/docx/read.js +0 -308
  336. package/dist/tools/docx/relationships.d.ts +0 -22
  337. package/dist/tools/docx/relationships.js +0 -76
  338. package/dist/tools/docx/structure.d.ts +0 -25
  339. package/dist/tools/docx/structure.js +0 -102
  340. package/dist/tools/docx/styled-html-parser.d.ts +0 -23
  341. package/dist/tools/docx/styled-html-parser.js +0 -1262
  342. package/dist/tools/docx/types.d.ts +0 -213
  343. package/dist/tools/docx/types.js +0 -5
  344. package/dist/tools/docx/utils/escaping.d.ts +0 -13
  345. package/dist/tools/docx/utils/escaping.js +0 -26
  346. package/dist/tools/docx/utils/images.d.ts +0 -9
  347. package/dist/tools/docx/utils/images.js +0 -26
  348. package/dist/tools/docx/utils/index.d.ts +0 -12
  349. package/dist/tools/docx/utils/index.js +0 -17
  350. package/dist/tools/docx/utils/markdown.d.ts +0 -13
  351. package/dist/tools/docx/utils/markdown.js +0 -32
  352. package/dist/tools/docx/utils/paths.d.ts +0 -15
  353. package/dist/tools/docx/utils/paths.js +0 -27
  354. package/dist/tools/docx/utils/versioning.d.ts +0 -25
  355. package/dist/tools/docx/utils/versioning.js +0 -55
  356. package/dist/tools/docx/utils.d.ts +0 -101
  357. package/dist/tools/docx/utils.js +0 -299
  358. package/dist/tools/docx/validate.d.ts +0 -33
  359. package/dist/tools/docx/validate.js +0 -49
  360. package/dist/tools/docx/validators.d.ts +0 -13
  361. package/dist/tools/docx/validators.js +0 -40
  362. package/dist/tools/docx/write.d.ts +0 -17
  363. package/dist/tools/docx/write.js +0 -88
  364. package/dist/tools/docx/xml-view-test.js +0 -63
  365. package/dist/tools/docx/xml-view.d.ts +0 -56
  366. package/dist/tools/docx/xml-view.js +0 -169
  367. package/dist/tools/docx/zip.d.ts +0 -21
  368. package/dist/tools/docx/zip.js +0 -35
  369. package/dist/tools/pdf-processor.js +0 -3
  370. package/dist/tools/search.d.ts +0 -32
  371. package/dist/tools/search.js +0 -202
  372. package/dist/ui/file-preview/src/app.d.ts +0 -4
  373. package/dist/ui/file-preview/src/app.js +0 -800
  374. package/dist/utils/crash-logger.d.ts +0 -18
  375. package/dist/utils/crash-logger.js +0 -44
  376. package/dist/utils/dedent.d.ts +0 -8
  377. package/dist/utils/dedent.js +0 -38
  378. /package/dist/{http-server-auto-tunnel.d.ts → ui/config-editor/main.d.ts} +0 -0
  379. /package/dist/{test-docx.d.ts → ui/config-editor/src/main.d.ts} +0 -0
  380. /package/dist/{tools/docx/xml-view-test.d.ts → ui/file-preview/main.d.ts} +0 -0
  381. /package/dist/ui/file-preview/src/components/{toolbar.d.ts → Toolbar.d.ts} +0 -0
  382. /package/dist/ui/file-preview/src/components/{toolbar.js → Toolbar.js} +0 -0
  383. /package/dist/{tools/pdf-processor.d.ts → ui/file-preview/src/model.js} +0 -0
@@ -1,40 +0,0 @@
1
- /**
2
- * DOCX Image Extractor (Mammoth Fallback)
3
- *
4
- * Extracts images from HTML generated by mammoth.js fallback.
5
- * Only used when styled parser is not available.
6
- *
7
- * @module docx/extractors/images
8
- */
9
- import { createRequire } from 'module';
10
- const require = createRequire(import.meta.url);
11
- const { DOMParser } = require('@xmldom/xmldom');
12
- /**
13
- * Extract base64-encoded images from HTML (mammoth.js fallback only).
14
- * Returns empty array if parsing fails.
15
- */
16
- export function extractImagesFromHtml(html) {
17
- const images = [];
18
- try {
19
- const doc = new DOMParser().parseFromString(html, 'text/html');
20
- const imgElements = doc.getElementsByTagName('img');
21
- for (let i = 0; i < imgElements.length; i++) {
22
- const src = imgElements[i].getAttribute('src') || '';
23
- const alt = imgElements[i].getAttribute('alt') || '';
24
- const match = src.match(/^data:([^;]+);base64,(.+)$/);
25
- if (match) {
26
- images.push({
27
- id: `img_${i}`,
28
- data: match[2],
29
- mimeType: match[1],
30
- altText: alt || undefined,
31
- originalSize: Buffer.from(match[2], 'base64').length,
32
- });
33
- }
34
- }
35
- }
36
- catch {
37
- // Non-critical
38
- }
39
- return images;
40
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * DOCX Metadata Extractor
3
- *
4
- * Extracts document metadata (title, author, dates, etc.) from DOCX core properties.
5
- * Follows Single Responsibility Principle — only handles metadata extraction.
6
- *
7
- * @module docx/extractors/metadata
8
- */
9
- import type { DocxMetadata } from '../types.js';
10
- /**
11
- * Extract metadata from a DOCX buffer.
12
- * Returns minimal metadata if extraction fails (non-critical operation).
13
- */
14
- export declare function extractDocxMetadata(buffer: Buffer, fileSize?: number): Promise<DocxMetadata>;
@@ -1,64 +0,0 @@
1
- /**
2
- * DOCX Metadata Extractor
3
- *
4
- * Extracts document metadata (title, author, dates, etc.) from DOCX core properties.
5
- * Follows Single Responsibility Principle — only handles metadata extraction.
6
- *
7
- * @module docx/extractors/metadata
8
- */
9
- import { createRequire } from 'module';
10
- import { CORE_PROPERTIES_PATH, DOCX_NAMESPACES } from '../constants.js';
11
- const require = createRequire(import.meta.url);
12
- const { DOMParser } = require('@xmldom/xmldom');
13
- /**
14
- * Extract metadata from a DOCX buffer.
15
- * Returns minimal metadata if extraction fails (non-critical operation).
16
- */
17
- export async function extractDocxMetadata(buffer, fileSize) {
18
- const metadata = { fileSize };
19
- try {
20
- const JSZip = require('jszip');
21
- const zip = await JSZip.loadAsync(buffer);
22
- const corePropsFile = zip.file(CORE_PROPERTIES_PATH);
23
- if (!corePropsFile)
24
- return metadata;
25
- const corePropsXml = await corePropsFile.async('string');
26
- const doc = new DOMParser().parseFromString(corePropsXml, 'application/xml');
27
- /** Extract text content from a namespaced tag. */
28
- const getText = (tag, nsList = [DOCX_NAMESPACES.DUBLIN_CORE, DOCX_NAMESPACES.CUSTOM_PROPERTIES]) => {
29
- for (const ns of nsList) {
30
- const els = doc.getElementsByTagName(`${ns}:${tag}`);
31
- if (els.length > 0 && els[0].textContent) {
32
- const text = els[0].textContent.trim();
33
- return text || undefined;
34
- }
35
- }
36
- return undefined;
37
- };
38
- /** Extract date from a DCTERMS namespaced tag. */
39
- const getDate = (tag) => {
40
- const els = doc.getElementsByTagName(`${DOCX_NAMESPACES.DCTERMS}:${tag}`);
41
- if (els.length > 0 && els[0].textContent) {
42
- const dateStr = els[0].textContent.trim();
43
- if (dateStr) {
44
- const d = new Date(dateStr);
45
- if (!isNaN(d.getTime()))
46
- return d;
47
- }
48
- }
49
- return undefined;
50
- };
51
- metadata.title = getText('title');
52
- metadata.author = getText('creator');
53
- metadata.subject = getText('subject');
54
- metadata.description = getText('description');
55
- metadata.lastModifiedBy = getText('lastModifiedBy', [DOCX_NAMESPACES.CUSTOM_PROPERTIES]);
56
- metadata.revision = getText('revision', [DOCX_NAMESPACES.CUSTOM_PROPERTIES]);
57
- metadata.creationDate = getDate('created');
58
- metadata.modificationDate = getDate('modified');
59
- }
60
- catch {
61
- // Non-critical — return metadata with fileSize only
62
- }
63
- return metadata;
64
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * DOCX Section Parser
3
- *
4
- * Parses HTML into structured sections (headings, paragraphs, tables, lists, images).
5
- * Follows Single Responsibility Principle — only handles section parsing.
6
- *
7
- * @module docx/extractors/sections
8
- */
9
- import type { DocxSection } from '../types.js';
10
- /**
11
- * Parse HTML into structured sections.
12
- * Returns a single paragraph section if parsing fails.
13
- */
14
- export declare function parseHtmlIntoSections(html: string): DocxSection[];
@@ -1,61 +0,0 @@
1
- /**
2
- * DOCX Section Parser
3
- *
4
- * Parses HTML into structured sections (headings, paragraphs, tables, lists, images).
5
- * Follows Single Responsibility Principle — only handles section parsing.
6
- *
7
- * @module docx/extractors/sections
8
- */
9
- import { createRequire } from 'module';
10
- const require = createRequire(import.meta.url);
11
- const { DOMParser } = require('@xmldom/xmldom');
12
- /**
13
- * Parse HTML into structured sections.
14
- * Returns a single paragraph section if parsing fails.
15
- */
16
- export function parseHtmlIntoSections(html) {
17
- const sections = [];
18
- try {
19
- const doc = new DOMParser().parseFromString(html, 'text/html');
20
- const body = doc.getElementsByTagName('body')[0];
21
- if (!body) {
22
- sections.push({ type: 'paragraph', content: html });
23
- return sections;
24
- }
25
- for (let i = 0; i < body.childNodes.length; i++) {
26
- const child = body.childNodes[i];
27
- if (child.nodeType !== 1)
28
- continue;
29
- const element = child;
30
- const tag = element.tagName.toLowerCase();
31
- const content = element.outerHTML || element.innerHTML;
32
- // Heading detection
33
- const headingMatch = tag.match(/^h([1-6])$/);
34
- if (headingMatch) {
35
- sections.push({ type: 'heading', level: parseInt(headingMatch[1], 10), content });
36
- continue;
37
- }
38
- // Other element types
39
- switch (tag) {
40
- case 'img':
41
- sections.push({ type: 'image', content });
42
- break;
43
- case 'table':
44
- sections.push({ type: 'table', content });
45
- break;
46
- case 'ul':
47
- case 'ol':
48
- sections.push({ type: 'list', content });
49
- break;
50
- case 'p':
51
- case 'div':
52
- sections.push({ type: 'paragraph', content });
53
- break;
54
- }
55
- }
56
- }
57
- catch {
58
- sections.push({ type: 'paragraph', content: html });
59
- }
60
- return sections;
61
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * DOCX → HTML Conversion
3
- *
4
- * Primary: Direct DOCX XML parsing (`styled-html-parser`) — preserves inline styles
5
- * (font colours, sizes, families, alignment, highlights, etc.)
6
- * Fallback: mammoth.js — semantic-only conversion, strips visual styles.
7
- *
8
- * @module docx/html
9
- */
10
- import type { DocxParseResult, DocxParseOptions } from './types.js';
11
- /**
12
- * Parse a DOCX file to styled HTML.
13
- *
14
- * Uses direct XML parsing when `preserveFormatting` is true (default).
15
- * Falls back to mammoth.js if direct parsing fails or a custom `styleMap` is provided.
16
- */
17
- export declare function parseDocxToHtml(source: string, options?: DocxParseOptions): Promise<DocxParseResult>;
@@ -1,111 +0,0 @@
1
- /**
2
- * DOCX → HTML Conversion
3
- *
4
- * Primary: Direct DOCX XML parsing (`styled-html-parser`) — preserves inline styles
5
- * (font colours, sizes, families, alignment, highlights, etc.)
6
- * Fallback: mammoth.js — semantic-only conversion, strips visual styles.
7
- *
8
- * @module docx/html
9
- */
10
- import fs from 'fs/promises';
11
- import { createRequire } from 'module';
12
- import { DocxError, DocxErrorCode, withErrorContext } from './errors.js';
13
- import { DEFAULT_CONVERSION_OPTIONS } from './constants.js';
14
- import { isUrl } from './utils/paths.js';
15
- import { convertDocxToStyledHtml } from './styled-html-parser.js';
16
- import { extractDocxMetadata } from './extractors/metadata.js';
17
- import { parseHtmlIntoSections } from './extractors/sections.js';
18
- import { extractImagesFromHtml } from './extractors/images.js';
19
- const require = createRequire(import.meta.url);
20
- const mammoth = require('mammoth');
21
- // ─── Public API ──────────────────────────────────────────────────────────────
22
- /**
23
- * Parse a DOCX file to styled HTML.
24
- *
25
- * Uses direct XML parsing when `preserveFormatting` is true (default).
26
- * Falls back to mammoth.js if direct parsing fails or a custom `styleMap` is provided.
27
- */
28
- export async function parseDocxToHtml(source, options = {}) {
29
- return withErrorContext(async () => {
30
- const { includeImages = DEFAULT_CONVERSION_OPTIONS.includeImages, preserveFormatting = DEFAULT_CONVERSION_OPTIONS.preserveFormatting, styleMap = DEFAULT_CONVERSION_OPTIONS.styleMap, } = options;
31
- const buffer = await loadDocxToBuffer(source);
32
- let fileSize;
33
- if (!isUrl(source)) {
34
- try {
35
- fileSize = (await fs.stat(source)).size;
36
- }
37
- catch { /* ignore */ }
38
- }
39
- const { html: rawHtml, images, documentDefaults } = await convertToHtml(buffer, includeImages, preserveFormatting, styleMap);
40
- const metadata = await extractDocxMetadata(buffer, fileSize);
41
- const html = postProcessHtml(rawHtml);
42
- const sections = parseHtmlIntoSections(html);
43
- return { html, metadata, images, sections, documentDefaults };
44
- }, DocxErrorCode.DOCX_READ_FAILED, { path: source });
45
- }
46
- // ─── Buffer Loading ──────────────────────────────────────────────────────────
47
- async function loadDocxToBuffer(source) {
48
- return withErrorContext(async () => {
49
- if (isUrl(source)) {
50
- const response = await fetch(source);
51
- if (!response.ok) {
52
- throw new DocxError(`Failed to fetch DOCX from URL: ${response.statusText}`, DocxErrorCode.DOCX_READ_FAILED, { url: source, status: response.status });
53
- }
54
- return Buffer.from(await response.arrayBuffer());
55
- }
56
- return await fs.readFile(source);
57
- }, DocxErrorCode.DOCX_READ_FAILED, { source });
58
- }
59
- // ─── Conversion Dispatch ─────────────────────────────────────────────────────
60
- /**
61
- * Pick the best converter: direct XML parser (preserves styles) or mammoth.js (semantic only).
62
- */
63
- async function convertToHtml(buffer, includeImages, preserveFormatting, styleMap) {
64
- // Use the styled XML parser when no custom styleMap is provided and formatting is requested
65
- if (preserveFormatting && styleMap.length === 0) {
66
- try {
67
- return await convertDocxToStyledHtml(buffer, includeImages);
68
- }
69
- catch {
70
- // Fall through to mammoth.js fallback
71
- }
72
- }
73
- const mammothResult = await convertWithMammoth(buffer, includeImages, styleMap, preserveFormatting);
74
- return { ...mammothResult, documentDefaults: undefined };
75
- }
76
- /** Fallback: mammoth.js (semantic-only — strips visual styles). */
77
- async function convertWithMammoth(buffer, includeImages, styleMap, preserveFormatting) {
78
- const mammothOptions = {};
79
- if (includeImages) {
80
- mammothOptions.convertImage = mammoth.images.imgElement((image) => image.read('base64').then((base64Data) => ({
81
- src: `data:${image.contentType};base64,${base64Data}`,
82
- })));
83
- }
84
- if (styleMap.length > 0) {
85
- mammothOptions.styleMap = [...styleMap];
86
- }
87
- else if (preserveFormatting) {
88
- mammothOptions.styleMap = [
89
- "p[style-name='Heading 1'] => h1:fresh",
90
- "p[style-name='Heading 2'] => h2:fresh",
91
- "p[style-name='Heading 3'] => h3:fresh",
92
- "p[style-name='Heading 4'] => h4:fresh",
93
- "p[style-name='Heading 5'] => h5:fresh",
94
- "p[style-name='Heading 6'] => h6:fresh",
95
- "p[style-name='Title'] => h1:fresh",
96
- "p[style-name='Subtitle'] => h2:fresh",
97
- "p[style-name='Quote'] => blockquote:fresh",
98
- "r[style-name='Strong'] => strong",
99
- "r[style-name='Emphasis'] => em",
100
- ];
101
- }
102
- const result = await mammoth.convertToHtml({ buffer }, mammothOptions);
103
- const html = result.value;
104
- const images = extractImagesFromHtml(html);
105
- return { html, images };
106
- }
107
- // ─── Post-Processing ─────────────────────────────────────────────────────────
108
- /** Minimal whitespace cleanup — preserves all inline style attributes. */
109
- function postProcessHtml(html) {
110
- return html.replace(/>\s{2,}</g, '>\n<').trim();
111
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * DOCX file manipulation tools — barrel exports.
3
- */
4
- export { readDocxOutline } from './read.js';
5
- export { writeDocxPatched } from './write.js';
6
- export { createDocxNew } from './create.js';
7
- export type { DocxContentStructure, DocxContentItem, DocxContentParagraph, DocxContentTable, DocxContentImage, DocxTableCellContent, } from './types.js';
8
- export { readDocx, extractTextFromDocx, getDocxMetadata, extractBodyXml } from './read.js';
9
- export { writeDocx, modifyDocxContent, replaceBodyXml } from './modify.js';
10
- export type { DocxMetadata, DocxParagraph, DocxRun, DocxModification, ParagraphOutline, TableOutline, ImageOutline, ReadDocxResult, WriteDocxStats, WriteDocxResult, BodySnapshot, DocxOp, OpResult, } from './types.js';
@@ -1,10 +0,0 @@
1
- /**
2
- * DOCX file manipulation tools — barrel exports.
3
- */
4
- // Patch-based tools (read_docx / write_docx)
5
- export { readDocxOutline } from './read.js';
6
- export { writeDocxPatched } from './write.js';
7
- export { createDocxNew } from './create.js';
8
- // Legacy functions (used by read_file, write_file, edit_block handlers)
9
- export { readDocx, extractTextFromDocx, getDocxMetadata, extractBodyXml } from './read.js';
10
- export { writeDocx, modifyDocxContent, replaceBodyXml } from './modify.js';
@@ -1,84 +0,0 @@
1
- /**
2
- * DOCX to Markdown Conversion
3
- * Uses Docxtemplater + XML parsing for reading Word documents
4
- */
5
- /**
6
- * DOCX metadata structure
7
- */
8
- export interface DocxMetadata {
9
- /** Document title from core properties */
10
- title?: string;
11
- /** Document author */
12
- author?: string;
13
- /** Document creator */
14
- creator?: string;
15
- /** Document subject */
16
- subject?: string;
17
- /** Document description */
18
- description?: string;
19
- /** Creation date */
20
- creationDate?: Date;
21
- /** Last modification date */
22
- modificationDate?: Date;
23
- /** Last modified by */
24
- lastModifiedBy?: string;
25
- /** Document revision number */
26
- revision?: string;
27
- /** File size in bytes */
28
- fileSize?: number;
29
- }
30
- /**
31
- * Embedded image information
32
- */
33
- export interface DocxImage {
34
- /** Unique identifier for the image */
35
- id: string;
36
- /** Base64-encoded image data */
37
- data: string;
38
- /** MIME type (e.g., "image/png", "image/jpeg") */
39
- mimeType: string;
40
- /** Alt text if available */
41
- altText?: string;
42
- /** Original size in bytes */
43
- originalSize?: number;
44
- }
45
- /**
46
- * DOCX section/paragraph structure
47
- */
48
- export interface DocxSection {
49
- /** Section type: heading, paragraph, list, table */
50
- type: 'heading' | 'paragraph' | 'list' | 'table' | 'image';
51
- /** Section content as markdown */
52
- content: string;
53
- /** Heading level if type is heading */
54
- level?: number;
55
- /** Associated images if any */
56
- images?: DocxImage[];
57
- }
58
- /**
59
- * Complete DOCX parse result
60
- */
61
- export interface DocxParseResult {
62
- /** Document content as markdown */
63
- markdown: string;
64
- /** Document metadata */
65
- metadata: DocxMetadata;
66
- /** Extracted images */
67
- images: DocxImage[];
68
- /** Structured sections (optional, for advanced parsing) */
69
- sections?: DocxSection[];
70
- }
71
- /**
72
- * Convert DOCX to Markdown using Docxtemplater + XML parsing
73
- * @param source Path to DOCX file or URL
74
- * @param options Conversion options
75
- * @returns Parsed DOCX result with markdown and metadata
76
- */
77
- export declare function parseDocxToMarkdown(source: string, options?: {
78
- /** Extract images as base64 */
79
- includeImages?: boolean;
80
- /** Preserve inline formatting (bold, italic) */
81
- preserveFormatting?: boolean;
82
- /** Custom style mapping */
83
- styleMap?: string[];
84
- }): Promise<DocxParseResult>;