tower-studio 0.2.9 → 0.2.10
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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +41 -41
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +73 -73
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +41 -41
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
- package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +41 -41
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +54 -54
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +16 -16
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +98 -98
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +82 -82
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +71 -71
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +70 -70
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +41 -41
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +76 -76
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +88 -88
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +59 -59
- package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0h5yr8p.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__028ucbo._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03gi3ue._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07f7~6u._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d~z6xs._.js +2 -2
- package/.next/standalone/.next/server/chunks/_0_w835g._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0weytpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_0ba0ntr._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_0q-~me1._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.ukame._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__006_qh0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00qhe2l._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01j8ix6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02px.0y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03ebsif._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ca_ueb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dsdplu._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0z7q-_5._.js → [root-of-the-server]__0kzp4-y._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l43.5g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n.cuy2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nbj.ml._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ojv-d0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pm2~fu._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ps55l6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ribsk4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rjue04._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0souuv~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tc6uh2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v2eslh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjg_.n._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wlmzzq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wvyks.._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zbmoit._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~03tpv._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~a-emb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__10o9il8._.js → [root-of-the-server]__11t.nhs._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13vdw4w._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_03zmko4._.js → _028bxro._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_03ae9ko._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/_04b71ua._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_05h.8a~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0_l8.dg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0568hf5._.js → _0am8~b4._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0dr-c0.._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ds6nk2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0jxhs~u._.js → _0dvj0e.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0i4__mf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ihq._v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ik626t._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/{_11uabrg._.js → _0jymo4.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0999z~z._.js → _0quq3z2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0r9w-k8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rbctq7._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rt8hus._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0zcog8w._.js → _0ssha_7._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0-fpxu8._.js → _0t9cbox._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0~80adm._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{_0r8ftmo._.js → _13xqr7_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_13jha60._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +276 -276
- package/.next/standalone/.next/static/chunks/0.ofi_xek10ly.js +1 -0
- package/.next/standalone/.next/static/chunks/057-vm1159y01.js +1 -0
- package/.next/standalone/.next/static/chunks/{0-9-c__gfaxpa.js → 08czwnyn-yb6h.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0d5wyd0-zzb94.js → 0dzfcafnnd9ar.js} +1 -1
- package/.next/standalone/.next/static/chunks/0e01jd~5_f9y~.js +1 -0
- package/.next/standalone/.next/static/chunks/{0obdotk~5x07o.js → 0e1rsaypb1c8g.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0y1m4k4hrzl33.js → 0esxrl_jbzhq0.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0v-8_9de2o32z.js → 0ffqq7c8_0euc.js} +1 -1
- package/.next/standalone/.next/static/chunks/0g1~.f9jqo3nd.js +2 -0
- package/.next/standalone/.next/static/chunks/{05fy_a4boi~ym.js → 0g5lbqhmhs1om.js} +1 -1
- package/.next/standalone/.next/static/chunks/0iv0ao0keotf6.js +1 -0
- package/.next/standalone/.next/static/chunks/{0sbpshsch~ak2.js → 0naw4k2t-iitk.js} +2 -2
- package/.next/standalone/.next/static/chunks/0o__.a9lpdowg.js +1 -0
- package/.next/standalone/.next/static/chunks/0p2790ex-.bs1.js +1 -0
- package/.next/standalone/.next/static/chunks/0p2hpp_l5b.g3.js +1 -0
- package/.next/standalone/.next/static/chunks/0p3inhs_w7v5v.js +1 -0
- package/.next/standalone/.next/static/chunks/{0x~sbju1g3fjh.js → 0pn91v~~ax-2i.js} +1 -1
- package/.next/standalone/.next/static/chunks/0tpzfueusr2~a.js +1 -0
- package/.next/standalone/.next/static/chunks/{0p_vnqgdse218.js → 0v~wcz2xuu3p-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0jd4uhx~x74ox.js → 0xkogzb0hkmv2.js} +2 -2
- package/.next/standalone/.next/static/chunks/{04djo-eed_8rf.js → 14-ne07fdt5gd.js} +2 -2
- package/.next/standalone/package.json +1 -1
- package/dist/mcp-server.cjs +39 -0
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vwc25l._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_07k_7zo._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0gkxdta._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_13b~3az._.js +0 -7
- package/.next/standalone/.next/static/chunks/05mg~bkdmeovq.js +0 -1
- package/.next/standalone/.next/static/chunks/08o3st.fn2~6x.js +0 -1
- package/.next/standalone/.next/static/chunks/0e6c~o_iuvycp.js +0 -1
- package/.next/standalone/.next/static/chunks/0h3jzfwt-f9o7.js +0 -1
- package/.next/standalone/.next/static/chunks/0igfu0uxcf238.js +0 -1
- package/.next/standalone/.next/static/chunks/0o~dk86gtjq-..js +0 -1
- package/.next/standalone/.next/static/chunks/0t.7i1ltlf~rt.js +0 -2
- package/.next/standalone/.next/static/chunks/0v--ko.s9zeij.js +0 -1
- package/.next/standalone/.next/static/chunks/0ztm6whl93nyg.js +0 -1
- package/.next/standalone/.next/static/chunks/136efy8zbqp13.js +0 -1
- /package/.next/standalone/.next/static/{7iWXcI7IK1tpJQ-itTcOk → Y2nibY8eWLcXL1azqa_Q9}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{7iWXcI7IK1tpJQ-itTcOk → Y2nibY8eWLcXL1azqa_Q9}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{7iWXcI7IK1tpJQ-itTcOk → Y2nibY8eWLcXL1azqa_Q9}/_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,"00aef6802f4883c2119648bc474ab522c76460b198",null),(0,b.registerServerReference)(j,"604407125de72300754ad99ed2719c66744c870f31",null),(0,b.registerServerReference)(k,"00f3722a947425a64a661abdd77c7a7fcffee71f86",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,"00296ea93e37ef109c322e190939aa7a78ba179805",null),(0,b.registerServerReference)(j,"6042cde6610c923cddfb450c32c6ec32f91fc604a1",null),(0,b.registerServerReference)(k,"00b7aa19cd59094c61303bc11fdd496c21d97b1260",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.9",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/","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.10",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/","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,"
|
|
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,"405243fe2ea2732e24922ed634f4571072281a6838",null),(0,d.registerServerReference)(q,"002da6c13de4280e9fa214fcfb0faa378801b92009",null),(0,d.registerServerReference)(r,"40af5202375e41c7835d6262d7599c5f3b5058e6ca",null),(0,d.registerServerReference)(s,"40d0a393543dbac31e4154d9820f2f8c3262ef6875",null),(0,d.registerServerReference)(t,"40fd855bbcfc817ecb5fb123a528cc875c7b488b09",null),(0,d.registerServerReference)(u,"00c70d30c488290fcd572c2ac69579fc35005ea059",null),(0,d.registerServerReference)(v,"40a7927959da545d7f46a861b5e872c846fb2de2d2",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(["002da6c13de4280e9fa214fcfb0faa378801b92009",()=>o.listBackupFiles,"0041df5486e2e22f094302f2cbf0feac638278f203",()=>j.listAllExtensionStatus,"005658cde119c372ffc54296eed261ca8fe226bdf3",()=>l.clearRgPathCache,"006098426761a40e4b93dc46f577c4cca16cc4ca5b",()=>h.getPlatformInfo,"006a685f823939c8ddabc4c981d10b5ffd3a84a538",()=>h.getAvailableTerminalApps,"007917eb2348c213933037fa0b0ee848be3cb87c1e",()=>k.getOnboardingStatus,"0095f9b7409f19cb7a4858b3af93184d2f94d7f783",()=>h.getActualWsPort,"00990ad364e447a5d3bc5b829fbb512d56791e61a5",()=>l.checkRgAvailable,"00b7aa19cd59094c61303bc11fdd496c21d97b1260",()=>n.getAvailableProviders,"00c70d30c488290fcd572c2ac69579fc35005ea059",()=>o.getBackupDir,"00f1983a3634fe5141b75eb1ab3a3b741118a6ec69",()=>h.getAvailableShells,"40023e04c00e5031b947837d813de3e5008c7998ed",()=>j.installExtension,"4016e8c519532dcfed3e59979b95135688a72df2f0",()=>m.deletePrompt,"4046169325470421b59d0f461ad8bdefb0e79735c1",()=>m.getPrompts,"40490ad5bcebd5783c04ddcaea990f816adcf3d62e",()=>f.deleteLabel,"405243fe2ea2732e24922ed634f4571072281a6838",()=>o.createBackup,"40572611cf1015e642d34ea2b6a0027a216b9e35d2",()=>j.uninstallExtension,"40622ab6a12749e686c5f41a4069429783a2b1679e",()=>h.resolveGitLocalPath,"4066b5ea9c89d1e11b63c06866a5e44403fc00735b",()=>i.checkMigrationSafety,"407cea86bcf79899c6b9ddf2859de4b028adc74d9a",()=>e.createWorkspace,"408318bb2a36cde2db518580453bb566cf569f5617",()=>k.setOnboardingProgress,"408c4b068a101ff26430fd9a2eab8da4205b17a155",()=>f.createLabel,"4090d269cecfc12d2c41c22f5ea8ee9e2356ba772c",()=>e.createProject,"409b9e89c16b48d26a23b86d39e9990e955c649fed",()=>k.dispatchTaskCompletionEvent,"40a7927959da545d7f46a861b5e872c846fb2de2d2",()=>o.setBackupDir,"40af5202375e41c7835d6262d7599c5f3b5058e6ca",()=>o.deleteBackupFile,"40bfc6de7abff6ff2c1d27ff159588295d5f3a6973",()=>m.createPrompt,"40cdbb3a728b884d16c28dba88a95015831d0f707a",()=>f.getLabelsForWorkspace,"40d0a393543dbac31e4154d9820f2f8c3262ef6875",()=>o.restoreBackup,"40dd7b0d3eb5d3ee6b528c5365e113944513147a8f",()=>h.getConfigValues,"40e768245a4e78fce5a90281591c51e6bd43c8b391",()=>j.checkExtension,"40ee1cdf4e6e9870944d24e557cd3ad748f1815a19",()=>e.deleteWorkspace,"40fd855bbcfc817ecb5fb123a528cc875c7b488b09",()=>o.resetSystem,"6011a77cb03291a868c4f98dee7fc35bcd5bc755bc",()=>k.completeOnboarding,"601d3e703fe9b168047888d897fb03b3355cec045e",()=>k.setOnboardingExtensions,"604d188e861acf619c5baf2856feff3fe637de7bdc",()=>g.globalSearch,"605a871303674e0eaf175cb61d233ad574bfe8524c",()=>e.updateWorkspace,"6070935e8ea3377e1074b1011282dac5c4f86959ab",()=>h.getConfigValue,"60d1cadc9841b851175001b74b3fc13d3a348df7a0",()=>i.analyzeProjectDirectory,"60d5ff879300cbaeddaf13225c0ec7c70984a6dca2",()=>m.updatePrompt,"60d9158dfaa5ddb9b12e8aaea8df1752690d3f2ad9",()=>i.migrateProjectPath,"60e960e2e18aa28c6856c37ec1a36ff254f9ca360c",()=>h.setConfigValue,"60fa62cef74fca82466af8645224666219bca8962b",()=>m.setDefaultPrompt,"7cfce039b36a6c007d746dd8024bf08dd34ea073b6",()=>l.searchCode]),c()}catch(a){c(a)}},!1)];
|
|
7
7
|
|
|
8
8
|
//# sourceMappingURL=_0~80adm._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},579834,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],161664)},
|
|
1
|
+
module.exports=[10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},579834,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],161664)},166300,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4020d8a1cc596687b55865e96796ae7cea4ed4a4e9",b.callServer,void 0,b.findSourceMapURL,"stopPtyExecution");a.s(["stopPtyExecution",0,c])},674229,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("7c9341a3a3cf6165ee3bf3b385597af9647d530ff2",b.callServer,void 0,b.findSourceMapURL,"startPtyExecution");a.s(["startPtyExecution",0,c])},527757,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60005e9e7d3726521e8eae7ec1df23df0995ae26a4",b.callServer,void 0,b.findSourceMapURL,"resumePtyExecution");a.s(["resumePtyExecution",0,c])},868337,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40dd7b0d3eb5d3ee6b528c5365e113944513147a8f",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_13xqr7_._.js.map
|