vibe64 0.1.38 → 0.1.40
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/bin/run.js +1942 -1846
- package/bin/server.js +136 -112
- package/bin/upgrade-state.js +5023 -4860
- package/dist/assets/GithubBrowserTabs-BoDkGFtY.js +1 -0
- package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
- package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
- package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
- package/dist/assets/VAlert-gwuhYlYb.js +1 -0
- package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
- package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
- package/dist/assets/VBtn-BhVEwXLX.js +1 -0
- package/dist/assets/VCard-C3Hx769y.js +1 -0
- package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
- package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
- package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
- package/dist/assets/VChip-VVdtjfq-.js +1 -0
- package/dist/assets/VDialog-CQDhjRiV.js +1 -0
- package/dist/assets/VDivider-Dq25WsKu.js +1 -0
- package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
- package/dist/assets/VMenu-CDcBLYWR.js +1 -0
- package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
- package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
- package/dist/assets/VRow-BskP28jR.js +1 -0
- package/dist/assets/VSelect-D3oLvCcB.js +2 -0
- package/dist/assets/VSheet-DxYEFfnM.js +1 -0
- package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
- package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
- package/dist/assets/VSwitch-BxGuGypi.js +1 -0
- package/dist/assets/VTextField-C0b_0cSa.js +1 -0
- package/dist/assets/VTextField-F6unyhrS.css +1 -0
- package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
- package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-CmiidAs5.js +5 -0
- package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
- package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
- package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
- package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
- package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
- package/dist/assets/Vibe64DashboardShell-MCzEQCWu.js +1 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-Ca8IHSRq.js → Vibe64DatabaseWorkspace-DM9V017v.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
- package/dist/assets/Vibe64OutputControls-CU9H0Dur.js +8 -0
- package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-BfsZozSJ.js → Vibe64RepositoryWorkspace-DaAChLA8.js} +2 -2
- package/dist/assets/{Vibe64SessionFiles-n87RqqY6.js → Vibe64SessionFiles-CM2EzXBf.js} +4 -4
- package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
- package/dist/assets/{_sessionId_-B_TTRB4c.js → _sessionId_-DVHd6D5V.js} +1 -1
- package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
- package/dist/assets/_slug_-DsfaE8Vh.js +25 -0
- package/dist/assets/_slug_-_qfQqdHb.css +1 -0
- package/dist/assets/{access-tl4ht_d8.js → access-BbzSuMt5.js} +1 -1
- package/dist/assets/app-BNh2oZg-.js +1 -0
- package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
- package/dist/assets/{changes-DZWHZguL.js → changes-D8Koqrqg.js} +1 -1
- package/dist/assets/client-CybfBKCn.js +2 -0
- package/dist/assets/client-D6UGamrv.css +1 -0
- package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
- package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
- package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
- package/dist/assets/{dashboard-iREwhGqv.js → dashboard-DLrmf5ed.js} +1 -1
- package/dist/assets/definitions-DgyQJgn-.js +1 -0
- package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
- package/dist/assets/env-B5V1EC4M.css +1 -0
- package/dist/assets/env-rVQwLtYr.js +1 -0
- package/dist/assets/health-92hh8xXh.css +1 -0
- package/dist/assets/health-B6r9LLrd.js +1 -0
- package/dist/assets/{history-DVURy45X.js → history-C6xLWUxL.js} +1 -1
- package/dist/assets/incoming-Bdqo8z25.css +1 -0
- package/dist/assets/incoming-CNwZa_yD.js +2 -0
- package/dist/assets/index-B9P6KjvH.js +138 -0
- package/dist/assets/{index-irlMYzLh.css → index-BC29JK2e.css} +1 -1
- package/dist/assets/{integrations-Dy5jIiJ5.js → integrations-CcrqPXxj.js} +10 -10
- package/dist/assets/integrations-Co8WvCiD.css +1 -0
- package/dist/assets/issues-DEjIlMdl.js +1 -0
- package/dist/assets/layout-B2Ap07aa.js +1 -0
- package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
- package/dist/assets/{learning-_O1PEaam.js → learning-BP1xvd8w.js} +1 -1
- package/dist/assets/mdi-Bt90Ns76.js +1 -0
- package/dist/assets/placement-CQy46H3H.js +1 -0
- package/dist/assets/publish-CPWnztCc.css +1 -0
- package/dist/assets/publish-CVXolnAG.js +3 -0
- package/dist/assets/pull-requests-BjwokcU0.css +1 -0
- package/dist/assets/pull-requests-DdgzLzY_.js +1 -0
- package/dist/assets/{repository-BUfUAyS9.js → repository-5S0LzRq3.js} +1 -1
- package/dist/assets/ripple-EFNA8EBu.js +11 -0
- package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
- package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
- package/dist/assets/{settings-CzhIcn9K.js → settings-BKP_eQ3F.js} +1 -1
- package/dist/assets/settings-D8x4KUqV.css +1 -0
- package/dist/assets/shared-DZETtWRH.js +2 -0
- package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
- package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-D8DWpcSy.js +1 -0
- package/dist/assets/useCommand-nWFczmJy.js +1 -0
- package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
- package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
- package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-D-Vkq0sK.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-Dpm53ruL.js} +1 -1
- package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
- package/dist/assets/useVibe64SessionData-CGJXj3r7.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-CuZCzAcY.js → useVibe64SessionSelection-BEqKR412.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
- package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
- package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
- package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
- package/dist/assets/vibe64SessionFocus-tv2wz7_H.js +1 -0
- package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
- package/dist/index.html +56 -46
- package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
- package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
- package/docs/colleague-usage/ai-model-setups.md +159 -0
- package/docs/colleague-usage/ai-onboarding.md +94 -21
- package/docs/colleague-usage/ai-personal-use.md +41 -0
- package/docs/colleague-usage/auto-workflow.md +8 -3
- package/docs/colleague-usage/codex-context-recovery.md +2 -1
- package/docs/colleague-usage/coding-agent-goals.md +7 -4
- package/docs/colleague-usage/coding-agents.md +8 -5
- package/docs/colleague-usage/colleague-watches.md +15 -4
- package/docs/colleague-usage/colleague.md +21 -5
- package/docs/colleague-usage/connected-contributions.md +13 -13
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +1 -1
- package/docs/colleague-usage/dashboard-navigation.md +5 -3
- package/docs/colleague-usage/development-env.md +21 -4
- package/docs/colleague-usage/file-interfaces.md +1 -1
- package/docs/colleague-usage/github-work.md +8 -8
- package/docs/colleague-usage/health-checks.md +52 -18
- package/docs/colleague-usage/incoming-changes.md +3 -3
- package/docs/colleague-usage/integrations.md +5 -3
- package/docs/colleague-usage/learning-course-catalogue.md +3 -3
- package/docs/colleague-usage/learning-environment.md +57 -50
- package/docs/colleague-usage/learning-mode-ui.md +13 -10
- package/docs/colleague-usage/learning-practice-projects.md +13 -2
- package/docs/colleague-usage/learning-teacher-guide.md +9 -4
- package/docs/colleague-usage/learning-with-colleague.md +9 -5
- package/docs/colleague-usage/lesson-authoring.md +12 -12
- package/docs/colleague-usage/lesson-step-bar.md +32 -33
- package/docs/colleague-usage/main-chat-approvals.md +150 -0
- package/docs/colleague-usage/preview-browser-checks.md +5 -1
- package/docs/colleague-usage/project-language-tools.md +16 -2
- package/docs/colleague-usage/project-settings.md +1 -1
- package/docs/colleague-usage/project-setup.md +17 -7
- package/docs/colleague-usage/publishing.md +185 -0
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
- package/docs/colleague-usage/sessions.md +18 -10
- package/docs/colleague-usage/set-up-linux.md +254 -0
- package/docs/colleague-usage/set-up-macos.md +199 -0
- package/docs/colleague-usage/set-up-windows.md +76 -0
- package/docs/colleague-usage/starter-apps.md +21 -4
- package/docs/colleague-usage/teaching-content.md +2 -2
- package/docs/colleague-usage/team-ai-access.md +108 -0
- package/docs/colleague-usage/temporary-chats.md +9 -7
- package/docs/colleague-usage/workspace-preparation.md +50 -1
- package/docs/templates/learn-topic/README.md +3 -3
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
- package/docs/training-content.md +39 -16
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-accounts/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +4 -1
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +73 -69
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
- package/node_modules/@local/vibe64-genesis/src/server/index.js +501 -415
- package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +143 -139
- package/node_modules/@local/vibe64-packaging/package.json +26 -0
- package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
- package/node_modules/@local/vibe64-project/package.json +3 -1
- package/node_modules/@local/vibe64-publishing/package.json +12 -0
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
- package/node_modules/@local/vibe64-terminals/package.json +2 -1
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1340 -1300
- package/node_modules/@local/vibe64-training/package.json +2 -1
- package/package.json +19 -15
- package/server.bundle.mjs +42890 -40887
- package/dist/assets/GithubBrowserTabs-BykoCFfz.js +0 -1
- package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
- package/dist/assets/VAlert-P256xaE0.js +0 -1
- package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
- package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
- package/dist/assets/VBtn-B2MBK2DL.js +0 -1
- package/dist/assets/VCard-mXy0k4aS.js +0 -1
- package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
- package/dist/assets/VChip-CcI-Oo2J.js +0 -1
- package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
- package/dist/assets/VDivider-BMEqUoAB.js +0 -1
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
- package/dist/assets/VMenu-C_x18lwb.js +0 -1
- package/dist/assets/VOverlay-CeMZurIN.js +0 -1
- package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
- package/dist/assets/VRow-Cpw7OHQV.js +0 -1
- package/dist/assets/VSelect-DL3HaA5m.js +0 -2
- package/dist/assets/VSheet-DZWsu0kL.js +0 -1
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
- package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
- package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
- package/dist/assets/VTextField-BR2eZeFT.js +0 -1
- package/dist/assets/VTextField-BiatYyd3.css +0 -1
- package/dist/assets/VTextarea-DbqamXJd.js +0 -1
- package/dist/assets/Vibe64AuthSettingsButton-CIwtchKm.js +0 -5
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
- package/dist/assets/Vibe64DashboardShell-DXVDJUAY.js +0 -1
- package/dist/assets/Vibe64OutputControls-DngQNTTt.js +0 -8
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
- package/dist/assets/_slug_-Buxpw0T4.css +0 -1
- package/dist/assets/_slug_-DsqilUs_.js +0 -24
- package/dist/assets/app-DT4_MliP.js +0 -1
- package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
- package/dist/assets/client-BWV84wi2.js +0 -2
- package/dist/assets/client-DGrP-2AJ.css +0 -1
- package/dist/assets/definitions-CNu5E87y.js +0 -1
- package/dist/assets/env-BzRtyO0w.css +0 -1
- package/dist/assets/env-D5KpTEw7.js +0 -1
- package/dist/assets/health-BJvooRnJ.css +0 -1
- package/dist/assets/health-BhoO1d4h.js +0 -1
- package/dist/assets/incoming-DWDrmxyH.css +0 -1
- package/dist/assets/incoming-DzADFGqp.js +0 -2
- package/dist/assets/index-GBRpNZLy.js +0 -138
- package/dist/assets/integrations-Cq1x-Di9.css +0 -1
- package/dist/assets/issues-lh7R775d.js +0 -1
- package/dist/assets/mdi-CG9pWOSj.js +0 -1
- package/dist/assets/placement-BF-zIEhA.js +0 -1
- package/dist/assets/pull-requests-ByE-Dvk7.js +0 -1
- package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
- package/dist/assets/ripple-BVltMmyV.js +0 -11
- package/dist/assets/settings-BopLnpB0.css +0 -1
- package/dist/assets/shared-DpMvYJO3.js +0 -2
- package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
- package/dist/assets/studioUrls-DmMMIScP.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-CLHJOyeW.js +0 -1
- package/dist/assets/useCommand-Bqxb-naz.js +0 -1
- package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
- package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
- package/dist/assets/useVibe64ConversationLog-B4JgmxUf.js +0 -1
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
- package/dist/assets/useVibe64SessionData-YhhE_5pC.js +0 -1
- package/dist/assets/vibe64SessionFocus-Cz5Vq1re.js +0 -1
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
|
@@ -1,124 +1,124 @@
|
|
|
1
1
|
import { createRequire as __vibe64CreateRequire } from 'node:module';const require=__vibe64CreateRequire(import.meta.url);
|
|
2
|
-
var
|
|
3
|
-
if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var
|
|
4
|
-
enumerable:!(n=
|
|
2
|
+
var Jf=Object.create;var $s=Object.defineProperty;var Xf=Object.getOwnPropertyDescriptor;var Zf=Object.getOwnPropertyNames;var Qf=Object.getPrototypeOf,em=Object.prototype.hasOwnProperty;var Ee=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){
|
|
3
|
+
if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var W=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}};var tm=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zf(t))!em.call(e,o)&&o!==r&&$s(e,o,{get:()=>t[o],
|
|
4
|
+
enumerable:!(n=Xf(t,o))||n.enumerable});return e};var rm=(e,t,r)=>(r=e!=null?Jf(Qf(e)):{},tm(t||!e||!e.__esModule?$s(r,"default",{value:e,enumerable:!0}):r,e));var ha=W((mR,ma)=>{ma.exports=fa;fa.sync=dh;var da=Ee("fs");function uh(e,t){var r=t.pathExt!==void 0?t.pathExt:process.
|
|
5
5
|
env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&
|
|
6
|
-
e.substr(-o.length).toLowerCase()===o)return!0}return!1}function
|
|
7
|
-
t,r)}function
|
|
8
|
-
function
|
|
6
|
+
e.substr(-o.length).toLowerCase()===o)return!0}return!1}function pa(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:uh(
|
|
7
|
+
t,r)}function fa(e,t,r){da.stat(e,function(n,o){r(n,n?!1:pa(o,e,t))})}function dh(e,t){return pa(da.statSync(e),e,t)}});var _a=W((hR,ya)=>{ya.exports=ba;ba.sync=ph;var ga=Ee("fs");function ba(e,t,r){ga.stat(e,function(n,o){r(n,n?!1:wa(o,t))})}
|
|
8
|
+
function ph(e,t){return wa(ga.statSync(e),t)}function wa(e,t){return e.isFile()&&fh(e,t)}function fh(e,t){var r=e.mode,n=e.
|
|
9
9
|
uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),
|
|
10
|
-
a=parseInt("100",8),c=parseInt("010",8),l=parseInt("001",8),u=a|c,d=r&l||r&c&&o===s||r&a&&n===i||r&u&&i===0;return d}});var
|
|
11
|
-
sync=
|
|
12
|
-
llback not provided");return new Promise(function(n,o){
|
|
13
|
-
n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function
|
|
14
|
-
if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var
|
|
15
|
-
|
|
16
|
-
match(/\//)||
|
|
17
|
-
process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=
|
|
18
|
-
""),{pathEnv:n,pathExt:i,pathExtExe:o}},
|
|
19
|
-
pathExtExe:i}=
|
|
20
|
-
test(p)?p.slice(1,-1):p,m=
|
|
21
|
-
if(d===o.length)return p(a(u+1));let m=o[d];
|
|
22
|
-
return p(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},
|
|
23
|
-
e,t),i=[];for(let s=0;s<r.length;s++){let a=r[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=
|
|
24
|
-
e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let p=u+n[d];try{if(
|
|
25
|
-
if(t.all&&i.length)return i;if(t.nothrow)return null;throw
|
|
26
|
-
"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};
|
|
10
|
+
a=parseInt("100",8),c=parseInt("010",8),l=parseInt("001",8),u=a|c,d=r&l||r&c&&o===s||r&a&&n===i||r&u&&i===0;return d}});var Ea=W((bR,Sa)=>{var gR=Ee("fs"),wr;process.platform==="win32"||global.TESTING_WINDOWS?wr=ha():wr=_a();Sa.exports=go;go.
|
|
11
|
+
sync=mh;function go(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("ca\
|
|
12
|
+
llback not provided");return new Promise(function(n,o){go(e,t||{},function(i,s){i?o(i):n(s)})})}wr(e,t||{},function(n,o){
|
|
13
|
+
n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function mh(e,t){try{return wr.sync(e,t||{})}catch(r){
|
|
14
|
+
if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Oa=W((wR,Pa)=>{var qe=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",va=Ee("path"),
|
|
15
|
+
hh=qe?";":":",Ta=Ea(),Ia=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Aa=(e,t)=>{let r=t.colon||hh,n=e.
|
|
16
|
+
match(/\//)||qe&&e.match(/\\/)?[""]:[...qe?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=qe?t.pathExt||
|
|
17
|
+
process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=qe?o.split(r):[""];return qe&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(
|
|
18
|
+
""),{pathEnv:n,pathExt:i,pathExtExe:o}},Ra=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,
|
|
19
|
+
pathExtExe:i}=Aa(e,t),s=[],a=l=>new Promise((u,d)=>{if(l===n.length)return t.all&&s.length?u(s):d(Ia(e));let p=n[l],f=/^".*"$/.
|
|
20
|
+
test(p)?p.slice(1,-1):p,m=va.join(f,e),h=!f&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;u(c(h,l,0))}),c=(l,u,d)=>new Promise((p,f)=>{
|
|
21
|
+
if(d===o.length)return p(a(u+1));let m=o[d];Ta(l+m,{pathExt:i},(h,y)=>{if(!h&&y)if(t.all)s.push(l+m);else return p(l+m);
|
|
22
|
+
return p(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},gh=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=Aa(
|
|
23
|
+
e,t),i=[];for(let s=0;s<r.length;s++){let a=r[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=va.join(c,e),u=!c&&/^\.[\\\/]/.test(
|
|
24
|
+
e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let p=u+n[d];try{if(Ta.sync(p,{pathExt:o}))if(t.all)i.push(p);else return p}catch{}}}
|
|
25
|
+
if(t.all&&i.length)return i;if(t.nothrow)return null;throw Ia(e)};Pa.exports=Ra;Ra.sync=gh});var xa=W((yR,bo)=>{"use strict";var Ca=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?
|
|
26
|
+
"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};bo.exports=Ca;bo.exports.default=Ca});var Ma=W((_R,$a)=>{"use strict";var ka=Ee("path"),bh=Oa(),wh=xa();function Na(e,t){let r=e.options.env||process.env,n=process.
|
|
27
27
|
cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}
|
|
28
|
-
let s;try{s=
|
|
29
|
-
(s=
|
|
30
|
-
return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(
|
|
31
|
-
"^$1"),t&&(e=e.replace(
|
|
32
|
-
/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
e.file),e.command=t,
|
|
36
|
-
test(t);e.command=
|
|
28
|
+
let s;try{s=bh.sync(e.command,{path:r[wh({env:r})],pathExt:t?ka.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&
|
|
29
|
+
(s=ka.resolve(o?e.options.cwd:"",s)),s}function yh(e){return Na(e)||Na(e,!0)}$a.exports=yh});var Da=W((SR,yo)=>{"use strict";var wo=/([()\][%!^"`<>&|;, *?])/g;function _h(e){return e=e.replace(wo,"^$1"),e}function Sh(e,t){
|
|
30
|
+
return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(wo,
|
|
31
|
+
"^$1"),t&&(e=e.replace(wo,"^$1")),e}yo.exports.command=_h;yo.exports.argument=Sh});var Ba=W((ER,La)=>{"use strict";La.exports=/^#!(.*)/});var Ga=W((vR,Ua)=>{"use strict";var Eh=Ba();Ua.exports=(e="")=>{let t=e.match(Eh);if(!t)return null;let[r,n]=t[0].replace(
|
|
32
|
+
/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var Ha=W((TR,za)=>{"use strict";var _o=Ee("fs"),vh=Ga();function Th(e){let r=Buffer.alloc(150),n;try{n=_o.openSync(e,"r"),
|
|
33
|
+
_o.readSync(n,r,0,150,0),_o.closeSync(n)}catch{}return vh(r.toString())}za.exports=Th});var Wa=W((IR,Va)=>{"use strict";var Ih=Ee("path"),Fa=Ma(),ja=Da(),Ah=Ha(),Rh=process.platform==="win32",Ph=/\.(?:com|exe)$/i,
|
|
34
|
+
Oh=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ch(e){e.file=Fa(e);let t=e.file&&Ah(e.file);return t?(e.args.unshift(
|
|
35
|
+
e.file),e.command=t,Fa(e)):e.file}function xh(e){if(!Rh)return e;let t=Ch(e),r=!Ph.test(t);if(e.options.forceShell||r){let n=Oh.
|
|
36
|
+
test(t);e.command=Ih.normalize(e.command),e.command=ja.command(e.command),e.args=e.args.map(i=>ja.argument(i,n));let o=[
|
|
37
37
|
e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.
|
|
38
|
-
windowsVerbatimArguments=!0}return e}function
|
|
39
|
-
{},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:
|
|
40
|
-
command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function
|
|
41
|
-
if(!
|
|
42
|
-
e,arguments)}}function
|
|
43
|
-
!t.file?
|
|
44
|
-
n.command,n.args,n.options);return
|
|
45
|
-
n.args,n.options);return o.error=o.error||
|
|
46
|
-
sync=
|
|
47
|
-
import{promisify as
|
|
38
|
+
windowsVerbatimArguments=!0}return e}function kh(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign(
|
|
39
|
+
{},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:xh(n)}Va.exports=kh});var Ka=W((AR,Ya)=>{"use strict";var So=process.platform==="win32";function Eo(e,t){return Object.assign(new Error(`${t} ${e.
|
|
40
|
+
command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Nh(e,t){
|
|
41
|
+
if(!So)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=qa(o,t);if(i)return r.call(e,"error",i)}return r.apply(
|
|
42
|
+
e,arguments)}}function qa(e,t){return So&&e===1&&!t.file?Eo(t.original,"spawn"):null}function $h(e,t){return So&&e===1&&
|
|
43
|
+
!t.file?Eo(t.original,"spawnSync"):null}Ya.exports={hookChildProcess:Nh,verifyENOENT:qa,verifyENOENTSync:$h,notFoundError:Eo}});var Za=W((RR,Ye)=>{"use strict";var Ja=Ee("child_process"),vo=Wa(),To=Ka();function Xa(e,t,r){let n=vo(e,t,r),o=Ja.spawn(
|
|
44
|
+
n.command,n.args,n.options);return To.hookChildProcess(o,n),o}function Mh(e,t,r){let n=vo(e,t,r),o=Ja.spawnSync(n.command,
|
|
45
|
+
n.args,n.options);return o.error=o.error||To.verifyENOENTSync(o.status,n),o}Ye.exports=Xa;Ye.exports.spawn=Xa;Ye.exports.
|
|
46
|
+
sync=Mh;Ye.exports._parse=vo;Ye.exports._enoent=To});import{existsSync as FT}from"node:fs";import jT from"node:path";import{execFile as nm}from"node:child_process";import{readFile as om}from"node:fs/promises";import Jn from"node:os";import im from"node:path";
|
|
47
|
+
import{promisify as sm}from"node:util";var am=sm(nm);function nr(e=""){return String(e||"").trim()}function Ds(e=""){let t=nr(e);if(!t||t.includes("/")||t.includes("\\")||t.
|
|
48
48
|
includes(":")){let r=new Error("A valid OS username is required.");throw r.code="vibe64_invalid_os_username",r}return t}
|
|
49
|
-
function
|
|
49
|
+
function Ls([e,t,r,n,o,i]=[]){if(!/^\d+$/u.test(t)||!/^\d+$/u.test(r))return null;let s=Number(t),a=Number(r);return!Number.
|
|
50
50
|
isSafeInteger(s)||!Number.isSafeInteger(a)?null:{displayName:String(n||"").split(",")[0],gid:a,home:String(o||""),shell:String(
|
|
51
|
-
i||""),uid:s,username:String(e||"")}}function
|
|
52
|
-
t[0],t[2],t[3],t[4],t[5],t[6]])}function
|
|
53
|
-
split(/\r?\n/u)){let o=/^\s*([a-z]+):\s?(.*)$/u.exec(n);o&&(r[o[1]]=o[2].trim())}return
|
|
54
|
-
dir,r.shell])}).filter(Boolean)}async function
|
|
55
|
-
string"?n:n?.stdout)||"")}function
|
|
56
|
-
n=
|
|
51
|
+
i||""),uid:s,username:String(e||"")}}function Xn(e=""){let t=String(e||"").trim().split(":");return t.length<7?null:Ls([
|
|
52
|
+
t[0],t[2],t[3],t[4],t[5],t[6]])}function cm(e=""){return String(e||"").split(/\r?\n[\t ]*\r?\n/u).map(t=>{let r={};for(let n of t.
|
|
53
|
+
split(/\r?\n/u)){let o=/^\s*([a-z]+):\s?(.*)$/u.exec(n);o&&(r[o[1]]=o[2].trim())}return Ls([r.name,r.uid,r.gid,r.gecos,r.
|
|
54
|
+
dir,r.shell])}).filter(Boolean)}async function Ms(e,t,r){let n=await e(t,r,{encoding:"utf8"});return String((typeof n=="\
|
|
55
|
+
string"?n:n?.stdout)||"")}function It({homedir:e=Jn.homedir,userInfo:t=Jn.userInfo}={}){let r=typeof t=="function"?t():{},
|
|
56
|
+
n=nr(r?.username||process.env.USER||process.env.LOGNAME),o=im.resolve(String(r?.homedir||e()||""));return{displayName:String(
|
|
57
57
|
r?.username||n),gid:Number.isSafeInteger(r?.gid)?r.gid:null,home:o,shell:String(r?.shell||""),uid:Number.isSafeInteger(r?.
|
|
58
|
-
uid)?r.uid:null,username:n}}async function
|
|
59
|
-
userInfo}={}){let i=
|
|
58
|
+
uid)?r.uid:null,username:n}}async function or(e="",{execFileFn:t=am,platform:r=process.platform,readFileFn:n=om,userInfo:o=Jn.
|
|
59
|
+
userInfo}={}){let i=Ds(e);if(r==="linux"&&!/^\d+$/u.test(i)){let c=[...(await n("/etc/nsswitch.conf","utf8").catch(()=>"")).
|
|
60
60
|
matchAll(/^[\t ]*passwd[\t ]*:[\t ]*([^#\r\n]*)/gmu)],l=c.length===1?c[0][1].trim().split(/\s+/u):[];if(l[0]==="files"&&
|
|
61
61
|
(l.length===1||/^[a-z_][a-z0-9_-]*$/iu.test(l[1]))){let d=(await n("/etc/passwd","utf8").catch(()=>"")).split(/\r?\n/u).
|
|
62
|
-
map(
|
|
63
|
-
[s]=
|
|
64
|
-
if(!s||s.username!==i){let a=new Error(`OS user was not found: ${i}`);throw a.code="vibe64_os_user_not_found",a}return s}import
|
|
65
|
-
isSafeInteger(t)&&t>=0?t:null}function O(e=""){let t=C(e);return t?
|
|
66
|
-
"object"&&!Array.isArray(e)?e:{}}function
|
|
67
|
-
r??"")]).filter(([t])=>!!t))}function
|
|
68
|
-
has(o)||(r.add(o),t.push(o))}return t}function ge(...e){for(let t of e){let r=C(t);if(r)return r}return""}function
|
|
69
|
-
gid:
|
|
70
|
-
return
|
|
71
|
-
join(r.home,".cache"),XDG_CONFIG_HOME:
|
|
72
|
-
return
|
|
62
|
+
map(Xn).find(p=>p?.username===i);if(d)return d}}let s;if(r==="darwin"){let a=It({userInfo:o});if(a.username===i)return a;
|
|
63
|
+
[s]=cm(await Ms(t,"dscacheutil",["-q","user","-a","name",i]))}else s=Xn((await Ms(t,"getent",["passwd",i])).split(/\r?\n/u)[0]);
|
|
64
|
+
if(!s||s.username!==i){let a=new Error(`OS user was not found: ${i}`);throw a.code="vibe64_os_user_not_found",a}return s}import um from"node:os";import Qn from"node:path";import lm from"node:path";function C(e=""){return String(e??"").trim()}function Zn(e=null){let t=Number(e);return Number.
|
|
65
|
+
isSafeInteger(t)&&t>=0?t:null}function O(e=""){let t=C(e);return t?lm.resolve(t):""}function j(e={}){return e&&typeof e==
|
|
66
|
+
"object"&&!Array.isArray(e)?e:{}}function H(e={}){return Object.fromEntries(Object.entries(j(e)).map(([t,r])=>[C(t),String(
|
|
67
|
+
r??"")]).filter(([t])=>!!t))}function xe(e=[]){let t=[],r=new Set;for(let n of Array.isArray(e)?e:[e]){let o=C(n);!o||r.
|
|
68
|
+
has(o)||(r.add(o),t.push(o))}return t}function ge(...e){for(let t of e){let r=C(t);if(r)return r}return""}function ir(e={}){let t=C(e.username),r=O(e.home||(t?`/home/${t}`:um.homedir()));return{displayName:C(e.displayName||t),
|
|
69
|
+
gid:Zn(e.gid),home:r,shell:C(e.shell),uid:Zn(e.uid),username:t}}function eo(){return ir(It())}async function to(e="",t={}){
|
|
70
|
+
return ir(await or(e,t))}function ro(e={},t={}){let r=ir(e);return{...t,HOME:r.home,LOGNAME:r.username,USER:r.username,XDG_CACHE_HOME:Qn.
|
|
71
|
+
join(r.home,".cache"),XDG_CONFIG_HOME:Qn.join(r.home,".config"),XDG_DATA_HOME:Qn.join(r.home,".local","share")}}function no(e={},t={}){
|
|
72
|
+
return ro(e,t)}function oo(){return{gid:typeof process.getgid=="function"?process.getgid():null,uid:typeof process.getuid==
|
|
73
73
|
"function"?process.getuid():null}}function L(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||
|
|
74
|
-
Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}import{fileURLToPath as
|
|
75
|
-
must be a string or a file URL: ${r}.`);return r},
|
|
76
|
-
e)===String.prototype,
|
|
74
|
+
Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}import{fileURLToPath as dm}from"node:url";var je=(e,t)=>{let r=so(pm(e));if(typeof r!="string")throw new TypeError(`${t}\
|
|
75
|
+
must be a string or a file URL: ${r}.`);return r},pm=e=>io(e)?e.toString():e,io=e=>typeof e!="string"&&e&&Object.getPrototypeOf(
|
|
76
|
+
e)===String.prototype,so=e=>e instanceof URL?dm(e):e;var sr=(e,t=[],r={})=>{let n=je(e,"First argument"),[o,i]=L(t)?[[],t]:[t,r];if(!Array.isArray(o))throw new TypeError(`Se\
|
|
77
77
|
cond argument must be either an array of arguments or an options object: ${o}`);if(o.some(c=>typeof c=="object"&&c!==null))
|
|
78
78
|
throw new TypeError(`Second argument must be an array of strings: ${o}`);let s=o.map(String),a=s.find(c=>c.includes("\0"));
|
|
79
79
|
if(a!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${a}`);if(!L(i))throw new TypeError(`Las\
|
|
80
|
-
t argument must be an options object: ${i}`);return[n,s,i]};import{ChildProcess as
|
|
81
|
-
Buffer]",B=e=>
|
|
82
|
-
|
|
83
|
-
"string"))return e;let r=new
|
|
84
|
-
...n,o]},
|
|
85
|
-
|
|
80
|
+
t argument must be an options object: ${i}`);return[n,s,i]};import{ChildProcess as ym}from"node:child_process";import{StringDecoder as fm}from"node:string_decoder";var{toString:Bs}=Object.prototype,Us=e=>Bs.call(e)==="[object Array\
|
|
81
|
+
Buffer]",B=e=>Bs.call(e)==="[object Uint8Array]",be=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),mm=new TextEncoder,
|
|
82
|
+
Gs=e=>mm.encode(e),hm=new TextDecoder,ar=e=>hm.decode(e),zs=(e,t)=>gm(e,t).join(""),gm=(e,t)=>{if(t==="utf8"&&e.every(i=>typeof i==
|
|
83
|
+
"string"))return e;let r=new fm(t),n=e.map(i=>typeof i=="string"?Gs(i):i).map(i=>r.write(i)),o=r.end();return o===""?n:[
|
|
84
|
+
...n,o]},At=e=>e.length===1&&B(e[0])?e[0]:ao(bm(e)),bm=e=>e.map(t=>typeof t=="string"?Gs(t):t),ao=e=>{let t=new Uint8Array(
|
|
85
|
+
wm(e)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t},wm=e=>{let t=0;for(let r of e)t+=r.length;return t};var Vs=e=>Array.isArray(e)&&Array.isArray(e.raw),Ws=(e,t)=>{let r=[];for(let[i,s]of e.entries())r=_m({templates:e,expressions:t,
|
|
86
86
|
tokens:r,index:i,template:s});if(r.length===0)throw new TypeError("Template script must not be empty");let[n,...o]=r;return[
|
|
87
|
-
n,o,{}]},
|
|
88
|
-
lash sequence: ${e.raw[n]}`);let{nextTokens:i,leadingWhitespaces:s,trailingWhitespaces:a}=
|
|
89
|
-
t.length)return c;let l=t[n],u=Array.isArray(l)?l.map(d=>
|
|
90
|
-
nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let r=[],n=0,o=
|
|
91
|
-
a+=1){let c=t[a];if(
|
|
92
|
-
`?(s-=1,a+=1):l==="u"&&t[a+2]==="{"?a=t.indexOf("}",a+3):a+=
|
|
93
|
-
leadingWhitespaces:o,trailingWhitespaces:i}},
|
|
94
|
-
`]),
|
|
95
|
-
1)],
|
|
96
|
-
e))return
|
|
87
|
+
n,o,{}]},_m=({templates:e,expressions:t,tokens:r,index:n,template:o})=>{if(o===void 0)throw new TypeError(`Invalid backs\
|
|
88
|
+
lash sequence: ${e.raw[n]}`);let{nextTokens:i,leadingWhitespaces:s,trailingWhitespaces:a}=Sm(o,e.raw[n]),c=Fs(r,i,s);if(n===
|
|
89
|
+
t.length)return c;let l=t[n],u=Array.isArray(l)?l.map(d=>js(d)):[js(l)];return Fs(c,u,a)},Sm=(e,t)=>{if(t.length===0)return{
|
|
90
|
+
nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let r=[],n=0,o=Hs.has(t[0]);for(let s=0,a=0;s<e.length;s+=1,
|
|
91
|
+
a+=1){let c=t[a];if(Hs.has(c))n!==s&&r.push(e.slice(n,s)),n=s+1;else if(c==="\\"){let l=t[a+1];l===`
|
|
92
|
+
`?(s-=1,a+=1):l==="u"&&t[a+2]==="{"?a=t.indexOf("}",a+3):a+=Em[l]??1}}let i=n===e.length;return i||r.push(e.slice(n)),{nextTokens:r,
|
|
93
|
+
leadingWhitespaces:o,trailingWhitespaces:i}},Hs=new Set([" "," ","\r",`
|
|
94
|
+
`]),Em={x:3,u:5},Fs=(e,t,r)=>r||e.length===0||t.length===0?[...e,...t]:[...e.slice(0,-1),`${e.at(-1)}${t[0]}`,...t.slice(
|
|
95
|
+
1)],js=e=>{let t=typeof e;if(t==="string")return e;if(t==="number")return String(e);if(L(e)&&("stdout"in e||"isMaxBuffer"in
|
|
96
|
+
e))return vm(e);throw e instanceof ym||Object.prototype.toString.call(e)==="[object Promise]"?new TypeError("Unexpected \
|
|
97
97
|
subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):new TypeError(`Unexpected \
|
|
98
|
-
"${t}" in template expression`)},
|
|
98
|
+
"${t}" in template expression`)},vm=({stdout:e})=>{if(typeof e=="string")return e;if(B(e))return ar(e);throw e===void 0?
|
|
99
99
|
new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" o\
|
|
100
|
-
ption.`):new TypeError(`Unexpected "${typeof e}" stdout in template expression`)};import{spawnSync as
|
|
101
|
-
`stdio[${e}]`;var
|
|
102
|
-
t);return
|
|
103
|
-
e),
|
|
104
|
-
-1,
|
|
100
|
+
ption.`):new TypeError(`Unexpected "${typeof e}" stdout in template expression`)};import{spawnSync as Ry}from"node:child_process";import{debuglog as Tm}from"node:util";import co from"node:process";var re=e=>cr.includes(e),cr=[co.stdin,co.stdout,co.stderr],Z=["stdin","stdout","stderr"],lr=e=>Z[e]??
|
|
101
|
+
`stdio[${e}]`;var Ys=e=>{let t={...e};for(let r of po)t[r]=lo(e,r);return t},lo=(e,t)=>{let r=Array.from({length:Im(e)+1}),n=Am(e[t],r,
|
|
102
|
+
t);return xm(n,t)},Im=({stdio:e})=>Array.isArray(e)?Math.max(e.length,Z.length):Z.length,Am=(e,t,r)=>L(e)?Rm(e,t,r):t.fill(
|
|
103
|
+
e),Rm=(e,t,r)=>{for(let n of Object.keys(e).sort(Pm))for(let o of Om(n,r,t))t[o]=e[n];return t},Pm=(e,t)=>qs(e)<qs(t)?1:
|
|
104
|
+
-1,qs=e=>e==="stdout"||e==="stderr"?0:e==="all"?2:1,Om=(e,t,r)=>{if(e==="ipc")return[r.length-1];let n=uo(e);if(n===void 0||
|
|
105
105
|
n===0)throw new TypeError(`"${t}.${e}" is invalid.
|
|
106
106
|
It must be "${t}.stdout", "${t}.stderr", "${t}.all", "${t}.ipc", or "${t}.fd3", "${t}.fd4" (and so on).`);if(n>=r.length)
|
|
107
107
|
throw new TypeError(`"${t}.${e}" is invalid: that file descriptor does not exist.
|
|
108
|
-
Please set the "stdio" option to ensure that file descriptor exists.`);return n==="all"?[1,2]:[n]},
|
|
109
|
-
if(Z.includes(e))return Z.indexOf(e);let t=
|
|
110
|
-
void 0?
|
|
111
|
-
|
|
112
|
-
e,t);return
|
|
113
|
-
"function",
|
|
114
|
-
n=r.join(" "),o=r.map(i=>
|
|
115
|
-
`).map(t=>
|
|
116
|
-
`),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
replaceAll('"','""')}"`:`'${e.replaceAll("'","'\\''")}'`,
|
|
108
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);return n==="all"?[1,2]:[n]},uo=e=>{if(e==="all")return e;
|
|
109
|
+
if(Z.includes(e))return Z.indexOf(e);let t=Cm.exec(e);if(t!==null)return Number(t[1])},Cm=/^fd(\d+)$/,xm=(e,t)=>e.map(r=>r===
|
|
110
|
+
void 0?Nm[t]:r),km=Tm("execa").enabled?"full":"none",Nm={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:km,stripFinalNewline:!0},
|
|
111
|
+
po=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],we=(e,t)=>t==="ipc"?e.at(-1):e[t];var Ve=({verbose:e},t)=>fo(e,t)!=="none",We=({verbose:e},t)=>!["none","short"].includes(fo(e,t)),Ks=({verbose:e},t)=>{let r=fo(
|
|
112
|
+
e,t);return ur(r)?r:void 0},fo=(e,t)=>t===void 0?$m(e):we(e,t),$m=e=>e.find(t=>ur(t))??dr.findLast(t=>e.includes(t)),ur=e=>typeof e==
|
|
113
|
+
"function",dr=["none","short","full"];import{inspect as rh}from"node:util";import{platform as Mm}from"node:process";import{stripVTControlCharacters as Dm}from"node:util";var Js=(e,t)=>{let r=[e,...t],
|
|
114
|
+
n=r.join(" "),o=r.map(i=>Hm(Xs(i))).join(" ");return{command:n,escapedCommand:o}},Rt=e=>Dm(e).split(`
|
|
115
|
+
`).map(t=>Xs(t)).join(`
|
|
116
|
+
`),Xs=e=>e.replaceAll(Um,t=>Lm(t)),Lm=e=>{let t=Gm[e];if(t!==void 0)return t;let r=e.codePointAt(0),n=r.toString(16);return r<=
|
|
117
|
+
zm?`\\u${n.padStart(4,"0")}`:`\\U${n}`},Bm=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},
|
|
118
|
+
Um=Bm(),Gm={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},zm=65535,Hm=e=>Fm.test(e)?e:Mm==="win32"?`"${e.
|
|
119
|
+
replaceAll('"','""')}"`:`'${e.replaceAll("'","'\\''")}'`,Fm=/^[\w./-]+$/;import Zs from"node:process";function mo(){let{env:e}=Zs,{TERM:t,TERM_PROGRAM:r}=e;return Zs.platform!=="win32"?t!=="lin\
|
|
120
120
|
ux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||r==="Terminus-Sublime"||r==="vscode"||t==="xter\
|
|
121
|
-
m-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var
|
|
121
|
+
m-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Qs={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",
|
|
122
122
|
squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\
|
|
123
123
|
\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",
|
|
124
124
|
triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\
|
|
@@ -158,55 +158,55 @@ lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUp
|
|
|
158
158
|
lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\
|
|
159
159
|
\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\
|
|
160
160
|
\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\
|
|
161
|
-
\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},
|
|
161
|
+
\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},ea={tick:"\
|
|
162
162
|
\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\
|
|
163
163
|
\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\
|
|
164
164
|
\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",
|
|
165
165
|
pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\
|
|
166
166
|
\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",
|
|
167
|
-
oneNinth:"\u2151",oneTenth:"\u2152"}
|
|
167
|
+
oneNinth:"\u2151",oneTenth:"\u2152"},jm={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\
|
|
168
168
|
\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",
|
|
169
169
|
circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"\
|
|
170
170
|
( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\
|
|
171
171
|
\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"\
|
|
172
|
-
1/7",oneNinth:"1/9",oneTenth:"1/10"},
|
|
172
|
+
1/7",oneNinth:"1/9",oneTenth:"1/10"},Vm={...Qs,...ea},Wm={...Qs,...jm},qm=mo(),Ym=qm?Vm:Wm,pr=Ym,BI=Object.entries(ea);import Km from"node:tty";var Jm=Km?.WriteStream?.prototype?.hasColors?.()??!1,T=(e,t)=>{if(!Jm)return o=>o;let r=`\x1B[${e}\
|
|
173
173
|
m`,n=`\x1B[${t}m`;return o=>{let i=o+"",s=i.indexOf(n);if(s===-1)return r+i+n;let a=r,c=0,u=(t===22?n:"")+r;for(;s!==-1;)
|
|
174
|
-
a+=i.slice(c,s)+u,c=s+n.length,s=i.indexOf(n,c);return a+=i.slice(c)+n,a}},
|
|
175
|
-
4,24),
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
49),
|
|
180
|
-
59)
|
|
181
|
-
58;5;12",59),
|
|
182
|
-
c=
|
|
183
|
-
e.getHours(),2)}:${
|
|
184
|
-
t,"0"),
|
|
185
|
-
*",error:
|
|
186
|
-
o)).join("")},
|
|
174
|
+
a+=i.slice(c,s)+u,c=s+n.length,s=i.indexOf(n,c);return a+=i.slice(c)+n,a}},zI=T(0,0),ta=T(1,22),HI=T(2,22),FI=T(3,23),jI=T(
|
|
175
|
+
4,24),VI=T("4:2",24),WI=T("4:3",24),qI=T("4:4",24),YI=T("4:5",24),KI=T(53,55),JI=T(7,27),XI=T(8,28),ZI=T(9,29),QI=T(30,39),
|
|
176
|
+
eA=T(31,39),tA=T(32,39),rA=T(33,39),nA=T(34,39),oA=T(35,39),iA=T(36,39),sA=T(37,39),fr=T(90,39),aA=T(40,49),cA=T(41,49),
|
|
177
|
+
lA=T(42,49),uA=T(43,49),dA=T(44,49),pA=T(45,49),fA=T(46,49),mA=T(47,49),hA=T(100,49),ra=T(91,39),gA=T(92,39),na=T(93,39),
|
|
178
|
+
bA=T(94,39),wA=T(95,39),yA=T(96,39),_A=T(97,39),SA=T(101,49),EA=T(102,49),vA=T(103,49),TA=T(104,49),IA=T(105,49),AA=T(106,
|
|
179
|
+
49),RA=T(107,49),PA=T("58;5;0",59),OA=T("58;5;1",59),CA=T("58;5;2",59),xA=T("58;5;3",59),kA=T("58;5;4",59),NA=T("58;5;5",
|
|
180
|
+
59),$A=T("58;5;6",59),MA=T("58;5;7",59),DA=T("58;5;8",59),LA=T("58;5;9",59),BA=T("58;5;10",59),UA=T("58;5;11",59),GA=T("\
|
|
181
|
+
58;5;12",59),zA=T("58;5;13",59),HA=T("58;5;14",59),FA=T("58;5;15",59);var sa=({type:e,message:t,timestamp:r,piped:n,commandId:o,result:{failed:i=!1}={},options:{reject:s=!0}})=>{let a=Xm(r),
|
|
182
|
+
c=Zm[e]({failed:i,reject:s,piped:n}),l=Qm[e]({reject:s});return`${fr(`[${a}]`)} ${fr(`[${o}]`)} ${l(c)} ${l(t)}`},Xm=e=>`${mr(
|
|
183
|
+
e.getHours(),2)}:${mr(e.getMinutes(),2)}:${mr(e.getSeconds(),2)}.${mr(e.getMilliseconds(),3)}`,mr=(e,t)=>String(e).padStart(
|
|
184
|
+
t,"0"),oa=({failed:e,reject:t})=>e?t?pr.cross:pr.warning:pr.tick,Zm={command:({piped:e})=>e?"|":"$",output:()=>" ",ipc:()=>"\
|
|
185
|
+
*",error:oa,duration:oa},ia=e=>e,Qm={command:()=>ta,output:()=>ia,ipc:()=>ia,error:({reject:e})=>e?ra:na,duration:()=>fr};var aa=(e,t,r)=>{let n=Ks(t,r);return e.map(({verboseLine:o,verboseObject:i})=>eh(o,i,n)).filter(o=>o!==void 0).map(o=>th(
|
|
186
|
+
o)).join("")},eh=(e,t,r)=>{if(r===void 0)return e;let n=r(e,t);if(typeof n=="string")return n},th=e=>e.endsWith(`
|
|
187
187
|
`)?e:`${e}
|
|
188
|
-
`;var le=({type:e,verboseMessage:t,fdNumber:r,verboseInfo:n,result:o})=>{let i=
|
|
189
|
-
i),a=
|
|
190
|
-
piped:o=!1,...i}}})=>({type:e,escapedCommand:r,commandId:`${n}`,timestamp:new Date,piped:o,result:t,options:i}),
|
|
188
|
+
`;var le=({type:e,verboseMessage:t,fdNumber:r,verboseInfo:n,result:o})=>{let i=nh({type:e,result:o,verboseInfo:n}),s=oh(t,
|
|
189
|
+
i),a=aa(s,n,r);a!==""&&console.warn(a.slice(0,-1))},nh=({type:e,result:t,verboseInfo:{escapedCommand:r,commandId:n,rawOptions:{
|
|
190
|
+
piped:o=!1,...i}}})=>({type:e,escapedCommand:r,commandId:`${n}`,timestamp:new Date,piped:o,result:t,options:i}),oh=(e,t)=>e.
|
|
191
191
|
split(`
|
|
192
|
-
`).map(r=>
|
|
193
|
-
t).replaceAll(" "," ".repeat(
|
|
194
|
-
void 0,
|
|
195
|
-
'none'".`);if(t===!0)throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!
|
|
196
|
-
t)&&!
|
|
197
|
-
ues are: ${r} or a function.`)}}};import{hrtime as
|
|
198
|
-
escapedCommand:i,startTime:n,verboseInfo:a}};var
|
|
199
|
-
find(n=>n.toUpperCase()==="PATH")||"Path"}import{promisify as
|
|
200
|
-
import{fileURLToPath as
|
|
201
|
-
1024*1024;var
|
|
202
|
-
|
|
203
|
-
[...s,t].join(
|
|
204
|
-
o)}},
|
|
205
|
-
{env:e});return t.path=e[r],e[r]=
|
|
192
|
+
`).map(r=>ih({...t,message:r})),ih=e=>({verboseLine:sa(e),verboseObject:e}),hr=e=>{let t=typeof e=="string"?e:rh(e);return Rt(
|
|
193
|
+
t).replaceAll(" "," ".repeat(sh))},sh=2;var ca=(e,t)=>{Ve(t)&&le({type:"command",verboseMessage:e,verboseInfo:t})};var la=(e,t,r)=>{lh(e);let n=ah(e);return{verbose:e,escapedCommand:t,commandId:n,rawOptions:r}},ah=e=>Ve({verbose:e})?ch++:
|
|
194
|
+
void 0,ch=0n,lh=e=>{for(let t of e){if(t===!1)throw new TypeError(`The "verbose: false" option was renamed to "verbose: \
|
|
195
|
+
'none'".`);if(t===!0)throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!dr.includes(
|
|
196
|
+
t)&&!ur(t)){let r=dr.map(n=>`'${n}'`).join(", ");throw new TypeError(`The "verbose" option must not be ${t}. Allowed val\
|
|
197
|
+
ues are: ${r} or a function.`)}}};import{hrtime as ua}from"node:process";var gr=()=>ua.bigint(),ho=e=>Number(ua.bigint()-e)/1e6;var br=(e,t,r)=>{let n=gr(),{command:o,escapedCommand:i}=Js(e,t),s=lo(r,"verbose"),a=la(s,i,{...r});return ca(i,a),{command:o,
|
|
198
|
+
escapedCommand:i,startTime:n,verboseInfo:a}};var ll=rm(Za(),1);import Wg from"node:path";import cl from"node:process";import Sr from"node:process";import ke from"node:path";function yr(e={}){let{env:t=process.env,platform:r=process.platform}=e;return r!=="win32"?"PATH":Object.keys(t).reverse().
|
|
199
|
+
find(n=>n.toUpperCase()==="PATH")||"Path"}import{promisify as Dh}from"node:util";import{execFile as Lh,execFileSync as xR}from"node:child_process";import Qa from"node:path";
|
|
200
|
+
import{fileURLToPath as Bh}from"node:url";var $R=Dh(Lh);function _r(e){return e instanceof URL?Bh(e):e}function ec(e){return{*[Symbol.iterator](){let t=Qa.resolve(_r(e)),r;for(;r!==t;)yield t,r=t,t=Qa.resolve(t,"..")}}}var MR=10*
|
|
201
|
+
1024*1024;var Uh=({cwd:e=Sr.cwd(),path:t=Sr.env[yr()],preferLocal:r=!0,execPath:n=Sr.execPath,addExecPath:o=!0}={})=>{let i=ke.resolve(
|
|
202
|
+
_r(e)),s=[],a=t.split(ke.delimiter);return r&&Gh(s,a,i),o&&zh(s,a,n,i),t===""||t===ke.delimiter?`${s.join(ke.delimiter)}${t}`:
|
|
203
|
+
[...s,t].join(ke.delimiter)},Gh=(e,t,r)=>{for(let n of ec(r)){let o=ke.join(n,"node_modules/.bin");t.includes(o)||e.push(
|
|
204
|
+
o)}},zh=(e,t,r,n)=>{let o=ke.resolve(n,_r(r),"..");t.includes(o)||e.push(o)},tc=({env:e=Sr.env,...t}={})=>{e={...e};let r=yr(
|
|
205
|
+
{env:e});return t.path=e[r],e[r]=Uh(t),e};import{setTimeout as rg}from"node:timers/promises";var rc=(e,t,r)=>{let n=r?Ot:Pt,o=e instanceof ne?{}:{cause:e};return new n(t,o)},ne=class extends Error{},nc=(e,t)=>{Object.
|
|
206
206
|
defineProperty(e.prototype,"name",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,
|
|
207
|
-
|
|
208
|
-
toString.call(e)==="[object Error]",
|
|
209
|
-
description:"Application-specific signal (realtime)",standard:"posix"}),
|
|
207
|
+
ic,{value:!0,writable:!1,enumerable:!1,configurable:!1})},oc=e=>Er(e)&&ic in e,ic=Symbol("isExecaError"),Er=e=>Object.prototype.
|
|
208
|
+
toString.call(e)==="[object Error]",Pt=class extends Error{};nc(Pt,Pt.name);var Ot=class extends Error{};nc(Ot,Ot.name);import{constants as Ct}from"node:os";import{constants as Vh}from"node:os";var sc=()=>{let e=cc-ac+1;return Array.from({length:e},Hh)},Hh=(e,t)=>({name:`SIGRT${t+1}`,number:ac+t,action:"terminate",
|
|
209
|
+
description:"Application-specific signal (realtime)",standard:"posix"}),ac=34,cc=64;import{constants as Fh}from"node:os";var lc=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,
|
|
210
210
|
action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"\
|
|
211
211
|
User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine ins\
|
|
212
212
|
truction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"\
|
|
@@ -237,741 +237,749 @@ other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event"
|
|
|
237
237
|
action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"termina\
|
|
238
238
|
te",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"In\
|
|
239
239
|
valid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"\
|
|
240
|
-
other"}];var
|
|
241
|
-
let{signals:{[e]:s}}=
|
|
242
|
-
standard:s})=>[e,{name:e,number:t,description:r,supported:n,action:o,forced:i,standard:s}],
|
|
243
|
-
r=Array.from({length:t},(n,o)=>
|
|
240
|
+
other"}];var Io=()=>{let e=sc();return[...lc,...e].map(jh)},jh=({name:e,number:t,description:r,action:n,forced:o=!1,standard:i})=>{
|
|
241
|
+
let{signals:{[e]:s}}=Fh,a=s!==void 0;return{name:e,number:a?s:t,description:r,supported:a,action:n,forced:o,standard:i}};var Wh=()=>{let e=Io();return Object.fromEntries(e.map(qh))},qh=({name:e,number:t,description:r,supported:n,action:o,forced:i,
|
|
242
|
+
standard:s})=>[e,{name:e,number:t,description:r,supported:n,action:o,forced:i,standard:s}],uc=Wh(),Yh=()=>{let e=Io(),t=65,
|
|
243
|
+
r=Array.from({length:t},(n,o)=>Kh(o,e));return Object.assign({},...r)},Kh=(e,t)=>{let r=Jh(e,t);if(r===void 0)return{};let{
|
|
244
244
|
name:n,description:o,supported:i,action:s,forced:a,standard:c}=r;return{[e]:{name:n,number:e,description:o,supported:i,action:s,
|
|
245
|
-
forced:a,standard:c}}},
|
|
246
|
-
|
|
247
|
-
0?e:
|
|
245
|
+
forced:a,standard:c}}},Jh=(e,t)=>{let r=t.find(({name:n})=>Vh.signals[n]===e);return r!==void 0?r:t.find(n=>n.number===e)},
|
|
246
|
+
ZR=Yh();var pc=e=>{let t="option `killSignal`";if(e===0)throw new TypeError(`Invalid ${t}: 0 cannot be used.`);return mc(e,t)},fc=e=>e===
|
|
247
|
+
0?e:mc(e,"`subprocess.kill()`'s argument"),mc=(e,t)=>{if(Number.isInteger(e))return Xh(e,t);if(typeof e=="string")return Qh(
|
|
248
248
|
e,t);throw new TypeError(`Invalid ${t} ${String(e)}: it must be a string or an integer.
|
|
249
|
-
${
|
|
249
|
+
${Ao()}`)},Xh=(e,t)=>{if(dc.has(e))return dc.get(e);throw new TypeError(`Invalid ${t} ${e}: this signal integer does not\
|
|
250
250
|
exist.
|
|
251
|
-
${
|
|
252
|
-
return e;throw e.toUpperCase()in
|
|
251
|
+
${Ao()}`)},Zh=()=>new Map(Object.entries(Ct.signals).reverse().map(([e,t])=>[t,e])),dc=Zh(),Qh=(e,t)=>{if(e in Ct.signals)
|
|
252
|
+
return e;throw e.toUpperCase()in Ct.signals?new TypeError(`Invalid ${t} '${e}': please rename it to '${e.toUpperCase()}'\
|
|
253
253
|
.`):new TypeError(`Invalid ${t} '${e}': this signal name does not exist.
|
|
254
|
-
${
|
|
255
|
-
Available signal numbers: ${
|
|
256
|
-
Object.values(
|
|
257
|
-
llAfterDelay\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},
|
|
258
|
-
forceKillAfterDelay:t,killSignal:r},onInternalError:n,context:o,controller:i},s,a)=>{let{signal:c,error:l}=
|
|
259
|
-
l,n);let u=e(c);return
|
|
260
|
-
let[n=r,o]=
|
|
261
|
-
st be an error instance or a signal name string/integer: ${String(n)}`);if(o!==void 0&&!
|
|
262
|
-
econd argument is optional. If specified, it must be an error instance: ${o}`);return{signal:
|
|
263
|
-
e!==void 0&&t.reject(e)},
|
|
264
|
-
t===n&&o&&
|
|
265
|
-
context:r,controllerSignal:n})=>{if(t!==!1)try{await
|
|
266
|
-
he \`cancelSignal\` option must be an AbortSignal: ${String(e)}`)},
|
|
267
|
-
controller:o})=>t===void 0||r?[]:[
|
|
268
|
-
ancel",e.kill(),t.reason};import{scheduler as
|
|
269
|
-
e,t)} can only be used if the \`ipc\` option is \`true\`.`)},
|
|
270
|
-
ed: the ${ve(t)} has already exited or disconnected.`)},
|
|
271
|
-
ete: the ${ve(e)} exited or disconnected.`)},
|
|
254
|
+
${Ao()}`)},Ao=()=>`Available signal names: ${eg()}.
|
|
255
|
+
Available signal numbers: ${tg()}.`,eg=()=>Object.keys(Ct.signals).sort().map(e=>`'${e}'`).join(", "),tg=()=>[...new Set(
|
|
256
|
+
Object.values(Ct.signals).sort((e,t)=>e-t))].join(", "),vr=e=>uc[e].description;var hc=e=>{if(e===!1)return e;if(e===!0)return ng;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKi\
|
|
257
|
+
llAfterDelay\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},ng=1e3*5,gc=({kill:e,options:{
|
|
258
|
+
forceKillAfterDelay:t,killSignal:r},onInternalError:n,context:o,controller:i},s,a)=>{let{signal:c,error:l}=og(s,a,r);ig(
|
|
259
|
+
l,n);let u=e(c);return sg({kill:e,signal:c,forceKillAfterDelay:t,killSignal:r,killResult:u,context:o,controller:i}),u},og=(e,t,r)=>{
|
|
260
|
+
let[n=r,o]=Er(e)?[void 0,e]:[e,t];if(typeof n!="string"&&!Number.isInteger(n))throw new TypeError(`The first argument mu\
|
|
261
|
+
st be an error instance or a signal name string/integer: ${String(n)}`);if(o!==void 0&&!Er(o))throw new TypeError(`The s\
|
|
262
|
+
econd argument is optional. If specified, it must be an error instance: ${o}`);return{signal:fc(n),error:o}},ig=(e,t)=>{
|
|
263
|
+
e!==void 0&&t.reject(e)},sg=async({kill:e,signal:t,forceKillAfterDelay:r,killSignal:n,killResult:o,context:i,controller:s})=>{
|
|
264
|
+
t===n&&o&&Ro({kill:e,forceKillAfterDelay:r,context:i,controllerSignal:s.signal})},Ro=async({kill:e,forceKillAfterDelay:t,
|
|
265
|
+
context:r,controllerSignal:n})=>{if(t!==!1)try{await rg(t,void 0,{signal:n}),e("SIGKILL")&&(r.isForcefullyTerminated??=!0)}catch{}};import{once as ag}from"node:events";var Tr=async(e,t)=>{e.aborted||await ag(e,"abort",{signal:t})};var bc=({cancelSignal:e})=>{if(e!==void 0&&Object.prototype.toString.call(e)!=="[object AbortSignal]")throw new Error(`T\
|
|
266
|
+
he \`cancelSignal\` option must be an AbortSignal: ${String(e)}`)},wc=({subprocess:e,cancelSignal:t,gracefulCancel:r,context:n,
|
|
267
|
+
controller:o})=>t===void 0||r?[]:[cg(e,t,n,o)],cg=async(e,t,r,{signal:n})=>{throw await Tr(t,n),r.terminationReason??="c\
|
|
268
|
+
ancel",e.kill(),t.reason};import{scheduler as Og}from"node:timers/promises";import{promisify as Ag}from"node:util";var Ke=({methodName:e,isSubprocess:t,ipc:r,isConnected:n})=>{lg(e,t,r),Po(e,t,n)},lg=(e,t,r)=>{if(!r)throw new Error(`${oe(
|
|
269
|
+
e,t)} can only be used if the \`ipc\` option is \`true\`.`)},Po=(e,t,r)=>{if(!r)throw new Error(`${oe(e,t)} cannot be us\
|
|
270
|
+
ed: the ${ve(t)} has already exited or disconnected.`)},yc=e=>{throw new Error(`${oe("getOneMessage",e)} could not compl\
|
|
271
|
+
ete: the ${ve(e)} exited or disconnected.`)},_c=e=>{throw new Error(`${oe("sendMessage",e)} failed: the ${ve(e)} is send\
|
|
272
272
|
ing a message too, instead of listening to incoming messages.
|
|
273
273
|
This can be fixed by both sending a message and listening to incoming messages at the same time:
|
|
274
274
|
|
|
275
275
|
const [receivedMessage] = await Promise.all([
|
|
276
276
|
${oe("getOneMessage",e)},
|
|
277
277
|
${oe("sendMessage",e,"message, {strict: true}")},
|
|
278
|
-
]);`)},
|
|
279
|
-
|
|
280
|
-
`${oe("sendMessage",e)} failed: the ${ve(e)} exited without listening to incoming messages.`)},
|
|
281
|
-
Signal\` aborted: the ${ve(!0)} disconnected.`),
|
|
282
|
-
ing the `cancelSignal` subprocess option.")},
|
|
283
|
-
`${oe(t,r)} cannot be used: the ${ve(r)} is disconnecting.`,{cause:e})},
|
|
284
|
-
if(
|
|
285
|
-
|
|
278
|
+
]);`)},Ir=(e,t)=>new Error(`${oe("sendMessage",t)} failed when sending an acknowledgment response to the ${ve(t)}.`,{cause:e}),
|
|
279
|
+
Sc=e=>{throw new Error(`${oe("sendMessage",e)} failed: the ${ve(e)} is not listening to incoming messages.`)},Ec=e=>{throw new Error(
|
|
280
|
+
`${oe("sendMessage",e)} failed: the ${ve(e)} exited without listening to incoming messages.`)},vc=()=>new Error(`\`cancel\
|
|
281
|
+
Signal\` aborted: the ${ve(!0)} disconnected.`),Tc=()=>{throw new Error("`getCancelSignal()` cannot be used without sett\
|
|
282
|
+
ing the `cancelSignal` subprocess option.")},Ic=({error:e,methodName:t,isSubprocess:r})=>{if(e.code==="EPIPE")throw new Error(
|
|
283
|
+
`${oe(t,r)} cannot be used: the ${ve(r)} is disconnecting.`,{cause:e})},Ac=({error:e,methodName:t,isSubprocess:r,message:n})=>{
|
|
284
|
+
if(ug(e))throw new Error(`${oe(t,r)}'s argument type is invalid: the message cannot be serialized: ${String(n)}.`,{cause:e})},
|
|
285
|
+
ug=({code:e,message:t})=>dg.has(e)||pg.some(r=>t.includes(r)),dg=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),pg=[
|
|
286
286
|
"could not be cloned","circular structure","call stack size exceeded"],oe=(e,t,r="")=>e==="cancelSignal"?"`cancelSignal`\
|
|
287
|
-
's `controller.abort()`":`${
|
|
288
|
-
e.disconnect()};var ue=()=>{let e={},t=new Promise((r,n)=>{Object.assign(e,{resolve:r,reject:n})});return Object.assign(t,e)};var
|
|
289
|
-
|
|
290
|
-
stdio[i];if(s==null)throw new TypeError(
|
|
291
|
-
r,e),n},
|
|
292
|
-
stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${
|
|
287
|
+
's `controller.abort()`":`${fg(t)}${e}(${r})`,fg=e=>e?"":"subprocess.",ve=e=>e?"parent process":"subprocess",Je=e=>{e.connected&&
|
|
288
|
+
e.disconnect()};var ue=()=>{let e={},t=new Promise((r,n)=>{Object.assign(e,{resolve:r,reject:n})});return Object.assign(t,e)};var Rr=(e,t="stdin")=>{let{options:n,fileDescriptors:o}=de.get(e),i=Rc(o,t,!0),s=e.stdio[i];if(s===null)throw new TypeError(
|
|
289
|
+
Pc(i,t,n,!0));return s},Xe=(e,t="stdout")=>{let{options:n,fileDescriptors:o}=de.get(e),i=Rc(o,t,!1),s=i==="all"?e.all:e.
|
|
290
|
+
stdio[i];if(s==null)throw new TypeError(Pc(i,t,n,!1));return s},de=new WeakMap,Rc=(e,t,r)=>{let n=mg(t,r);return hg(n,t,
|
|
291
|
+
r,e),n},mg=(e,t)=>{let r=uo(e);if(r!==void 0)return r;let{validOptions:n,defaultValue:o}=t?{validOptions:'"stdin"',defaultValue:"\
|
|
292
|
+
stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${xt(t)}" must not be "${e}\
|
|
293
293
|
".
|
|
294
294
|
It must be ${n} or "fd3", "fd4" (and so on).
|
|
295
|
-
It is optional and defaults to "${o}".`)},
|
|
295
|
+
It is optional and defaults to "${o}".`)},hg=(e,t,r,n)=>{let o=n[Oc(e)];if(o===void 0)throw new TypeError(`"${xt(r)}" mu\
|
|
296
296
|
st not be ${t}. That file descriptor does not exist.
|
|
297
297
|
Please set the "stdio" option to ensure that file descriptor exists.`);if(o.direction==="input"&&!r)throw new TypeError(
|
|
298
|
-
`"${
|
|
299
|
-
`"${
|
|
300
|
-
The "all" option must be true to use "from: 'all'".`;let{optionName:o,optionValue:i}=
|
|
301
|
-
option is incompatible with using "${
|
|
302
|
-
Please set this option with "pipe" instead.`},
|
|
298
|
+
`"${xt(r)}" must not be ${t}. It must be a readable stream, not writable.`);if(o.direction!=="input"&&r)throw new TypeError(
|
|
299
|
+
`"${xt(r)}" must not be ${t}. It must be a writable stream, not readable.`)},Pc=(e,t,r,n)=>{if(e==="all"&&!r.all)return`\
|
|
300
|
+
The "all" option must be true to use "from: 'all'".`;let{optionName:o,optionValue:i}=gg(e,r);return`The "${o}: ${Ar(i)}"\
|
|
301
|
+
option is incompatible with using "${xt(n)}: ${Ar(t)}".
|
|
302
|
+
Please set this option with "pipe" instead.`},gg=(e,{stdin:t,stdout:r,stderr:n,stdio:o})=>{let i=Oc(e);return i===0&&t!==
|
|
303
303
|
void 0?{optionName:"stdin",optionValue:t}:i===1&&r!==void 0?{optionName:"stdout",optionValue:r}:i===2&&n!==void 0?{optionName:"\
|
|
304
|
-
stderr",optionValue:n}:{optionName:`stdio[${i}]`,optionValue:o[i]}},
|
|
305
|
-
"string"?`'${e}'`:typeof e=="number"?`${e}`:"Stream";import{once as
|
|
306
|
-
(e.setMaxListeners(n+t),
|
|
307
|
-
|
|
308
|
-
get(e);if(i.push(o),!(i.length>1))for(;i.length>0;){await
|
|
309
|
-
anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:n});i.shift(),n.emit("message",s),n.emit("message:done")}},
|
|
310
|
-
channel:t,isSubprocess:r,ipcEmitter:n,boundOnMessage:o})=>{
|
|
311
|
-
ne");e.removeListener("message",o),
|
|
312
|
-
channel:t,isSubprocess:r}),n},
|
|
313
|
-
{anyProcess:t,channel:r,isSubprocess:n,ipcEmitter:e});t.on("message",o),t.once("disconnect",
|
|
314
|
-
channel:r,isSubprocess:n,ipcEmitter:e,boundOnMessage:o})),
|
|
315
|
-
null:t.connected};var
|
|
316
|
-
type
|
|
317
|
-
resolve({isDeadlock:!0,hasListeners:!1})}
|
|
318
|
-
if(e?.type
|
|
319
|
-
channel:r,isSubprocess:n,ipc:!0},a)}catch(c){o.emit("strict:error",c)}return s},
|
|
320
|
-
message:r}=e;return
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
s),{outgoingMessages:n,outgoingMessage:s}},
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
isSubprocess:r,ipc:n,isConnected:e.connected}),
|
|
328
|
-
|
|
329
|
-
message:o,strict:i}),a=
|
|
330
|
-
throw
|
|
331
|
-
e);try{await Promise.all([
|
|
332
|
-
isSubprocess:r,message:o}),s}},
|
|
333
|
-
type:
|
|
334
|
-
isSubprocess:r,ipc:n})
|
|
335
|
-
if(t===null){
|
|
336
|
-
:cancel",
|
|
304
|
+
stderr",optionValue:n}:{optionName:`stdio[${i}]`,optionValue:o[i]}},Oc=e=>e==="all"?1:e,xt=e=>e?"to":"from",Ar=e=>typeof e==
|
|
305
|
+
"string"?`'${e}'`:typeof e=="number"?`${e}`:"Stream";import{once as Eg}from"node:events";import{addAbortListener as bg}from"node:events";var Ne=(e,t,r)=>{let n=e.getMaxListeners();n===0||n===Number.POSITIVE_INFINITY||
|
|
306
|
+
(e.setMaxListeners(n+t),bg(r,()=>{e.setMaxListeners(e.getMaxListeners()-t)}))};import{EventEmitter as _g}from"node:events";import{once as wg}from"node:events";import{scheduler as yg}from"node:timers/promises";var Pr=(e,t)=>{t&&Oo(e)},Oo=e=>{e.refCounted()},Or=(e,t)=>{t&&Co(e)},Co=e=>{e.unrefCounted()},Cc=(e,t)=>{t&&(Co(e),Co(e))},
|
|
307
|
+
xc=(e,t)=>{t&&(Oo(e),Oo(e))};var kc=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:n},o)=>{if(Mc(o)||Lc(o))return;Cr.has(e)||Cr.set(e,[]);let i=Cr.
|
|
308
|
+
get(e);if(i.push(o),!(i.length>1))for(;i.length>0;){await Dc(e,n,o),await yg.yield();let s=await $c({wrappedMessage:i[0],
|
|
309
|
+
anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:n});i.shift(),n.emit("message",s),n.emit("message:done")}},Nc=async({anyProcess:e,
|
|
310
|
+
channel:t,isSubprocess:r,ipcEmitter:n,boundOnMessage:o})=>{xo();let i=Cr.get(e);for(;i?.length>0;)await wg(n,"message:do\
|
|
311
|
+
ne");e.removeListener("message",o),xc(t,r),n.connected=!1,n.emit("disconnect")},Cr=new WeakMap;var Te=(e,t,r)=>{if(xr.has(e))return xr.get(e);let n=new _g;return n.connected=!0,xr.set(e,n),Sg({ipcEmitter:n,anyProcess:e,
|
|
312
|
+
channel:t,isSubprocess:r}),n},xr=new WeakMap,Sg=({ipcEmitter:e,anyProcess:t,channel:r,isSubprocess:n})=>{let o=kc.bind(void 0,
|
|
313
|
+
{anyProcess:t,channel:r,isSubprocess:n,ipcEmitter:e});t.on("message",o),t.once("disconnect",Nc.bind(void 0,{anyProcess:t,
|
|
314
|
+
channel:r,isSubprocess:n,ipcEmitter:e,boundOnMessage:o})),Cc(r,n)},kr=e=>{let t=xr.get(e);return t===void 0?e.channel!==
|
|
315
|
+
null:t.connected};var Bc=({anyProcess:e,channel:t,isSubprocess:r,message:n,strict:o})=>{if(!o)return n;let i=Te(e,t,r),s=Mr(e,i);return{id:vg++,
|
|
316
|
+
type:$r,message:n,hasListeners:s}},vg=0n,Uc=(e,t)=>{if(!(t?.type!==$r||t.hasListeners))for(let{id:r}of e)r!==void 0&&Nr[r].
|
|
317
|
+
resolve({isDeadlock:!0,hasListeners:!1})},$c=async({wrappedMessage:e,anyProcess:t,channel:r,isSubprocess:n,ipcEmitter:o})=>{
|
|
318
|
+
if(e?.type!==$r||!t.connected)return e;let{id:i,message:s}=e,a={id:i,type:zc,message:Mr(t,o)};try{await Dr({anyProcess:t,
|
|
319
|
+
channel:r,isSubprocess:n,ipc:!0},a)}catch(c){o.emit("strict:error",c)}return s},Mc=e=>{if(e?.type!==zc)return!1;let{id:t,
|
|
320
|
+
message:r}=e;return Nr[t]?.resolve({isDeadlock:!1,hasListeners:r}),!0},Gc=async(e,t,r)=>{if(e?.type!==$r)return;let n=ue();
|
|
321
|
+
Nr[e.id]=n;let o=new AbortController;try{let{isDeadlock:i,hasListeners:s}=await Promise.race([n,Tg(t,r,o)]);i&&_c(r),s||
|
|
322
|
+
Sc(r)}finally{o.abort(),delete Nr[e.id]}},Nr={},Tg=async(e,t,{signal:r})=>{Ne(e,1,r),await Eg(e,"disconnect",{signal:r}),
|
|
323
|
+
Ec(t)},$r="execa:ipc:request",zc="execa:ipc:response";var Hc=(e,t,r)=>{kt.has(e)||kt.set(e,new Set);let n=kt.get(e),o=ue(),i=r?t.id:void 0,s={onMessageSent:o,id:i};return n.add(
|
|
324
|
+
s),{outgoingMessages:n,outgoingMessage:s}},Fc=({outgoingMessages:e,outgoingMessage:t})=>{e.delete(t),t.onMessageSent.resolve()},
|
|
325
|
+
Dc=async(e,t,r)=>{for(;!Mr(e,t)&&kt.get(e)?.size>0;){let n=[...kt.get(e)];Uc(n,r),await Promise.all(n.map(({onMessageSent:o})=>o))}},
|
|
326
|
+
kt=new WeakMap,Mr=(e,t)=>t.listenerCount("message")>Ig(e),Ig=e=>de.has(e)&&!we(de.get(e).options.buffer,"ipc")?1:0;var Dr=({anyProcess:e,channel:t,isSubprocess:r,ipc:n},o,{strict:i=!1}={})=>{let s="sendMessage";return Ke({methodName:s,
|
|
327
|
+
isSubprocess:r,ipc:n,isConnected:e.connected}),Rg({anyProcess:e,channel:t,methodName:s,isSubprocess:r,message:o,strict:i})},
|
|
328
|
+
Rg=async({anyProcess:e,channel:t,methodName:r,isSubprocess:n,message:o,strict:i})=>{let s=Bc({anyProcess:e,channel:t,isSubprocess:n,
|
|
329
|
+
message:o,strict:i}),a=Hc(e,s,i);try{await No({anyProcess:e,methodName:r,isSubprocess:n,wrappedMessage:s,message:o})}catch(c){
|
|
330
|
+
throw Je(e),c}finally{Fc(a)}},No=async({anyProcess:e,methodName:t,isSubprocess:r,wrappedMessage:n,message:o})=>{let i=Pg(
|
|
331
|
+
e);try{await Promise.all([Gc(n,e,r),i(n)])}catch(s){throw Ic({error:s,methodName:t,isSubprocess:r}),Ac({error:s,methodName:t,
|
|
332
|
+
isSubprocess:r,message:o}),s}},Pg=e=>{if(ko.has(e))return ko.get(e);let t=Ag(e.send.bind(e));return ko.set(e,t),t},ko=new WeakMap;var Vc=(e,t)=>{let r="cancelSignal";return Po(r,!1,e.connected),No({anyProcess:e,methodName:r,isSubprocess:!1,wrappedMessage:{
|
|
333
|
+
type:qc,message:t},message:t})},Wc=async({anyProcess:e,channel:t,isSubprocess:r,ipc:n})=>(await Cg({anyProcess:e,channel:t,
|
|
334
|
+
isSubprocess:r,ipc:n}),$o.signal),Cg=async({anyProcess:e,channel:t,isSubprocess:r,ipc:n})=>{if(!jc){if(jc=!0,!n){Tc();return}
|
|
335
|
+
if(t===null){xo();return}Te(e,t,r),await Og.yield()}},jc=!1,Lc=e=>e?.type!==qc?!1:($o.abort(e.message),!0),qc="execa:ipc\
|
|
336
|
+
:cancel",xo=()=>{$o.abort(vc())},$o=new AbortController;var Yc=({gracefulCancel:e,cancelSignal:t,ipc:r,serialization:n})=>{if(e){if(t===void 0)throw new Error("The `cancelSigna\
|
|
337
337
|
l` option must be defined when setting the `gracefulCancel` option.");if(!r)throw new Error("The `ipc` option cannot be \
|
|
338
338
|
false when setting the `gracefulCancel` option.");if(n==="json")throw new Error("The `serialization` option cannot be 'j\
|
|
339
|
-
son' when setting the `gracefulCancel` option.")}},
|
|
340
|
-
context:o,controller:i})=>r?[
|
|
341
|
-
subprocess:e,cancelSignal:t,forceKillAfterDelay:r,context:n,controller:{signal:o}})=>{await
|
|
342
|
-
e,i),
|
|
343
|
-
|
|
344
|
-
ack",{value:e.stack,enumerable:!1,configurable:!0,writable:!0}),t};import{setTimeout as
|
|
345
|
-
e a non-negative integer, got \`${e}\` (${typeof e})`)},
|
|
346
|
-
signal:n})=>{throw await
|
|
347
|
-
options:{...e,node:!0}}},
|
|
339
|
+
son' when setting the `gracefulCancel` option.")}},Kc=({subprocess:e,cancelSignal:t,gracefulCancel:r,forceKillAfterDelay:n,
|
|
340
|
+
context:o,controller:i})=>r?[xg({subprocess:e,cancelSignal:t,forceKillAfterDelay:n,context:o,controller:i})]:[],xg=async({
|
|
341
|
+
subprocess:e,cancelSignal:t,forceKillAfterDelay:r,context:n,controller:{signal:o}})=>{await Tr(t,o);let i=kg(t);throw await Vc(
|
|
342
|
+
e,i),Ro({kill:e.kill,forceKillAfterDelay:r,context:n,controllerSignal:o}),n.terminationReason??="gracefulCancel",t.reason},
|
|
343
|
+
kg=({reason:e})=>{if(!(e instanceof DOMException))return e;let t=new Error(e.message);return Object.defineProperty(t,"st\
|
|
344
|
+
ack",{value:e.stack,enumerable:!1,configurable:!0,writable:!0}),t};import{setTimeout as Ng}from"node:timers/promises";var Jc=({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to b\
|
|
345
|
+
e a non-negative integer, got \`${e}\` (${typeof e})`)},Xc=(e,t,r,n)=>t===0||t===void 0?[]:[$g(e,t,r,n)],$g=async(e,t,r,{
|
|
346
|
+
signal:n})=>{throw await Ng(t,void 0,{signal:n}),r.terminationReason??="timeout",e.kill(),new ne};import{execPath as Mg,execArgv as Dg}from"node:process";import Zc from"node:path";var Qc=({options:e})=>{if(e.node===!1)throw new TypeError('The "node" option cannot be false with `execaNode()`.');return{
|
|
347
|
+
options:{...e,node:!0}}},el=(e,t,{node:r=!1,nodePath:n=Mg,nodeOptions:o=Dg.filter(c=>!c.startsWith("--inspect")),cwd:i,execPath:s,
|
|
348
348
|
...a})=>{if(s!==void 0)throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option ins\
|
|
349
|
-
tead.');let c=
|
|
349
|
+
tead.');let c=je(n,'The "nodePath" option'),l=Zc.resolve(i,c),u={...a,nodePath:l,node:r,cwd:i};if(!r)return[e,t,u];if(Zc.
|
|
350
350
|
basename(e,".exe")==="node")throw new TypeError('When the "node" option is true, the first argument does not need to be \
|
|
351
|
-
"node".');return[l,[...o,e,...t],{ipc:!0,...u,shell:!1}]};import{serialize as
|
|
352
|
-
"The `ipcInput` option cannot be set unless the `ipc` option is `true`.");
|
|
353
|
-
"The `ipcInput` option is not serializable with a structured clone.",{cause:t})}},
|
|
354
|
-
throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:t})}},
|
|
355
|
-
t!==void 0&&await e.sendMessage(t)};var
|
|
351
|
+
"node".');return[l,[...o,e,...t],{ipc:!0,...u,shell:!1}]};import{serialize as Lg}from"node:v8";var tl=({ipcInput:e,ipc:t,serialization:r})=>{if(e!==void 0){if(!t)throw new Error(
|
|
352
|
+
"The `ipcInput` option cannot be set unless the `ipc` option is `true`.");Gg[r](e)}},Bg=e=>{try{Lg(e)}catch(t){throw new Error(
|
|
353
|
+
"The `ipcInput` option is not serializable with a structured clone.",{cause:t})}},Ug=e=>{try{JSON.stringify(e)}catch(t){
|
|
354
|
+
throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:t})}},Gg={advanced:Bg,json:Ug},rl=async(e,t)=>{
|
|
355
|
+
t!==void 0&&await e.sendMessage(t)};var ol=({encoding:e})=>{if(Mo.has(e))return;let t=Hg(e);if(t!==void 0)throw new TypeError(`Invalid option \`encoding: ${Lr(
|
|
356
356
|
e)}\`.
|
|
357
|
-
Please rename it to ${
|
|
357
|
+
Please rename it to ${Lr(t)}.`);let r=[...Mo].map(n=>Lr(n)).join(", ");throw new TypeError(`Invalid option \`encoding: ${Lr(
|
|
358
358
|
e)}\`.
|
|
359
|
-
Please rename it to one of: ${r}.`)},
|
|
360
|
-
n1","ascii"]),
|
|
361
|
-
if(t in
|
|
362
|
-
binary:"latin1"}
|
|
359
|
+
Please rename it to one of: ${r}.`)},zg=new Set(["utf8","utf16le"]),q=new Set(["buffer","hex","base64","base64url","lati\
|
|
360
|
+
n1","ascii"]),Mo=new Set([...zg,...q]),Hg=e=>{if(e===null)return"buffer";if(typeof e!="string")return;let t=e.toLowerCase();
|
|
361
|
+
if(t in nl)return nl[t];if(Mo.has(t))return t},nl={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",
|
|
362
|
+
binary:"latin1"},Lr=e=>typeof e=="string"?`"${e}"`:String(e);import{statSync as Fg}from"node:fs";import jg from"node:path";import Vg from"node:process";var il=(e=sl())=>{let t=je(e,'The "cwd" option');return jg.resolve(t)},sl=()=>{try{return Vg.cwd()}catch(e){throw e.message=
|
|
363
363
|
`The current directory does not exist.
|
|
364
|
-
${e.message}`,e}},
|
|
364
|
+
${e.message}`,e}},al=(e,t)=>{if(t===sl())return e;let r;try{r=Fg(t)}catch(n){return`The "cwd" option is invalid: ${t}.
|
|
365
365
|
${n.message}
|
|
366
366
|
${e}`}return r.isDirectory()?e:`The "cwd" option is not a directory: ${t}.
|
|
367
|
-
${e}`};var
|
|
368
|
-
l);return
|
|
369
|
-
|
|
370
|
-
s,".exe")==="cmd"&&a.unshift("/q"),{file:s,commandArguments:a,options:u}},
|
|
367
|
+
${e}`};var Br=(e,t,r)=>{r.cwd=il(r.cwd);let[n,o,i]=el(e,t,r),{command:s,args:a,options:c}=ll.default._parse(n,o,i),l=Ys(c),u=qg(
|
|
368
|
+
l);return Jc(u),ol(u),tl(u),bc(u),Yc(u),u.shell=so(u.shell),u.env=Yg(u),u.killSignal=pc(u.killSignal),u.forceKillAfterDelay=
|
|
369
|
+
hc(u.forceKillAfterDelay),u.lines=u.lines.map((d,p)=>d&&!q.has(u.encoding)&&u.buffer[p]),cl.platform==="win32"&&Wg.basename(
|
|
370
|
+
s,".exe")==="cmd"&&a.unshift("/q"),{file:s,commandArguments:a,options:u}},qg=({extendEnv:e=!0,preferLocal:t=!1,cwd:r,localDir:n=r,
|
|
371
371
|
encoding:o="utf8",reject:i=!0,cleanup:s=!0,all:a=!1,windowsHide:c=!0,killSignal:l="SIGTERM",forceKillAfterDelay:u=!0,gracefulCancel:d=!1,
|
|
372
372
|
ipcInput:p,ipc:f=p!==void 0||d,serialization:m="advanced",...h})=>({...h,extendEnv:e,preferLocal:t,cwd:r,localDirectory:n,
|
|
373
373
|
encoding:o,reject:i,cleanup:s,all:a,windowsHide:c,killSignal:l,forceKillAfterDelay:u,gracefulCancel:d,ipcInput:p,ipc:f,serialization:m}),
|
|
374
|
-
|
|
375
|
-
cwd:o,execPath:i,preferLocal:r,addExecPath:n}):s};var
|
|
376
|
-
Input must be a string or a Uint8Array");return
|
|
377
|
-
-1)===
|
|
378
|
-
`,
|
|
379
|
-
e.readable===void 0)&&typeof e.pipe=="function"}function
|
|
374
|
+
Yg=({env:e,extendEnv:t,preferLocal:r,node:n,localDirectory:o,nodePath:i})=>{let s=t?{...cl.env,...e}:e;return r||n?tc({env:s,
|
|
375
|
+
cwd:o,execPath:i,preferLocal:r,addExecPath:n}):s};var Ur=(e,t,r)=>r.shell&&t.length>0?[[e,...t].join(" "),[],r]:[e,t,r];import{inspect as Pb}from"node:util";function Ze(e){if(typeof e=="string")return Kg(e);if(!(ArrayBuffer.isView(e)&&e.BYTES_PER_ELEMENT===1))throw new Error("\
|
|
376
|
+
Input must be a string or a Uint8Array");return Jg(e)}var Kg=e=>e.at(-1)===ul?e.slice(0,e.at(-2)===dl?-2:-1):e,Jg=e=>e.at(
|
|
377
|
+
-1)===Xg?e.subarray(0,e.at(-2)===Zg?-2:-1):e,ul=`
|
|
378
|
+
`,Xg=ul.codePointAt(0),dl="\r",Zg=dl.codePointAt(0);import{on as Tb}from"node:events";import{finished as Ib}from"node:stream/promises";function ie(e,{checkOpen:t=!0}={}){return e!==null&&typeof e=="object"&&(e.writable||e.readable||!t||e.writable===void 0&&
|
|
379
|
+
e.readable===void 0)&&typeof e.pipe=="function"}function Do(e,{checkOpen:t=!0}={}){return ie(e,{checkOpen:t})&&(e.writable||
|
|
380
380
|
!t)&&typeof e.write=="function"&&typeof e.end=="function"&&typeof e.writable=="boolean"&&typeof e.writableObjectMode=="b\
|
|
381
|
-
oolean"&&typeof e.destroy=="function"&&typeof e.destroyed=="boolean"}function
|
|
381
|
+
oolean"&&typeof e.destroy=="function"&&typeof e.destroyed=="boolean"}function $e(e,{checkOpen:t=!0}={}){return ie(e,{checkOpen:t})&&
|
|
382
382
|
(e.readable||!t)&&typeof e.read=="function"&&typeof e.readable=="boolean"&&typeof e.readableObjectMode=="boolean"&&typeof e.
|
|
383
|
-
destroy=="function"&&typeof e.destroyed=="boolean"}function
|
|
383
|
+
destroy=="function"&&typeof e.destroyed=="boolean"}function Lo(e,t){return Do(e,t)&&$e(e,t)}var Qg=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),Bo=class{#t;#r;#e=!1;#n=void 0;constructor(t,r){
|
|
384
384
|
this.#t=t,this.#r=r}next(){let t=()=>this.#i();return this.#n=this.#n?this.#n.then(t,t):t(),this.#n}return(t){let r=()=>this.#o(
|
|
385
385
|
t);return this.#n?this.#n.then(r,r):r()}async#i(){if(this.#e)return{done:!0,value:void 0};let t;try{t=await this.#t.read()}catch(r){
|
|
386
386
|
throw this.#n=void 0,this.#e=!0,this.#t.releaseLock(),r}return t.done&&(this.#n=void 0,this.#e=!0,this.#t.releaseLock()),
|
|
387
387
|
t}async#o(t){if(this.#e)return{done:!0,value:t};if(this.#e=!0,!this.#r){let r=this.#t.cancel(t);return this.#t.releaseLock(),
|
|
388
|
-
await r,{done:!0,value:t}}return this.#t.releaseLock(),{done:!0,value:t}}},
|
|
389
|
-
Object.defineProperty(
|
|
390
|
-
{value:"return"});var
|
|
391
|
-
configurable:!0,writable:!0,value:
|
|
392
|
-
create(
|
|
393
|
-
if(
|
|
394
|
-
a ReadableStream, or an async iterable.")},{toString:
|
|
395
|
-
r={};
|
|
396
|
-
if(!t.signal.aborted)throw n}finally{e.destroy()}},
|
|
397
|
-
error:!1})}catch(n){r.error=n}finally{t.abort()}},
|
|
398
|
-
POSITIVE_INFINITY}={})=>{let l=
|
|
399
|
-
state:u,getSize:n,truncateChunk:o,addChunk:i,maxBuffer:c})}return
|
|
388
|
+
await r,{done:!0,value:t}}return this.#t.releaseLock(),{done:!0,value:t}}},Uo=Symbol();function pl(){return this[Uo].next()}
|
|
389
|
+
Object.defineProperty(pl,"name",{value:"next"});function fl(e){return this[Uo].return(e)}Object.defineProperty(fl,"name",
|
|
390
|
+
{value:"return"});var eb=Object.create(Qg,{next:{enumerable:!0,configurable:!0,writable:!0,value:pl},return:{enumerable:!0,
|
|
391
|
+
configurable:!0,writable:!0,value:fl}});function Go({preventCancel:e=!1}={}){let t=this.getReader(),r=new Bo(t,e),n=Object.
|
|
392
|
+
create(eb);return n[Uo]=r,n}var ml=e=>{if($e(e,{checkOpen:!1})&&Nt.on!==void 0)return rb(e);if(typeof e?.[Symbol.asyncIterator]=="function")return e;
|
|
393
|
+
if(tb.call(e)==="[object ReadableStream]")return Go.call(e);throw new TypeError("The first argument must be a Readable, \
|
|
394
|
+
a ReadableStream, or an async iterable.")},{toString:tb}=Object.prototype,rb=async function*(e){let t=new AbortController,
|
|
395
|
+
r={};nb(e,t,r);try{for await(let[n]of Nt.on(e,"data",{signal:t.signal}))yield n}catch(n){if(r.error!==void 0)throw r.error;
|
|
396
|
+
if(!t.signal.aborted)throw n}finally{e.destroy()}},nb=async(e,t,r)=>{try{await Nt.finished(e,{cleanup:!0,readable:!0,writable:!1,
|
|
397
|
+
error:!1})}catch(n){r.error=n}finally{t.abort()}},Nt={};var Qe=async(e,{init:t,convertChunk:r,getSize:n,truncateChunk:o,addChunk:i,getFinalChunk:s,finalize:a},{maxBuffer:c=Number.
|
|
398
|
+
POSITIVE_INFINITY}={})=>{let l=ml(e),u=t();u.length=0;try{for await(let d of l){let p=ib(d),f=r[p](d,u);bl({convertedChunk:f,
|
|
399
|
+
state:u,getSize:n,truncateChunk:o,addChunk:i,maxBuffer:c})}return ob({state:u,convertChunk:r,getSize:n,truncateChunk:o,addChunk:i,
|
|
400
400
|
getFinalChunk:s,maxBuffer:c}),a(u)}catch(d){let p=typeof d=="object"&&d!==null?d:new Error(d);throw p.bufferedData=a(u),
|
|
401
|
-
p}},
|
|
402
|
-
state:e,getSize:t,truncateChunk:r,addChunk:n,maxBuffer:i})},
|
|
403
|
-
maxBuffer:i})=>{let s=r(e),a=t.length+s;if(a<=i){
|
|
404
|
-
new pe},
|
|
405
|
-
ct"||e===null)return"others";if(globalThis.Buffer?.isBuffer(e))return"buffer";let r=
|
|
401
|
+
p}},ob=({state:e,getSize:t,truncateChunk:r,addChunk:n,getFinalChunk:o,maxBuffer:i})=>{let s=o(e);s!==void 0&&bl({convertedChunk:s,
|
|
402
|
+
state:e,getSize:t,truncateChunk:r,addChunk:n,maxBuffer:i})},bl=({convertedChunk:e,state:t,getSize:r,truncateChunk:n,addChunk:o,
|
|
403
|
+
maxBuffer:i})=>{let s=r(e),a=t.length+s;if(a<=i){hl(e,t,o,a);return}let c=n(e,i-t.length);throw c!==void 0&&hl(c,t,o,i),
|
|
404
|
+
new pe},hl=(e,t,r,n)=>{t.contents=r(e,t,n),t.length=n},ib=e=>{let t=typeof e;if(t==="string")return"string";if(t!=="obje\
|
|
405
|
+
ct"||e===null)return"others";if(globalThis.Buffer?.isBuffer(e))return"buffer";let r=gl.call(e);return r==="[object Array\
|
|
406
406
|
Buffer]"?"arrayBuffer":r==="[object DataView]"?"dataView":Number.isInteger(e.byteLength)&&Number.isInteger(e.byteOffset)&&
|
|
407
|
-
|
|
408
|
-
MaxBufferError";constructor(){super("maxBuffer exceeded")}};var ye=e=>e
|
|
409
|
-
|
|
410
|
-
convertChunk:{string:ye,buffer:ye,arrayBuffer:ye,dataView:ye,typedArray:ye,others:ye},getSize:
|
|
411
|
-
getFinalChunk
|
|
412
|
-
|
|
413
|
-
length:r},n)=>{let o=
|
|
414
|
-
|
|
415
|
-
t,{maxByteLength:
|
|
416
|
-
|
|
417
|
-
buffer:
|
|
418
|
-
decode(e,{stream:!0}),
|
|
419
|
-
""?void 0:t},
|
|
420
|
-
truncateChunk:
|
|
421
|
-
ll")return e;let s=
|
|
422
|
-
r==="buffer"?"bytes":"characters",
|
|
423
|
-
n},
|
|
407
|
+
gl.call(e.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:gl}=Object.prototype,pe=class extends Error{name="\
|
|
408
|
+
MaxBufferError";constructor(){super("maxBuffer exceeded")}};var ye=e=>e,$t=()=>{},Gr=({contents:e})=>e,zr=e=>{throw new Error(`Streams in object mode are not supported: ${String(e)}`)},
|
|
409
|
+
Hr=e=>e.length;async function Fr(e,t){return Qe(e,lb,t)}var sb=()=>({contents:[]}),ab=()=>1,cb=(e,{contents:t})=>(t.push(e),t),lb={init:sb,
|
|
410
|
+
convertChunk:{string:ye,buffer:ye,arrayBuffer:ye,dataView:ye,typedArray:ye,others:ye},getSize:ab,truncateChunk:$t,addChunk:cb,
|
|
411
|
+
getFinalChunk:$t,finalize:Gr};async function jr(e,t){return Qe(e,wb,t)}var ub=()=>({contents:new ArrayBuffer(0)}),db=e=>pb.encode(e),pb=new TextEncoder,
|
|
412
|
+
wl=e=>new Uint8Array(e),yl=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),fb=(e,t)=>e.slice(0,t),mb=(e,{contents:t,
|
|
413
|
+
length:r},n)=>{let o=El()?gb(t,n):hb(t,n);return new Uint8Array(o).set(e,r),o},hb=(e,t)=>{if(t<=e.byteLength)return e;let r=new ArrayBuffer(
|
|
414
|
+
Sl(t));return new Uint8Array(r).set(new Uint8Array(e),0),r},gb=(e,t)=>{if(t<=e.maxByteLength)return e.resize(t),e;let r=new ArrayBuffer(
|
|
415
|
+
t,{maxByteLength:Sl(t)});return new Uint8Array(r).set(new Uint8Array(e),0),r},Sl=e=>_l**Math.ceil(Math.log(e)/Math.log(_l)),
|
|
416
|
+
_l=2,bb=({contents:e,length:t})=>El()?e:e.slice(0,t),El=()=>"resize"in ArrayBuffer.prototype,wb={init:ub,convertChunk:{string:db,
|
|
417
|
+
buffer:wl,arrayBuffer:wl,dataView:yl,typedArray:yl,others:zr},getSize:Hr,truncateChunk:fb,addChunk:mb,getFinalChunk:$t,finalize:bb};async function Wr(e,t){return Qe(e,vb,t)}var yb=()=>({contents:"",textDecoder:new TextDecoder}),Vr=(e,{textDecoder:t})=>t.
|
|
418
|
+
decode(e,{stream:!0}),_b=(e,{contents:t})=>t+e,Sb=(e,t)=>e.slice(0,t),Eb=({textDecoder:e})=>{let t=e.decode();return t===
|
|
419
|
+
""?void 0:t},vb={init:yb,convertChunk:{string:ye,buffer:Vr,arrayBuffer:Vr,dataView:Vr,typedArray:Vr,others:zr},getSize:Hr,
|
|
420
|
+
truncateChunk:Sb,addChunk:_b,getFinalChunk:Eb,finalize:Gr};Object.assign(Nt,{on:Tb,finished:Ib});var vl=({error:e,stream:t,readableObjectMode:r,lines:n,encoding:o,fdNumber:i})=>{if(!(e instanceof pe))throw e;if(i==="a\
|
|
421
|
+
ll")return e;let s=Ab(r,n,o);throw e.maxBufferInfo={fdNumber:i,unit:s},t.destroy(),e},Ab=(e,t,r)=>e?"objects":t?"lines":
|
|
422
|
+
r==="buffer"?"bytes":"characters",Tl=(e,t,r)=>{if(t.length!==r)return;let n=new pe;throw n.maxBufferInfo={fdNumber:"ipc"},
|
|
423
|
+
n},Il=(e,t)=>{let{streamName:r,threshold:n,unit:o}=Rb(e,t);return`Command's ${r} was larger than ${n} ${o}`},Rb=(e,t)=>{
|
|
424
424
|
if(e?.maxBufferInfo===void 0)return{streamName:"output",threshold:t[1],unit:"bytes"};let{maxBufferInfo:{fdNumber:r,unit:n}}=e;
|
|
425
|
-
delete e.maxBufferInfo;let o=we(t,r);return r==="ipc"?{streamName:"IPC output",threshold:o,unit:"messages"}:{streamName:
|
|
426
|
-
r),threshold:o,unit:n}},
|
|
427
|
-
return e;let n=
|
|
425
|
+
delete e.maxBufferInfo;let o=we(t,r);return r==="ipc"?{streamName:"IPC output",threshold:o,unit:"messages"}:{streamName:lr(
|
|
426
|
+
r),threshold:o,unit:n}},Al=(e,t,r)=>e?.code==="ENOBUFS"&&t!==null&&t.some(n=>n!==null&&n.length>qr(r)),Rl=(e,t,r)=>{if(!t)
|
|
427
|
+
return e;let n=qr(r);return e.length>n?e.slice(0,n):e},qr=([,e])=>e;var Ol=({stdio:e,all:t,ipcOutput:r,originalError:n,signal:o,signalDescription:i,exitCode:s,escapedCommand:a,timedOut:c,isCanceled:l,
|
|
428
428
|
isGracefullyCanceled:u,isMaxBuffer:d,isForcefullyTerminated:p,forceKillAfterDelay:f,killSignal:m,maxBuffer:h,timeout:y,cwd:w})=>{
|
|
429
|
-
let g=n?.code,v=
|
|
430
|
-
exitCode:s,isCanceled:l,isGracefullyCanceled:u,isForcefullyTerminated:p,forceKillAfterDelay:f,killSignal:m}),_=
|
|
429
|
+
let g=n?.code,v=Ob({originalError:n,timedOut:c,timeout:y,isMaxBuffer:d,maxBuffer:h,errorCode:g,signal:o,signalDescription:i,
|
|
430
|
+
exitCode:s,isCanceled:l,isGracefullyCanceled:u,isForcefullyTerminated:p,forceKillAfterDelay:f,killSignal:m}),_=xb(n,w),I=_===
|
|
431
431
|
void 0?"":`
|
|
432
|
-
${_}`,
|
|
433
|
-
`)].map(N=>
|
|
432
|
+
${_}`,R=`${v}: ${a}${I}`,S=t===void 0?[e[2],e[1]]:[t],x=[R,...S,...e.slice(3),r.map(N=>kb(N)).join(`
|
|
433
|
+
`)].map(N=>Rt(Ze(Nb(N)))).filter(Boolean).join(`
|
|
434
434
|
|
|
435
|
-
`);return{originalMessage:_,shortMessage:
|
|
435
|
+
`);return{originalMessage:_,shortMessage:R,message:x}},Ob=({originalError:e,timedOut:t,timeout:r,isMaxBuffer:n,maxBuffer:o,
|
|
436
436
|
errorCode:i,signal:s,signalDescription:a,exitCode:c,isCanceled:l,isGracefullyCanceled:u,isForcefullyTerminated:d,forceKillAfterDelay:p,
|
|
437
|
-
killSignal:f})=>{let m=
|
|
437
|
+
killSignal:f})=>{let m=Cb(d,p);return t?`Command timed out after ${r} milliseconds${m}`:u?s===void 0?`Command was gracef\
|
|
438
438
|
ully canceled with exit code ${c}`:d?`Command was gracefully canceled${m}`:`Command was gracefully canceled with ${s} (${a}\
|
|
439
|
-
)`:l?`Command was canceled${m}`:n?`${
|
|
440
|
-
(${
|
|
441
|
-
nd failed"},
|
|
442
|
-
let r=
|
|
443
|
-
e),
|
|
444
|
-
`):
|
|
445
|
-
cwd:i,durationMs:
|
|
446
|
-
exitCode:0,stdout:r[1],stderr:r[2],all:n,stdio:r,ipcOutput:o,pipedFrom:[]}),
|
|
447
|
-
options:o,startTime:i,isSync:s})=>
|
|
448
|
-
isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:n.length}),ipcOutput:[],options:o,isSync:s}),
|
|
439
|
+
)`:l?`Command was canceled${m}`:n?`${Il(e,o)}${m}`:i!==void 0?`Command failed with ${i}${m}`:d?`Command was killed with ${f}\
|
|
440
|
+
(${vr(f)})${m}`:s!==void 0?`Command was killed with ${s} (${a})`:c!==void 0?`Command failed with exit code ${c}`:"Comma\
|
|
441
|
+
nd failed"},Cb=(e,t)=>e?` and was forcefully terminated after ${t} milliseconds`:"",xb=(e,t)=>{if(e instanceof ne)return;
|
|
442
|
+
let r=oc(e)?e.originalMessage:String(e?.message??e),n=Rt(al(r,t));return n===""?void 0:n},kb=e=>typeof e=="string"?e:Pb(
|
|
443
|
+
e),Nb=e=>Array.isArray(e)?e.map(t=>Ze(Pl(t))).filter(Boolean).join(`
|
|
444
|
+
`):Pl(e),Pl=e=>typeof e=="string"?e:B(e)?ar(e):"";var Yr=({command:e,escapedCommand:t,stdio:r,all:n,ipcOutput:o,options:{cwd:i},startTime:s})=>Cl({command:e,escapedCommand:t,
|
|
445
|
+
cwd:i,durationMs:ho(s),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,
|
|
446
|
+
exitCode:0,stdout:r[1],stderr:r[2],all:n,stdio:r,ipcOutput:o,pipedFrom:[]}),et=({error:e,command:t,escapedCommand:r,fileDescriptors:n,
|
|
447
|
+
options:o,startTime:i,isSync:s})=>Mt({error:e,command:t,escapedCommand:r,startTime:i,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,
|
|
448
|
+
isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:n.length}),ipcOutput:[],options:o,isSync:s}),Mt=({error:e,
|
|
449
449
|
command:t,escapedCommand:r,startTime:n,timedOut:o,isCanceled:i,isGracefullyCanceled:s,isMaxBuffer:a,isForcefullyTerminated:c,
|
|
450
450
|
exitCode:l,signal:u,stdio:d,all:p,ipcOutput:f,options:{timeoutDuration:m,timeout:h=m,forceKillAfterDelay:y,killSignal:w,
|
|
451
|
-
cwd:g,maxBuffer:v},isSync:_})=>{let{exitCode:
|
|
452
|
-
{stdio:d,all:p,ipcOutput:f,originalError:e,signal:
|
|
451
|
+
cwd:g,maxBuffer:v},isSync:_})=>{let{exitCode:I,signal:R,signalDescription:S}=Mb(l,u),{originalMessage:x,shortMessage:N,message:$}=Ol(
|
|
452
|
+
{stdio:d,all:p,ipcOutput:f,originalError:e,signal:R,signalDescription:S,exitCode:I,escapedCommand:r,timedOut:o,isCanceled:i,
|
|
453
453
|
isGracefullyCanceled:s,isMaxBuffer:a,isForcefullyTerminated:c,forceKillAfterDelay:y,killSignal:w,maxBuffer:v,timeout:h,cwd:g}),
|
|
454
|
-
M=
|
|
455
|
-
isMaxBuffer:a,isForcefullyTerminated:c,exitCode:
|
|
456
|
-
shortMessage:N})),M}
|
|
454
|
+
M=rc(e,$,_);return Object.assign(M,$b({error:M,command:t,escapedCommand:r,startTime:n,timedOut:o,isCanceled:i,isGracefullyCanceled:s,
|
|
455
|
+
isMaxBuffer:a,isForcefullyTerminated:c,exitCode:I,signal:R,signalDescription:S,stdio:d,all:p,ipcOutput:f,cwd:g,originalMessage:x,
|
|
456
|
+
shortMessage:N})),M},$b=({error:e,command:t,escapedCommand:r,startTime:n,timedOut:o,isCanceled:i,isGracefullyCanceled:s,
|
|
457
457
|
isMaxBuffer:a,isForcefullyTerminated:c,exitCode:l,signal:u,signalDescription:d,stdio:p,all:f,ipcOutput:m,cwd:h,originalMessage:y,
|
|
458
|
-
shortMessage:w})=>
|
|
458
|
+
shortMessage:w})=>Cl({shortMessage:w,originalMessage:y,command:t,escapedCommand:r,cwd:h,durationMs:ho(n),failed:!0,timedOut:o,
|
|
459
459
|
isCanceled:i,isGracefullyCanceled:s,isTerminated:u!==void 0,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:l,signal:u,signalDescription:d,
|
|
460
|
-
code:e.cause?.code,stdout:p[1],stderr:p[2],all:f,stdio:p,ipcOutput:m,pipedFrom:[]}),
|
|
461
|
-
e).filter(([,t])=>t!==void 0)),
|
|
462
|
-
signal:n,signalDescription:o}};var
|
|
463
|
-
trunc(e/6e4%60),seconds:Math.trunc(e/1e3%60),milliseconds:Math.trunc(e%1e3),microseconds:Math.trunc(
|
|
464
|
-
trunc(
|
|
465
|
-
milliseconds:e%1000n,microseconds:0n,nanoseconds:0n}}function
|
|
466
|
-
return
|
|
460
|
+
code:e.cause?.code,stdout:p[1],stderr:p[2],all:f,stdio:p,ipcOutput:m,pipedFrom:[]}),Cl=e=>Object.fromEntries(Object.entries(
|
|
461
|
+
e).filter(([,t])=>t!==void 0)),Mb=(e,t)=>{let r=e===null?void 0:e,n=t===null?void 0:t,o=n===void 0?void 0:vr(t);return{exitCode:r,
|
|
462
|
+
signal:n,signalDescription:o}};var xl=e=>Number.isFinite(e)?e:0;function Db(e){return{days:Math.trunc(e/864e5),hours:Math.trunc(e/36e5%24),minutes:Math.
|
|
463
|
+
trunc(e/6e4%60),seconds:Math.trunc(e/1e3%60),milliseconds:Math.trunc(e%1e3),microseconds:Math.trunc(xl(e*1e3)%1e3),nanoseconds:Math.
|
|
464
|
+
trunc(xl(e*1e6)%1e3)}}function Lb(e){return{days:e/86400000n,hours:e/3600000n%24n,minutes:e/60000n%60n,seconds:e/1000n%60n,
|
|
465
|
+
milliseconds:e%1000n,microseconds:0n,nanoseconds:0n}}function zo(e){switch(typeof e){case"number":{if(Number.isFinite(e))
|
|
466
|
+
return Db(e);break}case"bigint":return Lb(e)}throw new TypeError("Expected a finite number or bigint")}var Bb=e=>e===0||e===0n,Ub=(e,t)=>t===1||t===1n?e:`${e}s`,Gb=1e-7,zb=24n*60n*60n*1000n;function Ho(e,t){let r=typeof e==
|
|
467
467
|
"bigint";if(!r&&!Number.isFinite(e))throw new TypeError("Expected a finite number or bigint");t={...t};let n=e<0?"-":"";
|
|
468
468
|
e=e<0?-e:e,t.colonNotation&&(t.compact=!1,t.formatSubMilliseconds=!1,t.separateMilliseconds=!1,t.verbose=!1),t.compact&&
|
|
469
|
-
(t.unitCount=1,t.secondsDecimalDigits=0,t.millisecondsDecimalDigits=0);let o=[],i=(u,d)=>{let p=Math.floor(u*10**d+
|
|
470
|
-
round(p)/10**d).toFixed(d)},s=(u,d,p,f)=>{if(!((o.length===0||!t.colonNotation)&&
|
|
469
|
+
(t.unitCount=1,t.secondsDecimalDigits=0,t.millisecondsDecimalDigits=0);let o=[],i=(u,d)=>{let p=Math.floor(u*10**d+Gb);return(Math.
|
|
470
|
+
round(p)/10**d).toFixed(d)},s=(u,d,p,f)=>{if(!((o.length===0||!t.colonNotation)&&Bb(u)&&!(t.colonNotation&&p==="m"))){if(f??=
|
|
471
471
|
String(u),t.colonNotation){let m=f.includes(".")?f.split(".")[0].length:f.length,h=o.length>0?2:1;f="0".repeat(Math.max(
|
|
472
|
-
0,h-m))+f}else f+=t.verbose?" "+
|
|
472
|
+
0,h-m))+f}else f+=t.verbose?" "+Ub(d,u):p;o.push(f)}},a=zo(e),c=BigInt(a.days);if(t.hideYearAndDays?s(BigInt(c)*24n+BigInt(
|
|
473
473
|
a.hours),"hour","h"):(t.hideYear?s(c,"day","d"):(s(c/365n,"year","y"),s(c%365n,"day","d")),s(Number(a.hours),"hour","h")),
|
|
474
474
|
s(Number(a.minutes),"minute","m"),!t.hideSeconds)if(t.separateMilliseconds||t.formatSubMilliseconds||!t.colonNotation&&e<
|
|
475
475
|
1e3&&!t.subSecondsAsDecimals){let u=Number(a.seconds),d=Number(a.milliseconds),p=Number(a.microseconds),f=Number(a.nanoseconds);
|
|
476
476
|
if(s(u,"second","s"),t.formatSubMilliseconds)s(d,"millisecond","ms"),s(p,"microsecond","\xB5s"),s(f,"nanosecond","ns");else{
|
|
477
477
|
let m=d+p/1e3+f/1e6,h=typeof t.millisecondsDecimalDigits=="number"?t.millisecondsDecimalDigits:0,y=m>=1?Math.round(m):Math.
|
|
478
478
|
ceil(m),w=1e3-10**-h,g=h?Math.min(m,w).toFixed(h):Math.min(y,w);s(Number.parseFloat(g),"millisecond","ms",g)}}else{let u=(r?
|
|
479
|
-
Number(e%
|
|
479
|
+
Number(e%zb):e)/1e3%60,d=typeof t.secondsDecimalDigits=="number"?t.secondsDecimalDigits:1,p=i(u,d),f=t.keepDecimalsOnWholeSeconds?
|
|
480
480
|
p:p.replace(/\.0+$/,"");s(Number.parseFloat(f),"second","s",f)}if(o.length===0)return n+"0"+(t.verbose?" milliseconds":"\
|
|
481
481
|
ms");let l=t.colonNotation?":":" ";return typeof t.unitCount=="number"&&(o=o.slice(0,Math.max(t.unitCount,1))),n+o.join(
|
|
482
|
-
l)}var
|
|
483
|
-
verboseInfo:t,result:e})};var
|
|
484
|
-
"native":B(e)?"uint8Array":
|
|
485
|
-
e.transform,{checkOpen:!1})
|
|
486
|
-
e,t,"web TransformStream"),"webTransform"),
|
|
487
|
-
nary`,o),
|
|
488
|
-
when using a generator, not a ${r}.`)},
|
|
489
|
-
`The \`${o}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(
|
|
490
|
-
throw new TypeError(`The \`${o}.final\` option must not be a Duplex stream.`);if(
|
|
491
|
-
inal\` option must not be a web TransformStream.`);if(t!==void 0&&!
|
|
492
|
-
ust be a generator.`);return
|
|
493
|
-
if(e!==void 0&&typeof e!="boolean")throw new TypeError(`The \`${t}\` option must use a boolean.`)},
|
|
494
|
-
prototype.toString.call(e)==="[object AsyncGeneratorFunction]"
|
|
495
|
-
torFunction]",
|
|
496
|
-
L]",
|
|
497
|
-
|
|
498
|
-
["ipc","ignore","inherit","overlapped","pipe"]),
|
|
499
|
-
prototype.toString.call(e)==="[object WritableStream]",
|
|
500
|
-
e)&&typeof e[Symbol.asyncIterator]=="function",
|
|
501
|
-
t"&&e!==null,Q=new Set(["generator","asyncGenerator","duplex","webTransform"]),
|
|
502
|
-
ber"]),
|
|
503
|
-
x"]),
|
|
482
|
+
l)}var kl=(e,t)=>{e.failed&&le({type:"error",verboseMessage:e.shortMessage,verboseInfo:t,result:e})};var Nl=(e,t)=>{Ve(t)&&(kl(e,t),Hb(e,t))},Hb=(e,t)=>{let r=`(done in ${Ho(e.durationMs)})`;le({type:"duration",verboseMessage:r,
|
|
483
|
+
verboseInfo:t,result:e})};var tt=(e,t,{reject:r})=>{if(Nl(e,t),e.failed&&r)throw e;return e};import{readFileSync as su}from"node:fs";var Dl=(e,t)=>Me(e)?"asyncGenerator":Ul(e)?"generator":Kr(e)?"fileUrl":qb(e)?"filePath":Jb(e)?"webStream":ie(e,{checkOpen:!1})?
|
|
484
|
+
"native":B(e)?"uint8Array":Xb(e)?"asyncIterable":Zb(e)?"iterable":Vo(e)?Ll({transform:e},t):Wb(e)?Fb(e,t):"native",Fb=(e,t)=>Lo(
|
|
485
|
+
e.transform,{checkOpen:!1})?jb(e,t):Vo(e.transform)?Ll(e,t):Vb(e,t),jb=(e,t)=>(Bl(e,t,"Duplex stream"),"duplex"),Ll=(e,t)=>(Bl(
|
|
486
|
+
e,t,"web TransformStream"),"webTransform"),Bl=({final:e,binary:t,objectMode:r},n,o)=>{$l(e,`${n}.final`,o),$l(t,`${n}.bi\
|
|
487
|
+
nary`,o),Fo(r,`${n}.objectMode`)},$l=(e,t,r)=>{if(e!==void 0)throw new TypeError(`The \`${t}\` option can only be defined\
|
|
488
|
+
when using a generator, not a ${r}.`)},Vb=({transform:e,final:t,binary:r,objectMode:n},o)=>{if(e!==void 0&&!Ml(e))throw new TypeError(
|
|
489
|
+
`The \`${o}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(Lo(t,{checkOpen:!1}))
|
|
490
|
+
throw new TypeError(`The \`${o}.final\` option must not be a Duplex stream.`);if(Vo(t))throw new TypeError(`The \`${o}.f\
|
|
491
|
+
inal\` option must not be a web TransformStream.`);if(t!==void 0&&!Ml(t))throw new TypeError(`The \`${o}.final\` option m\
|
|
492
|
+
ust be a generator.`);return Fo(r,`${o}.binary`),Fo(n,`${o}.objectMode`),Me(e)||Me(t)?"asyncGenerator":"generator"},Fo=(e,t)=>{
|
|
493
|
+
if(e!==void 0&&typeof e!="boolean")throw new TypeError(`The \`${t}\` option must use a boolean.`)},Ml=e=>Me(e)||Ul(e),Me=e=>Object.
|
|
494
|
+
prototype.toString.call(e)==="[object AsyncGeneratorFunction]",Ul=e=>Object.prototype.toString.call(e)==="[object Genera\
|
|
495
|
+
torFunction]",Wb=e=>L(e)&&(e.transform!==void 0||e.final!==void 0),Kr=e=>Object.prototype.toString.call(e)==="[object UR\
|
|
496
|
+
L]",Gl=e=>Kr(e)&&e.protocol!=="file:",qb=e=>L(e)&&Object.keys(e).length>0&&Object.keys(e).every(t=>Yb.has(t))&&jo(e.file),
|
|
497
|
+
Yb=new Set(["file","append"]),jo=e=>typeof e=="string",zl=(e,t)=>e==="native"&&typeof t=="string"&&!Kb.has(t),Kb=new Set(
|
|
498
|
+
["ipc","ignore","inherit","overlapped","pipe"]),Hl=e=>Object.prototype.toString.call(e)==="[object ReadableStream]",Jr=e=>Object.
|
|
499
|
+
prototype.toString.call(e)==="[object WritableStream]",Jb=e=>Hl(e)||Jr(e),Vo=e=>Hl(e?.readable)&&Jr(e?.writable),Xb=e=>Fl(
|
|
500
|
+
e)&&typeof e[Symbol.asyncIterator]=="function",Zb=e=>Fl(e)&&typeof e[Symbol.iterator]=="function",Fl=e=>typeof e=="objec\
|
|
501
|
+
t"&&e!==null,Q=new Set(["generator","asyncGenerator","duplex","webTransform"]),Xr=new Set(["fileUrl","filePath","fileNum\
|
|
502
|
+
ber"]),Wo=new Set(["fileUrl","filePath"]),jl=new Set([...Wo,"webStream","nodeStream"]),Vl=new Set(["webTransform","duple\
|
|
503
|
+
x"]),Ie={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",
|
|
504
504
|
fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web Transfo\
|
|
505
505
|
rmStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a\
|
|
506
|
-
string",uint8Array:"a Uint8Array"};var
|
|
507
|
-
readableObjectMode:e??n}},
|
|
508
|
-
writableObjectMode:n,readableObjectMode:o}},
|
|
509
|
-
input"?r.value.writableObjectMode:r.value.readableObjectMode};var
|
|
510
|
-
has(s)),i=Array.from({length:o.length});for(let[s,a]of Object.entries(o))i[s]=
|
|
511
|
-
optionName:t,direction:r,encoding:n});return
|
|
512
|
-
direction:i,encoding:s})=>t==="duplex"?
|
|
513
|
-
direction:i}):
|
|
506
|
+
string",uint8Array:"a Uint8Array"};var qo=(e,t,r,n)=>n==="output"?Qb(e,t,r):ew(e,t,r),Qb=(e,t,r)=>{let n=t!==0&&r[t-1].value.readableObjectMode;return{writableObjectMode:n,
|
|
507
|
+
readableObjectMode:e??n}},ew=(e,t,r)=>{let n=t===0?e===!0:r[t-1].value.readableObjectMode,o=t!==r.length-1&&(e??n);return{
|
|
508
|
+
writableObjectMode:n,readableObjectMode:o}},Wl=(e,t)=>{let r=e.findLast(({type:n})=>Q.has(n));return r===void 0?!1:t==="\
|
|
509
|
+
input"?r.value.writableObjectMode:r.value.readableObjectMode};var ql=(e,t,r,n)=>[...e.filter(({type:o})=>!Q.has(o)),...tw(e,t,r,n)],tw=(e,t,r,{encoding:n})=>{let o=e.filter(({type:s})=>Q.
|
|
510
|
+
has(s)),i=Array.from({length:o.length});for(let[s,a]of Object.entries(o))i[s]=rw({stdioItem:a,index:Number(s),newTransforms:i,
|
|
511
|
+
optionName:t,direction:r,encoding:n});return sw(i,r)},rw=({stdioItem:e,stdioItem:{type:t},index:r,newTransforms:n,optionName:o,
|
|
512
|
+
direction:i,encoding:s})=>t==="duplex"?nw({stdioItem:e,optionName:o}):t==="webTransform"?ow({stdioItem:e,index:r,newTransforms:n,
|
|
513
|
+
direction:i}):iw({stdioItem:e,index:r,newTransforms:n,direction:i,encoding:s}),nw=({stdioItem:e,stdioItem:{value:{transform:t,
|
|
514
514
|
transform:{writableObjectMode:r,readableObjectMode:n},objectMode:o=n}},optionName:i})=>{if(o&&!n)throw new TypeError(`Th\
|
|
515
515
|
e \`${i}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!o&&n)throw new TypeError(
|
|
516
516
|
`The \`${i}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...e,value:{
|
|
517
|
-
transform:t,writableObjectMode:r,readableObjectMode:n}}},
|
|
518
|
-
let{transform:i,objectMode:s}=L(t)?t:{transform:t},{writableObjectMode:a,readableObjectMode:c}=
|
|
519
|
-
transform:i,writableObjectMode:a,readableObjectMode:c}}},
|
|
520
|
-
encoding:i})=>{let{transform:s,final:a,binary:c=!1,preserveNewlines:l=!1,objectMode:u}=L(t)?t:{transform:t},d=c||
|
|
521
|
-
{writableObjectMode:p,readableObjectMode:f}=
|
|
522
|
-
writableObjectMode:p,readableObjectMode:f}}},
|
|
523
|
-
ption must not be an array of both readable and writable values.`);return n.find(Boolean)??
|
|
524
|
-
|
|
525
|
-
iterable:
|
|
526
|
-
|
|
527
|
-
e,{checkOpen:!1}))return
|
|
528
|
-
includes(e))return"output"},
|
|
529
|
-
void 0)return Z.map(n=>t[n]);if(
|
|
517
|
+
transform:t,writableObjectMode:r,readableObjectMode:n}}},ow=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:n,direction:o})=>{
|
|
518
|
+
let{transform:i,objectMode:s}=L(t)?t:{transform:t},{writableObjectMode:a,readableObjectMode:c}=qo(s,r,n,o);return{...e,value:{
|
|
519
|
+
transform:i,writableObjectMode:a,readableObjectMode:c}}},iw=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:n,direction:o,
|
|
520
|
+
encoding:i})=>{let{transform:s,final:a,binary:c=!1,preserveNewlines:l=!1,objectMode:u}=L(t)?t:{transform:t},d=c||q.has(i),
|
|
521
|
+
{writableObjectMode:p,readableObjectMode:f}=qo(u,r,n,o);return{...e,value:{transform:s,final:a,binary:d,preserveNewlines:l,
|
|
522
|
+
writableObjectMode:p,readableObjectMode:f}}},sw=(e,t)=>t==="input"?e.reverse():e;import Yo from"node:process";var Yl=(e,t,r)=>{let n=e.map(o=>aw(o,t));if(n.includes("input")&&n.includes("output"))throw new TypeError(`The \`${r}\` o\
|
|
523
|
+
ption must not be an array of both readable and writable values.`);return n.find(Boolean)??uw},aw=({type:e,value:t},r)=>cw[r]??
|
|
524
|
+
Kl[e](t),cw=["input","output","output"],rt=()=>{},Ko=()=>"input",Kl={generator:rt,asyncGenerator:rt,fileUrl:rt,filePath:rt,
|
|
525
|
+
iterable:Ko,asyncIterable:Ko,uint8Array:Ko,webStream:e=>Jr(e)?"output":"input",nodeStream(e){return $e(e,{checkOpen:!1})?
|
|
526
|
+
Do(e,{checkOpen:!1})?void 0:"input":"output"},webTransform:rt,duplex:rt,native(e){let t=lw(e);if(t!==void 0)return t;if(ie(
|
|
527
|
+
e,{checkOpen:!1}))return Kl.nodeStream(e)}},lw=e=>{if([0,Yo.stdin].includes(e))return"input";if([1,2,Yo.stdout,Yo.stderr].
|
|
528
|
+
includes(e))return"output"},uw="output";var Jl=(e,t)=>t&&!e.includes("ipc")?[...e,"ipc"]:e;var Xl=({stdio:e,ipc:t,buffer:r,...n},o,i)=>{let s=dw(e,n).map((a,c)=>Zl(a,c));return i?fw(s,r,o):Jl(s,t)},dw=(e,t)=>{if(e===
|
|
529
|
+
void 0)return Z.map(n=>t[n]);if(pw(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Z.
|
|
530
530
|
map(n=>`\`${n}\``).join(", ")}`);if(typeof e=="string")return[e,e,e];if(!Array.isArray(e))throw new TypeError(`Expected \
|
|
531
531
|
\`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,Z.length);return Array.from(
|
|
532
|
-
{length:r},(n,o)=>e[o])},
|
|
533
|
-
nore":"pipe"),
|
|
534
|
-
t=>t==="pipe");import{readFileSync as
|
|
535
|
-
fdNumber:n,direction:o}):
|
|
536
|
-
let i=
|
|
537
|
-
`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return e},
|
|
538
|
-
optionName:t,fdNumber:r,direction:n})=>{let o=
|
|
539
|
-
if(
|
|
540
|
-
s.`);return{type:"uint8Array",value:be(
|
|
541
|
-
return e;let r=
|
|
542
|
-
herit"?{type:"nodeStream",value:
|
|
543
|
-
ie(t,{checkOpen:!1})?{type:"nodeStream",value:t,optionName:r}:e,
|
|
544
|
-
`The \`${r}: ${t}\` option is invalid: no such standard stream.`);return n};var
|
|
545
|
-
t"}],
|
|
546
|
-
"The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},
|
|
547
|
-
inputFile"}],
|
|
548
|
-
"The `inputFile` option must be a file path string or a file URL.")};var
|
|
549
|
-
stdioItem:{type:e,value:t,optionName:r},direction:n,fileDescriptors:o,isSync:i})=>{let s=
|
|
550
|
-
|
|
551
|
-
value:t,optionName:r,direction:n});
|
|
552
|
-
({direction:r,stdioItems:n})=>n.filter(o=>o.type===t).map((o=>({...o,direction:r})))),
|
|
553
|
-
optionName:n,direction:o})=>{
|
|
554
|
-
type:t,value:r,optionName:n,direction:o})=>{let i=e.filter(a=>
|
|
555
|
-
o);return
|
|
556
|
-
l"?t.href===r.href:t===r,
|
|
557
|
-
r.transform);
|
|
558
|
-
not target ${
|
|
559
|
-
addProperties:e,options:t,isSync:n});return t.stdio=s.map(({stdioItems:a})=>
|
|
560
|
-
isSync:n})=>{let o=
|
|
561
|
-
c=i.map(d=>
|
|
562
|
-
objectMode:u,stdioItems:l}},
|
|
563
|
-
map(c=>
|
|
564
|
-
e,t),value:e,optionName:t}),
|
|
565
|
-
ray.`);if(t){for(let{value:n,optionName:o}of e)if(
|
|
566
|
-
\`.`)}},
|
|
532
|
+
{length:r},(n,o)=>e[o])},pw=e=>Z.some(t=>e[t]!==void 0),Zl=(e,t)=>Array.isArray(e)?e.map(r=>Zl(r,t)):e??(t>=Z.length?"ig\
|
|
533
|
+
nore":"pipe"),fw=(e,t,r)=>e.map((n,o)=>!t[o]&&o!==0&&!We(r,o)&&mw(n)?"ignore":n),mw=e=>e==="pipe"||Array.isArray(e)&&e.every(
|
|
534
|
+
t=>t==="pipe");import{readFileSync as hw}from"node:fs";import gw from"node:tty";var eu=({stdioItem:e,stdioItem:{type:t},isStdioArray:r,fdNumber:n,direction:o,isSync:i})=>!r||t!=="native"?e:i?bw({stdioItem:e,
|
|
535
|
+
fdNumber:n,direction:o}):_w({stdioItem:e,fdNumber:n}),bw=({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:n,direction:o})=>{
|
|
536
|
+
let i=ww({value:t,optionName:r,fdNumber:n,direction:o});if(i!==void 0)return i;if(ie(t,{checkOpen:!1}))throw new TypeError(
|
|
537
|
+
`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return e},ww=({value:e,
|
|
538
|
+
optionName:t,fdNumber:r,direction:n})=>{let o=yw(e,r);if(o!==void 0){if(n==="output")return{type:"fileNumber",value:o,optionName:t};
|
|
539
|
+
if(gw.isatty(o))throw new TypeError(`The \`${t}: ${Ar(e)}\` option is invalid: it cannot be a TTY with synchronous method\
|
|
540
|
+
s.`);return{type:"uint8Array",value:be(hw(o)),optionName:t}}},yw=(e,t)=>{if(e==="inherit")return t;if(typeof e=="number")
|
|
541
|
+
return e;let r=cr.indexOf(e);if(r!==-1)return r},_w=({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:n})=>t==="in\
|
|
542
|
+
herit"?{type:"nodeStream",value:Ql(n,t,r),optionName:r}:typeof t=="number"?{type:"nodeStream",value:Ql(t,t,r),optionName:r}:
|
|
543
|
+
ie(t,{checkOpen:!1})?{type:"nodeStream",value:t,optionName:r}:e,Ql=(e,t,r)=>{let n=cr[e];if(n===void 0)throw new TypeError(
|
|
544
|
+
`The \`${r}: ${t}\` option is invalid: no such standard stream.`);return n};var tu=({input:e,inputFile:t},r)=>r===0?[...Sw(e),...vw(t)]:[],Sw=e=>e===void 0?[]:[{type:Ew(e),value:e,optionName:"inpu\
|
|
545
|
+
t"}],Ew=e=>{if($e(e,{checkOpen:!1}))return"nodeStream";if(typeof e=="string")return"string";if(B(e))return"uint8Array";throw new Error(
|
|
546
|
+
"The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},vw=e=>e===void 0?[]:[{...Tw(e),optionName:"\
|
|
547
|
+
inputFile"}],Tw=e=>{if(Kr(e))return{type:"fileUrl",value:e};if(jo(e))return{type:"filePath",value:{file:e}};throw new Error(
|
|
548
|
+
"The `inputFile` option must be a file path string or a file URL.")};var ru=e=>e.filter((t,r)=>e.every((n,o)=>t.value!==n.value||r>=o||t.type==="generator"||t.type==="asyncGenerator")),nu=({
|
|
549
|
+
stdioItem:{type:e,value:t,optionName:r},direction:n,fileDescriptors:o,isSync:i})=>{let s=Iw(o,e);if(s.length!==0){if(i){
|
|
550
|
+
Aw({otherStdioItems:s,type:e,value:t,optionName:r,direction:n});return}if(jl.has(e))return ou({otherStdioItems:s,type:e,
|
|
551
|
+
value:t,optionName:r,direction:n});Vl.has(e)&&Pw({otherStdioItems:s,type:e,value:t,optionName:r})}},Iw=(e,t)=>e.flatMap(
|
|
552
|
+
({direction:r,stdioItems:n})=>n.filter(o=>o.type===t).map((o=>({...o,direction:r})))),Aw=({otherStdioItems:e,type:t,value:r,
|
|
553
|
+
optionName:n,direction:o})=>{Wo.has(t)&&ou({otherStdioItems:e,type:t,value:r,optionName:n,direction:o})},ou=({otherStdioItems:e,
|
|
554
|
+
type:t,value:r,optionName:n,direction:o})=>{let i=e.filter(a=>Rw(a,r));if(i.length===0)return;let s=i.find(a=>a.direction!==
|
|
555
|
+
o);return iu(s,n,t),o==="output"?i[0].stream:void 0},Rw=({type:e,value:t},r)=>e==="filePath"?t.file===r.file:e==="fileUr\
|
|
556
|
+
l"?t.href===r.href:t===r,Pw=({otherStdioItems:e,type:t,value:r,optionName:n})=>{let o=e.find(({value:{transform:i}})=>i===
|
|
557
|
+
r.transform);iu(o,n,t)},iu=(e,t,r)=>{if(e!==void 0)throw new TypeError(`The \`${e.optionName}\` and \`${t}\` options must\
|
|
558
|
+
not target ${Ie[r]} that is the same.`)};var Zr=(e,t,r,n)=>{let i=Xl(t,r,n).map((a,c)=>Ow({stdioOption:a,fdNumber:c,options:t,isSync:n})),s=Lw({initialFileDescriptors:i,
|
|
559
|
+
addProperties:e,options:t,isSync:n});return t.stdio=s.map(({stdioItems:a})=>Gw(a)),s},Ow=({stdioOption:e,fdNumber:t,options:r,
|
|
560
|
+
isSync:n})=>{let o=lr(t),{stdioItems:i,isStdioArray:s}=Cw({stdioOption:e,fdNumber:t,options:r,optionName:o}),a=Yl(i,t,o),
|
|
561
|
+
c=i.map(d=>eu({stdioItem:d,isStdioArray:s,fdNumber:t,direction:a,isSync:n})),l=ql(c,o,a,r),u=Wl(l,a);return Dw(l,u),{direction:a,
|
|
562
|
+
objectMode:u,stdioItems:l}},Cw=({stdioOption:e,fdNumber:t,options:r,optionName:n})=>{let i=[...(Array.isArray(e)?e:[e]).
|
|
563
|
+
map(c=>xw(c,n)),...tu(r,t)],s=ru(i),a=s.length>1;return kw(s,a,n),$w(s),{stdioItems:s,isStdioArray:a}},xw=(e,t)=>({type:Dl(
|
|
564
|
+
e,t),value:e,optionName:t}),kw=(e,t,r)=>{if(e.length===0)throw new TypeError(`The \`${r}\` option must not be an empty ar\
|
|
565
|
+
ray.`);if(t){for(let{value:n,optionName:o}of e)if(Nw.has(n))throw new Error(`The \`${o}\` option must not include \`${n}\
|
|
566
|
+
\`.`)}},Nw=new Set(["ignore","ipc"]),$w=e=>{for(let t of e)Mw(t)},Mw=({type:e,value:t,optionName:r})=>{if(Gl(t))throw new TypeError(
|
|
567
567
|
`The \`${r}: URL\` option must use the \`file:\` scheme.
|
|
568
|
-
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(
|
|
569
|
-
e \`${r}: { file: '...' }\` option must be used instead of \`${r}: '...'\`.`)},
|
|
568
|
+
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(zl(e,t))throw new TypeError(`Th\
|
|
569
|
+
e \`${r}: { file: '...' }\` option must be used instead of \`${r}: '...'\`.`)},Dw=(e,t)=>{if(!t)return;let r=e.find(({type:n})=>Xr.
|
|
570
570
|
has(n));if(r!==void 0)throw new TypeError(`The \`${r.optionName}\` option cannot use both files and transforms in objectM\
|
|
571
|
-
ode.`)},
|
|
572
|
-
fileDescriptors:o,addProperties:t,options:r,isSync:n}));return o}catch(i){throw
|
|
573
|
-
objectMode:t,stdioItems:r},fileDescriptors:n,addProperties:o,options:i,isSync:s})=>{let a=r.map(c=>
|
|
574
|
-
direction:e,options:i,fileDescriptors:n,isSync:s}));return{direction:e,objectMode:t,stdioItems:a}},
|
|
575
|
-
direction:r,options:n,fileDescriptors:o,isSync:i})=>{let s=
|
|
576
|
-
void 0?{...e,stream:s}:{...e,...t[r][e.type](e,n)}},
|
|
577
|
-
r)&&r.destroy()},
|
|
578
|
-
return t==="native"?r:"pipe"};var
|
|
579
|
-
rlapped")&&
|
|
580
|
-
s.`)},
|
|
581
|
-
|
|
571
|
+
ode.`)},Lw=({initialFileDescriptors:e,addProperties:t,options:r,isSync:n})=>{let o=[];try{for(let i of e)o.push(Bw({fileDescriptor:i,
|
|
572
|
+
fileDescriptors:o,addProperties:t,options:r,isSync:n}));return o}catch(i){throw Jo(o),i}},Bw=({fileDescriptor:{direction:e,
|
|
573
|
+
objectMode:t,stdioItems:r},fileDescriptors:n,addProperties:o,options:i,isSync:s})=>{let a=r.map(c=>Uw({stdioItem:c,addProperties:o,
|
|
574
|
+
direction:e,options:i,fileDescriptors:n,isSync:s}));return{direction:e,objectMode:t,stdioItems:a}},Uw=({stdioItem:e,addProperties:t,
|
|
575
|
+
direction:r,options:n,fileDescriptors:o,isSync:i})=>{let s=nu({stdioItem:e,direction:r,fileDescriptors:o,isSync:i});return s!==
|
|
576
|
+
void 0?{...e,stream:s}:{...e,...t[r][e.type](e,n)}},Jo=e=>{for(let{stdioItems:t}of e)for(let{stream:r}of t)r!==void 0&&!re(
|
|
577
|
+
r)&&r.destroy()},Gw=e=>{if(e.length>1)return e.some(({value:n})=>n==="overlapped")?"overlapped":"pipe";let[{type:t,value:r}]=e;
|
|
578
|
+
return t==="native"?r:"pipe"};var cu=(e,t)=>Zr(Hw,e,t,!0),fe=({type:e,optionName:t})=>{lu(t,Ie[e])},zw=({optionName:e,value:t})=>((t==="ipc"||t==="ove\
|
|
579
|
+
rlapped")&&lu(e,`"${t}"`),{}),lu=(e,t)=>{throw new TypeError(`The \`${e}\` option cannot be ${t} with synchronous method\
|
|
580
|
+
s.`)},au={generator(){},asyncGenerator:fe,webStream:fe,nodeStream:fe,webTransform:fe,duplex:fe,asyncIterable:fe,native:zw},
|
|
581
|
+
Hw={input:{...au,fileUrl:({value:e})=>({contents:[be(su(e))]}),filePath:({value:{file:e}})=>({contents:[be(su(e))]}),fileNumber:fe,
|
|
582
582
|
iterable:({value:e})=>({contents:[...e]}),string:({value:e})=>({contents:[e]}),uint8Array:({value:e})=>({contents:[e]})},
|
|
583
|
-
output:{...
|
|
584
|
-
path:e}),iterable:fe,string:fe,uint8Array:fe}};var _e=(e,{stripFinalNewline:t},r)=>
|
|
585
|
-
t,{});return[...r(e),...n()]},
|
|
583
|
+
output:{...au,fileUrl:({value:e})=>({path:e}),filePath:({value:{file:e,append:t}})=>({path:e,append:t}),fileNumber:({value:e})=>({
|
|
584
|
+
path:e}),iterable:fe,string:fe,uint8Array:fe}};var _e=(e,{stripFinalNewline:t},r)=>Xo(t,r)&&e!==void 0&&!Array.isArray(e)?Ze(e):e,Xo=(e,t)=>t==="all"?e[1]||e[2]:e[t];import{Transform as ly,getDefaultHighWaterMark as _u}from"node:stream";var Qr=(e,t,r,n)=>e||r?void 0:du(t,n),Qo=(e,t,r)=>r?e.flatMap(n=>uu(n,t)):uu(e,t),uu=(e,t)=>{let{transform:r,final:n}=du(
|
|
585
|
+
t,{});return[...r(e),...n()]},du=(e,t)=>(t.previousChunks="",{transform:Fw.bind(void 0,t,e),final:Vw.bind(void 0,t)}),Fw=function*(e,t,r){
|
|
586
586
|
if(typeof r!="string"){yield r;return}let{previousChunks:n}=e,o=-1;for(let i=0;i<r.length;i+=1)if(r[i]===`
|
|
587
|
-
`){let s
|
|
588
|
-
e.previousChunks=n}
|
|
589
|
-
e.length>0&&(yield e)},
|
|
590
|
-
void 0,n)},
|
|
591
|
-
ing"?
|
|
587
|
+
`){let s=jw(r,i,t,e),a=r.slice(o+1,i+1-s);n.length>0&&(a=Zo(n,a),n=""),yield a,o=i}o!==r.length-1&&(n=Zo(n,r.slice(o+1))),
|
|
588
|
+
e.previousChunks=n},jw=(e,t,r,n)=>r?0:(n.isWindowsNewline=t!==0&&e[t-1]==="\r",n.isWindowsNewline?2:1),Vw=function*({previousChunks:e}){
|
|
589
|
+
e.length>0&&(yield e)},pu=({binary:e,preserveNewlines:t,readableObjectMode:r,state:n})=>e||t||r?void 0:{transform:Ww.bind(
|
|
590
|
+
void 0,n)},Ww=function*({isWindowsNewline:e=!1},t){let{unixNewline:r,windowsNewline:n,LF:o,concatBytes:i}=typeof t=="str\
|
|
591
|
+
ing"?qw:Kw;if(t.at(-1)===o){yield t;return}yield i(t,e?n:r)},Zo=(e,t)=>`${e}${t}`,qw={windowsNewline:`\r
|
|
592
592
|
`,unixNewline:`
|
|
593
593
|
`,LF:`
|
|
594
|
-
`,concatBytes:
|
|
595
|
-
[13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:
|
|
596
|
-
`The \`${e}\` option's transform must use "objectMode: true" to receive as input: ${typeof t}.`);yield t},
|
|
597
|
-
bind(void 0,t):
|
|
594
|
+
`,concatBytes:Zo},Yw=(e,t)=>{let r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r},Kw={windowsNewline:new Uint8Array(
|
|
595
|
+
[13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Yw};import{Buffer as Jw}from"node:buffer";var fu=(e,t)=>e?void 0:Xw.bind(void 0,t),Xw=function*(e,t){if(typeof t!="string"&&!B(t)&&!Jw.isBuffer(t))throw new TypeError(
|
|
596
|
+
`The \`${e}\` option's transform must use "objectMode: true" to receive as input: ${typeof t}.`);yield t},mu=(e,t)=>e?Zw.
|
|
597
|
+
bind(void 0,t):Qw.bind(void 0,t),Zw=function*(e,t){hu(e,t),yield t},Qw=function*(e,t){if(hu(e,t),typeof t!="string"&&!B(
|
|
598
598
|
t))throw new TypeError(`The \`${e}\` option's function must yield a string or an Uint8Array, not ${typeof t}.`);yield t},
|
|
599
|
-
|
|
599
|
+
hu=(e,t)=>{if(t==null)throw new TypeError(`The \`${e}\` option's function must not call \`yield ${t}\`.
|
|
600
600
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
601
|
-
if (condition) { yield value; }`)};import{Buffer as
|
|
602
|
-
bind(void 0,n),final:
|
|
603
|
-
t):yield t},
|
|
604
|
-
n.push(o)}finally{delete t.currentIterable}}),
|
|
605
|
-
for await(let o of n(e))yield*
|
|
606
|
-
t),e)},
|
|
607
|
-
if(e!==void 0){await(t?e.throw(t):e.return());return}if(t)throw t}),
|
|
608
|
-
e)],
|
|
609
|
-
for(let[t,{final:r}]of Object.entries(e))yield*
|
|
610
|
-
n,r,t+1)},
|
|
611
|
-
c=
|
|
612
|
-
u?
|
|
613
|
-
o),transform(h,y,w){d([h,c,0],this,w)},flush(h){p([c],this,h)},destroy:f})}},
|
|
614
|
-
"generator"),i=n?o.reverse():o;for(let{value:s,optionName:a}of i){let c=
|
|
615
|
-
binary:r,writableObjectMode:n,readableObjectMode:o,preserveNewlines:i},s,a)=>{let c={};return[{transform:
|
|
616
|
-
n),
|
|
617
|
-
filter(Boolean)};var
|
|
618
|
-
([t])=>Number(t))),
|
|
619
|
-
0){let[{type:a,optionName:c}]=o;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${
|
|
620
|
-
ronous methods.`)}let s=o.map(({contents:a})=>a).map(a=>
|
|
621
|
-
r),
|
|
622
|
-
alid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${t}.`)};import{writeFileSync as
|
|
623
|
-
"native"&&
|
|
624
|
-
for await(let o of e)
|
|
625
|
-
let n=
|
|
626
|
-
from({length:3})};let i={},s=new Set([]);return{output:t.map((c,l)=>
|
|
627
|
-
isMaxBuffer:n,verboseInfo:o},r)),...i}},
|
|
628
|
-
buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(e===null)return;let p=
|
|
629
|
-
objectMode:h}=t[r],y=
|
|
630
|
-
fdNumber:r});
|
|
631
|
-
void 0;try{return n.error===void 0&&
|
|
632
|
-
return n.error=o,e}},
|
|
633
|
-
if(r==="buffer")return{serializedResult:
|
|
634
|
-
{serializedResult:s}},
|
|
635
|
-
if(!
|
|
636
|
-
|
|
637
|
-
i)?
|
|
638
|
-
"all")]:Array.isArray(t)?[_e(e,r,"all"),...t]:B(e)&&B(t)?
|
|
639
|
-
allSettled([
|
|
640
|
-
try{return await
|
|
641
|
-
t,r]},
|
|
642
|
-
resultError:i,exitCode:t,signal:r,timedOut:s,isMaxBuffer:a}},
|
|
643
|
-
e,t,r),d=
|
|
644
|
-
return
|
|
645
|
-
options:u}=
|
|
646
|
-
options:u,fileDescriptors:d}},
|
|
647
|
-
|
|
648
|
-
option cannot be used with synchronous methods.`)},
|
|
649
|
-
fileDescriptors:s,startTime:a})=>{let c=
|
|
650
|
-
startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:p,isMaxBuffer:f}=
|
|
651
|
-
{fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:f,verboseInfo:i}),y=m.map((g,v)=>_e(g,r,v)),w=_e(
|
|
652
|
-
return
|
|
653
|
-
|
|
654
|
-
r);return
|
|
655
|
-
isSync:!0})}},
|
|
656
|
-
timedOut:n,isMaxBuffer:o,stdio:i,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>e===void 0?
|
|
657
|
-
stdio:i,all:s,ipcOutput:[],options:a,startTime:u}):
|
|
658
|
-
isMaxBuffer:o,isForcefullyTerminated:!1,exitCode:t,signal:r,stdio:i,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as
|
|
659
|
-
ipc:n,isConnected:
|
|
660
|
-
isSubprocess:r,filter:n,reference:o})=>{
|
|
661
|
-
i,n,s),
|
|
662
|
-
let[n]=await
|
|
663
|
-
signal:r})=>{await
|
|
664
|
-
throw
|
|
665
|
-
shouldAwait:!r,reference:o}),
|
|
666
|
-
getEachMessage",isSubprocess:r,ipc:n,isConnected:
|
|
667
|
-
s,a),
|
|
668
|
-
controller:a,state:c,reference:i})},
|
|
669
|
-
|
|
670
|
-
error=
|
|
671
|
-
state:s,reference:a}){try{for await(let[c]of
|
|
672
|
-
|
|
673
|
-
bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})}},
|
|
674
|
-
channel:e.channel,isSubprocess:t,ipc:r}),getOneMessage:
|
|
675
|
-
getEachMessage:
|
|
676
|
-
|
|
677
|
-
options:o,startTime:i,isSync:!1}),l=
|
|
678
|
-
from({length:t.length-3},
|
|
679
|
-
return e.end(),e},
|
|
680
|
-
e,t,r);import{createReadStream as
|
|
681
|
-
Writable as
|
|
682
|
-
|
|
683
|
-
readableObjectMode:r}}){let n=t||r;return{stream:
|
|
684
|
-
native(){}},
|
|
685
|
-
value:e})=>({stream:
|
|
686
|
-
e)}),string:({value:e})=>({stream:
|
|
687
|
-
value:e})=>({stream:
|
|
688
|
-
stream:
|
|
689
|
-
finished as
|
|
690
|
-
t \`${typeof e}\`.`);for(let o of e)
|
|
691
|
-
readableHighWaterMark:r});for(let o of e)n.add(o);return n}var
|
|
692
|
-
readableObjectMode:n})=>n===t).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},
|
|
693
|
-
[]);#r=new Set([]);#e=new Set([]);#n;#i=Symbol("unpipe");#o=new WeakMap;add(t){if(
|
|
694
|
-
t),this.#n??=
|
|
695
|
-
onFinished:this.#n,unpipeEvent:this.#i});this.#o.set(t,r),t.pipe(this,{end:!1})}async remove(t){if(
|
|
696
|
-
return!1;let r=this.#o.get(t);return r===void 0?!1:(this.#o.delete(t),t.unpipe(this),await r,!0)}},
|
|
697
|
-
e,
|
|
698
|
-
signal:t})=>{try{await
|
|
699
|
-
o]of
|
|
700
|
-
readable stream, got: \`${typeof e}\`.`)},
|
|
701
|
-
unpipeEvent:s})=>{
|
|
702
|
-
streams:r,ended:n,aborted:o,controller:a}),
|
|
703
|
-
a.abort(),
|
|
704
|
-
await e,r.aborted||
|
|
705
|
-
controller:{signal:i}})=>{try{await
|
|
706
|
-
aborted||!r.has(t))return;
|
|
707
|
-
signal:i}})=>{if(await
|
|
708
|
-
|
|
709
|
-
e.writable)&&e.destroy()},
|
|
710
|
-
r!==0&&r!==Number.POSITIVE_INFINITY&&e.setMaxListeners(r+t)},
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
type:c})=>Q.has(c)))
|
|
714
|
-
fdNumber:o,pipeGroups:n,controller:r})}for(let[o,i]of n.entries()){let s=i.length===1?i[0]:
|
|
715
|
-
r==="output"?
|
|
716
|
-
rr"],
|
|
717
|
-
a]=r==="output"?[t,e.stdio[n]]:[e.stdio[n],t],c=o.get(s)??[];o.set(s,[...c,a])},
|
|
718
|
-
CPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&
|
|
719
|
-
IGPWR","SIGSTKFLT");var
|
|
720
|
-
"function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",
|
|
721
|
-
for("signal-exit emitter"),
|
|
722
|
-
afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(
|
|
601
|
+
if (condition) { yield value; }`)};import{Buffer as ey}from"node:buffer";import{StringDecoder as ty}from"node:string_decoder";var en=(e,t,r)=>{if(r)return;if(e)return{transform:ry.bind(void 0,new TextEncoder)};let n=new ty(t);return{transform:ny.
|
|
602
|
+
bind(void 0,n),final:oy.bind(void 0,n)}},ry=function*(e,t){ey.isBuffer(t)?yield be(t):typeof t=="string"?yield e.encode(
|
|
603
|
+
t):yield t},ny=function*(e,t){yield B(t)?e.write(t):t},oy=function*(e){let t=e.end();t!==""&&(yield t)};import{callbackify as gu}from"node:util";var ei=gu(async(e,t,r,n)=>{t.currentIterable=e(...r);try{for await(let o of t.currentIterable)
|
|
604
|
+
n.push(o)}finally{delete t.currentIterable}}),tn=async function*(e,t,r){if(r===t.length){yield e;return}let{transform:n=sy}=t[r];
|
|
605
|
+
for await(let o of n(e))yield*tn(o,t,r+1)},bu=async function*(e){for(let[t,{final:r}]of Object.entries(e))yield*iy(r,Number(
|
|
606
|
+
t),e)},iy=async function*(e,t,r){if(e!==void 0)for await(let n of e())yield*tn(n,r,t+1)},wu=gu(async({currentIterable:e},t)=>{
|
|
607
|
+
if(e!==void 0){await(t?e.throw(t):e.return());return}if(t)throw t}),sy=function*(e){yield e};var ti=(e,t,r,n)=>{try{for(let o of e(...t))r.push(o);n()}catch(o){n(o)}},yu=(e,t)=>[...t.flatMap(r=>[...De(r,e,0)]),...Dt(
|
|
608
|
+
e)],De=function*(e,t,r){if(r===t.length){yield e;return}let{transform:n=cy}=t[r];for(let o of n(e))yield*De(o,t,r+1)},Dt=function*(e){
|
|
609
|
+
for(let[t,{final:r}]of Object.entries(e))yield*ay(r,Number(t),e)},ay=function*(e,t,r){if(e!==void 0)for(let n of e())yield*De(
|
|
610
|
+
n,r,t+1)},cy=function*(e){yield e};var ri=({value:e,value:{transform:t,final:r,writableObjectMode:n,readableObjectMode:o},optionName:i},{encoding:s})=>{let a={},
|
|
611
|
+
c=Su(e,s,i),l=Me(t),u=Me(r),d=l?ei.bind(void 0,tn,a):ti.bind(void 0,De),p=l||u?ei.bind(void 0,bu,a):ti.bind(void 0,Dt),f=l||
|
|
612
|
+
u?wu.bind(void 0,a):void 0;return{stream:new ly({writableObjectMode:n,writableHighWaterMark:_u(n),readableObjectMode:o,readableHighWaterMark:_u(
|
|
613
|
+
o),transform(h,y,w){d([h,c,0],this,w)},flush(h){p([c],this,h)},destroy:f})}},rn=(e,t,r,n)=>{let o=t.filter(({type:s})=>s===
|
|
614
|
+
"generator"),i=n?o.reverse():o;for(let{value:s,optionName:a}of i){let c=Su(s,r,a);e=yu(c,e)}return e},Su=({transform:e,final:t,
|
|
615
|
+
binary:r,writableObjectMode:n,readableObjectMode:o,preserveNewlines:i},s,a)=>{let c={};return[{transform:fu(n,a)},en(r,s,
|
|
616
|
+
n),Qr(r,i,n,c),{transform:e,final:t},{transform:mu(o,a)},pu({binary:r,preserveNewlines:i,readableObjectMode:o,state:c})].
|
|
617
|
+
filter(Boolean)};var Eu=(e,t)=>{for(let r of uy(e))dy(e,r,t)},uy=e=>new Set(Object.entries(e).filter(([,{direction:t}])=>t==="input").map(
|
|
618
|
+
([t])=>Number(t))),dy=(e,t,r)=>{let{stdioItems:n}=e[t],o=n.filter(({contents:a})=>a!==void 0);if(o.length===0)return;if(t!==
|
|
619
|
+
0){let[{type:a,optionName:c}]=o;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${Ie[a]} with synch\
|
|
620
|
+
ronous methods.`)}let s=o.map(({contents:a})=>a).map(a=>py(a,n));r.input=At(s)},py=(e,t)=>{let r=rn(e,t,"utf8",!0);return fy(
|
|
621
|
+
r),At(r)},fy=e=>{let t=e.find(r=>typeof r!="string"&&!B(r));if(t!==void 0)throw new TypeError(`The \`stdin\` option is inv\
|
|
622
|
+
alid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${t}.`)};import{writeFileSync as by,appendFileSync as wy}from"node:fs";var nn=({stdioItems:e,encoding:t,verboseInfo:r,fdNumber:n})=>n!=="all"&&We(r,n)&&!q.has(t)&&my(n)&&(e.some(({type:o,value:i})=>o===
|
|
623
|
+
"native"&&hy.has(i))||e.every(({type:o})=>Q.has(o))),my=e=>e===1||e===2,hy=new Set(["pipe","overlapped"]),vu=async(e,t,r,n)=>{
|
|
624
|
+
for await(let o of e)gy(t)||Iu(o,r,n)},Tu=(e,t,r)=>{for(let n of e)Iu(n,t,r)},gy=e=>e._readableState.pipes.length>0,Iu=(e,t,r)=>{
|
|
625
|
+
let n=hr(e);le({type:"output",verboseMessage:n,fdNumber:t,verboseInfo:r})};var Au=({fileDescriptors:e,syncResult:{output:t},options:r,isMaxBuffer:n,verboseInfo:o})=>{if(t===null)return{output:Array.
|
|
626
|
+
from({length:3})};let i={},s=new Set([]);return{output:t.map((c,l)=>yy({result:c,fileDescriptors:e,fdNumber:l,state:i,outputFiles:s,
|
|
627
|
+
isMaxBuffer:n,verboseInfo:o},r)),...i}},yy=({result:e,fileDescriptors:t,fdNumber:r,state:n,outputFiles:o,isMaxBuffer:i,verboseInfo:s},{
|
|
628
|
+
buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(e===null)return;let p=Rl(e,i,d),f=be(p),{stdioItems:m,
|
|
629
|
+
objectMode:h}=t[r],y=_y([f],m,c,n),{serializedResult:w,finalResult:g=w}=Sy({chunks:y,objectMode:h,encoding:c,lines:l,stripFinalNewline:u,
|
|
630
|
+
fdNumber:r});Ey({serializedResult:w,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:m,objectMode:h});let v=a[r]?g:
|
|
631
|
+
void 0;try{return n.error===void 0&&vy(w,m,o),v}catch(_){return n.error=_,v}},_y=(e,t,r,n)=>{try{return rn(e,t,r,!1)}catch(o){
|
|
632
|
+
return n.error=o,e}},Sy=({chunks:e,objectMode:t,encoding:r,lines:n,stripFinalNewline:o,fdNumber:i})=>{if(t)return{serializedResult:e};
|
|
633
|
+
if(r==="buffer")return{serializedResult:At(e)};let s=zs(e,r);return n[i]?{serializedResult:s,finalResult:Qo(s,!o[i],t)}:
|
|
634
|
+
{serializedResult:s}},Ey=({serializedResult:e,fdNumber:t,state:r,verboseInfo:n,encoding:o,stdioItems:i,objectMode:s})=>{
|
|
635
|
+
if(!nn({stdioItems:i,encoding:o,verboseInfo:n,fdNumber:t}))return;let a=Qo(e,!1,s);try{Tu(a,t,n)}catch(c){r.error??=c}},
|
|
636
|
+
vy=(e,t,r)=>{for(let{path:n,append:o}of t.filter(({type:i})=>Xr.has(i))){let i=typeof n=="string"?n:n.toString();o||r.has(
|
|
637
|
+
i)?wy(n,e):(r.add(i),by(n,e))}};var Ru=([,e,t],r)=>{if(r.all)return e===void 0?t:t===void 0?e:Array.isArray(e)?Array.isArray(t)?[...e,...t]:[...e,_e(t,r,
|
|
638
|
+
"all")]:Array.isArray(t)?[_e(e,r,"all"),...t]:B(e)&&B(t)?ao([e,t]):`${e}${t}`};import{once as ni}from"node:events";var Pu=async(e,t)=>{let[r,n]=await Ty(e);return t.isForcefullyTerminated??=!1,[r,n]},Ty=async e=>{let[t,r]=await Promise.
|
|
639
|
+
allSettled([ni(e,"spawn"),ni(e,"exit")]);return t.status==="rejected"?[]:r.status==="rejected"?Ou(e):r.value},Ou=async e=>{
|
|
640
|
+
try{return await ni(e,"exit")}catch{return Ou(e)}},Cu=async e=>{let[t,r]=await e;if(!Iy(t,r)&&oi(t,r))throw new ne;return[
|
|
641
|
+
t,r]},Iy=(e,t)=>e===void 0&&t===void 0,oi=(e,t)=>e!==0||t!==null;var xu=({error:e,status:t,signal:r,output:n},{maxBuffer:o})=>{let i=Ay(e,t,r),s=i?.code==="ETIMEDOUT",a=Al(i,n,o);return{
|
|
642
|
+
resultError:i,exitCode:t,signal:r,timedOut:s,isMaxBuffer:a}},Ay=(e,t,r)=>e!==void 0?e:oi(t,r)?new ne:void 0;var ku=(e,t,r)=>{let{file:n,commandArguments:o,command:i,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Py(
|
|
643
|
+
e,t,r),d=xy({file:n,commandArguments:o,options:l,command:i,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});
|
|
644
|
+
return tt(d,c,l)},Py=(e,t,r)=>{let{command:n,escapedCommand:o,startTime:i,verboseInfo:s}=br(e,t,r),a=Oy(r),{file:c,commandArguments:l,
|
|
645
|
+
options:u}=Br(e,t,a);Cy(u);let d=cu(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:o,startTime:i,verboseInfo:s,
|
|
646
|
+
options:u,fileDescriptors:d}},Oy=e=>e.node&&!e.ipc?{...e,ipc:!1}:e,Cy=({ipc:e,ipcInput:t,detached:r,cancelSignal:n})=>{t&&
|
|
647
|
+
on("ipcInput"),e&&on("ipc: true"),r&&on("detached: true"),n&&on("cancelSignal")},on=e=>{throw new TypeError(`The "${e}" \
|
|
648
|
+
option cannot be used with synchronous methods.`)},xy=({file:e,commandArguments:t,options:r,command:n,escapedCommand:o,verboseInfo:i,
|
|
649
|
+
fileDescriptors:s,startTime:a})=>{let c=ky({file:e,commandArguments:t,options:r,command:n,escapedCommand:o,fileDescriptors:s,
|
|
650
|
+
startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:p,isMaxBuffer:f}=xu(c,r),{output:m,error:h=l}=Au(
|
|
651
|
+
{fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:f,verboseInfo:i}),y=m.map((g,v)=>_e(g,r,v)),w=_e(Ru(m,r),r,"all");
|
|
652
|
+
return $y({error:h,exitCode:u,signal:d,timedOut:p,isMaxBuffer:f,stdio:y,all:w,options:r,command:n,escapedCommand:o,startTime:a})},
|
|
653
|
+
ky=({file:e,commandArguments:t,options:r,command:n,escapedCommand:o,fileDescriptors:i,startTime:s})=>{try{Eu(i,r);let a=Ny(
|
|
654
|
+
r);return Ry(...Ur(e,t,a))}catch(a){return et({error:a,command:n,escapedCommand:o,fileDescriptors:i,options:r,startTime:s,
|
|
655
|
+
isSync:!0})}},Ny=({encoding:e,maxBuffer:t,...r})=>({...r,encoding:"buffer",maxBuffer:qr(t)}),$y=({error:e,exitCode:t,signal:r,
|
|
656
|
+
timedOut:n,isMaxBuffer:o,stdio:i,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>e===void 0?Yr({command:c,escapedCommand:l,
|
|
657
|
+
stdio:i,all:s,ipcOutput:[],options:a,startTime:u}):Mt({error:e,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,
|
|
658
|
+
isMaxBuffer:o,isForcefullyTerminated:!1,exitCode:t,signal:r,stdio:i,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as SS}from"node:events";import{spawn as ES}from"node:child_process";import Lu from"node:process";import{once as ii,on as My}from"node:events";var Nu=({anyProcess:e,channel:t,isSubprocess:r,ipc:n},{reference:o=!0,filter:i}={})=>(Ke({methodName:"getOneMessage",isSubprocess:r,
|
|
659
|
+
ipc:n,isConnected:kr(e)}),Dy({anyProcess:e,channel:t,isSubprocess:r,filter:i,reference:o})),Dy=async({anyProcess:e,channel:t,
|
|
660
|
+
isSubprocess:r,filter:n,reference:o})=>{Pr(t,o);let i=Te(e,t,r),s=new AbortController;try{return await Promise.race([Ly(
|
|
661
|
+
i,n,s),By(i,r,s),Uy(i,r,s)])}catch(a){throw Je(e),a}finally{s.abort(),Or(t,o)}},Ly=async(e,t,{signal:r})=>{if(t===void 0){
|
|
662
|
+
let[n]=await ii(e,"message",{signal:r});return n}for await(let[n]of My(e,"message",{signal:r}))if(t(n))return n},By=async(e,t,{
|
|
663
|
+
signal:r})=>{await ii(e,"disconnect",{signal:r}),yc(t)},Uy=async(e,t,{signal:r})=>{let[n]=await ii(e,"strict:error",{signal:r});
|
|
664
|
+
throw Ir(n,t)};import{once as Mu,on as Gy}from"node:events";var Du=({anyProcess:e,channel:t,isSubprocess:r,ipc:n},{reference:o=!0}={})=>si({anyProcess:e,channel:t,isSubprocess:r,ipc:n,
|
|
665
|
+
shouldAwait:!r,reference:o}),si=({anyProcess:e,channel:t,isSubprocess:r,ipc:n,shouldAwait:o,reference:i})=>{Ke({methodName:"\
|
|
666
|
+
getEachMessage",isSubprocess:r,ipc:n,isConnected:kr(e)}),Pr(t,i);let s=Te(e,t,r),a=new AbortController,c={};return zy(e,
|
|
667
|
+
s,a),Hy({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),Fy({anyProcess:e,channel:t,ipcEmitter:s,isSubprocess:r,shouldAwait:o,
|
|
668
|
+
controller:a,state:c,reference:i})},zy=async(e,t,r)=>{try{await Mu(t,"disconnect",{signal:r.signal}),r.abort()}catch{}},
|
|
669
|
+
Hy=async({ipcEmitter:e,isSubprocess:t,controller:r,state:n})=>{try{let[o]=await Mu(e,"strict:error",{signal:r.signal});n.
|
|
670
|
+
error=Ir(o,t),r.abort()}catch{}},Fy=async function*({anyProcess:e,channel:t,ipcEmitter:r,isSubprocess:n,shouldAwait:o,controller:i,
|
|
671
|
+
state:s,reference:a}){try{for await(let[c]of Gy(r,"message",{signal:i.signal}))$u(s),yield c}catch{$u(s)}finally{i.abort(),
|
|
672
|
+
Or(t,a),n||Je(e),o&&await e}},$u=({error:e})=>{if(e)throw e};var Bu=(e,{ipc:t})=>{Object.assign(e,Gu(e,!1,t))},Uu=()=>{let e=Lu,t=!0,r=Lu.channel!==void 0;return{...Gu(e,t,r),getCancelSignal:Wc.
|
|
673
|
+
bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})}},Gu=(e,t,r)=>({sendMessage:Dr.bind(void 0,{anyProcess:e,
|
|
674
|
+
channel:e.channel,isSubprocess:t,ipc:r}),getOneMessage:Nu.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),
|
|
675
|
+
getEachMessage:Du.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})});import{ChildProcess as jy}from"node:child_process";import{PassThrough as Vy,Readable as Wy,Writable as qy,Duplex as Yy}from"node:stream";var zu=({error:e,command:t,escapedCommand:r,fileDescriptors:n,options:o,startTime:i,verboseInfo:s})=>{Jo(n);let a=new jy;
|
|
676
|
+
Ky(a,n),Object.assign(a,{readable:Jy,writable:Xy,duplex:Zy});let c=et({error:e,command:t,escapedCommand:r,fileDescriptors:n,
|
|
677
|
+
options:o,startTime:i,isSync:!1}),l=Qy(c,s,o);return{subprocess:a,promise:l}},Ky=(e,t)=>{let r=Lt(),n=Lt(),o=Lt(),i=Array.
|
|
678
|
+
from({length:t.length-3},Lt),s=Lt(),a=[r,n,o,...i];Object.assign(e,{stdin:r,stdout:n,stderr:o,all:s,stdio:a})},Lt=()=>{let e=new Vy;
|
|
679
|
+
return e.end(),e},Jy=()=>new Wy({read(){}}),Xy=()=>new qy({write(){}}),Zy=()=>new Yy({read(){},write(){}}),Qy=async(e,t,r)=>tt(
|
|
680
|
+
e,t,r);import{createReadStream as Hu,createWriteStream as Fu}from"node:fs";import{Buffer as e_}from"node:buffer";import{Readable as Bt,
|
|
681
|
+
Writable as t_,Duplex as r_}from"node:stream";var Vu=(e,t)=>Zr(n_,e,t,!1),Ut=({type:e,optionName:t})=>{throw new TypeError(`The \`${t}\` option cannot be ${Ie[e]}.`)},
|
|
682
|
+
ju={fileNumber:Ut,generator:ri,asyncGenerator:ri,nodeStream:({value:e})=>({stream:e}),webTransform({value:{transform:e,writableObjectMode:t,
|
|
683
|
+
readableObjectMode:r}}){let n=t||r;return{stream:r_.fromWeb(e,{objectMode:n})}},duplex:({value:{transform:e}})=>({stream:e}),
|
|
684
|
+
native(){}},n_={input:{...ju,fileUrl:({value:e})=>({stream:Hu(e)}),filePath:({value:{file:e}})=>({stream:Hu(e)}),webStream:({
|
|
685
|
+
value:e})=>({stream:Bt.fromWeb(e)}),iterable:({value:e})=>({stream:Bt.from(e)}),asyncIterable:({value:e})=>({stream:Bt.from(
|
|
686
|
+
e)}),string:({value:e})=>({stream:Bt.from(e)}),uint8Array:({value:e})=>({stream:Bt.from(e_.from(e))})},output:{...ju,fileUrl:({
|
|
687
|
+
value:e})=>({stream:Fu(e)}),filePath:({value:{file:e,append:t}})=>({stream:Fu(e,t?{flags:"a"}:{})}),webStream:({value:e})=>({
|
|
688
|
+
stream:t_.fromWeb(e)}),iterable:Ut,asyncIterable:Ut,string:Ut,uint8Array:Ut}};import{on as o_,once as Wu}from"node:events";import{PassThrough as i_,getDefaultHighWaterMark as s_}from"node:stream";import{
|
|
689
|
+
finished as Ku}from"node:stream/promises";function Le(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, go\
|
|
690
|
+
t \`${typeof e}\`.`);for(let o of e)ci(o);let t=e.some(({readableObjectMode:o})=>o),r=a_(e,t),n=new ai({objectMode:t,writableHighWaterMark:r,
|
|
691
|
+
readableHighWaterMark:r});for(let o of e)n.add(o);return n}var a_=(e,t)=>{if(e.length===0)return s_(t);let r=e.filter(({
|
|
692
|
+
readableObjectMode:n})=>n===t).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},ai=class extends i_{#t=new Set(
|
|
693
|
+
[]);#r=new Set([]);#e=new Set([]);#n;#i=Symbol("unpipe");#o=new WeakMap;add(t){if(ci(t),this.#t.has(t))return;this.#t.add(
|
|
694
|
+
t),this.#n??=c_(this,this.#t,this.#i);let r=d_({passThroughStream:this,stream:t,streams:this.#t,ended:this.#r,aborted:this.#e,
|
|
695
|
+
onFinished:this.#n,unpipeEvent:this.#i});this.#o.set(t,r),t.pipe(this,{end:!1})}async remove(t){if(ci(t),!this.#t.has(t))
|
|
696
|
+
return!1;let r=this.#o.get(t);return r===void 0?!1:(this.#o.delete(t),t.unpipe(this),await r,!0)}},c_=async(e,t,r)=>{sn(
|
|
697
|
+
e,qu);let n=new AbortController;try{await Promise.race([l_(e,n),u_(e,t,r,n)])}finally{n.abort(),sn(e,-qu)}},l_=async(e,{
|
|
698
|
+
signal:t})=>{try{await Ku(e,{signal:t,cleanup:!0})}catch(r){throw Ju(e,r),r}},u_=async(e,t,r,{signal:n})=>{for await(let[
|
|
699
|
+
o]of o_(e,"unpipe",{signal:n}))t.has(o)&&o.emit(r)},ci=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a\
|
|
700
|
+
readable stream, got: \`${typeof e}\`.`)},d_=async({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,onFinished:i,
|
|
701
|
+
unpipeEvent:s})=>{sn(e,Yu);let a=new AbortController;try{await Promise.race([p_(i,t,a),f_({passThroughStream:e,stream:t,
|
|
702
|
+
streams:r,ended:n,aborted:o,controller:a}),m_({stream:t,streams:r,ended:n,aborted:o,unpipeEvent:s,controller:a})])}finally{
|
|
703
|
+
a.abort(),sn(e,-Yu)}r.size>0&&r.size===n.size+o.size&&(n.size===0&&o.size>0?li(e):h_(e))},p_=async(e,t,{signal:r})=>{try{
|
|
704
|
+
await e,r.aborted||li(t)}catch(n){r.aborted||Ju(t,n)}},f_=async({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,
|
|
705
|
+
controller:{signal:i}})=>{try{await Ku(t,{signal:i,cleanup:!0,readable:!0,writable:!1}),r.has(t)&&n.add(t)}catch(s){if(i.
|
|
706
|
+
aborted||!r.has(t))return;Xu(s)?o.add(t):Zu(e,s)}},m_=async({stream:e,streams:t,ended:r,aborted:n,unpipeEvent:o,controller:{
|
|
707
|
+
signal:i}})=>{if(await Wu(e,o,{signal:i}),!e.readable)return Wu(i,"abort",{signal:i});t.delete(e),r.delete(e),n.delete(e)},
|
|
708
|
+
h_=e=>{e.writable&&e.end()},Ju=(e,t)=>{Xu(t)?li(e):Zu(e,t)},Xu=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",li=e=>{(e.readable||
|
|
709
|
+
e.writable)&&e.destroy()},Zu=(e,t)=>{e.destroyed||(e.once("error",g_),e.destroy(t))},g_=()=>{},sn=(e,t)=>{let r=e.getMaxListeners();
|
|
710
|
+
r!==0&&r!==Number.POSITIVE_INFINITY&&e.setMaxListeners(r+t)},qu=2,Yu=1;import{finished as Qu}from"node:stream/promises";var nt=(e,t)=>{e.pipe(t),b_(e,t),w_(e,t)},b_=async(e,t)=>{if(!(re(e)||re(t))){try{await Qu(e,{cleanup:!0,readable:!0,writable:!1})}catch{}
|
|
711
|
+
ui(t)}},ui=e=>{e.writable&&e.end()},w_=async(e,t)=>{if(!(re(e)||re(t))){try{await Qu(t,{cleanup:!0,readable:!1,writable:!0})}catch{}
|
|
712
|
+
di(e)}},di=e=>{e.readable&&e.destroy()};var ed=(e,t,r)=>{let n=new Map;for(let[o,{stdioItems:i,direction:s}]of Object.entries(t)){for(let{stream:a}of i.filter(({
|
|
713
|
+
type:c})=>Q.has(c)))y_(e,a,s,o);for(let{stream:a}of i.filter(({type:c})=>!Q.has(c)))S_({subprocess:e,stream:a,direction:s,
|
|
714
|
+
fdNumber:o,pipeGroups:n,controller:r})}for(let[o,i]of n.entries()){let s=i.length===1?i[0]:Le(i);nt(s,o)}},y_=(e,t,r,n)=>{
|
|
715
|
+
r==="output"?nt(e.stdio[n],t):nt(t,e.stdio[n]);let o=__[n];o!==void 0&&(e[o]=t),e.stdio[n]=t},__=["stdin","stdout","stde\
|
|
716
|
+
rr"],S_=({subprocess:e,stream:t,direction:r,fdNumber:n,pipeGroups:o,controller:i})=>{if(t===void 0)return;E_(t,i);let[s,
|
|
717
|
+
a]=r==="output"?[t,e.stdio[n]]:[e.stdio[n],t],c=o.get(s)??[];o.set(s,[...c,a])},E_=(e,{signal:t})=>{re(e)&&Ne(e,v_,t)},v_=2;import{addAbortListener as A_}from"node:events";var Be=[];Be.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Be.push("SIGALRM","SIGABRT","SIGVTALRM","SIGX\
|
|
718
|
+
CPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Be.push("SIGIO","SIGPOLL","S\
|
|
719
|
+
IGPWR","SIGSTKFLT");var an=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit==
|
|
720
|
+
"function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",pi=Symbol.
|
|
721
|
+
for("signal-exit emitter"),fi=globalThis,T_=Object.defineProperty.bind(Object),mi=class{emitted={afterExit:!1,exit:!1};listeners={
|
|
722
|
+
afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(fi[pi])return fi[pi];T_(fi,pi,{value:this,writable:!1,enumerable:!1,
|
|
723
723
|
configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let n=this.listeners[t],o=n.indexOf(r);o!==-1&&(o===
|
|
724
724
|
0&&n.length===1?n.length=0:n.splice(o,1))}emit(t,r,n){if(this.emitted[t])return!1;this.emitted[t]=!0;let o=!1;for(let i of this.
|
|
725
|
-
listeners[t])o=i(r,n)===!0||o;return t==="exit"&&(o=this.emit("afterExit",r,n)||o),o}},
|
|
726
|
-
onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),
|
|
727
|
-
|
|
728
|
-
t,this.#o={};for(let r of
|
|
725
|
+
listeners[t])o=i(r,n)===!0||o;return t==="exit"&&(o=this.emit("afterExit",r,n)||o),o}},cn=class{},I_=e=>({onExit(t,r){return e.
|
|
726
|
+
onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),hi=class extends cn{onExit(){return()=>{}}load(){}unload(){}},
|
|
727
|
+
gi=class extends cn{#t=bi.platform==="win32"?"SIGINT":"SIGHUP";#r=new mi;#e;#n;#i;#o={};#s=!1;constructor(t){super(),this.#e=
|
|
728
|
+
t,this.#o={};for(let r of Be)this.#o[r]=()=>{let n=this.#e.listeners(r),{count:o}=this.#r,i=t;if(typeof i.__signal_exit_emitter__==
|
|
729
729
|
"object"&&typeof i.__signal_exit_emitter__.count=="number"&&(o+=i.__signal_exit_emitter__.count),n.length===o){this.unload();
|
|
730
730
|
let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#t:r;s||t.kill(t.pid,a)}};this.#i=t.reallyExit,this.#n=t.emit}onExit(t,r){
|
|
731
|
-
if(!
|
|
731
|
+
if(!an(this.#e))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,t),()=>{
|
|
732
732
|
this.#r.removeListener(n,t),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){
|
|
733
|
-
if(!this.#s){this.#s=!0,this.#r.count+=1;for(let t of
|
|
734
|
-
t,...r),this.#e.reallyExit=t=>this.#a(t)}}unload(){this.#s&&(this.#s=!1,
|
|
733
|
+
if(!this.#s){this.#s=!0,this.#r.count+=1;for(let t of Be)try{let r=this.#o[t];r&&this.#e.on(t,r)}catch{}this.#e.emit=(t,...r)=>this.#c(
|
|
734
|
+
t,...r),this.#e.reallyExit=t=>this.#a(t)}}unload(){this.#s&&(this.#s=!1,Be.forEach(t=>{let r=this.#o[t];if(!r)throw new Error(
|
|
735
735
|
"Listener not defined for signal: "+t);try{this.#e.removeListener(t,r)}catch{}}),this.#e.emit=this.#n,this.#e.reallyExit=
|
|
736
|
-
this.#i,this.#r.count-=1)}#a(t){return
|
|
737
|
-
call(this.#e,this.#e.exitCode)):0}#c(t,...r){let n=this.#n;if(t==="exit"&&
|
|
736
|
+
this.#i,this.#r.count-=1)}#a(t){return an(this.#e)?(this.#e.exitCode=t||0,this.#r.emit("exit",this.#e.exitCode,null),this.#i.
|
|
737
|
+
call(this.#e,this.#e.exitCode)):0}#c(t,...r){let n=this.#n;if(t==="exit"&&an(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=
|
|
738
738
|
r[0]);let o=n.call(this.#e,t,...r);return this.#r.emit("exit",this.#e.exitCode,null),o}else return n.call(this.#e,t,...r)}},
|
|
739
|
-
|
|
740
|
-
from:l,unpipeSignal:u}=
|
|
739
|
+
bi=globalThis.process,{onExit:td,load:MN,unload:DN}=I_(an(bi)?new gi(bi):new hi);var rd=(e,{cleanup:t,detached:r},{signal:n})=>{if(!t||r)return;let o=td(()=>{e.kill()});A_(n,()=>{o()})};var od=({source:e,sourcePromise:t,boundOptions:r,createNested:n},...o)=>{let i=gr(),{destination:s,destinationStream:a,destinationError:c,
|
|
740
|
+
from:l,unpipeSignal:u}=R_(r,n,o),{sourceStream:d,sourceError:p}=O_(e,l),{options:f,fileDescriptors:m}=de.get(e);return{sourcePromise:t,
|
|
741
741
|
sourceStream:d,sourceOptions:f,sourceError:p,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:m,
|
|
742
|
-
startTime:i}},
|
|
743
|
-
destination:n,destinationStream:a,from:o,unpipeSignal:s}}catch(n){return{destinationError:n}}},
|
|
744
|
-
isArray(r))return{destination:t(
|
|
742
|
+
startTime:i}},R_=(e,t,r)=>{try{let{destination:n,pipeOptions:{from:o,to:i,unpipeSignal:s}={}}=P_(e,t,...r),a=Rr(n,i);return{
|
|
743
|
+
destination:n,destinationStream:a,from:o,unpipeSignal:s}}catch(n){return{destinationError:n}}},P_=(e,t,r,...n)=>{if(Array.
|
|
744
|
+
isArray(r))return{destination:t(nd,e)(r,...n),pipeOptions:e};if(typeof r=="string"||r instanceof URL||io(r)){if(Object.keys(
|
|
745
745
|
e).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of\
|
|
746
|
-
.pipe(options)("file", ...).');let[o,i,s]=
|
|
746
|
+
.pipe(options)("file", ...).');let[o,i,s]=sr(r,...n);return{destination:t(nd)(o,i,s),pipeOptions:s}}if(de.has(r)){if(Object.
|
|
747
747
|
keys(e).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(\
|
|
748
748
|
options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a templat\
|
|
749
|
-
e string, an options object, or an Execa subprocess: ${r}`)},
|
|
750
|
-
|
|
751
|
-
let a=
|
|
752
|
-
sourceOptions:i,startTime:s})},
|
|
753
|
-
n!==void 0)return n;if(n!==void 0)return
|
|
754
|
-
startTime:n})=>
|
|
755
|
-
ipe(destination)";var
|
|
756
|
-
pipedFrom.push(n),o==="rejected")throw s;if(t==="rejected")throw n;return s};import{finished as
|
|
757
|
-
[e]);return
|
|
758
|
-
readable:!1,writable:!0})}catch{}
|
|
759
|
-
await
|
|
760
|
-
sourceOptions:o,startTime:i})};var
|
|
761
|
-
e,...t),o=
|
|
749
|
+
e string, an options object, or an Execa subprocess: ${r}`)},nd=({options:e})=>({options:{...e,stdin:"pipe",piped:!0}}),
|
|
750
|
+
O_=(e,t)=>{try{return{sourceStream:Xe(e,t)}}catch(r){return{sourceError:r}}};var sd=({sourceStream:e,sourceError:t,destinationStream:r,destinationError:n,fileDescriptors:o,sourceOptions:i,startTime:s})=>{
|
|
751
|
+
let a=C_({sourceStream:e,sourceError:t,destinationStream:r,destinationError:n});if(a!==void 0)throw wi({error:a,fileDescriptors:o,
|
|
752
|
+
sourceOptions:i,startTime:s})},C_=({sourceStream:e,sourceError:t,destinationStream:r,destinationError:n})=>{if(t!==void 0&&
|
|
753
|
+
n!==void 0)return n;if(n!==void 0)return di(e),n;if(t!==void 0)return ui(r),t},wi=({error:e,fileDescriptors:t,sourceOptions:r,
|
|
754
|
+
startTime:n})=>et({error:e,command:id,escapedCommand:id,fileDescriptors:t,options:r,startTime:n,isSync:!1}),id="source.p\
|
|
755
|
+
ipe(destination)";var ad=async e=>{let[{status:t,reason:r,value:n=r},{status:o,reason:i,value:s=i}]=await e;if(s.pipedFrom.includes(n)||s.
|
|
756
|
+
pipedFrom.push(n),o==="rejected")throw s;if(t==="rejected")throw n;return s};import{finished as x_}from"node:stream/promises";var cd=(e,t,r)=>{let n=ln.has(t)?N_(e,t):k_(e,t);return Ne(e,M_,r.signal),Ne(t,D_,r.signal),$_(t),n},k_=(e,t)=>{let r=Le(
|
|
757
|
+
[e]);return nt(r,t),ln.set(t,r),r},N_=(e,t)=>{let r=ln.get(t);return r.add(e),r},$_=async e=>{try{await x_(e,{cleanup:!0,
|
|
758
|
+
readable:!1,writable:!0})}catch{}ln.delete(e)},ln=new WeakMap,M_=2,D_=1;import{aborted as L_}from"node:util";var ld=(e,t)=>e===void 0?[]:[B_(e,t)],B_=async(e,{sourceStream:t,mergedStream:r,fileDescriptors:n,sourceOptions:o,startTime:i})=>{
|
|
759
|
+
await L_(e,t),await r.remove(t);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw wi({error:s,fileDescriptors:n,
|
|
760
|
+
sourceOptions:o,startTime:i})};var un=(e,...t)=>{if(L(t[0]))return un.bind(void 0,{...e,boundOptions:{...e.boundOptions,...t[0]}});let{destination:r,...n}=od(
|
|
761
|
+
e,...t),o=U_({...n,destination:r});return o.pipe=un.bind(void 0,{...e,source:r,sourcePromise:o,boundOptions:{}}),o},U_=async({
|
|
762
762
|
sourcePromise:e,sourceStream:t,sourceOptions:r,sourceError:n,destination:o,destinationStream:i,destinationError:s,unpipeSignal:a,
|
|
763
|
-
fileDescriptors:c,startTime:l})=>{let u=
|
|
764
|
-
fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let p=
|
|
765
|
-
[
|
|
766
|
-
allSettled([e,t]);import{setImmediate as
|
|
767
|
-
return
|
|
768
|
-
preserveNewlines:i})},
|
|
769
|
-
stripFinalNewline:o,allMixed:i})=>{let s=new AbortController
|
|
770
|
-
controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!o})}
|
|
771
|
-
await e}catch{r.destroy()}finally{t.abort()}},
|
|
772
|
-
preserveNewlines:s})=>{let a=
|
|
773
|
-
controller:t,binary:r,shouldEncode:n,encoding:o,shouldSplit:i,preserveNewlines:s})},
|
|
774
|
-
onStdoutChunk:e,controller:t,binary:r,shouldEncode:n,encoding:o,shouldSplit:i,preserveNewlines:s}){let a=
|
|
775
|
-
encoding:o,shouldSplit:i,preserveNewlines:s});try{for await(let[c]of e)yield*
|
|
776
|
-
yield
|
|
777
|
-
Boolean);var
|
|
778
|
-
streamInfo:u})=>{let d=
|
|
779
|
-
all([
|
|
780
|
-
all([
|
|
781
|
-
fdNumber:r,encoding:n,allMixed:o,verboseInfo:i,streamInfo:{fileDescriptors:s}})=>{if(!
|
|
782
|
-
verboseInfo:i,fdNumber:r}))return;let a=
|
|
783
|
-
await
|
|
784
|
-
iterable:r,fdNumber:n,encoding:o,maxBuffer:i,lines:s})=>{try{return t||s?await
|
|
785
|
-
await
|
|
786
|
-
encoding:o,fdNumber:n}))}},
|
|
787
|
-
e):e;import{finished as
|
|
788
|
-
r),s=new AbortController;try{await Promise.race([...o?[r.exitPromise]:[],
|
|
789
|
-
stdinCleanedUp||
|
|
790
|
-
t&&
|
|
791
|
-
(e!==null||t!==null)&&(r.stdinCleanedUp=!0)},
|
|
792
|
-
|
|
793
|
-
code==="ERR_STREAM_PREMATURE_CLOSE",
|
|
794
|
-
map((c,l)=>
|
|
795
|
-
streamInfo:a})),
|
|
796
|
-
streamInfo:l})=>{if(!e)return;let u=
|
|
797
|
-
fdNumber:t,encoding:r,buffer:n,maxBuffer:o,lines:i,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var
|
|
798
|
-
lines:o,stripFinalNewline:i,verboseInfo:s,streamInfo:a})=>
|
|
799
|
-
o[2],allMixed:
|
|
800
|
-
return i?n?o?{stream:r,buffer:i}:{stream:e,buffer:i}:{stream:t,buffer:i}:{stream:r,buffer:i}},
|
|
801
|
-
t&&r&&t.readableObjectMode!==r.readableObjectMode;import{once as
|
|
802
|
-
pc"),c=we(r,"ipc");for await(let l of
|
|
803
|
-
a&&(
|
|
763
|
+
fileDescriptors:c,startTime:l})=>{let u=G_(e,o);sd({sourceStream:t,sourceError:n,destinationStream:i,destinationError:s,
|
|
764
|
+
fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let p=cd(t,i,d);return await Promise.race(
|
|
765
|
+
[ad(u),...ld(a,{sourceStream:t,mergedStream:p,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},G_=(e,t)=>Promise.
|
|
766
|
+
allSettled([e,t]);import{setImmediate as q_}from"node:timers/promises";import{on as z_}from"node:events";import{getDefaultHighWaterMark as H_}from"node:stream";var dn=({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:n,encoding:o,preserveNewlines:i})=>{let s=new AbortController;
|
|
767
|
+
return F_(t,s),dd({stream:e,controller:s,binary:r,shouldEncode:!e.readableObjectMode&&n,encoding:o,shouldSplit:!e.readableObjectMode,
|
|
768
|
+
preserveNewlines:i})},F_=async(e,t)=>{try{await e}catch{}finally{t.abort()}},yi=({stream:e,onStreamEnd:t,lines:r,encoding:n,
|
|
769
|
+
stripFinalNewline:o,allMixed:i})=>{let s=new AbortController;j_(t,s,e);let a=e.readableObjectMode&&!i;return dd({stream:e,
|
|
770
|
+
controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!o})},j_=async(e,t,r)=>{try{
|
|
771
|
+
await e}catch{r.destroy()}finally{t.abort()}},dd=({stream:e,controller:t,binary:r,shouldEncode:n,encoding:o,shouldSplit:i,
|
|
772
|
+
preserveNewlines:s})=>{let a=z_(e,"data",{signal:t.signal,highWaterMark:ud,highWatermark:ud});return V_({onStdoutChunk:a,
|
|
773
|
+
controller:t,binary:r,shouldEncode:n,encoding:o,shouldSplit:i,preserveNewlines:s})},_i=H_(!0),ud=_i,V_=async function*({
|
|
774
|
+
onStdoutChunk:e,controller:t,binary:r,shouldEncode:n,encoding:o,shouldSplit:i,preserveNewlines:s}){let a=W_({binary:r,shouldEncode:n,
|
|
775
|
+
encoding:o,shouldSplit:i,preserveNewlines:s});try{for await(let[c]of e)yield*De(c,a,0)}catch(c){if(!t.signal.aborted)throw c}finally{
|
|
776
|
+
yield*Dt(a)}},W_=({binary:e,shouldEncode:t,encoding:r,shouldSplit:n,preserveNewlines:o})=>[en(e,r,!t),Qr(e,o,!n,{})].filter(
|
|
777
|
+
Boolean);var pd=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:n,buffer:o,maxBuffer:i,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,
|
|
778
|
+
streamInfo:u})=>{let d=Y_({stream:e,onStreamEnd:t,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!o){await Promise.
|
|
779
|
+
all([K_(e),d]);return}let p=Xo(c,r),f=yi({stream:e,onStreamEnd:t,lines:s,encoding:n,stripFinalNewline:p,allMixed:a}),[m]=await Promise.
|
|
780
|
+
all([J_({stream:e,iterable:f,fdNumber:r,encoding:n,maxBuffer:i,lines:s}),d]);return m},Y_=async({stream:e,onStreamEnd:t,
|
|
781
|
+
fdNumber:r,encoding:n,allMixed:o,verboseInfo:i,streamInfo:{fileDescriptors:s}})=>{if(!nn({stdioItems:s[r]?.stdioItems,encoding:n,
|
|
782
|
+
verboseInfo:i,fdNumber:r}))return;let a=yi({stream:e,onStreamEnd:t,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:o});
|
|
783
|
+
await vu(a,e,r,i)},K_=async e=>{await q_(),e.readableFlowing===null&&e.resume()},J_=async({stream:e,stream:{readableObjectMode:t},
|
|
784
|
+
iterable:r,fdNumber:n,encoding:o,maxBuffer:i,lines:s})=>{try{return t||s?await Fr(r,{maxBuffer:i}):o==="buffer"?new Uint8Array(
|
|
785
|
+
await jr(r,{maxBuffer:i})):await Wr(r,{maxBuffer:i})}catch(a){return fd(vl({error:a,stream:e,readableObjectMode:t,lines:s,
|
|
786
|
+
encoding:o,fdNumber:n}))}},Si=async e=>{try{return await e}catch(t){return fd(t)}},fd=({bufferedData:e})=>Us(e)?new Uint8Array(
|
|
787
|
+
e):e;import{finished as X_}from"node:stream/promises";var Gt=async(e,t,r,{isSameDirection:n,stopOnExit:o=!1}={})=>{let i=Z_(e,
|
|
788
|
+
r),s=new AbortController;try{await Promise.race([...o?[r.exitPromise]:[],X_(e,{cleanup:!0,signal:s.signal})])}catch(a){i.
|
|
789
|
+
stdinCleanedUp||tS(a,t,r,n)}finally{s.abort()}},Z_=(e,{originalStreams:[t],subprocess:r})=>{let n={stdinCleanedUp:!1};return e===
|
|
790
|
+
t&&Q_(e,r,n),n},Q_=(e,t,r)=>{let{_destroy:n}=e;e._destroy=(...o)=>{eS(t,r),n.call(e,...o)}},eS=({exitCode:e,signalCode:t},r)=>{
|
|
791
|
+
(e!==null||t!==null)&&(r.stdinCleanedUp=!0)},tS=(e,t,r,n)=>{if(!rS(e,t,r,n))throw e},rS=(e,t,r,n=!0)=>r.propagating?md(e)||
|
|
792
|
+
pn(e):(r.propagating=!0,Ei(r,t)===n?md(e):pn(e)),Ei=({fileDescriptors:e},t)=>t!=="all"&&e[t].direction==="input",pn=e=>e?.
|
|
793
|
+
code==="ERR_STREAM_PREMATURE_CLOSE",md=e=>e?.code==="EPIPE";var hd=({subprocess:e,encoding:t,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:i,verboseInfo:s,streamInfo:a})=>e.stdio.
|
|
794
|
+
map((c,l)=>vi({stream:c,fdNumber:l,encoding:t,buffer:r[l],maxBuffer:n[l],lines:o[l],allMixed:!1,stripFinalNewline:i,verboseInfo:s,
|
|
795
|
+
streamInfo:a})),vi=async({stream:e,fdNumber:t,encoding:r,buffer:n,maxBuffer:o,lines:i,allMixed:s,stripFinalNewline:a,verboseInfo:c,
|
|
796
|
+
streamInfo:l})=>{if(!e)return;let u=Gt(e,t,l);if(Ei(l,t)){await u;return}let[d]=await Promise.all([pd({stream:e,onStreamEnd:u,
|
|
797
|
+
fdNumber:t,encoding:r,buffer:n,maxBuffer:o,lines:i,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var gd=({stdout:e,stderr:t},{all:r})=>r&&(e||t)?Le([e,t].filter(Boolean)):void 0,bd=({subprocess:e,encoding:t,buffer:r,maxBuffer:n,
|
|
798
|
+
lines:o,stripFinalNewline:i,verboseInfo:s,streamInfo:a})=>vi({...nS(e,r),fdNumber:"all",encoding:t,maxBuffer:n[1]+n[2],lines:o[1]||
|
|
799
|
+
o[2],allMixed:oS(e),stripFinalNewline:i,verboseInfo:s,streamInfo:a}),nS=({stdout:e,stderr:t,all:r},[,n,o])=>{let i=n||o;
|
|
800
|
+
return i?n?o?{stream:r,buffer:i}:{stream:e,buffer:i}:{stream:t,buffer:i}:{stream:r,buffer:i}},oS=({all:e,stdout:t,stderr:r})=>e&&
|
|
801
|
+
t&&r&&t.readableObjectMode!==r.readableObjectMode;import{once as iS}from"node:events";var wd=e=>We(e,"ipc"),yd=(e,t)=>{let r=hr(e);le({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:t})};var _d=async({subprocess:e,buffer:t,maxBuffer:r,ipc:n,ipcOutput:o,verboseInfo:i})=>{if(!n)return o;let s=wd(i),a=we(t,"i\
|
|
802
|
+
pc"),c=we(r,"ipc");for await(let l of si({anyProcess:e,channel:e.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))
|
|
803
|
+
a&&(Tl(e,o,c),o.push(l)),s&&yd(l,i);return o},Sd=async(e,t)=>(await Promise.allSettled([e]),t);var Ed=async({subprocess:e,options:{encoding:t,buffer:r,maxBuffer:n,lines:o,timeoutDuration:i,cancelSignal:s,gracefulCancel:a,
|
|
804
804
|
forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:p,verboseInfo:f,fileDescriptors:m,originalStreams:h,
|
|
805
|
-
onInternalError:y,controller:w})=>{let g=
|
|
806
|
-
_=
|
|
807
|
-
encoding:t,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:l,verboseInfo:f,streamInfo:v}),
|
|
808
|
-
maxBuffer:n,ipc:u,ipcOutput:
|
|
809
|
-
Promise.all(_),
|
|
810
|
-
controller:w}),...
|
|
811
|
-
return p.terminationReason??="other",Promise.all([{error:$},g,Promise.all(_.map(M=>
|
|
812
|
-
x),Promise.allSettled(N)])}},
|
|
813
|
-
filter(({value:o,stream:i=o})=>ie(i,{checkOpen:!1})&&!re(i)).map(({type:o,value:i,stream:s=i})=>
|
|
814
|
-
has(o),stopOnExit:o==="native"}))),
|
|
815
|
-
n.has(t)||n.set(t,[]);let o=n.get(t),i=ue();return o.push(i),{resolve:i.resolve.bind(i),promises:o}},
|
|
816
|
-
promises:t},r)=>{e();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...t])]);return!n};import{Readable as
|
|
817
|
-
await
|
|
818
|
-
if(await e,t)throw t},
|
|
819
|
-
{subprocessStdout:a,waitReadableDestroy:c}=
|
|
820
|
-
a,s),{read:p,onStdoutDataDone:f}=
|
|
821
|
-
read:p,destroy:
|
|
822
|
-
encoding:l});return
|
|
823
|
-
r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:o}},
|
|
824
|
-
{readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:
|
|
825
|
-
|
|
826
|
-
binary:r,shouldEncode:!r,encoding:n,preserveNewlines:o});return{read(){
|
|
827
|
-
try{let{value:n,done:o}=await t.next();o?r.resolve():e.push(n)}catch{}},
|
|
828
|
-
readable:r,subprocess:n,subprocessStdin:o})=>{try{await
|
|
829
|
-
await
|
|
830
|
-
t,n))},
|
|
831
|
-
e,r,t),s=new
|
|
832
|
-
highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return
|
|
833
|
-
r,n,"writableFinal"),i=
|
|
834
|
-
write:
|
|
835
|
-
await
|
|
836
|
-
|
|
837
|
-
n,t)&&(
|
|
838
|
-
r),{subprocessStdout:c,waitReadableDestroy:l}=
|
|
839
|
-
e,o,t),{readableEncoding:f,readableObjectMode:m,readableHighWaterMark:h}=
|
|
840
|
-
subprocess:e,binary:a,encoding:r,preserveNewlines:s}),g=new
|
|
805
|
+
onInternalError:y,controller:w})=>{let g=Pu(e,p),v={originalStreams:h,fileDescriptors:m,subprocess:e,exitPromise:g,propagating:!1},
|
|
806
|
+
_=hd({subprocess:e,encoding:t,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:l,verboseInfo:f,streamInfo:v}),I=bd({subprocess:e,
|
|
807
|
+
encoding:t,buffer:r,maxBuffer:n,lines:o,stripFinalNewline:l,verboseInfo:f,streamInfo:v}),R=[],S=_d({subprocess:e,buffer:r,
|
|
808
|
+
maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:f}),x=sS(h,e,v),N=aS(m,v);try{return await Promise.race([Promise.all([{},Cu(g),
|
|
809
|
+
Promise.all(_),I,S,rl(e,d),...x,...N]),y,cS(e,w),...Xc(e,i,p,w),...wc({subprocess:e,cancelSignal:s,gracefulCancel:a,context:p,
|
|
810
|
+
controller:w}),...Kc({subprocess:e,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:p,controller:w})])}catch($){
|
|
811
|
+
return p.terminationReason??="other",Promise.all([{error:$},g,Promise.all(_.map(M=>Si(M))),Si(I),Sd(S,R),Promise.allSettled(
|
|
812
|
+
x),Promise.allSettled(N)])}},sS=(e,t,r)=>e.map((n,o)=>n===t.stdio[o]?void 0:Gt(n,o,r)),aS=(e,t)=>e.flatMap(({stdioItems:r},n)=>r.
|
|
813
|
+
filter(({value:o,stream:i=o})=>ie(i,{checkOpen:!1})&&!re(i)).map(({type:o,value:i,stream:s=i})=>Gt(s,n,t,{isSameDirection:Q.
|
|
814
|
+
has(o),stopOnExit:o==="native"}))),cS=async(e,{signal:t})=>{let[r]=await iS(e,"error",{signal:t});throw r};var vd=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),zt=(e,t,r)=>{let n=e[r];
|
|
815
|
+
n.has(t)||n.set(t,[]);let o=n.get(t),i=ue();return o.push(i),{resolve:i.resolve.bind(i),promises:o}},ot=async({resolve:e,
|
|
816
|
+
promises:t},r)=>{e();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...t])]);return!n};import{Readable as lS}from"node:stream";import{callbackify as uS}from"node:util";import{finished as Td}from"node:stream/promises";var Ti=async e=>{if(e!==void 0)try{await Ii(e)}catch{}},Id=async e=>{if(e!==void 0)try{await Ai(e)}catch{}},Ii=async e=>{
|
|
817
|
+
await Td(e,{cleanup:!0,readable:!1,writable:!0})},Ai=async e=>{await Td(e,{cleanup:!0,readable:!0,writable:!1})},fn=async(e,t)=>{
|
|
818
|
+
if(await e,t)throw t},mn=(e,t,r)=>{r&&!pn(r)?e.destroy(r):t&&e.destroy()};var Ad=({subprocess:e,concurrentStreams:t,encoding:r},{from:n,binary:o=!0,preserveNewlines:i=!0}={})=>{let s=o||q.has(r),
|
|
819
|
+
{subprocessStdout:a,waitReadableDestroy:c}=Ri(e,n,t),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Pi(
|
|
820
|
+
a,s),{read:p,onStdoutDataDone:f}=Oi({subprocessStdout:a,subprocess:e,binary:s,encoding:r,preserveNewlines:i}),m=new lS({
|
|
821
|
+
read:p,destroy:uS(xi.bind(void 0,{subprocessStdout:a,subprocess:e,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,
|
|
822
|
+
encoding:l});return Ci({subprocessStdout:a,onStdoutDataDone:f,readable:m,subprocess:e}),m},Ri=(e,t,r)=>{let n=Xe(e,t),o=zt(
|
|
823
|
+
r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:o}},Pi=({readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r},n)=>n?
|
|
824
|
+
{readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:_i},
|
|
825
|
+
Oi=({subprocessStdout:e,subprocess:t,binary:r,encoding:n,preserveNewlines:o})=>{let i=ue(),s=dn({subprocessStdout:e,subprocess:t,
|
|
826
|
+
binary:r,shouldEncode:!r,encoding:n,preserveNewlines:o});return{read(){dS(this,s,i)},onStdoutDataDone:i}},dS=async(e,t,r)=>{
|
|
827
|
+
try{let{value:n,done:o}=await t.next();o?r.resolve():e.push(n)}catch{}},Ci=async({subprocessStdout:e,onStdoutDataDone:t,
|
|
828
|
+
readable:r,subprocess:n,subprocessStdin:o})=>{try{await Ai(e),await n,await Ti(o),await t,r.readable&&r.push(null)}catch(i){
|
|
829
|
+
await Ti(o),Rd(r,i)}},xi=async({subprocessStdout:e,subprocess:t,waitReadableDestroy:r},n)=>{await ot(r,t)&&(Rd(e,n),await fn(
|
|
830
|
+
t,n))},Rd=(e,t)=>{mn(e,e.readable,t)};import{Writable as pS}from"node:stream";import{callbackify as Pd}from"node:util";var Od=({subprocess:e,concurrentStreams:t},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:o,waitWritableDestroy:i}=ki(
|
|
831
|
+
e,r,t),s=new pS({...Ni(n,e,o),destroy:Pd(Mi.bind(void 0,{subprocessStdin:n,subprocess:e,waitWritableFinal:o,waitWritableDestroy:i})),
|
|
832
|
+
highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return $i(n,s),s},ki=(e,t,r)=>{let n=Rr(e,t),o=zt(
|
|
833
|
+
r,n,"writableFinal"),i=zt(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:o,waitWritableDestroy:i}},Ni=(e,t,r)=>({
|
|
834
|
+
write:fS.bind(void 0,e),final:Pd(mS.bind(void 0,e,t,r))}),fS=(e,t,r,n)=>{e.write(t,r)?n():e.once("drain",n)},mS=async(e,t,r)=>{
|
|
835
|
+
await ot(r,t)&&(e.writable&&e.end(),await t)},$i=async(e,t,r)=>{try{await Ii(e),t.writable&&t.end()}catch(n){await Id(r),
|
|
836
|
+
Cd(t,n)}},Mi=async({subprocessStdin:e,subprocess:t,waitWritableFinal:r,waitWritableDestroy:n},o)=>{await ot(r,t),await ot(
|
|
837
|
+
n,t)&&(Cd(e,o),await fn(t,o))},Cd=(e,t)=>{mn(e,e.writable,t)};import{Duplex as hS}from"node:stream";import{callbackify as gS}from"node:util";var xd=({subprocess:e,concurrentStreams:t,encoding:r},{from:n,to:o,binary:i=!0,preserveNewlines:s=!0}={})=>{let a=i||q.has(
|
|
838
|
+
r),{subprocessStdout:c,waitReadableDestroy:l}=Ri(e,n,t),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:p}=ki(
|
|
839
|
+
e,o,t),{readableEncoding:f,readableObjectMode:m,readableHighWaterMark:h}=Pi(c,a),{read:y,onStdoutDataDone:w}=Oi({subprocessStdout:c,
|
|
840
|
+
subprocess:e,binary:a,encoding:r,preserveNewlines:s}),g=new hS({read:y,...Ni(u,e,d),destroy:gS(bS.bind(void 0,{subprocessStdout:c,
|
|
841
841
|
subprocessStdin:u,subprocess:e,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:p})),readableHighWaterMark:h,
|
|
842
842
|
writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:m,writableObjectMode:u.writableObjectMode,encoding:f});
|
|
843
|
-
return
|
|
843
|
+
return Ci({subprocessStdout:c,onStdoutDataDone:w,readable:g,subprocess:e,subprocessStdin:u}),$i(u,g,c),g},bS=async({subprocessStdout:e,
|
|
844
844
|
subprocessStdin:t,subprocess:r,waitReadableDestroy:n,waitWritableFinal:o,waitWritableDestroy:i},s)=>{await Promise.all([
|
|
845
|
-
|
|
846
|
-
s)])};var
|
|
847
|
-
binary:i,shouldEncode:!0,encoding:t,preserveNewlines:o});return
|
|
848
|
-
t.readable&&t.destroy(),await r}};var
|
|
849
|
-
|
|
850
|
-
e.iterable=
|
|
851
|
-
constructor.prototype,
|
|
852
|
-
e,t,r),{subprocess:p,promise:f}=
|
|
853
|
-
fileDescriptors:d});return p.pipe=
|
|
854
|
-
p,{options:u,fileDescriptors:d}),p},
|
|
855
|
-
commandArguments:c,options:l}=
|
|
856
|
-
verboseInfo:s,options:u,fileDescriptors:d}},
|
|
857
|
-
nal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:e}},
|
|
858
|
-
options:r,startTime:n,verboseInfo:o,command:i,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=
|
|
859
|
-
return
|
|
860
|
-
|
|
861
|
-
kill.bind(c),options:r,onInternalError:p,context:d,controller:l}),c.all=
|
|
845
|
+
xi({subprocessStdout:e,subprocess:r,waitReadableDestroy:n},s),Mi({subprocessStdin:t,subprocess:r,waitWritableFinal:o,waitWritableDestroy:i},
|
|
846
|
+
s)])};var Di=(e,t,{from:r,binary:n=!1,preserveNewlines:o=!1}={})=>{let i=n||q.has(t),s=Xe(e,r),a=dn({subprocessStdout:s,subprocess:e,
|
|
847
|
+
binary:i,shouldEncode:!0,encoding:t,preserveNewlines:o});return wS(a,s,e)},wS=async function*(e,t,r){try{yield*e}finally{
|
|
848
|
+
t.readable&&t.destroy(),await r}};var kd=(e,{encoding:t})=>{let r=vd();e.readable=Ad.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.writable=
|
|
849
|
+
Od.bind(void 0,{subprocess:e,concurrentStreams:r}),e.duplex=xd.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),
|
|
850
|
+
e.iterable=Di.bind(void 0,e,t),e[Symbol.asyncIterator]=Di.bind(void 0,e,t,{})};var Nd=(e,t)=>{for(let[r,n]of _S){let o=n.value.bind(t);Reflect.defineProperty(e,r,{...n,value:o})}},yS=(async()=>{})().
|
|
851
|
+
constructor.prototype,_S=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(yS,e)]);var $d=(e,t,r,n)=>{let{file:o,commandArguments:i,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=vS(
|
|
852
|
+
e,t,r),{subprocess:p,promise:f}=IS({file:o,commandArguments:i,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,
|
|
853
|
+
fileDescriptors:d});return p.pipe=un.bind(void 0,{source:p,sourcePromise:f,boundOptions:{},createNested:n}),Nd(p,f),de.set(
|
|
854
|
+
p,{options:u,fileDescriptors:d}),p},vS=(e,t,r)=>{let{command:n,escapedCommand:o,startTime:i,verboseInfo:s}=br(e,t,r),{file:a,
|
|
855
|
+
commandArguments:c,options:l}=Br(e,t,r),u=TS(l),d=Vu(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:o,startTime:i,
|
|
856
|
+
verboseInfo:s,options:u,fileDescriptors:d}},TS=({timeout:e,signal:t,...r})=>{if(t!==void 0)throw new TypeError('The "sig\
|
|
857
|
+
nal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:e}},IS=({file:e,commandArguments:t,
|
|
858
|
+
options:r,startTime:n,verboseInfo:o,command:i,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=ES(...Ur(e,t,r))}catch(m){
|
|
859
|
+
return zu({error:m,command:i,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:o})}let l=new AbortController;
|
|
860
|
+
SS(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];ed(c,a,l),rd(c,r,l);let d={},p=ue();c.kill=gc.bind(void 0,{kill:c.
|
|
861
|
+
kill.bind(c),options:r,onInternalError:p,context:d,controller:l}),c.all=gd(c,r),kd(c,r),Bu(c,r);let f=AS({subprocess:c,options:r,
|
|
862
862
|
startTime:n,verboseInfo:o,fileDescriptors:a,originalStreams:u,command:i,escapedCommand:s,context:d,onInternalError:p,controller:l});
|
|
863
|
-
return{subprocess:c,promise:f}},
|
|
864
|
-
command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[p,f],m,h,y]=await
|
|
863
|
+
return{subprocess:c,promise:f}},AS=async({subprocess:e,options:t,startTime:r,verboseInfo:n,fileDescriptors:o,originalStreams:i,
|
|
864
|
+
command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[p,f],m,h,y]=await Ed({subprocess:e,options:t,
|
|
865
865
|
context:c,verboseInfo:n,fileDescriptors:o,originalStreams:i,onInternalError:l,controller:u});u.abort(),l.resolve();let w=m.
|
|
866
|
-
map((_,
|
|
867
|
-
command:s,escapedCommand:a,startTime:r});return
|
|
868
|
-
context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in e?
|
|
866
|
+
map((_,I)=>_e(_,t,I)),g=_e(h,t,"all"),v=RS({errorInfo:d,exitCode:p,signal:f,stdio:w,all:g,ipcOutput:y,context:c,options:t,
|
|
867
|
+
command:s,escapedCommand:a,startTime:r});return tt(v,n,t)},RS=({errorInfo:e,exitCode:t,signal:r,stdio:n,all:o,ipcOutput:i,
|
|
868
|
+
context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in e?Mt({error:e.error,command:c,escapedCommand:l,timedOut:s.
|
|
869
869
|
terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.
|
|
870
870
|
terminationReason==="gracefulCancel",isMaxBuffer:e.error instanceof pe,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:t,
|
|
871
|
-
signal:r,stdio:n,all:o,ipcOutput:i,options:a,startTime:u,isSync:!1}):
|
|
872
|
-
options:a,startTime:u});var
|
|
873
|
-
has(e)&&L(t)&&L(r)?{...t,...r}:r,
|
|
874
|
-
createNested:o},...s);return n!==void 0&&n(i,o,t),i},
|
|
875
|
-
createNested:o},i,...s)=>{if(L(i))return o(e,
|
|
876
|
-
firstArgument:i,nextArguments:s,deepOptions:t,boundOptions:r});return u?
|
|
877
|
-
nextArguments:r,deepOptions:n,boundOptions:o})=>{let i=
|
|
871
|
+
signal:r,stdio:n,all:o,ipcOutput:i,options:a,startTime:u,isSync:!1}):Yr({command:c,escapedCommand:l,stdio:n,all:o,ipcOutput:i,
|
|
872
|
+
options:a,startTime:u});var hn=(e,t)=>{let r=Object.fromEntries(Object.entries(t).map(([n,o])=>[n,PS(n,e[n],o)]));return{...e,...r}},PS=(e,t,r)=>OS.
|
|
873
|
+
has(e)&&L(t)&&L(r)?{...t,...r}:r,OS=new Set(["env",...po]);var Ae=(e,t,r,n)=>{let o=(s,a,c)=>Ae(s,a,r,c),i=(...s)=>CS({mapArguments:e,deepOptions:r,boundOptions:t,setBoundExeca:n,
|
|
874
|
+
createNested:o},...s);return n!==void 0&&n(i,o,t),i},CS=({mapArguments:e,deepOptions:t={},boundOptions:r={},setBoundExeca:n,
|
|
875
|
+
createNested:o},i,...s)=>{if(L(i))return o(e,hn(r,i),n);let{file:a,commandArguments:c,options:l,isSync:u}=xS({mapArguments:e,
|
|
876
|
+
firstArgument:i,nextArguments:s,deepOptions:t,boundOptions:r});return u?ku(a,c,l):$d(a,c,l,o)},xS=({mapArguments:e,firstArgument:t,
|
|
877
|
+
nextArguments:r,deepOptions:n,boundOptions:o})=>{let i=Vs(t)?Ws(t,r):[t,...r],[s,a,c]=sr(...i),l=hn(hn(n,o),c),{file:u=s,
|
|
878
878
|
commandArguments:d=a,options:p=l,isSync:f=!1}=e({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,
|
|
879
|
-
options:p,isSync:f}};var
|
|
880
|
-
length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${e} ${t}.`);let[r,...n]=
|
|
881
|
-
e);return{file:r,commandArguments:n}},
|
|
882
|
-
e)}.`);let t=e.trim();if(t==="")return[];let r=[];for(let n of t.split(
|
|
883
|
-
1]=`${o.slice(0,-1)} ${n}`:r.push(n)}return r},
|
|
884
|
-
...
|
|
885
|
-
getEachMessage:
|
|
879
|
+
options:p,isSync:f}};var Md=({file:e,commandArguments:t})=>Ld(e,t),Dd=({file:e,commandArguments:t})=>({...Ld(e,t),isSync:!0}),Ld=(e,t)=>{if(t.
|
|
880
|
+
length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${e} ${t}.`);let[r,...n]=kS(
|
|
881
|
+
e);return{file:r,commandArguments:n}},kS=e=>{if(typeof e!="string")throw new TypeError(`The command must be a string: ${String(
|
|
882
|
+
e)}.`);let t=e.trim();if(t==="")return[];let r=[];for(let n of t.split(NS)){let o=r.at(-1);o&&o.endsWith("\\")?r[r.length-
|
|
883
|
+
1]=`${o.slice(0,-1)} ${n}`:r.push(n)}return r},NS=/ +/g;var Bd=(e,t,r)=>{e.sync=t($S,r),e.s=e.sync},Ud=({options:e})=>Gd(e),$S=({options:e})=>({...Gd(e),isSync:!0}),Gd=e=>({options:{
|
|
884
|
+
...MS(e),...e}}),MS=({input:e,inputFile:t,stdio:r})=>e===void 0&&t===void 0&&r===void 0?{stdin:"inherit"}:{},zd={preferLocal:!0};var Hd=Ae(()=>({})),ID=Ae(()=>({isSync:!0})),AD=Ae(Md),RD=Ae(Dd),PD=Ae(Qc),OD=Ae(Ud,{},zd,Bd),{sendMessage:CD,getOneMessage:xD,
|
|
885
|
+
getEachMessage:kD,getCancelSignal:ND}=Uu();function DS(e=0){let t=Number(e);return Number.isSafeInteger(t)?t:1}function Ht({code:e="",error:t="",exitCode:r=0,ok:n=null,
|
|
886
886
|
output:o="",outputEncoding:i="utf8",pid:s=null,signal:a="",stderr:c="",stdout:l="",timedOut:u=!1,execution:d=null,retryable:p=null}={}){
|
|
887
|
-
let f=
|
|
887
|
+
let f=DS(r),m=String(l||""),h=String(c||""),y=String(o||[m,h].filter(Boolean).join(`
|
|
888
888
|
`)).trim();return{code:C(e),error:C(t),exitCode:f,ok:n===null?f===0:n===!0,output:y,pid:Number.isSafeInteger(Number(s))?
|
|
889
889
|
Number(s):null,signal:C(a),stderr:h,stdout:m,...i==="base64"?{outputEncoding:i}:{},timedOut:u===!0,...d&&typeof d=="obje\
|
|
890
|
-
ct"&&!Array.isArray(d)?{execution:d}:{},...typeof p=="boolean"?{retryable:p}:{}}}function
|
|
891
|
-
d",r={}){let n=C(e)||"Vibe64 command failed.";return
|
|
892
|
-
stderr??(r.outputEncoding==="base64"?Buffer.from(n).toString("base64"):n),stdout:r.stdout??""})}import{spawn as
|
|
893
|
-
async function
|
|
894
|
-
error",i=>o(r,i))})}async function
|
|
895
|
-
n.fd,n.fd]:["ignore","ignore","ignore"],i=
|
|
896
|
-
execution?.id||"";return s&&(
|
|
897
|
-
i.pid),scopeEmpty:!0})})),i.unref?.(),
|
|
898
|
-
pid})}catch(o){return
|
|
899
|
-
execution})}finally{await n?.close?.().catch(()=>null)}}function
|
|
900
|
-
t<=0)return!1;if(process.platform==="win32"){let r=[...
|
|
901
|
-
r?.child?.signalCode===null}try{return process.kill(-t,0),!0}catch(r){return r?.code==="EPERM"}}function
|
|
902
|
-
GTERM"){if(!
|
|
903
|
-
t):process.kill(-Number(e),t),!0}catch(r){if(r?.code==="ESRCH")return!1;throw r}}async function
|
|
904
|
-
now()+Math.max(0,Number(t)||0);for(;
|
|
905
|
-
killTimeoutMs:t=
|
|
906
|
-
n}var
|
|
890
|
+
ct"&&!Array.isArray(d)?{execution:d}:{},...typeof p=="boolean"?{retryable:p}:{}}}function G(e="",t="vibe64_command_faile\
|
|
891
|
+
d",r={}){let n=C(e)||"Vibe64 command failed.";return Ht({...r,code:t,error:n,exitCode:1,ok:!1,output:C(r.output)||n,stderr:r.
|
|
892
|
+
stderr??(r.outputEncoding==="base64"?Buffer.from(n).toString("base64"):n),stdout:r.stdout??""})}import{spawn as LS}from"node:child_process";import{mkdir as BS,open as US}from"node:fs/promises";import GS from"node:path";var gn=new Map,zS=3e3,HS=1e3;async function FS(e=""){return e?(await BS(GS.dirname(e),{recursive:!0}),US(e,"w",384)):null}
|
|
893
|
+
async function jS(e){return new Promise((t,r)=>{let n=!1,o=(i,s)=>{n||(n=!0,i(s))};e.once?.("spawn",()=>o(t)),e.once?.("\
|
|
894
|
+
error",i=>o(r,i))})}async function Vd(e={},{cwd:t="",env:r={}}={}){let n=null;try{n=await FS(e.logPath);let o=n?["ignore",
|
|
895
|
+
n.fd,n.fd]:["ignore","ignore","ignore"],i=LS(e.command,e.args,{cwd:t||void 0,detached:!0,env:r,stdio:o});await jS(i);let s=e.
|
|
896
|
+
execution?.id||"";return s&&(gn.set(s,{child:i,pid:Number(i.pid)}),i.once?.("exit",()=>{bn(i.pid)||gn.set(s,{child:i,pid:Number(
|
|
897
|
+
i.pid),scopeEmpty:!0})})),i.unref?.(),Ht({execution:e.execution,exitCode:0,ok:!0,output:"Detached command started.",pid:i.
|
|
898
|
+
pid})}catch(o){return G(o?.message||"Detached command failed to start.",o?.code||"vibe64_command_detached_failed",{execution:e.
|
|
899
|
+
execution})}finally{await n?.close?.().catch(()=>null)}}function bn(e=null){let t=Number(e);if(!Number.isSafeInteger(t)||
|
|
900
|
+
t<=0)return!1;if(process.platform==="win32"){let r=[...gn.values()].find(n=>n.pid===t);return r?.child?.exitCode===null&&
|
|
901
|
+
r?.child?.signalCode===null}try{return process.kill(-t,0),!0}catch(r){return r?.code==="EPERM"}}function Fd(e=null,t="SI\
|
|
902
|
+
GTERM"){if(!bn(e))return!1;try{return process.platform==="win32"?[...gn.values()].find(n=>n.pid===Number(e))?.child?.kill?.(
|
|
903
|
+
t):process.kill(-Number(e),t),!0}catch(r){if(r?.code==="ESRCH")return!1;throw r}}async function jd(e=null,t=0){let r=Date.
|
|
904
|
+
now()+Math.max(0,Number(t)||0);for(;bn(e)&&Date.now()<r;)await new Promise(n=>setTimeout(n,25));return!bn(e)}async function wn(e=null,{
|
|
905
|
+
killTimeoutMs:t=HS,termTimeoutMs:r=zS}={}){Fd(e,"SIGTERM");let n=await jd(e,r);return n||(Fd(e,"SIGKILL"),n=await jd(e,t)),
|
|
906
|
+
n}var Wd=new Map;async function Ue(e="",t=[],{cwd:r="",env:n={},execution:o=null,input:i=void 0,maxBuffer:s=void 0,onOutput:a=null,outputEncoding:c="\
|
|
907
907
|
utf8",signal:l=null,timeout:u=15e3}={}){let d,p,f,m=Promise.withResolvers(),h=()=>{f||=p(),f.then(m.resolve)};if(l?.aborted)
|
|
908
|
-
return
|
|
908
|
+
return G("Command cancelled.","vibe64_command_cancelled",{execution:o});try{let g=Hd(e,t,{all:!0,cwd:r,detached:process.
|
|
909
909
|
platform!=="win32",encoding:c,env:n,extendEnv:!1,input:i,maxBuffer:s,reject:!1,stdin:i==null?"ignore":"pipe",stripFinalNewline:!1,
|
|
910
|
-
timeout:u}),v=Number(g.pid),_;p=()=>{if(!_){let S;process.platform!=="win32"?S=
|
|
911
|
-
g.then(()=>!0,()=>!0)),_=S.then(x=>(x||(_=null),x))}return _},o?.id&&
|
|
912
|
-
l?.aborted&&h(),typeof a=="function"&&g.all&&g.all.on("data",S=>{try{a(String(S||""))}catch{}});let
|
|
913
|
-
[g,m.promise.then(S=>S?g:{exitCode:1})]),
|
|
914
|
-
ommand_capture_timed_out":
|
|
915
|
-
(
|
|
916
|
-
d=
|
|
910
|
+
timeout:u}),v=Number(g.pid),_;p=()=>{if(!_){let S;process.platform!=="win32"?S=wn(v).catch(()=>!1):(g.kill("SIGKILL"),S=
|
|
911
|
+
g.then(()=>!0,()=>!0)),_=S.then(x=>(x||(_=null),x))}return _},o?.id&&Wd.set(o.id,p),l?.addEventListener("abort",h,{once:!0}),
|
|
912
|
+
l?.aborted&&h(),typeof a=="function"&&g.all&&g.all.on("data",S=>{try{a(String(S||""))}catch{}});let I=await Promise.race(
|
|
913
|
+
[g,m.promise.then(S=>S?g:{exitCode:1})]),R=typeof I.exitCode=="number"?I.exitCode:1;d=Ht({code:I.timedOut===!0?"vibe64_c\
|
|
914
|
+
ommand_capture_timed_out":I.code?"vibe64_command_capture_failed":"",error:R===0?"":I.shortMessage,exitCode:R,output:I.all||
|
|
915
|
+
(R===0?"":I.shortMessage),outputEncoding:c,signal:I.signal,stderr:I.stderr,stdout:I.stdout,timedOut:I.timedOut===!0,execution:o})}catch(g){
|
|
916
|
+
d=G(g.message,"vibe64_command_capture_failed",{execution:o,exitCode:typeof g.exitCode=="number"?g.exitCode:1,output:g.all,
|
|
917
917
|
outputEncoding:c,signal:g.signal,stderr:g.stderr,stdout:g.stdout,timedOut:g.timedOut===!0})}finally{l?.removeEventListener(
|
|
918
|
-
"abort",h)}if(!await(f||p?.()||!0))return
|
|
919
|
-
4_execution_drain_failed",{execution:o,output:d?.output,outputEncoding:c,stderr:d?.stderr,stdout:d?.stdout});o?.id&&
|
|
920
|
-
o.id);let w=o&&{...o,state:"finished"};return l?.aborted?
|
|
921
|
-
outputEncoding:c}):w?{...d,execution:w}:d}import
|
|
922
|
-
for("vibe64.hostProfile"),
|
|
923
|
-
cHelperPath"],
|
|
924
|
-
|
|
925
|
-
function
|
|
926
|
-
throw new TypeError(`Unknown host profile setting: ${t.join(", ")}.`);let r={...
|
|
927
|
-
"string"||r[o]&&!
|
|
918
|
+
"abort",h)}if(!await(f||p?.()||!0))return G("The command finished, but its execution scope did not become empty.","vibe6\
|
|
919
|
+
4_execution_drain_failed",{execution:o,output:d?.output,outputEncoding:c,stderr:d?.stderr,stdout:d?.stdout});o?.id&&Wd.delete(
|
|
920
|
+
o.id);let w=o&&{...o,state:"finished"};return l?.aborted?G("Command cancelled.","vibe64_command_cancelled",{...d,execution:w,
|
|
921
|
+
outputEncoding:c}):w?{...d,execution:w}:d}import VS from"node:path";import qd from"node:process";import{isMainThread as WS}from"node:worker_threads";var Li=Symbol.
|
|
922
|
+
for("vibe64.hostProfile"),Ft=Symbol.for("vibe64.hostProfile.previousUmask"),qS=["runtimePackRoot","sharedCacheRoot","exe\
|
|
923
|
+
cHelperPath"],yn=Object.freeze({runtimePackRoot:"",sharedCacheRoot:"",execHelperPath:"",sharedGroupAccess:!1});function Yd(e){
|
|
924
|
+
WS&&(e&&!(Ft in globalThis)?globalThis[Ft]=qd.umask(7):!e&&Ft in globalThis&&(qd.umask(globalThis[Ft]),delete globalThis[Ft]))}
|
|
925
|
+
function Bi(e=null){if(e===null)return delete globalThis[Li],Yd(!1),yn;let t=Object.keys(e).filter(o=>!(o in yn));if(t.length)
|
|
926
|
+
throw new TypeError(`Unknown host profile setting: ${t.join(", ")}.`);let r={...yn,...e};for(let o of qS)if(typeof r[o]!=
|
|
927
|
+
"string"||r[o]&&!VS.isAbsolute(r[o]))throw new TypeError(`Host profile ${o} must be an absolute path or empty.`);if(typeof r.
|
|
928
928
|
sharedGroupAccess!="boolean")throw new TypeError("Host profile sharedGroupAccess must be true or false.");let n=Object.freeze(
|
|
929
|
-
r);return globalThis[
|
|
929
|
+
r);return globalThis[Li]=n,Yd(n.sharedGroupAccess),n}function Re(){return globalThis[Li]||yn}var Kd="vibe64.exec-helper.payload",Jd=1;function Ui(e=""){let t=String(e||"").trim()||Re().execHelperPath;if(!t){let r=new Error(
|
|
930
930
|
"This computer has no helper for running commands as another user.");throw r.code="vibe64_exec_helper_unavailable",r}return t}
|
|
931
|
-
function
|
|
932
|
-
operation:i="vibe64-command",args:s=[]}={}){return
|
|
931
|
+
function Xd(e={}){return{...e,schema:Kd,schemaVersion:Jd}}function jt({actor:e={},command:t="",cwd:r="",env:n={},input:o=void 0,
|
|
932
|
+
operation:i="vibe64-command",args:s=[]}={}){return Xd({args:Array.isArray(s)?s.map(a=>String(a)):[],command:t,cwd:r,env:n,
|
|
933
933
|
gid:e.user?.gid,home:e.user?.home,inputBase64:o==null?"":Buffer.isBuffer(o)?o.toString("base64"):Buffer.from(String(o)).
|
|
934
|
-
toString("base64"),operation:i,uid:e.user?.uid,username:e.user?.username})}function
|
|
934
|
+
toString("base64"),operation:i,uid:e.user?.uid,username:e.user?.username})}function Vt(e={}){return e.mode==="pty"&&e.envPolicy===
|
|
935
935
|
"auth"&&!["assistant","codex"].includes(e.purpose)?"account-auth-terminal":e.purpose==="codex"&&e.mode==="capture"&&e.envPolicy===
|
|
936
936
|
"auth"||e.purpose==="codex"&&e.mode==="detached"&&e.execution?.kind==="assistant"&&e.execution?.lifecycle==="service"?"c\
|
|
937
937
|
odex-app-server":e.mode==="detached"&&e.execution?.kind==="assistant"&&e.execution?.lifecycle==="service"&&["opencode-ca\
|
|
938
938
|
talog","opencode-server"].includes(e.execution?.operationId)||e.mode==="capture"&&e.execution?.kind==="assistant"&&e.execution?.
|
|
939
939
|
operationId==="opencode-catalog"?"opencode-app-server":e.purpose==="account"?"account-status":e.purpose==="github"?"gith\
|
|
940
940
|
ub-workflow-command":e.purpose==="github-api"?"github-api-command":e.purpose==="workspace-cache"?"workspace-cache-comman\
|
|
941
|
-
d":e.purpose==="health"?"health-status":"vibe64-command"}async function
|
|
942
|
-
outputEncoding:o="utf8",runCapture:i=
|
|
941
|
+
d":e.purpose==="health"?"health-status":"vibe64-command"}async function Gi(e={},{env:t=process.env,helperPath:r="",maxBuffer:n=void 0,
|
|
942
|
+
outputEncoding:o="utf8",runCapture:i=Ue,signal:s=null,timeout:a=15e3}={}){let c={env:t,input:`${JSON.stringify(e)}
|
|
943
943
|
`,outputEncoding:o,signal:s,timeout:a};return Number.isSafeInteger(Number(n))&&Number(n)>0&&(c.maxBuffer=Number(n)),i("s\
|
|
944
|
-
udo",["-n",
|
|
945
|
-
in",customScheme:"",appLinkDomains:Object.freeze([])}),
|
|
946
|
-
versionName:"1.0.0"});var
|
|
947
|
-
"metadata","migrations","runtime","vite"]);var
|
|
948
|
-
session?.metadata?.session_git_command_actor_user_key)}async function
|
|
949
|
-
t==="app")return{actor:t,credentialScope:t,requiresRealUser:!1,user:
|
|
944
|
+
udo",["-n",Ui(r),"execute"],c)}import{createRequire as KS}from"node:module";var YS=new URL("./../../../../@jskit-ai/kernel/server/support/symlinkSafeRequire.js",import.meta.url).href;var eL=KS(YS);var rL=Object.freeze(["none","pending","committed","rolledBack","unknown"]);var nL=Object.freeze(["bundled","dev_server"]),oL=Object.freeze(["capacitor"]),iL=Object.freeze({callbackPath:"/auth/log\
|
|
945
|
+
in",customScheme:"",appLinkDomains:Object.freeze([])}),sL=Object.freeze({packageName:"",minSdk:26,targetSdk:35,versionCode:1,
|
|
946
|
+
versionName:"1.0.0"});var gL=new URL("./../../../../@jskit-ai/kernel/server/support/appConfigFiles.js",import.meta.url).href;var IL=Object.freeze(["dependencies","optionalDependencies","peerDependencies"]),AL=Object.freeze(["capabilities","kind",
|
|
947
|
+
"metadata","migrations","runtime","vite"]);var zi="/api",LL=`${zi}/`,BL=`${zi}/docs`,UL=`${zi}/realtime`;var JL=Object.freeze(["compact","medium","expanded"]);function aE(e={}){return ge(e.userKey,e.project?.ownerUserKey,e.project?.ownerUsername,e.project?.ownerUser?.username,e.
|
|
948
|
+
session?.metadata?.session_git_command_actor_user_key)}async function tp(e={}){let t=C(e.actor)||"daemon";if(t==="daemon"||
|
|
949
|
+
t==="app")return{actor:t,credentialScope:t,requiresRealUser:!1,user:eo()};let r=aE(e);if(!r){let n=new Error("A user key\
|
|
950
950
|
is required for real-user command execution.");throw n.code="vibe64_command_actor_user_required",n}return{actor:t,credentialScope:"\
|
|
951
|
-
user",requiresRealUser:!0,user:await
|
|
952
|
-
env){return!!(String(e?.VIBE64_WORKSPACE||"").trim()||String(e?.VIBE64_WORKSPACE_DAEMON_USER||"").trim())}function
|
|
953
|
-
env:t=process.env}={}){return e.requiresRealUser?
|
|
954
|
-
let n=O(t.session?.sourceRoot||t.session?.sourcePath),o=O(r);if(!n||!o)return;let i=
|
|
955
|
-
"..")||
|
|
956
|
-
stem identity.");throw s.code="vibe64_command_managed_source_real_user_forbidden",s}function
|
|
957
|
-
home),n=O(t.HOME),o=O(t.VIBE64_CREDENTIAL_HOME);if(!(!e.requiresRealUser&&o&&n===o)&&r&&n&&
|
|
951
|
+
user",requiresRealUser:!0,user:await to(r)}}import xE from"node:path";import Sn from"node:path";function it(e={}){let t=oo();return t.uid===null||t.gid===null||t.uid===e.user?.uid&&t.gid===e.user?.gid}function En(e=process.
|
|
952
|
+
env){return!!(String(e?.VIBE64_WORKSPACE||"").trim()||String(e?.VIBE64_WORKSPACE_DAEMON_USER||"").trim())}function vn(e={},{
|
|
953
|
+
env:t=process.env}={}){return e.requiresRealUser?En(t)||!it(e):!1}function rp(e={},t={},r=""){if(!e.requiresRealUser)return;
|
|
954
|
+
let n=O(t.session?.sourceRoot||t.session?.sourcePath),o=O(r);if(!n||!o)return;let i=Sn.relative(n,o);if(i&&(i.startsWith(
|
|
955
|
+
"..")||Sn.isAbsolute(i)))return;let s=new Error("Managed session source commands must retain the workspace daemon filesy\
|
|
956
|
+
stem identity.");throw s.code="vibe64_command_managed_source_real_user_forbidden",s}function np(e={},t={}){let r=O(e.user?.
|
|
957
|
+
home),n=O(t.HOME),o=O(t.VIBE64_CREDENTIAL_HOME);if(!(!e.requiresRealUser&&o&&n===o)&&r&&n&&Sn.resolve(r)!==Sn.resolve(n)){
|
|
958
958
|
let i=new Error("Command HOME does not match the resolved actor home.");throw i.code="vibe64_command_home_actor_mismatch",
|
|
959
|
-
i}}var
|
|
959
|
+
i}}var st=Object.freeze(["DATABASE_URL","DB_CLIENT","DB_DATABASE","DB_HOST","DB_NAME","DB_PASSWORD","DB_PORT","DB_USER","DB\
|
|
960
960
|
_USERNAME","MYSQL_DATABASE","MYSQL_HOST","MYSQL_PWD","MYSQL_TCP_PORT","PGDATABASE","PGHOST","PGPASSWORD","PGPORT","PGUSE\
|
|
961
|
-
R","VIBE64_MYSQL_USER"]);function
|
|
962
|
-
return t}var
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
r
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
961
|
+
R","VIBE64_MYSQL_USER"]);function qt(...e){let t={};for(let r of e){let n=H(r);for(let o of st)n[o]!==void 0&&(t[o]=n[o])}
|
|
962
|
+
return t}import{spawnSync as cE}from"node:child_process";import{statSync as lE}from"node:fs";import uE from"node:path";var at="GIT_AUTHOR_NAME",ct="GIT_AUTHOR_EMAIL",lt="GIT_COMMITTER_NAME",ut="GIT_COMMITTER_EMAIL",Hi=".users.vibe64.invali\
|
|
963
|
+
d",dE=2e3,pE=['git config --global user.name "Your Name"','git config --global user.email "you@example.com"'].join(`
|
|
964
|
+
`);function Fi(e="",t="vibe64"){return C(e).toLowerCase().replace(/[^a-z0-9-]+/gu,"-").replace(/^-+|-+$/gu,"").slice(0,63)||
|
|
965
|
+
t}function fE(...e){for(let t of e){let r=j(t),n=j(r.user),o=ge(r.name,r.userName,r.user_name,r.gitUserName,r.git_user_name,
|
|
966
|
+
n.name,n.userName,n.user_name),i=ge(r.email,r.userEmail,r.user_email,r.gitUserEmail,r.git_user_email,n.email,n.userEmail,
|
|
967
|
+
n.user_email);if(o&&i)return{authorEmail:i,authorName:o,committerEmail:i,committerName:o,source:"configured"}}return null}
|
|
968
|
+
function mE(e={}){let t=j(e),r=ge(t.name,t.displayName,t.login,t.username),n=ge(t.email,t.publicEmail,t.verifiedEmail);return!r||
|
|
969
|
+
!n?null:{authorEmail:n,authorName:r,committerEmail:n,committerName:r,source:"github"}}function sp({workspace:e="",userKey:t=""}={}){
|
|
970
|
+
let r=Fi(t,"user"),n=Fi(e,"local");return{authorEmail:`${r}@${n}${Hi}`,authorName:`${r} via Vibe64`,committerEmail:`vibe\
|
|
971
|
+
64@${n}${Hi}`,committerName:"Vibe64",source:"fallback"}}function op(e=""){let t=C(e);if(!t||!uE.isAbsolute(t))return"";try{
|
|
972
|
+
return lE(t).isDirectory()?t:""}catch{return""}}function ip(e,t){let r=cE("git",["config","--get-regexp","^user\\.(name|e\
|
|
973
|
+
mail)$"],{...e?{cwd:e}:{},encoding:"utf8",env:t,stdio:["ignore","pipe","ignore"],timeout:dE});if(r.error||r.status!==0&&
|
|
974
|
+
r.status!==1)return null;let n={};for(let o of String(r.stdout||"").split(`
|
|
975
|
+
`)){let i=/^user\.(name|email)(?: (.*))?$/iu.exec(o);i&&(n[i[1].toLowerCase()]=C(i[2]))}return n}function ap({cwd:e="",env:t=null}={}){
|
|
976
|
+
if(!t||typeof t!="object")return null;let r=op(e),n=r&&ip(r,t)||ip(op(t.HOME),t)||{};return!n.name||!n.email?null:{authorEmail:n.
|
|
977
|
+
email,authorName:n.name,committerEmail:n.email,committerName:n.name,source:"git-config"}}function ji(e=""){return C(e).toLowerCase().
|
|
978
|
+
endsWith(Hi)}function cp({actor:e={},env:t=process.env,gitConfig:r=null,project:n={},session:o={},userKey:i=""}={}){let s=j(
|
|
979
|
+
o.metadata);return fE(n.gitIdentity,n.config?.git,o.gitIdentity,s.git_identity,{name:t.VIBE64_GIT_USER_NAME,email:t.VIBE64_GIT_USER_EMAIL})||
|
|
980
|
+
ap(r||{})||mE(n.githubUser||o.githubUser||s.github_user)||sp({workspace:ge(n.workspace,t.VIBE64_WORKSPACE,t.VIBE64_RUNTIME_NAMESPACE),
|
|
981
|
+
userKey:ge(i,e.user?.username,t.VIBE64_GIT_USER_KEY,t.VIBE64_USER_KEY,t.VIBE64_USER,t.USER,t.LOGNAME)})}function hE(e){return{
|
|
982
|
+
[ct]:e.authorEmail,[at]:e.authorName,[ut]:e.committerEmail,[lt]:e.committerName}}function Vi(e={}){return hE(cp(e))}import{readFileSync as gE}from"node:fs";import lp from"node:path";import Wi from"node:path";var qi=Object.freeze({awsebcli:{binDirs:["awsebcli/bin"],managedCommands:["eb"]},bubblewrap:{binDirs:["bubblewrap/bin"],
|
|
975
983
|
managedCommands:[]},bun:{binDirs:["bun/bin"],dependencyFiles:["package.json","bun.lock","bun.lockb","package-lock.json"],
|
|
976
984
|
managedCommands:["bun"]},composer:{binDirs:["composer/bin"],dependencyFiles:["composer.json","composer.lock"],managedCommands:[
|
|
977
985
|
"composer"]},cpp:{binDirs:["cpp/bin"],dependencyFiles:["CMakeLists.txt","vcpkg.json","vcpkg-configuration.json","conanfi\
|
|
@@ -999,306 +1007,315 @@ i/claude-code/package.json","operator-clis/lib/node_modules/@openai/codex/packag
|
|
|
999
1007
|
opencode-ai/package.json"],managedCommands:["claude","codex","opencode"]},php:{binDirs:["php/bin"],managedCommands:["php"]},
|
|
1000
1008
|
playwright:{binDirs:["playwright/bin"],identityPaths:["playwright/runtime.env","playwright/browsers"],managedCommands:["\
|
|
1001
1009
|
playwright"]},postgresql:{binDirs:["postgresql/bin"],managedCommands:["initdb","pg_ctl","pg_isready","postgres","psql"]},
|
|
1002
|
-
ripgrep:{binDirs:["ripgrep/bin"],managedCommands:[]},sqlite:{binDirs:["sqlite/bin"],managedCommands:["sqlite3"]}}),
|
|
1010
|
+
ripgrep:{binDirs:["ripgrep/bin"],managedCommands:[]},sqlite:{binDirs:["sqlite/bin"],managedCommands:["sqlite3"]}}),Yi=Object.
|
|
1003
1011
|
freeze(["operator-clis","node26","git","gh","mysql","mariadb","postgresql","sqlite","ripgrep","bubblewrap","bun","php","\
|
|
1004
|
-
composer","awsebcli","cpp","python","ruby","go","java","kotlin","csharp","rust","playwright"]);function
|
|
1005
|
-
return O(e||Re().runtimePackRoot)}function
|
|
1006
|
-
let e=
|
|
1007
|
-
GHT_VERSION",
|
|
1008
|
-
let t=
|
|
1009
|
-
let o=n.split(/\r?\n/u).filter(i=>i.startsWith("playwright_version=")).map(i=>i.slice(19).trim());if(o.length!==1||!
|
|
1010
|
-
o[0]))throw new Error(`Invalid managed Playwright runtime manifest: ${r}.`);return o[0]}function
|
|
1011
|
-
let t=
|
|
1012
|
-
[
|
|
1013
|
-
ACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_RUNTIME_DIR"]),
|
|
1014
|
-
for(let t of Object.keys(
|
|
1015
|
-
e execution policy env: ${t}.`);throw r.code="vibe64_command_env_policy_reserved",r}}function
|
|
1016
|
-
ion"}={}){let r=
|
|
1017
|
-
n:{...n,...
|
|
1018
|
-
!n)return!1;let o=
|
|
1012
|
+
composer","awsebcli","cpp","python","ruby","go","java","kotlin","csharp","rust","playwright"]);function z({root:e=""}={}){
|
|
1013
|
+
return O(e||Re().runtimePackRoot)}function Ki(e=""){let t=z();return(t?qi[C(e)]?.binDirs||[]:[]).map(n=>Wi.join(t,n))}function Ji(){
|
|
1014
|
+
let e=z();return e?[Wi.join(e,"guard-bin")]:[]}function Xi(){let e=z();return e?[Wi.join(e,"policy-bin")]:[]}var Tn="VIBE64_SHARED_CACHE_ROOT",Yt="PLAYWRIGHT_BROWSERS_PATH",In="PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD",An="VIBE64_PLAYWRI\
|
|
1015
|
+
GHT_VERSION",up="playwright",bE="browsers",wE="runtime.env",yE=/^\d+\.\d+\.\d+$/u;function dp({runtimePackRoot:e=""}={}){
|
|
1016
|
+
let t=z({root:e});if(!t)return"";let r=lp.join(t,up,wE),n;try{n=gE(r,"utf8")}catch(i){if(i?.code==="ENOENT")return"";throw i}
|
|
1017
|
+
let o=n.split(/\r?\n/u).filter(i=>i.startsWith("playwright_version=")).map(i=>i.slice(19).trim());if(o.length!==1||!yE.test(
|
|
1018
|
+
o[0]))throw new Error(`Invalid managed Playwright runtime manifest: ${r}.`);return o[0]}function Zi({runtimePackRoot:e=""}={}){
|
|
1019
|
+
let t=z({root:e}),r=O(Re().sharedCacheRoot),n=dp({runtimePackRoot:t});return{...r?{[Tn]:r}:{},...t?{[Yt]:lp.join(t,up,bE),
|
|
1020
|
+
[In]:"1"}:{},...n?{[An]:n}:{}}}var Qi=new Set(["HOME","LOGNAME","PATH","TMPDIR","USER","VIBE64_EXECUTION_ID","VIBE64_MANAGED_EXECUTION_REQUIRED","XDG_C\
|
|
1021
|
+
ACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_RUNTIME_DIR"]),pp=new Set([...st,ct,at,ut,lt,Yt,In,An,Tn]);function dt(e={}){
|
|
1022
|
+
for(let t of Object.keys(H(e)))if(Qi.has(t)||t.startsWith("XDG_")){let r=new Error(`Vibe64 command callers cannot provid\
|
|
1023
|
+
e execution policy env: ${t}.`);throw r.code="vibe64_command_env_policy_reserved",r}}function Rn(e={},{envPolicy:t="sess\
|
|
1024
|
+
ion"}={}){let r=H(e);dt(r);let n=Object.fromEntries(Object.entries(r).filter(([o])=>!pp.has(o)));return t==="deployment"?
|
|
1025
|
+
n:{...n,...qt(r)}}import fp from"node:path";function _E(e=""){let t=O(e);return t==="/home"||t.startsWith("/home/")}function SE(e="",t=""){let r=O(e),n=O(t);if(!r||
|
|
1026
|
+
!n)return!1;let o=fp.relative(n,r);return!o||!o.startsWith("..")&&!fp.isAbsolute(o)}function mp({actor:e={},request:t={}}={}){
|
|
1019
1027
|
let r=t.credentialHome||{},n=O(r.home);if(!n)return{};let o=O(e.user?.home);if(e.requiresRealUser&&o&&n!==o){let a=new Error(
|
|
1020
1028
|
"Command credential home must match the resolved real-user actor home.");throw a.code="vibe64_command_credential_home_ac\
|
|
1021
|
-
tor_mismatch",a}if(!e.requiresRealUser&&
|
|
1029
|
+
tor_mismatch",a}if(!e.requiresRealUser&&_E(n)&&o&&!SE(n,o)){let a=new Error("A /home credential directory requires a mat\
|
|
1022
1030
|
ching real-user actor.");throw a.code="vibe64_command_credential_home_real_user_required",a}let i=C(r.username||e.user?.
|
|
1023
|
-
username);return{...
|
|
1031
|
+
username);return{...ro({home:n,username:i},{VIBE64_CREDENTIAL_HOME:n}),...O(r.cacheRoot)?{XDG_CACHE_HOME:O(r.cacheRoot)}:
|
|
1024
1032
|
{},...O(r.configRoot)?{XDG_CONFIG_HOME:O(r.configRoot)}:{},...O(r.dataRoot)?{XDG_DATA_HOME:O(r.dataRoot)}:{},...O(r.stateRoot)?
|
|
1025
|
-
{XDG_STATE_HOME:O(r.stateRoot)}:{}}}import
|
|
1026
|
-
steadOf",value:"ssh://git@github.com/"}]),
|
|
1027
|
-
/env gh auth git-credential"}]),
|
|
1028
|
-
get) printf '%s\\n' username=x-access-token "password=\${VIBE64_GIT_AUTH_TOKEN}" ;; esac; }; f`}]);function
|
|
1029
|
-
r=[];for(let n of Array.isArray(e)?e:[e]){let o=C(n);if(!o||!
|
|
1030
|
-
add(i),r.push(i))}return r}function
|
|
1033
|
+
{XDG_STATE_HOME:O(r.stateRoot)}:{}}}import hp from"node:path";var gp=Object.freeze([{key:"url.https://github.com/.insteadOf",value:"git@github.com:"},{key:"url.https://github.com/.in\
|
|
1034
|
+
steadOf",value:"ssh://git@github.com/"}]),EE=Object.freeze([{key:"credential.https://github.com.helper",value:"!/usr/bin\
|
|
1035
|
+
/env gh auth git-credential"}]),vE=Object.freeze([{key:"credential.https://github.com.helper",value:`!f() { case "$1" in\
|
|
1036
|
+
get) printf '%s\\n' username=x-access-token "password=\${VIBE64_GIT_AUTH_TOKEN}" ;; esac; }; f`}]);function bp(e=[]){let t=new Set,
|
|
1037
|
+
r=[];for(let n of Array.isArray(e)?e:[e]){let o=C(n);if(!o||!hp.isAbsolute(o))continue;let i=hp.resolve(o);t.has(i)||(t.
|
|
1038
|
+
add(i),r.push(i))}return r}function Kt(e={},t=[]){let r={...e&&typeof e=="object"&&!Array.isArray(e)?e:{}},n=Number.parseInt(
|
|
1031
1039
|
String(r.GIT_CONFIG_COUNT||"0"),10),o=Number.isSafeInteger(n)&&n>=0?n:0;for(let i of Array.isArray(t)?t:[]){let s=C(i?.key);
|
|
1032
1040
|
s&&(r[`GIT_CONFIG_KEY_${o}`]=s,r[`GIT_CONFIG_VALUE_${o}`]=String(i?.value??""),o+=1)}return r.GIT_CONFIG_COUNT=String(o),
|
|
1033
|
-
r}function
|
|
1034
|
-
e,
|
|
1035
|
-
return
|
|
1036
|
-
ires a gitAuthToken.");throw t.code="vibe64_command_git_auth_token_required",t}return
|
|
1037
|
-
[
|
|
1038
|
-
-token"?r=
|
|
1039
|
-
[])}import
|
|
1040
|
-
""}function
|
|
1041
|
-
map(C).filter(Boolean)}function
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
r=
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1041
|
+
r}function wp(e=[]){return bp(e).map(t=>({key:"safe.directory",value:t}))}function es(e={},t=[]){return Kt(e,wp(t))}function Pn(){return{GH_PROMPT_DISABLED:"1",GIT_PAGER:"cat",GIT_TERMINAL_PROMPT:"0",PAGER:"cat"}}function ts(e={}){return Kt(
|
|
1042
|
+
e,gp)}function yp(e={}){return Kt(e,EE)}function TE(e={}){return Kt(e,vE)}function rs(e={}){return yp(ts(e))}function _p(e={}){
|
|
1043
|
+
return TE(ts(e))}var Sp="VIBE64_GIT_AUTH_TOKEN";function IE(e={}){if(!e.gitAuthToken){let t=new Error("Token-backed GitHub transport requ\
|
|
1044
|
+
ires a gitAuthToken.");throw t.code="vibe64_command_git_auth_token_required",t}return _p({...Pn(),GIT_TERMINAL_PROMPT:"0",
|
|
1045
|
+
[Sp]:e.gitAuthToken})}function Ep({request:e={}}={}){let t={GIT_TERMINAL_PROMPT:"0"},r=t;return e.gitTransport==="github\
|
|
1046
|
+
-token"?r=IE(e):(e.gitTransport==="github-https"||e.purpose==="github")&&(r=rs({...t,...Pn()})),es(r,e.gitSafeDirectories||
|
|
1047
|
+
[])}import vp from"node:path";var ns="NPM_CONFIG_PREFIX";function os({env:e={}}={}){return z()?O(e?.[ns])||(O(e?.HOME)?vp.join(O(e.HOME),".local"):""):
|
|
1048
|
+
""}function is(e={}){let t=os(e);return t?{[ns]:t}:{}}function ss(e={}){let t=os(e);return t?[vp.join(t,"bin")]:[]}import{existsSync as AE,readdirSync as RE}from"node:fs";import PE from"node:os";import Pe from"node:path";import pt from"node:process";var Ip="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";function Jt(e=""){return String(e||"").split(":").
|
|
1049
|
+
map(C).filter(Boolean)}function Ap(e=[]){return e.filter(t=>{try{return AE(t)}catch{return!1}})}function Tp(e="",t=/^$/u){
|
|
1050
|
+
try{return RE(e).filter(r=>t.test(r)).sort((r,n)=>Number(/\d+/u.exec(n)?.[0]||0)-Number(/\d+/u.exec(r)?.[0]||0))}catch{return[]}}
|
|
1051
|
+
function OE(e=pt.env){if(z())return[];let t=String(e.HOME||PE.homedir()||"");if(!Pe.isAbsolute(t))return[];let r=Pe.isAbsolute(
|
|
1052
|
+
String(e.XDG_DATA_HOME||""))?e.XDG_DATA_HOME:Pe.join(t,".local/share"),n=Pe.isAbsolute(String(e.MISE_DATA_DIR||""))?e.MISE_DATA_DIR:
|
|
1053
|
+
Pe.join(r,"mise");return Ap([Pe.join(t,".local/bin"),Pe.join(n,"shims"),...[".claude/local",".opencode/bin",".cargo/bin",
|
|
1054
|
+
".bun/bin"].map(o=>Pe.join(t,o))])}function CE(){if(z())return[];let e=["/opt/homebrew","/usr/local"];return[...Jt(pt.env.
|
|
1055
|
+
PATH),...pt.platform==="darwin"?["/opt/homebrew/bin"]:[],...Ap([...Tp("/usr/lib/postgresql",/^\d+$/u).slice(0,1).map(t=>`\
|
|
1056
|
+
/usr/lib/postgresql/${t}/bin`),...pt.platform==="darwin"?e.flatMap(t=>[...Tp(`${t}/opt`,/^postgresql@\d+$/u).slice(0,1).
|
|
1057
|
+
map(r=>`${t}/opt/${r}/bin`),`${t}/opt/mariadb/bin`]):[]])]}function Rp({env:e=pt.env,existingPath:t="",inheritedPath:r="",
|
|
1058
|
+
runtimes:n=[],shimDirs:o=[]}={}){return xe([...Jt(o.join(":")),...Xi(),...n.flatMap(i=>Ki(i)),...Ji(),...Jt(t||(r?"":e.PATH)),
|
|
1059
|
+
...OE(pt.env),...Jt(r),...CE(),...Jt(Ip)]).join(":")}var kE=new Set([...st,ct,at,ut,lt,"HOME","LOGNAME","PATH","USER","XDG_CACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG\
|
|
1060
|
+
_RUNTIME_DIR"]);function NE(e={}){return Object.fromEntries(Object.entries(e&&typeof e=="object"&&!Array.isArray(e)?e:{}).
|
|
1061
|
+
map(([t,r])=>[String(t||"").trim(),String(r??"")]).filter(([t])=>t&&!kE.has(t)&&!t.startsWith("GIT_")&&!t.startsWith("GH\
|
|
1062
|
+
_")&&!t.startsWith("XDG_")))}function as(e={}){return e.envPolicy==="deployment"?[e.project?.deploymentEnv,e.project?.deployment?.
|
|
1063
|
+
env]:[e.project?.runtimeConfigEnv,e.project?.databaseEnv]}function $E(e={}){return as(e).reduce((t,r)=>e.envPolicy==="de\
|
|
1064
|
+
ployment"?(dt(r),{...t,...H(r)}):{...t,...Rn(r,e)},{})}function ME(e={},t={}){return t.envPolicy==="deployment"?[]:t.envPolicy===
|
|
1065
|
+
"project"?as(t):[e,...as(t),t.project?.databaseEnv,t.session?.databaseEnv]}function ft({actor:e={},baseEnv:t=process.env,
|
|
1066
|
+
localPath:r="",request:n={}}={}){let o=Array.isArray(n.runtimes)?n.runtimes.join(":"):"",i=Zi(),s=Rn(n.env,n),a=String(t.
|
|
1067
|
+
XDG_RUNTIME_DIR||"").trim(),c={...no(e.user,NE(t)),...it(e)&&xE.isAbsolute(a)?{XDG_RUNTIME_DIR:a}:{},...qt(...ME(t,n)),...$E(
|
|
1068
|
+
n),...Ep({actor:e,request:n}),...s,...mp({actor:e,request:n}),...i},l={...c,...is({env:c}),VIBE64_DECLARED_RUNTIMES:o},u=Rp(
|
|
1069
|
+
{env:l,existingPath:[...ss({env:l}),l.PATH].filter(Boolean).join(":"),inheritedPath:r,runtimes:n.runtimes,shimDirs:n.shimDirs||
|
|
1070
|
+
[]}),d={...l,PATH:u,...z()?{}:{VIBE64_TOOL_PATH:u}};return{...d,...Vi({actor:e,env:t,gitConfig:{cwd:n.cwd,env:d},project:n.
|
|
1071
|
+
project,session:n.session,userKey:n.userKey})}}import{randomUUID as pv}from"node:crypto";import{mkdirSync as fv,writeFileSync as mv}from"node:fs";import fs from"node:path";import{Buffer as LE}from"node:buffer";import BE from"node:crypto";import{createRequire as UE}from"node:module";var DE=new URL("./../../../vibe64-execution/src/server/engines/terminalSessions.js",import.meta.url).href,Pp=256*1024,GE=300,
|
|
1072
|
+
cs=100,ls=28;var uU=600*1e3,zE=1440*60*1e3,dU=Object.freeze({"ctrl-c":"",enter:"\r",escape:"\x1B",tab:" "}),Cn=new Map,HE=UE(DE),FE=new Map;function jE(){return{code:"terminal_session_not_found",error:"Terminal session not found.",ok:!1}}function ds(e=""){return String(
|
|
1073
|
+
e||"default").trim()||"default"}function kn(e){let t=ds(e);return Cn.has(t)||Cn.set(t,new Map),Cn.get(t)}function VE(e="\
|
|
1074
|
+
default"){return FE.get(ds(e))||null}function WE(e="default"){let t=VE(e);return t?{code:t.code,error:t.error,ok:!1}:null}function qE(e=""){let t=String(e||"");return[...Cn.keys()].filter(r=>r.startsWith(t))}function Nn(e){let t=String(e||""),
|
|
1075
|
+
r=t.length;for(let n=0;n<GE&&(r=t.lastIndexOf(`
|
|
1076
|
+
`,r-1),!(r<0));n+=1);return r>=0&&(t=t.slice(r+1)),t.length>Pp&&(t=t.slice(t.length-Pp)),t}function ps(e={}){return e.status===
|
|
1077
|
+
"running"||e.status==="closing"}function Cp(e={}){return ps(e)||e.status==="exited"}function YE(e={},t=null){if(typeof t!=
|
|
1078
|
+
"function")return!0;try{return t(mt(e))===!0}catch{return!1}}function KE(e=0){let t=Math.floor(Number(e||0));return Number.
|
|
1079
|
+
isFinite(t)&&t>0?t:0}function JE(e="",{outputLimit:t=0}={}){let r=String(e||""),n=KE(t);return!n||r.length<=n?{output:r,
|
|
1080
|
+
outputTruncated:!1}:{output:r.slice(r.length-n),outputTruncated:!0}}function mt(e,t={}){let r=JE(e.output,t);return{ok:!0,
|
|
1081
|
+
closeError:e.closeError||"",cols:e.cols||cs,createdAt:e.createdAt||"",id:e.id,commandPreview:e.commandPreview,exitCode:e.
|
|
1065
1082
|
exitCode,inputVersion:e.inputVersion||0,lastInputAt:e.lastInputAt||"",lastInputBytes:e.lastInputBytes||0,lastOutputAt:e.
|
|
1066
1083
|
lastOutputAt||"",lastOutputBytes:e.lastOutputBytes||0,metadata:e.metadata||{},output:r.output,outputTruncated:r.outputTruncated,
|
|
1067
|
-
outputVersion:e.outputVersion||0,rows:e.rows||
|
|
1068
|
-
metadata,type:"metadata"})),
|
|
1069
|
-
e));return!Number.isFinite(t)||t<0?0:Math.min(t,
|
|
1070
|
-
e.lastInputAt),
|
|
1071
|
-
e);return r>0?Math.max(0,Number(t)-r):0}function
|
|
1072
|
-
e.detachedCleanupTimer=null)}function
|
|
1073
|
-
if(r<1)return;let n=Math.max(0,r-
|
|
1074
|
-
n)}function
|
|
1084
|
+
outputVersion:e.outputVersion||0,rows:e.rows||ls,status:e.status}}function XE(e,t={}){return!e||!t||typeof t!="object"||Array.isArray(t)||(e.metadata={...e.metadata||{},...t},Y(e,{metadata:e.
|
|
1085
|
+
metadata,type:"metadata"})),mt(e)}function ZE(e=""){return LE.byteLength(String(e||""),"utf8")}function On(e=""){let t=Date.parse(String(e||""));return Number.isFinite(t)?t:0}function xn(e=0){let t=Math.floor(Number(
|
|
1086
|
+
e));return!Number.isFinite(t)||t<0?0:Math.min(t,zE)}function QE(e={}){return Math.max(On(e.lastSubscriberDetachedAt),On(
|
|
1087
|
+
e.lastInputAt),On(e.lastOutputAt),On(e.createdAt))}function xp(e={},t=Date.now()){if(e?.subscribers?.size)return 0;let r=QE(
|
|
1088
|
+
e);return r>0?Math.max(0,Number(t)-r):0}function kp(e={}){e?.detachedCleanupTimer&&(clearTimeout(e.detachedCleanupTimer),
|
|
1089
|
+
e.detachedCleanupTimer=null)}function us(e={},t="default"){if(kp(e),!Cp(e)||e?.subscribers?.size)return;let r=xn(e.detachedIdleTimeoutMs);
|
|
1090
|
+
if(r<1)return;let n=Math.max(0,r-xp(e));e.detachedCleanupTimer=setTimeout(()=>{e.detachedCleanupTimer=null,dv({namespace:t})},
|
|
1091
|
+
n)}function ev(e,t=""){let r=ZE(t);r<1||(e.outputVersion=Number(e.outputVersion||0)+1,e.lastOutputAt=new Date().toISOString(),
|
|
1075
1092
|
e.lastOutputBytes=r)}function Y(e,t){if(e?.subscribers?.size)for(let r of[...e.subscribers])try{r(t)}catch{e.subscribers.
|
|
1076
|
-
delete(r)}}function
|
|
1077
|
-
function
|
|
1093
|
+
delete(r)}}function tv(e){let t=String(e?.code||""),r=String(e?.message||e||"Terminal PTY error.");return{code:t,message:r}}
|
|
1094
|
+
function rv(e,t){if(!e)return;let r=tv(t);e.lastWriteErrorAt=new Date().toISOString(),e.lastWriteErrorCode=r.code,e.lastWriteError=
|
|
1078
1095
|
r.message,console.warn("Vibe64 terminal PTY write error.",{code:r.code,id:e.id,metadata:e.metadata||{},message:r.message,
|
|
1079
|
-
namespace:e.namespace||""}),Y(e,{code:r.code,error:r.message,type:"error"})}function
|
|
1080
|
-
!t||typeof t.on!="function"||t.on("error",r=>{
|
|
1081
|
-
let n=e?[
|
|
1082
|
-
return o}function
|
|
1083
|
-
r.session,e)).length}async function
|
|
1096
|
+
namespace:e.namespace||""}),Y(e,{code:r.code,error:r.message,type:"error"})}function nv(e){let t=e?.terminal?._writeStream;
|
|
1097
|
+
!t||typeof t.on!="function"||t.on("error",r=>{rv(e,r)})}function Np({namespace:e="",namespacePrefix:t="",runningOnly:r=!1}={}){
|
|
1098
|
+
let n=e?[ds(e)]:qE(t),o=[];for(let i of n){let s=kn(i);for(let a of s.values())r&&!ps(a)||o.push({namespace:i,session:a})}
|
|
1099
|
+
return o}function ov({filter:e=null,namespacePrefix:t=""}={}){return Np({namespacePrefix:t,runningOnly:!0}).filter(r=>YE(
|
|
1100
|
+
r.session,e)).length}async function iv(e,t){if(!(!e||e.closeHookStarted)){if(e.closeHookStarted=!0,typeof e.onClose!="function")return null;try{
|
|
1084
1101
|
return await e.onClose({exitCode:e.exitCode,id:e.id,output:e.output,reason:t,status:e.status}),null}catch(r){let n=String(
|
|
1085
1102
|
r?.message||r||"Terminal finalization failed."),o=r instanceof Error?r:new Error(n);o.code||="terminal_close_hook_failed";
|
|
1086
1103
|
let i=`\r
|
|
1087
1104
|
[studio] Terminal finalization failed: ${n}\r
|
|
1088
|
-
`;return e.closeError=n,e.output=
|
|
1105
|
+
`;return e.closeError=n,e.output=Nn(`${e.output}${i}`),Y(e,{chunk:i,type:"output"}),Y(e,{error:n,type:"error"}),o}}}async function sv(e,t){
|
|
1089
1106
|
if(!(!e||e.stopHookStarted)){if(e.stopHookStarted=!0,typeof e.onStop!="function")return null;try{return await e.onStop({
|
|
1090
1107
|
id:e.id,output:e.output,reason:t,status:e.status}),null}catch(r){let n=String(r?.message||r||"Terminal stop failed."),o=r instanceof
|
|
1091
1108
|
Error?r:new Error(n);o.code||="terminal_stop_hook_failed";let i=`\r
|
|
1092
1109
|
[studio] Terminal stop failed: ${n}\r
|
|
1093
|
-
`;return e.closeError=n,e.output=
|
|
1110
|
+
`;return e.closeError=n,e.output=Nn(`${e.output}${i}`),Y(e,{chunk:i,type:"output"}),Y(e,{error:n,type:"error"}),o}}}function ht(e,t){
|
|
1094
1111
|
let r=`${String(t?.code||"terminal_cleanup_failed")}:${String(t?.message||"")}`;if(e.reportedLifecycleFailures||=new Set,
|
|
1095
1112
|
e.reportedLifecycleFailures.has(r))return t;e.reportedLifecycleFailures.add(r);let n=String(t?.message||t||"Terminal cle\
|
|
1096
1113
|
anup failed."),o=`\r
|
|
1097
1114
|
[studio] ${n}\r
|
|
1098
|
-
`;return e.closeError=n,e.output=
|
|
1115
|
+
`;return e.closeError=n,e.output=Nn(`${e.output}${o}`),Y(e,{chunk:o,type:"output"}),Y(e,{error:n,type:"error"}),t}function Op(e,t=[]){
|
|
1099
1116
|
let r=new AggregateError(t,`Terminal session could not close cleanly: ${e.id}`);return r.code=t.some(n=>String(n?.code||
|
|
1100
|
-
"").startsWith("terminal_exit_"))?"terminal_exit_unverified":"terminal_cleanup_failed",r.terminalSessionId=e.id,r}function
|
|
1101
|
-
return e.stopHookCompletion||(e.stopHookCompletion=Promise.resolve().then(()=>
|
|
1102
|
-
return e.closeHookCompletion||(e.closeHookCompletion=Promise.resolve().then(()=>
|
|
1117
|
+
"").startsWith("terminal_exit_"))?"terminal_exit_unverified":"terminal_cleanup_failed",r.terminalSessionId=e.id,r}function av(e,t){
|
|
1118
|
+
return e.stopHookCompletion||(e.stopHookCompletion=Promise.resolve().then(()=>sv(e,t))),e.stopHookCompletion}function $p(e,t){
|
|
1119
|
+
return e.closeHookCompletion||(e.closeHookCompletion=Promise.resolve().then(()=>iv(e,t))),e.closeHookCompletion}function Mp(e){
|
|
1103
1120
|
e.status!=="exited"&&(e.status="exited",Y(e,{closeError:e.closeError||"",exitCode:e.exitCode,status:e.status,type:"statu\
|
|
1104
|
-
s"}))}function
|
|
1121
|
+
s"}))}function Dp(e){return e.scopeDrainCompletion||(e.scopeDrainCompletion=(async()=>{if(process.platform!=="win32"&&!await wn(
|
|
1105
1122
|
e.terminal.pid)){let t=new Error(`Terminal execution scope did not become empty: ${e.id}`);throw t.code="terminal_execut\
|
|
1106
|
-
ion_drain_failed",t}})(),e.scopeDrainCompletion.catch(()=>null)),e.scopeDrainCompletion}async function
|
|
1107
|
-
scopeDrainCompletion}catch(t){
|
|
1108
|
-
|
|
1123
|
+
ion_drain_failed",t}})(),e.scopeDrainCompletion.catch(()=>null)),e.scopeDrainCompletion}async function cv(e){try{await e.
|
|
1124
|
+
scopeDrainCompletion}catch(t){ht(e,t)}try{await Promise.all([$p(e,e.stopReason||"exit"),e.stopHookCompletion])}catch(t){
|
|
1125
|
+
ht(e,t)}Mp(e)}function Lp({args:e,command:t,commandPreview:r,cwd:n=process.cwd(),env:o={},maxRunning:i=0,metadata:s=null,
|
|
1109
1126
|
namespace:a="default",namespaceLimitPrefix:c="",runningLimitFilter:l=null,onClose:u=null,onOutput:d=null,onStop:p=null,reuseRunning:f=!1,
|
|
1110
|
-
detachedIdleTimeoutMs:m=0}){let h=
|
|
1111
|
-
[...y.values()].find(U=>
|
|
1112
|
-
_)return{ok:!1,code:"terminal_limit",error:`Terminal limit reached (${_}).`};let
|
|
1113
|
-
o,S=typeof e=="function"?e({env:
|
|
1114
|
-
"function"?s({args:S,env:
|
|
1115
|
-
"object"&&!Array.isArray(
|
|
1116
|
-
closePromise:null,commandPreview:x,cols:
|
|
1127
|
+
detachedIdleTimeoutMs:m=0}){let h=WE(a);if(h)return h;let y=kn(a),w=BE.randomUUID(),g=typeof f=="function"?f:()=>!!f,v=f?
|
|
1128
|
+
[...y.values()].find(U=>ps(U)&&g(U)):null;if(v)return mt(v);let _=Number(i||0),I=c||a;if(_>0&&ov({filter:l,namespacePrefix:I})>=
|
|
1129
|
+
_)return{ok:!1,code:"terminal_limit",error:`Terminal limit reached (${_}).`};let R=typeof o=="function"?o({id:w,namespace:a}):
|
|
1130
|
+
o,S=typeof e=="function"?e({env:R,id:w,namespace:a}):e,x=typeof r=="function"?r({args:S,env:R,id:w,namespace:a}):r,N=typeof s==
|
|
1131
|
+
"function"?s({args:S,env:R,id:w,namespace:a}):s,$=HE("node-pty").spawn(t,S,{cols:cs,cwd:n,env:{...process.env,...R&&typeof R==
|
|
1132
|
+
"object"&&!Array.isArray(R)?R:{}},name:"xterm-color",rows:ls}),M,he=new Promise(U=>{M=U}),k={id:w,closeHookCompletion:null,
|
|
1133
|
+
closePromise:null,commandPreview:x,cols:cs,createdAt:new Date().toISOString(),cwd:n,detachedCleanupTimer:null,detachedIdleTimeoutMs:xn(
|
|
1117
1134
|
m),exitCompletion:he,exitCode:null,lastSubscriberAttachedAt:"",lastSubscriberDetachedAt:new Date().toISOString(),metadata:N&&
|
|
1118
1135
|
typeof N=="object"&&!Array.isArray(N)?N:{},onClose:u,onStop:p,inputVersion:0,lastInputAt:"",lastInputBytes:0,lastOutputAt:"",
|
|
1119
1136
|
lastOutputBytes:0,lastWriteError:"",lastWriteErrorAt:"",lastWriteErrorCode:"",output:"",outputVersion:0,processExited:!1,
|
|
1120
|
-
killStarted:!1,reportedLifecycleFailures:new Set,resolveExitCompletion:M,rows:
|
|
1121
|
-
scopeDrainCompletion:null,namespace:a,subscribers:new Set,terminal:$};return
|
|
1137
|
+
killStarted:!1,reportedLifecycleFailures:new Set,resolveExitCompletion:M,rows:ls,status:"running",stopHookCompletion:null,
|
|
1138
|
+
scopeDrainCompletion:null,namespace:a,subscribers:new Set,terminal:$};return nv(k),$.onData(U=>{if(ev(k,U),k.output=Nn(k.
|
|
1122
1139
|
output+U),Y(k,{chunk:U,lastOutputAt:k.lastOutputAt,outputVersion:k.outputVersion,type:"output"}),typeof d=="function")try{
|
|
1123
|
-
d({chunk:U,output:k.output,session:
|
|
1124
|
-
"Terminal output hook failed.");Y(k,{error:
|
|
1125
|
-
U,k.status="closing",
|
|
1126
|
-
|
|
1127
|
-
e);return o?
|
|
1128
|
-
nning"&&(e.status="closing",Y(e,{exitCode:e.exitCode,status:e.status,type:"status"}));let r=[];if(
|
|
1140
|
+
d({chunk:U,output:k.output,session:mt(k),updateMetadata(vt){return XE(k,vt)}})}catch(vt){let He=String(vt?.message||vt||
|
|
1141
|
+
"Terminal output hook failed.");Y(k,{error:He,type:"error"})}us(k,a)}),$.onExit(({exitCode:U})=>{k.processExited=!0,k.exitCode=
|
|
1142
|
+
U,k.status="closing",Dp(k),Y(k,{exitCode:U,status:k.status,type:"status"}),$p(k,k.stopReason||"exit"),k.resolveExitCompletion(),
|
|
1143
|
+
cv(k)}),y.set(w,k),us(k,a),lv(w,{namespace:a})}function lv(e,{namespace:t="default",outputLimit:r=0}={}){let o=kn(t).get(
|
|
1144
|
+
e);return o?mt(o,{outputLimit:r}):jE()}async function uv(e,t="stop"){if(!e||e.processExited)return{failures:[]};e.stopReason||=String(t||"stop"),e.status==="ru\
|
|
1145
|
+
nning"&&(e.status="closing",Y(e,{exitCode:e.exitCode,status:e.status,type:"status"}));let r=[];if(av(e,e.stopReason),!e.
|
|
1129
1146
|
processExited&&!e.killStarted){e.killStarted=!0;try{e.terminal.kill()}catch(n){e.killStarted=!1;let o=n instanceof Error?
|
|
1130
|
-
n:new Error(String(n||"Terminal process could not be killed."));o.code||="terminal_kill_failed",r.push(
|
|
1131
|
-
e)}catch(n){r.push(
|
|
1132
|
-
closePromise;let o=(async()=>{let i=[];if(
|
|
1133
|
-
n,c.failures)}try{await n.exitCompletion}catch(c){i.push(
|
|
1134
|
-
c))}let a=(await Promise.all([n.stopHookCompletion,n.closeHookCompletion])).filter(Boolean);if(n.processExited&&
|
|
1135
|
-
length>0)throw
|
|
1136
|
-
c))}:{}}})();n.closePromise=o;try{return await o}finally{n.closePromise===o&&(n.closePromise=null)}}async function
|
|
1137
|
-
{namespace:t,namespacePrefix:r})){if(!
|
|
1138
|
-
if(a<1&&e==null)continue;if(
|
|
1139
|
-
r real-user PTY execution.");throw n.code="vibe64_command_pty_helper_payload_root_required",n}let r=
|
|
1140
|
-
"exec-helper-payloads");return
|
|
1141
|
-
actor:t,baseEnv:r,localPath:n,cwd:o,env:i}={}){let s=e.terminal||{};return
|
|
1142
|
-
l=
|
|
1143
|
-
cwd:o,env:typeof l=="function"?l(a):l,input:e.input,operation:
|
|
1144
|
-
`,{mode:384}),["-n",
|
|
1145
|
-
env:
|
|
1146
|
-
return typeof e.envFactory!="function"?o:(i={})=>
|
|
1147
|
-
envFactory:null}})}async function
|
|
1148
|
-
id||"",c=
|
|
1147
|
+
n:new Error(String(n||"Terminal process could not be killed."));o.code||="terminal_kill_failed",r.push(ht(e,o))}}try{await Dp(
|
|
1148
|
+
e)}catch(n){r.push(ht(e,n))}return{failures:r}}async function Bp(e,{namespace:t="default"}={}){let r=kn(t),n=r.get(e);if(!n)return{ok:!0,closed:!1};if(n.closePromise)return n.
|
|
1149
|
+
closePromise;let o=(async()=>{let i=[];if(kp(n),!n.processExited){let c=await uv(n,"close");if(c.failures.length)throw Op(
|
|
1150
|
+
n,c.failures)}try{await n.exitCompletion}catch(c){i.push(ht(n,c))}try{await n.scopeDrainCompletion}catch(c){i.push(ht(n,
|
|
1151
|
+
c))}let a=(await Promise.all([n.stopHookCompletion,n.closeHookCompletion])).filter(Boolean);if(n.processExited&&Mp(n),i.
|
|
1152
|
+
length>0)throw Op(n,[...i,...a]);return r.delete(e),{ok:!0,closed:!0,...a.length>0?{cleanupErrors:a.map(c=>String(c?.message||
|
|
1153
|
+
c))}:{}}})();n.closePromise=o;try{return await o}finally{n.closePromise===o&&(n.closePromise=null)}}async function dv({idleMs:e=null,namespace:t="",namespacePrefix:r="",now:n=Date.now()}={}){let o=0;for(let{namespace:i,session:s}of Np(
|
|
1154
|
+
{namespace:t,namespacePrefix:r})){if(!Cp(s)||s.subscribers?.size)continue;let a=e==null?xn(s.detachedIdleTimeoutMs):xn(e);
|
|
1155
|
+
if(a<1&&e==null)continue;if(xp(s,n)<a){us(s,i);continue}(await Bp(s.id,{namespace:i})).closed&&(o+=1)}return{ok:!0,closed:o}}var Up=new Map;function hv(e=""){let t=String(e||"").trim();if(!t){let n=new Error("A helper payload root is required fo\
|
|
1156
|
+
r real-user PTY execution.");throw n.code="vibe64_command_pty_helper_payload_root_required",n}let r=fs.join(fs.resolve(t),
|
|
1157
|
+
"exec-helper-payloads");return fv(r,{mode:448,recursive:!0}),fs.join(r,`${process.pid}-${Date.now()}-${pv()}.json`)}function gv(e={},{
|
|
1158
|
+
actor:t,baseEnv:r,localPath:n,cwd:o,env:i}={}){let s=e.terminal||{};return vn(t)?{args:(a={})=>{let c=hv(s.helperPayloadRoot),
|
|
1159
|
+
l=Gp(e,{actor:t,baseEnv:r,policyEnv:i}),u=typeof e.args=="function"?e.args(a):e.args,d=jt({actor:t,args:u,command:e.command,
|
|
1160
|
+
cwd:o,env:typeof l=="function"?l(a):l,input:e.input,operation:Vt(e)});return mv(c,`${JSON.stringify(d)}
|
|
1161
|
+
`,{mode:384}),["-n",Ui(),"execute",c]},command:"sudo",cwd:s.helperPayloadRoot,env:{}}:{args:e.args,command:e.command,cwd:o,
|
|
1162
|
+
env:Gp(e,{actor:t,baseEnv:r,localPath:n,policyEnv:i})}}function Gp(e={},{actor:t={},baseEnv:r={},localPath:n="",policyEnv:o={}}={}){
|
|
1163
|
+
return typeof e.envFactory!="function"?o:(i={})=>ft({actor:t,baseEnv:r,localPath:n,request:{...e,env:H(e.envFactory(i)),
|
|
1164
|
+
envFactory:null}})}async function zp(e={},{actor:t,baseEnv:r,localPath:n,cwd:o,env:i}={}){try{let s=e.terminal||{},a=e.execution?.
|
|
1165
|
+
id||"",c=gv(e,{actor:t,baseEnv:r||i,localPath:n,cwd:o,env:i}),l=Lp({args:c.args,command:c.command,commandPreview:s.commandPreview,
|
|
1149
1166
|
cwd:c.cwd,detachedIdleTimeoutMs:s.detachedIdleTimeoutMs,env:c.env,maxRunning:s.maxRunning,metadata:s.metadata,namespace:s.
|
|
1150
1167
|
namespace,namespaceLimitPrefix:s.namespaceLimitPrefix,onClose:async u=>{try{typeof s.onClose=="function"&&await s.onClose(
|
|
1151
|
-
u)}finally{a&&
|
|
1152
|
-
reuseRunning,runningLimitFilter:s.runningLimitFilter});return l?.ok===!0&&a&&
|
|
1153
|
-
ok===!0?{...l,execution:e.execution}:l}catch(s){return
|
|
1154
|
-
nd_pty_failed",{execution:e.execution})}}import{realpathSync as
|
|
1155
|
-
"..")&&!
|
|
1156
|
-
if(n.length===0)return r;let o=n.filter(s
|
|
1157
|
-
"Vibe64 command cwd is outside the allowed roots.");throw i.code="vibe64_command_cwd_outside_allowed_roots",i}import{randomUUID as
|
|
1158
|
-
ex","github","github-api","source-editor","preview","output","deployment","health","workspace-cache","source"]),
|
|
1159
|
-
freeze(["capture","pty","detached"]),
|
|
1160
|
-
"auth","deployment"]),
|
|
1161
|
-
control","job","preview","service","terminal"]),
|
|
1168
|
+
u)}finally{a&&Up.set(a,{id:u.id,namespace:s.namespace,scopeEmpty:!0})}},onOutput:s.onOutput,onStop:s.onStop,reuseRunning:s.
|
|
1169
|
+
reuseRunning,runningLimitFilter:s.runningLimitFilter});return l?.ok===!0&&a&&Up.set(a,{id:l.id,namespace:s.namespace}),l?.
|
|
1170
|
+
ok===!0?{...l,execution:e.execution}:l}catch(s){return G(s?.message||"Vibe64 PTY command failed.",s?.code||"vibe64_comma\
|
|
1171
|
+
nd_pty_failed",{execution:e.execution})}}import{realpathSync as Hp}from"node:fs";import Fp from"node:path";function bv(e=""){return O(e||process.cwd())}function jp(e="",t=""){let r=Fp.relative(e,t);return r===""||!r.startsWith(
|
|
1172
|
+
"..")&&!Fp.isAbsolute(r)}function Vp(e="",{allowedRoots:t=[]}={}){let r=bv(e),n=(Array.isArray(t)?t:[t]).map(O).filter(Boolean);
|
|
1173
|
+
if(n.length===0)return r;let o=n.filter(s=>jp(s,r));if(o.length>0){let s=Hp(r);if(o.some(a=>jp(Hp(a),s)))return s}let i=new Error(
|
|
1174
|
+
"Vibe64 command cwd is outside the allowed roots.");throw i.code="vibe64_command_cwd_outside_allowed_roots",i}import{randomUUID as wv}from"node:crypto";var yv=Object.freeze(["daemon","owner-user","named-user","app"]),_v=Object.freeze(["account","assistant","terminal","cod\
|
|
1175
|
+
ex","github","github-api","source-editor","preview","output","deployment","health","workspace-cache","source"]),Sv=Object.
|
|
1176
|
+
freeze(["capture","pty","detached"]),Ev=Object.freeze(["utf8","base64"]),vv=Object.freeze(["session","project","preview",
|
|
1177
|
+
"auth","deployment"]),Tv=Object.freeze(["none","github-https","github-token"]),qp=Object.freeze(["assistant","browser","\
|
|
1178
|
+
control","job","preview","service","terminal"]),Yp=Object.freeze(["finite","interactive","service"]),Iv=Object.freeze(["\
|
|
1162
1179
|
node26","git","gh","mysql","mariadb","postgresql","sqlite","ripgrep","bubblewrap","bun","php","composer","awsebcli","cpp",
|
|
1163
|
-
"python","ruby","go","java","kotlin","csharp","rust","playwright","operator-clis"]),
|
|
1180
|
+
"python","ruby","go","java","kotlin","csharp","rust","playwright","operator-clis"]),Av=1e3*1e3*100,Rv=new Set(["assistan\
|
|
1164
1181
|
t","codex","deployment","output","preview","source","terminal"]);function ee(e="",t="vibe64_command_request_invalid"){let r=new Error(
|
|
1165
|
-
e||"Invalid Vibe64 command request.");return r.code=t,r}function
|
|
1166
|
-
o))throw ee(`Unsupported Vibe64 command ${n}: ${o||"(empty)"}.`,`vibe64_command_${n}_unsupported`);return o}function
|
|
1182
|
+
e||"Invalid Vibe64 command request.");return r.code=t,r}function Oe(e="",t=[],r="",n="value"){let o=C(e)||r;if(!t.includes(
|
|
1183
|
+
o))throw ee(`Unsupported Vibe64 command ${n}: ${o||"(empty)"}.`,`vibe64_command_${n}_unsupported`);return o}function Pv(e=[],{
|
|
1167
1184
|
mode:t="capture"}={}){if(typeof e=="function"){if(t!=="pty")throw ee("Function-valued command args are only supported fo\
|
|
1168
1185
|
r PTY commands.","vibe64_command_args_function_requires_pty");return e}return(Array.isArray(e)?e:[e]).map(r=>String(r??""))}
|
|
1169
|
-
function
|
|
1170
|
-
nly supported for PTY commands.","vibe64_command_env_function_requires_pty");return{env:{},envFactory:e}}let r=
|
|
1171
|
-
r),{env:r,envFactory:null}}function
|
|
1186
|
+
function Ov(e={},{mode:t="capture"}={}){if(typeof e=="function"){if(t!=="pty")throw ee("Function-valued command env is o\
|
|
1187
|
+
nly supported for PTY commands.","vibe64_command_env_function_requires_pty");return{env:{},envFactory:e}}let r=H(e);return dt(
|
|
1188
|
+
r),{env:r,envFactory:null}}function ms(e=[]){return(Array.isArray(e)?e:[e]).map(O).filter(Boolean)}function Cv(e={}){let t=j(
|
|
1172
1189
|
e);return{commandPreview:t.commandPreview,detachedIdleTimeoutMs:t.detachedIdleTimeoutMs,helperPayloadRoot:O(t.helperPayloadRoot||
|
|
1173
1190
|
t.payloadRoot),maxRunning:t.maxRunning,metadata:t.metadata,namespace:C(t.namespace),namespaceLimitPrefix:C(t.namespaceLimitPrefix),
|
|
1174
1191
|
onClose:t.onClose,onOutput:t.onOutput,onStop:t.onStop,reuseRunning:t.reuseRunning,runningLimitFilter:t.runningLimitFilter}}
|
|
1175
|
-
function
|
|
1192
|
+
function xv(e={}){let t=j(e),r=O(t.home||t.toolHomeSource);return r?{cacheRoot:O(t.cacheRoot),configRoot:O(t.configRoot),
|
|
1176
1193
|
dataRoot:O(t.dataRoot),gid:Number.isSafeInteger(Number(t.gid??t.hostGid))?Number(t.gid??t.hostGid):null,home:r,scope:C(t.
|
|
1177
1194
|
scope),stateRoot:O(t.stateRoot),uid:Number.isSafeInteger(Number(t.uid??t.hostUid))?Number(t.uid??t.hostUid):null,username:C(
|
|
1178
|
-
t.username||t.ownerUserKey||t.userKey)}:{}}function
|
|
1179
|
-
ve":"finite"}function
|
|
1180
|
-
"job"}function
|
|
1181
|
-
`Invalid Vibe64 execution identifier: ${t}.`,"vibe64_execution_identifier_invalid");return t}function
|
|
1182
|
-
apture",project:r={},purpose:n="terminal",session:o={}}={}){let i=
|
|
1183
|
-
kind"),a=
|
|
1195
|
+
t.username||t.ownerUserKey||t.userKey)}:{}}function kv(e="capture"){return e==="detached"?"service":e==="pty"?"interacti\
|
|
1196
|
+
ve":"finite"}function Nv({mode:e="capture",purpose:t="terminal"}={}){return t==="preview"?"preview":e==="pty"?"terminal":
|
|
1197
|
+
"job"}function gt(e=""){let t=C(e);if(!t)return"";if(!/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,254}[A-Za-z0-9])?$/u.test(t))throw ee(
|
|
1198
|
+
`Invalid Vibe64 execution identifier: ${t}.`,"vibe64_execution_identifier_invalid");return t}function Kp(e={},{mode:t="c\
|
|
1199
|
+
apture",project:r={},purpose:n="terminal",session:o={}}={}){let i=j(e),s=Oe(i.kind,qp,Nv({mode:t,purpose:n}),"execution_\
|
|
1200
|
+
kind"),a=Oe(i.lifecycle,Yp,kv(t),"execution_lifecycle");if(t==="detached"&&a!=="service"||t==="pty"&&a!=="interactive"||
|
|
1184
1201
|
t==="capture"&&a!=="finite")throw ee(`Execution lifecycle ${a} is incompatible with command mode ${t}.`,"vibe64_executio\
|
|
1185
|
-
n_lifecycle_incompatible");let c=
|
|
1202
|
+
n_lifecycle_incompatible");let c=gt(i.ownerId||o.sessionId||o.id);if(a==="service"&&!c)throw ee("Service execution requi\
|
|
1186
1203
|
res a durable owner id.","vibe64_execution_owner_required");let l=i.resourceProfile;if(l!=null&&(!l||typeof l!="object"||
|
|
1187
1204
|
Object.keys(l).some(u=>!["key","compatibilityKey","environment"].includes(u))||!/^[a-z0-9][a-z0-9_-]{0,127}$/u.test(l.key||
|
|
1188
1205
|
"")||!/^[a-f0-9]{64}$/u.test(l.compatibilityKey||"")||!["development","test","production"].includes(l.environment)))throw ee(
|
|
1189
1206
|
"Invalid activity resource profile identity.","vibe64_resource_profile_invalid");return Object.freeze({...l?{resourceProfile:Object.
|
|
1190
|
-
freeze({...l})}:{},controlGenerationId:
|
|
1191
|
-
""?{}:{workflowId
|
|
1192
|
-
parentExecutionId:
|
|
1193
|
-
o.sessionId||o.id)})}function
|
|
1207
|
+
freeze({...l})}:{},controlGenerationId:gt(i.controlGenerationId),...i.workflowId===void 0||i.workflowId===null||i.workflowId===
|
|
1208
|
+
""?{}:{workflowId:$v(i.workflowId)},id:wv(),kind:s,label:C(i.label),lifecycle:a,operationId:gt(i.operationId),ownerId:c,
|
|
1209
|
+
parentExecutionId:gt(i.parentExecutionId),projectSlug:gt(i.projectSlug||r.slug||r.projectSlug),sessionId:gt(i.sessionId||
|
|
1210
|
+
o.sessionId||o.id)})}function $v(e){if(typeof e!="string"||!/^[a-f0-9]{8}-[a-f0-9]{4}-[1-8][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/iu.
|
|
1194
1211
|
test(e))throw ee("Execution requires a valid managed workflow id.","vibe64_workflow_id_invalid");return e.toLowerCase()}
|
|
1195
|
-
function
|
|
1196
|
-
let r=
|
|
1197
|
-
o)?o:[o]).map(C).filter(Boolean))}function
|
|
1198
|
-
ibe64_command_required");let n=
|
|
1199
|
-
"capture"))throw ee("Cancellation signals require a finite capture command.","vibe64_command_signal_invalid");let o=
|
|
1200
|
-
baseEnv),i=
|
|
1201
|
-
if(!
|
|
1202
|
-
l=
|
|
1212
|
+
function Mv(e=""){return Rv.has(e)?Yi:[]}function Wp(e={},t=""){return Object.prototype.hasOwnProperty.call(e,t)}function Dv(e={},t=""){
|
|
1213
|
+
let r=Wp(e,"runtimes"),n=Wp(e,"runtime");if(!r&&!n)return xe(Mv(t));let o=r?e.runtimes:e.runtime;return xe((Array.isArray(
|
|
1214
|
+
o)?o:[o]).map(C).filter(Boolean))}function Jp(e={}){let t=j(e),r=C(t.command);if(!r)throw ee("A command is required.","v\
|
|
1215
|
+
ibe64_command_required");let n=Oe(t.mode,Sv,"capture","mode");if(t.signal!=null&&(!(t.signal instanceof AbortSignal)||n!==
|
|
1216
|
+
"capture"))throw ee("Cancellation signals require a finite capture command.","vibe64_command_signal_invalid");let o=H(t.
|
|
1217
|
+
baseEnv),i=Ov(t.env!==void 0?t.env:t.extraEnv,{mode:n}),s=Oe(t.purpose,_v,"terminal","purpose"),a=Dv(t,s);for(let d of a)
|
|
1218
|
+
if(!Iv.includes(d))throw ee(`Unsupported Vibe64 runtime: ${d}.`,"vibe64_command_runtime_unsupported");let c=j(t.project),
|
|
1219
|
+
l=j(t.session),u=t.releaseEnvironmentFile??"";if(typeof u!="string"||u&&(!u.startsWith("/")||/[\r\n\0]/u.test(u)||n!=="c\
|
|
1203
1220
|
apture"||t.actor!=="app"||t.envPolicy!=="deployment"||Object.keys(i.env).length||i.envFactory||Object.keys(o).length))throw ee(
|
|
1204
1221
|
"Release environment files require a finite application deployment command without caller Env.","vibe64_command_release_\
|
|
1205
|
-
environment_invalid");return{actor:
|
|
1206
|
-
baseEnv:o,command:r,cwd:O(t.cwd||process.cwd()),env:i.env,envFactory:i.envFactory,envPolicy:
|
|
1207
|
-
"env_policy"),releaseEnvironmentFile:u,execution:
|
|
1208
|
-
t.credentialHome),gitAuthToken:C(t.gitAuthToken||t.gitCredentials?.token),gitSafeDirectories:
|
|
1209
|
-
safeDirectories),gitTransport:
|
|
1222
|
+
environment_invalid");return{actor:Oe(t.actor,yv,"daemon","actor"),allowedRoots:ms(t.allowedRoots),args:Pv(t.args,{mode:n}),
|
|
1223
|
+
baseEnv:o,command:r,cwd:O(t.cwd||process.cwd()),env:i.env,envFactory:i.envFactory,envPolicy:Oe(t.envPolicy,vv,"session",
|
|
1224
|
+
"env_policy"),releaseEnvironmentFile:u,execution:Kp(t.execution,{mode:n,project:c,purpose:s,session:l}),credentialHome:xv(
|
|
1225
|
+
t.credentialHome),gitAuthToken:C(t.gitAuthToken||t.gitCredentials?.token),gitSafeDirectories:ms(t.gitSafeDirectories||t.
|
|
1226
|
+
safeDirectories),gitTransport:Oe(t.gitTransport,Tv,t.githubTransport?"github-https":"none","git_transport"),inheritProcessEnv:!u&&
|
|
1210
1227
|
t.inheritProcessEnv!==!1,input:t.stdin??t.input,logPath:O(t.logPath),maxBuffer:Number.isSafeInteger(Number(t.maxBuffer))&&
|
|
1211
|
-
Number(t.maxBuffer)>0?Number(t.maxBuffer):
|
|
1212
|
-
t.outputEncoding,
|
|
1213
|
-
t.shimDirs),terminal:
|
|
1214
|
-
timeout):15e3,userKey:C(t.userKey)}}var
|
|
1228
|
+
Number(t.maxBuffer)>0?Number(t.maxBuffer):Av,mode:n,onOutput:typeof t.onOutput=="function"?t.onOutput:null,outputEncoding:Oe(
|
|
1229
|
+
t.outputEncoding,Ev,"utf8","output_encoding"),project:c,purpose:s,runtimes:a,session:l,signal:t.signal??null,shimDirs:ms(
|
|
1230
|
+
t.shimDirs),terminal:Cv(t.terminal||t.pty),timeout:Number.isSafeInteger(Number(t.timeout))&&Number(t.timeout)>0?Number(t.
|
|
1231
|
+
timeout):15e3,userKey:C(t.userKey)}}var Lv=null,Xp="VIBE64_MANAGED_EXECUTION_REQUIRED";function hs(){return Lv}function $n(e=process.env){return["1","true"].includes(String(e?.[Xp]||"").trim().toLowerCase())}async function Bv(e,{actor:t,baseEnv:r,localPath:n,cwd:o,env:i,requiresHelper:s}={}){return e.releaseEnvironmentFile?G("\
|
|
1215
1232
|
Release environment execution requires a managed host.","vibe64_release_environment_unavailable",{execution:e.execution}):
|
|
1216
|
-
e.mode==="pty"?
|
|
1233
|
+
e.mode==="pty"?zp(e,{actor:t,baseEnv:r,localPath:n,cwd:o,env:i}):e.mode==="detached"?t.requiresRealUser&&(!it(t)||s)?G("\
|
|
1217
1234
|
Detached real-user command execution is unsupported when the helper is required.","vibe64_command_detached_real_user_uns\
|
|
1218
|
-
upported",{execution:e.execution}):
|
|
1219
|
-
cwd:o,env:i,input:e.input,operation:
|
|
1220
|
-
timeout}),execution:e.execution}:
|
|
1235
|
+
upported",{execution:e.execution}):Vd(e,{actor:t,cwd:o,env:i}):s?{...await Gi(jt({actor:t,args:e.args,command:e.command,
|
|
1236
|
+
cwd:o,env:i,input:e.input,operation:Vt(e)}),{maxBuffer:e.maxBuffer,outputEncoding:e.outputEncoding,signal:e.signal,timeout:e.
|
|
1237
|
+
timeout}),execution:e.execution}:Ue(e.command,e.args,{cwd:o,env:i,execution:e.execution,input:e.input,maxBuffer:e.maxBuffer,
|
|
1221
1238
|
onOutput:e.onOutput,outputEncoding:e.outputEncoding,signal:e.signal,timeout:e.timeout})}async function D(e={}){let t=null;
|
|
1222
|
-
try{if(t=
|
|
1239
|
+
try{if(t=Jp(e),t.signal?.aborted)return G("Command cancelled.","vibe64_command_cancelled",{execution:t.execution});let r=await tp(
|
|
1223
1240
|
t),n=t.inheritProcessEnv?{...process.env,...t.baseEnv}:{...t.baseEnv},o=(m={})=>({...m,VIBE64_EXECUTION_ID:t.execution.id}),
|
|
1224
|
-
i=
|
|
1225
|
-
join(":"):"",l=o(
|
|
1226
|
-
r,l);let u=
|
|
1227
|
-
t.envFactory?
|
|
1241
|
+
i=hs(),s=$n(n)||$n(process.env),a=vn(r),c=!i&&!s&&!a&&!En(n)&&!En(process.env)&&it(r)?[n.PATH,process.env.PATH].filter(Boolean).
|
|
1242
|
+
join(":"):"",l=o(ft({actor:r,baseEnv:n,localPath:c,request:t.releaseEnvironmentFile?{...t,project:{},session:{}}:t}));np(
|
|
1243
|
+
r,l);let u=Vp(t.cwd,{allowedRoots:t.allowedRoots});rp(r,t,u);let d=(m={})=>typeof t.args=="function"?t.args(m):t.args,p=(m={})=>o(
|
|
1244
|
+
t.envFactory?ft({actor:r,baseEnv:n,localPath:c,request:{...t,env:t.envFactory(m),envFactory:null}}):l),f=(m=t,h={})=>Bv(
|
|
1228
1245
|
m,{actor:r,baseEnv:n,localPath:c,cwd:u,env:l,requiresHelper:a,...h});return i?await i.runCommand(t,{actor:r,baseEnv:n,cwd:u,
|
|
1229
|
-
env:l,resolveArgs:d,resolveEnv:p,runLocal:f}):t.releaseEnvironmentFile?
|
|
1230
|
-
ed host.","vibe64_release_environment_unavailable",{execution:t.execution}):s?
|
|
1246
|
+
env:l,resolveArgs:d,resolveEnv:p,runLocal:f}):t.releaseEnvironmentFile?G("Release environment execution requires a manag\
|
|
1247
|
+
ed host.","vibe64_release_environment_unavailable",{execution:t.execution}):s?G("Managed execution safety is unavailable\
|
|
1231
1248
|
. Vibe64 did not start this work.","vibe64_managed_execution_provider_unavailable",{execution:t.execution,retryable:!1}):
|
|
1232
|
-
f()}catch(r){return
|
|
1233
|
-
import se from"node:path";var
|
|
1249
|
+
f()}catch(r){return G(r?.message||"Vibe64 command failed.",r?.code||"vibe64_command_failed",{execution:t?.execution})}}import{createHash as Uv}from"node:crypto";import{lstat as Gv,mkdir as zv,mkdtemp as Hv,rm as Fv,statfs as jv}from"node:fs/promises";
|
|
1250
|
+
import se from"node:path";var Vv=3e4,Wv=512*1024*1024,qv=1024*1024*1024,tf=new Set(["cancelled","completed","failed","interrupted"]),Mn=new Map;async function Dn({
|
|
1234
1251
|
outerTurnId:e="",outcome:t="completed",project:r={},runCommand:n=D,sessionId:o="",temporaryDiskBudgetBytes:i,temporaryDiskReserveBytes:s,
|
|
1235
|
-
timestamp:a="",worktreePath:c=""}={}){let l=
|
|
1236
|
-
return
|
|
1237
|
-
async function
|
|
1238
|
-
let s=await
|
|
1239
|
-
refs:r,runCommand:n});let a=await K(n,e.worktreePath,["rev-parse","--verify","HEAD"],{project:t}),c=await
|
|
1240
|
-
project:t,runCommand:n,temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i,worktreePath:e.worktreePath}),l=await
|
|
1241
|
-
e.worktreePath,{project:t});for(let u=0;;u+=1){let d=await
|
|
1242
|
-
p=d||a,f=await K(n,e.worktreePath,["commit-tree",c,"-p",p],{env:
|
|
1252
|
+
timestamp:a="",worktreePath:c=""}={}){let l=Jv({outerTurnId:e,outcome:t,sessionId:o,timestamp:a,worktreePath:c}),u=gs(l);
|
|
1253
|
+
return nf(l.worktreePath,()=>Yv({identity:l,project:r,refs:u,runCommand:n,temporaryDiskBudgetBytes:i,temporaryDiskReserveBytes:s}))}
|
|
1254
|
+
async function Yv({identity:e={},project:t={},refs:r={},runCommand:n=D,temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i}={}){
|
|
1255
|
+
let s=await bt(n,e.worktreePath,["rev-parse","--verify",r.turnRef],{project:t});if(s)return ef({commit:s,identity:e,project:t,
|
|
1256
|
+
refs:r,runCommand:n});let a=await K(n,e.worktreePath,["rev-parse","--verify","HEAD"],{project:t}),c=await rf({baseCommit:a,
|
|
1257
|
+
project:t,runCommand:n,temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i,worktreePath:e.worktreePath}),l=await cf(n,
|
|
1258
|
+
e.worktreePath,{project:t});for(let u=0;;u+=1){let d=await bt(n,e.worktreePath,["rev-parse","--verify",r.latestRef],{project:t}),
|
|
1259
|
+
p=d||a,f=await K(n,e.worktreePath,["commit-tree",c,"-p",p],{env:Xv(e.timestamp),input:af(e),project:t});try{await K(n,e.
|
|
1243
1260
|
worktreePath,["update-ref","--stdin"],{input:`start
|
|
1244
1261
|
create ${r.turnRef} ${f}
|
|
1245
1262
|
update ${r.latestRef} ${f} ${d||l}
|
|
1246
1263
|
prepare
|
|
1247
1264
|
commit
|
|
1248
|
-
`,project:t})}catch(m){let h=await
|
|
1249
|
-
identity:e,project:t,refs:r,runCommand:n});let y=await
|
|
1265
|
+
`,project:t})}catch(m){let h=await bt(n,e.worktreePath,["rev-parse","--verify",r.turnRef],{project:t});if(h)return ef({commit:h,
|
|
1266
|
+
identity:e,project:t,refs:r,runCommand:n});let y=await bt(n,e.worktreePath,["rev-parse","--verify",r.latestRef],{project:t});
|
|
1250
1267
|
if(u>=2||y===d)throw m;continue}return{baseCommit:p,commit:f,created:!0,latestRef:r.latestRef,ok:!0,outerTurnId:e.outerTurnId,
|
|
1251
1268
|
outcome:e.outcome,sessionId:e.sessionId,tree:c,turnRef:r.turnRef}}}async function ae({baseCommit:e="HEAD",paths:t=[],project:r={},
|
|
1252
|
-
runCommand:n=D,temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i,worktreePath:s=""}={}){let a=se.resolve(
|
|
1253
|
-
treePath"));return
|
|
1254
|
-
worktreePath:a}))}async function
|
|
1255
|
-
temporaryDiskReserveBytes:i,worktreePath:s=""}={}){let a=se.resolve(
|
|
1256
|
-
absolute-git-dir"],{project:r}),l=se.join(c,"vibe64-checkpoints");await
|
|
1269
|
+
runCommand:n=D,temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i,worktreePath:s=""}={}){let a=se.resolve(Ge(s,"work\
|
|
1270
|
+
treePath"));return nf(a,()=>rf({baseCommit:e,paths:t,project:r,runCommand:n,temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i,
|
|
1271
|
+
worktreePath:a}))}async function rf({baseCommit:e="HEAD",paths:t=[],project:r={},runCommand:n=D,temporaryDiskBudgetBytes:o,
|
|
1272
|
+
temporaryDiskReserveBytes:i,worktreePath:s=""}={}){let a=se.resolve(Ge(s,"worktreePath")),c=await K(n,a,["rev-parse","--\
|
|
1273
|
+
absolute-git-dir"],{project:r}),l=se.join(c,"vibe64-checkpoints");await zv(l,{recursive:!0});let u=await Hv(se.join(l,".\
|
|
1257
1274
|
tree-")),d=se.join(u,"index");try{let p={GIT_INDEX_FILE:d};await K(n,a,["read-tree",e||"HEAD"],{env:p,project:r});let f=Array.
|
|
1258
|
-
isArray(t)?t.map(m=>String(m||"")).filter(Boolean):[];return await
|
|
1275
|
+
isArray(t)?t.map(m=>String(m||"")).filter(Boolean):[];return await Kv({gitDirectory:c,paths:f,project:r,runCommand:n,temporaryDiskBudgetBytes:o,
|
|
1259
1276
|
temporaryDiskReserveBytes:i,worktreePath:a}),await K(n,a,["add","-A","--",...f.length>0?f:["."]],{env:{...p,GIT_LITERAL_PATHSPECS:"\
|
|
1260
|
-
1"},project:r}),await K(n,a,["write-tree"],{env:p,project:r})}finally{await
|
|
1261
|
-
let r=se.resolve(e),o=(
|
|
1262
|
-
get(r)===i&&
|
|
1277
|
+
1"},project:r}),await K(n,a,["write-tree"],{env:p,project:r})}finally{await Fv(u,{force:!0,recursive:!0})}}function nf(e="",t=async()=>null){
|
|
1278
|
+
let r=se.resolve(e),o=(Mn.get(r)||Promise.resolve()).catch(()=>null).then(t),i=o.then(()=>null,()=>null).finally(()=>{Mn.
|
|
1279
|
+
get(r)===i&&Mn.delete(r)});return Mn.set(r,i),o}async function Kv({gitDirectory:e="",paths:t=[],project:r={},runCommand:n=D,
|
|
1263
1280
|
temporaryDiskBudgetBytes:o,temporaryDiskReserveBytes:i,worktreePath:s=""}={}){let a=t.length>0?t:["."],[c,l,u]=await Promise.
|
|
1264
1281
|
all([K(n,s,["diff","--name-only","-z","HEAD","--",...a],{project:r}),K(n,s,["ls-files","--others","--exclude-standard","\
|
|
1265
|
-
-z","--",...a],{project:r}),
|
|
1266
|
-
relative(s,
|
|
1267
|
-
utside the session source.","vibe64_checkpoint_candidate_invalid");let S=await
|
|
1268
|
-
reject(x));S?.isFile()&&p.push({bytes:Number(S.size||0),path:
|
|
1269
|
-
f*2),h=
|
|
1270
|
-
|
|
1271
|
-
bytes-_.bytes||_.path.localeCompare(
|
|
1282
|
+
-z","--",...a],{project:r}),jv(e)]),d=[...new Set([...Zp(c),...Zp(l)])],p=[];for(let _ of d){let I=se.resolve(s,_),R=se.
|
|
1283
|
+
relative(s,I);if(R===".."||R.startsWith(`..${se.sep}`)||se.isAbsolute(R))throw ze("Git returned a checkpoint candidate o\
|
|
1284
|
+
utside the session source.","vibe64_checkpoint_candidate_invalid");let S=await Gv(I).catch(x=>x?.code==="ENOENT"?null:Promise.
|
|
1285
|
+
reject(x));S?.isFile()&&p.push({bytes:Number(S.size||0),path:R})}let f=p.reduce((_,I)=>_+I.bytes,0),m=Math.min(Number.MAX_SAFE_INTEGER,
|
|
1286
|
+
f*2),h=Qp(o,process.env.VIBE64_CHECKPOINT_TEMPORARY_DISK_BUDGET_BYTES,Wv,1),y=Qp(i,process.env.VIBE64_CHECKPOINT_DISK_RESERVE_BYTES,
|
|
1287
|
+
qv,0),w=Math.max(0,Number(u.bavail)*Number(u.bsize)),g=Math.min(h,Math.max(0,w-y));if(m<=g)return;let v=p.sort((_,I)=>I.
|
|
1288
|
+
bytes-_.bytes||_.path.localeCompare(I.path)).slice(0,5).map(_=>`${_.path} (${_.bytes} bytes)`).join(", ");throw ze([`Vib\
|
|
1272
1289
|
e64 refused this checkpoint because changed, unignored files may need about ${m} temporary bytes; the safe budget is ${g}\
|
|
1273
1290
|
bytes.`,v?`Largest candidates: ${v}.`:"","Keep needed files in place and add generated or local-only artifacts to .giti\
|
|
1274
1291
|
gnore, or ask an operator to review the checkpoint disk budget."].filter(Boolean).join(" "),"vibe64_checkpoint_disk_budg\
|
|
1275
|
-
et_exceeded")}function
|
|
1276
|
-
""?t:e,i=Number(o===void 0||o===""?r:o);return Number.isSafeInteger(i)&&i>=n?i:r}async function
|
|
1292
|
+
et_exceeded")}function Zp(e=""){return String(e||"").split("\0").filter(Boolean)}function Qp(e,t,r,n){let o=e==null||e===
|
|
1293
|
+
""?t:e,i=Number(o===void 0||o===""?r:o);return Number.isSafeInteger(i)&&i>=n?i:r}async function ef({commit:e="",identity:t={},
|
|
1277
1294
|
project:r={},refs:n={},runCommand:o=D}={}){let i=await K(o,t.worktreePath,["show","-s","--format=%B",e],{project:r}),s=[
|
|
1278
|
-
...
|
|
1295
|
+
...tf].find(l=>i===af({...t,outcome:l}).trim());if(!s)throw ze("Existing Vibe64 turn checkpoint does not match its durab\
|
|
1279
1296
|
le turn identity.","vibe64_checkpoint_identity_mismatch");let a=await K(o,t.worktreePath,["rev-parse",`${e}^{tree}`],{project:r});
|
|
1280
|
-
if(!await
|
|
1297
|
+
if(!await bt(o,t.worktreePath,["rev-parse","--verify",n.latestRef],{project:r})){let l=await cf(o,t.worktreePath,{project:r});
|
|
1281
1298
|
await K(o,t.worktreePath,["update-ref",n.latestRef,e,l],{project:r})}return{baseCommit:await K(o,t.worktreePath,["rev-pa\
|
|
1282
1299
|
rse",`${e}^`],{project:r}),commit:e,created:!1,latestRef:n.latestRef,ok:!0,outerTurnId:t.outerTurnId,outcome:s,sessionId:t.
|
|
1283
|
-
sessionId,tree:a,turnRef:n.turnRef}}function
|
|
1284
|
-
let i=
|
|
1285
|
-
"vibe64_checkpoint_outcome_invalid");let s=
|
|
1286
|
-
eckpoint timestamp must be an ISO date.","vibe64_checkpoint_timestamp_invalid");let a=se.resolve(
|
|
1287
|
-
outerTurnId:
|
|
1288
|
-
function
|
|
1289
|
-
return`refs/vibe64/checkpoints/${
|
|
1290
|
-
function
|
|
1300
|
+
sessionId,tree:a,turnRef:n.turnRef}}function Jv({outerTurnId:e="",outcome:t="completed",sessionId:r="",timestamp:n="",worktreePath:o=""}={}){
|
|
1301
|
+
let i=Ge(t,"outcome").toLowerCase();if(!tf.has(i))throw ze(`Unsupported Vibe64 turn checkpoint outcome: ${i||"(empty)"}.`,
|
|
1302
|
+
"vibe64_checkpoint_outcome_invalid");let s=Ge(n,"timestamp");if(!Number.isFinite(Date.parse(s)))throw ze("Vibe64 turn ch\
|
|
1303
|
+
eckpoint timestamp must be an ISO date.","vibe64_checkpoint_timestamp_invalid");let a=se.resolve(Ge(o,"worktreePath"));return{
|
|
1304
|
+
outerTurnId:Ge(e,"outerTurnId"),outcome:i,sessionId:Ge(r,"sessionId"),timestamp:new Date(s).toISOString(),worktreePath:a}}
|
|
1305
|
+
function gs(e={}){let t=of(e.sessionId),r=sf(e.outerTurnId);return{latestRef:`${t}/latest`,turnRef:`${t}/${r}`}}function of(e=""){
|
|
1306
|
+
return`refs/vibe64/checkpoints/${sf(e)}`}function sf(e=""){return Uv("sha256").update(String(e)).digest("hex").slice(0,32)}
|
|
1307
|
+
function af(e={}){return[`vibe64 checkpoint: session ${e.sessionId} turn ${e.outerTurnId}`,"","Vibe64-Checkpoint: true",
|
|
1291
1308
|
`Vibe64-Session: ${e.sessionId}`,`Vibe64-Outer-Turn: ${e.outerTurnId}`,`Vibe64-Turn-Outcome: ${e.outcome}`,""].join(`
|
|
1292
|
-
`)}function
|
|
1293
|
-
e,t,["rev-parse","--show-object-format"],{project:r});return"0".repeat(n==="sha256"?64:40)}async function
|
|
1294
|
-
let o=await
|
|
1309
|
+
`)}function Xv(e=""){return{GIT_AUTHOR_DATE:e,GIT_COMMITTER_DATE:e}}async function cf(e,t,{project:r={}}={}){let n=await bt(
|
|
1310
|
+
e,t,["rev-parse","--show-object-format"],{project:r});return"0".repeat(n==="sha256"?64:40)}async function bt(e,t,r,n={}){
|
|
1311
|
+
let o=await lf(e,t,r,n);return o.ok===!0?String(o.stdout||"").trim():""}async function K(e,t,r,n={}){let o=await lf(e,t,
|
|
1295
1312
|
r,n);if(o.ok!==!0)throw ze(String(o.stderr||o.stdout||o.output||o.error||"Git checkpoint command failed.").trim(),o.code||
|
|
1296
|
-
"vibe64_checkpoint_git_failed");return String(o.stdout||"").trim()}function
|
|
1313
|
+
"vibe64_checkpoint_git_failed");return String(o.stdout||"").trim()}function lf(e,t,r,{env:n={},input:o,project:i={}}={}){
|
|
1297
1314
|
return e({actor:"daemon",allowedRoots:[t],args:r,command:"git",cwd:t,env:n,envPolicy:"session",gitSafeDirectories:[t],input:o,
|
|
1298
|
-
mode:"capture",project:i,purpose:"source",runtimes:["git"],timeout:
|
|
1315
|
+
mode:"capture",project:i,purpose:"source",runtimes:["git"],timeout:Vv})}function Ge(e="",t="value"){let r=String(e||"").
|
|
1299
1316
|
trim(),n=Array.from(r).some(o=>{let i=o.codePointAt(0);return i<=31||i===127});if(!r||r.length>512||n)throw ze(`Vibe64 t\
|
|
1300
1317
|
urn checkpoint ${t} is invalid.`,`vibe64_checkpoint_${t.replaceAll(/[^A-Za-z0-9]+/gu,"_").toLowerCase()}_invalid`);return r}
|
|
1301
|
-
function ze(e="",t="vibe64_checkpoint_failed"){let r=new Error(e||"Vibe64 turn checkpoint failed.");return r.code=t,r}var
|
|
1318
|
+
function ze(e="",t="vibe64_checkpoint_failed"){let r=new Error(e||"Vibe64 turn checkpoint failed.");return r.code=t,r}var Zv=Object.freeze(["LANG","LC_ALL","NO_PROXY","PATH","SSL_CERT_DIR","SSL_CERT_FILE","TZ"]);var Qv=64*1024;var uf="backups.git",df="vibe64-atomic",tT=`backup_canonical_ref() {
|
|
1302
1319
|
vibe64_backup_repository="$1"
|
|
1303
1320
|
vibe64_source_repository="$2"
|
|
1304
1321
|
vibe64_source_ref="$3"
|
|
@@ -1316,13 +1333,13 @@ r "$vibe64_backup_repository" rev-parse --verify "$vibe64_backup_ref"
|
|
|
1316
1333
|
' "$vibe64_source_ref" >&2
|
|
1317
1334
|
return 1
|
|
1318
1335
|
fi
|
|
1319
|
-
}`,
|
|
1336
|
+
}`,rT=`#!/bin/sh
|
|
1320
1337
|
set -eu
|
|
1321
1338
|
|
|
1322
1339
|
zero_object=0000000000000000000000000000000000000000
|
|
1323
1340
|
git_dir="$(git rev-parse --absolute-git-dir)"
|
|
1324
1341
|
repository_root="$(dirname "$git_dir")"
|
|
1325
|
-
backup_repository="$repository_root/${
|
|
1342
|
+
backup_repository="$repository_root/${uf}"
|
|
1326
1343
|
if [ -L "$repository_root" ] || [ -L "$backup_repository" ] || [ -L "$repository_root/mutation.lock" ]; then
|
|
1327
1344
|
printf '[vibe64] Canonical repository storage must not use symlinked role paths.
|
|
1328
1345
|
' >&2
|
|
@@ -1331,7 +1348,7 @@ fi
|
|
|
1331
1348
|
exec 8>"$repository_root/mutation.lock"
|
|
1332
1349
|
flock -x 8
|
|
1333
1350
|
|
|
1334
|
-
if [ "\${GIT_PUSH_OPTION_COUNT:-0}" != "1" ] || [ "\${GIT_PUSH_OPTION_0:-}" != "${
|
|
1351
|
+
if [ "\${GIT_PUSH_OPTION_COUNT:-0}" != "1" ] || [ "\${GIT_PUSH_OPTION_0:-}" != "${df}" ]; then
|
|
1335
1352
|
printf '[vibe64] Canonical repository pushes must use the Vibe64 atomic mutation path.
|
|
1336
1353
|
' >&2
|
|
1337
1354
|
exit 1
|
|
@@ -1342,7 +1359,7 @@ if [ "$(git --git-dir "$backup_repository" rev-parse --is-bare-repository 2>/dev
|
|
|
1342
1359
|
exit 1
|
|
1343
1360
|
fi
|
|
1344
1361
|
|
|
1345
|
-
${
|
|
1362
|
+
${tT}
|
|
1346
1363
|
|
|
1347
1364
|
updates_file="$(mktemp "$repository_root/.pre-receive.XXXXXX")"
|
|
1348
1365
|
cleanup_updates_file() {
|
|
@@ -1390,7 +1407,7 @@ while read -r old_object _new_object ref_name; do
|
|
|
1390
1407
|
backup_canonical_ref "$backup_repository" "$git_dir" "$ref_name" "$old_object" "$backup_ref"
|
|
1391
1408
|
fi
|
|
1392
1409
|
done <"$updates_file"
|
|
1393
|
-
`,
|
|
1410
|
+
`,pf=`set -euo pipefail
|
|
1394
1411
|
mirror_path="$1"
|
|
1395
1412
|
remote_url="$2"
|
|
1396
1413
|
|
|
@@ -1478,7 +1495,7 @@ case "$remote_head_ref" in
|
|
|
1478
1495
|
esac
|
|
1479
1496
|
printf '[studio] Refreshed GitHub mirror for %s.
|
|
1480
1497
|
' "$remote_url"
|
|
1481
|
-
`;function
|
|
1498
|
+
`;function bs({mirrorPath:e="",remoteUrl:t=""}={}){return["bash","-c",pf,"vibe64-github-mirror-refresh",e,t]}var y4=new URL("./../../../vibe64-execution/src/server/runtime/agentPreviewBrowserWorkerSource.js",import.meta.url).href;var oT=["Usage:"," vibe64-helper preview ensure [--target <target-id>] [--wait] [--json] [--timeout-ms <ms>]"," vibe64\
|
|
1482
1499
|
-helper preview targets [--json]"," vibe64-helper preview status [--json]"," vibe64-helper preview stop [--json]"," v\
|
|
1483
1500
|
ibe64-helper preview inspect-url"," vibe64-helper preview screenshot [--output <path>]"," vibe64-helper preview browse\
|
|
1484
1501
|
r ensure"," vibe64-helper preview browser eval < playwright-code.js"," vibe64-helper preview browser identity <default\
|
|
@@ -1512,323 +1529,345 @@ for the configured primary application.","Do not start a duplicate copy of that
|
|
|
1512
1529
|
t secondary application explicitly requested by the user, such as a reference app, may run separately without replacing \
|
|
1513
1530
|
this preview."].join(`
|
|
1514
1531
|
`)+`
|
|
1515
|
-
`;import{fileURLToPath as
|
|
1516
|
-
engines/stdioBridge.js",
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1532
|
+
`;import{fileURLToPath as lT}from"node:url";var cT=new URL("./../../../vibe64-execution/src/server/conversationExecution.js",import.meta.url).href,P4=lT(new URL("./\
|
|
1533
|
+
engines/stdioBridge.js",cT));var C4=Object.freeze({linux:"https://github.com/mobily-enterprises/vibe64/blob/main/docs/colleague-usage/set-up-linux.md",
|
|
1534
|
+
darwin:"https://github.com/mobily-enterprises/vibe64/blob/main/docs/colleague-usage/set-up-macos.md"}),Ln=Object.freeze(
|
|
1535
|
+
{claude:{name:"Claude Code",run:[["claude"]],guideUrl:"https://code.claude.com/docs/en/setup",any:"curl -fsSL https://cl\
|
|
1536
|
+
aude.ai/install.sh | bash"},codex:{name:"Codex",run:[["codex"]],guideUrl:"https://github.com/openai/codex",any:"curl -fs\
|
|
1537
|
+
SL https://chatgpt.com/codex/install.sh | sh"},opencode:{name:"opencode",run:[["opencode"]],guideUrl:"https://opencode.a\
|
|
1538
|
+
i/docs/",any:"curl -fsSL https://opencode.ai/install | bash"},node:{name:"Node.js",setup:"nodejs-and-mise",run:[["node"]],
|
|
1539
|
+
guideUrl:"https://nodejs.org/en/download",mise:"node@26"},git:{name:"Git",setup:"git",run:[["git"]],guideUrl:"https://gi\
|
|
1540
|
+
t-scm.com/downloads",apt:"sudo apt install git",brew:"xcode-select --install"},gh:{name:"GitHub CLI",setup:"extras",run:[
|
|
1541
|
+
["gh"]],guideUrl:"https://github.com/cli/cli#installation",mise:"gh",brew:"brew install gh"},ripgrep:{name:"ripgrep",setup:"\
|
|
1542
|
+
extras",run:[["rg"]],guideUrl:"https://github.com/BurntSushi/ripgrep#installation",apt:"sudo apt install ripgrep",brew:"\
|
|
1543
|
+
brew install ripgrep"},playwright:{name:"Playwright browser",guideUrl:"https://playwright.dev/docs/browsers",apt:"npx pl\
|
|
1544
|
+
aywright install --with-deps chromium",brew:"npx playwright install chromium"},python:{name:"Python",setup:"project-lang\
|
|
1545
|
+
uages",run:[["python3","python"]],guideUrl:"https://mise.jdx.dev/lang/python.html",mise:"python@3.13"},ruby:{name:"Ruby",
|
|
1546
|
+
setup:"project-languages",run:[["ruby"]],guideUrl:"https://mise.jdx.dev/lang/ruby.html",mise:"ruby@3.4"},java:{name:"Jav\
|
|
1547
|
+
a",setup:"project-languages",run:[["java"]],guideUrl:"https://mise.jdx.dev/lang/java.html",mise:"java@temurin-25",version:"\
|
|
1548
|
+
-version"},go:{name:"Go",setup:"project-languages",run:[["go"]],guideUrl:"https://go.dev/doc/install",mise:"go",version:"\
|
|
1549
|
+
version"},kotlin:{name:"Kotlin",run:[["kotlin"]],guideUrl:"https://kotlinlang.org/docs/command-line.html",mise:"kotlin",
|
|
1550
|
+
version:"-version"},rust:{name:"Rust",run:[["rustc"],["cargo"]],guideUrl:"https://rustup.rs/",any:"curl --proto '=https'\
|
|
1551
|
+
--tlsv1.2 -sSf https://sh.rustup.rs | sh"},bun:{name:"Bun",run:[["bun"]],guideUrl:"https://bun.sh/docs/installation",any:"\
|
|
1552
|
+
curl -fsSL https://bun.sh/install | bash"},csharp:{name:".NET",run:[["dotnet"]],guideUrl:"https://dotnet.microsoft.com/d\
|
|
1553
|
+
ownload"},php:{name:"PHP",setup:"project-languages",run:[["php"],["composer"]],guideUrl:"https://php.new/",apt:'/bin/bas\
|
|
1554
|
+
h -c "$(curl -fsSL https://php.new/install/linux)"',brew:'/bin/bash -c "$(curl -fsSL https://php.new/install/mac)"'},cpp:{
|
|
1555
|
+
name:"Build tools",setup:"build-tools",run:[["cc","gcc","clang"],["make"]],guideUrl:"https://guides.rubyonrails.org/inst\
|
|
1556
|
+
all_ruby_on_rails.html",detail:"Some packages compile native code, so they need a compiler and a few libraries.",apt:"su\
|
|
1557
|
+
do apt install build-essential pkg-config libyaml-dev libssl-dev zlib1g-dev libpq-dev default-libmysqlclient-dev libgmp-\
|
|
1558
|
+
dev",brew:"brew install pkg-config libyaml openssl@3 gmp"}}),x4=Object.freeze({composer:"php"});var L4=["skip=$1; version=$2; shift 2",'for name in "$@"; do',' found=$(command -v -- "$name" 2>/dev/null) || continue',
|
|
1559
|
+
" case $found in /*) ;; *) continue ;; esac",' if [ -n "$skip" ]; then case $found in /usr/bin/*) continue ;; esac; fi',
|
|
1560
|
+
` printf '%s\\n' "$found"`,' exec "$found" $version 2>&1',"done","exit 127"].join(`
|
|
1561
|
+
`);var fT=Object.freeze(Object.fromEntries(["claude","codex","opencode"].map(e=>{let{name:t,guideUrl:r,any:n}=Ln[e];return[
|
|
1562
|
+
e,Object.freeze({name:t,guideUrl:r,install:n})]})));import{execFile as mT}from"node:child_process";import{promisify as hT}from"node:util";var j4=hT(mT);import me from"node:crypto";import{mkdtemp as vf,rm as Tf}from"node:fs/promises";import F from"node:path";import{fileURLToPath as wT}from"node:url";function Ce(e){return String(e??"").trim()}function Bn(e){return e&&typeof e=="object"&&!Array.isArray(e)}var J="github",wt="managed_git",V="local_source";var oz=Object.freeze({GITHUB:J,MANAGED_GIT:wt,LOCAL_SOURCE:V});function Zt(e=""){let t=Ce(e).toLowerCase().replace(/[-\s]+/gu,"_");return t===J||t===wt||t===V?t:""}function Xt(e="",t=""){let r=new Error(t);return r.code=e,r}function Qt(e={}){let t=e?.metadata?.connected_contribution;
|
|
1563
|
+
if(t===void 0)return null;let r;try{r=JSON.parse(t)}catch{}if(!Bn(r)||r.schemaVersion!==1||Object.keys(r).some(n=>!["sch\
|
|
1524
1564
|
emaVersion","id","repository","integrationBranch","baseCommit","replaces"].includes(n))||!/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u.
|
|
1525
1565
|
test(r.id||"")||Object.hasOwn(r,"replaces")&&(typeof r.replaces!="string"||r.replaces===r.id||!/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u.
|
|
1526
|
-
test(r.replaces||""))||typeof r.repository!="string"||!/^[A-Za-z0-9_-]+\/[A-Za-z0-9_.-]+$/u.test(r.repository)||!
|
|
1566
|
+
test(r.replaces||""))||typeof r.repository!="string"||!/^[A-Za-z0-9_-]+\/[A-Za-z0-9_.-]+$/u.test(r.repository)||!ws(r.integrationBranch)||
|
|
1527
1567
|
r.integrationBranch.startsWith("vibe64-incoming/")||typeof r.baseCommit!="string"||!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/iu.
|
|
1528
|
-
test(r.baseCommit))throw
|
|
1529
|
-
ve its checkout and inspect its binding before
|
|
1530
|
-
baseCommit.toLowerCase()}}function
|
|
1531
|
-
parse(t)}catch{}let n=()=>
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
toLowerCase()
|
|
1538
|
-
|
|
1539
|
-
repository
|
|
1540
|
-
|
|
1541
|
-
ishing.");return{...e,githubMirrorOptional:!0,repository:{...e.repository,defaultBranch:r?n.replaces&&!t.metadata.renewed_from?
|
|
1568
|
+
test(r.baseCommit))throw Xt("vibe64_contribution_authority_invalid","This contribution's saved source is invalid. Preser\
|
|
1569
|
+
ve its checkout and inspect its binding before saving.");return{...r,repository:r.repository.toLowerCase(),baseCommit:r.
|
|
1570
|
+
baseCommit.toLowerCase()}}function ff(e={}){let t=e.metadata?.connected_submissions;if(t===void 0)return[];let r;try{r=JSON.
|
|
1571
|
+
parse(t)}catch{}let n=()=>Xt("vibe64_connected_submissions_invalid","This session's connected Save bindings are invalid.\
|
|
1572
|
+
Preserve the session and inspect its bindings before saving.");if(!Bn(r)||r.schemaVersion!==1||!Array.isArray(r.submissions)||
|
|
1573
|
+
Object.keys(r).some(i=>!["schemaVersion","submissions"].includes(i)))throw n();let o=new Set;return r.submissions.map(i=>{
|
|
1574
|
+
if(!Bn(i)||Object.keys(i).some(a=>!["contribution","submittedCommit"].includes(a))||typeof i.submittedCommit!="string"||
|
|
1575
|
+
!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/iu.test(i.submittedCommit))throw n();let s=Qt({metadata:{connected_contribution:JSON.stringify(
|
|
1576
|
+
i.contribution)}});if(!s||o.has(s.id))throw n();return o.add(s.id),{contribution:s,submittedCommit:i.submittedCommit.toLowerCase()}})}function ys(e={},t={},{sourcePreparation:r=!1}={}){let n=Qt(t);if(n){let c=Ce(e.githubRepository?.fullName||e.repository?.
|
|
1577
|
+
github?.fullName).toLowerCase();if(t.metadata.github_pull_request||t.metadata.repository_branch||Zt(e.repositoryMode||e.
|
|
1578
|
+
repository?.mode)!==J||c!==n.repository||e.repository?.defaultBranch!==n.integrationBranch)throw Xt("vibe64_contribution\
|
|
1579
|
+
_authority_changed","This contribution's repository or integration branch changed. Review its source binding before savi\
|
|
1580
|
+
ng.");return{...e,githubMirrorOptional:!0,repository:{...e.repository,defaultBranch:r?n.replaces&&!t.metadata.renewed_from?
|
|
1542
1581
|
`vibe64-incoming/${n.replaces}_discarded`:n.integrationBranch:`vibe64-incoming/${n.id}`}}}let o=t?.metadata?.github_pull_request;
|
|
1543
|
-
if(!o){let c=t?.metadata?.repository_branch;if(c&&
|
|
1582
|
+
if(!o){let c=t?.metadata?.repository_branch;if(c&&Zt(e.repositoryMode||e.repository?.mode)!==V){if(!ws(c))throw Xt("vibe\
|
|
1544
1583
|
64_session_branch_invalid","This session's repository branch is invalid.");return{...e,repository:{...e.repository,defaultBranch:c}}}
|
|
1545
|
-
return e}let i;try{i=JSON.parse(o)}catch{}let s=
|
|
1546
|
-
i.baseRepository!==s||!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u.test(i.headRepository||"")||!
|
|
1547
|
-
|
|
1584
|
+
return e}let i;try{i=JSON.parse(o)}catch{}let s=Ce(e.githubRepository?.fullName||e.repository?.github?.fullName);if(!i||
|
|
1585
|
+
i.baseRepository!==s||!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u.test(i.headRepository||"")||!ws(i.headBranch)||e.repositoryMode===
|
|
1586
|
+
wt)throw Xt("vibe64_pull_request_authority_invalid","This session's pull request source is invalid. Its Save destination\
|
|
1548
1587
|
could not be verified.");let a={fullName:i.headRepository,cloneUrl:`https://github.com/${i.headRepository}.git`};return{
|
|
1549
1588
|
...e,githubMirrorPath:i.headRepository===s?e.githubMirrorPath:"",githubRepository:a,repositoryMode:J,repository:{mode:J,
|
|
1550
|
-
defaultBranch:i.headBranch,github:a}}}function
|
|
1589
|
+
defaultBranch:i.headBranch,github:a}}}function ws(e){return typeof e=="string"&&e.length>0&&e.length<=255&&!["@","HEAD"].
|
|
1551
1590
|
includes(e)&&!e.startsWith("-")&&!e.endsWith(".")&&!/[\s~^:?*[\\]/u.test(e)&&!e.includes("..")&&!e.includes("@{")&&![...e].
|
|
1552
|
-
some(t=>t.charCodeAt(0)<32||t.charCodeAt(0)===127)&&e.split("/").every(t=>t&&!t.startsWith(".")&&!t.endsWith(".lock"))}function
|
|
1553
|
-
let r=
|
|
1554
|
-
J?o=r.githubRepository?.fullName||r.repository?.github?.fullName:n===
|
|
1555
|
-
i),{sessionId:
|
|
1556
|
-
warn:40,error:50,fatal:60,silent:1/0});function
|
|
1557
|
-
return e==="behind"||e==="diverged"?"rebase":"none"}var
|
|
1558
|
-
e||"").split("\0"),r=[];for(let n=0;n+5<t.length;n+=6){let o=
|
|
1559
|
-
Boolean);r.push({author:
|
|
1560
|
-
t[n+5]),parents:i,shortCommit:o.slice(0,8)})}return r}var
|
|
1561
|
-
ession-work-command-scope"),
|
|
1562
|
-
trim()}function
|
|
1563
|
-
r))}function
|
|
1591
|
+
some(t=>t.charCodeAt(0)<32||t.charCodeAt(0)===127)&&e.split("/").every(t=>t&&!t.startsWith(".")&&!t.endsWith(".lock"))}function mf(e={},t={}){
|
|
1592
|
+
let r=ys(e,t),n=Zt(r.repositoryMode||r.repository?.mode),o=r.slug||r.projectSlug,i=r.repository?.defaultBranch;return n===
|
|
1593
|
+
J?o=r.githubRepository?.fullName||r.repository?.github?.fullName:n===V&&(o=r.sourceRoot,i=t?.metadata?.local_source_branch||
|
|
1594
|
+
i),{sessionId:Ce(t.sessionId||t.id),mode:n,repository:Ce(o),branch:Ce(i)}}var az=Object.freeze(["fatal","error","warn","info","debug","trace","silent"]),cz=Object.freeze({trace:10,debug:20,info:30,
|
|
1595
|
+
warn:40,error:50,fatal:60,silent:1/0});function hf(e){let t=Number(e);return Number.isSafeInteger(t)&&t>=0?t:0}function _s(e=0,t=0){let r=hf(e),n=hf(t);return r>0&&n>0?"diverged":n>0?"behind":r>0?"ahead":"current"}function Ss(e=""){
|
|
1596
|
+
return e==="behind"||e==="diverged"?"rebase":"none"}var gf="%H%x00%P%x00%an%x00%ae%x00%aI%x00%s";function yt(e=""){return String(e||"").trim()}function bf(e=""){let t=String(
|
|
1597
|
+
e||"").split("\0"),r=[];for(let n=0;n+5<t.length;n+=6){let o=yt(t[n]);if(!o)continue;let i=yt(t[n+1]).split(/\s+/u).filter(
|
|
1598
|
+
Boolean);r.push({author:yt(t[n+2]),authorEmail:yt(t[n+3]),committedAt:yt(t[n+4]),commit:o,isMerge:i.length>1,message:yt(
|
|
1599
|
+
t[n+5]),parents:i,shortCommit:o.slice(0,8)})}return r}var bT=new URL("./sessionWorkSave.js",import.meta.url).href,yT=12e4,wf=200,_T=500,vs=800,ST=5e3,Es=5,yf=Symbol("vibe64-s\
|
|
1600
|
+
ession-work-command-scope"),Az=wT(new URL("./sessionWorkOperationCommand.js",bT));function E(e=""){return String(e||"").
|
|
1601
|
+
trim()}function jn(e=[]){return[...new Set((Array.isArray(e)?e:[]).map(E).filter(Boolean))].sort((t,r)=>t.localeCompare(
|
|
1602
|
+
r))}function ET(e={}){return e?.metadata&&typeof e.metadata=="object"?e.metadata:{}}function b(e,t="vibe64_session_save_\
|
|
1564
1603
|
failed",r={}){let n=new Error(e||"Vibe64 could not save this session.");return n.code=t,n.details=r&&typeof r=="object"&&
|
|
1565
|
-
!Array.isArray(r)?{...r}:{},Object.assign(n,r),n}function X(e={},t={}){t=
|
|
1566
|
-
mode),o=E(t.repository?.defaultBranch);if(n===
|
|
1604
|
+
!Array.isArray(r)?{...r}:{},Object.assign(n,r),n}function X(e={},t={}){t=ys(t,e);let r=ET(e),n=Zt(t.repositoryMode||t.repository?.
|
|
1605
|
+
mode),o=E(t.repository?.defaultBranch);if(n===V&&r.local_source_branch&&E(r.local_source_branch)!==o)throw b(`This sessi\
|
|
1567
1606
|
on belongs to ${E(r.local_source_branch)}. Switch the project folder back to that branch before saving or updating it.`,
|
|
1568
1607
|
"vibe64_session_local_branch_changed");let i=E(e.sourcePath||r.source_path),s=E(e.sessionId||e.id),a=E(r.base_commit),c=E(
|
|
1569
|
-
r.canonical_commit)||a,l=n===
|
|
1608
|
+
r.canonical_commit)||a,l=n===V?E(t.sourceRoot):"";if(!n||!o||!i||!s||!a||n===V&&!l)throw b("Session Save requires a comp\
|
|
1570
1609
|
lete repository mode, branch, session source, base commit, and authority.","vibe64_session_save_context_incomplete");let u=n===
|
|
1571
|
-
J?E(t.githubRepository?.cloneUrl||t.repository?.github?.cloneUrl):n===
|
|
1610
|
+
J?E(t.githubRepository?.cloneUrl||t.repository?.github?.cloneUrl):n===wt?E(t.canonicalRepositoryPath):l;if(!u)throw b("S\
|
|
1572
1611
|
ession Save cannot find the canonical repository authority.","vibe64_session_save_authority_missing");return{baseCommit:a,
|
|
1573
|
-
branch:o,contribution:
|
|
1612
|
+
branch:o,contribution:Qt(e),connectedSubmissions:ff(e),lastCanonicalCommit:c,mode:n,githubMirrorPath:E(t.githubMirrorPath),
|
|
1574
1613
|
repositoryFullName:E(t.githubRepository?.fullName||t.repository?.github?.fullName),githubMirrorOptional:!!r.github_pull_request||
|
|
1575
1614
|
t.githubMirrorOptional===!0,remoteUrl:u,sessionId:s,standaloneSourceRoot:l,worktreePath:i}}function te(e={},t={}){return{
|
|
1576
1615
|
ownerUserKey:E(t.ownerUserKey||t.githubRepository?.owner),projectRoot:e.worktreePath,repositoryMode:e.mode,sessionId:e.sessionId}}
|
|
1577
|
-
function Se(e,t={},r={},{label:n="Session repository work",operationId:o=me.randomUUID()}={}){if(e?.[
|
|
1616
|
+
function Se(e,t={},r={},{label:n="Session repository work",operationId:o=me.randomUUID()}={}){if(e?.[yf])return e;let i=E(
|
|
1578
1617
|
r.slug||r.projectSlug),s=Promise.resolve(),a=(c={})=>{let l=s.then(()=>e({...c,execution:{...c.execution||{},kind:"job",
|
|
1579
1618
|
label:n,lifecycle:"finite",operationId:E(o),ownerId:t.sessionId,projectSlug:i,sessionId:t.sessionId},project:{...c.project||
|
|
1580
1619
|
{},...i?{slug:i}:{}},session:{...c.session||{},sessionId:t.sessionId}}));return s=l.then(()=>{},()=>{}),l};return Object.
|
|
1581
|
-
defineProperty(a,
|
|
1582
|
-
env:a={},input:c,project:l={}}={}){let u=[t.worktreePath,
|
|
1583
|
-
|
|
1584
|
-
d=>{let p=E(d);return p?[p,
|
|
1620
|
+
defineProperty(a,yf,{value:!0}),a}async function If(e,t,r,n,{additionalAllowedRoots:o=[],commandOptions:i={},cwd:s=t.worktreePath,
|
|
1621
|
+
env:a={},input:c,project:l={}}={}){let u=[t.worktreePath,F.dirname(t.worktreePath),...t.mode===V?[t.standaloneSourceRoot,
|
|
1622
|
+
F.dirname(t.standaloneSourceRoot)]:[],...F.isAbsolute(t.remoteUrl)?[t.remoteUrl,F.dirname(t.remoteUrl)]:[],...o.flatMap(
|
|
1623
|
+
d=>{let p=E(d);return p?[p,F.dirname(p)]:[]})];return e({actor:"daemon",allowedRoots:u,args:n,command:r,cwd:s,env:a,envPolicy:"\
|
|
1585
1624
|
session",gitSafeDirectories:u,input:c,mode:"capture",project:te(t,l),purpose:i.gitTransport?.startsWith("github")?"githu\
|
|
1586
|
-
b":"source",runtimes:i.gitTransport==="github-https"?["git","gh"]:["git"],timeout:
|
|
1587
|
-
i?.output||i?.error)||"Git Save command failed.",E(i?.code)||"vibe64_session_save_git_failed",{gitArgs:r});return i}function
|
|
1588
|
-
return E(e.stdout||e.output)}async function
|
|
1589
|
-
e,t,["diff-tree","--no-commit-id","--name-status","-r","-z",r,n],o);return[...
|
|
1590
|
-
localeCompare(a))}async function
|
|
1591
|
-
isSafeInteger(i)&&i>=0?i:0}async function
|
|
1592
|
-
"-z",`--format=${
|
|
1593
|
-
length>
|
|
1625
|
+
b":"source",runtimes:i.gitTransport==="github-https"?["git","gh"]:["git"],timeout:yT,...i})}async function P(e,t,r,{required:n=!0,...o}={}){let i=await If(e,t,"git",r,o);if(n&&i?.ok!==!0)throw b(E(i?.stderr||i?.stdout||
|
|
1626
|
+
i?.output||i?.error)||"Git Save command failed.",E(i?.code)||"vibe64_session_save_git_failed",{gitArgs:r});return i}function Un(e={}){
|
|
1627
|
+
return E(e.stdout||e.output)}async function A(e,t,r,n={}){return Un(await P(e,t,r,n))}async function Af(e,t,r,n,o={}){let i=await P(
|
|
1628
|
+
e,t,["diff-tree","--no-commit-id","--name-status","-r","-z",r,n],o);return[...xf(i.stdout||i.output).keys()].sort((s,a)=>s.
|
|
1629
|
+
localeCompare(a))}async function Gn(e,t,r,n,o={}){let i=Number(await A(e,t,["rev-list","--count",`${r}..${n}`],o));return Number.
|
|
1630
|
+
isSafeInteger(i)&&i>=0?i:0}async function vT(e,t,r,n,o={}){let i=await P(e,t,["log","--topo-order",`--max-count=${Es+1}`,
|
|
1631
|
+
"-z",`--format=${gf}`,`${r}..${n}`],o),s=bf(String(i.stdout||i.output||""));return{incomingVersions:s.slice(0,Es),incomingVersionsTruncated:s.
|
|
1632
|
+
length>Es}}function Rf(e,t){let r=X({sessionId:t.sessionId,sourcePath:t.sourcePath||t.metadata?.source_path,metadata:{base_commit:t.
|
|
1594
1633
|
metadata?.base_commit}},e);if(r.mode!==J||r.branch.startsWith("vibe64-incoming/"))throw b("Incoming changes require the \
|
|
1595
|
-
receiving GitHub repository's authority.","vibe64_incoming_repository_required");return r}async function
|
|
1634
|
+
receiving GitHub repository's authority.","vibe64_incoming_repository_required");return r}async function zn({project:e={},
|
|
1596
1635
|
session:t={},offset:r=0,limit:n=25,id:o="",state:i="all",includeDiff:s=!1,commandOptions:a={},operationId:c=me.randomUUID(),
|
|
1597
|
-
runCommand:l=D}={}){let u=
|
|
1636
|
+
runCommand:l=D}={}){let u=Rf(e,t);l=Se(l,u,e,{label:"Reading incoming contributions",operationId:c});let d={commandOptions:a,
|
|
1598
1637
|
project:e},p=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u;if(o&&!p.test(o)||!Number.isSafeInteger(
|
|
1599
1638
|
r)||r<0||!Number.isSafeInteger(n)||n<1||n>50||s&&!o||!["all","pending","merged","discarded","unresolved"].includes(i))throw b(
|
|
1600
|
-
"Choose an exact incoming contribution or a valid page.","vibe64_incoming_input_invalid");if(await
|
|
1639
|
+
"Choose an exact incoming contribution or a valid page.","vibe64_incoming_input_invalid");if(await A(l,u,["rev-parse","-\
|
|
1601
1640
|
-is-shallow-repository"],d)!=="false")throw b("Incoming changes require complete Git history. Prepare a full receiving c\
|
|
1602
|
-
heckout before retrying.","vibe64_incoming_history_incomplete");let f=`refs/heads/${u.branch}`,m=await
|
|
1641
|
+
heckout before retrying.","vibe64_incoming_history_incomplete");let f=`refs/heads/${u.branch}`,m=await A(l,u,["ls-remote",
|
|
1603
1642
|
"--heads",u.remoteUrl,f,"refs/heads/vibe64-incoming/*"],d),h=new Map,y="";for(let _ of m.split(`
|
|
1604
|
-
`).filter(Boolean)){let[
|
|
1605
|
-
itory returned invalid ref evidence.","vibe64_incoming_refs_invalid");if(
|
|
1606
|
-
exec(
|
|
1607
|
-
"activeHead"]=
|
|
1608
|
-
issing");let w=[...h.values()].sort((_,
|
|
1643
|
+
`).filter(Boolean)){let[I,R]=_.split(/\s+/u);if(!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(I))throw b("The receiving repos\
|
|
1644
|
+
itory returned invalid ref evidence.","vibe64_incoming_refs_invalid");if(R===f){y=I;continue}let S=/^refs\/heads\/vibe64-incoming\/(.+?)(_discarded)?$/u.
|
|
1645
|
+
exec(R);if(!S||!p.test(S[1]))continue;let x=h.get(S[1])||{id:S[1],activeHead:"",discardedHead:""};x[S[2]?"discardedHead":
|
|
1646
|
+
"activeHead"]=I,h.set(x.id,x)}if(!y)throw b("The receiving integration branch is unavailable.","vibe64_incoming_target_m\
|
|
1647
|
+
issing");let w=[...h.values()].sort((_,I)=>_.id.localeCompare(I.id)),g=o?w.filter(_=>_.id===o):w;if(o&&!g.length)throw b(
|
|
1609
1648
|
"This incoming contribution is no longer present. Refresh the list and inspect its history.","vibe64_incoming_missing");
|
|
1610
1649
|
let v=[{remote:f,head:y}];for(let _ of g)_.activeHead&&v.push({remote:`refs/heads/vibe64-incoming/${_.id}`,head:_.activeHead}),
|
|
1611
|
-
_.discardedHead&&v.push({remote:`refs/heads/vibe64-incoming/${_.id}_discarded`,head:_.discardedHead});v.forEach((_,
|
|
1612
|
-
_.local=
|
|
1613
|
-
+${S.remote}:${S.local}`)],d);for(let S of v)if(await
|
|
1650
|
+
_.discardedHead&&v.push({remote:`refs/heads/vibe64-incoming/${_.id}_discarded`,head:_.discardedHead});v.forEach((_,I)=>{
|
|
1651
|
+
_.local=St(u,c,`incoming-${I}`)});try{await P(l,u,["fetch","--no-tags","--no-write-fetch-head",u.remoteUrl,...v.map(S=>`\
|
|
1652
|
+
+${S.remote}:${S.local}`)],d);for(let S of v)if(await A(l,u,["rev-parse","--verify",`${S.local}^{commit}`],d)!==S.head)throw b(
|
|
1614
1653
|
"Incoming branches changed while being read. Refresh before reviewing them.","vibe64_incoming_review_changed");for(let S of g){
|
|
1615
|
-
let x=S.activeHead||S.discardedHead,N=await
|
|
1654
|
+
let x=S.activeHead||S.discardedHead,N=await A(l,u,["rev-list","--count",`${y}..${x}`],d);if(!/^\d+$/u.test(N))throw b("C\
|
|
1616
1655
|
ontribution ancestry could not be established.","vibe64_incoming_history_incomplete");S.status=S.activeHead&&S.discardedHead?
|
|
1617
|
-
"unresolved":N==="0"?"merged":S.activeHead?"pending":"discarded"}let _=g.filter(S=>o||i==="all"||S.status===i),
|
|
1618
|
-
r,r+n),
|
|
1656
|
+
"unresolved":N==="0"?"merged":S.activeHead?"pending":"discarded"}let _=g.filter(S=>o||i==="all"||S.status===i),I=o?_:_.slice(
|
|
1657
|
+
r,r+n),R=[];for(let S of I){let x=S.activeHead||S.discardedHead,N=await A(l,u,["log","-1","--format=%s",x],d),$=await P(
|
|
1619
1658
|
l,u,["diff","--name-only","-z",`${y}...${x}`],d),M=String($.stdout||$.output||"").split("\0").filter(Boolean),he;if(s){let k=await P(
|
|
1620
1659
|
l,u,["diff","--no-ext-diff","--no-textconv","--no-color","--unified=3",`${y}...${x}`],d),U=String(k.stdout||k.output||"");
|
|
1621
|
-
he={content:U.slice(0,1e5),truncated:U.length>1e5}}
|
|
1660
|
+
he={content:U.slice(0,1e5),truncated:U.length>1e5}}R.push({...S,branch:`vibe64-incoming/${S.id}`,head:x,title:N,review:{
|
|
1622
1661
|
repository:u.repositoryFullName,targetBranch:u.branch,targetHead:y,id:S.id,activeHead:S.activeHead,discardedHead:S.discardedHead},
|
|
1623
1662
|
files:M.slice(0,50),fileCount:M.length,filesTruncated:M.length>50,...he?{diff:he}:{}})}return{ok:!0,repository:u.repositoryFullName,
|
|
1624
|
-
targetBranch:u.branch,targetHead:y,contributions:
|
|
1663
|
+
targetBranch:u.branch,targetHead:y,contributions:R,pendingCount:g.filter(S=>S.status==="pending").length,unresolvedCount:g.
|
|
1625
1664
|
filter(S=>S.status==="unresolved").length,totalCount:_.length,offset:o?0:r,nextOffset:!o&&r+n<_.length?r+n:null}}finally{
|
|
1626
|
-
for(let _ of v)await
|
|
1665
|
+
for(let _ of v)await Et(l,u,_.local,d)}}async function Pf({project:e={},session:t={},action:r="",id:n="",review:o={},repairReview:i=null,identity:s={},derivedArtifactPaths:a=[],
|
|
1627
1666
|
refreshDerivedArtifacts:c,commandOptions:l={},operationId:u=me.randomUUID(),runCommand:d=D}={}){if(!["merge","discard","\
|
|
1628
1667
|
review-repair"].includes(r)||!n)throw b("Choose Merge or Discard for an exact contribution.","vibe64_incoming_input_inva\
|
|
1629
|
-
lid");let p=
|
|
1630
|
-
m=await
|
|
1668
|
+
lid");let p=Rf(e,t);d=Se(d,p,e,{label:"Updating incoming contribution",operationId:u});let f={commandOptions:l,project:e},
|
|
1669
|
+
m=await zn({project:e,session:t,id:n,commandOptions:l,operationId:u,runCommand:d}),h=m.contributions[0],y={repository:m.
|
|
1631
1670
|
repository,targetBranch:m.targetBranch,targetHead:m.targetHead,id:n,activeHead:h.activeHead,discardedHead:h.discardedHead};
|
|
1632
1671
|
if(Object.entries(y).some(([$,M])=>o?.[$]!==M))throw b("This contribution or its target changed. Review the current head\
|
|
1633
1672
|
s before acting.","vibe64_incoming_review_changed");let w=`refs/heads/${h.branch}`,g=`${w}_discarded`,v=`refs/heads/${p.
|
|
1634
1673
|
branch}`;if(r==="merge"||r==="review-repair"){if(h.status==="merged")return{ok:!0,status:"merged",head:h.head,targetHead:m.
|
|
1635
1674
|
targetHead};if(h.status!=="pending")throw b("Only a pending contribution can be merged. Resolve its discard state first.",
|
|
1636
|
-
"vibe64_incoming_not_pending");let $=h.head,M="",he=await
|
|
1675
|
+
"vibe64_incoming_not_pending");let $=h.head,M="",he=await A(d,p,["rev-list","--count",`${h.head}..${m.targetHead}`],f);if(!/^\d+$/u.
|
|
1637
1676
|
test(he))throw b("Integration ancestry is unavailable.","vibe64_incoming_history_incomplete");if(he==="0"&&(i||r==="revi\
|
|
1638
1677
|
ew-repair"))throw b("These heads do not need conflict repair. Refresh and review the contribution normally.","vibe64_inc\
|
|
1639
|
-
oming_review_changed");if(he!=="0"){let
|
|
1640
|
-
derivedArtifactPaths:a,project:e,sourceCommit:m.targetHead,tree:
|
|
1641
|
-
identity:s,message:"Vibe64 incoming authored source",project:e,tree:
|
|
1642
|
-
commandOptions:l,project:e});if(
|
|
1678
|
+
oming_review_changed");if(he!=="0"){let He=await A(d,p,["rev-parse",`${h.head}^{tree}`],f),tr=await Os(d,p,{commandOptions:l,
|
|
1679
|
+
derivedArtifactPaths:a,project:e,sourceCommit:m.targetHead,tree:He}),Yn=tr===He?h.head:await qn(d,p,{baseCommit:h.head,commandOptions:l,
|
|
1680
|
+
identity:s,message:"Vibe64 incoming authored source",project:e,tree:tr}),Fe=await Bf(d,p,{canonicalCommit:m.targetHead,virtualCommit:Yn,
|
|
1681
|
+
commandOptions:l,project:e});if(Fe.conflictPaths.length){let rr=await xs({project:e,session:t,commandOptions:l,operationId:`\
|
|
1643
1682
|
incoming:${u}`,runCommand:d});if(r==="merge"&&!i)throw b("This contribution conflicts with the integration branch. Use F\
|
|
1644
1683
|
ix it with AI or repair the listed files in this receiving session, then Review resolved conflicts before merging.","vib\
|
|
1645
|
-
e64_incoming_merge_conflict",{conflictPaths:
|
|
1646
|
-
d,p,{conflictTree:
|
|
1647
|
-
derivedArtifactPaths:a,identity:s,project:e,refreshDerivedArtifacts:c,tree:M});let
|
|
1648
|
-
head:
|
|
1649
|
-
conv","--no-color","--unified=3",m.targetHead,M],f),
|
|
1650
|
-
ew",review:y,repairReview:
|
|
1651
|
-
keys(
|
|
1684
|
+
e64_incoming_merge_conflict",{conflictPaths:Fe.conflictPaths,checkpointCommit:rr.checkpointCommit,review:y});M=await Uf(
|
|
1685
|
+
d,p,{conflictTree:Fe.conflictTree,conflictPaths:Fe.conflictPaths,project:e}),M=await Fn(d,p,{baseCommit:m.targetHead,commandOptions:l,
|
|
1686
|
+
derivedArtifactPaths:a,identity:s,project:e,refreshDerivedArtifacts:c,tree:M});let Kn={tree:M,worktreeTree:rr.checkpointTree,
|
|
1687
|
+
head:rr.oldHead,indexTree:rr.oldIndexTree};if(r==="review-repair"){let Tt=await P(d,p,["diff","--no-ext-diff","--no-text\
|
|
1688
|
+
conv","--no-color","--unified=3",m.targetHead,M],f),Ns=String(Tt.stdout||Tt.output||"");return{ok:!0,status:"repair-revi\
|
|
1689
|
+
ew",review:y,repairReview:Kn,conflictPaths:Fe.conflictPaths,diff:{content:Ns.slice(0,1e5),truncated:Ns.length>1e5}}}if(Object.
|
|
1690
|
+
keys(Kn).some(Tt=>i?.[Tt]!==Kn[Tt]))throw b("The receiving source changed after repair review. Review resolved conflicts\
|
|
1652
1691
|
again before merging.","vibe64_incoming_repair_changed")}else if(i||r==="review-repair")throw b("These heads no longer \
|
|
1653
|
-
need conflict repair. Refresh and review the contribution normally.","vibe64_incoming_review_changed");let
|
|
1654
|
-
d,p,{baseCommit:m.targetHead,commandOptions:l,derivedArtifactPaths:a,identity:s,project:e,refreshDerivedArtifacts:c,tree:
|
|
1655
|
-
mergedTree});$=await
|
|
1656
|
-
st"}`,"commit-tree",
|
|
1657
|
-
`})}let k=await
|
|
1692
|
+
need conflict repair. Refresh and review the contribution normally.","vibe64_incoming_review_changed");let Kf=M||await Fn(
|
|
1693
|
+
d,p,{baseCommit:m.targetHead,commandOptions:l,derivedArtifactPaths:a,identity:s,project:e,refreshDerivedArtifacts:c,tree:Fe.
|
|
1694
|
+
mergedTree});$=await A(d,p,["-c",`user.name=${E(s.name)||"Vibe64 Merge"}`,"-c",`user.email=${E(s.email)||"vibe64@localho\
|
|
1695
|
+
st"}`,"commit-tree",Kf,"-p",m.targetHead,"-p",h.head],{...f,input:`Merge contribution ${n}
|
|
1696
|
+
`})}let k=await zn({project:e,session:t,id:n,commandOptions:l,operationId:u,runCommand:d}),U=k.contributions[0];if(k.targetHead!==
|
|
1658
1697
|
m.targetHead||U.activeHead!==h.activeHead||U.discardedHead)throw b("The contribution changed while its merge was prepare\
|
|
1659
|
-
d. Review it again.","vibe64_incoming_review_changed");if(M){let
|
|
1660
|
-
"write-tree"],f),
|
|
1661
|
-
|
|
1698
|
+
d. Review it again.","vibe64_incoming_review_changed");if(M){let He=await A(d,p,["rev-parse","HEAD"],f),tr=await A(d,p,[
|
|
1699
|
+
"write-tree"],f),Yn=await ae({worktreePath:p.worktreePath,project:te(p,e),runCommand:d});if(He!==i.head||tr!==i.indexTree||
|
|
1700
|
+
Yn!==i.worktreeTree)throw b("The receiving source changed while the merge was prepared. Review resolved conflicts again.",
|
|
1662
1701
|
"vibe64_incoming_repair_changed")}if(await P(d,p,["push",`--force-with-lease=${v}:${m.targetHead}`,p.remoteUrl,`${$}:${v}`],
|
|
1663
|
-
f),(await
|
|
1702
|
+
f),(await A(d,p,["ls-remote","--heads",p.remoteUrl,v],f)).split(/\s+/u)[0]!==$)throw b("The merge result is uncertain. R\
|
|
1664
1703
|
efresh Incoming changes before retrying.","vibe64_incoming_verification_failed");return{ok:!0,status:"merged",head:h.head,
|
|
1665
1704
|
targetHead:$}}if(!h.activeHead||h.discardedHead&&h.discardedHead!==h.activeHead)throw b("This discard cannot replace a d\
|
|
1666
1705
|
ifferent or missing contribution head. Inspect the current branches.","vibe64_incoming_review_changed");let _=`${h.head}\
|
|
1667
|
-
:${g}`,
|
|
1668
|
-
p,["push","--atomic",
|
|
1706
|
+
:${g}`,I=`:${w}`,R=`--force-with-lease=${w}:${h.activeHead}`,S=`--force-with-lease=${g}:${h.discardedHead}`,x=await P(d,
|
|
1707
|
+
p,["push","--atomic",R,S,p.remoteUrl,_,I],{...f,required:!1});if(!x.ok){let $=E(x.stderr||x.output||x.error);if(!/does not support --atomic push/iu.
|
|
1669
1708
|
test($))throw b($||"Discard was not confirmed. Refresh Incoming changes before retrying.","vibe64_incoming_discard_uncon\
|
|
1670
|
-
firmed");if(h.discardedHead||await P(d,p,["push",S,p.remoteUrl,_],f),(await
|
|
1709
|
+
firmed");if(h.discardedHead||await P(d,p,["push",S,p.remoteUrl,_],f),(await A(d,p,["ls-remote","--heads",p.remoteUrl,g],
|
|
1671
1710
|
f)).split(/\s+/u)[0]!==h.head)throw b("The discarded branch was not verified; the active branch was retained.","vibe64_i\
|
|
1672
|
-
ncoming_verification_failed");await P(d,p,["push",
|
|
1711
|
+
ncoming_verification_failed");await P(d,p,["push",R,p.remoteUrl,I],f)}if(await A(d,p,["ls-remote","--heads",p.remoteUrl,
|
|
1673
1712
|
w,g],f)!==`${h.head} ${g}`)throw b("Discard is not fully confirmed. Refresh Incoming changes to inspect both branches.",
|
|
1674
|
-
"vibe64_incoming_discard_unconfirmed");return{ok:!0,status:h.status==="merged"?"merged":"discarded",head:h.head}}async function
|
|
1675
|
-
return
|
|
1676
|
-
rge-base","--is-ancestor",r,n],{...o,required:!1}))?.ok===!0}async function
|
|
1677
|
-
r,o))return!1;let[i,s]=await Promise.all([ce(e,t,r,n,o),ce(e,t,t.baseCommit,n,o)]);return!i||s}async function
|
|
1678
|
-
let[n,o,i]=await Promise.all([
|
|
1679
|
-
["rev-parse","--verify",`${t.lastCanonicalCommit}^{commit}`],r):"",
|
|
1680
|
-
t}`],r)]),s=n||o||i;for(let a of[o,i].filter(Boolean))a!==s&&await ce(e,t,s,a,r)&&(s=a);return s}async function
|
|
1681
|
-
baseCommit:r,canonicalCommit:n,sessionHead:o,worktreeTree:i,reconcileHistory:s=!1},a={}){let[c,l]=await Promise.all([
|
|
1682
|
-
e,t,r,a),
|
|
1683
|
-
let u=s?r:await
|
|
1684
|
-
canonicalTree:l,changeBaseCommit:u,changeBaseTree:d,changedPaths:p,sessionMatchesCanonical:i===l}}function
|
|
1685
|
-
parseInt(String(e??""),10);return Number.isSafeInteger(n)&&n>0?Math.min(n,r):t}function
|
|
1713
|
+
"vibe64_incoming_discard_unconfirmed");return{ok:!0,status:h.status==="merged"?"merged":"discarded",head:h.head}}async function Ts(e,t,r,n={}){let o=await P(e,t,r,{...n,required:!1});return o?.ok===!0?Un(o):""}async function _t(e,t,r,n={}){
|
|
1714
|
+
return A(e,t,["rev-parse","--verify",`${r}^{tree}`],n)}async function ce(e,t,r,n,o={}){return r===n?!0:(await P(e,t,["me\
|
|
1715
|
+
rge-base","--is-ancestor",r,n],{...o,required:!1}))?.ok===!0}async function Is(e,t,r,n,o={}){if(await ce(e,t,t.baseCommit,
|
|
1716
|
+
r,o))return!1;let[i,s]=await Promise.all([ce(e,t,r,n,o),ce(e,t,t.baseCommit,n,o)]);return!i||s}async function Of(e,t,r={}){
|
|
1717
|
+
let[n,o,i]=await Promise.all([Ts(e,t,["rev-parse","--verify",`${Ps(t)}^{commit}`],r),t.lastCanonicalCommit?await Ts(e,t,
|
|
1718
|
+
["rev-parse","--verify",`${t.lastCanonicalCommit}^{commit}`],r):"",A(e,t,["rev-parse","--verify",`${t.baseCommit}^{commi\
|
|
1719
|
+
t}`],r)]),s=n||o||i;for(let a of[o,i].filter(Boolean))a!==s&&await ce(e,t,s,a,r)&&(s=a);return s}async function As(e,t,{
|
|
1720
|
+
baseCommit:r,canonicalCommit:n,sessionHead:o,worktreeTree:i,reconcileHistory:s=!1},a={}){let[c,l]=await Promise.all([_t(
|
|
1721
|
+
e,t,r,a),_t(e,t,n,a)]);if(i===l)return{baseTree:c,canonicalTree:l,changeBaseCommit:n,changeBaseTree:l,changedPaths:[],sessionMatchesCanonical:!0};
|
|
1722
|
+
let u=s?r:await A(e,t,["merge-base",n,o],a),d=u===n?l:await _t(e,t,u,a),p=i===d?[]:await Af(e,t,u,i,a);return{baseTree:c,
|
|
1723
|
+
canonicalTree:l,changeBaseCommit:u,changeBaseTree:d,changedPaths:p,sessionMatchesCanonical:i===l}}function Cf(e,t,r){let n=Number.
|
|
1724
|
+
parseInt(String(e??""),10);return Number.isSafeInteger(n)&&n>0?Math.min(n,r):t}function xf(e=""){let t=String(e||"").split(
|
|
1686
1725
|
"\0"),r=new Map;for(let n=0;n<t.length;){let o=E(t[n++]);if(!o)continue;let i=/^[CR]/u.test(o)?t[n++]:"",s=t[n++];s&&r.set(
|
|
1687
|
-
s,{path:s,...i?{previousPath:i}:{},status:o.slice(0,1)})}return r}function
|
|
1688
|
-
parseInt(t,10);return Number.isSafeInteger(r)&&r>=0?r:0}function
|
|
1726
|
+
s,{path:s,...i?{previousPath:i}:{},status:o.slice(0,1)})}return r}function _f(e=""){let t=E(e);if(t==="-")return null;let r=Number.
|
|
1727
|
+
parseInt(t,10);return Number.isSafeInteger(r)&&r>=0?r:0}function TT(e=""){let t=String(e||"").split("\0"),r=new Map;for(let n=0;n<
|
|
1689
1728
|
t.length;){let o=t[n++];if(!o)continue;let i=o.indexOf(" "),s=o.indexOf(" ",i+1),a=o.slice(s+1),c=!a;c&&(n+=1);let l=c?t[n++]:
|
|
1690
|
-
a;l&&r.set(l,{added:
|
|
1729
|
+
a;l&&r.set(l,{added:_f(o.slice(0,i)),deleted:_f(o.slice(i+1,s))})}return r}async function IT(e,t,r,n,o={}){let[i,s]=await Promise.
|
|
1691
1730
|
all([P(e,t,["diff-tree","--no-commit-id","-r","-M","--name-status","-z",r,n],o),P(e,t,["diff-tree","--no-commit-id","-r",
|
|
1692
|
-
"-M","--numstat","-z",r,n],o)]),a=
|
|
1693
|
-
get(l.path)||{added:0,deleted:0}})).sort((l,u)=>l.path.localeCompare(u.path))}function
|
|
1694
|
-
t.includes("\0")||
|
|
1695
|
-
ed project file.","vibe64_session_change_path_invalid");return t}function
|
|
1696
|
-
`:(literal)${e}`,`:(glob,exclude)${t}/**`]}async function
|
|
1697
|
-
let a=
|
|
1731
|
+
"-M","--numstat","-z",r,n],o)]),a=xf(i.stdout||i.output),c=TT(s.stdout||s.output);return[...a.values()].map(l=>({...l,...c.
|
|
1732
|
+
get(l.path)||{added:0,deleted:0}})).sort((l,u)=>l.path.localeCompare(u.path))}function kf(e=""){let t=String(e||"");if(!t||
|
|
1733
|
+
t.includes("\0")||F.posix.isAbsolute(t)||F.posix.normalize(t)!==t||t===".."||t.startsWith("../"))throw b("Choose a chang\
|
|
1734
|
+
ed project file.","vibe64_session_change_path_invalid");return t}function AT(e){let t=e.replace(/[*?[\]\\]/gu,"\\$&");return[
|
|
1735
|
+
`:(literal)${e}`,`:(glob,exclude)${t}/**`]}async function Nf(e,t,r,n,{commandOptions:o={},lineLimit:i=vs,project:s={}}={}){
|
|
1736
|
+
let a=kf(n);if(!r.changedPaths.includes(a))throw b("That file is not part of the current saved-work difference.","vibe64\
|
|
1698
1737
|
_session_change_not_found");let c=await P(e,t,["--no-literal-pathspecs","diff","--no-ext-diff","--find-renames","--unifi\
|
|
1699
|
-
ed=3",r.changeBaseCommit,r.worktreeTree,"--",...
|
|
1738
|
+
ed=3",r.changeBaseCommit,r.worktreeTree,"--",...AT(a)],{commandOptions:o,project:s}),l=String(c.stdout||c.output||"").replaceAll(
|
|
1700
1739
|
`\r
|
|
1701
1740
|
`,`
|
|
1702
1741
|
`).split(`
|
|
1703
|
-
`),u=
|
|
1742
|
+
`),u=Cf(i,vs,ST);return{canonicalCommit:r.canonicalCommit,changeBaseCommit:r.changeBaseCommit,diff:l.slice(0,u).join(`
|
|
1704
1743
|
`),lineLimit:u,ok:!0,path:a,shownLines:Math.min(l.length,u),totalLines:l.length,truncated:l.length>u,worktreeTree:r.worktreeTree}}
|
|
1705
|
-
async function
|
|
1706
|
-
runCommand:s=D,session:a={},worktreeTree:c=""}={}){let l=X(a,i);s=Se(s,l,i,{label:"Inspecting session changes"});let u=await
|
|
1744
|
+
async function Rs({commandOptions:e={},derivedArtifactPaths:t=[],includeInitialDiff:r=!0,limit:n=wf,offset:o=0,project:i={},
|
|
1745
|
+
runCommand:s=D,session:a={},worktreeTree:c=""}={}){let l=X(a,i);s=Se(s,l,i,{label:"Inspecting session changes"});let u=await Vn(
|
|
1707
1746
|
{commandOptions:e,derivedArtifactPaths:t,project:i,runCommand:s,session:a,worktreeTree:c}),d=new Set(u.changedPaths),p=u.
|
|
1708
|
-
unsaved?await
|
|
1709
|
-
[],f=
|
|
1747
|
+
unsaved?await IT(s,l,u.changeBaseCommit,u.worktreeTree,{commandOptions:e,project:i}).then(w=>w.filter(g=>d.has(g.path))):
|
|
1748
|
+
[],f=Cf(n,wf,_T),m=Math.max(0,Number.parseInt(String(o??""),10)||0),h=p.slice(m,m+f),y=r&&m===0&&h.length>0?await Nf(s,l,
|
|
1710
1749
|
u,h[0].path,{commandOptions:e,project:i}):null;return{...u,files:h,initialDiff:y,limit:f,offset:m,totalCount:p.length,truncated:m+
|
|
1711
|
-
f<p.length}}async function
|
|
1712
|
-
session:s={}}={}){let a=
|
|
1713
|
-
derivedArtifactPaths:t,project:o,runCommand:i,session:s});return
|
|
1750
|
+
f<p.length}}async function $f({commandOptions:e={},derivedArtifactPaths:t=[],lineLimit:r=vs,path:n="",project:o={},runCommand:i=D,
|
|
1751
|
+
session:s={}}={}){let a=kf(n),c=X(s,o);i=Se(i,c,o,{label:"Inspecting a session change"});let l=await Vn({commandOptions:e,
|
|
1752
|
+
derivedArtifactPaths:t,project:o,runCommand:i,session:s});return Nf(i,c,l,a,{commandOptions:e,lineLimit:r,project:o})}async function Vn({
|
|
1714
1753
|
commandOptions:e={},derivedArtifactPaths:t=[],inspectContributionPublication:r=!1,knownSubmittedCommit:n="",project:o={},
|
|
1715
1754
|
runCommand:i=D,session:s={},worktreeTree:a=""}={}){let c=X(s,o);i=Se(i,c,o,{label:"Inspecting session work"});let l=E(a)||
|
|
1716
|
-
await ae({baseCommit:"HEAD",project:te(c,o),runCommand:i,worktreePath:c.worktreePath}),[u,d,p,f]=await Promise.all([
|
|
1717
|
-
c,{commandOptions:e,project:o}),
|
|
1718
|
-
tus","--porcelain=v1","--untracked-files=all","--ignore-submodules=none","-z"],{commandOptions:e,project:o}),
|
|
1719
|
-
-parse","--show-toplevel"],{commandOptions:e,project:o})]),[m,h,y,w]=await Promise.all([
|
|
1720
|
-
{commandOptions:e,project:o}),
|
|
1755
|
+
await ae({baseCommit:"HEAD",project:te(c,o),runCommand:i,worktreePath:c.worktreePath}),[u,d,p,f]=await Promise.all([Of(i,
|
|
1756
|
+
c,{commandOptions:e,project:o}),A(i,c,["rev-parse","--verify","HEAD^{commit}"],{commandOptions:e,project:o}),A(i,c,["sta\
|
|
1757
|
+
tus","--porcelain=v1","--untracked-files=all","--ignore-submodules=none","-z"],{commandOptions:e,project:o}),A(i,c,["rev\
|
|
1758
|
+
-parse","--show-toplevel"],{commandOptions:e,project:o})]),[m,h,y,w]=await Promise.all([A(i,c,["rev-parse",`${d}^{tree}`],
|
|
1759
|
+
{commandOptions:e,project:o}),Gn(i,c,u,d,{commandOptions:e,project:o}),Gn(i,c,d,u,{commandOptions:e,project:o}),As(i,c,{
|
|
1721
1760
|
baseCommit:c.baseCommit,canonicalCommit:u,sessionHead:d,worktreeTree:l},{commandOptions:e,project:o})]),g=new Set((Array.
|
|
1722
|
-
isArray(t)?t:[]).map(E).filter(Boolean)),v=w.changedPaths.filter(S=>!g.has(S)),_=
|
|
1723
|
-
throw b("Publication inspection requires a bound contribution.","vibe64_contribution_authority_changed");if(
|
|
1724
|
-
c,{commandOptions:e,project:o},!0),!
|
|
1725
|
-
evidence is invalid.","vibe64_connected_integration_unknown");
|
|
1726
|
-
let S=`refs/heads/${c.contribution.integrationBranch}`,x=await
|
|
1727
|
-
project:o}),[N,$,M]=x.split(/\s+/u);if($!==S||M||!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(N)||!await ce(i,c,
|
|
1761
|
+
isArray(t)?t:[]).map(E).filter(Boolean)),v=w.changedPaths.filter(S=>!g.has(S)),_=_s(h,y),I=p.length===0,R;if(r){if(!c.contribution)
|
|
1762
|
+
throw b("Publication inspection requires a bound contribution.","vibe64_contribution_authority_changed");if(R=await Hn(i,
|
|
1763
|
+
c,{commandOptions:e,project:o},!0),!R&&n){if(!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(n))throw b("The saved contribution\
|
|
1764
|
+
evidence is invalid.","vibe64_connected_integration_unknown");R=n}if(c.contributionDiscarded||R&&c.contributionRemoteAbsent){
|
|
1765
|
+
let S=`refs/heads/${c.contribution.integrationBranch}`,x=await A(i,c,["ls-remote","--heads",c.remoteUrl,S],{commandOptions:e,
|
|
1766
|
+
project:o}),[N,$,M]=x.split(/\s+/u);if($!==S||M||!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(N)||!await ce(i,c,R,N,{commandOptions:e,
|
|
1728
1767
|
project:o}))throw b("The removed contribution has not been proved integrated in this source. Check its receiving target \
|
|
1729
1768
|
and explicitly Update the connected session.",c.contributionDiscarded?"vibe64_contribution_discarded":"vibe64_contributi\
|
|
1730
|
-
on_branch_missing")}if(!
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1769
|
+
on_branch_missing")}if(!R&&c.baseCommit!==c.contribution.baseCommit)throw b("The pushed contribution branch is missing a\
|
|
1770
|
+
nd no exact submitted revision is retained. Preserve the source and inspect its Save recovery evidence.","vibe64_contrib\
|
|
1771
|
+
ution_branch_missing");if(R&&!await ce(i,c,R,d,{commandOptions:e,project:o}))throw b("The contribution branch contains w\
|
|
1772
|
+
ork this source has not incorporated. Update its receiving session before saving the main project.","vibe64_connected_so\
|
|
1773
|
+
urce_update_required",{repository:c.contribution.repository,sessionId:c.sessionId})}return{ahead:h,baseCommit:c.baseCommit,
|
|
1735
1774
|
behind:y,branch:c.branch,canonicalCommit:u,canonicalTree:w.canonicalTree,changeBaseCommit:w.changeBaseCommit,changeBaseTree:w.
|
|
1736
|
-
changeBaseTree,changedPaths:v,destination:
|
|
1775
|
+
changeBaseTree,changedPaths:v,destination:mf(o,s),dirty:l!==m||!I,mode:c.mode,ok:!0,...r?{publishedCommit:R}:{},repositoryMode:c.
|
|
1737
1776
|
mode,relationship:_,sessionMatchesCanonical:v.length===0,sessionHead:d,sessionId:c.sessionId,tree:l,updateAvailable:y>0,
|
|
1738
|
-
updateStrategy:
|
|
1739
|
-
ave/${me.createHash("sha256").update(`${e.sessionId}\0${t}`).digest("hex").slice(0,32)}/${r}`}function
|
|
1740
|
-
e,t,"prepared")}function
|
|
1741
|
-
E(r)&&await P(e,t,["update-ref","-d",r],{...n,required:!1})}async function
|
|
1742
|
-
e,t,["update-ref",i,n],o),i}async function
|
|
1743
|
-
return await P(e,t,["update-ref",
|
|
1744
|
-
remoteUrl],n),t.contribution&&(t.contributionPublishedCommit=await
|
|
1745
|
-
t.contributionRemoteAbsent)){let s=await
|
|
1777
|
+
updateStrategy:Ss(_),unsaved:v.length>0,worktreeClean:I,worktreeTree:l,worktreeTopLevel:f,worktreePath:c.worktreePath}}async function Wn(e,t,r){await P(e,t,["check-ref-format","--branch",t.branch],r)}function St(e,t,r){return`refs/vibe64/s\
|
|
1778
|
+
ave/${me.createHash("sha256").update(`${e.sessionId}\0${t}`).digest("hex").slice(0,32)}/${r}`}function Mf(e,t){return St(
|
|
1779
|
+
e,t,"prepared")}function Ps(e){return`refs/vibe64/canonical/${me.createHash("sha256").update(e.branch).digest("hex").slice(0,32)}`}async function Et(e,t,r,n={}){
|
|
1780
|
+
E(r)&&await P(e,t,["update-ref","-d",r],{...n,required:!1})}async function RT(e,t,r,n,o={}){let i=Mf(t,r);return await P(
|
|
1781
|
+
e,t,["update-ref",i,n],o),i}async function er(e,t,r,n={}){let o=await A(e,t,["rev-parse","--verify",`${r}^{commit}`],n);
|
|
1782
|
+
return await P(e,t,["update-ref",Ps(t),o],n),o}async function PT(e,t,r,n){if(await P(e,t,["remote","set-url","origin",t.
|
|
1783
|
+
remoteUrl],n),t.contribution&&(t.contributionPublishedCommit=await Hn(e,t,n,!0),t.contributionRemoteAbsent=!t.contributionPublishedCommit,
|
|
1784
|
+
t.contributionRemoteAbsent)){let s=await Ts(e,t,["rev-parse","--verify",`${Ps(t)}^{commit}`],n);if((await A(e,t,["for-ea\
|
|
1746
1785
|
ch-ref","--format=%(refname)","refs/vibe64/save/"],n)).split(`
|
|
1747
|
-
`).some(c=>c.endsWith("/prepared")))throw b("This contribution branch is missing after a
|
|
1748
|
-
|
|
1786
|
+
`).some(c=>c.endsWith("/prepared")))throw b("This contribution branch is missing after a push attempt. Inspect its saved\
|
|
1787
|
+
work and integration history before resubmitting it.","vibe64_contribution_branch_missing");if(t.lastCanonicalCommit===
|
|
1749
1788
|
t.contribution.baseCommit&&(!s||s===t.contribution.baseCommit))return t.canonicalBranch=t.contribution.replaces?`vibe64-\
|
|
1750
1789
|
incoming/${t.contribution.replaces}_discarded`:t.contribution.integrationBranch,t.contribution.baseCommit;t.contributionMissingPublished=
|
|
1751
|
-
!0}let o=
|
|
1790
|
+
!0}let o=St(t,r,"canonical"),i=t.contribution?St(t,r,"integration"):"";try{await P(e,t,["fetch","--no-tags","origin",`+r\
|
|
1752
1791
|
efs/heads/${t.contributionMissingPublished?t.contribution.integrationBranch:t.contributionDiscarded?`${t.branch}_discard\
|
|
1753
|
-
ed`:t.branch}:${o}`,...i?[`+refs/heads/${t.contribution.integrationBranch}:${i}`]:[]],n);let s=await
|
|
1792
|
+
ed`:t.branch}:${o}`,...i?[`+refs/heads/${t.contribution.integrationBranch}:${i}`]:[]],n);let s=await A(e,t,["rev-parse",
|
|
1754
1793
|
"--verify",o],n);if(i){if(!t.contributionMissingPublished&&s!==t.contributionPublishedCommit)throw b("The contribution b\
|
|
1755
|
-
ranch changed during its authority check. Retry Update or Save.","vibe64_session_save_update_required");let a=await
|
|
1794
|
+
ranch changed during its authority check. Retry Update or Save.","vibe64_session_save_update_required");let a=await A(e,
|
|
1756
1795
|
t,["rev-parse","--verify",i],n),c=await ce(e,t,t.contributionMissingPublished?t.baseCommit:s,a,n);if((t.contributionDiscarded||
|
|
1757
1796
|
t.contributionMissingPublished)&&(!c||t.baseCommit===t.contribution.baseCommit&&t.contributionMissingPublished))throw b(
|
|
1758
1797
|
"This removed contribution has not been integrated. Preserve its source and inspect its saved work.",t.contributionDiscarded?
|
|
1759
1798
|
"vibe64_contribution_discarded":"vibe64_contribution_branch_missing");c&&(s=a,t.canonicalBranch=t.contribution.integrationBranch)}
|
|
1760
|
-
return
|
|
1761
|
-
i=`${o}_discarded`,s=await
|
|
1799
|
+
return er(e,t,s,n)}finally{await Et(e,t,o,n),await Et(e,t,i,n)}}async function Hn(e,t,r,n=!1){let o=`refs/heads/${t.branch}`,
|
|
1800
|
+
i=`${o}_discarded`,s=await A(e,t,["ls-remote","--heads",t.remoteUrl,o,i],r),a=new Map(s.split(`
|
|
1762
1801
|
`).filter(Boolean).map(c=>{let[l,u]=c.split(/\s+/u);if(![o,i].includes(u)||!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(l))throw b(
|
|
1763
1802
|
"The contribution's remote branches could not be verified.","vibe64_contribution_refs_invalid");return[u,l]}));if(t.contributionDiscarded=
|
|
1764
1803
|
a.has(i)&&!a.has(o),t.contributionRemoteAbsent=!a.has(o)&&!a.has(i),a.has(i)&&(!n||a.has(o)))throw b(a.has(o)?"Both cont\
|
|
1765
|
-
ribution branches exist after an interrupted discard. Resolve that operation before
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
"
|
|
1769
|
-
checked out before Save.`,"vibe64_session_save_local_branch_mismatch");if(await
|
|
1804
|
+
ribution branches exist after an interrupted discard. Resolve that operation before saving.":"This contribution was disc\
|
|
1805
|
+
arded. Preserve its source and submit further work as a new contribution.",a.has(o)?"vibe64_contribution_discard_incompl\
|
|
1806
|
+
ete":"vibe64_contribution_discarded");return a.get(o)||(n?a.get(i):"")||""}async function Df(e,t,r){if(await A(e,t,["bra\
|
|
1807
|
+
nch","--show-current"],{...r,cwd:t.standaloneSourceRoot})!==t.branch)throw b(`The project baseline must have ${t.branch}\
|
|
1808
|
+
checked out before Save.`,"vibe64_session_save_local_branch_mismatch");if(await A(e,t,["status","--porcelain","--untrac\
|
|
1770
1809
|
ked-files=all"],{...r,cwd:t.standaloneSourceRoot}))throw b("The local project baseline has unsaved work. Save cannot ove\
|
|
1771
1810
|
rwrite it.","vibe64_session_save_local_authority_dirty");for(let i of["MERGE_HEAD","CHERRY_PICK_HEAD","REVERT_HEAD","REB\
|
|
1772
1811
|
ASE_HEAD"])if((await P(e,t,["rev-parse","--verify","-q",i],{...r,cwd:t.standaloneSourceRoot,required:!1}))?.ok===!0)throw b(
|
|
1773
|
-
"The local project baseline has an unfinished Git operation.","vibe64_session_save_local_operation_in_progress");return
|
|
1774
|
-
e,t,["rev-parse","--verify","HEAD"],{...r,cwd:t.standaloneSourceRoot})}async function
|
|
1775
|
-
e,t,r,n);let o=await
|
|
1776
|
-
heads/${t.branch}:${i}`],n);let s=await
|
|
1777
|
-
changed while Vibe64 was reading it.","vibe64_session_save_authority_advanced");return
|
|
1778
|
-
i,n)}}async function
|
|
1779
|
-
explicitBase:l=!1}){let u=c||await
|
|
1812
|
+
"The local project baseline has an unfinished Git operation.","vibe64_session_save_local_operation_in_progress");return A(
|
|
1813
|
+
e,t,["rev-parse","--verify","HEAD"],{...r,cwd:t.standaloneSourceRoot})}async function Lf(e,t,r,n){if(t.mode!==V)return PT(
|
|
1814
|
+
e,t,r,n);let o=await Df(e,t,n),i=St(t,r,"canonical");try{await P(e,t,["fetch","--no-tags",t.standaloneSourceRoot,`+refs/\
|
|
1815
|
+
heads/${t.branch}:${i}`],n);let s=await A(e,t,["rev-parse","--verify",i],n);if(s!==o)throw b("The local project baseline\
|
|
1816
|
+
changed while Vibe64 was reading it.","vibe64_session_save_authority_advanced");return er(e,t,s,n)}finally{await Et(e,t,
|
|
1817
|
+
i,n)}}async function Bf(e,t,{baseCommit:r,canonicalCommit:n,checkpointTree:o,commandOptions:i,identity:s,project:a,virtualCommit:c="",
|
|
1818
|
+
explicitBase:l=!1}){let u=c||await qn(e,t,{baseCommit:r,commandOptions:i,identity:s,message:"Vibe64 session rebase input",
|
|
1780
1819
|
project:a,tree:o}),d=await P(e,t,["merge-tree","--write-tree",...l?[`--merge-base=${r}`]:[],"--messages","--name-only","\
|
|
1781
1820
|
-z",n,u],{commandOptions:i,project:a,required:!1}),p=String(d?.stdout||d?.output||"").split("\0"),f=E(p.shift());if(!/^[0-9a-f]{40,64}$/u.
|
|
1782
1821
|
test(f))throw b(d?.ok===!0?"Git did not produce a valid rebased tree.":"Vibe64 could not prepare the conflicting files f\
|
|
1783
1822
|
or review.","vibe64_session_update_merge_invalid");if(d?.ok!==!0){let m=[];for(;p.length>0;){let h=p.shift();if(!h)break;
|
|
1784
1823
|
m.push(h)}if(!m.length)throw b("Vibe64 could not identify which files conflict with the latest saved version.","vibe64_s\
|
|
1785
1824
|
ession_update_merge_invalid");return{conflictPaths:[...new Set(m)].sort((h,y)=>h.localeCompare(y)),conflictTree:f,mergedTree:"",
|
|
1786
|
-
virtualCommit:u}}return{conflictPaths:[],conflictTree:"",mergedTree:f,virtualCommit:u}}function
|
|
1825
|
+
virtualCommit:u}}return{conflictPaths:[],conflictTree:"",mergedTree:f,virtualCommit:u}}function OT(e={}){if(!e||typeof e!=
|
|
1787
1826
|
"object"||Array.isArray(e))return null;let t=Array.isArray(e.conflictPaths)?[...new Set(e.conflictPaths.map(String).filter(
|
|
1788
1827
|
Boolean))].sort((n,o)=>n.localeCompare(o)):[],r={baseCommit:E(e.baseCommit),canonicalCommit:E(e.canonicalCommit),checkpointTree:E(
|
|
1789
1828
|
e.checkpointTree),conflictPaths:t,conflictTree:E(e.conflictTree),reviewId:E(e.reviewId),oldHead:E(e.oldHead),oldIndexTree:E(
|
|
1790
|
-
e.oldIndexTree)};return Object.values(r).some(n=>Array.isArray(n)?n.length===0:!n)?null:r}function
|
|
1829
|
+
e.oldIndexTree)};return Object.values(r).some(n=>Array.isArray(n)?n.length===0:!n)?null:r}function CT(e=[]){let t=e.length,
|
|
1791
1830
|
r=e.slice(0,3).join(", "),n=t>3?` and ${t-3} more`:"";return`${t} ${t===1?"file needs":"files need"} review before this \
|
|
1792
1831
|
session can update: ${r}${n}. Resolve ${t===1?"it":"them"} manually or with AI, then use Review resolved conflicts to ap\
|
|
1793
|
-
ply Update. Fix it with AI can help with the repair.`}function
|
|
1794
|
-
_conflict",{conflictPaths:e.conflictPaths,conflictRecovery:e})}async function
|
|
1795
|
-
reviewedConflictId:o,project:i}){let s=o?
|
|
1796
|
-
"canonicalCommit","oldHead","oldIndexTree"].every(l=>s[l]===r[l])&&r.conflictPaths.every(l=>a.has(l)))||o!==s.reviewId)throw
|
|
1797
|
-
r);return
|
|
1798
|
-
project:te(t,o),runCommand:e,worktreePath:t.worktreePath})}async function
|
|
1799
|
-
message:i,project:s,tree:a}){return
|
|
1832
|
+
ply Update. Fix it with AI can help with the repair.`}function Sf(e){return b(CT(e.conflictPaths),"vibe64_session_update\
|
|
1833
|
+
_conflict",{conflictPaths:e.conflictPaths,conflictRecovery:e})}async function xT(e,t,{currentRecovery:r,previousRecovery:n,
|
|
1834
|
+
reviewedConflictId:o,project:i}){let s=o?OT(n):null;if(!s)throw Sf(r);let a=new Set(s.conflictPaths);if(!(["baseCommit",
|
|
1835
|
+
"canonicalCommit","oldHead","oldIndexTree"].every(l=>s[l]===r[l])&&r.conflictPaths.every(l=>a.has(l)))||o!==s.reviewId)throw Sf(
|
|
1836
|
+
r);return Uf(e,t,{...r,project:i})}function Uf(e,t,{conflictTree:r,conflictPaths:n,project:o}){return ae({baseCommit:r,paths:n,
|
|
1837
|
+
project:te(t,o),runCommand:e,worktreePath:t.worktreePath})}async function qn(e,t,{baseCommit:r,commandOptions:n,identity:o,
|
|
1838
|
+
message:i,project:s,tree:a}){return A(e,t,["-c",`user.name=${o.name}`,"-c",`user.email=${o.email}`,"commit-tree",a,"-p",
|
|
1800
1839
|
r],{commandOptions:n,input:`${E(i)||"Vibe64 virtual commit"}
|
|
1801
|
-
`,project:s})}async function
|
|
1802
|
-
n);if(!a.length)return s;let c=await
|
|
1840
|
+
`,project:s})}async function Os(e,t,{commandOptions:r,derivedArtifactPaths:n=[],project:o,sourceCommit:i,tree:s}){let a=jn(
|
|
1841
|
+
n);if(!a.length)return s;let c=await vf(F.join(F.dirname(t.worktreePath),".vibe64-derived-index-")),u={GIT_INDEX_FILE:F.
|
|
1803
1842
|
join(c,"index")},d={additionalAllowedRoots:[c],commandOptions:r,env:u,project:o};try{await P(e,t,["read-tree",s],d);for(let p of a){
|
|
1804
1843
|
let f=await P(e,t,["ls-tree","-z",i,"--",p],{commandOptions:r,project:o}),m=/^(\d+)\s+\S+\s+([0-9a-f]{40,64})\t([^\0]+)\0$/u.
|
|
1805
1844
|
exec(String(f.stdout||""));m&&m[3]===p?await P(e,t,["update-index","--add","--cacheinfo",m[1],m[2],p],d):await P(e,t,["u\
|
|
1806
|
-
pdate-index","--force-remove","--",p],{...d,required:!1})}return await
|
|
1807
|
-
recursive:!0})}}async function
|
|
1808
|
-
tree:c}){if(!
|
|
1809
|
-
wning tool is unavailable.","vibe64_session_derived_artifact_refresh_unavailable");let u=await
|
|
1810
|
-
identity:i,message:"Vibe64 derived artifact input",project:s,tree:c}),d=await
|
|
1811
|
-
64-derived-worktree-")),p=
|
|
1845
|
+
pdate-index","--force-remove","--",p],{...d,required:!1})}return await A(e,t,["write-tree"],d)}finally{await Tf(c,{force:!0,
|
|
1846
|
+
recursive:!0})}}async function Fn(e,t,{baseCommit:r,commandOptions:n,derivedArtifactPaths:o=[],identity:i,project:s,refreshDerivedArtifacts:a,
|
|
1847
|
+
tree:c}){if(!jn(o).length)return c;if(typeof a!="function")throw b("The project declares generated artifacts but their o\
|
|
1848
|
+
wning tool is unavailable.","vibe64_session_derived_artifact_refresh_unavailable");let u=await qn(e,t,{baseCommit:r,commandOptions:n,
|
|
1849
|
+
identity:i,message:"Vibe64 derived artifact input",project:s,tree:c}),d=await vf(F.join(F.dirname(t.worktreePath),".vibe\
|
|
1850
|
+
64-derived-worktree-")),p=F.join(d,"source"),f={additionalAllowedRoots:[d,p],commandOptions:n,project:s},m=!1;try{return await P(
|
|
1812
1851
|
e,t,["worktree","add","--detach",p,u],f),m=!0,await a({projectRoot:p}),await ae({baseCommit:"HEAD",project:te(t,s),runCommand:e,
|
|
1813
|
-
worktreePath:p})}finally{m&&await P(e,t,["worktree","remove","--force",p],{...f,required:!1}),await
|
|
1814
|
-
await P(e,t,["worktree","prune"],{commandOptions:n,project:s,required:!1})}}async function
|
|
1852
|
+
worktreePath:p})}finally{m&&await P(e,t,["worktree","remove","--force",p],{...f,required:!1}),await Tf(d,{force:!0,recursive:!0}),
|
|
1853
|
+
await P(e,t,["worktree","prune"],{commandOptions:n,project:s,required:!1})}}async function kT(e,t,{canonicalCommit:r,commandOptions:n,
|
|
1815
1854
|
identity:o,mergedTree:i,message:s,project:a}){let c=E(s);if(!c)throw b("Save requires an assistant-generated commit subj\
|
|
1816
|
-
ect.","vibe64_session_save_message_required");return
|
|
1855
|
+
ect.","vibe64_session_save_message_required");return A(e,t,["-c",`user.name=${o.name}`,"-c",`user.email=${o.email}`,"com\
|
|
1817
1856
|
mit-tree",i,"-p",r],{commandOptions:n,input:`${c}
|
|
1818
|
-
`,project:a})}async function
|
|
1857
|
+
`,project:a})}async function Cs(e,t,r){if(t.connectedSubmissions.length){if(await A(e,t,["rev-parse","--is-shallow-repos\
|
|
1819
1858
|
itory"],r)!=="false")throw b("Connected integration requires complete Git history. Prepare a full checkout before saving\
|
|
1820
1859
|
.","vibe64_connected_integration_unknown");for(let{contribution:n,submittedCommit:o}of t.connectedSubmissions){let{repository:i,
|
|
1821
1860
|
integrationBranch:s,id:a}=n,c=`https://github.com/${i}.git`,l=`refs/heads/${s}`,u=`refs/heads/vibe64-incoming/${a}`,d=`${u}\
|
|
1822
|
-
_discarded`,p={repository:i,integrationBranch:s,id:a,submittedCommit:o},f=[];try{let m=await
|
|
1861
|
+
_discarded`,p={repository:i,integrationBranch:s,id:a,submittedCommit:o},f=[];try{let m=await A(e,t,["ls-remote","--heads",
|
|
1823
1862
|
c,l,u,d],r),h=new Map;for(let g of m.split(`
|
|
1824
1863
|
`).filter(Boolean)){let[v,_]=g.split(/\s+/u);if(![l,u,d].includes(_)||h.has(_)||!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(
|
|
1825
1864
|
v))throw b("The receiving repository returned invalid ref evidence.");h.set(_,v)}if(!h.has(l))throw b("The receiving int\
|
|
1826
1865
|
egration branch is unavailable.");if(h.has(u)&&h.has(d))throw b(`${i} has an interrupted discard. Resolve it in Incoming\
|
|
1827
1866
|
changes before saving this project.`,"vibe64_connected_integration_unresolved",p);for(let[g,v]of h)f.push({remote:g,head:v,
|
|
1828
|
-
local:
|
|
1829
|
-
map(g=>`+${g.remote}:${g.local}`)],r),await
|
|
1830
|
-
iving history is incomplete.");for(let g of f)if(await
|
|
1831
|
-
throw b("The receiving branches changed during the integration check. Retry Save.");let y=await
|
|
1867
|
+
local:St(t,me.randomUUID(),"connected-integration")});if(await P(e,t,["fetch","--no-tags","--no-write-fetch-head",c,...f.
|
|
1868
|
+
map(g=>`+${g.remote}:${g.local}`)],r),await A(e,t,["rev-parse","--is-shallow-repository"],r)!=="false")throw b("The rece\
|
|
1869
|
+
iving history is incomplete.");for(let g of f)if(await A(e,t,["rev-parse","--verify",`${g.local}^{commit}`],r)!==g.head)
|
|
1870
|
+
throw b("The receiving branches changed during the integration check. Retry Save.");let y=await A(e,t,["rev-list","--cou\
|
|
1832
1871
|
nt",`${h.get(l)}..${o}`],r);if(!/^\d+$/u.test(y))throw b("The required revision's ancestry is unknown.");if(y!=="0"){let g=h.
|
|
1833
1872
|
has(d);throw b(`${i} has ${g?"discarded":"not merged"} contribution ${a} at ${o.slice(0,12)}. Integrate that revision in\
|
|
1834
1873
|
to ${s} before saving this project.`,g?"vibe64_connected_integration_discarded":"vibe64_connected_integration_pending",p)}
|
|
@@ -1836,186 +1875,187 @@ let w=(r.connectedWorkSnapshots||[]).find(g=>g.contribution.repository===i&&g.co
|
|
|
1836
1875
|
!await ce(e,t,h.get(l),w.sessionHead,r))throw b(`Update the connected session for ${i} to incorporate its accepted ${s} \
|
|
1837
1876
|
source before saving this project.`,"vibe64_connected_integration_source_update_required",p)}catch(m){throw m.code?.startsWith(
|
|
1838
1877
|
"vibe64_connected_integration_")?m:b(`Could not verify contribution ${a} in ${i}/${s}. Check repository access and compl\
|
|
1839
|
-
ete history, then retry Save.`,"vibe64_connected_integration_unknown",p)}finally{for(let m of f)await
|
|
1840
|
-
function
|
|
1841
|
-
available");return e.map(t=>{let r=
|
|
1842
|
-
sessionId!="string"||!E(t.sessionId)||!
|
|
1878
|
+
ete history, then retry Save.`,"vibe64_connected_integration_unknown",p)}finally{for(let m of f)await Et(e,t,m.local,r)}}}}
|
|
1879
|
+
function Gf(e=[]){if(!Array.isArray(e))throw b("Connected source snapshots are unavailable.","vibe64_connected_source_un\
|
|
1880
|
+
available");return e.map(t=>{let r=Qt({metadata:{connected_contribution:JSON.stringify(t?.contribution)}});if(!r||typeof t.
|
|
1881
|
+
sessionId!="string"||!E(t.sessionId)||!F.isAbsolute(E(t.worktreePath))||[t.baseCommit,t.canonicalCommit,t.sessionHead,t.
|
|
1843
1882
|
worktreeTree].some(n=>!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(E(n))))throw b("The connected source could not be capture\
|
|
1844
1883
|
d. Inspect connected work before saving.","vibe64_connected_source_unavailable");return{contribution:r,sessionId:t.sessionId,
|
|
1845
1884
|
worktreePath:E(t.worktreePath),baseCommit:t.baseCommit,canonicalCommit:t.canonicalCommit,sessionHead:t.sessionHead,worktreeTree:t.
|
|
1846
|
-
worktreeTree}})}async function
|
|
1885
|
+
worktreeTree}})}async function Ef(e,t,r){for(let n of t){let{contribution:o}=n,i=X({sessionId:n.sessionId,sourcePath:n.worktreePath,
|
|
1847
1886
|
metadata:{base_commit:n.baseCommit,canonical_commit:n.canonicalCommit,connected_contribution:JSON.stringify(o)}},{repositoryMode:J,
|
|
1848
1887
|
repository:{defaultBranch:o.integrationBranch},githubRepository:{fullName:o.repository,cloneUrl:`https://github.com/${o.
|
|
1849
1888
|
repository}.git`}});try{let s=await ae({baseCommit:"HEAD",project:te(i,r.project),runCommand:e,worktreePath:i.worktreePath}),
|
|
1850
|
-
[a,c]=await Promise.all([
|
|
1889
|
+
[a,c]=await Promise.all([A(e,i,["rev-parse","--verify","HEAD^{commit}"],r),Of(e,i,r)]);if(s!==n.worktreeTree||a!==n.sessionHead||
|
|
1851
1890
|
c!==n.canonicalCommit)throw b(`Connected work in ${o.repository} changed during Save. Inspect and save it before retryin\
|
|
1852
1891
|
g Main Save.`,"vibe64_connected_save_required",{repository:o.repository,sessionId:o.id})}catch(s){throw s.code==="vibe64\
|
|
1853
1892
|
_connected_save_required"?s:b(`Connected work in ${o.repository} could not be rechecked. Restore source access and retry\
|
|
1854
|
-
Save.`,"vibe64_connected_source_unavailable",{repository:o.repository,sessionId:o.id})}}}async function
|
|
1855
|
-
e,t,o),t.mode===
|
|
1856
|
-
e_authority_advanced");await P(e,t,["fetch",t.worktreePath,r],{...o,cwd:t.standaloneSourceRoot}),await
|
|
1857
|
-
[],o),o.onPublicationAttempt?.(),await P(e,t,["merge","--ff-only",r],{...o,cwd:t.standaloneSourceRoot});let u=await
|
|
1858
|
-
t,["rev-parse","HEAD"],{...o,cwd:t.standaloneSourceRoot});return await
|
|
1859
|
-
n;if(t.contribution){if(t.contributionMissingPublished)throw b("This contribution branch was removed after
|
|
1860
|
-
Preserve its source and submit further work as a new contribution.","vibe64_contribution_branch_missing");let l=t.contributionRemoteAbsent?
|
|
1861
|
-
"":t.contributionPublishedCommit;if(await
|
|
1893
|
+
Save.`,"vibe64_connected_source_unavailable",{repository:o.repository,sessionId:o.id})}}}async function NT(e,t,r,n,o){if(await Cs(
|
|
1894
|
+
e,t,o),t.mode===V){if(await Df(e,t,o)!==n)throw b("The local project baseline advanced during Save.","vibe64_session_sav\
|
|
1895
|
+
e_authority_advanced");await P(e,t,["fetch",t.worktreePath,r],{...o,cwd:t.standaloneSourceRoot}),await Ef(e,o.connectedWorkSnapshots||
|
|
1896
|
+
[],o),o.onPublicationAttempt?.(),await P(e,t,["merge","--ff-only",r],{...o,cwd:t.standaloneSourceRoot});let u=await A(e,
|
|
1897
|
+
t,["rev-parse","HEAD"],{...o,cwd:t.standaloneSourceRoot});return await er(e,t,u,o),u}let i=["push"],s=t.contribution?t.contributionPublishedCommit:
|
|
1898
|
+
n;if(t.contribution){if(t.contributionMissingPublished)throw b("This contribution branch was removed after it was pushed\
|
|
1899
|
+
. Preserve its source and submit further work as a new contribution.","vibe64_contribution_branch_missing");let l=t.contributionRemoteAbsent?
|
|
1900
|
+
"":t.contributionPublishedCommit;if(await Hn(e,t,o)!==l)throw b("The contribution branch changed while Save was preparin\
|
|
1862
1901
|
g. Inspect it before trying again.","vibe64_session_save_update_required");i.push(`--force-with-lease=refs/heads/${t.branch}\
|
|
1863
|
-
:${l}`)}t.mode===
|
|
1902
|
+
:${l}`)}t.mode===wt&&i.push("--push-option=vibe64-atomic"),i.push("origin",`${r}:refs/heads/${t.branch}`);let a;await Ef(
|
|
1864
1903
|
e,o.connectedWorkSnapshots||[],o),o.onPublicationAttempt?.();try{a=await P(e,t,i,{...o,required:!1})}catch(l){a={ok:!1,code:l.
|
|
1865
|
-
code,error:l.message}}let c;try{c=(t.contribution?await
|
|
1904
|
+
code,error:l.message}}let c;try{c=(t.contribution?await Hn(e,t,o):await A(e,t,["ls-remote","--heads","origin",`refs/head\
|
|
1866
1905
|
s/${t.branch}`],o)).split(/\s+/u)[0]||""}catch(l){throw["vibe64_contribution_discarded","vibe64_contribution_discard_inc\
|
|
1867
1906
|
omplete"].includes(l.code)?l:b(`Save publication could not be confirmed. Inspect work to recover the prepared commit bef\
|
|
1868
|
-
ore retrying. ${E(l.message)}`,"vibe64_session_save_publication_unknown")}if(c===r)return await
|
|
1869
|
-
!0){if(c&&c!==s)throw b("The saved branch changed while Save was
|
|
1870
|
-
|
|
1871
|
-
a?.output||a?.error)||"Git Save publication failed.";throw t.mode===J&&/changes must be made through a pull request/iu.
|
|
1872
|
-
l)?b(`GitHub requires a pull request to update ${t.branch}. Your work remains in this session.
|
|
1907
|
+
ore retrying. ${E(l.message)}`,"vibe64_session_save_publication_unknown")}if(c===r)return await er(e,t,c,o),c;if(a?.ok!==
|
|
1908
|
+
!0){if(c&&c!==s)throw b("The saved branch changed while Save was pushing your changes. Update this session, then save ag\
|
|
1909
|
+
ain.","vibe64_session_save_update_required",{canonicalCommit:c,reconciledCommit:n,updateRequired:!0});let l=E(a?.stderr||
|
|
1910
|
+
a?.stdout||a?.output||a?.error)||"Git Save publication failed.";throw t.mode===J&&/changes must be made through a pull request/iu.
|
|
1911
|
+
test(l)?b(`GitHub requires a pull request to update ${t.branch}. Your work remains in this session.
|
|
1873
1912
|
|
|
1874
1913
|
${l}`,"vibe64_pull_request_required"):b(l,E(a?.code)||"vibe64_session_save_git_failed")}throw b("Canonical repository ve\
|
|
1875
|
-
rification did not return the commit Vibe64
|
|
1914
|
+
rification did not return the commit Vibe64 pushed.","vibe64_session_save_verification_failed")}async function $T(e,t,r,{
|
|
1876
1915
|
commandOptions:n={},project:o={}}={}){if(t.mode!==J)return{attempted:!1,kind:"none",retryable:!1,status:"not_applicable"};
|
|
1877
1916
|
let i=t.githubMirrorPath,s=(a,c)=>({attempted:!!i,branch:t.branch,code:a,kind:"github_mirror",message:"Your work was sav\
|
|
1878
1917
|
ed, but Vibe64 could not refresh its local clone cache. A later session or Save will retry it.",reason:c,retryable:!0,status:"\
|
|
1879
1918
|
retryable",verifiedCommit:r});if(!i&&t.githubMirrorOptional)return{attempted:!1,kind:"none",retryable:!1,status:"not_app\
|
|
1880
|
-
licable"};if(!i||!
|
|
1881
|
-
a,...c]=
|
|
1919
|
+
licable"};if(!i||!F.isAbsolute(i))return s("vibe64_session_save_github_mirror_missing","configuration_missing");try{let[
|
|
1920
|
+
a,...c]=bs({mirrorPath:i,remoteUrl:t.remoteUrl}),l=await If(e,t,a,c,{additionalAllowedRoots:[i],commandOptions:n,project:o});
|
|
1882
1921
|
if(l?.ok!==!0)return s(E(l?.code)||"vibe64_session_save_github_mirror_refresh_failed","refresh_failed");let u={additionalAllowedRoots:[
|
|
1883
1922
|
i],commandOptions:n,project:o,required:!1},[d,p]=await Promise.all([P(e,t,["--git-dir",i,"rev-parse","--verify",`refs/he\
|
|
1884
|
-
ads/${t.branch}^{commit}`],u),P(e,t,["--git-dir",i,"remote","get-url","origin"],u)]),f=d?.ok===!0?
|
|
1885
|
-
|
|
1923
|
+
ads/${t.branch}^{commit}`],u),P(e,t,["--git-dir",i,"remote","get-url","origin"],u)]),f=d?.ok===!0?Un(d):"",m=p?.ok===!0?
|
|
1924
|
+
Un(p):"";return f!==r||m!==t.remoteUrl?{...s("vibe64_session_save_github_mirror_verification_failed","verification_faile\
|
|
1886
1925
|
d"),mirrorCommit:f}:{attempted:!0,branch:t.branch,kind:"github_mirror",mirrorCommit:f,retryable:!1,status:"current",verifiedCommit:r}}catch{
|
|
1887
|
-
return s("vibe64_session_save_github_mirror_refresh_failed","refresh_interrupted")}}async function
|
|
1888
|
-
e,t,r,n)}async function
|
|
1889
|
-
let i=X(o,r);n=Se(n,i,r,{label:"Checking repository for updates",operationId:t}),await
|
|
1890
|
-
let s=await
|
|
1891
|
-
{commandOptions:e,project:r}),ae({baseCommit:"HEAD",project:te(i,r),runCommand:n,worktreePath:i.worktreePath})]),l=await
|
|
1892
|
-
n,i,s,a,{commandOptions:e,project:r});if(l&&i.mode!==
|
|
1926
|
+
return s("vibe64_session_save_github_mirror_refresh_failed","refresh_interrupted")}}async function zf(e,t,r,n){return Lf(
|
|
1927
|
+
e,t,r,n)}async function Hf({commandOptions:e={},operationId:t=me.randomUUID(),project:r={},runCommand:n=D,session:o={}}={}){
|
|
1928
|
+
let i=X(o,r);n=Se(n,i,r,{label:"Checking repository for updates",operationId:t}),await Wn(n,i,{commandOptions:e,project:r});
|
|
1929
|
+
let s=await zf(n,i,t,{commandOptions:e,project:r}),[a,c]=await Promise.all([A(n,i,["rev-parse","--verify","HEAD^{commit}"],
|
|
1930
|
+
{commandOptions:e,project:r}),ae({baseCommit:"HEAD",project:te(i,r),runCommand:n,worktreePath:i.worktreePath})]),l=await Is(
|
|
1931
|
+
n,i,s,a,{commandOptions:e,project:r});if(l&&i.mode!==V)throw b("The saved project history no longer descends from this s\
|
|
1893
1932
|
ession's starting version.","vibe64_session_update_history_diverged");let u=l?{baseCommit:i.baseCommit,canonicalCommit:s,
|
|
1894
|
-
sessionHead:a,worktreeTree:c,changedPaths:(await
|
|
1895
|
-
[d,p,f,m]=await Promise.all([
|
|
1896
|
-
a,{commandOptions:e,project:r}),
|
|
1933
|
+
sessionHead:a,worktreeTree:c,changedPaths:(await Af(n,i,i.baseCommit,c,{commandOptions:e,project:r})).slice(0,100)}:null,
|
|
1934
|
+
[d,p,f,m]=await Promise.all([Gn(n,i,s,a,{commandOptions:e,project:r}),Gn(n,i,a,s,{commandOptions:e,project:r}),ce(n,i,s,
|
|
1935
|
+
a,{commandOptions:e,project:r}),_t(n,i,s,{commandOptions:e,project:r})]),h=_s(d,p),y=p>0?await vT(n,i,a,s,{commandOptions:e,
|
|
1897
1936
|
project:r}):{incomingVersions:[],incomingVersionsTruncated:!1};return{ahead:d,baseCommit:i.baseCommit,behind:p,canonicalCommit:s,
|
|
1898
|
-
canonicalSource:{authority:i.mode,commit:s,ref:`refs/heads/${i.canonicalBranch||i.branch}`,...i.mode===
|
|
1937
|
+
canonicalSource:{authority:i.mode,commit:s,ref:`refs/heads/${i.canonicalBranch||i.branch}`,...i.mode===V?{}:{repository:i.
|
|
1899
1938
|
remoteUrl}},...y,ok:!0,operationId:t,reconciled:!l&&f,...u?{historyReview:u}:{},repositoryMode:i.mode,relationship:h,sessionCurrent:f,
|
|
1900
|
-
sessionHead:a,sessionMatchesCanonical:c===m,updateAvailable:l||!f,updateStrategy:
|
|
1939
|
+
sessionHead:a,sessionMatchesCanonical:c===m,updateAvailable:l||!f,updateStrategy:Ss(h)}}async function MT(e,t,{canonicalCommit:r,checkpointCommit:n,checkpointTree:o,commandOptions:i,mergedCommit:s,mergedTree:a,
|
|
1901
1940
|
oldHead:c,oldIndexTree:l,project:u}){if(await ae({baseCommit:"HEAD",project:te(t,u),runCommand:e,worktreePath:t.worktreePath})!==
|
|
1902
1941
|
o)throw b("This session changed while its update was being prepared. Retry when the assistant is idle.","vibe64_session_\
|
|
1903
1942
|
update_worktree_changed");try{await P(e,t,["read-tree","--reset","-u",s],{commandOptions:i,project:u}),await P(e,t,["upd\
|
|
1904
1943
|
ate-ref","HEAD",r,c],{commandOptions:i,project:u}),await P(e,t,["read-tree",r],{commandOptions:i,project:u});let p=await ae(
|
|
1905
1944
|
{baseCommit:"HEAD",project:te(t,u),runCommand:e,worktreePath:t.worktreePath});if(p!==a)throw b("The updated session did \
|
|
1906
|
-
not match the prepared merged work.","vibe64_session_update_verification_failed");return await
|
|
1907
|
-
project:u}),{currentTree:p,reconciled:!0,status:"updated"}}catch(p){let f=await
|
|
1945
|
+
not match the prepared merged work.","vibe64_session_update_verification_failed");return await er(e,t,r,{commandOptions:i,
|
|
1946
|
+
project:u}),{currentTree:p,reconciled:!0,status:"updated"}}catch(p){let f=await A(e,t,["rev-parse","HEAD"],{commandOptions:i,
|
|
1908
1947
|
project:u}).catch(()=>"");throw await P(e,t,["read-tree","--reset","-u",n],{commandOptions:i,project:u,required:!1}),f&&
|
|
1909
1948
|
f!==c&&await P(e,t,["update-ref","HEAD",c,f],{commandOptions:i,project:u,required:!1}),await P(e,t,["read-tree",l],{commandOptions:i,
|
|
1910
|
-
project:u,required:!1}),p}}async function
|
|
1911
|
-
let i=X(o,r);await
|
|
1949
|
+
project:u,required:!1}),p}}async function xs({commandOptions:e={},operationId:t,project:r={},runCommand:n=D,session:o={}}={}){
|
|
1950
|
+
let i=X(o,r);await Wn(n,i,{commandOptions:e,project:r});let s=await Dn({outerTurnId:`update:${t}`,outcome:"completed",project:te(
|
|
1912
1951
|
i,r),runCommand:n,sessionId:i.sessionId,timestamp:new Date().toISOString(),worktreePath:i.worktreePath}),[a,c]=await Promise.
|
|
1913
|
-
all([
|
|
1914
|
-
checkpointCommit:s.commit,checkpointTree:s.tree,oldHead:a,oldIndexTree:c}}async function
|
|
1952
|
+
all([A(n,i,["rev-parse","HEAD"],{commandOptions:e,project:r}),A(n,i,["write-tree"],{commandOptions:e,project:r})]);return{
|
|
1953
|
+
checkpointCommit:s.commit,checkpointTree:s.tree,oldHead:a,oldIndexTree:c}}async function Ff({checkpoint:e={},commandOptions:t={},
|
|
1915
1954
|
conflictRecovery:r=null,derivedArtifactPaths:n=[],historyReview:o=null,identity:i={},operationId:s,project:a={},reviewedConflictId:c="",
|
|
1916
1955
|
runCommand:l=D,session:u={}}={}){let d=X(u,a),{checkpointCommit:p,checkpointTree:f,oldHead:m,oldIndexTree:h}=e,y={email:E(
|
|
1917
|
-
i.email)||"vibe64@localhost",name:E(i.name)||"Vibe64 Update"},w=await
|
|
1918
|
-
l,d,w,m,{commandOptions:t,project:a});if(g||o){if(d.mode!==
|
|
1956
|
+
i.email)||"vibe64@localhost",name:E(i.name)||"Vibe64 Update"},w=await zf(l,d,s,{commandOptions:t,project:a}),g=await Is(
|
|
1957
|
+
l,d,w,m,{commandOptions:t,project:a});if(g||o){if(d.mode!==V)throw b("The saved project history no longer descends from \
|
|
1919
1958
|
this session's starting version.","vibe64_session_update_history_diverged");let x={baseCommit:d.baseCommit,canonicalCommit:w,
|
|
1920
1959
|
sessionHead:m,worktreeTree:f};if(!(c&&r?.reviewId===c&&r.baseCommit===d.baseCommit&&r.canonicalCommit===w&&r.oldHead===m&&
|
|
1921
1960
|
r.oldIndexTree===h)&&(!o||Object.entries(x).some(([$,M])=>o[$]!==M)))throw b("The project history was rewritten. Open Re\
|
|
1922
|
-
pository, check for updates, then review and reconcile this session.","vibe64_session_history_review_required")}let v=await
|
|
1961
|
+
pository, check for updates, then review and reconcile this session.","vibe64_session_history_review_required")}let v=await As(
|
|
1923
1962
|
l,d,{baseCommit:d.baseCommit,canonicalCommit:w,sessionHead:m,worktreeTree:f,reconcileHistory:g},{commandOptions:t,project:a}),
|
|
1924
|
-
_=new Set(
|
|
1963
|
+
_=new Set(jn(n)),I=v.changedPaths.filter(x=>!_.has(x)),R=await ce(l,d,w,m,{commandOptions:t,project:a});if(R&&!g)return{
|
|
1925
1964
|
baseCommit:d.baseCommit,canonicalCommit:w,canonicalTree:v.canonicalTree,changeBaseCommit:v.changeBaseCommit,checkpointCommit:p,
|
|
1926
|
-
checkpointTree:f,currentTree:f,ok:!0,operationId:s,mode:d.mode,reconciled:!0,repositoryMode:d.mode,sessionCurrent:
|
|
1927
|
-
sessionMatchesCanonical,status:"already_current"};let S=v.canonicalTree;if(
|
|
1928
|
-
derivedArtifactPaths:n,project:a,sourceCommit:w,tree:f}),N=await
|
|
1965
|
+
checkpointTree:f,currentTree:f,ok:!0,operationId:s,mode:d.mode,reconciled:!0,repositoryMode:d.mode,sessionCurrent:R,sessionMatchesCanonical:v.
|
|
1966
|
+
sessionMatchesCanonical,status:"already_current"};let S=v.canonicalTree;if(I.length){let x=await Os(l,d,{commandOptions:t,
|
|
1967
|
+
derivedArtifactPaths:n,project:a,sourceCommit:w,tree:f}),N=await Bf(l,d,{baseCommit:v.changeBaseCommit,explicitBase:g,canonicalCommit:w,
|
|
1929
1968
|
checkpointTree:x,commandOptions:t,identity:y,project:a}),$=N.conflictPaths.length>0?{baseCommit:v.changeBaseCommit,canonicalCommit:w,
|
|
1930
1969
|
checkpointTree:f,conflictPaths:N.conflictPaths,conflictTree:N.conflictTree,oldHead:m,oldIndexTree:h,reviewId:me.randomUUID()}:
|
|
1931
|
-
null;S=$?await
|
|
1970
|
+
null;S=$?await xT(l,d,{currentRecovery:$,previousRecovery:r,reviewedConflictId:c,project:a}):N.mergedTree}return{...e,baseCommit:d.
|
|
1932
1971
|
baseCommit,canonicalCommit:w,canonicalTree:v.canonicalTree,changeBaseCommit:v.changeBaseCommit,mergedSourceTree:S,mode:d.
|
|
1933
|
-
mode,operationId:s,repositoryMode:d.mode,sessionCurrent:!0,...
|
|
1934
|
-
async function
|
|
1935
|
-
runCommand:s=D,session:a={}}={}){let c=X(a,o),l={email:E(r.email)||"vibe64@localhost",name:E(r.name)||"Vibe64 Update"},u=await
|
|
1972
|
+
mode,operationId:s,repositoryMode:d.mode,sessionCurrent:!0,...I.length?{}:{sessionMatchesCanonical:!0},status:"prepared"}}
|
|
1973
|
+
async function jf({commandOptions:e={},derivedArtifactPaths:t=[],identity:r={},prepared:n={},project:o={},refreshDerivedArtifacts:i=null,
|
|
1974
|
+
runCommand:s=D,session:a={}}={}){let c=X(a,o),l={email:E(r.email)||"vibe64@localhost",name:E(r.name)||"Vibe64 Update"},u=await Fn(
|
|
1936
1975
|
s,c,{baseCommit:n.canonicalCommit,commandOptions:e,derivedArtifactPaths:t,identity:l,project:o,refreshDerivedArtifacts:i,
|
|
1937
|
-
tree:n.mergedSourceTree}),d=u===n.canonicalTree?n.canonicalCommit:await
|
|
1938
|
-
identity:l,message:"Vibe64 session update result",project:o,tree:u});return{...n,mergedCommit:d,mergedTree:u}}async function
|
|
1939
|
-
commandOptions:e={},prepared:t={},project:r={},runCommand:n=D,session:o={}}={}){let i=X(o,r),s=await
|
|
1940
|
-
project:r});return{...t,ok:!0,...s}}async function
|
|
1941
|
-
c,l,u]=await Promise.all([ae({baseCommit:"HEAD",project:te(t,i),runCommand:e,worktreePath:t.worktreePath}),
|
|
1942
|
-
arse","HEAD"],{commandOptions:o,project:i}),
|
|
1943
|
-
status:"saved"};if(a&&l!==a)return{currentTree:c,reconciled:!1,status:"published_needs_reconcile"};let d=c!==n&&c!==u,p=await
|
|
1976
|
+
tree:n.mergedSourceTree}),d=u===n.canonicalTree?n.canonicalCommit:await qn(s,c,{baseCommit:n.canonicalCommit,commandOptions:e,
|
|
1977
|
+
identity:l,message:"Vibe64 session update result",project:o,tree:u});return{...n,mergedCommit:d,mergedTree:u}}async function Vf({
|
|
1978
|
+
commandOptions:e={},prepared:t={},project:r={},runCommand:n=D,session:o={}}={}){let i=X(o,r),s=await MT(n,i,{...t,commandOptions:e,
|
|
1979
|
+
project:r});return{...t,ok:!0,...s}}async function DT(e,t,{checkpointCommit:r,checkpointTree:n,commandOptions:o,project:i,saveCommit:s,sessionHead:a=""}){let[
|
|
1980
|
+
c,l,u]=await Promise.all([ae({baseCommit:"HEAD",project:te(t,i),runCommand:e,worktreePath:t.worktreePath}),A(e,t,["rev-p\
|
|
1981
|
+
arse","HEAD"],{commandOptions:o,project:i}),_t(e,t,s,{commandOptions:o,project:i})]);if(l===s)return{currentTree:c,reconciled:!0,
|
|
1982
|
+
status:"saved"};if(a&&l!==a)return{currentTree:c,reconciled:!1,status:"published_needs_reconcile"};let d=c!==n&&c!==u,p=await A(
|
|
1944
1983
|
e,t,["write-tree"],{commandOptions:o,project:i});try{return d?(await P(e,t,["read-tree",r],{commandOptions:o,project:i}),
|
|
1945
1984
|
await P(e,t,["read-tree","-m","-u",r,s],{commandOptions:o,project:i})):await P(e,t,["read-tree","--reset","-u",s],{commandOptions:o,
|
|
1946
1985
|
project:i}),await P(e,t,["update-ref","HEAD",s,l],{commandOptions:o,project:i}),{currentTree:c,reconciled:!0,status:"sav\
|
|
1947
1986
|
ed"}}catch(f){return d||await P(e,t,["read-tree","--reset","-u",r],{commandOptions:o,project:i,required:!1}),await P(e,t,
|
|
1948
1987
|
["read-tree",p],{commandOptions:o,project:i,required:!1}),{currentTree:c,error:E(f?.message||f),reconciled:!1,status:"pu\
|
|
1949
|
-
blished_needs_reconcile"}}}async function
|
|
1950
|
-
project:o});let i=await
|
|
1951
|
-
timestamp:new Date().toISOString(),worktreePath:t.worktreePath}),s=await
|
|
1988
|
+
blished_needs_reconcile"}}}async function Wf(e,t,{commandOptions:r={},operationId:n,project:o={}}={}){await Wn(e,t,{commandOptions:r,
|
|
1989
|
+
project:o});let i=await Dn({outerTurnId:`save:${n}`,outcome:"completed",project:te(t,o),runCommand:e,sessionId:t.sessionId,
|
|
1990
|
+
timestamp:new Date().toISOString(),worktreePath:t.worktreePath}),s=await A(e,t,["rev-parse","--verify","HEAD^{commit}"],
|
|
1952
1991
|
{commandOptions:r,project:o});return{baseCommit:t.baseCommit,branch:t.branch,checkpointCommit:i.commit,checkpointTree:i.
|
|
1953
|
-
tree,mode:t.mode,operationId:n,sessionHead:s}}async function
|
|
1992
|
+
tree,mode:t.mode,operationId:n,sessionHead:s}}async function qf({commandOptions:e={},connectedWorkSnapshots:t=[],derivedArtifactPaths:r=[],
|
|
1954
1993
|
limit:n=40,operationId:o=me.randomUUID(),project:i={},runCommand:s=D,session:a={}}={}){let c=X(a,i);s=Se(s,c,i,{label:"C\
|
|
1955
|
-
apturing work for Save",operationId:o});let l=await
|
|
1994
|
+
apturing work for Save",operationId:o});let l=await Wf(s,c,{commandOptions:e,operationId:o,project:i}),u=await Rs({commandOptions:e,
|
|
1956
1995
|
derivedArtifactPaths:r,includeInitialDiff:!1,limit:n,project:i,runCommand:s,session:a,worktreeTree:l.checkpointTree});if(!u.
|
|
1957
|
-
totalCount)throw await
|
|
1958
|
-
save.","vibe64_session_save_no_changes");return{changes:u,checkpoint:l}}async function
|
|
1996
|
+
totalCount)throw await Cs(s,c,{commandOptions:e,connectedWorkSnapshots:Gf(t),project:i}),b("This session has no work to \
|
|
1997
|
+
save.","vibe64_session_save_no_changes");return{changes:u,checkpoint:l}}async function LT(e,t,r,{commandOptions:n={},operationId:o,
|
|
1959
1998
|
project:i={}}={}){let s=E(r?.checkpointCommit),a=E(r?.checkpointTree);if(!s||!a||E(r?.operationId)!==E(o)||E(r?.baseCommit)!==
|
|
1960
|
-
t.baseCommit||E(r?.branch)!==t.branch||E(r?.mode)!==t.mode||await
|
|
1999
|
+
t.baseCommit||E(r?.branch)!==t.branch||E(r?.mode)!==t.mode||await _t(e,t,s,{commandOptions:n,project:i})!==a)throw b("Sa\
|
|
1961
2000
|
ve cannot verify the captured worktree. Capture and name the work again.","vibe64_session_save_checkpoint_invalid");let l=E(
|
|
1962
|
-
r?.sessionHead),u=l?await
|
|
2001
|
+
r?.sessionHead),u=l?await A(e,t,["rev-parse","--verify","HEAD^{commit}"],{commandOptions:n,project:i}):"";if(l&&u!==l)throw b(
|
|
1963
2002
|
"The session history changed while Vibe64 was naming this work. Save was not started; try again.","vibe64_session_save_m\
|
|
1964
|
-
essage_stale");return r}async function
|
|
2003
|
+
essage_stale");return r}async function BT(e,t,{checkpoint:r={},commandOptions:n={},connectedWorkSnapshots:o=[],derivedArtifactPaths:i=[],
|
|
1965
2004
|
identity:s={},message:a="",operationId:c,project:l={},refreshDerivedArtifacts:u=null}={}){let d=E(r.checkpointTree),[p,f]=await Promise.
|
|
1966
|
-
all([
|
|
1967
|
-
if(await
|
|
2005
|
+
all([Lf(e,t,c,{commandOptions:n,project:l}),A(e,t,["rev-parse","--verify","HEAD^{commit}"],{commandOptions:n,project:l})]);
|
|
2006
|
+
if(await Is(e,t,p,f,{commandOptions:n,project:l}))throw b("Canonical history no longer descends from this session's save\
|
|
1968
2007
|
d base.","vibe64_session_save_history_diverged");let m=await ce(e,t,p,f,{commandOptions:n,project:l});if(p!==t.baseCommit&&
|
|
1969
2008
|
!m)throw b("The saved branch has changed. Update this session before saving its work.","vibe64_session_save_update_requi\
|
|
1970
|
-
red",{canonicalCommit:p,reconciledCommit:t.baseCommit,updateRequired:!0});let h=await
|
|
1971
|
-
sessionHead:f,worktreeTree:d},{commandOptions:n,project:l}),y=new Set(
|
|
1972
|
-
length)throw await
|
|
1973
|
-
vibe64_session_save_no_changes");let g={email:E(s.email)||"vibe64@localhost",name:E(s.name)||"Vibe64 Save"},v=await
|
|
1974
|
-
t,{commandOptions:n,derivedArtifactPaths:i,project:l,sourceCommit:p,tree:d}),_=await
|
|
1975
|
-
derivedArtifactPaths:i,identity:g,project:l,refreshDerivedArtifacts:u,tree:v}),
|
|
1976
|
-
identity:g,mergedTree:_,message:a,project:l}),
|
|
1977
|
-
changeBaseCommit:h.changeBaseCommit,changedPaths:w,
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
2009
|
+
red",{canonicalCommit:p,reconciledCommit:t.baseCommit,updateRequired:!0});let h=await As(e,t,{baseCommit:t.baseCommit,canonicalCommit:p,
|
|
2010
|
+
sessionHead:f,worktreeTree:d},{commandOptions:n,project:l}),y=new Set(jn(i)),w=h.changedPaths.filter(x=>!y.has(x));if(!w.
|
|
2011
|
+
length)throw await Cs(e,t,{commandOptions:n,connectedWorkSnapshots:o,project:l}),b("This session has no work to save.","\
|
|
2012
|
+
vibe64_session_save_no_changes");let g={email:E(s.email)||"vibe64@localhost",name:E(s.name)||"Vibe64 Save"},v=await Os(e,
|
|
2013
|
+
t,{commandOptions:n,derivedArtifactPaths:i,project:l,sourceCommit:p,tree:d}),_=await Fn(e,t,{baseCommit:p,commandOptions:n,
|
|
2014
|
+
derivedArtifactPaths:i,identity:g,project:l,refreshDerivedArtifacts:u,tree:v}),I=await kT(e,t,{canonicalCommit:p,commandOptions:n,
|
|
2015
|
+
identity:g,mergedTree:_,message:a,project:l}),R=await RT(e,t,c,I,{commandOptions:n,project:l}),S=await A(e,t,["show","-s",
|
|
2016
|
+
"--format=%ae",I],{commandOptions:n,project:l});return{canonicalCommit:p,changeBaseCommit:h.changeBaseCommit,changedPaths:w,
|
|
2017
|
+
mergedTree:_,preparedRef:R,saveCommit:I,standInIdentity:ji(S)}}async function UT(e,t,{commandOptions:r={},connectedWorkSnapshots:n=[],
|
|
2018
|
+
onPublicationAttempt:o,prepared:i={},project:s={}}={}){return NT(e,t,E(i.saveCommit),E(i.canonicalCommit),{commandOptions:r,
|
|
2019
|
+
connectedWorkSnapshots:n,onPublicationAttempt:o,project:s})}function GT(e,t,r,n,o){return{baseCommit:e.baseCommit,cacheMaintenance:o.
|
|
2020
|
+
cacheMaintenance,canonicalCommit:r.canonicalCommit,changeBaseCommit:r.changeBaseCommit,changedPaths:r.changedPaths,checkpointCommit:t.
|
|
2021
|
+
checkpointCommit,checkpointTree:t.checkpointTree,mergedTree:r.mergedTree,mode:e.mode,ok:!0,operationId:t.operationId,preparedRef:r.
|
|
2022
|
+
preparedRef,saveCommit:r.saveCommit,sessionHead:t.sessionHead,standInIdentity:r.standInIdentity===!0,status:o.status,verifiedCommit:n,
|
|
2023
|
+
...o}}function zT(e,t){return e.mode!==J?{attempted:!1,kind:"none",retryable:!1,status:"not_applicable"}:{attempted:!1,branch:e.
|
|
2024
|
+
branch,kind:"github_mirror",retryable:!1,status:"deferred",verifiedCommit:t}}async function ks({commandOptions:e={},operationId:t="",project:r={},runCommand:n=D,session:o={},verifiedCommit:i=""}={}){
|
|
2025
|
+
let s=X(o,r);return n=Se(n,s,r,{label:"Maintaining saved repository cache",operationId:t}),$T(n,s,E(i),{commandOptions:e,
|
|
2026
|
+
project:r})}async function HT(e,t,r,n={}){E(r)&&await Et(e,t,Mf(t,r),n)}async function Yf({checkpoint:e=null,commandOptions:t={},
|
|
1987
2027
|
connectedWorkSnapshots:r=[],deferCacheMaintenance:n=!1,derivedArtifactPaths:o=[],identity:i={},message:s="",operationId:a=me.
|
|
1988
2028
|
randomUUID(),project:c={},refreshDerivedArtifacts:l=null,runCommand:u=D,runProjectSourceExclusive:d=async m=>m(),onProgress:p=async()=>null,
|
|
1989
|
-
session:f={}}={}){let m=X(f,c),h=
|
|
2029
|
+
session:f={}}={}){let m=X(f,c),h=Gf(r);return u=Se(u,m,c,{label:"Saving session work",operationId:a}),await p({kind:"loc\
|
|
1990
2030
|
k",message:"Waiting for exclusive repository access.",stage:"repository-lock"}),d(async()=>{await p({baseCommit:m.baseCommit,
|
|
1991
2031
|
branch:m.branch,kind:"checkpoint",message:"Capturing the complete session worktree.",mode:m.mode,operationId:a,stage:"ch\
|
|
1992
|
-
eckpointing"});let y;e?(await
|
|
1993
|
-
y=await
|
|
2032
|
+
eckpointing"});let y;e?(await Wn(u,m,{commandOptions:t,project:c}),y=await LT(u,m,e,{commandOptions:t,operationId:a,project:c})):
|
|
2033
|
+
y=await Wf(u,m,{commandOptions:t,operationId:a,project:c}),await p({checkpointCommit:y.checkpointCommit,checkpointTree:y.
|
|
1994
2034
|
checkpointTree,kind:"checkpoint",message:"Session checkpoint captured.",stage:"checkpointed"}),await p({kind:"canonical",
|
|
1995
|
-
message:"Reading the current canonical branch.",stage:"canonical-reading"});let w=await
|
|
2035
|
+
message:"Reading the current canonical branch.",stage:"canonical-reading"});let w=await BT(u,m,{checkpoint:y,commandOptions:t,
|
|
1996
2036
|
connectedWorkSnapshots:h,derivedArtifactPaths:o,identity:i,message:s,operationId:a,project:c,refreshDerivedArtifacts:l}),
|
|
1997
2037
|
g=!1,v;try{await p({expectedCanonicalCommit:w.canonicalCommit,kind:"canonical",message:"Canonical branch read.",stage:"c\
|
|
1998
2038
|
anonical-read"}),await p({expectedCanonicalCommit:w.canonicalCommit,kind:"publish",mergedTree:w.mergedTree,message:"Save\
|
|
1999
|
-
commit prepared.",proposedCommit:w.saveCommit,stage:"prepared"}),await p({kind:"publish",message:"
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2039
|
+
commit prepared.",proposedCommit:w.saveCommit,stage:"prepared"}),await p({kind:"publish",message:"Pushing the Save comm\
|
|
2040
|
+
it.",stage:"publishing"}),v=await UT(u,m,{commandOptions:t,connectedWorkSnapshots:h,onPublicationAttempt(){g=!0},prepared:w,
|
|
2041
|
+
project:c})}catch(R){throw g||await P(u,m,["update-ref","-d",w.preparedRef,w.saveCommit],{commandOptions:t,project:c}),R}
|
|
2042
|
+
await p({kind:"publish",message:"Canonical Save commit verified.",stage:"published",verifiedCommit:v}),await p({kind:"re\
|
|
2043
|
+
concile",message:"Reconciling the session onto the saved commit.",stage:"reconciling"});let _=await DT(u,m,{checkpointCommit:y.
|
|
2004
2044
|
checkpointCommit,checkpointTree:y.checkpointTree,commandOptions:t,project:c,saveCommit:w.saveCommit,sessionHead:y.sessionHead}),
|
|
2005
|
-
|
|
2006
|
-
!0&&await p({cacheMaintenance:
|
|
2007
|
-
m,a,{commandOptions:t,project:c}),
|
|
2008
|
-
return
|
|
2009
|
-
return
|
|
2010
|
-
derivedArtifactPaths?.length&&
|
|
2011
|
-
await t({projectRoot:e.session.sourcePath})}return
|
|
2012
|
-
ived":async e=>{let{refreshGenesisCities:t}=await import("@local/vibe64-genesis/server");return
|
|
2013
|
-
"update-apply":
|
|
2014
|
-
execution,input:e.input,maxBuffer:e.maxBuffer,outputEncoding:e.outputEncoding,timeout:e.timeout})}async function
|
|
2015
|
-
for await(let t of process.stdin)if(e+=String(t||""),Buffer.byteLength(e)>
|
|
2016
|
-
on input is too large.");return JSON.parse(e||"{}")}function
|
|
2045
|
+
I=n?zT(m,v):await ks({commandOptions:t,operationId:a,project:c,runCommand:u,session:f,verifiedCommit:v});return I.retryable===
|
|
2046
|
+
!0&&await p({cacheMaintenance:I,kind:"cache-warning",message:I.message,stage:"cache-maintenance-warning"}),n||await HT(u,
|
|
2047
|
+
m,a,{commandOptions:t,project:c}),GT(m,y,w,v,{cacheMaintenance:I,..._})},{operation:`save-session:${m.sessionId}`})}var VT=1024*1024,WT={incoming:zn,"incoming-change":async e=>{let{refreshGenesisCities:t}=await import("@local/vibe64-genesis/server");
|
|
2048
|
+
return Pf({...e,refreshDerivedArtifacts:t})},"change-diff":$f,changes:Rs,"check-updates":Hf,save:async e=>{let{refreshGenesisCities:t}=await import("@local/vibe64-genesis/server");
|
|
2049
|
+
return Yf({...e,deferCacheMaintenance:!0,refreshDerivedArtifacts:t})},"save-maintenance":ks,"save-message":async e=>{if(e.
|
|
2050
|
+
derivedArtifactPaths?.length&&FT(jT.join(e.session.sourcePath,"genesis/blueprint.md"))){let{inspectGenesisStackComponents:t}=await import("@local/vibe64-genesis/server");
|
|
2051
|
+
await t({projectRoot:e.session.sourcePath})}return qf(e)},work:Vn,"update-checkpoint":xs,"update-prepare":Ff,"update-der\
|
|
2052
|
+
ived":async e=>{let{refreshGenesisCities:t}=await import("@local/vibe64-genesis/server");return jf({...e,refreshDerivedArtifacts:t})},
|
|
2053
|
+
"update-apply":Vf};function qT(e={}){return Ue(e.command,e.args,{cwd:e.cwd,env:{...process.env,...e.env||{}},execution:e.
|
|
2054
|
+
execution,input:e.input,maxBuffer:e.maxBuffer,outputEncoding:e.outputEncoding,timeout:e.timeout})}async function YT(){let e="";
|
|
2055
|
+
for await(let t of process.stdin)if(e+=String(t||""),Buffer.byteLength(e)>VT)throw new Error("Session repository operati\
|
|
2056
|
+
on input is too large.");return JSON.parse(e||"{}")}function KT(e){return{error:{code:String(e?.code||"vibe64_session_wo\
|
|
2017
2057
|
rk_operation_failed"),details:e?.details&&typeof e.details=="object"&&!Array.isArray(e.details)?e.details:{},message:String(
|
|
2018
|
-
e?.message||"Session repository operation failed.")},ok:!1}}try{let e=await
|
|
2058
|
+
e?.message||"Session repository operation failed.")},ok:!1}}try{let e=await YT();Bi(e?.hostProfile||null);let t=WT[String(
|
|
2019
2059
|
e?.operation||"")];if(!t){let n=new Error("Unsupported session repository operation.");throw n.code="vibe64_session_work\
|
|
2020
|
-
_operation_unsupported",n}let r=await t({...e.input&&typeof e.input=="object"?e.input:{},runCommand:
|
|
2021
|
-
write(JSON.stringify({ok:!0,value:r}))}catch(e){process.stdout.write(JSON.stringify(
|
|
2060
|
+
_operation_unsupported",n}let r=await t({...e.input&&typeof e.input=="object"?e.input:{},runCommand:qT});process.stdout.
|
|
2061
|
+
write(JSON.stringify({ok:!0,value:r}))}catch(e){process.stdout.write(JSON.stringify(KT(e))),process.exitCode=1}
|