@mirasim/computer-use 0.0.0-stage → 0.1.0-rc.2

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 (341) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +16 -0
  3. package/README.md +154 -2
  4. package/THIRD_PARTY_NOTICES +488 -0
  5. package/bin/mirasim-cu.mjs +30 -0
  6. package/dist/entries/cli.d.ts +2 -0
  7. package/dist/entries/cli.js +32 -0
  8. package/dist/entries/commands/approvals.d.ts +1 -0
  9. package/dist/entries/commands/approvals.js +17 -0
  10. package/dist/entries/commands/bridge-host.d.ts +1 -0
  11. package/dist/entries/commands/bridge-host.js +7 -0
  12. package/dist/entries/commands/bridge.d.ts +1 -0
  13. package/dist/entries/commands/bridge.js +16 -0
  14. package/dist/entries/commands/browser-state.d.ts +1 -0
  15. package/dist/entries/commands/browser-state.js +8 -0
  16. package/dist/entries/commands/capture-server.d.ts +1 -0
  17. package/dist/entries/commands/capture-server.js +5 -0
  18. package/dist/entries/commands/help.d.ts +2 -0
  19. package/dist/entries/commands/help.js +1 -0
  20. package/dist/entries/commands/native-host-options.d.ts +32 -0
  21. package/dist/entries/commands/native-host-options.js +7 -0
  22. package/dist/entries/commands/setup-macos.d.ts +1 -0
  23. package/dist/entries/commands/setup-macos.js +4 -0
  24. package/dist/entries/commands/setup.d.ts +1 -0
  25. package/dist/entries/commands/setup.js +15 -0
  26. package/dist/entries/mcp.d.ts +1 -0
  27. package/dist/entries/mcp.js +6 -0
  28. package/dist/entries/version.d.ts +1 -0
  29. package/dist/entries/version.js +1 -0
  30. package/dist/index.d.ts +11 -0
  31. package/dist/index.js +1 -0
  32. package/dist/platform/browser/acquire.d.ts +15 -0
  33. package/dist/platform/browser/acquire.js +1 -0
  34. package/dist/platform/browser/bridge/acquire-bridge.d.ts +7 -0
  35. package/dist/platform/browser/bridge/acquire-bridge.js +3 -0
  36. package/dist/platform/browser/bridge/client.d.ts +69 -0
  37. package/dist/platform/browser/bridge/client.js +1 -0
  38. package/dist/platform/browser/bridge/extension-channel.d.ts +12 -0
  39. package/dist/platform/browser/bridge/extension-channel.js +1 -0
  40. package/dist/platform/browser/bridge/extension-id.d.ts +8 -0
  41. package/dist/platform/browser/bridge/extension-id.js +1 -0
  42. package/dist/platform/browser/bridge/extension-updates.d.ts +37 -0
  43. package/dist/platform/browser/bridge/extension-updates.js +1 -0
  44. package/dist/platform/browser/bridge/model-commands.d.ts +20 -0
  45. package/dist/platform/browser/bridge/model-commands.js +1 -0
  46. package/dist/platform/browser/bridge/model-core.d.ts +59 -0
  47. package/dist/platform/browser/bridge/model-core.js +1 -0
  48. package/dist/platform/browser/bridge/model.d.ts +4 -0
  49. package/dist/platform/browser/bridge/model.js +1 -0
  50. package/dist/platform/browser/bridge/native-frames.d.ts +9 -0
  51. package/dist/platform/browser/bridge/native-frames.js +1 -0
  52. package/dist/platform/browser/bridge/native-host.d.ts +24 -0
  53. package/dist/platform/browser/bridge/native-host.js +5 -0
  54. package/dist/platform/browser/bridge/runtime-contexts.d.ts +12 -0
  55. package/dist/platform/browser/bridge/runtime-contexts.js +1 -0
  56. package/dist/platform/browser/bridge/server-core.d.ts +66 -0
  57. package/dist/platform/browser/bridge/server-core.js +1 -0
  58. package/dist/platform/browser/bridge/server.d.ts +13 -0
  59. package/dist/platform/browser/bridge/server.js +1 -0
  60. package/dist/platform/browser/bridge-tabs.d.ts +22 -0
  61. package/dist/platform/browser/bridge-tabs.js +1 -0
  62. package/dist/platform/browser/cdp-connection.d.ts +3 -0
  63. package/dist/platform/browser/cdp-connection.js +1 -0
  64. package/dist/platform/browser/chrome-binary.d.ts +6 -0
  65. package/dist/platform/browser/chrome-binary.js +1 -0
  66. package/dist/platform/browser/config.d.ts +29 -0
  67. package/dist/platform/browser/config.js +1 -0
  68. package/dist/platform/browser/devtools-port.d.ts +3 -0
  69. package/dist/platform/browser/devtools-port.js +2 -0
  70. package/dist/platform/browser/downloads.d.ts +22 -0
  71. package/dist/platform/browser/downloads.js +1 -0
  72. package/dist/platform/browser/driver-connect.d.ts +13 -0
  73. package/dist/platform/browser/driver-connect.js +1 -0
  74. package/dist/platform/browser/driver-core.d.ts +50 -0
  75. package/dist/platform/browser/driver-core.js +1 -0
  76. package/dist/platform/browser/driver-tabs.d.ts +16 -0
  77. package/dist/platform/browser/driver-tabs.js +1 -0
  78. package/dist/platform/browser/driver-verbs.d.ts +13 -0
  79. package/dist/platform/browser/driver-verbs.js +2 -0
  80. package/dist/platform/browser/driver.d.ts +38 -0
  81. package/dist/platform/browser/driver.js +3 -0
  82. package/dist/platform/browser/focus-guard.d.ts +2 -0
  83. package/dist/platform/browser/focus-guard.js +1 -0
  84. package/dist/platform/browser/journal.d.ts +21 -0
  85. package/dist/platform/browser/journal.js +2 -0
  86. package/dist/platform/browser/keep-in-tab.d.ts +1 -0
  87. package/dist/platform/browser/keep-in-tab.js +1 -0
  88. package/dist/platform/browser/messages.d.ts +25 -0
  89. package/dist/platform/browser/messages.js +8 -0
  90. package/dist/platform/browser/navigate.d.ts +4 -0
  91. package/dist/platform/browser/navigate.js +2 -0
  92. package/dist/platform/browser/occupancy.d.ts +2 -0
  93. package/dist/platform/browser/occupancy.js +2 -0
  94. package/dist/platform/browser/overlay-guard.d.ts +3 -0
  95. package/dist/platform/browser/overlay-guard.js +1 -0
  96. package/dist/platform/browser/save-picker.d.ts +2 -0
  97. package/dist/platform/browser/save-picker.js +1 -0
  98. package/dist/platform/browser/session-files.d.ts +11 -0
  99. package/dist/platform/browser/session-files.js +1 -0
  100. package/dist/platform/browser/state.d.ts +25 -0
  101. package/dist/platform/browser/state.js +2 -0
  102. package/dist/platform/browser/tabs.d.ts +15 -0
  103. package/dist/platform/browser/tabs.js +2 -0
  104. package/dist/platform/browser/window-placement.d.ts +8 -0
  105. package/dist/platform/browser/window-placement.js +1 -0
  106. package/dist/platform/chromium/actions-value.d.ts +11 -0
  107. package/dist/platform/chromium/actions-value.js +5 -0
  108. package/dist/platform/chromium/actions.d.ts +20 -0
  109. package/dist/platform/chromium/actions.js +2 -0
  110. package/dist/platform/chromium/checkable-target.d.ts +1 -0
  111. package/dist/platform/chromium/checkable-target.js +1 -0
  112. package/dist/platform/chromium/collect-viewport.d.ts +1 -0
  113. package/dist/platform/chromium/collect-viewport.js +1 -0
  114. package/dist/platform/chromium/collect.d.ts +11 -0
  115. package/dist/platform/chromium/collect.js +1 -0
  116. package/dist/platform/chromium/coverer-label.d.ts +8 -0
  117. package/dist/platform/chromium/coverer-label.js +1 -0
  118. package/dist/platform/chromium/frames.d.ts +2 -0
  119. package/dist/platform/chromium/frames.js +1 -0
  120. package/dist/platform/chromium/headings.d.ts +1 -0
  121. package/dist/platform/chromium/headings.js +1 -0
  122. package/dist/platform/chromium/locate.d.ts +2 -0
  123. package/dist/platform/chromium/locate.js +1 -0
  124. package/dist/platform/chromium/page-acts.d.ts +9 -0
  125. package/dist/platform/chromium/page-acts.js +1 -0
  126. package/dist/platform/chromium/page-base.d.ts +33 -0
  127. package/dist/platform/chromium/page-base.js +1 -0
  128. package/dist/platform/chromium/page-driver.d.ts +18 -0
  129. package/dist/platform/chromium/page-driver.js +2 -0
  130. package/dist/platform/chromium/page-refs.d.ts +4 -0
  131. package/dist/platform/chromium/page-refs.js +1 -0
  132. package/dist/platform/chromium/page-text.d.ts +15 -0
  133. package/dist/platform/chromium/page-text.js +1 -0
  134. package/dist/platform/chromium/page-waits.d.ts +7 -0
  135. package/dist/platform/chromium/page-waits.js +1 -0
  136. package/dist/platform/chromium/preview-stream.d.ts +37 -0
  137. package/dist/platform/chromium/preview-stream.js +1 -0
  138. package/dist/platform/chromium/preview.d.ts +3 -0
  139. package/dist/platform/chromium/preview.js +1 -0
  140. package/dist/platform/chromium/read-page-script.d.ts +1 -0
  141. package/dist/platform/chromium/read-page-script.js +1 -0
  142. package/dist/platform/chromium/read-page.d.ts +11 -0
  143. package/dist/platform/chromium/read-page.js +6 -0
  144. package/dist/platform/chromium/run-js.d.ts +4 -0
  145. package/dist/platform/chromium/run-js.js +2 -0
  146. package/dist/platform/chromium/scroll-regions.d.ts +1 -0
  147. package/dist/platform/chromium/scroll-regions.js +1 -0
  148. package/dist/platform/chromium/scroll-scripts.d.ts +3 -0
  149. package/dist/platform/chromium/scroll-scripts.js +1 -0
  150. package/dist/platform/chromium/scroll.d.ts +18 -0
  151. package/dist/platform/chromium/scroll.js +5 -0
  152. package/dist/platform/chromium/select-text.d.ts +4 -0
  153. package/dist/platform/chromium/select-text.js +2 -0
  154. package/dist/platform/chromium/shot.d.ts +10 -0
  155. package/dist/platform/chromium/shot.js +2 -0
  156. package/dist/platform/chromium/unreached.d.ts +8 -0
  157. package/dist/platform/chromium/unreached.js +1 -0
  158. package/dist/platform/cli-command.d.ts +1 -0
  159. package/dist/platform/cli-command.js +1 -0
  160. package/dist/platform/driver-base.d.ts +83 -0
  161. package/dist/platform/driver-base.js +1 -0
  162. package/dist/platform/driver-diagnostics.d.ts +30 -0
  163. package/dist/platform/driver-diagnostics.js +4 -0
  164. package/dist/platform/driver-lines.d.ts +15 -0
  165. package/dist/platform/driver-lines.js +2 -0
  166. package/dist/platform/driver-narrate.d.ts +26 -0
  167. package/dist/platform/driver-narrate.js +3 -0
  168. package/dist/platform/driver-refs.d.ts +16 -0
  169. package/dist/platform/driver-refs.js +1 -0
  170. package/dist/platform/driver-render.d.ts +26 -0
  171. package/dist/platform/driver-render.js +4 -0
  172. package/dist/platform/driver-select.d.ts +31 -0
  173. package/dist/platform/driver-select.js +2 -0
  174. package/dist/platform/driver-settle.d.ts +22 -0
  175. package/dist/platform/driver-settle.js +4 -0
  176. package/dist/platform/driver-verdict.d.ts +11 -0
  177. package/dist/platform/driver-verdict.js +5 -0
  178. package/dist/platform/driver-wait.d.ts +9 -0
  179. package/dist/platform/driver-wait.js +1 -0
  180. package/dist/platform/driver-waits.d.ts +10 -0
  181. package/dist/platform/driver-waits.js +1 -0
  182. package/dist/platform/driver.d.ts +39 -0
  183. package/dist/platform/driver.js +15 -0
  184. package/dist/platform/electron/driver.d.ts +30 -0
  185. package/dist/platform/electron/driver.js +7 -0
  186. package/dist/platform/electron/preflight.d.ts +9 -0
  187. package/dist/platform/electron/preflight.js +1 -0
  188. package/dist/platform/electron/verbs.d.ts +3 -0
  189. package/dist/platform/electron/verbs.js +1 -0
  190. package/dist/platform/home.d.ts +2 -0
  191. package/dist/platform/home.js +1 -0
  192. package/dist/platform/macos/act-element.d.ts +27 -0
  193. package/dist/platform/macos/act-element.js +1 -0
  194. package/dist/platform/macos/app-names.d.ts +2 -0
  195. package/dist/platform/macos/app-names.js +2 -0
  196. package/dist/platform/macos/app-notes.d.ts +2 -0
  197. package/dist/platform/macos/app-notes.js +86 -0
  198. package/dist/platform/macos/approvals.d.ts +10 -0
  199. package/dist/platform/macos/approvals.js +2 -0
  200. package/dist/platform/macos/ax-client.d.ts +53 -0
  201. package/dist/platform/macos/ax-client.js +3 -0
  202. package/dist/platform/macos/ax-errors.d.ts +16 -0
  203. package/dist/platform/macos/ax-errors.js +1 -0
  204. package/dist/platform/macos/ax-shapes.d.ts +53 -0
  205. package/dist/platform/macos/ax-shapes.js +1 -0
  206. package/dist/platform/macos/capture-client.d.ts +11 -0
  207. package/dist/platform/macos/capture-client.js +2 -0
  208. package/dist/platform/macos/click-verb.d.ts +4 -0
  209. package/dist/platform/macos/click-verb.js +1 -0
  210. package/dist/platform/macos/driver-apps.d.ts +59 -0
  211. package/dist/platform/macos/driver-apps.js +2 -0
  212. package/dist/platform/macos/driver-read.d.ts +47 -0
  213. package/dist/platform/macos/driver-read.js +1 -0
  214. package/dist/platform/macos/driver-targets.d.ts +9 -0
  215. package/dist/platform/macos/driver-targets.js +1 -0
  216. package/dist/platform/macos/driver.d.ts +65 -0
  217. package/dist/platform/macos/driver.js +2 -0
  218. package/dist/platform/macos/element-lines.d.ts +12 -0
  219. package/dist/platform/macos/element-lines.js +1 -0
  220. package/dist/platform/macos/element-shapes.d.ts +54 -0
  221. package/dist/platform/macos/element-shapes.js +0 -0
  222. package/dist/platform/macos/element-text.d.ts +3 -0
  223. package/dist/platform/macos/element-text.js +2 -0
  224. package/dist/platform/macos/elements.d.ts +26 -0
  225. package/dist/platform/macos/elements.js +1 -0
  226. package/dist/platform/macos/extra-verbs.d.ts +2 -0
  227. package/dist/platform/macos/extra-verbs.js +1 -0
  228. package/dist/platform/macos/interaction-notes.d.ts +2 -0
  229. package/dist/platform/macos/interaction-notes.js +1 -0
  230. package/dist/platform/macos/interaction-policy.d.ts +5 -0
  231. package/dist/platform/macos/interaction-policy.js +1 -0
  232. package/dist/platform/macos/menu-commands.d.ts +22 -0
  233. package/dist/platform/macos/menu-commands.js +5 -0
  234. package/dist/platform/macos/mouse.d.ts +23 -0
  235. package/dist/platform/macos/mouse.js +1 -0
  236. package/dist/platform/macos/narrate.d.ts +20 -0
  237. package/dist/platform/macos/narrate.js +1 -0
  238. package/dist/platform/macos/permissions.d.ts +5 -0
  239. package/dist/platform/macos/permissions.js +1 -0
  240. package/dist/platform/macos/press-rungs.d.ts +49 -0
  241. package/dist/platform/macos/press-rungs.js +5 -0
  242. package/dist/platform/macos/preview-stream.d.ts +15 -0
  243. package/dist/platform/macos/preview-stream.js +1 -0
  244. package/dist/platform/macos/prompt-fragment.d.ts +1 -0
  245. package/dist/platform/macos/prompt-fragment.js +1 -0
  246. package/dist/platform/macos/scroll-pages.d.ts +1 -0
  247. package/dist/platform/macos/scroll-pages.js +1 -0
  248. package/dist/platform/macos/scroll-verb.d.ts +5 -0
  249. package/dist/platform/macos/scroll-verb.js +1 -0
  250. package/dist/platform/macos/select-text-verb.d.ts +8 -0
  251. package/dist/platform/macos/select-text-verb.js +1 -0
  252. package/dist/platform/macos/type-verb.d.ts +5 -0
  253. package/dist/platform/macos/type-verb.js +1 -0
  254. package/dist/platform/ownership.d.ts +20 -0
  255. package/dist/platform/ownership.js +1 -0
  256. package/dist/platform/platform-package.d.ts +1 -0
  257. package/dist/platform/platform-package.js +1 -0
  258. package/dist/platform/preview.d.ts +39 -0
  259. package/dist/platform/preview.js +1 -0
  260. package/dist/platform/profile.d.ts +20 -0
  261. package/dist/platform/profile.js +1 -0
  262. package/dist/platform/registry.d.ts +12 -0
  263. package/dist/platform/registry.js +1 -0
  264. package/dist/platform/tools/api-contract.d.ts +33 -0
  265. package/dist/platform/tools/api-contract.js +3 -0
  266. package/dist/platform/tools/api-expect.d.ts +3 -0
  267. package/dist/platform/tools/api-expect.js +1 -0
  268. package/dist/platform/tools/api-run.d.ts +6 -0
  269. package/dist/platform/tools/api-run.js +1 -0
  270. package/dist/platform/tools/api-target.d.ts +22 -0
  271. package/dist/platform/tools/api-target.js +1 -0
  272. package/dist/platform/tools/api-wait.d.ts +3 -0
  273. package/dist/platform/tools/api-wait.js +1 -0
  274. package/dist/platform/tools/api.d.ts +7 -0
  275. package/dist/platform/tools/api.js +1 -0
  276. package/dist/platform/tools/find-target.d.ts +54 -0
  277. package/dist/platform/tools/find-target.js +1 -0
  278. package/dist/platform/tools/index.d.ts +8 -0
  279. package/dist/platform/tools/index.js +1 -0
  280. package/dist/platform/tools/normalize.d.ts +2 -0
  281. package/dist/platform/tools/normalize.js +1 -0
  282. package/dist/platform/tools/repl-budget.d.ts +8 -0
  283. package/dist/platform/tools/repl-budget.js +4 -0
  284. package/dist/platform/tools/repl-code.d.ts +1 -0
  285. package/dist/platform/tools/repl-code.js +4 -0
  286. package/dist/platform/tools/repl-docs.d.ts +5 -0
  287. package/dist/platform/tools/repl-docs.js +4 -0
  288. package/dist/platform/tools/repl-state.d.ts +21 -0
  289. package/dist/platform/tools/repl-state.js +0 -0
  290. package/dist/platform/tools/repl.d.ts +8 -0
  291. package/dist/platform/tools/repl.js +19 -0
  292. package/dist/platform/tools/shot-file.d.ts +7 -0
  293. package/dist/platform/tools/shot-file.js +1 -0
  294. package/dist/platform/tools/validate.d.ts +2 -0
  295. package/dist/platform/tools/validate.js +1 -0
  296. package/dist/platform/types.d.ts +220 -0
  297. package/dist/platform/types.js +1 -0
  298. package/dist/platform/windows/app-gate.d.ts +24 -0
  299. package/dist/platform/windows/app-gate.js +2 -0
  300. package/dist/platform/windows/background-verb.d.ts +13 -0
  301. package/dist/platform/windows/background-verb.js +1 -0
  302. package/dist/platform/windows/dates.d.ts +2 -0
  303. package/dist/platform/windows/dates.js +1 -0
  304. package/dist/platform/windows/driver-apps.d.ts +9 -0
  305. package/dist/platform/windows/driver-apps.js +1 -0
  306. package/dist/platform/windows/driver-read.d.ts +12 -0
  307. package/dist/platform/windows/driver-read.js +3 -0
  308. package/dist/platform/windows/driver-targets.d.ts +58 -0
  309. package/dist/platform/windows/driver-targets.js +1 -0
  310. package/dist/platform/windows/driver-yield.d.ts +10 -0
  311. package/dist/platform/windows/driver-yield.js +1 -0
  312. package/dist/platform/windows/driver.d.ts +39 -0
  313. package/dist/platform/windows/driver.js +2 -0
  314. package/dist/platform/windows/elements.d.ts +66 -0
  315. package/dist/platform/windows/elements.js +2 -0
  316. package/dist/platform/windows/launch.d.ts +23 -0
  317. package/dist/platform/windows/launch.js +1 -0
  318. package/dist/platform/windows/menu-verb.d.ts +7 -0
  319. package/dist/platform/windows/menu-verb.js +6 -0
  320. package/dist/platform/windows/prompt-fragment.d.ts +2 -0
  321. package/dist/platform/windows/prompt-fragment.js +1 -0
  322. package/dist/platform/windows/text-verbs.d.ts +10 -0
  323. package/dist/platform/windows/text-verbs.js +5 -0
  324. package/dist/platform/windows/uia-client.d.ts +32 -0
  325. package/dist/platform/windows/uia-client.js +3 -0
  326. package/dist/platform/windows/verbs.d.ts +2 -0
  327. package/dist/platform/windows/verbs.js +1 -0
  328. package/extension/background.js +280 -0
  329. package/extension/connect.html +27 -0
  330. package/extension/connect.js +28 -0
  331. package/extension/group.js +283 -0
  332. package/extension/icons/icon-128.png +0 -0
  333. package/extension/icons/icon-16.png +0 -0
  334. package/extension/icons/icon-32.png +0 -0
  335. package/extension/icons/icon-48.png +0 -0
  336. package/extension/manifest.json +36 -0
  337. package/extension/relay.js +361 -0
  338. package/extension/runtime-info.js +9 -0
  339. package/extension/transport.js +81 -0
  340. package/package.json +76 -4
  341. package/scripts/extension.mjs +111 -0
@@ -0,0 +1,488 @@
1
+ Mirasim Computer Use
2
+ Third-Party Notices
3
+
4
+ The Windows native helper (computer-use-uia-helper.exe, published in the
5
+ @mirasim/computer-use-win32-x64 and @mirasim/computer-use-win32-arm64 packages)
6
+ is a Rust program statically linked with the open-source crates listed below.
7
+ Their copyright notices and license terms follow. Versions match
8
+ src/platform/windows/uia/Cargo.lock.
9
+
10
+ Where a crate is offered under a choice of licenses, MIRASIM, INC. uses it
11
+ under the MIT License, reproduced below for each crate.
12
+
13
+ Crates used only at compile time (the procedural macros windows-implement and
14
+ windows-interface, and their dependencies proc-macro2, quote, syn and
15
+ unicode-ident) do not end up in the binary and are not listed. The macOS
16
+ helper links only Apple system frameworks. Code adapted from Playwright is
17
+ attributed in NOTICE.
18
+
19
+ Crate Version License (as published) Source
20
+ -------------------- ------- ------------------------- ------
21
+ adler2 2.0.1 0BSD OR MIT OR Apache-2.0 https://github.com/oyvindln/adler2
22
+ bitflags 1.3.2 MIT OR Apache-2.0 https://github.com/bitflags/bitflags
23
+ cfg-if 1.0.5 MIT OR Apache-2.0 https://github.com/rust-lang/cfg-if
24
+ crc32fast 1.5.2 MIT OR Apache-2.0 https://github.com/srijs/rust-crc32fast
25
+ fdeflate 0.3.7 MIT OR Apache-2.0 https://github.com/image-rs/fdeflate
26
+ flate2 1.1.10 MIT OR Apache-2.0 https://github.com/rust-lang/flate2-rs
27
+ itoa 1.0.18 MIT OR Apache-2.0 https://github.com/dtolnay/itoa
28
+ memchr 2.8.3 Unlicense OR MIT https://github.com/BurntSushi/memchr
29
+ miniz_oxide 0.8.9 MIT OR Zlib OR Apache-2.0 https://github.com/Frommi/miniz_oxide
30
+ miniz_oxide 0.9.1 MIT OR Zlib OR Apache-2.0 https://github.com/Frommi/miniz_oxide
31
+ png 0.17.16 MIT OR Apache-2.0 https://github.com/image-rs/image-png
32
+ serde_core 1.0.229 MIT OR Apache-2.0 https://github.com/serde-rs/serde
33
+ serde_json 1.0.154 MIT OR Apache-2.0 https://github.com/serde-rs/json
34
+ simd-adler32 0.3.10 MIT https://github.com/mcountryman/simd-adler32
35
+ windows 0.58.0 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
36
+ windows_aarch64_msvc 0.52.6 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
37
+ windows-core 0.58.0 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
38
+ windows-result 0.2.0 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
39
+ windows-strings 0.1.0 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
40
+ windows-targets 0.52.6 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
41
+ windows_x86_64_msvc 0.52.6 MIT OR Apache-2.0 https://github.com/microsoft/windows-rs
42
+ zmij 1.0.23 MIT https://github.com/dtolnay/zmij
43
+
44
+ ===============================================================================
45
+
46
+ adler2 2.0.1
47
+ https://github.com/oyvindln/adler2
48
+ Copyright (c) Jonas Schievink, oyvindln
49
+
50
+ Permission is hereby granted, free of charge, to any
51
+ person obtaining a copy of this software and associated
52
+ documentation files (the "Software"), to deal in the
53
+ Software without restriction, including without
54
+ limitation the rights to use, copy, modify, merge,
55
+ publish, distribute, sublicense, and/or sell copies of
56
+ the Software, and to permit persons to whom the Software
57
+ is furnished to do so, subject to the following
58
+ conditions:
59
+
60
+ The above copyright notice and this permission notice
61
+ shall be included in all copies or substantial portions
62
+ of the Software.
63
+
64
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
65
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
66
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
67
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
68
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
69
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
70
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
71
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
72
+ DEALINGS IN THE SOFTWARE.
73
+
74
+ ===============================================================================
75
+
76
+ bitflags 1.3.2
77
+ https://github.com/bitflags/bitflags
78
+
79
+ Copyright (c) 2014 The Rust Project Developers
80
+
81
+ Permission is hereby granted, free of charge, to any
82
+ person obtaining a copy of this software and associated
83
+ documentation files (the "Software"), to deal in the
84
+ Software without restriction, including without
85
+ limitation the rights to use, copy, modify, merge,
86
+ publish, distribute, sublicense, and/or sell copies of
87
+ the Software, and to permit persons to whom the Software
88
+ is furnished to do so, subject to the following
89
+ conditions:
90
+
91
+ The above copyright notice and this permission notice
92
+ shall be included in all copies or substantial portions
93
+ of the Software.
94
+
95
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
96
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
97
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
98
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
99
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
100
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
101
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
102
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
103
+ DEALINGS IN THE SOFTWARE.
104
+
105
+ ===============================================================================
106
+
107
+ cfg-if 1.0.5
108
+ https://github.com/rust-lang/cfg-if
109
+
110
+ Copyright (c) 2014 Alex Crichton
111
+
112
+ Permission is hereby granted, free of charge, to any
113
+ person obtaining a copy of this software and associated
114
+ documentation files (the "Software"), to deal in the
115
+ Software without restriction, including without
116
+ limitation the rights to use, copy, modify, merge,
117
+ publish, distribute, sublicense, and/or sell copies of
118
+ the Software, and to permit persons to whom the Software
119
+ is furnished to do so, subject to the following
120
+ conditions:
121
+
122
+ The above copyright notice and this permission notice
123
+ shall be included in all copies or substantial portions
124
+ of the Software.
125
+
126
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
127
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
128
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
129
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
130
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
131
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
132
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
133
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
134
+ DEALINGS IN THE SOFTWARE.
135
+
136
+ ===============================================================================
137
+
138
+ crc32fast 1.5.2
139
+ https://github.com/srijs/rust-crc32fast
140
+
141
+ MIT License
142
+
143
+ Copyright (c) 2018 Sam Rijs, Alex Crichton and contributors
144
+
145
+ Permission is hereby granted, free of charge, to any person obtaining a copy
146
+ of this software and associated documentation files (the "Software"), to deal
147
+ in the Software without restriction, including without limitation the rights
148
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
149
+ copies of the Software, and to permit persons to whom the Software is
150
+ furnished to do so, subject to the following conditions:
151
+
152
+ The above copyright notice and this permission notice shall be included in all
153
+ copies or substantial portions of the Software.
154
+
155
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
156
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
157
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
158
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
159
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
160
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
161
+ SOFTWARE.
162
+
163
+ ===============================================================================
164
+
165
+ fdeflate 0.3.7
166
+ https://github.com/image-rs/fdeflate
167
+ Copyright (c) The image-rs Developers
168
+
169
+ MIT License
170
+
171
+ Permission is hereby granted, free of charge, to any
172
+ person obtaining a copy of this software and associated
173
+ documentation files (the "Software"), to deal in the
174
+ Software without restriction, including without
175
+ limitation the rights to use, copy, modify, merge,
176
+ publish, distribute, sublicense, and/or sell copies of
177
+ the Software, and to permit persons to whom the Software
178
+ is furnished to do so, subject to the following
179
+ conditions:
180
+
181
+ The above copyright notice and this permission notice
182
+ shall be included in all copies or substantial portions
183
+ of the Software.
184
+
185
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
186
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
187
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
188
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
189
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
190
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
191
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
192
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
193
+ DEALINGS IN THE SOFTWARE.
194
+
195
+ ===============================================================================
196
+
197
+ flate2 1.1.10
198
+ https://github.com/rust-lang/flate2-rs
199
+
200
+ Copyright (c) 2014-2026 Alex Crichton
201
+
202
+ Permission is hereby granted, free of charge, to any
203
+ person obtaining a copy of this software and associated
204
+ documentation files (the "Software"), to deal in the
205
+ Software without restriction, including without
206
+ limitation the rights to use, copy, modify, merge,
207
+ publish, distribute, sublicense, and/or sell copies of
208
+ the Software, and to permit persons to whom the Software
209
+ is furnished to do so, subject to the following
210
+ conditions:
211
+
212
+ The above copyright notice and this permission notice
213
+ shall be included in all copies or substantial portions
214
+ of the Software.
215
+
216
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
217
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
218
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
219
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
220
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
221
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
222
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
223
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
224
+ DEALINGS IN THE SOFTWARE.
225
+
226
+ ===============================================================================
227
+
228
+ itoa 1.0.18
229
+ https://github.com/dtolnay/itoa
230
+ Copyright (c) David Tolnay
231
+
232
+ Permission is hereby granted, free of charge, to any
233
+ person obtaining a copy of this software and associated
234
+ documentation files (the "Software"), to deal in the
235
+ Software without restriction, including without
236
+ limitation the rights to use, copy, modify, merge,
237
+ publish, distribute, sublicense, and/or sell copies of
238
+ the Software, and to permit persons to whom the Software
239
+ is furnished to do so, subject to the following
240
+ conditions:
241
+
242
+ The above copyright notice and this permission notice
243
+ shall be included in all copies or substantial portions
244
+ of the Software.
245
+
246
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
247
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
248
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
249
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
250
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
251
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
252
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
253
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
254
+ DEALINGS IN THE SOFTWARE.
255
+
256
+ ===============================================================================
257
+
258
+ memchr 2.8.3
259
+ https://github.com/BurntSushi/memchr
260
+
261
+ The MIT License (MIT)
262
+
263
+ Copyright (c) 2015 Andrew Gallant
264
+
265
+ Permission is hereby granted, free of charge, to any person obtaining a copy
266
+ of this software and associated documentation files (the "Software"), to deal
267
+ in the Software without restriction, including without limitation the rights
268
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
269
+ copies of the Software, and to permit persons to whom the Software is
270
+ furnished to do so, subject to the following conditions:
271
+
272
+ The above copyright notice and this permission notice shall be included in
273
+ all copies or substantial portions of the Software.
274
+
275
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
276
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
277
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
278
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
279
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
280
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
281
+ THE SOFTWARE.
282
+
283
+ ===============================================================================
284
+
285
+ miniz_oxide 0.8.9, miniz_oxide 0.9.1
286
+ https://github.com/Frommi/miniz_oxide
287
+
288
+ MIT License
289
+
290
+ Copyright 2013-2014 RAD Game Tools and Valve Software
291
+ Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
292
+ Copyright (c) 2017 Frommi
293
+ Copyright (c) 2017-2024 oyvindln
294
+
295
+ Permission is hereby granted, free of charge, to any person obtaining a copy
296
+ of this software and associated documentation files (the "Software"), to deal
297
+ in the Software without restriction, including without limitation the rights
298
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
299
+ copies of the Software, and to permit persons to whom the Software is
300
+ furnished to do so, subject to the following conditions:
301
+
302
+ The above copyright notice and this permission notice shall be included in all
303
+ copies or substantial portions of the Software.
304
+
305
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
306
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
307
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
308
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
309
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
310
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
311
+ SOFTWARE.
312
+
313
+ ===============================================================================
314
+
315
+ png 0.17.16
316
+ https://github.com/image-rs/image-png
317
+
318
+ Copyright (c) 2015 nwin
319
+
320
+ Permission is hereby granted, free of charge, to any
321
+ person obtaining a copy of this software and associated
322
+ documentation files (the "Software"), to deal in the
323
+ Software without restriction, including without
324
+ limitation the rights to use, copy, modify, merge,
325
+ publish, distribute, sublicense, and/or sell copies of
326
+ the Software, and to permit persons to whom the Software
327
+ is furnished to do so, subject to the following
328
+ conditions:
329
+
330
+ The above copyright notice and this permission notice
331
+ shall be included in all copies or substantial portions
332
+ of the Software.
333
+
334
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
335
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
336
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
337
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
338
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
339
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
340
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
341
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
342
+ DEALINGS IN THE SOFTWARE.
343
+
344
+ ===============================================================================
345
+
346
+ serde_core 1.0.229
347
+ https://github.com/serde-rs/serde
348
+ Copyright (c) Erick Tryzelaar, David Tolnay
349
+
350
+ Permission is hereby granted, free of charge, to any
351
+ person obtaining a copy of this software and associated
352
+ documentation files (the "Software"), to deal in the
353
+ Software without restriction, including without
354
+ limitation the rights to use, copy, modify, merge,
355
+ publish, distribute, sublicense, and/or sell copies of
356
+ the Software, and to permit persons to whom the Software
357
+ is furnished to do so, subject to the following
358
+ conditions:
359
+
360
+ The above copyright notice and this permission notice
361
+ shall be included in all copies or substantial portions
362
+ of the Software.
363
+
364
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
365
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
366
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
367
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
368
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
369
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
370
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
371
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
372
+ DEALINGS IN THE SOFTWARE.
373
+
374
+ ===============================================================================
375
+
376
+ serde_json 1.0.154
377
+ https://github.com/serde-rs/json
378
+ Copyright (c) The serde_json authors
379
+
380
+ Permission is hereby granted, free of charge, to any
381
+ person obtaining a copy of this software and associated
382
+ documentation files (the "Software"), to deal in the
383
+ Software without restriction, including without
384
+ limitation the rights to use, copy, modify, merge,
385
+ publish, distribute, sublicense, and/or sell copies of
386
+ the Software, and to permit persons to whom the Software
387
+ is furnished to do so, subject to the following
388
+ conditions:
389
+
390
+ The above copyright notice and this permission notice
391
+ shall be included in all copies or substantial portions
392
+ of the Software.
393
+
394
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
395
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
396
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
397
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
398
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
399
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
400
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
401
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
402
+ DEALINGS IN THE SOFTWARE.
403
+
404
+ ===============================================================================
405
+
406
+ simd-adler32 0.3.10
407
+ https://github.com/mcountryman/simd-adler32
408
+
409
+ MIT License
410
+
411
+ Copyright (c) [2021] [Marvin Countryman]
412
+
413
+ Permission is hereby granted, free of charge, to any person obtaining a copy
414
+ of this software and associated documentation files (the "Software"), to deal
415
+ in the Software without restriction, including without limitation the rights
416
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
417
+ copies of the Software, and to permit persons to whom the Software is
418
+ furnished to do so, subject to the following conditions:
419
+
420
+ The above copyright notice and this permission notice shall be included in all
421
+ copies or substantial portions of the Software.
422
+
423
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
424
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
425
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
426
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
427
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
428
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
429
+ SOFTWARE.
430
+
431
+ ===============================================================================
432
+
433
+ windows 0.58.0, windows_aarch64_msvc 0.52.6, windows-core 0.58.0,
434
+ windows-result 0.2.0, windows-strings 0.1.0, windows-targets 0.52.6,
435
+ windows_x86_64_msvc 0.52.6
436
+ https://github.com/microsoft/windows-rs
437
+
438
+ MIT License
439
+
440
+ Copyright (c) Microsoft Corporation.
441
+
442
+ Permission is hereby granted, free of charge, to any person obtaining a copy
443
+ of this software and associated documentation files (the "Software"), to deal
444
+ in the Software without restriction, including without limitation the rights
445
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
446
+ copies of the Software, and to permit persons to whom the Software is
447
+ furnished to do so, subject to the following conditions:
448
+
449
+ The above copyright notice and this permission notice shall be included in all
450
+ copies or substantial portions of the Software.
451
+
452
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
453
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
454
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
455
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
456
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
457
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
458
+ SOFTWARE
459
+
460
+ ===============================================================================
461
+
462
+ zmij 1.0.23
463
+ https://github.com/dtolnay/zmij
464
+ Copyright (c) David Tolnay
465
+
466
+ Permission is hereby granted, free of charge, to any
467
+ person obtaining a copy of this software and associated
468
+ documentation files (the "Software"), to deal in the
469
+ Software without restriction, including without
470
+ limitation the rights to use, copy, modify, merge,
471
+ publish, distribute, sublicense, and/or sell copies of
472
+ the Software, and to permit persons to whom the Software
473
+ is furnished to do so, subject to the following
474
+ conditions:
475
+
476
+ The above copyright notice and this permission notice
477
+ shall be included in all copies or substantial portions
478
+ of the Software.
479
+
480
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
481
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
482
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
483
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
484
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
485
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
486
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
487
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
488
+ DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * The `mirasim-cu` executable — and, in a repo checkout, the one that runs the SOURCE:
4
+ * nothing keeps the checkout's `tsc` build (`dist/entries/cli.js`) current, and a host that
5
+ * spawns this bin for its children and the browser bridge would run stale fixes (e.g. without
6
+ * the parent-death backstop, leaving orphan bridges holding a port).
7
+ *
8
+ * ONE process, deliberately: tsx is registered in-process rather than spawning
9
+ * `node --import tsx …`, because the bridge relies on stdin as the parent-death probe and on
10
+ * signal/stdio pass-through.
11
+ *
12
+ * Where the source is not present (a published tarball, a bundled copy) the build runs.
13
+ */
14
+ import { existsSync } from "node:fs";
15
+ import { dirname, join } from "node:path";
16
+ import { fileURLToPath, pathToFileURL } from "node:url";
17
+
18
+ const root = dirname(dirname(fileURLToPath(import.meta.url)));
19
+ const source = join(root, "src", "entries", "cli.ts");
20
+ const built = join(root, "dist", "entries", "cli.js");
21
+
22
+ /** Source only when it can actually be RUN: a tarball may carry `src/` with no tsx beside it. */
23
+ const runnable = existsSync(source) && (await import("tsx/esm/api").catch(() => null));
24
+ if (runnable) {
25
+ runnable.register();
26
+ // A URL, not a path: on Windows `import("C:\…")` is read as a URL with the scheme `c:` and refused.
27
+ await import(pathToFileURL(source).href);
28
+ } else {
29
+ await import(pathToFileURL(built).href);
30
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import{emitUsage as a,wantsHelp as r}from"./commands/help.js";import{ownVersion as n}from"./version.js";const o={"capture-server":{summary:"host-owned native screenshot and preview service",run:async e=>{r(e)&&a(`Usage: mirasim-cu capture-server
3
+
4
+ Runs the one ScreenCaptureKit helper a host shares among its computer-use runtimes (macOS).
5
+ It takes no arguments: the host passes COMPUTER_USE_MACOS_CAPTURE_SOCKET, _TOKEN and _LEASE.
6
+ See "Shared native capture" in docs/embedding.md.`,!0);const{runCaptureServer:t}=await import("./commands/capture-server.js");await t()}},mcp:{summary:"MCP stdio server \u2014 the runtime; atomic tools for Claude Code / Codex / any host",run:async e=>{r(e)&&a(`Usage: mirasim-cu mcp
7
+
8
+ Serves the computer_repl tools over MCP on stdin/stdout, for an agent to start:
9
+ claude mcp add mirasim-cu -- npx -y @mirasim/computer-use mcp
10
+
11
+ It takes no arguments; the environment picks what it drives:
12
+ COMPUTER_USE_PLATFORMS browser (default), macos, windows, electron; comma-separated
13
+ COMPUTER_USE_BROWSER=extension the browser you are signed into, through the Mirasim extension
14
+ COMPUTER_USE_CDP_URL drive this Chromium endpoint instead of a browser of its own
15
+ COMPUTER_USE_ELECTRON_CDP_URL the Electron app's endpoint (default http://127.0.0.1:9333)
16
+
17
+ Every variable is listed in docs/embedding.md.`,!0);const{serveMcp:t}=await import("./mcp.js");await t()}},browser:{summary:"the managed browser as a device (open, state export/import)",run:async e=>{if(e[0]==="open"){const{openManagedBrowser:t}=await import("../platform/browser/acquire.js");await t();return}if(e[0]==="state"){const{runBrowserStateCommand:t}=await import("./commands/browser-state.js");await t(e.slice(1));return}a(`Usage: mirasim-cu browser <open | state export [--out f.json] | state import --in f.json>
18
+
19
+ open launch or adopt the managed browser for the user (outlives this process)
20
+ state export dump this profile's login state (cookies + localStorage) as JSON
21
+ state import inject a dumped state back into this profile's browser`,r(e))}},bridge:{summary:"CDP endpoint backed by the user's own browser, via the bridge extension",run:async e=>{const{runBridgeCommand:t}=await import("./commands/bridge.js");await t(e)}},"bridge-host":{summary:"Chrome native-messaging host for the bridge extension (Chrome spawns this)",run:async e=>{const{runBridgeHostCommand:t}=await import("./commands/bridge-host.js");await t(e)}},setup:{summary:"bootstrap a surface (browser; macos = OS grants; extension = native-messaging host)",run:async e=>{const{runSetupCommand:t}=await import("./commands/setup.js");await t(e)}},approvals:{summary:'list, add or revoke the apps answered "always allow"',run:async e=>{const{runApprovalsCommand:t}=await import("./commands/approvals.js");await t(e)}}};function i(){const e=Math.max(...Object.keys(o).map(s=>s.length)),t=Object.entries(o).map(([s,m])=>` ${s.padEnd(e)} ${m.summary}`).join(`
22
+ `);a(`mirasim-cu ${n()} \u2014 Computer Use tools over MCP (browser, electron, macos).
23
+
24
+ Usage:
25
+ mirasim-cu <command> [args] one of the commands below
26
+ mirasim-cu <command> --help that command's own usage
27
+
28
+ Commands:
29
+ ${t}
30
+
31
+ Surface selection is env: COMPUTER_USE_PLATFORMS, plus COMPUTER_USE_PROFILE_DIR,
32
+ COMPUTER_USE_CDP_URL or COMPUTER_USE_ELECTRON_CDP_URL to pin WHICH surface.`,!0)}async function c(){const e=process.argv.slice(2),[t,...s]=e;if(t==="--version"||t==="-v"){console.log(n());return}if(r(e)&&i(),t!==void 0&&Object.hasOwn(o,t)){await o[t].run(s);return}console.error(`mirasim-cu: unknown command ${t===void 0?"(none given)":`"${t}"`}`),i()}c().catch(e=>{console.error(e instanceof Error?e.message:e),process.exit(1)});
@@ -0,0 +1 @@
1
+ export declare function runApprovalsCommand(argv: string[]): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import{parseArgs as u}from"node:util";import{MacosApprovals as w}from"../../platform/macos/approvals.js";import{WindowsApprovals as v}from"../../platform/windows/app-gate.js";import{emitUsage as r,wantsHelp as h}from"./help.js";const l=`Usage: mirasim-cu approvals [list] [--json] [--platform P]
2
+ mirasim-cu approvals add <app> [--platform P]
3
+ mirasim-cu approvals remove <app> [--platform P]
4
+
5
+ list the apps answered "always allow" (default)
6
+ add allow an app ahead of its first prompt
7
+ remove revoke one; the next use asks again (a session that answered it itself keeps it
8
+ until that session ends)
9
+
10
+ Only a client that can ask (MCP elicitation) consults this list. One that cannot drives every
11
+ app, or only COMPUTER_USE_MACOS_FALLBACK_APPS when that is set.
12
+
13
+ <app> macOS: a bundle id (com.apple.TextEdit; find one with
14
+ \`osascript -e 'id of app "TextEdit"'\`). Windows: the executable's stem (WINWORD).
15
+ --platform P macos | windows (default: this machine's)
16
+ --json print the result as JSON`;function P(a){return a==="macos"?new w(process.env):new v(process.env)}function g(){return process.platform==="darwin"?"macos":process.platform==="win32"?"windows":null}const A=a=>a==="macos"?"COMPUTER_USE_MACOS_APPROVALS":"COMPUTER_USE_WINDOWS_APPROVALS";async function $(a){h(a)&&r(l,!0);const{values:p,positionals:m}=u({args:a,allowPositionals:!0,options:{platform:{type:"string"},json:{type:"boolean",default:!1}}}),[e="list",i,...f]=m,s=p.platform??g();s!=="macos"&&s!=="windows"&&r(l,!1),e!=="list"&&e!=="add"&&e!=="remove"&&r(l,!1),(f.length||e==="list"!=!i?.trim())&&r(l,!1);const o=P(s);o.file||(console.error(`${s} approvals are kept by the host (${A(s)}=""): change them in its own settings.`),process.exit(1));const c=o.list();e==="add"&&o.add(i.trim()),e==="remove"&&o.remove(i.trim());const n=o.list(),t=s==="windows"?i?.trim().toLowerCase():i?.trim();if((e==="add"&&!n.includes(t)||e==="remove"&&n.includes(t))&&(console.error(`could not write ${o.file}`),process.exit(1)),p.json){console.log(JSON.stringify({platform:s,file:o.file,apps:n}));return}e==="add"&&console.log(c.includes(t)?`already allowed: ${t}`:`allowed: ${t}`),e==="remove"&&console.log(c.includes(t)?`revoked: ${t}`:`not in the list: ${t}`),e==="list"&&(console.log(`${s} approvals (${o.file}):`),console.log(n.length?n.map(d=>` ${d}`).join(`
17
+ `):" (none \u2014 every app is asked about on first use)"))}export{$ as runApprovalsCommand};
@@ -0,0 +1 @@
1
+ export declare function runBridgeHostCommand(rest: string[]): Promise<void>;
@@ -0,0 +1,7 @@
1
+ import b from"node:fs";import O from"node:net";import u from"node:path";import{parseArgs as x}from"node:util";import{BROWSER_TO_HOST_MAX as h,encodeFrame as k,FrameDecoder as y,HOST_TO_BROWSER_MAX as p}from"../../platform/browser/bridge/native-frames.js";import{emitUsage as C,wantsHelp as P}from"./help.js";function w(n){C(`Usage: mirasim-cu bridge-host --socket <path> [--socket <path> \u2026]
2
+
3
+ Chrome's native-messaging host for the mirasim bridge extension. Chrome runs this;
4
+ running it by hand does nothing useful \u2014 it speaks the length-prefixed stdio protocol.
5
+
6
+ --socket <path> a bridge's local socket (absolute); repeated, the first that answers wins`,n)}function _(n){return u.join(u.dirname(n),"bridge-host.log")}async function j(n){P(n)&&w(!0);const{values:a}=x({args:n,options:{socket:{type:"string",multiple:!0}},allowPositionals:!0,strict:!1}),g=(Array.isArray(a.socket)?a.socket:[a.socket]).filter(o=>typeof o=="string"&&o!=="");g.length||w(!1);let m=g[0];const f=o=>{try{b.appendFileSync(_(m),`${new Date().toISOString()} ${o}
7
+ `)}catch{}};let d=null;for(const o of g)if(d=await new Promise(c=>{const s=O.createConnection(o);s.once("connect",()=>c(s)),s.once("error",e=>{f(`no bridge on ${o}: ${e.message}`),c(null)})}),d){m=o;break}const i=d;if(!i){process.exitCode=1;return}f(`connected to ${m}`);const S=new y(h),$=new y(p),l=(o,c,s)=>{try{s.write(k(o,c))}catch(e){f(`frame rejected: ${e instanceof Error?e.message:String(e)}`)}};await new Promise(o=>{const c=(e,r=0)=>{f(e),process.exitCode=r,i.destroy(),o()},s=(e,r=0)=>{c(e,r),process.exit(r)};process.stdin.on("data",e=>{let r;try{r=S.push(e)}catch(t){s(`stdin: ${t instanceof Error?t.message:String(t)}`,1);return}for(const t of r){if(t.includes('"ping"')&&A(t)){l(JSON.stringify({type:"pong"}),p,process.stdout);continue}i.write(k(t,h))}}),process.stdin.on("end",()=>s("stdin closed")),process.stdin.on("error",e=>s(`stdin error: ${e.message}`,1)),i.on("data",e=>{let r;try{r=$.push(e)}catch(t){s(`socket: ${t instanceof Error?t.message:String(t)}`,1);return}for(const t of r)l(t,p,process.stdout)}),i.on("close",()=>s("bridge closed the socket")),i.on("error",e=>s(`socket error: ${e.message}`,1))})}function A(n){try{return JSON.parse(n)?.type==="ping"}catch{return!1}}export{j as runBridgeHostCommand};
@@ -0,0 +1 @@
1
+ export declare function runBridgeCommand(rest: string[]): Promise<void>;
@@ -0,0 +1,16 @@
1
+ import{parseArgs as m}from"node:util";import{BridgeServer as h}from"../../platform/browser/bridge/server.js";import{extensionDir as u}from"../../platform/browser/bridge/extension-id.js";import{defaultBridgeSocket as b,installNativeHost as v}from"../../platform/browser/bridge/native-host.js";import{emitUsage as I,wantsHelp as S}from"./help.js";import{hostEntry as x,hostName as E,NATIVE_HOST_OPTIONS as _,NATIVE_HOST_USAGE as N}from"./native-host-options.js";const P=3e4;function g(i){I(`Usage: mirasim-cu bridge [--native-host] [--port N] [--socket P] [--json] [--verbose]
2
+
3
+ Runs in the foreground until killed, printing the CDP endpoint as its first line
4
+ (--json for one parseable object). Point COMPUTER_USE_CDP_URL at that endpoint.
5
+
6
+ --native-host record this bridge so the browser extension can reach it (writes the
7
+ native-messaging manifests; see \`setup extension\`). Implies a socket
8
+ --port N listen port (default 0 = pick a free one)
9
+ --socket P the native-messaging shim (bridge-host) dials this socket \u2014 the one way
10
+ the extension reaches this process (default with --native-host:
11
+ <COMPUTER_USE_HOME>/bridge.sock)
12
+ --json print the status line as JSON (cdpUrl, extensionId, extensionDir, nativeHost)
13
+ --verbose bridge diagnostics on stderr
14
+
15
+ With --native-host:
16
+ ${N}`,i)}async function D(i){S(i)&&g(!0);const{values:s}=m({args:i,options:{port:{type:"string",default:"0"},socket:{type:"string"},json:{type:"boolean",default:!1},verbose:{type:"boolean",default:!1},"native-host":{type:"boolean",default:!1},..._}}),r=Number.parseInt(s.port??"0",10);(!Number.isInteger(r)||r<0||r>65535)&&g(!1);const a=s.socket??(s["native-host"]?b():void 0),n=new h({port:r,...a?{socketPath:a}:{},...s.verbose?{log:(...t)=>console.error("[bridge]",...t)}:{}});await n.start();let c=null,e;if(s["native-host"]&&a){let t=null,d="";const f=()=>{try{t??=x(s,a,n.extensionIds);const o=v(t,E(s));e={name:o.name,manifests:o.manifests,owners:o.owners}}catch(o){e={error:o instanceof Error?o.message:String(o)}}const p=JSON.stringify(e);d&&p!==d&&console.error("[bridge] native host",p),d=p};f(),c=setInterval(()=>{n.extensionConnected()||f()},P),c.unref()}const l={cdpUrl:n.cdpUrl(),extensionId:n.extensionId,extensionIds:n.extensionIds,extensionDir:u(),...e?{nativeHost:e}:{}};s.json?console.log(JSON.stringify(l)):(console.log(`bridge CDP endpoint: ${l.cdpUrl}`),console.log(`extension id: ${l.extensionId}`),console.log(`unpacked extension: ${l.extensionDir}`),e&&console.log(`native host: ${"error"in e?`not installed \u2014 ${e.error}`:`${e.name} \u2192 ${e.manifests.join(", ")||"(no browser folder found)"}`}`)),await new Promise(t=>{process.once("SIGINT",t),process.once("SIGTERM",t),process.env.COMPUTER_USE_BRIDGE_PARENT_STDIN==="1"&&(process.stdin.resume(),process.stdin.once("end",t),process.stdin.once("close",t),process.stdin.once("error",t))}),c&&clearInterval(c),n.stop()}export{D as runBridgeCommand};
@@ -0,0 +1 @@
1
+ export declare function runBrowserStateCommand(argv: string[]): Promise<void>;
@@ -0,0 +1,8 @@
1
+ import{readFileSync as u,writeFileSync as g}from"node:fs";import{parseArgs as f}from"node:util";import{acquireManagedBrowser as l}from"../../platform/browser/acquire.js";import{exportStorageState as w,importStorageState as y}from"../../platform/browser/state.js";import{emitUsage as h,wantsHelp as m}from"./help.js";function i(e){h(`Usage: mirasim-cu browser state export [--out state.json]
2
+ mirasim-cu browser state import --in state.json
3
+
4
+ State shape is Playwright storage_state: {cookies: [...], origins: [{origin, localStorage: [...]}]}.
5
+ The target browser/profile follows COMPUTER_USE_PROFILE_DIR (default ~/.mirasim-computer-use/chrome), adopt-or-launch.
6
+ export with no --out prints the JSON to stdout (stderr carries the summary).`,e)}async function b(e){const s=e[0];s!=="export"&&s!=="import"&&i(m(e)),m(e.slice(1))&&i(!0);let t;try{t=f({args:e.slice(1),options:{out:{type:"string"},in:{type:"string"}}}).values}catch{i(!1)}if(s==="export"){const{browser:o}=await l();try{const a=await w(o),c=`${JSON.stringify(a,null,2)}
7
+ `;t.out?g(t.out,c):process.stdout.write(c),console.error(`mirasim-cu: exported ${a.cookies.length} cookie(s), ${a.origins.length} origin(s) with localStorage${t.out?` \u2192 ${t.out}`:""}`)}finally{await o.close().catch(()=>{})}return}t.in||i(!1);let r;try{r=JSON.parse(u(t.in,"utf8"))}catch(o){console.error(`mirasim-cu: cannot read state file ${t.in}: ${o.message.split(`
8
+ `)[0]}`),process.exit(1)}(!Array.isArray(r?.cookies)||!Array.isArray(r?.origins))&&(console.error(`mirasim-cu: ${t.in} is not a storage-state JSON (expected {cookies: [], origins: []})`),process.exit(1));const{browser:n,profileDir:p}=await l();try{await y(n,r),console.error(`mirasim-cu: imported ${r.cookies.length} cookie(s), ${r.origins.length} origin(s) into ${p}`)}finally{await n.close().catch(()=>{})}}export{b as runBrowserStateCommand};
@@ -0,0 +1 @@
1
+ export declare function runCaptureServer(): Promise<void>;