ranuts 0.4.1-alpha.2 → 0.5.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 (333) hide show
  1. package/CLAUDE.md +23 -16
  2. package/README.de.md +62 -0
  3. package/README.es.md +62 -0
  4. package/README.fa.md +62 -0
  5. package/README.ja.md +62 -0
  6. package/README.ko.md +62 -0
  7. package/README.md +35 -92
  8. package/README.pt.md +62 -0
  9. package/README.zh-CN.md +35 -91
  10. package/dist/iife/index.iife.js +4 -0
  11. package/dist/iife/utils.iife.js +4 -0
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +307 -1
  14. package/dist/src/_virtual/_rolldown/runtime/index.js +12 -0
  15. package/dist/src/conversation/engine.d.ts +1 -1
  16. package/dist/src/conversation/engine.js +101 -0
  17. package/dist/src/conversation/index.d.ts +3 -3
  18. package/dist/src/conversation/index.js +4 -1
  19. package/dist/src/stream/accumulator.d.ts +1 -1
  20. package/dist/src/stream/accumulator.js +79 -0
  21. package/dist/src/stream/budget.d.ts +1 -1
  22. package/dist/src/stream/budget.js +45 -0
  23. package/dist/src/stream/index.d.ts +7 -7
  24. package/dist/src/stream/index.js +11 -1
  25. package/dist/src/stream/sse.d.ts +1 -1
  26. package/dist/src/stream/sse.js +61 -0
  27. package/dist/src/sw/index.js +52 -1
  28. package/dist/src/utils/async.js +49 -0
  29. package/dist/src/utils/audioRecorder.js +1121 -0
  30. package/dist/src/utils/behavior.js +9 -0
  31. package/dist/src/utils/binary.js +89 -0
  32. package/dist/src/utils/bom.d.ts +31 -9
  33. package/dist/src/utils/bom.js +165 -0
  34. package/dist/src/utils/bridge.js +310 -0
  35. package/dist/src/utils/canvas.js +103 -0
  36. package/dist/src/utils/chain.js +76 -0
  37. package/dist/src/utils/charset.d.ts +15 -0
  38. package/dist/src/utils/charset.js +21 -0
  39. package/dist/src/utils/color.d.ts +0 -1
  40. package/dist/src/utils/color.js +312 -0
  41. package/dist/src/utils/compose.js +22 -0
  42. package/dist/src/utils/console.js +22 -0
  43. package/dist/src/utils/debounce.js +18 -0
  44. package/dist/src/utils/device.d.ts +0 -9
  45. package/dist/src/utils/device.js +31 -0
  46. package/dist/src/utils/diff.js +110 -0
  47. package/dist/src/utils/dom.d.ts +1 -1
  48. package/dist/src/utils/dom.js +89 -0
  49. package/dist/src/utils/error.js +11 -0
  50. package/dist/src/utils/event.d.ts +3 -3
  51. package/dist/src/utils/event.js +39 -0
  52. package/dist/src/utils/file.js +14 -0
  53. package/dist/src/utils/func.js +4 -0
  54. package/dist/src/utils/i18n/index.js +79 -1
  55. package/dist/src/utils/idb.js +177 -0
  56. package/dist/src/utils/img.d.ts +1 -1
  57. package/dist/src/utils/img.js +68 -0
  58. package/dist/src/utils/index.d.ts +82 -80
  59. package/dist/src/utils/index.js +307 -1
  60. package/dist/src/utils/lang.d.ts +23 -6
  61. package/dist/src/utils/lang.js +42 -0
  62. package/dist/src/utils/localePath.js +48 -0
  63. package/dist/src/utils/memoize.d.ts +1 -7
  64. package/dist/src/utils/memoize.js +16 -0
  65. package/dist/src/utils/mimeType.js +841 -0
  66. package/dist/src/utils/monitor.js +84 -0
  67. package/dist/src/utils/network.js +117 -0
  68. package/dist/src/utils/noop.js +5 -0
  69. package/dist/src/utils/number.js +185 -0
  70. package/dist/src/utils/obj.d.ts +2 -2
  71. package/dist/src/utils/obj.js +140 -0
  72. package/dist/src/utils/paginate.js +93 -0
  73. package/dist/src/utils/performance.js +26 -0
  74. package/dist/src/utils/placement.js +37 -0
  75. package/dist/src/utils/prefetch.js +69 -0
  76. package/dist/src/utils/queue.js +46 -0
  77. package/dist/src/utils/report.js +44 -0
  78. package/dist/src/utils/request.js +35 -0
  79. package/dist/src/utils/script.d.ts +4 -2
  80. package/dist/src/utils/script.js +45 -0
  81. package/dist/src/utils/scroll.d.ts +2 -0
  82. package/dist/src/utils/scroll.js +62 -0
  83. package/dist/src/utils/secure.js +36 -0
  84. package/dist/src/utils/segment.js +43 -0
  85. package/dist/src/utils/signal.d.ts +1 -1
  86. package/dist/src/utils/signal.js +13 -0
  87. package/dist/src/utils/speech.js +59 -0
  88. package/dist/src/utils/storage.js +53 -0
  89. package/dist/src/utils/str.d.ts +0 -21
  90. package/dist/src/utils/str.js +377 -0
  91. package/dist/src/utils/style.js +29 -0
  92. package/dist/src/utils/subscribe.js +58 -0
  93. package/dist/src/utils/throttle.js +17 -0
  94. package/dist/src/utils/time.d.ts +0 -21
  95. package/dist/src/utils/time.js +97 -0
  96. package/dist/src/utils/totp/sha/common.d.ts +1 -1
  97. package/dist/src/utils/totp/sha/common.js +201 -0
  98. package/dist/src/utils/totp/sha/converters.d.ts +1 -1
  99. package/dist/src/utils/totp/sha/converters.js +188 -0
  100. package/dist/src/utils/totp/sha/primitives_32.js +55 -0
  101. package/dist/src/utils/totp/sha/primitives_64.js +85 -0
  102. package/dist/src/utils/totp/sha/sha.d.ts +1 -1
  103. package/dist/src/utils/totp/sha/sha.js +30 -0
  104. package/dist/src/utils/totp/sha/sha1.d.ts +2 -2
  105. package/dist/src/utils/totp/sha/sha1.js +51 -0
  106. package/dist/src/utils/totp/sha/sha256.d.ts +2 -2
  107. package/dist/src/utils/totp/sha/sha256.js +56 -0
  108. package/dist/src/utils/totp/sha/sha3.d.ts +3 -3
  109. package/dist/src/utils/totp/sha/sha3.js +253 -0
  110. package/dist/src/utils/totp/sha/sha512.d.ts +3 -3
  111. package/dist/src/utils/totp/sha/sha512.js +177 -0
  112. package/dist/src/utils/totp/totp.js +49 -0
  113. package/dist/src/utils/tween.js +59 -0
  114. package/dist/src/utils/visual/application.d.ts +4 -4
  115. package/dist/src/utils/visual/application.js +42 -0
  116. package/dist/src/utils/visual/enums.js +19 -0
  117. package/dist/src/utils/visual/event/boundary.d.ts +2 -2
  118. package/dist/src/utils/visual/event/boundary.js +93 -0
  119. package/dist/src/utils/visual/event/event.d.ts +1 -1
  120. package/dist/src/utils/visual/event/event.js +34 -0
  121. package/dist/src/utils/visual/event/index.d.ts +4 -4
  122. package/dist/src/utils/visual/event/types.d.ts +2 -2
  123. package/dist/src/utils/visual/event/types.js +23 -0
  124. package/dist/src/utils/visual/graphics/graphics.d.ts +8 -8
  125. package/dist/src/utils/visual/graphics/graphics.js +168 -0
  126. package/dist/src/utils/visual/graphics/graphicsData.d.ts +3 -3
  127. package/dist/src/utils/visual/graphics/graphicsData.js +12 -0
  128. package/dist/src/utils/visual/graphics/graphicsGeometry.d.ts +7 -7
  129. package/dist/src/utils/visual/graphics/graphicsGeometry.js +39 -0
  130. package/dist/src/utils/visual/graphics/index.d.ts +3 -3
  131. package/dist/src/utils/visual/index.d.ts +8 -8
  132. package/dist/src/utils/visual/index.js +20 -1
  133. package/dist/src/utils/visual/math/bezier.js +15 -0
  134. package/dist/src/utils/visual/math/enums.js +6 -0
  135. package/dist/src/utils/visual/math/index.d.ts +4 -4
  136. package/dist/src/utils/visual/math/matrix.d.ts +1 -1
  137. package/dist/src/utils/visual/math/matrix.js +59 -0
  138. package/dist/src/utils/visual/math/transform.d.ts +2 -2
  139. package/dist/src/utils/visual/math/transform.js +50 -0
  140. package/dist/src/utils/visual/render/batchRenderer.d.ts +4 -4
  141. package/dist/src/utils/visual/render/batchRenderer.js +59 -0
  142. package/dist/src/utils/visual/render/canvasRenderer.d.ts +3 -3
  143. package/dist/src/utils/visual/render/canvasRenderer.js +17 -0
  144. package/dist/src/utils/visual/render/filter.d.ts +1 -1
  145. package/dist/src/utils/visual/render/filter.js +92 -0
  146. package/dist/src/utils/visual/render/index.d.ts +2 -2
  147. package/dist/src/utils/visual/render/index.js +20 -0
  148. package/dist/src/utils/visual/render/render.d.ts +4 -4
  149. package/dist/src/utils/visual/render/render.js +19 -0
  150. package/dist/src/utils/visual/render/renderTarget.js +28 -0
  151. package/dist/src/utils/visual/render/utils/batch/index.d.ts +4 -4
  152. package/dist/src/utils/visual/render/utils/batch/index.js +88 -0
  153. package/dist/src/utils/visual/render/utils/earcut.js +328 -0
  154. package/dist/src/utils/visual/render/utils/float.js +65 -0
  155. package/dist/src/utils/visual/render/utils/index.js +50 -0
  156. package/dist/src/utils/visual/render/utils/verticy.d.ts +2 -2
  157. package/dist/src/utils/visual/render/utils/verticy.js +162 -0
  158. package/dist/src/utils/visual/render/utils/webgl/initShader.d.ts +1 -1
  159. package/dist/src/utils/visual/render/utils/webgl/initShader.js +31 -0
  160. package/dist/src/utils/visual/render/utils/webgl/shaders.js +22 -0
  161. package/dist/src/utils/visual/render/utils/webgpu/shaders.js +32 -0
  162. package/dist/src/utils/visual/render/webGPURenderer.d.ts +2 -2
  163. package/dist/src/utils/visual/render/webGPURenderer.js +185 -0
  164. package/dist/src/utils/visual/render/webGlRenderer.d.ts +2 -2
  165. package/dist/src/utils/visual/render/webGlRenderer.js +88 -0
  166. package/dist/src/utils/visual/shape/circle.d.ts +3 -3
  167. package/dist/src/utils/visual/shape/circle.js +17 -0
  168. package/dist/src/utils/visual/shape/ellipse.d.ts +3 -3
  169. package/dist/src/utils/visual/shape/ellipse.js +18 -0
  170. package/dist/src/utils/visual/shape/index.d.ts +6 -6
  171. package/dist/src/utils/visual/shape/polygon.d.ts +3 -3
  172. package/dist/src/utils/visual/shape/polygon.js +29 -0
  173. package/dist/src/utils/visual/shape/rectangle.d.ts +3 -3
  174. package/dist/src/utils/visual/shape/rectangle.js +18 -0
  175. package/dist/src/utils/visual/shape/roundedRectangle.d.ts +3 -3
  176. package/dist/src/utils/visual/shape/roundedRectangle.js +32 -0
  177. package/dist/src/utils/visual/shape/shape.d.ts +2 -2
  178. package/dist/src/utils/visual/shape/shape.js +5 -0
  179. package/dist/src/utils/visual/style/fill.js +18 -0
  180. package/dist/src/utils/visual/style/index.d.ts +2 -2
  181. package/dist/src/utils/visual/style/line.d.ts +2 -2
  182. package/dist/src/utils/visual/style/line.js +18 -0
  183. package/dist/src/utils/visual/types.d.ts +1 -1
  184. package/dist/src/utils/visual/vertex/container.d.ts +5 -5
  185. package/dist/src/utils/visual/vertex/container.js +54 -0
  186. package/dist/src/utils/visual/vertex/point.js +37 -0
  187. package/dist/src/utils/visual/vertex/vertex.d.ts +7 -7
  188. package/dist/src/utils/visual/vertex/vertex.js +76 -0
  189. package/dist/src/utils/worker.js +89 -0
  190. package/dist/src/utils/zip.js +161 -0
  191. package/dist/src/vnode/h.d.ts +1 -1
  192. package/dist/src/vnode/h.js +22 -0
  193. package/dist/src/vnode/hooks.d.ts +1 -1
  194. package/dist/src/vnode/htmlDomApi.js +94 -0
  195. package/dist/src/vnode/index.d.ts +16 -16
  196. package/dist/src/vnode/index.js +28 -1
  197. package/dist/src/vnode/init.d.ts +1 -1
  198. package/dist/src/vnode/init.js +104 -0
  199. package/dist/src/vnode/is.d.ts +1 -1
  200. package/dist/src/vnode/is.js +20 -0
  201. package/dist/src/vnode/modules/attributes.d.ts +1 -1
  202. package/dist/src/vnode/modules/attributes.js +21 -0
  203. package/dist/src/vnode/modules/class.d.ts +1 -1
  204. package/dist/src/vnode/modules/class.js +18 -0
  205. package/dist/src/vnode/modules/index.js +15 -0
  206. package/dist/src/vnode/modules/listeners.d.ts +1 -1
  207. package/dist/src/vnode/modules/listeners.js +36 -0
  208. package/dist/src/vnode/modules/props.d.ts +1 -1
  209. package/dist/src/vnode/modules/props.js +17 -0
  210. package/dist/src/vnode/modules/style.d.ts +1 -1
  211. package/dist/src/vnode/modules/style.js +52 -0
  212. package/dist/src/vnode/vnode.d.ts +6 -6
  213. package/dist/src/vnode/vnode.js +13 -0
  214. package/dist/third-party/jschardet/LICENSE.txt +504 -0
  215. package/dist/third-party/jschardet/NOTICE.txt +33 -0
  216. package/docs/API.md +8 -64
  217. package/package.json +14 -18
  218. package/dist/bin/generate-api-docs.d.ts +0 -1
  219. package/dist/build/build.es.d.ts +0 -2
  220. package/dist/build/build.umd.d.ts +0 -2
  221. package/dist/build/build.umd.node.d.ts +0 -2
  222. package/dist/build/build.umd.utils.d.ts +0 -2
  223. package/dist/chain-CTywmh_H.js +0 -1
  224. package/dist/color-BTvZUuf-.js +0 -1
  225. package/dist/enums-BAgbyGdH.js +0 -1
  226. package/dist/examples/clone-deep-example.d.ts +0 -1
  227. package/dist/examples/is-equal-example.d.ts +0 -1
  228. package/dist/i18n-DW21b_DJ.js +0 -1
  229. package/dist/plugins/vite-plugins-banner.d.ts +0 -2
  230. package/dist/rolldown-runtime-I3TIJKkN.js +0 -1
  231. package/dist/src/node/appendFile.d.ts +0 -7
  232. package/dist/src/node/body.d.ts +0 -9
  233. package/dist/src/node/color.d.ts +0 -7
  234. package/dist/src/node/command.d.ts +0 -8
  235. package/dist/src/node/ctx2req.d.ts +0 -5
  236. package/dist/src/node/fileInfo.d.ts +0 -7
  237. package/dist/src/node/fs.d.ts +0 -7
  238. package/dist/src/node/get.d.ts +0 -10
  239. package/dist/src/node/getIPAdress.d.ts +0 -1
  240. package/dist/src/node/index.d.ts +0 -25
  241. package/dist/src/node/index.js +0 -1
  242. package/dist/src/node/isColorSupported.d.ts +0 -2
  243. package/dist/src/node/paresUrl.d.ts +0 -19
  244. package/dist/src/node/readDir.d.ts +0 -6
  245. package/dist/src/node/readFile.d.ts +0 -9
  246. package/dist/src/node/router.d.ts +0 -42
  247. package/dist/src/node/send.d.ts +0 -7
  248. package/dist/src/node/server.d.ts +0 -18
  249. package/dist/src/node/startTask.d.ts +0 -2
  250. package/dist/src/node/stream.d.ts +0 -15
  251. package/dist/src/node/taskEnd.d.ts +0 -2
  252. package/dist/src/node/traverse.d.ts +0 -17
  253. package/dist/src/node/watchFile.d.ts +0 -8
  254. package/dist/src/node/writeFile.d.ts +0 -8
  255. package/dist/src/node/ws.d.ts +0 -8
  256. package/dist/src/utils/visual/render/utils/batch/index.test.d.ts +0 -1
  257. package/dist/src/utils/visual/render/utils/index.test.d.ts +0 -1
  258. package/dist/test/binary.test.d.ts +0 -1
  259. package/dist/test/bridge.test.d.ts +0 -1
  260. package/dist/test/budget.test.d.ts +0 -1
  261. package/dist/test/canvas.test.d.ts +0 -1
  262. package/dist/test/clearBr.test.d.ts +0 -1
  263. package/dist/test/cloneDeep.test.d.ts +0 -1
  264. package/dist/test/color.test.d.ts +0 -1
  265. package/dist/test/command.test.d.ts +0 -1
  266. package/dist/test/conversation.test.d.ts +0 -1
  267. package/dist/test/diff.test.d.ts +0 -1
  268. package/dist/test/encodeUrl.test.d.ts +0 -1
  269. package/dist/test/escapeHtml.test.d.ts +0 -1
  270. package/dist/test/formatBytes.test.d.ts +0 -1
  271. package/dist/test/is-equal.test.d.ts +0 -1
  272. package/dist/test/mimeType.test.d.ts +0 -1
  273. package/dist/test/package-exports.test.d.ts +0 -1
  274. package/dist/test/scroll.test.d.ts +0 -1
  275. package/dist/test/server.test.d.ts +0 -1
  276. package/dist/test/status.test.d.ts +0 -1
  277. package/dist/test/stream.test.d.ts +0 -1
  278. package/dist/test/sw.test.d.ts +0 -1
  279. package/dist/test/totp.test.d.ts +0 -1
  280. package/dist/test/tween.test.d.ts +0 -1
  281. package/dist/test/utils/async.test.d.ts +0 -1
  282. package/dist/test/utils/autosize.test.d.ts +0 -1
  283. package/dist/test/utils/color-grade.test.d.ts +0 -1
  284. package/dist/test/utils/compose.test.d.ts +0 -1
  285. package/dist/test/utils/event.test.d.ts +0 -1
  286. package/dist/test/utils/file-read.test.d.ts +0 -1
  287. package/dist/test/utils/format.test.d.ts +0 -1
  288. package/dist/test/utils/i18n.test.d.ts +0 -1
  289. package/dist/test/utils/idb-collection.test.d.ts +0 -1
  290. package/dist/test/utils/idb.test.d.ts +0 -1
  291. package/dist/test/utils/instrumentation.test.d.ts +0 -1
  292. package/dist/test/utils/interp.test.d.ts +0 -1
  293. package/dist/test/utils/lang.test.d.ts +0 -1
  294. package/dist/test/utils/locale-path.test.d.ts +0 -1
  295. package/dist/test/utils/media-query.test.d.ts +0 -1
  296. package/dist/test/utils/mergeObj.test.d.ts +0 -1
  297. package/dist/test/utils/number-parse.test.d.ts +0 -1
  298. package/dist/test/utils/paginate.test.d.ts +0 -1
  299. package/dist/test/utils/placement.test.d.ts +0 -1
  300. package/dist/test/utils/prefetch.test.d.ts +0 -1
  301. package/dist/test/utils/query-storage.test.d.ts +0 -1
  302. package/dist/test/utils/queue.test.d.ts +0 -1
  303. package/dist/test/utils/report-config.test.d.ts +0 -1
  304. package/dist/test/utils/report-image.test.d.ts +0 -1
  305. package/dist/test/utils/secure.test.d.ts +0 -1
  306. package/dist/test/utils/segment.test.d.ts +0 -1
  307. package/dist/test/utils/signal-once.test.d.ts +0 -1
  308. package/dist/test/utils/single-flight.test.d.ts +0 -1
  309. package/dist/test/utils/speech.test.d.ts +0 -1
  310. package/dist/test/utils/text-boundary.test.d.ts +0 -1
  311. package/dist/test/utils/time.test.d.ts +0 -1
  312. package/dist/test/utils/timing.test.d.ts +0 -1
  313. package/dist/test/utils/truncate.test.d.ts +0 -1
  314. package/dist/test/utils/visual/filter.test.d.ts +0 -1
  315. package/dist/test/utils/worker-client.test.d.ts +0 -1
  316. package/dist/test/utils/worker-serve.test.d.ts +0 -1
  317. package/dist/test/utils/zip.test.d.ts +0 -1
  318. package/dist/test/visual/math.test.d.ts +0 -1
  319. package/dist/test/visual-application.test.d.ts +0 -1
  320. package/dist/test/visual-batch.test.d.ts +0 -1
  321. package/dist/test/visual-math.test.d.ts +0 -1
  322. package/dist/test/vnode/index.d.ts +0 -1
  323. package/dist/test/vnode/server.d.ts +0 -2
  324. package/dist/test/vnode/vnode.d.ts +0 -1
  325. package/dist/test/vnode.test.d.ts +0 -1
  326. package/dist/test/websocket.test.d.ts +0 -1
  327. package/dist/test/writeFile.test.d.ts +0 -1
  328. package/dist/umd/index.umd.cjs +0 -1
  329. package/dist/umd/node/node.umd.cjs +0 -1
  330. package/dist/umd/utils/utils.umd.cjs +0 -1
  331. package/dist/utils-B4FnyUzW.js +0 -1
  332. package/dist/vite.config.d.ts +0 -8
  333. package/dist/vitest.config.d.ts +0 -2
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './src/utils';
1
+ export * from "./src/utils/index.js";
package/dist/index.js CHANGED
@@ -1 +1,307 @@
1
- import{$ as s,$t as a,A as t,An as n,At as o,B as r,Bn as m,Bt as i,C as p,Cn as f,Ct as j,D as c,Dn as l,Dt as u,E as d,En as h,Et as x,F as b,Fn as e,Ft as g,G as k,Gn as v,Gt as w,H as y,Hn as A,Ht as C,I as D,In as E,It as F,J as M,Jt as N,K as O,Kn as P,Kt as S,L as T,Ln as _,Lt as q,M as z,Mn as B,Mt as G,N as H,Nn as I,Nt as K,O as L,On as R,Ot as U,P as V,Pn as W,Pt as J,Q,Qt as X,R as Y,Rn as Z,Rt as $,S as ss,Sn as as,St as ts,T as ns,Tn as os,Tt as rs,U as ms,Un as is,Ut as ps,V as fs,Vn as js,Vt as cs,W as ls,Wn as us,Wt as ds,X as hs,Xt as xs,Y as bs,Yt as es,Z as gs,Zt as ks,_ as vs,_n as ws,_t as ys,a as As,an as Cs,at as Ds,b as Es,bn as Fs,bt as Ms,c as Ns,cn as Os,ct as Ps,d as Ss,dn as Ts,dt as _s,en as qs,et as zs,f as Bs,fn as Gs,ft as Hs,g as Is,gn as Ks,gt as Ls,h as Rs,hn as Us,ht as Vs,i as Ws,in as Js,it as Qs,j as Xs,jn as Ys,jt as Zs,k as $s,kn as sa,kt as aa,l as ta,ln as na,lt as oa,m as ra,mn as ma,mt as ia,n as pa,nn as fa,nt as ja,o as ca,on as la,ot as ua,p as da,pn as ha,pt as xa,q as ba,qn as ea,qt as ga,r as ka,rn as va,rt as wa,s as ya,sn as Aa,st as Ca,t as Da,tn as Ea,tt as Fa,u as Ma,un as Na,ut as Oa,v as Pa,vn as Sa,vt as Ta,w as _a,wn as qa,wt as za,x as Ba,xn as Ga,xt as Ha,y as Ia,yn as Ka,yt as La,z as Ra,zn as Ua,zt as Va}from"./utils-B4FnyUzW.js";import{i as Wa}from"./enums-BAgbyGdH.js";import{$ as Ja,A as Qa,B as Xa,C as Ya,D as Za,E as $a,F as st,G as at,H as tt,I as nt,J as ot,K as rt,L as mt,M as it,N as pt,O as ft,P as jt,Q as ct,R as lt,S as ut,T as dt,U as ht,V as xt,W as bt,X as et,Y as gt,Z as kt,_ as vt,a as wt,at as yt,b as At,c as Ct,ct as Dt,d as Et,dt as Ft,et as Mt,f as Nt,g as Ot,h as Pt,i as St,it as Tt,j as _t,k as qt,l as zt,lt as Bt,m as Gt,n as Ht,nt as It,o as Kt,ot as Lt,p as Rt,q as Ut,r as Vt,rt as Wt,s as Jt,st as Qt,t as Xt,tt as Yt,u as Zt,ut as $t,v as sn,w as an,x as tn,y as nn,z as on}from"./color-BTvZUuf-.js";import{A as rn,C as mn,D as pn,E as fn,F as jn,M as cn,N as ln,O as un,P as dn,S as hn,T as xn,_ as bn,a as en,b as gn,c as kn,d as vn,f as wn,g as yn,h as An,i as Cn,j as Dn,k as En,l as Fn,m as Mn,n as Nn,o as On,p as Pn,r as Sn,s as Tn,t as _n,u as qn,v as zn,w as Bn,x as Gn,y as Hn}from"./i18n-DW21b_DJ.js";import{n as In,t as Kn}from"./chain-CTywmh_H.js";export{xa as ADOPTED_SHEET_MARKER,ia as ADOPTED_STYLE_MARKER,Js as AudioRecorder,ws as BRIDGE_MARKER,Sa as BridgeManager,Kn as Chain,Ka as Client,Xt as Color,Ht as ColorScheme,Fs as DEFAULT_CHANNEL,F as EventManager,Vt as FMT,St as HEX_COLOR_REGEX,wt as Hsl,Kt as Hsla,_n as I18nCore,w as MOBILE_MEDIA_QUERY,sa as Mathjs,rt as MessageCodec,tt as MimeType,ca as Monitor,Ga as Platform,as as PostMessageBridge,ka as QuestQueue,Jt as RGBA_REGEX,Ct as RGB_REGEX,zt as Rgb,Zt as Rgba,Wa as SyncHook,Ea as TOTP,_a as TimeoutError,Y as UNAMBIGUOUS_ALPHABET,_s as WebDB,D as WorkerClient,Rs as ZIP_DEFLATE,Is as ZIP_STORED,f as acceptPortBridge,Va as addClassToElement,n as addNumSym,Vs as adoptSheetText,Ls as adoptStyles,Qs as alignCrossAxis,vn as appendUrl,Ut as arrayBufferToString,i as autosizeTextarea,y as base64ToBytes,ms as base64UrlToBytes,Et as blendMultiply,Nt as blendOverlay,Rt as blendScreen,qa as bridgeManager,Gt as brightnessContrast,Ps as buildOffsets,ls as bytesToBase64,k as bytesToBase64Url,ot as checkEncoding,aa as circ,Ys as clamp,gt as clearBr,et as clearStr,Cs as cloneDeep,Pt as componentToHex,qs as compose,Ds as computePlacement,O as concatBytes,wn as connection,ys as convertImageToBase64,Ot as cosinePalette,vs as crc32,In as create,ea as createBottomFollower,Ma as createData,cs as createDocumentFragment,q as createDoubleTapDetector,Hs as createHandoff,Nn as createI18n,ua as createLocalePath,Pn as createObjectURL,os as createPortBridge,ns as createRaceGuard,fa as createSignal,l as createSpeechRecognizer,Tn as createStore,Pa as createZip,kt as csvEscape,o as cubic,S as currentDevice,Ta as cutRound,X as debounce,ba as decodeTextBytes,d as deferred,c as delay,Cn as detectLanguage,P as diffLines,Mn as durationHandler,An as encodeUrl,C as escapeHtml,Zs as expo,j as fanShapedByArc,ct as fenceCode,M as fetchMaybeGzip,la as filterObj,B as fit,I as formatBytes,un as formatDate,En as formatDuration,Aa as formatJson,rn as formatRelative,yn as getAllQueryString,za as getAngle,rs as getArcPointerByDeg,bn as getCookie,zn as getCookieByName,ht as getExtensions,Hn as getFrame,La as getImage,x as getLinearGradient,Ja as getMatchingSentences,Ms as getMatrix,bt as getMime,ra as getPerformance,gn as getPixelRatio,Mt as getRandomString,Ss as getReportUrl,Ws as getStatus,u as getTangentByPointer,Gn as getWindow,bs as gunzipMaybe,a as handleConsole,$ as handleError,Ns as handleFetchHook,ta as handleXhrHook,vt as hexToAlpha,sn as hexToHsb,nn as hexToHsv,At as hexToRgb,tn as hsbToHsl,ut as hsbToRgb,Ya as hslToHsb,an as hslToHsv,dt as hslToRgb,$a as hsvToHsl,Za as hsvToRgb,ft as hue2rgb,hn as imageRequest,oa as indexForOffset,Ia as inflateRaw,W as inverseLerp,ga as isClient,Os as isEqual,hs as isGzip,gs as isHtmlDocument,Ha as isImageSize,mn as isInIframe,N as isMobile,Bn as isSafari,R as isSpeechRecognitionSupported,Yt as isString,t as isUrlCached,es as isWeiXin,Q as isZipContainer,e as lerp,qt as linearToSrgb,E as linearstep,Da as loadScript,kn as localStorageGetItem,Fn as localStorageRemoveItem,qn as localStorageSetItem,Qa as luma,xs as matchMediaQuery,_ as mathjs,It as md5,ma as memoize,na as merge,Na as mergeExports,en as navigatorLanguage,Xs as networkAllowsDownload,xn as networkSpeed,ha as noop,Us as once,ts as opacity,h as openPortBridge,Ca as paginateText,Z as parseChineseNumber,Ua as parseEnglishNumber,m as parseRomanNumber,Dn as parseVttCueTiming,cn as parseVttTimestamp,js as perToNum,ln as performanceTime,z as prefetchUrl,H as prefetchUrls,V as prefetchWhenIdle,G as quad,K as quart,fn as queryFlag,Ts as querystring,J as quint,_t as randomColor,Wt as randomString,A as range,zs as readFileAsArrayBuffer,Fa as readFileAsDataURL,ja as readFileAsText,wa as readFileAsUint8Array,Es as readZipEntries,Ba as readZipEntry,is as remap,ps as removeClassToElement,Gs as replaceOld,Bs as report,pn as requestUrlToBuffer,On as resolveLocale,ss as rewriteZip,it as rgbToHex,pt as rgbToHsb,jt as rgbToHsl,st as rgbToHsv,nt as rgbaString,mt as rgbaToHex,lt as rgbaToRgb,U as roundRectByArc,Ra as safeEqual,on as saturation,s as saveFileToDisk,pa as scriptOnLoad,r as secureRandomString,fs as secureToken,Oa as segmentByRanges,T as serveWorker,ds as setFontSize2html,at as setMime,da as setReportUrl,g as sine,Ks as singleFlight,Tt as slugify,us as smoothstep,Xa as srgbToLinear,As as status,yt as strParse,va as subscribers,ya as throttle,dn as timeFormat,jn as timestampToTime,Lt as toFullWidth,Qt as toHalfWidth,Dt as toString,v as transformNumber,Bt as transformText,$t as truncate,Ft as truncateWithMarker,Sn as useI18n,xt as vibrance,ks as watchMediaQuery,b as whenIdle,L as withTimeout,$s as withTimeoutFallback,p as zipHasEntry};
1
+ import { createBottomFollower as r } from "./src/utils/scroll.js";
2
+ import { diffLines as t } from "./src/utils/diff.js";
3
+ import { SyncHook as i } from "./src/utils/subscribe.js";
4
+ import { MessageCodec as n, clearBr as s, clearStr as p, csvEscape as l, fenceCode as c, getMatchingSentences as f, getRandomString as g, isString as d, randomString as u, slugify as T, strParse as h, toFullWidth as b, toHalfWidth as R, toString as E, truncate as S, truncateWithMarker as y } from "./src/utils/str.js";
5
+ import { Mathjs as A, addNumSym as H, clamp as M, fit as D, formatBytes as C, inverseLerp as x, lerp as v, linearstep as I, mathjs as P, parseChineseNumber as L, parseEnglishNumber as U, parseRomanNumber as F, perToNum as O, range as _, remap as k, smoothstep as w, transformNumber as G } from "./src/utils/number.js";
6
+ import { arrayBufferToString as q, checkEncoding as W, transformText as z } from "./src/utils/charset.js";
7
+ import { createSpeechRecognizer as Q, isSpeechRecognitionSupported as X } from "./src/utils/speech.js";
8
+ import { formatDate as K, formatDuration as V, formatRelative as Y, parseVttCueTiming as J, parseVttTimestamp as $, performanceTime as ee } from "./src/utils/time.js";
9
+ import { appendUrl as oe, connection as te, createObjectURL as ae, durationHandler as ie, encodeUrl as me, getAllQueryString as ne, getCookie as se, getCookieByName as pe, getFrame as le, getPixelRatio as ce, getWindow as fe, imageRequest as ge, isInIframe as de, isSafari as ue, networkSpeed as Te, queryFlag as he, requestUrlToBuffer as be } from "./src/utils/bom.js";
10
+ import { BRIDGE_MARKER as Ee, BridgeManager as Se, Client as ye, DEFAULT_CHANNEL as Be, Platform as Ae, PostMessageBridge as He, acceptPortBridge as Me, bridgeManager as De, createPortBridge as Ce, openPortBridge as xe } from "./src/utils/bridge.js";
11
+ import { once as Ie, singleFlight as Pe } from "./src/utils/memoize.js";
12
+ import { noop as Ue } from "./src/utils/noop.js";
13
+ import { cloneDeep as Oe, filterObj as _e, formatJson as ke, isEqual as we, merge as Ge, mergeExports as Ne, querystring as qe, replaceOld as We } from "./src/utils/obj.js";
14
+ import { MimeType as Ze, getExtensions as Qe, getMime as Xe, setMime as je } from "./src/utils/mimeType.js";
15
+ import { AudioRecorder as Ve } from "./src/utils/audioRecorder.js";
16
+ import { createSignal as Je, subscribers as $e } from "./src/utils/signal.js";
17
+ import { TOTP as rr } from "./src/utils/totp/totp.js";
18
+ import { createStore as tr, localStorageGetItem as ar, localStorageRemoveItem as ir, localStorageSetItem as mr } from "./src/utils/storage.js";
19
+ import { compose as sr } from "./src/utils/compose.js";
20
+ import { handleConsole as lr } from "./src/utils/console.js";
21
+ import { debounce as fr } from "./src/utils/debounce.js";
22
+ import { MOBILE_MEDIA_QUERY as dr, currentDevice as ur, isMobile as Tr, isWeiXin as hr, matchMediaQuery as br, watchMediaQuery as Rr } from "./src/utils/device.js";
23
+ import { Chain as Sr, create as yr } from "./src/utils/chain.js";
24
+ import { addClassToElement as Ar, autosizeTextarea as Hr, createDocumentFragment as Mr, escapeHtml as Dr, removeClassToElement as Cr, setFontSize2html as xr } from "./src/utils/dom.js";
25
+ import { handleError as Ir } from "./src/utils/error.js";
26
+ import { EventManager as Lr, createDoubleTapDetector as Ur } from "./src/utils/event.js";
27
+ import { circ as Or, cubic as _r, expo as kr, quad as wr, quart as Gr, quint as Nr, sine as qr } from "./src/utils/tween.js";
28
+ import { fanShapedByArc as zr, getAngle as Zr, getArcPointerByDeg as Qr, getLinearGradient as Xr, getTangentByPointer as jr, roundRectByArc as Kr } from "./src/utils/canvas.js";
29
+ import { convertImageToBase64 as Yr, cutRound as Jr, getImage as $r, getMatrix as eo, isImageSize as ro, opacity as oo } from "./src/utils/img.js";
30
+ import { ADOPTED_SHEET_MARKER as ao, ADOPTED_STYLE_MARKER as io, adoptSheetText as mo, adoptStyles as no } from "./src/utils/style.js";
31
+ import { WebDB as po, createHandoff as lo } from "./src/utils/idb.js";
32
+ import { buildOffsets as fo, indexForOffset as go, segmentByRanges as uo } from "./src/utils/segment.js";
33
+ import { paginateText as ho } from "./src/utils/paginate.js";
34
+ import { detectLanguage as Ro, navigatorLanguage as Eo, resolveLocale as So } from "./src/utils/lang.js";
35
+ import { I18nCore as Bo, createI18n as Ao, useI18n as Ho } from "./src/utils/i18n/index.js";
36
+ import { createLocalePath as Do } from "./src/utils/localePath.js";
37
+ import { alignCrossAxis as xo, computePlacement as vo } from "./src/utils/placement.js";
38
+ import { readFileAsArrayBuffer as Po, readFileAsDataURL as Lo, readFileAsText as Uo, readFileAsUint8Array as Fo } from "./src/utils/file.js";
39
+ import { base64ToBytes as _o, base64UrlToBytes as ko, bytesToBase64 as wo, bytesToBase64Url as Go, concatBytes as No, decodeTextBytes as qo, fetchMaybeGzip as Wo, gunzipMaybe as zo, isGzip as Zo, isHtmlDocument as Qo, isZipContainer as Xo, saveFileToDisk as jo } from "./src/utils/binary.js";
40
+ import { UNAMBIGUOUS_ALPHABET as Vo, safeEqual as Yo, secureRandomString as Jo, secureToken as $o } from "./src/utils/secure.js";
41
+ import { WorkerClient as rt, serveWorker as ot } from "./src/utils/worker.js";
42
+ import { isUrlCached as at, networkAllowsDownload as it, prefetchUrl as mt, prefetchUrls as nt, prefetchWhenIdle as st, whenIdle as pt } from "./src/utils/prefetch.js";
43
+ import { TimeoutError as ct, createRaceGuard as ft, deferred as gt, delay as dt, withTimeout as ut, withTimeoutFallback as Tt } from "./src/utils/async.js";
44
+ import { ZIP_DEFLATE as bt, ZIP_STORED as Rt, crc32 as Et, createZip as St, inflateRaw as yt, readZipEntries as Bt, readZipEntry as At, rewriteZip as Ht, zipHasEntry as Mt } from "./src/utils/zip.js";
45
+ import { getPerformance as Ct } from "./src/utils/performance.js";
46
+ import { createData as vt, getReportUrl as It, report as Pt, setReportUrl as Lt } from "./src/utils/report.js";
47
+ import { handleFetchHook as Ft, handleXhrHook as Ot } from "./src/utils/request.js";
48
+ import { throttle as kt } from "./src/utils/throttle.js";
49
+ import { Monitor as Gt } from "./src/utils/monitor.js";
50
+ import { getStatus as qt, status as Wt } from "./src/utils/network.js";
51
+ import { QuestQueue as Zt } from "./src/utils/queue.js";
52
+ import { loadScript as Xt, scriptOnLoad as jt } from "./src/utils/script.js";
53
+ import { Color as Vt, ColorScheme as Yt, HEX_COLOR_REGEX as Jt, Hsl as $t, Hsla as ea, RGBA_REGEX as ra, RGB_REGEX as oa, Rgb as ta, Rgba as aa, blendMultiply as ia, blendOverlay as ma, blendScreen as na, brightnessContrast as sa, componentToHex as pa, cosinePalette as la, hexToAlpha as ca, hexToHsb as fa, hexToHsv as ga, hexToRgb as da, hsbToHsl as ua, hsbToRgb as Ta, hslToHsb as ha, hslToHsv as ba, hslToRgb as Ra, hsvToHsl as Ea, hsvToRgb as Sa, hue2rgb as ya, linearToSrgb as Ba, luma as Aa, randomColor as Ha, rgbToHex as Ma, rgbToHsb as Da, rgbToHsl as Ca, rgbToHsv as xa, rgbaString as va, rgbaToHex as Ia, rgbaToRgb as Pa, saturation as La, srgbToLinear as Ua, vibrance as Fa } from "./src/utils/color.js";
54
+ export {
55
+ ao as ADOPTED_SHEET_MARKER,
56
+ io as ADOPTED_STYLE_MARKER,
57
+ Ve as AudioRecorder,
58
+ Ee as BRIDGE_MARKER,
59
+ Se as BridgeManager,
60
+ Sr as Chain,
61
+ ye as Client,
62
+ Vt as Color,
63
+ Yt as ColorScheme,
64
+ Be as DEFAULT_CHANNEL,
65
+ Lr as EventManager,
66
+ Jt as HEX_COLOR_REGEX,
67
+ $t as Hsl,
68
+ ea as Hsla,
69
+ Bo as I18nCore,
70
+ dr as MOBILE_MEDIA_QUERY,
71
+ A as Mathjs,
72
+ n as MessageCodec,
73
+ Ze as MimeType,
74
+ Gt as Monitor,
75
+ Ae as Platform,
76
+ He as PostMessageBridge,
77
+ Zt as QuestQueue,
78
+ ra as RGBA_REGEX,
79
+ oa as RGB_REGEX,
80
+ ta as Rgb,
81
+ aa as Rgba,
82
+ i as SyncHook,
83
+ rr as TOTP,
84
+ ct as TimeoutError,
85
+ Vo as UNAMBIGUOUS_ALPHABET,
86
+ po as WebDB,
87
+ rt as WorkerClient,
88
+ bt as ZIP_DEFLATE,
89
+ Rt as ZIP_STORED,
90
+ Me as acceptPortBridge,
91
+ Ar as addClassToElement,
92
+ H as addNumSym,
93
+ mo as adoptSheetText,
94
+ no as adoptStyles,
95
+ xo as alignCrossAxis,
96
+ oe as appendUrl,
97
+ q as arrayBufferToString,
98
+ Hr as autosizeTextarea,
99
+ _o as base64ToBytes,
100
+ ko as base64UrlToBytes,
101
+ ia as blendMultiply,
102
+ ma as blendOverlay,
103
+ na as blendScreen,
104
+ De as bridgeManager,
105
+ sa as brightnessContrast,
106
+ fo as buildOffsets,
107
+ wo as bytesToBase64,
108
+ Go as bytesToBase64Url,
109
+ W as checkEncoding,
110
+ Or as circ,
111
+ M as clamp,
112
+ s as clearBr,
113
+ p as clearStr,
114
+ Oe as cloneDeep,
115
+ pa as componentToHex,
116
+ sr as compose,
117
+ vo as computePlacement,
118
+ No as concatBytes,
119
+ te as connection,
120
+ Yr as convertImageToBase64,
121
+ la as cosinePalette,
122
+ Et as crc32,
123
+ yr as create,
124
+ r as createBottomFollower,
125
+ vt as createData,
126
+ Mr as createDocumentFragment,
127
+ Ur as createDoubleTapDetector,
128
+ lo as createHandoff,
129
+ Ao as createI18n,
130
+ Do as createLocalePath,
131
+ ae as createObjectURL,
132
+ Ce as createPortBridge,
133
+ ft as createRaceGuard,
134
+ Je as createSignal,
135
+ Q as createSpeechRecognizer,
136
+ tr as createStore,
137
+ St as createZip,
138
+ l as csvEscape,
139
+ _r as cubic,
140
+ ur as currentDevice,
141
+ Jr as cutRound,
142
+ fr as debounce,
143
+ qo as decodeTextBytes,
144
+ gt as deferred,
145
+ dt as delay,
146
+ Ro as detectLanguage,
147
+ t as diffLines,
148
+ ie as durationHandler,
149
+ me as encodeUrl,
150
+ Dr as escapeHtml,
151
+ kr as expo,
152
+ zr as fanShapedByArc,
153
+ c as fenceCode,
154
+ Wo as fetchMaybeGzip,
155
+ _e as filterObj,
156
+ D as fit,
157
+ C as formatBytes,
158
+ K as formatDate,
159
+ V as formatDuration,
160
+ ke as formatJson,
161
+ Y as formatRelative,
162
+ ne as getAllQueryString,
163
+ Zr as getAngle,
164
+ Qr as getArcPointerByDeg,
165
+ se as getCookie,
166
+ pe as getCookieByName,
167
+ Qe as getExtensions,
168
+ le as getFrame,
169
+ $r as getImage,
170
+ Xr as getLinearGradient,
171
+ f as getMatchingSentences,
172
+ eo as getMatrix,
173
+ Xe as getMime,
174
+ Ct as getPerformance,
175
+ ce as getPixelRatio,
176
+ g as getRandomString,
177
+ It as getReportUrl,
178
+ qt as getStatus,
179
+ jr as getTangentByPointer,
180
+ fe as getWindow,
181
+ zo as gunzipMaybe,
182
+ lr as handleConsole,
183
+ Ir as handleError,
184
+ Ft as handleFetchHook,
185
+ Ot as handleXhrHook,
186
+ ca as hexToAlpha,
187
+ fa as hexToHsb,
188
+ ga as hexToHsv,
189
+ da as hexToRgb,
190
+ ua as hsbToHsl,
191
+ Ta as hsbToRgb,
192
+ ha as hslToHsb,
193
+ ba as hslToHsv,
194
+ Ra as hslToRgb,
195
+ Ea as hsvToHsl,
196
+ Sa as hsvToRgb,
197
+ ya as hue2rgb,
198
+ ge as imageRequest,
199
+ go as indexForOffset,
200
+ yt as inflateRaw,
201
+ x as inverseLerp,
202
+ we as isEqual,
203
+ Zo as isGzip,
204
+ Qo as isHtmlDocument,
205
+ ro as isImageSize,
206
+ de as isInIframe,
207
+ Tr as isMobile,
208
+ ue as isSafari,
209
+ X as isSpeechRecognitionSupported,
210
+ d as isString,
211
+ at as isUrlCached,
212
+ hr as isWeiXin,
213
+ Xo as isZipContainer,
214
+ v as lerp,
215
+ Ba as linearToSrgb,
216
+ I as linearstep,
217
+ Xt as loadScript,
218
+ ar as localStorageGetItem,
219
+ ir as localStorageRemoveItem,
220
+ mr as localStorageSetItem,
221
+ Aa as luma,
222
+ br as matchMediaQuery,
223
+ P as mathjs,
224
+ Ge as merge,
225
+ Ne as mergeExports,
226
+ Eo as navigatorLanguage,
227
+ it as networkAllowsDownload,
228
+ Te as networkSpeed,
229
+ Ue as noop,
230
+ Ie as once,
231
+ oo as opacity,
232
+ xe as openPortBridge,
233
+ ho as paginateText,
234
+ L as parseChineseNumber,
235
+ U as parseEnglishNumber,
236
+ F as parseRomanNumber,
237
+ J as parseVttCueTiming,
238
+ $ as parseVttTimestamp,
239
+ O as perToNum,
240
+ ee as performanceTime,
241
+ mt as prefetchUrl,
242
+ nt as prefetchUrls,
243
+ st as prefetchWhenIdle,
244
+ wr as quad,
245
+ Gr as quart,
246
+ he as queryFlag,
247
+ qe as querystring,
248
+ Nr as quint,
249
+ Ha as randomColor,
250
+ u as randomString,
251
+ _ as range,
252
+ Po as readFileAsArrayBuffer,
253
+ Lo as readFileAsDataURL,
254
+ Uo as readFileAsText,
255
+ Fo as readFileAsUint8Array,
256
+ Bt as readZipEntries,
257
+ At as readZipEntry,
258
+ k as remap,
259
+ Cr as removeClassToElement,
260
+ We as replaceOld,
261
+ Pt as report,
262
+ be as requestUrlToBuffer,
263
+ So as resolveLocale,
264
+ Ht as rewriteZip,
265
+ Ma as rgbToHex,
266
+ Da as rgbToHsb,
267
+ Ca as rgbToHsl,
268
+ xa as rgbToHsv,
269
+ va as rgbaString,
270
+ Ia as rgbaToHex,
271
+ Pa as rgbaToRgb,
272
+ Kr as roundRectByArc,
273
+ Yo as safeEqual,
274
+ La as saturation,
275
+ jo as saveFileToDisk,
276
+ jt as scriptOnLoad,
277
+ Jo as secureRandomString,
278
+ $o as secureToken,
279
+ uo as segmentByRanges,
280
+ ot as serveWorker,
281
+ xr as setFontSize2html,
282
+ je as setMime,
283
+ Lt as setReportUrl,
284
+ qr as sine,
285
+ Pe as singleFlight,
286
+ T as slugify,
287
+ w as smoothstep,
288
+ Ua as srgbToLinear,
289
+ Wt as status,
290
+ h as strParse,
291
+ $e as subscribers,
292
+ kt as throttle,
293
+ b as toFullWidth,
294
+ R as toHalfWidth,
295
+ E as toString,
296
+ G as transformNumber,
297
+ z as transformText,
298
+ S as truncate,
299
+ y as truncateWithMarker,
300
+ Ho as useI18n,
301
+ Fa as vibrance,
302
+ Rr as watchMediaQuery,
303
+ pt as whenIdle,
304
+ ut as withTimeout,
305
+ Tt as withTimeoutFallback,
306
+ Mt as zipHasEntry
307
+ };
@@ -0,0 +1,12 @@
1
+ var o = Object.defineProperty, l = (r, a) => {
2
+ let e = {};
3
+ for (var t in r)
4
+ o(e, t, {
5
+ get: r[t],
6
+ enumerable: !0
7
+ });
8
+ return a || o(e, Symbol.toStringTag, { value: "Module" }), e;
9
+ };
10
+ export {
11
+ l as __exportAll
12
+ };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The engine that runs {@link ConversationNodeDefinition}s over an event log.
3
3
  */
4
- import type { ConversationNode, ConversationNodeDefinition } from './types.ts';
4
+ import type { ConversationNode, ConversationNodeDefinition } from "./types.js";
5
5
  /** Defers work to the next paint, or to a microtask where there is no paint. */
6
6
  export type FrameScheduler = (run: () => void) => () => void;
7
7
  /** How to construct an engine. */
@@ -0,0 +1,101 @@
1
+ var A = (m) => {
2
+ if (typeof requestAnimationFrame == "function") {
3
+ const q = requestAnimationFrame(m);
4
+ return () => cancelAnimationFrame(q);
5
+ }
6
+ let a = !1;
7
+ return queueMicrotask(() => {
8
+ a || m();
9
+ }), () => {
10
+ a = !0;
11
+ };
12
+ };
13
+ function F(m) {
14
+ const { definitions: a, scheduler: q = A } = m, g = /* @__PURE__ */ new Set();
15
+ for (const e of a) {
16
+ if (g.has(e.kind)) throw new Error(`conversation: duplicate definition kind "${e.kind}"`);
17
+ g.add(e.kind);
18
+ }
19
+ let t = [];
20
+ const d = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Set();
21
+ let c = /* @__PURE__ */ new Set(), y = 0, r = null, p = 0, u = "none", f = null;
22
+ const w = () => (f ??= t.map((e) => Object.freeze({ ...e })), f), v = () => {
23
+ const e = w(), n = c === null ? void 0 : new Set(c);
24
+ c = /* @__PURE__ */ new Set();
25
+ for (const i of [...h]) i(e, n);
26
+ }, k = (e) => {
27
+ if (e !== "none") {
28
+ if (p > 0) {
29
+ e === "immediate" ? u = "immediate" : u === "none" && (u = "animation-frame");
30
+ return;
31
+ }
32
+ if (e === "immediate") {
33
+ r?.(), r = null, v();
34
+ return;
35
+ }
36
+ r === null && (r = q(() => {
37
+ r = null, v();
38
+ }));
39
+ }
40
+ }, x = { previous(e) {
41
+ for (let n = t.length - 1; n >= 0; n -= 1) if (t[n].kind === e) return Object.freeze({ ...t[n] });
42
+ } };
43
+ return {
44
+ push(e) {
45
+ let n = "none";
46
+ for (const i of a) {
47
+ const s = i.match(e);
48
+ if (s === null) continue;
49
+ const o = `${i.kind}:${s.id}`, l = d.get(o);
50
+ if (s.role === "start") {
51
+ const b = {
52
+ key: o,
53
+ kind: i.kind,
54
+ id: s.id,
55
+ seq: l?.seq ?? (y += 1),
56
+ state: i.start(e, x)
57
+ };
58
+ l === void 0 ? t.push(b) : t[t.indexOf(l)] = b, d.set(o, b);
59
+ } else if (l !== void 0) l.state = i.update(l.state, e);
60
+ else continue;
61
+ f = null, c?.add(o);
62
+ const S = i.publication?.(e) ?? "immediate";
63
+ S === "immediate" ? n = "immediate" : S === "animation-frame" && n === "none" && (n = "animation-frame");
64
+ }
65
+ k(n);
66
+ },
67
+ truncate(e) {
68
+ const n = d.get(e);
69
+ if (n === void 0) return 0;
70
+ const i = t.filter((o) => o.seq < n.seq), s = t.length - i.length;
71
+ for (const o of t) o.seq >= n.seq && d.delete(o.key);
72
+ return t = i, f = null, k("immediate"), s;
73
+ },
74
+ batch(e) {
75
+ p += 1;
76
+ try {
77
+ e();
78
+ } finally {
79
+ if (p -= 1, p === 0) {
80
+ const n = u;
81
+ u = "none", k(n);
82
+ }
83
+ }
84
+ },
85
+ nodes: w,
86
+ subscribe(e) {
87
+ return h.add(e), () => {
88
+ h.delete(e);
89
+ };
90
+ },
91
+ reset() {
92
+ t = [], d.clear(), y = 0, f = null, c = null, k("immediate");
93
+ },
94
+ destroy() {
95
+ r?.(), r = null, h.clear();
96
+ }
97
+ };
98
+ }
99
+ export {
100
+ F as createConversationEngine
101
+ };
@@ -7,6 +7,6 @@
7
7
  *
8
8
  * @module ranuts/conversation
9
9
  */
10
- export type { ConversationMatch, ConversationNode, ConversationNodeDefinition, ConversationPublication, ConversationReader, } from './types.ts';
11
- export type { ConversationEngine, ConversationEngineOptions, FrameScheduler } from './engine.ts';
12
- export { createConversationEngine } from './engine.ts';
10
+ export type { ConversationMatch, ConversationNode, ConversationNodeDefinition, ConversationPublication, ConversationReader, } from "./types.js";
11
+ export type { ConversationEngine, ConversationEngineOptions, FrameScheduler } from "./engine.js";
12
+ export { createConversationEngine } from "./engine.js";
@@ -1 +1,4 @@
1
- var e=e=>{if("function"==typeof requestAnimationFrame){const n=requestAnimationFrame(e);return()=>cancelAnimationFrame(n)}let n=!1;return queueMicrotask(()=>{n||e()}),()=>{n=!0}};function n(n){const{definitions:t,scheduler:i=e}=n,o=/* @__PURE__ */new Set;for(const e of t){if(o.has(e.kind))throw new Error(`conversation: duplicate definition kind "${e.kind}"`);o.add(e.kind)}let r=[];const a=/* @__PURE__ */new Map,l=/* @__PURE__ */new Set;let s=/* @__PURE__ */new Set,d=0,u=null,c=0,f="none",m=null;const k=()=>(m??=r.map(e=>Object.freeze({...e})),m),h=()=>{const e=k(),n=null===s?void 0:new Set(s);s=/* @__PURE__ */new Set;for(const t of[...l])t(e,n)},p=e=>{if("none"!==e){if(!(c>0))return"immediate"===e?(u?.(),u=null,void h()):void(null===u&&(u=i(()=>{u=null,h()})));"immediate"===e?f="immediate":"none"===f&&(f="animation-frame")}},q={previous(e){for(let n=r.length-1;n>=0;n-=1)if(r[n].kind===e)return Object.freeze({...r[n]})}};return{push(e){let n="none";for(const i of t){const t=i.match(e);if(null===t)continue;const o=`${i.kind}:${t.id}`,l=a.get(o);if("start"===t.role){const n={key:o,kind:i.kind,id:t.id,seq:l?.seq??(d+=1),state:i.start(e,q)};void 0===l?r.push(n):r[r.indexOf(l)]=n,a.set(o,n)}else{if(void 0===l)continue;l.state=i.update(l.state,e)}m=null,s?.add(o);const u=i.publication?.(e)??"immediate";"immediate"===u?n="immediate":"animation-frame"===u&&"none"===n&&(n="animation-frame")}p(n)},truncate(e){const n=a.get(e);if(void 0===n)return 0;const t=r.filter(e=>e.seq<n.seq),i=r.length-t.length;for(const o of r)o.seq>=n.seq&&a.delete(o.key);return r=t,m=null,p("immediate"),i},batch(e){c+=1;try{e()}finally{if(c-=1,0===c){const e=f;f="none",p(e)}}},nodes:k,subscribe:e=>(l.add(e),()=>{l.delete(e)}),reset(){r=[],a.clear(),d=0,m=null,s=null,p("immediate")},destroy(){u?.(),u=null,l.clear()}}}export{n as createConversationEngine};
1
+ import { createConversationEngine as o } from "./engine.js";
2
+ export {
3
+ o as createConversationEngine
4
+ };
@@ -6,7 +6,7 @@
6
6
  * ordering, interleaving, and the block-end/delta reconciliation. This owns all three, so
7
7
  * a view reads a snapshot and renders it.
8
8
  */
9
- import type { ContentBlock, FinishReason, StreamChunk, TokenUsage } from './types.ts';
9
+ import type { ContentBlock, FinishReason, StreamChunk, TokenUsage } from "./types.js";
10
10
  /** Immutable view of everything received so far. */
11
11
  export interface StreamSnapshot {
12
12
  /** Completed and in-progress blocks, in `index` order. */
@@ -0,0 +1,79 @@
1
+ function d(r) {
2
+ return r === "text" ? {
3
+ type: "text",
4
+ text: ""
5
+ } : r === "reasoning" ? {
6
+ type: "reasoning",
7
+ text: ""
8
+ } : {
9
+ type: "tool-call",
10
+ id: "",
11
+ name: "",
12
+ arguments: ""
13
+ };
14
+ }
15
+ function c() {
16
+ let r = /* @__PURE__ */ new Map(), a, n;
17
+ const o = (e, t) => {
18
+ const i = r.get(e);
19
+ if (i !== void 0 && i.type === t) return i;
20
+ const l = d(t);
21
+ return r.set(e, l), l;
22
+ }, s = () => [...r.entries()].sort(([e], [t]) => e - t).map(([, e]) => e);
23
+ return {
24
+ push(e) {
25
+ switch (e.type) {
26
+ case "block-start":
27
+ o(e.index, e.blockType);
28
+ return;
29
+ case "text-delta": {
30
+ const t = o(e.index, "text");
31
+ t.text += e.text;
32
+ return;
33
+ }
34
+ case "reasoning-delta": {
35
+ const t = o(e.index, "reasoning");
36
+ t.text += e.text;
37
+ return;
38
+ }
39
+ case "tool-call-delta": {
40
+ const t = o(e.index, "tool-call");
41
+ e.id !== "" && (t.id = e.id), e.name !== void 0 && e.name !== "" && (t.name = e.name), t.arguments += e.argumentsDelta;
42
+ return;
43
+ }
44
+ case "block-end":
45
+ r.set(e.index, { ...e.block });
46
+ return;
47
+ case "usage":
48
+ a = e.usage;
49
+ return;
50
+ case "finish":
51
+ n = e.reason;
52
+ return;
53
+ }
54
+ },
55
+ snapshot() {
56
+ return Object.freeze({
57
+ blocks: Object.freeze(s().map((e) => Object.freeze({ ...e }))),
58
+ usage: a === void 0 ? void 0 : Object.freeze({ ...a }),
59
+ finishReason: n,
60
+ done: n !== void 0
61
+ });
62
+ },
63
+ text() {
64
+ return s().reduce((e, t) => t.type === "text" ? e + t.text : e, "");
65
+ },
66
+ reasoning() {
67
+ return s().reduce((e, t) => t.type === "reasoning" ? e + t.text : e, "");
68
+ },
69
+ toolCalls() {
70
+ return s().filter((e) => e.type === "tool-call");
71
+ },
72
+ reset() {
73
+ r = /* @__PURE__ */ new Map(), a = void 0, n = void 0;
74
+ }
75
+ };
76
+ }
77
+ export {
78
+ c as createStreamAccumulator
79
+ };
@@ -16,7 +16,7 @@
16
16
  *
17
17
  * @module ranuts/stream
18
18
  */
19
- import type { TokenUsage } from './types.ts';
19
+ import type { TokenUsage } from "./types.js";
20
20
  /**
21
21
  * Estimates how many tokens a string costs.
22
22
  *
@@ -0,0 +1,45 @@
1
+ var k = 4, d = /[ -〿぀-ヿ㐀-䶿一-鿿豈-﫿＀-￯가-힯]/u;
2
+ function f(t) {
3
+ if (t === "") return 0;
4
+ let n = 0, e = 0;
5
+ for (const o of t) d.test(o) ? n += 1 : e += 1;
6
+ return Math.max(1, n + Math.ceil(e / k));
7
+ }
8
+ function m(t, n) {
9
+ const e = (o, c) => o === void 0 && c === void 0 ? void 0 : (o ?? 0) + (c ?? 0);
10
+ return {
11
+ inputTokens: e(t?.inputTokens, n?.inputTokens),
12
+ outputTokens: e(t?.outputTokens, n?.outputTokens),
13
+ reasoningTokens: e(t?.reasoningTokens, n?.reasoningTokens),
14
+ cachedInputTokens: e(t?.cachedInputTokens, n?.cachedInputTokens),
15
+ totalTokens: e(t?.totalTokens, n?.totalTokens)
16
+ };
17
+ }
18
+ function l(t, n) {
19
+ const { limit: e, keepRecent: o, summaryTokens: c } = n, s = t.reduce((p, T) => p + T, 0);
20
+ if (s <= e) return {
21
+ compact: 0,
22
+ projected: s,
23
+ fits: !0
24
+ };
25
+ const i = Math.max(0, t.length - o);
26
+ let r = 0, u = 0;
27
+ for (; r < i && c + s - u > e; )
28
+ u += t[r] ?? 0, r += 1;
29
+ if (r === 0) return {
30
+ compact: 0,
31
+ projected: s,
32
+ fits: s <= e
33
+ };
34
+ const a = c + s - u;
35
+ return {
36
+ compact: r,
37
+ projected: a,
38
+ fits: a <= e
39
+ };
40
+ }
41
+ export {
42
+ m as addUsage,
43
+ f as estimateTokens,
44
+ l as planCompaction
45
+ };
@@ -16,10 +16,10 @@
16
16
  *
17
17
  * @module ranuts/stream
18
18
  */
19
- export type { ContentBlock, ContentBlockType, FinishReason, ReasoningBlock, StreamChunk, TextBlock, TokenUsage, ToolCallBlock, } from './types.ts';
20
- export type { ByteSource, ServerSentEvent } from './sse.ts';
21
- export { mapEventStream, parseEventStream } from './sse.ts';
22
- export type { StreamAccumulator, StreamSnapshot } from './accumulator.ts';
23
- export { createStreamAccumulator } from './accumulator.ts';
24
- export type { CompactionLimits, CompactionPlan } from './budget.ts';
25
- export { addUsage, estimateTokens, planCompaction } from './budget.ts';
19
+ export type { ContentBlock, ContentBlockType, FinishReason, ReasoningBlock, StreamChunk, TextBlock, TokenUsage, ToolCallBlock, } from "./types.js";
20
+ export type { ByteSource, ServerSentEvent } from "./sse.js";
21
+ export { mapEventStream, parseEventStream } from "./sse.js";
22
+ export type { StreamAccumulator, StreamSnapshot } from "./accumulator.js";
23
+ export { createStreamAccumulator } from "./accumulator.js";
24
+ export type { CompactionLimits, CompactionPlan } from "./budget.js";
25
+ export { addUsage, estimateTokens, planCompaction } from "./budget.js";
@@ -1 +1,11 @@
1
- function e(e){const t=[];let n,o,i;for(const r of e.split("\n")){if(""===r||r.startsWith(":"))continue;const e=r.indexOf(":"),s=-1===e?r:r.slice(0,e);let c=-1===e?"":r.slice(e+1);c.startsWith(" ")&&(c=c.slice(1)),"data"===s?t.push(c):"event"===s?n=c:"id"!==s||c.includes("\0")?"retry"===s&&/^\d+$/.test(c)&&(i=Number(c)):o=c}if(0===t.length&&void 0===n&&void 0===o&&void 0===i)return null;const s={data:t.join("\n")};return void 0!==n&&(s.event=n),void 0!==o&&(s.id=o),void 0!==i&&(s.retry=i),s}async function*t(t){const n=new TextDecoder;let o="",i=!1;for await(const r of async function*(e){if("function"==typeof e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)return;void 0!==n&&(yield n)}}finally{t.releaseLock()}}(t)){o+=n.decode(r,{stream:!0}),o=o.replace(/\r\n?/g,"\n"),i||(o.startsWith("\ufeff")&&(o=o.slice(1)),i=!0);let t=o.indexOf("\n\n");for(;-1!==t;){const n=o.slice(0,t);o=o.slice(t+2);const i=e(n);null!==i&&(yield i),t=o.indexOf("\n\n")}}o+=n.decode();const s=e(o.replace(/\r\n?/g,"\n"));null!==s&&(yield s)}async function*n(e,n){for await(const o of t(e))yield*n(o)}function o(){let e,t,n=/* @__PURE__ */new Map;const o=(e,t)=>{const o=n.get(e);if(void 0!==o&&o.type===t)return o;const i=function(e){return"text"===e?{type:"text",text:""}:"reasoning"===e?{type:"reasoning",text:""}:{type:"tool-call",id:"",name:"",arguments:""}}(t);return n.set(e,i),i},i=()=>[...n.entries()].sort(([e],[t])=>e-t).map(([,e])=>e);return{push(i){switch(i.type){case"block-start":return void o(i.index,i.blockType);case"text-delta":return void(o(i.index,"text").text+=i.text);case"reasoning-delta":return void(o(i.index,"reasoning").text+=i.text);case"tool-call-delta":{const e=o(i.index,"tool-call");return""!==i.id&&(e.id=i.id),void 0!==i.name&&""!==i.name&&(e.name=i.name),void(e.arguments+=i.argumentsDelta)}case"block-end":return void n.set(i.index,{...i.block});case"usage":return void(e=i.usage);case"finish":return void(t=i.reason)}},snapshot:()=>Object.freeze({blocks:Object.freeze(i().map(e=>Object.freeze({...e}))),usage:void 0===e?void 0:Object.freeze({...e}),finishReason:t,done:void 0!==t}),text:()=>i().reduce((e,t)=>"text"===t.type?e+t.text:e,""),reasoning:()=>i().reduce((e,t)=>"reasoning"===t.type?e+t.text:e,""),toolCalls:()=>i().filter(e=>"tool-call"===e.type),reset(){n=/* @__PURE__ */new Map,e=void 0,t=void 0}}}var i=/[ -〿぀-ヿ㐀-䶿一-鿿豈-﫿＀-￯가-힯]/u;function s(e){if(""===e)return 0;let t=0,n=0;for(const o of e)i.test(o)?t+=1:n+=1;return Math.max(1,t+Math.ceil(n/4))}function r(e,t){const n=(e,t)=>void 0===e&&void 0===t?void 0:(e??0)+(t??0);return{inputTokens:n(e?.inputTokens,t?.inputTokens),outputTokens:n(e?.outputTokens,t?.outputTokens),reasoningTokens:n(e?.reasoningTokens,t?.reasoningTokens),cachedInputTokens:n(e?.cachedInputTokens,t?.cachedInputTokens),totalTokens:n(e?.totalTokens,t?.totalTokens)}}function c(e,t){const{limit:n,keepRecent:o,summaryTokens:i}=t,s=e.reduce((e,t)=>e+t,0);if(s<=n)return{compact:0,projected:s,fits:!0};const r=Math.max(0,e.length-o);let c=0,a=0;for(;c<r&&i+s-a>n;)a+=e[c]??0,c+=1;if(0===c)return{compact:0,projected:s,fits:s<=n};const d=i+s-a;return{compact:c,projected:d,fits:d<=n}}export{r as addUsage,o as createStreamAccumulator,s as estimateTokens,n as mapEventStream,t as parseEventStream,c as planCompaction};
1
+ import { mapEventStream as e, parseEventStream as m } from "./sse.js";
2
+ import { createStreamAccumulator as a } from "./accumulator.js";
3
+ import { addUsage as p, estimateTokens as i, planCompaction as n } from "./budget.js";
4
+ export {
5
+ p as addUsage,
6
+ a as createStreamAccumulator,
7
+ i as estimateTokens,
8
+ e as mapEventStream,
9
+ m as parseEventStream,
10
+ n as planCompaction
11
+ };
@@ -12,7 +12,7 @@
12
12
  * comment (which is how servers keep a connection warm); and a trailing block with no
13
13
  * terminating blank line is still an event.
14
14
  */
15
- import type { StreamChunk } from './types.ts';
15
+ import type { StreamChunk } from "./types.js";
16
16
  /** One parsed `text/event-stream` event. */
17
17
  export interface ServerSentEvent {
18
18
  /** Joined `data:` payload; `\n` between repeats, no trailing newline. */