tower-studio 0.2.5 → 0.2.6

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 (260) 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 +39 -39
  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/_not-found.html +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
  17. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  18. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  19. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
  20. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  22. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/api/adapters/test/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +1 -1
  46. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/index.html +1 -1
  50. package/.next/standalone/.next/server/app/index.rsc +14 -14
  51. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  53. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  54. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
  55. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  57. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +69 -69
  58. package/.next/standalone/.next/server/app/missions/page.js +1 -1
  59. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  62. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +39 -39
  63. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  66. package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
  67. package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
  68. package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  69. package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
  70. package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  72. package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  73. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
  74. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +39 -39
  75. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  78. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +52 -52
  79. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  80. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/settings.html +1 -1
  83. package/.next/standalone/.next/server/app/settings.rsc +16 -16
  84. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  85. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  86. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
  87. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  89. package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  90. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +98 -98
  92. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +82 -82
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +73 -73
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +68 -68
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +1 -1
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +39 -39
  109. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
  112. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +74 -74
  113. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
  116. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +78 -78
  117. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +1 -1
  118. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  121. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +59 -59
  122. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
  125. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.9mj3v._.js +2 -2
  126. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05353yb._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05eviiz._.js +2 -2
  128. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07h7qz8._.js → [root-of-the-server]__09h3i6m._.js} +2 -2
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_a8-jq._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dsv3wl._.js +4 -0
  131. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0c1g5im._.js → [root-of-the-server]__0j~qauc._.js} +2 -2
  132. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p_ii~p._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0puw1af._.js +2 -2
  134. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ntb7n~._.js → [root-of-the-server]__0qie1gs._.js} +3 -3
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w2w3x.._.js +20 -0
  136. package/.next/standalone/.next/server/chunks/{_0u-~jqd._.js → _0trog_r._.js} +1 -1
  137. package/.next/standalone/.next/server/chunks/{src_0o_27yu._.js → src_01ztl3b._.js} +2 -2
  138. package/.next/standalone/.next/server/chunks/src_lib_0ba0ntr._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/src_lib_ai_0q-~me1._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0zjarb3._.js → [root-of-the-server]__0-yld.d._.js} +2 -2
  144. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.5rcav._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__006_qh0._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02px.0y._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03ebsif._.js +3 -3
  148. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05kq890._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-xoiaj._.js → [root-of-the-server]__079.nog._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ilem~v._.js → [root-of-the-server]__0c4.z1s._.js} +2 -2
  151. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gaa~xc._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gcf4k3._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ghfuuv._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0n8jy_r._.js → [root-of-the-server]__0k3isnk._.js} +2 -2
  155. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l43.5g._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nwue~m._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ps55l6._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q7ho54._.js +1 -1
  159. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qe~p-n._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ribsk4._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tf4zp_._.js +1 -1
  162. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00wymqa._.js → [root-of-the-server]__0vh-egg._.js} +2 -2
  163. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjg_.n._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wvyks.._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.nw7l._.js +1 -1
  166. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zbmoit._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11bequ2._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11ko84j._.js +1 -1
  169. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12pnl8n._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0cdz55-._.js → [root-of-the-server]__13k4vkg._.js} +2 -2
  171. package/.next/standalone/.next/server/chunks/ssr/{_0j_v~sp._.js → _0-pqb_c._.js} +3 -3
  172. package/.next/standalone/.next/server/chunks/ssr/{_0ybhyal._.js → _00d1y-k._.js} +2 -2
  173. package/.next/standalone/.next/server/chunks/ssr/{_13fpu~5._.js → _03xwww2._.js} +2 -2
  174. package/.next/standalone/.next/server/chunks/ssr/{_0qu2yg4._.js → _049.box._.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/ssr/_04b71ua._.js +1 -1
  176. package/.next/standalone/.next/server/chunks/ssr/{_0xh9m4.._.js → _05-r00y._.js} +3 -3
  177. package/.next/standalone/.next/server/chunks/ssr/{_0_co86q._.js → _054w82_._.js} +2 -2
  178. package/.next/standalone/.next/server/chunks/ssr/_05h.8a~._.js +1 -1
  179. package/.next/standalone/.next/server/chunks/ssr/{_07scffz._.js → _086yn8o._.js} +1 -1
  180. package/.next/standalone/.next/server/chunks/ssr/{_0wxd6t.._.js → _08t2xag._.js} +2 -2
  181. package/.next/standalone/.next/server/chunks/ssr/{_0cie3rm._.js → _0_gqtgq._.js} +1 -1
  182. package/.next/standalone/.next/server/chunks/ssr/_0_l8.dg._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/ssr/{_0l6vadw._.js → _0_~ftjv._.js} +2 -2
  184. package/.next/standalone/.next/server/chunks/ssr/{_0a-rizg._.js → _0ah80pn._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/_0ds6nk2._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/{_079ks~i._.js → _0ep3sg_._.js} +1 -1
  188. package/.next/standalone/.next/server/chunks/ssr/{_108e4..._.js → _0f8jvpw._.js} +1 -1
  189. package/.next/standalone/.next/server/chunks/ssr/{_0-t_os6._.js → _0fri5n~._.js} +2 -2
  190. package/.next/standalone/.next/server/chunks/ssr/_0h_~oum._.js +7 -0
  191. package/.next/standalone/.next/server/chunks/ssr/{_13l5s-p._.js → _0i2usny._.js} +1 -1
  192. package/.next/standalone/.next/server/chunks/ssr/_0i4__mf._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/ssr/_0ihq._v._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/ssr/_0r9w-k8._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/ssr/_0rbctq7._.js +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/{_00pxhu2._.js → _0rfo51k._.js} +2 -2
  197. package/.next/standalone/.next/server/chunks/ssr/_0rt8hus._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/{_0lcigjh._.js → _0vqyzrr._.js} +2 -2
  199. package/.next/standalone/.next/server/chunks/ssr/_0~80adm._.js +3 -3
  200. package/.next/standalone/.next/server/chunks/ssr/src_095o8x6._.js +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/src_13jha60._.js +1 -1
  202. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  207. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  208. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  210. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0h36tj.._.js → src_lib_08n755q._.js} +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0h3ouzu._.js → src_lib_0tb2yya._.js} +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0~jyveg._.js → src_lib_123jf_a._.js} +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0~rxy~0._.js → src_lib_12ulcxj._.js} +1 -1
  214. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  215. package/.next/standalone/.next/server/pages/404.html +1 -1
  216. package/.next/standalone/.next/server/pages/500.html +1 -1
  217. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/server-reference-manifest.json +274 -274
  219. package/.next/standalone/.next/static/chunks/0.zipr1bga3lu.js +1 -0
  220. package/.next/standalone/.next/static/chunks/{0jk6ji4j.3jod.js → 037-verumdykv.js} +2 -2
  221. package/.next/standalone/.next/static/chunks/04-7c5m91nvj1.js +1 -0
  222. package/.next/standalone/.next/static/chunks/{0~p32xa2eu79e.js → 06shpikm5rcmu.js} +1 -1
  223. package/.next/standalone/.next/static/chunks/{00grznzz_zqq~.js → 07i~~ygu~oi26.js} +1 -1
  224. package/.next/standalone/.next/static/chunks/{00jlfmav1nk82.js → 082cedbq4pp.-.js} +1 -1
  225. package/.next/standalone/.next/static/chunks/089ktlh~nim1x.js +1 -0
  226. package/.next/standalone/.next/static/chunks/{0mijmksouoprl.js → 0ee.~~ae-vl_q.js} +1 -1
  227. package/.next/standalone/.next/static/chunks/{0.p7x9h8h-..l.js → 0fovq74l0wh7c.js} +1 -1
  228. package/.next/standalone/.next/static/chunks/{14se8w2gb9pe0.js → 0hxgzql5.szyz.js} +1 -1
  229. package/.next/standalone/.next/static/chunks/{018vr5fdl426p.js → 0jscst0zjd2az.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/{0z0a_hlsye7mo.js → 0m2lubto0vt0x.js} +1 -1
  231. package/.next/standalone/.next/static/chunks/0mfgulw-d49o9.js +1 -0
  232. package/.next/standalone/.next/static/chunks/{0~2v6ague-7-t.js → 0m~ltp.wfnbf7.js} +2 -2
  233. package/.next/standalone/.next/static/chunks/{15qi~69blu~3u.js → 0nrbltth-7m~e.js} +1 -1
  234. package/.next/standalone/.next/static/chunks/{0a5u1~0._dmx8.js → 0r7jm27~cp-vs.js} +1 -1
  235. package/.next/standalone/.next/static/chunks/0tk-ju9xhoh68.js +5 -0
  236. package/.next/standalone/.next/static/chunks/0v9ahxdsn0mse.js +1 -0
  237. package/.next/standalone/.next/static/chunks/0w9x-ap4dcwy..js +1 -0
  238. package/.next/standalone/.next/static/chunks/17cayeebhpt~w.js +2 -0
  239. package/.next/standalone/.next/static/chunks/{0-wn9b_4jrs.9.js → 186ahmq856rfj.js} +1 -1
  240. package/.next/standalone/package.json +2 -1
  241. package/bin/tower.mjs +3 -0
  242. package/dist/mcp-server.cjs +12 -1
  243. package/package.json +2 -1
  244. package/skills/tower/SKILL.md +381 -0
  245. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-eibah._.js +0 -4
  246. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_q8qjf._.js +0 -20
  247. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vasg9u._.js +0 -3
  248. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__102siqc._.js +0 -3
  249. package/.next/standalone/.next/server/chunks/ssr/_0h0r8fk._.js +0 -7
  250. package/.next/standalone/.next/static/chunks/094hp8ak7su7z.js +0 -2
  251. package/.next/standalone/.next/static/chunks/0fe_jnfm0lqm..js +0 -5
  252. package/.next/standalone/.next/static/chunks/0lq1_ynox5frw.js +0 -1
  253. package/.next/standalone/.next/static/chunks/0qy~pj-p.oh92.js +0 -1
  254. package/.next/standalone/.next/static/chunks/0y_vg.f~zs~zl.js +0 -1
  255. package/.next/standalone/.next/static/chunks/10ih_a9~empst.js +0 -1
  256. package/.next/standalone/.next/static/chunks/16.w_z6.3sf2v.js +0 -1
  257. package/.next/standalone/.next/static/chunks/17wptayhzwy6g.js +0 -1
  258. /package/.next/standalone/.next/static/{eRr9P5hixKpzabeXJ-AvA → VGoiH5uRfCRm6SKXNPZoz}/_buildManifest.js +0 -0
  259. /package/.next/standalone/.next/static/{eRr9P5hixKpzabeXJ-AvA → VGoiH5uRfCRm6SKXNPZoz}/_clientMiddlewareManifest.js +0 -0
  260. /package/.next/standalone/.next/static/{eRr9P5hixKpzabeXJ-AvA → VGoiH5uRfCRm6SKXNPZoz}/_ssgManifest.js +0 -0
@@ -1,8 +1,8 @@
1
- module.exports=[487373,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(378322),f=a.i(855806),g=a.i(630048);let h=["terminal","summary","dreaming","analysis","assistant"];async function i(){return c.db.aiCapabilityConfig.findMany({orderBy:{slot:"asc"}})}async function j(a,b){if(!h.includes(a))throw Error(`无效的插槽: ${a}`);if(!e.providerRegistry.get(b.provider))throw Error(`未知的 Provider: ${b.provider}`);if("terminal"===a&&"cli"!==b.mode)throw Error("终端执行只支持 CLI 模式");if(!await (0,f.isProviderConnected)(b.provider))throw Error(`Provider "${b.provider}" 未连接或集成未注入完整 — 请到 Settings → Test Connection 测试通过后再选`);await c.db.aiCapabilityConfig.upsert({where:{slot:a},create:{slot:a,provider:b.provider,mode:b.mode,model:b.model??null},update:{provider:b.provider,mode:b.mode,model:b.model??null}}),(0,d.revalidatePath)("/settings")}async function k(){return e.providerRegistry.getAvailableProviders()}(0,g.ensureServerEntryExports)([i,j,k]),(0,b.registerServerReference)(i,"0050ebfdb08dc79f758ae7527e74a7b4a0d24ba74a",null),(0,b.registerServerReference)(j,"600b30b7b3e77f81573ec7c00ab62faea0ed3ff9a9",null),(0,b.registerServerReference)(k,"004548f97440c3f8c00f6961bdfcc0f20b695dbf92",null),a.s(["getAvailableProviders",0,k])},950071,a=>{"use strict";var b=a.i(750227),c=a.i(902157),d=a.i(660526),e=a.i(427699),f=a.i(522734),g=a.i(687769),h=a.i(81111),i=a.i(899871),j=a.i(814747),k=a.i(449719),l=a.i(500874),m=a.i(406461),n=a.i(57328),o=a.i(666680),p=a.i(912714),q=Object.defineProperty,r="object"==typeof process&&process?process:{stdout:null,stderr:null},s=a=>!!a&&"object"==typeof a&&(a instanceof ac||a instanceof h.default||t(a)||u(a)),t=a=>!!a&&"object"==typeof a&&a instanceof g.EventEmitter&&"function"==typeof a.pipe&&a.pipe!==h.default.Writable.prototype.pipe,u=a=>!!a&&"object"==typeof a&&a instanceof g.EventEmitter&&"function"==typeof a.write&&"function"==typeof a.end,v=Symbol("EOF"),w=Symbol("maybeEmitEnd"),x=Symbol("emittedEnd"),y=Symbol("emittingEnd"),z=Symbol("emittedError"),A=Symbol("closed"),B=Symbol("read"),C=Symbol("flush"),D=Symbol("flushChunk"),E=Symbol("encoding"),F=Symbol("decoder"),G=Symbol("flowing"),H=Symbol("paused"),I=Symbol("resume"),J=Symbol("buffer"),K=Symbol("pipes"),L=Symbol("bufferLength"),M=Symbol("bufferPush"),N=Symbol("bufferShift"),O=Symbol("objectMode"),P=Symbol("destroyed"),Q=Symbol("error"),R=Symbol("emitData"),S=Symbol("emitEnd"),T=Symbol("emitEnd2"),U=Symbol("async"),V=Symbol("abort"),W=Symbol("aborted"),X=Symbol("signal"),Y=Symbol("dataListeners"),Z=Symbol("discarded"),$=a=>Promise.resolve().then(a),_=a=>a(),aa=class{src;dest;opts;ondrain;constructor(a,b,c){this.src=a,this.dest=b,this.opts=c,this.ondrain=()=>a[I](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(a){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},ab=class extends aa{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)}},ac=class extends g.EventEmitter{[G]=!1;[H]=!1;[K]=[];[J]=[];[O];[E];[U];[F];[v]=!1;[x]=!1;[y]=!1;[A]=!1;[z]=null;[L]=0;[P]=!1;[X];[W]=!1;[Y]=0;[Z]=!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[O]=!0,this[E]=null):(a=>!a.objectMode&&!!a.encoding&&"buffer"!==a.encoding)(b)?(this[E]=b.encoding,this[O]=!1):(this[O]=!1,this[E]=null),this[U]=!!b.async,this[F]=this[E]?new i.StringDecoder(this[E]):null,b&&!0===b.debugExposeBuffer&&Object.defineProperty(this,"buffer",{get:()=>this[J]}),b&&!0===b.debugExposePipes&&Object.defineProperty(this,"pipes",{get:()=>this[K]});let{signal:c}=b;c&&(this[X]=c,c.aborted?this[V]():c.addEventListener("abort",()=>this[V]()))}get bufferLength(){return this[L]}get encoding(){return this[E]}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[O]}set objectMode(a){throw Error("objectMode must be set at instantiation time")}get async(){return this[U]}set async(a){this[U]=this[U]||!!a}[V](){this[W]=!0,this.emit("abort",this[X]?.reason),this.destroy(this[X]?.reason)}get aborted(){return this[W]}set aborted(a){}write(a,b,c){if(this[W])return!1;if(this[v])throw Error("write after end");if(this[P])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[U]?$:_;if(!this[O]&&!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[O]?(this[G]&&0!==this[L]&&this[C](!0),this[G]?this.emit("data",a):this[M](a)):a.length&&("string"==typeof a&&(b!==this[E]||this[F]?.lastNeed)&&(a=Buffer.from(a,b)),Buffer.isBuffer(a)&&this[E]&&(a=this[F].write(a)),this[G]&&0!==this[L]&&this[C](!0),this[G]?this.emit("data",a):this[M](a)),0!==this[L]&&this.emit("readable"),c&&d(c),this[G]}read(a){if(this[P])return null;if(this[Z]=!1,0===this[L]||0===a||a&&a>this[L])return this[w](),null;this[O]&&(a=null),this[J].length>1&&!this[O]&&(this[J]=[this[E]?this[J].join(""):Buffer.concat(this[J],this[L])]);let b=this[B](a||null,this[J][0]);return this[w](),b}[B](a,b){if(this[O])this[N]();else{let c=b;a===c.length||null===a?this[N]():("string"==typeof c?(this[J][0]=c.slice(a),b=c.slice(0,a)):(this[J][0]=c.subarray(a),b=c.subarray(0,a)),this[L]-=a)}return this.emit("data",b),this[J].length||this[v]||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[v]=!0,this.writable=!1,(this[G]||!this[H])&&this[w](),this}[I](){this[P]||(this[Y]||this[K].length||(this[Z]=!0),this[H]=!1,this[G]=!0,this.emit("resume"),this[J].length?this[C]():this[v]?this[w]():this.emit("drain"))}resume(){return this[I]()}pause(){this[G]=!1,this[H]=!0,this[Z]=!1}get destroyed(){return this[P]}get flowing(){return this[G]}get paused(){return this[H]}[M](a){this[O]?this[L]+=1:this[L]+=a.length,this[J].push(a)}[N](){return this[O]?this[L]-=1:this[L]-=this[J][0].length,this[J].shift()}[C](a=!1){do;while(this[D](this[N]())&&this[J].length)a||this[J].length||this[v]||this.emit("drain")}[D](a){return this.emit("data",a),this[G]}pipe(a,b){if(this[P])return a;this[Z]=!1;let c=this[x];return b=b||{},a===r.stdout||a===r.stderr?b.end=!1:b.end=!1!==b.end,b.proxyErrors=!!b.proxyErrors,c?b.end&&a.end():(this[K].push(b.proxyErrors?new ab(this,a,b):new aa(this,a,b)),this[U]?$(()=>this[I]()):this[I]()),a}unpipe(a){let b=this[K].find(b=>b.dest===a);b&&(1===this[K].length?(this[G]&&0===this[Y]&&(this[G]=!1),this[K]=[]):this[K].splice(this[K].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[Z]=!1,this[Y]++,this[K].length||this[G]||this[I]();else if("readable"===a&&0!==this[L])super.emit("readable");else("end"===a||"finish"===a||"prefinish"===a)&&this[x]?(super.emit(a),this.removeAllListeners(a)):"error"===a&&this[z]&&(this[U]?$(()=>b.call(this,this[z])):b.call(this,this[z]));return c}removeListener(a,b){return this.off(a,b)}off(a,b){let c=super.off(a,b);return"data"===a&&(this[Y]=this.listeners("data").length,0!==this[Y]||this[Z]||this[K].length||(this[G]=!1)),c}removeAllListeners(a){let b=super.removeAllListeners(a);return("data"===a||void 0===a)&&(this[Y]=0,this[Z]||this[K].length||(this[G]=!1)),b}get emittedEnd(){return this[x]}[w](){this[y]||this[x]||this[P]||0!==this[J].length||!this[v]||(this[y]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[A]&&this.emit("close"),this[y]=!1)}emit(a,...b){let c=b[0];if("error"!==a&&"close"!==a&&a!==P&&this[P])return!1;if("data"===a)return(!!this[O]||!!c)&&(this[U]?($(()=>this[R](c)),!0):this[R](c));if("end"===a)return this[S]();if("close"===a){if(this[A]=!0,!this[x]&&!this[P])return!1;let a=super.emit("close");return this.removeAllListeners("close"),a}if("error"===a){this[z]=c,super.emit(Q,c);let a=(!this[X]||!!this.listeners("error").length)&&super.emit("error",c);return this[w](),a}if("resume"===a){let a=super.emit("resume");return this[w](),a}if("finish"===a||"prefinish"===a){let b=super.emit(a);return this.removeAllListeners(a),b}let d=super.emit(a,...b);return this[w](),d}[R](a){for(let b of this[K])!1===b.dest.write(a)&&this.pause();let b=!this[Z]&&super.emit("data",a);return this[w](),b}[S](){return!this[x]&&(this[x]=!0,this.readable=!1,this[U]?($(()=>this[T]()),!0):this[T]())}[T](){if(this[F]){let a=this[F].end();if(a){for(let b of this[K])b.dest.write(a);this[Z]||super.emit("data",a)}}for(let a of this[K])a.end();let a=super.emit("end");return this.removeAllListeners("end"),a}async collect(){let a=Object.assign([],{dataLength:0});this[O]||(a.dataLength=0);let b=this.promise();return this.on("data",b=>{a.push(b),this[O]||(a.dataLength+=b.length)}),await b,a}async concat(){if(this[O])throw Error("cannot concat in objectMode");let a=await this.collect();return this[E]?a.join(""):Buffer.concat(a,a.dataLength)}async promise(){return new Promise((a,b)=>{this.on(P,()=>b(Error("stream destroyed"))),this.on("error",a=>b(a)),this.on("end",()=>a())})}[Symbol.asyncIterator](){this[Z]=!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[v])return b();let d,e,f=a=>{this.off("data",g),this.off("end",h),this.off(P,i),b(),e(a)},g=a=>{this.off("error",f),this.off("end",h),this.off(P,i),this.pause(),d({value:a,done:!!this[v]})},h=()=>{this.off("error",f),this.off("data",g),this.off(P,i),b(),d({done:!0,value:void 0})},i=()=>f(Error("stream destroyed"));return new Promise((a,b)=>{e=b,d=a,this.once(P,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[Z]=!1;let a=!1,b=()=>(this.pause(),this.off(Q,b),this.off(P,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(Q,b),this.once(P,b),{next:c,throw:b,return:b,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(a){return this[P]||(this[P]=!0,this[Z]=!0,this[J].length=0,this[L]=0,"function"!=typeof this.close||this[A]||this.close()),a?this.emit("error",a):this.emit(P),this}static get isStream(){return s}},ad=f.default.writev,ae=Symbol("_autoClose"),af=Symbol("_close"),ag=Symbol("_ended"),ah=Symbol("_fd"),ai=Symbol("_finished"),aj=Symbol("_flags"),ak=Symbol("_flush"),al=Symbol("_handleChunk"),am=Symbol("_makeBuf"),an=Symbol("_mode"),ao=Symbol("_needDrain"),ap=Symbol("_onerror"),aq=Symbol("_onopen"),ar=Symbol("_onread"),as=Symbol("_onwrite"),at=Symbol("_open"),au=Symbol("_path"),av=Symbol("_pos"),aw=Symbol("_queue"),ax=Symbol("_read"),ay=Symbol("_readSize"),az=Symbol("_reading"),aA=Symbol("_remain"),aB=Symbol("_size"),aC=Symbol("_write"),aD=Symbol("_writing"),aE=Symbol("_defaultFlag"),aF=Symbol("_errored"),aG=class extends ac{[aF]=!1;[ah];[au];[ay];[az]=!1;[aB];[aA];[ae];constructor(a,b){if(super(b=b||{}),this.readable=!0,this.writable=!1,"string"!=typeof a)throw TypeError("path must be a string");this[aF]=!1,this[ah]="number"==typeof b.fd?b.fd:void 0,this[au]=a,this[ay]=b.readSize||0x1000000,this[az]=!1,this[aB]="number"==typeof b.size?b.size:1/0,this[aA]=this[aB],this[ae]="boolean"!=typeof b.autoClose||b.autoClose,"number"==typeof this[ah]?this[ax]():this[at]()}get fd(){return this[ah]}get path(){return this[au]}write(){throw TypeError("this is a readable stream")}end(){throw TypeError("this is a readable stream")}[at](){f.default.open(this[au],"r",(a,b)=>this[aq](a,b))}[aq](a,b){a?this[ap](a):(this[ah]=b,this.emit("open",b),this[ax]())}[am](){return Buffer.allocUnsafe(Math.min(this[ay],this[aA]))}[ax](){if(!this[az]){this[az]=!0;let a=this[am]();if(0===a.length)return process.nextTick(()=>this[ar](null,0,a));f.default.read(this[ah],a,0,a.length,null,(a,b,c)=>this[ar](a,b,c))}}[ar](a,b,c){this[az]=!1,a?this[ap](a):this[al](b,c)&&this[ax]()}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.close(a,a=>a?this.emit("error",a):this.emit("close"))}}[ap](a){this[az]=!0,this[af](),this.emit("error",a)}[al](a,b){let c=!1;return this[aA]-=a,a>0&&(c=super.write(a<b.length?b.subarray(0,a):b)),(0===a||this[aA]<=0)&&(c=!1,this[af](),super.end()),c}emit(a,...b){switch(a){case"prefinish":case"finish":return!1;case"drain":return"number"==typeof this[ah]&&this[ax](),!1;case"error":return!this[aF]&&(this[aF]=!0,super.emit(a,...b));default:return super.emit(a,...b)}}},aH=class extends aG{[at](){let a=!0;try{this[aq](null,f.default.openSync(this[au],"r")),a=!1}finally{a&&this[af]()}}[ax](){let a=!0;try{if(!this[az]){for(this[az]=!0;;){let a=this[am](),b=0===a.length?0:f.default.readSync(this[ah],a,0,a.length,null);if(!this[al](b,a))break}this[az]=!1}a=!1}finally{a&&this[af]()}}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.closeSync(a),this.emit("close")}}},aI=class extends e.default{readable=!1;writable=!0;[aF]=!1;[aD]=!1;[ag]=!1;[aw]=[];[ao]=!1;[au];[an];[ae];[ah];[aE];[aj];[ai]=!1;[av];constructor(a,b){super(b=b||{}),this[au]=a,this[ah]="number"==typeof b.fd?b.fd:void 0,this[an]=void 0===b.mode?438:b.mode,this[av]="number"==typeof b.start?b.start:void 0,this[ae]="boolean"!=typeof b.autoClose||b.autoClose;let c=void 0!==this[av]?"r+":"w";this[aE]=void 0===b.flags,this[aj]=void 0===b.flags?c:b.flags,void 0===this[ah]&&this[at]()}emit(a,...b){if("error"===a){if(this[aF])return!1;this[aF]=!0}return super.emit(a,...b)}get fd(){return this[ah]}get path(){return this[au]}[ap](a){this[af](),this[aD]=!0,this.emit("error",a)}[at](){f.default.open(this[au],this[aj],this[an],(a,b)=>this[aq](a,b))}[aq](a,b){this[aE]&&"r+"===this[aj]&&a&&"ENOENT"===a.code?(this[aj]="w",this[at]()):a?this[ap](a):(this[ah]=b,this.emit("open",b),this[aD]||this[ak]())}end(a,b){return a&&this.write(a,b),this[ag]=!0,this[aD]||this[aw].length||"number"!=typeof this[ah]||this[as](null,0),this}write(a,b){return"string"==typeof a&&(a=Buffer.from(a,b)),this[ag]?(this.emit("error",Error("write() after end()")),!1):void 0===this[ah]||this[aD]||this[aw].length?(this[aw].push(a),this[ao]=!0,!1):(this[aD]=!0,this[aC](a),!0)}[aC](a){f.default.write(this[ah],a,0,a.length,this[av],(a,b)=>this[as](a,b))}[as](a,b){a?this[ap](a):(void 0!==this[av]&&"number"==typeof b&&(this[av]+=b),this[aw].length?this[ak]():(this[aD]=!1,this[ag]&&!this[ai]?(this[ai]=!0,this[af](),this.emit("finish")):this[ao]&&(this[ao]=!1,this.emit("drain"))))}[ak](){if(0===this[aw].length)this[ag]&&this[as](null,0);else if(1===this[aw].length)this[aC](this[aw].pop());else{let a=this[aw];this[aw]=[],ad(this[ah],a,this[av],(a,b)=>this[as](a,b))}}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.close(a,a=>a?this.emit("error",a):this.emit("close"))}}},aJ=class extends aI{[at](){let a;if(this[aE]&&"r+"===this[aj])try{a=f.default.openSync(this[au],this[aj],this[an])}catch(a){if(a?.code==="ENOENT")return this[aj]="w",this[at]();throw a}else a=f.default.openSync(this[au],this[aj],this[an]);this[aq](null,a)}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.closeSync(a),this.emit("close")}}[aC](a){let b=!0;try{this[as](null,f.default.writeSync(this[ah],a,0,a.length,this[av])),b=!1}finally{if(b)try{this[af]()}catch{}}}},aK=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"]]),aL=a=>aK.get(a)||a,aM=(a={})=>{if(!a)return{};let b={};for(let[c,d]of Object.entries(a))b[aL(c)]=d;return void 0===b.chmod&&!1===b.noChmod&&(b.chmod=!0),delete b.noChmod,b},aN=(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=aM(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}),aO=m.default.constants||{ZLIB_VERNUM:4736},aP=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},aO)),aQ=l.Buffer.concat,aR=Object.getOwnPropertyDescriptor(l.Buffer,"concat"),aS=a=>a,aT=aR?.writable===!0||aR?.set!==void 0?a=>{l.Buffer.concat=a?aS:aQ}:a=>{},aU=Symbol("_superWrite"),aV=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"}},aW=Symbol("flushFlag"),aX=class extends ac{#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 m[b])throw TypeError("Compression method not supported: "+b);try{this.#f=new m[b](a)}catch(a){throw new aV(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 aV(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,k.default)(this.#f,"zlib binding closed"),this.#f.reset?.()}flush(a){this.ended||("number"!=typeof a&&(a=this.#e),this.write(Object.assign(l.Buffer.alloc(0),{[aW]: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}[aU](a){return super.write(a)}write(a,b,c){let d,e;if("function"==typeof b&&(c=b,b="utf8"),"string"==typeof a&&(a=l.Buffer.from(a,b)),this.#a)return;(0,k.default)(this.#f,"zlib binding closed");let f=this.#f._handle,g=f.close;f.close=()=>{};let h=this.#f.close;this.#f.close=()=>{},aT(!0);try{let b="number"==typeof a[aW]?a[aW]:this.#c;d=this.#f._processChunk(a,b),aT(!1)}catch(a){aT(!1),this.#g(new aV(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 aV(a,this.write))),d)if(Array.isArray(d)&&d.length>0){let a=d[0];e=this[aU](l.Buffer.from(a));for(let a=1;a<d.length;a++)e=this[aU](d[a])}else e=this[aU](l.Buffer.from(d));return c&&c(),e}},aY=class extends aX{#a;#b;constructor(a,b){(a=a||{}).flush=a.flush||aP.Z_NO_FLUSH,a.finishFlush=a.finishFlush||aP.Z_FINISH,a.fullFlushFlag=aP.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(aP.Z_SYNC_FLUSH),(0,k.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)}}}},aZ=class extends aY{#a;constructor(a){super(a,"Gzip"),this.#a=a&&!!a.portable}[aU](a){return this.#a&&(this.#a=!1,a[9]=255),super[aU](a)}},a$=class extends aY{constructor(a){super(a,"Unzip")}},a_=class extends aX{constructor(a,b){(a=a||{}).flush=a.flush||aP.BROTLI_OPERATION_PROCESS,a.finishFlush=a.finishFlush||aP.BROTLI_OPERATION_FINISH,a.fullFlushFlag=aP.BROTLI_OPERATION_FLUSH,super(a,b)}},a0=class extends a_{constructor(a){super(a,"BrotliCompress")}},a1=class extends a_{constructor(a){super(a,"BrotliDecompress")}},a2=class extends aX{constructor(a,b){(a=a||{}).flush=a.flush||aP.ZSTD_e_continue,a.finishFlush=a.finishFlush||aP.ZSTD_e_end,a.fullFlushFlag=aP.ZSTD_e_flush,super(a,b)}},a3=class extends a2{constructor(a){super(a,"ZstdCompress")}},a4=class extends a2{constructor(a){super(a,"ZstdDecompress")}},a5=a=>(255^a)&255,a6=a=>(255^a)+1&255,a7={},a8={code:()=>bd,isCode:()=>ba,isName:()=>bb,name:()=>bc};for(var a9 in a8)q(a7,a9,{get:a8[a9],enumerable:!0});var ba=a=>bc.has(a),bb=a=>bd.has(a),bc=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"]]),bd=new Map(Array.from(bc).map(a=>[a[1],a[0]])),be=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??bg(a,b,100),this.mode=c?.mode??d?.mode??bj(a,b+100,8),this.uid=c?.uid??d?.uid??bj(a,b+108,8),this.gid=c?.gid??d?.gid??bj(a,b+116,8),this.size=c?.size??d?.size??bj(a,b+124,12),this.mtime=c?.mtime??d?.mtime??bh(a,b+136,12),this.cksum=bj(a,b+148,12),d&&this.#b(d,!0),c&&this.#b(c);let e=bg(a,b+156,1);if(ba(e)&&(this.#a=e||"0"),"0"===this.#a&&"/"===this.path.slice(-1)&&(this.#a="5"),"5"===this.#a&&(this.size=0),this.linkpath=bg(a,b+157,100),"ustar\x0000"===a.subarray(b+257,b+265).toString())if(this.uname=c?.uname??d?.uname??bg(a,b+265,32),this.gname=c?.gname??d?.gname??bg(a,b+297,32),this.devmaj=c?.devmaj??d?.devmaj??bj(a,b+329,8)??0,this.devmin=c?.devmin??d?.devmin??bj(a,b+337,8)??0,0!==a[b+475]){let c=bg(a,b+345,155);this.path=c+"/"+this.path}else{let e=bg(a,b+345,130);e&&(this.path=e+"/"+this.path),this.atime=c?.atime??d?.atime??bh(a,b+476,12),this.ctime=c?.ctime??d?.ctime??bh(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=bf(this.path||"",c),e=d[0],f=d[1];this.needPax=!!d[2],this.needPax=bs(a,b,100,e)||this.needPax,this.needPax=bm(a,b+100,8,this.mode)||this.needPax,this.needPax=bm(a,b+108,8,this.uid)||this.needPax,this.needPax=bm(a,b+116,8,this.gid)||this.needPax,this.needPax=bm(a,b+124,12,this.size)||this.needPax,this.needPax=bq(a,b+136,12,this.mtime)||this.needPax,a[b+156]=Number(this.#a.codePointAt(0)),this.needPax=bs(a,b+157,100,this.linkpath)||this.needPax,a.write("ustar\x0000",b+257,8),this.needPax=bs(a,b+265,32,this.uname)||this.needPax,this.needPax=bs(a,b+297,32,this.gname)||this.needPax,this.needPax=bm(a,b+329,8,this.devmaj)||this.needPax,this.needPax=bm(a,b+337,8,this.devmin)||this.needPax,this.needPax=bs(a,b+345,c,f)||this.needPax,0!==a[b+475]?this.needPax=bs(a,b+345,155,f)||this.needPax:(this.needPax=bs(a,b+345,130,f)||this.needPax,this.needPax=bq(a,b+476,12,this.atime)||this.needPax,this.needPax=bq(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,bm(a,b+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return"Unsupported"===this.#a?this.#a:bc.get(this.#a)}get typeKey(){return this.#a}set type(a){let b=String(bd.get(a));if(ba(b)||"Unsupported"===b)this.#a=b;else if(ba(a))this.#a=a;else throw TypeError("invalid entry type: "+a)}},bf=(a,c)=>{let d=a,e="",f,g=b.posix.parse(a).root||".";if(100>Buffer.byteLength(d))f=[d,e,!1];else{e=b.posix.dirname(d),d=b.posix.basename(d);do 100>=Buffer.byteLength(d)&&Buffer.byteLength(e)<=c?f=[d,e,!1]:Buffer.byteLength(d)>100&&Buffer.byteLength(e)<=c?f=[d.slice(0,99),e,!0]:(d=b.posix.join(b.posix.basename(e),d),e=b.posix.dirname(e));while(e!==g&&void 0===f)f||(f=[a.slice(0,99),"",!0])}return f},bg=(a,b,c)=>a.subarray(b,b+c).toString("utf8").replace(/\0.*/,""),bh=(a,b,c)=>bi(bj(a,b,c)),bi=a=>void 0===a?void 0:new Date(1e3*a),bj=(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=a5(g):0===g?f=g:(d=!0,f=a6(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)):bk(a,b,c),bk=(a,b,c)=>{let d;return isNaN(d=parseInt(a.subarray(b,b+c).toString("utf8").replace(/\0.*$/,"").trim(),8))?void 0:d},bl={12:0x1ffffffff,8:2097151},bm=(a,b,c,d)=>void 0!==d&&(d>bl[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]=a5(e):0===e?b[d-1]=0:(c=!0,b[d-1]=a6(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):(bn(a,b,c,d),!1)),bn=(a,b,c,d)=>a.write(bo(d,c),b,c,"ascii"),bo=(a,b)=>bp(Math.floor(a).toString(8),b),bp=(a,b)=>(a.length===b-1?a:Array(b-a.length-1).join("0")+a+" ")+"\0",bq=(a,b,c,d)=>void 0!==d&&bm(a,b,c,d.getTime()/1e3),br=Array(156).join("\0"),bs=(a,b,c,d)=>void 0!==d&&(a.write(d+br,b,c,"utf8"),d.length!==Buffer.byteLength(d)||d.length>c),bt=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 c=Buffer.byteLength(a),d=512*Math.ceil(1+c/512),e=Buffer.allocUnsafe(d);for(let a=0;a<512;a++)e[a]=0;new be({path:("PaxHeader/"+(0,b.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:c,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(e),e.write(a,512,c,"utf8");for(let a=c+512;a<e.length;a++)e[a]=0;return e}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)+`
1
+ module.exports=[487373,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(378322),f=a.i(855806),g=a.i(630048);let h=["terminal","summary","dreaming","analysis","assistant"];async function i(){return c.db.aiCapabilityConfig.findMany({orderBy:{slot:"asc"}})}async function j(a,b){if(!h.includes(a))throw Error(`无效的插槽: ${a}`);if(!e.providerRegistry.get(b.provider))throw Error(`未知的 Provider: ${b.provider}`);if("terminal"===a&&"cli"!==b.mode)throw Error("终端执行只支持 CLI 模式");if(!await (0,f.isProviderConnected)(b.provider))throw Error(`Provider "${b.provider}" 未连接或集成未注入完整 — 请到 Settings → Test Connection 测试通过后再选`);await c.db.aiCapabilityConfig.upsert({where:{slot:a},create:{slot:a,provider:b.provider,mode:b.mode,model:b.model??null},update:{provider:b.provider,mode:b.mode,model:b.model??null}}),(0,d.revalidatePath)("/settings")}async function k(){return e.providerRegistry.getAvailableProviders()}(0,g.ensureServerEntryExports)([i,j,k]),(0,b.registerServerReference)(i,"0061b059a58583c758b1a3453a4d22dcfae12ab5c8",null),(0,b.registerServerReference)(j,"60b203edad9996ce242b5bc937a7ddd8548187f270",null),(0,b.registerServerReference)(k,"00fb534e304521d2ab6e925523e7aeb649ff3ea889",null),a.s(["getAvailableProviders",0,k])},950071,a=>{"use strict";var b=a.i(750227),c=a.i(902157),d=a.i(660526),e=a.i(427699),f=a.i(522734),g=a.i(687769),h=a.i(81111),i=a.i(899871),j=a.i(814747),k=a.i(449719),l=a.i(500874),m=a.i(406461),n=a.i(57328),o=a.i(666680),p=a.i(912714),q=Object.defineProperty,r="object"==typeof process&&process?process:{stdout:null,stderr:null},s=a=>!!a&&"object"==typeof a&&(a instanceof ac||a instanceof h.default||t(a)||u(a)),t=a=>!!a&&"object"==typeof a&&a instanceof g.EventEmitter&&"function"==typeof a.pipe&&a.pipe!==h.default.Writable.prototype.pipe,u=a=>!!a&&"object"==typeof a&&a instanceof g.EventEmitter&&"function"==typeof a.write&&"function"==typeof a.end,v=Symbol("EOF"),w=Symbol("maybeEmitEnd"),x=Symbol("emittedEnd"),y=Symbol("emittingEnd"),z=Symbol("emittedError"),A=Symbol("closed"),B=Symbol("read"),C=Symbol("flush"),D=Symbol("flushChunk"),E=Symbol("encoding"),F=Symbol("decoder"),G=Symbol("flowing"),H=Symbol("paused"),I=Symbol("resume"),J=Symbol("buffer"),K=Symbol("pipes"),L=Symbol("bufferLength"),M=Symbol("bufferPush"),N=Symbol("bufferShift"),O=Symbol("objectMode"),P=Symbol("destroyed"),Q=Symbol("error"),R=Symbol("emitData"),S=Symbol("emitEnd"),T=Symbol("emitEnd2"),U=Symbol("async"),V=Symbol("abort"),W=Symbol("aborted"),X=Symbol("signal"),Y=Symbol("dataListeners"),Z=Symbol("discarded"),$=a=>Promise.resolve().then(a),_=a=>a(),aa=class{src;dest;opts;ondrain;constructor(a,b,c){this.src=a,this.dest=b,this.opts=c,this.ondrain=()=>a[I](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(a){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},ab=class extends aa{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)}},ac=class extends g.EventEmitter{[G]=!1;[H]=!1;[K]=[];[J]=[];[O];[E];[U];[F];[v]=!1;[x]=!1;[y]=!1;[A]=!1;[z]=null;[L]=0;[P]=!1;[X];[W]=!1;[Y]=0;[Z]=!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[O]=!0,this[E]=null):(a=>!a.objectMode&&!!a.encoding&&"buffer"!==a.encoding)(b)?(this[E]=b.encoding,this[O]=!1):(this[O]=!1,this[E]=null),this[U]=!!b.async,this[F]=this[E]?new i.StringDecoder(this[E]):null,b&&!0===b.debugExposeBuffer&&Object.defineProperty(this,"buffer",{get:()=>this[J]}),b&&!0===b.debugExposePipes&&Object.defineProperty(this,"pipes",{get:()=>this[K]});let{signal:c}=b;c&&(this[X]=c,c.aborted?this[V]():c.addEventListener("abort",()=>this[V]()))}get bufferLength(){return this[L]}get encoding(){return this[E]}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[O]}set objectMode(a){throw Error("objectMode must be set at instantiation time")}get async(){return this[U]}set async(a){this[U]=this[U]||!!a}[V](){this[W]=!0,this.emit("abort",this[X]?.reason),this.destroy(this[X]?.reason)}get aborted(){return this[W]}set aborted(a){}write(a,b,c){if(this[W])return!1;if(this[v])throw Error("write after end");if(this[P])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[U]?$:_;if(!this[O]&&!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[O]?(this[G]&&0!==this[L]&&this[C](!0),this[G]?this.emit("data",a):this[M](a)):a.length&&("string"==typeof a&&(b!==this[E]||this[F]?.lastNeed)&&(a=Buffer.from(a,b)),Buffer.isBuffer(a)&&this[E]&&(a=this[F].write(a)),this[G]&&0!==this[L]&&this[C](!0),this[G]?this.emit("data",a):this[M](a)),0!==this[L]&&this.emit("readable"),c&&d(c),this[G]}read(a){if(this[P])return null;if(this[Z]=!1,0===this[L]||0===a||a&&a>this[L])return this[w](),null;this[O]&&(a=null),this[J].length>1&&!this[O]&&(this[J]=[this[E]?this[J].join(""):Buffer.concat(this[J],this[L])]);let b=this[B](a||null,this[J][0]);return this[w](),b}[B](a,b){if(this[O])this[N]();else{let c=b;a===c.length||null===a?this[N]():("string"==typeof c?(this[J][0]=c.slice(a),b=c.slice(0,a)):(this[J][0]=c.subarray(a),b=c.subarray(0,a)),this[L]-=a)}return this.emit("data",b),this[J].length||this[v]||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[v]=!0,this.writable=!1,(this[G]||!this[H])&&this[w](),this}[I](){this[P]||(this[Y]||this[K].length||(this[Z]=!0),this[H]=!1,this[G]=!0,this.emit("resume"),this[J].length?this[C]():this[v]?this[w]():this.emit("drain"))}resume(){return this[I]()}pause(){this[G]=!1,this[H]=!0,this[Z]=!1}get destroyed(){return this[P]}get flowing(){return this[G]}get paused(){return this[H]}[M](a){this[O]?this[L]+=1:this[L]+=a.length,this[J].push(a)}[N](){return this[O]?this[L]-=1:this[L]-=this[J][0].length,this[J].shift()}[C](a=!1){do;while(this[D](this[N]())&&this[J].length)a||this[J].length||this[v]||this.emit("drain")}[D](a){return this.emit("data",a),this[G]}pipe(a,b){if(this[P])return a;this[Z]=!1;let c=this[x];return b=b||{},a===r.stdout||a===r.stderr?b.end=!1:b.end=!1!==b.end,b.proxyErrors=!!b.proxyErrors,c?b.end&&a.end():(this[K].push(b.proxyErrors?new ab(this,a,b):new aa(this,a,b)),this[U]?$(()=>this[I]()):this[I]()),a}unpipe(a){let b=this[K].find(b=>b.dest===a);b&&(1===this[K].length?(this[G]&&0===this[Y]&&(this[G]=!1),this[K]=[]):this[K].splice(this[K].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[Z]=!1,this[Y]++,this[K].length||this[G]||this[I]();else if("readable"===a&&0!==this[L])super.emit("readable");else("end"===a||"finish"===a||"prefinish"===a)&&this[x]?(super.emit(a),this.removeAllListeners(a)):"error"===a&&this[z]&&(this[U]?$(()=>b.call(this,this[z])):b.call(this,this[z]));return c}removeListener(a,b){return this.off(a,b)}off(a,b){let c=super.off(a,b);return"data"===a&&(this[Y]=this.listeners("data").length,0!==this[Y]||this[Z]||this[K].length||(this[G]=!1)),c}removeAllListeners(a){let b=super.removeAllListeners(a);return("data"===a||void 0===a)&&(this[Y]=0,this[Z]||this[K].length||(this[G]=!1)),b}get emittedEnd(){return this[x]}[w](){this[y]||this[x]||this[P]||0!==this[J].length||!this[v]||(this[y]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[A]&&this.emit("close"),this[y]=!1)}emit(a,...b){let c=b[0];if("error"!==a&&"close"!==a&&a!==P&&this[P])return!1;if("data"===a)return(!!this[O]||!!c)&&(this[U]?($(()=>this[R](c)),!0):this[R](c));if("end"===a)return this[S]();if("close"===a){if(this[A]=!0,!this[x]&&!this[P])return!1;let a=super.emit("close");return this.removeAllListeners("close"),a}if("error"===a){this[z]=c,super.emit(Q,c);let a=(!this[X]||!!this.listeners("error").length)&&super.emit("error",c);return this[w](),a}if("resume"===a){let a=super.emit("resume");return this[w](),a}if("finish"===a||"prefinish"===a){let b=super.emit(a);return this.removeAllListeners(a),b}let d=super.emit(a,...b);return this[w](),d}[R](a){for(let b of this[K])!1===b.dest.write(a)&&this.pause();let b=!this[Z]&&super.emit("data",a);return this[w](),b}[S](){return!this[x]&&(this[x]=!0,this.readable=!1,this[U]?($(()=>this[T]()),!0):this[T]())}[T](){if(this[F]){let a=this[F].end();if(a){for(let b of this[K])b.dest.write(a);this[Z]||super.emit("data",a)}}for(let a of this[K])a.end();let a=super.emit("end");return this.removeAllListeners("end"),a}async collect(){let a=Object.assign([],{dataLength:0});this[O]||(a.dataLength=0);let b=this.promise();return this.on("data",b=>{a.push(b),this[O]||(a.dataLength+=b.length)}),await b,a}async concat(){if(this[O])throw Error("cannot concat in objectMode");let a=await this.collect();return this[E]?a.join(""):Buffer.concat(a,a.dataLength)}async promise(){return new Promise((a,b)=>{this.on(P,()=>b(Error("stream destroyed"))),this.on("error",a=>b(a)),this.on("end",()=>a())})}[Symbol.asyncIterator](){this[Z]=!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[v])return b();let d,e,f=a=>{this.off("data",g),this.off("end",h),this.off(P,i),b(),e(a)},g=a=>{this.off("error",f),this.off("end",h),this.off(P,i),this.pause(),d({value:a,done:!!this[v]})},h=()=>{this.off("error",f),this.off("data",g),this.off(P,i),b(),d({done:!0,value:void 0})},i=()=>f(Error("stream destroyed"));return new Promise((a,b)=>{e=b,d=a,this.once(P,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[Z]=!1;let a=!1,b=()=>(this.pause(),this.off(Q,b),this.off(P,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(Q,b),this.once(P,b),{next:c,throw:b,return:b,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(a){return this[P]||(this[P]=!0,this[Z]=!0,this[J].length=0,this[L]=0,"function"!=typeof this.close||this[A]||this.close()),a?this.emit("error",a):this.emit(P),this}static get isStream(){return s}},ad=f.default.writev,ae=Symbol("_autoClose"),af=Symbol("_close"),ag=Symbol("_ended"),ah=Symbol("_fd"),ai=Symbol("_finished"),aj=Symbol("_flags"),ak=Symbol("_flush"),al=Symbol("_handleChunk"),am=Symbol("_makeBuf"),an=Symbol("_mode"),ao=Symbol("_needDrain"),ap=Symbol("_onerror"),aq=Symbol("_onopen"),ar=Symbol("_onread"),as=Symbol("_onwrite"),at=Symbol("_open"),au=Symbol("_path"),av=Symbol("_pos"),aw=Symbol("_queue"),ax=Symbol("_read"),ay=Symbol("_readSize"),az=Symbol("_reading"),aA=Symbol("_remain"),aB=Symbol("_size"),aC=Symbol("_write"),aD=Symbol("_writing"),aE=Symbol("_defaultFlag"),aF=Symbol("_errored"),aG=class extends ac{[aF]=!1;[ah];[au];[ay];[az]=!1;[aB];[aA];[ae];constructor(a,b){if(super(b=b||{}),this.readable=!0,this.writable=!1,"string"!=typeof a)throw TypeError("path must be a string");this[aF]=!1,this[ah]="number"==typeof b.fd?b.fd:void 0,this[au]=a,this[ay]=b.readSize||0x1000000,this[az]=!1,this[aB]="number"==typeof b.size?b.size:1/0,this[aA]=this[aB],this[ae]="boolean"!=typeof b.autoClose||b.autoClose,"number"==typeof this[ah]?this[ax]():this[at]()}get fd(){return this[ah]}get path(){return this[au]}write(){throw TypeError("this is a readable stream")}end(){throw TypeError("this is a readable stream")}[at](){f.default.open(this[au],"r",(a,b)=>this[aq](a,b))}[aq](a,b){a?this[ap](a):(this[ah]=b,this.emit("open",b),this[ax]())}[am](){return Buffer.allocUnsafe(Math.min(this[ay],this[aA]))}[ax](){if(!this[az]){this[az]=!0;let a=this[am]();if(0===a.length)return process.nextTick(()=>this[ar](null,0,a));f.default.read(this[ah],a,0,a.length,null,(a,b,c)=>this[ar](a,b,c))}}[ar](a,b,c){this[az]=!1,a?this[ap](a):this[al](b,c)&&this[ax]()}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.close(a,a=>a?this.emit("error",a):this.emit("close"))}}[ap](a){this[az]=!0,this[af](),this.emit("error",a)}[al](a,b){let c=!1;return this[aA]-=a,a>0&&(c=super.write(a<b.length?b.subarray(0,a):b)),(0===a||this[aA]<=0)&&(c=!1,this[af](),super.end()),c}emit(a,...b){switch(a){case"prefinish":case"finish":return!1;case"drain":return"number"==typeof this[ah]&&this[ax](),!1;case"error":return!this[aF]&&(this[aF]=!0,super.emit(a,...b));default:return super.emit(a,...b)}}},aH=class extends aG{[at](){let a=!0;try{this[aq](null,f.default.openSync(this[au],"r")),a=!1}finally{a&&this[af]()}}[ax](){let a=!0;try{if(!this[az]){for(this[az]=!0;;){let a=this[am](),b=0===a.length?0:f.default.readSync(this[ah],a,0,a.length,null);if(!this[al](b,a))break}this[az]=!1}a=!1}finally{a&&this[af]()}}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.closeSync(a),this.emit("close")}}},aI=class extends e.default{readable=!1;writable=!0;[aF]=!1;[aD]=!1;[ag]=!1;[aw]=[];[ao]=!1;[au];[an];[ae];[ah];[aE];[aj];[ai]=!1;[av];constructor(a,b){super(b=b||{}),this[au]=a,this[ah]="number"==typeof b.fd?b.fd:void 0,this[an]=void 0===b.mode?438:b.mode,this[av]="number"==typeof b.start?b.start:void 0,this[ae]="boolean"!=typeof b.autoClose||b.autoClose;let c=void 0!==this[av]?"r+":"w";this[aE]=void 0===b.flags,this[aj]=void 0===b.flags?c:b.flags,void 0===this[ah]&&this[at]()}emit(a,...b){if("error"===a){if(this[aF])return!1;this[aF]=!0}return super.emit(a,...b)}get fd(){return this[ah]}get path(){return this[au]}[ap](a){this[af](),this[aD]=!0,this.emit("error",a)}[at](){f.default.open(this[au],this[aj],this[an],(a,b)=>this[aq](a,b))}[aq](a,b){this[aE]&&"r+"===this[aj]&&a&&"ENOENT"===a.code?(this[aj]="w",this[at]()):a?this[ap](a):(this[ah]=b,this.emit("open",b),this[aD]||this[ak]())}end(a,b){return a&&this.write(a,b),this[ag]=!0,this[aD]||this[aw].length||"number"!=typeof this[ah]||this[as](null,0),this}write(a,b){return"string"==typeof a&&(a=Buffer.from(a,b)),this[ag]?(this.emit("error",Error("write() after end()")),!1):void 0===this[ah]||this[aD]||this[aw].length?(this[aw].push(a),this[ao]=!0,!1):(this[aD]=!0,this[aC](a),!0)}[aC](a){f.default.write(this[ah],a,0,a.length,this[av],(a,b)=>this[as](a,b))}[as](a,b){a?this[ap](a):(void 0!==this[av]&&"number"==typeof b&&(this[av]+=b),this[aw].length?this[ak]():(this[aD]=!1,this[ag]&&!this[ai]?(this[ai]=!0,this[af](),this.emit("finish")):this[ao]&&(this[ao]=!1,this.emit("drain"))))}[ak](){if(0===this[aw].length)this[ag]&&this[as](null,0);else if(1===this[aw].length)this[aC](this[aw].pop());else{let a=this[aw];this[aw]=[],ad(this[ah],a,this[av],(a,b)=>this[as](a,b))}}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.close(a,a=>a?this.emit("error",a):this.emit("close"))}}},aJ=class extends aI{[at](){let a;if(this[aE]&&"r+"===this[aj])try{a=f.default.openSync(this[au],this[aj],this[an])}catch(a){if(a?.code==="ENOENT")return this[aj]="w",this[at]();throw a}else a=f.default.openSync(this[au],this[aj],this[an]);this[aq](null,a)}[af](){if(this[ae]&&"number"==typeof this[ah]){let a=this[ah];this[ah]=void 0,f.default.closeSync(a),this.emit("close")}}[aC](a){let b=!0;try{this[as](null,f.default.writeSync(this[ah],a,0,a.length,this[av])),b=!1}finally{if(b)try{this[af]()}catch{}}}},aK=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"]]),aL=a=>aK.get(a)||a,aM=(a={})=>{if(!a)return{};let b={};for(let[c,d]of Object.entries(a))b[aL(c)]=d;return void 0===b.chmod&&!1===b.noChmod&&(b.chmod=!0),delete b.noChmod,b},aN=(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=aM(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}),aO=m.default.constants||{ZLIB_VERNUM:4736},aP=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},aO)),aQ=l.Buffer.concat,aR=Object.getOwnPropertyDescriptor(l.Buffer,"concat"),aS=a=>a,aT=aR?.writable===!0||aR?.set!==void 0?a=>{l.Buffer.concat=a?aS:aQ}:a=>{},aU=Symbol("_superWrite"),aV=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"}},aW=Symbol("flushFlag"),aX=class extends ac{#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 m[b])throw TypeError("Compression method not supported: "+b);try{this.#f=new m[b](a)}catch(a){throw new aV(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 aV(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,k.default)(this.#f,"zlib binding closed"),this.#f.reset?.()}flush(a){this.ended||("number"!=typeof a&&(a=this.#e),this.write(Object.assign(l.Buffer.alloc(0),{[aW]: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}[aU](a){return super.write(a)}write(a,b,c){let d,e;if("function"==typeof b&&(c=b,b="utf8"),"string"==typeof a&&(a=l.Buffer.from(a,b)),this.#a)return;(0,k.default)(this.#f,"zlib binding closed");let f=this.#f._handle,g=f.close;f.close=()=>{};let h=this.#f.close;this.#f.close=()=>{},aT(!0);try{let b="number"==typeof a[aW]?a[aW]:this.#c;d=this.#f._processChunk(a,b),aT(!1)}catch(a){aT(!1),this.#g(new aV(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 aV(a,this.write))),d)if(Array.isArray(d)&&d.length>0){let a=d[0];e=this[aU](l.Buffer.from(a));for(let a=1;a<d.length;a++)e=this[aU](d[a])}else e=this[aU](l.Buffer.from(d));return c&&c(),e}},aY=class extends aX{#a;#b;constructor(a,b){(a=a||{}).flush=a.flush||aP.Z_NO_FLUSH,a.finishFlush=a.finishFlush||aP.Z_FINISH,a.fullFlushFlag=aP.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(aP.Z_SYNC_FLUSH),(0,k.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)}}}},aZ=class extends aY{#a;constructor(a){super(a,"Gzip"),this.#a=a&&!!a.portable}[aU](a){return this.#a&&(this.#a=!1,a[9]=255),super[aU](a)}},a$=class extends aY{constructor(a){super(a,"Unzip")}},a_=class extends aX{constructor(a,b){(a=a||{}).flush=a.flush||aP.BROTLI_OPERATION_PROCESS,a.finishFlush=a.finishFlush||aP.BROTLI_OPERATION_FINISH,a.fullFlushFlag=aP.BROTLI_OPERATION_FLUSH,super(a,b)}},a0=class extends a_{constructor(a){super(a,"BrotliCompress")}},a1=class extends a_{constructor(a){super(a,"BrotliDecompress")}},a2=class extends aX{constructor(a,b){(a=a||{}).flush=a.flush||aP.ZSTD_e_continue,a.finishFlush=a.finishFlush||aP.ZSTD_e_end,a.fullFlushFlag=aP.ZSTD_e_flush,super(a,b)}},a3=class extends a2{constructor(a){super(a,"ZstdCompress")}},a4=class extends a2{constructor(a){super(a,"ZstdDecompress")}},a5=a=>(255^a)&255,a6=a=>(255^a)+1&255,a7={},a8={code:()=>bd,isCode:()=>ba,isName:()=>bb,name:()=>bc};for(var a9 in a8)q(a7,a9,{get:a8[a9],enumerable:!0});var ba=a=>bc.has(a),bb=a=>bd.has(a),bc=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"]]),bd=new Map(Array.from(bc).map(a=>[a[1],a[0]])),be=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??bg(a,b,100),this.mode=c?.mode??d?.mode??bj(a,b+100,8),this.uid=c?.uid??d?.uid??bj(a,b+108,8),this.gid=c?.gid??d?.gid??bj(a,b+116,8),this.size=c?.size??d?.size??bj(a,b+124,12),this.mtime=c?.mtime??d?.mtime??bh(a,b+136,12),this.cksum=bj(a,b+148,12),d&&this.#b(d,!0),c&&this.#b(c);let e=bg(a,b+156,1);if(ba(e)&&(this.#a=e||"0"),"0"===this.#a&&"/"===this.path.slice(-1)&&(this.#a="5"),"5"===this.#a&&(this.size=0),this.linkpath=bg(a,b+157,100),"ustar\x0000"===a.subarray(b+257,b+265).toString())if(this.uname=c?.uname??d?.uname??bg(a,b+265,32),this.gname=c?.gname??d?.gname??bg(a,b+297,32),this.devmaj=c?.devmaj??d?.devmaj??bj(a,b+329,8)??0,this.devmin=c?.devmin??d?.devmin??bj(a,b+337,8)??0,0!==a[b+475]){let c=bg(a,b+345,155);this.path=c+"/"+this.path}else{let e=bg(a,b+345,130);e&&(this.path=e+"/"+this.path),this.atime=c?.atime??d?.atime??bh(a,b+476,12),this.ctime=c?.ctime??d?.ctime??bh(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=bf(this.path||"",c),e=d[0],f=d[1];this.needPax=!!d[2],this.needPax=bs(a,b,100,e)||this.needPax,this.needPax=bm(a,b+100,8,this.mode)||this.needPax,this.needPax=bm(a,b+108,8,this.uid)||this.needPax,this.needPax=bm(a,b+116,8,this.gid)||this.needPax,this.needPax=bm(a,b+124,12,this.size)||this.needPax,this.needPax=bq(a,b+136,12,this.mtime)||this.needPax,a[b+156]=Number(this.#a.codePointAt(0)),this.needPax=bs(a,b+157,100,this.linkpath)||this.needPax,a.write("ustar\x0000",b+257,8),this.needPax=bs(a,b+265,32,this.uname)||this.needPax,this.needPax=bs(a,b+297,32,this.gname)||this.needPax,this.needPax=bm(a,b+329,8,this.devmaj)||this.needPax,this.needPax=bm(a,b+337,8,this.devmin)||this.needPax,this.needPax=bs(a,b+345,c,f)||this.needPax,0!==a[b+475]?this.needPax=bs(a,b+345,155,f)||this.needPax:(this.needPax=bs(a,b+345,130,f)||this.needPax,this.needPax=bq(a,b+476,12,this.atime)||this.needPax,this.needPax=bq(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,bm(a,b+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return"Unsupported"===this.#a?this.#a:bc.get(this.#a)}get typeKey(){return this.#a}set type(a){let b=String(bd.get(a));if(ba(b)||"Unsupported"===b)this.#a=b;else if(ba(a))this.#a=a;else throw TypeError("invalid entry type: "+a)}},bf=(a,c)=>{let d=a,e="",f,g=b.posix.parse(a).root||".";if(100>Buffer.byteLength(d))f=[d,e,!1];else{e=b.posix.dirname(d),d=b.posix.basename(d);do 100>=Buffer.byteLength(d)&&Buffer.byteLength(e)<=c?f=[d,e,!1]:Buffer.byteLength(d)>100&&Buffer.byteLength(e)<=c?f=[d.slice(0,99),e,!0]:(d=b.posix.join(b.posix.basename(e),d),e=b.posix.dirname(e));while(e!==g&&void 0===f)f||(f=[a.slice(0,99),"",!0])}return f},bg=(a,b,c)=>a.subarray(b,b+c).toString("utf8").replace(/\0.*/,""),bh=(a,b,c)=>bi(bj(a,b,c)),bi=a=>void 0===a?void 0:new Date(1e3*a),bj=(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=a5(g):0===g?f=g:(d=!0,f=a6(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)):bk(a,b,c),bk=(a,b,c)=>{let d;return isNaN(d=parseInt(a.subarray(b,b+c).toString("utf8").replace(/\0.*$/,"").trim(),8))?void 0:d},bl={12:0x1ffffffff,8:2097151},bm=(a,b,c,d)=>void 0!==d&&(d>bl[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]=a5(e):0===e?b[d-1]=0:(c=!0,b[d-1]=a6(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):(bn(a,b,c,d),!1)),bn=(a,b,c,d)=>a.write(bo(d,c),b,c,"ascii"),bo=(a,b)=>bp(Math.floor(a).toString(8),b),bp=(a,b)=>(a.length===b-1?a:Array(b-a.length-1).join("0")+a+" ")+"\0",bq=(a,b,c,d)=>void 0!==d&&bm(a,b,c,d.getTime()/1e3),br=Array(156).join("\0"),bs=(a,b,c,d)=>void 0!==d&&(a.write(d+br,b,c,"utf8"),d.length!==Buffer.byteLength(d)||d.length>c),bt=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 c=Buffer.byteLength(a),d=512*Math.ceil(1+c/512),e=Buffer.allocUnsafe(d);for(let a=0;a<512;a++)e[a]=0;new be({path:("PaxHeader/"+(0,b.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:c,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(e),e.write(a,512,c,"utf8");for(let a=c+512;a<e.length;a++)e[a]=0;return e}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(bu(bv(b),c),d)}},bu=(a,b)=>b?Object.assign({},b,a):a,bv=a=>a.replace(/\n$/,"").split(`
3
- `).reduce(bw,Object.create(null)),bw=(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},bx="win32"!==(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)?a=>a:a=>a&&a.replaceAll(/\\/g,"/"),by=class extends ac{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=bx(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?bx(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=bx(a.path)),a.linkpath&&(a.linkpath=bx(a.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(a).filter(([a,c])=>!(null==c||"path"===a&&b))))}},bz=(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))},bA=Buffer.from([31,139]),bB=Buffer.from([40,181,47,253]),bC=Math.max(bA.length,bB.length),bD=Symbol("state"),bE=Symbol("writeEntry"),bF=Symbol("readEntry"),bG=Symbol("nextEntry"),bH=Symbol("processEntry"),bI=Symbol("extendedHeader"),bJ=Symbol("globalExtendedHeader"),bK=Symbol("meta"),bL=Symbol("emitMeta"),bM=Symbol("buffer"),bN=Symbol("queue"),bO=Symbol("ended"),bP=Symbol("emittedEnd"),bQ=Symbol("emit"),bR=Symbol("unzip"),bS=Symbol("consumeChunk"),bT=Symbol("consumeChunkSub"),bU=Symbol("consumeBody"),bV=Symbol("consumeMeta"),bW=Symbol("consumeHeader"),bX=Symbol("consuming"),bY=Symbol("bufferConcat"),bZ=Symbol("maybeEnd"),b$=Symbol("writing"),b_=Symbol("aborted"),b0=Symbol("onDone"),b1=Symbol("sawValidEntry"),b2=Symbol("sawNullBlock"),b3=Symbol("sawEOF"),b4=Symbol("closeStream"),b5=()=>!0,b6=class extends e.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[bN]=[];[bM];[bF];[bE];[bD]="begin";[bK]="";[bI];[bJ];[bO]=!1;[bR];[b_]=!1;[b1];[b2]=!1;[b3]=!1;[b$]=!1;[bX]=!1;[bP]=!1;constructor(a={}){super(),this.file=a.file||"",this.on(b0,()=>{("begin"===this[bD]||!1===this[b1])&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),a.ondone?this.on(b0,a.ondone):this.on(b0,()=>{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:b5;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[b4]()),"function"==typeof a.onwarn&&this.on("warn",a.onwarn),"function"==typeof a.onReadEntry&&this.on("entry",a.onReadEntry)}warn(a,b,c={}){bz(this,a,b,c)}[bW](a,b){let c;void 0===this[b1]&&(this[b1]=!1);try{c=new be(a,b,this[bI],this[bJ])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(c.nullBlock)this[b2]?(this[b3]=!0,"begin"===this[bD]&&(this[bD]="header"),this[bQ]("eof")):(this[b2]=!0,this[bQ]("nullBlock"));else if(this[b2]=!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[bE]=new by(c,this[bI],this[bJ]);if(!this[b1])if(a.remain){let b=()=>{a.invalid||(this[b1]=!0)};a.on("end",b)}else this[b1]=!0;a.meta?a.size>this.maxMetaEntrySize?(a.ignore=!0,this[bQ]("ignoredEntry",a),this[bD]="ignore",a.resume()):a.size>0&&(this[bK]="",a.on("data",a=>this[bK]+=a),this[bD]="meta"):(this[bI]=void 0,a.ignore=a.ignore||!this.filter(a.path,a),a.ignore?(this[bQ]("ignoredEntry",a),this[bD]=a.remain?"ignore":"header",a.resume()):(a.remain?this[bD]="body":(this[bD]="header",a.end()),this[bF]?this[bN].push(a):(this[bN].push(a),this[bG]())))}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})}[b4](){queueMicrotask(()=>this.emit("close"))}[bH](a){let b=!0;if(a)if(Array.isArray(a)){let[b,...c]=a;this.emit(b,...c)}else this[bF]=a,this.emit("entry",a),a.emittedEnd||(a.on("end",()=>this[bG]()),b=!1);else this[bF]=void 0,b=!1;return b}[bG](){do;while(this[bH](this[bN].shift()))if(0===this[bN].length){let a=this[bF];!a||a.flowing||a.size===a.remain?this[b$]||this.emit("drain"):a.once("drain",()=>this.emit("drain"))}}[bU](a,b){let c=this[bE];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[bD]="header",this[bE]=void 0,c.end()),e.length}[bV](a,b){let c=this[bE],d=this[bU](a,b);return!this[bE]&&c&&this[bL](c),d}[bQ](a,b,c){0!==this[bN].length||this[bF]?this[bN].push([a,b,c]):this.emit(a,b,c)}[bL](a){switch(this[bQ]("meta",this[bK]),a.type){case"ExtendedHeader":case"OldExtendedHeader":this[bI]=bt.parse(this[bK],this[bI],!1);break;case"GlobalExtendedHeader":this[bJ]=bt.parse(this[bK],this[bJ],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let a=this[bI]??Object.create(null);this[bI]=a,a.path=this[bK].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let a=this[bI]||Object.create(null);this[bI]=a,a.linkpath=this[bK].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[bR]||void 0===this.brotli&&!1===this[bR])&&a){if(this[bM]&&(a=Buffer.concat([this[bM],a]),this[bM]=void 0),a.length<bC)return this[bM]=a,c?.(),!0;for(let b=0;void 0===this[bR]&&b<bA.length;b++)a[b]!==bA[b]&&(this[bR]=!1);let b=!1;if(!1===this[bR]&&!1!==this.zstd){b=!0;for(let c=0;c<bB.length;c++)if(a[c]!==bB[c]){b=!1;break}}let d=void 0===this.brotli&&!b;if(!1===this[bR]&&d)if(a.length<512)if(!this[bO])return this[bM]=a,c?.(),!0;else this.brotli=!0;else try{new be(a.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(void 0===this[bR]||!1===this[bR]&&(this.brotli||b)){let d=this[bO];this[bO]=!1,this[bR]=void 0===this[bR]?new a$({}):b?new a4({}):new a1({}),this[bR].on("data",a=>this[bS](a)),this[bR].on("error",a=>this.abort(a)),this[bR].on("end",()=>{this[bO]=!0,this[bS]()}),this[b$]=!0;let e=!!this[bR][d?"end":"write"](a);return this[b$]=!1,c?.(),e}}this[b$]=!0,this[bR]?this[bR].write(a):this[bS](a),this[b$]=!1;let d=!(this[bN].length>0)&&(!this[bF]||this[bF].flowing);return d||0!==this[bN].length||this[bF]?.once("drain",()=>this.emit("drain")),c?.(),d}[bY](a){a&&!this[b_]&&(this[bM]=this[bM]?Buffer.concat([this[bM],a]):a)}[bZ](){if(this[bO]&&!this[bP]&&!this[b_]&&!this[bX]){this[bP]=!0;let a=this[bE];if(a&&a.blockRemain){let b=this[bM]?this[bM].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${a.blockRemain} more bytes, only ${b} available)`,{entry:a}),this[bM]&&a.write(this[bM]),a.end()}this[bQ](b0)}}[bS](a){if(this[bX]&&a)this[bY](a);else if(a||this[bM]){if(a){if(this[bX]=!0,this[bM]){this[bY](a);let b=this[bM];this[bM]=void 0,this[bT](b)}else this[bT](a);for(;this[bM]&&this[bM]?.length>=512&&!this[b_]&&!this[b3];){let a=this[bM];this[bM]=void 0,this[bT](a)}this[bX]=!1}}else this[bZ]();(!this[bM]||this[bO])&&this[bZ]()}[bT](a){let b=0,c=a.length;for(;b+512<=c&&!this[b_]&&!this[b3];)switch(this[bD]){case"begin":case"header":this[bW](a,b),b+=512;break;case"ignore":case"body":b+=this[bU](a,b);break;case"meta":b+=this[bV](a,b);break;default:throw Error("invalid state: "+this[bD])}b<c&&(this[bM]=this[bM]?Buffer.concat([a.subarray(b),this[bM]]):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[bR]?(a&&this[bR].write(a),this[bR].end()):(this[bO]=!0,(void 0===this.brotli||void 0===this.zstd)&&(a=a||Buffer.alloc(0)),a&&this.write(a),this[bZ]())),this}},b7=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)},b8=(a,b)=>{let c=new Map(b.map(a=>[b7(a),!0])),d=a.filter,e=(a,b="")=>{let d=b||(0,j.parse)(a).root||".",f;if(a===d)f=!1;else{let b=c.get(a);f=void 0!==b?b:e((0,j.dirname)(a),d)}return c.set(a,f),f};a.filter=d?(a,b)=>d(a,b)&&e(b7(a)):a=>e(b7(a))},b9=aN(a=>{let b=new b6(a),d=a.file,e;try{e=c.default.openSync(d,"r");let f=c.default.fstatSync(e),g=a.maxReadSize||0x1000000;if(f.size<g){let a=Buffer.allocUnsafe(f.size),d=c.default.readSync(e,a,0,f.size,0);b.end(d===a.byteLength?a:a.subarray(0,d))}else{let a=0,d=Buffer.allocUnsafe(g);for(;a<f.size;){let f=c.default.readSync(e,d,0,g,a);if(0===f)break;a+=f,b.write(d.subarray(0,f))}b.end()}}finally{if("number"==typeof e)try{c.default.closeSync(e)}catch{}}},(a,b)=>{let d=new b6(a),e=a.maxReadSize||0x1000000,f=a.file;return new Promise((a,b)=>{d.on("error",b),d.on("end",a),c.default.stat(f,(a,c)=>{if(a)b(a);else{let a=new aG(f,{readSize:e,size:c.size});a.on("error",b),a.pipe(d)}})})},a=>new b6(a),a=>new b6(a),(a,b)=>{let c;b?.length&&b8(a,b),a.noResume||(c=a.onReadEntry,a.onReadEntry=c?a=>{c(a),a.resume()}:a=>a.resume())}),ca=(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:cb,parse:cc}=b.win32,cd=a=>{let b="",c=cc(a);for(;cb(a)||c.root;){let d="/"===a.charAt(0)&&"//?/"!==a.slice(0,4)?"/":c.root;a=a.slice(d.length),b+=d,c=cc(a)}return[b,a]},ce=["|","<",">","?",":"],cf=ce.map(a=>String.fromCodePoint(61440+Number(a.codePointAt(0)))),cg=new Map(ce.map((a,b)=>[a,cf[b]])),ch=new Map(cf.map((a,b)=>[a,ce[b]])),ci=a=>ce.reduce((a,b)=>a.split(b).join(cg.get(b)),a),cj=(a,b)=>b?(a=bx(a).replace(/^\.(\/|$)/,""),b7(b)+"/"+a):bx(a),ck=Symbol("process"),cl=Symbol("file"),cm=Symbol("directory"),cn=Symbol("symlink"),co=Symbol("hardlink"),cp=Symbol("header"),cq=Symbol("read"),cr=Symbol("lstat"),cs=Symbol("onlstat"),ct=Symbol("onread"),cu=Symbol("onreadlink"),cv=Symbol("openfile"),cw=Symbol("onopenfile"),cx=Symbol("close"),cy=Symbol("mode"),cz=Symbol("awaitDrain"),cA=Symbol("ondrain"),cB=Symbol("prefix"),cC=class extends ac{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=aM(b);super(),this.path=bx(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=bx(c.cwd||process.cwd()),this.strict=!!c.strict,this.noPax=!!c.noPax,this.noMtime=!!c.noMtime,this.mtime=c.mtime,this.prefix=c.prefix?bx(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]=cd(this.path);a&&"string"==typeof b&&(this.path=b,d=a)}this.win32=!!c.win32||"win32"===process.platform,this.win32&&(this.path=(a=>cf.reduce((a,b)=>a.split(b).join(ch.get(b)),a))(this.path.replaceAll(/\\/g,"/")),a=a.replaceAll(/\\/g,"/")),this.absolute=bx(c.absolute||j.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[cs](e):this[cr]()}warn(a,b,c={}){return bz(this,a,b,c)}emit(a,...b){return"error"===a&&(this.#a=!0),super.emit(a,...b)}[cr](){f.default.lstat(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[cs](b)})}[cs](a){this.statCache.set(this.absolute,a),this.stat=a,a.isFile()||(a.size=0),this.type=cF(a),this.emit("stat",a),this[ck]()}[ck](){switch(this.type){case"File":return this[cl]();case"Directory":return this[cm]();case"SymbolicLink":return this[cn]();default:return this.end()}}[cy](a){return ca(a,"Directory"===this.type,this.portable)}[cB](a){return cj(a,this.prefix)}[cp](){if(!this.stat)throw Error("cannot write header before stat");"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new be({path:this[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](this.linkpath):this.linkpath,mode:this[cy](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 bt({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[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](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)}[cm](){if(!this.stat)throw Error("cannot create directory entry without stat");"/"!==this.path.slice(-1)&&(this.path+="/"),this.stat.size=0,this[cp](),this.end()}[cn](){f.default.readlink(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[cu](b)})}[cu](a){this.linkpath=bx(a),this[cp](),this.end()}[co](a){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=bx(j.default.relative(this.cwd,a)),this.stat.size=0,this[cp](),this.end()}[cl](){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[co](b);this.linkCache.set(a,this.absolute)}if(this[cp](),0===this.stat.size)return this.end();this[cv]()}[cv](){f.default.open(this.absolute,"r",(a,b)=>{if(a)return this.emit("error",a);this[cw](b)})}[cw](a){if(this.fd=a,this.#a)return this[cx]();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[cq]()}[cq](){let{fd:a,buf:b,offset:c,length:d,pos:e}=this;if(void 0===a||void 0===b)throw Error("cannot read file without first opening");f.default.read(a,b,c,d,e,(a,b)=>{if(a)return this[cx](()=>this.emit("error",a));this[ct](b)})}[cx](a=()=>{}){void 0!==this.fd&&f.default.close(this.fd,a)}[ct](a){if(a<=0&&this.remain>0){let a=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[cx](()=>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[cx](()=>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[cA]():this[cz](()=>this[cA]())}[cz](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)}[cA](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[cx](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[cq]()}},cD=class extends cC{sync=!0;[cr](){this[cs](f.default.lstatSync(this.absolute))}[cn](){this[cu](f.default.readlinkSync(this.absolute))}[cv](){this[cw](f.default.openSync(this.absolute,"r"))}[cq](){let a=!0;try{let{fd:b,buf:c,offset:d,length:e,pos:g}=this;if(void 0===b||void 0===c)throw Error("fd and buf must be set in READ method");let h=f.default.readSync(b,c,d,e,g);this[ct](h),a=!1}finally{if(a)try{this[cx](()=>{})}catch{}}}[cz](a){a()}[cx](a=()=>{}){void 0!==this.fd&&f.default.closeSync(this.fd),a()}},cE=class extends ac{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 bz(this,a,b,c)}constructor(a,b={}){let c=aM(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=bx(a.path),this.mode=void 0!==a.mode?this[cy](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?bx(a.linkpath):void 0,"function"==typeof c.onwarn&&this.on("warn",c.onwarn);let e=!1;if(!this.preservePaths){let[a,b]=cd(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 be({path:this[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](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 bt({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[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](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)}[cB](a){return cj(a,this.prefix)}[cy](a){return ca(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}},cF=a=>a.isFile()?"File":a.isDirectory()?"Directory":a.isSymbolicLink()?"SymbolicLink":"Unsupported",cG=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 cH(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 cH(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 cH(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}},cH=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}},cI=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(a,b){this.path=a||"./",this.absolute=b}},cJ=Buffer.alloc(1024),cK=Symbol("onStat"),cL=Symbol("ended"),cM=Symbol("queue"),cN=Symbol("current"),cO=Symbol("process"),cP=Symbol("processing"),cQ=Symbol("processJob"),cR=Symbol("jobs"),cS=Symbol("jobDone"),cT=Symbol("addFSEntry"),cU=Symbol("addTarEntry"),cV=Symbol("stat"),cW=Symbol("readdir"),cX=Symbol("onreaddir"),cY=Symbol("pipe"),cZ=Symbol("entry"),c$=Symbol("entryOpt"),c_=Symbol("writeEntryClass"),c0=Symbol("write"),c1=Symbol("ondrain"),c2=class extends ac{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[c_];onWriteEntry;[cM];[cR]=0;[cP]=!1;[cL]=!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=bx(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_]=cC,"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 aZ(a.gzip)),a.brotli&&("object"!=typeof a.brotli&&(a.brotli={}),this.zip=new a0(a.brotli)),a.zstd&&("object"!=typeof a.zstd&&(a.zstd={}),this.zip=new a3(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[c1]()),this.on("resume",()=>b.resume())}else this.on("drain",this[c1]);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[cM]=new cG,this[cR]=0,this.jobs=Number(a.jobs)||4,this[cP]=!1,this[cL]=!1}[c0](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[cL]=!0,this[cO](),c&&c(),this}write(a){if(this[cL])throw Error("write after end");return a instanceof by?this[cU](a):this[cT](a),this.flowing}[cU](a){let b=bx(j.default.resolve(this.cwd,a.path));if(this.filter(a.path,a)){let c=new cI(a.path,b);c.entry=new cE(a,this[c$](c)),c.entry.on("end",()=>this[cS](c)),this[cR]+=1,this[cM].push(c)}else a.resume();this[cO]()}[cT](a){let b=bx(j.default.resolve(this.cwd,a));this[cM].push(new cI(a,b)),this[cO]()}[cV](a){a.pending=!0,this[cR]+=1;let b=this.follow?"stat":"lstat";f.default[b](a.absolute,(b,c)=>{a.pending=!1,this[cR]-=1,b?this.emit("error",b):this[cK](a,c)})}[cK](a,b){this.statCache.set(a.absolute,b),a.stat=b,this.filter(a.path,b)?b.isFile()&&b.nlink>1&&a===this[cN]&&!this.linkCache.get(`${b.dev}:${b.ino}`)&&!this.sync&&this[cQ](a):a.ignore=!0,this[cO]()}[cW](a){a.pending=!0,this[cR]+=1,f.default.readdir(a.absolute,(b,c)=>{if(a.pending=!1,this[cR]-=1,b)return this.emit("error",b);this[cX](a,c)})}[cX](a,b){this.readdirCache.set(a.absolute,b),a.readdir=b,this[cO]()}[cO](){if(!this[cP]){this[cP]=!0;for(let a=this[cM].head;a&&this[cR]<this.jobs;a=a.next)if(this[cQ](a.value),a.value.ignore){let b=a.next;this[cM].removeNode(a),a.next=b}this[cP]=!1,this[cL]&&0===this[cM].length&&0===this[cR]&&(this.zip?this.zip.end(cJ):(super.write(cJ),super.end()))}}get[cN](){return this[cM]&&this[cM].head&&this[cM].head.value}[cS](a){this[cM].shift(),this[cR]-=1,this[cO]()}[cQ](a){if(!a.pending){if(a.entry){a!==this[cN]||a.piped||this[cY](a);return}if(!a.stat){let b=this.statCache.get(a.absolute);b?this[cK](a,b):this[cV](a)}if(a.stat&&!a.ignore){if(!this.noDirRecurse&&a.stat.isDirectory()&&!a.readdir){let b=this.readdirCache.get(a.absolute);if(b?this[cX](a,b):this[cW](a),!a.readdir)return}if(a.entry=this[cZ](a),!a.entry){a.ignore=!0;return}a!==this[cN]||a.piped||this[cY](a)}}}[c$](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}}[cZ](a){this[cR]+=1;try{return new this[c_](a.path,this[c$](a)).on("end",()=>this[cS](a)).on("error",a=>this.emit("error",a))}catch(a){this.emit("error",a)}}[c1](){this[cN]&&this[cN].entry&&this[cN].entry.resume()}[cY](a){a.piped=!0,a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cT](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={}){bz(this,a,b,c)}},c3=class extends c2{sync=!0;constructor(a){super(a),this[c_]=cD}pause(){}resume(){}[cV](a){let b=this.follow?"statSync":"lstatSync";this[cK](a,f.default[b](a.absolute))}[cW](a){this[cX](a,f.default.readdirSync(a.absolute))}[cY](a){let b=a.entry,c=this.zip;if(a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cT](d+b)}),!b)throw Error("Cannot pipe without source");c?b.on("data",a=>{c.write(a)}):b.on("data",a=>{super[c0](a)})}},c4=(a,c)=>{c.forEach(c=>{"@"===c.charAt(0)?b9({file:b.default.resolve(a.cwd,c.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(c)}),a.end()},c5=async(a,c)=>{for(let d of c)"@"===d.charAt(0)?await b9({file:b.default.resolve(String(a.cwd),d.slice(1)),noResume:!0,onReadEntry:b=>{a.add(b)}}):a.add(d);a.end()},c6=aN((a,b)=>{let c=new c3(a),d=new aJ(a.file,{mode:a.mode||438});c.pipe(d),c4(c,b)},(a,b)=>{let c=new c2(a),d=new aI(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 c5(c,b).catch(a=>c.emit("error",a)),e},(a,b)=>{let c=new c3(a);return c4(c,b),c},(a,b)=>{let c=new c2(a);return c5(c,b).catch(a=>c.emit("error",a)),c},(a,b)=>{if(!b?.length)throw TypeError("no paths specified to add to archive")}),c7="win32"===(process.env.__FAKE_PLATFORM__||process.platform),{O_CREAT:c8,O_NOFOLLOW:c9,O_TRUNC:da,O_WRONLY:db}=f.default.constants,dc=Number(process.env.__FAKE_FS_O_FILENAME__)||f.default.constants.UV_FS_O_FILEMAP||0,dd=dc|da|c8|db,de=c7||"number"!=typeof c9?null:c9|da|c8|db,df=null!==de?()=>de:c7&&dc?a=>a<524288?dd:"w":()=>"w",dg=(a,b,d)=>{try{return c.default.lchownSync(a,b,d)}catch(a){if(a?.code!=="ENOENT")throw a}},dh=(a,b,d,e)=>{c.default.lchown(a,b,d,a=>{e(a&&a?.code!=="ENOENT"?a:null)})},di=(a,c,d,e,f)=>{c.isDirectory()?dj(b.default.resolve(a,c.name),d,e,g=>{if(g)return f(g);dh(b.default.resolve(a,c.name),d,e,f)}):dh(b.default.resolve(a,c.name),d,e,f)},dj=(a,b,d,e)=>{c.default.readdir(a,{withFileTypes:!0},(c,f)=>{if(c){if("ENOENT"===c.code)return e();if("ENOTDIR"!==c.code&&"ENOTSUP"!==c.code)return e(c)}if(c||!f.length)return dh(a,b,d,e);let g=f.length,h=null,i=c=>{if(!h){if(c)return e(h=c);if(0==--g)return dh(a,b,d,e)}};for(let c of f)di(a,c,b,d,i)})},dk=(a,c,d,e)=>{c.isDirectory()&&dl(b.default.resolve(a,c.name),d,e),dg(b.default.resolve(a,c.name),d,e)},dl=(a,b,d)=>{let e;try{e=c.default.readdirSync(a,{withFileTypes:!0})}catch(c){if(c?.code==="ENOENT")return;if(c?.code==="ENOTDIR"||c?.code==="ENOTSUP")return dg(a,b,d);throw c}for(let c of e)dk(a,c,b,d);return dg(a,b,d)},dm=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"}},dn=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"}},dp=(a,d,e,f,g,h,i)=>{if(0===d.length)return i(null,h);let j=d.shift(),k=bx(b.default.resolve(a+"/"+j));c.default.mkdir(k,e,dq(k,d,e,f,g,h,i))},dq=(a,b,d,e,f,g,h)=>i=>{i?c.default.lstat(a,(j,k)=>{if(j)j.path=j.path&&bx(j.path),h(j);else if(k.isDirectory())dp(a,b,d,e,f,g,h);else if(e)c.default.unlink(a,i=>{if(i)return h(i);c.default.mkdir(a,d,dq(a,b,d,e,f,g,h))});else{if(k.isSymbolicLink())return h(new dn(a,a+"/"+b.join("/")));h(i)}}):(g=g||a,dp(a,b,d,e,f,g,h))},dr=Object.create(null),ds=new Set,dt="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),du=class{#a=new Map;#b=new Map;#c=new Set;reserve(a,c){let d=new Set((a=dt?["win32 parallelization disabled"]:a.map(a=>b7((0,b.join)((a=>{ds.has(a)?ds.delete(a):dr[a]=a.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),ds.add(a);let b=dr[a],c=ds.size-1e4;if(c>1e3){for(let a of ds)if(ds.delete(a),delete dr[a],--c<=0)break}return b})(a))))).map(a=>a.split("/").slice(0,-1).reduce((a,c)=>{let d=a.at(-1);return void 0!==d&&(c=(0,b.join)(d,c)),a.push(c||"/"),a},[])).reduce((a,b)=>a.concat(b)));for(let b of(this.#b.set(c,{dirs:d,paths:a}),a)){let a=this.#a.get(b);a?a.push(c):this.#a.set(b,[c])}for(let a of d){let b=this.#a.get(a);if(b){let a=b.at(-1);a instanceof Set?a.add(c):b.push(new Set([c]))}else this.#a.set(a,[new Set([c])])}return this.#e(c)}#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}},dv=Symbol("onEntry"),dw=Symbol("checkFs"),dx=Symbol("checkFs2"),dy=Symbol("isReusable"),dz=Symbol("makeFs"),dA=Symbol("file"),dB=Symbol("directory"),dC=Symbol("link"),dD=Symbol("symlink"),dE=Symbol("hardlink"),dF=Symbol("ensureNoSymlink"),dG=Symbol("unsupported"),dH=Symbol("checkPath"),dI=Symbol("stripAbsolutePath"),dJ=Symbol("mkdir"),dK=Symbol("onError"),dL=Symbol("pending"),dM=Symbol("pend"),dN=Symbol("unpend"),dO=Symbol("ended"),dP=Symbol("maybeClose"),dQ=Symbol("skip"),dR=Symbol("doChown"),dS=Symbol("uid"),dT=Symbol("gid"),dU=Symbol("checkedCwd"),dV="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),dW=(a,b,c)=>void 0!==a&&a===a>>>0?a:void 0!==b&&b===b>>>0?b:c,dX=class extends b6{[dO]=!1;[dU]=!1;[dL]=0;reservations=new du;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[dO]=!0,this[dP]()},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||dV,this.newer=!!a.newer,this.keep=!!a.keep,this.noMtime=!!a.noMtime,this.preservePaths=!!a.preservePaths,this.unlink=!!a.unlink,this.cwd=bx(b.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[dv](a))}warn(a,b,c={}){return("TAR_BAD_ARCHIVE"===a||"TAR_ABORT"===a)&&(c.recoverable=!1),super.warn(a,b,c)}[dP](){this[dO]&&0===this[dL]&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[dI](a,c){let d=a[c],{type:e}=a;if(!d||this.preservePaths)return!0;let[f,g]=cd(d),h=g.replaceAll(/\\/g,"/").split("/");if(h.includes("..")||dV&&/^[a-z]:\.\.$/i.test(h[0]??"")){if("path"===c||"Link"===e)return this.warn("TAR_ENTRY_ERROR",`${c} contains '..'`,{entry:a,[c]:d}),!1;let f=b.default.posix.dirname(a.path),g=b.default.posix.normalize(b.default.posix.join(f,h.join("/")));if(g.startsWith("../")||".."===g)return this.warn("TAR_ENTRY_ERROR",`${c} escapes extraction directory`,{entry:a,[c]:d}),!1}return f&&(a[c]=String(g),this.warn("TAR_ENTRY_INFO",`stripping ${f} from absolute ${c}`,{entry:a,[c]:d})),!0}[dH](a){let c=bx(a.path),d=c.split("/");if(this.strip){if(d.length<this.strip)return!1;if("Link"===a.type){let b=bx(String(a.linkpath)).split("/");if(!(b.length>=this.strip))return!1;a.linkpath=b.slice(this.strip).join("/")}d.splice(0,this.strip),a.path=d.join("/")}if(isFinite(this.maxDepth)&&d.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:a,path:c,depth:d.length,maxDepth:this.maxDepth}),!1;if(!this[dI](a,"path")||!this[dI](a,"linkpath"))return!1;if(a.absolute=b.default.isAbsolute(a.path)?bx(b.default.resolve(a.path)):bx(b.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:bx(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:c}=b.default.win32.parse(String(a.absolute));a.absolute=c+ci(String(a.absolute).slice(c.length));let{root:d}=b.default.win32.parse(a.path);a.path=d+ci(a.path.slice(d.length))}return!0}[dv](a){if(!this[dH](a))return a.resume();switch(n.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[dw](a);default:return this[dG](a)}}[dK](a,b){"CwdError"===a.name?this.emit("error",a):(this.warn("TAR_ENTRY_ERROR",a,{entry:b}),this[dN](),b.resume())}[dJ](a,d,e){((a,d,e)=>{a=bx(a);let f=d.umask??18,g=448|d.mode,h=(g&f)!=0,i=d.uid,j=d.gid,k="number"==typeof i&&"number"==typeof j&&(i!==d.processUid||j!==d.processGid),l=d.preserve,m=d.unlink,n=bx(d.cwd),o=(b,d)=>{b?e(b):d&&k?dj(d,i,j,a=>o(a)):h?c.default.chmod(a,g,e):e()};if(a===n){var q;return q=a,c.default.stat(q,(a,b)=>{(a||!b.isDirectory())&&(a=new dm(q,a?.code||"ENOTDIR")),o(a)})}if(l)return p.default.mkdir(a,{mode:g,recursive:!0}).then(a=>o(null,a??void 0),o);let r=bx(b.default.relative(n,a)).split("/");dp(n,r,g,m,n,void 0,o)})(bx(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:d},e)}[dR](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}[dS](a){return dW(this.uid,a.uid,this.processUid)}[dT](a){return dW(this.gid,a.gid,this.processGid)}[dA](a,b){let d="number"==typeof a.mode?4095&a.mode:this.fmode,e=new aI(String(a.absolute),{flags:df(a.size),mode:d,autoClose:!1});e.on("error",d=>{e.fd&&c.default.close(e.fd,()=>{}),e.write=()=>!0,this[dK](d,a),b()});let f=1,g=d=>{if(d){e.fd&&c.default.close(e.fd,()=>{}),this[dK](d,a),b();return}0==--f&&void 0!==e.fd&&c.default.close(e.fd,c=>{c?this[dK](c,a):this[dN](),b()})};e.on("finish",()=>{let b=String(a.absolute),d=e.fd;if("number"==typeof d&&a.mtime&&!this.noMtime){f++;let e=a.atime||new Date,h=a.mtime;c.default.futimes(d,e,h,a=>a?c.default.utimes(b,e,h,b=>g(b&&a)):g())}if("number"==typeof d&&this[dR](a)){f++;let e=this[dS](a),h=this[dT](a);"number"==typeof e&&"number"==typeof h&&c.default.fchown(d,e,h,a=>a?c.default.chown(b,e,h,b=>g(b&&a)):g())}g()});let h=this.transform&&this.transform(a)||a;h!==a&&(h.on("error",c=>{this[dK](c,a),b()}),a.pipe(h)),h.pipe(e)}[dB](a,b){let d="number"==typeof a.mode?4095&a.mode:this.dmode;this[dJ](String(a.absolute),d,d=>{if(d){this[dK](d,a),b();return}let e=1,f=()=>{0==--e&&(b(),this[dN](),a.resume())};a.mtime&&!this.noMtime&&(e++,c.default.utimes(String(a.absolute),a.atime||new Date,a.mtime,f)),this[dR](a)&&(e++,c.default.chown(String(a.absolute),Number(this[dS](a)),Number(this[dT](a)),f)),f()})}[dG](a){a.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${a.type}`,{entry:a}),a.resume()}[dD](a,c){let d=bx(b.default.relative(this.cwd,b.default.resolve(b.default.dirname(String(a.absolute)),String(a.linkpath)))).split("/");this[dF](a,this.cwd,d,()=>this[dC](a,String(a.linkpath),"symlink",c),b=>{this[dK](b,a),c()})}[dE](a,c){let d=bx(b.default.resolve(this.cwd,String(a.linkpath))),e=bx(String(a.linkpath)).split("/");this[dF](a,this.cwd,e,()=>this[dC](a,d,"link",c),b=>{this[dK](b,a),c()})}[dF](a,d,e,f,g){let h=e.shift();if(this.preservePaths||void 0===h)return f();let i=b.default.resolve(d,h);c.default.lstat(i,(c,d)=>c?f():d?.isSymbolicLink()?g(new dn(i,b.default.resolve(i,e.join("/")))):void this[dF](a,i,e,f,g))}[dM](){this[dL]++}[dN](){this[dL]--,this[dP]()}[dQ](a){this[dN](),a.resume()}[dy](a,b){return"File"===a.type&&!this.unlink&&b.isFile()&&b.nlink<=1&&!dV}[dw](a){this[dM]();let b=[a.path];a.linkpath&&b.push(a.linkpath),this.reservations.reserve(b,b=>this[dx](a,b))}[dx](a,d){let e=a=>{d(a)},f=()=>{this[dJ](this.cwd,this.dmode,b=>{if(b){this[dK](b,a),e();return}this[dU]=!0,g()})},g=()=>{if(a.absolute!==this.cwd){let c=bx(b.default.dirname(String(a.absolute)));if(c!==this.cwd)return this[dJ](c,this.dmode,b=>{if(b){this[dK](b,a),e();return}h()})}h()},h=()=>{c.default.lstat(String(a.absolute),(b,d)=>{if(d&&(this.keep||this.newer&&d.mtime>(a.mtime??d.mtime))){this[dQ](a),e();return}if(b||this[dy](a,d))return this[dz](null,a,e);if(d.isDirectory()){if("Directory"===a.type){let b=this.chmod&&a.mode&&(4095&d.mode)!==a.mode,f=b=>this[dz](b??null,a,e);return b?c.default.chmod(String(a.absolute),Number(a.mode),f):f()}if(a.absolute!==this.cwd)return c.default.rmdir(String(a.absolute),b=>this[dz](b??null,a,e))}if(a.absolute===this.cwd)return this[dz](null,a,e);((a,b)=>{if(!dV)return c.default.unlink(a,b);let d=a+".DELETE."+(0,o.randomBytes)(16).toString("hex");c.default.rename(a,d,a=>{if(a)return b(a);c.default.unlink(d,b)})})(String(a.absolute),b=>this[dz](b??null,a,e))})};this[dU]?g():f()}[dz](a,b,c){if(a){this[dK](a,b),c();return}switch(b.type){case"File":case"OldFile":case"ContiguousFile":return this[dA](b,c);case"Link":return this[dE](b,c);case"SymbolicLink":return this[dD](b,c);case"Directory":case"GNUDumpDir":return this[dB](b,c)}}[dC](a,b,d,e){c.default[d](b,String(a.absolute),b=>{b?this[dK](b,a):(this[dN](),a.resume()),e()})}},dY=a=>{try{return[null,a()]}catch(a){return[a,null]}},dZ=class extends dX{sync=!0;[dz](a,b){return super[dz](a,b,()=>{})}[dw](a){if(!this[dU]){let b=this[dJ](this.cwd,this.dmode);if(b)return this[dK](b,a);this[dU]=!0}if(a.absolute!==this.cwd){let c=bx(b.default.dirname(String(a.absolute)));if(c!==this.cwd){let b=this[dJ](c,this.dmode);if(b)return this[dK](b,a)}}let[d,e]=dY(()=>c.default.lstatSync(String(a.absolute)));if(e&&(this.keep||this.newer&&e.mtime>(a.mtime??e.mtime)))return this[dQ](a);if(d||this[dy](a,e))return this[dz](null,a);if(e.isDirectory()){if("Directory"===a.type){let[b]=this.chmod&&a.mode&&(4095&e.mode)!==a.mode?dY(()=>{c.default.chmodSync(String(a.absolute),Number(a.mode))}):[];return this[dz](b,a)}let[b]=dY(()=>c.default.rmdirSync(String(a.absolute)));this[dz](b,a)}let[f]=a.absolute===this.cwd?[]:dY(()=>(a=>{if(!dV)return c.default.unlinkSync(a);let b=a+".DELETE."+(0,o.randomBytes)(16).toString("hex");c.default.renameSync(a,b),c.default.unlinkSync(b)})(String(a.absolute)));this[dz](f,a)}[dA](a,b){let d="number"==typeof a.mode?4095&a.mode:this.fmode,e=d=>{let e;try{c.default.closeSync(f)}catch(a){e=a}(d||e)&&this[dK](d||e,a),b()},f;try{f=c.default.openSync(String(a.absolute),df(a.size),d)}catch(a){return e(a)}let g=this.transform&&this.transform(a)||a;g!==a&&(g.on("error",b=>this[dK](b,a)),a.pipe(g)),g.on("data",a=>{try{c.default.writeSync(f,a,0,a.length)}catch(a){e(a)}}),g.on("end",()=>{let b=null;if(a.mtime&&!this.noMtime){let d=a.atime||new Date,e=a.mtime;try{c.default.futimesSync(f,d,e)}catch(f){try{c.default.utimesSync(String(a.absolute),d,e)}catch{b=f}}}if(this[dR](a)){let d=this[dS](a),e=this[dT](a);try{c.default.fchownSync(f,Number(d),Number(e))}catch(f){try{c.default.chownSync(String(a.absolute),Number(d),Number(e))}catch{b=b||f}}}e(b)})}[dB](a,b){let d="number"==typeof a.mode?4095&a.mode:this.dmode,e=this[dJ](String(a.absolute),d);if(e){this[dK](e,a),b();return}if(a.mtime&&!this.noMtime)try{c.default.utimesSync(String(a.absolute),a.atime||new Date,a.mtime)}catch{}if(this[dR](a))try{c.default.chownSync(String(a.absolute),Number(this[dS](a)),Number(this[dT](a)))}catch{}b(),a.resume()}[dJ](a,d){try{return((a,d)=>{a=bx(a);let e=d.umask??18,f=448|d.mode,g=(f&e)!=0,h=d.uid,i=d.gid,j="number"==typeof h&&"number"==typeof i&&(h!==d.processUid||i!==d.processGid),k=d.preserve,l=d.unlink,m=bx(d.cwd),n=b=>{b&&j&&dl(b,h,i),g&&c.default.chmodSync(a,f)};if(a===m)return(a=>{let b=!1,d;try{b=c.default.statSync(a).isDirectory()}catch(a){d=a?.code}finally{if(!b)throw new dm(a,d??"ENOTDIR")}})(m),n();if(k)return n(c.default.mkdirSync(a,{mode:f,recursive:!0})??void 0);let o=bx(b.default.relative(m,a)).split("/"),p;for(let a=o.shift(),d=m;a&&(d+="/"+a);a=o.shift()){d=bx(b.default.resolve(d));try{c.default.mkdirSync(d,f),p=p||d}catch{let a=c.default.lstatSync(d);if(a.isDirectory())continue;if(l){c.default.unlinkSync(d),c.default.mkdirSync(d,f),p=p||d;continue}if(a.isSymbolicLink())return new dn(d,d+"/"+o.join("/"))}}return n(p)})(bx(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:d})}catch(a){return a}}[dF](a,d,e,f,g){if(this.preservePaths||0===e.length)return f();let h=d;for(let a of e){h=b.default.resolve(h,a);let[i,j]=dY(()=>c.default.lstatSync(h));if(i)return f();if(j.isSymbolicLink())return g(new dn(h,b.default.resolve(d,e.join("/"))))}f()}[dC](a,b,d,e){let f=`${d}Sync`;try{c.default[f](b,String(a.absolute)),e(),a.resume()}catch(b){return this[dK](b,a)}}},d$=aN(a=>{let b=new dZ(a),d=a.file,e=c.default.statSync(d);new aH(d,{readSize:a.maxReadSize||0x1000000,size:e.size}).pipe(b)},(a,b)=>{let d=new dX(a),e=a.maxReadSize||0x1000000,f=a.file;return new Promise((a,b)=>{d.on("error",b),d.on("close",a),c.default.stat(f,(a,c)=>{if(a)b(a);else{let a=new aG(f,{readSize:e,size:c.size});a.on("error",b),a.pipe(d)}})})},a=>new dZ(a),a=>new dX(a),(a,b)=>{b?.length&&b8(a,b)}),d_=(a,c)=>{c.forEach(c=>{"@"===c.charAt(0)?b9({file:b.default.resolve(a.cwd,c.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(c)}),a.end()},d0=async(a,c)=>{for(let d of c)"@"===d.charAt(0)?await b9({file:b.default.resolve(String(a.cwd),d.slice(1)),noResume:!0,onReadEntry:b=>a.add(b)}):a.add(d);a.end()},d1=aN((a,b)=>{let d=new c3(a),e=!0,f,g;try{var h,i,j,k,l;let m;try{f=c.default.openSync(a.file,"r+")}catch(b){if(b?.code==="ENOENT")f=c.default.openSync(a.file,"w+");else throw b}let n=c.default.fstatSync(f),o=Buffer.alloc(512);a:for(g=0;g<n.size;g+=512){for(let a=0,b=0;a<512;a+=b){if(b=c.default.readSync(f,o,a,o.length-a,g+a),0===g&&31===o[0]&&139===o[1])throw Error("cannot append to compressed archives");if(!b)break a}let b=new be(o);if(!b.cksumValid)break;let d=512*Math.ceil((b.size||0)/512);if(g+d+512>n.size)break;g+=d,a.mtimeCache&&b.mtime&&a.mtimeCache.set(String(b.path),b.mtime)}e=!1,h=a,i=d,j=g,k=f,l=b,m=new aJ(h.file,{fd:k,start:j}),i.pipe(m),d_(i,l)}finally{if(e)try{c.default.closeSync(f)}catch{}}},(a,b)=>{b=Array.from(b);let d=new c2(a);return new Promise((e,f)=>{d.on("error",f);let g="r+",h=(i,j)=>i&&"ENOENT"===i.code&&"r+"===g?(g="w+",c.default.open(a.file,g,h)):i||!j?f(i):void c.default.fstat(j,(g,h)=>{if(g)return c.default.close(j,()=>f(g));((b,d,e)=>{let f=(a,d)=>{a?c.default.close(b,b=>e(a)):e(null,d)},g=0;if(0===d)return f(null,0);let h=0,i=Buffer.alloc(512),j=(e,k)=>{if(e||void 0===k)return f(e);if((h+=k)<512&&k)return c.default.read(b,i,h,i.length-h,g+h,j);if(0===g&&31===i[0]&&139===i[1])return f(Error("cannot append to compressed archives"));if(h<512)return f(null,g);let l=new be(i);if(!l.cksumValid)return f(null,g);let m=512*Math.ceil((l.size??0)/512);if(g+m+512>d||(g+=m+512)>=d)return f(null,g);a.mtimeCache&&l.mtime&&a.mtimeCache.set(String(l.path),l.mtime),h=0,c.default.read(b,i,0,512,g,j)};c.default.read(b,i,0,512,g,j)})(j,h.size,(c,g)=>{if(c)return f(c);let h=new aI(a.file,{fd:j,start:g});d.pipe(h),h.on("error",f),h.on("close",e),d0(d,b)})});c.default.open(a.file,g,h)})},()=>{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")});aN(d1.syncFile,d1.asyncFile,d1.syncNoFile,d1.asyncNoFile,(a,b=[])=>{d1.validate?.(a,b),d2(a)});var d2=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))};let d3=".lock",d4=/^tower-(backup|auto)-\d{8}-\d{6}\.tar\.gz$/;async function d5(a,d,e,f){let g,h,i,j,k=`${f?"tower-auto":"tower-backup"}-${(g=new Date,h=a=>String(a).padStart(2,"0"),i=`${g.getFullYear()}${h(g.getMonth()+1)}${h(g.getDate())}`,j=`${h(g.getHours())}${h(g.getMinutes())}${h(g.getSeconds())}`,`${i}-${j}`)}.tar.gz`,l=(0,b.join)(d,k),m=(0,b.join)(a,"metadata.json");(0,c.writeFileSync)(m,JSON.stringify(e,null,2));try{let d=["metadata.json"];(0,c.existsSync)((0,b.join)(a,"database","tower.db"))&&d.push((0,b.join)("database","tower.db")),(0,c.existsSync)((0,b.join)(a,"storage","assets"))&&d.push((0,b.join)("storage","assets")),(0,c.existsSync)((0,b.join)(a,"assistant"))&&d.push("assistant"),(0,c.existsSync)((0,b.join)(a,"logs"))&&d.push("logs"),await c6({gzip:!0,file:l,cwd:a},d);let g=(0,c.statSync)(l);return{filename:k,size:g.size,createdAt:e.createdAt,autoBackup:f,label:e.label??"",stats:e.stats,preview:e.preview}}catch(a){try{(0,c.unlinkSync)(l)}catch{}throw a}finally{try{(0,c.unlinkSync)(m)}catch{}}}async function d6(a){let d=(0,b.join)((0,b.dirname)(a),`_meta_tmp_${Date.now()}`);try{(0,c.mkdirSync)(d,{recursive:!0}),await d$({file:a,cwd:d,filter:a=>"metadata.json"===a});let e=(0,b.join)(d,"metadata.json");if(!(0,c.existsSync)(e))return null;return JSON.parse((0,c.readFileSync)(e,"utf-8"))}catch{return null}finally{(0,c.rmSync)(d,{recursive:!0,force:!0})}}async function d7(a){if(!(0,c.existsSync)(a))return[];let d=(0,c.readdirSync)(a).filter(a=>d4.test(a)).sort().reverse(),e=[];for(let f of d){let d=(0,b.join)(a,f),g=(0,c.statSync)(d),h=await d6(d);e.push({filename:f,size:g.size,createdAt:h?.createdAt??g.mtime.toISOString(),autoBackup:h?.autoBackup??f.startsWith("tower-auto"),label:h?.label??"",stats:h?.stats??{workspaces:0,projects:0,tasks:0},preview:h?.preview??[]})}return e}async function d8(a,d){if((0,c.mkdirSync)(d,{recursive:!0}),await d$({file:a,cwd:d,filter:a=>!((0,b.isAbsolute)(a)||a.includes(".."))}),!(0,c.existsSync)((0,b.join)(d,"database","tower.db")))throw Error("Invalid archive: missing database/tower.db")}let d9=["database",(0,b.join)("storage","assets"),"assistant","logs"];a.s(["acquireLock",0,function(a){let d=(0,b.join)(a,d3);if((0,c.existsSync)(d)){let a=parseInt((0,c.readFileSync)(d,"utf-8").trim(),10);try{throw process.kill(a,0),Error("Another backup operation is in progress")}catch(a){if(a instanceof Error&&a.message.includes("Another backup"))throw a}}(0,c.writeFileSync)(d,String(process.pid))},"cleanupTempDirs",0,function(a){for(let d of["_restore_tmp","_old_tmp"]){let e=(0,b.join)(a,d);(0,c.existsSync)(e)&&(0,c.rmSync)(e,{recursive:!0,force:!0})}},"createArchive",0,d5,"deleteWalFiles",0,function(a){let d=(0,b.join)(a,"database");for(let a of["-wal","-shm"]){let e=(0,b.join)(d,`tower.db${a}`);try{(0,c.unlinkSync)(e)}catch{}}},"extractArchive",0,d8,"listArchives",0,d7,"releaseLock",0,function(a){let d=(0,b.join)(a,d3);try{(0,c.unlinkSync)(d)}catch{}},"swapDirs",0,function(a,d){let e=(0,b.join)(a,"_old_tmp");(0,c.mkdirSync)(e,{recursive:!0});try{for(let d of d9){let f=(0,b.join)(a,d),g=(0,b.join)(e,d);(0,c.existsSync)(f)&&((0,c.mkdirSync)((0,b.dirname)((0,b.join)(e,d)),{recursive:!0}),(0,c.renameSync)(f,g))}for(let e of d9){let f=(0,b.join)(d,e),g=(0,b.join)(a,e);(0,c.existsSync)(f)&&((0,c.mkdirSync)((0,b.dirname)((0,b.join)(a,e)),{recursive:!0}),(0,c.renameSync)(f,g))}(0,c.rmSync)(e,{recursive:!0,force:!0})}catch(d){for(let d of d9){let f=(0,b.join)(e,d),g=(0,b.join)(a,d);if((0,c.existsSync)(f)&&!(0,c.existsSync)(g))try{(0,c.renameSync)(f,g)}catch{}}throw(0,c.rmSync)(e,{recursive:!0,force:!0}),d}},"validateBackupDir",0,function(a){if(!(0,b.isAbsolute)(a))throw Error("Backup directory must be an absolute path");let c=(0,d.homedir)(),e=(0,b.relative)(c,a);if(e.startsWith("..")||(0,b.isAbsolute)(e))throw Error("Backup directory must be within your home directory")},"validateFilename",0,function(a){if(!d4.test(a))throw Error(`Invalid backup filename: ${a}`)},"wipeTowerData",0,function(a){for(let d of["database",(0,b.join)("storage","assets"),"assistant","logs"]){let e=(0,b.join)(a,d);(0,c.existsSync)(e)&&(0,c.rmSync)(e,{recursive:!0,force:!0})}}],950071)},712072,(a,b,c)=>{b.exports={name:"tower-studio",version:"0.2.5",description:"AI Task Orchestration Platform — Kanban + Terminal + Code Editor + MCP",bin:{tower:"bin/tower.mjs"},files:["bin/",".next/standalone/","prisma/schema.prisma","prisma/init-fts.ts","prisma/pre-migration.sql","scripts/init-db.ts","scripts/generate-prisma-client.js","scripts/link-prisma.js","scripts/fix-native-permissions.js","scripts/post-install-banner.js","scripts/prune-standalone-natives.js","scripts/migrate-data.ts","scripts/post-tool-hook.js","scripts/session-start-hook.js","scripts/stop-hook.js","dist/mcp-server.cjs","src/mcp/","next.config.ts","tsconfig.json"],scripts:{predev:"node scripts/ensure-dev-db.js && pnpm mcp:build",dev:"next dev --webpack -p 9022",build:"pnpm mcp:build && rm -rf .next && next build && find .next -name '*.map' -delete && cp -R .next/static .next/standalone/.next/ && cp -R public .next/standalone/ && node scripts/prune-standalone-natives.js",release:"pnpm build && npm pack","release:smoke":"node scripts/release-smoke.js","release:publish":"pnpm build && npm publish",start:"next start",lint:"eslint","db:generate":"prisma generate","db:push":"prisma db push","db:seed":"tsx prisma/seed.ts","db:studio":"prisma studio","db:init":"tsx scripts/init-db.ts","db:init-fts":"tsx prisma/init-fts.ts",test:"vitest","test:run":"vitest run","test:e2e":"NO_PROXY=localhost,127.0.0.1 no_proxy=localhost,127.0.0.1 playwright test",changelog:"conventional-changelog -p angular -i CHANGELOG.md -s",mcp:"node dist/mcp-server.cjs","mcp:build":"esbuild src/mcp/index.ts --bundle --platform=node --target=node18 --format=cjs --outfile=dist/mcp-server.cjs --external:@prisma/client --external:@modelcontextprotocol/sdk --external:@opentelemetry/api --alias:@=./src","mcp:dev":"tsx src/mcp/index.ts",postinstall:"node scripts/generate-prisma-client.js && node scripts/link-prisma.js && node scripts/fix-native-permissions.js && node scripts/post-install-banner.js"},pnpm:{onlyBuiltDependencies:["@prisma/engines","@vscode/ripgrep","esbuild","node-pty","prisma"]},dependencies:{"@modelcontextprotocol/sdk":"^1.28.0","@prisma/client":"^6.19.2","node-pty":"^1.1.0",prisma:"^6.19.2",tsx:"^4.21.0",ws:"^8.20.0"},devDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.2.114","@base-ui/react":"^1.3.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@iconify/react":"^6.0.2","@monaco-editor/react":"4.8.0-rc.3","@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4","@tailwindcss/typography":"^0.5.19","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","@types/shell-quote":"^1.7.5","@types/tar":"^7.0.87","@types/ws":"^8.18.1","@uiw/react-md-editor":"^4.0.11","@vitejs/plugin-react":"^6.0.1","@vscode/ripgrep":"^1.17.1","@xterm/addon-attach":"^0.12.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/addon-webgl":"^0.19.0","@xterm/xterm":"^6.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1",cmdk:"^1.1.1","conventional-changelog-cli":"^5.0.0",eslint:"^9","eslint-config-next":"16.2.1","fuse.js":"^7.3.0",ignore:"^7.0.5",jsdom:"^29.0.1","lucide-react":"^1.6.0","monaco-editor":"^0.55.1",next:"16.2.1","next-themes":"^0.4.6","parse-diff":"^0.12.0",react:"19.2.4","react-dom":"19.2.4","react-resizable-panels":"^2.1.9","react-reverse-portal":"^2.3.0",shadcn:"^4.1.0","shell-quote":"^1.8.3","simple-git":"^3.36.0",sonner:"^2.0.7",streamdown:"^2.5.0","tailwind-merge":"^3.5.0",tailwindcss:"^4",tar:"^7.5.13","tw-animate-css":"^1.4.0",typescript:"^5",vitest:"^4.1.1",zod:"^4.3.6",zustand:"^5.0.12"}}},537944,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(761469),f=a.i(319997),g=a.i(980999),h=a.i(950071),i=a.i(750227),j=a.i(902157),k=a.i(188139),l=a.i(630048),m=b([g]);async function n(){return await (0,g.getConfigValue)("system.backupDir","")||(0,f.getBackupsDir)()}async function o(b,c){let[d,f,g]=await Promise.all([e.db.workspace.count(),e.db.project.count(),e.db.task.count()]),h=(await e.db.workspace.findMany({take:3,orderBy:{updatedAt:"desc"},select:{name:!0,description:!0,projects:{take:3,select:{name:!0},orderBy:{updatedAt:"desc"}}}})).map(a=>{let b=a.description??"";return{workspace:b?`${b} ${a.name}`:a.name,projects:a.projects.map(a=>a.name)}});return{version:1,createdAt:new Date().toISOString(),towerVersion:function(){try{return a.r(712072).version??"unknown"}catch{return"unknown"}}(),autoBackup:b,label:c||void 0,stats:{workspaces:d,projects:f,tasks:g},preview:h}}async function p(a){let b=await n();(0,h.acquireLock)(b);try{let c=await o(!1,a);return await e.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await (0,h.createArchive)((0,f.getTowerDir)(),b,c,!1)}finally{(0,h.releaseLock)(b)}}async function q(){let a=await n();return(0,h.listArchives)(a)}async function r(a){(0,h.validateFilename)(a);let b=await n(),c=(0,i.join)(b,a);if(!(0,j.existsSync)(c))throw Error("Backup file not found");(0,j.unlinkSync)(c)}async function s(b){(0,h.validateFilename)(b);let c=(0,f.getTowerDir)(),d=await n(),g=(0,i.join)(d,b);if(!(0,j.existsSync)(g))throw Error("Backup file not found");(0,h.acquireLock)(d);let l=(0,i.join)(c,"_restore_tmp");try{let b=await o(!0);await e.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await (0,h.createArchive)(c,d,b,!0);let{destroyAllSessions:f}=await a.A(98813);f(),await (0,h.extractArchive)(g,l),await e.db.$disconnect(),(0,h.deleteWalFiles)(c),(0,h.swapDirs)(c,l),await (0,e.resetDbConnection)(),await e.db.$executeRawUnsafe(`
3
+ `).reduce(bw,Object.create(null)),bw=(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},bx="win32"!==(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)?a=>a:a=>a&&a.replaceAll(/\\/g,"/"),by=class extends ac{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=bx(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?bx(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=bx(a.path)),a.linkpath&&(a.linkpath=bx(a.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(a).filter(([a,c])=>!(null==c||"path"===a&&b))))}},bz=(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))},bA=Buffer.from([31,139]),bB=Buffer.from([40,181,47,253]),bC=Math.max(bA.length,bB.length),bD=Symbol("state"),bE=Symbol("writeEntry"),bF=Symbol("readEntry"),bG=Symbol("nextEntry"),bH=Symbol("processEntry"),bI=Symbol("extendedHeader"),bJ=Symbol("globalExtendedHeader"),bK=Symbol("meta"),bL=Symbol("emitMeta"),bM=Symbol("buffer"),bN=Symbol("queue"),bO=Symbol("ended"),bP=Symbol("emittedEnd"),bQ=Symbol("emit"),bR=Symbol("unzip"),bS=Symbol("consumeChunk"),bT=Symbol("consumeChunkSub"),bU=Symbol("consumeBody"),bV=Symbol("consumeMeta"),bW=Symbol("consumeHeader"),bX=Symbol("consuming"),bY=Symbol("bufferConcat"),bZ=Symbol("maybeEnd"),b$=Symbol("writing"),b_=Symbol("aborted"),b0=Symbol("onDone"),b1=Symbol("sawValidEntry"),b2=Symbol("sawNullBlock"),b3=Symbol("sawEOF"),b4=Symbol("closeStream"),b5=()=>!0,b6=class extends e.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[bN]=[];[bM];[bF];[bE];[bD]="begin";[bK]="";[bI];[bJ];[bO]=!1;[bR];[b_]=!1;[b1];[b2]=!1;[b3]=!1;[b$]=!1;[bX]=!1;[bP]=!1;constructor(a={}){super(),this.file=a.file||"",this.on(b0,()=>{("begin"===this[bD]||!1===this[b1])&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),a.ondone?this.on(b0,a.ondone):this.on(b0,()=>{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:b5;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[b4]()),"function"==typeof a.onwarn&&this.on("warn",a.onwarn),"function"==typeof a.onReadEntry&&this.on("entry",a.onReadEntry)}warn(a,b,c={}){bz(this,a,b,c)}[bW](a,b){let c;void 0===this[b1]&&(this[b1]=!1);try{c=new be(a,b,this[bI],this[bJ])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(c.nullBlock)this[b2]?(this[b3]=!0,"begin"===this[bD]&&(this[bD]="header"),this[bQ]("eof")):(this[b2]=!0,this[bQ]("nullBlock"));else if(this[b2]=!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[bE]=new by(c,this[bI],this[bJ]);if(!this[b1])if(a.remain){let b=()=>{a.invalid||(this[b1]=!0)};a.on("end",b)}else this[b1]=!0;a.meta?a.size>this.maxMetaEntrySize?(a.ignore=!0,this[bQ]("ignoredEntry",a),this[bD]="ignore",a.resume()):a.size>0&&(this[bK]="",a.on("data",a=>this[bK]+=a),this[bD]="meta"):(this[bI]=void 0,a.ignore=a.ignore||!this.filter(a.path,a),a.ignore?(this[bQ]("ignoredEntry",a),this[bD]=a.remain?"ignore":"header",a.resume()):(a.remain?this[bD]="body":(this[bD]="header",a.end()),this[bF]?this[bN].push(a):(this[bN].push(a),this[bG]())))}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})}[b4](){queueMicrotask(()=>this.emit("close"))}[bH](a){let b=!0;if(a)if(Array.isArray(a)){let[b,...c]=a;this.emit(b,...c)}else this[bF]=a,this.emit("entry",a),a.emittedEnd||(a.on("end",()=>this[bG]()),b=!1);else this[bF]=void 0,b=!1;return b}[bG](){do;while(this[bH](this[bN].shift()))if(0===this[bN].length){let a=this[bF];!a||a.flowing||a.size===a.remain?this[b$]||this.emit("drain"):a.once("drain",()=>this.emit("drain"))}}[bU](a,b){let c=this[bE];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[bD]="header",this[bE]=void 0,c.end()),e.length}[bV](a,b){let c=this[bE],d=this[bU](a,b);return!this[bE]&&c&&this[bL](c),d}[bQ](a,b,c){0!==this[bN].length||this[bF]?this[bN].push([a,b,c]):this.emit(a,b,c)}[bL](a){switch(this[bQ]("meta",this[bK]),a.type){case"ExtendedHeader":case"OldExtendedHeader":this[bI]=bt.parse(this[bK],this[bI],!1);break;case"GlobalExtendedHeader":this[bJ]=bt.parse(this[bK],this[bJ],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let a=this[bI]??Object.create(null);this[bI]=a,a.path=this[bK].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let a=this[bI]||Object.create(null);this[bI]=a,a.linkpath=this[bK].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[bR]||void 0===this.brotli&&!1===this[bR])&&a){if(this[bM]&&(a=Buffer.concat([this[bM],a]),this[bM]=void 0),a.length<bC)return this[bM]=a,c?.(),!0;for(let b=0;void 0===this[bR]&&b<bA.length;b++)a[b]!==bA[b]&&(this[bR]=!1);let b=!1;if(!1===this[bR]&&!1!==this.zstd){b=!0;for(let c=0;c<bB.length;c++)if(a[c]!==bB[c]){b=!1;break}}let d=void 0===this.brotli&&!b;if(!1===this[bR]&&d)if(a.length<512)if(!this[bO])return this[bM]=a,c?.(),!0;else this.brotli=!0;else try{new be(a.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(void 0===this[bR]||!1===this[bR]&&(this.brotli||b)){let d=this[bO];this[bO]=!1,this[bR]=void 0===this[bR]?new a$({}):b?new a4({}):new a1({}),this[bR].on("data",a=>this[bS](a)),this[bR].on("error",a=>this.abort(a)),this[bR].on("end",()=>{this[bO]=!0,this[bS]()}),this[b$]=!0;let e=!!this[bR][d?"end":"write"](a);return this[b$]=!1,c?.(),e}}this[b$]=!0,this[bR]?this[bR].write(a):this[bS](a),this[b$]=!1;let d=!(this[bN].length>0)&&(!this[bF]||this[bF].flowing);return d||0!==this[bN].length||this[bF]?.once("drain",()=>this.emit("drain")),c?.(),d}[bY](a){a&&!this[b_]&&(this[bM]=this[bM]?Buffer.concat([this[bM],a]):a)}[bZ](){if(this[bO]&&!this[bP]&&!this[b_]&&!this[bX]){this[bP]=!0;let a=this[bE];if(a&&a.blockRemain){let b=this[bM]?this[bM].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${a.blockRemain} more bytes, only ${b} available)`,{entry:a}),this[bM]&&a.write(this[bM]),a.end()}this[bQ](b0)}}[bS](a){if(this[bX]&&a)this[bY](a);else if(a||this[bM]){if(a){if(this[bX]=!0,this[bM]){this[bY](a);let b=this[bM];this[bM]=void 0,this[bT](b)}else this[bT](a);for(;this[bM]&&this[bM]?.length>=512&&!this[b_]&&!this[b3];){let a=this[bM];this[bM]=void 0,this[bT](a)}this[bX]=!1}}else this[bZ]();(!this[bM]||this[bO])&&this[bZ]()}[bT](a){let b=0,c=a.length;for(;b+512<=c&&!this[b_]&&!this[b3];)switch(this[bD]){case"begin":case"header":this[bW](a,b),b+=512;break;case"ignore":case"body":b+=this[bU](a,b);break;case"meta":b+=this[bV](a,b);break;default:throw Error("invalid state: "+this[bD])}b<c&&(this[bM]=this[bM]?Buffer.concat([a.subarray(b),this[bM]]):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[bR]?(a&&this[bR].write(a),this[bR].end()):(this[bO]=!0,(void 0===this.brotli||void 0===this.zstd)&&(a=a||Buffer.alloc(0)),a&&this.write(a),this[bZ]())),this}},b7=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)},b8=(a,b)=>{let c=new Map(b.map(a=>[b7(a),!0])),d=a.filter,e=(a,b="")=>{let d=b||(0,j.parse)(a).root||".",f;if(a===d)f=!1;else{let b=c.get(a);f=void 0!==b?b:e((0,j.dirname)(a),d)}return c.set(a,f),f};a.filter=d?(a,b)=>d(a,b)&&e(b7(a)):a=>e(b7(a))},b9=aN(a=>{let b=new b6(a),d=a.file,e;try{e=c.default.openSync(d,"r");let f=c.default.fstatSync(e),g=a.maxReadSize||0x1000000;if(f.size<g){let a=Buffer.allocUnsafe(f.size),d=c.default.readSync(e,a,0,f.size,0);b.end(d===a.byteLength?a:a.subarray(0,d))}else{let a=0,d=Buffer.allocUnsafe(g);for(;a<f.size;){let f=c.default.readSync(e,d,0,g,a);if(0===f)break;a+=f,b.write(d.subarray(0,f))}b.end()}}finally{if("number"==typeof e)try{c.default.closeSync(e)}catch{}}},(a,b)=>{let d=new b6(a),e=a.maxReadSize||0x1000000,f=a.file;return new Promise((a,b)=>{d.on("error",b),d.on("end",a),c.default.stat(f,(a,c)=>{if(a)b(a);else{let a=new aG(f,{readSize:e,size:c.size});a.on("error",b),a.pipe(d)}})})},a=>new b6(a),a=>new b6(a),(a,b)=>{let c;b?.length&&b8(a,b),a.noResume||(c=a.onReadEntry,a.onReadEntry=c?a=>{c(a),a.resume()}:a=>a.resume())}),ca=(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:cb,parse:cc}=b.win32,cd=a=>{let b="",c=cc(a);for(;cb(a)||c.root;){let d="/"===a.charAt(0)&&"//?/"!==a.slice(0,4)?"/":c.root;a=a.slice(d.length),b+=d,c=cc(a)}return[b,a]},ce=["|","<",">","?",":"],cf=ce.map(a=>String.fromCodePoint(61440+Number(a.codePointAt(0)))),cg=new Map(ce.map((a,b)=>[a,cf[b]])),ch=new Map(cf.map((a,b)=>[a,ce[b]])),ci=a=>ce.reduce((a,b)=>a.split(b).join(cg.get(b)),a),cj=(a,b)=>b?(a=bx(a).replace(/^\.(\/|$)/,""),b7(b)+"/"+a):bx(a),ck=Symbol("process"),cl=Symbol("file"),cm=Symbol("directory"),cn=Symbol("symlink"),co=Symbol("hardlink"),cp=Symbol("header"),cq=Symbol("read"),cr=Symbol("lstat"),cs=Symbol("onlstat"),ct=Symbol("onread"),cu=Symbol("onreadlink"),cv=Symbol("openfile"),cw=Symbol("onopenfile"),cx=Symbol("close"),cy=Symbol("mode"),cz=Symbol("awaitDrain"),cA=Symbol("ondrain"),cB=Symbol("prefix"),cC=class extends ac{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=aM(b);super(),this.path=bx(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=bx(c.cwd||process.cwd()),this.strict=!!c.strict,this.noPax=!!c.noPax,this.noMtime=!!c.noMtime,this.mtime=c.mtime,this.prefix=c.prefix?bx(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]=cd(this.path);a&&"string"==typeof b&&(this.path=b,d=a)}this.win32=!!c.win32||"win32"===process.platform,this.win32&&(this.path=(a=>cf.reduce((a,b)=>a.split(b).join(ch.get(b)),a))(this.path.replaceAll(/\\/g,"/")),a=a.replaceAll(/\\/g,"/")),this.absolute=bx(c.absolute||j.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[cs](e):this[cr]()}warn(a,b,c={}){return bz(this,a,b,c)}emit(a,...b){return"error"===a&&(this.#a=!0),super.emit(a,...b)}[cr](){f.default.lstat(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[cs](b)})}[cs](a){this.statCache.set(this.absolute,a),this.stat=a,a.isFile()||(a.size=0),this.type=cF(a),this.emit("stat",a),this[ck]()}[ck](){switch(this.type){case"File":return this[cl]();case"Directory":return this[cm]();case"SymbolicLink":return this[cn]();default:return this.end()}}[cy](a){return ca(a,"Directory"===this.type,this.portable)}[cB](a){return cj(a,this.prefix)}[cp](){if(!this.stat)throw Error("cannot write header before stat");"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new be({path:this[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](this.linkpath):this.linkpath,mode:this[cy](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 bt({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[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](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)}[cm](){if(!this.stat)throw Error("cannot create directory entry without stat");"/"!==this.path.slice(-1)&&(this.path+="/"),this.stat.size=0,this[cp](),this.end()}[cn](){f.default.readlink(this.absolute,(a,b)=>{if(a)return this.emit("error",a);this[cu](b)})}[cu](a){this.linkpath=bx(a),this[cp](),this.end()}[co](a){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=bx(j.default.relative(this.cwd,a)),this.stat.size=0,this[cp](),this.end()}[cl](){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[co](b);this.linkCache.set(a,this.absolute)}if(this[cp](),0===this.stat.size)return this.end();this[cv]()}[cv](){f.default.open(this.absolute,"r",(a,b)=>{if(a)return this.emit("error",a);this[cw](b)})}[cw](a){if(this.fd=a,this.#a)return this[cx]();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[cq]()}[cq](){let{fd:a,buf:b,offset:c,length:d,pos:e}=this;if(void 0===a||void 0===b)throw Error("cannot read file without first opening");f.default.read(a,b,c,d,e,(a,b)=>{if(a)return this[cx](()=>this.emit("error",a));this[ct](b)})}[cx](a=()=>{}){void 0!==this.fd&&f.default.close(this.fd,a)}[ct](a){if(a<=0&&this.remain>0){let a=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[cx](()=>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[cx](()=>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[cA]():this[cz](()=>this[cA]())}[cz](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)}[cA](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[cx](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[cq]()}},cD=class extends cC{sync=!0;[cr](){this[cs](f.default.lstatSync(this.absolute))}[cn](){this[cu](f.default.readlinkSync(this.absolute))}[cv](){this[cw](f.default.openSync(this.absolute,"r"))}[cq](){let a=!0;try{let{fd:b,buf:c,offset:d,length:e,pos:g}=this;if(void 0===b||void 0===c)throw Error("fd and buf must be set in READ method");let h=f.default.readSync(b,c,d,e,g);this[ct](h),a=!1}finally{if(a)try{this[cx](()=>{})}catch{}}}[cz](a){a()}[cx](a=()=>{}){void 0!==this.fd&&f.default.closeSync(this.fd),a()}},cE=class extends ac{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 bz(this,a,b,c)}constructor(a,b={}){let c=aM(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=bx(a.path),this.mode=void 0!==a.mode?this[cy](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?bx(a.linkpath):void 0,"function"==typeof c.onwarn&&this.on("warn",c.onwarn);let e=!1;if(!this.preservePaths){let[a,b]=cd(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 be({path:this[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](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 bt({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[cB](this.path),linkpath:"Link"===this.type&&void 0!==this.linkpath?this[cB](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)}[cB](a){return cj(a,this.prefix)}[cy](a){return ca(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}},cF=a=>a.isFile()?"File":a.isDirectory()?"Directory":a.isSymbolicLink()?"SymbolicLink":"Unsupported",cG=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 cH(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 cH(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 cH(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}},cH=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}},cI=class{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(a,b){this.path=a||"./",this.absolute=b}},cJ=Buffer.alloc(1024),cK=Symbol("onStat"),cL=Symbol("ended"),cM=Symbol("queue"),cN=Symbol("current"),cO=Symbol("process"),cP=Symbol("processing"),cQ=Symbol("processJob"),cR=Symbol("jobs"),cS=Symbol("jobDone"),cT=Symbol("addFSEntry"),cU=Symbol("addTarEntry"),cV=Symbol("stat"),cW=Symbol("readdir"),cX=Symbol("onreaddir"),cY=Symbol("pipe"),cZ=Symbol("entry"),c$=Symbol("entryOpt"),c_=Symbol("writeEntryClass"),c0=Symbol("write"),c1=Symbol("ondrain"),c2=class extends ac{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[c_];onWriteEntry;[cM];[cR]=0;[cP]=!1;[cL]=!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=bx(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_]=cC,"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 aZ(a.gzip)),a.brotli&&("object"!=typeof a.brotli&&(a.brotli={}),this.zip=new a0(a.brotli)),a.zstd&&("object"!=typeof a.zstd&&(a.zstd={}),this.zip=new a3(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[c1]()),this.on("resume",()=>b.resume())}else this.on("drain",this[c1]);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[cM]=new cG,this[cR]=0,this.jobs=Number(a.jobs)||4,this[cP]=!1,this[cL]=!1}[c0](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[cL]=!0,this[cO](),c&&c(),this}write(a){if(this[cL])throw Error("write after end");return a instanceof by?this[cU](a):this[cT](a),this.flowing}[cU](a){let b=bx(j.default.resolve(this.cwd,a.path));if(this.filter(a.path,a)){let c=new cI(a.path,b);c.entry=new cE(a,this[c$](c)),c.entry.on("end",()=>this[cS](c)),this[cR]+=1,this[cM].push(c)}else a.resume();this[cO]()}[cT](a){let b=bx(j.default.resolve(this.cwd,a));this[cM].push(new cI(a,b)),this[cO]()}[cV](a){a.pending=!0,this[cR]+=1;let b=this.follow?"stat":"lstat";f.default[b](a.absolute,(b,c)=>{a.pending=!1,this[cR]-=1,b?this.emit("error",b):this[cK](a,c)})}[cK](a,b){this.statCache.set(a.absolute,b),a.stat=b,this.filter(a.path,b)?b.isFile()&&b.nlink>1&&a===this[cN]&&!this.linkCache.get(`${b.dev}:${b.ino}`)&&!this.sync&&this[cQ](a):a.ignore=!0,this[cO]()}[cW](a){a.pending=!0,this[cR]+=1,f.default.readdir(a.absolute,(b,c)=>{if(a.pending=!1,this[cR]-=1,b)return this.emit("error",b);this[cX](a,c)})}[cX](a,b){this.readdirCache.set(a.absolute,b),a.readdir=b,this[cO]()}[cO](){if(!this[cP]){this[cP]=!0;for(let a=this[cM].head;a&&this[cR]<this.jobs;a=a.next)if(this[cQ](a.value),a.value.ignore){let b=a.next;this[cM].removeNode(a),a.next=b}this[cP]=!1,this[cL]&&0===this[cM].length&&0===this[cR]&&(this.zip?this.zip.end(cJ):(super.write(cJ),super.end()))}}get[cN](){return this[cM]&&this[cM].head&&this[cM].head.value}[cS](a){this[cM].shift(),this[cR]-=1,this[cO]()}[cQ](a){if(!a.pending){if(a.entry){a!==this[cN]||a.piped||this[cY](a);return}if(!a.stat){let b=this.statCache.get(a.absolute);b?this[cK](a,b):this[cV](a)}if(a.stat&&!a.ignore){if(!this.noDirRecurse&&a.stat.isDirectory()&&!a.readdir){let b=this.readdirCache.get(a.absolute);if(b?this[cX](a,b):this[cW](a),!a.readdir)return}if(a.entry=this[cZ](a),!a.entry){a.ignore=!0;return}a!==this[cN]||a.piped||this[cY](a)}}}[c$](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}}[cZ](a){this[cR]+=1;try{return new this[c_](a.path,this[c$](a)).on("end",()=>this[cS](a)).on("error",a=>this.emit("error",a))}catch(a){this.emit("error",a)}}[c1](){this[cN]&&this[cN].entry&&this[cN].entry.resume()}[cY](a){a.piped=!0,a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cT](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={}){bz(this,a,b,c)}},c3=class extends c2{sync=!0;constructor(a){super(a),this[c_]=cD}pause(){}resume(){}[cV](a){let b=this.follow?"statSync":"lstatSync";this[cK](a,f.default[b](a.absolute))}[cW](a){this[cX](a,f.default.readdirSync(a.absolute))}[cY](a){let b=a.entry,c=this.zip;if(a.readdir&&a.readdir.forEach(b=>{let c=a.path,d="./"===c?"":c.replace(/\/*$/,"/");this[cT](d+b)}),!b)throw Error("Cannot pipe without source");c?b.on("data",a=>{c.write(a)}):b.on("data",a=>{super[c0](a)})}},c4=(a,c)=>{c.forEach(c=>{"@"===c.charAt(0)?b9({file:b.default.resolve(a.cwd,c.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(c)}),a.end()},c5=async(a,c)=>{for(let d of c)"@"===d.charAt(0)?await b9({file:b.default.resolve(String(a.cwd),d.slice(1)),noResume:!0,onReadEntry:b=>{a.add(b)}}):a.add(d);a.end()},c6=aN((a,b)=>{let c=new c3(a),d=new aJ(a.file,{mode:a.mode||438});c.pipe(d),c4(c,b)},(a,b)=>{let c=new c2(a),d=new aI(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 c5(c,b).catch(a=>c.emit("error",a)),e},(a,b)=>{let c=new c3(a);return c4(c,b),c},(a,b)=>{let c=new c2(a);return c5(c,b).catch(a=>c.emit("error",a)),c},(a,b)=>{if(!b?.length)throw TypeError("no paths specified to add to archive")}),c7="win32"===(process.env.__FAKE_PLATFORM__||process.platform),{O_CREAT:c8,O_NOFOLLOW:c9,O_TRUNC:da,O_WRONLY:db}=f.default.constants,dc=Number(process.env.__FAKE_FS_O_FILENAME__)||f.default.constants.UV_FS_O_FILEMAP||0,dd=dc|da|c8|db,de=c7||"number"!=typeof c9?null:c9|da|c8|db,df=null!==de?()=>de:c7&&dc?a=>a<524288?dd:"w":()=>"w",dg=(a,b,d)=>{try{return c.default.lchownSync(a,b,d)}catch(a){if(a?.code!=="ENOENT")throw a}},dh=(a,b,d,e)=>{c.default.lchown(a,b,d,a=>{e(a&&a?.code!=="ENOENT"?a:null)})},di=(a,c,d,e,f)=>{c.isDirectory()?dj(b.default.resolve(a,c.name),d,e,g=>{if(g)return f(g);dh(b.default.resolve(a,c.name),d,e,f)}):dh(b.default.resolve(a,c.name),d,e,f)},dj=(a,b,d,e)=>{c.default.readdir(a,{withFileTypes:!0},(c,f)=>{if(c){if("ENOENT"===c.code)return e();if("ENOTDIR"!==c.code&&"ENOTSUP"!==c.code)return e(c)}if(c||!f.length)return dh(a,b,d,e);let g=f.length,h=null,i=c=>{if(!h){if(c)return e(h=c);if(0==--g)return dh(a,b,d,e)}};for(let c of f)di(a,c,b,d,i)})},dk=(a,c,d,e)=>{c.isDirectory()&&dl(b.default.resolve(a,c.name),d,e),dg(b.default.resolve(a,c.name),d,e)},dl=(a,b,d)=>{let e;try{e=c.default.readdirSync(a,{withFileTypes:!0})}catch(c){if(c?.code==="ENOENT")return;if(c?.code==="ENOTDIR"||c?.code==="ENOTSUP")return dg(a,b,d);throw c}for(let c of e)dk(a,c,b,d);return dg(a,b,d)},dm=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"}},dn=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"}},dp=(a,d,e,f,g,h,i)=>{if(0===d.length)return i(null,h);let j=d.shift(),k=bx(b.default.resolve(a+"/"+j));c.default.mkdir(k,e,dq(k,d,e,f,g,h,i))},dq=(a,b,d,e,f,g,h)=>i=>{i?c.default.lstat(a,(j,k)=>{if(j)j.path=j.path&&bx(j.path),h(j);else if(k.isDirectory())dp(a,b,d,e,f,g,h);else if(e)c.default.unlink(a,i=>{if(i)return h(i);c.default.mkdir(a,d,dq(a,b,d,e,f,g,h))});else{if(k.isSymbolicLink())return h(new dn(a,a+"/"+b.join("/")));h(i)}}):(g=g||a,dp(a,b,d,e,f,g,h))},dr=Object.create(null),ds=new Set,dt="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),du=class{#a=new Map;#b=new Map;#c=new Set;reserve(a,c){let d=new Set((a=dt?["win32 parallelization disabled"]:a.map(a=>b7((0,b.join)((a=>{ds.has(a)?ds.delete(a):dr[a]=a.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),ds.add(a);let b=dr[a],c=ds.size-1e4;if(c>1e3){for(let a of ds)if(ds.delete(a),delete dr[a],--c<=0)break}return b})(a))))).map(a=>a.split("/").slice(0,-1).reduce((a,c)=>{let d=a.at(-1);return void 0!==d&&(c=(0,b.join)(d,c)),a.push(c||"/"),a},[])).reduce((a,b)=>a.concat(b)));for(let b of(this.#b.set(c,{dirs:d,paths:a}),a)){let a=this.#a.get(b);a?a.push(c):this.#a.set(b,[c])}for(let a of d){let b=this.#a.get(a);if(b){let a=b.at(-1);a instanceof Set?a.add(c):b.push(new Set([c]))}else this.#a.set(a,[new Set([c])])}return this.#e(c)}#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}},dv=Symbol("onEntry"),dw=Symbol("checkFs"),dx=Symbol("checkFs2"),dy=Symbol("isReusable"),dz=Symbol("makeFs"),dA=Symbol("file"),dB=Symbol("directory"),dC=Symbol("link"),dD=Symbol("symlink"),dE=Symbol("hardlink"),dF=Symbol("ensureNoSymlink"),dG=Symbol("unsupported"),dH=Symbol("checkPath"),dI=Symbol("stripAbsolutePath"),dJ=Symbol("mkdir"),dK=Symbol("onError"),dL=Symbol("pending"),dM=Symbol("pend"),dN=Symbol("unpend"),dO=Symbol("ended"),dP=Symbol("maybeClose"),dQ=Symbol("skip"),dR=Symbol("doChown"),dS=Symbol("uid"),dT=Symbol("gid"),dU=Symbol("checkedCwd"),dV="win32"===(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform),dW=(a,b,c)=>void 0!==a&&a===a>>>0?a:void 0!==b&&b===b>>>0?b:c,dX=class extends b6{[dO]=!1;[dU]=!1;[dL]=0;reservations=new du;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[dO]=!0,this[dP]()},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||dV,this.newer=!!a.newer,this.keep=!!a.keep,this.noMtime=!!a.noMtime,this.preservePaths=!!a.preservePaths,this.unlink=!!a.unlink,this.cwd=bx(b.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[dv](a))}warn(a,b,c={}){return("TAR_BAD_ARCHIVE"===a||"TAR_ABORT"===a)&&(c.recoverable=!1),super.warn(a,b,c)}[dP](){this[dO]&&0===this[dL]&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[dI](a,c){let d=a[c],{type:e}=a;if(!d||this.preservePaths)return!0;let[f,g]=cd(d),h=g.replaceAll(/\\/g,"/").split("/");if(h.includes("..")||dV&&/^[a-z]:\.\.$/i.test(h[0]??"")){if("path"===c||"Link"===e)return this.warn("TAR_ENTRY_ERROR",`${c} contains '..'`,{entry:a,[c]:d}),!1;let f=b.default.posix.dirname(a.path),g=b.default.posix.normalize(b.default.posix.join(f,h.join("/")));if(g.startsWith("../")||".."===g)return this.warn("TAR_ENTRY_ERROR",`${c} escapes extraction directory`,{entry:a,[c]:d}),!1}return f&&(a[c]=String(g),this.warn("TAR_ENTRY_INFO",`stripping ${f} from absolute ${c}`,{entry:a,[c]:d})),!0}[dH](a){let c=bx(a.path),d=c.split("/");if(this.strip){if(d.length<this.strip)return!1;if("Link"===a.type){let b=bx(String(a.linkpath)).split("/");if(!(b.length>=this.strip))return!1;a.linkpath=b.slice(this.strip).join("/")}d.splice(0,this.strip),a.path=d.join("/")}if(isFinite(this.maxDepth)&&d.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:a,path:c,depth:d.length,maxDepth:this.maxDepth}),!1;if(!this[dI](a,"path")||!this[dI](a,"linkpath"))return!1;if(a.absolute=b.default.isAbsolute(a.path)?bx(b.default.resolve(a.path)):bx(b.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:bx(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:c}=b.default.win32.parse(String(a.absolute));a.absolute=c+ci(String(a.absolute).slice(c.length));let{root:d}=b.default.win32.parse(a.path);a.path=d+ci(a.path.slice(d.length))}return!0}[dv](a){if(!this[dH](a))return a.resume();switch(n.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[dw](a);default:return this[dG](a)}}[dK](a,b){"CwdError"===a.name?this.emit("error",a):(this.warn("TAR_ENTRY_ERROR",a,{entry:b}),this[dN](),b.resume())}[dJ](a,d,e){((a,d,e)=>{a=bx(a);let f=d.umask??18,g=448|d.mode,h=(g&f)!=0,i=d.uid,j=d.gid,k="number"==typeof i&&"number"==typeof j&&(i!==d.processUid||j!==d.processGid),l=d.preserve,m=d.unlink,n=bx(d.cwd),o=(b,d)=>{b?e(b):d&&k?dj(d,i,j,a=>o(a)):h?c.default.chmod(a,g,e):e()};if(a===n){var q;return q=a,c.default.stat(q,(a,b)=>{(a||!b.isDirectory())&&(a=new dm(q,a?.code||"ENOTDIR")),o(a)})}if(l)return p.default.mkdir(a,{mode:g,recursive:!0}).then(a=>o(null,a??void 0),o);let r=bx(b.default.relative(n,a)).split("/");dp(n,r,g,m,n,void 0,o)})(bx(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:d},e)}[dR](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}[dS](a){return dW(this.uid,a.uid,this.processUid)}[dT](a){return dW(this.gid,a.gid,this.processGid)}[dA](a,b){let d="number"==typeof a.mode?4095&a.mode:this.fmode,e=new aI(String(a.absolute),{flags:df(a.size),mode:d,autoClose:!1});e.on("error",d=>{e.fd&&c.default.close(e.fd,()=>{}),e.write=()=>!0,this[dK](d,a),b()});let f=1,g=d=>{if(d){e.fd&&c.default.close(e.fd,()=>{}),this[dK](d,a),b();return}0==--f&&void 0!==e.fd&&c.default.close(e.fd,c=>{c?this[dK](c,a):this[dN](),b()})};e.on("finish",()=>{let b=String(a.absolute),d=e.fd;if("number"==typeof d&&a.mtime&&!this.noMtime){f++;let e=a.atime||new Date,h=a.mtime;c.default.futimes(d,e,h,a=>a?c.default.utimes(b,e,h,b=>g(b&&a)):g())}if("number"==typeof d&&this[dR](a)){f++;let e=this[dS](a),h=this[dT](a);"number"==typeof e&&"number"==typeof h&&c.default.fchown(d,e,h,a=>a?c.default.chown(b,e,h,b=>g(b&&a)):g())}g()});let h=this.transform&&this.transform(a)||a;h!==a&&(h.on("error",c=>{this[dK](c,a),b()}),a.pipe(h)),h.pipe(e)}[dB](a,b){let d="number"==typeof a.mode?4095&a.mode:this.dmode;this[dJ](String(a.absolute),d,d=>{if(d){this[dK](d,a),b();return}let e=1,f=()=>{0==--e&&(b(),this[dN](),a.resume())};a.mtime&&!this.noMtime&&(e++,c.default.utimes(String(a.absolute),a.atime||new Date,a.mtime,f)),this[dR](a)&&(e++,c.default.chown(String(a.absolute),Number(this[dS](a)),Number(this[dT](a)),f)),f()})}[dG](a){a.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${a.type}`,{entry:a}),a.resume()}[dD](a,c){let d=bx(b.default.relative(this.cwd,b.default.resolve(b.default.dirname(String(a.absolute)),String(a.linkpath)))).split("/");this[dF](a,this.cwd,d,()=>this[dC](a,String(a.linkpath),"symlink",c),b=>{this[dK](b,a),c()})}[dE](a,c){let d=bx(b.default.resolve(this.cwd,String(a.linkpath))),e=bx(String(a.linkpath)).split("/");this[dF](a,this.cwd,e,()=>this[dC](a,d,"link",c),b=>{this[dK](b,a),c()})}[dF](a,d,e,f,g){let h=e.shift();if(this.preservePaths||void 0===h)return f();let i=b.default.resolve(d,h);c.default.lstat(i,(c,d)=>c?f():d?.isSymbolicLink()?g(new dn(i,b.default.resolve(i,e.join("/")))):void this[dF](a,i,e,f,g))}[dM](){this[dL]++}[dN](){this[dL]--,this[dP]()}[dQ](a){this[dN](),a.resume()}[dy](a,b){return"File"===a.type&&!this.unlink&&b.isFile()&&b.nlink<=1&&!dV}[dw](a){this[dM]();let b=[a.path];a.linkpath&&b.push(a.linkpath),this.reservations.reserve(b,b=>this[dx](a,b))}[dx](a,d){let e=a=>{d(a)},f=()=>{this[dJ](this.cwd,this.dmode,b=>{if(b){this[dK](b,a),e();return}this[dU]=!0,g()})},g=()=>{if(a.absolute!==this.cwd){let c=bx(b.default.dirname(String(a.absolute)));if(c!==this.cwd)return this[dJ](c,this.dmode,b=>{if(b){this[dK](b,a),e();return}h()})}h()},h=()=>{c.default.lstat(String(a.absolute),(b,d)=>{if(d&&(this.keep||this.newer&&d.mtime>(a.mtime??d.mtime))){this[dQ](a),e();return}if(b||this[dy](a,d))return this[dz](null,a,e);if(d.isDirectory()){if("Directory"===a.type){let b=this.chmod&&a.mode&&(4095&d.mode)!==a.mode,f=b=>this[dz](b??null,a,e);return b?c.default.chmod(String(a.absolute),Number(a.mode),f):f()}if(a.absolute!==this.cwd)return c.default.rmdir(String(a.absolute),b=>this[dz](b??null,a,e))}if(a.absolute===this.cwd)return this[dz](null,a,e);((a,b)=>{if(!dV)return c.default.unlink(a,b);let d=a+".DELETE."+(0,o.randomBytes)(16).toString("hex");c.default.rename(a,d,a=>{if(a)return b(a);c.default.unlink(d,b)})})(String(a.absolute),b=>this[dz](b??null,a,e))})};this[dU]?g():f()}[dz](a,b,c){if(a){this[dK](a,b),c();return}switch(b.type){case"File":case"OldFile":case"ContiguousFile":return this[dA](b,c);case"Link":return this[dE](b,c);case"SymbolicLink":return this[dD](b,c);case"Directory":case"GNUDumpDir":return this[dB](b,c)}}[dC](a,b,d,e){c.default[d](b,String(a.absolute),b=>{b?this[dK](b,a):(this[dN](),a.resume()),e()})}},dY=a=>{try{return[null,a()]}catch(a){return[a,null]}},dZ=class extends dX{sync=!0;[dz](a,b){return super[dz](a,b,()=>{})}[dw](a){if(!this[dU]){let b=this[dJ](this.cwd,this.dmode);if(b)return this[dK](b,a);this[dU]=!0}if(a.absolute!==this.cwd){let c=bx(b.default.dirname(String(a.absolute)));if(c!==this.cwd){let b=this[dJ](c,this.dmode);if(b)return this[dK](b,a)}}let[d,e]=dY(()=>c.default.lstatSync(String(a.absolute)));if(e&&(this.keep||this.newer&&e.mtime>(a.mtime??e.mtime)))return this[dQ](a);if(d||this[dy](a,e))return this[dz](null,a);if(e.isDirectory()){if("Directory"===a.type){let[b]=this.chmod&&a.mode&&(4095&e.mode)!==a.mode?dY(()=>{c.default.chmodSync(String(a.absolute),Number(a.mode))}):[];return this[dz](b,a)}let[b]=dY(()=>c.default.rmdirSync(String(a.absolute)));this[dz](b,a)}let[f]=a.absolute===this.cwd?[]:dY(()=>(a=>{if(!dV)return c.default.unlinkSync(a);let b=a+".DELETE."+(0,o.randomBytes)(16).toString("hex");c.default.renameSync(a,b),c.default.unlinkSync(b)})(String(a.absolute)));this[dz](f,a)}[dA](a,b){let d="number"==typeof a.mode?4095&a.mode:this.fmode,e=d=>{let e;try{c.default.closeSync(f)}catch(a){e=a}(d||e)&&this[dK](d||e,a),b()},f;try{f=c.default.openSync(String(a.absolute),df(a.size),d)}catch(a){return e(a)}let g=this.transform&&this.transform(a)||a;g!==a&&(g.on("error",b=>this[dK](b,a)),a.pipe(g)),g.on("data",a=>{try{c.default.writeSync(f,a,0,a.length)}catch(a){e(a)}}),g.on("end",()=>{let b=null;if(a.mtime&&!this.noMtime){let d=a.atime||new Date,e=a.mtime;try{c.default.futimesSync(f,d,e)}catch(f){try{c.default.utimesSync(String(a.absolute),d,e)}catch{b=f}}}if(this[dR](a)){let d=this[dS](a),e=this[dT](a);try{c.default.fchownSync(f,Number(d),Number(e))}catch(f){try{c.default.chownSync(String(a.absolute),Number(d),Number(e))}catch{b=b||f}}}e(b)})}[dB](a,b){let d="number"==typeof a.mode?4095&a.mode:this.dmode,e=this[dJ](String(a.absolute),d);if(e){this[dK](e,a),b();return}if(a.mtime&&!this.noMtime)try{c.default.utimesSync(String(a.absolute),a.atime||new Date,a.mtime)}catch{}if(this[dR](a))try{c.default.chownSync(String(a.absolute),Number(this[dS](a)),Number(this[dT](a)))}catch{}b(),a.resume()}[dJ](a,d){try{return((a,d)=>{a=bx(a);let e=d.umask??18,f=448|d.mode,g=(f&e)!=0,h=d.uid,i=d.gid,j="number"==typeof h&&"number"==typeof i&&(h!==d.processUid||i!==d.processGid),k=d.preserve,l=d.unlink,m=bx(d.cwd),n=b=>{b&&j&&dl(b,h,i),g&&c.default.chmodSync(a,f)};if(a===m)return(a=>{let b=!1,d;try{b=c.default.statSync(a).isDirectory()}catch(a){d=a?.code}finally{if(!b)throw new dm(a,d??"ENOTDIR")}})(m),n();if(k)return n(c.default.mkdirSync(a,{mode:f,recursive:!0})??void 0);let o=bx(b.default.relative(m,a)).split("/"),p;for(let a=o.shift(),d=m;a&&(d+="/"+a);a=o.shift()){d=bx(b.default.resolve(d));try{c.default.mkdirSync(d,f),p=p||d}catch{let a=c.default.lstatSync(d);if(a.isDirectory())continue;if(l){c.default.unlinkSync(d),c.default.mkdirSync(d,f),p=p||d;continue}if(a.isSymbolicLink())return new dn(d,d+"/"+o.join("/"))}}return n(p)})(bx(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:d})}catch(a){return a}}[dF](a,d,e,f,g){if(this.preservePaths||0===e.length)return f();let h=d;for(let a of e){h=b.default.resolve(h,a);let[i,j]=dY(()=>c.default.lstatSync(h));if(i)return f();if(j.isSymbolicLink())return g(new dn(h,b.default.resolve(d,e.join("/"))))}f()}[dC](a,b,d,e){let f=`${d}Sync`;try{c.default[f](b,String(a.absolute)),e(),a.resume()}catch(b){return this[dK](b,a)}}},d$=aN(a=>{let b=new dZ(a),d=a.file,e=c.default.statSync(d);new aH(d,{readSize:a.maxReadSize||0x1000000,size:e.size}).pipe(b)},(a,b)=>{let d=new dX(a),e=a.maxReadSize||0x1000000,f=a.file;return new Promise((a,b)=>{d.on("error",b),d.on("close",a),c.default.stat(f,(a,c)=>{if(a)b(a);else{let a=new aG(f,{readSize:e,size:c.size});a.on("error",b),a.pipe(d)}})})},a=>new dZ(a),a=>new dX(a),(a,b)=>{b?.length&&b8(a,b)}),d_=(a,c)=>{c.forEach(c=>{"@"===c.charAt(0)?b9({file:b.default.resolve(a.cwd,c.slice(1)),sync:!0,noResume:!0,onReadEntry:b=>a.add(b)}):a.add(c)}),a.end()},d0=async(a,c)=>{for(let d of c)"@"===d.charAt(0)?await b9({file:b.default.resolve(String(a.cwd),d.slice(1)),noResume:!0,onReadEntry:b=>a.add(b)}):a.add(d);a.end()},d1=aN((a,b)=>{let d=new c3(a),e=!0,f,g;try{var h,i,j,k,l;let m;try{f=c.default.openSync(a.file,"r+")}catch(b){if(b?.code==="ENOENT")f=c.default.openSync(a.file,"w+");else throw b}let n=c.default.fstatSync(f),o=Buffer.alloc(512);a:for(g=0;g<n.size;g+=512){for(let a=0,b=0;a<512;a+=b){if(b=c.default.readSync(f,o,a,o.length-a,g+a),0===g&&31===o[0]&&139===o[1])throw Error("cannot append to compressed archives");if(!b)break a}let b=new be(o);if(!b.cksumValid)break;let d=512*Math.ceil((b.size||0)/512);if(g+d+512>n.size)break;g+=d,a.mtimeCache&&b.mtime&&a.mtimeCache.set(String(b.path),b.mtime)}e=!1,h=a,i=d,j=g,k=f,l=b,m=new aJ(h.file,{fd:k,start:j}),i.pipe(m),d_(i,l)}finally{if(e)try{c.default.closeSync(f)}catch{}}},(a,b)=>{b=Array.from(b);let d=new c2(a);return new Promise((e,f)=>{d.on("error",f);let g="r+",h=(i,j)=>i&&"ENOENT"===i.code&&"r+"===g?(g="w+",c.default.open(a.file,g,h)):i||!j?f(i):void c.default.fstat(j,(g,h)=>{if(g)return c.default.close(j,()=>f(g));((b,d,e)=>{let f=(a,d)=>{a?c.default.close(b,b=>e(a)):e(null,d)},g=0;if(0===d)return f(null,0);let h=0,i=Buffer.alloc(512),j=(e,k)=>{if(e||void 0===k)return f(e);if((h+=k)<512&&k)return c.default.read(b,i,h,i.length-h,g+h,j);if(0===g&&31===i[0]&&139===i[1])return f(Error("cannot append to compressed archives"));if(h<512)return f(null,g);let l=new be(i);if(!l.cksumValid)return f(null,g);let m=512*Math.ceil((l.size??0)/512);if(g+m+512>d||(g+=m+512)>=d)return f(null,g);a.mtimeCache&&l.mtime&&a.mtimeCache.set(String(l.path),l.mtime),h=0,c.default.read(b,i,0,512,g,j)};c.default.read(b,i,0,512,g,j)})(j,h.size,(c,g)=>{if(c)return f(c);let h=new aI(a.file,{fd:j,start:g});d.pipe(h),h.on("error",f),h.on("close",e),d0(d,b)})});c.default.open(a.file,g,h)})},()=>{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")});aN(d1.syncFile,d1.asyncFile,d1.syncNoFile,d1.asyncNoFile,(a,b=[])=>{d1.validate?.(a,b),d2(a)});var d2=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))};let d3=".lock",d4=/^tower-(backup|auto)-\d{8}-\d{6}\.tar\.gz$/;async function d5(a,d,e,f){let g,h,i,j,k=`${f?"tower-auto":"tower-backup"}-${(g=new Date,h=a=>String(a).padStart(2,"0"),i=`${g.getFullYear()}${h(g.getMonth()+1)}${h(g.getDate())}`,j=`${h(g.getHours())}${h(g.getMinutes())}${h(g.getSeconds())}`,`${i}-${j}`)}.tar.gz`,l=(0,b.join)(d,k),m=(0,b.join)(a,"metadata.json");(0,c.writeFileSync)(m,JSON.stringify(e,null,2));try{let d=["metadata.json"];(0,c.existsSync)((0,b.join)(a,"database","tower.db"))&&d.push((0,b.join)("database","tower.db")),(0,c.existsSync)((0,b.join)(a,"storage","assets"))&&d.push((0,b.join)("storage","assets")),(0,c.existsSync)((0,b.join)(a,"assistant"))&&d.push("assistant"),(0,c.existsSync)((0,b.join)(a,"logs"))&&d.push("logs"),await c6({gzip:!0,file:l,cwd:a},d);let g=(0,c.statSync)(l);return{filename:k,size:g.size,createdAt:e.createdAt,autoBackup:f,label:e.label??"",stats:e.stats,preview:e.preview}}catch(a){try{(0,c.unlinkSync)(l)}catch{}throw a}finally{try{(0,c.unlinkSync)(m)}catch{}}}async function d6(a){let d=(0,b.join)((0,b.dirname)(a),`_meta_tmp_${Date.now()}`);try{(0,c.mkdirSync)(d,{recursive:!0}),await d$({file:a,cwd:d,filter:a=>"metadata.json"===a});let e=(0,b.join)(d,"metadata.json");if(!(0,c.existsSync)(e))return null;return JSON.parse((0,c.readFileSync)(e,"utf-8"))}catch{return null}finally{(0,c.rmSync)(d,{recursive:!0,force:!0})}}async function d7(a){if(!(0,c.existsSync)(a))return[];let d=(0,c.readdirSync)(a).filter(a=>d4.test(a)).sort().reverse(),e=[];for(let f of d){let d=(0,b.join)(a,f),g=(0,c.statSync)(d),h=await d6(d);e.push({filename:f,size:g.size,createdAt:h?.createdAt??g.mtime.toISOString(),autoBackup:h?.autoBackup??f.startsWith("tower-auto"),label:h?.label??"",stats:h?.stats??{workspaces:0,projects:0,tasks:0},preview:h?.preview??[]})}return e}async function d8(a,d){if((0,c.mkdirSync)(d,{recursive:!0}),await d$({file:a,cwd:d,filter:a=>!((0,b.isAbsolute)(a)||a.includes(".."))}),!(0,c.existsSync)((0,b.join)(d,"database","tower.db")))throw Error("Invalid archive: missing database/tower.db")}let d9=["database",(0,b.join)("storage","assets"),"assistant","logs"];a.s(["acquireLock",0,function(a){let d=(0,b.join)(a,d3);if((0,c.existsSync)(d)){let a=parseInt((0,c.readFileSync)(d,"utf-8").trim(),10);try{throw process.kill(a,0),Error("Another backup operation is in progress")}catch(a){if(a instanceof Error&&a.message.includes("Another backup"))throw a}}(0,c.writeFileSync)(d,String(process.pid))},"cleanupTempDirs",0,function(a){for(let d of["_restore_tmp","_old_tmp"]){let e=(0,b.join)(a,d);(0,c.existsSync)(e)&&(0,c.rmSync)(e,{recursive:!0,force:!0})}},"createArchive",0,d5,"deleteWalFiles",0,function(a){let d=(0,b.join)(a,"database");for(let a of["-wal","-shm"]){let e=(0,b.join)(d,`tower.db${a}`);try{(0,c.unlinkSync)(e)}catch{}}},"extractArchive",0,d8,"listArchives",0,d7,"releaseLock",0,function(a){let d=(0,b.join)(a,d3);try{(0,c.unlinkSync)(d)}catch{}},"swapDirs",0,function(a,d){let e=(0,b.join)(a,"_old_tmp");(0,c.mkdirSync)(e,{recursive:!0});try{for(let d of d9){let f=(0,b.join)(a,d),g=(0,b.join)(e,d);(0,c.existsSync)(f)&&((0,c.mkdirSync)((0,b.dirname)((0,b.join)(e,d)),{recursive:!0}),(0,c.renameSync)(f,g))}for(let e of d9){let f=(0,b.join)(d,e),g=(0,b.join)(a,e);(0,c.existsSync)(f)&&((0,c.mkdirSync)((0,b.dirname)((0,b.join)(a,e)),{recursive:!0}),(0,c.renameSync)(f,g))}(0,c.rmSync)(e,{recursive:!0,force:!0})}catch(d){for(let d of d9){let f=(0,b.join)(e,d),g=(0,b.join)(a,d);if((0,c.existsSync)(f)&&!(0,c.existsSync)(g))try{(0,c.renameSync)(f,g)}catch{}}throw(0,c.rmSync)(e,{recursive:!0,force:!0}),d}},"validateBackupDir",0,function(a){if(!(0,b.isAbsolute)(a))throw Error("Backup directory must be an absolute path");let c=(0,d.homedir)(),e=(0,b.relative)(c,a);if(e.startsWith("..")||(0,b.isAbsolute)(e))throw Error("Backup directory must be within your home directory")},"validateFilename",0,function(a){if(!d4.test(a))throw Error(`Invalid backup filename: ${a}`)},"wipeTowerData",0,function(a){for(let d of["database",(0,b.join)("storage","assets"),"assistant","logs"]){let e=(0,b.join)(a,d);(0,c.existsSync)(e)&&(0,c.rmSync)(e,{recursive:!0,force:!0})}}],950071)},712072,(a,b,c)=>{b.exports={name:"tower-studio",version:"0.2.6",description:"AI Task Orchestration Platform — Kanban + Terminal + Code Editor + MCP",bin:{tower:"bin/tower.mjs"},files:["bin/",".next/standalone/","prisma/schema.prisma","prisma/init-fts.ts","prisma/pre-migration.sql","scripts/init-db.ts","scripts/generate-prisma-client.js","scripts/link-prisma.js","scripts/fix-native-permissions.js","scripts/post-install-banner.js","scripts/prune-standalone-natives.js","scripts/migrate-data.ts","scripts/post-tool-hook.js","scripts/session-start-hook.js","scripts/stop-hook.js","dist/mcp-server.cjs","skills/","src/mcp/","next.config.ts","tsconfig.json"],scripts:{predev:"node scripts/ensure-dev-db.js && pnpm mcp:build",dev:"next dev --webpack -p 9022",build:"pnpm mcp:build && rm -rf .next && next build && find .next -name '*.map' -delete && cp -R .next/static .next/standalone/.next/ && cp -R public .next/standalone/ && node scripts/prune-standalone-natives.js",release:"pnpm build && npm pack","release:smoke":"node scripts/release-smoke.js","release:publish":"pnpm build && npm publish",start:"next start",lint:"eslint","db:generate":"prisma generate","db:push":"prisma db push","db:seed":"tsx prisma/seed.ts","db:studio":"prisma studio","db:init":"tsx scripts/init-db.ts","db:init-fts":"tsx prisma/init-fts.ts",test:"vitest","test:run":"vitest run","test:e2e":"NO_PROXY=localhost,127.0.0.1 no_proxy=localhost,127.0.0.1 playwright test",changelog:"conventional-changelog -p angular -i CHANGELOG.md -s",mcp:"node dist/mcp-server.cjs","mcp:build":"esbuild src/mcp/index.ts --bundle --platform=node --target=node18 --format=cjs --outfile=dist/mcp-server.cjs --external:@prisma/client --external:@modelcontextprotocol/sdk --external:@opentelemetry/api --alias:@=./src","mcp:dev":"tsx src/mcp/index.ts",postinstall:"node scripts/generate-prisma-client.js && node scripts/link-prisma.js && node scripts/fix-native-permissions.js && node scripts/post-install-banner.js"},pnpm:{onlyBuiltDependencies:["@prisma/engines","@vscode/ripgrep","esbuild","node-pty","prisma"]},dependencies:{"@modelcontextprotocol/sdk":"^1.28.0","@prisma/client":"^6.19.2","node-pty":"^1.1.0",prisma:"^6.19.2",tsx:"^4.21.0",ws:"^8.20.0"},devDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.2.114","@base-ui/react":"^1.3.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@iconify/react":"^6.0.2","@monaco-editor/react":"4.8.0-rc.3","@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4","@tailwindcss/typography":"^0.5.19","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","@types/shell-quote":"^1.7.5","@types/tar":"^7.0.87","@types/ws":"^8.18.1","@uiw/react-md-editor":"^4.0.11","@vitejs/plugin-react":"^6.0.1","@vscode/ripgrep":"^1.17.1","@xterm/addon-attach":"^0.12.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/addon-webgl":"^0.19.0","@xterm/xterm":"^6.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1",cmdk:"^1.1.1","conventional-changelog-cli":"^5.0.0",eslint:"^9","eslint-config-next":"16.2.1","fuse.js":"^7.3.0",ignore:"^7.0.5",jsdom:"^29.0.1","lucide-react":"^1.6.0","monaco-editor":"^0.55.1",next:"16.2.1","next-themes":"^0.4.6","parse-diff":"^0.12.0",react:"19.2.4","react-dom":"19.2.4","react-resizable-panels":"^2.1.9","react-reverse-portal":"^2.3.0",shadcn:"^4.1.0","shell-quote":"^1.8.3","simple-git":"^3.36.0",sonner:"^2.0.7",streamdown:"^2.5.0","tailwind-merge":"^3.5.0",tailwindcss:"^4",tar:"^7.5.13","tw-animate-css":"^1.4.0",typescript:"^5",vitest:"^4.1.1",zod:"^4.3.6",zustand:"^5.0.12"}}},537944,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(761469),f=a.i(319997),g=a.i(980999),h=a.i(950071),i=a.i(750227),j=a.i(902157),k=a.i(188139),l=a.i(630048),m=b([g]);async function n(){return await (0,g.getConfigValue)("system.backupDir","")||(0,f.getBackupsDir)()}async function o(b,c){let[d,f,g]=await Promise.all([e.db.workspace.count(),e.db.project.count(),e.db.task.count()]),h=(await e.db.workspace.findMany({take:3,orderBy:{updatedAt:"desc"},select:{name:!0,description:!0,projects:{take:3,select:{name:!0},orderBy:{updatedAt:"desc"}}}})).map(a=>{let b=a.description??"";return{workspace:b?`${b} ${a.name}`:a.name,projects:a.projects.map(a=>a.name)}});return{version:1,createdAt:new Date().toISOString(),towerVersion:function(){try{return a.r(712072).version??"unknown"}catch{return"unknown"}}(),autoBackup:b,label:c||void 0,stats:{workspaces:d,projects:f,tasks:g},preview:h}}async function p(a){let b=await n();(0,h.acquireLock)(b);try{let c=await o(!1,a);return await e.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await (0,h.createArchive)((0,f.getTowerDir)(),b,c,!1)}finally{(0,h.releaseLock)(b)}}async function q(){let a=await n();return(0,h.listArchives)(a)}async function r(a){(0,h.validateFilename)(a);let b=await n(),c=(0,i.join)(b,a);if(!(0,j.existsSync)(c))throw Error("Backup file not found");(0,j.unlinkSync)(c)}async function s(b){(0,h.validateFilename)(b);let c=(0,f.getTowerDir)(),d=await n(),g=(0,i.join)(d,b);if(!(0,j.existsSync)(g))throw Error("Backup file not found");(0,h.acquireLock)(d);let l=(0,i.join)(c,"_restore_tmp");try{let b=await o(!0);await e.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await (0,h.createArchive)(c,d,b,!0);let{destroyAllSessions:f}=await a.A(98813);f(),await (0,h.extractArchive)(g,l),await e.db.$disconnect(),(0,h.deleteWalFiles)(c),(0,h.swapDirs)(c,l),await (0,e.resetDbConnection)(),await e.db.$executeRawUnsafe(`
4
4
  CREATE VIRTUAL TABLE IF NOT EXISTS notes_fts
5
5
  USING fts5(note_id UNINDEXED, title, content, tokenize='trigram case_sensitive 0')
6
- `);let{syncNoteToFts:i}=await a.A(195404);for(let a of(await e.db.projectNote.findMany({select:{id:!0,title:!0,content:!0}})))await i(e.db,a);(0,k.revalidatePath)("/")}finally{(0,h.cleanupTempDirs)(c),(0,h.releaseLock)(d)}}async function t(b){if("RESET"!==b)throw Error("Invalid confirmation");let c=(0,f.getTowerDir)(),d=await n();(0,h.acquireLock)(d);try{let b=await o(!0);await e.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await (0,h.createArchive)(c,d,b,!0);let{destroyAllSessions:f}=await a.A(98813);f(),await e.db.$disconnect(),(0,h.wipeTowerData)(c),await (0,e.resetDbConnection)(),(0,k.revalidatePath)("/")}finally{(0,h.releaseLock)(d)}}async function u(){return await (0,g.getConfigValue)("system.backupDir","")||(0,f.getBackupsDir)()}async function v(a){(0,h.validateBackupDir)(a),await (0,g.setConfigValue)("system.backupDir",a)}[g]=m.then?(await m)():m,(0,l.ensureServerEntryExports)([p,q,r,s,t,u,v]),(0,d.registerServerReference)(p,"40c354afc530c4f80532ed796b1e9a5cbaef47aeba",null),(0,d.registerServerReference)(q,"00f35373010efd8a38b31b6aa3439fd80d205fcc2b",null),(0,d.registerServerReference)(r,"40e0992828ece97557d5ea3f37a136770ba8d4a886",null),(0,d.registerServerReference)(s,"405b80e1e1fca5dd7f7cb9a4a7fd2ccf8d189feb57",null),(0,d.registerServerReference)(t,"409f6bbf7591f5c818d3a417bde4d1a535523b1272",null),(0,d.registerServerReference)(u,"00aa45fec11672448007dd3e05cb8ec9728285067b",null),(0,d.registerServerReference)(v,"402eb5842ce62c26a005f13f79f07c90b18225d15e",null),a.s(["createBackup",0,p,"deleteBackupFile",0,r,"getBackupDir",0,u,"listBackupFiles",0,q,"resetSystem",0,t,"restoreBackup",0,s,"setBackupDir",0,v]),c()}catch(a){c(a)}},!1),101026,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);var f=a.i(870888);a.i(925886),a.i(487373);var g=a.i(537944),h=b([d,e,f,g]);[d,e,f,g]=h.then?(await h)():h,a.s([]),c()}catch(a){c(a)}},!1),721357,a=>a.a(async(b,c)=>{try{var d=a.i(101026),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(870888),m=a.i(925886),n=a.i(487373),o=a.i(537944),p=b([d,g,h,l,o]);[d,g,h,l,o]=p.then?(await p)():p,a.s(["00018330b9515eff599b83f6e8aee6a443832226cc",()=>h.getAvailableShells,"00072f5a7586654dc22cf481305bd54b1171339727",()=>l.checkRgAvailable,"0013a3cd3a8e31b13f33788cc92b5aba4c68857cd2",()=>h.getAvailableTerminalApps,"002b4e9133d8b6d5ca7e3249e4fef36ca77fd4f312",()=>k.getOnboardingStatus,"00388f0bda0ef1bb3b6f549cdb2c11e75732fe92ab",()=>l.clearRgPathCache,"004548f97440c3f8c00f6961bdfcc0f20b695dbf92",()=>n.getAvailableProviders,"0051ddd6448fbf2a66a65d7e1315914f3b5c11ab78",()=>h.getActualWsPort,"00910df10bbfc4b5d291a45250d3df378d48f82ed1",()=>h.getPlatformInfo,"00aa45fec11672448007dd3e05cb8ec9728285067b",()=>o.getBackupDir,"00ede8c87a5fd3cf389b004244892436243749a14e",()=>j.listAllExtensionStatus,"00f35373010efd8a38b31b6aa3439fd80d205fcc2b",()=>o.listBackupFiles,"401f7ea193ba5543c03285574962769ca991ba31d8",()=>f.getLabelsForWorkspace,"40283d29fa7b9833cd64d13eef0a2ad2069446e99e",()=>j.installExtension,"402eb5842ce62c26a005f13f79f07c90b18225d15e",()=>o.setBackupDir,"403e0605e2aba6a2eec83e2e8ba405ef57772e0280",()=>k.setOnboardingProgress,"405b80e1e1fca5dd7f7cb9a4a7fd2ccf8d189feb57",()=>o.restoreBackup,"405f12842eaf6e7fbd4be0c67ac50791456e973c97",()=>j.checkExtension,"40646009de0e55d0d3b7093421c9081cf2081d27cb",()=>f.deleteLabel,"4074f228cf3801433ba841ac53eb8f36891a444fda",()=>k.dispatchTaskCompletionEvent,"40927449a65dd1de23a40d4ec3d79d50156088f42c",()=>m.deletePrompt,"409f6bbf7591f5c818d3a417bde4d1a535523b1272",()=>o.resetSystem,"40aba639dc593066ac63c8ec541ceb62bd496f2851",()=>h.resolveGitLocalPath,"40b0cdf5b66ab7543d8191e84ed31d492a2486b6e9",()=>e.deleteWorkspace,"40c338d8c5314b7cfc5beedcdd97af7f273793ae64",()=>e.createWorkspace,"40c354afc530c4f80532ed796b1e9a5cbaef47aeba",()=>o.createBackup,"40c6e66ef80aea7986b4420cdb61fcc6d6e9cc8e99",()=>m.createPrompt,"40caa258e579479bf02f1a893acac475c1663b10fb",()=>e.createProject,"40db66b54b24758580994df7ffab9cebf69bdd1bbb",()=>j.uninstallExtension,"40e0992828ece97557d5ea3f37a136770ba8d4a886",()=>o.deleteBackupFile,"40e9dfefba5f21a7eb344f5542440fca2bd4b590e8",()=>i.checkMigrationSafety,"40ed3bfc21750c787bb9cc642f0e455c7da7596ce4",()=>f.createLabel,"40f1971affa3738b021a5049f45140ac16887a04ce",()=>h.getConfigValues,"40f3fb697aaf828dff9321a6ebf1d0bb033bbd532e",()=>m.getPrompts,"6011f7876a4bc0794966ecdf377e7e7a0891971242",()=>e.updateWorkspace,"602ecd9dd13c59e135814994afd7fa5c9fa0ffcf76",()=>k.setOnboardingExtensions,"604228e8167147dad385e05e214722512256091f8f",()=>h.getConfigValue,"607103ca4af153f930a5496a43d259bd122e14a89b",()=>m.updatePrompt,"60729a2e1a73741fe6456fc5b0c4e6f216f0c9b976",()=>i.analyzeProjectDirectory,"608ece4847384637c6432e566684ef9512ef80b64a",()=>g.globalSearch,"608fd188ffa4d0e561d9aa23f136e73fd4d0f8d919",()=>m.setDefaultPrompt,"60c0ecfed34768b8715cd468e9abc4c6fa11d68ab5",()=>h.setConfigValue,"60c2a4bb34e13bf3c6d5fcb7d51fd060e92385e1b9",()=>i.migrateProjectPath,"60df8249d72ac45826c0d808651a4f1b2646da9ef3",()=>k.completeOnboarding,"7c5b18e719c81439e9ce20a749d41d09247309d0c1",()=>l.searchCode]),c()}catch(a){c(a)}},!1)];
6
+ `);let{syncNoteToFts:i}=await a.A(195404);for(let a of(await e.db.projectNote.findMany({select:{id:!0,title:!0,content:!0}})))await i(e.db,a);(0,k.revalidatePath)("/")}finally{(0,h.cleanupTempDirs)(c),(0,h.releaseLock)(d)}}async function t(b){if("RESET"!==b)throw Error("Invalid confirmation");let c=(0,f.getTowerDir)(),d=await n();(0,h.acquireLock)(d);try{let b=await o(!0);await e.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await (0,h.createArchive)(c,d,b,!0);let{destroyAllSessions:f}=await a.A(98813);f(),await e.db.$disconnect(),(0,h.wipeTowerData)(c),await (0,e.resetDbConnection)(),(0,k.revalidatePath)("/")}finally{(0,h.releaseLock)(d)}}async function u(){return await (0,g.getConfigValue)("system.backupDir","")||(0,f.getBackupsDir)()}async function v(a){(0,h.validateBackupDir)(a),await (0,g.setConfigValue)("system.backupDir",a)}[g]=m.then?(await m)():m,(0,l.ensureServerEntryExports)([p,q,r,s,t,u,v]),(0,d.registerServerReference)(p,"407abd4aa36b770f2265d7cbbaa557a527750b2506",null),(0,d.registerServerReference)(q,"000954c6f27f4d69faa86e15e63685925a4f8faeb2",null),(0,d.registerServerReference)(r,"40faf7b2db8208042b242644342fd1495a8bf48b1e",null),(0,d.registerServerReference)(s,"4048be6d65d70b2ecae5a4768692f2385626bd405f",null),(0,d.registerServerReference)(t,"40034b20322e2ecbaef263acd7b497e2366d115e92",null),(0,d.registerServerReference)(u,"007bb940710c3f7bc9a04600b0182aee115892be0d",null),(0,d.registerServerReference)(v,"402438d53819ed830899efe0a550056a3593392d22",null),a.s(["createBackup",0,p,"deleteBackupFile",0,r,"getBackupDir",0,u,"listBackupFiles",0,q,"resetSystem",0,t,"restoreBackup",0,s,"setBackupDir",0,v]),c()}catch(a){c(a)}},!1),101026,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);var f=a.i(870888);a.i(925886),a.i(487373);var g=a.i(537944),h=b([d,e,f,g]);[d,e,f,g]=h.then?(await h)():h,a.s([]),c()}catch(a){c(a)}},!1),721357,a=>a.a(async(b,c)=>{try{var d=a.i(101026),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(870888),m=a.i(925886),n=a.i(487373),o=a.i(537944),p=b([d,g,h,l,o]);[d,g,h,l,o]=p.then?(await p)():p,a.s(["000954c6f27f4d69faa86e15e63685925a4f8faeb2",()=>o.listBackupFiles,"0017c96cfbba10eb5558b07c346d467fafc74ba32f",()=>h.getAvailableTerminalApps,"001e1fa1609fa6f321934af3c930363baeed8b3d15",()=>h.getActualWsPort,"003dd4b40b9ae3999cf2e766e4b5d199fce319b6b6",()=>j.listAllExtensionStatus,"00622b352cefb59a96b3d2c010c4d0e0b755d24f6f",()=>l.clearRgPathCache,"006c547946b18a978afe38dac465451e8dfd63a785",()=>k.getOnboardingStatus,"006ca763a21e0c7b1c866f46617803dde0a13da9ea",()=>h.getAvailableShells,"007bb940710c3f7bc9a04600b0182aee115892be0d",()=>o.getBackupDir,"00a0bb5d9c48aaddca2d041f9c1d6239a502e3bf7e",()=>l.checkRgAvailable,"00dbf32469ff11201d8f24aef9098bcb9fa141bcd4",()=>h.getPlatformInfo,"00fb534e304521d2ab6e925523e7aeb649ff3ea889",()=>n.getAvailableProviders,"40034b20322e2ecbaef263acd7b497e2366d115e92",()=>o.resetSystem,"40036cfdf05d58fb529acd58a7ac9272c2067e45db",()=>f.createLabel,"4011457e535193c5d7efdd65958f16689d280f23dd",()=>k.setOnboardingProgress,"4020cafb3c50ccfd1680566c22b87061c1447e23f8",()=>j.uninstallExtension,"402438d53819ed830899efe0a550056a3593392d22",()=>o.setBackupDir,"402e30179203e6f5820b8a8153582b58d4e9d98329",()=>i.checkMigrationSafety,"40343ae474f890964308647b5803f9734a720deef0",()=>m.createPrompt,"4048be6d65d70b2ecae5a4768692f2385626bd405f",()=>o.restoreBackup,"4069d554d8f7ce56ec3f58c1688d421b364bdf6005",()=>e.deleteWorkspace,"407abd4aa36b770f2265d7cbbaa557a527750b2506",()=>o.createBackup,"408a94f097a9a92d17f4ef2a81b170cb16586e0cba",()=>h.getConfigValues,"408accb4cc4036960ffbe673d3c54faf7a444d87b1",()=>m.getPrompts,"409e6268ea403bc68707518dd425bd71601685c0ca",()=>k.dispatchTaskCompletionEvent,"40a72d2e11016792a7be09074a65e6daa439d5a87a",()=>j.checkExtension,"40a854914e1c3d19dad8786e65c306c87611ade1f8",()=>e.createProject,"40b05fa1832e38faf3093f26ffc25130691bc7b075",()=>h.resolveGitLocalPath,"40b08935f992f3b992e349b4873710e2a4aa6e4248",()=>e.createWorkspace,"40baad4a3c5f68100f528509be2170b43469cbcbc6",()=>j.installExtension,"40cd9b519d904a0706b64e8fd24705179724ddd0c3",()=>m.deletePrompt,"40e0ac89b080f5ef618a53d9c811e487609f9a3290",()=>f.getLabelsForWorkspace,"40f9c1322120e8b7829290e7771b3e2b925d1b574a",()=>f.deleteLabel,"40faf7b2db8208042b242644342fd1495a8bf48b1e",()=>o.deleteBackupFile,"6009a7bd243192c601ff5ab6bf4f3a774cc9bf0df2",()=>k.setOnboardingExtensions,"6011ea8e7944a4a344175315363e288c4ee38f8382",()=>g.globalSearch,"601406ecac79b3ad03802ebdad7fee412b1cd242a3",()=>h.getConfigValue,"602a9baca17d1dfb46d6920ffa0a228eef5457ab33",()=>h.setConfigValue,"60422b53101cd553e6bc590d8b6c97c138e774d438",()=>i.migrateProjectPath,"604fccb4262ac62af97139f93b27d64097c183782b",()=>e.updateWorkspace,"6050e7dd371728221714178cb353624ad04f5ed9f7",()=>k.completeOnboarding,"60a34b51fb2262ccba1c2c6ff9922c1590410877d1",()=>m.setDefaultPrompt,"60bdd2a7ccc15ab629dbd3b67bf89065dc538f8ab7",()=>m.updatePrompt,"60d844213b06bdf9b556f80d11cf318691a6b9ea5e",()=>i.analyzeProjectDirectory,"7c9ed21e64e67aa2e483eab0fbfe6ded34dadcf78d",()=>l.searchCode]),c()}catch(a){c(a)}},!1)];
7
7
 
8
8
  //# sourceMappingURL=_0~80adm._.js.map