@walkhi/code-relax 0.1.0-beta.29 → 0.1.0-beta.30

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 (731) hide show
  1. package/README.md +12 -3
  2. package/dist/bin/codex-remote.mjs +54 -37
  3. package/dist/bin/manage-relay-admin.mjs +20 -20
  4. package/dist/bin/migrate-relay-db.mjs +109 -109
  5. package/dist/bin/publish-android-release.mjs +58 -0
  6. package/dist/bin/self-relay-admin.mjs +8 -8
  7. package/dist/bin/self-relay-demo.mjs +33 -33
  8. package/dist/bin/self-relay-server.mjs +66 -64
  9. package/dist/build-platform.json +1 -0
  10. package/dist/get-lan-networks.ps1 +40 -40
  11. package/dist/shared/file-mentions.cjs +12 -0
  12. package/dist/shared/message-delivery.cjs +17 -1
  13. package/dist/shared/p2p-data-channel.cjs +72 -50
  14. package/dist/shared/p2p-diagnostics.cjs +28 -28
  15. package/dist/shared/p2p-file-channel.cjs +3 -3
  16. package/dist/shared/plan-pricing.cjs +32 -0
  17. package/dist/shared/server-requests.cjs +17 -1
  18. package/dist/skills/code-relax/SKILL.md +3 -3
  19. package/dist/src/background-process.mjs +18 -18
  20. package/dist/src/code-browser.mjs +7 -8
  21. package/dist/src/dots-chat-server.mjs +50 -1
  22. package/dist/src/dots-room-client.mjs +2 -2
  23. package/dist/src/dots-task-catalog.mjs +22 -3
  24. package/dist/src/dots-task-files.mjs +52 -0
  25. package/dist/src/execution-health.mjs +26 -26
  26. package/dist/src/lan-socket-server.mjs +2 -2
  27. package/dist/src/managed-app-server.mjs +9 -6
  28. package/dist/src/message-images.mjs +9 -9
  29. package/dist/src/onboarding.mjs +9 -26
  30. package/dist/src/plan-pricing.mjs +47 -0
  31. package/dist/src/platform/README.md +11 -11
  32. package/dist/src/platform/codex-protocol.mjs +46 -0
  33. package/dist/src/platform/codex-runtime.mjs +3 -0
  34. package/dist/src/platform/credential-store.mjs +3 -0
  35. package/dist/src/platform/desktop-host.mjs +3 -0
  36. package/dist/src/platform/desktop-project-registration.mjs +3 -0
  37. package/dist/src/platform/desktop-project-store.mjs +149 -0
  38. package/dist/src/platform/linux/README.md +3 -3
  39. package/dist/src/platform/macos/README.md +3 -3
  40. package/dist/src/platform/macos/codex-runtime.mjs +125 -0
  41. package/dist/src/platform/macos/credential-store.mjs +10 -0
  42. package/dist/src/platform/macos/desktop-host.mjs +82 -0
  43. package/dist/src/platform/macos/desktop-project-registration.mjs +10 -0
  44. package/dist/src/platform/macos/network-info.mjs +28 -0
  45. package/dist/src/platform/macos/project-locations.mjs +8 -0
  46. package/dist/src/platform/macos/resident-startup.mjs +84 -0
  47. package/dist/src/platform/macos/retained-runtime.mjs +127 -0
  48. package/dist/src/platform/macos/service-host.mjs +18 -0
  49. package/dist/src/platform/macos/system.mjs +29 -0
  50. package/dist/src/platform/macos/user-environment.mjs +7 -0
  51. package/dist/src/platform/native-package.mjs +46 -0
  52. package/dist/src/platform/network-info.mjs +3 -0
  53. package/dist/src/platform/path-identity.mjs +5 -0
  54. package/dist/src/platform/posix/runtime-paths.mjs +25 -0
  55. package/dist/src/platform/project-locations.mjs +3 -0
  56. package/dist/src/platform/runtime-paths.mjs +8 -0
  57. package/dist/src/platform/select.mjs +5 -0
  58. package/dist/src/platform/service-host.mjs +3 -0
  59. package/dist/src/platform/user-environment.mjs +3 -0
  60. package/dist/src/platform/windows/IsolatedProcess.cs +79 -79
  61. package/dist/src/platform/windows/background-process.mjs +30 -30
  62. package/dist/src/platform/windows/codex-runtime.mjs +2 -40
  63. package/dist/src/platform/windows/desktop-helper.mjs +179 -0
  64. package/dist/src/platform/windows/desktop-project-registration.mjs +3 -152
  65. package/dist/src/platform/windows/desktop-runtime.ps1 +10 -10
  66. package/dist/src/platform/windows/desktop-shortcuts.ps1 +7 -7
  67. package/dist/src/platform/windows/network-info.mjs +34 -34
  68. package/dist/src/platform/windows/resident-start.js +20 -20
  69. package/dist/src/platform/windows/resident-start.ps1 +7 -7
  70. package/dist/src/platform/windows/resident-startup.ps1 +83 -83
  71. package/dist/src/platform/windows/resolve-state-root.ps1 +14 -14
  72. package/dist/src/platform/windows/runtime-paths.mjs +20 -20
  73. package/dist/src/platform/windows/rustdesk-video-probe.mjs +168 -0
  74. package/dist/src/platform/windows/service-host.mjs +11 -11
  75. package/dist/src/platform/windows/start-hidden-console.ps1 +49 -49
  76. package/dist/src/platform/windows/stop-desktop.ps1 +22 -22
  77. package/dist/src/platform/windows/user-environment.mjs +50 -50
  78. package/dist/src/platform/windows/user-environment.ps1 +41 -41
  79. package/dist/src/project-create.mjs +4 -4
  80. package/dist/src/runtime-discovery.mjs +47 -43
  81. package/dist/src/self-relay/account-connections.mjs +52 -52
  82. package/dist/src/self-relay/admin-cloud.mjs +101 -101
  83. package/dist/src/self-relay/admin-server.mjs +74 -74
  84. package/dist/src/self-relay/admin-state.mjs +127 -127
  85. package/dist/src/self-relay/android-releases.mjs +61 -0
  86. package/dist/src/self-relay/client.mjs +61 -61
  87. package/dist/src/self-relay/connector.mjs +36 -20
  88. package/dist/src/self-relay/debug-allowlist.mjs +33 -33
  89. package/dist/src/self-relay/demo.mjs +6 -6
  90. package/dist/src/self-relay/device-store.mjs +84 -84
  91. package/dist/src/self-relay/lan-authorizations.mjs +42 -42
  92. package/dist/src/self-relay/lifecycle.mjs +250 -250
  93. package/dist/src/self-relay/long-pairing.mjs +40 -40
  94. package/dist/src/self-relay/mysql-state.mjs +105 -105
  95. package/dist/src/self-relay/p2p-probe.mjs +13 -6
  96. package/dist/src/self-relay/server.mjs +19 -9
  97. package/dist/src/self-relay/usage-daily.mjs +55 -55
  98. package/dist/src/self-relay/windows-route-helper.mjs +75 -75
  99. package/dist/src/self-relay/wire.mjs +36 -36
  100. package/dist/src/server.mjs +132 -32
  101. package/dist/src/service-control.mjs +82 -82
  102. package/dist/src/service-doctor.mjs +51 -13
  103. package/dist/src/service-health.mjs +33 -33
  104. package/dist/src/service-install.mjs +10 -7
  105. package/dist/src/service-lifecycle.mjs +1 -1
  106. package/dist/src/service-restart.mjs +81 -81
  107. package/dist/src/shared-app-server.mjs +16 -7
  108. package/dist/src/shared-recovery.mjs +146 -144
  109. package/dist/src/skill-install.mjs +51 -51
  110. package/dist/src/thread-title-generation.mjs +150 -150
  111. package/dist/src/turn-model-history.mjs +47 -47
  112. package/dist/tools/rtc-route-helper.ps1 +99 -99
  113. package/dist/tools/start-rtc-route-helper.ps1 +15 -15
  114. package/dist/web/vendor/markdown-it.LICENSE.txt +22 -22
  115. package/dist/web/vendor/markdown-it.umd.min.js +13 -13
  116. package/package.json +47 -49
  117. package/tools/postinstall.mjs +127 -127
  118. package/node_modules/@img/colour/LICENSE.md +0 -82
  119. package/node_modules/@img/colour/README.md +0 -15
  120. package/node_modules/@img/colour/color.cjs +0 -1596
  121. package/node_modules/@img/colour/index.cjs +0 -1
  122. package/node_modules/@img/colour/index.d.ts +0 -929
  123. package/node_modules/@img/colour/package.json +0 -58
  124. package/node_modules/@img/sharp-win32-x64/LICENSE +0 -191
  125. package/node_modules/@img/sharp-win32-x64/README.md +0 -59
  126. package/node_modules/@img/sharp-win32-x64/index.cjs +0 -1
  127. package/node_modules/@img/sharp-win32-x64/lib/libvips-42.dll +0 -0
  128. package/node_modules/@img/sharp-win32-x64/lib/libvips-cpp-8.18.6.dll +0 -0
  129. package/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64-0.35.4.node +0 -0
  130. package/node_modules/@img/sharp-win32-x64/package.json +0 -40
  131. package/node_modules/@img/sharp-win32-x64/versions.json +0 -30
  132. package/node_modules/@node-datachannel/win32-x64-msvc/node_datachannel.node +0 -0
  133. package/node_modules/@node-datachannel/win32-x64-msvc/package.json +0 -20
  134. package/node_modules/ansi-regex/index.d.ts +0 -37
  135. package/node_modules/ansi-regex/index.js +0 -10
  136. package/node_modules/ansi-regex/license +0 -9
  137. package/node_modules/ansi-regex/package.json +0 -55
  138. package/node_modules/ansi-regex/readme.md +0 -78
  139. package/node_modules/ansi-styles/index.d.ts +0 -345
  140. package/node_modules/ansi-styles/index.js +0 -163
  141. package/node_modules/ansi-styles/license +0 -9
  142. package/node_modules/ansi-styles/package.json +0 -56
  143. package/node_modules/ansi-styles/readme.md +0 -152
  144. package/node_modules/camelcase/index.d.ts +0 -63
  145. package/node_modules/camelcase/index.js +0 -76
  146. package/node_modules/camelcase/license +0 -9
  147. package/node_modules/camelcase/package.json +0 -43
  148. package/node_modules/camelcase/readme.md +0 -99
  149. package/node_modules/cliui/CHANGELOG.md +0 -76
  150. package/node_modules/cliui/LICENSE.txt +0 -14
  151. package/node_modules/cliui/README.md +0 -115
  152. package/node_modules/cliui/index.js +0 -354
  153. package/node_modules/cliui/package.json +0 -65
  154. package/node_modules/color-convert/CHANGELOG.md +0 -54
  155. package/node_modules/color-convert/LICENSE +0 -21
  156. package/node_modules/color-convert/README.md +0 -68
  157. package/node_modules/color-convert/conversions.js +0 -839
  158. package/node_modules/color-convert/index.js +0 -81
  159. package/node_modules/color-convert/package.json +0 -48
  160. package/node_modules/color-convert/route.js +0 -97
  161. package/node_modules/color-name/LICENSE +0 -8
  162. package/node_modules/color-name/README.md +0 -11
  163. package/node_modules/color-name/index.js +0 -152
  164. package/node_modules/color-name/package.json +0 -28
  165. package/node_modules/decamelize/index.js +0 -13
  166. package/node_modules/decamelize/license +0 -21
  167. package/node_modules/decamelize/package.json +0 -38
  168. package/node_modules/decamelize/readme.md +0 -48
  169. package/node_modules/detect-libc/LICENSE +0 -201
  170. package/node_modules/detect-libc/README.md +0 -163
  171. package/node_modules/detect-libc/index.d.ts +0 -14
  172. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  173. package/node_modules/detect-libc/lib/elf.js +0 -39
  174. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  175. package/node_modules/detect-libc/lib/process.js +0 -24
  176. package/node_modules/detect-libc/package.json +0 -44
  177. package/node_modules/dijkstrajs/.travis.yml +0 -4
  178. package/node_modules/dijkstrajs/CONTRIBUTING.md +0 -8
  179. package/node_modules/dijkstrajs/LICENSE.md +0 -19
  180. package/node_modules/dijkstrajs/README.md +0 -18
  181. package/node_modules/dijkstrajs/dijkstra.js +0 -165
  182. package/node_modules/dijkstrajs/package.json +0 -60
  183. package/node_modules/dijkstrajs/test/dijkstra.test.js +0 -96
  184. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  185. package/node_modules/emoji-regex/README.md +0 -73
  186. package/node_modules/emoji-regex/es2015/index.js +0 -6
  187. package/node_modules/emoji-regex/es2015/text.js +0 -6
  188. package/node_modules/emoji-regex/index.d.ts +0 -23
  189. package/node_modules/emoji-regex/index.js +0 -6
  190. package/node_modules/emoji-regex/package.json +0 -50
  191. package/node_modules/emoji-regex/text.js +0 -6
  192. package/node_modules/find-up/index.d.ts +0 -137
  193. package/node_modules/find-up/index.js +0 -89
  194. package/node_modules/find-up/license +0 -9
  195. package/node_modules/find-up/package.json +0 -53
  196. package/node_modules/find-up/readme.md +0 -156
  197. package/node_modules/get-caller-file/LICENSE.md +0 -6
  198. package/node_modules/get-caller-file/README.md +0 -41
  199. package/node_modules/get-caller-file/index.d.ts +0 -2
  200. package/node_modules/get-caller-file/index.js +0 -22
  201. package/node_modules/get-caller-file/index.js.map +0 -1
  202. package/node_modules/get-caller-file/package.json +0 -42
  203. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  204. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  205. package/node_modules/is-fullwidth-code-point/license +0 -9
  206. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  207. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  208. package/node_modules/locate-path/index.d.ts +0 -83
  209. package/node_modules/locate-path/index.js +0 -65
  210. package/node_modules/locate-path/license +0 -9
  211. package/node_modules/locate-path/package.json +0 -45
  212. package/node_modules/locate-path/readme.md +0 -122
  213. package/node_modules/node-datachannel/.clang-format +0 -17
  214. package/node_modules/node-datachannel/.editorconfig +0 -12
  215. package/node_modules/node-datachannel/.eslintignore +0 -8
  216. package/node_modules/node-datachannel/.eslintrc.json +0 -27
  217. package/node_modules/node-datachannel/.gitmodules +0 -3
  218. package/node_modules/node-datachannel/.prettierignore +0 -7
  219. package/node_modules/node-datachannel/.prettierrc +0 -13
  220. package/node_modules/node-datachannel/API.md +0 -247
  221. package/node_modules/node-datachannel/BULDING.md +0 -26
  222. package/node_modules/node-datachannel/CMakeLists.txt +0 -153
  223. package/node_modules/node-datachannel/LICENSE +0 -373
  224. package/node_modules/node-datachannel/README.md +0 -129
  225. package/node_modules/node-datachannel/dist/cjs/index.cjs +0 -11
  226. package/node_modules/node-datachannel/dist/cjs/index.cjs.map +0 -1
  227. package/node_modules/node-datachannel/dist/cjs/lib/datachannel-stream.cjs +0 -101
  228. package/node_modules/node-datachannel/dist/cjs/lib/datachannel-stream.cjs.map +0 -1
  229. package/node_modules/node-datachannel/dist/cjs/lib/index.cjs +0 -91
  230. package/node_modules/node-datachannel/dist/cjs/lib/index.cjs.map +0 -1
  231. package/node_modules/node-datachannel/dist/cjs/lib/node-datachannel.cjs +0 -94
  232. package/node_modules/node-datachannel/dist/cjs/lib/node-datachannel.cjs.map +0 -1
  233. package/node_modules/node-datachannel/dist/cjs/lib/websocket-server.cjs +0 -45
  234. package/node_modules/node-datachannel/dist/cjs/lib/websocket-server.cjs.map +0 -1
  235. package/node_modules/node-datachannel/dist/cjs/lib/websocket.cjs +0 -8
  236. package/node_modules/node-datachannel/dist/cjs/lib/websocket.cjs.map +0 -1
  237. package/node_modules/node-datachannel/dist/cjs/polyfill/Events.cjs +0 -86
  238. package/node_modules/node-datachannel/dist/cjs/polyfill/Events.cjs.map +0 -1
  239. package/node_modules/node-datachannel/dist/cjs/polyfill/Exception.cjs +0 -34
  240. package/node_modules/node-datachannel/dist/cjs/polyfill/Exception.cjs.map +0 -1
  241. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCCertificate.cjs +0 -34
  242. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCCertificate.cjs.map +0 -1
  243. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDataChannel.cjs +0 -214
  244. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDataChannel.cjs.map +0 -1
  245. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDtlsTransport.cjs +0 -53
  246. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCDtlsTransport.cjs.map +0 -1
  247. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCError.cjs +0 -83
  248. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCError.cjs.map +0 -1
  249. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceCandidate.cjs +0 -132
  250. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceCandidate.cjs.map +0 -1
  251. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceTransport.cjs +0 -94
  252. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceTransport.cjs.map +0 -1
  253. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCPeerConnection.cjs +0 -434
  254. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCPeerConnection.cjs.map +0 -1
  255. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSctpTransport.cjs +0 -59
  256. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSctpTransport.cjs.map +0 -1
  257. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSessionDescription.cjs +0 -45
  258. package/node_modules/node-datachannel/dist/cjs/polyfill/RTCSessionDescription.cjs.map +0 -1
  259. package/node_modules/node-datachannel/dist/cjs/polyfill/index.cjs +0 -42
  260. package/node_modules/node-datachannel/dist/cjs/polyfill/index.cjs.map +0 -1
  261. package/node_modules/node-datachannel/dist/esm/index.mjs +0 -8
  262. package/node_modules/node-datachannel/dist/esm/index.mjs.map +0 -1
  263. package/node_modules/node-datachannel/dist/esm/lib/datachannel-stream.mjs +0 -78
  264. package/node_modules/node-datachannel/dist/esm/lib/datachannel-stream.mjs.map +0 -1
  265. package/node_modules/node-datachannel/dist/esm/lib/index.mjs +0 -64
  266. package/node_modules/node-datachannel/dist/esm/lib/index.mjs.map +0 -1
  267. package/node_modules/node-datachannel/dist/esm/lib/node-datachannel.mjs +0 -78
  268. package/node_modules/node-datachannel/dist/esm/lib/node-datachannel.mjs.map +0 -1
  269. package/node_modules/node-datachannel/dist/esm/lib/websocket-server.mjs +0 -43
  270. package/node_modules/node-datachannel/dist/esm/lib/websocket-server.mjs.map +0 -1
  271. package/node_modules/node-datachannel/dist/esm/lib/websocket.mjs +0 -6
  272. package/node_modules/node-datachannel/dist/esm/lib/websocket.mjs.map +0 -1
  273. package/node_modules/node-datachannel/dist/esm/polyfill/Events.mjs +0 -82
  274. package/node_modules/node-datachannel/dist/esm/polyfill/Events.mjs.map +0 -1
  275. package/node_modules/node-datachannel/dist/esm/polyfill/Exception.mjs +0 -28
  276. package/node_modules/node-datachannel/dist/esm/polyfill/Exception.mjs.map +0 -1
  277. package/node_modules/node-datachannel/dist/esm/polyfill/RTCCertificate.mjs +0 -30
  278. package/node_modules/node-datachannel/dist/esm/polyfill/RTCCertificate.mjs.map +0 -1
  279. package/node_modules/node-datachannel/dist/esm/polyfill/RTCDataChannel.mjs +0 -210
  280. package/node_modules/node-datachannel/dist/esm/polyfill/RTCDataChannel.mjs.map +0 -1
  281. package/node_modules/node-datachannel/dist/esm/polyfill/RTCDtlsTransport.mjs +0 -49
  282. package/node_modules/node-datachannel/dist/esm/polyfill/RTCDtlsTransport.mjs.map +0 -1
  283. package/node_modules/node-datachannel/dist/esm/polyfill/RTCError.mjs +0 -79
  284. package/node_modules/node-datachannel/dist/esm/polyfill/RTCError.mjs.map +0 -1
  285. package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceCandidate.mjs +0 -128
  286. package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceCandidate.mjs.map +0 -1
  287. package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceTransport.mjs +0 -89
  288. package/node_modules/node-datachannel/dist/esm/polyfill/RTCIceTransport.mjs.map +0 -1
  289. package/node_modules/node-datachannel/dist/esm/polyfill/RTCPeerConnection.mjs +0 -430
  290. package/node_modules/node-datachannel/dist/esm/polyfill/RTCPeerConnection.mjs.map +0 -1
  291. package/node_modules/node-datachannel/dist/esm/polyfill/RTCSctpTransport.mjs +0 -55
  292. package/node_modules/node-datachannel/dist/esm/polyfill/RTCSctpTransport.mjs.map +0 -1
  293. package/node_modules/node-datachannel/dist/esm/polyfill/RTCSessionDescription.mjs +0 -41
  294. package/node_modules/node-datachannel/dist/esm/polyfill/RTCSessionDescription.mjs.map +0 -1
  295. package/node_modules/node-datachannel/dist/esm/polyfill/index.mjs +0 -27
  296. package/node_modules/node-datachannel/dist/esm/polyfill/index.mjs.map +0 -1
  297. package/node_modules/node-datachannel/dist/types/lib/datachannel-stream.d.ts +0 -24
  298. package/node_modules/node-datachannel/dist/types/lib/index.d.ts +0 -241
  299. package/node_modules/node-datachannel/dist/types/lib/types.d.ts +0 -119
  300. package/node_modules/node-datachannel/dist/types/lib/websocket-server.d.ts +0 -13
  301. package/node_modules/node-datachannel/dist/types/lib/websocket.d.ts +0 -25
  302. package/node_modules/node-datachannel/dist/types/polyfill/Events.d.ts +0 -15
  303. package/node_modules/node-datachannel/dist/types/polyfill/RTCCertificate.d.ts +0 -9
  304. package/node_modules/node-datachannel/dist/types/polyfill/RTCDataChannel.d.ts +0 -29
  305. package/node_modules/node-datachannel/dist/types/polyfill/RTCDtlsTransport.d.ts +0 -15
  306. package/node_modules/node-datachannel/dist/types/polyfill/RTCError.d.ts +0 -17
  307. package/node_modules/node-datachannel/dist/types/polyfill/RTCIceCandidate.d.ts +0 -21
  308. package/node_modules/node-datachannel/dist/types/polyfill/RTCIceTransport.d.ts +0 -30
  309. package/node_modules/node-datachannel/dist/types/polyfill/RTCPeerConnection.d.ts +0 -64
  310. package/node_modules/node-datachannel/dist/types/polyfill/RTCSctpTransport.d.ts +0 -15
  311. package/node_modules/node-datachannel/dist/types/polyfill/RTCSessionDescription.d.ts +0 -10
  312. package/node_modules/node-datachannel/dist/types/polyfill/index.d.ts +0 -26
  313. package/node_modules/node-datachannel/jest.config.ts +0 -14
  314. package/node_modules/node-datachannel/package.json +0 -133
  315. package/node_modules/node-datachannel/rollup.config.mjs +0 -67
  316. package/node_modules/node-datachannel/src/cpp/data-channel-wrapper.cpp +0 -530
  317. package/node_modules/node-datachannel/src/cpp/data-channel-wrapper.h +0 -63
  318. package/node_modules/node-datachannel/src/cpp/ice-udp-mux-listener-wrapper.cpp +0 -172
  319. package/node_modules/node-datachannel/src/cpp/ice-udp-mux-listener-wrapper.h +0 -43
  320. package/node_modules/node-datachannel/src/cpp/main.cpp +0 -58
  321. package/node_modules/node-datachannel/src/cpp/media-audio-wrapper.cpp +0 -457
  322. package/node_modules/node-datachannel/src/cpp/media-audio-wrapper.h +0 -52
  323. package/node_modules/node-datachannel/src/cpp/media-av1packetization.cpp +0 -24
  324. package/node_modules/node-datachannel/src/cpp/media-av1packetization.h +0 -11
  325. package/node_modules/node-datachannel/src/cpp/media-av1rtppacketizer-wrapper.cpp +0 -126
  326. package/node_modules/node-datachannel/src/cpp/media-av1rtppacketizer-wrapper.h +0 -29
  327. package/node_modules/node-datachannel/src/cpp/media-direction.cpp +0 -43
  328. package/node_modules/node-datachannel/src/cpp/media-direction.h +0 -10
  329. package/node_modules/node-datachannel/src/cpp/media-h264rtppacketizer-wrapper.cpp +0 -126
  330. package/node_modules/node-datachannel/src/cpp/media-h264rtppacketizer-wrapper.h +0 -30
  331. package/node_modules/node-datachannel/src/cpp/media-h265rtppacketizer-wrapper.cpp +0 -126
  332. package/node_modules/node-datachannel/src/cpp/media-h265rtppacketizer-wrapper.h +0 -30
  333. package/node_modules/node-datachannel/src/cpp/media-h26xseparator.cpp +0 -32
  334. package/node_modules/node-datachannel/src/cpp/media-h26xseparator.h +0 -11
  335. package/node_modules/node-datachannel/src/cpp/media-mediahandler-helper.cpp +0 -31
  336. package/node_modules/node-datachannel/src/cpp/media-mediahandler-helper.h +0 -11
  337. package/node_modules/node-datachannel/src/cpp/media-pacinghandler-wrapper.cpp +0 -79
  338. package/node_modules/node-datachannel/src/cpp/media-pacinghandler-wrapper.h +0 -28
  339. package/node_modules/node-datachannel/src/cpp/media-rtcpnackresponder-wrapper.cpp +0 -68
  340. package/node_modules/node-datachannel/src/cpp/media-rtcpnackresponder-wrapper.h +0 -28
  341. package/node_modules/node-datachannel/src/cpp/media-rtcpreceivingsession-wrapper.cpp +0 -57
  342. package/node_modules/node-datachannel/src/cpp/media-rtcpreceivingsession-wrapper.h +0 -28
  343. package/node_modules/node-datachannel/src/cpp/media-rtcpsrreporter-wrapper.cpp +0 -93
  344. package/node_modules/node-datachannel/src/cpp/media-rtcpsrreporter-wrapper.h +0 -30
  345. package/node_modules/node-datachannel/src/cpp/media-rtppacketizationconfig-wrapper.cpp +0 -167
  346. package/node_modules/node-datachannel/src/cpp/media-rtppacketizationconfig-wrapper.h +0 -35
  347. package/node_modules/node-datachannel/src/cpp/media-rtppacketizer-wrapper.cpp +0 -95
  348. package/node_modules/node-datachannel/src/cpp/media-rtppacketizer-wrapper.h +0 -30
  349. package/node_modules/node-datachannel/src/cpp/media-track-wrapper.cpp +0 -458
  350. package/node_modules/node-datachannel/src/cpp/media-track-wrapper.h +0 -61
  351. package/node_modules/node-datachannel/src/cpp/media-video-wrapper.cpp +0 -526
  352. package/node_modules/node-datachannel/src/cpp/media-video-wrapper.h +0 -56
  353. package/node_modules/node-datachannel/src/cpp/peer-connection-wrapper.cpp +0 -1298
  354. package/node_modules/node-datachannel/src/cpp/peer-connection-wrapper.h +0 -89
  355. package/node_modules/node-datachannel/src/cpp/rtc-wrapper.cpp +0 -205
  356. package/node_modules/node-datachannel/src/cpp/rtc-wrapper.h +0 -24
  357. package/node_modules/node-datachannel/src/cpp/thread-safe-callback.cpp +0 -57
  358. package/node_modules/node-datachannel/src/cpp/thread-safe-callback.h +0 -47
  359. package/node_modules/node-datachannel/src/cpp/web-socket-server-wrapper.cpp +0 -275
  360. package/node_modules/node-datachannel/src/cpp/web-socket-server-wrapper.h +0 -41
  361. package/node_modules/node-datachannel/src/cpp/web-socket-wrapper.cpp +0 -796
  362. package/node_modules/node-datachannel/src/cpp/web-socket-wrapper.h +0 -63
  363. package/node_modules/node-datachannel/src/index.ts +0 -9
  364. package/node_modules/node-datachannel/src/lib/datachannel-stream.ts +0 -100
  365. package/node_modules/node-datachannel/src/lib/index.ts +0 -290
  366. package/node_modules/node-datachannel/src/lib/node-datachannel.ts +0 -84
  367. package/node_modules/node-datachannel/src/lib/types.ts +0 -169
  368. package/node_modules/node-datachannel/src/lib/websocket-server.ts +0 -37
  369. package/node_modules/node-datachannel/src/lib/websocket.ts +0 -26
  370. package/node_modules/node-datachannel/src/polyfill/Events.ts +0 -82
  371. package/node_modules/node-datachannel/src/polyfill/Exception.ts +0 -37
  372. package/node_modules/node-datachannel/src/polyfill/README.md +0 -41
  373. package/node_modules/node-datachannel/src/polyfill/RTCCertificate.ts +0 -21
  374. package/node_modules/node-datachannel/src/polyfill/RTCDataChannel.ts +0 -225
  375. package/node_modules/node-datachannel/src/polyfill/RTCDtlsTransport.ts +0 -46
  376. package/node_modules/node-datachannel/src/polyfill/RTCError.ts +0 -78
  377. package/node_modules/node-datachannel/src/polyfill/RTCIceCandidate.ts +0 -128
  378. package/node_modules/node-datachannel/src/polyfill/RTCIceTransport.ts +0 -90
  379. package/node_modules/node-datachannel/src/polyfill/RTCPeerConnection.ts +0 -527
  380. package/node_modules/node-datachannel/src/polyfill/RTCSctpTransport.ts +0 -51
  381. package/node_modules/node-datachannel/src/polyfill/RTCSessionDescription.ts +0 -41
  382. package/node_modules/node-datachannel/src/polyfill/index.ts +0 -38
  383. package/node_modules/node-datachannel/tsconfig.json +0 -21
  384. package/node_modules/p-limit/index.d.ts +0 -38
  385. package/node_modules/p-limit/index.js +0 -57
  386. package/node_modules/p-limit/license +0 -9
  387. package/node_modules/p-limit/package.json +0 -52
  388. package/node_modules/p-limit/readme.md +0 -101
  389. package/node_modules/p-locate/index.d.ts +0 -64
  390. package/node_modules/p-locate/index.js +0 -52
  391. package/node_modules/p-locate/license +0 -9
  392. package/node_modules/p-locate/package.json +0 -53
  393. package/node_modules/p-locate/readme.md +0 -90
  394. package/node_modules/p-try/index.d.ts +0 -39
  395. package/node_modules/p-try/index.js +0 -9
  396. package/node_modules/p-try/license +0 -9
  397. package/node_modules/p-try/package.json +0 -42
  398. package/node_modules/p-try/readme.md +0 -58
  399. package/node_modules/path-exists/index.d.ts +0 -28
  400. package/node_modules/path-exists/index.js +0 -23
  401. package/node_modules/path-exists/license +0 -9
  402. package/node_modules/path-exists/package.json +0 -39
  403. package/node_modules/path-exists/readme.md +0 -52
  404. package/node_modules/pngjs/.eslintignore +0 -2
  405. package/node_modules/pngjs/.eslintrc.json +0 -19
  406. package/node_modules/pngjs/.prettierignore +0 -3
  407. package/node_modules/pngjs/LICENSE +0 -20
  408. package/node_modules/pngjs/README.md +0 -429
  409. package/node_modules/pngjs/browser.js +0 -16096
  410. package/node_modules/pngjs/coverage/lcov-report/base.css +0 -354
  411. package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +0 -881
  412. package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +0 -554
  413. package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +0 -77
  414. package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +0 -647
  415. package/node_modules/pngjs/coverage/lcov-report/constants.js.html +0 -176
  416. package/node_modules/pngjs/coverage/lcov-report/crc.js.html +0 -200
  417. package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
  418. package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +0 -593
  419. package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +0 -152
  420. package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +0 -143
  421. package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +0 -611
  422. package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +0 -359
  423. package/node_modules/pngjs/coverage/lcov-report/index.html +0 -426
  424. package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +0 -365
  425. package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +0 -230
  426. package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +0 -248
  427. package/node_modules/pngjs/coverage/lcov-report/packer.js.html +0 -467
  428. package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +0 -128
  429. package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +0 -575
  430. package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +0 -404
  431. package/node_modules/pngjs/coverage/lcov-report/parser.js.html +0 -950
  432. package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +0 -116
  433. package/node_modules/pngjs/coverage/lcov-report/png.js.html +0 -662
  434. package/node_modules/pngjs/coverage/lcov-report/prettify.css +0 -101
  435. package/node_modules/pngjs/coverage/lcov-report/prettify.js +0 -1007
  436. package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  437. package/node_modules/pngjs/coverage/lcov-report/sorter.js +0 -169
  438. package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +0 -584
  439. package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +0 -215
  440. package/node_modules/pngjs/coverage/lcov.info +0 -2177
  441. package/node_modules/pngjs/lib/bitmapper.js +0 -267
  442. package/node_modules/pngjs/lib/bitpacker.js +0 -158
  443. package/node_modules/pngjs/lib/chunkstream.js +0 -189
  444. package/node_modules/pngjs/lib/constants.js +0 -32
  445. package/node_modules/pngjs/lib/crc.js +0 -40
  446. package/node_modules/pngjs/lib/filter-pack.js +0 -171
  447. package/node_modules/pngjs/lib/filter-parse-async.js +0 -24
  448. package/node_modules/pngjs/lib/filter-parse-sync.js +0 -21
  449. package/node_modules/pngjs/lib/filter-parse.js +0 -177
  450. package/node_modules/pngjs/lib/format-normaliser.js +0 -93
  451. package/node_modules/pngjs/lib/interlace.js +0 -95
  452. package/node_modules/pngjs/lib/packer-async.js +0 -50
  453. package/node_modules/pngjs/lib/packer-sync.js +0 -56
  454. package/node_modules/pngjs/lib/packer.js +0 -129
  455. package/node_modules/pngjs/lib/paeth-predictor.js +0 -16
  456. package/node_modules/pngjs/lib/parser-async.js +0 -165
  457. package/node_modules/pngjs/lib/parser-sync.js +0 -108
  458. package/node_modules/pngjs/lib/parser.js +0 -290
  459. package/node_modules/pngjs/lib/png-sync.js +0 -12
  460. package/node_modules/pngjs/lib/png.js +0 -194
  461. package/node_modules/pngjs/lib/sync-inflate.js +0 -168
  462. package/node_modules/pngjs/lib/sync-reader.js +0 -45
  463. package/node_modules/pngjs/package.json +0 -73
  464. package/node_modules/qrcode/README.md +0 -770
  465. package/node_modules/qrcode/bin/qrcode +0 -159
  466. package/node_modules/qrcode/helper/to-sjis-browser.js +0 -2
  467. package/node_modules/qrcode/helper/to-sjis.js +0 -105
  468. package/node_modules/qrcode/lib/browser.js +0 -76
  469. package/node_modules/qrcode/lib/can-promise.js +0 -7
  470. package/node_modules/qrcode/lib/core/alignment-pattern.js +0 -83
  471. package/node_modules/qrcode/lib/core/alphanumeric-data.js +0 -59
  472. package/node_modules/qrcode/lib/core/bit-buffer.js +0 -37
  473. package/node_modules/qrcode/lib/core/bit-matrix.js +0 -65
  474. package/node_modules/qrcode/lib/core/byte-data.js +0 -30
  475. package/node_modules/qrcode/lib/core/error-correction-code.js +0 -135
  476. package/node_modules/qrcode/lib/core/error-correction-level.js +0 -50
  477. package/node_modules/qrcode/lib/core/finder-pattern.js +0 -22
  478. package/node_modules/qrcode/lib/core/format-info.js +0 -29
  479. package/node_modules/qrcode/lib/core/galois-field.js +0 -69
  480. package/node_modules/qrcode/lib/core/kanji-data.js +0 -54
  481. package/node_modules/qrcode/lib/core/mask-pattern.js +0 -234
  482. package/node_modules/qrcode/lib/core/mode.js +0 -167
  483. package/node_modules/qrcode/lib/core/numeric-data.js +0 -43
  484. package/node_modules/qrcode/lib/core/polynomial.js +0 -62
  485. package/node_modules/qrcode/lib/core/qrcode.js +0 -495
  486. package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +0 -56
  487. package/node_modules/qrcode/lib/core/regex.js +0 -31
  488. package/node_modules/qrcode/lib/core/segments.js +0 -330
  489. package/node_modules/qrcode/lib/core/utils.js +0 -63
  490. package/node_modules/qrcode/lib/core/version-check.js +0 -9
  491. package/node_modules/qrcode/lib/core/version.js +0 -163
  492. package/node_modules/qrcode/lib/index.js +0 -12
  493. package/node_modules/qrcode/lib/renderer/canvas.js +0 -63
  494. package/node_modules/qrcode/lib/renderer/png.js +0 -78
  495. package/node_modules/qrcode/lib/renderer/svg-tag.js +0 -81
  496. package/node_modules/qrcode/lib/renderer/svg.js +0 -19
  497. package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +0 -85
  498. package/node_modules/qrcode/lib/renderer/terminal/terminal.js +0 -49
  499. package/node_modules/qrcode/lib/renderer/terminal.js +0 -9
  500. package/node_modules/qrcode/lib/renderer/utf8.js +0 -71
  501. package/node_modules/qrcode/lib/renderer/utils.js +0 -99
  502. package/node_modules/qrcode/lib/server.js +0 -138
  503. package/node_modules/qrcode/license +0 -10
  504. package/node_modules/qrcode/package.json +0 -77
  505. package/node_modules/require-directory/.jshintrc +0 -67
  506. package/node_modules/require-directory/.npmignore +0 -1
  507. package/node_modules/require-directory/.travis.yml +0 -3
  508. package/node_modules/require-directory/LICENSE +0 -22
  509. package/node_modules/require-directory/README.markdown +0 -184
  510. package/node_modules/require-directory/index.js +0 -86
  511. package/node_modules/require-directory/package.json +0 -40
  512. package/node_modules/require-main-filename/CHANGELOG.md +0 -26
  513. package/node_modules/require-main-filename/LICENSE.txt +0 -14
  514. package/node_modules/require-main-filename/README.md +0 -26
  515. package/node_modules/require-main-filename/index.js +0 -18
  516. package/node_modules/require-main-filename/package.json +0 -35
  517. package/node_modules/semver/LICENSE +0 -15
  518. package/node_modules/semver/README.md +0 -680
  519. package/node_modules/semver/bin/semver.js +0 -195
  520. package/node_modules/semver/classes/comparator.js +0 -143
  521. package/node_modules/semver/classes/index.js +0 -7
  522. package/node_modules/semver/classes/range.js +0 -577
  523. package/node_modules/semver/classes/semver.js +0 -350
  524. package/node_modules/semver/functions/clean.js +0 -8
  525. package/node_modules/semver/functions/cmp.js +0 -54
  526. package/node_modules/semver/functions/coerce.js +0 -62
  527. package/node_modules/semver/functions/compare-build.js +0 -9
  528. package/node_modules/semver/functions/compare-loose.js +0 -5
  529. package/node_modules/semver/functions/compare.js +0 -7
  530. package/node_modules/semver/functions/diff.js +0 -60
  531. package/node_modules/semver/functions/eq.js +0 -5
  532. package/node_modules/semver/functions/gt.js +0 -5
  533. package/node_modules/semver/functions/gte.js +0 -5
  534. package/node_modules/semver/functions/inc.js +0 -21
  535. package/node_modules/semver/functions/lt.js +0 -5
  536. package/node_modules/semver/functions/lte.js +0 -5
  537. package/node_modules/semver/functions/major.js +0 -5
  538. package/node_modules/semver/functions/minor.js +0 -5
  539. package/node_modules/semver/functions/neq.js +0 -5
  540. package/node_modules/semver/functions/parse.js +0 -18
  541. package/node_modules/semver/functions/patch.js +0 -5
  542. package/node_modules/semver/functions/prerelease.js +0 -8
  543. package/node_modules/semver/functions/rcompare.js +0 -5
  544. package/node_modules/semver/functions/rsort.js +0 -5
  545. package/node_modules/semver/functions/satisfies.js +0 -12
  546. package/node_modules/semver/functions/sort.js +0 -5
  547. package/node_modules/semver/functions/truncate.js +0 -48
  548. package/node_modules/semver/functions/valid.js +0 -8
  549. package/node_modules/semver/index.js +0 -93
  550. package/node_modules/semver/internal/constants.js +0 -37
  551. package/node_modules/semver/internal/debug.js +0 -11
  552. package/node_modules/semver/internal/identifiers.js +0 -29
  553. package/node_modules/semver/internal/lrucache.js +0 -42
  554. package/node_modules/semver/internal/parse-options.js +0 -17
  555. package/node_modules/semver/internal/re.js +0 -223
  556. package/node_modules/semver/package.json +0 -78
  557. package/node_modules/semver/preload.js +0 -4
  558. package/node_modules/semver/range.bnf +0 -17
  559. package/node_modules/semver/ranges/gtr.js +0 -6
  560. package/node_modules/semver/ranges/intersects.js +0 -9
  561. package/node_modules/semver/ranges/ltr.js +0 -6
  562. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  563. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  564. package/node_modules/semver/ranges/min-version.js +0 -63
  565. package/node_modules/semver/ranges/outside.js +0 -82
  566. package/node_modules/semver/ranges/simplify.js +0 -49
  567. package/node_modules/semver/ranges/subset.js +0 -249
  568. package/node_modules/semver/ranges/to-comparators.js +0 -10
  569. package/node_modules/semver/ranges/valid.js +0 -13
  570. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  571. package/node_modules/set-blocking/LICENSE.txt +0 -14
  572. package/node_modules/set-blocking/README.md +0 -31
  573. package/node_modules/set-blocking/index.js +0 -7
  574. package/node_modules/set-blocking/package.json +0 -42
  575. package/node_modules/sharp/LICENSE +0 -191
  576. package/node_modules/sharp/README.md +0 -112
  577. package/node_modules/sharp/dist/channel.cjs +0 -177
  578. package/node_modules/sharp/dist/channel.mjs +0 -177
  579. package/node_modules/sharp/dist/colour.cjs +0 -199
  580. package/node_modules/sharp/dist/colour.mjs +0 -199
  581. package/node_modules/sharp/dist/composite.cjs +0 -213
  582. package/node_modules/sharp/dist/composite.mjs +0 -213
  583. package/node_modules/sharp/dist/constructor.cjs +0 -511
  584. package/node_modules/sharp/dist/constructor.mjs +0 -511
  585. package/node_modules/sharp/dist/index.cjs +0 -25
  586. package/node_modules/sharp/dist/index.d.cts +0 -1999
  587. package/node_modules/sharp/dist/index.d.mts +0 -2046
  588. package/node_modules/sharp/dist/index.mjs +0 -25
  589. package/node_modules/sharp/dist/input.cjs +0 -819
  590. package/node_modules/sharp/dist/input.mjs +0 -819
  591. package/node_modules/sharp/dist/is.cjs +0 -143
  592. package/node_modules/sharp/dist/is.mjs +0 -143
  593. package/node_modules/sharp/dist/libvips.cjs +0 -212
  594. package/node_modules/sharp/dist/libvips.mjs +0 -212
  595. package/node_modules/sharp/dist/operation.cjs +0 -1002
  596. package/node_modules/sharp/dist/operation.mjs +0 -1002
  597. package/node_modules/sharp/dist/output.cjs +0 -1785
  598. package/node_modules/sharp/dist/output.mjs +0 -1785
  599. package/node_modules/sharp/dist/resize.cjs +0 -617
  600. package/node_modules/sharp/dist/resize.mjs +0 -617
  601. package/node_modules/sharp/dist/sharp.cjs +0 -174
  602. package/node_modules/sharp/dist/sharp.mjs +0 -174
  603. package/node_modules/sharp/dist/utility.cjs +0 -301
  604. package/node_modules/sharp/dist/utility.mjs +0 -301
  605. package/node_modules/sharp/install/build.js +0 -38
  606. package/node_modules/sharp/lib/index.d.ts +0 -1999
  607. package/node_modules/sharp/package.json +0 -227
  608. package/node_modules/sharp/src/binding.gyp +0 -303
  609. package/node_modules/sharp/src/common.cc +0 -1186
  610. package/node_modules/sharp/src/common.h +0 -421
  611. package/node_modules/sharp/src/metadata.cc +0 -404
  612. package/node_modules/sharp/src/metadata.h +0 -95
  613. package/node_modules/sharp/src/operations.cc +0 -516
  614. package/node_modules/sharp/src/operations.h +0 -137
  615. package/node_modules/sharp/src/pipeline.cc +0 -1948
  616. package/node_modules/sharp/src/pipeline.h +0 -422
  617. package/node_modules/sharp/src/sharp.cc +0 -43
  618. package/node_modules/sharp/src/stats.cc +0 -186
  619. package/node_modules/sharp/src/stats.h +0 -62
  620. package/node_modules/sharp/src/utilities.cc +0 -289
  621. package/node_modules/sharp/src/utilities.h +0 -22
  622. package/node_modules/string-width/index.d.ts +0 -29
  623. package/node_modules/string-width/index.js +0 -47
  624. package/node_modules/string-width/license +0 -9
  625. package/node_modules/string-width/package.json +0 -56
  626. package/node_modules/string-width/readme.md +0 -50
  627. package/node_modules/strip-ansi/index.d.ts +0 -17
  628. package/node_modules/strip-ansi/index.js +0 -4
  629. package/node_modules/strip-ansi/license +0 -9
  630. package/node_modules/strip-ansi/package.json +0 -54
  631. package/node_modules/strip-ansi/readme.md +0 -46
  632. package/node_modules/which-module/LICENSE +0 -13
  633. package/node_modules/which-module/README.md +0 -58
  634. package/node_modules/which-module/index.js +0 -9
  635. package/node_modules/which-module/package.json +0 -41
  636. package/node_modules/wrap-ansi/index.js +0 -186
  637. package/node_modules/wrap-ansi/license +0 -9
  638. package/node_modules/wrap-ansi/package.json +0 -61
  639. package/node_modules/wrap-ansi/readme.md +0 -97
  640. package/node_modules/ws/LICENSE +0 -20
  641. package/node_modules/ws/README.md +0 -548
  642. package/node_modules/ws/browser.js +0 -8
  643. package/node_modules/ws/index.js +0 -22
  644. package/node_modules/ws/lib/buffer-util.js +0 -131
  645. package/node_modules/ws/lib/constants.js +0 -19
  646. package/node_modules/ws/lib/event-target.js +0 -292
  647. package/node_modules/ws/lib/extension.js +0 -203
  648. package/node_modules/ws/lib/limiter.js +0 -55
  649. package/node_modules/ws/lib/permessage-deflate.js +0 -530
  650. package/node_modules/ws/lib/receiver.js +0 -743
  651. package/node_modules/ws/lib/sender.js +0 -607
  652. package/node_modules/ws/lib/stream.js +0 -161
  653. package/node_modules/ws/lib/subprotocol.js +0 -62
  654. package/node_modules/ws/lib/validation.js +0 -152
  655. package/node_modules/ws/lib/websocket-server.js +0 -562
  656. package/node_modules/ws/lib/websocket.js +0 -1407
  657. package/node_modules/ws/package.json +0 -74
  658. package/node_modules/ws/wrapper.mjs +0 -21
  659. package/node_modules/y18n/CHANGELOG.md +0 -35
  660. package/node_modules/y18n/LICENSE +0 -13
  661. package/node_modules/y18n/README.md +0 -109
  662. package/node_modules/y18n/index.js +0 -188
  663. package/node_modules/y18n/package.json +0 -39
  664. package/node_modules/yargs/CHANGELOG.md +0 -420
  665. package/node_modules/yargs/LICENSE +0 -21
  666. package/node_modules/yargs/README.md +0 -140
  667. package/node_modules/yargs/build/lib/apply-extends.d.ts +0 -2
  668. package/node_modules/yargs/build/lib/apply-extends.js +0 -65
  669. package/node_modules/yargs/build/lib/argsert.d.ts +0 -2
  670. package/node_modules/yargs/build/lib/argsert.js +0 -65
  671. package/node_modules/yargs/build/lib/command.d.ts +0 -64
  672. package/node_modules/yargs/build/lib/command.js +0 -416
  673. package/node_modules/yargs/build/lib/common-types.d.ts +0 -36
  674. package/node_modules/yargs/build/lib/common-types.js +0 -25
  675. package/node_modules/yargs/build/lib/completion-templates.d.ts +0 -2
  676. package/node_modules/yargs/build/lib/completion-templates.js +0 -50
  677. package/node_modules/yargs/build/lib/completion.d.ts +0 -21
  678. package/node_modules/yargs/build/lib/completion.js +0 -135
  679. package/node_modules/yargs/build/lib/is-promise.d.ts +0 -1
  680. package/node_modules/yargs/build/lib/is-promise.js +0 -9
  681. package/node_modules/yargs/build/lib/levenshtein.d.ts +0 -1
  682. package/node_modules/yargs/build/lib/levenshtein.js +0 -58
  683. package/node_modules/yargs/build/lib/middleware.d.ts +0 -10
  684. package/node_modules/yargs/build/lib/middleware.js +0 -57
  685. package/node_modules/yargs/build/lib/obj-filter.d.ts +0 -1
  686. package/node_modules/yargs/build/lib/obj-filter.js +0 -14
  687. package/node_modules/yargs/build/lib/parse-command.d.ts +0 -11
  688. package/node_modules/yargs/build/lib/parse-command.js +0 -36
  689. package/node_modules/yargs/build/lib/process-argv.d.ts +0 -2
  690. package/node_modules/yargs/build/lib/process-argv.js +0 -31
  691. package/node_modules/yargs/build/lib/usage.d.ts +0 -49
  692. package/node_modules/yargs/build/lib/usage.js +0 -540
  693. package/node_modules/yargs/build/lib/validation.d.ts +0 -34
  694. package/node_modules/yargs/build/lib/validation.js +0 -330
  695. package/node_modules/yargs/build/lib/yargs.d.ts +0 -274
  696. package/node_modules/yargs/build/lib/yargs.js +0 -1190
  697. package/node_modules/yargs/build/lib/yerror.d.ts +0 -4
  698. package/node_modules/yargs/build/lib/yerror.js +0 -11
  699. package/node_modules/yargs/index.js +0 -40
  700. package/node_modules/yargs/locales/be.json +0 -46
  701. package/node_modules/yargs/locales/de.json +0 -46
  702. package/node_modules/yargs/locales/en.json +0 -51
  703. package/node_modules/yargs/locales/es.json +0 -46
  704. package/node_modules/yargs/locales/fi.json +0 -49
  705. package/node_modules/yargs/locales/fr.json +0 -53
  706. package/node_modules/yargs/locales/hi.json +0 -49
  707. package/node_modules/yargs/locales/hu.json +0 -46
  708. package/node_modules/yargs/locales/id.json +0 -50
  709. package/node_modules/yargs/locales/it.json +0 -46
  710. package/node_modules/yargs/locales/ja.json +0 -51
  711. package/node_modules/yargs/locales/ko.json +0 -49
  712. package/node_modules/yargs/locales/nb.json +0 -44
  713. package/node_modules/yargs/locales/nl.json +0 -49
  714. package/node_modules/yargs/locales/nn.json +0 -44
  715. package/node_modules/yargs/locales/pirate.json +0 -13
  716. package/node_modules/yargs/locales/pl.json +0 -49
  717. package/node_modules/yargs/locales/pt.json +0 -45
  718. package/node_modules/yargs/locales/pt_BR.json +0 -48
  719. package/node_modules/yargs/locales/ru.json +0 -46
  720. package/node_modules/yargs/locales/th.json +0 -46
  721. package/node_modules/yargs/locales/tr.json +0 -48
  722. package/node_modules/yargs/locales/zh_CN.json +0 -48
  723. package/node_modules/yargs/locales/zh_TW.json +0 -47
  724. package/node_modules/yargs/package.json +0 -92
  725. package/node_modules/yargs/yargs.js +0 -14
  726. package/node_modules/yargs-parser/CHANGELOG.md +0 -601
  727. package/node_modules/yargs-parser/LICENSE.txt +0 -14
  728. package/node_modules/yargs-parser/README.md +0 -449
  729. package/node_modules/yargs-parser/index.js +0 -1032
  730. package/node_modules/yargs-parser/lib/tokenize-arg-string.js +0 -40
  731. package/node_modules/yargs-parser/package.json +0 -46
@@ -1,83 +1,83 @@
1
- param([string]$NodePath, [string]$Entry, [ValidateSet('enable','disable','status')][string]$Action='status')
2
- $ErrorActionPreference = 'Stop'
3
- [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
4
-
5
- $taskName = 'Code Relax 桌面服务'
6
- $legacyTaskName = 'Code Relax Bridge'
7
- $taskSource = '@walkhi/code-relax'
8
- $taskPath = '\' + $taskName
9
- $launcher = Join-Path $PSScriptRoot 'resident-start.js'
10
- $wscript = Join-Path $env:WINDIR 'System32\wscript.exe'
11
- $arguments = '//B //Nologo "' + $launcher + '" "' + $NodePath + '" "' + $Entry + '"'
12
- $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
13
-
14
- $scheduler = New-Object -ComObject 'Schedule.Service'
15
- $scheduler.Connect()
16
- $root = $scheduler.GetFolder('\')
17
- $registered = @($root.GetTasks(1) | Where-Object { $_.Name -eq $taskName } | Select-Object -First 1)
18
- $legacyRegistered = @($root.GetTasks(1) | Where-Object { $_.Name -eq $legacyTaskName } | Select-Object -First 1)
19
- if ($registered.Count -gt 0 -and $registered[0].Definition.RegistrationInfo.Source -ne $taskSource) {
20
- throw 'Scheduled task is not owned by this installation.'
21
- }
22
- if ($legacyRegistered.Count -gt 0 -and $legacyRegistered[0].Definition.RegistrationInfo.Source -ne $taskSource) {
23
- throw 'Legacy scheduled task is not owned by this installation.'
24
- }
25
-
26
- # Remove only the legacy shortcut created by this package. A Startup LNK that
27
- # launches hidden PowerShell with ExecutionPolicy Bypass triggers AV heuristics.
28
- $shell = New-Object -ComObject WScript.Shell
29
- $legacyPath = Join-Path $shell.SpecialFolders.Item('Startup') 'Code Relax Bridge.lnk'
30
- $legacyLauncher = Join-Path $PSScriptRoot 'resident-start.ps1'
31
- $legacyExists = Test-Path -LiteralPath $legacyPath
32
- if ($Action -ne 'status' -and $legacyExists) {
33
- $legacy = $shell.CreateShortcut($legacyPath)
34
- if (-not $legacy.Arguments.Contains('"' + $legacyLauncher + '"')) {
35
- throw 'Legacy startup shortcut is not owned by this installation.'
36
- }
37
- }
38
-
39
- if ($Action -eq 'enable') {
40
- if (-not (Test-Path -LiteralPath $NodePath) -or -not (Test-Path -LiteralPath $Entry) -or
41
- -not (Test-Path -LiteralPath $launcher) -or -not (Test-Path -LiteralPath $wscript)) { throw 'Installed runtime is missing.' }
42
- $definition = $scheduler.NewTask(0)
43
- $definition.RegistrationInfo.Description = 'Start the Code Relax desktop service when this user signs in.'
44
- $definition.RegistrationInfo.Source = $taskSource
45
- $definition.Principal.UserId = $currentUser
46
- $definition.Principal.LogonType = 3 # TASK_LOGON_INTERACTIVE_TOKEN
47
- $definition.Principal.RunLevel = 0 # TASK_RUNLEVEL_LUA
48
- $definition.Settings.Enabled = $true
49
- $definition.Settings.Hidden = $true
50
- $definition.Settings.StartWhenAvailable = $true
51
- $definition.Settings.DisallowStartIfOnBatteries = $false
52
- $definition.Settings.StopIfGoingOnBatteries = $false
53
- $definition.Settings.ExecutionTimeLimit = 'PT5M'
54
- $definition.Settings.MultipleInstances = 2 # TASK_INSTANCES_IGNORE_NEW
55
- $trigger = $definition.Triggers.Create(9) # TASK_TRIGGER_LOGON
56
- $trigger.UserId = $currentUser
57
- $trigger.Enabled = $true
58
- $exec = $definition.Actions.Create(0) # TASK_ACTION_EXEC
59
- $exec.Path = $wscript
60
- $exec.Arguments = $arguments
61
- $exec.WorkingDirectory = $env:USERPROFILE
62
- [void]$root.RegisterTaskDefinition($taskName, $definition, 6, $null, $null, 3, $null) # TASK_CREATE_OR_UPDATE
63
- if ($legacyRegistered.Count -gt 0) { $root.DeleteTask($legacyTaskName, 0) }
64
- } elseif ($Action -eq 'disable') {
65
- if ($registered.Count -gt 0) { $root.DeleteTask($taskName, 0) }
66
- if ($legacyRegistered.Count -gt 0) { $root.DeleteTask($legacyTaskName, 0) }
67
- }
68
- if ($Action -ne 'status' -and $legacyExists) { Remove-Item -LiteralPath $legacyPath }
69
-
70
- $active = @($root.GetTasks(1) | Where-Object { $_.Name -eq $taskName } | Select-Object -First 1)
71
- $taskEnabled = $active.Count -gt 0 -and $active[0].Enabled
72
- $taskCurrent = $false
73
- if ($taskEnabled) {
74
- $taskAction = $active[0].Definition.Actions.Item(1)
75
- $taskCurrent = $taskAction.Path -ieq $wscript -and $taskAction.Arguments -ieq $arguments
76
- }
77
- @{
78
- enabled=($taskCurrent -and $legacyRegistered.Count -eq 0)
79
- taskPresent=$taskEnabled
80
- path=$(if ($taskEnabled) { 'Task Scheduler:' + $taskPath } elseif ($legacyRegistered.Count -gt 0) { 'Task Scheduler:\' + $legacyTaskName } elseif ($legacyExists) { $legacyPath } else { 'Task Scheduler:' + $taskPath })
81
- scope='current-user-logon'
82
- mechanism=$(if ($taskCurrent -and $legacyRegistered.Count -eq 0) { 'task-scheduler' } elseif ($taskEnabled -or $legacyRegistered.Count -gt 0) { 'stale-task-scheduler' } elseif ($legacyExists) { 'legacy-startup-shortcut' } else { 'task-scheduler' })
83
- } | ConvertTo-Json -Compress
1
+ param([string]$NodePath, [string]$Entry, [ValidateSet('enable','disable','status')][string]$Action='status')
2
+ $ErrorActionPreference = 'Stop'
3
+ [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
4
+
5
+ $taskName = 'Code Relax 桌面服务'
6
+ $legacyTaskName = 'Code Relax Bridge'
7
+ $taskSource = '@walkhi/code-relax'
8
+ $taskPath = '\' + $taskName
9
+ $launcher = Join-Path $PSScriptRoot 'resident-start.js'
10
+ $wscript = Join-Path $env:WINDIR 'System32\wscript.exe'
11
+ $arguments = '//B //Nologo "' + $launcher + '" "' + $NodePath + '" "' + $Entry + '"'
12
+ $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
13
+
14
+ $scheduler = New-Object -ComObject 'Schedule.Service'
15
+ $scheduler.Connect()
16
+ $root = $scheduler.GetFolder('\')
17
+ $registered = @($root.GetTasks(1) | Where-Object { $_.Name -eq $taskName } | Select-Object -First 1)
18
+ $legacyRegistered = @($root.GetTasks(1) | Where-Object { $_.Name -eq $legacyTaskName } | Select-Object -First 1)
19
+ if ($registered.Count -gt 0 -and $registered[0].Definition.RegistrationInfo.Source -ne $taskSource) {
20
+ throw 'Scheduled task is not owned by this installation.'
21
+ }
22
+ if ($legacyRegistered.Count -gt 0 -and $legacyRegistered[0].Definition.RegistrationInfo.Source -ne $taskSource) {
23
+ throw 'Legacy scheduled task is not owned by this installation.'
24
+ }
25
+
26
+ # Remove only the legacy shortcut created by this package. A Startup LNK that
27
+ # launches hidden PowerShell with ExecutionPolicy Bypass triggers AV heuristics.
28
+ $shell = New-Object -ComObject WScript.Shell
29
+ $legacyPath = Join-Path $shell.SpecialFolders.Item('Startup') 'Code Relax Bridge.lnk'
30
+ $legacyLauncher = Join-Path $PSScriptRoot 'resident-start.ps1'
31
+ $legacyExists = Test-Path -LiteralPath $legacyPath
32
+ if ($Action -ne 'status' -and $legacyExists) {
33
+ $legacy = $shell.CreateShortcut($legacyPath)
34
+ if (-not $legacy.Arguments.Contains('"' + $legacyLauncher + '"')) {
35
+ throw 'Legacy startup shortcut is not owned by this installation.'
36
+ }
37
+ }
38
+
39
+ if ($Action -eq 'enable') {
40
+ if (-not (Test-Path -LiteralPath $NodePath) -or -not (Test-Path -LiteralPath $Entry) -or
41
+ -not (Test-Path -LiteralPath $launcher) -or -not (Test-Path -LiteralPath $wscript)) { throw 'Installed runtime is missing.' }
42
+ $definition = $scheduler.NewTask(0)
43
+ $definition.RegistrationInfo.Description = 'Start the Code Relax desktop service when this user signs in.'
44
+ $definition.RegistrationInfo.Source = $taskSource
45
+ $definition.Principal.UserId = $currentUser
46
+ $definition.Principal.LogonType = 3 # TASK_LOGON_INTERACTIVE_TOKEN
47
+ $definition.Principal.RunLevel = 0 # TASK_RUNLEVEL_LUA
48
+ $definition.Settings.Enabled = $true
49
+ $definition.Settings.Hidden = $true
50
+ $definition.Settings.StartWhenAvailable = $true
51
+ $definition.Settings.DisallowStartIfOnBatteries = $false
52
+ $definition.Settings.StopIfGoingOnBatteries = $false
53
+ $definition.Settings.ExecutionTimeLimit = 'PT5M'
54
+ $definition.Settings.MultipleInstances = 2 # TASK_INSTANCES_IGNORE_NEW
55
+ $trigger = $definition.Triggers.Create(9) # TASK_TRIGGER_LOGON
56
+ $trigger.UserId = $currentUser
57
+ $trigger.Enabled = $true
58
+ $exec = $definition.Actions.Create(0) # TASK_ACTION_EXEC
59
+ $exec.Path = $wscript
60
+ $exec.Arguments = $arguments
61
+ $exec.WorkingDirectory = $env:USERPROFILE
62
+ [void]$root.RegisterTaskDefinition($taskName, $definition, 6, $null, $null, 3, $null) # TASK_CREATE_OR_UPDATE
63
+ if ($legacyRegistered.Count -gt 0) { $root.DeleteTask($legacyTaskName, 0) }
64
+ } elseif ($Action -eq 'disable') {
65
+ if ($registered.Count -gt 0) { $root.DeleteTask($taskName, 0) }
66
+ if ($legacyRegistered.Count -gt 0) { $root.DeleteTask($legacyTaskName, 0) }
67
+ }
68
+ if ($Action -ne 'status' -and $legacyExists) { Remove-Item -LiteralPath $legacyPath }
69
+
70
+ $active = @($root.GetTasks(1) | Where-Object { $_.Name -eq $taskName } | Select-Object -First 1)
71
+ $taskEnabled = $active.Count -gt 0 -and $active[0].Enabled
72
+ $taskCurrent = $false
73
+ if ($taskEnabled) {
74
+ $taskAction = $active[0].Definition.Actions.Item(1)
75
+ $taskCurrent = $taskAction.Path -ieq $wscript -and $taskAction.Arguments -ieq $arguments
76
+ }
77
+ @{
78
+ enabled=($taskCurrent -and $legacyRegistered.Count -eq 0)
79
+ taskPresent=$taskEnabled
80
+ path=$(if ($taskEnabled) { 'Task Scheduler:' + $taskPath } elseif ($legacyRegistered.Count -gt 0) { 'Task Scheduler:\' + $legacyTaskName } elseif ($legacyExists) { $legacyPath } else { 'Task Scheduler:' + $taskPath })
81
+ scope='current-user-logon'
82
+ mechanism=$(if ($taskCurrent -and $legacyRegistered.Count -eq 0) { 'task-scheduler' } elseif ($taskEnabled -or $legacyRegistered.Count -gt 0) { 'stale-task-scheduler' } elseif ($legacyExists) { 'legacy-startup-shortcut' } else { 'task-scheduler' })
83
+ } | ConvertTo-Json -Compress
@@ -1,14 +1,14 @@
1
- param([Parameter(Mandatory=$true)][string]$StateRoot)
2
- $ErrorActionPreference='Stop'
3
- [Console]::OutputEncoding=New-Object Text.UTF8Encoding($false)
4
- Add-Type -Path (Join-Path $PSScriptRoot 'IsolatedProcess.cs')
5
- New-Item -ItemType Directory -Path $StateRoot -Force | Out-Null
6
- $anchor=Join-Path $StateRoot 'bridge-config.json'
7
- $temporary=$false
8
- if(-not(Test-Path -LiteralPath $anchor)) {
9
- $anchor=Join-Path $StateRoot ('.state-path-'+[Guid]::NewGuid().ToString()+'.tmp')
10
- Set-Content -LiteralPath $anchor -Value 'path-resolution' -Encoding ASCII
11
- $temporary=$true
12
- }
13
- try { [IO.Path]::GetDirectoryName([IsolatedProcess]::ResolvePath($anchor)) }
14
- finally { if($temporary){Remove-Item -LiteralPath $anchor} }
1
+ param([Parameter(Mandatory=$true)][string]$StateRoot)
2
+ $ErrorActionPreference='Stop'
3
+ [Console]::OutputEncoding=New-Object Text.UTF8Encoding($false)
4
+ Add-Type -Path (Join-Path $PSScriptRoot 'IsolatedProcess.cs')
5
+ New-Item -ItemType Directory -Path $StateRoot -Force | Out-Null
6
+ $anchor=Join-Path $StateRoot 'bridge-config.json'
7
+ $temporary=$false
8
+ if(-not(Test-Path -LiteralPath $anchor)) {
9
+ $anchor=Join-Path $StateRoot ('.state-path-'+[Guid]::NewGuid().ToString()+'.tmp')
10
+ Set-Content -LiteralPath $anchor -Value 'path-resolution' -Encoding ASCII
11
+ $temporary=$true
12
+ }
13
+ try { [IO.Path]::GetDirectoryName([IsolatedProcess]::ResolvePath($anchor)) }
14
+ finally { if($temporary){Remove-Item -LiteralPath $anchor} }
@@ -1,20 +1,20 @@
1
- import os from 'node:os';
2
- import path from 'node:path';
3
- import fs from 'node:fs';
4
-
5
- // Windows host data locations. Keep existing paths and historical attachments.
6
- export function runtimePaths(environment = process.env, home = os.homedir()) {
7
- const codexDataRoot = environment.CODEX_HOME?.trim() || path.join(home, '.codex');
8
- const serviceRoot = path.join(environment.LOCALAPPDATA || path.join(home, 'AppData', 'Local'), 'Programs', 'CodexRemote', 'service');
9
- let installed;
10
- try { installed = JSON.parse(fs.readFileSync(path.join(serviceRoot, 'installation.json'), 'utf8').replace(/^\uFEFF/, '')); }
11
- catch (error) { if (error.code !== 'ENOENT') throw error; }
12
- return {
13
- codexDataRoot,
14
- sessionsRoot: path.join(codexDataRoot, 'sessions'),
15
- stateRoot: installed?.stateRoot || path.join(environment.LOCALAPPDATA || path.join(home, 'AppData', 'Local'), 'CodexRemote'),
16
- serviceRoot,
17
- uploadsRoot: path.join(environment.ProgramData || 'C:\\ProgramData', 'CodexRemote', 'attachments'),
18
- credentialsRoot: path.join(environment.ProgramData || 'C:\\ProgramData', 'CodexRemote', 'credentials'),
19
- };
20
- }
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ import fs from 'node:fs';
4
+
5
+ // Windows host data locations. Keep existing paths and historical attachments.
6
+ export function runtimePaths(environment = process.env, home = os.homedir()) {
7
+ const codexDataRoot = environment.CODEX_HOME?.trim() || path.join(home, '.codex');
8
+ const serviceRoot = path.join(environment.LOCALAPPDATA || path.join(home, 'AppData', 'Local'), 'Programs', 'CodexRemote', 'service');
9
+ let installed;
10
+ try { installed = JSON.parse(fs.readFileSync(path.join(serviceRoot, 'installation.json'), 'utf8').replace(/^\uFEFF/, '')); }
11
+ catch (error) { if (error.code !== 'ENOENT') throw error; }
12
+ return {
13
+ codexDataRoot,
14
+ sessionsRoot: path.join(codexDataRoot, 'sessions'),
15
+ stateRoot: installed?.stateRoot || path.join(environment.LOCALAPPDATA || path.join(home, 'AppData', 'Local'), 'CodexRemote'),
16
+ serviceRoot,
17
+ uploadsRoot: path.join(environment.ProgramData || 'C:\\ProgramData', 'CodexRemote', 'attachments'),
18
+ credentialsRoot: path.join(environment.ProgramData || 'C:\\ProgramData', 'CodexRemote', 'credentials'),
19
+ };
20
+ }
@@ -0,0 +1,168 @@
1
+ import crypto from 'node:crypto';
2
+ import fs from 'node:fs';
3
+ import net from 'node:net';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
6
+ import { spawn } from 'node:child_process';
7
+ import { brotliDecompressSync } from 'node:zlib';
8
+
9
+ export const RUSTDESK_PROBE_HOST_SHA256 = '8555777215510d83d2d61c9dc984e4fcc838bd7e79f9d18a42585431f5e8bb47';
10
+ const leaseMs = 60_000;
11
+ const pause = ms => new Promise(resolve => setTimeout(resolve, ms));
12
+ const failure = code => Object.assign(new Error('桌面视频测试尚未就绪'), { code, statusCode: 503 });
13
+
14
+ // The official EXE is a launcher. Extract its verified Brotli payload into our
15
+ // own runtime directory and launch the actual process, so leases own its PID.
16
+ export function prepareRustDeskProbeHost(root) {
17
+ const bytes = fs.readFileSync(path.join(root, 'rustdesk-1.5.0-x86_64.exe'));
18
+ if (crypto.createHash('sha256').update(bytes).digest('hex') !== RUSTDESK_PROBE_HOST_SHA256) throw failure('desktop_video_host_hash');
19
+ const magic = Buffer.from('rustdesk'), decoder = new TextDecoder('utf-8', { fatal: true });
20
+ let search = 0, entries;
21
+ while (search < bytes.length) {
22
+ const at = bytes.indexOf(magic, search); if (at < 0) break; search = at + magic.length;
23
+ try {
24
+ let offset = at + magic.length; const files = [];
25
+ while (!bytes.subarray(offset, offset + magic.length).equals(magic)) {
26
+ const length = bytes.readUInt32BE(offset); offset += 4;
27
+ if (length < 1 || length > 512) throw new Error('payload');
28
+ const name = decoder.decode(bytes.subarray(offset, offset + length)).replaceAll('\\', '/'); offset += length;
29
+ if (/[\x00-\x1f]/.test(name) || path.posix.isAbsolute(name) || name.includes(':') || name.split('/').includes('..')) throw new Error('payload_path');
30
+ const size = bytes.readUInt32BE(offset); offset += 4;
31
+ if (size < 1 || offset + size + 32 > bytes.length) throw new Error('payload');
32
+ const data = bytes.subarray(offset, offset + size); offset += size;
33
+ const md5 = bytes.subarray(offset, offset + 32).toString(); offset += 32;
34
+ if (!/^[a-f0-9]{32}$/.test(md5)) throw new Error('payload');
35
+ files.push({ name: path.posix.normalize(name), data, md5 });
36
+ if (files.length > 5000) throw new Error('payload');
37
+ }
38
+ if (files.length !== 104 || !files.some(file => file.name === 'rustdesk.exe')) continue;
39
+ const suffix = Buffer.from('.\\rustdesk.exe');
40
+ if (!bytes.subarray(offset + 8, offset + 8 + suffix.length).equals(suffix)) continue;
41
+ entries = files; break;
42
+ } catch { /* Non-payload occurrences of the ASCII magic are expected in PE strings. */ }
43
+ }
44
+ if (!entries) throw failure('desktop_video_host_payload');
45
+ const runtime = path.resolve(root, 'runtime');
46
+ for (const file of entries) {
47
+ const target = path.resolve(runtime, file.name);
48
+ if (!target.startsWith(runtime + path.sep)) throw failure('desktop_video_host_path');
49
+ let existing;
50
+ try { existing = crypto.createHash('md5').update(fs.readFileSync(target)).digest('hex'); } catch {}
51
+ if (existing === file.md5) continue;
52
+ const data = brotliDecompressSync(file.data, { maxOutputLength: 128 * 1024 * 1024 });
53
+ if (crypto.createHash('md5').update(data).digest('hex') !== file.md5) throw failure('desktop_video_host_payload');
54
+ fs.mkdirSync(path.dirname(target), { recursive: true }); fs.writeFileSync(target, data);
55
+ }
56
+ return path.join(runtime, 'rustdesk.exe');
57
+ }
58
+
59
+ // A read-only, LAN-only prototype. The normal desktop helper and input path are independent.
60
+ export class RustDeskVideoProbe {
61
+ constructor({ stateRoot, appData = process.env.APPDATA, platform = process.platform } = {}) {
62
+ this.platform = platform;
63
+ this.root = path.join(stateRoot, 'desktop-video-probe');
64
+ this.configRoot = path.join(appData || os.tmpdir(), 'RustDesk', 'config');
65
+ this.process = null; this.lease = null; this.timer = null; this.starting = false; this.stopped = Promise.resolve(); this.preparedExecutable = null;
66
+ }
67
+ configuration(port, password) {
68
+ const options = {
69
+ 'direct-server': 'Y', 'direct-access-port': String(port),
70
+ 'custom-rendezvous-server': '127.0.0.1:9', 'relay-server': '127.0.0.1:9', 'api-server': 'http://127.0.0.1:9',
71
+ 'enable-hwcodec': 'N', 'access-mode': 'view', 'approve-mode': 'password', 'verification-method': 'use-permanent-password',
72
+ 'enable-keyboard': 'N', 'enable-clipboard': 'N', 'enable-file-transfer': 'N', 'enable-audio': 'N',
73
+ 'enable-tunnel': 'N', 'enable-terminal': 'N', 'enable-record-session': 'N',
74
+ 'allow-auto-record-incoming': 'N', 'allow-auto-record-outgoing': 'N'
75
+ };
76
+ return {
77
+ main: `password = '${password}'\nsalt = '${crypto.randomBytes(16).toString('hex')}'\n`,
78
+ secondary: "rendezvous_server = '127.0.0.1:9'\n\n[options]\n" + Object.entries(options).map(([key, value]) => `${key} = '${value}'`).join('\n') + '\n'
79
+ };
80
+ }
81
+ async begin() {
82
+ if (this.platform !== 'win32') throw failure('desktop_video_platform');
83
+ if (this.starting || this.lease) throw failure('desktop_video_busy');
84
+ this.starting = true;
85
+ try {
86
+ await this.stopped;
87
+ const executable = path.join(this.root, 'rustdesk-1.5.0-x86_64.exe');
88
+ let binary;
89
+ try { binary = fs.readFileSync(executable); } catch { throw failure('desktop_video_host_missing'); }
90
+ if (crypto.createHash('sha256').update(binary).digest('hex') !== RUSTDESK_PROBE_HOST_SHA256) throw failure('desktop_video_host_hash');
91
+ const ownerFile = path.join(this.root, 'config-owner.json');
92
+ let owner;
93
+ try { owner = JSON.parse(fs.readFileSync(ownerFile, 'utf8')); } catch {}
94
+ const entries = fs.existsSync(this.configRoot) ? fs.readdirSync(this.configRoot) : [];
95
+ if (entries.length && (owner?.configRoot !== this.configRoot || !owner.hashes
96
+ || JSON.stringify(owner.hashes) !== JSON.stringify(this.configHashes()))) throw failure('desktop_video_existing_rustdesk');
97
+ const port = await new Promise((resolve, reject) => {
98
+ const server = net.createServer(); server.once('error', reject);
99
+ server.listen(0, '127.0.0.1', () => { const port = server.address().port; server.close(error => error ? reject(error) : resolve(port)); });
100
+ });
101
+ const actualExecutable = this.preparedExecutable ||= prepareRustDeskProbeHost(this.root);
102
+ const password = crypto.randomBytes(24).toString('hex'), leaseId = crypto.randomBytes(16).toString('hex');
103
+ const config = this.configuration(port, password);
104
+ fs.mkdirSync(this.root, { recursive: true, mode: 0o700 });
105
+ fs.mkdirSync(this.configRoot, { recursive: true, mode: 0o700 });
106
+ fs.writeFileSync(path.join(this.configRoot, 'RustDesk.toml'), config.main, { mode: 0o600 });
107
+ fs.writeFileSync(path.join(this.configRoot, 'RustDesk2.toml'), config.secondary, { mode: 0o600 });
108
+ this.saveOwner();
109
+ this.process = spawn(actualExecutable, ['--server'], { cwd: path.dirname(actualExecutable),
110
+ env: { ...process.env, RUSTDESK_APPNAME: 'rustdesk-1.5.0-x86_64.exe' }, windowsHide: true, stdio: 'ignore' });
111
+ const child = this.process; let launchError = false;
112
+ console.info(JSON.stringify({ event: 'desktop-video-host', stage: 'spawn', pid: child.pid }));
113
+ this.stopped = new Promise(resolve => {
114
+ let ended = false;
115
+ const finished = () => {
116
+ console.info(JSON.stringify({ event: 'desktop-video-host', stage: 'exit', pid: child.pid, code: child.exitCode }));
117
+ if (ended) return; ended = true;
118
+ try { this.saveOwner(); } catch { console.error(JSON.stringify({ event: 'desktop-video-owner', state: 'failed' })); }
119
+ if (this.process === child) { clearTimeout(this.timer); this.process = null; this.lease = null; }
120
+ resolve();
121
+ };
122
+ child.once('error', () => { launchError = true; finished(); });
123
+ child.once('exit', finished);
124
+ });
125
+ const deadline = Date.now() + 8_000;
126
+ let ready = false;
127
+ while (Date.now() < deadline && child.exitCode === null && !launchError) {
128
+ ready = await new Promise(resolve => {
129
+ const socket = net.connect({ host: '127.0.0.1', port });
130
+ let settled = false;
131
+ const finish = value => { if (settled) return; settled = true; socket.destroy(); resolve(value); };
132
+ socket.once('connect', () => finish(true)); socket.once('error', () => finish(false)); socket.setTimeout(300, () => finish(false));
133
+ });
134
+ if (ready) break;
135
+ await pause(150);
136
+ }
137
+ if (!ready) throw failure('desktop_video_host_start');
138
+ this.lease = { leaseId, password, port, codec: 'vp9', fps: 5, viewOnly: true };
139
+ console.info(JSON.stringify({ event: 'desktop-video-host', stage: 'ready', pid: child.pid }));
140
+ this.renew(leaseId);
141
+ return { ...this.lease, engine: 'rustdesk-probe', expiresInMs: leaseMs };
142
+ } catch (error) { this.stop(); throw error; }
143
+ finally { this.starting = false; }
144
+ }
145
+ configHashes() {
146
+ return ['RustDesk.toml', 'RustDesk2.toml'].map(name => {
147
+ try { return crypto.createHash('sha256').update(fs.readFileSync(path.join(this.configRoot, name))).digest('hex'); }
148
+ catch { return ''; }
149
+ });
150
+ }
151
+ saveOwner() {
152
+ fs.writeFileSync(path.join(this.root, 'config-owner.json'), JSON.stringify({ configRoot: this.configRoot, hashes: this.configHashes() }), { mode: 0o600 });
153
+ }
154
+ renew(leaseId) {
155
+ if (!this.lease || leaseId !== this.lease.leaseId) throw failure('desktop_video_lease');
156
+ clearTimeout(this.timer); this.timer = setTimeout(() => this.stop(), leaseMs); this.timer.unref();
157
+ return { active: true, expiresInMs: leaseMs };
158
+ }
159
+ release(leaseId) {
160
+ if (this.lease?.leaseId === leaseId) this.stop();
161
+ return { released: true };
162
+ }
163
+ stop() {
164
+ clearTimeout(this.timer); this.timer = null;
165
+ const child = this.process; this.process = null; this.lease = null;
166
+ if (child && child.exitCode === null) child.kill();
167
+ }
168
+ }
@@ -3,9 +3,9 @@ import { promisify } from 'node:util';
3
3
  import path from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import fs from 'node:fs';
6
- import { runtimePaths } from './runtime-paths.mjs';
7
- import { readRecord } from '../../service-lifecycle.mjs';
8
- import { lanNetworks } from './network-info.mjs';
6
+ import { runtimePaths } from './runtime-paths.mjs';
7
+ import { readRecord } from '../../service-lifecycle.mjs';
8
+ import { lanNetworks } from './network-info.mjs';
9
9
 
10
10
  const exec = promisify(execFile);
11
11
  const bridgeRoot = fileURLToPath(new URL('../../../', import.meta.url));
@@ -17,15 +17,15 @@ async function detect(script) {
17
17
  }
18
18
 
19
19
  // Windows-only network metadata stays here, outside the lifecycle implementation.
20
- export const sharedServiceUrl = () => detect('get-shared-service-url.ps1');
21
- export const lanAddress = async () => (await lanNetworks())[0]?.address || '';
22
- export { lanNetworks };
23
- export async function bridgeEnvironment() {
24
- const environment = { ...process.env };
25
- const installation = readRecord(path.join(runtimePaths(environment).serviceRoot, 'installation.json'));
20
+ export const sharedServiceUrl = () => detect('get-shared-service-url.ps1');
21
+ export const lanAddress = async () => (await lanNetworks())[0]?.address || '';
22
+ export { lanNetworks };
23
+ export async function bridgeEnvironment() {
24
+ const environment = { ...process.env };
25
+ const installation = readRecord(path.join(runtimePaths(environment).serviceRoot, 'installation.json'));
26
26
  const executable = installation?.nodeExecutable;
27
- if (!executable || !fs.existsSync(executable)) throw new Error('安装时选用的 Node 不存在,请重新安装 Code Relax。');
27
+ if (!executable || !fs.existsSync(executable)) throw new Error('安装时选用的 Node 不存在,请重新安装 Code Relax。');
28
28
  environment.CODEX_MCP_NODE_PATH = executable;
29
- delete environment.CODEX_APP_TOOLS_PIPE_PATH;
29
+ delete environment.CODEX_APP_TOOLS_PIPE_PATH;
30
30
  return { executable, environment };
31
31
  }
@@ -1,49 +1,49 @@
1
- $ErrorActionPreference = 'Stop'
2
- [Console]::InputEncoding = New-Object System.Text.UTF8Encoding($false)
3
- [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
4
- try {
5
- $spec = [Console]::In.ReadToEnd() | ConvertFrom-Json
6
- # WMI owns this launch, not the caller's kill-on-close Desktop job hierarchy.
7
- $instance = [Guid]::NewGuid().ToString()
8
- $launchRoot = [IO.Path]::GetFullPath((Join-Path $env:LOCALAPPDATA 'CodexRemote\process-launch'))
9
- New-Item -ItemType Directory -Path $launchRoot -Force | Out-Null
10
- Add-Type -Path (Join-Path $PSScriptRoot 'IsolatedProcess.cs')
11
- $launchRoot = [IsolatedProcess]::ResolvePath($launchRoot)
12
- $ready = Join-Path $launchRoot ($instance + '.json')
13
- $request = Join-Path $launchRoot ($instance + '.request.json')
14
- $diagnostic = Join-Path $launchRoot ($instance + '.broker.log')
15
- $spec | Add-Member -NotePropertyName instance -NotePropertyValue $instance
16
- $spec | Add-Member -NotePropertyName diagnostic -NotePropertyValue $diagnostic
17
- $requestTemporary = $request + '.tmp'
18
- [IO.File]::WriteAllText($requestTemporary, ($spec | ConvertTo-Json -Compress -Depth 10), (New-Object Text.UTF8Encoding($false)))
19
- [IO.File]::Move($requestTemporary, $request)
20
- $startup = New-CimInstance -ClassName Win32_ProcessStartup -ClientOnly -Property @{
21
- ShowWindow=[uint16]0; CreateFlags=[uint32]0x1000010
22
- }
23
- $worker = Join-Path $PSScriptRoot 'launch-worker.mjs'
24
- $command = '"' + [string]$spec.brokerExecutable + '" "' + $worker + '" "' + $request + '" "' + $ready + '" "' + $instance + '" "' + $diagnostic + '"'
25
- $broker = Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{
26
- CommandLine=$command; CurrentDirectory=$env:USERPROFILE; ProcessStartupInformation=$startup
27
- }
28
- if ($broker.ReturnValue -ne 0) { throw ('Windows process broker failed: ' + $broker.ReturnValue) }
29
- $deadline = [DateTime]::UtcNow.AddSeconds(30)
30
- while (-not (Test-Path -LiteralPath $ready)) {
31
- if ([DateTime]::UtcNow -gt $deadline) {
32
- $detail = if (Test-Path -LiteralPath $diagnostic) { (Get-Content -LiteralPath $diagnostic -Raw -Encoding UTF8).Trim() } else { 'broker did not create a diagnostic log' }
33
- throw ('Windows process broker handoff timed out (broker PID ' + $broker.ProcessId + '): ' + $detail)
34
- }
35
- Start-Sleep -Milliseconds 50
36
- }
37
- $result = Get-Content -LiteralPath $ready -Raw -Encoding UTF8 | ConvertFrom-Json
38
- Remove-Item -LiteralPath $ready
39
- if ($result.instance -ne $instance -or $result.brokerPid -ne $broker.ProcessId) { throw 'Windows process broker identity mismatch.' }
40
- if ($result.error) { throw [string]$result.error }
41
- if (Test-Path -LiteralPath $diagnostic) { Remove-Item -LiteralPath $diagnostic -Force }
42
- [Console]::WriteLine([int]$result.pid)
43
- } catch {
44
- [Console]::Error.WriteLine($_.Exception.Message)
45
- exit 1
46
- } finally {
47
- if ($request -and (Test-Path -LiteralPath $request)) { Remove-Item -LiteralPath $request -Force }
48
- if ($requestTemporary -and (Test-Path -LiteralPath $requestTemporary)) { Remove-Item -LiteralPath $requestTemporary -Force }
49
- }
1
+ $ErrorActionPreference = 'Stop'
2
+ [Console]::InputEncoding = New-Object System.Text.UTF8Encoding($false)
3
+ [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
4
+ try {
5
+ $spec = [Console]::In.ReadToEnd() | ConvertFrom-Json
6
+ # WMI owns this launch, not the caller's kill-on-close Desktop job hierarchy.
7
+ $instance = [Guid]::NewGuid().ToString()
8
+ $launchRoot = [IO.Path]::GetFullPath((Join-Path $env:LOCALAPPDATA 'CodexRemote\process-launch'))
9
+ New-Item -ItemType Directory -Path $launchRoot -Force | Out-Null
10
+ Add-Type -Path (Join-Path $PSScriptRoot 'IsolatedProcess.cs')
11
+ $launchRoot = [IsolatedProcess]::ResolvePath($launchRoot)
12
+ $ready = Join-Path $launchRoot ($instance + '.json')
13
+ $request = Join-Path $launchRoot ($instance + '.request.json')
14
+ $diagnostic = Join-Path $launchRoot ($instance + '.broker.log')
15
+ $spec | Add-Member -NotePropertyName instance -NotePropertyValue $instance
16
+ $spec | Add-Member -NotePropertyName diagnostic -NotePropertyValue $diagnostic
17
+ $requestTemporary = $request + '.tmp'
18
+ [IO.File]::WriteAllText($requestTemporary, ($spec | ConvertTo-Json -Compress -Depth 10), (New-Object Text.UTF8Encoding($false)))
19
+ [IO.File]::Move($requestTemporary, $request)
20
+ $startup = New-CimInstance -ClassName Win32_ProcessStartup -ClientOnly -Property @{
21
+ ShowWindow=[uint16]0; CreateFlags=[uint32]0x1000010
22
+ }
23
+ $worker = Join-Path $PSScriptRoot 'launch-worker.mjs'
24
+ $command = '"' + [string]$spec.brokerExecutable + '" "' + $worker + '" "' + $request + '" "' + $ready + '" "' + $instance + '" "' + $diagnostic + '"'
25
+ $broker = Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{
26
+ CommandLine=$command; CurrentDirectory=$env:USERPROFILE; ProcessStartupInformation=$startup
27
+ }
28
+ if ($broker.ReturnValue -ne 0) { throw ('Windows process broker failed: ' + $broker.ReturnValue) }
29
+ $deadline = [DateTime]::UtcNow.AddSeconds(30)
30
+ while (-not (Test-Path -LiteralPath $ready)) {
31
+ if ([DateTime]::UtcNow -gt $deadline) {
32
+ $detail = if (Test-Path -LiteralPath $diagnostic) { (Get-Content -LiteralPath $diagnostic -Raw -Encoding UTF8).Trim() } else { 'broker did not create a diagnostic log' }
33
+ throw ('Windows process broker handoff timed out (broker PID ' + $broker.ProcessId + '): ' + $detail)
34
+ }
35
+ Start-Sleep -Milliseconds 50
36
+ }
37
+ $result = Get-Content -LiteralPath $ready -Raw -Encoding UTF8 | ConvertFrom-Json
38
+ Remove-Item -LiteralPath $ready
39
+ if ($result.instance -ne $instance -or $result.brokerPid -ne $broker.ProcessId) { throw 'Windows process broker identity mismatch.' }
40
+ if ($result.error) { throw [string]$result.error }
41
+ if (Test-Path -LiteralPath $diagnostic) { Remove-Item -LiteralPath $diagnostic -Force }
42
+ [Console]::WriteLine([int]$result.pid)
43
+ } catch {
44
+ [Console]::Error.WriteLine($_.Exception.Message)
45
+ exit 1
46
+ } finally {
47
+ if ($request -and (Test-Path -LiteralPath $request)) { Remove-Item -LiteralPath $request -Force }
48
+ if ($requestTemporary -and (Test-Path -LiteralPath $requestTemporary)) { Remove-Item -LiteralPath $requestTemporary -Force }
49
+ }
@@ -1,22 +1,22 @@
1
- param([Parameter(Mandatory=$true)][string]$Executable)
2
- $ErrorActionPreference = 'Stop'
3
- [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
4
- $package = Get-AppxPackage OpenAI.Codex | Select-Object -First 1
5
- if (-not $package -or $Executable -ne (Join-Path $package.InstallLocation 'app/ChatGPT.exe')) {
6
- throw 'Desktop executable identity changed; recovery stopped.'
7
- }
8
- # Never kill another user's Desktop or an app-server process tree. The independent
9
- # installer/recovery worker must survive and relaunch only in this interactive session.
10
- $currentSessionId = (Get-Process -Id $PID -ErrorAction Stop).SessionId
11
- $workers = @(Get-CimInstance Win32_Process -Filter "Name='ChatGPT.exe'" | Where-Object {
12
- $_.ExecutablePath -eq $Executable -and $_.SessionId -eq $currentSessionId
13
- })
14
- foreach ($worker in $workers) {
15
- $actual = Get-CimInstance Win32_Process -Filter "ProcessId=$($worker.ProcessId)"
16
- if ($actual -and $actual.ExecutablePath -eq $worker.ExecutablePath -and $actual.CreationDate -eq $worker.CreationDate) {
17
- Stop-Process -Id $worker.ProcessId -Force -ErrorAction Stop
18
- }
19
- }
20
- if (Get-Process ChatGPT -ErrorAction SilentlyContinue | Where-Object { $_.Path -eq $Executable -and $_.SessionId -eq $currentSessionId }) {
21
- throw 'Desktop did not exit; recovery stopped.'
22
- }
1
+ param([Parameter(Mandatory=$true)][string]$Executable)
2
+ $ErrorActionPreference = 'Stop'
3
+ [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
4
+ $package = Get-AppxPackage OpenAI.Codex | Select-Object -First 1
5
+ if (-not $package -or $Executable -ne (Join-Path $package.InstallLocation 'app/ChatGPT.exe')) {
6
+ throw 'Desktop executable identity changed; recovery stopped.'
7
+ }
8
+ # Never kill another user's Desktop or an app-server process tree. The independent
9
+ # installer/recovery worker must survive and relaunch only in this interactive session.
10
+ $currentSessionId = (Get-Process -Id $PID -ErrorAction Stop).SessionId
11
+ $workers = @(Get-CimInstance Win32_Process -Filter "Name='ChatGPT.exe'" | Where-Object {
12
+ $_.ExecutablePath -eq $Executable -and $_.SessionId -eq $currentSessionId
13
+ })
14
+ foreach ($worker in $workers) {
15
+ $actual = Get-CimInstance Win32_Process -Filter "ProcessId=$($worker.ProcessId)"
16
+ if ($actual -and $actual.ExecutablePath -eq $worker.ExecutablePath -and $actual.CreationDate -eq $worker.CreationDate) {
17
+ Stop-Process -Id $worker.ProcessId -Force -ErrorAction Stop
18
+ }
19
+ }
20
+ if (Get-Process ChatGPT -ErrorAction SilentlyContinue | Where-Object { $_.Path -eq $Executable -and $_.SessionId -eq $currentSessionId }) {
21
+ throw 'Desktop did not exit; recovery stopped.'
22
+ }