@wonderwhy-er/desktop-commander 0.2.38 → 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 (364) hide show
  1. package/README.md +53 -2
  2. package/dist/handlers/filesystem-handlers.d.ts +5 -0
  3. package/dist/handlers/filesystem-handlers.js +14 -2
  4. package/dist/remote-device/desktop-commander-integration.js +1 -1
  5. package/dist/search-manager.js +31 -38
  6. package/dist/server.js +8 -3
  7. package/dist/terminal-manager.js +4 -2
  8. package/dist/tools/edit.js +34 -1
  9. package/dist/tools/filesystem.js +91 -3
  10. package/dist/tools/improved-process-tools.js +2 -1
  11. package/dist/ui/config-editor/app.js +840 -0
  12. package/dist/ui/config-editor/array-modal.d.ts +19 -0
  13. package/dist/ui/config-editor/array-modal.js +185 -0
  14. package/dist/ui/config-editor/config-editor-runtime.js +65 -14096
  15. package/dist/ui/config-editor/main.js +2 -0
  16. package/dist/ui/config-editor/src/App.d.ts +43 -0
  17. package/dist/ui/config-editor/src/components/layout.d.ts +4 -0
  18. package/dist/ui/config-editor/src/components/layout.js +83 -0
  19. package/dist/ui/config-editor/src/components/toolbar.d.ts +1 -0
  20. package/dist/ui/config-editor/src/components/toolbar.js +21 -0
  21. package/dist/ui/config-editor/src/config-values.d.ts +6 -0
  22. package/dist/ui/config-editor/src/config-values.js +61 -0
  23. package/dist/ui/config-editor/src/contracts.d.ts +14 -0
  24. package/dist/ui/config-editor/src/contracts.js +3 -0
  25. package/dist/ui/config-editor/src/directory-browser.d.ts +6 -0
  26. package/dist/ui/config-editor/src/directory-browser.js +71 -0
  27. package/dist/ui/config-editor/src/layout.d.ts +5 -0
  28. package/dist/ui/config-editor/src/layout.js +90 -0
  29. package/dist/ui/config-editor/src/parsing.d.ts +5 -0
  30. package/dist/ui/config-editor/src/parsing.js +50 -0
  31. package/dist/ui/config-editor/src/toolbar.d.ts +1 -0
  32. package/dist/ui/config-editor/src/toolbar.js +18 -0
  33. package/dist/ui/config-editor/src/types.d.ts +17 -0
  34. package/dist/ui/config-editor/src/types.js +3 -0
  35. package/dist/ui/config-editor/src/utils/config-values.d.ts +9 -0
  36. package/dist/ui/config-editor/src/utils/config-values.js +61 -0
  37. package/dist/ui/config-editor/src/utils/directory-browser.d.ts +31 -0
  38. package/dist/ui/config-editor/src/utils/directory-browser.js +201 -0
  39. package/dist/ui/config-editor/src/utils/parsing.d.ts +8 -0
  40. package/dist/ui/config-editor/src/utils/parsing.js +50 -0
  41. package/dist/ui/config-editor/styles.css +2 -1
  42. package/dist/ui/file-preview/{src/app.d.ts → app.d.ts} +1 -1
  43. package/dist/ui/file-preview/app.js +2020 -0
  44. package/dist/ui/file-preview/components/code-viewer.d.ts +6 -0
  45. package/dist/ui/file-preview/components/code-viewer.js +73 -0
  46. package/dist/ui/file-preview/components/highlighting.d.ts +2 -0
  47. package/dist/ui/file-preview/components/highlighting.js +54 -0
  48. package/dist/ui/file-preview/components/html-renderer.d.ts +5 -0
  49. package/dist/ui/file-preview/components/html-renderer.js +47 -0
  50. package/dist/ui/file-preview/components/markdown-renderer.d.ts +1 -0
  51. package/dist/ui/file-preview/components/markdown-renderer.js +67 -0
  52. package/dist/ui/file-preview/components/toolbar.d.ts +6 -0
  53. package/dist/ui/file-preview/components/toolbar.js +75 -0
  54. package/dist/ui/file-preview/image-preview.d.ts +3 -0
  55. package/dist/ui/file-preview/image-preview.js +21 -0
  56. package/dist/ui/file-preview/main.js +5 -0
  57. package/dist/ui/file-preview/markdown/editor.d.ts +36 -0
  58. package/dist/ui/file-preview/markdown/editor.js +643 -0
  59. package/dist/ui/file-preview/markdown/linking.d.ts +9 -0
  60. package/dist/ui/file-preview/markdown/linking.js +210 -0
  61. package/dist/ui/file-preview/markdown/outline.d.ts +7 -0
  62. package/dist/ui/file-preview/markdown/outline.js +40 -0
  63. package/dist/ui/file-preview/markdown/preview.d.ts +8 -0
  64. package/dist/ui/file-preview/markdown/preview.js +33 -0
  65. package/dist/ui/file-preview/markdown/slugify.d.ts +3 -0
  66. package/dist/ui/file-preview/markdown/slugify.js +31 -0
  67. package/dist/ui/file-preview/markdown/toc.d.ts +11 -0
  68. package/dist/ui/file-preview/markdown/toc.js +75 -0
  69. package/dist/ui/file-preview/markdown/utils.d.ts +1 -0
  70. package/dist/ui/file-preview/markdown/utils.js +15 -0
  71. package/dist/ui/file-preview/markdown/workspace-controller.d.ts +25 -0
  72. package/dist/ui/file-preview/markdown/workspace-controller.js +40 -0
  73. package/dist/ui/file-preview/preview-runtime.js +384 -26533
  74. package/dist/ui/file-preview/shared/preview-file-types.d.ts +1 -1
  75. package/dist/ui/file-preview/src/App.d.ts +4 -0
  76. package/dist/ui/file-preview/src/App.js +564 -0
  77. package/dist/ui/file-preview/src/components/CodeViewer.d.ts +6 -0
  78. package/dist/ui/file-preview/src/components/CodeViewer.js +60 -0
  79. package/dist/ui/file-preview/src/components/HtmlRenderer.d.ts +8 -0
  80. package/dist/ui/file-preview/src/components/HtmlRenderer.js +45 -0
  81. package/dist/ui/file-preview/src/components/MarkdownRenderer.d.ts +1 -0
  82. package/dist/ui/file-preview/src/components/MarkdownRenderer.js +15 -0
  83. package/dist/ui/file-preview/src/components/editor-toolbar.d.ts +15 -0
  84. package/dist/ui/file-preview/src/components/editor-toolbar.js +384 -0
  85. package/dist/ui/file-preview/src/components/markdown-editor.d.ts +29 -0
  86. package/dist/ui/file-preview/src/components/markdown-editor.js +535 -0
  87. package/dist/ui/file-preview/src/components/markdown-renderer.js +47 -9
  88. package/dist/ui/file-preview/src/directory-controller.d.ts +8 -0
  89. package/dist/ui/file-preview/src/directory-controller.js +233 -0
  90. package/dist/ui/file-preview/src/document-layout.d.ts +20 -0
  91. package/dist/ui/file-preview/src/document-layout.js +109 -0
  92. package/dist/ui/file-preview/src/document-outline.d.ts +17 -0
  93. package/dist/ui/file-preview/src/document-outline.js +97 -0
  94. package/dist/ui/file-preview/src/document-workspace.d.ts +19 -0
  95. package/dist/ui/file-preview/src/document-workspace.js +33 -0
  96. package/dist/ui/file-preview/src/file-type-handlers.d.ts +10 -0
  97. package/dist/ui/file-preview/src/file-type-handlers.js +98 -0
  98. package/dist/ui/file-preview/src/host/external-actions.d.ts +19 -0
  99. package/dist/ui/file-preview/src/host/external-actions.js +94 -0
  100. package/dist/ui/file-preview/src/host/selection-context.d.ts +9 -0
  101. package/dist/ui/file-preview/src/host/selection-context.js +106 -0
  102. package/dist/ui/file-preview/src/markdown/block-merge.d.ts +25 -0
  103. package/dist/ui/file-preview/src/markdown/block-merge.js +86 -0
  104. package/dist/ui/file-preview/src/markdown/conflict-dialog.d.ts +40 -0
  105. package/dist/ui/file-preview/src/markdown/conflict-dialog.js +163 -0
  106. package/dist/ui/file-preview/src/markdown/controller.d.ts +38 -0
  107. package/dist/ui/file-preview/src/markdown/controller.js +921 -0
  108. package/dist/ui/file-preview/src/markdown/editor.d.ts +35 -0
  109. package/dist/ui/file-preview/src/markdown/editor.js +691 -0
  110. package/dist/ui/file-preview/src/markdown/link-modal.d.ts +13 -0
  111. package/dist/ui/file-preview/src/markdown/link-modal.js +213 -0
  112. package/dist/ui/file-preview/src/markdown/linking.d.ts +16 -0
  113. package/dist/ui/file-preview/src/markdown/linking.js +228 -0
  114. package/dist/ui/file-preview/src/markdown/outline.d.ts +2 -0
  115. package/dist/ui/file-preview/src/markdown/outline.js +16 -0
  116. package/dist/ui/file-preview/src/markdown/parser.d.ts +30 -0
  117. package/dist/ui/file-preview/src/markdown/parser.js +38 -0
  118. package/dist/ui/file-preview/src/markdown/preview.d.ts +1 -0
  119. package/dist/ui/file-preview/src/markdown/preview.js +20 -0
  120. package/dist/ui/file-preview/src/markdown/raw-editor.d.ts +8 -0
  121. package/dist/ui/file-preview/src/markdown/raw-editor.js +61 -0
  122. package/dist/ui/file-preview/src/markdown/selection-toolbar.d.ts +14 -0
  123. package/dist/ui/file-preview/src/markdown/selection-toolbar.js +128 -0
  124. package/dist/ui/file-preview/src/markdown/slugify.d.ts +3 -0
  125. package/dist/ui/file-preview/src/markdown/slugify.js +31 -0
  126. package/dist/ui/file-preview/src/markdown/toc.d.ts +11 -0
  127. package/dist/ui/file-preview/src/markdown/toc.js +75 -0
  128. package/dist/ui/file-preview/src/markdown/utils.d.ts +1 -0
  129. package/dist/ui/file-preview/src/markdown/utils.js +15 -0
  130. package/dist/ui/file-preview/src/markdown-workspace/editor.d.ts +36 -0
  131. package/dist/ui/file-preview/src/markdown-workspace/editor.js +643 -0
  132. package/dist/ui/file-preview/src/markdown-workspace/linking.d.ts +9 -0
  133. package/dist/ui/file-preview/src/markdown-workspace/linking.js +210 -0
  134. package/dist/ui/file-preview/src/markdown-workspace/outline.d.ts +7 -0
  135. package/dist/ui/file-preview/src/markdown-workspace/outline.js +40 -0
  136. package/dist/ui/file-preview/src/markdown-workspace/preview.d.ts +8 -0
  137. package/dist/ui/file-preview/src/markdown-workspace/preview.js +33 -0
  138. package/dist/ui/file-preview/src/markdown-workspace/slugify.d.ts +3 -0
  139. package/dist/ui/file-preview/src/markdown-workspace/slugify.js +31 -0
  140. package/dist/ui/file-preview/src/markdown-workspace/toc.d.ts +11 -0
  141. package/dist/ui/file-preview/src/markdown-workspace/toc.js +75 -0
  142. package/dist/ui/file-preview/src/markdown-workspace/utils.d.ts +1 -0
  143. package/dist/ui/file-preview/src/markdown-workspace/utils.js +15 -0
  144. package/dist/ui/file-preview/src/markdown-workspace/workspace-controller.d.ts +25 -0
  145. package/dist/ui/file-preview/src/markdown-workspace/workspace-controller.js +40 -0
  146. package/dist/ui/file-preview/src/model.d.ts +34 -0
  147. package/dist/ui/file-preview/src/panel-actions.d.ts +17 -0
  148. package/dist/ui/file-preview/src/panel-actions.js +182 -0
  149. package/dist/ui/file-preview/src/path-utils.d.ts +6 -0
  150. package/dist/ui/file-preview/src/path-utils.js +64 -0
  151. package/dist/ui/file-preview/src/payload-utils.d.ts +11 -0
  152. package/dist/ui/file-preview/src/payload-utils.js +94 -0
  153. package/dist/ui/file-preview/styles.css +1066 -233
  154. package/dist/ui/file-preview/types.d.ts +1 -0
  155. package/dist/ui/server-integration.d.ts +13 -0
  156. package/dist/ui/server-integration.js +31 -0
  157. package/dist/ui/shared/ToolHeader.d.ts +9 -0
  158. package/dist/ui/shared/ToolHeader.js +29 -0
  159. package/dist/ui/shared/app-bootstrap.d.ts +9 -0
  160. package/dist/ui/shared/app-bootstrap.js +15 -0
  161. package/dist/ui/shared/guards.d.ts +1 -0
  162. package/dist/ui/shared/guards.js +3 -0
  163. package/dist/ui/shared/host-lifecycle.d.ts +1 -0
  164. package/dist/ui/shared/host-lifecycle.js +8 -2
  165. package/dist/ui/shared/widget-state.d.ts +6 -1
  166. package/dist/ui/shared/widget-state.js +102 -4
  167. package/dist/utils/files/base.d.ts +2 -0
  168. package/dist/utils/open-browser.js +1 -1
  169. package/dist/utils/ui-call-context.d.ts +8 -0
  170. package/dist/utils/ui-call-context.js +72 -0
  171. package/dist/version.d.ts +1 -1
  172. package/dist/version.js +1 -1
  173. package/package.json +6 -1
  174. package/dist/data/spec-kit-prompts.json +0 -123
  175. package/dist/handlers/macos-control-handlers.d.ts +0 -16
  176. package/dist/handlers/macos-control-handlers.js +0 -81
  177. package/dist/handlers/node-handlers.d.ts +0 -6
  178. package/dist/handlers/node-handlers.js +0 -73
  179. package/dist/handlers/test-crash-handler.d.ts +0 -11
  180. package/dist/handlers/test-crash-handler.js +0 -26
  181. package/dist/http-index.d.ts +0 -45
  182. package/dist/http-index.js +0 -51
  183. package/dist/http-server-auto-tunnel.js +0 -667
  184. package/dist/http-server-named-tunnel.d.ts +0 -2
  185. package/dist/http-server-named-tunnel.js +0 -167
  186. package/dist/http-server-tunnel.d.ts +0 -2
  187. package/dist/http-server-tunnel.js +0 -111
  188. package/dist/http-server.d.ts +0 -2
  189. package/dist/http-server.js +0 -270
  190. package/dist/index-oauth.d.ts +0 -2
  191. package/dist/index-oauth.js +0 -201
  192. package/dist/lib.d.ts +0 -10
  193. package/dist/lib.js +0 -10
  194. package/dist/oauth/auth-middleware.d.ts +0 -20
  195. package/dist/oauth/auth-middleware.js +0 -62
  196. package/dist/oauth/index.d.ts +0 -3
  197. package/dist/oauth/index.js +0 -3
  198. package/dist/oauth/oauth-manager.d.ts +0 -80
  199. package/dist/oauth/oauth-manager.js +0 -179
  200. package/dist/oauth/oauth-routes.d.ts +0 -3
  201. package/dist/oauth/oauth-routes.js +0 -377
  202. package/dist/oauth/provider.d.ts +0 -22
  203. package/dist/oauth/provider.js +0 -124
  204. package/dist/oauth/server.d.ts +0 -18
  205. package/dist/oauth/server.js +0 -160
  206. package/dist/oauth/types.d.ts +0 -54
  207. package/dist/oauth/types.js +0 -2
  208. package/dist/remote-device/templates/auth-success.d.ts +0 -1
  209. package/dist/remote-device/templates/auth-success.js +0 -30
  210. package/dist/setup.log +0 -275
  211. package/dist/test-setup.js +0 -14
  212. package/dist/tools/docx/builders/html-builder.d.ts +0 -17
  213. package/dist/tools/docx/builders/html-builder.js +0 -92
  214. package/dist/tools/docx/builders/image.d.ts +0 -14
  215. package/dist/tools/docx/builders/image.js +0 -84
  216. package/dist/tools/docx/builders/index.d.ts +0 -11
  217. package/dist/tools/docx/builders/index.js +0 -11
  218. package/dist/tools/docx/builders/markdown-builder.d.ts +0 -2
  219. package/dist/tools/docx/builders/markdown-builder.js +0 -260
  220. package/dist/tools/docx/builders/paragraph.d.ts +0 -12
  221. package/dist/tools/docx/builders/paragraph.js +0 -29
  222. package/dist/tools/docx/builders/table.d.ts +0 -10
  223. package/dist/tools/docx/builders/table.js +0 -138
  224. package/dist/tools/docx/builders/utils.d.ts +0 -5
  225. package/dist/tools/docx/builders/utils.js +0 -18
  226. package/dist/tools/docx/constants.d.ts +0 -32
  227. package/dist/tools/docx/constants.js +0 -61
  228. package/dist/tools/docx/converters/markdown-to-html.d.ts +0 -17
  229. package/dist/tools/docx/converters/markdown-to-html.js +0 -111
  230. package/dist/tools/docx/create.d.ts +0 -21
  231. package/dist/tools/docx/create.js +0 -386
  232. package/dist/tools/docx/dom.d.ts +0 -139
  233. package/dist/tools/docx/dom.js +0 -448
  234. package/dist/tools/docx/errors.d.ts +0 -28
  235. package/dist/tools/docx/errors.js +0 -48
  236. package/dist/tools/docx/extractors/images.d.ts +0 -14
  237. package/dist/tools/docx/extractors/images.js +0 -40
  238. package/dist/tools/docx/extractors/metadata.d.ts +0 -14
  239. package/dist/tools/docx/extractors/metadata.js +0 -64
  240. package/dist/tools/docx/extractors/sections.d.ts +0 -14
  241. package/dist/tools/docx/extractors/sections.js +0 -61
  242. package/dist/tools/docx/html.d.ts +0 -17
  243. package/dist/tools/docx/html.js +0 -111
  244. package/dist/tools/docx/index.d.ts +0 -10
  245. package/dist/tools/docx/index.js +0 -10
  246. package/dist/tools/docx/markdown.d.ts +0 -84
  247. package/dist/tools/docx/markdown.js +0 -507
  248. package/dist/tools/docx/modify.d.ts +0 -28
  249. package/dist/tools/docx/modify.js +0 -271
  250. package/dist/tools/docx/operations/handlers/index.d.ts +0 -39
  251. package/dist/tools/docx/operations/handlers/index.js +0 -152
  252. package/dist/tools/docx/operations/html-manipulator.d.ts +0 -24
  253. package/dist/tools/docx/operations/html-manipulator.js +0 -352
  254. package/dist/tools/docx/operations/index.d.ts +0 -14
  255. package/dist/tools/docx/operations/index.js +0 -61
  256. package/dist/tools/docx/operations/operation-handlers.d.ts +0 -3
  257. package/dist/tools/docx/operations/operation-handlers.js +0 -67
  258. package/dist/tools/docx/operations/preprocessor.d.ts +0 -14
  259. package/dist/tools/docx/operations/preprocessor.js +0 -44
  260. package/dist/tools/docx/operations/xml-replacer.d.ts +0 -9
  261. package/dist/tools/docx/operations/xml-replacer.js +0 -35
  262. package/dist/tools/docx/operations.d.ts +0 -13
  263. package/dist/tools/docx/operations.js +0 -13
  264. package/dist/tools/docx/ops/delete-paragraph-at-body-index.d.ts +0 -11
  265. package/dist/tools/docx/ops/delete-paragraph-at-body-index.js +0 -23
  266. package/dist/tools/docx/ops/header-replace-text-exact.d.ts +0 -13
  267. package/dist/tools/docx/ops/header-replace-text-exact.js +0 -55
  268. package/dist/tools/docx/ops/index.d.ts +0 -17
  269. package/dist/tools/docx/ops/index.js +0 -70
  270. package/dist/tools/docx/ops/insert-image-after-text.d.ts +0 -24
  271. package/dist/tools/docx/ops/insert-image-after-text.js +0 -128
  272. package/dist/tools/docx/ops/insert-paragraph-after-text.d.ts +0 -12
  273. package/dist/tools/docx/ops/insert-paragraph-after-text.js +0 -74
  274. package/dist/tools/docx/ops/insert-table-after-text.d.ts +0 -19
  275. package/dist/tools/docx/ops/insert-table-after-text.js +0 -57
  276. package/dist/tools/docx/ops/replace-hyperlink-url.d.ts +0 -12
  277. package/dist/tools/docx/ops/replace-hyperlink-url.js +0 -37
  278. package/dist/tools/docx/ops/replace-paragraph-at-body-index.d.ts +0 -9
  279. package/dist/tools/docx/ops/replace-paragraph-at-body-index.js +0 -25
  280. package/dist/tools/docx/ops/replace-paragraph-text-exact.d.ts +0 -21
  281. package/dist/tools/docx/ops/replace-paragraph-text-exact.js +0 -36
  282. package/dist/tools/docx/ops/replace-table-cell-text.d.ts +0 -25
  283. package/dist/tools/docx/ops/replace-table-cell-text.js +0 -85
  284. package/dist/tools/docx/ops/set-color-for-paragraph-exact.d.ts +0 -9
  285. package/dist/tools/docx/ops/set-color-for-paragraph-exact.js +0 -24
  286. package/dist/tools/docx/ops/set-color-for-style.d.ts +0 -13
  287. package/dist/tools/docx/ops/set-color-for-style.js +0 -31
  288. package/dist/tools/docx/ops/set-paragraph-style-at-body-index.d.ts +0 -8
  289. package/dist/tools/docx/ops/set-paragraph-style-at-body-index.js +0 -57
  290. package/dist/tools/docx/ops/table-set-cell-text.d.ts +0 -9
  291. package/dist/tools/docx/ops/table-set-cell-text.js +0 -40
  292. package/dist/tools/docx/parsers/image-extractor.d.ts +0 -18
  293. package/dist/tools/docx/parsers/image-extractor.js +0 -61
  294. package/dist/tools/docx/parsers/index.d.ts +0 -9
  295. package/dist/tools/docx/parsers/index.js +0 -9
  296. package/dist/tools/docx/parsers/paragraph-parser.d.ts +0 -2
  297. package/dist/tools/docx/parsers/paragraph-parser.js +0 -88
  298. package/dist/tools/docx/parsers/table-parser.d.ts +0 -9
  299. package/dist/tools/docx/parsers/table-parser.js +0 -72
  300. package/dist/tools/docx/parsers/xml-parser.d.ts +0 -25
  301. package/dist/tools/docx/parsers/xml-parser.js +0 -71
  302. package/dist/tools/docx/parsers/zip-reader.d.ts +0 -23
  303. package/dist/tools/docx/parsers/zip-reader.js +0 -52
  304. package/dist/tools/docx/read.d.ts +0 -27
  305. package/dist/tools/docx/read.js +0 -308
  306. package/dist/tools/docx/relationships.d.ts +0 -22
  307. package/dist/tools/docx/relationships.js +0 -76
  308. package/dist/tools/docx/structure.d.ts +0 -25
  309. package/dist/tools/docx/structure.js +0 -102
  310. package/dist/tools/docx/styled-html-parser.d.ts +0 -23
  311. package/dist/tools/docx/styled-html-parser.js +0 -1262
  312. package/dist/tools/docx/types.d.ts +0 -213
  313. package/dist/tools/docx/types.js +0 -5
  314. package/dist/tools/docx/utils/escaping.d.ts +0 -13
  315. package/dist/tools/docx/utils/escaping.js +0 -26
  316. package/dist/tools/docx/utils/images.d.ts +0 -9
  317. package/dist/tools/docx/utils/images.js +0 -26
  318. package/dist/tools/docx/utils/index.d.ts +0 -12
  319. package/dist/tools/docx/utils/index.js +0 -17
  320. package/dist/tools/docx/utils/markdown.d.ts +0 -13
  321. package/dist/tools/docx/utils/markdown.js +0 -32
  322. package/dist/tools/docx/utils/paths.d.ts +0 -15
  323. package/dist/tools/docx/utils/paths.js +0 -27
  324. package/dist/tools/docx/utils/versioning.d.ts +0 -25
  325. package/dist/tools/docx/utils/versioning.js +0 -55
  326. package/dist/tools/docx/utils.d.ts +0 -101
  327. package/dist/tools/docx/utils.js +0 -299
  328. package/dist/tools/docx/validate.d.ts +0 -33
  329. package/dist/tools/docx/validate.js +0 -49
  330. package/dist/tools/docx/validators.d.ts +0 -13
  331. package/dist/tools/docx/validators.js +0 -40
  332. package/dist/tools/docx/write.d.ts +0 -17
  333. package/dist/tools/docx/write.js +0 -88
  334. package/dist/tools/docx/xml-view-test.js +0 -63
  335. package/dist/tools/docx/xml-view.d.ts +0 -56
  336. package/dist/tools/docx/xml-view.js +0 -169
  337. package/dist/tools/docx/zip.d.ts +0 -21
  338. package/dist/tools/docx/zip.js +0 -35
  339. package/dist/tools/macos-control/ax-adapter.d.ts +0 -55
  340. package/dist/tools/macos-control/ax-adapter.js +0 -438
  341. package/dist/tools/macos-control/cdp-adapter.d.ts +0 -23
  342. package/dist/tools/macos-control/cdp-adapter.js +0 -402
  343. package/dist/tools/macos-control/orchestrator.d.ts +0 -77
  344. package/dist/tools/macos-control/orchestrator.js +0 -136
  345. package/dist/tools/macos-control/role-aliases.d.ts +0 -5
  346. package/dist/tools/macos-control/role-aliases.js +0 -34
  347. package/dist/tools/macos-control/types.d.ts +0 -129
  348. package/dist/tools/pdf-processor.d.ts +0 -1
  349. package/dist/tools/pdf-processor.js +0 -3
  350. package/dist/tools/search.d.ts +0 -32
  351. package/dist/tools/search.js +0 -202
  352. package/dist/ui/file-preview/src/app.js +0 -714
  353. package/dist/utils/crash-logger.d.ts +0 -18
  354. package/dist/utils/crash-logger.js +0 -44
  355. package/dist/utils/dedent.d.ts +0 -8
  356. package/dist/utils/dedent.js +0 -38
  357. /package/dist/ui/config-editor/{src/app.d.ts → app.d.ts} +0 -0
  358. /package/dist/{http-server-auto-tunnel.d.ts → ui/config-editor/main.d.ts} +0 -0
  359. /package/dist/ui/config-editor/src/{app.js → App.js} +0 -0
  360. /package/dist/{test-docx.d.ts → ui/file-preview/main.d.ts} +0 -0
  361. /package/dist/ui/file-preview/src/components/{toolbar.d.ts → Toolbar.d.ts} +0 -0
  362. /package/dist/ui/file-preview/src/components/{toolbar.js → Toolbar.js} +0 -0
  363. /package/dist/{tools/docx/xml-view-test.d.ts → ui/file-preview/src/model.js} +0 -0
  364. /package/dist/{tools/macos-control → ui/file-preview}/types.js +0 -0
@@ -1,438 +0,0 @@
1
- import { spawn } from 'child_process';
2
- import { existsSync } from 'fs';
3
- import { access } from 'fs/promises';
4
- import path from 'path';
5
- import { fileURLToPath } from 'url';
6
- import { expandRoleAlias } from './role-aliases.js';
7
- const __filename = fileURLToPath(import.meta.url);
8
- const __dirname = path.dirname(__filename);
9
- const PROJECT_ROOT = path.resolve(__dirname, '../../..');
10
- function normalizeHelperError(code) {
11
- switch (code) {
12
- case 'UNSUPPORTED_PLATFORM':
13
- return 'UNSUPPORTED_PLATFORM';
14
- case 'HELPER_NOT_FOUND':
15
- return 'HELPER_NOT_FOUND';
16
- case 'PERMISSION_DENIED':
17
- return 'PERMISSION_DENIED';
18
- case 'INVALID_ARGUMENT':
19
- return 'INVALID_ARGUMENT';
20
- case 'NOT_FOUND':
21
- return 'NOT_FOUND';
22
- case 'TIMEOUT':
23
- return 'TIMEOUT';
24
- case 'ACTION_FAILED':
25
- return 'ACTION_FAILED';
26
- default:
27
- return 'INTERNAL_ERROR';
28
- }
29
- }
30
- async function isExecutable(filePath) {
31
- try {
32
- await access(filePath);
33
- return true;
34
- }
35
- catch {
36
- return false;
37
- }
38
- }
39
- function makeError(code, message, details) {
40
- return {
41
- ok: false,
42
- error: {
43
- code,
44
- message,
45
- details,
46
- },
47
- };
48
- }
49
- function parseBounds(value) {
50
- if (Array.isArray(value) && value.length === 4) {
51
- return [
52
- Number(value[0]) || 0,
53
- Number(value[1]) || 0,
54
- Number(value[2]) || 0,
55
- Number(value[3]) || 0,
56
- ];
57
- }
58
- return [0, 0, 0, 0];
59
- }
60
- function toAxElement(raw) {
61
- return {
62
- id: String(raw?.id ?? ''),
63
- app: String(raw?.app ?? ''),
64
- pid: Number(raw?.pid ?? 0),
65
- role: String(raw?.role ?? ''),
66
- title: raw?.title ? String(raw.title) : undefined,
67
- label: raw?.label ? String(raw.label) : undefined,
68
- desc: raw?.desc ? String(raw.desc) : undefined,
69
- text: raw?.text ? String(raw.text) : undefined,
70
- checked: typeof raw?.checked === 'boolean' ? raw.checked : undefined,
71
- selected: typeof raw?.selected === 'boolean' ? raw.selected : undefined,
72
- focused: typeof raw?.focused === 'boolean' ? raw.focused : undefined,
73
- actions: Array.isArray(raw?.actions) ? raw.actions.map((a) => String(a)) : undefined,
74
- bounds: parseBounds(raw?.bounds),
75
- };
76
- }
77
- export class AxAdapter {
78
- constructor() {
79
- this.helperPathCache = null;
80
- this.signatures = new Map();
81
- }
82
- async resolveHelperPath() {
83
- if (this.helperPathCache !== null) {
84
- return this.helperPathCache;
85
- }
86
- const envOverride = process.env.DC_MACOS_AX_HELPER_PATH;
87
- const archName = process.arch === 'arm64' ? 'arm64' : 'x64';
88
- const candidates = [
89
- envOverride,
90
- path.join(PROJECT_ROOT, 'bin', 'macos', `macos-ax-helper-darwin-${archName}`),
91
- path.join(PROJECT_ROOT, 'native', 'macos-ax-helper', '.build', 'apple', 'Products', 'Release', 'macos-ax-helper'),
92
- path.join(PROJECT_ROOT, 'native', 'macos-ax-helper', '.build', 'release', 'macos-ax-helper'),
93
- path.join(PROJECT_ROOT, 'native', 'macos-ax-helper', '.build', `${process.arch}-apple-macosx`, 'release', 'macos-ax-helper'),
94
- ].filter((value) => !!value);
95
- for (const candidate of candidates) {
96
- if (existsSync(candidate) && await isExecutable(candidate)) {
97
- this.helperPathCache = candidate;
98
- return candidate;
99
- }
100
- }
101
- this.helperPathCache = null;
102
- return null;
103
- }
104
- async runHelper(request, timeoutMs = 15000) {
105
- if (process.platform !== 'darwin') {
106
- return makeError('UNSUPPORTED_PLATFORM', 'macOS control tools are only available on macOS.');
107
- }
108
- const helperPath = await this.resolveHelperPath();
109
- if (!helperPath) {
110
- return makeError('HELPER_NOT_FOUND', 'macOS accessibility helper binary not found. Build it with ./build-macos-helper.sh', { projectRoot: PROJECT_ROOT });
111
- }
112
- const payload = JSON.stringify(request);
113
- return await new Promise((resolve) => {
114
- const child = spawn(helperPath, [], {
115
- stdio: ['pipe', 'pipe', 'pipe'],
116
- });
117
- let stdout = '';
118
- let stderr = '';
119
- let timedOut = false;
120
- const timer = setTimeout(() => {
121
- timedOut = true;
122
- child.kill('SIGKILL');
123
- }, timeoutMs);
124
- child.stdout.on('data', (chunk) => {
125
- stdout += chunk.toString();
126
- });
127
- child.stderr.on('data', (chunk) => {
128
- stderr += chunk.toString();
129
- });
130
- child.on('error', (error) => {
131
- clearTimeout(timer);
132
- resolve(makeError('HELPER_EXEC_FAILED', `Failed to execute AX helper: ${error.message}`));
133
- });
134
- child.on('close', (code) => {
135
- clearTimeout(timer);
136
- if (timedOut) {
137
- resolve(makeError('TIMEOUT', 'AX helper request timed out', { timeoutMs, command: request.command }));
138
- return;
139
- }
140
- const trimmed = stdout.trim();
141
- if (!trimmed) {
142
- resolve(makeError('HELPER_PROTOCOL_ERROR', 'AX helper returned empty response', { code, stderr }));
143
- return;
144
- }
145
- let parsed;
146
- try {
147
- parsed = JSON.parse(trimmed);
148
- }
149
- catch {
150
- resolve(makeError('HELPER_PROTOCOL_ERROR', 'AX helper returned invalid JSON', { code, stderr, stdout: trimmed.slice(0, 400) }));
151
- return;
152
- }
153
- if (!parsed.ok) {
154
- const helperCode = parsed.error?.code ?? 'INTERNAL_ERROR';
155
- resolve({
156
- ok: false,
157
- error: {
158
- code: normalizeHelperError(helperCode),
159
- message: parsed.error?.message || 'AX helper request failed',
160
- details: {
161
- helperCode,
162
- helperDetails: parsed.error?.details,
163
- stderr,
164
- },
165
- },
166
- });
167
- return;
168
- }
169
- resolve({ ok: true, data: parsed.data });
170
- });
171
- child.stdin.write(payload);
172
- child.stdin.end();
173
- });
174
- }
175
- rememberElements(elements) {
176
- for (const element of elements) {
177
- if (!element.id) {
178
- continue;
179
- }
180
- this.signatures.set(element.id, {
181
- app: element.app,
182
- role: element.role,
183
- title: element.title,
184
- label: element.label,
185
- text: element.text,
186
- bounds: element.bounds,
187
- });
188
- }
189
- }
190
- elementScore(candidate, signature) {
191
- let score = 0;
192
- if (candidate.role === signature.role) {
193
- score += 8;
194
- }
195
- if (signature.title && candidate.title === signature.title) {
196
- score += 6;
197
- }
198
- if (signature.label && candidate.label === signature.label) {
199
- score += 4;
200
- }
201
- if (signature.text && candidate.text === signature.text) {
202
- score += 3;
203
- }
204
- if (signature.bounds && candidate.bounds) {
205
- const dx = Math.abs(candidate.bounds[0] - signature.bounds[0]);
206
- const dy = Math.abs(candidate.bounds[1] - signature.bounds[1]);
207
- if (dx < 8 && dy < 8) {
208
- score += 5;
209
- }
210
- }
211
- return score;
212
- }
213
- async fallbackRefindElement(staleId) {
214
- const signature = this.signatures.get(staleId);
215
- if (!signature) {
216
- return null;
217
- }
218
- const queryText = signature.title || signature.label || signature.text;
219
- const refreshed = await this.listElements({
220
- scope: 'app',
221
- app: signature.app,
222
- text: queryText,
223
- role: signature.role,
224
- limit: 50,
225
- depth: 12,
226
- });
227
- if (!refreshed.ok || !refreshed.data || refreshed.data.length === 0) {
228
- return null;
229
- }
230
- const sorted = [...refreshed.data].sort((a, b) => this.elementScore(b, signature) - this.elementScore(a, signature));
231
- return sorted[0] ?? null;
232
- }
233
- async status() {
234
- const result = await this.runHelper({ command: 'status' }, 8000);
235
- if (!result.ok) {
236
- return result;
237
- }
238
- return {
239
- ok: true,
240
- data: {
241
- ...(result.data ?? { platform: process.platform, hasPermission: false }),
242
- platform: process.platform,
243
- helperPath: await this.resolveHelperPath() ?? undefined,
244
- },
245
- };
246
- }
247
- async listApps() {
248
- const result = await this.runHelper({ command: 'list_apps' });
249
- if (!result.ok) {
250
- return {
251
- ok: false,
252
- error: result.error,
253
- };
254
- }
255
- const apps = Array.isArray(result.data?.apps)
256
- ? result.data.apps.map((app) => ({
257
- name: String(app?.name ?? 'Unknown'),
258
- pid: Number(app?.pid ?? 0),
259
- bundleId: app?.bundleId ? String(app.bundleId) : undefined,
260
- active: Boolean(app?.active),
261
- }))
262
- : [];
263
- return { ok: true, data: apps };
264
- }
265
- async listElements(args) {
266
- const roleFilters = expandRoleAlias(args.role);
267
- const result = await this.runHelper({
268
- command: 'list_elements',
269
- args: {
270
- scope: args.scope ?? 'top_window',
271
- app: args.app,
272
- text: args.text,
273
- roles: roleFilters,
274
- depth: args.depth,
275
- limit: args.limit,
276
- },
277
- });
278
- if (!result.ok) {
279
- return {
280
- ok: false,
281
- error: result.error,
282
- };
283
- }
284
- const elements = Array.isArray(result.data?.elements)
285
- ? result.data.elements.map(toAxElement).filter((element) => element.id)
286
- : [];
287
- this.rememberElements(elements);
288
- return { ok: true, data: elements };
289
- }
290
- async find(args) {
291
- const index = Math.max(0, args.index ?? 0);
292
- const roleFilters = expandRoleAlias(args.role);
293
- const limit = Math.max(index + 1, args.limit ?? 0) || undefined;
294
- const result = await this.runHelper({
295
- command: 'find',
296
- args: {
297
- app: args.app,
298
- text: args.text,
299
- roles: roleFilters,
300
- depth: args.depth,
301
- limit,
302
- index,
303
- },
304
- });
305
- if (!result.ok) {
306
- return {
307
- ok: false,
308
- error: result.error,
309
- };
310
- }
311
- const elements = Array.isArray(result.data?.elements)
312
- ? result.data.elements.map(toAxElement).filter((element) => element.id)
313
- : [];
314
- this.rememberElements(elements);
315
- return { ok: true, data: elements };
316
- }
317
- async clickById(id, appHint) {
318
- const clickResult = await this.runHelper({
319
- command: 'click',
320
- args: {
321
- id,
322
- app: appHint,
323
- },
324
- });
325
- if (clickResult.ok) {
326
- return clickResult;
327
- }
328
- if (clickResult.error?.code !== 'NOT_FOUND') {
329
- return clickResult;
330
- }
331
- const fallbackElement = await this.fallbackRefindElement(id);
332
- if (!fallbackElement) {
333
- return clickResult;
334
- }
335
- return this.runHelper({
336
- command: 'click',
337
- args: {
338
- id: fallbackElement.id,
339
- app: fallbackElement.app,
340
- },
341
- });
342
- }
343
- async typeText(text) {
344
- return this.runHelper({
345
- command: 'type_text',
346
- args: { text },
347
- });
348
- }
349
- async pressKey(key, modifiers = []) {
350
- return this.runHelper({
351
- command: 'press_key',
352
- args: { key, modifiers },
353
- });
354
- }
355
- async activate(app) {
356
- return this.runHelper({
357
- command: 'activate',
358
- args: { app },
359
- });
360
- }
361
- async waitFor(args) {
362
- const result = await this.runHelper({
363
- command: 'wait_for',
364
- args: {
365
- app: args.app,
366
- text: args.text,
367
- roles: expandRoleAlias(args.role),
368
- timeout_ms: args.timeout_ms,
369
- depth: args.depth,
370
- },
371
- }, (args.timeout_ms ?? 5000) + 3000);
372
- if (!result.ok) {
373
- return {
374
- ok: false,
375
- error: result.error,
376
- };
377
- }
378
- const element = result.data?.element ? toAxElement(result.data.element) : null;
379
- if (!element) {
380
- return makeError('NOT_FOUND', 'Element not found before timeout');
381
- }
382
- this.rememberElements([element]);
383
- return { ok: true, data: element };
384
- }
385
- async getState(args) {
386
- const found = await this.find(args);
387
- if (!found.ok) {
388
- return {
389
- ok: false,
390
- error: found.error,
391
- };
392
- }
393
- const element = found.data?.[0];
394
- if (!element) {
395
- return makeError('NOT_FOUND', `No element matched criteria in ${args.app}`);
396
- }
397
- return {
398
- ok: true,
399
- data: {
400
- element,
401
- checked: element.checked,
402
- selected: element.selected,
403
- text: element.text,
404
- },
405
- };
406
- }
407
- async scroll(args) {
408
- return this.runHelper({
409
- command: 'scroll',
410
- args: {
411
- x: args.x,
412
- y: args.y,
413
- direction: args.direction ?? 'down',
414
- amount: args.amount ?? 3,
415
- },
416
- });
417
- }
418
- async batch(commands, stopOnError) {
419
- const waitBudgetMs = commands.reduce((sum, command) => {
420
- if (command.action === 'wait') {
421
- return sum + Math.max(0, command.ms ?? 500);
422
- }
423
- if (command.action === 'wait_for') {
424
- return sum + Math.max(0, command.timeout_ms ?? 5000);
425
- }
426
- return sum;
427
- }, 0);
428
- const timeoutMs = Math.min(Math.max(30000, waitBudgetMs + commands.length * 4000), 5 * 60 * 1000);
429
- return this.runHelper({
430
- command: 'batch',
431
- args: {
432
- commands,
433
- stop_on_error: stopOnError,
434
- },
435
- }, timeoutMs);
436
- }
437
- }
438
- export const axAdapter = new AxAdapter();
@@ -1,23 +0,0 @@
1
- import { ElectronDebugAttachResult, ElectronDebugEvalResult, MacosControlResult } from './types.js';
2
- export declare class CdpAdapter {
3
- private sessions;
4
- private fetchTargets;
5
- private bindSessionHandlers;
6
- private sendCommand;
7
- attach(args: {
8
- host?: string;
9
- port?: number;
10
- targetIndex?: number;
11
- targetId?: string;
12
- }): Promise<MacosControlResult<ElectronDebugAttachResult>>;
13
- evaluate(args: {
14
- sessionId: string;
15
- expression: string;
16
- returnByValue?: boolean;
17
- awaitPromise?: boolean;
18
- }): Promise<MacosControlResult<ElectronDebugEvalResult>>;
19
- disconnect(sessionId: string): Promise<MacosControlResult<{
20
- sessionId: string;
21
- }>>;
22
- }
23
- export declare const cdpAdapter: CdpAdapter;