tower-studio 0.2.19 → 0.2.20

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 (211) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +25 -25
  13. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  32. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +65 -65
  33. package/.next/standalone/.next/server/app/missions/page.js +5 -5
  34. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  37. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +25 -25
  38. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
  41. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +25 -25
  42. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  45. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +41 -41
  46. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  49. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +88 -88
  50. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +3 -3
  51. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  54. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +80 -80
  55. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +2 -2
  56. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  59. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +55 -55
  60. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  63. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +59 -59
  64. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +5 -5
  65. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  68. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +25 -25
  69. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
  72. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +64 -64
  73. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +3 -3
  74. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
  77. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +76 -76
  78. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +6 -6
  79. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  82. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +45 -45
  83. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
  86. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-0gs-6._.js +1 -1
  87. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03j20vp._.js +2 -2
  88. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05se6yk._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06m1r8x._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p152b._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_6swdz._.js +2 -2
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b-ib~7._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gmwjkc._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o3ggen._.js +5 -4
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wuzc5o._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12c9noi._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/src_lib_0aowbzy._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0y5wu~l._.js → [root-of-the-server]__0.hrt0s._.js} +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02-6df-._.js +47 -0
  102. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0313pct._.js → [root-of-the-server]__08mkpqd._.js} +2 -2
  103. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e_-mj-._.js +47 -0
  104. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07ns1z8._.js → [root-of-the-server]__0f72pl_._.js} +2 -2
  105. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fzkdjl._.js +47 -0
  106. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +3 -0
  107. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ntdmyn._.js +3 -0
  108. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pu-v0l._.js +47 -0
  109. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0th0_fo._.js +3 -3
  110. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ty1ao1._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0um1ugs._.js +47 -0
  112. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +1 -1
  113. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__134_xv.._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13vgkq5._.js +47 -0
  115. package/.next/standalone/.next/server/chunks/ssr/{_0_zfpwh._.js → _0-zk1xq._.js} +2 -2
  116. package/.next/standalone/.next/server/chunks/ssr/{_10ogq8w._.js → _07~q7qs._.js} +2 -2
  117. package/.next/standalone/.next/server/chunks/ssr/_08z-g~5._.js +3 -3
  118. package/.next/standalone/.next/server/chunks/ssr/_09b8zgw._.js +4 -0
  119. package/.next/standalone/.next/server/chunks/ssr/{_0djgo-u._.js → _0_2c7e0._.js} +2 -2
  120. package/.next/standalone/.next/server/chunks/ssr/_0_vjay8._.js +3 -3
  121. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/{_05l656y._.js → _0es22_y._.js} +2 -2
  123. package/.next/standalone/.next/server/chunks/ssr/{_0jz8fv8._.js → _0fhds8v._.js} +2 -2
  124. package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/_0ln8vj0._.js +7 -0
  126. package/.next/standalone/.next/server/chunks/ssr/{_01yg50d._.js → _0mqxe~e._.js} +2 -2
  127. package/.next/standalone/.next/server/chunks/ssr/_0ng0eku._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/ssr/_0nzwk2y._.js +7 -0
  129. package/.next/standalone/.next/server/chunks/ssr/_0r6gweb._.js +3 -3
  130. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
  131. package/.next/standalone/.next/server/chunks/ssr/_0rt8jf_._.js +3 -3
  132. package/.next/standalone/.next/server/chunks/ssr/{_0gv9sv3._.js → _0tua.9p._.js} +2 -2
  133. package/.next/standalone/.next/server/chunks/ssr/_0unw1fq._.js +2 -2
  134. package/.next/standalone/.next/server/chunks/ssr/_0uuzh5m._.js +3 -3
  135. package/.next/standalone/.next/server/chunks/ssr/{_0dvltcf._.js → _0z-mopi._.js} +2 -2
  136. package/.next/standalone/.next/server/chunks/ssr/_0~aon4t._.js +3 -3
  137. package/.next/standalone/.next/server/chunks/ssr/_10sx3n7._.js +7 -0
  138. package/.next/standalone/.next/server/chunks/ssr/{_09qgmwg._.js → _12e_1hd._.js} +2 -2
  139. package/.next/standalone/.next/server/chunks/ssr/src_075s.rk._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
  151. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  152. package/.next/standalone/.next/server/pages/500.html +1 -1
  153. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/server-reference-manifest.json +248 -248
  155. package/.next/standalone/.next/static/chunks/0-93a_ovah-e0.js +5 -0
  156. package/.next/standalone/.next/static/chunks/0.rw..0v.8a1-.js +5 -0
  157. package/.next/standalone/.next/static/chunks/{08x.ru6r_rz3k.js → 05qdpgnpb_7mk.js} +1 -1
  158. package/.next/standalone/.next/static/chunks/{0njf5husn6ovd.js → 08q54xdtb58sp.js} +1 -1
  159. package/.next/standalone/.next/static/chunks/{0s6ygn-alcm2d.js → 0bxz4rml4iaob.js} +1 -1
  160. package/.next/standalone/.next/static/chunks/0gh2r0ji~m34y.js +1 -0
  161. package/.next/standalone/.next/static/chunks/{0b6zhezopdbs2.js → 0j157xr-bax~d.js} +1 -1
  162. package/.next/standalone/.next/static/chunks/{096ysbmoa9qsb.js → 0m2o51rtidmxh.js} +1 -1
  163. package/.next/standalone/.next/static/chunks/{0p7hamd-yspky.js → 0m90vde-l0h1a.js} +2 -2
  164. package/.next/standalone/.next/static/chunks/{0hniqlgz6waea.js → 0mqdumoz_frlg.js} +1 -1
  165. package/.next/standalone/.next/static/chunks/0odb2p6e7-8n8.js +1 -0
  166. package/.next/standalone/.next/static/chunks/0t0.k0pugrmxt.js +1 -0
  167. package/.next/standalone/.next/static/chunks/{0lv0zqg.f66eu.js → 0vykez3mijj6f.js} +1 -1
  168. package/.next/standalone/.next/static/chunks/{10ght~j9wl9ab.js → 0wzn4nbo56gf3.js} +1 -1
  169. package/.next/standalone/.next/static/chunks/0xrhj92idqx72.js +5 -0
  170. package/.next/standalone/.next/static/chunks/0yj4qfp~pk5na.js +1 -0
  171. package/.next/standalone/.next/static/chunks/0yje2relcvr6r.js +1 -0
  172. package/.next/standalone/.next/static/chunks/0zk-aoc.g8t8h.js +1 -0
  173. package/.next/standalone/.next/static/chunks/0~7zlta-boej_.js +1 -0
  174. package/.next/standalone/.next/static/chunks/{04wsku4m5~s1q.js → 1157qwl1lq-uv.js} +1 -1
  175. package/.next/standalone/.next/static/chunks/11~-fm76bj3r4.js +1 -0
  176. package/.next/standalone/.next/static/chunks/13wlh1lxhudv~.js +1 -0
  177. package/.next/standalone/.next/static/chunks/{1124-9qfcr70v.js → 15nh9t21_9u6i.js} +1 -1
  178. package/.next/standalone/.next/static/chunks/{0izukvmui9f8m.js → 163o-5kdc6me5.js} +1 -1
  179. package/.next/standalone/.next/static/chunks/16pnb9m-vqs75.js +5 -0
  180. package/.next/standalone/.next/static/chunks/{162ec9.32dj73.js → 18aqm8uawnpl3.js} +1 -1
  181. package/.next/standalone/package.json +1 -1
  182. package/dist/mcp-server.cjs +17 -1
  183. package/package.json +1 -1
  184. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08xomvf._.js +0 -47
  185. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c7x0o9._.js +0 -3
  186. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e82_jw._.js +0 -3
  187. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sdt1y5._.js +0 -3
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sk.itb._.js +0 -3
  189. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v7p~3.._.js +0 -3
  190. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjuu0z._.js +0 -3
  191. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.s5ax._.js +0 -3
  192. package/.next/standalone/.next/server/chunks/ssr/_01e47s2._.js +0 -4
  193. package/.next/standalone/.next/server/chunks/ssr/_0_7d5_7._.js +0 -7
  194. package/.next/standalone/.next/server/chunks/ssr/_0n.xiu5._.js +0 -7
  195. package/.next/standalone/.next/server/chunks/ssr/_13kwp85._.js +0 -7
  196. package/.next/standalone/.next/static/chunks/0._824vjqa-9k.js +0 -5
  197. package/.next/standalone/.next/static/chunks/03og02bu96n.e.js +0 -1
  198. package/.next/standalone/.next/static/chunks/06qwj~g0qwhey.js +0 -5
  199. package/.next/standalone/.next/static/chunks/08~85j56saf6q.js +0 -1
  200. package/.next/standalone/.next/static/chunks/0c7b_.6i4jef8.js +0 -1
  201. package/.next/standalone/.next/static/chunks/0esvyij44lvt6.js +0 -1
  202. package/.next/standalone/.next/static/chunks/0hseznii2u-4n.js +0 -5
  203. package/.next/standalone/.next/static/chunks/0kycb80.t-7_-.js +0 -1
  204. package/.next/standalone/.next/static/chunks/0v66~34w9t3gz.js +0 -5
  205. package/.next/standalone/.next/static/chunks/0v_nmghra_n2q.js +0 -1
  206. package/.next/standalone/.next/static/chunks/0vu_cifxk7vfu.js +0 -1
  207. package/.next/standalone/.next/static/chunks/0zf35xwv.l3l7.js +0 -1
  208. package/.next/standalone/.next/static/chunks/11.t9_o8cox8t.js +0 -1
  209. /package/.next/standalone/.next/static/{mLQP8o4ghKE2DGln7fL34 → QK0JGDY3UZSvD1SQgyL-w}/_buildManifest.js +0 -0
  210. /package/.next/standalone/.next/static/{mLQP8o4ghKE2DGln7fL34 → QK0JGDY3UZSvD1SQgyL-w}/_clientMiddlewareManifest.js +0 -0
  211. /package/.next/standalone/.next/static/{mLQP8o4ghKE2DGln7fL34 → QK0JGDY3UZSvD1SQgyL-w}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  module.exports=[510095,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js <module evaluation>","default")},857188,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js","default")},400413,a=>{"use strict";a.i(510095);var b=a.i(857188);a.n(b)},304162,a=>{"use strict";var b=a.i(522734);async function c(){try{let{rgPath:c}=await a.A(640417);if(c&&(0,b.existsSync)(c))return c}catch{}return null}a.s(["resolveBundledRgPath",0,c])},743698,(a,b,c)=>{b.exports=a.x("node:https",()=>require("node:https"))},188646,(a,b,c)=>{b.exports=a.x("node:stream/promises",()=>require("node:stream/promises"))},744992,a=>{"use strict";var b=a.i(427699),c=a.i(522734),d=a.i(687769),e=a.i(81111),f=a.i(899871),g=a.i(750227),h=a.i(902157),i=a.i(814747),j=a.i(449719),k=a.i(500874),l=a.i(406461),m=a.i(57328),n=a.i(666680),o=a.i(912714),p=Object.defineProperty,q="object"==typeof process&&process?process:{stdout:null,stderr:null},r=a=>!!a&&"object"==typeof a&&(a instanceof ab||a instanceof e.default||s(a)||t(a)),s=a=>!!a&&"object"==typeof a&&a instanceof d.EventEmitter&&"function"==typeof a.pipe&&a.pipe!==e.default.Writable.prototype.pipe,t=a=>!!a&&"object"==typeof a&&a instanceof d.EventEmitter&&"function"==typeof a.write&&"function"==typeof a.end,u=Symbol("EOF"),v=Symbol("maybeEmitEnd"),w=Symbol("emittedEnd"),x=Symbol("emittingEnd"),y=Symbol("emittedError"),z=Symbol("closed"),A=Symbol("read"),B=Symbol("flush"),C=Symbol("flushChunk"),D=Symbol("encoding"),E=Symbol("decoder"),F=Symbol("flowing"),G=Symbol("paused"),H=Symbol("resume"),I=Symbol("buffer"),J=Symbol("pipes"),K=Symbol("bufferLength"),L=Symbol("bufferPush"),M=Symbol("bufferShift"),N=Symbol("objectMode"),O=Symbol("destroyed"),P=Symbol("error"),Q=Symbol("emitData"),R=Symbol("emitEnd"),S=Symbol("emitEnd2"),T=Symbol("async"),U=Symbol("abort"),V=Symbol("aborted"),W=Symbol("signal"),X=Symbol("dataListeners"),Y=Symbol("discarded"),Z=a=>Promise.resolve().then(a),$=a=>a(),_=class{src;dest;opts;ondrain;constructor(a,b,c){this.src=a,this.dest=b,this.opts=c,this.ondrain=()=>a[H](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(a){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},aa=class extends _{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(a,b,c){super(a,b,c),this.proxyErrors=a=>this.dest.emit("error",a),a.on("error",this.proxyErrors)}},ab=class extends d.EventEmitter{[F]=!1;[G]=!1;[J]=[];[I]=[];[N];[D];[T];[E];[u]=!1;[w]=!1;[x]=!1;[z]=!1;[y]=null;[K]=0;[O]=!1;[W];[V]=!1;[X]=0;[Y]=!1;writable=!0;readable=!0;constructor(...a){let b=a[0]||{};if(super(),b.objectMode&&"string"==typeof b.encoding)throw TypeError("Encoding and objectMode may not be used together");(a=>!!a.objectMode)(b)?(this[N]=!0,this[D]=null):(a=>!a.objectMode&&!!a.encoding&&"buffer"!==a.encoding)(b)?(this[D]=b.encoding,this[N]=!1):(this[N]=!1,this[D]=null),this[T]=!!b.async,this[E]=this[D]?new f.StringDecoder(this[D]):null,b&&!0===b.debugExposeBuffer&&Object.defineProperty(this,"buffer",{get:()=>this[I]}),b&&!0===b.debugExposePipes&&Object.defineProperty(this,"pipes",{get:()=>this[J]});let{signal:c}=b;c&&(this[W]=c,c.aborted?this[U]():c.addEventListener("abort",()=>this[U]()))}get bufferLength(){return this[K]}get encoding(){return this[D]}set encoding(a){throw Error("Encoding must be set at instantiation time")}setEncoding(a){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[N]}set objectMode(a){throw Error("objectMode must be set at instantiation time")}get async(){return this[T]}set async(a){this[T]=this[T]||!!a}[U](){this[V]=!0,this.emit("abort",this[W]?.reason),this.destroy(this[W]?.reason)}get aborted(){return this[V]}set aborted(a){}write(a,b,c){if(this[V])return!1;if(this[u])throw Error("write after end");if(this[O])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;"function"==typeof b&&(c=b,b="utf8"),b||(b="utf8");let d=this[T]?Z:$;if(!this[N]&&!Buffer.isBuffer(a)){let b;if(b=a,!Buffer.isBuffer(b)&&ArrayBuffer.isView(b))a=Buffer.from(a.buffer,a.byteOffset,a.byteLength);else{let b;if((b=a)instanceof ArrayBuffer||b&&"object"==typeof b&&b.constructor&&"ArrayBuffer"===b.constructor.name&&b.byteLength>=0)a=Buffer.from(a);else if("string"!=typeof a)throw Error("Non-contiguous data written to non-objectMode stream")}}return this[N]?(this[F]&&0!==this[K]&&this[B](!0),this[F]?this.emit("data",a):this[L](a)):a.length&&("string"==typeof a&&(b!==this[D]||this[E]?.lastNeed)&&(a=Buffer.from(a,b)),Buffer.isBuffer(a)&&this[D]&&(a=this[E].write(a)),this[F]&&0!==this[K]&&this[B](!0),this[F]?this.emit("data",a):this[L](a)),0!==this[K]&&this.emit("readable"),c&&d(c),this[F]}read(a){if(this[O])return null;if(this[Y]=!1,0===this[K]||0===a||a&&a>this[K])return this[v](),null;this[N]&&(a=null),this[I].length>1&&!this[N]&&(this[I]=[this[D]?this[I].join(""):Buffer.concat(this[I],this[K])]);let b=this[A](a||null,this[I][0]);return this[v](),b}[A](a,b){if(this[N])this[M]();else{let c=b;a===c.length||null===a?this[M]():("string"==typeof c?(this[I][0]=c.slice(a),b=c.slice(0,a)):(this[I][0]=c.subarray(a),b=c.subarray(0,a)),this[K]-=a)}return this.emit("data",b),this[I].length||this[u]||this.emit("drain"),b}end(a,b,c){return"function"==typeof a&&(c=a,a=void 0),"function"==typeof b&&(c=b,b="utf8"),void 0!==a&&this.write(a,b),c&&this.once("end",c),this[u]=!0,this.writable=!1,(this[F]||!this[G])&&this[v](),this}[H](){this[O]||(this[X]||this[J].length||(this[Y]=!0),this[G]=!1,this[F]=!0,this.emit("resume"),this[I].length?this[B]():this[u]?this[v]():this.emit("drain"))}resume(){return this[H]()}pause(){this[F]=!1,this[G]=!0,this[Y]=!1}get destroyed(){return this[O]}get flowing(){return this[F]}get paused(){return this[G]}[L](a){this[N]?this[K]+=1:this[K]+=a.length,this[I].push(a)}[M](){return this[N]?this[K]-=1:this[K]-=this[I][0].length,this[I].shift()}[B](a=!1){do;while(this[C](this[M]())&&this[I].length)a||this[I].length||this[u]||this.emit("drain")}[C](a){return this.emit("data",a),this[F]}pipe(a,b){if(this[O])return a;this[Y]=!1;let c=this[w];return b=b||{},a===q.stdout||a===q.stderr?b.end=!1:b.end=!1!==b.end,b.proxyErrors=!!b.proxyErrors,c?b.end&&a.end():(this[J].push(b.proxyErrors?new aa(this,a,b):new _(this,a,b)),this[T]?Z(()=>this[H]()):this[H]()),a}unpipe(a){let b=this[J].find(b=>b.dest===a);b&&(1===this[J].length?(this[F]&&0===this[X]&&(this[F]=!1),this[J]=[]):this[J].splice(this[J].indexOf(b),1),b.unpipe())}addListener(a,b){return this.on(a,b)}on(a,b){let c=super.on(a,b);if("data"===a)this[Y]=!1,this[X]++,this[J].length||this[F]||this[H]();else if("readable"===a&&0!==this[K])super.emit("readable");else("end"===a||"finish"===a||"prefinish"===a)&&this[w]?(super.emit(a),this.removeAllListeners(a)):"error"===a&&this[y]&&(this[T]?Z(()=>b.call(this,this[y])):b.call(this,this[y]));return c}removeListener(a,b){return this.off(a,b)}off(a,b){let c=super.off(a,b);return"data"===a&&(this[X]=this.listeners("data").length,0!==this[X]||this[Y]||this[J].length||(this[F]=!1)),c}removeAllListeners(a){let b=super.removeAllListeners(a);return("data"===a||void 0===a)&&(this[X]=0,this[Y]||this[J].length||(this[F]=!1)),b}get emittedEnd(){return this[w]}[v](){this[x]||this[w]||this[O]||0!==this[I].length||!this[u]||(this[x]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[z]&&this.emit("close"),this[x]=!1)}emit(a,...b){let c=b[0];if("error"!==a&&"close"!==a&&a!==O&&this[O])return!1;if("data"===a)return(!!this[N]||!!c)&&(this[T]?(Z(()=>this[Q](c)),!0):this[Q](c));if("end"===a)return this[R]();if("close"===a){if(this[z]=!0,!this[w]&&!this[O])return!1;let a=super.emit("close");return this.removeAllListeners("close"),a}if("error"===a){this[y]=c,super.emit(P,c);let a=(!this[W]||!!this.listeners("error").length)&&super.emit("error",c);return this[v](),a}if("resume"===a){let a=super.emit("resume");return this[v](),a}if("finish"===a||"prefinish"===a){let b=super.emit(a);return this.removeAllListeners(a),b}let d=super.emit(a,...b);return this[v](),d}[Q](a){for(let b of this[J])!1===b.dest.write(a)&&this.pause();let b=!this[Y]&&super.emit("data",a);return this[v](),b}[R](){return!this[w]&&(this[w]=!0,this.readable=!1,this[T]?(Z(()=>this[S]()),!0):this[S]())}[S](){if(this[E]){let a=this[E].end();if(a){for(let b of this[J])b.dest.write(a);this[Y]||super.emit("data",a)}}for(let a of this[J])a.end();let a=super.emit("end");return this.removeAllListeners("end"),a}async collect(){let a=Object.assign([],{dataLength:0});this[N]||(a.dataLength=0);let b=this.promise();return this.on("data",b=>{a.push(b),this[N]||(a.dataLength+=b.length)}),await b,a}async concat(){if(this[N])throw Error("cannot concat in objectMode");let a=await this.collect();return this[D]?a.join(""):Buffer.concat(a,a.dataLength)}async promise(){return new Promise((a,b)=>{this.on(O,()=>b(Error("stream destroyed"))),this.on("error",a=>b(a)),this.on("end",()=>a())})}[Symbol.asyncIterator](){this[Y]=!1;let a=!1,b=async()=>(this.pause(),a=!0,{value:void 0,done:!0});return{next:()=>{if(a)return b();let c=this.read();if(null!==c)return Promise.resolve({done:!1,value:c});if(this[u])return b();let d,e,f=a=>{this.off("data",g),this.off("end",h),this.off(O,i),b(),e(a)},g=a=>{this.off("error",f),this.off("end",h),this.off(O,i),this.pause(),d({value:a,done:!!this[u]})},h=()=>{this.off("error",f),this.off("data",g),this.off(O,i),b(),d({done:!0,value:void 0})},i=()=>f(Error("stream destroyed"));return new Promise((a,b)=>{e=b,d=a,this.once(O,i),this.once("error",f),this.once("end",h),this.once("data",g)})},throw:b,return:b,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[Y]=!1;let a=!1,b=()=>(this.pause(),this.off(P,b),this.off(O,b),this.off("end",b),a=!0,{done:!0,value:void 0}),c=()=>{if(a)return b();let c=this.read();return null===c?b():{done:!1,value:c}};return this.once("end",b),this.once(P,b),this.once(O,b),{next:c,throw:b,return:b,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(a){return this[O]||(this[O]=!0,this[Y]=!0,this[I].length=0,this[K]=0,"function"!=typeof this.close||this[z]||this.close()),a?this.emit("error",a):this.emit(O),this}static get isStream(){return r}},ac=c.default.writev,ad=Symbol("_autoClose"),ae=Symbol("_close"),af=Symbol("_ended"),ag=Symbol("_fd"),ah=Symbol("_finished"),ai=Symbol("_flags"),aj=Symbol("_flush"),ak=Symbol("_handleChunk"),al=Symbol("_makeBuf"),am=Symbol("_mode"),an=Symbol("_needDrain"),ao=Symbol("_onerror"),ap=Symbol("_onopen"),aq=Symbol("_onread"),ar=Symbol("_onwrite"),as=Symbol("_open"),at=Symbol("_path"),au=Symbol("_pos"),av=Symbol("_queue"),aw=Symbol("_read"),ax=Symbol("_readSize"),ay=Symbol("_reading"),az=Symbol("_remain"),aA=Symbol("_size"),aB=Symbol("_write"),aC=Symbol("_writing"),aD=Symbol("_defaultFlag"),aE=Symbol("_errored"),aF=class extends ab{[aE]=!1;[ag];[at];[ax];[ay]=!1;[aA];[az];[ad];constructor(a,b){if(super(b=b||{}),this.readable=!0,this.writable=!1,"string"!=typeof a)throw TypeError("path must be a string");this[aE]=!1,this[ag]="number"==typeof b.fd?b.fd:void 0,this[at]=a,this[ax]=b.readSize||0x1000000,this[ay]=!1,this[aA]="number"==typeof b.size?b.size:1/0,this[az]=this[aA],this[ad]="boolean"!=typeof b.autoClose||b.autoClose,"number"==typeof this[ag]?this[aw]():this[as]()}get fd(){return this[ag]}get path(){return this[at]}write(){throw TypeError("this is a readable stream")}end(){throw TypeError("this is a readable stream")}[as](){c.default.open(this[at],"r",(a,b)=>this[ap](a,b))}[ap](a,b){a?this[ao](a):(this[ag]=b,this.emit("open",b),this[aw]())}[al](){return Buffer.allocUnsafe(Math.min(this[ax],this[az]))}[aw](){if(!this[ay]){this[ay]=!0;let a=this[al]();if(0===a.length)return process.nextTick(()=>this[aq](null,0,a));c.default.read(this[ag],a,0,a.length,null,(a,b,c)=>this[aq](a,b,c))}}[aq](a,b,c){this[ay]=!1,a?this[ao](a):this[ak](b,c)&&this[aw]()}[ae](){if(this[ad]&&"number"==typeof this[ag]){let a=this[ag];this[ag]=void 0,c.default.close(a,a=>a?this.emit("error",a):this.emit("close"))}}[ao](a){this[ay]=!0,this[ae](),this.emit("error",a)}[ak](a,b){let c=!1;return this[az]-=a,a>0&&(c=super.write(a<b.length?b.subarray(0,a):b)),(0===a||this[az]<=0)&&(c=!1,this[ae](),super.end()),c}emit(a,...b){switch(a){case"prefinish":case"finish":return!1;case"drain":return"number"==typeof this[ag]&&this[aw](),!1;case"error":return!this[aE]&&(this[aE]=!0,super.emit(a,...b));default:return super.emit(a,...b)}}},aG=class extends aF{[as](){let a=!0;try{this[ap](null,c.default.openSync(this[at],"r")),a=!1}finally{a&&this[ae]()}}[aw](){let a=!0;try{if(!this[ay]){for(this[ay]=!0;;){let a=this[al](),b=0===a.length?0:c.default.readSync(this[ag],a,0,a.length,null);if(!this[ak](b,a))break}this[ay]=!1}a=!1}finally{a&&this[ae]()}}[ae](){if(this[ad]&&"number"==typeof this[ag]){let a=this[ag];this[ag]=void 0,c.default.closeSync(a),this.emit("close")}}},aH=class extends b.default{readable=!1;writable=!0;[aE]=!1;[aC]=!1;[af]=!1;[av]=[];[an]=!1;[at];[am];[ad];[ag];[aD];[ai];[ah]=!1;[au];constructor(a,b){super(b=b||{}),this[at]=a,this[ag]="number"==typeof b.fd?b.fd:void 0,this[am]=void 0===b.mode?438:b.mode,this[au]="number"==typeof b.start?b.start:void 0,this[ad]="boolean"!=typeof b.autoClose||b.autoClose;let c=void 0!==this[au]?"r+":"w";this[aD]=void 0===b.flags,this[ai]=void 0===b.flags?c:b.flags,void 0===this[ag]&&this[as]()}emit(a,...b){if("error"===a){if(this[aE])return!1;this[aE]=!0}return super.emit(a,...b)}get fd(){return this[ag]}get path(){return this[at]}[ao](a){this[ae](),this[aC]=!0,this.emit("error",a)}[as](){c.default.open(this[at],this[ai],this[am],(a,b)=>this[ap](a,b))}[ap](a,b){this[aD]&&"r+"===this[ai]&&a&&"ENOENT"===a.code?(this[ai]="w",this[as]()):a?this[ao](a):(this[ag]=b,this.emit("open",b),this[aC]||this[aj]())}end(a,b){return a&&this.write(a,b),this[af]=!0,this[aC]||this[av].length||"number"!=typeof this[ag]||this[ar](null,0),this}write(a,b){return"string"==typeof a&&(a=Buffer.from(a,b)),this[af]?(this.emit("error",Error("write() after end()")),!1):void 0===this[ag]||this[aC]||this[av].length?(this[av].push(a),this[an]=!0,!1):(this[aC]=!0,this[aB](a),!0)}[aB](a){c.default.write(this[ag],a,0,a.length,this[au],(a,b)=>this[ar](a,b))}[ar](a,b){a?this[ao](a):(void 0!==this[au]&&"number"==typeof b&&(this[au]+=b),this[av].length?this[aj]():(this[aC]=!1,this[af]&&!this[ah]?(this[ah]=!0,this[ae](),this.emit("finish")):this[an]&&(this[an]=!1,this.emit("drain"))))}[aj](){if(0===this[av].length)this[af]&&this[ar](null,0);else if(1===this[av].length)this[aB](this[av].pop());else{let a=this[av];this[av]=[],ac(this[ag],a,this[au],(a,b)=>this[ar](a,b))}}[ae](){if(this[ad]&&"number"==typeof this[ag]){let a=this[ag];this[ag]=void 0,c.default.close(a,a=>a?this.emit("error",a):this.emit("close"))}}},aI=class extends aH{[as](){let a;if(this[aD]&&"r+"===this[ai])try{a=c.default.openSync(this[at],this[ai],this[am])}catch(a){if(a?.code==="ENOENT")return this[ai]="w",this[as]();throw a}else a=c.default.openSync(this[at],this[ai],this[am]);this[ap](null,a)}[ae](){if(this[ad]&&"number"==typeof this[ag]){let a=this[ag];this[ag]=void 0,c.default.closeSync(a),this.emit("close")}}[aB](a){let b=!0;try{this[ar](null,c.default.writeSync(this[ag],a,0,a.length,this[au])),b=!1}finally{if(b)try{this[ae]()}catch{}}}},aJ=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),aK=a=>aJ.get(a)||a,aL=(a={})=>{if(!a)return{};let b={};for(let[c,d]of Object.entries(a))b[aK(c)]=d;return void 0===b.chmod&&!1===b.noChmod&&(b.chmod=!0),delete b.noChmod,b},aM=(a,b,c,d,e)=>Object.assign((f=[],g,h)=>{Array.isArray(f)&&(g=f,f={}),"function"==typeof g&&(h=g,g=void 0),g=g?Array.from(g):[];let i=aL(f);if(e?.(i,g),i.sync&&i.file){if("function"==typeof h)throw TypeError("callback not supported for sync tar functions");return a(i,g)}if(i.sync||!i.file)if(!i.sync||i.file){if(!i.sync&&!i.file){if("function"==typeof h)throw TypeError("callback only supported with file option");return d(i,g)}}else{if("function"==typeof h)throw TypeError("callback not supported for sync tar functions");return c(i,g)}else{let a=b(i,g);return h?a.then(()=>h(),h):a}throw Error("impossible options??")},{syncFile:a,asyncFile:b,syncNoFile:c,asyncNoFile:d,validate:e}),aN=l.default.constants||{ZLIB_VERNUM:4736},aO=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},aN)),aP=k.Buffer.concat,aQ=Object.getOwnPropertyDescriptor(k.Buffer,"concat"),aR=a=>a,aS=aQ?.writable===!0||aQ?.set!==void 0?a=>{k.Buffer.concat=a?aR:aP}:a=>{},aT=Symbol("_superWrite"),aU=class extends Error{code;errno;constructor(a,b){super("zlib: "+a.message,{cause:a}),this.code=a.code,this.errno=a.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+a.message,Error.captureStackTrace(this,b??this.constructor)}get name(){return"ZlibError"}},aV=Symbol("flushFlag"),aW=class extends ab{#a=!1;#b=!1;#c;#d;#e;#f;#g;get sawError(){return this.#a}get handle(){return this.#f}get flushFlag(){return this.#c}constructor(a,b){if(!a||"object"!=typeof a)throw TypeError("invalid options for ZlibBase constructor");if(super(a),this.#c=a.flush??0,this.#d=a.finishFlush??0,this.#e=a.fullFlushFlag??0,"function"!=typeof l[b])throw TypeError("Compression method not supported: "+b);try{this.#f=new l[b](a)}catch(a){throw new aU(a,this.constructor)}this.#g=a=>{this.#a||(this.#a=!0,this.close(),this.emit("error",a))},this.#f?.on("error",a=>this.#g(new aU(a))),this.once("end",()=>this.close)}close(){this.#f&&(this.#f.close(),this.#f=void 0,this.emit("close"))}reset(){if(!this.#a)return(0,j.default)(this.#f,"zlib binding closed"),this.#f.reset?.()}flush(a){this.ended||("number"!=typeof a&&(a=this.#e),this.write(Object.assign(k.Buffer.alloc(0),{[aV]:a})))}end(a,b,c){return"function"==typeof a&&(c=a,b=void 0,a=void 0),"function"==typeof b&&(c=b,b=void 0),a&&(b?this.write(a,b):this.write(a)),this.flush(this.#d),this.#b=!0,super.end(c)}get ended(){return this.#b}[aT](a){return super.write(a)}write(a,b,c){let d,e;if("function"==typeof b&&(c=b,b="utf8"),"string"==typeof a&&(a=k.Buffer.from(a,b)),this.#a)return;(0,j.default)(this.#f,"zlib binding closed");let f=this.#f._handle,g=f.close;f.close=()=>{};let h=this.#f.close;this.#f.close=()=>{},aS(!0);try{let b="number"==typeof a[aV]?a[aV]:this.#c;d=this.#f._processChunk(a,b),aS(!1)}catch(a){aS(!1),this.#g(new aU(a,this.write))}finally{this.#f&&(this.#f._handle=f,f.close=g,this.#f.close=h,this.#f.removeAllListeners("error"))}if(this.#f&&this.#f.on("error",a=>this.#g(new aU(a,this.write))),d)if(Array.isArray(d)&&d.length>0){let a=d[0];e=this[aT](k.Buffer.from(a));for(let a=1;a<d.length;a++)e=this[aT](d[a])}else e=this[aT](k.Buffer.from(d));return c&&c(),e}},aX=class extends aW{#a;#b;constructor(a,b){(a=a||{}).flush=a.flush||aO.Z_NO_FLUSH,a.finishFlush=a.finishFlush||aO.Z_FINISH,a.fullFlushFlag=aO.Z_FULL_FLUSH,super(a,b),this.#a=a.level,this.#b=a.strategy}params(a,b){if(!this.sawError){if(!this.handle)throw Error("cannot switch params when binding is closed");if(!this.handle.params)throw Error("not supported in this implementation");if(this.#a!==a||this.#b!==b){this.flush(aO.Z_SYNC_FLUSH),(0,j.default)(this.handle,"zlib binding closed");let c=this.handle.flush;this.handle.flush=(a,b)=>{"function"==typeof a&&(b=a,a=this.flushFlag),this.flush(a),b?.()};try{this.handle.params(a,b)}finally{this.handle.flush=c}this.handle&&(this.#a=a,this.#b=b)}}}},aY=class extends aX{#a;constructor(a){super(a,"Gzip"),this.#a=a&&!!a.portable}[aT](a){return this.#a&&(this.#a=!1,a[9]=255),super[aT](a)}},aZ=class extends aX{constructor(a){super(a,"Unzip")}},a$=class extends aW{constructor(a,b){(a=a||{}).flush=a.flush||aO.BROTLI_OPERATION_PROCESS,a.finishFlush=a.finishFlush||aO.BROTLI_OPERATION_FINISH,a.fullFlushFlag=aO.BROTLI_OPERATION_FLUSH,super(a,b)}},a_=class extends a${constructor(a){super(a,"BrotliCompress")}},a0=class extends a${constructor(a){super(a,"BrotliDecompress")}},a1=class extends aW{constructor(a,b){(a=a||{}).flush=a.flush||aO.ZSTD_e_continue,a.finishFlush=a.finishFlush||aO.ZSTD_e_end,a.fullFlushFlag=aO.ZSTD_e_flush,super(a,b)}},a2=class extends a1{constructor(a){super(a,"ZstdCompress")}},a3=class extends a1{constructor(a){super(a,"ZstdDecompress")}},a4=a=>(255^a)&255,a5=a=>(255^a)+1&255,a6={},a7={code:()=>bc,isCode:()=>a9,isName:()=>ba,name:()=>bb};for(var a8 in a7)p(a6,a8,{get:a7[a8],enumerable:!0});var a9=a=>bb.has(a),ba=a=>bc.has(a),bb=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),bc=new Map(Array.from(bb).map(a=>[a[1],a[0]])),bd=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#a="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(a,b=0,c,d){Buffer.isBuffer(a)?this.decode(a,b||0,c,d):a&&this.#b(a)}decode(a,b,c,d){if(b||(b=0),!a||!(a.length>=b+512))throw Error("need 512 bytes for header");this.path=c?.path??bf(a,b,100),this.mode=c?.mode??d?.mode??bi(a,b+100,8),this.uid=c?.uid??d?.uid??bi(a,b+108,8),this.gid=c?.gid??d?.gid??bi(a,b+116,8),this.size=c?.size??d?.size??bi(a,b+124,12),this.mtime=c?.mtime??d?.mtime??bg(a,b+136,12),this.cksum=bi(a,b+148,12),d&&this.#b(d,!0),c&&this.#b(c);let e=bf(a,b+156,1);if(a9(e)&&(this.#a=e||"0"),"0"===this.#a&&"/"===this.path.slice(-1)&&(this.#a="5"),"5"===this.#a&&(this.size=0),this.linkpath=bf(a,b+157,100),"ustar\x0000"===a.subarray(b+257,b+265).toString())if(this.uname=c?.uname??d?.uname??bf(a,b+265,32),this.gname=c?.gname??d?.gname??bf(a,b+297,32),this.devmaj=c?.devmaj??d?.devmaj??bi(a,b+329,8)??0,this.devmin=c?.devmin??d?.devmin??bi(a,b+337,8)??0,0!==a[b+475]){let c=bf(a,b+345,155);this.path=c+"/"+this.path}else{let e=bf(a,b+345,130);e&&(this.path=e+"/"+this.path),this.atime=c?.atime??d?.atime??bg(a,b+476,12),this.ctime=c?.ctime??d?.ctime??bg(a,b+488,12)}let f=256;for(let c=b;c<b+148;c++)f+=a[c];for(let c=b+156;c<b+512;c++)f+=a[c];this.cksumValid=f===this.cksum,void 0===this.cksum&&256===f&&(this.nullBlock=!0)}#b(a,b=!1){Object.assign(this,Object.fromEntries(Object.entries(a).filter(([a,c])=>!(null==c||"path"===a&&b||"linkpath"===a&&b||"global"===a))))}encode(a,b=0){if(a||(a=this.block=Buffer.alloc(512)),"Unsupported"===this.#a&&(this.#a="0"),!(a.length>=b+512))throw Error("need 512 bytes for header");let c=this.ctime||this.atime?130:155,d=be(this.path||"",c),e=d[0],f=d[1];this.needPax=!!d[2],this.needPax=br(a,b,100,e)||this.needPax,this.needPax=bl(a,b+100,8,this.mode)||this.needPax,this.needPax=bl(a,b+108,8,this.uid)||this.needPax,this.needPax=bl(a,b+116,8,this.gid)||this.needPax,this.needPax=bl(a,b+124,12,this.size)||this.needPax,this.needPax=bp(a,b+136,12,this.mtime)||this.needPax,a[b+156]=Number(this.#a.codePointAt(0)),this.needPax=br(a,b+157,100,this.linkpath)||this.needPax,a.write("ustar\x0000",b+257,8),this.needPax=br(a,b+265,32,this.uname)||this.needPax,this.needPax=br(a,b+297,32,this.gname)||this.needPax,this.needPax=bl(a,b+329,8,this.devmaj)||this.needPax,this.needPax=bl(a,b+337,8,this.devmin)||this.needPax,this.needPax=br(a,b+345,c,f)||this.needPax,0!==a[b+475]?this.needPax=br(a,b+345,155,f)||this.needPax:(this.needPax=br(a,b+345,130,f)||this.needPax,this.needPax=bp(a,b+476,12,this.atime)||this.needPax,this.needPax=bp(a,b+488,12,this.ctime)||this.needPax);let g=256;for(let c=b;c<b+148;c++)g+=a[c];for(let c=b+156;c<b+512;c++)g+=a[c];return this.cksum=g,bl(a,b+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return"Unsupported"===this.#a?this.#a:bb.get(this.#a)}get typeKey(){return this.#a}set type(a){let b=String(bc.get(a));if(a9(b)||"Unsupported"===b)this.#a=b;else if(a9(a))this.#a=a;else throw TypeError("invalid entry type: "+a)}},be=(a,b)=>{let c=a,d="",e,f=g.posix.parse(a).root||".";if(100>Buffer.byteLength(c))e=[c,d,!1];else{d=g.posix.dirname(c),c=g.posix.basename(c);do 100>=Buffer.byteLength(c)&&Buffer.byteLength(d)<=b?e=[c,d,!1]:Buffer.byteLength(c)>100&&Buffer.byteLength(d)<=b?e=[c.slice(0,99),d,!0]:(c=g.posix.join(g.posix.basename(d),c),d=g.posix.dirname(d));while(d!==f&&void 0===e)e||(e=[a.slice(0,99),"",!0])}return e},bf=(a,b,c)=>a.subarray(b,b+c).toString("utf8").replace(/\0.*/,""),bg=(a,b,c)=>bh(bi(a,b,c)),bh=a=>void 0===a?void 0:new Date(1e3*a),bi=(a,b,c)=>128&Number(a[b])?(a=>{let b=a[0],c=128===b?(a=>{for(var b=a.length,c=0,d=b-1;d>-1;d--){var e=Number(a[d]);0!==e&&(c+=e*Math.pow(256,b-d-1))}return c})(a.subarray(1,a.length)):255===b?(a=>{for(var b=a.length,c=0,d=!1,e=b-1;e>-1;e--){var f,g=Number(a[e]);d?f=a4(g):0===g?f=g:(d=!0,f=a5(g)),0!==f&&(c-=f*Math.pow(256,b-e-1))}return c})(a):null;if(null===c)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(c))throw Error("parsed number outside of javascript safe integer range");return c})(a.subarray(b,b+c)):bj(a,b,c),bj=(a,b,c)=>{let d;return isNaN(d=parseInt(a.subarray(b,b+c).toString("utf8").replace(/\0.*$/,"").trim(),8))?void 0:d},bk={12:0x1ffffffff,8:2097151},bl=(a,b,c,d)=>void 0!==d&&(d>bk[c]||d<0?(((a,b)=>{if(Number.isSafeInteger(a))a<0?((a,b)=>{b[0]=255;var c=!1;a*=-1;for(var d=b.length;d>1;d--){var e=255&a;a=Math.floor(a/256),c?b[d-1]=a4(e):0===e?b[d-1]=0:(c=!0,b[d-1]=a5(e))}})(a,b):((a,b)=>{b[0]=128;for(var c=b.length;c>1;c--)b[c-1]=255&a,a=Math.floor(a/256)})(a,b);else throw Error("cannot encode number outside of javascript safe integer range")})(d,a.subarray(b,b+c)),!0):(bm(a,b,c,d),!1)),bm=(a,b,c,d)=>a.write(bn(d,c),b,c,"ascii"),bn=(a,b)=>bo(Math.floor(a).toString(8),b),bo=(a,b)=>(a.length===b-1?a:Array(b-a.length-1).join("0")+a+" ")+"\0",bp=(a,b,c,d)=>void 0!==d&&bl(a,b,c,d.getTime()/1e3),bq=Array(156).join("\0"),br=(a,b,c,d)=>void 0!==d&&(a.write(d+bq,b,c,"utf8"),d.length!==Buffer.byteLength(d)||d.length>c),bs=class a{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(a,b=!1){this.atime=a.atime,this.charset=a.charset,this.comment=a.comment,this.ctime=a.ctime,this.dev=a.dev,this.gid=a.gid,this.global=b,this.gname=a.gname,this.ino=a.ino,this.linkpath=a.linkpath,this.mtime=a.mtime,this.nlink=a.nlink,this.path=a.path,this.size=a.size,this.uid=a.uid,this.uname=a.uname}encode(){let a=this.encodeBody();if(""===a)return Buffer.allocUnsafe(0);let b=Buffer.byteLength(a),c=512*Math.ceil(1+b/512),d=Buffer.allocUnsafe(c);for(let a=0;a<512;a++)d[a]=0;new bd({path:("PaxHeader/"+(0,g.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:b,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(d),d.write(a,512,b,"utf8");for(let a=b+512;a<d.length;a++)d[a]=0;return d}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(a){if(void 0===this[a])return"";let b=this[a],c=" "+("dev"===a||"ino"===a||"nlink"===a?"SCHILY.":"")+a+"="+(b instanceof Date?b.getTime()/1e3:b)+`
2
2
  `,d=Buffer.byteLength(c),e=Math.floor(Math.log(d)/Math.log(10))+1;return d+e>=Math.pow(10,e)&&(e+=1),e+d+c}static parse(b,c,d=!1){return new a(bt(bu(b),c),d)}},bt=(a,b)=>b?Object.assign({},b,a):a,bu=a=>a.replace(/\n$/,"").split(`
3
- `).reduce(bv,Object.create(null)),bv=(a,b)=>{let c=parseInt(b,10);if(c!==Buffer.byteLength(b)+1)return a;let d=(b=b.slice((c+" ").length)).split("="),e=d.shift();if(!e)return a;let f=e.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),g=d.join("=");return a[f]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(f)?new Date(1e3*Number(g)):/^[0-9]+$/.test(g)?+g:g,a},bw="win32"!==(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)?a=>a:a=>a&&a.replaceAll(/\\/g,"/"),bx=class extends ab{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(a,b,c){switch(super({}),this.pause(),this.extended=b,this.globalExtended=c,this.header=a,this.remain=a.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=a.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!a.path)throw Error("no path provided for tar.ReadEntry");this.path=bw(a.path),this.mode=a.mode,this.mode&&(this.mode=4095&this.mode),this.uid=a.uid,this.gid=a.gid,this.uname=a.uname,this.gname=a.gname,this.size=this.remain,this.mtime=a.mtime,this.atime=a.atime,this.ctime=a.ctime,this.linkpath=a.linkpath?bw(a.linkpath):void 0,this.uname=a.uname,this.gname=a.gname,b&&this.#a(b),c&&this.#a(c,!0)}write(a){let b=a.length;if(b>this.blockRemain)throw Error("writing more to entry than is appropriate");let c=this.remain,d=this.blockRemain;return this.remain=Math.max(0,c-b),this.blockRemain=Math.max(0,d-b),!!this.ignore||(c>=b?super.write(a):super.write(a.subarray(0,c)))}#a(a,b=!1){a.path&&(a.path=bw(a.path)),a.linkpath&&(a.linkpath=bw(a.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(a).filter(([a,c])=>!(null==c||"path"===a&&b))))}},by=(a,b,c,d={})=>{a.file&&(d.file=a.file),a.cwd&&(d.cwd=a.cwd),d.code=c instanceof Error&&c.code||b,d.tarCode=b,a.strict||!1===d.recoverable?c instanceof Error?a.emit("error",Object.assign(c,d)):a.emit("error",Object.assign(Error(`${b}: ${c}`),d)):(c instanceof Error&&(d=Object.assign(c,d),c=c.message),a.emit("warn",b,c,d))},bz=Buffer.from([31,139]),bA=Buffer.from([40,181,47,253]),bB=Math.max(bz.length,bA.length),bC=Symbol("state"),bD=Symbol("writeEntry"),bE=Symbol("readEntry"),bF=Symbol("nextEntry"),bG=Symbol("processEntry"),bH=Symbol("extendedHeader"),bI=Symbol("globalExtendedHeader"),bJ=Symbol("meta"),bK=Symbol("emitMeta"),bL=Symbol("buffer"),bM=Symbol("queue"),bN=Symbol("ended"),bO=Symbol("emittedEnd"),bP=Symbol("emit"),bQ=Symbol("unzip"),bR=Symbol("consumeChunk"),bS=Symbol("consumeChunkSub"),bT=Symbol("consumeBody"),bU=Symbol("consumeMeta"),bV=Symbol("consumeHeader"),bW=Symbol("consuming"),bX=Symbol("bufferConcat"),bY=Symbol("maybeEnd"),bZ=Symbol("writing"),b$=Symbol("aborted"),b_=Symbol("onDone"),b0=Symbol("sawValidEntry"),b1=Symbol("sawNullBlock"),b2=Symbol("sawEOF"),b3=Symbol("closeStream"),b4=()=>!0,b5=class extends b.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[bM]=[];[bL];[bE];[bD];[bC]="begin";[bJ]="";[bH];[bI];[bN]=!1;[bQ];[b$]=!1;[b0];[b1]=!1;[b2]=!1;[bZ]=!1;[bW]=!1;[bO]=!1;constructor(a={}){super(),this.file=a.file||"",this.on(b_,()=>{("begin"===this[bC]||!1===this[b0])&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),a.ondone?this.on(b_,a.ondone):this.on(b_,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!a.strict,this.maxMetaEntrySize=a.maxMetaEntrySize||1048576,this.filter="function"==typeof a.filter?a.filter:b4;let b=a.file&&(a.file.endsWith(".tar.br")||a.file.endsWith(".tbr"));this.brotli=a.gzip||a.zstd||void 0===a.brotli?!!b&&void 0:a.brotli;let c=a.file&&(a.file.endsWith(".tar.zst")||a.file.endsWith(".tzst"));this.zstd=a.gzip||a.brotli||void 0===a.zstd?!!c||void 0:a.zstd,this.on("end",()=>this[b3]()),"function"==typeof a.onwarn&&this.on("warn",a.onwarn),"function"==typeof a.onReadEntry&&this.on("entry",a.onReadEntry)}warn(a,b,c={}){by(this,a,b,c)}[bV](a,b){let c;void 0===this[b0]&&(this[b0]=!1);try{c=new bd(a,b,this[bH],this[bI])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(c.nullBlock)this[b1]?(this[b2]=!0,"begin"===this[bC]&&(this[bC]="header"),this[bP]("eof")):(this[b1]=!0,this[bP]("nullBlock"));else if(this[b1]=!1,c.cksumValid)if(c.path){let a=c.type;if(/^(Symbolic)?Link$/.test(a)&&!c.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:c});else if(/^(Symbolic)?Link$/.test(a)||/^(Global)?ExtendedHeader$/.test(a)||!c.linkpath){let a=this[bD]=new bx(c,this[bH],this[bI]);if(!this[b0])if(a.remain){let b=()=>{a.invalid||(this[b0]=!0)};a.on("end",b)}else this[b0]=!0;a.meta?a.size>this.maxMetaEntrySize?(a.ignore=!0,this[bP]("ignoredEntry",a),this[bC]="ignore",a.resume()):a.size>0&&(this[bJ]="",a.on("data",a=>this[bJ]+=a),this[bC]="meta"):(this[bH]=void 0,a.ignore=a.ignore||!this.filter(a.path,a),a.ignore?(this[bP]("ignoredEntry",a),this[bC]=a.remain?"ignore":"header",a.resume()):(a.remain?this[bC]="body":(this[bC]="header",a.end()),this[bE]?this[bM].push(a):(this[bM].push(a),this[bF]())))}else this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:c})}else this.warn("TAR_ENTRY_INVALID","path is required",{header:c});else this.warn("TAR_ENTRY_INVALID","checksum failure",{header:c})}[b3](){queueMicrotask(()=>this.emit("close"))}[bG](a){let b=!0;if(a)if(Array.isArray(a)){let[b,...c]=a;this.emit(b,...c)}else this[bE]=a,this.emit("entry",a),a.emittedEnd||(a.on("end",()=>this[bF]()),b=!1);else this[bE]=void 0,b=!1;return b}[bF](){do;while(this[bG](this[bM].shift()))if(0===this[bM].length){let a=this[bE];!a||a.flowing||a.size===a.remain?this[bZ]||this.emit("drain"):a.once("drain",()=>this.emit("drain"))}}[bT](a,b){let c=this[bD];if(!c)throw Error("attempt to consume body without entry??");let d=c.blockRemain??0,e=d>=a.length&&0===b?a:a.subarray(b,b+d);return c.write(e),c.blockRemain||(this[bC]="header",this[bD]=void 0,c.end()),e.length}[bU](a,b){let c=this[bD],d=this[bT](a,b);return!this[bD]&&c&&this[bK](c),d}[bP](a,b,c){0!==this[bM].length||this[bE]?this[bM].push([a,b,c]):this.emit(a,b,c)}[bK](a){switch(this[bP]("meta",this[bJ]),a.type){case"ExtendedHeader":case"OldExtendedHeader":this[bH]=bs.parse(this[bJ],this[bH],!1);break;case"GlobalExtendedHeader":this[bI]=bs.parse(this[bJ],this[bI],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let a=this[bH]??Object.create(null);this[bH]=a,a.path=this[bJ].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let a=this[bH]||Object.create(null);this[bH]=a,a.linkpath=this[bJ].replace(/\0.*/,"");break}default:throw Error("unknown meta: "+a.type)}}abort(a){this[b$]=!0,this.emit("abort",a),this.warn("TAR_ABORT",a,{recoverable:!1})}write(a,b,c){if("function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,"string"==typeof b?b:"utf8")),this[b$])return c?.(),!1;if((void 0===this[bQ]||void 0===this.brotli&&!1===this[bQ])&&a){if(this[bL]&&(a=Buffer.concat([this[bL],a]),this[bL]=void 0),a.length<bB)return this[bL]=a,c?.(),!0;for(let b=0;void 0===this[bQ]&&b<bz.length;b++)a[b]!==bz[b]&&(this[bQ]=!1);let b=!1;if(!1===this[bQ]&&!1!==this.zstd){b=!0;for(let c=0;c<bA.length;c++)if(a[c]!==bA[c]){b=!1;break}}let d=void 0===this.brotli&&!b;if(!1===this[bQ]&&d)if(a.length<512)if(!this[bN])return this[bL]=a,c?.(),!0;else this.brotli=!0;else try{new bd(a.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(void 0===this[bQ]||!1===this[bQ]&&(this.brotli||b)){let d=this[bN];this[bN]=!1,this[bQ]=void 0===this[bQ]?new aZ({}):b?new a3({}):new a0({}),this[bQ].on("data",a=>this[bR](a)),this[bQ].on("error",a=>this.abort(a)),this[bQ].on("end",()=>{this[bN]=!0,this[bR]()}),this[bZ]=!0;let e=!!this[bQ][d?"end":"write"](a);return this[bZ]=!1,c?.(),e}}this[bZ]=!0,this[bQ]?this[bQ].write(a):this[bR](a),this[bZ]=!1;let d=!(this[bM].length>0)&&(!this[bE]||this[bE].flowing);return d||0!==this[bM].length||this[bE]?.once("drain",()=>this.emit("drain")),c?.(),d}[bX](a){a&&!this[b$]&&(this[bL]=this[bL]?Buffer.concat([this[bL],a]):a)}[bY](){if(this[bN]&&!this[bO]&&!this[b$]&&!this[bW]){this[bO]=!0;let a=this[bD];if(a&&a.blockRemain){let b=this[bL]?this[bL].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${a.blockRemain} more bytes, only ${b} available)`,{entry:a}),this[bL]&&a.write(this[bL]),a.end()}this[bP](b_)}}[bR](a){if(this[bW]&&a)this[bX](a);else if(a||this[bL]){if(a){if(this[bW]=!0,this[bL]){this[bX](a);let b=this[bL];this[bL]=void 0,this[bS](b)}else this[bS](a);for(;this[bL]&&this[bL]?.length>=512&&!this[b$]&&!this[b2];){let a=this[bL];this[bL]=void 0,this[bS](a)}this[bW]=!1}}else this[bY]();(!this[bL]||this[bN])&&this[bY]()}[bS](a){let b=0,c=a.length;for(;b+512<=c&&!this[b$]&&!this[b2];)switch(this[bC]){case"begin":case"header":this[bV](a,b),b+=512;break;case"ignore":case"body":b+=this[bT](a,b);break;case"meta":b+=this[bU](a,b);break;default:throw Error("invalid state: "+this[bC])}b<c&&(this[bL]=this[bL]?Buffer.concat([a.subarray(b),this[bL]]):a.subarray(b))}end(a,b,c){return"function"==typeof a&&(c=a,b=void 0,a=void 0),"function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,b)),c&&this.once("finish",c),this[b$]||(this[bQ]?(a&&this[bQ].write(a),this[bQ].end()):(this[bN]=!0,(void 0===this.brotli||void 0===this.zstd)&&(a=a||Buffer.alloc(0)),a&&this.write(a),this[bY]())),this}},b6=a=>{let b=a.length-1,c=-1;for(;b>-1&&"/"===a.charAt(b);)c=b,b--;return -1===c?a:a.slice(0,c)},b7=(a,b)=>{let c=new Map(b.map(a=>[b6(a),!0])),d=a.filter,e=(a,b="")=>{let d=b||(0,i.parse)(a).root||".",f;if(a===d)f=!1;else{let b=c.get(a);f=void 0!==b?b:e((0,i.dirname)(a),d)}return c.set(a,f),f};a.filter=d?(a,b)=>d(a,b)&&e(b6(a)):a=>e(b6(a))},b8=aM(a=>{let b=new b5(a),c=a.file,d;try{d=h.default.openSync(c,"r");let e=h.default.fstatSync(d),f=a.maxReadSize||0x1000000;if(e.size<f){let a=Buffer.allocUnsafe(e.size),c=h.default.readSync(d,a,0,e.size,0);b.end(c===a.byteLength?a:a.subarray(0,c))}else{let a=0,c=Buffer.allocUnsafe(f);for(;a<e.size;){let e=h.default.readSync(d,c,0,f,a);if(0===e)break;a+=e,b.write(c.subarray(0,e))}b.end()}}finally{if("number"==typeof d)try{h.default.closeSync(d)}catch{}}},(a,b)=>{let c=new b5(a),d=a.maxReadSize||0x1000000,e=a.file;return new Promise((a,b)=>{c.on("error",b),c.on("end",a),h.default.stat(e,(a,f)=>{if(a)b(a);else{let a=new aF(e,{readSize:d,size:f.size});a.on("error",b),a.pipe(c)}})})},a=>new b5(a),a=>new b5(a),(a,b)=>{let c;b?.length&&b7(a,b),a.noResume||(c=a.onReadEntry,a.onReadEntry=c?a=>{c(a),a.resume()}:a=>a.resume())}),b9=(a,b,c)=>(a&=4095,c&&(a=(384|a)&-19),b&&(256&a&&(a|=64),32&a&&(a|=8),4&a&&(a|=1)),a),{isAbsolute:ca,parse:cb}=g.win32,cc=a=>{let b="",c=cb(a);for(;ca(a)||c.root;){let d="/"===a.charAt(0)&&"//?/"!==a.slice(0,4)?"/":c.root;a=a.slice(d.length),b+=d,c=cb(a)}return[b,a]},cd=["|","<",">","?",":"],ce=cd.map(a=>String.fromCodePoint(61440+Number(a.codePointAt(0)))),cf=new Map(cd.map((a,b)=>[a,ce[b]])),cg=new Map(ce.map((a,b)=>[a,cd[b]])),ch=a=>cd.reduce((a,b)=>a.split(b).join(cf.get(b)),a),ci=(a,b)=>b?(a=bw(a).replace(/^\.(\/|$)/,""),b6(b)+"/"+a):bw(a),cj=Symbol("process"),ck=Symbol("file"),cl=Symbol("directory"),cm=Symbol("symlink"),cn=Symbol("hardlink"),co=Symbol("header"),cp=Symbol("read"),cq=Symbol("lstat"),cr=Symbol("onlstat"),cs=Symbol("onread"),ct=Symbol("onreadlink"),cu=Symbol("openfile"),cv=Symbol("onopenfile"),cw=Symbol("close"),cx=Symbol("mode"),cy=Symbol("awaitDrain"),cz=Symbol("ondrain"),cA=Symbol("prefix"),cB=class extends ab{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#a=!1;constructor(a,b={}){let c=aL(b);super(),this.path=bw(a),this.portable=!!c.portable,this.maxReadSize=c.maxReadSize||0x1000000,this.linkCache=c.linkCache||new Map,this.statCache=c.statCache||new Map,this.preservePaths=!!c.preservePaths,this.cwd=bw(c.cwd||process.cwd()),this.strict=!!c.strict,this.noPax=!!c.noPax,this.noMtime=!!c.noMtime,this.mtime=c.mtime,this.prefix=c.prefix?bw(c.prefix):void 0,this.onWriteEntry=c.onWriteEntry,"function"==typeof c.onwarn&&this.on("warn",c.onwarn);let d=!1;if(!this.preservePaths){let[a,b]=cc(this.path);a&&"string"==typeof b&&(this.path=b,d=a)}this.win32=!!c.win32||"win32"===process.platform,this.win32&&(this.path=(a=>ce.reduce((a,b)=>a.split(b).join(cg.get(b)),a))(this.path.replaceAll(/\\/g,"/")),a=a.replaceAll(/\\/g,"/")),this.absolute=bw(c.absolute||i.default.resolve(this.cwd,a)),""===this.path&&(this.path="./"),d&&this.warn("TAR_ENTRY_INFO",`stripping ${d} from absolute path`,{entry:this,path:d+this.path});let e=this.statCache.get(this.absolute);e?this[cr](e):this[cq]()}warn(a,b,c={}){return by(this,a,b,c)}emit(a,...b){return"error"===a&&(this.#a=!0),super.emit(a,...b)}[cq](){c.default.lstat(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[cr](b)})}[cr](a){this.statCache.set(this.absolute,a),this.stat=a,a.isFile()||(a.size=0),this.type=cE(a),this.emit("stat",a),this[cj]()}[cj](){switch(this.type){case"File":return this[ck]();case"Directory":return this[cl]();case"SymbolicLink":return this[cm]();default:return this.end()}}[cx](a){return b9(a,"Directory"===this.type,this.portable)}[cA](a){return ci(a,this.prefix)}[co](){if(!this.stat)throw Error("cannot write header before stat");"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new bd({path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,mode:this[cx](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:"Unsupported"===this.type?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new bs({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let a=this.header?.block;if(!a)throw Error("failed to encode header");super.write(a)}[cl](){if(!this.stat)throw Error("cannot create directory entry without stat");"/"!==this.path.slice(-1)&&(this.path+="/"),this.stat.size=0,this[co](),this.end()}[cm](){c.default.readlink(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[ct](b)})}[ct](a){this.linkpath=bw(a),this[co](),this.end()}[cn](a){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=bw(i.default.relative(this.cwd,a)),this.stat.size=0,this[co](),this.end()}[ck](){if(!this.stat)throw Error("cannot create file entry without stat");if(this.stat.nlink>1){let a=`${this.stat.dev}:${this.stat.ino}`,b=this.linkCache.get(a);if(b?.indexOf(this.cwd)===0)return this[cn](b);this.linkCache.set(a,this.absolute)}if(this[co](),0===this.stat.size)return this.end();this[cu]()}[cu](){c.default.open(this.absolute,"r",(a,b)=>{if(a)return this.emit("error",a);this[cv](b)})}[cv](a){if(this.fd=a,this.#a)return this[cw]();if(!this.stat)throw Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let b=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(b),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[cp]()}[cp](){let{fd:a,buf:b,offset:d,length:e,pos:f}=this;if(void 0===a||void 0===b)throw Error("cannot read file without first opening");c.default.read(a,b,d,e,f,(a,b)=>{if(a)return this[cw](()=>this.emit("error",a));this[cs](b)})}[cw](a=()=>{}){void 0!==this.fd&&c.default.close(this.fd,a)}[cs](a){if(a<=0&&this.remain>0){let a=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[cw](()=>this.emit("error",a))}if(a>this.remain){let a=Object.assign(Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[cw](()=>this.emit("error",a))}if(!this.buf)throw Error("should have created buffer prior to reading");if(a===this.remain)for(let b=a;b<this.length&&a<this.blockRemain;b++)this.buf[b+this.offset]=0,a++,this.remain++;let b=0===this.offset&&a===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+a);this.write(b)?this[cz]():this[cy](()=>this[cz]())}[cy](a){this.once("drain",a)}write(a,b,c){if("function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,"string"==typeof b?b:"utf8")),this.blockRemain<a.length){let a=Object.assign(Error("writing more data than expected"),{path:this.absolute});return this.emit("error",a)}return this.remain-=a.length,this.blockRemain-=a.length,this.pos+=a.length,this.offset+=a.length,super.write(a,null,c)}[cz](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[cw](a=>a?this.emit("error",a):this.end());if(!this.buf)throw Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[cp]()}},cC=class extends cB{sync=!0;[cq](){this[cr](c.default.lstatSync(this.absolute))}[cm](){this[ct](c.default.readlinkSync(this.absolute))}[cu](){this[cv](c.default.openSync(this.absolute,"r"))}[cp](){let a=!0;try{let{fd:b,buf:d,offset:e,length:f,pos:g}=this;if(void 0===b||void 0===d)throw Error("fd and buf must be set in READ method");let h=c.default.readSync(b,d,e,f,g);this[cs](h),a=!1}finally{if(a)try{this[cw](()=>{})}catch{}}}[cy](a){a()}[cw](a=()=>{}){void 0!==this.fd&&c.default.closeSync(this.fd),a()}},cD=class extends ab{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(a,b,c={}){return by(this,a,b,c)}constructor(a,b={}){let c=aL(b);super(),this.preservePaths=!!c.preservePaths,this.portable=!!c.portable,this.strict=!!c.strict,this.noPax=!!c.noPax,this.noMtime=!!c.noMtime,this.onWriteEntry=c.onWriteEntry,this.readEntry=a;let{type:d}=a;if("Unsupported"===d)throw Error("writing entry that should be ignored");this.type=d,"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.prefix=c.prefix,this.path=bw(a.path),this.mode=void 0!==a.mode?this[cx](a.mode):void 0,this.uid=this.portable?void 0:a.uid,this.gid=this.portable?void 0:a.gid,this.uname=this.portable?void 0:a.uname,this.gname=this.portable?void 0:a.gname,this.size=a.size,this.mtime=this.noMtime?void 0:c.mtime||a.mtime,this.atime=this.portable?void 0:a.atime,this.ctime=this.portable?void 0:a.ctime,this.linkpath=void 0!==a.linkpath?bw(a.linkpath):void 0,"function"==typeof c.onwarn&&this.on("warn",c.onwarn);let e=!1;if(!this.preservePaths){let[a,b]=cc(this.path);a&&"string"==typeof b&&(this.path=b,e=a)}this.remain=a.size,this.blockRemain=a.startBlockSize,this.onWriteEntry?.(this),this.header=new bd({path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),e&&this.warn("TAR_ENTRY_INFO",`stripping ${e} from absolute path`,{entry:this,path:e+this.path}),this.header.encode()&&!this.noPax&&super.write(new bs({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let f=this.header?.block;if(!f)throw Error("failed to encode header");super.write(f),a.pipe(this)}[cA](a){return ci(a,this.prefix)}[cx](a){return b9(a,"Directory"===this.type,this.portable)}write(a,b,c){"function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,"string"==typeof b?b:"utf8"));let d=a.length;if(d>this.blockRemain)throw Error("writing more to entry than is appropriate");return this.blockRemain-=d,super.write(a,c)}end(a,b,c){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),"function"==typeof a&&(c=a,b=void 0,a=void 0),"function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,b??"utf8")),c&&this.once("finish",c),a?super.end(a,c):super.end(c),this}},cE=a=>a.isFile()?"File":a.isDirectory()?"Directory":a.isSymbolicLink()?"SymbolicLink":"Unsupported",cF=class a{tail;head;length=0;static create(b=[]){return new a(b)}constructor(a=[]){for(let b of a)this.push(b)}*[Symbol.iterator](){for(let a=this.head;a;a=a.next)yield a.value}removeNode(a){if(a.list!==this)throw Error("removing node which does not belong to this list");let b=a.next,c=a.prev;return b&&(b.prev=c),c&&(c.next=b),a===this.head&&(this.head=b),a===this.tail&&(this.tail=c),this.length--,a.next=void 0,a.prev=void 0,a.list=void 0,b}unshiftNode(a){if(a===this.head)return;a.list&&a.list.removeNode(a);let b=this.head;a.list=this,a.next=b,b&&(b.prev=a),this.head=a,this.tail||(this.tail=a),this.length++}pushNode(a){if(a===this.tail)return;a.list&&a.list.removeNode(a);let b=this.tail;a.list=this,a.prev=b,b&&(b.next=a),this.tail=a,this.head||(this.head=a),this.length++}push(...a){for(let c=0,d=a.length;c<d;c++){var b;b=this,b.tail=new cG(a[c],b.tail,void 0,b),b.head||(b.head=b.tail),b.length++}return this.length}unshift(...a){for(var b,c=0,d=a.length;c<d;c++){b=this,b.head=new cG(a[c],void 0,b.head,b),b.tail||(b.tail=b.head),b.length++}return this.length}pop(){if(!this.tail)return;let a=this.tail.value,b=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,b.list=void 0,this.length--,a}shift(){if(!this.head)return;let a=this.head.value,b=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,b.list=void 0,this.length--,a}forEach(a,b){b=b||this;for(let c=this.head,d=0;c;d++)a.call(b,c.value,d,this),c=c.next}forEachReverse(a,b){b=b||this;for(let c=this.tail,d=this.length-1;c;d--)a.call(b,c.value,d,this),c=c.prev}get(a){let b=0,c=this.head;for(;c&&b<a;b++)c=c.next;if(b===a&&c)return c.value}getReverse(a){let b=0,c=this.tail;for(;c&&b<a;b++)c=c.prev;if(b===a&&c)return c.value}map(b,c){c=c||this;let d=new a;for(let a=this.head;a;)d.push(b.call(c,a.value,this)),a=a.next;return d}mapReverse(b,c){c=c||this;var d=new a;for(let a=this.tail;a;)d.push(b.call(c,a.value,this)),a=a.prev;return d}reduce(a,b){let c,d=this.head;if(arguments.length>1)c=b;else if(this.head)d=this.head.next,c=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var e=0;d;e++)c=a(c,d.value,e),d=d.next;return c}reduceReverse(a,b){let c,d=this.tail;if(arguments.length>1)c=b;else if(this.tail)d=this.tail.prev,c=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(let b=this.length-1;d;b--)c=a(c,d.value,b),d=d.prev;return c}toArray(){let a=Array(this.length);for(let b=0,c=this.head;c;b++)a[b]=c.value,c=c.next;return a}toArrayReverse(){let a=Array(this.length);for(let b=0,c=this.tail;c;b++)a[b]=c.value,c=c.prev;return a}slice(b=0,c=this.length){c<0&&(c+=this.length),b<0&&(b+=this.length);let d=new a;if(c<b||c<0)return d;b<0&&(b=0),c>this.length&&(c=this.length);let e=this.head,f=0;for(f=0;e&&f<b;f++)e=e.next;for(;e&&f<c;f++,e=e.next)d.push(e.value);return d}sliceReverse(b=0,c=this.length){c<0&&(c+=this.length),b<0&&(b+=this.length);let d=new a;if(c<b||c<0)return d;b<0&&(b=0),c>this.length&&(c=this.length);let e=this.length,f=this.tail;for(;f&&e>c;e--)f=f.prev;for(;f&&e>b;e--,f=f.prev)d.push(f.value);return d}splice(a,b=0,...c){a>this.length&&(a=this.length-1),a<0&&(a=this.length+a);let d=this.head;for(let b=0;d&&b<a;b++)d=d.next;let e=[];for(let a=0;d&&a<b;a++)e.push(d.value),d=this.removeNode(d);for(let a of(d?d!==this.tail&&(d=d.prev):d=this.tail,c))d=function(a,b,c){let d=b?b.next:a.head,e=new cG(c,b,d,a);return void 0===e.next&&(a.tail=e),void 0===e.prev&&(a.head=e),a.length++,e}(this,d,a);return e}reverse(){let a=this.head,b=this.tail;for(let b=a;b;b=b.prev){let a=b.prev;b.prev=b.next,b.next=a}return this.head=b,this.tail=a,this}},cG=class{list;next;prev;value;constructor(a,b,c,d){this.list=d,this.value=a,b?(b.next=this,this.prev=b):this.prev=void 0,c?(c.prev=this,this.next=c):this.next=void 0}},cH=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(a,b){this.path=a||"./",this.absolute=b}},cI=Buffer.alloc(1024),cJ=Symbol("onStat"),cK=Symbol("ended"),cL=Symbol("queue"),cM=Symbol("current"),cN=Symbol("process"),cO=Symbol("processing"),cP=Symbol("processJob"),cQ=Symbol("jobs"),cR=Symbol("jobDone"),cS=Symbol("addFSEntry"),cT=Symbol("addTarEntry"),cU=Symbol("stat"),cV=Symbol("readdir"),cW=Symbol("onreaddir"),cX=Symbol("pipe"),cY=Symbol("entry"),cZ=Symbol("entryOpt"),c$=Symbol("writeEntryClass"),c_=Symbol("write"),c0=Symbol("ondrain"),c1=class extends ab{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[c$];onWriteEntry;[cL];[cQ]=0;[cO]=!1;[cK]=!1;constructor(a={}){if(super(),this.opt=a,this.file=a.file||"",this.cwd=a.cwd||process.cwd(),this.maxReadSize=a.maxReadSize,this.preservePaths=!!a.preservePaths,this.strict=!!a.strict,this.noPax=!!a.noPax,this.prefix=bw(a.prefix||""),this.linkCache=a.linkCache||new Map,this.statCache=a.statCache||new Map,this.readdirCache=a.readdirCache||new Map,this.onWriteEntry=a.onWriteEntry,this[c$]=cB,"function"==typeof a.onwarn&&this.on("warn",a.onwarn),this.portable=!!a.portable,a.gzip||a.brotli||a.zstd){if(+!!a.gzip+ +!!a.brotli+ +!!a.zstd>1)throw TypeError("gzip, brotli, zstd are mutually exclusive");if(a.gzip&&("object"!=typeof a.gzip&&(a.gzip={}),this.portable&&(a.gzip.portable=!0),this.zip=new aY(a.gzip)),a.brotli&&("object"!=typeof a.brotli&&(a.brotli={}),this.zip=new a_(a.brotli)),a.zstd&&("object"!=typeof a.zstd&&(a.zstd={}),this.zip=new a2(a.zstd)),!this.zip)throw Error("impossible");let b=this.zip;b.on("data",a=>super.write(a)),b.on("end",()=>super.end()),b.on("drain",()=>this[c0]()),this.on("resume",()=>b.resume())}else this.on("drain",this[c0]);this.noDirRecurse=!!a.noDirRecurse,this.follow=!!a.follow,this.noMtime=!!a.noMtime,a.mtime&&(this.mtime=a.mtime),this.filter="function"==typeof a.filter?a.filter:()=>!0,this[cL]=new cF,this[cQ]=0,this.jobs=Number(a.jobs)||4,this[cO]=!1,this[cK]=!1}[c_](a){return super.write(a)}add(a){return this.write(a),this}end(a,b,c){return"function"==typeof a&&(c=a,a=void 0),"function"==typeof b&&(c=b,b=void 0),a&&this.add(a),this[cK]=!0,this[cN](),c&&c(),this}write(a){if(this[cK])throw Error("write after end");return a instanceof bx?this[cT](a):this[cS](a),this.flowing}[cT](a){let b=bw(i.default.resolve(this.cwd,a.path));if(this.filter(a.path,a)){let c=new cH(a.path,b);c.entry=new cD(a,this[cZ](c)),c.entry.on("end",()=>this[cR](c)),this[cQ]+=1,this[cL].push(c)}else a.resume();this[cN]()}[cS](a){let b=bw(i.default.resolve(this.cwd,a));this[cL].push(new cH(a,b)),this[cN]()}[cU](a){a.pending=!0,this[cQ]+=1;let b=this.follow?"stat":"lstat";c.default[b](a.absolute,(b,c)=>{a.pending=!1,this[cQ]-=1,b?this.emit("error",b):this[cJ](a,c)})}[cJ](a,b){this.statCache.set(a.absolute,b),a.stat=b,this.filter(a.path,b)?b.isFile()&&b.nlink>1&&a===this[cM]&&!this.linkCache.get(`${b.dev}:${b.ino}`)&&!this.sync&&this[cP](a):a.ignore=!0,this[cN]()}[cV](a){a.pending=!0,this[cQ]+=1,c.default.readdir(a.absolute,(b,c)=>{if(a.pending=!1,this[cQ]-=1,b)return this.emit("error",b);this[cW](a,c)})}[cW](a,b){this.readdirCache.set(a.absolute,b),a.readdir=b,this[cN]()}[cN](){if(!this[cO]){this[cO]=!0;for(let a=this[cL].head;a&&this[cQ]<this.jobs;a=a.next)if(this[cP](a.value),a.value.ignore){let b=a.next;this[cL].removeNode(a),a.next=b}this[cO]=!1,this[cK]&&0===this[cL].length&&0===this[cQ]&&(this.zip?this.zip.end(cI):(super.write(cI),super.end()))}}get[cM](){return this[cL]&&this[cL].head&&this[cL].head.value}[cR](a){this[cL].shift(),this[cQ]-=1,this[cN]()}[cP](a){if(!a.pending){if(a.entry){a!==this[cM]||a.piped||this[cX](a);return}if(!a.stat){let b=this.statCache.get(a.absolute);b?this[cJ](a,b):this[cU](a)}if(a.stat&&!a.ignore){if(!this.noDirRecurse&&a.stat.isDirectory()&&!a.readdir){let b=this.readdirCache.get(a.absolute);if(b?this[cW](a,b):this[cV](a),!a.readdir)return}if(a.entry=this[cY](a),!a.entry){a.ignore=!0;return}a!==this[cM]||a.piped||this[cX](a)}}}[cZ](a){return{onwarn:(a,b,c)=>this.warn(a,b,c),noPax:this.noPax,cwd:this.cwd,absolute:a.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[cY](a){this[cQ]+=1;try{return new this[c$](a.path,this[cZ](a)).on("end",()=>this[cR](a)).on("error",a=>this.emit("error",a))}catch(a){this.emit("error",a)}}[c0](){this[cM]&&this[cM].entry&&this[cM].entry.resume()}[cX](a){a.piped=!0,a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cS](d+b)});let b=a.entry,c=this.zip;if(!b)throw Error("cannot pipe without source");c?b.on("data",a=>{c.write(a)||b.pause()}):b.on("data",a=>{super.write(a)||b.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(a,b,c={}){by(this,a,b,c)}},c2=class extends c1{sync=!0;constructor(a){super(a),this[c$]=cC}pause(){}resume(){}[cU](a){let b=this.follow?"statSync":"lstatSync";this[cJ](a,c.default[b](a.absolute))}[cV](a){this[cW](a,c.default.readdirSync(a.absolute))}[cX](a){let b=a.entry,c=this.zip;if(a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cS](d+b)}),!b)throw Error("Cannot pipe without source");c?b.on("data",a=>{c.write(a)}):b.on("data",a=>{super[c_](a)})}},c3=(a,b)=>{b.forEach(b=>{"@"===b.charAt(0)?b8({file:g.default.resolve(a.cwd,b.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(b)}),a.end()},c4=async(a,b)=>{for(let c of b)"@"===c.charAt(0)?await b8({file:g.default.resolve(String(a.cwd),c.slice(1)),noResume:!0,onReadEntry:b=>{a.add(b)}}):a.add(c);a.end()},c5=aM((a,b)=>{let c=new c2(a),d=new aI(a.file,{mode:a.mode||438});c.pipe(d),c3(c,b)},(a,b)=>{let c=new c1(a),d=new aH(a.file,{mode:a.mode||438});c.pipe(d);let e=new Promise((a,b)=>{d.on("error",b),d.on("close",a),c.on("error",b)});return c4(c,b).catch(a=>c.emit("error",a)),e},(a,b)=>{let c=new c2(a);return c3(c,b),c},(a,b)=>{let c=new c1(a);return c4(c,b).catch(a=>c.emit("error",a)),c},(a,b)=>{if(!b?.length)throw TypeError("no paths specified to add to archive")}),c6="win32"===(process.env.__FAKE_PLATFORM__||process.platform),{O_CREAT:c7,O_NOFOLLOW:c8,O_TRUNC:c9,O_WRONLY:da}=c.default.constants,db=Number(process.env.__FAKE_FS_O_FILENAME__)||c.default.constants.UV_FS_O_FILEMAP||0,dc=db|c9|c7|da,dd=c6||"number"!=typeof c8?null:c8|c9|c7|da,de=null!==dd?()=>dd:c6&&db?a=>a<524288?dc:"w":()=>"w",df=(a,b,c)=>{try{return h.default.lchownSync(a,b,c)}catch(a){if(a?.code!=="ENOENT")throw a}},dg=(a,b,c,d)=>{h.default.lchown(a,b,c,a=>{d(a&&a?.code!=="ENOENT"?a:null)})},dh=(a,b,c,d,e)=>{b.isDirectory()?di(g.default.resolve(a,b.name),c,d,f=>{if(f)return e(f);dg(g.default.resolve(a,b.name),c,d,e)}):dg(g.default.resolve(a,b.name),c,d,e)},di=(a,b,c,d)=>{h.default.readdir(a,{withFileTypes:!0},(e,f)=>{if(e){if("ENOENT"===e.code)return d();if("ENOTDIR"!==e.code&&"ENOTSUP"!==e.code)return d(e)}if(e||!f.length)return dg(a,b,c,d);let g=f.length,h=null,i=e=>{if(!h){if(e)return d(h=e);if(0==--g)return dg(a,b,c,d)}};for(let d of f)dh(a,d,b,c,i)})},dj=(a,b,c,d)=>{b.isDirectory()&&dk(g.default.resolve(a,b.name),c,d),df(g.default.resolve(a,b.name),c,d)},dk=(a,b,c)=>{let d;try{d=h.default.readdirSync(a,{withFileTypes:!0})}catch(d){if(d?.code==="ENOENT")return;if(d?.code==="ENOTDIR"||d?.code==="ENOTSUP")return df(a,b,c);throw d}for(let e of d)dj(a,e,b,c);return df(a,b,c)},dl=class extends Error{path;code;syscall="chdir";constructor(a,b){super(`${b}: Cannot cd into '${a}'`),this.path=a,this.code=b}get name(){return"CwdError"}},dm=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(a,b){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=a,this.path=b}get name(){return"SymlinkError"}},dn=(a,b,c,d,e,f,i)=>{if(0===b.length)return i(null,f);let j=b.shift(),k=bw(g.default.resolve(a+"/"+j));h.default.mkdir(k,c,dp(k,b,c,d,e,f,i))},dp=(a,b,c,d,e,f,g)=>i=>{i?h.default.lstat(a,(j,k)=>{if(j)j.path=j.path&&bw(j.path),g(j);else if(k.isDirectory())dn(a,b,c,d,e,f,g);else if(d)h.default.unlink(a,i=>{if(i)return g(i);h.default.mkdir(a,c,dp(a,b,c,d,e,f,g))});else{if(k.isSymbolicLink())return g(new dm(a,a+"/"+b.join("/")));g(i)}}):(f=f||a,dn(a,b,c,d,e,f,g))},dq=Object.create(null),dr=new Set,ds="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),dt=class{#a=new Map;#b=new Map;#c=new Set;reserve(a,b){let c=new Set((a=ds?["win32 parallelization disabled"]:a.map(a=>b6((0,g.join)((a=>{dr.has(a)?dr.delete(a):dq[a]=a.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),dr.add(a);let b=dq[a],c=dr.size-1e4;if(c>1e3){for(let a of dr)if(dr.delete(a),delete dq[a],--c<=0)break}return b})(a))))).map(a=>a.split("/").slice(0,-1).reduce((a,b)=>{let c=a.at(-1);return void 0!==c&&(b=(0,g.join)(c,b)),a.push(b||"/"),a},[])).reduce((a,b)=>a.concat(b)));for(let d of(this.#b.set(b,{dirs:c,paths:a}),a)){let a=this.#a.get(d);a?a.push(b):this.#a.set(d,[b])}for(let a of c){let c=this.#a.get(a);if(c){let a=c.at(-1);a instanceof Set?a.add(b):c.push(new Set([b]))}else this.#a.set(a,[new Set([b])])}return this.#e(b)}#d(a){let b=this.#b.get(a);if(!b)throw Error("function does not have any path reservations");return{paths:b.paths.map(a=>this.#a.get(a)),dirs:[...b.dirs].map(a=>this.#a.get(a))}}check(a){let{paths:b,dirs:c}=this.#d(a);return b.every(b=>b&&b[0]===a)&&c.every(b=>b&&b[0]instanceof Set&&b[0].has(a))}#e(a){return!this.#c.has(a)&&!!this.check(a)&&(this.#c.add(a),a(()=>this.#f(a)),!0)}#f(a){if(!this.#c.has(a))return!1;let b=this.#b.get(a);if(!b)throw Error("invalid reservation");let{paths:c,dirs:d}=b,e=new Set;for(let b of c){let c=this.#a.get(b);if(!c||c?.[0]!==a)continue;let d=c[1];if(!d){this.#a.delete(b);continue}if(c.shift(),"function"==typeof d)e.add(d);else for(let a of d)e.add(a)}for(let b of d){let c=this.#a.get(b),d=c?.[0];if(!(!c||!(d instanceof Set)))if(1===d.size&&1===c.length){this.#a.delete(b);continue}else if(1===d.size){c.shift();let a=c[0];"function"==typeof a&&e.add(a)}else d.delete(a)}return this.#c.delete(a),e.forEach(a=>this.#e(a)),!0}},du=Symbol("onEntry"),dv=Symbol("checkFs"),dw=Symbol("checkFs2"),dx=Symbol("isReusable"),dy=Symbol("makeFs"),dz=Symbol("file"),dA=Symbol("directory"),dB=Symbol("link"),dC=Symbol("symlink"),dD=Symbol("hardlink"),dE=Symbol("ensureNoSymlink"),dF=Symbol("unsupported"),dG=Symbol("checkPath"),dH=Symbol("stripAbsolutePath"),dI=Symbol("mkdir"),dJ=Symbol("onError"),dK=Symbol("pending"),dL=Symbol("pend"),dM=Symbol("unpend"),dN=Symbol("ended"),dO=Symbol("maybeClose"),dP=Symbol("skip"),dQ=Symbol("doChown"),dR=Symbol("uid"),dS=Symbol("gid"),dT=Symbol("checkedCwd"),dU="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),dV=(a,b,c)=>void 0!==a&&a===a>>>0?a:void 0!==b&&b===b>>>0?b:c,dW=class extends b5{[dN]=!1;[dT]=!1;[dK]=0;reservations=new dt;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(a={}){if(a.ondone=()=>{this[dN]=!0,this[dO]()},super(a),this.transform=a.transform,this.chmod=!!a.chmod,"number"==typeof a.uid||"number"==typeof a.gid){if("number"!=typeof a.uid||"number"!=typeof a.gid)throw TypeError("cannot set owner without number uid and gid");if(a.preserveOwner)throw TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=a.uid,this.gid=a.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=void 0===a.preserveOwner&&"number"!=typeof a.uid?!!(process.getuid&&0===process.getuid()):!!a.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth="number"==typeof a.maxDepth?a.maxDepth:1024,this.forceChown=!0===a.forceChown,this.win32=!!a.win32||dU,this.newer=!!a.newer,this.keep=!!a.keep,this.noMtime=!!a.noMtime,this.preservePaths=!!a.preservePaths,this.unlink=!!a.unlink,this.cwd=bw(g.default.resolve(a.cwd||process.cwd())),this.strip=Number(a.strip)||0,this.processUmask=this.chmod?"number"==typeof a.processUmask?a.processUmask:process.umask():0,this.umask="number"==typeof a.umask?a.umask:this.processUmask,this.dmode=a.dmode||511&~this.umask,this.fmode=a.fmode||438&~this.umask,this.on("entry",a=>this[du](a))}warn(a,b,c={}){return("TAR_BAD_ARCHIVE"===a||"TAR_ABORT"===a)&&(c.recoverable=!1),super.warn(a,b,c)}[dO](){this[dN]&&0===this[dK]&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[dH](a,b){let c=a[b],{type:d}=a;if(!c||this.preservePaths)return!0;let[e,f]=cc(c),h=f.replaceAll(/\\/g,"/").split("/");if(h.includes("..")||dU&&/^[a-z]:\.\.$/i.test(h[0]??"")){if("path"===b||"Link"===d)return this.warn("TAR_ENTRY_ERROR",`${b} contains '..'`,{entry:a,[b]:c}),!1;let e=g.default.posix.dirname(a.path),f=g.default.posix.normalize(g.default.posix.join(e,h.join("/")));if(f.startsWith("../")||".."===f)return this.warn("TAR_ENTRY_ERROR",`${b} escapes extraction directory`,{entry:a,[b]:c}),!1}return e&&(a[b]=String(f),this.warn("TAR_ENTRY_INFO",`stripping ${e} from absolute ${b}`,{entry:a,[b]:c})),!0}[dG](a){let b=bw(a.path),c=b.split("/");if(this.strip){if(c.length<this.strip)return!1;if("Link"===a.type){let b=bw(String(a.linkpath)).split("/");if(!(b.length>=this.strip))return!1;a.linkpath=b.slice(this.strip).join("/")}c.splice(0,this.strip),a.path=c.join("/")}if(isFinite(this.maxDepth)&&c.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:a,path:b,depth:c.length,maxDepth:this.maxDepth}),!1;if(!this[dH](a,"path")||!this[dH](a,"linkpath"))return!1;if(a.absolute=g.default.isAbsolute(a.path)?bw(g.default.resolve(a.path)):bw(g.default.resolve(this.cwd,a.path)),!this.preservePaths&&"string"==typeof a.absolute&&0!==a.absolute.indexOf(this.cwd+"/")&&a.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:a,path:bw(a.path),resolvedPath:a.absolute,cwd:this.cwd}),!1;if(a.absolute===this.cwd&&"Directory"!==a.type&&"GNUDumpDir"!==a.type)return!1;if(this.win32){let{root:b}=g.default.win32.parse(String(a.absolute));a.absolute=b+ch(String(a.absolute).slice(b.length));let{root:c}=g.default.win32.parse(a.path);a.path=c+ch(a.path.slice(c.length))}return!0}[du](a){if(!this[dG](a))return a.resume();switch(m.default.equal(typeof a.absolute,"string"),a.type){case"Directory":case"GNUDumpDir":a.mode&&(a.mode=448|a.mode);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[dv](a);default:return this[dF](a)}}[dJ](a,b){"CwdError"===a.name?this.emit("error",a):(this.warn("TAR_ENTRY_ERROR",a,{entry:b}),this[dM](),b.resume())}[dI](a,b,c){((a,b,c)=>{a=bw(a);let d=b.umask??18,e=448|b.mode,f=(e&d)!=0,i=b.uid,j=b.gid,k="number"==typeof i&&"number"==typeof j&&(i!==b.processUid||j!==b.processGid),l=b.preserve,m=b.unlink,n=bw(b.cwd),p=(b,d)=>{b?c(b):d&&k?di(d,i,j,a=>p(a)):f?h.default.chmod(a,e,c):c()};if(a===n){var q;return q=a,h.default.stat(q,(a,b)=>{(a||!b.isDirectory())&&(a=new dl(q,a?.code||"ENOTDIR")),p(a)})}if(l)return o.default.mkdir(a,{mode:e,recursive:!0}).then(a=>p(null,a??void 0),p);let r=bw(g.default.relative(n,a)).split("/");dn(n,r,e,m,n,void 0,p)})(bw(a),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:b},c)}[dQ](a){return this.forceChown||this.preserveOwner&&("number"==typeof a.uid&&a.uid!==this.processUid||"number"==typeof a.gid&&a.gid!==this.processGid)||"number"==typeof this.uid&&this.uid!==this.processUid||"number"==typeof this.gid&&this.gid!==this.processGid}[dR](a){return dV(this.uid,a.uid,this.processUid)}[dS](a){return dV(this.gid,a.gid,this.processGid)}[dz](a,b){let c="number"==typeof a.mode?4095&a.mode:this.fmode,d=new aH(String(a.absolute),{flags:de(a.size),mode:c,autoClose:!1});d.on("error",c=>{d.fd&&h.default.close(d.fd,()=>{}),d.write=()=>!0,this[dJ](c,a),b()});let e=1,f=c=>{if(c){d.fd&&h.default.close(d.fd,()=>{}),this[dJ](c,a),b();return}0==--e&&void 0!==d.fd&&h.default.close(d.fd,c=>{c?this[dJ](c,a):this[dM](),b()})};d.on("finish",()=>{let b=String(a.absolute),c=d.fd;if("number"==typeof c&&a.mtime&&!this.noMtime){e++;let d=a.atime||new Date,g=a.mtime;h.default.futimes(c,d,g,a=>a?h.default.utimes(b,d,g,b=>f(b&&a)):f())}if("number"==typeof c&&this[dQ](a)){e++;let d=this[dR](a),g=this[dS](a);"number"==typeof d&&"number"==typeof g&&h.default.fchown(c,d,g,a=>a?h.default.chown(b,d,g,b=>f(b&&a)):f())}f()});let g=this.transform&&this.transform(a)||a;g!==a&&(g.on("error",c=>{this[dJ](c,a),b()}),a.pipe(g)),g.pipe(d)}[dA](a,b){let c="number"==typeof a.mode?4095&a.mode:this.dmode;this[dI](String(a.absolute),c,c=>{if(c){this[dJ](c,a),b();return}let d=1,e=()=>{0==--d&&(b(),this[dM](),a.resume())};a.mtime&&!this.noMtime&&(d++,h.default.utimes(String(a.absolute),a.atime||new Date,a.mtime,e)),this[dQ](a)&&(d++,h.default.chown(String(a.absolute),Number(this[dR](a)),Number(this[dS](a)),e)),e()})}[dF](a){a.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${a.type}`,{entry:a}),a.resume()}[dC](a,b){let c=bw(g.default.relative(this.cwd,g.default.resolve(g.default.dirname(String(a.absolute)),String(a.linkpath)))).split("/");this[dE](a,this.cwd,c,()=>this[dB](a,String(a.linkpath),"symlink",b),c=>{this[dJ](c,a),b()})}[dD](a,b){let c=bw(g.default.resolve(this.cwd,String(a.linkpath))),d=bw(String(a.linkpath)).split("/");this[dE](a,this.cwd,d,()=>this[dB](a,c,"link",b),c=>{this[dJ](c,a),b()})}[dE](a,b,c,d,e){let f=c.shift();if(this.preservePaths||void 0===f)return d();let i=g.default.resolve(b,f);h.default.lstat(i,(b,f)=>b?d():f?.isSymbolicLink()?e(new dm(i,g.default.resolve(i,c.join("/")))):void this[dE](a,i,c,d,e))}[dL](){this[dK]++}[dM](){this[dK]--,this[dO]()}[dP](a){this[dM](),a.resume()}[dx](a,b){return"File"===a.type&&!this.unlink&&b.isFile()&&b.nlink<=1&&!dU}[dv](a){this[dL]();let b=[a.path];a.linkpath&&b.push(a.linkpath),this.reservations.reserve(b,b=>this[dw](a,b))}[dw](a,b){let c=a=>{b(a)},d=()=>{this[dI](this.cwd,this.dmode,b=>{if(b){this[dJ](b,a),c();return}this[dT]=!0,e()})},e=()=>{if(a.absolute!==this.cwd){let b=bw(g.default.dirname(String(a.absolute)));if(b!==this.cwd)return this[dI](b,this.dmode,b=>{if(b){this[dJ](b,a),c();return}f()})}f()},f=()=>{h.default.lstat(String(a.absolute),(b,d)=>{if(d&&(this.keep||this.newer&&d.mtime>(a.mtime??d.mtime))){this[dP](a),c();return}if(b||this[dx](a,d))return this[dy](null,a,c);if(d.isDirectory()){if("Directory"===a.type){let b=this.chmod&&a.mode&&(4095&d.mode)!==a.mode,e=b=>this[dy](b??null,a,c);return b?h.default.chmod(String(a.absolute),Number(a.mode),e):e()}if(a.absolute!==this.cwd)return h.default.rmdir(String(a.absolute),b=>this[dy](b??null,a,c))}if(a.absolute===this.cwd)return this[dy](null,a,c);((a,b)=>{if(!dU)return h.default.unlink(a,b);let c=a+".DELETE."+(0,n.randomBytes)(16).toString("hex");h.default.rename(a,c,a=>{if(a)return b(a);h.default.unlink(c,b)})})(String(a.absolute),b=>this[dy](b??null,a,c))})};this[dT]?e():d()}[dy](a,b,c){if(a){this[dJ](a,b),c();return}switch(b.type){case"File":case"OldFile":case"ContiguousFile":return this[dz](b,c);case"Link":return this[dD](b,c);case"SymbolicLink":return this[dC](b,c);case"Directory":case"GNUDumpDir":return this[dA](b,c)}}[dB](a,b,c,d){h.default[c](b,String(a.absolute),b=>{b?this[dJ](b,a):(this[dM](),a.resume()),d()})}},dX=a=>{try{return[null,a()]}catch(a){return[a,null]}},dY=class extends dW{sync=!0;[dy](a,b){return super[dy](a,b,()=>{})}[dv](a){if(!this[dT]){let b=this[dI](this.cwd,this.dmode);if(b)return this[dJ](b,a);this[dT]=!0}if(a.absolute!==this.cwd){let b=bw(g.default.dirname(String(a.absolute)));if(b!==this.cwd){let c=this[dI](b,this.dmode);if(c)return this[dJ](c,a)}}let[b,c]=dX(()=>h.default.lstatSync(String(a.absolute)));if(c&&(this.keep||this.newer&&c.mtime>(a.mtime??c.mtime)))return this[dP](a);if(b||this[dx](a,c))return this[dy](null,a);if(c.isDirectory()){if("Directory"===a.type){let[b]=this.chmod&&a.mode&&(4095&c.mode)!==a.mode?dX(()=>{h.default.chmodSync(String(a.absolute),Number(a.mode))}):[];return this[dy](b,a)}let[b]=dX(()=>h.default.rmdirSync(String(a.absolute)));this[dy](b,a)}let[d]=a.absolute===this.cwd?[]:dX(()=>(a=>{if(!dU)return h.default.unlinkSync(a);let b=a+".DELETE."+(0,n.randomBytes)(16).toString("hex");h.default.renameSync(a,b),h.default.unlinkSync(b)})(String(a.absolute)));this[dy](d,a)}[dz](a,b){let c="number"==typeof a.mode?4095&a.mode:this.fmode,d=c=>{let d;try{h.default.closeSync(e)}catch(a){d=a}(c||d)&&this[dJ](c||d,a),b()},e;try{e=h.default.openSync(String(a.absolute),de(a.size),c)}catch(a){return d(a)}let f=this.transform&&this.transform(a)||a;f!==a&&(f.on("error",b=>this[dJ](b,a)),a.pipe(f)),f.on("data",a=>{try{h.default.writeSync(e,a,0,a.length)}catch(a){d(a)}}),f.on("end",()=>{let b=null;if(a.mtime&&!this.noMtime){let c=a.atime||new Date,d=a.mtime;try{h.default.futimesSync(e,c,d)}catch(e){try{h.default.utimesSync(String(a.absolute),c,d)}catch{b=e}}}if(this[dQ](a)){let c=this[dR](a),d=this[dS](a);try{h.default.fchownSync(e,Number(c),Number(d))}catch(e){try{h.default.chownSync(String(a.absolute),Number(c),Number(d))}catch{b=b||e}}}d(b)})}[dA](a,b){let c="number"==typeof a.mode?4095&a.mode:this.dmode,d=this[dI](String(a.absolute),c);if(d){this[dJ](d,a),b();return}if(a.mtime&&!this.noMtime)try{h.default.utimesSync(String(a.absolute),a.atime||new Date,a.mtime)}catch{}if(this[dQ](a))try{h.default.chownSync(String(a.absolute),Number(this[dR](a)),Number(this[dS](a)))}catch{}b(),a.resume()}[dI](a,b){try{return((a,b)=>{a=bw(a);let c=b.umask??18,d=448|b.mode,e=(d&c)!=0,f=b.uid,i=b.gid,j="number"==typeof f&&"number"==typeof i&&(f!==b.processUid||i!==b.processGid),k=b.preserve,l=b.unlink,m=bw(b.cwd),n=b=>{b&&j&&dk(b,f,i),e&&h.default.chmodSync(a,d)};if(a===m)return(a=>{let b=!1,c;try{b=h.default.statSync(a).isDirectory()}catch(a){c=a?.code}finally{if(!b)throw new dl(a,c??"ENOTDIR")}})(m),n();if(k)return n(h.default.mkdirSync(a,{mode:d,recursive:!0})??void 0);let o=bw(g.default.relative(m,a)).split("/"),p;for(let a=o.shift(),b=m;a&&(b+="/"+a);a=o.shift()){b=bw(g.default.resolve(b));try{h.default.mkdirSync(b,d),p=p||b}catch{let a=h.default.lstatSync(b);if(a.isDirectory())continue;if(l){h.default.unlinkSync(b),h.default.mkdirSync(b,d),p=p||b;continue}if(a.isSymbolicLink())return new dm(b,b+"/"+o.join("/"))}}return n(p)})(bw(a),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:b})}catch(a){return a}}[dE](a,b,c,d,e){if(this.preservePaths||0===c.length)return d();let f=b;for(let a of c){f=g.default.resolve(f,a);let[i,j]=dX(()=>h.default.lstatSync(f));if(i)return d();if(j.isSymbolicLink())return e(new dm(f,g.default.resolve(b,c.join("/"))))}d()}[dB](a,b,c,d){let e=`${c}Sync`;try{h.default[e](b,String(a.absolute)),d(),a.resume()}catch(b){return this[dJ](b,a)}}},dZ=aM(a=>{let b=new dY(a),c=a.file,d=h.default.statSync(c);new aG(c,{readSize:a.maxReadSize||0x1000000,size:d.size}).pipe(b)},(a,b)=>{let c=new dW(a),d=a.maxReadSize||0x1000000,e=a.file;return new Promise((a,b)=>{c.on("error",b),c.on("close",a),h.default.stat(e,(a,f)=>{if(a)b(a);else{let a=new aF(e,{readSize:d,size:f.size});a.on("error",b),a.pipe(c)}})})},a=>new dY(a),a=>new dW(a),(a,b)=>{b?.length&&b7(a,b)}),d$=(a,b)=>{b.forEach(b=>{"@"===b.charAt(0)?b8({file:g.default.resolve(a.cwd,b.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(b)}),a.end()},d_=async(a,b)=>{for(let c of b)"@"===c.charAt(0)?await b8({file:g.default.resolve(String(a.cwd),c.slice(1)),noResume:!0,onReadEntry:b=>a.add(b)}):a.add(c);a.end()},d0=aM((a,b)=>{let c=new c2(a),d=!0,e,f;try{var g,i,j,k,l;let m;try{e=h.default.openSync(a.file,"r+")}catch(b){if(b?.code==="ENOENT")e=h.default.openSync(a.file,"w+");else throw b}let n=h.default.fstatSync(e),o=Buffer.alloc(512);a:for(f=0;f<n.size;f+=512){for(let a=0,b=0;a<512;a+=b){if(b=h.default.readSync(e,o,a,o.length-a,f+a),0===f&&31===o[0]&&139===o[1])throw Error("cannot append to compressed archives");if(!b)break a}let b=new bd(o);if(!b.cksumValid)break;let c=512*Math.ceil((b.size||0)/512);if(f+c+512>n.size)break;f+=c,a.mtimeCache&&b.mtime&&a.mtimeCache.set(String(b.path),b.mtime)}d=!1,g=a,i=c,j=f,k=e,l=b,m=new aI(g.file,{fd:k,start:j}),i.pipe(m),d$(i,l)}finally{if(d)try{h.default.closeSync(e)}catch{}}},(a,b)=>{b=Array.from(b);let c=new c1(a);return new Promise((d,e)=>{c.on("error",e);let f="r+",g=(i,j)=>i&&"ENOENT"===i.code&&"r+"===f?(f="w+",h.default.open(a.file,f,g)):i||!j?e(i):void h.default.fstat(j,(f,g)=>{if(f)return h.default.close(j,()=>e(f));((b,c,d)=>{let e=(a,c)=>{a?h.default.close(b,b=>d(a)):d(null,c)},f=0;if(0===c)return e(null,0);let g=0,i=Buffer.alloc(512),j=(d,k)=>{if(d||void 0===k)return e(d);if((g+=k)<512&&k)return h.default.read(b,i,g,i.length-g,f+g,j);if(0===f&&31===i[0]&&139===i[1])return e(Error("cannot append to compressed archives"));if(g<512)return e(null,f);let l=new bd(i);if(!l.cksumValid)return e(null,f);let m=512*Math.ceil((l.size??0)/512);if(f+m+512>c||(f+=m+512)>=c)return e(null,f);a.mtimeCache&&l.mtime&&a.mtimeCache.set(String(l.path),l.mtime),g=0,h.default.read(b,i,0,512,f,j)};h.default.read(b,i,0,512,f,j)})(j,g.size,(f,g)=>{if(f)return e(f);let h=new aH(a.file,{fd:j,start:g});c.pipe(h),h.on("error",e),h.on("close",d),d_(c,b)})});h.default.open(a.file,f,g)})},()=>{throw TypeError("file is required")},()=>{throw TypeError("file is required")},(a,b)=>{if(!a.file)throw TypeError("file is required");if(a.gzip||a.brotli||a.zstd||a.file.endsWith(".br")||a.file.endsWith(".tbr"))throw TypeError("cannot append to compressed archives");if(!b?.length)throw TypeError("no paths specified to add/replace")});aM(d0.syncFile,d0.asyncFile,d0.syncNoFile,d0.asyncNoFile,(a,b=[])=>{d0.validate?.(a,b),d1(a)});var d1=a=>{let b=a.filter;a.mtimeCache||(a.mtimeCache=new Map),a.filter=b?(c,d)=>b(c,d)&&!((a.mtimeCache?.get(c)??d.mtime??0)>(d.mtime??0)):(b,c)=>!((a.mtimeCache?.get(b)??c.mtime??0)>(c.mtime??0))};a.s(["create",0,c5,"extract",0,dZ,"x",0,dZ])},563736,a=>{"use strict";var b=a.i(815429),c=a.i(942372);let d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e=a.i(400413);let f=(a,b)=>{let f=(0,c.forwardRef)(({className:f,...g},h)=>(0,c.createElement)(e.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,f),...g}));return f.displayName=d(a),f},g=f("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var h=a.i(233405),i=a.i(522734),j=a.i(446786),k=a.i(814747),l=a.i(304162);async function m(a){try{var b,c;let{stdout:d}=await (b=["--version"],c={timeout:3e3},new Promise((d,e)=>{(0,h.execFile)(a,b,c,(a,b)=>{a?e(a):d({stdout:String(b??"")})})}));return d.split("\n")[0]?.replace(/^ripgrep\s+/,"").split(" ")[0]||void 0}catch{return}}async function n(){let a=await (0,l.resolveBundledRgPath)();if(a){let b=await m(a);return{installed:!0,path:a,version:b}}let b=function(){try{let a=(0,h.execFileSync)("which",["rg"],{encoding:"utf-8",timeout:3e3}),b=a.split(/\r?\n/)[0]?.trim();if(b&&(0,i.existsSync)(b))return b}catch{}for(let a of function(){let a=j.default.homedir();switch(process.platform){case"darwin":return["/opt/homebrew/bin/rg","/usr/local/bin/rg","/opt/local/bin/rg",k.default.join(a,".cargo/bin/rg")];case"linux":return["/usr/bin/rg","/usr/local/bin/rg","/snap/bin/rg",k.default.join(a,".local/bin/rg"),k.default.join(a,".cargo/bin/rg")];case"win32":{let b=process.env.LOCALAPPDATA??"",c=process.env.ProgramFiles??"C:\\Program Files",d=process.env.USERPROFILE??a;return[k.default.join(b,"Microsoft","WinGet","Links","rg.exe"),k.default.join(d,"scoop","shims","rg.exe"),k.default.join(b,"Programs","scoop","shims","rg.exe"),"C:\\ProgramData\\chocolatey\\bin\\rg.exe",k.default.join(c,"ripgrep","rg.exe")]}default:return[]}}())if((0,i.existsSync)(a))return a;return null}();if(b){let a=await m(b);return{installed:!0,path:b,version:a}}return{installed:!1}}async function o(){return{success:!1,error:"ripgrep is a native binary and must be installed via your OS package manager. See the install commands below or open the official site."}}let p=f("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);var q=a.i(319997),r=a.i(902157),s=a.i(912714),t=a.i(750227),u=a.i(743698),v=a.i(188646),w=a.i(744992);async function x(a,b,c,d={}){let e=d.registry??"https://registry.npmmirror.com",f=a.startsWith("@")?a.split("/")[1]:a,g=`${e}/${a}/-/${f}-${b}.tgz`;await (0,s.mkdir)(t.default.dirname(c),{recursive:!0});let h=await (0,s.mkdtemp)(t.default.join(t.default.dirname(c),".tower-ext-")),i=t.default.join(h,"pkg.tgz");try{var j,k,l;await (j=g,k=i,l=d.timeoutMs??6e4,new Promise((a,b)=>{let c=(0,r.createWriteStream)(k),d=!1,e=e=>{d||(d=!0,c.close(),e?b(e):a())},f=0,g=a=>{let b=u.default.get(a,b=>{let d=b.statusCode??0;if(d>=300&&d<400&&b.headers.location){if(++f>5){e(Error(`Too many redirects fetching ${j}`)),b.resume();return}b.resume(),g(new URL(b.headers.location,a).toString());return}if(d<200||d>=300){e(Error(`HTTP ${d} fetching ${j}`)),b.resume();return}(0,v.pipeline)(b,c).then(()=>e()).catch(e)});b.setTimeout(l,()=>{b.destroy(Error(`Timed out after ${l}ms fetching ${j}`))}),b.on("error",e)};g(j)}));let a=t.default.join(h,"extracted");await (0,s.mkdir)(a,{recursive:!0}),await w.x({file:i,cwd:a,strip:1});let b=await (0,s.stat)(a).catch(()=>null);if(!b||!b.isDirectory())throw Error(`Tarball extracted but ${a} is not a directory`);(0,r.existsSync)(c)&&await (0,s.rm)(c,{recursive:!0,force:!0}),await (0,s.rename)(a,c)}finally{await (0,s.rm)(h,{recursive:!0,force:!0}).catch(()=>{})}}let y="0.55.1",z=k.default.join((0,q.getExtensionsDir)(),"monaco"),A=k.default.join(z,"package.json"),B=k.default.join(z,"min","vs","loader.js"),C=[{id:"rg",name:"代码搜索 (ripgrep)",description:"基于 rg 的全文代码搜索",icon:g,sizeMB:5,homepageUrl:"https://github.com/BurntSushi/ripgrep#installation",manualInstall:!0,check:n,install:o},{id:"monaco",name:"代码编辑器 (Monaco)",description:"VS Code 同款 Web 编辑器",icon:p,sizeMB:15,homepageUrl:"https://microsoft.github.io/monaco-editor/",check:async function a(){let a;if(!(0,i.existsSync)(A)||!(0,i.existsSync)(B))return{installed:!1};try{a=JSON.parse((0,i.readFileSync)(A,"utf-8")).version}catch{}return{installed:!0,path:z,version:a}},install:async function a(){try{if(await x("monaco-editor",y,z),!(0,i.existsSync)(B))return{success:!1,error:`Download succeeded but ${B} is missing — the tarball layout may have changed`};return{success:!0,message:`Installed monaco-editor@${y} to ${z}`}}catch(a){return{success:!1,error:a.message}}},uninstall:async function a(){try{return(0,i.existsSync)(z)&&(0,i.rmSync)(z,{recursive:!0,force:!0}),{success:!0,message:"Removed monaco-editor"}}catch(a){return{success:!1,error:a.message}}}}];function D(a){return C.find(b=>b.id===a)??null}async function E(a){let b=D(a);return b?b.check():{installed:!1,error:`unknown extension: ${a}`}}async function F(a){let b=D(a);return b?b.install():{success:!1,error:`unknown extension: ${a}`}}async function G(a){let b=D(a);return b?b.uninstall?b.uninstall():{success:!1,error:`extension ${a} does not support uninstall`}:{success:!1,error:`unknown extension: ${a}`}}async function H(){return Object.fromEntries(await Promise.all(C.map(async a=>[a.id,await a.check()])))}(0,a.i(630048).ensureServerEntryExports)([E,F,G,H]),(0,b.registerServerReference)(E,"40fa139225d285b522c4e338f76f21e53ff44a4326",null),(0,b.registerServerReference)(F,"40d8cb5c562520adf394aeb446a441e98fa9241765",null),(0,b.registerServerReference)(G,"40a88968dc86d10f7a17a5d987d5dfdaf41fc9d81f",null),(0,b.registerServerReference)(H,"004eb43166dab8640df9dc326c58e6c6938104cd24",null),a.s(["checkExtension",0,E,"installExtension",0,F,"listAllExtensionStatus",0,H,"uninstallExtension",0,G],563736)}];
3
+ `).reduce(bv,Object.create(null)),bv=(a,b)=>{let c=parseInt(b,10);if(c!==Buffer.byteLength(b)+1)return a;let d=(b=b.slice((c+" ").length)).split("="),e=d.shift();if(!e)return a;let f=e.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),g=d.join("=");return a[f]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(f)?new Date(1e3*Number(g)):/^[0-9]+$/.test(g)?+g:g,a},bw="win32"!==(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)?a=>a:a=>a&&a.replaceAll(/\\/g,"/"),bx=class extends ab{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(a,b,c){switch(super({}),this.pause(),this.extended=b,this.globalExtended=c,this.header=a,this.remain=a.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=a.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!a.path)throw Error("no path provided for tar.ReadEntry");this.path=bw(a.path),this.mode=a.mode,this.mode&&(this.mode=4095&this.mode),this.uid=a.uid,this.gid=a.gid,this.uname=a.uname,this.gname=a.gname,this.size=this.remain,this.mtime=a.mtime,this.atime=a.atime,this.ctime=a.ctime,this.linkpath=a.linkpath?bw(a.linkpath):void 0,this.uname=a.uname,this.gname=a.gname,b&&this.#a(b),c&&this.#a(c,!0)}write(a){let b=a.length;if(b>this.blockRemain)throw Error("writing more to entry than is appropriate");let c=this.remain,d=this.blockRemain;return this.remain=Math.max(0,c-b),this.blockRemain=Math.max(0,d-b),!!this.ignore||(c>=b?super.write(a):super.write(a.subarray(0,c)))}#a(a,b=!1){a.path&&(a.path=bw(a.path)),a.linkpath&&(a.linkpath=bw(a.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(a).filter(([a,c])=>!(null==c||"path"===a&&b))))}},by=(a,b,c,d={})=>{a.file&&(d.file=a.file),a.cwd&&(d.cwd=a.cwd),d.code=c instanceof Error&&c.code||b,d.tarCode=b,a.strict||!1===d.recoverable?c instanceof Error?a.emit("error",Object.assign(c,d)):a.emit("error",Object.assign(Error(`${b}: ${c}`),d)):(c instanceof Error&&(d=Object.assign(c,d),c=c.message),a.emit("warn",b,c,d))},bz=Buffer.from([31,139]),bA=Buffer.from([40,181,47,253]),bB=Math.max(bz.length,bA.length),bC=Symbol("state"),bD=Symbol("writeEntry"),bE=Symbol("readEntry"),bF=Symbol("nextEntry"),bG=Symbol("processEntry"),bH=Symbol("extendedHeader"),bI=Symbol("globalExtendedHeader"),bJ=Symbol("meta"),bK=Symbol("emitMeta"),bL=Symbol("buffer"),bM=Symbol("queue"),bN=Symbol("ended"),bO=Symbol("emittedEnd"),bP=Symbol("emit"),bQ=Symbol("unzip"),bR=Symbol("consumeChunk"),bS=Symbol("consumeChunkSub"),bT=Symbol("consumeBody"),bU=Symbol("consumeMeta"),bV=Symbol("consumeHeader"),bW=Symbol("consuming"),bX=Symbol("bufferConcat"),bY=Symbol("maybeEnd"),bZ=Symbol("writing"),b$=Symbol("aborted"),b_=Symbol("onDone"),b0=Symbol("sawValidEntry"),b1=Symbol("sawNullBlock"),b2=Symbol("sawEOF"),b3=Symbol("closeStream"),b4=()=>!0,b5=class extends b.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[bM]=[];[bL];[bE];[bD];[bC]="begin";[bJ]="";[bH];[bI];[bN]=!1;[bQ];[b$]=!1;[b0];[b1]=!1;[b2]=!1;[bZ]=!1;[bW]=!1;[bO]=!1;constructor(a={}){super(),this.file=a.file||"",this.on(b_,()=>{("begin"===this[bC]||!1===this[b0])&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),a.ondone?this.on(b_,a.ondone):this.on(b_,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!a.strict,this.maxMetaEntrySize=a.maxMetaEntrySize||1048576,this.filter="function"==typeof a.filter?a.filter:b4;let b=a.file&&(a.file.endsWith(".tar.br")||a.file.endsWith(".tbr"));this.brotli=a.gzip||a.zstd||void 0===a.brotli?!!b&&void 0:a.brotli;let c=a.file&&(a.file.endsWith(".tar.zst")||a.file.endsWith(".tzst"));this.zstd=a.gzip||a.brotli||void 0===a.zstd?!!c||void 0:a.zstd,this.on("end",()=>this[b3]()),"function"==typeof a.onwarn&&this.on("warn",a.onwarn),"function"==typeof a.onReadEntry&&this.on("entry",a.onReadEntry)}warn(a,b,c={}){by(this,a,b,c)}[bV](a,b){let c;void 0===this[b0]&&(this[b0]=!1);try{c=new bd(a,b,this[bH],this[bI])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(c.nullBlock)this[b1]?(this[b2]=!0,"begin"===this[bC]&&(this[bC]="header"),this[bP]("eof")):(this[b1]=!0,this[bP]("nullBlock"));else if(this[b1]=!1,c.cksumValid)if(c.path){let a=c.type;if(/^(Symbolic)?Link$/.test(a)&&!c.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:c});else if(/^(Symbolic)?Link$/.test(a)||/^(Global)?ExtendedHeader$/.test(a)||!c.linkpath){let a=this[bD]=new bx(c,this[bH],this[bI]);if(!this[b0])if(a.remain){let b=()=>{a.invalid||(this[b0]=!0)};a.on("end",b)}else this[b0]=!0;a.meta?a.size>this.maxMetaEntrySize?(a.ignore=!0,this[bP]("ignoredEntry",a),this[bC]="ignore",a.resume()):a.size>0&&(this[bJ]="",a.on("data",a=>this[bJ]+=a),this[bC]="meta"):(this[bH]=void 0,a.ignore=a.ignore||!this.filter(a.path,a),a.ignore?(this[bP]("ignoredEntry",a),this[bC]=a.remain?"ignore":"header",a.resume()):(a.remain?this[bC]="body":(this[bC]="header",a.end()),this[bE]?this[bM].push(a):(this[bM].push(a),this[bF]())))}else this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:c})}else this.warn("TAR_ENTRY_INVALID","path is required",{header:c});else this.warn("TAR_ENTRY_INVALID","checksum failure",{header:c})}[b3](){queueMicrotask(()=>this.emit("close"))}[bG](a){let b=!0;if(a)if(Array.isArray(a)){let[b,...c]=a;this.emit(b,...c)}else this[bE]=a,this.emit("entry",a),a.emittedEnd||(a.on("end",()=>this[bF]()),b=!1);else this[bE]=void 0,b=!1;return b}[bF](){do;while(this[bG](this[bM].shift()))if(0===this[bM].length){let a=this[bE];!a||a.flowing||a.size===a.remain?this[bZ]||this.emit("drain"):a.once("drain",()=>this.emit("drain"))}}[bT](a,b){let c=this[bD];if(!c)throw Error("attempt to consume body without entry??");let d=c.blockRemain??0,e=d>=a.length&&0===b?a:a.subarray(b,b+d);return c.write(e),c.blockRemain||(this[bC]="header",this[bD]=void 0,c.end()),e.length}[bU](a,b){let c=this[bD],d=this[bT](a,b);return!this[bD]&&c&&this[bK](c),d}[bP](a,b,c){0!==this[bM].length||this[bE]?this[bM].push([a,b,c]):this.emit(a,b,c)}[bK](a){switch(this[bP]("meta",this[bJ]),a.type){case"ExtendedHeader":case"OldExtendedHeader":this[bH]=bs.parse(this[bJ],this[bH],!1);break;case"GlobalExtendedHeader":this[bI]=bs.parse(this[bJ],this[bI],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let a=this[bH]??Object.create(null);this[bH]=a,a.path=this[bJ].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let a=this[bH]||Object.create(null);this[bH]=a,a.linkpath=this[bJ].replace(/\0.*/,"");break}default:throw Error("unknown meta: "+a.type)}}abort(a){this[b$]=!0,this.emit("abort",a),this.warn("TAR_ABORT",a,{recoverable:!1})}write(a,b,c){if("function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,"string"==typeof b?b:"utf8")),this[b$])return c?.(),!1;if((void 0===this[bQ]||void 0===this.brotli&&!1===this[bQ])&&a){if(this[bL]&&(a=Buffer.concat([this[bL],a]),this[bL]=void 0),a.length<bB)return this[bL]=a,c?.(),!0;for(let b=0;void 0===this[bQ]&&b<bz.length;b++)a[b]!==bz[b]&&(this[bQ]=!1);let b=!1;if(!1===this[bQ]&&!1!==this.zstd){b=!0;for(let c=0;c<bA.length;c++)if(a[c]!==bA[c]){b=!1;break}}let d=void 0===this.brotli&&!b;if(!1===this[bQ]&&d)if(a.length<512)if(!this[bN])return this[bL]=a,c?.(),!0;else this.brotli=!0;else try{new bd(a.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(void 0===this[bQ]||!1===this[bQ]&&(this.brotli||b)){let d=this[bN];this[bN]=!1,this[bQ]=void 0===this[bQ]?new aZ({}):b?new a3({}):new a0({}),this[bQ].on("data",a=>this[bR](a)),this[bQ].on("error",a=>this.abort(a)),this[bQ].on("end",()=>{this[bN]=!0,this[bR]()}),this[bZ]=!0;let e=!!this[bQ][d?"end":"write"](a);return this[bZ]=!1,c?.(),e}}this[bZ]=!0,this[bQ]?this[bQ].write(a):this[bR](a),this[bZ]=!1;let d=!(this[bM].length>0)&&(!this[bE]||this[bE].flowing);return d||0!==this[bM].length||this[bE]?.once("drain",()=>this.emit("drain")),c?.(),d}[bX](a){a&&!this[b$]&&(this[bL]=this[bL]?Buffer.concat([this[bL],a]):a)}[bY](){if(this[bN]&&!this[bO]&&!this[b$]&&!this[bW]){this[bO]=!0;let a=this[bD];if(a&&a.blockRemain){let b=this[bL]?this[bL].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${a.blockRemain} more bytes, only ${b} available)`,{entry:a}),this[bL]&&a.write(this[bL]),a.end()}this[bP](b_)}}[bR](a){if(this[bW]&&a)this[bX](a);else if(a||this[bL]){if(a){if(this[bW]=!0,this[bL]){this[bX](a);let b=this[bL];this[bL]=void 0,this[bS](b)}else this[bS](a);for(;this[bL]&&this[bL]?.length>=512&&!this[b$]&&!this[b2];){let a=this[bL];this[bL]=void 0,this[bS](a)}this[bW]=!1}}else this[bY]();(!this[bL]||this[bN])&&this[bY]()}[bS](a){let b=0,c=a.length;for(;b+512<=c&&!this[b$]&&!this[b2];)switch(this[bC]){case"begin":case"header":this[bV](a,b),b+=512;break;case"ignore":case"body":b+=this[bT](a,b);break;case"meta":b+=this[bU](a,b);break;default:throw Error("invalid state: "+this[bC])}b<c&&(this[bL]=this[bL]?Buffer.concat([a.subarray(b),this[bL]]):a.subarray(b))}end(a,b,c){return"function"==typeof a&&(c=a,b=void 0,a=void 0),"function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,b)),c&&this.once("finish",c),this[b$]||(this[bQ]?(a&&this[bQ].write(a),this[bQ].end()):(this[bN]=!0,(void 0===this.brotli||void 0===this.zstd)&&(a=a||Buffer.alloc(0)),a&&this.write(a),this[bY]())),this}},b6=a=>{let b=a.length-1,c=-1;for(;b>-1&&"/"===a.charAt(b);)c=b,b--;return -1===c?a:a.slice(0,c)},b7=(a,b)=>{let c=new Map(b.map(a=>[b6(a),!0])),d=a.filter,e=(a,b="")=>{let d=b||(0,i.parse)(a).root||".",f;if(a===d)f=!1;else{let b=c.get(a);f=void 0!==b?b:e((0,i.dirname)(a),d)}return c.set(a,f),f};a.filter=d?(a,b)=>d(a,b)&&e(b6(a)):a=>e(b6(a))},b8=aM(a=>{let b=new b5(a),c=a.file,d;try{d=h.default.openSync(c,"r");let e=h.default.fstatSync(d),f=a.maxReadSize||0x1000000;if(e.size<f){let a=Buffer.allocUnsafe(e.size),c=h.default.readSync(d,a,0,e.size,0);b.end(c===a.byteLength?a:a.subarray(0,c))}else{let a=0,c=Buffer.allocUnsafe(f);for(;a<e.size;){let e=h.default.readSync(d,c,0,f,a);if(0===e)break;a+=e,b.write(c.subarray(0,e))}b.end()}}finally{if("number"==typeof d)try{h.default.closeSync(d)}catch{}}},(a,b)=>{let c=new b5(a),d=a.maxReadSize||0x1000000,e=a.file;return new Promise((a,b)=>{c.on("error",b),c.on("end",a),h.default.stat(e,(a,f)=>{if(a)b(a);else{let a=new aF(e,{readSize:d,size:f.size});a.on("error",b),a.pipe(c)}})})},a=>new b5(a),a=>new b5(a),(a,b)=>{let c;b?.length&&b7(a,b),a.noResume||(c=a.onReadEntry,a.onReadEntry=c?a=>{c(a),a.resume()}:a=>a.resume())}),b9=(a,b,c)=>(a&=4095,c&&(a=(384|a)&-19),b&&(256&a&&(a|=64),32&a&&(a|=8),4&a&&(a|=1)),a),{isAbsolute:ca,parse:cb}=g.win32,cc=a=>{let b="",c=cb(a);for(;ca(a)||c.root;){let d="/"===a.charAt(0)&&"//?/"!==a.slice(0,4)?"/":c.root;a=a.slice(d.length),b+=d,c=cb(a)}return[b,a]},cd=["|","<",">","?",":"],ce=cd.map(a=>String.fromCodePoint(61440+Number(a.codePointAt(0)))),cf=new Map(cd.map((a,b)=>[a,ce[b]])),cg=new Map(ce.map((a,b)=>[a,cd[b]])),ch=a=>cd.reduce((a,b)=>a.split(b).join(cf.get(b)),a),ci=(a,b)=>b?(a=bw(a).replace(/^\.(\/|$)/,""),b6(b)+"/"+a):bw(a),cj=Symbol("process"),ck=Symbol("file"),cl=Symbol("directory"),cm=Symbol("symlink"),cn=Symbol("hardlink"),co=Symbol("header"),cp=Symbol("read"),cq=Symbol("lstat"),cr=Symbol("onlstat"),cs=Symbol("onread"),ct=Symbol("onreadlink"),cu=Symbol("openfile"),cv=Symbol("onopenfile"),cw=Symbol("close"),cx=Symbol("mode"),cy=Symbol("awaitDrain"),cz=Symbol("ondrain"),cA=Symbol("prefix"),cB=class extends ab{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#a=!1;constructor(a,b={}){let c=aL(b);super(),this.path=bw(a),this.portable=!!c.portable,this.maxReadSize=c.maxReadSize||0x1000000,this.linkCache=c.linkCache||new Map,this.statCache=c.statCache||new Map,this.preservePaths=!!c.preservePaths,this.cwd=bw(c.cwd||process.cwd()),this.strict=!!c.strict,this.noPax=!!c.noPax,this.noMtime=!!c.noMtime,this.mtime=c.mtime,this.prefix=c.prefix?bw(c.prefix):void 0,this.onWriteEntry=c.onWriteEntry,"function"==typeof c.onwarn&&this.on("warn",c.onwarn);let d=!1;if(!this.preservePaths){let[a,b]=cc(this.path);a&&"string"==typeof b&&(this.path=b,d=a)}this.win32=!!c.win32||"win32"===process.platform,this.win32&&(this.path=(a=>ce.reduce((a,b)=>a.split(b).join(cg.get(b)),a))(this.path.replaceAll(/\\/g,"/")),a=a.replaceAll(/\\/g,"/")),this.absolute=bw(c.absolute||i.default.resolve(this.cwd,a)),""===this.path&&(this.path="./"),d&&this.warn("TAR_ENTRY_INFO",`stripping ${d} from absolute path`,{entry:this,path:d+this.path});let e=this.statCache.get(this.absolute);e?this[cr](e):this[cq]()}warn(a,b,c={}){return by(this,a,b,c)}emit(a,...b){return"error"===a&&(this.#a=!0),super.emit(a,...b)}[cq](){c.default.lstat(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[cr](b)})}[cr](a){this.statCache.set(this.absolute,a),this.stat=a,a.isFile()||(a.size=0),this.type=cE(a),this.emit("stat",a),this[cj]()}[cj](){switch(this.type){case"File":return this[ck]();case"Directory":return this[cl]();case"SymbolicLink":return this[cm]();default:return this.end()}}[cx](a){return b9(a,"Directory"===this.type,this.portable)}[cA](a){return ci(a,this.prefix)}[co](){if(!this.stat)throw Error("cannot write header before stat");"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new bd({path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,mode:this[cx](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:"Unsupported"===this.type?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new bs({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let a=this.header?.block;if(!a)throw Error("failed to encode header");super.write(a)}[cl](){if(!this.stat)throw Error("cannot create directory entry without stat");"/"!==this.path.slice(-1)&&(this.path+="/"),this.stat.size=0,this[co](),this.end()}[cm](){c.default.readlink(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[ct](b)})}[ct](a){this.linkpath=bw(a),this[co](),this.end()}[cn](a){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=bw(i.default.relative(this.cwd,a)),this.stat.size=0,this[co](),this.end()}[ck](){if(!this.stat)throw Error("cannot create file entry without stat");if(this.stat.nlink>1){let a=`${this.stat.dev}:${this.stat.ino}`,b=this.linkCache.get(a);if(b?.indexOf(this.cwd)===0)return this[cn](b);this.linkCache.set(a,this.absolute)}if(this[co](),0===this.stat.size)return this.end();this[cu]()}[cu](){c.default.open(this.absolute,"r",(a,b)=>{if(a)return this.emit("error",a);this[cv](b)})}[cv](a){if(this.fd=a,this.#a)return this[cw]();if(!this.stat)throw Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let b=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(b),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[cp]()}[cp](){let{fd:a,buf:b,offset:d,length:e,pos:f}=this;if(void 0===a||void 0===b)throw Error("cannot read file without first opening");c.default.read(a,b,d,e,f,(a,b)=>{if(a)return this[cw](()=>this.emit("error",a));this[cs](b)})}[cw](a=()=>{}){void 0!==this.fd&&c.default.close(this.fd,a)}[cs](a){if(a<=0&&this.remain>0){let a=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[cw](()=>this.emit("error",a))}if(a>this.remain){let a=Object.assign(Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[cw](()=>this.emit("error",a))}if(!this.buf)throw Error("should have created buffer prior to reading");if(a===this.remain)for(let b=a;b<this.length&&a<this.blockRemain;b++)this.buf[b+this.offset]=0,a++,this.remain++;let b=0===this.offset&&a===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+a);this.write(b)?this[cz]():this[cy](()=>this[cz]())}[cy](a){this.once("drain",a)}write(a,b,c){if("function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,"string"==typeof b?b:"utf8")),this.blockRemain<a.length){let a=Object.assign(Error("writing more data than expected"),{path:this.absolute});return this.emit("error",a)}return this.remain-=a.length,this.blockRemain-=a.length,this.pos+=a.length,this.offset+=a.length,super.write(a,null,c)}[cz](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[cw](a=>a?this.emit("error",a):this.end());if(!this.buf)throw Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[cp]()}},cC=class extends cB{sync=!0;[cq](){this[cr](c.default.lstatSync(this.absolute))}[cm](){this[ct](c.default.readlinkSync(this.absolute))}[cu](){this[cv](c.default.openSync(this.absolute,"r"))}[cp](){let a=!0;try{let{fd:b,buf:d,offset:e,length:f,pos:g}=this;if(void 0===b||void 0===d)throw Error("fd and buf must be set in READ method");let h=c.default.readSync(b,d,e,f,g);this[cs](h),a=!1}finally{if(a)try{this[cw](()=>{})}catch{}}}[cy](a){a()}[cw](a=()=>{}){void 0!==this.fd&&c.default.closeSync(this.fd),a()}},cD=class extends ab{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(a,b,c={}){return by(this,a,b,c)}constructor(a,b={}){let c=aL(b);super(),this.preservePaths=!!c.preservePaths,this.portable=!!c.portable,this.strict=!!c.strict,this.noPax=!!c.noPax,this.noMtime=!!c.noMtime,this.onWriteEntry=c.onWriteEntry,this.readEntry=a;let{type:d}=a;if("Unsupported"===d)throw Error("writing entry that should be ignored");this.type=d,"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.prefix=c.prefix,this.path=bw(a.path),this.mode=void 0!==a.mode?this[cx](a.mode):void 0,this.uid=this.portable?void 0:a.uid,this.gid=this.portable?void 0:a.gid,this.uname=this.portable?void 0:a.uname,this.gname=this.portable?void 0:a.gname,this.size=a.size,this.mtime=this.noMtime?void 0:c.mtime||a.mtime,this.atime=this.portable?void 0:a.atime,this.ctime=this.portable?void 0:a.ctime,this.linkpath=void 0!==a.linkpath?bw(a.linkpath):void 0,"function"==typeof c.onwarn&&this.on("warn",c.onwarn);let e=!1;if(!this.preservePaths){let[a,b]=cc(this.path);a&&"string"==typeof b&&(this.path=b,e=a)}this.remain=a.size,this.blockRemain=a.startBlockSize,this.onWriteEntry?.(this),this.header=new bd({path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),e&&this.warn("TAR_ENTRY_INFO",`stripping ${e} from absolute path`,{entry:this,path:e+this.path}),this.header.encode()&&!this.noPax&&super.write(new bs({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[cA](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let f=this.header?.block;if(!f)throw Error("failed to encode header");super.write(f),a.pipe(this)}[cA](a){return ci(a,this.prefix)}[cx](a){return b9(a,"Directory"===this.type,this.portable)}write(a,b,c){"function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,"string"==typeof b?b:"utf8"));let d=a.length;if(d>this.blockRemain)throw Error("writing more to entry than is appropriate");return this.blockRemain-=d,super.write(a,c)}end(a,b,c){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),"function"==typeof a&&(c=a,b=void 0,a=void 0),"function"==typeof b&&(c=b,b=void 0),"string"==typeof a&&(a=Buffer.from(a,b??"utf8")),c&&this.once("finish",c),a?super.end(a,c):super.end(c),this}},cE=a=>a.isFile()?"File":a.isDirectory()?"Directory":a.isSymbolicLink()?"SymbolicLink":"Unsupported",cF=class a{tail;head;length=0;static create(b=[]){return new a(b)}constructor(a=[]){for(let b of a)this.push(b)}*[Symbol.iterator](){for(let a=this.head;a;a=a.next)yield a.value}removeNode(a){if(a.list!==this)throw Error("removing node which does not belong to this list");let b=a.next,c=a.prev;return b&&(b.prev=c),c&&(c.next=b),a===this.head&&(this.head=b),a===this.tail&&(this.tail=c),this.length--,a.next=void 0,a.prev=void 0,a.list=void 0,b}unshiftNode(a){if(a===this.head)return;a.list&&a.list.removeNode(a);let b=this.head;a.list=this,a.next=b,b&&(b.prev=a),this.head=a,this.tail||(this.tail=a),this.length++}pushNode(a){if(a===this.tail)return;a.list&&a.list.removeNode(a);let b=this.tail;a.list=this,a.prev=b,b&&(b.next=a),this.tail=a,this.head||(this.head=a),this.length++}push(...a){for(let c=0,d=a.length;c<d;c++){var b;b=this,b.tail=new cG(a[c],b.tail,void 0,b),b.head||(b.head=b.tail),b.length++}return this.length}unshift(...a){for(var b,c=0,d=a.length;c<d;c++){b=this,b.head=new cG(a[c],void 0,b.head,b),b.tail||(b.tail=b.head),b.length++}return this.length}pop(){if(!this.tail)return;let a=this.tail.value,b=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,b.list=void 0,this.length--,a}shift(){if(!this.head)return;let a=this.head.value,b=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,b.list=void 0,this.length--,a}forEach(a,b){b=b||this;for(let c=this.head,d=0;c;d++)a.call(b,c.value,d,this),c=c.next}forEachReverse(a,b){b=b||this;for(let c=this.tail,d=this.length-1;c;d--)a.call(b,c.value,d,this),c=c.prev}get(a){let b=0,c=this.head;for(;c&&b<a;b++)c=c.next;if(b===a&&c)return c.value}getReverse(a){let b=0,c=this.tail;for(;c&&b<a;b++)c=c.prev;if(b===a&&c)return c.value}map(b,c){c=c||this;let d=new a;for(let a=this.head;a;)d.push(b.call(c,a.value,this)),a=a.next;return d}mapReverse(b,c){c=c||this;var d=new a;for(let a=this.tail;a;)d.push(b.call(c,a.value,this)),a=a.prev;return d}reduce(a,b){let c,d=this.head;if(arguments.length>1)c=b;else if(this.head)d=this.head.next,c=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var e=0;d;e++)c=a(c,d.value,e),d=d.next;return c}reduceReverse(a,b){let c,d=this.tail;if(arguments.length>1)c=b;else if(this.tail)d=this.tail.prev,c=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(let b=this.length-1;d;b--)c=a(c,d.value,b),d=d.prev;return c}toArray(){let a=Array(this.length);for(let b=0,c=this.head;c;b++)a[b]=c.value,c=c.next;return a}toArrayReverse(){let a=Array(this.length);for(let b=0,c=this.tail;c;b++)a[b]=c.value,c=c.prev;return a}slice(b=0,c=this.length){c<0&&(c+=this.length),b<0&&(b+=this.length);let d=new a;if(c<b||c<0)return d;b<0&&(b=0),c>this.length&&(c=this.length);let e=this.head,f=0;for(f=0;e&&f<b;f++)e=e.next;for(;e&&f<c;f++,e=e.next)d.push(e.value);return d}sliceReverse(b=0,c=this.length){c<0&&(c+=this.length),b<0&&(b+=this.length);let d=new a;if(c<b||c<0)return d;b<0&&(b=0),c>this.length&&(c=this.length);let e=this.length,f=this.tail;for(;f&&e>c;e--)f=f.prev;for(;f&&e>b;e--,f=f.prev)d.push(f.value);return d}splice(a,b=0,...c){a>this.length&&(a=this.length-1),a<0&&(a=this.length+a);let d=this.head;for(let b=0;d&&b<a;b++)d=d.next;let e=[];for(let a=0;d&&a<b;a++)e.push(d.value),d=this.removeNode(d);for(let a of(d?d!==this.tail&&(d=d.prev):d=this.tail,c))d=function(a,b,c){let d=b?b.next:a.head,e=new cG(c,b,d,a);return void 0===e.next&&(a.tail=e),void 0===e.prev&&(a.head=e),a.length++,e}(this,d,a);return e}reverse(){let a=this.head,b=this.tail;for(let b=a;b;b=b.prev){let a=b.prev;b.prev=b.next,b.next=a}return this.head=b,this.tail=a,this}},cG=class{list;next;prev;value;constructor(a,b,c,d){this.list=d,this.value=a,b?(b.next=this,this.prev=b):this.prev=void 0,c?(c.prev=this,this.next=c):this.next=void 0}},cH=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(a,b){this.path=a||"./",this.absolute=b}},cI=Buffer.alloc(1024),cJ=Symbol("onStat"),cK=Symbol("ended"),cL=Symbol("queue"),cM=Symbol("current"),cN=Symbol("process"),cO=Symbol("processing"),cP=Symbol("processJob"),cQ=Symbol("jobs"),cR=Symbol("jobDone"),cS=Symbol("addFSEntry"),cT=Symbol("addTarEntry"),cU=Symbol("stat"),cV=Symbol("readdir"),cW=Symbol("onreaddir"),cX=Symbol("pipe"),cY=Symbol("entry"),cZ=Symbol("entryOpt"),c$=Symbol("writeEntryClass"),c_=Symbol("write"),c0=Symbol("ondrain"),c1=class extends ab{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[c$];onWriteEntry;[cL];[cQ]=0;[cO]=!1;[cK]=!1;constructor(a={}){if(super(),this.opt=a,this.file=a.file||"",this.cwd=a.cwd||process.cwd(),this.maxReadSize=a.maxReadSize,this.preservePaths=!!a.preservePaths,this.strict=!!a.strict,this.noPax=!!a.noPax,this.prefix=bw(a.prefix||""),this.linkCache=a.linkCache||new Map,this.statCache=a.statCache||new Map,this.readdirCache=a.readdirCache||new Map,this.onWriteEntry=a.onWriteEntry,this[c$]=cB,"function"==typeof a.onwarn&&this.on("warn",a.onwarn),this.portable=!!a.portable,a.gzip||a.brotli||a.zstd){if(+!!a.gzip+ +!!a.brotli+ +!!a.zstd>1)throw TypeError("gzip, brotli, zstd are mutually exclusive");if(a.gzip&&("object"!=typeof a.gzip&&(a.gzip={}),this.portable&&(a.gzip.portable=!0),this.zip=new aY(a.gzip)),a.brotli&&("object"!=typeof a.brotli&&(a.brotli={}),this.zip=new a_(a.brotli)),a.zstd&&("object"!=typeof a.zstd&&(a.zstd={}),this.zip=new a2(a.zstd)),!this.zip)throw Error("impossible");let b=this.zip;b.on("data",a=>super.write(a)),b.on("end",()=>super.end()),b.on("drain",()=>this[c0]()),this.on("resume",()=>b.resume())}else this.on("drain",this[c0]);this.noDirRecurse=!!a.noDirRecurse,this.follow=!!a.follow,this.noMtime=!!a.noMtime,a.mtime&&(this.mtime=a.mtime),this.filter="function"==typeof a.filter?a.filter:()=>!0,this[cL]=new cF,this[cQ]=0,this.jobs=Number(a.jobs)||4,this[cO]=!1,this[cK]=!1}[c_](a){return super.write(a)}add(a){return this.write(a),this}end(a,b,c){return"function"==typeof a&&(c=a,a=void 0),"function"==typeof b&&(c=b,b=void 0),a&&this.add(a),this[cK]=!0,this[cN](),c&&c(),this}write(a){if(this[cK])throw Error("write after end");return a instanceof bx?this[cT](a):this[cS](a),this.flowing}[cT](a){let b=bw(i.default.resolve(this.cwd,a.path));if(this.filter(a.path,a)){let c=new cH(a.path,b);c.entry=new cD(a,this[cZ](c)),c.entry.on("end",()=>this[cR](c)),this[cQ]+=1,this[cL].push(c)}else a.resume();this[cN]()}[cS](a){let b=bw(i.default.resolve(this.cwd,a));this[cL].push(new cH(a,b)),this[cN]()}[cU](a){a.pending=!0,this[cQ]+=1;let b=this.follow?"stat":"lstat";c.default[b](a.absolute,(b,c)=>{a.pending=!1,this[cQ]-=1,b?this.emit("error",b):this[cJ](a,c)})}[cJ](a,b){this.statCache.set(a.absolute,b),a.stat=b,this.filter(a.path,b)?b.isFile()&&b.nlink>1&&a===this[cM]&&!this.linkCache.get(`${b.dev}:${b.ino}`)&&!this.sync&&this[cP](a):a.ignore=!0,this[cN]()}[cV](a){a.pending=!0,this[cQ]+=1,c.default.readdir(a.absolute,(b,c)=>{if(a.pending=!1,this[cQ]-=1,b)return this.emit("error",b);this[cW](a,c)})}[cW](a,b){this.readdirCache.set(a.absolute,b),a.readdir=b,this[cN]()}[cN](){if(!this[cO]){this[cO]=!0;for(let a=this[cL].head;a&&this[cQ]<this.jobs;a=a.next)if(this[cP](a.value),a.value.ignore){let b=a.next;this[cL].removeNode(a),a.next=b}this[cO]=!1,this[cK]&&0===this[cL].length&&0===this[cQ]&&(this.zip?this.zip.end(cI):(super.write(cI),super.end()))}}get[cM](){return this[cL]&&this[cL].head&&this[cL].head.value}[cR](a){this[cL].shift(),this[cQ]-=1,this[cN]()}[cP](a){if(!a.pending){if(a.entry){a!==this[cM]||a.piped||this[cX](a);return}if(!a.stat){let b=this.statCache.get(a.absolute);b?this[cJ](a,b):this[cU](a)}if(a.stat&&!a.ignore){if(!this.noDirRecurse&&a.stat.isDirectory()&&!a.readdir){let b=this.readdirCache.get(a.absolute);if(b?this[cW](a,b):this[cV](a),!a.readdir)return}if(a.entry=this[cY](a),!a.entry){a.ignore=!0;return}a!==this[cM]||a.piped||this[cX](a)}}}[cZ](a){return{onwarn:(a,b,c)=>this.warn(a,b,c),noPax:this.noPax,cwd:this.cwd,absolute:a.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[cY](a){this[cQ]+=1;try{return new this[c$](a.path,this[cZ](a)).on("end",()=>this[cR](a)).on("error",a=>this.emit("error",a))}catch(a){this.emit("error",a)}}[c0](){this[cM]&&this[cM].entry&&this[cM].entry.resume()}[cX](a){a.piped=!0,a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cS](d+b)});let b=a.entry,c=this.zip;if(!b)throw Error("cannot pipe without source");c?b.on("data",a=>{c.write(a)||b.pause()}):b.on("data",a=>{super.write(a)||b.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(a,b,c={}){by(this,a,b,c)}},c2=class extends c1{sync=!0;constructor(a){super(a),this[c$]=cC}pause(){}resume(){}[cU](a){let b=this.follow?"statSync":"lstatSync";this[cJ](a,c.default[b](a.absolute))}[cV](a){this[cW](a,c.default.readdirSync(a.absolute))}[cX](a){let b=a.entry,c=this.zip;if(a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cS](d+b)}),!b)throw Error("Cannot pipe without source");c?b.on("data",a=>{c.write(a)}):b.on("data",a=>{super[c_](a)})}},c3=(a,b)=>{b.forEach(b=>{"@"===b.charAt(0)?b8({file:g.default.resolve(a.cwd,b.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(b)}),a.end()},c4=async(a,b)=>{for(let c of b)"@"===c.charAt(0)?await b8({file:g.default.resolve(String(a.cwd),c.slice(1)),noResume:!0,onReadEntry:b=>{a.add(b)}}):a.add(c);a.end()},c5=aM((a,b)=>{let c=new c2(a),d=new aI(a.file,{mode:a.mode||438});c.pipe(d),c3(c,b)},(a,b)=>{let c=new c1(a),d=new aH(a.file,{mode:a.mode||438});c.pipe(d);let e=new Promise((a,b)=>{d.on("error",b),d.on("close",a),c.on("error",b)});return c4(c,b).catch(a=>c.emit("error",a)),e},(a,b)=>{let c=new c2(a);return c3(c,b),c},(a,b)=>{let c=new c1(a);return c4(c,b).catch(a=>c.emit("error",a)),c},(a,b)=>{if(!b?.length)throw TypeError("no paths specified to add to archive")}),c6="win32"===(process.env.__FAKE_PLATFORM__||process.platform),{O_CREAT:c7,O_NOFOLLOW:c8,O_TRUNC:c9,O_WRONLY:da}=c.default.constants,db=Number(process.env.__FAKE_FS_O_FILENAME__)||c.default.constants.UV_FS_O_FILEMAP||0,dc=db|c9|c7|da,dd=c6||"number"!=typeof c8?null:c8|c9|c7|da,de=null!==dd?()=>dd:c6&&db?a=>a<524288?dc:"w":()=>"w",df=(a,b,c)=>{try{return h.default.lchownSync(a,b,c)}catch(a){if(a?.code!=="ENOENT")throw a}},dg=(a,b,c,d)=>{h.default.lchown(a,b,c,a=>{d(a&&a?.code!=="ENOENT"?a:null)})},dh=(a,b,c,d,e)=>{b.isDirectory()?di(g.default.resolve(a,b.name),c,d,f=>{if(f)return e(f);dg(g.default.resolve(a,b.name),c,d,e)}):dg(g.default.resolve(a,b.name),c,d,e)},di=(a,b,c,d)=>{h.default.readdir(a,{withFileTypes:!0},(e,f)=>{if(e){if("ENOENT"===e.code)return d();if("ENOTDIR"!==e.code&&"ENOTSUP"!==e.code)return d(e)}if(e||!f.length)return dg(a,b,c,d);let g=f.length,h=null,i=e=>{if(!h){if(e)return d(h=e);if(0==--g)return dg(a,b,c,d)}};for(let d of f)dh(a,d,b,c,i)})},dj=(a,b,c,d)=>{b.isDirectory()&&dk(g.default.resolve(a,b.name),c,d),df(g.default.resolve(a,b.name),c,d)},dk=(a,b,c)=>{let d;try{d=h.default.readdirSync(a,{withFileTypes:!0})}catch(d){if(d?.code==="ENOENT")return;if(d?.code==="ENOTDIR"||d?.code==="ENOTSUP")return df(a,b,c);throw d}for(let e of d)dj(a,e,b,c);return df(a,b,c)},dl=class extends Error{path;code;syscall="chdir";constructor(a,b){super(`${b}: Cannot cd into '${a}'`),this.path=a,this.code=b}get name(){return"CwdError"}},dm=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(a,b){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=a,this.path=b}get name(){return"SymlinkError"}},dn=(a,b,c,d,e,f,i)=>{if(0===b.length)return i(null,f);let j=b.shift(),k=bw(g.default.resolve(a+"/"+j));h.default.mkdir(k,c,dp(k,b,c,d,e,f,i))},dp=(a,b,c,d,e,f,g)=>i=>{i?h.default.lstat(a,(j,k)=>{if(j)j.path=j.path&&bw(j.path),g(j);else if(k.isDirectory())dn(a,b,c,d,e,f,g);else if(d)h.default.unlink(a,i=>{if(i)return g(i);h.default.mkdir(a,c,dp(a,b,c,d,e,f,g))});else{if(k.isSymbolicLink())return g(new dm(a,a+"/"+b.join("/")));g(i)}}):(f=f||a,dn(a,b,c,d,e,f,g))},dq=Object.create(null),dr=new Set,ds="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),dt=class{#a=new Map;#b=new Map;#c=new Set;reserve(a,b){let c=new Set((a=ds?["win32 parallelization disabled"]:a.map(a=>b6((0,g.join)((a=>{dr.has(a)?dr.delete(a):dq[a]=a.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),dr.add(a);let b=dq[a],c=dr.size-1e4;if(c>1e3){for(let a of dr)if(dr.delete(a),delete dq[a],--c<=0)break}return b})(a))))).map(a=>a.split("/").slice(0,-1).reduce((a,b)=>{let c=a.at(-1);return void 0!==c&&(b=(0,g.join)(c,b)),a.push(b||"/"),a},[])).reduce((a,b)=>a.concat(b)));for(let d of(this.#b.set(b,{dirs:c,paths:a}),a)){let a=this.#a.get(d);a?a.push(b):this.#a.set(d,[b])}for(let a of c){let c=this.#a.get(a);if(c){let a=c.at(-1);a instanceof Set?a.add(b):c.push(new Set([b]))}else this.#a.set(a,[new Set([b])])}return this.#e(b)}#d(a){let b=this.#b.get(a);if(!b)throw Error("function does not have any path reservations");return{paths:b.paths.map(a=>this.#a.get(a)),dirs:[...b.dirs].map(a=>this.#a.get(a))}}check(a){let{paths:b,dirs:c}=this.#d(a);return b.every(b=>b&&b[0]===a)&&c.every(b=>b&&b[0]instanceof Set&&b[0].has(a))}#e(a){return!this.#c.has(a)&&!!this.check(a)&&(this.#c.add(a),a(()=>this.#f(a)),!0)}#f(a){if(!this.#c.has(a))return!1;let b=this.#b.get(a);if(!b)throw Error("invalid reservation");let{paths:c,dirs:d}=b,e=new Set;for(let b of c){let c=this.#a.get(b);if(!c||c?.[0]!==a)continue;let d=c[1];if(!d){this.#a.delete(b);continue}if(c.shift(),"function"==typeof d)e.add(d);else for(let a of d)e.add(a)}for(let b of d){let c=this.#a.get(b),d=c?.[0];if(!(!c||!(d instanceof Set)))if(1===d.size&&1===c.length){this.#a.delete(b);continue}else if(1===d.size){c.shift();let a=c[0];"function"==typeof a&&e.add(a)}else d.delete(a)}return this.#c.delete(a),e.forEach(a=>this.#e(a)),!0}},du=Symbol("onEntry"),dv=Symbol("checkFs"),dw=Symbol("checkFs2"),dx=Symbol("isReusable"),dy=Symbol("makeFs"),dz=Symbol("file"),dA=Symbol("directory"),dB=Symbol("link"),dC=Symbol("symlink"),dD=Symbol("hardlink"),dE=Symbol("ensureNoSymlink"),dF=Symbol("unsupported"),dG=Symbol("checkPath"),dH=Symbol("stripAbsolutePath"),dI=Symbol("mkdir"),dJ=Symbol("onError"),dK=Symbol("pending"),dL=Symbol("pend"),dM=Symbol("unpend"),dN=Symbol("ended"),dO=Symbol("maybeClose"),dP=Symbol("skip"),dQ=Symbol("doChown"),dR=Symbol("uid"),dS=Symbol("gid"),dT=Symbol("checkedCwd"),dU="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),dV=(a,b,c)=>void 0!==a&&a===a>>>0?a:void 0!==b&&b===b>>>0?b:c,dW=class extends b5{[dN]=!1;[dT]=!1;[dK]=0;reservations=new dt;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(a={}){if(a.ondone=()=>{this[dN]=!0,this[dO]()},super(a),this.transform=a.transform,this.chmod=!!a.chmod,"number"==typeof a.uid||"number"==typeof a.gid){if("number"!=typeof a.uid||"number"!=typeof a.gid)throw TypeError("cannot set owner without number uid and gid");if(a.preserveOwner)throw TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=a.uid,this.gid=a.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=void 0===a.preserveOwner&&"number"!=typeof a.uid?!!(process.getuid&&0===process.getuid()):!!a.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth="number"==typeof a.maxDepth?a.maxDepth:1024,this.forceChown=!0===a.forceChown,this.win32=!!a.win32||dU,this.newer=!!a.newer,this.keep=!!a.keep,this.noMtime=!!a.noMtime,this.preservePaths=!!a.preservePaths,this.unlink=!!a.unlink,this.cwd=bw(g.default.resolve(a.cwd||process.cwd())),this.strip=Number(a.strip)||0,this.processUmask=this.chmod?"number"==typeof a.processUmask?a.processUmask:process.umask():0,this.umask="number"==typeof a.umask?a.umask:this.processUmask,this.dmode=a.dmode||511&~this.umask,this.fmode=a.fmode||438&~this.umask,this.on("entry",a=>this[du](a))}warn(a,b,c={}){return("TAR_BAD_ARCHIVE"===a||"TAR_ABORT"===a)&&(c.recoverable=!1),super.warn(a,b,c)}[dO](){this[dN]&&0===this[dK]&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[dH](a,b){let c=a[b],{type:d}=a;if(!c||this.preservePaths)return!0;let[e,f]=cc(c),h=f.replaceAll(/\\/g,"/").split("/");if(h.includes("..")||dU&&/^[a-z]:\.\.$/i.test(h[0]??"")){if("path"===b||"Link"===d)return this.warn("TAR_ENTRY_ERROR",`${b} contains '..'`,{entry:a,[b]:c}),!1;let e=g.default.posix.dirname(a.path),f=g.default.posix.normalize(g.default.posix.join(e,h.join("/")));if(f.startsWith("../")||".."===f)return this.warn("TAR_ENTRY_ERROR",`${b} escapes extraction directory`,{entry:a,[b]:c}),!1}return e&&(a[b]=String(f),this.warn("TAR_ENTRY_INFO",`stripping ${e} from absolute ${b}`,{entry:a,[b]:c})),!0}[dG](a){let b=bw(a.path),c=b.split("/");if(this.strip){if(c.length<this.strip)return!1;if("Link"===a.type){let b=bw(String(a.linkpath)).split("/");if(!(b.length>=this.strip))return!1;a.linkpath=b.slice(this.strip).join("/")}c.splice(0,this.strip),a.path=c.join("/")}if(isFinite(this.maxDepth)&&c.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:a,path:b,depth:c.length,maxDepth:this.maxDepth}),!1;if(!this[dH](a,"path")||!this[dH](a,"linkpath"))return!1;if(a.absolute=g.default.isAbsolute(a.path)?bw(g.default.resolve(a.path)):bw(g.default.resolve(this.cwd,a.path)),!this.preservePaths&&"string"==typeof a.absolute&&0!==a.absolute.indexOf(this.cwd+"/")&&a.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:a,path:bw(a.path),resolvedPath:a.absolute,cwd:this.cwd}),!1;if(a.absolute===this.cwd&&"Directory"!==a.type&&"GNUDumpDir"!==a.type)return!1;if(this.win32){let{root:b}=g.default.win32.parse(String(a.absolute));a.absolute=b+ch(String(a.absolute).slice(b.length));let{root:c}=g.default.win32.parse(a.path);a.path=c+ch(a.path.slice(c.length))}return!0}[du](a){if(!this[dG](a))return a.resume();switch(m.default.equal(typeof a.absolute,"string"),a.type){case"Directory":case"GNUDumpDir":a.mode&&(a.mode=448|a.mode);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[dv](a);default:return this[dF](a)}}[dJ](a,b){"CwdError"===a.name?this.emit("error",a):(this.warn("TAR_ENTRY_ERROR",a,{entry:b}),this[dM](),b.resume())}[dI](a,b,c){((a,b,c)=>{a=bw(a);let d=b.umask??18,e=448|b.mode,f=(e&d)!=0,i=b.uid,j=b.gid,k="number"==typeof i&&"number"==typeof j&&(i!==b.processUid||j!==b.processGid),l=b.preserve,m=b.unlink,n=bw(b.cwd),p=(b,d)=>{b?c(b):d&&k?di(d,i,j,a=>p(a)):f?h.default.chmod(a,e,c):c()};if(a===n){var q;return q=a,h.default.stat(q,(a,b)=>{(a||!b.isDirectory())&&(a=new dl(q,a?.code||"ENOTDIR")),p(a)})}if(l)return o.default.mkdir(a,{mode:e,recursive:!0}).then(a=>p(null,a??void 0),p);let r=bw(g.default.relative(n,a)).split("/");dn(n,r,e,m,n,void 0,p)})(bw(a),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:b},c)}[dQ](a){return this.forceChown||this.preserveOwner&&("number"==typeof a.uid&&a.uid!==this.processUid||"number"==typeof a.gid&&a.gid!==this.processGid)||"number"==typeof this.uid&&this.uid!==this.processUid||"number"==typeof this.gid&&this.gid!==this.processGid}[dR](a){return dV(this.uid,a.uid,this.processUid)}[dS](a){return dV(this.gid,a.gid,this.processGid)}[dz](a,b){let c="number"==typeof a.mode?4095&a.mode:this.fmode,d=new aH(String(a.absolute),{flags:de(a.size),mode:c,autoClose:!1});d.on("error",c=>{d.fd&&h.default.close(d.fd,()=>{}),d.write=()=>!0,this[dJ](c,a),b()});let e=1,f=c=>{if(c){d.fd&&h.default.close(d.fd,()=>{}),this[dJ](c,a),b();return}0==--e&&void 0!==d.fd&&h.default.close(d.fd,c=>{c?this[dJ](c,a):this[dM](),b()})};d.on("finish",()=>{let b=String(a.absolute),c=d.fd;if("number"==typeof c&&a.mtime&&!this.noMtime){e++;let d=a.atime||new Date,g=a.mtime;h.default.futimes(c,d,g,a=>a?h.default.utimes(b,d,g,b=>f(b&&a)):f())}if("number"==typeof c&&this[dQ](a)){e++;let d=this[dR](a),g=this[dS](a);"number"==typeof d&&"number"==typeof g&&h.default.fchown(c,d,g,a=>a?h.default.chown(b,d,g,b=>f(b&&a)):f())}f()});let g=this.transform&&this.transform(a)||a;g!==a&&(g.on("error",c=>{this[dJ](c,a),b()}),a.pipe(g)),g.pipe(d)}[dA](a,b){let c="number"==typeof a.mode?4095&a.mode:this.dmode;this[dI](String(a.absolute),c,c=>{if(c){this[dJ](c,a),b();return}let d=1,e=()=>{0==--d&&(b(),this[dM](),a.resume())};a.mtime&&!this.noMtime&&(d++,h.default.utimes(String(a.absolute),a.atime||new Date,a.mtime,e)),this[dQ](a)&&(d++,h.default.chown(String(a.absolute),Number(this[dR](a)),Number(this[dS](a)),e)),e()})}[dF](a){a.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${a.type}`,{entry:a}),a.resume()}[dC](a,b){let c=bw(g.default.relative(this.cwd,g.default.resolve(g.default.dirname(String(a.absolute)),String(a.linkpath)))).split("/");this[dE](a,this.cwd,c,()=>this[dB](a,String(a.linkpath),"symlink",b),c=>{this[dJ](c,a),b()})}[dD](a,b){let c=bw(g.default.resolve(this.cwd,String(a.linkpath))),d=bw(String(a.linkpath)).split("/");this[dE](a,this.cwd,d,()=>this[dB](a,c,"link",b),c=>{this[dJ](c,a),b()})}[dE](a,b,c,d,e){let f=c.shift();if(this.preservePaths||void 0===f)return d();let i=g.default.resolve(b,f);h.default.lstat(i,(b,f)=>b?d():f?.isSymbolicLink()?e(new dm(i,g.default.resolve(i,c.join("/")))):void this[dE](a,i,c,d,e))}[dL](){this[dK]++}[dM](){this[dK]--,this[dO]()}[dP](a){this[dM](),a.resume()}[dx](a,b){return"File"===a.type&&!this.unlink&&b.isFile()&&b.nlink<=1&&!dU}[dv](a){this[dL]();let b=[a.path];a.linkpath&&b.push(a.linkpath),this.reservations.reserve(b,b=>this[dw](a,b))}[dw](a,b){let c=a=>{b(a)},d=()=>{this[dI](this.cwd,this.dmode,b=>{if(b){this[dJ](b,a),c();return}this[dT]=!0,e()})},e=()=>{if(a.absolute!==this.cwd){let b=bw(g.default.dirname(String(a.absolute)));if(b!==this.cwd)return this[dI](b,this.dmode,b=>{if(b){this[dJ](b,a),c();return}f()})}f()},f=()=>{h.default.lstat(String(a.absolute),(b,d)=>{if(d&&(this.keep||this.newer&&d.mtime>(a.mtime??d.mtime))){this[dP](a),c();return}if(b||this[dx](a,d))return this[dy](null,a,c);if(d.isDirectory()){if("Directory"===a.type){let b=this.chmod&&a.mode&&(4095&d.mode)!==a.mode,e=b=>this[dy](b??null,a,c);return b?h.default.chmod(String(a.absolute),Number(a.mode),e):e()}if(a.absolute!==this.cwd)return h.default.rmdir(String(a.absolute),b=>this[dy](b??null,a,c))}if(a.absolute===this.cwd)return this[dy](null,a,c);((a,b)=>{if(!dU)return h.default.unlink(a,b);let c=a+".DELETE."+(0,n.randomBytes)(16).toString("hex");h.default.rename(a,c,a=>{if(a)return b(a);h.default.unlink(c,b)})})(String(a.absolute),b=>this[dy](b??null,a,c))})};this[dT]?e():d()}[dy](a,b,c){if(a){this[dJ](a,b),c();return}switch(b.type){case"File":case"OldFile":case"ContiguousFile":return this[dz](b,c);case"Link":return this[dD](b,c);case"SymbolicLink":return this[dC](b,c);case"Directory":case"GNUDumpDir":return this[dA](b,c)}}[dB](a,b,c,d){h.default[c](b,String(a.absolute),b=>{b?this[dJ](b,a):(this[dM](),a.resume()),d()})}},dX=a=>{try{return[null,a()]}catch(a){return[a,null]}},dY=class extends dW{sync=!0;[dy](a,b){return super[dy](a,b,()=>{})}[dv](a){if(!this[dT]){let b=this[dI](this.cwd,this.dmode);if(b)return this[dJ](b,a);this[dT]=!0}if(a.absolute!==this.cwd){let b=bw(g.default.dirname(String(a.absolute)));if(b!==this.cwd){let c=this[dI](b,this.dmode);if(c)return this[dJ](c,a)}}let[b,c]=dX(()=>h.default.lstatSync(String(a.absolute)));if(c&&(this.keep||this.newer&&c.mtime>(a.mtime??c.mtime)))return this[dP](a);if(b||this[dx](a,c))return this[dy](null,a);if(c.isDirectory()){if("Directory"===a.type){let[b]=this.chmod&&a.mode&&(4095&c.mode)!==a.mode?dX(()=>{h.default.chmodSync(String(a.absolute),Number(a.mode))}):[];return this[dy](b,a)}let[b]=dX(()=>h.default.rmdirSync(String(a.absolute)));this[dy](b,a)}let[d]=a.absolute===this.cwd?[]:dX(()=>(a=>{if(!dU)return h.default.unlinkSync(a);let b=a+".DELETE."+(0,n.randomBytes)(16).toString("hex");h.default.renameSync(a,b),h.default.unlinkSync(b)})(String(a.absolute)));this[dy](d,a)}[dz](a,b){let c="number"==typeof a.mode?4095&a.mode:this.fmode,d=c=>{let d;try{h.default.closeSync(e)}catch(a){d=a}(c||d)&&this[dJ](c||d,a),b()},e;try{e=h.default.openSync(String(a.absolute),de(a.size),c)}catch(a){return d(a)}let f=this.transform&&this.transform(a)||a;f!==a&&(f.on("error",b=>this[dJ](b,a)),a.pipe(f)),f.on("data",a=>{try{h.default.writeSync(e,a,0,a.length)}catch(a){d(a)}}),f.on("end",()=>{let b=null;if(a.mtime&&!this.noMtime){let c=a.atime||new Date,d=a.mtime;try{h.default.futimesSync(e,c,d)}catch(e){try{h.default.utimesSync(String(a.absolute),c,d)}catch{b=e}}}if(this[dQ](a)){let c=this[dR](a),d=this[dS](a);try{h.default.fchownSync(e,Number(c),Number(d))}catch(e){try{h.default.chownSync(String(a.absolute),Number(c),Number(d))}catch{b=b||e}}}d(b)})}[dA](a,b){let c="number"==typeof a.mode?4095&a.mode:this.dmode,d=this[dI](String(a.absolute),c);if(d){this[dJ](d,a),b();return}if(a.mtime&&!this.noMtime)try{h.default.utimesSync(String(a.absolute),a.atime||new Date,a.mtime)}catch{}if(this[dQ](a))try{h.default.chownSync(String(a.absolute),Number(this[dR](a)),Number(this[dS](a)))}catch{}b(),a.resume()}[dI](a,b){try{return((a,b)=>{a=bw(a);let c=b.umask??18,d=448|b.mode,e=(d&c)!=0,f=b.uid,i=b.gid,j="number"==typeof f&&"number"==typeof i&&(f!==b.processUid||i!==b.processGid),k=b.preserve,l=b.unlink,m=bw(b.cwd),n=b=>{b&&j&&dk(b,f,i),e&&h.default.chmodSync(a,d)};if(a===m)return(a=>{let b=!1,c;try{b=h.default.statSync(a).isDirectory()}catch(a){c=a?.code}finally{if(!b)throw new dl(a,c??"ENOTDIR")}})(m),n();if(k)return n(h.default.mkdirSync(a,{mode:d,recursive:!0})??void 0);let o=bw(g.default.relative(m,a)).split("/"),p;for(let a=o.shift(),b=m;a&&(b+="/"+a);a=o.shift()){b=bw(g.default.resolve(b));try{h.default.mkdirSync(b,d),p=p||b}catch{let a=h.default.lstatSync(b);if(a.isDirectory())continue;if(l){h.default.unlinkSync(b),h.default.mkdirSync(b,d),p=p||b;continue}if(a.isSymbolicLink())return new dm(b,b+"/"+o.join("/"))}}return n(p)})(bw(a),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:b})}catch(a){return a}}[dE](a,b,c,d,e){if(this.preservePaths||0===c.length)return d();let f=b;for(let a of c){f=g.default.resolve(f,a);let[i,j]=dX(()=>h.default.lstatSync(f));if(i)return d();if(j.isSymbolicLink())return e(new dm(f,g.default.resolve(b,c.join("/"))))}d()}[dB](a,b,c,d){let e=`${c}Sync`;try{h.default[e](b,String(a.absolute)),d(),a.resume()}catch(b){return this[dJ](b,a)}}},dZ=aM(a=>{let b=new dY(a),c=a.file,d=h.default.statSync(c);new aG(c,{readSize:a.maxReadSize||0x1000000,size:d.size}).pipe(b)},(a,b)=>{let c=new dW(a),d=a.maxReadSize||0x1000000,e=a.file;return new Promise((a,b)=>{c.on("error",b),c.on("close",a),h.default.stat(e,(a,f)=>{if(a)b(a);else{let a=new aF(e,{readSize:d,size:f.size});a.on("error",b),a.pipe(c)}})})},a=>new dY(a),a=>new dW(a),(a,b)=>{b?.length&&b7(a,b)}),d$=(a,b)=>{b.forEach(b=>{"@"===b.charAt(0)?b8({file:g.default.resolve(a.cwd,b.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(b)}),a.end()},d_=async(a,b)=>{for(let c of b)"@"===c.charAt(0)?await b8({file:g.default.resolve(String(a.cwd),c.slice(1)),noResume:!0,onReadEntry:b=>a.add(b)}):a.add(c);a.end()},d0=aM((a,b)=>{let c=new c2(a),d=!0,e,f;try{var g,i,j,k,l;let m;try{e=h.default.openSync(a.file,"r+")}catch(b){if(b?.code==="ENOENT")e=h.default.openSync(a.file,"w+");else throw b}let n=h.default.fstatSync(e),o=Buffer.alloc(512);a:for(f=0;f<n.size;f+=512){for(let a=0,b=0;a<512;a+=b){if(b=h.default.readSync(e,o,a,o.length-a,f+a),0===f&&31===o[0]&&139===o[1])throw Error("cannot append to compressed archives");if(!b)break a}let b=new bd(o);if(!b.cksumValid)break;let c=512*Math.ceil((b.size||0)/512);if(f+c+512>n.size)break;f+=c,a.mtimeCache&&b.mtime&&a.mtimeCache.set(String(b.path),b.mtime)}d=!1,g=a,i=c,j=f,k=e,l=b,m=new aI(g.file,{fd:k,start:j}),i.pipe(m),d$(i,l)}finally{if(d)try{h.default.closeSync(e)}catch{}}},(a,b)=>{b=Array.from(b);let c=new c1(a);return new Promise((d,e)=>{c.on("error",e);let f="r+",g=(i,j)=>i&&"ENOENT"===i.code&&"r+"===f?(f="w+",h.default.open(a.file,f,g)):i||!j?e(i):void h.default.fstat(j,(f,g)=>{if(f)return h.default.close(j,()=>e(f));((b,c,d)=>{let e=(a,c)=>{a?h.default.close(b,b=>d(a)):d(null,c)},f=0;if(0===c)return e(null,0);let g=0,i=Buffer.alloc(512),j=(d,k)=>{if(d||void 0===k)return e(d);if((g+=k)<512&&k)return h.default.read(b,i,g,i.length-g,f+g,j);if(0===f&&31===i[0]&&139===i[1])return e(Error("cannot append to compressed archives"));if(g<512)return e(null,f);let l=new bd(i);if(!l.cksumValid)return e(null,f);let m=512*Math.ceil((l.size??0)/512);if(f+m+512>c||(f+=m+512)>=c)return e(null,f);a.mtimeCache&&l.mtime&&a.mtimeCache.set(String(l.path),l.mtime),g=0,h.default.read(b,i,0,512,f,j)};h.default.read(b,i,0,512,f,j)})(j,g.size,(f,g)=>{if(f)return e(f);let h=new aH(a.file,{fd:j,start:g});c.pipe(h),h.on("error",e),h.on("close",d),d_(c,b)})});h.default.open(a.file,f,g)})},()=>{throw TypeError("file is required")},()=>{throw TypeError("file is required")},(a,b)=>{if(!a.file)throw TypeError("file is required");if(a.gzip||a.brotli||a.zstd||a.file.endsWith(".br")||a.file.endsWith(".tbr"))throw TypeError("cannot append to compressed archives");if(!b?.length)throw TypeError("no paths specified to add/replace")});aM(d0.syncFile,d0.asyncFile,d0.syncNoFile,d0.asyncNoFile,(a,b=[])=>{d0.validate?.(a,b),d1(a)});var d1=a=>{let b=a.filter;a.mtimeCache||(a.mtimeCache=new Map),a.filter=b?(c,d)=>b(c,d)&&!((a.mtimeCache?.get(c)??d.mtime??0)>(d.mtime??0)):(b,c)=>!((a.mtimeCache?.get(b)??c.mtime??0)>(c.mtime??0))};a.s(["create",0,c5,"extract",0,dZ,"x",0,dZ])},563736,a=>{"use strict";var b=a.i(815429),c=a.i(942372);let d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e=a.i(400413);let f=(a,b)=>{let f=(0,c.forwardRef)(({className:f,...g},h)=>(0,c.createElement)(e.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,f),...g}));return f.displayName=d(a),f},g=f("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var h=a.i(233405),i=a.i(522734),j=a.i(446786),k=a.i(814747),l=a.i(304162);async function m(a){try{var b,c;let{stdout:d}=await (b=["--version"],c={timeout:3e3},new Promise((d,e)=>{(0,h.execFile)(a,b,c,(a,b)=>{a?e(a):d({stdout:String(b??"")})})}));return d.split("\n")[0]?.replace(/^ripgrep\s+/,"").split(" ")[0]||void 0}catch{return}}async function n(){let a=await (0,l.resolveBundledRgPath)();if(a){let b=await m(a);return{installed:!0,path:a,version:b}}let b=function(){try{let a=(0,h.execFileSync)("which",["rg"],{encoding:"utf-8",timeout:3e3}),b=a.split(/\r?\n/)[0]?.trim();if(b&&(0,i.existsSync)(b))return b}catch{}for(let a of function(){let a=j.default.homedir();switch(process.platform){case"darwin":return["/opt/homebrew/bin/rg","/usr/local/bin/rg","/opt/local/bin/rg",k.default.join(a,".cargo/bin/rg")];case"linux":return["/usr/bin/rg","/usr/local/bin/rg","/snap/bin/rg",k.default.join(a,".local/bin/rg"),k.default.join(a,".cargo/bin/rg")];case"win32":{let b=process.env.LOCALAPPDATA??"",c=process.env.ProgramFiles??"C:\\Program Files",d=process.env.USERPROFILE??a;return[k.default.join(b,"Microsoft","WinGet","Links","rg.exe"),k.default.join(d,"scoop","shims","rg.exe"),k.default.join(b,"Programs","scoop","shims","rg.exe"),"C:\\ProgramData\\chocolatey\\bin\\rg.exe",k.default.join(c,"ripgrep","rg.exe")]}default:return[]}}())if((0,i.existsSync)(a))return a;return null}();if(b){let a=await m(b);return{installed:!0,path:b,version:a}}return{installed:!1}}async function o(){return{success:!1,error:"ripgrep is a native binary and must be installed via your OS package manager. See the install commands below or open the official site."}}let p=f("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);var q=a.i(319997),r=a.i(902157),s=a.i(912714),t=a.i(750227),u=a.i(743698),v=a.i(188646),w=a.i(744992);async function x(a,b,c,d={}){let e=d.registry??"https://registry.npmmirror.com",f=a.startsWith("@")?a.split("/")[1]:a,g=`${e}/${a}/-/${f}-${b}.tgz`;await (0,s.mkdir)(t.default.dirname(c),{recursive:!0});let h=await (0,s.mkdtemp)(t.default.join(t.default.dirname(c),".tower-ext-")),i=t.default.join(h,"pkg.tgz");try{var j,k,l;await (j=g,k=i,l=d.timeoutMs??6e4,new Promise((a,b)=>{let c=(0,r.createWriteStream)(k),d=!1,e=e=>{d||(d=!0,c.close(),e?b(e):a())},f=0,g=a=>{let b=u.default.get(a,b=>{let d=b.statusCode??0;if(d>=300&&d<400&&b.headers.location){if(++f>5){e(Error(`Too many redirects fetching ${j}`)),b.resume();return}b.resume(),g(new URL(b.headers.location,a).toString());return}if(d<200||d>=300){e(Error(`HTTP ${d} fetching ${j}`)),b.resume();return}(0,v.pipeline)(b,c).then(()=>e()).catch(e)});b.setTimeout(l,()=>{b.destroy(Error(`Timed out after ${l}ms fetching ${j}`))}),b.on("error",e)};g(j)}));let a=t.default.join(h,"extracted");await (0,s.mkdir)(a,{recursive:!0}),await w.x({file:i,cwd:a,strip:1});let b=await (0,s.stat)(a).catch(()=>null);if(!b||!b.isDirectory())throw Error(`Tarball extracted but ${a} is not a directory`);(0,r.existsSync)(c)&&await (0,s.rm)(c,{recursive:!0,force:!0}),await (0,s.rename)(a,c)}finally{await (0,s.rm)(h,{recursive:!0,force:!0}).catch(()=>{})}}let y="0.55.1",z=k.default.join((0,q.getExtensionsDir)(),"monaco"),A=k.default.join(z,"package.json"),B=k.default.join(z,"min","vs","loader.js"),C=[{id:"rg",name:"代码搜索 (ripgrep)",description:"基于 rg 的全文代码搜索",icon:g,sizeMB:5,homepageUrl:"https://github.com/BurntSushi/ripgrep#installation",manualInstall:!0,check:n,install:o},{id:"monaco",name:"代码编辑器 (Monaco)",description:"VS Code 同款 Web 编辑器",icon:p,sizeMB:15,homepageUrl:"https://microsoft.github.io/monaco-editor/",check:async function a(){let a;if(!(0,i.existsSync)(A)||!(0,i.existsSync)(B))return{installed:!1};try{a=JSON.parse((0,i.readFileSync)(A,"utf-8")).version}catch{}return{installed:!0,path:z,version:a}},install:async function a(){try{if(await x("monaco-editor",y,z),!(0,i.existsSync)(B))return{success:!1,error:`Download succeeded but ${B} is missing — the tarball layout may have changed`};return{success:!0,message:`Installed monaco-editor@${y} to ${z}`}}catch(a){return{success:!1,error:a.message}}},uninstall:async function a(){try{return(0,i.existsSync)(z)&&(0,i.rmSync)(z,{recursive:!0,force:!0}),{success:!0,message:"Removed monaco-editor"}}catch(a){return{success:!1,error:a.message}}}}];function D(a){return C.find(b=>b.id===a)??null}async function E(a){let b=D(a);return b?b.check():{installed:!1,error:`unknown extension: ${a}`}}async function F(a){let b=D(a);return b?b.install():{success:!1,error:`unknown extension: ${a}`}}async function G(a){let b=D(a);return b?b.uninstall?b.uninstall():{success:!1,error:`extension ${a} does not support uninstall`}:{success:!1,error:`unknown extension: ${a}`}}async function H(){return Object.fromEntries(await Promise.all(C.map(async a=>[a.id,await a.check()])))}(0,a.i(630048).ensureServerEntryExports)([E,F,G,H]),(0,b.registerServerReference)(E,"4008d181ffbd4615d32b560bd561eab2a62538ea7f",null),(0,b.registerServerReference)(F,"408c8af808f6135a2406e34f132c3d198b9be882e3",null),(0,b.registerServerReference)(G,"40cd2b5cf265781af5b411618c378f7ba29ac89115",null),(0,b.registerServerReference)(H,"00997912ad83ae2be5ec83e7394e4d1a6105f46214",null),a.s(["checkExtension",0,E,"installExtension",0,F,"listAllExtensionStatus",0,H,"uninstallExtension",0,G],563736)}];
4
4
 
5
5
  //# sourceMappingURL=%5Broot-of-the-server%5D__0z7je5_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},980738,(a,b,c)=>{b.exports=a.x("node-pty-c710df912a232c01",()=>require("node-pty-c710df912a232c01"))},433541,a=>a.a(async(b,c)=>{try{let b=await a.y("ws-4df7fc762dfa9a52");a.n(b),c()}catch(a){c(a)}},!0),504446,(a,b,c)=>{b.exports=a.x("net",()=>require("net"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},163812,a=>{"use strict";var b=a.i(902157),c=a.i(874533),d=a.i(750227);function e(a=process.platform){return"win32"===a}function f(a){let b=a.replace(/\r\n|\r|\n/g," ");if(!b.length)return'""';let c=b.replace(/"/g,'""');return/[\s"&<>|^()]/.test(c)?`"${c}"`:c}let g=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function h(a,b={}){let c=b.cwd??process.cwd(),f=b.env??process.env,g=b.platform??process.platform;if(a.includes("/")||a.includes("\\")){let b=d.default.isAbsolute(a)?a:d.default.resolve(c,a);return await m(b,g)?b:null}let i=f.PATH??f.Path??"",j=e(g)?";":":",k=i.split(j).filter(Boolean),l=e(g)?(f.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],n=e(g)&&d.default.extname(a).length>0;for(let b of k)for(let c of e(g)?n?[d.default.join(b,a)]:l.map(c=>d.default.join(b,`${a}${c}`)):[d.default.join(b,a)])if(await m(c,g))return c;return null}let i=a=>(0,c.execSync)(a,{encoding:"utf-8",timeout:5e3});function j(a,b=process.platform,f=i){if(d.default.extname(a)||a.includes("/")||a.includes("\\"))return a;if(!e(b)){try{let b=(0,c.execFileSync)("which",[a],{encoding:"utf-8",timeout:5e3}).trim();if(b)return b}catch{}return a}try{let b=f(`where ${a}`).trim().split("\n").map(a=>a.trim()).filter(Boolean),c=b.find(a=>/\.(cmd|bat|exe)$/i.test(a));if(c)return c;if(b.length>0)return b[0]}catch{}return a}async function k(a,b,c={}){let d=c.env??process.env,e=c.platform??process.platform;return l(await h(a,c)??a,b,d,e)}function l(a,b,c,g){if(!e(g))return{command:a,args:b};let h=d.default.extname(a).toLowerCase();return".cmd"===h||".bat"===h||".com"===h?{command:c.ComSpec||"cmd.exe",args:["/d","/s","/c",[f(a),...b.map(f)].join(" ")]}:{command:a,args:b}}async function m(a,c=process.platform){try{return await b.promises.access(a,e(c)?b.constants.F_OK:b.constants.X_OK),!0}catch{return!1}}async function n(a=process.platform){return e(a)?p():o()}async function o(){try{let a=await b.promises.readFile("/etc/shells","utf-8"),c=[],e=new Map;for(let b of a.split("\n")){let a=b.replace(/#.*/,"").trim();if(!a||!a.startsWith("/")||!await m(a))continue;let f=d.default.basename(a),g=e.get(f)??0;e.set(f,g+1),g>0&&(f=`${f} (${g+1})`),c.push({name:f,path:a})}return c}catch{let a=[];for(let b of["/bin/zsh","/bin/bash","/bin/sh"])await m(b)&&a.push({name:d.default.basename(b),path:b});return a}}async function p(){let a=[],b=[],c=await h("git",{platform:"win32"});if(c){let a=d.default.resolve(d.default.dirname(c),"..","..");b.push(d.default.join(a,"bin","bash.exe"),d.default.join(a,"usr","bin","bash.exe"))}for(let a of[process.env.ProgramW6432,process.env.ProgramFiles,process.env["ProgramFiles(x86)"],process.env.LocalAppData?d.default.join(process.env.LocalAppData,"Programs"):null].filter(Boolean))b.push(d.default.join(a,"Git","bin","bash.exe"),d.default.join(a,"Git","usr","bin","bash.exe"));let e=process.env.USERPROFILE??"";for(let c of(e&&b.push(d.default.join(e,"scoop","apps","git","current","bin","bash.exe")),process.env.CLAUDE_CODE_GIT_BASH_PATH&&b.unshift(process.env.CLAUDE_CODE_GIT_BASH_PATH),b))if(await m(c,"win32")){a.push({name:"Git Bash",path:c});break}let f=await h("pwsh",{platform:"win32"});f&&a.push({name:"PowerShell",path:f});let g=process.env.windir??"C:\\WINDOWS",i=d.default.join(g,"System32","WindowsPowerShell","v1.0","powershell.exe");await m(i,"win32")&&a.push({name:"Windows PowerShell",path:i});let j=process.env.ComSpec??d.default.join(g,"System32","cmd.exe");return await m(j,"win32")&&a.push({name:"Command Prompt",path:j}),a}let q=[{name:"Terminal",bundleName:"Terminal"},{name:"iTerm2",bundleName:"iTerm"},{name:"Warp",bundleName:"Warp"},{name:"Alacritty",bundleName:"Alacritty"},{name:"WezTerm",bundleName:"WezTerm"},{name:"kitty",bundleName:"kitty"},{name:"Hyper",bundleName:"Hyper"}];async function r(a=process.platform){if("darwin"===a){let b=[];for(let c of q){let d=await m(`/Applications/${c.bundleName}.app`,a);b.push({name:c.name,value:c.bundleName,installed:d})}return b}if(e(a)){let b=[],c=await h("wt",{platform:a});return c&&b.push({name:"Windows Terminal",value:c,installed:!0}),b}return[]}let s=[{name:"VS Code",command:"code"},{name:"VS Code Insiders",command:"code-insiders"},{name:"Cursor",command:"cursor"},{name:"Windsurf",command:"windsurf"},{name:"Zed",command:"zed"},{name:"Sublime Text",command:"subl"},{name:"IntelliJ IDEA",command:"idea"},{name:"WebStorm",command:"webstorm"},{name:"PyCharm",command:"pycharm"},{name:"GoLand",command:"goland"},{name:"RubyMine",command:"rubymine"},{name:"PhpStorm",command:"phpstorm"},{name:"CLion",command:"clion"},{name:"Rider",command:"rider"}];async function t(a=process.platform){let b=[];for(let c of s){let d=!!await h(c.command,{platform:a});b.push({name:c.name,command:c.command,installed:d})}return b}a.s(["detectEditors",0,t,"detectShells",0,n,"detectTerminalApps",0,r,"ensurePathInEnv",0,function(a,b=process.platform){let c=e(b)?"Path":"PATH";return(a.PATH??a.Path??"").length>0?a:{...a,[c]:function(a=process.platform){return e(a)?"C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem":"/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"}(b)}},"resolveCommandPath",0,h,"resolveCommandPathSync",0,j,"resolveSpawnTarget",0,k,"resolveSpawnTargetSync",0,function(a,b,c=process.platform,d){return l(j(a,c,d),b,process.env,c)},"stripClaudeNestingEnv",0,function(a){let b={...a};for(let a of g)delete b[a];return b}])},42847,a=>{"use strict";var b=a.i(980738),c=a.i(163812);class d{taskId;_pty;killed=!1;disconnectTimer=null;_buffer="";static BUFFER_MAX=51200;_onData;_exitListeners=[];_idleTimer=null;_idleThresholdMs;_onIdle;_idleFired=!1;constructor(a,e,f,g,h,i,j,k,l){this.taskId=a,this._onData=h,this._onIdle=k??null,this._idleThresholdMs=Math.max(l??18e4,18e4);const m={...(0,c.stripClaudeNestingEnv)((0,c.ensurePathInEnv)(process.env)),TERM:"xterm-color",...j};try{this._pty=b.spawn(e,f,{name:"xterm-color",cols:80,rows:24,cwd:g,env:m})}catch(a){throw console.error(`[pty] spawn failed: command="${e}", cwd="${g}", PATH="${m.PATH?.slice(0,200)}"`),a}this._pty.onData(a=>{this._buffer+=a,this._buffer.length>d.BUFFER_MAX&&(this._buffer=this._buffer.slice(this._buffer.length-d.BUFFER_MAX)),this._resetIdleTimer(),this._onData(a)}),this._pty.onExit(({exitCode:a,signal:b})=>{for(let c of(this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),i(a,b),this._exitListeners))c(a)}),this._resetIdleTimer()}_resetIdleTimer(){this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),null===this._onIdle||this.killed||this._idleFired||(this._idleTimer=setTimeout(()=>{this._idleFired=!0,this._onIdle?.()},this._idleThresholdMs))}setDataListener(a){this._onData=a}setExitListener(a){this._exitListeners=[a]}write(a){this.killed||(this._resetIdleTimer(),this._pty.write(a))}resize(a,b){this.killed||this._pty.resize(a,b)}getBuffer(){return this._buffer}get isIdle(){return this._idleFired}kill(a){if(!this.killed){this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null);try{this._pty.kill(a)}catch{}}}forceKill(){try{this._pty.kill("SIGKILL")}catch{}this.killed=!0}}a.s(["PtySession",0,d])},962620,a=>{"use strict";var b=a.i(42847),c=a.i(163812);let d=globalThis;d.__ptySessions||(d.__ptySessions=new Map);let e=d.__ptySessions;function f(a){let b=e.get(a);b&&(e.delete(a),b.disconnectTimer&&(clearTimeout(b.disconnectTimer),b.disconnectTimer=null),b.kill())}function g(){for(let a of e.keys())f(a)}let h=globalThis;"phase-production-build"===process.env.NEXT_PHASE||h.__ptySignalHandlersRegistered||(h.__ptySignalHandlersRegistered=!0,process.once("SIGTERM",()=>{console.error("[session-store] SIGTERM received — cleaning up PTY sessions"),g()}),process.once("SIGINT",()=>{console.error("[session-store] SIGINT received — cleaning up PTY sessions"),g()})),a.s(["createSession",0,function(a,d,g,h,i,j,k,l,m){f(a);let{command:n,args:o}=(0,c.resolveSpawnTargetSync)(d,g),p=new b.PtySession(a,n,o,h,i,j,k,l,m);return e.set(a,p),p},"destroyAllSessions",0,g,"destroySession",0,f,"getSession",0,function(a){return e.get(a)}])},312369,a=>{"use strict";var b=a.i(761469);async function c(a,c){let d=await b.db.systemConfig.findUnique({where:{key:a}});if(!d)return c;try{return JSON.parse(d.value)}catch{return c}}a.s(["readConfigValue",0,c])},830296,a=>{"use strict";a.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"system.maxReadableFileBytes":{defaultValue:5242880,type:"number",label:"Max Readable File Size (bytes)"},"system.backupDir":{defaultValue:"",type:"string",label:"Backup Directory"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"search.codeTimeoutSec":{defaultValue:30,type:"number",label:"Code Search Timeout (seconds)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"editor.command":{defaultValue:"",type:"string",label:"Default Editor Command"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"},"task.defaultUseWorktree":{defaultValue:!0,type:"boolean",label:"Default: Use Worktree"},"task.defaultAutoStart":{defaultValue:!1,type:"boolean",label:"Default: Auto-start Execution"},"task.mcpDefaultsConfigured":{defaultValue:!1,type:"boolean",label:"MCP Task Defaults Configured"}}])},980999,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(761469),f=a.i(830296),g=a.i(989927),h=a.i(163812),i=a.i(823615),j=a.i(630048),k=b([i]);async function l(a,b){let c=await e.db.systemConfig.findUnique({where:{key:a}});if(!c)return b;try{return JSON.parse(c.value)}catch{return b}}async function m(a,b){await e.db.systemConfig.upsert({where:{key:a},create:{key:a,value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}async function n(a){let b=a.trim();if(!b)return"";try{let a=await l("git.pathMappingRules",[]),c=(0,g.matchGitPathRule)(b,a);if(c)return c;return(0,g.gitUrlToLocalPath)(b)}catch{return(0,g.gitUrlToLocalPath)(b)}}async function o(a){let b=await e.db.systemConfig.findMany({where:{key:{in:a}}}),c=Object.fromEntries(b.map(a=>{try{return[a.key,JSON.parse(a.value)]}catch{return[a.key,null]}})),d={};for(let b of a)d[b]=b in c?c[b]:f.CONFIG_DEFAULTS[b]?.defaultValue??null;return d}async function p(){return(0,h.detectShells)()}async function q(){return(0,h.detectTerminalApps)()}async function r(){return(0,h.detectEditors)()}async function s(){return{platform:process.platform}}async function t(){let a=(0,i.getActiveWsPort)();if(null!==a)return a;let b=parseInt(process.env.PORT||"3000",10);return l("terminal.wsPort",b+1)}[i]=k.then?(await k)():k,(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t]),(0,d.registerServerReference)(l,"60464ccc31157bd13a857176cd1dd7a461c34e57be",null),(0,d.registerServerReference)(m,"60735a115af61be84c900fd110a50f09424fd535e2",null),(0,d.registerServerReference)(n,"40374a985920b5eed78a4c831c97af2a41dd3d81fa",null),(0,d.registerServerReference)(o,"40fde63cbb579a57d98147773974b38028b658f82c",null),(0,d.registerServerReference)(p,"00cc6d8ee72d701dde5a5bc67a330d717337f6d246",null),(0,d.registerServerReference)(q,"00b3d8fea53673015521ca66ac38bb62a56f601e27",null),(0,d.registerServerReference)(r,"0090e14da697e27a49091c35b442eff6fe9535e253",null),(0,d.registerServerReference)(s,"00d8a0741f14e78922aca732718e500c1661f12542",null),(0,d.registerServerReference)(t,"0074163bba3df5910101982fc063a7682272d732f6",null),a.s(["getActualWsPort",0,t,"getAvailableEditors",0,r,"getAvailableShells",0,p,"getAvailableTerminalApps",0,q,"getConfigValue",0,l,"getConfigValues",0,o,"getPlatformInfo",0,s,"resolveGitLocalPath",0,n,"setConfigValue",0,m]),c()}catch(a){c(a)}},!1)];
1
+ module.exports=[874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},980738,(a,b,c)=>{b.exports=a.x("node-pty-c710df912a232c01",()=>require("node-pty-c710df912a232c01"))},433541,a=>a.a(async(b,c)=>{try{let b=await a.y("ws-4df7fc762dfa9a52");a.n(b),c()}catch(a){c(a)}},!0),504446,(a,b,c)=>{b.exports=a.x("net",()=>require("net"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},163812,a=>{"use strict";var b=a.i(902157),c=a.i(874533),d=a.i(750227);function e(a=process.platform){return"win32"===a}function f(a){let b=a.replace(/\r\n|\r|\n/g," ");if(!b.length)return'""';let c=b.replace(/"/g,'""');return/[\s"&<>|^()]/.test(c)?`"${c}"`:c}let g=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function h(a,b={}){let c=b.cwd??process.cwd(),f=b.env??process.env,g=b.platform??process.platform;if(a.includes("/")||a.includes("\\")){let b=d.default.isAbsolute(a)?a:d.default.resolve(c,a);return await m(b,g)?b:null}let i=f.PATH??f.Path??"",j=e(g)?";":":",k=i.split(j).filter(Boolean),l=e(g)?(f.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],n=e(g)&&d.default.extname(a).length>0;for(let b of k)for(let c of e(g)?n?[d.default.join(b,a)]:l.map(c=>d.default.join(b,`${a}${c}`)):[d.default.join(b,a)])if(await m(c,g))return c;return null}let i=a=>(0,c.execSync)(a,{encoding:"utf-8",timeout:5e3});function j(a,b=process.platform,f=i){if(d.default.extname(a)||a.includes("/")||a.includes("\\"))return a;if(!e(b)){try{let b=(0,c.execFileSync)("which",[a],{encoding:"utf-8",timeout:5e3}).trim();if(b)return b}catch{}return a}try{let b=f(`where ${a}`).trim().split("\n").map(a=>a.trim()).filter(Boolean),c=b.find(a=>/\.(cmd|bat|exe)$/i.test(a));if(c)return c;if(b.length>0)return b[0]}catch{}return a}async function k(a,b,c={}){let d=c.env??process.env,e=c.platform??process.platform;return l(await h(a,c)??a,b,d,e)}function l(a,b,c,g){if(!e(g))return{command:a,args:b};let h=d.default.extname(a).toLowerCase();return".cmd"===h||".bat"===h||".com"===h?{command:c.ComSpec||"cmd.exe",args:["/d","/s","/c",[f(a),...b.map(f)].join(" ")]}:{command:a,args:b}}async function m(a,c=process.platform){try{return await b.promises.access(a,e(c)?b.constants.F_OK:b.constants.X_OK),!0}catch{return!1}}async function n(a=process.platform){return e(a)?p():o()}async function o(){try{let a=await b.promises.readFile("/etc/shells","utf-8"),c=[],e=new Map;for(let b of a.split("\n")){let a=b.replace(/#.*/,"").trim();if(!a||!a.startsWith("/")||!await m(a))continue;let f=d.default.basename(a),g=e.get(f)??0;e.set(f,g+1),g>0&&(f=`${f} (${g+1})`),c.push({name:f,path:a})}return c}catch{let a=[];for(let b of["/bin/zsh","/bin/bash","/bin/sh"])await m(b)&&a.push({name:d.default.basename(b),path:b});return a}}async function p(){let a=[],b=[],c=await h("git",{platform:"win32"});if(c){let a=d.default.resolve(d.default.dirname(c),"..","..");b.push(d.default.join(a,"bin","bash.exe"),d.default.join(a,"usr","bin","bash.exe"))}for(let a of[process.env.ProgramW6432,process.env.ProgramFiles,process.env["ProgramFiles(x86)"],process.env.LocalAppData?d.default.join(process.env.LocalAppData,"Programs"):null].filter(Boolean))b.push(d.default.join(a,"Git","bin","bash.exe"),d.default.join(a,"Git","usr","bin","bash.exe"));let e=process.env.USERPROFILE??"";for(let c of(e&&b.push(d.default.join(e,"scoop","apps","git","current","bin","bash.exe")),process.env.CLAUDE_CODE_GIT_BASH_PATH&&b.unshift(process.env.CLAUDE_CODE_GIT_BASH_PATH),b))if(await m(c,"win32")){a.push({name:"Git Bash",path:c});break}let f=await h("pwsh",{platform:"win32"});f&&a.push({name:"PowerShell",path:f});let g=process.env.windir??"C:\\WINDOWS",i=d.default.join(g,"System32","WindowsPowerShell","v1.0","powershell.exe");await m(i,"win32")&&a.push({name:"Windows PowerShell",path:i});let j=process.env.ComSpec??d.default.join(g,"System32","cmd.exe");return await m(j,"win32")&&a.push({name:"Command Prompt",path:j}),a}let q=[{name:"Terminal",bundleName:"Terminal"},{name:"iTerm2",bundleName:"iTerm"},{name:"Warp",bundleName:"Warp"},{name:"Alacritty",bundleName:"Alacritty"},{name:"WezTerm",bundleName:"WezTerm"},{name:"kitty",bundleName:"kitty"},{name:"Hyper",bundleName:"Hyper"}];async function r(a=process.platform){if("darwin"===a){let b=[];for(let c of q){let d=await m(`/Applications/${c.bundleName}.app`,a);b.push({name:c.name,value:c.bundleName,installed:d})}return b}if(e(a)){let b=[],c=await h("wt",{platform:a});return c&&b.push({name:"Windows Terminal",value:c,installed:!0}),b}return[]}let s=[{name:"VS Code",command:"code"},{name:"VS Code Insiders",command:"code-insiders"},{name:"Cursor",command:"cursor"},{name:"Windsurf",command:"windsurf"},{name:"Zed",command:"zed"},{name:"Sublime Text",command:"subl"},{name:"IntelliJ IDEA",command:"idea"},{name:"WebStorm",command:"webstorm"},{name:"PyCharm",command:"pycharm"},{name:"GoLand",command:"goland"},{name:"RubyMine",command:"rubymine"},{name:"PhpStorm",command:"phpstorm"},{name:"CLion",command:"clion"},{name:"Rider",command:"rider"}];async function t(a=process.platform){let b=[];for(let c of s){let d=!!await h(c.command,{platform:a});b.push({name:c.name,command:c.command,installed:d})}return b}a.s(["detectEditors",0,t,"detectShells",0,n,"detectTerminalApps",0,r,"ensurePathInEnv",0,function(a,b=process.platform){let c=e(b)?"Path":"PATH";return(a.PATH??a.Path??"").length>0?a:{...a,[c]:function(a=process.platform){return e(a)?"C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem":"/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"}(b)}},"resolveCommandPath",0,h,"resolveCommandPathSync",0,j,"resolveSpawnTarget",0,k,"resolveSpawnTargetSync",0,function(a,b,c=process.platform,d){return l(j(a,c,d),b,process.env,c)},"stripClaudeNestingEnv",0,function(a){let b={...a};for(let a of g)delete b[a];return b}])},42847,a=>{"use strict";var b=a.i(980738),c=a.i(163812);class d{taskId;_pty;killed=!1;disconnectTimer=null;_buffer="";static BUFFER_MAX=51200;_onData;_exitListeners=[];_idleTimer=null;_idleThresholdMs;_onIdle;_idleFired=!1;constructor(a,e,f,g,h,i,j,k,l){this.taskId=a,this._onData=h,this._onIdle=k??null,this._idleThresholdMs=Math.max(l??18e4,18e4);const m={...(0,c.stripClaudeNestingEnv)((0,c.ensurePathInEnv)(process.env)),TERM:"xterm-color",...j};try{this._pty=b.spawn(e,f,{name:"xterm-color",cols:80,rows:24,cwd:g,env:m})}catch(a){throw console.error(`[pty] spawn failed: command="${e}", cwd="${g}", PATH="${m.PATH?.slice(0,200)}"`),a}this._pty.onData(a=>{this._buffer+=a,this._buffer.length>d.BUFFER_MAX&&(this._buffer=this._buffer.slice(this._buffer.length-d.BUFFER_MAX)),this._resetIdleTimer(),this._onData(a)}),this._pty.onExit(({exitCode:a,signal:b})=>{for(let c of(this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),i(a,b),this._exitListeners))c(a)}),this._resetIdleTimer()}_resetIdleTimer(){this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),null===this._onIdle||this.killed||this._idleFired||(this._idleTimer=setTimeout(()=>{this._idleFired=!0,this._onIdle?.()},this._idleThresholdMs))}setDataListener(a){this._onData=a}setExitListener(a){this._exitListeners=[a]}write(a){this.killed||(this._resetIdleTimer(),this._pty.write(a))}resize(a,b){this.killed||this._pty.resize(a,b)}getBuffer(){return this._buffer}get isIdle(){return this._idleFired}kill(a){if(!this.killed){this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null);try{this._pty.kill(a)}catch{}}}forceKill(){try{this._pty.kill("SIGKILL")}catch{}this.killed=!0}}a.s(["PtySession",0,d])},962620,a=>{"use strict";var b=a.i(42847),c=a.i(163812);let d=globalThis;d.__ptySessions||(d.__ptySessions=new Map);let e=d.__ptySessions;function f(a){let b=e.get(a);b&&(e.delete(a),b.disconnectTimer&&(clearTimeout(b.disconnectTimer),b.disconnectTimer=null),b.kill())}function g(){for(let a of e.keys())f(a)}let h=globalThis;"phase-production-build"===process.env.NEXT_PHASE||h.__ptySignalHandlersRegistered||(h.__ptySignalHandlersRegistered=!0,process.once("SIGTERM",()=>{console.error("[session-store] SIGTERM received — cleaning up PTY sessions"),g()}),process.once("SIGINT",()=>{console.error("[session-store] SIGINT received — cleaning up PTY sessions"),g()})),a.s(["createSession",0,function(a,d,g,h,i,j,k,l,m){f(a);let{command:n,args:o}=(0,c.resolveSpawnTargetSync)(d,g),p=new b.PtySession(a,n,o,h,i,j,k,l,m);return e.set(a,p),p},"destroyAllSessions",0,g,"destroySession",0,f,"getSession",0,function(a){return e.get(a)}])},312369,a=>{"use strict";var b=a.i(761469);async function c(a,c){let d=await b.db.systemConfig.findUnique({where:{key:a}});if(!d)return c;try{return JSON.parse(d.value)}catch{return c}}a.s(["readConfigValue",0,c])},830296,a=>{"use strict";a.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"system.maxReadableFileBytes":{defaultValue:5242880,type:"number",label:"Max Readable File Size (bytes)"},"system.backupDir":{defaultValue:"",type:"string",label:"Backup Directory"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"search.codeTimeoutSec":{defaultValue:30,type:"number",label:"Code Search Timeout (seconds)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"editor.command":{defaultValue:"",type:"string",label:"Default Editor Command"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"},"task.defaultUseWorktree":{defaultValue:!0,type:"boolean",label:"Default: Use Worktree"},"task.defaultAutoStart":{defaultValue:!1,type:"boolean",label:"Default: Auto-start Execution"},"task.mcpDefaultsConfigured":{defaultValue:!1,type:"boolean",label:"MCP Task Defaults Configured"}}])},980999,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(761469),f=a.i(830296),g=a.i(989927),h=a.i(163812),i=a.i(823615),j=a.i(630048),k=b([i]);async function l(a,b){let c=await e.db.systemConfig.findUnique({where:{key:a}});if(!c)return b;try{return JSON.parse(c.value)}catch{return b}}async function m(a,b){await e.db.systemConfig.upsert({where:{key:a},create:{key:a,value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}async function n(a){let b=a.trim();if(!b)return"";try{let a=await l("git.pathMappingRules",[]),c=(0,g.matchGitPathRule)(b,a);if(c)return c;return(0,g.gitUrlToLocalPath)(b)}catch{return(0,g.gitUrlToLocalPath)(b)}}async function o(a){let b=await e.db.systemConfig.findMany({where:{key:{in:a}}}),c=Object.fromEntries(b.map(a=>{try{return[a.key,JSON.parse(a.value)]}catch{return[a.key,null]}})),d={};for(let b of a)d[b]=b in c?c[b]:f.CONFIG_DEFAULTS[b]?.defaultValue??null;return d}async function p(){return(0,h.detectShells)()}async function q(){return(0,h.detectTerminalApps)()}async function r(){return(0,h.detectEditors)()}async function s(){return{platform:process.platform}}async function t(){let a=(0,i.getActiveWsPort)();if(null!==a)return a;let b=parseInt(process.env.PORT||"3000",10);return l("terminal.wsPort",b+1)}[i]=k.then?(await k)():k,(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t]),(0,d.registerServerReference)(l,"601eafdd454c31272bbc215e55a26b5c6618f49b7b",null),(0,d.registerServerReference)(m,"6036b3b4879c62e8bbc7f6ec5b55c8eb61b230d299",null),(0,d.registerServerReference)(n,"40be27da3d825f066d4b19581f06b266b91ed8201c",null),(0,d.registerServerReference)(o,"40eaf8cb395a2d553073d5e4b45b5c7e67635a0408",null),(0,d.registerServerReference)(p,"006c3ec44edffaf058bf07566e8909a6be9d265b29",null),(0,d.registerServerReference)(q,"0056a99e938944c1198771d0e2d03d609b3fdf07a2",null),(0,d.registerServerReference)(r,"00d7c2f747caf5370fa4e7e44ae99e1a7b5a279aa5",null),(0,d.registerServerReference)(s,"0046053fb5a0d3d4a82c66a319a9ef8b325395f933",null),(0,d.registerServerReference)(t,"00fbc689cb0a02219ea14de9ae0e6a836b6ccd9815",null),a.s(["getActualWsPort",0,t,"getAvailableEditors",0,r,"getAvailableShells",0,p,"getAvailableTerminalApps",0,q,"getConfigValue",0,l,"getConfigValues",0,o,"getPlatformInfo",0,s,"resolveGitLocalPath",0,n,"setConfigValue",0,m]),c()}catch(a){c(a)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__134_xv.._.js.map
@@ -0,0 +1,47 @@
1
+ module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"4035e735b1b22894193be485cb6a9524a54a795c4a",null),(0,b.registerServerReference)(g,"40d394c70d71176e9b48354f6c4f59095c8dcbabd2",null),(0,b.registerServerReference)(h,"40f6f414c4c9714d1f6d472444873071e2e0703567",null),(0,b.registerServerReference)(i,"6079c2c1d6092dcace7fdf012860938d2500e68b4f",null),(0,b.registerServerReference)(j,"40759c0652dd2f3a64b4d2b77207dc3a329eae4cc9",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
2
+ n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
3
+ FROM "ProjectNote" n
4
+ JOIN "Project" p ON p.id = n."projectId"
5
+ JOIN "Workspace" w ON w.id = p."workspaceId"
6
+ WHERE n.title LIKE ? OR n.content LIKE ?
7
+ LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
8
+ n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
9
+ FROM notes_fts f
10
+ JOIN "ProjectNote" n ON n.id = f.note_id
11
+ JOIN "Project" p ON p.id = n."projectId"
12
+ JOIN "Workspace" w ON w.id = p."workspaceId"
13
+ WHERE f.notes_fts MATCH ?
14
+ ORDER BY rank
15
+ LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
16
+ n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
17
+ FROM "ProjectNote" n
18
+ JOIN "Project" p ON p.id = n."projectId"
19
+ JOIN "Workspace" w ON w.id = p."workspaceId"
20
+ WHERE n.title LIKE ? OR n.content LIKE ?
21
+ LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"600c58e87d471b6e34ea1647f939b194970202376b",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
22
+
23
+ 读取 package.json、README.md 等关键文件,然后概括:
24
+
25
+ **技术栈:** 一句话列出主要语言、框架、关键库
26
+ **定位:** 一句话说明项目是什么
27
+ **核心模块:** 2-3 个关键模块,每个一句话
28
+
29
+ 要求:
30
+ - 总字数不超过 500 字
31
+ - 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
32
+ - 不要罗列每个文件/目录,只说关键信息
33
+ - 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
34
+
35
+ Read package.json, README.md and other key files, then summarize:
36
+
37
+ **Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
38
+ **Overview:** One sentence describing what this project is
39
+ **Core Modules:** 2-3 key modules, one sentence each
40
+
41
+ Requirements:
42
+ - Keep it under 1000 words
43
+ - Use concise Markdown (bold labels + short sentences), no ## headings or tables
44
+ - Don't list every file/directory, only key information
45
+ - Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40d474d67d482367a92a77a107951ba1cd1102b987",null),(0,b.registerServerReference)(j,"601ad7263d6879a306b1f5be7639459092299da75c",null),(0,b.registerServerReference)(m,"60d620deef0266f60fc86388756c6fa60282d23a29",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},196195,a=>{"use strict";var b=a.i(815429),c=a.i(233405),d=a.i(814747),e=a.i(446786);function f(a){return a.startsWith("~/")||"~"===a?d.default.join(e.default.homedir(),a.slice(1)):a}async function g(a){if(!a?.trim())return null;let b=d.default.resolve(f(a));try{return(0,c.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:b,encoding:"utf-8",timeout:5e3}).trim()}catch{return null}}async function h(a){if(!a?.trim())return[];let b=d.default.resolve(f(a));try{let a,d;return a=new Set((0,c.execSync)("git branch --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,""))),d=(0,c.execSync)("git branch -r --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,"").replace(/^origin\//,"")).filter(b=>"HEAD"!==b&&!a.has(b)),[...a,...d]}catch{return[]}}async function i(a){if(!a?.trim())return;let b=d.default.resolve(f(a));try{(0,c.spawn)("git",["fetch","--prune"],{cwd:b,stdio:"ignore",detached:!0}).unref()}catch{}}(0,a.i(630048).ensureServerEntryExports)([g,h,i]),(0,b.registerServerReference)(g,"40cab6bfdce457414144715ec29ec6b0e9eeb638ae",null),(0,b.registerServerReference)(h,"406ab39f1bb8aa7d87788e7abe36c7f31481e89de8",null),(0,b.registerServerReference)(i,"4036aaba0d8c5c679356cff5916cc62d0c00afa0e5",null),a.s(["fetchRemoteBranches",0,i,"getCurrentBranch",0,g,"getProjectBranches",0,h])},488766,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634),a.i(689171),a.i(536960),a.i(196195);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),566559,a=>a.a(async(b,c)=>{try{var d=a.i(488766),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=a.i(689171),m=a.i(536960),n=a.i(196195),o=b([d,g,h]);[d,g,h]=o.then?(await o)():o,a.s(["00695564c7f2ce2892db4febc4a168c175b3d2afb9",()=>e.getWorkspacesWithProjects,"00997912ad83ae2be5ec83e7394e4d1a6105f46214",()=>j.listAllExtensionStatus,"009a4750cbb36460580b11d73a223e3366dca084dd",()=>k.getOnboardingStatus,"00fbc689cb0a02219ea14de9ae0e6a836b6ccd9815",()=>h.getActualWsPort,"4008d181ffbd4615d32b560bd561eab2a62538ea7f",()=>j.checkExtension,"40092a66440a7070e7360ec9dca436c03f40e2bcb8",()=>k.setOnboardingProgress,"400b2f4c3ac840453d0226c54c3024cfef7aa31457",()=>l.getProjectTasks,"4010962b6e3809e9ec6adcc5e4727e5afa521b684c",()=>m.openInFileManager,"40170991334b245c08bece90b1660e14a693a6a94d",()=>l.createTask,"402d87b6ead0e5bae4b42b92c38d83853a147ec6dd",()=>e.createProject,"402f12a5c8befd86b1a80847c2c204acd1be2dc265",()=>e.getOrCreateTowerTaskId,"4035e735b1b22894193be485cb6a9524a54a795c4a",()=>f.getLabelsForWorkspace,"4036aaba0d8c5c679356cff5916cc62d0c00afa0e5",()=>n.fetchRemoteBranches,"403d1df8a142d93b5320c6f253ba669b1176f03d16",()=>m.openInTerminal,"405fce19efb2cf0b35a9d14b1a7c8a55c28ea204f4",()=>l.getTaskOverview,"40625a916de87b97176a866a6991098bc7720be836",()=>e.reorderWorkspaces,"406ab39f1bb8aa7d87788e7abe36c7f31481e89de8",()=>n.getProjectBranches,"406d2cdabab5795e4c05cfd5cfb944193885a68fd7",()=>l.toggleTaskPinned,"406f49c17cecdef2dfbba8f09cf2615df00c57e770",()=>l.searchTasks,"40759c0652dd2f3a64b4d2b77207dc3a329eae4cc9",()=>f.getTaskLabels,"4080354b674f4768e267ebd9cf353c32dfa42dcb03",()=>l.getArchivedTasks,"4080b66c619f2654a2fee839c95fd37ce187381c88",()=>l.checkWorktreeClean,"4082f3efb288761c5f251b36fc6721f7269ac6492a",()=>e.deleteProject,"40856b767eb1a0f1ae0bcaab6d5940eb04f1e3899c",()=>e.deleteWorkspace,"408c8af808f6135a2406e34f132c3d198b9be882e3",()=>j.installExtension,"409d39576fd0026333accf483f4e8fa38e8274dac9",()=>e.createWorkspace,"40aa5b737a3c8b15f19d74784e47d3ec8be042714a",()=>l.deleteTask,"40b1b23d9189186160636e3b2750e8a815675b0fc4",()=>e.getWorkspacesWithRecentTasks,"40b2bf301ba7965d688a0a26f0ed4d865276d5fc03",()=>e.getProjectByLocalPath,"40bd7a8eeae93513d0c8ddd2a50e130aa8a7962e7f",()=>l.getArchivedTaskCount,"40be27da3d825f066d4b19581f06b266b91ed8201c",()=>h.resolveGitLocalPath,"40c322aad81ac5ff4595094ae9a89aeb0efb12e49f",()=>e.getWorkspaceById,"40cab6bfdce457414144715ec29ec6b0e9eeb638ae",()=>n.getCurrentBranch,"40cd2b5cf265781af5b411618c378f7ba29ac89115",()=>j.uninstallExtension,"40d394c70d71176e9b48354f6c4f59095c8dcbabd2",()=>f.createLabel,"40d474d67d482367a92a77a107951ba1cd1102b987",()=>i.checkMigrationSafety,"40eaf8cb395a2d553073d5e4b45b5c7e67635a0408",()=>h.getConfigValues,"40f6f414c4c9714d1f6d472444873071e2e0703567",()=>f.deleteLabel,"40fd99148337c60ca94d46d086536b07608aaf2176",()=>k.dispatchTaskCompletionEvent,"40fe3aa7bc2326c6a4b056afc9ed7d44b6d1f2c0e9",()=>e.getRecentLocalProjects,"40ffbf43f53a51dbec34e07f44c777d2eac35a0385",()=>m.openInEditor,"6009a90ec1367547b862dabe8f0f4ee4c1721dbd0c",()=>e.updateWorkspace,"600c58e87d471b6e34ea1647f939b194970202376b",()=>g.globalSearch,"601ad7263d6879a306b1f5be7639459092299da75c",()=>i.migrateProjectPath,"601eafdd454c31272bbc215e55a26b5c6618f49b7b",()=>h.getConfigValue,"6036b3b4879c62e8bbc7f6ec5b55c8eb61b230d299",()=>h.setConfigValue,"603f511232cbef05181f32fde7b4bedb5dedee225f",()=>l.commitWorktreeChanges,"605021ab2307e226d867a3f69b8bb639a7acd99981",()=>l.updateTask,"605b0a1e06e441552e6787ecacf1ccacf98322be73",()=>k.setOnboardingExtensions,"605e1a419b1d57c71f50b31c285b559cc200822a7a",()=>l.updateTaskStatus,"6079c2c1d6092dcace7fdf012860938d2500e68b4f",()=>f.setTaskLabels,"60b00fd1a41111aff9c016bac32cb1e325e8b4c33e",()=>k.completeOnboarding,"60d620deef0266f60fc86388756c6fa60282d23a29",()=>i.analyzeProjectDirectory,"60d96729d37481304ce6156c227b593155e817f078",()=>e.updateProject]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_127qa83._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(a=>Promise.resolve().then(()=>a(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__13374-3._.js"].map(b=>a.l(b))).then(()=>b(897667)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},662330,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0la1659._.js"].map(b=>a.l(b))).then(()=>b(818992)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))},173855,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js"].map(b=>a.l(b))).then(()=>b(289288)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))}];
46
+
47
+ //# sourceMappingURL=%5Broot-of-the-server%5D__13vgkq5._.js.map