vibe64 0.1.48 → 0.1.49

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 (88) hide show
  1. package/bin/run.js +1746 -1725
  2. package/bin/server.js +75 -75
  3. package/bin/upgrade-state.js +4275 -4254
  4. package/dist/assets/GithubBrowserTabs-BwpiRS2u.js +1 -0
  5. package/dist/assets/{LocalDatabaseServer-ih_gadbx.js → LocalDatabaseServer-u_Ky7bNS.js} +1 -1
  6. package/dist/assets/{Vibe64AuthSettingsButton-BZsCIA2Z.js → Vibe64AuthSettingsButton-BCwswT1G.js} +1 -1
  7. package/dist/assets/{Vibe64DashboardShell-DFE-2tFZ.js → Vibe64DashboardShell-CWlgrR2B.js} +1 -1
  8. package/dist/assets/{Vibe64DatabaseWorkspace-BdvxuFPT.js → Vibe64DatabaseWorkspace-Dhs8_H0P.js} +1 -1
  9. package/dist/assets/Vibe64OutputControls-Dn548CZa.js +8 -0
  10. package/dist/assets/{Vibe64RepositoryWorkspace-CVN2HKCB.js → Vibe64RepositoryWorkspace-C-8S4JUF.js} +1 -1
  11. package/dist/assets/{Vibe64SessionFiles-DKo5wd8-.js → Vibe64SessionFiles-Cx6J7DDN.js} +1 -1
  12. package/dist/assets/{Vibe64UiStoryboardView-BYqVdBAt.js → Vibe64UiStoryboardView-DHyhJiWS.js} +1 -1
  13. package/dist/assets/{Vibe64UnavailableSessions-CQjgoaS0.js → Vibe64UnavailableSessions-Da4RxIhA.js} +1 -1
  14. package/dist/assets/{_sessionId_-ByUkrRd7.js → _sessionId_-DCpgDPSI.js} +1 -1
  15. package/dist/assets/_slug_-BbEWp01a.js +25 -0
  16. package/dist/assets/{_slug_-B16mTWjj.css → _slug_-DerKOisL.css} +1 -1
  17. package/dist/assets/{access-CWZMu-ND.js → access-D4di2sCr.js} +1 -1
  18. package/dist/assets/{app-D_itm2S5.js → app-Adr9Iz8p.js} +1 -1
  19. package/dist/assets/{changes-BYuFfnEm.js → changes-3Dd1O8Lu.js} +1 -1
  20. package/dist/assets/{client-CP2EwnrY.js → client-BAXHGUOC.js} +1 -1
  21. package/dist/assets/{client-B88Jggew.js → client-CCZIu6yc.js} +1 -1
  22. package/dist/assets/{conversation-DL4AODd9.js → conversation-ErAO1CmH.js} +1 -1
  23. package/dist/assets/{dashboard-R4qgYv8O.js → dashboard-0tCzDYCX.js} +1 -1
  24. package/dist/assets/{english-definitions-CdIGswXU.js → english-definitions-DeiQ-jTT.js} +1 -1
  25. package/dist/assets/env-DsyQ2MFX.js +1 -0
  26. package/dist/assets/{health-Ut9eZrbK.js → health-DyTXU-nb.js} +1 -1
  27. package/dist/assets/{history-BrmvkGgi.js → history-BXGAdPMI.js} +1 -1
  28. package/dist/assets/{incoming-CicEs40v.js → incoming-yajkdGBY.js} +1 -1
  29. package/dist/assets/{index-DZgCwvFD.js → index-CGz4Yow6.js} +4 -4
  30. package/dist/assets/{integrations-QHeHC-C9.js → integrations-BMrXET36.js} +1 -1
  31. package/dist/assets/{issues-Ds7iAQFQ.js → issues-kc1XBZCK.js} +1 -1
  32. package/dist/assets/{learning-Dq0xbg3x.js → learning-CIE5ghYv.js} +1 -1
  33. package/dist/assets/publish-DTh6amqi.js +3 -0
  34. package/dist/assets/{pull-requests-DHLK83qZ.js → pull-requests-CbfGSSIh.js} +1 -1
  35. package/dist/assets/{repository-DWw1VFIQ.js → repository-BstMh-bG.js} +1 -1
  36. package/dist/assets/settings-Bf8C6dls.js +1 -0
  37. package/dist/assets/useArchivedVibe64Sessions-DIOpfUxD.js +1 -0
  38. package/dist/assets/{useCommand-DhwB5k1w.js → useCommand-CVuya6vG.js} +1 -1
  39. package/dist/assets/{useEndpointResource-tVvsJvd4.js → useEndpointResource-7-YDfAxX.js} +1 -1
  40. package/dist/assets/{useUiFeedback-DLUToc5y.js → useUiFeedback-Bd3rao6E.js} +1 -1
  41. package/dist/assets/useVibe64ConversationLog-ChJOU2SD.js +1 -0
  42. package/dist/assets/{useVibe64DatabaseTools-Cac_aZnv.js → useVibe64DatabaseTools-DKV-TeNJ.js} +1 -1
  43. package/dist/assets/useVibe64SessionData-BkIHUrP5.js +1 -0
  44. package/dist/assets/useVibe64SessionSelection-N8wX5oqo.js +1 -0
  45. package/dist/assets/{useVibe64SystemGraph-idV9zXa9.js → useVibe64SystemGraph-Db_eD-X8.js} +1 -1
  46. package/dist/assets/vibe64RepositoryRealtime-CHT4-6VN.js +1 -0
  47. package/dist/assets/vibe64SessionFocus-CS6Ex53G.js +1 -0
  48. package/dist/assets/vibe64SessionFocus-CSm4YJQD.css +1 -0
  49. package/dist/assets/vibe64SessionRequestConfig-xIx-5jxQ.js +1 -0
  50. package/dist/index.html +10 -9
  51. package/docs/colleague-usage/ai-accounts.md +6 -2
  52. package/docs/colleague-usage/ai-balance-and-allowance.md +15 -2
  53. package/docs/colleague-usage/coding-agent-failures.md +2 -1
  54. package/docs/colleague-usage/coding-agent-goals.md +8 -3
  55. package/docs/colleague-usage/coding-agents.md +16 -0
  56. package/docs/colleague-usage/github-work.md +14 -0
  57. package/docs/colleague-usage/project-setup.md +6 -3
  58. package/docs/colleague-usage/running-vibe64-on-your-computer.md +3 -1
  59. package/docs/colleague-usage/sessions.md +35 -7
  60. package/docs/colleague-usage/starter-apps.md +3 -0
  61. package/docs/colleague-usage/temporary-chat-context.md +2 -1
  62. package/docs/colleague-usage/temporary-chats.md +17 -5
  63. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  64. package/node_modules/@jskit-ai/assistant-runtime/README.md +2 -1
  65. package/node_modules/@jskit-ai/assistant-runtime/locales/en.json +2 -1
  66. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  67. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  68. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +34 -34
  69. package/node_modules/@local/vibe64-execution/src/server/gitTurnCheckpointCommand.js +1327 -0
  70. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +120 -120
  71. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +143 -143
  72. package/node_modules/@local/vibe64-sessions/package.json +2 -1
  73. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1385 -1362
  74. package/package.json +5 -5
  75. package/server.bundle.mjs +38576 -38459
  76. package/dist/assets/GithubBrowserTabs-_l6htLOV.js +0 -1
  77. package/dist/assets/Vibe64OutputControls-DsCbasR0.js +0 -8
  78. package/dist/assets/_slug_-hep_be7Z.js +0 -24
  79. package/dist/assets/env-DtkytCtq.js +0 -1
  80. package/dist/assets/publish-eErG67LW.js +0 -3
  81. package/dist/assets/settings-QkwnoNn3.js +0 -1
  82. package/dist/assets/useArchivedVibe64Sessions-Biy_4sxD.js +0 -1
  83. package/dist/assets/useVibe64ConversationLog-jM3KOvN7.js +0 -1
  84. package/dist/assets/useVibe64SessionData-FGnNvFfK.js +0 -1
  85. package/dist/assets/useVibe64SessionSelection-Bgsif-tm.js +0 -1
  86. package/dist/assets/vibe64RepositoryRealtime-C-J0I5jY.js +0 -1
  87. package/dist/assets/vibe64SessionFocus-CDIB5Gpr.js +0 -1
  88. package/dist/assets/vibe64SessionFocus-DSW5Irm6.css +0 -1
package/bin/server.js CHANGED
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __vibe64CreateRequire } from 'node:module';const require=__vibe64CreateRequire(import.meta.url);
3
- import{existsSync as co,realpathSync as ft}from"node:fs";import{mkdir as uo}from"node:fs/promises";import ht from"node:os";
4
- import S from"node:path";import We from"node:process";import ue from"node:path";import{fileURLToPath as or}from"node:url";import nr from"node:child_process";
5
- import ir,{constants as sr}from"node:fs/promises";import At from"node:path";import{promisify as It}from"node:util";import Ot from"node:child_process";import Q,{constants as Ce}from"node:fs/promises";import Re from"node:process";import vt from"node:os";import X from"node:fs";import bt from"node:fs";import Te from"node:fs";var Y;function wt(){try{return Te.statSync("/.dockerenv"),!0}catch{return!1}}function yt(){try{return Te.
3
+ import{existsSync as lo,realpathSync as ft}from"node:fs";import{mkdir as po}from"node:fs/promises";import ht from"node:os";
4
+ import I from"node:path";import We from"node:process";import ue from"node:path";import{fileURLToPath as or}from"node:url";import nr from"node:child_process";
5
+ import ir,{constants as sr}from"node:fs/promises";import It from"node:path";import{promisify as At}from"node:util";import Ot from"node:child_process";import Q,{constants as Ce}from"node:fs/promises";import Re from"node:process";import vt from"node:os";import X from"node:fs";import bt from"node:fs";import Te from"node:fs";var Y;function wt(){try{return Te.statSync("/.dockerenv"),!0}catch{return!1}}function yt(){try{return Te.
6
6
  readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function K(){return Y===void 0&&(Y=wt()||yt()),
7
7
  Y}var J,Et=()=>{try{return bt.statSync("/run/.containerenv"),!0}catch{return!1}};function w(){return J===void 0&&(J=Et()||
8
8
  K()),J}var Pe=()=>{if(Re.platform!=="linux")return!1;if(vt.release().toLowerCase().includes("microsoft"))return!w();try{if(X.readFileSync(
9
9
  "/proc/version","utf8").toLowerCase().includes("microsoft"))return!w()}catch{}return X.existsSync("/proc/sys/fs/binfmt_m\
10
- isc/WSLInterop")||X.existsSync("/run/WSL")?!w():!1},m=Re.env.__IS_WSL_TEST__?Pe:Pe();import Ae from"node:process";import{Buffer as St}from"node:buffer";import{promisify as Tt}from"node:util";import Pt from"node:child_process";var Rt=Tt(Pt.execFile),Z=()=>`${Ae.env.SYSTEMROOT||Ae.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.\
10
+ isc/WSLInterop")||X.existsSync("/run/WSL")?!w():!1},m=Re.env.__IS_WSL_TEST__?Pe:Pe();import Ie from"node:process";import{Buffer as St}from"node:buffer";import{promisify as Tt}from"node:util";import Pt from"node:child_process";var Rt=Tt(Pt.execFile),Z=()=>`${Ie.env.SYSTEMROOT||Ie.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.\
11
11
  0\\powershell.exe`;var y=async(e,t={})=>{let{powerShellPath:r,...o}=t,n=y.encodeCommand(e);return Rt(r??Z(),[...y.argumentsPrefix,n],{encoding:"\
12
12
  utf8",...o})};y.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];y.encodeCommand=
13
- e=>St.from(e,"utf16le").toString("base64");y.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;function Ie(e){for(let t of e.split(`
13
+ e=>St.from(e,"utf16le").toString("base64");y.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;function Ae(e){for(let t of e.split(`
14
14
  `)){if(/^\s*#/.test(t))continue;let r=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(t);if(r)return r.groups.
15
- mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var Ct=It(Ot.execFile),xt=(()=>{let e="/mnt/",t;return async function(){if(t)return t;let r="/etc/wsl.conf",o=!1;try{await Q.
16
- access(r,Ce.F_OK),o=!0}catch{}if(!o)return e;let n=await Q.readFile(r,{encoding:"utf8"}),i=Ie(n);return i===void 0?e:(t=
15
+ mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var Ct=At(Ot.execFile),xt=(()=>{let e="/mnt/",t;return async function(){if(t)return t;let r="/etc/wsl.conf",o=!1;try{await Q.
16
+ access(r,Ce.F_OK),o=!0}catch{}if(!o)return e;let n=await Q.readFile(r,{encoding:"utf8"}),i=Ae(n);return i===void 0?e:(t=
17
17
  i,t=t.endsWith("/")?t:`${t}/`,t)}})(),Nt=async()=>`${await xt()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,
18
- j=m?Nt:Z,Oe,xe=async()=>(Oe??=(async()=>{try{let e=await j();return await Q.access(e,Ce.X_OK),!0}catch{return!1}})(),Oe),
19
- Ne=async()=>{let e=await j(),t=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,
20
- {stdout:r}=await y(t,{powerShellPath:e,cwd:At.dirname(e)});return r.trim()},kt=e=>/^[a-z]+:\/\//i.test(e),ke=async e=>{let t=Array.
18
+ M=m?Nt:Z,Oe,xe=async()=>(Oe??=(async()=>{try{let e=await M();return await Q.access(e,Ce.X_OK),!0}catch{return!1}})(),Oe),
19
+ Ne=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 y(t,{powerShellPath:e,cwd:It.dirname(e)});return r.trim()},kt=e=>/^[a-z]+:\/\//i.test(e),ke=async e=>{let t=Array.
21
21
  isArray(e),r=t?e:[e],o=[],n=[];for(let[a,p]of r.entries())kt(p)||(o.push(a),n.push(p));let i=[...r];if(n.length>0)try{let{
22
22
  stdout:a}=await Ct("wslpath",["-aw",...n],{encoding:"utf8"}),p=a.split(/\r?\n/).filter(Boolean);for(let[c,s]of o.entries())
23
23
  i[s]=p[c]??r[s]}catch{}return t?i:i[0]};import je from"node:process";import{Buffer as jt}from"node:buffer";import{promisify as Mt}from"node:util";import Lt from"node:child_process";var $t=Mt(Lt.execFile),Dt=()=>`${je.env.SYSTEMROOT||je.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1\
@@ -28,40 +28,40 @@ Le;f.escapeArgument=Bt;f.createArguments=$e;function b(e,t,r){let o=n=>Object.de
28
28
  t,{configurable:!0,enumerable:!0,get(){let n=r();return o(n),n},set(n){o(n)}}),e}import{promisify as Zt}from"node:util";import ie from"node:process";import{execFile as Qt}from"node:child_process";import{promisify as Gt}from"node:util";import Ht from"node:process";import{execFile as Vt}from"node:child_process";var zt=Gt(
29
29
  Vt);async function ee(){if(Ht.platform!=="darwin")throw new Error("macOS only");let{stdout:e}=await zt("defaults",["read",
30
30
  "com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),r=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.
31
- exec(e)?.groups.id??"com.apple.Safari";return r==="com.apple.safari"?"com.apple.Safari":r}import Ft from"node:process";import{promisify as Wt}from"node:util";import{execFile as qt,execFileSync as mn}from"node:child_process";
31
+ exec(e)?.groups.id??"com.apple.Safari";return r==="com.apple.safari"?"com.apple.Safari":r}import Ft from"node:process";import{promisify as Wt}from"node:util";import{execFile as qt,execFileSync as hn}from"node:child_process";
32
32
  var Yt=Wt(qt);async function De(e,{humanReadableOutput:t=!0,signal:r}={}){if(Ft.platform!=="darwin")throw new Error("mac\
33
33
  OS only");let o=t?[]:["-ss"],n={};r&&(n.signal=r);let{stdout:i}=await Yt("osascript",["-e",e,o],n);return i.trim()}async function te(e){return De(`tell application "Finder" to set app_path to application file id "${e}" as string
34
34
  tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":C\
35
35
  ontents:Info.plist")`)}import Be from"node:process";import{promisify as Kt}from"node:util";import{execFile as Jt}from"node:child_process";var Xt=Kt(
36
- Jt),M={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{
36
+ Jt),L={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{
37
37
  name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.ol\
38
38
  d"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{
39
39
  name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"\
40
40
  Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"\
41
41
  com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"\
42
42
  org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi\
43
- .Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},oe=new Map(Object.entries(M)),re=class extends Error{};
43
+ .Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},oe=new Map(Object.entries(L)),re=class extends Error{};
44
44
  async function ne(e=Xt){let t=`${Be.env.SYSTEMROOT??Be.env.windir??"C:\\Windows"}\\System32\\reg.exe`,{stdout:r}=await e(
45
45
  t,["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/\
46
46
  v","ProgId"]),o=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(r);if(!o)throw new re(`Cannot find Windows browser in stdout: ${JSON.
47
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 M[n]??M[p]??M[c]??{name:n,id:n}}var er=Zt(Qt),tr=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,t=>t.toUpperCase());async function se(){if(ie.platform===
48
+ n.slice(0,a);return L[n]??L[p]??L[c]??{name:n,id:n}}var er=Zt(Qt),tr=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,t=>t.toUpperCase());async function se(){if(ie.platform===
49
49
  "darwin"){let e=await ee();return{name:await te(e),id:e}}if(ie.platform==="linux"){let{stdout:e}=await er("xdg-mime",["q\
50
50
  uery","default","x-scheme-handler/http"]),t=e.trim();return{name:tr(t.replace(/.desktop$/,"").replace("-"," ")),id:t}}if(ie.
51
- platform==="win32")return ne();throw new Error("Only macOS, Linux, and Windows are supported")}import ae from"node:process";var rr=!!(ae.env.SSH_CONNECTION||ae.env.SSH_CLIENT||ae.env.SSH_TTY),Ue=rr;var Ge=new URL("./../node_modules/open/index.js",import.meta.url).href,L=Symbol("fallbackAttempt"),ce=Ge?ue.dirname(or(Ge)):
51
+ platform==="win32")return ne();throw new Error("Only macOS, Linux, and Windows are supported")}import ae from"node:process";var rr=!!(ae.env.SSH_CONNECTION||ae.env.SSH_CLIENT||ae.env.SSH_TTY),Ue=rr;var Ge=new URL("./../node_modules/open/index.js",import.meta.url).href,$=Symbol("fallbackAttempt"),ce=Ge?ue.dirname(or(Ge)):
52
52
  "",He=ue.join(ce,"xdg-open"),{platform:E,arch:Ve}=We,ze=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")},$=async e=>{e={
54
- wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e};let t=e[L]===!0;if(delete e[L],Array.isArray(e.app))return ze(
55
- e.app,s=>$({...e,app:s,[L]:!0}));let{name:r,arguments:o=[]}=e.app??{};if(o=[...o],Array.isArray(r))return ze(r,s=>$({...e,
56
- app:{name:s,arguments:o},[L]:!0}));if(r==="browser"||r==="browserPrivate"){let s={"com.google.chrome":"chrome","google-c\
53
+ return await t(o)}catch(n){r.push(n)}throw new AggregateError(r,"Failed to open in all supported apps")},D=async e=>{e={
54
+ wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e};let t=e[$]===!0;if(delete e[$],Array.isArray(e.app))return ze(
55
+ e.app,s=>D({...e,app:s,[$]:!0}));let{name:r,arguments:o=[]}=e.app??{};if(o=[...o],Array.isArray(r))return ze(r,s=>D({...e,
56
+ app:{name:s,arguments:o},[$]:!0}));if(r==="browser"||r==="browserPrivate"){let s={"com.google.chrome":"chrome","google-c\
57
57
  hrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.mic\
58
58
  rosoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.ap\
59
59
  ple.safari":"safari"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},d;if(m){
60
- let T=await Ne();d=oe.get(T)??{}}else d=await se();let Se=d.id?.toLowerCase();if(Object.hasOwn(s,Se)){let T=s[Se];if(r===
61
- "browserPrivate"){if(T==="safari")throw new Error("Safari doesn't support opening in private mode via command line");o.push(
62
- u[T])}return $({...e,app:{name:g[T],arguments:o}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,
60
+ let A=await Ne();d=oe.get(A)??{}}else d=await se();let Se=d.id?.toLowerCase();if(Object.hasOwn(s,Se)){let A=s[Se];if(r===
61
+ "browserPrivate"){if(A==="safari")throw new Error("Safari doesn't support opening in private mode via command line");o.push(
62
+ u[A])}return D({...e,app:{name:g[A],arguments:o}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,
63
63
  i=[],a={},p=!1;if(m&&!w()&&!Ue&&!r&&(p=await xe()),E==="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(E==="win32"||p){n=await j(),i.push(...f.argumentsPrefix),
64
+ "--background"),e.newInstance&&i.push("--new"),r&&i.push("-a",r);else if(E==="win32"||p){n=await M(),i.push(...f.argumentsPrefix),
65
65
  m||(a.windowsVerbatimArguments=!0),m&&e.target&&(e.target=await ke(e.target));let s=["$ProgressPreference = 'SilentlyCon\
66
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
67
  escapeArgument(e.target)),o.length>0&&(o=o.map(u=>f.escapeArgument(u)),s.push("-ArgumentList",o.join(","))),e.target=f.encodeCommand(
@@ -72,23 +72,23 @@ n,i,a);return e.wait?new Promise((s,u)=>{c.once("error",u),c.once("close",d=>{if
72
72
  `Exited with code ${d}`));return}s(c)})}):t||E==="win32"||p?new Promise((s,u)=>{c.once("error",u),c.once("spawn",()=>{c.
73
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
74
  new Promise((s,u)=>{c.once("error",u),c.once("spawn",()=>{c.off("error",u),s(c)})}))},ar=(e,t)=>{if(typeof e!="string")throw new TypeError(
75
- "Expected a `target`");return $({...t,target:e})};function Fe(e){if(typeof e=="string"||Array.isArray(e))return e;let{[Ve]:t}=e;if(!t)throw new Error(`${Ve} is not suppor\
76
- ted`);return t}function P({[E]:e},{wsl:t}={}){if(t&&m)return Fe(t);if(!e)throw new Error(`${E} is not supported`);return Fe(
77
- e)}var g={browser:"browser",browserPrivate:"browserPrivate"};b(g,"chrome",()=>P({darwin:"google chrome",win32:"chrome",linux:[
75
+ "Expected a `target`");return D({...t,target:e})};function Fe(e){if(typeof e=="string"||Array.isArray(e))return e;let{[Ve]:t}=e;if(!t)throw new Error(`${Ve} is not suppor\
76
+ ted`);return t}function O({[E]:e},{wsl:t}={}){if(t&&m)return Fe(t);if(!e)throw new Error(`${E} is not supported`);return Fe(
77
+ e)}var g={browser:"browser",browserPrivate:"browserPrivate"};b(g,"chrome",()=>O({darwin:"google chrome",win32:"chrome",linux:[
78
78
  "google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chr\
79
79
  ome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)\
80
- /Google/Chrome/Application/chrome.exe"]}}));b(g,"brave",()=>P({darwin:"brave browser",win32:"brave",linux:["brave-browse\
80
+ /Google/Chrome/Application/chrome.exe"]}}));b(g,"brave",()=>O({darwin:"brave browser",win32:"brave",linux:["brave-browse\
81
81
  r","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Prog\
82
82
  ram Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/App\
83
- lication/brave.exe"]}}));b(g,"firefox",()=>P({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
84
- linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));b(g,"edge",()=>P({darwin:"microsoft edge",win32:"\
83
+ lication/brave.exe"]}}));b(g,"firefox",()=>O({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
84
+ linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));b(g,"edge",()=>O({darwin:"microsoft edge",win32:"\
85
85
  msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedg\
86
- e.exe"}));b(g,"safari",()=>P({darwin:"Safari"}));var le=ar;import l from"node:process";import{fileURLToPath as lo}from"node:url";import{execFile as cr}from"node:child_process";import{promisify as ur}from"node:util";var Fn=ur(cr);var ai=Object.freeze({runtimePackRoot:"",sharedCacheRoot:"",execHelperPath:"",sharedGroupAccess:!1});import{createRequire as fr}from"node:module";var mr=new URL("./../node_modules/@jskit-ai/kernel/server/support/symlinkSafeRequire.js",import.meta.url).href;var mi=fr(mr);var hi=Object.freeze(["none","pending","committed","rolledBack","unknown"]);var Si=Object.freeze(["bundled","dev_server"]),Ti=Object.freeze(["capacitor"]),Pi=Object.freeze({callbackPath:"/auth/log\
87
- in",customScheme:"",appLinkDomains:Object.freeze([])}),Ri=Object.freeze({packageName:"",minSdk:26,targetSdk:35,versionCode:1,
88
- versionName:"1.0.0"});var qi=Object.freeze(["dependencies","optionalDependencies","peerDependencies"]),Yi=Object.freeze(["capabilities","kind",
89
- "metadata","migrations","runtime","vite"]);var A=Object.freeze(["DATABASE_URL","DB_CLIENT","DB_DATABASE","DB_HOST","DB_NAME","DB_PASSWORD","DB_PORT","DB_USER","DB_\
86
+ e.exe"}));b(g,"safari",()=>O({darwin:"Safari"}));var le=ar;import l from"node:process";import{fileURLToPath as mo}from"node:url";import{execFile as cr}from"node:child_process";import{promisify as ur}from"node:util";var qn=ur(cr);var ui=Object.freeze({runtimePackRoot:"",sharedCacheRoot:"",execHelperPath:"",sharedGroupAccess:!1});import{createRequire as fr}from"node:module";var mr=new URL("./../node_modules/@jskit-ai/kernel/server/support/symlinkSafeRequire.js",import.meta.url).href;var hi=fr(mr);var _i=Object.freeze(["none","pending","committed","rolledBack","unknown"]);var Pi=Object.freeze(["bundled","dev_server"]),Ri=Object.freeze(["capacitor"]),Ii=Object.freeze({callbackPath:"/auth/log\
87
+ in",customScheme:"",appLinkDomains:Object.freeze([])}),Ai=Object.freeze({packageName:"",minSdk:26,targetSdk:35,versionCode:1,
88
+ versionName:"1.0.0"});var Ki=Object.freeze(["dependencies","optionalDependencies","peerDependencies"]),Ji=Object.freeze(["capabilities","kind",
89
+ "metadata","migrations","runtime","vite"]);var N=Object.freeze(["DATABASE_URL","DB_CLIENT","DB_DATABASE","DB_HOST","DB_NAME","DB_PASSWORD","DB_PORT","DB_USER","DB_\
90
90
  USERNAME","MYSQL_DATABASE","MYSQL_HOST","MYSQL_PWD","MYSQL_TCP_PORT","PGDATABASE","PGHOST","PGPASSWORD","PGPORT","PGUSER",
91
- "VIBE64_MYSQL_USER"]);var I="GIT_AUTHOR_NAME",O="GIT_AUTHOR_EMAIL",C="GIT_COMMITTER_NAME",x="GIT_COMMITTER_EMAIL";var br=['git config --global user.name "Your Name"','git config --global user.email "you@example.com"'].join(`
91
+ "VIBE64_MYSQL_USER"]);var S="GIT_AUTHOR_NAME",T="GIT_AUTHOR_EMAIL",P="GIT_COMMITTER_NAME",R="GIT_COMMITTER_EMAIL";var br=['git config --global user.name "Your Name"','git config --global user.email "you@example.com"'].join(`
92
92
  `);var fe=Object.freeze({awsebcli:{binDirs:["awsebcli/bin"],managedCommands:["eb"]},bubblewrap:{binDirs:["bubblewrap/bin"],
93
93
  managedCommands:[]},bun:{binDirs:["bun/bin"],dependencyFiles:["package.json","bun.lock","bun.lockb","package-lock.json"],
94
94
  managedCommands:["bun"]},composer:{binDirs:["composer/bin"],dependencyFiles:["composer.json","composer.lock"],managedCommands:[
@@ -120,16 +120,16 @@ playwright"]},postgresql:{binDirs:["postgresql/bin"],managedCommands:["initdb","
120
120
  ripgrep:{binDirs:["ripgrep/bin"],managedCommands:[]},sqlite:{binDirs:["sqlite/bin"],managedCommands:["sqlite3"]}}),Xe=Object.
121
121
  freeze(["operator-clis","node26","git","gh","mysql","mariadb","postgresql","sqlite","ripgrep","bubblewrap","bun","php","\
122
122
  composer","awsebcli","cpp","python","ruby","go","java","kotlin","csharp","rust","playwright"]);var he="VIBE64_SHARED_CACHE_ROOT",U="PLAYWRIGHT_BROWSERS_PATH",ge="PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD",_e="VIBE64_PLAYWRIG\
123
- HT_VERSION";var Fs=new Set([...A,O,I,x,C,U,ge,_e,he]);var Er=Object.freeze([{key:"url.https://github.com/.insteadOf",value:"git@github.com:"},{key:"url.https://github.com/.in\
124
- steadOf",value:"ssh://git@github.com/"}]),Xs=Object.freeze([{key:"credential.https://github.com.helper",value:"!/usr/bin\
125
- /env gh auth git-credential"}]),Zs=Object.freeze([{key:"credential.https://github.com.helper",value:`!f() { case "$1" in\
126
- get) printf '%s\\n' username=x-access-token "password=\${VIBE64_GIT_AUTH_TOKEN}" ;; esac; }; f`}]);var Ra=new Set([...A,O,I,x,C,"HOME","LOGNAME","PATH","USER","XDG_CACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_RUNT\
123
+ HT_VERSION";var qs=new Set([...N,T,S,R,P,U,ge,_e,he]);var Er=Object.freeze([{key:"url.https://github.com/.insteadOf",value:"git@github.com:"},{key:"url.https://github.com/.in\
124
+ steadOf",value:"ssh://git@github.com/"}]),Qs=Object.freeze([{key:"credential.https://github.com.helper",value:"!/usr/bin\
125
+ /env gh auth git-credential"}]),ea=Object.freeze([{key:"credential.https://github.com.helper",value:`!f() { case "$1" in\
126
+ get) printf '%s\\n' username=x-access-token "password=\${VIBE64_GIT_AUTH_TOKEN}" ;; esac; }; f`}]);var Oa=new Set([...N,T,S,R,P,"HOME","LOGNAME","PATH","USER","XDG_CACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME","XDG_RUNT\
127
127
  IME_DIR"]);import{createRequire as Mr}from"node:module";var jr=new URL("./../node_modules/@local/vibe64-execution/src/server/engines/terminalSessions.js",import.meta.url).href,
128
- xa=256*1024;var Na=600*1e3,ka=1440*60*1e3,ja=Object.freeze({"ctrl-c":"",enter:"\r",escape:"\x1B",tab:" "});var Ma=Mr(jr);var Xa=Object.freeze(["daemon","owner-user","named-user","app"]),Za=Object.freeze(["account","assistant","terminal","cod\
129
- ex","github","github-api","source-editor","preview","output","deployment","health","workspace-cache","source"]),Qa=Object.
130
- freeze(["capture","pty","detached"]),ec=Object.freeze(["utf8","base64"]),tc=Object.freeze(["session","project","preview",
131
- "auth","deployment"]),rc=Object.freeze(["none","github-https","github-token"]),Dr=Object.freeze(["assistant","browser","\
132
- control","job","preview","service","terminal"]),Br=Object.freeze(["finite","interactive","service"]),oc=1e3*1e3*100;var Mc=512*1024*1024,Lc=1024*1024*1024;var zr=Object.freeze(["LANG","LC_ALL","NO_PROXY","PATH","SSL_CERT_DIR","SSL_CERT_FILE","TZ"]);var Hc=Object.freeze({linux:"https://github.com/mobily-enterprises/vibe64/blob/main/docs/colleague-usage/set-up-linux.md",
128
+ ja=256*1024;var Ma=600*1e3,La=1440*60*1e3,$a=Object.freeze({"ctrl-c":"",enter:"\r",escape:"\x1B",tab:" "});var Da=Mr(jr);var ec=Object.freeze(["daemon","owner-user","named-user","app"]),tc=Object.freeze(["account","assistant","terminal","cod\
129
+ ex","github","github-api","source-editor","preview","output","deployment","health","workspace-cache","source"]),rc=Object.
130
+ freeze(["capture","pty","detached"]),oc=Object.freeze(["utf8","base64"]),nc=Object.freeze(["session","project","preview",
131
+ "auth","deployment"]),ic=Object.freeze(["none","github-https","github-token"]),Dr=Object.freeze(["assistant","browser","\
132
+ control","job","preview","service","terminal"]),Br=Object.freeze(["finite","interactive","service"]),sc=1e3*1e3*100;import{fileURLToPath as Fr}from"node:url";var zr=new URL("./../node_modules/@local/vibe64-execution/src/server/gitTurnCheckpoint.js",import.meta.url).href;var Hc=Fr(new URL("./gitTurnCheckpointCommand.js",zr)),Vc=15*6e4,zc=512*1024*1024,Fc=1024*1024*1024;var Wr=Object.freeze(["LANG","LC_ALL","NO_PROXY","PATH","SSL_CERT_DIR","SSL_CERT_FILE","TZ"]);var Xc=Object.freeze({linux:"https://github.com/mobily-enterprises/vibe64/blob/main/docs/colleague-usage/set-up-linux.md",
133
133
  darwin:"https://github.com/mobily-enterprises/vibe64/blob/main/docs/colleague-usage/set-up-macos.md"}),H=Object.freeze({
134
134
  claude:{name:"Claude Code",run:[["claude"]],guideUrl:"https://code.claude.com/docs/en/setup",any:"curl -fsSL https://cla\
135
135
  ude.ai/install.sh | bash"},codex:{name:"Codex",run:[["codex"]],guideUrl:"https://github.com/openai/codex",any:"curl -fsS\
@@ -154,7 +154,7 @@ h -c "$(curl -fsSL https://php.new/install/linux)"',brew:'/bin/bash -c "$(curl -
154
154
  name:"Build tools",setup:"build-tools",run:[["cc","gcc","clang"],["make"]],guideUrl:"https://guides.rubyonrails.org/inst\
155
155
  all_ruby_on_rails.html",detail:"Some packages compile native code, so they need a compiler and a few libraries.",apt:"su\
156
156
  do apt install build-essential pkg-config libyaml-dev libssl-dev zlib1g-dev libpq-dev default-libmysqlclient-dev libgmp-\
157
- dev",brew:"brew install pkg-config libyaml openssl@3 gmp"}}),Vc=Object.freeze({composer:"php"});function N(e){let t=String(e);return/^[A-Za-z0-9_./:=@,+-]+$/u.test(t)?t:`'${t.replaceAll("'","'\\''")}'`}var it="backups.git",st="vibe64-atomic",Fr=`backup_canonical_ref() {
157
+ dev",brew:"brew install pkg-config libyaml openssl@3 gmp"}}),Zc=Object.freeze({composer:"php"});function k(e){let t=String(e);return/^[A-Za-z0-9_./:=@,+-]+$/u.test(t)?t:`'${t.replaceAll("'","'\\''")}'`}var it="backups.git",st="vibe64-atomic",qr=`backup_canonical_ref() {
158
158
  vibe64_backup_repository="$1"
159
159
  vibe64_source_repository="$2"
160
160
  vibe64_source_ref="$3"
@@ -172,7 +172,7 @@ r "$vibe64_backup_repository" rev-parse --verify "$vibe64_backup_ref"
172
172
  ' "$vibe64_source_ref" >&2
173
173
  return 1
174
174
  fi
175
- }`,Kc=`#!/bin/sh
175
+ }`,nu=`#!/bin/sh
176
176
  set -eu
177
177
 
178
178
  zero_object=0000000000000000000000000000000000000000
@@ -198,7 +198,7 @@ if [ "$(git --git-dir "$backup_repository" rev-parse --is-bare-repository 2>/dev
198
198
  exit 1
199
199
  fi
200
200
 
201
- ${Fr}
201
+ ${qr}
202
202
 
203
203
  updates_file="$(mktemp "$repository_root/.pre-receive.XXXXXX")"
204
204
  cleanup_updates_file() {
@@ -246,8 +246,8 @@ while read -r old_object _new_object ref_name; do
246
246
  backup_canonical_ref "$backup_repository" "$git_dir" "$ref_name" "$old_object" "$backup_ref"
247
247
  fi
248
248
  done <"$updates_file"
249
- `;var ru=new URL("./../node_modules/@local/vibe64-execution/src/server/runtime/agentPreviewBrowserWorkerSource.js",import.meta.
250
- url).href;var qr=["Usage:"," vibe64-helper preview ensure [--target <target-id>] [--wait] [--json] [--timeout-ms <ms>]"," vibe64\
249
+ `;var du=new URL("./../node_modules/@local/vibe64-execution/src/server/runtime/agentPreviewBrowserWorkerSource.js",import.meta.
250
+ url).href;var Kr=["Usage:"," vibe64-helper preview ensure [--target <target-id>] [--wait] [--json] [--timeout-ms <ms>]"," vibe64\
251
251
  -helper preview targets [--json]"," vibe64-helper preview status [--json]"," vibe64-helper preview stop [--json]"," v\
252
252
  ibe64-helper preview inspect-url"," vibe64-helper preview screenshot [--output <path>]"," vibe64-helper preview browse\
253
253
  r ensure"," vibe64-helper preview browser eval < playwright-code.js"," vibe64-helper preview browser identity <default\
@@ -281,36 +281,36 @@ for the configured primary application.","Do not start a duplicate copy of that
281
281
  t secondary application explicitly requested by the user, such as a reference app, may run separately without replacing \
282
282
  this preview."].join(`
283
283
  `)+`
284
- `;import{fileURLToPath as Zr}from"node:url";var Xr=new URL("./../node_modules/@local/vibe64-execution/src/server/conversationExecution.js",import.meta.url).href,du=Zr(
285
- new URL("./engines/stdioBridge.js",Xr));var _u=["skip=$1; version=$2; shift 2",'for name in "$@"; do',' found=$(command -v -- "$name" 2>/dev/null) || continue',
284
+ `;import{fileURLToPath as eo}from"node:url";var Qr=new URL("./../node_modules/@local/vibe64-execution/src/server/conversationExecution.js",import.meta.url).href,bu=eo(
285
+ new URL("./engines/stdioBridge.js",Qr));var Ru=["skip=$1; version=$2; shift 2",'for name in "$@"; do',' found=$(command -v -- "$name" 2>/dev/null) || continue',
286
286
  " case $found in /*) ;; *) continue ;; esac",' if [ -n "$skip" ]; then case $found in /usr/bin/*) continue ;; esac; fi',
287
287
  ` printf '%s\\n' "$found"`,' exec "$found" $version 2>&1',"done","exit 127"].join(`
288
- `);var eo=Object.freeze(Object.fromEntries(["claude","codex","opencode"].map(e=>{let{name:t,guideUrl:r,any:o}=H[e];return[e,
289
- Object.freeze({name:t,guideUrl:r,install:o})]})));import{execFile as to}from"node:child_process";import{promisify as ro}from"node:util";var Tu=ro(to);import{AsyncLocalStorage as no}from"node:async_hooks";var Gd=new no;import V from"node:path";import z from"node:process";import io from"node:os";var ye="VIBE64_SYSTEM_ROOT";function at(e,t){let r=String(e||"").trim();return V.resolve(r||t||z.cwd())}function F(e=io.homedir(),t=z.platform){let r=e||z.cwd();if(t==="darwin")return at(V.join(r,"Library","Application Suppo\
290
- rt","Vibe64"));let o=String(z.env.XDG_STATE_HOME||"").trim();return at(V.join(o||V.join(r,".local","state"),"vibe64"))}var ct="github",ut="managed_git",lt="local_source";var Ep=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 po}from"../server.bundle.mjs";var Ee="__local__",ve="VIBE64_RUNTIME_NAMESPACE";var pt="local";var ao=new URL("./server.js",import.meta.url).href,mo=lo(ao),fo=3001,gt=new Map([["--open",!0],["--open=true",!0],["--op\
288
+ `);var ro=Object.freeze(Object.fromEntries(["claude","codex","opencode"].map(e=>{let{name:t,guideUrl:r,any:o}=H[e];return[e,
289
+ Object.freeze({name:t,guideUrl:r,install:o})]})));import{execFile as oo}from"node:child_process";import{promisify as no}from"node:util";var ku=no(oo);import{AsyncLocalStorage as so}from"node:async_hooks";var Xd=new so;import V from"node:path";import z from"node:process";import ao from"node:os";var ye="VIBE64_SYSTEM_ROOT";function at(e,t){let r=String(e||"").trim();return V.resolve(r||t||z.cwd())}function F(e=ao.homedir(),t=z.platform){let r=e||z.cwd();if(t==="darwin")return at(V.join(r,"Library","Application Suppo\
290
+ rt","Vibe64"));let o=String(z.env.XDG_STATE_HOME||"").trim();return at(V.join(o||V.join(r,".local","state"),"vibe64"))}var ct="github",ut="managed_git",lt="local_source";var xp=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 fo}from"../server.bundle.mjs";var Ee="__local__",ve="VIBE64_RUNTIME_NAMESPACE";var pt="local";var uo=new URL("./server.js",import.meta.url).href,ho=mo(uo),go=3001,gt=new Map([["--open",!0],["--open=true",!0],["--op\
291
291
  en=1",!0],["--no-open",!1],["--open=false",!1],["--open=0",!1]]);function _t(e,t){return e.some(r=>gt.get(String(r||"").
292
- trim().toLowerCase())===t)}function ho(e=l.argv.slice(2)){return _t(e,!0)}function go(e=l.argv.slice(2)){return _t(e,!1)}
293
- function mt(e,t=ft){let r=S.resolve(String(e||""));try{return t(r)}catch{return r}}function _o({argv:e=l.argv,entrypointPath:t=mo,
294
- realpath:r=ft}={}){let o=e[1];return o?mt(o,r)===mt(t,r):!1}function k(e=""){let t=new Error(`Unsupported Vibe64 startup\
295
- argument: ${String(e||"").trim()}`);return t.code="vibe64_invalid_startup_argument",t}function wo(e,t,r){let o=String(e[t+
296
- 1]||"").trim();if(!o)throw k(r);return o}function yo(e=l.argv.slice(2)){let t="",r="";for(let o=0;o<e.length;o+=1){let n=String(
297
- e[o]||"").trim();if(!n)continue;let i=n.toLowerCase();if(!gt.has(i)){if(i==="--project"){let a=wo(e,o,n);if(t||r)throw k(
298
- a);r=S.resolve(a),t=q(r),o+=1;continue}if(i.startsWith("--project=")){let a=n.slice(10).trim();if(!a||t||r)throw k(n);r=
299
- S.resolve(a),t=q(r);continue}if(n.startsWith("-")||t||r)throw k(n);r=S.resolve(n),t=q(r)}}return!t&&!r&&(r=l.cwd(),t=q(r)),
300
- {openOnStart:bo(e,{targetRoot:r}),startupSlug:t,targetRoot:r}}function bo(e=l.argv.slice(2),{targetRoot:t=""}={}){return go(
301
- e)?!1:ho(e)?!0:!!String(t||"").trim()}function q(e=""){return dt(S.basename(S.resolve(e)))||"local-project"}async function Eo(e){
292
+ trim().toLowerCase())===t)}function _o(e=l.argv.slice(2)){return _t(e,!0)}function wo(e=l.argv.slice(2)){return _t(e,!1)}
293
+ function mt(e,t=ft){let r=I.resolve(String(e||""));try{return t(r)}catch{return r}}function yo({argv:e=l.argv,entrypointPath:t=ho,
294
+ realpath:r=ft}={}){let o=e[1];return o?mt(o,r)===mt(t,r):!1}function j(e=""){let t=new Error(`Unsupported Vibe64 startup\
295
+ argument: ${String(e||"").trim()}`);return t.code="vibe64_invalid_startup_argument",t}function bo(e,t,r){let o=String(e[t+
296
+ 1]||"").trim();if(!o)throw j(r);return o}function Eo(e=l.argv.slice(2)){let t="",r="";for(let o=0;o<e.length;o+=1){let n=String(
297
+ e[o]||"").trim();if(!n)continue;let i=n.toLowerCase();if(!gt.has(i)){if(i==="--project"){let a=bo(e,o,n);if(t||r)throw j(
298
+ a);r=I.resolve(a),t=q(r),o+=1;continue}if(i.startsWith("--project=")){let a=n.slice(10).trim();if(!a||t||r)throw j(n);r=
299
+ I.resolve(a),t=q(r);continue}if(n.startsWith("-")||t||r)throw j(n);r=I.resolve(n),t=q(r)}}return!t&&!r&&(r=l.cwd(),t=q(r)),
300
+ {openOnStart:vo(e,{targetRoot:r}),startupSlug:t,targetRoot:r}}function vo(e=l.argv.slice(2),{targetRoot:t=""}={}){return wo(
301
+ e)?!1:_o(e)?!0:!!String(t||"").trim()}function q(e=""){return dt(I.basename(I.resolve(e)))||"local-project"}async function So(e){
302
302
  try{await le(e,{app:{name:g.browser,arguments:["--new-window"]}})}catch{try{await le(e)}catch(t){console.warn(`Could not\
303
- open browser automatically: ${t.message}`)}}}function vo({env:e=l.env,openOnStart:t=!1,startupSlug:r="",targetRoot:o=""}={}){
304
- let n=!!String(e.PORT||"").trim();return{browserLifecycleShutdown:!0,port:t===!0&&!n?fo:void 0,runtimeMode:pt,strictPort:n,
305
- startupSlug:r,targetRoot:o}}function So({env:e=l.env}={}){let t=String(e[ve]||"").trim();return t||(e[ve]=Ee,Ee)}function To({
306
- env:e=l.env,exists:t=co,home:r=ht.homedir(),platform:o=l.platform}={}){if(o!=="darwin"||String(e[ye]||"").trim())return"";
303
+ open browser automatically: ${t.message}`)}}}function To({env:e=l.env,openOnStart:t=!1,startupSlug:r="",targetRoot:o=""}={}){
304
+ let n=!!String(e.PORT||"").trim();return{browserLifecycleShutdown:!0,port:t===!0&&!n?go:void 0,runtimeMode:pt,strictPort:n,
305
+ startupSlug:r,targetRoot:o}}function Po({env:e=l.env}={}){let t=String(e[ve]||"").trim();return t||(e[ve]=Ee,Ee)}function Ro({
306
+ env:e=l.env,exists:t=lo,home:r=ht.homedir(),platform:o=l.platform}={}){if(o!=="darwin"||String(e[ye]||"").trim())return"";
307
307
  let n=F(r,"darwin"),i=F(r,"linux");return t(n)||!t(i)?"":[`Vibe64 now keeps its data in ${n}.`,"Move your existing data \
308
- there, then start Vibe64 again:",` mv ${N(i)} ${N(n)}`].join(`
309
- `)}async function Po({env:e=l.env,home:t=ht.homedir(),makeDirectory:r=uo,platform:o=l.platform}={}){if(String(e[ye]||"").
310
- trim())return"";let n=F(t,o);return await r(n,{recursive:!0,mode:448}),n}async function Ro(){let e=To();if(e){console.error(
311
- e),l.exitCode=1;return}let{openOnStart:t,startupSlug:r,targetRoot:o}=yo();So(),await Po();let n=await po(vo({openOnStart:t,
312
- startupSlug:r,targetRoot:o})),i=n.vibe64Url;if(i){console.log(`Vibe64 is running at ${i}`),t&&await Eo(i);return}n.vibe64Listen?.
308
+ there, then start Vibe64 again:",` mv ${k(i)} ${k(n)}`].join(`
309
+ `)}async function Io({env:e=l.env,home:t=ht.homedir(),makeDirectory:r=po,platform:o=l.platform}={}){if(String(e[ye]||"").
310
+ trim())return"";let n=F(t,o);return await r(n,{recursive:!0,mode:448}),n}async function Ao(){let e=Ro();if(e){console.error(
311
+ e),l.exitCode=1;return}let{openOnStart:t,startupSlug:r,targetRoot:o}=Eo();Po(),await Io();let n=await fo(To({openOnStart:t,
312
+ startupSlug:r,targetRoot:o})),i=n.vibe64Url;if(i){console.log(`Vibe64 is running at ${i}`),t&&await So(i);return}n.vibe64Listen?.
313
313
  transport==="socket"&&(console.log(`Vibe64 is listening on Unix socket ${n.vibe64Listen.socketPath}`),t&&console.warn("C\
314
- annot open a browser for a Unix socket listener. Set VIBE64_PUBLIC_ORIGIN or PORT."))}_o()&&Ro().catch(e=>{console.error(
315
- "Failed to start Vibe64 server:",e),l.exitCode=1});export{So as applyLocalCliRuntimeNamespace,_o as isDirectServerExecution,To as macosDataMoveMessage,yo as parseStartupArgs,
316
- Po as prepareLocalSystemRoot,vo as serverStartOptions,ho as shouldOpenBrowser};
314
+ annot open a browser for a Unix socket listener. Set VIBE64_PUBLIC_ORIGIN or PORT."))}yo()&&Ao().catch(e=>{console.error(
315
+ "Failed to start Vibe64 server:",e),l.exitCode=1});export{Po as applyLocalCliRuntimeNamespace,yo as isDirectServerExecution,Ro as macosDataMoveMessage,Eo as parseStartupArgs,
316
+ Io as prepareLocalSystemRoot,To as serverStartOptions,_o as shouldOpenBrowser};