@reason-machines/cli-linux-x64 0.2.460 → 0.2.463

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 (99) hide show
  1. package/THIRD_PARTY_NOTICES.txt +2 -2
  2. package/bin/reason +1 -1
  3. package/bin/runtime/srt/sandbox-runtime.mjs +40 -40
  4. package/bin/runtime/srt/vendor/seccomp/x64/apply-seccomp +0 -0
  5. package/bin/vm-hands/api-7xy672j8.js +2 -0
  6. package/bin/vm-hands/api-credentials-bbmmmkwx.js +2 -0
  7. package/bin/vm-hands/connect-cli-2rvwbw01.js +2 -0
  8. package/bin/vm-hands/credentials-gr9jn270.js +2 -0
  9. package/bin/vm-hands/{custom-endpoint-device-v3rkzm7q.js → custom-endpoint-device-r2nn1xj9.js} +1 -1
  10. package/bin/vm-hands/desktop-account-3cc0bhw8.js +2 -0
  11. package/bin/vm-hands/{device-workspace-vaqjetag.js → device-workspace-s50q53sz.js} +1 -1
  12. package/bin/vm-hands/hands-worker-source-k8v5kmmw.js +2 -0
  13. package/bin/vm-hands/{index-ww1zq4h9.js → index-d5n50g8b.js} +1 -1
  14. package/bin/vm-hands/install-receipt-gvdzhm17.js +2 -0
  15. package/bin/vm-hands/local-automation-34vdgq8d.js +2 -0
  16. package/bin/vm-hands/local-capabilities-41n0pspr.js +2 -0
  17. package/bin/vm-hands/local-desktop-users-qskbh51j.js +2 -0
  18. package/bin/vm-hands/{local-display-mac-49yz00hp.js → local-display-mac-m77mftqy.js} +1 -1
  19. package/bin/vm-hands/local-display-session-g81fwns5.js +2 -0
  20. package/bin/vm-hands/local-display-video-1xd1fqch.js +2 -0
  21. package/bin/vm-hands/local-managed-process-30k1x92d.js +2 -0
  22. package/bin/vm-hands/local-pty-session-k6kab3tc.js +2 -0
  23. package/bin/vm-hands/managed-runtime-hk53v8j5.js +2 -0
  24. package/bin/vm-hands/{network-contract-g1jewvb5.js → network-contract-y2eybfhn.js} +1 -1
  25. package/bin/vm-hands/permissions-t3e7bp9x.js +2 -0
  26. package/bin/vm-hands/{reason-hands-protocol-cebk43jj.js → reason-hands-protocol-r3wtcjed.js} +1 -1
  27. package/bin/vm-hands/{serve-service-ddds922x.js → serve-service-hr1x43p8.js} +1 -1
  28. package/bin/vm-hands/{status-q3by8hq6.js → status-h3bk00m3.js} +2 -2
  29. package/bin/vm-hands/version-qja79041.js +2 -0
  30. package/bin/vm-hands/{vm-hands-entry-lite-1f25jgyr.js → vm-hands-entry-lite-03d1fhxv.js} +1 -1
  31. package/bin/vm-hands/{vm-hands-entry-lite-75y8022r.js → vm-hands-entry-lite-0yj63trb.js} +4 -4
  32. package/bin/vm-hands/{vm-hands-entry-lite-z599genq.js → vm-hands-entry-lite-1f0v3jb4.js} +1 -1
  33. package/bin/vm-hands/{vm-hands-entry-lite-8fqrpycx.js → vm-hands-entry-lite-1k16ct2y.js} +4 -4
  34. package/bin/vm-hands/{vm-hands-entry-lite-te16hx2y.js → vm-hands-entry-lite-1y629eqh.js} +3 -3
  35. package/bin/vm-hands/{vm-hands-entry-lite-vsm90vke.js → vm-hands-entry-lite-3krzmhkk.js} +2 -2
  36. package/bin/vm-hands/vm-hands-entry-lite-3pxmmb7z.js +3 -0
  37. package/bin/vm-hands/{vm-hands-entry-lite-99y4caf9.js → vm-hands-entry-lite-44qha2rt.js} +2 -2
  38. package/bin/vm-hands/{vm-hands-entry-lite-168m1q57.js → vm-hands-entry-lite-4x8j1xp9.js} +7 -7
  39. package/bin/vm-hands/{vm-hands-entry-lite-43v0ccsr.js → vm-hands-entry-lite-52x189kf.js} +1 -1
  40. package/bin/vm-hands/{vm-hands-entry-lite-eya4kgw8.js → vm-hands-entry-lite-5zdybh8s.js} +1 -1
  41. package/bin/vm-hands/{vm-hands-entry-lite-8x5znjnm.js → vm-hands-entry-lite-7ja63pfz.js} +1 -1
  42. package/bin/vm-hands/{vm-hands-entry-lite-qh6hnhtr.js → vm-hands-entry-lite-8qvsnkvv.js} +4 -4
  43. package/bin/vm-hands/vm-hands-entry-lite-9fzydv1p.js +2 -0
  44. package/bin/vm-hands/{vm-hands-entry-lite-cmm2ybdr.js → vm-hands-entry-lite-9vv5knh4.js} +2 -2
  45. package/bin/vm-hands/{vm-hands-entry-lite-r3s4j28z.js → vm-hands-entry-lite-abfb6nms.js} +1 -1
  46. package/bin/vm-hands/{vm-hands-entry-lite-26w5ejds.js → vm-hands-entry-lite-b139fhbg.js} +3 -3
  47. package/bin/vm-hands/{vm-hands-entry-lite-wsspeegr.js → vm-hands-entry-lite-b8yapqfn.js} +3 -3
  48. package/bin/vm-hands/vm-hands-entry-lite-bvb4nvxr.js +3 -0
  49. package/bin/vm-hands/{vm-hands-entry-lite-rseyh0ej.js → vm-hands-entry-lite-c7ka2d1c.js} +2 -2
  50. package/bin/vm-hands/{vm-hands-entry-lite-mdqdbhk1.js → vm-hands-entry-lite-cf1x5cbr.js} +2 -2
  51. package/bin/vm-hands/{vm-hands-entry-lite-e7mr44v7.js → vm-hands-entry-lite-eay4tbg0.js} +15 -15
  52. package/bin/vm-hands/{vm-hands-entry-lite-6ccgnrgg.js → vm-hands-entry-lite-egax7vw4.js} +1 -1
  53. package/bin/vm-hands/{vm-hands-entry-lite-kgknanhj.js → vm-hands-entry-lite-h6rhk6h1.js} +3 -3
  54. package/bin/vm-hands/{vm-hands-entry-lite-76xb3wgd.js → vm-hands-entry-lite-hzh8fdxx.js} +1 -1
  55. package/bin/vm-hands/{vm-hands-entry-lite-p2zjx5cn.js → vm-hands-entry-lite-jyvmw8b7.js} +2 -2
  56. package/bin/vm-hands/{vm-hands-entry-lite-t7zr2tea.js → vm-hands-entry-lite-k83rkcys.js} +2 -2
  57. package/bin/vm-hands/{vm-hands-entry-lite-2mm1b4qj.js → vm-hands-entry-lite-kz48x6p0.js} +8 -8
  58. package/bin/vm-hands/{vm-hands-entry-lite-8402gdx0.js → vm-hands-entry-lite-m753n72c.js} +4 -4
  59. package/bin/vm-hands/{vm-hands-entry-lite-6zzn5qbb.js → vm-hands-entry-lite-me5w88km.js} +4 -4
  60. package/bin/vm-hands/{vm-hands-entry-lite-r17x4n1w.js → vm-hands-entry-lite-n1k1njzh.js} +1 -1
  61. package/bin/vm-hands/{vm-hands-entry-lite-9apjqd3s.js → vm-hands-entry-lite-np07qyeq.js} +2 -2
  62. package/bin/vm-hands/{vm-hands-entry-lite-38qt915d.js → vm-hands-entry-lite-r3yp6cr9.js} +1 -1
  63. package/bin/vm-hands/{vm-hands-entry-lite-ffn3k8a5.js → vm-hands-entry-lite-rfz60hb3.js} +2 -2
  64. package/bin/vm-hands/{vm-hands-entry-lite-pj4vv7c3.js → vm-hands-entry-lite-rzhqftyg.js} +2 -2
  65. package/bin/vm-hands/{vm-hands-entry-lite-rgwm9y7f.js → vm-hands-entry-lite-t0exw1jk.js} +7 -7
  66. package/bin/vm-hands/{vm-hands-entry-lite-n8gng724.js → vm-hands-entry-lite-tn8v3yfj.js} +1 -1
  67. package/bin/vm-hands/{vm-hands-entry-lite-zw5stc7m.js → vm-hands-entry-lite-txd50spx.js} +2 -2
  68. package/bin/vm-hands/{vm-hands-entry-lite-mvsdn8xd.js → vm-hands-entry-lite-vdhgwmmp.js} +1 -1
  69. package/bin/vm-hands/{vm-hands-entry-lite-1ts6q468.js → vm-hands-entry-lite-wrvz9jxy.js} +2 -2
  70. package/bin/vm-hands/{vm-hands-entry-lite-pry1an8k.js → vm-hands-entry-lite-x9wy77vd.js} +1 -1
  71. package/bin/vm-hands/vm-hands-entry-lite.js +2 -2
  72. package/bin/vm-hands/{vm-hands-executor-t04rk1xy.js → vm-hands-executor-ksf4ragj.js} +3 -3
  73. package/bin/vm-hands/{vm-hands-op-runner-tatf8me7.js → vm-hands-op-runner-q5x9gpmt.js} +1 -1
  74. package/bin/vm-hands/{vm-hands-runtime-zx8s6rs7.js → vm-hands-runtime-dg696564.js} +3 -3
  75. package/bin/vm-hands/worker-preview-readiness-6hzzjnk7.js +2 -0
  76. package/bin/vm-hands/worker-sandbox-1g7jheqm.js +2 -0
  77. package/package.json +1 -1
  78. package/bin/vm-hands/api-7aqwa709.js +0 -2
  79. package/bin/vm-hands/api-credentials-fh34tvkh.js +0 -2
  80. package/bin/vm-hands/connect-cli-8vkhdyn7.js +0 -2
  81. package/bin/vm-hands/credentials-31d5svns.js +0 -2
  82. package/bin/vm-hands/desktop-account-1k06r449.js +0 -2
  83. package/bin/vm-hands/hands-worker-source-1y3ffkre.js +0 -2
  84. package/bin/vm-hands/install-receipt-g4xmdyrg.js +0 -2
  85. package/bin/vm-hands/local-automation-khtqsw27.js +0 -2
  86. package/bin/vm-hands/local-capabilities-0v1tmead.js +0 -2
  87. package/bin/vm-hands/local-desktop-users-xk05xr6n.js +0 -2
  88. package/bin/vm-hands/local-display-session-ae33d049.js +0 -2
  89. package/bin/vm-hands/local-display-video-b3hyaefy.js +0 -2
  90. package/bin/vm-hands/local-managed-process-pnd72aaw.js +0 -2
  91. package/bin/vm-hands/local-pty-session-hcpz5scq.js +0 -2
  92. package/bin/vm-hands/managed-runtime-e6ev22c7.js +0 -2
  93. package/bin/vm-hands/permissions-a7rcytp4.js +0 -2
  94. package/bin/vm-hands/version-e55vkeaw.js +0 -2
  95. package/bin/vm-hands/vm-hands-entry-lite-9h4bfd4w.js +0 -2
  96. package/bin/vm-hands/vm-hands-entry-lite-c4jj2s7a.js +0 -3
  97. package/bin/vm-hands/vm-hands-entry-lite-rkvhw41t.js +0 -3
  98. package/bin/vm-hands/worker-preview-readiness-10ex5n3a.js +0 -2
  99. package/bin/vm-hands/worker-sandbox-wjyfgj98.js +0 -2
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Pt,I}from"./vm-hands-entry-lite-c4jj2s7a.js";import{T}from"./vm-hands-entry-lite-fcvf8md1.js";import{_,Qt}from"./vm-hands-entry-lite-t7zr2tea.js";import{be}from"./vm-hands-entry-lite-yretc2th.js";function Mi(e,i){let r=T(e,"REASON_API_URL")?.trim();if(!r)return Qt(i);let t=new URL(r);if(t.protocol!=="https:"&&!(t.protocol==="http:"&&["127.0.0.1","localhost","::1"].includes(t.hostname)))throw Error("REASON_API_URL must use HTTPS (HTTP is allowed only for loopback development).");return t.origin}function l(e){return T(e,"REASON_API_URL")?.trim()?Mi(e,"production"):void 0}function qo(e){return T(e,"REASON_API_KEY")?.trim()||void 0}async function Wo(e,i){let r=e.env??process.env,t=qo(r);if(!t)return(e.getCredentials??Pt)({apiOrigin:l(r),signal:i});let a=Mi(r,e.channel??_({env:r})),o=await(e.fetchImpl??fetch)(a+"/v3/self",{redirect:"error",headers:{authorization:"Bearer "+t,accept:"application/json"},signal:i}),p=await o.json().catch(()=>({})),n=be(p)?p:{};if(!o.ok){let s=typeof n.detail==="string"?n.detail:typeof n.message==="string"?n.message:"API key authentication failed ("+o.status+")";throw new I(o.status,typeof n.error==="string"?n.error:"api_key_auth_failed",s)}if(typeof n.org_id!=="string"||!n.org_id)throw Error("The API key in the environment did not resolve to a Workspace.");let c=Array.isArray(n.scopes)?n.scopes.filter((s)=>typeof s==="string"):[];return{credentialKind:"api_key",apiOrigin:a,accessToken:t,orgId:n.org_id,clientId:"api-key",refreshToken:"",expiresAt:"",scopes:c}}async function ms(e){let i=await Wo(e),r=l(e.env??process.env);if(!i)throw Error(r?`Not signed in to ${r}. Set REASON_API_KEY, or run \`reason login --api-url ${r}\`.`:"Not signed in. Run `reason login`, or set REASON_API_KEY.");return i}
2
+ import{Pt,I}from"./vm-hands-entry-lite-3pxmmb7z.js";import{T}from"./vm-hands-entry-lite-fcvf8md1.js";import{_,er}from"./vm-hands-entry-lite-k83rkcys.js";import{be}from"./vm-hands-entry-lite-yretc2th.js";function Mi(e,i){let r=T(e,"REASON_API_URL")?.trim();if(!r)return er(i);let t=new URL(r);if(t.protocol!=="https:"&&!(t.protocol==="http:"&&["127.0.0.1","localhost","::1"].includes(t.hostname)))throw Error("REASON_API_URL must use HTTPS (HTTP is allowed only for loopback development).");return t.origin}function l(e){return T(e,"REASON_API_URL")?.trim()?Mi(e,"production"):void 0}function qo(e){return T(e,"REASON_API_KEY")?.trim()||void 0}async function Wo(e,i){let r=e.env??process.env,t=qo(r);if(!t)return(e.getCredentials??Pt)({apiOrigin:l(r),signal:i});let a=Mi(r,e.channel??_({env:r})),o=await(e.fetchImpl??fetch)(a+"/v3/self",{redirect:"error",headers:{authorization:"Bearer "+t,accept:"application/json"},signal:i}),p=await o.json().catch(()=>({})),n=be(p)?p:{};if(!o.ok){let s=typeof n.detail==="string"?n.detail:typeof n.message==="string"?n.message:"API key authentication failed ("+o.status+")";throw new I(o.status,typeof n.error==="string"?n.error:"api_key_auth_failed",s)}if(typeof n.org_id!=="string"||!n.org_id)throw Error("The API key in the environment did not resolve to a Workspace.");let c=Array.isArray(n.scopes)?n.scopes.filter((s)=>typeof s==="string"):[];return{credentialKind:"api_key",apiOrigin:a,accessToken:t,orgId:n.org_id,clientId:"api-key",refreshToken:"",expiresAt:"",scopes:c}}async function ms(e){let i=await Wo(e),r=l(e.env??process.env);if(!i)throw Error(r?`Not signed in to ${r}. Set REASON_API_KEY, or run \`reason login --api-url ${r}\`.`:"Not signed in. Run `reason login`, or set REASON_API_KEY.");return i}
3
3
  export{Mi,qo,Wo,ms};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{statSync as f}from"fs";import{delimiter as l,join as d}from"path";function Dt(e,o=process.env.PATH??"",i=process.env,u=process.platform){let r=u==="win32",a=e.includes("/")||r&&e.includes("\\");if(!e||a||e.includes("\x00"))return!1;let c=r?["",...(i.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";")]:[""];return o.split(l).some((t)=>{if(!t)return!1;return c.some((n)=>{if(n===void 0)return!1;try{let s=f(d(t,`${e}${n}`));if(!s.isFile())return!1;return r||(s.mode&73)!==0}catch{return!1}})})}
3
- export{Dt};
2
+ import{statSync as f}from"fs";import{delimiter as l,join as d}from"path";function Nt(e,o=process.env.PATH??"",i=process.env,u=process.platform){let r=u==="win32",a=e.includes("/")||r&&e.includes("\\");if(!e||a||e.includes("\x00"))return!1;let c=r?["",...(i.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";")]:[""];return o.split(l).some((t)=>{if(!t)return!1;return c.some((n)=>{if(n===void 0)return!1;try{let s=f(d(t,`${e}${n}`));if(!s.isFile())return!1;return r||(s.mode&73)!==0}catch{return!1}})})}
3
+ export{Nt};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{a}from"./vm-hands-entry-lite-mdqdbhk1.js";import{readFileSync as c}from"fs";import{isAbsolute as l,normalize as i}from"path";var m="REASON_WORKER_DESKTOP_USER",u=null;function p(t,o){for(let s of o.split(`
2
+ import{a}from"./vm-hands-entry-lite-cf1x5cbr.js";import{readFileSync as c}from"fs";import{isAbsolute as l,normalize as i}from"path";var m="REASON_WORKER_DESKTOP_USER",u=null;function p(t,o){for(let s of o.split(`
3
3
  `)){let e=s.split(":");if(e.length<7||Number(e[2])!==t||!/^\d+$/.test(e[2])||!/^\d+$/.test(e[3]))continue;let n=e[5];if(!/^[a-z_][a-z0-9_-]*$/i.test(e[0])||!l(n)||i(n)!==n||n==="/")return null;return{username:e[0],uid:t,gid:Number(e[3]),home:n}}return null}function Bs(t={}){let o="value"in t?t.value:process.env[m];if(u=null,o===void 0||o==="")return null;let s=t.platform??process.platform,e="euid"in t?t.euid:process.geteuid?.(),n=/^[1-9]\d{0,9}$/.test(o)?Number(o):NaN,r=s==="linux"&&e===0&&Number.isSafeInteger(n)?p(n,(t.passwd??(()=>c("/etc/passwd","utf8")))()):null;if(!r||r.gid===0)throw Error("worker_desktop_user_invalid");return u=r,r}function K(){return u}function Gn(){return u?.home??a()}
4
4
  export{Bs,K,Gn};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var or=String.raw`(function(require) {
2
+ var sr=String.raw`(function(require) {
3
3
  if (process.platform !== "win32") return null;
4
4
  let ffi, kernel32;
5
5
  try {
@@ -64,4 +64,4 @@ var or=String.raw`(function(require) {
64
64
  },
65
65
  };
66
66
  })`;
67
- export{or};
67
+ export{sr};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{r}from"./vm-hands-entry-lite-qy9xg6em.js";import{readdirSync as b,readFileSync as P}from"fs";import{userInfo as k}from"os";var sr="--vm-hands-op-runner-kind=person",ar="--vm-hands-op-runner-kind=surface",kt="--vm-hands-surface-uid=",Ct="--vm-hands-surface-dir=",At=new Set(["automation.call.v1","display.stream.v1","preview.serve.v1"]);function R(t){let c=new Set([t]),l=[];try{l=b("/proc")}catch{}for(let o of l){if(!/^\d+$/.test(o))continue;try{let d=P(`/proc/${o}/stat`,"utf8");if(Number(d.slice(d.lastIndexOf(")")+2).split(" ")[3])===t)c.add(Number(o))}catch{}}for(let o of c)try{process.kill(o,"SIGKILL")}catch{}}var A=(t)=>{let c=globalThis.Bun;if(!c)throw new r("pty_unavailable","Reason terminals require the Bun runtime.");let l=c.spawn({cmd:[t.shell,...t.args],cwd:t.cwd,env:{...t.environment,TERM:"xterm-256color"},terminal:{cols:t.cols,rows:t.rows,data:(i,s)=>t.onData(s)}}),o=l.terminal,d=()=>{R(l.pid);try{o?.close()}catch{}};if(!o)throw d(),new r("pty_unavailable","Reason could not allocate a pseudo-terminal.");return{write:(i)=>o.write(i),resize:(i,s)=>o.resize(i,s),kill:d,exited:l.exited.then((i)=>typeof i==="number"?i:null,()=>null)}};function x(){let t=(()=>{try{return k().username}catch{return}})();return{PATH:process.env.PATH,HOME:process.env.HOME,SHELL:process.env.SHELL,LANG:"C.UTF-8",...t?{USER:t,LOGNAME:t}:{}}}async function E(t){let[{localAutomationAvailable:c},{localDisplayReady:l},{localDisplayVideoAvailable:o},{probeWorkerPreview:d},y]=await Promise.all([import("./local-automation-khtqsw27.js"),import("./local-display-session-ae33d049.js"),import("./local-display-video-b3hyaefy.js"),import("./worker-preview-readiness-10ex5n3a.js"),import("fs")]),i=AbortSignal.timeout(15000),s=null;try{y.mkdirSync(t,{recursive:!0,mode:448}),s=y.mkdtempSync(`${t}/probe-`);let[g,p,m]=await Promise.all([Promise.resolve().then(()=>c()).catch(()=>!1),l().catch(()=>!1),d(s,i).catch(()=>!1)]);return{t:"readiness",display_video:p&&await o().catch(()=>!1),lanes:{"automation.call.v1":g,"display.stream.v1":p,"preview.serve.v1":m,"tunnel.open":m,"tunnel.close":m}}}finally{if(s)y.rmSync(s,{recursive:!0,force:!0})}}async function ls(){let[{executeLocalOperation:t,spawnCaptured:c},{runLocalPtySession:l},{configureDesktopAccount:o,desktopAccount:d},{configureWorkerSandbox:y}]=await Promise.all([import("./local-capabilities-0v1tmead.js"),import("./local-pty-session-hcpz5scq.js"),import("./desktop-account-1k06r449.js"),import("./worker-sandbox-wjyfgj98.js")]);y();let i=process.argv.includes(sr),s=process.argv.includes(ar),g=(a,e,u)=>c(a,e[0]==="-lic"?["-lc",...e.slice(1)]:e,u),p=(process.geteuid?.()??0)!==0;if(s){p=!1;let a=process.argv.find((e)=>e.startsWith(kt))?.slice(kt.length);if((process.geteuid?.()??-1)===0&&a)try{p=o({value:a})!==null&&d()!==null}catch{p=!1}}let m=new Map,v=new Map,f=(a)=>{try{process.send?.(a)}catch{}};if(process.on("message",(a)=>{let e=a;if(e?.t==="cancel"){m.get(e.id)?.abort();return}if(e?.t==="control"){let n=v.get(e.id);if(s&&n&&e.control&&typeof e.control.kind==="string")import("./local-managed-process-pnd72aaw.js").then(({controlManagedDeviceProcess:_})=>_(n,{kind:e.control.kind,payload:e.control.payload??{}})).catch(()=>!1);return}if(e?.t==="retire"){if(s&&typeof e.operation_id==="string"&&typeof e.status==="string")import("./local-managed-process-pnd72aaw.js").then(({retireManagedDeviceProcess:n})=>n(e.operation_id,e.status)).catch(()=>!1);return}if(e?.t!=="op")return;if(!p){f({t:"done",id:e.id,completion:{status:"failed",error_code:"vm_hands_payload_account_unavailable"}});return}let u=e.claim.capability;if(u==="pty.start"&&!i){f({t:"done",id:e.id,completion:{status:"failed",error_code:"capability_not_granted"}});return}if(At.has(u)!==s){f({t:"done",id:e.id,completion:{status:"failed",error_code:"capability_not_granted"}});return}let w=new AbortController;m.set(e.id,w),v.set(e.id,e.claim);let S=u==="pty.start"?{runPtySession:(n)=>l(n,{spawnPty:A,environment:x(),loadProxy:()=>null})}:{worker:e.worker,...u==="exec.full"?{spawnFullControl:g}:{}};t(e.state,e.claim,{...S,signal:w.signal,emit:(n)=>{let{deliverySignal:_,...h}=n;f({t:"event",id:e.id,event:h})}}).then((n)=>f({t:"done",id:e.id,completion:n}),(n)=>f({t:"done",id:e.id,completion:{status:"failed",error_code:n&&typeof n==="object"&&"code"in n&&typeof n.code==="string"?n.code:"vm_hands_op_failed"}})).finally(()=>{m.delete(e.id),v.delete(e.id)})}),process.on("disconnect",()=>process.exit(0)),s){let a=process.argv.find((u)=>u.startsWith(Ct))?.slice(Ct.length),e={t:"readiness",display_video:!1,lanes:{}};f(p&&a?await E(a).catch(()=>e):e)}await new Promise(()=>{})}
3
- export{sr,ar,kt,Ct,At,ls};
2
+ import{r}from"./vm-hands-entry-lite-qy9xg6em.js";import{readdirSync as b,readFileSync as P}from"fs";import{userInfo as k}from"os";var ar="--vm-hands-op-runner-kind=person",cr="--vm-hands-op-runner-kind=surface",kt="--vm-hands-surface-uid=",Ct="--vm-hands-surface-dir=",At=new Set(["automation.call.v1","display.stream.v1","preview.serve.v1"]);function R(t){let c=new Set([t]),l=[];try{l=b("/proc")}catch{}for(let o of l){if(!/^\d+$/.test(o))continue;try{let d=P(`/proc/${o}/stat`,"utf8");if(Number(d.slice(d.lastIndexOf(")")+2).split(" ")[3])===t)c.add(Number(o))}catch{}}for(let o of c)try{process.kill(o,"SIGKILL")}catch{}}var A=(t)=>{let c=globalThis.Bun;if(!c)throw new r("pty_unavailable","Reason terminals require the Bun runtime.");let l=c.spawn({cmd:[t.shell,...t.args],cwd:t.cwd,env:{...t.environment,TERM:"xterm-256color"},terminal:{cols:t.cols,rows:t.rows,data:(i,s)=>t.onData(s)}}),o=l.terminal,d=()=>{R(l.pid);try{o?.close()}catch{}};if(!o)throw d(),new r("pty_unavailable","Reason could not allocate a pseudo-terminal.");return{write:(i)=>o.write(i),resize:(i,s)=>o.resize(i,s),kill:d,exited:l.exited.then((i)=>typeof i==="number"?i:null,()=>null)}};function x(){let t=(()=>{try{return k().username}catch{return}})();return{PATH:process.env.PATH,HOME:process.env.HOME,SHELL:process.env.SHELL,LANG:"C.UTF-8",...t?{USER:t,LOGNAME:t}:{}}}async function E(t){let[{localAutomationAvailable:c},{localDisplayReady:l},{localDisplayVideoAvailable:o},{probeWorkerPreview:d},y]=await Promise.all([import("./local-automation-34vdgq8d.js"),import("./local-display-session-g81fwns5.js"),import("./local-display-video-1xd1fqch.js"),import("./worker-preview-readiness-6hzzjnk7.js"),import("fs")]),i=AbortSignal.timeout(15000),s=null;try{y.mkdirSync(t,{recursive:!0,mode:448}),s=y.mkdtempSync(`${t}/probe-`);let[g,p,m]=await Promise.all([Promise.resolve().then(()=>c()).catch(()=>!1),l().catch(()=>!1),d(s,i).catch(()=>!1)]);return{t:"readiness",display_video:p&&await o().catch(()=>!1),lanes:{"automation.call.v1":g,"display.stream.v1":p,"preview.serve.v1":m,"tunnel.open":m,"tunnel.close":m}}}finally{if(s)y.rmSync(s,{recursive:!0,force:!0})}}async function ls(){let[{executeLocalOperation:t,spawnCaptured:c},{runLocalPtySession:l},{configureDesktopAccount:o,desktopAccount:d},{configureWorkerSandbox:y}]=await Promise.all([import("./local-capabilities-41n0pspr.js"),import("./local-pty-session-k6kab3tc.js"),import("./desktop-account-3cc0bhw8.js"),import("./worker-sandbox-1g7jheqm.js")]);y();let i=process.argv.includes(ar),s=process.argv.includes(cr),g=(a,e,u)=>c(a,e[0]==="-lic"?["-lc",...e.slice(1)]:e,u),p=(process.geteuid?.()??0)!==0;if(s){p=!1;let a=process.argv.find((e)=>e.startsWith(kt))?.slice(kt.length);if((process.geteuid?.()??-1)===0&&a)try{p=o({value:a})!==null&&d()!==null}catch{p=!1}}let m=new Map,v=new Map,f=(a)=>{try{process.send?.(a)}catch{}};if(process.on("message",(a)=>{let e=a;if(e?.t==="cancel"){m.get(e.id)?.abort();return}if(e?.t==="control"){let n=v.get(e.id);if(s&&n&&e.control&&typeof e.control.kind==="string")import("./local-managed-process-30k1x92d.js").then(({controlManagedDeviceProcess:_})=>_(n,{kind:e.control.kind,payload:e.control.payload??{}})).catch(()=>!1);return}if(e?.t==="retire"){if(s&&typeof e.operation_id==="string"&&typeof e.status==="string")import("./local-managed-process-30k1x92d.js").then(({retireManagedDeviceProcess:n})=>n(e.operation_id,e.status)).catch(()=>!1);return}if(e?.t!=="op")return;if(!p){f({t:"done",id:e.id,completion:{status:"failed",error_code:"vm_hands_payload_account_unavailable"}});return}let u=e.claim.capability;if(u==="pty.start"&&!i){f({t:"done",id:e.id,completion:{status:"failed",error_code:"capability_not_granted"}});return}if(At.has(u)!==s){f({t:"done",id:e.id,completion:{status:"failed",error_code:"capability_not_granted"}});return}let w=new AbortController;m.set(e.id,w),v.set(e.id,e.claim);let S=u==="pty.start"?{runPtySession:(n)=>l(n,{spawnPty:A,environment:x(),loadProxy:()=>null})}:{worker:e.worker,...u==="exec.full"?{spawnFullControl:g}:{}};t(e.state,e.claim,{...S,signal:w.signal,emit:(n)=>{let{deliverySignal:_,...h}=n;f({t:"event",id:e.id,event:h})}}).then((n)=>f({t:"done",id:e.id,completion:n}),(n)=>f({t:"done",id:e.id,completion:{status:"failed",error_code:n&&typeof n==="object"&&"code"in n&&typeof n.code==="string"?n.code:"vm_hands_op_failed"}})).finally(()=>{m.delete(e.id),v.delete(e.id)})}),process.on("disconnect",()=>process.exit(0)),s){let a=process.argv.find((u)=>u.startsWith(Ct))?.slice(Ct.length),e={t:"readiness",display_video:!1,lanes:{}};f(p&&a?await E(a).catch(()=>e):e)}await new Promise(()=>{})}
3
+ export{ar,cr,kt,Ct,At,ls};