rtrt-agent 0.2.0 → 0.2.1

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 (483) hide show
  1. package/README.ko.md +183 -30
  2. package/README.md +190 -29
  3. package/THIRD_PARTY_NOTICES/INDEX.md +98 -9
  4. package/THIRD_PARTY_NOTICES/INVENTORY.json +8151 -0
  5. package/THIRD_PARTY_NOTICES/SUPPLEMENTS.json +148 -0
  6. package/THIRD_PARTY_NOTICES/adler2@2.0.1/LICENSE-0BSD +12 -0
  7. package/THIRD_PARTY_NOTICES/adler2@2.0.1/LICENSE-APACHE +201 -0
  8. package/THIRD_PARTY_NOTICES/adler2@2.0.1/LICENSE-MIT +23 -0
  9. package/THIRD_PARTY_NOTICES/ahash@0.8.12/LICENSE-APACHE +201 -0
  10. package/THIRD_PARTY_NOTICES/ahash@0.8.12/LICENSE-MIT +25 -0
  11. package/THIRD_PARTY_NOTICES/aho-corasick@1.1.4/COPYING +3 -0
  12. package/THIRD_PARTY_NOTICES/aho-corasick@1.1.4/LICENSE-MIT +21 -0
  13. package/THIRD_PARTY_NOTICES/allocator-api2@0.2.21/LICENSE-APACHE +176 -0
  14. package/THIRD_PARTY_NOTICES/allocator-api2@0.2.21/LICENSE-MIT +23 -0
  15. package/THIRD_PARTY_NOTICES/anstream@1.0.0/LICENSE-APACHE +202 -0
  16. package/THIRD_PARTY_NOTICES/anstream@1.0.0/LICENSE-MIT +19 -0
  17. package/THIRD_PARTY_NOTICES/anstyle-parse@1.0.0/LICENSE-APACHE +202 -0
  18. package/THIRD_PARTY_NOTICES/anstyle-parse@1.0.0/LICENSE-MIT +19 -0
  19. package/THIRD_PARTY_NOTICES/anstyle-query@1.1.5/LICENSE-APACHE +202 -0
  20. package/THIRD_PARTY_NOTICES/anstyle-query@1.1.5/LICENSE-MIT +19 -0
  21. package/THIRD_PARTY_NOTICES/anstyle-wincon@3.0.11/LICENSE-APACHE +202 -0
  22. package/THIRD_PARTY_NOTICES/anstyle-wincon@3.0.11/LICENSE-MIT +19 -0
  23. package/THIRD_PARTY_NOTICES/anstyle@1.0.14/LICENSE-APACHE +202 -0
  24. package/THIRD_PARTY_NOTICES/anstyle@1.0.14/LICENSE-MIT +19 -0
  25. package/THIRD_PARTY_NOTICES/anyhow@1.0.103/LICENSE-APACHE +176 -0
  26. package/THIRD_PARTY_NOTICES/anyhow@1.0.103/LICENSE-MIT +23 -0
  27. package/THIRD_PARTY_NOTICES/async-compression@0.4.42/LICENSE-APACHE +201 -0
  28. package/THIRD_PARTY_NOTICES/async-compression@0.4.42/LICENSE-MIT +21 -0
  29. package/THIRD_PARTY_NOTICES/async-trait@0.1.92/LICENSE-APACHE +176 -0
  30. package/THIRD_PARTY_NOTICES/async-trait@0.1.92/LICENSE-MIT +23 -0
  31. package/THIRD_PARTY_NOTICES/atomic-waker@1.1.2/LICENSE-APACHE +201 -0
  32. package/THIRD_PARTY_NOTICES/atomic-waker@1.1.2/LICENSE-MIT +23 -0
  33. package/THIRD_PARTY_NOTICES/atomic-waker@1.1.2/LICENSE-THIRD-PARTY +45 -0
  34. package/THIRD_PARTY_NOTICES/autocfg@1.5.0/LICENSE-APACHE +201 -0
  35. package/THIRD_PARTY_NOTICES/autocfg@1.5.0/LICENSE-MIT +25 -0
  36. package/THIRD_PARTY_NOTICES/axum-core@0.5.6/LICENSE +27 -0
  37. package/THIRD_PARTY_NOTICES/axum-macros@0.5.1/LICENSE +7 -0
  38. package/THIRD_PARTY_NOTICES/axum@0.8.9/LICENSE +25 -0
  39. package/THIRD_PARTY_NOTICES/base64@0.22.1/LICENSE-APACHE +201 -0
  40. package/THIRD_PARTY_NOTICES/base64@0.22.1/LICENSE-MIT +21 -0
  41. package/THIRD_PARTY_NOTICES/bitflags@2.11.1/LICENSE-APACHE +201 -0
  42. package/THIRD_PARTY_NOTICES/bitflags@2.11.1/LICENSE-MIT +25 -0
  43. package/THIRD_PARTY_NOTICES/block-buffer@0.10.4/LICENSE-APACHE +201 -0
  44. package/THIRD_PARTY_NOTICES/block-buffer@0.10.4/LICENSE-MIT +25 -0
  45. package/THIRD_PARTY_NOTICES/bytes@1.11.1/LICENSE +25 -0
  46. package/THIRD_PARTY_NOTICES/cc@1.2.62/LICENSE-APACHE +201 -0
  47. package/THIRD_PARTY_NOTICES/cc@1.2.62/LICENSE-MIT +25 -0
  48. package/THIRD_PARTY_NOTICES/cfg-if@1.0.4/LICENSE-APACHE +201 -0
  49. package/THIRD_PARTY_NOTICES/cfg-if@1.0.4/LICENSE-MIT +25 -0
  50. package/THIRD_PARTY_NOTICES/chacha20@0.10.2/LICENSE-APACHE +201 -0
  51. package/THIRD_PARTY_NOTICES/chacha20@0.10.2/LICENSE-MIT +25 -0
  52. package/THIRD_PARTY_NOTICES/chrono@0.4.44/LICENSE.txt +240 -0
  53. package/THIRD_PARTY_NOTICES/clap@4.6.1/LICENSE-APACHE +202 -0
  54. package/THIRD_PARTY_NOTICES/clap@4.6.1/LICENSE-MIT +19 -0
  55. package/THIRD_PARTY_NOTICES/clap_builder@4.6.0/LICENSE-APACHE +202 -0
  56. package/THIRD_PARTY_NOTICES/clap_builder@4.6.0/LICENSE-MIT +19 -0
  57. package/THIRD_PARTY_NOTICES/clap_derive@4.6.1/LICENSE-APACHE +202 -0
  58. package/THIRD_PARTY_NOTICES/clap_derive@4.6.1/LICENSE-MIT +19 -0
  59. package/THIRD_PARTY_NOTICES/clap_lex@1.1.0/LICENSE-APACHE +202 -0
  60. package/THIRD_PARTY_NOTICES/clap_lex@1.1.0/LICENSE-MIT +19 -0
  61. package/THIRD_PARTY_NOTICES/colorchoice@1.0.5/LICENSE-APACHE +202 -0
  62. package/THIRD_PARTY_NOTICES/colorchoice@1.0.5/LICENSE-MIT +19 -0
  63. package/THIRD_PARTY_NOTICES/compression-codecs@0.4.38/LICENSE-APACHE +201 -0
  64. package/THIRD_PARTY_NOTICES/compression-codecs@0.4.38/LICENSE-MIT +21 -0
  65. package/THIRD_PARTY_NOTICES/compression-core@0.4.32/LICENSE-APACHE +201 -0
  66. package/THIRD_PARTY_NOTICES/compression-core@0.4.32/LICENSE-MIT +21 -0
  67. package/THIRD_PARTY_NOTICES/cpufeatures@0.2.17/LICENSE-APACHE +201 -0
  68. package/THIRD_PARTY_NOTICES/cpufeatures@0.2.17/LICENSE-MIT +25 -0
  69. package/THIRD_PARTY_NOTICES/cpufeatures@0.3.0/LICENSE-APACHE +201 -0
  70. package/THIRD_PARTY_NOTICES/cpufeatures@0.3.0/LICENSE-MIT +25 -0
  71. package/THIRD_PARTY_NOTICES/crc32fast@1.5.0/LICENSE-APACHE +202 -0
  72. package/THIRD_PARTY_NOTICES/crc32fast@1.5.0/LICENSE-MIT +21 -0
  73. package/THIRD_PARTY_NOTICES/crossbeam-deque@0.8.6/LICENSE-APACHE +201 -0
  74. package/THIRD_PARTY_NOTICES/crossbeam-deque@0.8.6/LICENSE-MIT +27 -0
  75. package/THIRD_PARTY_NOTICES/crossbeam-epoch@0.9.20/LICENSE-APACHE +201 -0
  76. package/THIRD_PARTY_NOTICES/crossbeam-epoch@0.9.20/LICENSE-MIT +27 -0
  77. package/THIRD_PARTY_NOTICES/crossbeam-utils@0.8.21/LICENSE-APACHE +201 -0
  78. package/THIRD_PARTY_NOTICES/crossbeam-utils@0.8.21/LICENSE-MIT +27 -0
  79. package/THIRD_PARTY_NOTICES/crypto-common@0.1.7/LICENSE-APACHE +201 -0
  80. package/THIRD_PARTY_NOTICES/crypto-common@0.1.7/LICENSE-MIT +25 -0
  81. package/THIRD_PARTY_NOTICES/darling@0.20.11/LICENSE +21 -0
  82. package/THIRD_PARTY_NOTICES/darling@0.23.0/LICENSE +21 -0
  83. package/THIRD_PARTY_NOTICES/darling_core@0.20.11/LICENSE +21 -0
  84. package/THIRD_PARTY_NOTICES/darling_core@0.23.0/LICENSE +21 -0
  85. package/THIRD_PARTY_NOTICES/darling_macro@0.20.11/LICENSE +21 -0
  86. package/THIRD_PARTY_NOTICES/darling_macro@0.23.0/LICENSE +21 -0
  87. package/THIRD_PARTY_NOTICES/derive_builder@0.20.2/LICENSE-APACHE +202 -0
  88. package/THIRD_PARTY_NOTICES/derive_builder@0.20.2/LICENSE-MIT +21 -0
  89. package/THIRD_PARTY_NOTICES/derive_builder_core@0.20.2/LICENSE-APACHE +202 -0
  90. package/THIRD_PARTY_NOTICES/derive_builder_core@0.20.2/LICENSE-MIT +21 -0
  91. package/THIRD_PARTY_NOTICES/derive_builder_macro@0.20.2/LICENSE-APACHE +202 -0
  92. package/THIRD_PARTY_NOTICES/derive_builder_macro@0.20.2/LICENSE-MIT +21 -0
  93. package/THIRD_PARTY_NOTICES/digest@0.10.7/LICENSE-APACHE +201 -0
  94. package/THIRD_PARTY_NOTICES/digest@0.10.7/LICENSE-MIT +25 -0
  95. package/THIRD_PARTY_NOTICES/dirs-sys@0.4.1/LICENSE-APACHE +174 -0
  96. package/THIRD_PARTY_NOTICES/dirs-sys@0.4.1/LICENSE-MIT +19 -0
  97. package/THIRD_PARTY_NOTICES/dirs@5.0.1/LICENSE-APACHE +174 -0
  98. package/THIRD_PARTY_NOTICES/dirs@5.0.1/LICENSE-MIT +19 -0
  99. package/THIRD_PARTY_NOTICES/displaydoc@0.2.5/LICENSE-APACHE +201 -0
  100. package/THIRD_PARTY_NOTICES/displaydoc@0.2.5/LICENSE-MIT +23 -0
  101. package/THIRD_PARTY_NOTICES/dyn-clone@1.0.20/LICENSE-APACHE +176 -0
  102. package/THIRD_PARTY_NOTICES/dyn-clone@1.0.20/LICENSE-MIT +23 -0
  103. package/THIRD_PARTY_NOTICES/either@1.16.0/LICENSE-APACHE +201 -0
  104. package/THIRD_PARTY_NOTICES/either@1.16.0/LICENSE-MIT +25 -0
  105. package/THIRD_PARTY_NOTICES/equivalent@1.0.2/LICENSE-APACHE +201 -0
  106. package/THIRD_PARTY_NOTICES/equivalent@1.0.2/LICENSE-MIT +25 -0
  107. package/THIRD_PARTY_NOTICES/errno@0.3.14/LICENSE-APACHE +201 -0
  108. package/THIRD_PARTY_NOTICES/errno@0.3.14/LICENSE-MIT +25 -0
  109. package/THIRD_PARTY_NOTICES/eventsource-stream@0.2.3/Cargo.toml +74 -0
  110. package/THIRD_PARTY_NOTICES/eventsource-stream@0.2.3/DECLARED-APACHE-2.0.txt +202 -0
  111. package/THIRD_PARTY_NOTICES/fallible-iterator@0.3.0/LICENSE-APACHE +202 -0
  112. package/THIRD_PARTY_NOTICES/fallible-iterator@0.3.0/LICENSE-MIT +19 -0
  113. package/THIRD_PARTY_NOTICES/fallible-streaming-iterator@0.1.9/LICENSE-APACHE +202 -0
  114. package/THIRD_PARTY_NOTICES/fallible-streaming-iterator@0.1.9/LICENSE-MIT +19 -0
  115. package/THIRD_PARTY_NOTICES/fastrand@2.4.1/LICENSE-APACHE +201 -0
  116. package/THIRD_PARTY_NOTICES/fastrand@2.4.1/LICENSE-MIT +23 -0
  117. package/THIRD_PARTY_NOTICES/find-msvc-tools@0.1.9/LICENSE-APACHE +201 -0
  118. package/THIRD_PARTY_NOTICES/find-msvc-tools@0.1.9/LICENSE-MIT +25 -0
  119. package/THIRD_PARTY_NOTICES/flate2@1.1.9/LICENSE-APACHE +201 -0
  120. package/THIRD_PARTY_NOTICES/flate2@1.1.9/LICENSE-MIT +25 -0
  121. package/THIRD_PARTY_NOTICES/fnv@1.0.7/LICENSE-APACHE +201 -0
  122. package/THIRD_PARTY_NOTICES/fnv@1.0.7/LICENSE-MIT +25 -0
  123. package/THIRD_PARTY_NOTICES/form_urlencoded@1.2.2/LICENSE-APACHE +201 -0
  124. package/THIRD_PARTY_NOTICES/form_urlencoded@1.2.2/LICENSE-MIT +25 -0
  125. package/THIRD_PARTY_NOTICES/fs2@0.4.3/LICENSE-APACHE +201 -0
  126. package/THIRD_PARTY_NOTICES/fs2@0.4.3/LICENSE-MIT +25 -0
  127. package/THIRD_PARTY_NOTICES/futures-channel@0.3.32/LICENSE-APACHE +202 -0
  128. package/THIRD_PARTY_NOTICES/futures-channel@0.3.32/LICENSE-MIT +26 -0
  129. package/THIRD_PARTY_NOTICES/futures-core@0.3.32/LICENSE-APACHE +202 -0
  130. package/THIRD_PARTY_NOTICES/futures-core@0.3.32/LICENSE-MIT +26 -0
  131. package/THIRD_PARTY_NOTICES/futures-executor@0.3.32/LICENSE-APACHE +202 -0
  132. package/THIRD_PARTY_NOTICES/futures-executor@0.3.32/LICENSE-MIT +26 -0
  133. package/THIRD_PARTY_NOTICES/futures-io@0.3.32/LICENSE-APACHE +202 -0
  134. package/THIRD_PARTY_NOTICES/futures-io@0.3.32/LICENSE-MIT +26 -0
  135. package/THIRD_PARTY_NOTICES/futures-macro@0.3.32/LICENSE-APACHE +202 -0
  136. package/THIRD_PARTY_NOTICES/futures-macro@0.3.32/LICENSE-MIT +26 -0
  137. package/THIRD_PARTY_NOTICES/futures-sink@0.3.32/LICENSE-APACHE +202 -0
  138. package/THIRD_PARTY_NOTICES/futures-sink@0.3.32/LICENSE-MIT +26 -0
  139. package/THIRD_PARTY_NOTICES/futures-task@0.3.32/LICENSE-APACHE +202 -0
  140. package/THIRD_PARTY_NOTICES/futures-task@0.3.32/LICENSE-MIT +26 -0
  141. package/THIRD_PARTY_NOTICES/futures-util@0.3.32/LICENSE-APACHE +202 -0
  142. package/THIRD_PARTY_NOTICES/futures-util@0.3.32/LICENSE-MIT +26 -0
  143. package/THIRD_PARTY_NOTICES/futures@0.3.32/LICENSE-APACHE +202 -0
  144. package/THIRD_PARTY_NOTICES/futures@0.3.32/LICENSE-MIT +26 -0
  145. package/THIRD_PARTY_NOTICES/generic-array@0.14.7/LICENSE +21 -0
  146. package/THIRD_PARTY_NOTICES/getrandom@0.2.17/LICENSE-APACHE +201 -0
  147. package/THIRD_PARTY_NOTICES/getrandom@0.2.17/LICENSE-MIT +26 -0
  148. package/THIRD_PARTY_NOTICES/getrandom@0.3.4/LICENSE-APACHE +201 -0
  149. package/THIRD_PARTY_NOTICES/getrandom@0.3.4/LICENSE-MIT +26 -0
  150. package/THIRD_PARTY_NOTICES/getrandom@0.4.2/LICENSE-APACHE +201 -0
  151. package/THIRD_PARTY_NOTICES/getrandom@0.4.2/LICENSE-MIT +26 -0
  152. package/THIRD_PARTY_NOTICES/handlebars@6.4.1/LICENSE +22 -0
  153. package/THIRD_PARTY_NOTICES/handlebars@6.4.1/wasm/LICENSE +22 -0
  154. package/THIRD_PARTY_NOTICES/hashbrown@0.14.5/LICENSE-APACHE +201 -0
  155. package/THIRD_PARTY_NOTICES/hashbrown@0.14.5/LICENSE-MIT +25 -0
  156. package/THIRD_PARTY_NOTICES/hashbrown@0.17.1/LICENSE-APACHE +201 -0
  157. package/THIRD_PARTY_NOTICES/hashbrown@0.17.1/LICENSE-MIT +25 -0
  158. package/THIRD_PARTY_NOTICES/hashlink@0.9.1/LICENSE-APACHE +201 -0
  159. package/THIRD_PARTY_NOTICES/hashlink@0.9.1/LICENSE-MIT +26 -0
  160. package/THIRD_PARTY_NOTICES/heck@0.5.0/LICENSE-APACHE +201 -0
  161. package/THIRD_PARTY_NOTICES/heck@0.5.0/LICENSE-MIT +25 -0
  162. package/THIRD_PARTY_NOTICES/hmac@0.12.1/LICENSE-APACHE +201 -0
  163. package/THIRD_PARTY_NOTICES/hmac@0.12.1/LICENSE-MIT +25 -0
  164. package/THIRD_PARTY_NOTICES/http-body-util@0.1.3/LICENSE +25 -0
  165. package/THIRD_PARTY_NOTICES/http-body@1.0.1/LICENSE +25 -0
  166. package/THIRD_PARTY_NOTICES/http-range-header@0.4.2/LICENSE +21 -0
  167. package/THIRD_PARTY_NOTICES/http@1.4.0/LICENSE-APACHE +201 -0
  168. package/THIRD_PARTY_NOTICES/http@1.4.0/LICENSE-MIT +25 -0
  169. package/THIRD_PARTY_NOTICES/httparse@1.10.1/LICENSE-APACHE +201 -0
  170. package/THIRD_PARTY_NOTICES/httparse@1.10.1/LICENSE-MIT +20 -0
  171. package/THIRD_PARTY_NOTICES/httpdate@1.0.3/LICENSE-APACHE +201 -0
  172. package/THIRD_PARTY_NOTICES/httpdate@1.0.3/LICENSE-MIT +19 -0
  173. package/THIRD_PARTY_NOTICES/hyper-rustls@0.27.9/LICENSE-APACHE +201 -0
  174. package/THIRD_PARTY_NOTICES/hyper-rustls@0.27.9/LICENSE-ISC +15 -0
  175. package/THIRD_PARTY_NOTICES/hyper-rustls@0.27.9/LICENSE-MIT +25 -0
  176. package/THIRD_PARTY_NOTICES/hyper-util@0.1.20/LICENSE +19 -0
  177. package/THIRD_PARTY_NOTICES/hyper@1.9.0/LICENSE +19 -0
  178. package/THIRD_PARTY_NOTICES/icu_collections@2.1.1/LICENSE +46 -0
  179. package/THIRD_PARTY_NOTICES/icu_locale_core@2.1.1/LICENSE +46 -0
  180. package/THIRD_PARTY_NOTICES/icu_normalizer@2.1.1/LICENSE +46 -0
  181. package/THIRD_PARTY_NOTICES/icu_normalizer_data@2.1.1/LICENSE +46 -0
  182. package/THIRD_PARTY_NOTICES/icu_properties@2.1.2/LICENSE +46 -0
  183. package/THIRD_PARTY_NOTICES/icu_properties_data@2.1.2/LICENSE +46 -0
  184. package/THIRD_PARTY_NOTICES/icu_provider@2.1.1/LICENSE +46 -0
  185. package/THIRD_PARTY_NOTICES/ident_case@1.0.1/LICENSE +19 -0
  186. package/THIRD_PARTY_NOTICES/idna@1.1.0/LICENSE-APACHE +201 -0
  187. package/THIRD_PARTY_NOTICES/idna@1.1.0/LICENSE-MIT +25 -0
  188. package/THIRD_PARTY_NOTICES/idna_adapter@1.2.1/LICENSE-APACHE +201 -0
  189. package/THIRD_PARTY_NOTICES/idna_adapter@1.2.1/LICENSE-MIT +25 -0
  190. package/THIRD_PARTY_NOTICES/indexmap@2.14.0/LICENSE-APACHE +201 -0
  191. package/THIRD_PARTY_NOTICES/indexmap@2.14.0/LICENSE-MIT +25 -0
  192. package/THIRD_PARTY_NOTICES/instant-distance@0.6.1/Cargo.toml +65 -0
  193. package/THIRD_PARTY_NOTICES/instant-distance@0.6.1/LICENSE +201 -0
  194. package/THIRD_PARTY_NOTICES/ipnet@2.12.0/LICENSE-APACHE +201 -0
  195. package/THIRD_PARTY_NOTICES/ipnet@2.12.0/LICENSE-MIT +7 -0
  196. package/THIRD_PARTY_NOTICES/is_terminal_polyfill@1.70.2/LICENSE-APACHE +202 -0
  197. package/THIRD_PARTY_NOTICES/is_terminal_polyfill@1.70.2/LICENSE-MIT +19 -0
  198. package/THIRD_PARTY_NOTICES/itoa@1.0.18/LICENSE-APACHE +176 -0
  199. package/THIRD_PARTY_NOTICES/itoa@1.0.18/LICENSE-MIT +23 -0
  200. package/THIRD_PARTY_NOTICES/layout-base@2.0.1/JamaJS-APACHE.txt +210 -0
  201. package/THIRD_PARTY_NOTICES/lazy_static@1.5.0/LICENSE-APACHE +201 -0
  202. package/THIRD_PARTY_NOTICES/lazy_static@1.5.0/LICENSE-MIT +25 -0
  203. package/THIRD_PARTY_NOTICES/libc@0.2.186/LICENSE-APACHE +176 -0
  204. package/THIRD_PARTY_NOTICES/libc@0.2.186/LICENSE-MIT +25 -0
  205. package/THIRD_PARTY_NOTICES/libsqlite3-sys@0.30.1/LICENSE +19 -0
  206. package/THIRD_PARTY_NOTICES/libsqlite3-sys@0.30.1/sqlcipher/LICENSE +24 -0
  207. package/THIRD_PARTY_NOTICES/linux-raw-sys@0.12.1/COPYRIGHT +29 -0
  208. package/THIRD_PARTY_NOTICES/linux-raw-sys@0.12.1/LICENSE-APACHE +201 -0
  209. package/THIRD_PARTY_NOTICES/linux-raw-sys@0.12.1/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
  210. package/THIRD_PARTY_NOTICES/linux-raw-sys@0.12.1/LICENSE-MIT +23 -0
  211. package/THIRD_PARTY_NOTICES/litemap@0.8.2/LICENSE +46 -0
  212. package/THIRD_PARTY_NOTICES/lock_api@0.4.14/LICENSE-APACHE +201 -0
  213. package/THIRD_PARTY_NOTICES/lock_api@0.4.14/LICENSE-MIT +25 -0
  214. package/THIRD_PARTY_NOTICES/log@0.4.29/LICENSE-APACHE +201 -0
  215. package/THIRD_PARTY_NOTICES/log@0.4.29/LICENSE-MIT +25 -0
  216. package/THIRD_PARTY_NOTICES/matchers@0.2.0/LICENSE +19 -0
  217. package/THIRD_PARTY_NOTICES/matchit@0.8.4/LICENSE +21 -0
  218. package/THIRD_PARTY_NOTICES/matchit@0.8.4/LICENSE.httprouter +29 -0
  219. package/THIRD_PARTY_NOTICES/memchr@2.8.0/COPYING +3 -0
  220. package/THIRD_PARTY_NOTICES/memchr@2.8.0/LICENSE-MIT +21 -0
  221. package/THIRD_PARTY_NOTICES/mime@0.3.17/LICENSE-APACHE +201 -0
  222. package/THIRD_PARTY_NOTICES/mime@0.3.17/LICENSE-MIT +20 -0
  223. package/THIRD_PARTY_NOTICES/mime_guess@2.0.5/LICENSE +22 -0
  224. package/THIRD_PARTY_NOTICES/minimal-lexical@0.2.1/LICENSE-APACHE +201 -0
  225. package/THIRD_PARTY_NOTICES/minimal-lexical@0.2.1/LICENSE-MIT +23 -0
  226. package/THIRD_PARTY_NOTICES/minimal-lexical@0.2.1/LICENSE.md +37 -0
  227. package/THIRD_PARTY_NOTICES/miniz_oxide@0.8.9/LICENSE +25 -0
  228. package/THIRD_PARTY_NOTICES/miniz_oxide@0.8.9/LICENSE-APACHE.md +177 -0
  229. package/THIRD_PARTY_NOTICES/miniz_oxide@0.8.9/LICENSE-MIT.md +24 -0
  230. package/THIRD_PARTY_NOTICES/miniz_oxide@0.8.9/LICENSE-ZLIB.md +14 -0
  231. package/THIRD_PARTY_NOTICES/mio@1.2.0/LICENSE +19 -0
  232. package/THIRD_PARTY_NOTICES/nom@7.1.3/LICENSE +20 -0
  233. package/THIRD_PARTY_NOTICES/nu-ansi-term@0.50.3/LICENSE +22 -0
  234. package/THIRD_PARTY_NOTICES/num-modular@0.6.1/LICENSE +201 -0
  235. package/THIRD_PARTY_NOTICES/num-order@1.2.0/LICENSE +201 -0
  236. package/THIRD_PARTY_NOTICES/num-traits@0.2.19/LICENSE-APACHE +201 -0
  237. package/THIRD_PARTY_NOTICES/num-traits@0.2.19/LICENSE-MIT +25 -0
  238. package/THIRD_PARTY_NOTICES/num_cpus@1.17.0/LICENSE-APACHE +201 -0
  239. package/THIRD_PARTY_NOTICES/num_cpus@1.17.0/LICENSE-MIT +20 -0
  240. package/THIRD_PARTY_NOTICES/once_cell@1.21.4/LICENSE-APACHE +201 -0
  241. package/THIRD_PARTY_NOTICES/once_cell@1.21.4/LICENSE-MIT +23 -0
  242. package/THIRD_PARTY_NOTICES/once_cell_polyfill@1.70.2/LICENSE-APACHE +202 -0
  243. package/THIRD_PARTY_NOTICES/once_cell_polyfill@1.70.2/LICENSE-MIT +19 -0
  244. package/THIRD_PARTY_NOTICES/ordered-float@3.9.2/LICENSE-MIT +25 -0
  245. package/THIRD_PARTY_NOTICES/parking_lot@0.12.5/LICENSE-APACHE +201 -0
  246. package/THIRD_PARTY_NOTICES/parking_lot@0.12.5/LICENSE-MIT +25 -0
  247. package/THIRD_PARTY_NOTICES/parking_lot_core@0.9.12/LICENSE-APACHE +201 -0
  248. package/THIRD_PARTY_NOTICES/parking_lot_core@0.9.12/LICENSE-MIT +25 -0
  249. package/THIRD_PARTY_NOTICES/pastey@0.2.3/LICENSE-APACHE +176 -0
  250. package/THIRD_PARTY_NOTICES/pastey@0.2.3/LICENSE-MIT +23 -0
  251. package/THIRD_PARTY_NOTICES/percent-encoding@2.3.2/LICENSE-APACHE +201 -0
  252. package/THIRD_PARTY_NOTICES/percent-encoding@2.3.2/LICENSE-MIT +25 -0
  253. package/THIRD_PARTY_NOTICES/pest@2.8.6/LICENSE-APACHE +201 -0
  254. package/THIRD_PARTY_NOTICES/pest@2.8.6/LICENSE-MIT +23 -0
  255. package/THIRD_PARTY_NOTICES/pest_derive@2.8.6/LICENSE-APACHE +201 -0
  256. package/THIRD_PARTY_NOTICES/pest_derive@2.8.6/LICENSE-MIT +23 -0
  257. package/THIRD_PARTY_NOTICES/pest_generator@2.8.6/LICENSE-APACHE +201 -0
  258. package/THIRD_PARTY_NOTICES/pest_generator@2.8.6/LICENSE-MIT +23 -0
  259. package/THIRD_PARTY_NOTICES/pest_meta@2.8.6/LICENSE-APACHE +201 -0
  260. package/THIRD_PARTY_NOTICES/pest_meta@2.8.6/LICENSE-MIT +23 -0
  261. package/THIRD_PARTY_NOTICES/pin-project-lite@0.2.17/LICENSE-APACHE +177 -0
  262. package/THIRD_PARTY_NOTICES/pin-project-lite@0.2.17/LICENSE-MIT +23 -0
  263. package/THIRD_PARTY_NOTICES/pkg-config@0.3.33/LICENSE-APACHE +201 -0
  264. package/THIRD_PARTY_NOTICES/pkg-config@0.3.33/LICENSE-MIT +25 -0
  265. package/THIRD_PARTY_NOTICES/potential_utf@0.1.5/LICENSE +46 -0
  266. package/THIRD_PARTY_NOTICES/ppv-lite86@0.2.21/LICENSE-APACHE +201 -0
  267. package/THIRD_PARTY_NOTICES/ppv-lite86@0.2.21/LICENSE-MIT +25 -0
  268. package/THIRD_PARTY_NOTICES/proc-macro2@1.0.106/LICENSE-APACHE +176 -0
  269. package/THIRD_PARTY_NOTICES/proc-macro2@1.0.106/LICENSE-MIT +23 -0
  270. package/THIRD_PARTY_NOTICES/quote@1.0.45/LICENSE-APACHE +176 -0
  271. package/THIRD_PARTY_NOTICES/quote@1.0.45/LICENSE-MIT +23 -0
  272. package/THIRD_PARTY_NOTICES/rand@0.10.1/COPYRIGHT +12 -0
  273. package/THIRD_PARTY_NOTICES/rand@0.10.1/LICENSE-APACHE +176 -0
  274. package/THIRD_PARTY_NOTICES/rand@0.10.1/LICENSE-MIT +26 -0
  275. package/THIRD_PARTY_NOTICES/rand@0.8.6/COPYRIGHT +12 -0
  276. package/THIRD_PARTY_NOTICES/rand@0.8.6/LICENSE-APACHE +176 -0
  277. package/THIRD_PARTY_NOTICES/rand@0.8.6/LICENSE-MIT +26 -0
  278. package/THIRD_PARTY_NOTICES/rand_chacha@0.3.1/COPYRIGHT +12 -0
  279. package/THIRD_PARTY_NOTICES/rand_chacha@0.3.1/LICENSE-APACHE +201 -0
  280. package/THIRD_PARTY_NOTICES/rand_chacha@0.3.1/LICENSE-MIT +26 -0
  281. package/THIRD_PARTY_NOTICES/rand_core@0.10.1/COPYRIGHT +9 -0
  282. package/THIRD_PARTY_NOTICES/rand_core@0.10.1/LICENSE-APACHE +187 -0
  283. package/THIRD_PARTY_NOTICES/rand_core@0.10.1/LICENSE-MIT +25 -0
  284. package/THIRD_PARTY_NOTICES/rand_core@0.6.4/COPYRIGHT +12 -0
  285. package/THIRD_PARTY_NOTICES/rand_core@0.6.4/LICENSE-APACHE +187 -0
  286. package/THIRD_PARTY_NOTICES/rand_core@0.6.4/LICENSE-MIT +26 -0
  287. package/THIRD_PARTY_NOTICES/rayon-core@1.13.0/LICENSE-APACHE +201 -0
  288. package/THIRD_PARTY_NOTICES/rayon-core@1.13.0/LICENSE-MIT +25 -0
  289. package/THIRD_PARTY_NOTICES/rayon@1.12.0/LICENSE-APACHE +201 -0
  290. package/THIRD_PARTY_NOTICES/rayon@1.12.0/LICENSE-MIT +25 -0
  291. package/THIRD_PARTY_NOTICES/ref-cast-impl@1.0.25/LICENSE-APACHE +176 -0
  292. package/THIRD_PARTY_NOTICES/ref-cast-impl@1.0.25/LICENSE-MIT +23 -0
  293. package/THIRD_PARTY_NOTICES/ref-cast@1.0.25/LICENSE-APACHE +176 -0
  294. package/THIRD_PARTY_NOTICES/ref-cast@1.0.25/LICENSE-MIT +23 -0
  295. package/THIRD_PARTY_NOTICES/regex-automata@0.4.14/LICENSE-APACHE +201 -0
  296. package/THIRD_PARTY_NOTICES/regex-automata@0.4.14/LICENSE-MIT +25 -0
  297. package/THIRD_PARTY_NOTICES/regex-syntax@0.8.10/LICENSE-APACHE +201 -0
  298. package/THIRD_PARTY_NOTICES/regex-syntax@0.8.10/LICENSE-MIT +25 -0
  299. package/THIRD_PARTY_NOTICES/regex-syntax@0.8.10/src/unicode_tables/LICENSE-UNICODE +57 -0
  300. package/THIRD_PARTY_NOTICES/regex@1.12.3/LICENSE-APACHE +201 -0
  301. package/THIRD_PARTY_NOTICES/regex@1.12.3/LICENSE-MIT +25 -0
  302. package/THIRD_PARTY_NOTICES/reqwest@0.12.28/LICENSE-APACHE +201 -0
  303. package/THIRD_PARTY_NOTICES/reqwest@0.12.28/LICENSE-MIT +20 -0
  304. package/THIRD_PARTY_NOTICES/rmcp-macros@1.7.0/Cargo.toml +54 -0
  305. package/THIRD_PARTY_NOTICES/rmcp-macros@1.7.0/LICENSE +216 -0
  306. package/THIRD_PARTY_NOTICES/rmcp@1.7.0/Cargo.toml +683 -0
  307. package/THIRD_PARTY_NOTICES/rmcp@1.7.0/LICENSE +216 -0
  308. package/THIRD_PARTY_NOTICES/rusqlite@0.32.1/LICENSE +19 -0
  309. package/THIRD_PARTY_NOTICES/rustix@1.1.4/COPYRIGHT +29 -0
  310. package/THIRD_PARTY_NOTICES/rustix@1.1.4/LICENSE-APACHE +201 -0
  311. package/THIRD_PARTY_NOTICES/rustix@1.1.4/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
  312. package/THIRD_PARTY_NOTICES/rustix@1.1.4/LICENSE-MIT +23 -0
  313. package/THIRD_PARTY_NOTICES/rustls-pki-types@1.14.1/LICENSE-APACHE +201 -0
  314. package/THIRD_PARTY_NOTICES/rustls-pki-types@1.14.1/LICENSE-MIT +25 -0
  315. package/THIRD_PARTY_NOTICES/rustls-webpki@0.103.15/LICENSE +19 -0
  316. package/THIRD_PARTY_NOTICES/rustls@0.23.45/LICENSE-APACHE +201 -0
  317. package/THIRD_PARTY_NOTICES/rustls@0.23.45/LICENSE-ISC +15 -0
  318. package/THIRD_PARTY_NOTICES/rustls@0.23.45/LICENSE-MIT +25 -0
  319. package/THIRD_PARTY_NOTICES/ryu@1.0.23/LICENSE-APACHE +176 -0
  320. package/THIRD_PARTY_NOTICES/ryu@1.0.23/LICENSE-BOOST +23 -0
  321. package/THIRD_PARTY_NOTICES/same-file@1.0.6/COPYING +3 -0
  322. package/THIRD_PARTY_NOTICES/same-file@1.0.6/LICENSE-MIT +21 -0
  323. package/THIRD_PARTY_NOTICES/schemars@0.8.22/LICENSE +21 -0
  324. package/THIRD_PARTY_NOTICES/schemars@1.2.1/LICENSE +21 -0
  325. package/THIRD_PARTY_NOTICES/schemars_derive@0.8.22/LICENSE +21 -0
  326. package/THIRD_PARTY_NOTICES/schemars_derive@1.2.1/LICENSE +21 -0
  327. package/THIRD_PARTY_NOTICES/scopeguard@1.2.0/LICENSE-APACHE +201 -0
  328. package/THIRD_PARTY_NOTICES/scopeguard@1.2.0/LICENSE-MIT +25 -0
  329. package/THIRD_PARTY_NOTICES/serde@1.0.228/LICENSE-APACHE +176 -0
  330. package/THIRD_PARTY_NOTICES/serde@1.0.228/LICENSE-MIT +23 -0
  331. package/THIRD_PARTY_NOTICES/serde_core@1.0.228/LICENSE-APACHE +176 -0
  332. package/THIRD_PARTY_NOTICES/serde_core@1.0.228/LICENSE-MIT +23 -0
  333. package/THIRD_PARTY_NOTICES/serde_derive@1.0.228/LICENSE-APACHE +176 -0
  334. package/THIRD_PARTY_NOTICES/serde_derive@1.0.228/LICENSE-MIT +23 -0
  335. package/THIRD_PARTY_NOTICES/serde_derive_internals@0.29.1/LICENSE-APACHE +176 -0
  336. package/THIRD_PARTY_NOTICES/serde_derive_internals@0.29.1/LICENSE-MIT +23 -0
  337. package/THIRD_PARTY_NOTICES/serde_json@1.0.149/LICENSE-APACHE +176 -0
  338. package/THIRD_PARTY_NOTICES/serde_json@1.0.149/LICENSE-MIT +23 -0
  339. package/THIRD_PARTY_NOTICES/serde_path_to_error@0.1.20/LICENSE-APACHE +176 -0
  340. package/THIRD_PARTY_NOTICES/serde_path_to_error@0.1.20/LICENSE-MIT +23 -0
  341. package/THIRD_PARTY_NOTICES/serde_spanned@0.6.9/LICENSE-APACHE +202 -0
  342. package/THIRD_PARTY_NOTICES/serde_spanned@0.6.9/LICENSE-MIT +19 -0
  343. package/THIRD_PARTY_NOTICES/serde_urlencoded@0.7.1/LICENSE-APACHE +176 -0
  344. package/THIRD_PARTY_NOTICES/serde_urlencoded@0.7.1/LICENSE-MIT +25 -0
  345. package/THIRD_PARTY_NOTICES/sha2@0.10.9/LICENSE-APACHE +201 -0
  346. package/THIRD_PARTY_NOTICES/sha2@0.10.9/LICENSE-MIT +27 -0
  347. package/THIRD_PARTY_NOTICES/sharded-slab@0.1.7/LICENSE +19 -0
  348. package/THIRD_PARTY_NOTICES/shlex@1.3.0/LICENSE-APACHE +13 -0
  349. package/THIRD_PARTY_NOTICES/shlex@1.3.0/LICENSE-MIT +21 -0
  350. package/THIRD_PARTY_NOTICES/signal-hook-registry@1.4.8/LICENSE-APACHE +201 -0
  351. package/THIRD_PARTY_NOTICES/signal-hook-registry@1.4.8/LICENSE-MIT +25 -0
  352. package/THIRD_PARTY_NOTICES/simd-adler32@0.3.9/LICENSE.md +21 -0
  353. package/THIRD_PARTY_NOTICES/slab@0.4.12/LICENSE +25 -0
  354. package/THIRD_PARTY_NOTICES/smallvec@1.15.1/LICENSE-APACHE +201 -0
  355. package/THIRD_PARTY_NOTICES/smallvec@1.15.1/LICENSE-MIT +25 -0
  356. package/THIRD_PARTY_NOTICES/socket2@0.6.3/LICENSE-APACHE +201 -0
  357. package/THIRD_PARTY_NOTICES/socket2@0.6.3/LICENSE-MIT +25 -0
  358. package/THIRD_PARTY_NOTICES/sse-stream@0.2.3/Cargo.toml +124 -0
  359. package/THIRD_PARTY_NOTICES/sse-stream@0.2.3/LICENSE-APACHE +202 -0
  360. package/THIRD_PARTY_NOTICES/sse-stream@0.2.3/LICENSE-MIT +21 -0
  361. package/THIRD_PARTY_NOTICES/stable_deref_trait@1.2.1/LICENSE-APACHE +201 -0
  362. package/THIRD_PARTY_NOTICES/stable_deref_trait@1.2.1/LICENSE-MIT +25 -0
  363. package/THIRD_PARTY_NOTICES/streaming-iterator@0.1.9/LICENSE-APACHE +202 -0
  364. package/THIRD_PARTY_NOTICES/streaming-iterator@0.1.9/LICENSE-MIT +19 -0
  365. package/THIRD_PARTY_NOTICES/strsim@0.11.1/LICENSE +23 -0
  366. package/THIRD_PARTY_NOTICES/syn@2.0.117/LICENSE-APACHE +176 -0
  367. package/THIRD_PARTY_NOTICES/syn@2.0.117/LICENSE-MIT +23 -0
  368. package/THIRD_PARTY_NOTICES/syn@3.0.6/LICENSE-APACHE +176 -0
  369. package/THIRD_PARTY_NOTICES/syn@3.0.6/LICENSE-MIT +23 -0
  370. package/THIRD_PARTY_NOTICES/sync_wrapper@1.0.2/LICENSE +177 -0
  371. package/THIRD_PARTY_NOTICES/synstructure@0.13.2/LICENSE +7 -0
  372. package/THIRD_PARTY_NOTICES/tempfile@3.27.0/LICENSE-APACHE +201 -0
  373. package/THIRD_PARTY_NOTICES/tempfile@3.27.0/LICENSE-MIT +25 -0
  374. package/THIRD_PARTY_NOTICES/thiserror-impl@2.0.18/LICENSE-APACHE +176 -0
  375. package/THIRD_PARTY_NOTICES/thiserror-impl@2.0.18/LICENSE-MIT +23 -0
  376. package/THIRD_PARTY_NOTICES/thiserror@2.0.18/LICENSE-APACHE +176 -0
  377. package/THIRD_PARTY_NOTICES/thiserror@2.0.18/LICENSE-MIT +23 -0
  378. package/THIRD_PARTY_NOTICES/thread_local@1.1.9/LICENSE-APACHE +201 -0
  379. package/THIRD_PARTY_NOTICES/thread_local@1.1.9/LICENSE-MIT +25 -0
  380. package/THIRD_PARTY_NOTICES/tinystr@0.8.3/LICENSE +46 -0
  381. package/THIRD_PARTY_NOTICES/tokio-macros@2.7.0/LICENSE +22 -0
  382. package/THIRD_PARTY_NOTICES/tokio-rustls@0.26.4/LICENSE-APACHE +201 -0
  383. package/THIRD_PARTY_NOTICES/tokio-rustls@0.26.4/LICENSE-MIT +25 -0
  384. package/THIRD_PARTY_NOTICES/tokio-stream@0.1.18/LICENSE +21 -0
  385. package/THIRD_PARTY_NOTICES/tokio-util@0.7.18/LICENSE +21 -0
  386. package/THIRD_PARTY_NOTICES/tokio@1.52.3/LICENSE +21 -0
  387. package/THIRD_PARTY_NOTICES/toml@0.8.23/LICENSE-APACHE +202 -0
  388. package/THIRD_PARTY_NOTICES/toml@0.8.23/LICENSE-MIT +19 -0
  389. package/THIRD_PARTY_NOTICES/toml_datetime@0.6.11/LICENSE-APACHE +202 -0
  390. package/THIRD_PARTY_NOTICES/toml_datetime@0.6.11/LICENSE-MIT +19 -0
  391. package/THIRD_PARTY_NOTICES/toml_edit@0.22.27/LICENSE-APACHE +202 -0
  392. package/THIRD_PARTY_NOTICES/toml_edit@0.22.27/LICENSE-MIT +19 -0
  393. package/THIRD_PARTY_NOTICES/toml_write@0.1.2/LICENSE-APACHE +202 -0
  394. package/THIRD_PARTY_NOTICES/toml_write@0.1.2/LICENSE-MIT +19 -0
  395. package/THIRD_PARTY_NOTICES/tower-http@0.6.11/LICENSE +25 -0
  396. package/THIRD_PARTY_NOTICES/tower-layer@0.3.3/LICENSE +25 -0
  397. package/THIRD_PARTY_NOTICES/tower-service@0.3.3/LICENSE +25 -0
  398. package/THIRD_PARTY_NOTICES/tower@0.5.3/LICENSE +25 -0
  399. package/THIRD_PARTY_NOTICES/tracing-attributes@0.1.31/LICENSE +25 -0
  400. package/THIRD_PARTY_NOTICES/tracing-core@0.1.36/LICENSE +25 -0
  401. package/THIRD_PARTY_NOTICES/tracing-core@0.1.36/src/spin/LICENSE +21 -0
  402. package/THIRD_PARTY_NOTICES/tracing-log@0.2.0/LICENSE +25 -0
  403. package/THIRD_PARTY_NOTICES/tracing-subscriber@0.3.23/LICENSE +25 -0
  404. package/THIRD_PARTY_NOTICES/tracing@0.1.44/LICENSE +25 -0
  405. package/THIRD_PARTY_NOTICES/tree-sitter-language@0.1.7/LICENSE +21 -0
  406. package/THIRD_PARTY_NOTICES/tree-sitter-python@0.23.6/Cargo.toml +60 -0
  407. package/THIRD_PARTY_NOTICES/tree-sitter-python@0.23.6/LICENSE +21 -0
  408. package/THIRD_PARTY_NOTICES/tree-sitter-rust@0.24.2/LICENSE +21 -0
  409. package/THIRD_PARTY_NOTICES/tree-sitter-typescript@0.23.2/Cargo.toml +62 -0
  410. package/THIRD_PARTY_NOTICES/tree-sitter-typescript@0.23.2/LICENSE +21 -0
  411. package/THIRD_PARTY_NOTICES/tree-sitter@0.26.9/LICENSE +21 -0
  412. package/THIRD_PARTY_NOTICES/tree-sitter@0.26.9/src/unicode/LICENSE +414 -0
  413. package/THIRD_PARTY_NOTICES/try-lock@0.2.5/LICENSE +21 -0
  414. package/THIRD_PARTY_NOTICES/typenum@1.20.0/LICENSE +1 -0
  415. package/THIRD_PARTY_NOTICES/typenum@1.20.0/LICENSE-APACHE +201 -0
  416. package/THIRD_PARTY_NOTICES/typenum@1.20.0/LICENSE-MIT +21 -0
  417. package/THIRD_PARTY_NOTICES/ucd-trie@0.1.7/LICENSE-APACHE +201 -0
  418. package/THIRD_PARTY_NOTICES/ucd-trie@0.1.7/LICENSE-MIT +21 -0
  419. package/THIRD_PARTY_NOTICES/unicase@2.9.0/LICENSE-APACHE +201 -0
  420. package/THIRD_PARTY_NOTICES/unicase@2.9.0/LICENSE-MIT +20 -0
  421. package/THIRD_PARTY_NOTICES/unicode-ident@1.0.24/LICENSE-APACHE +176 -0
  422. package/THIRD_PARTY_NOTICES/unicode-ident@1.0.24/LICENSE-MIT +23 -0
  423. package/THIRD_PARTY_NOTICES/unicode-ident@1.0.24/LICENSE-UNICODE +39 -0
  424. package/THIRD_PARTY_NOTICES/untrusted@0.9.0/LICENSE.txt +13 -0
  425. package/THIRD_PARTY_NOTICES/ureq@2.12.1/LICENSE-APACHE +201 -0
  426. package/THIRD_PARTY_NOTICES/ureq@2.12.1/LICENSE-MIT +21 -0
  427. package/THIRD_PARTY_NOTICES/ureq@2.12.1/src/chunked/LICENSE-APACHE +201 -0
  428. package/THIRD_PARTY_NOTICES/ureq@2.12.1/src/chunked/LICENSE-MIT +22 -0
  429. package/THIRD_PARTY_NOTICES/url@2.5.8/LICENSE-APACHE +201 -0
  430. package/THIRD_PARTY_NOTICES/url@2.5.8/LICENSE-MIT +25 -0
  431. package/THIRD_PARTY_NOTICES/utf8_iter@1.0.4/COPYRIGHT +42 -0
  432. package/THIRD_PARTY_NOTICES/utf8_iter@1.0.4/LICENSE-APACHE +202 -0
  433. package/THIRD_PARTY_NOTICES/utf8_iter@1.0.4/LICENSE-MIT +25 -0
  434. package/THIRD_PARTY_NOTICES/utf8parse@0.2.2/LICENSE-APACHE +176 -0
  435. package/THIRD_PARTY_NOTICES/utf8parse@0.2.2/LICENSE-MIT +25 -0
  436. package/THIRD_PARTY_NOTICES/uuid@1.23.1/LICENSE-APACHE +201 -0
  437. package/THIRD_PARTY_NOTICES/uuid@1.23.1/LICENSE-MIT +26 -0
  438. package/THIRD_PARTY_NOTICES/vcpkg@0.2.15/LICENSE-APACHE +202 -0
  439. package/THIRD_PARTY_NOTICES/vcpkg@0.2.15/LICENSE-MIT +26 -0
  440. package/THIRD_PARTY_NOTICES/version_check@0.9.5/LICENSE-APACHE +201 -0
  441. package/THIRD_PARTY_NOTICES/version_check@0.9.5/LICENSE-MIT +19 -0
  442. package/THIRD_PARTY_NOTICES/walkdir@2.5.0/COPYING +3 -0
  443. package/THIRD_PARTY_NOTICES/walkdir@2.5.0/LICENSE-MIT +21 -0
  444. package/THIRD_PARTY_NOTICES/want@0.3.1/LICENSE +20 -0
  445. package/THIRD_PARTY_NOTICES/whatlang@0.16.4/Cargo.toml +76 -0
  446. package/THIRD_PARTY_NOTICES/whatlang@0.16.4/LICENSE +26 -0
  447. package/THIRD_PARTY_NOTICES/winapi-util@0.1.11/COPYING +3 -0
  448. package/THIRD_PARTY_NOTICES/winapi-util@0.1.11/LICENSE-MIT +21 -0
  449. package/THIRD_PARTY_NOTICES/winapi@0.3.9/LICENSE-APACHE +201 -0
  450. package/THIRD_PARTY_NOTICES/winapi@0.3.9/LICENSE-MIT +19 -0
  451. package/THIRD_PARTY_NOTICES/windows-link@0.2.1/license-apache-2.0 +201 -0
  452. package/THIRD_PARTY_NOTICES/windows-link@0.2.1/license-mit +21 -0
  453. package/THIRD_PARTY_NOTICES/windows-sys@0.48.0/license-apache-2.0 +201 -0
  454. package/THIRD_PARTY_NOTICES/windows-sys@0.48.0/license-mit +21 -0
  455. package/THIRD_PARTY_NOTICES/windows-sys@0.61.2/license-apache-2.0 +201 -0
  456. package/THIRD_PARTY_NOTICES/windows-sys@0.61.2/license-mit +21 -0
  457. package/THIRD_PARTY_NOTICES/windows-targets@0.48.5/license-apache-2.0 +201 -0
  458. package/THIRD_PARTY_NOTICES/windows-targets@0.48.5/license-mit +21 -0
  459. package/THIRD_PARTY_NOTICES/windows_x86_64_msvc@0.48.5/license-apache-2.0 +201 -0
  460. package/THIRD_PARTY_NOTICES/windows_x86_64_msvc@0.48.5/license-mit +21 -0
  461. package/THIRD_PARTY_NOTICES/winnow@0.7.15/LICENSE-MIT +18 -0
  462. package/THIRD_PARTY_NOTICES/writeable@0.6.3/LICENSE +46 -0
  463. package/THIRD_PARTY_NOTICES/yoke-derive@0.8.2/LICENSE +46 -0
  464. package/THIRD_PARTY_NOTICES/yoke@0.8.2/LICENSE +46 -0
  465. package/THIRD_PARTY_NOTICES/zerocopy@0.8.48/LICENSE-APACHE +202 -0
  466. package/THIRD_PARTY_NOTICES/zerocopy@0.8.48/LICENSE-BSD +24 -0
  467. package/THIRD_PARTY_NOTICES/zerocopy@0.8.48/LICENSE-MIT +26 -0
  468. package/THIRD_PARTY_NOTICES/zerofrom-derive@0.1.7/LICENSE +46 -0
  469. package/THIRD_PARTY_NOTICES/zerofrom@0.1.8/LICENSE +46 -0
  470. package/THIRD_PARTY_NOTICES/zeroize@1.8.2/LICENSE-APACHE +202 -0
  471. package/THIRD_PARTY_NOTICES/zeroize@1.8.2/LICENSE-MIT +21 -0
  472. package/THIRD_PARTY_NOTICES/zerotrie@0.2.4/LICENSE +46 -0
  473. package/THIRD_PARTY_NOTICES/zerovec-derive@0.11.3/LICENSE +46 -0
  474. package/THIRD_PARTY_NOTICES/zerovec@0.11.6/LICENSE +46 -0
  475. package/THIRD_PARTY_NOTICES/zmij@1.0.21/LICENSE-MIT +23 -0
  476. package/package.json +10 -24
  477. package/runtime/dashboard-acl.js +22 -0
  478. package/runtime/dashboard-acl.ps1 +103 -0
  479. package/runtime/dashboard-binary.js +5 -0
  480. package/runtime/dashboard-bootstrap.js +45 -0
  481. package/runtime/dashboard-files.js +20 -3
  482. package/runtime/dashboard-process.js +6 -5
  483. package/runtime/dashboard-supervisor.js +3 -1
@@ -0,0 +1,103 @@
1
+ $ErrorActionPreference = 'Stop'
2
+ $target = $env:RTRT_ACL_PATH
3
+ $action = $env:RTRT_ACL_ACTION
4
+ if (-not [IO.Path]::IsPathRooted($target) -or $target.Contains([char]0)) { throw 'Invalid ACL path' }
5
+ $self = [Security.Principal.WindowsIdentity]::GetCurrent().User
6
+ $system = New-Object Security.Principal.SecurityIdentifier 'S-1-5-18'
7
+ $admins = New-Object Security.Principal.SecurityIdentifier 'S-1-5-32-544'
8
+ $creatorOwner = New-Object Security.Principal.SecurityIdentifier 'S-1-3-0'
9
+
10
+ function Assert-Item([string] $name) {
11
+ $item = Get-Item -LiteralPath $name -Force
12
+ if (($item.Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) { throw 'Reparse point refused' }
13
+ return $item
14
+ }
15
+
16
+ function Assert-Private([string] $name) {
17
+ $item = Assert-Item $name
18
+ $acl = Get-Acl -LiteralPath $name
19
+ if ($acl.GetOwner([Security.Principal.SecurityIdentifier]).Value -ne $self.Value -or
20
+ -not $acl.AreAccessRulesProtected) { throw 'Private owner or inheritance mismatch' }
21
+ $rules = @($acl.GetAccessRules($true, $true, [Security.Principal.SecurityIdentifier]))
22
+ if ($rules.Count -ne 1) { throw 'Private ACE count mismatch' }
23
+ $rule = $rules[0]
24
+ if ($rule.IsInherited -or $rule.IdentityReference.Value -ne $self.Value -or
25
+ $rule.AccessControlType -ne [Security.AccessControl.AccessControlType]::Allow -or
26
+ [int]$rule.FileSystemRights -ne [int][Security.AccessControl.FileSystemRights]::FullControl) {
27
+ throw 'Private ACE mismatch'
28
+ }
29
+ if ($item.PSIsContainer) {
30
+ if ($rule.InheritanceFlags -ne ([Security.AccessControl.InheritanceFlags]::ContainerInherit -bor
31
+ [Security.AccessControl.InheritanceFlags]::ObjectInherit) -or
32
+ $rule.PropagationFlags -ne [Security.AccessControl.PropagationFlags]::None) { throw 'Private directory ACE mismatch' }
33
+ } elseif ($rule.InheritanceFlags -ne [Security.AccessControl.InheritanceFlags]::None) {
34
+ throw 'Private file ACE mismatch'
35
+ }
36
+ }
37
+
38
+ if ($action -eq 'private-create') {
39
+ $item = Assert-Item $target
40
+ if ($item.PSIsContainer) {
41
+ $acl = New-Object Security.AccessControl.DirectorySecurity
42
+ $flags = 'ContainerInherit,ObjectInherit'
43
+ $rule = New-Object Security.AccessControl.FileSystemAccessRule -ArgumentList @($self, 'FullControl', $flags, 'None', 'Allow')
44
+ } else {
45
+ $acl = New-Object Security.AccessControl.FileSecurity
46
+ $rule = New-Object Security.AccessControl.FileSystemAccessRule -ArgumentList @($self, 'FullControl', 'Allow')
47
+ }
48
+ $acl.SetOwner($self)
49
+ $acl.SetAccessRuleProtection($true, $false)
50
+ $acl.AddAccessRule($rule)
51
+ Set-Acl -LiteralPath $target -AclObject $acl
52
+ Assert-Private $target
53
+ } elseif ($action -eq 'private-check') {
54
+ Assert-Private $target
55
+ } elseif ($action -eq 'binary-check') {
56
+ $current = $target
57
+ $trustedInstaller = New-Object Security.Principal.SecurityIdentifier 'S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464'
58
+ $trustedBinarySids = @($self.Value, $system.Value, $admins.Value, $trustedInstaller.Value)
59
+ $writes = [int]([Security.AccessControl.FileSystemRights]::WriteData -bor
60
+ [Security.AccessControl.FileSystemRights]::AppendData -bor
61
+ [Security.AccessControl.FileSystemRights]::WriteExtendedAttributes -bor
62
+ [Security.AccessControl.FileSystemRights]::WriteAttributes -bor
63
+ [Security.AccessControl.FileSystemRights]::Delete -bor
64
+ [Security.AccessControl.FileSystemRights]::DeleteSubdirectoriesAndFiles -bor
65
+ [Security.AccessControl.FileSystemRights]::ChangePermissions -bor
66
+ [Security.AccessControl.FileSystemRights]::TakeOwnership)
67
+ $replaceChildren = [int]([Security.AccessControl.FileSystemRights]::Delete -bor
68
+ [Security.AccessControl.FileSystemRights]::DeleteSubdirectoriesAndFiles -bor
69
+ [Security.AccessControl.FileSystemRights]::ChangePermissions -bor
70
+ [Security.AccessControl.FileSystemRights]::TakeOwnership)
71
+ while ($current) {
72
+ $item = Assert-Item $current
73
+ $acl = Get-Acl -LiteralPath $current
74
+ $owner = $acl.GetOwner([Security.Principal.SecurityIdentifier]).Value
75
+ if ($trustedBinarySids -cnotcontains $owner) { throw 'Untrusted binary owner' }
76
+ $effectiveWrites = $writes
77
+ if ($item.PSIsContainer) {
78
+ # Creation and directory-metadata rights alone cannot replace protected checked
79
+ # children; deletion or ACL/ownership control can.
80
+ $effectiveWrites = $replaceChildren
81
+ }
82
+ foreach ($rule in $acl.GetAccessRules($true, $true, [Security.Principal.SecurityIdentifier])) {
83
+ $sid = $rule.IdentityReference.Value
84
+ $rights = [int]$rule.FileSystemRights
85
+ # Expand generic masks before comparing filesystem rights. GenericWrite creates
86
+ # directory entries but does not itself grant delete-child or ownership control.
87
+ if (($rights -band 0x10000000) -ne 0) {
88
+ $rights = $rights -bor [int][Security.AccessControl.FileSystemRights]::FullControl
89
+ }
90
+ if (($rights -band 0x40000000) -ne 0) {
91
+ $rights = $rights -bor [int][Security.AccessControl.FileSystemRights]::Write
92
+ }
93
+ if ($rule.AccessControlType -eq [Security.AccessControl.AccessControlType]::Allow -and
94
+ $trustedBinarySids -cnotcontains $sid -and
95
+ $sid -ne $creatorOwner.Value -and
96
+ (([int]$rule.PropagationFlags -band [int][Security.AccessControl.PropagationFlags]::InheritOnly) -eq 0) -and
97
+ ($rights -band $effectiveWrites) -ne 0) { throw 'Untrusted binary writer' }
98
+ }
99
+ $parent = [IO.Path]::GetDirectoryName($current.TrimEnd([IO.Path]::DirectorySeparatorChar))
100
+ if (-not $parent -or $parent -eq $current) { break }
101
+ $current = $parent
102
+ }
103
+ } else { throw 'Invalid ACL operation' }
@@ -2,6 +2,7 @@ import { lstat, readFile } from "node:fs/promises"
2
2
  import path from "node:path"
3
3
  import { fileURLToPath } from "node:url"
4
4
  import { readRegular, realPath, unavailable } from "./dashboard-files.js"
5
+ import { windowsAcl } from "./dashboard-acl.js"
5
6
 
6
7
  const PACKAGES = new Map([
7
8
  ["linux-x64", "rtrt-dashboard-linux-x64"],
@@ -52,11 +53,15 @@ export async function resolveDashboardBinary({
52
53
  if (parent === ancestor) break
53
54
  ancestor = parent
54
55
  }
56
+ if (platform === "win32") await windowsAcl(path.join(directory, "package.json"), "binary-check")
55
57
  const manifest = JSON.parse(await readRegular(path.join(directory, "package.json"), validate))
56
58
  if (manifest.name !== name || manifest.version !== expected) continue
57
59
  const binary = path.join(directory, "bin", platform === "win32" ? "rtrt-dashboard.exe" : "rtrt-dashboard")
58
60
  await realPath(binary)
59
61
  validate(await lstat(path.dirname(binary)))
62
+ if (platform === "win32") {
63
+ await windowsAcl(binary, "binary-check")
64
+ }
60
65
  const stat = await lstat(binary)
61
66
  validate(stat)
62
67
  if (!stat.isFile() || stat.nlink !== 1 || (platform !== "win32" && (stat.mode & 0o111) === 0)) throw unavailable()
@@ -0,0 +1,45 @@
1
+ import { randomBytes } from "node:crypto"
2
+ import { constants } from "node:fs"
3
+ import { lstat, open, rename, unlink } from "node:fs/promises"
4
+ import path from "node:path"
5
+ import { privateMetadata, realPath, unavailable } from "./dashboard-files.js"
6
+ import { windowsAcl } from "./dashboard-acl.js"
7
+
8
+ export async function writeDashboardBootstrap(state, credential, { platform = process.platform, uid = process.geteuid?.() } = {}) {
9
+ if (!/^[A-Za-z0-9_-]{87}$/.test(credential)) throw unavailable()
10
+ await realPath(state)
11
+ const stateMetadata = await lstat(state)
12
+ privateMetadata(stateMetadata, { platform, uid }, 0o700)
13
+ if (!stateMetadata.isDirectory()) throw unavailable()
14
+ if (platform === "win32") await windowsAcl(state, "private-check")
15
+ const destination = path.join(state, "bootstrap.html")
16
+ try {
17
+ const existing = await lstat(destination)
18
+ privateMetadata(existing, { platform, uid }, 0o600)
19
+ if (!existing.isFile() || existing.nlink !== 1 || existing.size > 512) throw unavailable()
20
+ if (platform === "win32") await windowsAcl(destination, "private-check")
21
+ } catch (error) {
22
+ if (error.code !== "ENOENT") throw error
23
+ }
24
+ const temporary = path.join(state, `.bootstrap-${randomBytes(16).toString("hex")}.tmp`)
25
+ const handle = await open(temporary, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW ?? 0), 0o600)
26
+ try {
27
+ if (platform === "win32") await windowsAcl(temporary, "private-create")
28
+ privateMetadata(await handle.stat(), { platform, uid }, 0o600)
29
+ const body = `<!doctype html><meta http-equiv="refresh" content="0;url=http://127.0.0.1:7311/#bootstrap=${credential}">`
30
+ await handle.writeFile(body)
31
+ await handle.sync()
32
+ } catch (error) {
33
+ await handle.close()
34
+ await unlink(temporary)
35
+ throw error
36
+ }
37
+ await handle.close()
38
+ try {
39
+ await rename(temporary, destination)
40
+ } catch (error) {
41
+ await unlink(temporary)
42
+ throw error
43
+ }
44
+ return destination
45
+ }
@@ -1,6 +1,7 @@
1
1
  import { constants } from "node:fs"
2
2
  import { lstat, mkdir, open, rmdir } from "node:fs/promises"
3
3
  import path from "node:path"
4
+ import { windowsAcl } from "./dashboard-acl.js"
4
5
 
5
6
  export const unavailable = () => new Error("Dashboard unavailable.")
6
7
 
@@ -11,7 +12,8 @@ export async function realPath(candidate) {
11
12
  let current = path.parse(normalized).root
12
13
  for (const part of parts) {
13
14
  current = path.join(current, part)
14
- if ((await lstat(current)).isSymbolicLink()) throw unavailable()
15
+ const stat = await lstat(current)
16
+ if (stat.isSymbolicLink()) throw unavailable()
15
17
  }
16
18
  return normalized
17
19
  }
@@ -48,6 +50,7 @@ export function dashboardFiles({ home, uid, platform }) {
48
50
  const stat = await lstat(candidate)
49
51
  privateMetadata(stat, identity, 0o700)
50
52
  if (!stat.isDirectory()) throw unavailable()
53
+ if (platform === "win32") await windowsAcl(candidate, "private-check")
51
54
  }
52
55
  const checkLock = async () => {
53
56
  try { await directory(lock) } catch (error) {
@@ -59,7 +62,10 @@ export function dashboardFiles({ home, uid, platform }) {
59
62
  const stat = await lstat(home)
60
63
  if (!stat.isDirectory() || (platform !== "win32" && (stat.uid !== uid || (stat.mode & 0o022) !== 0))) throw unavailable()
61
64
  for (const candidate of [path.dirname(state), state]) {
62
- try { await mkdir(candidate, { mode: 0o700 }) } catch (error) {
65
+ try {
66
+ await mkdir(candidate, { mode: 0o700 })
67
+ if (platform === "win32") await windowsAcl(candidate, "private-create")
68
+ } catch (error) {
63
69
  if (error.code !== "EEXIST") throw error
64
70
  }
65
71
  await directory(candidate)
@@ -69,6 +75,13 @@ export function dashboardFiles({ home, uid, platform }) {
69
75
  const readToken = async () => {
70
76
  await realPath(state)
71
77
  let raw
78
+ if (platform === "win32") {
79
+ try { await lstat(credential) } catch (error) {
80
+ if (error.code === "ENOENT") return undefined
81
+ throw error
82
+ }
83
+ await windowsAcl(credential, "private-check")
84
+ }
72
85
  try { raw = await readRegular(credential, (stat) => privateMetadata(stat, identity, 0o600)) } catch (error) {
73
86
  if (error.code === "ENOENT") return undefined
74
87
  throw error
@@ -83,6 +96,7 @@ export function dashboardFiles({ home, uid, platform }) {
83
96
  if (!/^[a-fA-F0-9]{64}$/.test(token)) throw unavailable()
84
97
  const handle = await open(credential, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW ?? 0), 0o600)
85
98
  try {
99
+ if (platform === "win32") await windowsAcl(credential, "private-create")
86
100
  privateMetadata(await handle.stat(), identity, 0o600)
87
101
  await handle.writeFile(`RTRT_DASHBOARD_TOKEN=${token}\n`)
88
102
  await handle.sync()
@@ -91,7 +105,10 @@ export function dashboardFiles({ home, uid, platform }) {
91
105
  }
92
106
  }
93
107
  const acquire = async () => {
94
- try { await mkdir(lock, { mode: 0o700 }) } catch (error) {
108
+ try {
109
+ await mkdir(lock, { mode: 0o700 })
110
+ if (platform === "win32") await windowsAcl(lock, "private-create")
111
+ } catch (error) {
95
112
  if (error.code !== "EEXIST") throw error
96
113
  await directory(lock)
97
114
  return undefined
@@ -48,12 +48,13 @@ export function launchDetached(binary, args, { spawnProcess = spawn, ...options
48
48
  })
49
49
  }
50
50
 
51
- export async function openDashboardBrowser(url, { platform = process.platform, launch = launchDetached } = {}) {
52
- // Never consult BROWSER or PATH. URL is generated locally, not supplied by a tool argument.
51
+ export async function openDashboardBrowser(file, { platform = process.platform, launch = launchDetached } = {}) {
52
+ // Never consult BROWSER or PATH. Ordinary opener argv carries only a local file path.
53
+ if (!path.isAbsolute(file) || /:\/\/|#|bootstrap=/i.test(file)) throw unavailable()
53
54
  switch (platform) {
54
- case "linux": return launch("/usr/bin/xdg-open", [url])
55
- case "darwin": return launch("/usr/bin/open", [url])
56
- case "win32": return launch("C:\\Windows\\System32\\rundll32.exe", ["url.dll,FileProtocolHandler", url])
55
+ case "linux": return launch("/usr/bin/xdg-open", [file])
56
+ case "darwin": return launch("/usr/bin/open", [file])
57
+ case "win32": return launch(path.win32.join(process.env.SystemRoot || "C:\\Windows", "System32", "rundll32.exe"), ["url.dll,FileProtocolHandler", file])
57
58
  default: throw unavailable()
58
59
  }
59
60
  }
@@ -4,6 +4,7 @@ import { setTimeout as delay } from "node:timers/promises"
4
4
  import { dashboardFiles, unavailable } from "./dashboard-files.js"
5
5
  import { resolveDashboardBinary } from "./dashboard-binary.js"
6
6
  import { launchDetached, openDashboardBrowser, probeDashboard } from "./dashboard-process.js"
7
+ import { writeDashboardBootstrap } from "./dashboard-bootstrap.js"
7
8
 
8
9
  export function createDashboardSupervisor({
9
10
  env = process.env, platform = process.platform, arch = process.arch, uid = process.geteuid?.(),
@@ -85,7 +86,8 @@ export function createDashboardSupervisor({
85
86
  createHmac("sha256", Buffer.from(token, "hex"))
86
87
  .update("rtrt-dashboard-browser-bootstrap\0v1\0")
87
88
  .update(wire.subarray(0, 33)).digest().copy(wire, 33)
88
- await openBrowser(`http://127.0.0.1:7311/#bootstrap=${wire.toString("base64url")}`, { platform })
89
+ const bootstrap = await writeDashboardBootstrap(files.state, wire.toString("base64url"), { platform, uid })
90
+ await openBrowser(bootstrap, { platform })
89
91
  return "Dashboard open requested."
90
92
  } catch {
91
93
  // Never expose dependency errors: process errors can contain the bootstrap URL.