vibe64 0.1.35 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/bin/run.js +1919 -1660
  2. package/bin/server.js +158 -111
  3. package/bin/upgrade-state.js +5783 -5605
  4. package/dist/assets/GithubBrowserTabs-BzJF4k9Y.js +1 -0
  5. package/dist/assets/{StudioErrorNotice-sQfmeR-z.js → StudioErrorNotice-BdllGqRy.js} +1 -1
  6. package/dist/assets/{Vibe64AsyncModuleState-Dx7YKRPp.js → Vibe64AsyncModuleState-Bi0TqlIu.js} +1 -1
  7. package/dist/assets/Vibe64AuthSettingsButton-BuvmwGiT.js +5 -0
  8. package/dist/assets/Vibe64AuthSettingsButton-M44SSmZ9.css +1 -0
  9. package/dist/assets/{Vibe64DashboardBackButton-yE6cyYg2.js → Vibe64DashboardBackButton-Ccd4hpD6.js} +1 -1
  10. package/dist/assets/Vibe64DashboardShell-D67m4aWz.js +1 -0
  11. package/dist/assets/{Vibe64DashboardShell-MBkUHjs-.css → Vibe64DashboardShell-De2mbdpI.css} +1 -1
  12. package/dist/assets/{Vibe64DatabaseWorkspace-BONJdxBS.js → Vibe64DatabaseWorkspace-D3uK1gDm.js} +3 -3
  13. package/dist/assets/{Vibe64DatabaseWorkspace-CR4pzzcf.css → Vibe64DatabaseWorkspace-DPDMxhAW.css} +1 -1
  14. package/dist/assets/Vibe64OutputControls-BfESn5kJ.js +8 -0
  15. package/dist/assets/Vibe64OutputControls-D2CCECo5.css +1 -0
  16. package/dist/assets/{Vibe64RepositoryWorkspace-ByQlZbyO.js → Vibe64RepositoryWorkspace-0jAxvdA8.js} +2 -2
  17. package/dist/assets/{Vibe64RepositoryWorkspace-CVHcT93M.css → Vibe64RepositoryWorkspace-Agyt4O-V.css} +1 -1
  18. package/dist/assets/Vibe64SessionFiles-B3ONZrBL.css +1 -0
  19. package/dist/assets/Vibe64SessionFiles-BCOJ4QmR.js +41 -0
  20. package/dist/assets/{Vibe64TemporaryAiFixAction-BGlcrq4d.js → Vibe64TemporaryAiFixAction-DM2jpPbQ.js} +1 -1
  21. package/dist/assets/{Vibe64UiStoryboardView-Brlwdvqi.js → Vibe64UiStoryboardView-DP5af46a.js} +1 -1
  22. package/dist/assets/{Vibe64UnavailableSessions-zwlWlcZD.js → Vibe64UnavailableSessions-C7XwH1SS.js} +1 -1
  23. package/dist/assets/{_sessionId_-CvOkQbVy.js → _sessionId_-B1Ymr7c_.js} +1 -1
  24. package/dist/assets/{_sessionTool_-Dwod5ns9.js → _sessionTool_-DVYdREoI.js} +1 -1
  25. package/dist/assets/_slug_-CQseA9pt.css +1 -0
  26. package/dist/assets/_slug_-CYO2vjCd.js +24 -0
  27. package/dist/assets/{access-BVu5XYm2.js → access-Cb7dkN53.js} +1 -1
  28. package/dist/assets/app-BvgY7oVf.js +1 -0
  29. package/dist/assets/app-CZu7oxUO.css +1 -0
  30. package/dist/assets/{assistantRouting-CwbwfkwB.js → assistantRouting-B38ujQ7x.js} +1 -1
  31. package/dist/assets/{changes-olY8cnFK.js → changes-lsBcuikn.js} +1 -1
  32. package/dist/assets/client-CRI5CNKl.js +2 -0
  33. package/dist/assets/client-TGaWwOhc.css +1 -0
  34. package/dist/assets/conversation-CDEt9jBx.js +17 -0
  35. package/dist/assets/conversation-vxJGwmtW.css +1 -0
  36. package/dist/assets/{dashboard-BnXD-H4R.js → dashboard-D8HOAw46.js} +1 -1
  37. package/dist/assets/definitions-DLTX17nI.js +1 -0
  38. package/dist/assets/{env-DJhnLOH7.css → env-BzRtyO0w.css} +1 -1
  39. package/dist/assets/env-DJezQixO.js +1 -0
  40. package/dist/assets/health-BJvooRnJ.css +1 -0
  41. package/dist/assets/health-CtKdN_Nf.js +1 -0
  42. package/dist/assets/{history-BxlpB-YH.js → history-BdZFOtz4.js} +1 -1
  43. package/dist/assets/{incoming-BOxRVlOM.js → incoming-VsQNnL9m.js} +1 -1
  44. package/dist/assets/index-C-osVUKw.css +1 -0
  45. package/dist/assets/index-C4K3ntms.js +138 -0
  46. package/dist/assets/{integrations-BFltGDVI.js → integrations-CMQ9EDmt.js} +2 -2
  47. package/dist/assets/issues-DHpY5hSr.js +1 -0
  48. package/dist/assets/learning-DXlMuwzh.js +1 -0
  49. package/dist/assets/mdi-yXT-CQ6u.js +1 -0
  50. package/dist/assets/placement-NpX2s7u8.js +1 -0
  51. package/dist/assets/pull-requests-BcKNEUYH.js +1 -0
  52. package/dist/assets/{repository-JWLVST3D.js → repository-ClEgntHW.js} +1 -1
  53. package/dist/assets/roboto-latin-wght-normal-ccAYIvAh.woff2 +0 -0
  54. package/dist/assets/{session-C5Nj8Dlq.js → session-BlD46q-d.js} +1 -1
  55. package/dist/assets/settings-BwukeIKe.js +1 -0
  56. package/dist/assets/shared-BM2SV6fi.js +2 -0
  57. package/dist/assets/studioGateApi-DcCqiD9V.js +1 -0
  58. package/dist/assets/studioUrls-DmMMIScP.js +1 -0
  59. package/dist/assets/useArchivedVibe64Sessions-D5zUA-BC.js +1 -0
  60. package/dist/assets/useCommand-Bqxb-naz.js +1 -0
  61. package/dist/assets/useEndpointResource-DWoQ2keu.js +1 -0
  62. package/dist/assets/useRealtimeEvent-Bwapstla.js +1 -0
  63. package/dist/assets/{useUiFeedback-0FqKuZRP.js → useUiFeedback-BPBF_0bp.js} +1 -1
  64. package/dist/assets/useVibe64ConversationLog-Dy6YTPQn.js +1 -0
  65. package/dist/assets/useVibe64DatabaseTools-d6L09ugW.js +1 -0
  66. package/dist/assets/useVibe64Learning-cNKTv64W.js +1 -0
  67. package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +1 -0
  68. package/dist/assets/useVibe64SessionData-C_jqncih.js +1 -0
  69. package/dist/assets/useVibe64SessionSelection-uCEIWd3b.js +1 -0
  70. package/dist/assets/useVibe64SystemGraph-B4RmsC9Y.js +1 -0
  71. package/dist/assets/{useVibe64Terminal-BPnN25WH.js → useVibe64Terminal-BbghGR4x.js} +1 -1
  72. package/dist/assets/vibe64AssistantHost-BL1bnKm8.js +1 -0
  73. package/dist/assets/{vibe64SessionFocus-kqPOPaOH.js → vibe64SessionFocus-DSJKVuRN.js} +1 -1
  74. package/dist/assets/{vibe64SessionInfo-BHxtTrLX.js → vibe64SessionInfo-B_r1OMN0.js} +1 -1
  75. package/dist/assets/{vibe64SessionPanelModel-BMf64fv7.js → vibe64SessionPanelModel-DDorOuiL.js} +1 -1
  76. package/dist/assets/{vibe64SessionToolDefinitions-NfLd1HZI.js → vibe64SessionToolDefinitions-BualCK_5.js} +1 -1
  77. package/dist/index.html +21 -20
  78. package/docs/colleague-usage/account-profile-and-appearance.md +8 -2
  79. package/docs/colleague-usage/ai-accounts-and-routing.md +123 -15
  80. package/docs/colleague-usage/ai-onboarding.md +230 -0
  81. package/docs/colleague-usage/coding-agent-goal-pause.md +5 -5
  82. package/docs/colleague-usage/coding-agents.md +17 -0
  83. package/docs/colleague-usage/colleague-watches.md +4 -23
  84. package/docs/colleague-usage/colleague.md +10 -2
  85. package/docs/colleague-usage/connected-projects.md +2 -2
  86. package/docs/colleague-usage/conversation-context.md +2 -0
  87. package/docs/colleague-usage/dashboard-navigation.md +19 -27
  88. package/docs/colleague-usage/database.md +6 -11
  89. package/docs/colleague-usage/development-copies.md +2 -1
  90. package/docs/colleague-usage/development-env.md +6 -0
  91. package/docs/colleague-usage/github-work.md +9 -0
  92. package/docs/colleague-usage/health-checks.md +11 -5
  93. package/docs/colleague-usage/integrations.md +3 -1
  94. package/docs/colleague-usage/learning-code-questions.md +23 -51
  95. package/docs/colleague-usage/learning-course-catalogue.md +8 -6
  96. package/docs/colleague-usage/learning-environment.md +345 -0
  97. package/docs/colleague-usage/learning-history.md +70 -101
  98. package/docs/colleague-usage/learning-mode-ui.md +122 -214
  99. package/docs/colleague-usage/learning-practice-projects.md +168 -78
  100. package/docs/colleague-usage/learning-teacher-guide.md +48 -26
  101. package/docs/colleague-usage/learning-with-colleague.md +171 -216
  102. package/docs/colleague-usage/lesson-authoring.md +32 -24
  103. package/docs/colleague-usage/managed-app-access.md +7 -0
  104. package/docs/colleague-usage/message-delivery-recovery.md +7 -6
  105. package/docs/colleague-usage/preview-browser-checks.md +9 -1
  106. package/docs/colleague-usage/preview-starting-application.md +0 -1
  107. package/docs/colleague-usage/preview.md +9 -1
  108. package/docs/colleague-usage/project-messages.md +2 -2
  109. package/docs/colleague-usage/project-setup.md +9 -2
  110. package/docs/colleague-usage/running-vibe64-on-your-computer.md +61 -0
  111. package/docs/colleague-usage/sessions.md +25 -33
  112. package/docs/colleague-usage/teaching-content.md +11 -40
  113. package/docs/colleague-usage/temporary-chats.md +23 -2
  114. package/docs/colleague-usage/voice-chat.md +5 -10
  115. package/docs/colleague-usage/voice-face-and-speaking-voice.md +6 -8
  116. package/docs/colleague-usage/voice-recovery.md +3 -2
  117. package/docs/templates/learn-topic/README.md +6 -6
  118. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +28 -7
  119. package/docs/templates/learn-topic/training/lessons/TOPIC-01/notes.md +19 -0
  120. package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/check-understanding.md +3 -0
  121. package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/explain-idea.md +3 -0
  122. package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/try-it.md +3 -0
  123. package/docs/templates/learn-topic/training/outline.md +1 -1
  124. package/docs/training-content.md +179 -65
  125. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  126. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  127. package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/PATTERN.md +3 -2
  128. package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/example/integrations.json +3 -2
  129. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  130. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  131. package/node_modules/@jskit-ai/connectors-catalog/patterns/ai-connections/PATTERN.md +4 -3
  132. package/node_modules/@jskit-ai/connectors-catalog/src/shared/ai-models.json +0 -1
  133. package/node_modules/@local/vibe64-accounts/package.json +1 -0
  134. package/node_modules/@local/vibe64-colleague/package.json +2 -1
  135. package/node_modules/@local/vibe64-core/package.json +3 -0
  136. package/node_modules/@local/vibe64-execution/package.json +1 -0
  137. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +171 -174
  138. package/node_modules/@local/vibe64-execution/src/server/engines/stdioBridge.js +9 -9
  139. package/node_modules/@local/vibe64-genesis/README.md +10 -37
  140. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +790 -779
  141. package/node_modules/@local/vibe64-genesis/package.json +1 -0
  142. package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +255 -0
  143. package/node_modules/@local/vibe64-genesis/src/server/index.js +473 -450
  144. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +148 -148
  145. package/node_modules/@local/vibe64-project/package.json +2 -1
  146. package/node_modules/@local/vibe64-runtime/package.json +1 -2
  147. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +526 -512
  148. package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +0 -1
  149. package/node_modules/@local/vibe64-source-editor/package.json +1 -0
  150. package/node_modules/@local/vibe64-terminals/package.json +1 -0
  151. package/node_modules/@local/vibe64-terminals/src/server/opencodeSessionEnvironmentPlugin.js +129 -131
  152. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1508 -1456
  153. package/node_modules/@local/vibe64-training/package.json +13 -27
  154. package/package.json +7 -7
  155. package/server.bundle.mjs +40946 -41456
  156. package/dist/assets/GithubBrowserTabs-DO5PHon-.js +0 -1
  157. package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +0 -3
  158. package/dist/assets/GithubMarkdown-U7-j-qNI.css +0 -1
  159. package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +0 -1
  160. package/dist/assets/Vibe64OutputControls-DAAmA09l.js +0 -8
  161. package/dist/assets/Vibe64OutputControls-DPBsyDZM.css +0 -1
  162. package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +0 -107
  163. package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +0 -1
  164. package/dist/assets/_slug_-B31c15cc.css +0 -1
  165. package/dist/assets/_slug_-Dy35qLo1.js +0 -1
  166. package/dist/assets/app-DRXCcv05.css +0 -1
  167. package/dist/assets/app-zt7HwQKT.js +0 -1
  168. package/dist/assets/client-BrV4QPwG.js +0 -2
  169. package/dist/assets/client-C1bwIlu6.css +0 -1
  170. package/dist/assets/definitions-DaOPIkyB.js +0 -1
  171. package/dist/assets/env-DN0vW4EI.js +0 -1
  172. package/dist/assets/health-7oIQODer.css +0 -1
  173. package/dist/assets/health-Z6m96GDr.js +0 -1
  174. package/dist/assets/index-BUq-MczL.js +0 -86
  175. package/dist/assets/index-DtmBqE3h.css +0 -1
  176. package/dist/assets/issues-1iS5zoed.js +0 -1
  177. package/dist/assets/layout-BkWVNT37.js +0 -1
  178. package/dist/assets/mdi-C54lQ0i_.js +0 -1
  179. package/dist/assets/placement-DLsU3pCW.js +0 -1
  180. package/dist/assets/pull-requests-BJOwNL4k.js +0 -1
  181. package/dist/assets/settings-c273Ikrm.js +0 -1
  182. package/dist/assets/shared-YZb7ocaK.js +0 -2
  183. package/dist/assets/studioGateApi-DhA9IJGZ.js +0 -1
  184. package/dist/assets/studioUrls-Dj8rXeXO.js +0 -1
  185. package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +0 -1
  186. package/dist/assets/useCommand-DWuxfAV0.js +0 -1
  187. package/dist/assets/useEndpointResource-MWVNfmMa.js +0 -1
  188. package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +0 -1
  189. package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +0 -1
  190. package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +0 -28
  191. package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +0 -1
  192. package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +0 -1
  193. package/dist/assets/useVibe64SessionData-DFTyLzci.js +0 -1
  194. package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +0 -1
  195. package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +0 -1
  196. package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +0 -1
  197. package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +0 -1
  198. package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +0 -1
  199. package/docs/colleague-usage/learning-chat-retention.md +0 -74
  200. package/docs/colleague-usage/learning-diagrams-and-voice.md +0 -97
  201. package/docs/colleague-usage/learning-lesson-watch.md +0 -95
  202. package/docs/colleague-usage/learning-native-session.md +0 -206
  203. package/docs/colleague-usage/learning-practical-exercises.md +0 -71
  204. package/docs/colleague-usage/learning-practical-gestures.md +0 -48
  205. package/docs/colleague-usage/learning-session-creation.md +0 -95
  206. package/docs/colleague-usage/lesson-practical-assessment.md +0 -54
  207. package/docs/colleague-usage/preview-lesson-presentation.md +0 -56
  208. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.md +0 -44
package/bin/server.js CHANGED
@@ -1,93 +1,94 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __vibe64CreateRequire } from 'node:module';const require=__vibe64CreateRequire(import.meta.url);
3
- import{realpathSync as at}from"node:fs";import R from"node:path";import Be from"node:process";import ie from"node:path";import{fileURLToPath as Wt}from"node:url";import qt from"node:child_process";
4
- import Yt,{constants as Kt}from"node:fs/promises";import ht from"node:path";import{promisify as _t}from"node:util";import wt from"node:child_process";import K,{constants as Se}from"node:fs/promises";import we from"node:process";import dt from"node:os";import q from"node:fs";import ut from"node:fs";import he from"node:fs";var G;function st(){try{return he.statSync("/.dockerenv"),!0}catch{return!1}}function ct(){try{return he.
5
- readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function F(){return G===void 0&&(G=st()||ct()),
6
- G}var W,lt=()=>{try{return ut.statSync("/run/.containerenv"),!0}catch{return!1}};function w(){return W===void 0&&(W=lt()||
7
- F()),W}var _e=()=>{if(we.platform!=="linux")return!1;if(dt.release().toLowerCase().includes("microsoft"))return!w();try{if(q.readFileSync(
8
- "/proc/version","utf8").toLowerCase().includes("microsoft"))return!w()}catch{}return q.existsSync("/proc/sys/fs/binfmt_m\
9
- isc/WSLInterop")||q.existsSync("/run/WSL")?!w():!1},p=we.env.__IS_WSL_TEST__?_e:_e();import ye from"node:process";import{Buffer as pt}from"node:buffer";import{promisify as mt}from"node:util";import ft from"node:child_process";var gt=mt(ft.execFile),Y=()=>`${ye.env.SYSTEMROOT||ye.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.\
10
- 0\\powershell.exe`;var y=async(e,t={})=>{let{powerShellPath:r,...o}=t,n=y.encodeCommand(e);return gt(r??Y(),[...y.argumentsPrefix,n],{encoding:"\
11
- utf8",...o})};y.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];y.encodeCommand=
12
- e=>pt.from(e,"utf16le").toString("base64");y.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;function Ee(e){for(let t of e.split(`
3
+ import{existsSync as Eo,realpathSync as mt}from"node:fs";import{mkdir as So}from"node:fs/promises";import ft from"node:os";
4
+ import R from"node:path";import Fe from"node:process";import le from"node:path";import{fileURLToPath as er}from"node:url";import tr from"node:child_process";
5
+ import rr,{constants as or}from"node:fs/promises";import Rt from"node:path";import{promisify as Pt}from"node:util";import Tt from"node:child_process";import ee,{constants as Ie}from"node:fs/promises";import Pe from"node:process";import yt from"node:os";import Z from"node:fs";import _t from"node:fs";import ve from"node:fs";var K;function gt(){try{return ve.statSync("/.dockerenv"),!0}catch{return!1}}function ht(){try{return ve.
6
+ readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function J(){return K===void 0&&(K=gt()||ht()),
7
+ K}var X,wt=()=>{try{return _t.statSync("/run/.containerenv"),!0}catch{return!1}};function y(){return X===void 0&&(X=wt()||
8
+ J()),X}var Re=()=>{if(Pe.platform!=="linux")return!1;if(yt.release().toLowerCase().includes("microsoft"))return!y();try{if(Z.readFileSync(
9
+ "/proc/version","utf8").toLowerCase().includes("microsoft"))return!y()}catch{}return Z.existsSync("/proc/sys/fs/binfmt_m\
10
+ isc/WSLInterop")||Z.existsSync("/run/WSL")?!y():!1},m=Pe.env.__IS_WSL_TEST__?Re:Re();import Te from"node:process";import{Buffer as bt}from"node:buffer";import{promisify as Et}from"node:util";import St from"node:child_process";var vt=Et(St.execFile),Q=()=>`${Te.env.SYSTEMROOT||Te.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.\
11
+ 0\\powershell.exe`;var b=async(e,t={})=>{let{powerShellPath:r,...o}=t,n=b.encodeCommand(e);return vt(r??Q(),[...b.argumentsPrefix,n],{encoding:"\
12
+ utf8",...o})};b.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];b.encodeCommand=
13
+ e=>bt.from(e,"utf16le").toString("base64");b.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;function Ae(e){for(let t of e.split(`
13
14
  `)){if(/^\s*#/.test(t))continue;let r=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(t);if(r)return r.groups.
14
- mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var yt=_t(wt.execFile),Et=(()=>{let e="/mnt/",t;return async function(){if(t)return t;let r="/etc/wsl.conf",o=!1;try{await K.
15
- access(r,Se.F_OK),o=!0}catch{}if(!o)return e;let n=await K.readFile(r,{encoding:"utf8"}),i=Ee(n);return i===void 0?e:(t=
16
- i,t=t.endsWith("/")?t:`${t}/`,t)}})(),bt=async()=>`${await Et()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,
17
- j=p?bt:Y,be,ve=async()=>(be??=(async()=>{try{let e=await j();return await K.access(e,Se.X_OK),!0}catch{return!1}})(),be),
18
- Re=async()=>{let e=await j(),t=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,
19
- {stdout:r}=await y(t,{powerShellPath:e,cwd:ht.dirname(e)});return r.trim()},St=e=>/^[a-z]+:\/\//i.test(e),Pe=async e=>{let t=Array.
20
- isArray(e),r=t?e:[e],o=[],n=[];for(let[s,d]of r.entries())St(d)||(o.push(s),n.push(d));let i=[...r];if(n.length>0)try{let{
21
- stdout:s}=await yt("wslpath",["-aw",...n],{encoding:"utf8"}),d=s.split(/\r?\n/).filter(Boolean);for(let[c,a]of o.entries())
22
- i[a]=d[c]??r[a]}catch{}return t?i:i[0]};import Te from"node:process";import{Buffer as vt}from"node:buffer";import{promisify as Rt}from"node:util";import Pt from"node:child_process";var Tt=Rt(Pt.execFile),At=()=>`${Te.env.SYSTEMROOT||Te.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1\
23
- .0\\powershell.exe`;var Ae=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],Oe=e=>vt.from(e,"utf16le").toString(
24
- "base64"),Ot=e=>`'${String(e).replaceAll(/['‘’‚‛]/g,t=>t+t)}'`,Ie=e=>[...Ae,Oe(e)],It=e=>({encoding:"utf8",...e,
25
- shell:!1}),m=async(e,t={})=>{let{powerShellPath:r,...o}=t;return Tt(r??At(),Ie(e),It(o))};m.argumentsPrefix=Ae;m.encodeCommand=
26
- Oe;m.escapeArgument=Ot;m.createArguments=Ie;function E(e,t,r){let o=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0});return Object.defineProperty(e,
27
- t,{configurable:!0,enumerable:!0,get(){let n=r();return o(n),n},set(n){o(n)}}),e}import{promisify as Ut}from"node:util";import te from"node:process";import{execFile as Ht}from"node:child_process";import{promisify as Ct}from"node:util";import Nt from"node:process";import{execFile as xt}from"node:child_process";var kt=Ct(
28
- xt);async function J(){if(Nt.platform!=="darwin")throw new Error("macOS only");let{stdout:e}=await kt("defaults",["read",
15
+ mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var At=Pt(Tt.execFile),Ot=(()=>{let e="/mnt/",t;return async function(){if(t)return t;let r="/etc/wsl.conf",o=!1;try{await ee.
16
+ access(r,Ie.F_OK),o=!0}catch{}if(!o)return e;let n=await ee.readFile(r,{encoding:"utf8"}),i=Ae(n);return i===void 0?e:(t=
17
+ i,t=t.endsWith("/")?t:`${t}/`,t)}})(),It=async()=>`${await Ot()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,
18
+ M=m?It:Q,Oe,Ce=async()=>(Oe??=(async()=>{try{let e=await M();return await ee.access(e,Ie.X_OK),!0}catch{return!1}})(),Oe),
19
+ xe=async()=>{let e=await M(),t=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,
20
+ {stdout:r}=await b(t,{powerShellPath:e,cwd:Rt.dirname(e)});return r.trim()},Ct=e=>/^[a-z]+:\/\//i.test(e),Ne=async e=>{let t=Array.
21
+ isArray(e),r=t?e:[e],o=[],n=[];for(let[a,p]of r.entries())Ct(p)||(o.push(a),n.push(p));let i=[...r];if(n.length>0)try{let{
22
+ stdout:a}=await At("wslpath",["-aw",...n],{encoding:"utf8"}),p=a.split(/\r?\n/).filter(Boolean);for(let[c,s]of o.entries())
23
+ i[s]=p[c]??r[s]}catch{}return t?i:i[0]};import ke from"node:process";import{Buffer as xt}from"node:buffer";import{promisify as Nt}from"node:util";import kt from"node:child_process";var jt=Nt(kt.execFile),$t=()=>`${ke.env.SYSTEMROOT||ke.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1\
24
+ .0\\powershell.exe`;var je=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],$e=e=>xt.from(e,"utf16le").toString(
25
+ "base64"),Mt=e=>`'${String(e).replaceAll(/['‘’‚‛]/g,t=>t+t)}'`,Me=e=>[...je,$e(e)],Lt=e=>({encoding:"utf8",...e,
26
+ shell:!1}),f=async(e,t={})=>{let{powerShellPath:r,...o}=t;return jt(r??$t(),Me(e),Lt(o))};f.argumentsPrefix=je;f.encodeCommand=
27
+ $e;f.escapeArgument=Mt;f.createArguments=Me;function E(e,t,r){let o=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0});return Object.defineProperty(e,
28
+ t,{configurable:!0,enumerable:!0,get(){let n=r();return o(n),n},set(n){o(n)}}),e}import{promisify as Kt}from"node:util";import ae from"node:process";import{execFile as Jt}from"node:child_process";import{promisify as Dt}from"node:util";import Bt from"node:process";import{execFile as zt}from"node:child_process";var Ut=Dt(
29
+ zt);async function te(){if(Bt.platform!=="darwin")throw new Error("macOS only");let{stdout:e}=await Ut("defaults",["read",
29
30
  "com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),r=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.
30
- exec(e)?.groups.id??"com.apple.Safari";return r==="com.apple.safari"?"com.apple.Safari":r}import jt from"node:process";import{promisify as $t}from"node:util";import{execFile as Mt,execFileSync as pn}from"node:child_process";
31
- var Lt=$t(Mt);async function Ce(e,{humanReadableOutput:t=!0,signal:r}={}){if(jt.platform!=="darwin")throw new Error("mac\
32
- OS only");let o=t?[]:["-ss"],n={};r&&(n.signal=r);let{stdout:i}=await Lt("osascript",["-e",e,o],n);return i.trim()}async function X(e){return Ce(`tell application "Finder" to set app_path to application file id "${e}" as string
31
+ exec(e)?.groups.id??"com.apple.Safari";return r==="com.apple.safari"?"com.apple.Safari":r}import Ht from"node:process";import{promisify as Gt}from"node:util";import{execFile as Vt,execFileSync as Pn}from"node:child_process";
32
+ var Ft=Gt(Vt);async function Le(e,{humanReadableOutput:t=!0,signal:r}={}){if(Ht.platform!=="darwin")throw new Error("mac\
33
+ OS only");let o=t?[]:["-ss"],n={};r&&(n.signal=r);let{stdout:i}=await Ft("osascript",["-e",e,o],n);return i.trim()}async function re(e){return Le(`tell application "Finder" to set app_path to application file id "${e}" as string
33
34
  tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":C\
34
- ontents:Info.plist")`)}import Ne from"node:process";import{promisify as Bt}from"node:util";import{execFile as Dt}from"node:child_process";var zt=Bt(
35
- Dt),$={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{
35
+ ontents:Info.plist")`)}import De from"node:process";import{promisify as Wt}from"node:util";import{execFile as qt}from"node:child_process";var Yt=Wt(
36
+ qt),L={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{
36
37
  name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.ol\
37
38
  d"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{
38
39
  name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"\
39
40
  Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"\
40
41
  com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"\
41
42
  org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi\
42
- .Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},Q=new Map(Object.entries($)),Z=class extends Error{};
43
- async function ee(e=zt){let t=`${Ne.env.SYSTEMROOT??Ne.env.windir??"C:\\Windows"}\\System32\\reg.exe`,{stdout:r}=await e(
43
+ .Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},ne=new Map(Object.entries(L)),oe=class extends Error{};
44
+ async function ie(e=Yt){let t=`${De.env.SYSTEMROOT??De.env.windir??"C:\\Windows"}\\System32\\reg.exe`,{stdout:r}=await e(
44
45
  t,["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/\
45
- v","ProgId"]),o=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(r);if(!o)throw new Z(`Cannot find Windows browser in stdout: ${JSON.
46
- stringify(r)}`);let{id:n}=o.groups,i=n.lastIndexOf("."),s=n.lastIndexOf("-"),d=i===-1?void 0:n.slice(0,i),c=s===-1?void 0:
47
- n.slice(0,s);return $[n]??$[d]??$[c]??{name:n,id:n}}var Vt=Ut(Ht),Gt=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,t=>t.toUpperCase());async function re(){if(te.platform===
48
- "darwin"){let e=await J();return{name:await X(e),id:e}}if(te.platform==="linux"){let{stdout:e}=await Vt("xdg-mime",["que\
49
- ry","default","x-scheme-handler/http"]),t=e.trim();return{name:Gt(t.replace(/.desktop$/,"").replace("-"," ")),id:t}}if(te.
50
- platform==="win32")return ee();throw new Error("Only macOS, Linux, and Windows are supported")}import oe from"node:process";var Ft=!!(oe.env.SSH_CONNECTION||oe.env.SSH_CLIENT||oe.env.SSH_TTY),xe=Ft;var ke=new URL("./../node_modules/open/index.js",import.meta.url).href,M=Symbol("fallbackAttempt"),ne=ke?ie.dirname(Wt(ke)):
51
- "",je=ie.join(ne,"xdg-open"),{platform:b,arch:$e}=Be,Me=async(e,t)=>{if(e.length===0)return;let r=[];for(let o of e)try{
52
- return await t(o)}catch(n){r.push(n)}throw new AggregateError(r,"Failed to open in all supported apps")},L=async e=>{e={
53
- wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e};let t=e[M]===!0;if(delete e[M],Array.isArray(e.app))return Me(
54
- e.app,a=>L({...e,app:a,[M]:!0}));let{name:r,arguments:o=[]}=e.app??{};if(o=[...o],Array.isArray(r))return Me(r,a=>L({...e,
55
- app:{name:a,arguments:o},[M]:!0}));if(r==="browser"||r==="browserPrivate"){let a={"com.google.chrome":"chrome","google-c\
46
+ v","ProgId"]),o=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(r);if(!o)throw new oe(`Cannot find Windows browser in stdout: ${JSON.
47
+ stringify(r)}`);let{id:n}=o.groups,i=n.lastIndexOf("."),a=n.lastIndexOf("-"),p=i===-1?void 0:n.slice(0,i),c=a===-1?void 0:
48
+ n.slice(0,a);return L[n]??L[p]??L[c]??{name:n,id:n}}var Xt=Kt(Jt),Zt=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,t=>t.toUpperCase());async function se(){if(ae.platform===
49
+ "darwin"){let e=await te();return{name:await re(e),id:e}}if(ae.platform==="linux"){let{stdout:e}=await Xt("xdg-mime",["q\
50
+ uery","default","x-scheme-handler/http"]),t=e.trim();return{name:Zt(t.replace(/.desktop$/,"").replace("-"," ")),id:t}}if(ae.
51
+ platform==="win32")return ie();throw new Error("Only macOS, Linux, and Windows are supported")}import ce from"node:process";var Qt=!!(ce.env.SSH_CONNECTION||ce.env.SSH_CLIENT||ce.env.SSH_TTY),Be=Qt;var ze=new URL("./../node_modules/open/index.js",import.meta.url).href,D=Symbol("fallbackAttempt"),ue=ze?le.dirname(er(ze)):
52
+ "",Ue=le.join(ue,"xdg-open"),{platform:S,arch:He}=Fe,Ge=async(e,t)=>{if(e.length===0)return;let r=[];for(let o of e)try{
53
+ return await t(o)}catch(n){r.push(n)}throw new AggregateError(r,"Failed to open in all supported apps")},B=async e=>{e={
54
+ wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e};let t=e[D]===!0;if(delete e[D],Array.isArray(e.app))return Ge(
55
+ e.app,s=>B({...e,app:s,[D]:!0}));let{name:r,arguments:o=[]}=e.app??{};if(o=[...o],Array.isArray(r))return Ge(r,s=>B({...e,
56
+ app:{name:s,arguments:o},[D]:!0}));if(r==="browser"||r==="browserPrivate"){let s={"com.google.chrome":"chrome","google-c\
56
57
  hrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.mic\
57
58
  rosoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.ap\
58
- ple.safari":"safari"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},l;if(p){
59
- let P=await Re();l=Q.get(P)??{}}else l=await re();let ge=l.id?.toLowerCase();if(Object.hasOwn(a,ge)){let P=a[ge];if(r===
59
+ ple.safari":"safari"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},d;if(m){
60
+ let P=await xe();d=ne.get(P)??{}}else d=await se();let Se=d.id?.toLowerCase();if(Object.hasOwn(s,Se)){let P=s[Se];if(r===
60
61
  "browserPrivate"){if(P==="safari")throw new Error("Safari doesn't support opening in private mode via command line");o.push(
61
- u[P])}return L({...e,app:{name:h[P],arguments:o}})}throw new Error(`${l.name} is not supported as a default browser`)}let n,
62
- i=[],s={},d=!1;if(p&&!w()&&!xe&&!r&&(d=await ve()),b==="darwin")n="open",e.wait&&i.push("--wait-apps"),e.background&&i.push(
63
- "--background"),e.newInstance&&i.push("--new"),r&&i.push("-a",r);else if(b==="win32"||d){n=await j(),i.push(...m.argumentsPrefix),
64
- p||(s.windowsVerbatimArguments=!0),p&&e.target&&(e.target=await Pe(e.target));let a=["$ProgressPreference = 'SilentlyCon\
65
- tinue';","Start"];e.wait&&a.push("-Wait"),r?(a.push(m.escapeArgument(r)),e.target&&o.push(e.target)):e.target&&a.push(m.
66
- escapeArgument(e.target)),o.length>0&&(o=o.map(u=>m.escapeArgument(u)),a.push("-ArgumentList",o.join(","))),e.target=m.encodeCommand(
67
- a.join(" ")),e.wait||(s.stdio="ignore"),p&&(s.cwd=ie.dirname(n))}else{if(r)n=r;else{let a=!ne||ne==="/",u=!1;try{await Yt.
68
- access(je,Kt.X_OK),u=!0}catch{}n=Be.versions.electron??(b==="android"||a||!u)?"xdg-open":je}o.length>0&&i.push(...o),e.wait||
69
- (s.stdio="ignore",s.detached=!0)}b==="darwin"&&o.length>0&&i.push("--args",...o),e.target&&i.push(e.target);let c=qt.spawn(
70
- n,i,s);return e.wait?new Promise((a,u)=>{c.once("error",u),c.once("close",l=>{if(!e.allowNonzeroExitCode&&l!==0){u(new Error(
71
- `Exited with code ${l}`));return}a(c)})}):t||b==="win32"||d?new Promise((a,u)=>{c.once("error",u),c.once("spawn",()=>{c.
72
- once("close",l=>{if(c.off("error",u),t&&l!==0){u(new Error(`Exited with code ${l}`));return}c.unref(),a(c)})})}):(c.unref(),
73
- new Promise((a,u)=>{c.once("error",u),c.once("spawn",()=>{c.off("error",u),a(c)})}))},Jt=(e,t)=>{if(typeof e!="string")throw new TypeError(
74
- "Expected a `target`");return L({...t,target:e})};function Le(e){if(typeof e=="string"||Array.isArray(e))return e;let{[$e]:t}=e;if(!t)throw new Error(`${$e} is not suppor\
75
- ted`);return t}function T({[b]:e},{wsl:t}={}){if(t&&p)return Le(t);if(!e)throw new Error(`${b} is not supported`);return Le(
76
- e)}var h={browser:"browser",browserPrivate:"browserPrivate"};E(h,"chrome",()=>T({darwin:"google chrome",win32:"chrome",linux:[
62
+ u[P])}return B({...e,app:{name:_[P],arguments:o}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,
63
+ i=[],a={},p=!1;if(m&&!y()&&!Be&&!r&&(p=await Ce()),S==="darwin")n="open",e.wait&&i.push("--wait-apps"),e.background&&i.push(
64
+ "--background"),e.newInstance&&i.push("--new"),r&&i.push("-a",r);else if(S==="win32"||p){n=await M(),i.push(...f.argumentsPrefix),
65
+ m||(a.windowsVerbatimArguments=!0),m&&e.target&&(e.target=await Ne(e.target));let s=["$ProgressPreference = 'SilentlyCon\
66
+ tinue';","Start"];e.wait&&s.push("-Wait"),r?(s.push(f.escapeArgument(r)),e.target&&o.push(e.target)):e.target&&s.push(f.
67
+ escapeArgument(e.target)),o.length>0&&(o=o.map(u=>f.escapeArgument(u)),s.push("-ArgumentList",o.join(","))),e.target=f.encodeCommand(
68
+ s.join(" ")),e.wait||(a.stdio="ignore"),m&&(a.cwd=le.dirname(n))}else{if(r)n=r;else{let s=!ue||ue==="/",u=!1;try{await rr.
69
+ access(Ue,or.X_OK),u=!0}catch{}n=Fe.versions.electron??(S==="android"||s||!u)?"xdg-open":Ue}o.length>0&&i.push(...o),e.wait||
70
+ (a.stdio="ignore",a.detached=!0)}S==="darwin"&&o.length>0&&i.push("--args",...o),e.target&&i.push(e.target);let c=tr.spawn(
71
+ n,i,a);return e.wait?new Promise((s,u)=>{c.once("error",u),c.once("close",d=>{if(!e.allowNonzeroExitCode&&d!==0){u(new Error(
72
+ `Exited with code ${d}`));return}s(c)})}):t||S==="win32"||p?new Promise((s,u)=>{c.once("error",u),c.once("spawn",()=>{c.
73
+ once("close",d=>{if(c.off("error",u),t&&d!==0){u(new Error(`Exited with code ${d}`));return}c.unref(),s(c)})})}):(c.unref(),
74
+ new Promise((s,u)=>{c.once("error",u),c.once("spawn",()=>{c.off("error",u),s(c)})}))},nr=(e,t)=>{if(typeof e!="string")throw new TypeError(
75
+ "Expected a `target`");return B({...t,target:e})};function Ve(e){if(typeof e=="string"||Array.isArray(e))return e;let{[He]:t}=e;if(!t)throw new Error(`${He} is not suppor\
76
+ ted`);return t}function T({[S]:e},{wsl:t}={}){if(t&&m)return Ve(t);if(!e)throw new Error(`${S} is not supported`);return Ve(
77
+ e)}var _={browser:"browser",browserPrivate:"browserPrivate"};E(_,"chrome",()=>T({darwin:"google chrome",win32:"chrome",linux:[
77
78
  "google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chr\
78
79
  ome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)\
79
- /Google/Chrome/Application/chrome.exe"]}}));E(h,"brave",()=>T({darwin:"brave browser",win32:"brave",linux:["brave-browse\
80
+ /Google/Chrome/Application/chrome.exe"]}}));E(_,"brave",()=>T({darwin:"brave browser",win32:"brave",linux:["brave-browse\
80
81
  r","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Prog\
81
82
  ram Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/App\
82
- lication/brave.exe"]}}));E(h,"firefox",()=>T({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
83
- linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));E(h,"edge",()=>T({darwin:"microsoft edge",win32:"\
83
+ lication/brave.exe"]}}));E(_,"firefox",()=>T({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
84
+ linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));E(_,"edge",()=>T({darwin:"microsoft edge",win32:"\
84
85
  msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedg\
85
- e.exe"}));E(h,"safari",()=>T({darwin:"Safari"}));var ae=Jt;import g from"node:process";import{fileURLToPath as po}from"node:url";import{execFile as Xt}from"node:child_process";import{promisify as Zt}from"node:util";var Gn=Zt(Xt);import{createRequire as or}from"node:module";var rr=new URL("./../node_modules/@jskit-ai/kernel/server/support/symlinkSafeRequire.js",import.meta.url).href;var ui=or(rr);var di=Object.freeze(["none","pending","committed","rolledBack","unknown"]);var pi=Object.freeze(["bundled","dev_server"]),mi=Object.freeze(["capacitor"]),fi=Object.freeze({callbackPath:"/auth/log\
86
- in",customScheme:"",appLinkDomains:Object.freeze([])}),gi=Object.freeze({packageName:"",minSdk:26,targetSdk:35,versionCode:1,
87
- versionName:"1.0.0"});var Pi=new URL("./../node_modules/@jskit-ai/kernel/server/support/appConfigFiles.js",import.meta.url).href;var ji=Object.freeze(["dependencies","optionalDependencies","peerDependencies"]),$i=Object.freeze(["capabilities","kind",
88
- "metadata","migrations","runtime","vite"]);var se="/api",Wi=`${se}/`,qi=`${se}/docs`,Yi=`${se}/realtime`;var ia=Object.freeze(["compact","medium","expanded"]);var O=Object.freeze(["DATABASE_URL","DB_CLIENT","DB_DATABASE","DB_HOST","DB_NAME","DB_PASSWORD","DB_PORT","DB_USER","DB_\
86
+ e.exe"}));E(_,"safari",()=>T({darwin:"Safari"}));var de=nr;import l from"node:process";import{fileURLToPath as vo}from"node:url";import{execFile as ir}from"node:child_process";import{promisify as ar}from"node:util";var oi=ar(ir);var yi=Object.freeze({runtimePackRoot:"",sharedCacheRoot:"",execHelperPath:"",sharedGroupAccess:!1});import{createRequire as dr}from"node:module";var lr=new URL("./../node_modules/@jskit-ai/kernel/server/support/symlinkSafeRequire.js",import.meta.url).href;var Pi=dr(lr);var Ai=Object.freeze(["none","pending","committed","rolledBack","unknown"]);var Oi=Object.freeze(["bundled","dev_server"]),Ii=Object.freeze(["capacitor"]),Ci=Object.freeze({callbackPath:"/auth/log\
87
+ in",customScheme:"",appLinkDomains:Object.freeze([])}),xi=Object.freeze({packageName:"",minSdk:26,targetSdk:35,versionCode:1,
88
+ versionName:"1.0.0"});var Ui=new URL("./../node_modules/@jskit-ai/kernel/server/support/appConfigFiles.js",import.meta.url).href;var Ji=Object.freeze(["dependencies","optionalDependencies","peerDependencies"]),Xi=Object.freeze(["capabilities","kind",
89
+ "metadata","migrations","runtime","vite"]);var me="/api",ca=`${me}/`,ua=`${me}/docs`,la=`${me}/realtime`;var Ea=Object.freeze(["compact","medium","expanded"]);var O=Object.freeze(["DATABASE_URL","DB_CLIENT","DB_DATABASE","DB_HOST","DB_NAME","DB_PASSWORD","DB_PORT","DB_USER","DB_\
89
90
  USERNAME","MYSQL_DATABASE","MYSQL_HOST","MYSQL_PWD","MYSQL_TCP_PORT","PGDATABASE","PGHOST","PGPASSWORD","PGPORT","PGUSER",
90
- "VIBE64_MYSQL_USER"]);var I="GIT_AUTHOR_NAME",C="GIT_AUTHOR_EMAIL",N="GIT_COMMITTER_NAME",x="GIT_COMMITTER_EMAIL";var yr=Object.freeze({awsebcli:{binDirs:["awsebcli/bin"],managedCommands:["eb"]},bubblewrap:{binDirs:["bubblewrap/bin"],
91
+ "VIBE64_MYSQL_USER"]);var I="GIT_AUTHOR_NAME",C="GIT_AUTHOR_EMAIL",x="GIT_COMMITTER_NAME",N="GIT_COMMITTER_EMAIL";var Ar=Object.freeze({awsebcli:{binDirs:["awsebcli/bin"],managedCommands:["eb"]},bubblewrap:{binDirs:["bubblewrap/bin"],
91
92
  managedCommands:[]},bun:{binDirs:["bun/bin"],dependencyFiles:["package.json","bun.lock","bun.lockb","package-lock.json"],
92
93
  managedCommands:["bun"]},composer:{binDirs:["composer/bin"],dependencyFiles:["composer.json","composer.lock"],managedCommands:[
93
94
  "composer"]},cpp:{binDirs:["cpp/bin"],dependencyFiles:["CMakeLists.txt","vcpkg.json","vcpkg-configuration.json","conanfi\
@@ -115,21 +116,21 @@ i/claude-code/package.json","operator-clis/lib/node_modules/@openai/codex/packag
115
116
  opencode-ai/package.json"],managedCommands:["claude","codex","opencode"]},php:{binDirs:["php/bin"],managedCommands:["php"]},
116
117
  playwright:{binDirs:["playwright/bin"],identityPaths:["playwright/runtime.env","playwright/browsers"],managedCommands:["\
117
118
  playwright"]},postgresql:{binDirs:["postgresql/bin"],managedCommands:["initdb","pg_ctl","pg_isready","postgres","psql"]},
118
- ripgrep:{binDirs:["ripgrep/bin"],managedCommands:[]},sqlite:{binDirs:["sqlite/bin"],managedCommands:["sqlite3"]}}),We=Object.
119
+ ripgrep:{binDirs:["ripgrep/bin"],managedCommands:[]},sqlite:{binDirs:["sqlite/bin"],managedCommands:["sqlite3"]}}),Qe=Object.
119
120
  freeze(["operator-clis","node26","git","gh","mysql","mariadb","postgresql","sqlite","ripgrep","bubblewrap","bun","php","\
120
- composer","awsebcli","cpp","python","ruby","go","java","kotlin","csharp","rust","playwright"]);var ce="VIBE64_SHARED_CACHE_ROOT",z="PLAYWRIGHT_BROWSERS_PATH",U="PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD",ue="VIBE64_PLAYWRIGH\
121
- T_VERSION";var Sr=new Set([...O,C,I,x,N,z,U,ue,ce]);var vr=Object.freeze([{key:"url.https://github.com/.insteadOf",value:"git@github.com:"},{key:"url.https://github.com/.in\
122
- steadOf",value:"ssh://git@github.com/"}]),Cs=Object.freeze([{key:"credential.https://github.com.helper",value:"!/usr/bin\
123
- /env gh auth git-credential"}]),Ns=Object.freeze([{key:"credential.https://github.com.helper",value:`!f() { case "$1" in\
124
- get) printf '%s\\n' username=x-access-token "password=\${VIBE64_GIT_AUTH_TOKEN}" ;; esac; }; f`}]);var oc=new Set([...O,C,I,x,N,"HOME","LOGNAME","PATH","USER","XDG_CACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_RUNT\
125
- IME_DIR"]);import{createRequire as Br}from"node:module";var Lr=new URL("./../node_modules/@local/vibe64-execution/src/server/engines/terminalSessions.js",import.meta.url).href,
126
- sc=256*1024;var cc=600*1e3,uc=1440*60*1e3,lc=Object.freeze({"ctrl-c":"",enter:"\r",escape:"\x1B",tab:" "});var dc=Br(Lr);var Ac=Object.freeze(["daemon","owner-user","named-user","app"]),Oc=Object.freeze(["account","assistant","terminal","cod\
127
- ex","github","github-api","source-editor","preview","output","deployment","health","workspace-cache","source"]),Ic=Object.
128
- freeze(["capture","pty","detached"]),Cc=Object.freeze(["utf8","base64"]),Nc=Object.freeze(["session","project","preview",
129
- "auth","deployment"]),xc=Object.freeze(["none","github-https","github-token"]),Vr=Object.freeze(["assistant","browser","\
130
- control","job","preview","service","terminal"]),Gr=Object.freeze(["finite","interactive","service"]),kc=Object.freeze(["\
121
+ composer","awsebcli","cpp","python","ruby","go","java","kotlin","csharp","rust","playwright"]);var fe="VIBE64_SHARED_CACHE_ROOT",H="PLAYWRIGHT_BROWSERS_PATH",ge="PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD",he="VIBE64_PLAYWRIG\
122
+ HT_VERSION";var Or=new Set([...O,C,I,N,x,H,ge,he,fe]);var Ir=Object.freeze([{key:"url.https://github.com/.insteadOf",value:"git@github.com:"},{key:"url.https://github.com/.in\
123
+ steadOf",value:"ssh://git@github.com/"}]),qs=Object.freeze([{key:"credential.https://github.com.helper",value:"!/usr/bin\
124
+ /env gh auth git-credential"}]),Ys=Object.freeze([{key:"credential.https://github.com.helper",value:`!f() { case "$1" in\
125
+ get) printf '%s\\n' username=x-access-token "password=\${VIBE64_GIT_AUTH_TOKEN}" ;; esac; }; f`}]);var Ec=new Set([...O,C,I,N,x,"HOME","LOGNAME","PATH","USER","XDG_CACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_RUNT\
126
+ IME_DIR"]);import{createRequire as Vr}from"node:module";var Gr=new URL("./../node_modules/@local/vibe64-execution/src/server/engines/terminalSessions.js",import.meta.url).href,
127
+ Pc=256*1024;var Tc=600*1e3,Ac=1440*60*1e3,Oc=Object.freeze({"ctrl-c":"",enter:"\r",escape:"\x1B",tab:" "});var Ic=Vr(Gr);var Wc=Object.freeze(["daemon","owner-user","named-user","app"]),qc=Object.freeze(["account","assistant","terminal","cod\
128
+ ex","github","github-api","source-editor","preview","output","deployment","health","workspace-cache","source"]),Yc=Object.
129
+ freeze(["capture","pty","detached"]),Kc=Object.freeze(["utf8","base64"]),Jc=Object.freeze(["session","project","preview",
130
+ "auth","deployment"]),Xc=Object.freeze(["none","github-https","github-token"]),qr=Object.freeze(["assistant","browser","\
131
+ control","job","preview","service","terminal"]),Yr=Object.freeze(["finite","interactive","service"]),Zc=Object.freeze(["\
131
132
  node26","git","gh","mysql","mariadb","postgresql","sqlite","ripgrep","bubblewrap","bun","php","composer","awsebcli","cpp",
132
- "python","ruby","go","java","kotlin","csharp","rust","playwright","operator-clis"]),jc=1e3*1e3*100;var pu=512*1024*1024,mu=1024*1024*1024;var Yr=Object.freeze(["LANG","LC_ALL","NO_PROXY","PATH","SSL_CERT_DIR","SSL_CERT_FILE","TZ"]);var Kr=64*1024;var Ze="backups.git",Qe="vibe64-atomic",Xr=`backup_canonical_ref() {
133
+ "python","ruby","go","java","kotlin","csharp","rust","playwright","operator-clis"]),Qc=1e3*1e3*100;var xu=512*1024*1024,Nu=1024*1024*1024;var Zr=Object.freeze(["LANG","LC_ALL","NO_PROXY","PATH","SSL_CERT_DIR","SSL_CERT_FILE","TZ"]);var Qr=64*1024;function j(e){let t=String(e);return/^[A-Za-z0-9_./:=@,+-]+$/u.test(t)?t:`'${t.replaceAll("'","'\\''")}'`}var it="backups.git",at="vibe64-atomic",eo=`backup_canonical_ref() {
133
134
  vibe64_backup_repository="$1"
134
135
  vibe64_source_repository="$2"
135
136
  vibe64_source_ref="$3"
@@ -147,13 +148,13 @@ r "$vibe64_backup_repository" rev-parse --verify "$vibe64_backup_ref"
147
148
  ' "$vibe64_source_ref" >&2
148
149
  return 1
149
150
  fi
150
- }`,Zr=`#!/bin/sh
151
+ }`,to=`#!/bin/sh
151
152
  set -eu
152
153
 
153
154
  zero_object=0000000000000000000000000000000000000000
154
155
  git_dir="$(git rev-parse --absolute-git-dir)"
155
156
  repository_root="$(dirname "$git_dir")"
156
- backup_repository="$repository_root/${Ze}"
157
+ backup_repository="$repository_root/${it}"
157
158
  if [ -L "$repository_root" ] || [ -L "$backup_repository" ] || [ -L "$repository_root/mutation.lock" ]; then
158
159
  printf '[vibe64] Canonical repository storage must not use symlinked role paths.
159
160
  ' >&2
@@ -162,7 +163,7 @@ fi
162
163
  exec 8>"$repository_root/mutation.lock"
163
164
  flock -x 8
164
165
 
165
- if [ "\${GIT_PUSH_OPTION_COUNT:-0}" != "1" ] || [ "\${GIT_PUSH_OPTION_0:-}" != "${Qe}" ]; then
166
+ if [ "\${GIT_PUSH_OPTION_COUNT:-0}" != "1" ] || [ "\${GIT_PUSH_OPTION_0:-}" != "${at}" ]; then
166
167
  printf '[vibe64] Canonical repository pushes must use the Vibe64 atomic mutation path.
167
168
  ' >&2
168
169
  exit 1
@@ -173,7 +174,7 @@ if [ "$(git --git-dir "$backup_repository" rev-parse --is-bare-repository 2>/dev
173
174
  exit 1
174
175
  fi
175
176
 
176
- ${Xr}
177
+ ${eo}
177
178
 
178
179
  updates_file="$(mktemp "$repository_root/.pre-receive.XXXXXX")"
179
180
  cleanup_updates_file() {
@@ -221,30 +222,76 @@ while read -r old_object _new_object ref_name; do
221
222
  backup_canonical_ref "$backup_repository" "$git_dir" "$ref_name" "$old_object" "$backup_ref"
222
223
  fi
223
224
  done <"$updates_file"
224
- `;var Tu=new URL("./../node_modules/@local/vibe64-execution/src/server/runtime/agentPreviewBrowserWorkerSource.js",import.meta.
225
- url).href;import{fileURLToPath as oo}from"node:url";var ro=new URL("./../node_modules/@local/vibe64-execution/src/server/conversationExecution.js",import.meta.url).href,ku=oo(
226
- new URL("./engines/stdioBridge.js",ro));import{AsyncLocalStorage as no}from"node:async_hooks";var Fd=new no;var et="github",tt="managed_git",rt="local_source";var fp=Object.freeze({GITHUB:et,MANAGED_GIT:tt,LOCAL_SOURCE:rt});function ot(e=""){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9_-]+/gu,"-").replace(/^-+|-+$/gu,"")}import{startServer as mo}from"../server.bundle.mjs";import{randomUUID as ao}from"node:crypto";var fe="__local__";var H="VIBE64_RUNTIME_NAMESPACE",so="/tmp/studio-home";var co=`${so}/.local`,nm=`${co}/bin`,uo="/opt/vibe64/runtime-packs",nt=`${uo}/managed-bin`,im=`${nt}/claude`,am=`${nt}/c\
227
- odex`;var sm=ao();var v="local";var lo=new URL("./server.js",import.meta.url).href,fo=po(lo),go=3001;function ho(e=g.argv.slice(2)){for(let t of e){let r=String(
228
- t||"").trim().toLowerCase();if(r==="--open"||r==="--open=true"||r==="--open=1")return!0}return!1}function _o(e=g.argv.slice(
225
+ `;var Wu=new URL("./../node_modules/@local/vibe64-execution/src/server/runtime/agentPreviewBrowserWorkerSource.js",import.meta.
226
+ url).href;var ro=["Usage:"," vibe64-helper preview ensure [--target <target-id>] [--wait] [--json] [--timeout-ms <ms>]"," vibe64\
227
+ -helper preview targets [--json]"," vibe64-helper preview status [--json]"," vibe64-helper preview stop [--json]"," v\
228
+ ibe64-helper preview inspect-url"," vibe64-helper preview screenshot [--output <path>]"," vibe64-helper preview browse\
229
+ r ensure"," vibe64-helper preview browser eval < playwright-code.js"," vibe64-helper preview browser identity <default\
230
+ |guest|configured-name>"," vibe64-helper preview browser storage-state <default|guest|configured-name> --output <new-pa\
231
+ th>"," vibe64-helper preview browser screenshot [--output <path>]"," vibe64-helper preview browser status"," vibe64-h\
232
+ elper preview browser reset"," vibe64-helper preview browser close"," vibe64-helper preview identities"," vibe64-help\
233
+ er preview identities save < identities.json"," vibe64-helper preview logs [--lines <count>] [--json]"," vibe64-helper\
234
+ preview restart [--wait] [--json] [--timeout-ms <ms>]"," vibe64-helper playwright [--target <target-id>] [--identity <\
235
+ default|guest|configured-name>] test [playwright test arguments]"," vibe64-helper playwright [--target <target-id>] [--\
236
+ identity <default|guest|configured-name>] npm-run <package-script> [-- script arguments]","","JSON output:"," status/en\
237
+ sure/restart/stop --json: ready, stoppedIntent, stale, outputTargetId, endpoints.browser {url, hostname, port}, currentP\
238
+ age {url, route, title, observedAt}, terminal {id, status, running, exitCode, command, createdAt}, defaultIdentity, iden\
239
+ tities [{name, type}], identityTypes, diagnostics {latest, log, directApplicationEndpoint}."," screenshot: outputPath, \
240
+ byteLength, sha256, capturedAt, url, title, width, height, luminance, darkPixelPercentage, domTextLength, domTextSummary\
241
+ ."," browser eval: result (the code's JSON-safe return value), logs [{level, values}] from console, url (the page after\
242
+ wards)."," identities: the project's Managed app identities [{name, type, value}] (first is the default) and the Stack'\
243
+ s declared Preview identity types.",' identities save: replaces the whole ordered list with the JSON array on stdin (or\
244
+ {"identities": [...]}); each type must be declared. Save only names and accounts the person asked for or confirmed; nev\
245
+ er create app accounts or change roles for this. Then verify each with preview browser identity <name>.'," browser stor\
246
+ age-state: writes the identity's Playwright storage state to a new file at --output; the interactive browser keeps its i\
247
+ dentity.","","Screenshot commands emit JSON metadata for a uniquely named, immutable PNG.","For browser navigation, use \
248
+ preview inspect-url or the status Browser URL; these use the managed Preview proxy.","Inside browser eval, navigate with\
249
+ await page.goto(new URL('/your-path', preview.url).href).","The direct application endpoint in diagnostics bypasses Pre\
250
+ view identity; do not use it for interactive browsing.","Managed Playwright suites and live preview browser actions are \
251
+ sequential. Wait on the suite through cleanup and restoration before browser actions or Preview ensure/restart/target ch\
252
+ anges; confirm playwright status has no active run and preview status is ready. Read-only status and logs are safe durin\
253
+ g a suite.","For background commands, wait on the existing execution/session with about a 30-second window where support\
254
+ ed: set yield_time_ms: 30000 for an empty command poll. Reserve shorter waits for interactive input or a specific immedi\
255
+ ate check; do not repeatedly reread empty or unchanged logs between brief waits.","This is the canonical preview server \
256
+ for the configured primary application.","Do not start a duplicate copy of that application on another port.","A distinc\
257
+ t secondary application explicitly requested by the user, such as a reference app, may run separately without replacing \
258
+ this preview."].join(`
259
+ `)+`
260
+ `;import{fileURLToPath as so}from"node:url";var ao=new URL("./../node_modules/@local/vibe64-execution/src/server/conversationExecution.js",import.meta.url).href,el=so(
261
+ new URL("./engines/stdioBridge.js",ao));var co=Object.freeze({claude:Object.freeze({name:"Claude Code",provider:"Claude",guideUrl:"https://code.claude.com/docs/\
262
+ en/setup",install:Object.freeze({unix:"curl -fsSL https://claude.ai/install.sh | bash",win32:"irm https://claude.ai/inst\
263
+ all.ps1 | iex"})}),codex:Object.freeze({name:"Codex",provider:"ChatGPT",guideUrl:"https://github.com/openai/codex",install:Object.
264
+ freeze({unix:"curl -fsSL https://chatgpt.com/codex/install.sh | sh",win32:'powershell -ExecutionPolicy ByPass -c "irm ht\
265
+ tps://chatgpt.com/codex/install.ps1 | iex"'})}),opencode:Object.freeze({name:"opencode",provider:"your API-key providers",
266
+ guideUrl:"https://opencode.ai/docs/",install:Object.freeze({unix:"curl -fsSL https://opencode.ai/install | bash",win32:"\
267
+ npm install -g opencode-ai"})})});import{execFile as uo}from"node:child_process";import{promisify as lo}from"node:util";var al=lo(uo);import{AsyncLocalStorage as ho}from"node:async_hooks";var Ap=Object.freeze({on:!1,currentAttemptId:"",lessonCode:"",practiceSlug:""});var Dp=new ho;import V from"node:path";import F from"node:process";import wo from"node:os";var ye="VIBE64_SYSTEM_ROOT";function st(e,t){let r=String(e||"").trim();return V.resolve(r||t||F.cwd())}function W(e=wo.homedir(),t=F.platform){let r=e||F.cwd();if(t==="darwin")return st(V.join(r,"Library","Application Suppo\
268
+ rt","Vibe64"));let o=String(F.env.XDG_STATE_HOME||"").trim();return st(V.join(o||V.join(r,".local","state"),"vibe64"))}var ct="github",ut="managed_git",lt="local_source";var lm=Object.freeze({GITHUB:ct,MANAGED_GIT:ut,LOCAL_SOURCE:lt});function dt(e=""){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9_-]+/gu,"-").replace(/^-+|-+$/gu,"")}import{startServer as Ro}from"../server.bundle.mjs";import{randomUUID as yo}from"node:crypto";var Ee="__local__";var q="VIBE64_RUNTIME_NAMESPACE";var af=yo();var h="local";var bo=new URL("./server.js",import.meta.url).href,Po=vo(bo),To=3001;function Ao(e=l.argv.slice(2)){for(let t of e){let r=String(
269
+ t||"").trim().toLowerCase();if(r==="--open"||r==="--open=true"||r==="--open=1")return!0}return!1}function Oo(e=l.argv.slice(
229
270
  2)){for(let t of e){let r=String(t||"").trim().toLowerCase();if(r==="--no-open"||r==="--open=false"||r==="--open=0")return!0}
230
- return!1}function it(e,t=at){let r=R.resolve(String(e||""));try{return t(r)}catch{return r}}function wo({argv:e=g.argv,entrypointPath:t=fo,
231
- realpath:r=at}={}){let o=e[1];return o?it(o,r)===it(t,r):!1}function k(e=""){let t=new Error(`Unsupported Vibe64 startup\
232
- argument: ${String(e||"").trim()}`);return t.code="vibe64_invalid_startup_argument",t}function yo(e,t,r){let o=String(e[t+
233
- 1]||"").trim();if(!o)throw k(r);return o}function Eo(e=g.argv.slice(2)){let t="",r="";for(let o=0;o<e.length;o+=1){let n=String(
271
+ return!1}function pt(e,t=mt){let r=R.resolve(String(e||""));try{return t(r)}catch{return r}}function Io({argv:e=l.argv,entrypointPath:t=Po,
272
+ realpath:r=mt}={}){let o=e[1];return o?pt(o,r)===pt(t,r):!1}function $(e=""){let t=new Error(`Unsupported Vibe64 startup\
273
+ argument: ${String(e||"").trim()}`);return t.code="vibe64_invalid_startup_argument",t}function Co(e,t,r){let o=String(e[t+
274
+ 1]||"").trim();if(!o)throw $(r);return o}function xo(e=l.argv.slice(2)){let t="",r="";for(let o=0;o<e.length;o+=1){let n=String(
234
275
  e[o]||"").trim();if(!n)continue;let i=n.toLowerCase();if(!(i==="--open"||i==="--open=true"||i==="--open=1"||i==="--no-op\
235
- en"||i==="--open=false"||i==="--open=0")){if(i==="--project"){let s=yo(e,o,n);if(t||r)throw k(s);r=R.resolve(s),t=V(r),o+=
236
- 1;continue}if(i.startsWith("--project=")){let s=n.slice(10).trim();if(!s||t||r)throw k(n);r=R.resolve(s),t=V(r);continue}
237
- if(n.startsWith("-")||t||r)throw k(n);r=R.resolve(n),t=V(r)}}return!t&&!r&&(r=g.cwd(),t=V(r)),{openOnStart:bo(e,{targetRoot:r}),
238
- runtimeMode:v,startupSlug:t,targetRoot:r}}function bo(e=g.argv.slice(2),{targetRoot:t=""}={}){return _o(e)?!1:ho(e)?!0:!!String(
239
- t||"").trim()}function V(e=""){return ot(R.basename(R.resolve(e)))||"local-project"}async function So(e){try{await ae(e,
240
- {app:{name:h.browser,arguments:["--new-window"]}})}catch{try{await ae(e)}catch(t){console.warn(`Could not open browser a\
241
- utomatically: ${t.message}`)}}}function vo({env:e=g.env,openOnStart:t=!1,runtimeMode:r=v,startupSlug:o="",targetRoot:n=""}={}){
242
- let i=r===v&&t===!0,s=!!String(e.PORT||"").trim();return{browserLifecycleShutdown:r===v,port:i&&!s?go:void 0,runtimeMode:r,
243
- strictPort:s,startupSlug:o,targetRoot:n}}function Ro({env:e=g.env,runtimeMode:t=v}={}){if(t!==v)return String(e[H]||"").
244
- trim();let r=String(e[H]||"").trim();return r||(e[H]=fe,fe)}async function Po(){let{openOnStart:e,runtimeMode:t,startupSlug:r,
245
- targetRoot:o}=Eo();Ro({runtimeMode:t});let n=await mo(vo({openOnStart:e,runtimeMode:t,startupSlug:r,targetRoot:o})),i=n.
246
- vibe64Url;if(i){console.log(`Vibe64 is running at ${i}`),e&&await So(i);return}n.vibe64Listen?.transport==="socket"&&(console.
247
- log(`Vibe64 is listening on Unix socket ${n.vibe64Listen.socketPath}`),e&&console.warn("Cannot open a browser for a Unix\
248
- socket listener. Set VIBE64_PUBLIC_ORIGIN or PORT."))}wo()&&Po().catch(e=>{console.error("Failed to start Vibe64 server\
249
- :",e),g.exitCode=1});export{Ro as applyLocalCliRuntimeNamespace,wo as isDirectServerExecution,Eo as parseStartupArgs,vo as serverStartOptions,
250
- ho as shouldOpenBrowser};
276
+ en"||i==="--open=false"||i==="--open=0")){if(i==="--project"){let a=Co(e,o,n);if(t||r)throw $(a);r=R.resolve(a),t=Y(r),o+=
277
+ 1;continue}if(i.startsWith("--project=")){let a=n.slice(10).trim();if(!a||t||r)throw $(n);r=R.resolve(a),t=Y(r);continue}
278
+ if(n.startsWith("-")||t||r)throw $(n);r=R.resolve(n),t=Y(r)}}return!t&&!r&&(r=l.cwd(),t=Y(r)),{openOnStart:No(e,{targetRoot:r}),
279
+ runtimeMode:h,startupSlug:t,targetRoot:r}}function No(e=l.argv.slice(2),{targetRoot:t=""}={}){return Oo(e)?!1:Ao(e)?!0:!!String(
280
+ t||"").trim()}function Y(e=""){return dt(R.basename(R.resolve(e)))||"local-project"}async function ko(e){try{await de(e,
281
+ {app:{name:_.browser,arguments:["--new-window"]}})}catch{try{await de(e)}catch(t){console.warn(`Could not open browser a\
282
+ utomatically: ${t.message}`)}}}function jo({env:e=l.env,openOnStart:t=!1,runtimeMode:r=h,startupSlug:o="",targetRoot:n=""}={}){
283
+ let i=r===h&&t===!0,a=!!String(e.PORT||"").trim();return{browserLifecycleShutdown:r===h,port:i&&!a?To:void 0,runtimeMode:r,
284
+ strictPort:a,startupSlug:o,targetRoot:n}}function $o({env:e=l.env,runtimeMode:t=h}={}){if(t!==h)return String(e[q]||"").
285
+ trim();let r=String(e[q]||"").trim();return r||(e[q]=Ee,Ee)}function Mo({env:e=l.env,exists:t=Eo,home:r=ft.homedir(),platform:o=l.
286
+ platform}={}){if(o!=="darwin"||String(e[ye]||"").trim())return"";let n=W(r,"darwin"),i=W(r,"linux");return t(n)||!t(i)?"":
287
+ [`Vibe64 now keeps its data in ${n}.`,"Move your existing data there, then start Vibe64 again:",` mv ${j(i)} ${j(n)}`].
288
+ join(`
289
+ `)}async function Lo({env:e=l.env,home:t=ft.homedir(),makeDirectory:r=So,platform:o=l.platform,runtimeMode:n=h}={}){if(n!==
290
+ h||String(e[ye]||"").trim())return"";let i=W(t,o);return await r(i,{recursive:!0,mode:448}),i}async function Do(){let e=Mo();
291
+ if(e){console.error(e),l.exitCode=1;return}let{openOnStart:t,runtimeMode:r,startupSlug:o,targetRoot:n}=xo();$o({runtimeMode:r}),
292
+ await Lo({runtimeMode:r});let i=await Ro(jo({openOnStart:t,runtimeMode:r,startupSlug:o,targetRoot:n})),a=i.vibe64Url;if(a){
293
+ console.log(`Vibe64 is running at ${a}`),t&&await ko(a);return}i.vibe64Listen?.transport==="socket"&&(console.log(`Vibe6\
294
+ 4 is listening on Unix socket ${i.vibe64Listen.socketPath}`),t&&console.warn("Cannot open a browser for a Unix socket li\
295
+ stener. Set VIBE64_PUBLIC_ORIGIN or PORT."))}Io()&&Do().catch(e=>{console.error("Failed to start Vibe64 server:",e),l.exitCode=
296
+ 1});export{$o as applyLocalCliRuntimeNamespace,Io as isDirectServerExecution,Mo as macosDataMoveMessage,xo as parseStartupArgs,
297
+ Lo as prepareLocalSystemRoot,jo as serverStartOptions,Ao as shouldOpenBrowser};