@reason-machines/cli-linux-arm64-musl 0.2.330 → 0.2.331

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 (78) hide show
  1. package/bin/ara +1 -1
  2. package/bin/vm-hands/api-36ywgdp3.js +2 -0
  3. package/bin/vm-hands/api-credentials-41xjt55r.js +2 -0
  4. package/bin/vm-hands/ask-relay-99r0zj27.js +8 -0
  5. package/bin/vm-hands/connect-cli-w61z8yde.js +2 -0
  6. package/bin/vm-hands/{custom-endpoint-device-8yqvpsd7.js → custom-endpoint-device-dt74zv7m.js} +1 -1
  7. package/bin/vm-hands/desktop-account-a16gh9sj.js +2 -0
  8. package/bin/vm-hands/{device-workspace-pacdp5tv.js → device-workspace-nqxczwd3.js} +1 -1
  9. package/bin/vm-hands/hands-worker-source-tc1snvve.js +2 -0
  10. package/bin/vm-hands/{index-wx03jedr.js → index-g4t2q0ep.js} +1 -1
  11. package/bin/vm-hands/local-automation-2k23b17b.js +2 -0
  12. package/bin/vm-hands/local-capabilities-yhstjsc7.js +2 -0
  13. package/bin/vm-hands/local-desktop-users-qej2mfhx.js +2 -0
  14. package/bin/vm-hands/local-display-mac-4pddah9q.js +2 -0
  15. package/bin/vm-hands/local-display-session-mm59cc72.js +2 -0
  16. package/bin/vm-hands/local-pty-session-kq8bd4pm.js +2 -0
  17. package/bin/vm-hands/{network-contract-gb6gk8fg.js → network-contract-qxn4pg15.js} +1 -1
  18. package/bin/vm-hands/package-s8sef5wh.js +2 -0
  19. package/bin/vm-hands/permissions-b72tednk.js +2 -0
  20. package/bin/vm-hands/{reason-hands-protocol-469gmb0h.js → reason-hands-protocol-n14gyf7k.js} +1 -1
  21. package/bin/vm-hands/{status-wdwrnxja.js → status-y14j7ja3.js} +2 -2
  22. package/bin/vm-hands/version-fx884bha.js +2 -0
  23. package/bin/vm-hands/{vm-hands-entry-lite-40t7d4p5.js → vm-hands-entry-lite-070nd0vy.js} +1 -1
  24. package/bin/vm-hands/{vm-hands-entry-lite-6g65w75z.js → vm-hands-entry-lite-3dx1yqhd.js} +2 -2
  25. package/bin/vm-hands/{vm-hands-entry-lite-abrbc7gf.js → vm-hands-entry-lite-4b8f37q4.js} +2 -2
  26. package/bin/vm-hands/{vm-hands-entry-lite-nj8bmc9y.js → vm-hands-entry-lite-5n6vc7je.js} +2 -2
  27. package/bin/vm-hands/{vm-hands-entry-lite-e5fatvff.js → vm-hands-entry-lite-76sqbk9b.js} +2 -2
  28. package/bin/vm-hands/{vm-hands-entry-lite-rd9vsaew.js → vm-hands-entry-lite-7kzy7rxj.js} +2 -2
  29. package/bin/vm-hands/vm-hands-entry-lite-7ne1ysz3.js +343 -0
  30. package/bin/vm-hands/{vm-hands-entry-lite-dyqeaqzb.js → vm-hands-entry-lite-983czfdb.js} +2 -2
  31. package/bin/vm-hands/{vm-hands-entry-lite-rnwjp0tk.js → vm-hands-entry-lite-9k57wmkv.js} +2 -2
  32. package/bin/vm-hands/{vm-hands-entry-lite-n5ec0fjy.js → vm-hands-entry-lite-9rr6gh58.js} +1 -1
  33. package/bin/vm-hands/{vm-hands-entry-lite-tav4dt92.js → vm-hands-entry-lite-awwev9zg.js} +2 -2
  34. package/bin/vm-hands/{vm-hands-entry-lite-ekp1wmw5.js → vm-hands-entry-lite-b2fagkn4.js} +2 -2
  35. package/bin/vm-hands/{vm-hands-entry-lite-ydjye6jz.js → vm-hands-entry-lite-bgehpe77.js} +23 -23
  36. package/bin/vm-hands/{vm-hands-entry-lite-dj69r683.js → vm-hands-entry-lite-bj87cdka.js} +2 -2
  37. package/bin/vm-hands/{vm-hands-entry-lite-0yghpjef.js → vm-hands-entry-lite-c64behya.js} +2 -2
  38. package/bin/vm-hands/{vm-hands-entry-lite-8afzattm.js → vm-hands-entry-lite-cnmd8nft.js} +2 -2
  39. package/bin/vm-hands/vm-hands-entry-lite-dhzcvvt2.js +5 -0
  40. package/bin/vm-hands/vm-hands-entry-lite-dtcpbbkc.js +3 -0
  41. package/bin/vm-hands/vm-hands-entry-lite-feaxcj0x.js +5 -0
  42. package/bin/vm-hands/vm-hands-entry-lite-ffgjezmx.js +3 -0
  43. package/bin/vm-hands/{vm-hands-entry-lite-n8gsyjq7.js → vm-hands-entry-lite-h01d2fbm.js} +2 -2
  44. package/bin/vm-hands/{vm-hands-entry-lite-pbnx8z9g.js → vm-hands-entry-lite-hj6jjk24.js} +1 -1
  45. package/bin/vm-hands/{vm-hands-entry-lite-j7ee0rr6.js → vm-hands-entry-lite-jzkm6m0c.js} +2 -2
  46. package/bin/vm-hands/{vm-hands-entry-lite-jz24p4jj.js → vm-hands-entry-lite-jzms4xs2.js} +2 -2
  47. package/bin/vm-hands/vm-hands-entry-lite-mm72ht4e.js +3 -0
  48. package/bin/vm-hands/{vm-hands-entry-lite-669hk342.js → vm-hands-entry-lite-mtp2h66e.js} +2 -2
  49. package/bin/vm-hands/{vm-hands-entry-lite-5a0kyaxa.js → vm-hands-entry-lite-px64jhhn.js} +1 -1
  50. package/bin/vm-hands/{vm-hands-entry-lite-g5w3cema.js → vm-hands-entry-lite-rk4w75g6.js} +3 -3
  51. package/bin/vm-hands/{vm-hands-entry-lite-ngtfq7a3.js → vm-hands-entry-lite-rpqk8nxz.js} +2 -2
  52. package/bin/vm-hands/{vm-hands-entry-lite-kbz9zfha.js → vm-hands-entry-lite-s64raarx.js} +2 -2
  53. package/bin/vm-hands/{vm-hands-entry-lite-9y8v419y.js → vm-hands-entry-lite-t5h3g60g.js} +1 -1
  54. package/bin/vm-hands/{vm-hands-entry-lite-ht03kzr3.js → vm-hands-entry-lite-tce394qh.js} +3 -3
  55. package/bin/vm-hands/{vm-hands-entry-lite-djy0ww6h.js → vm-hands-entry-lite-tf5mepq5.js} +2 -2
  56. package/bin/vm-hands/vm-hands-entry-lite-zgs6j8wj.js +3 -0
  57. package/bin/vm-hands/vm-hands-entry-lite.js +1 -1
  58. package/bin/vm-hands/{vm-hands-executor-rt8r46bt.js → vm-hands-executor-05w9bb7k.js} +1 -1
  59. package/bin/vm-hands/vm-hands-op-runner-k61q1x25.js +2 -0
  60. package/bin/vm-hands/{vm-hands-runtime-h7s6zcvq.js → vm-hands-runtime-rh673d51.js} +3 -3
  61. package/bin/vm-hands/worker-sandbox-1m0s1vnq.js +2 -0
  62. package/package.json +1 -1
  63. package/bin/vm-hands/connect-cli-4gee1bxs.js +0 -2
  64. package/bin/vm-hands/desktop-account-s4629ksd.js +0 -2
  65. package/bin/vm-hands/hands-worker-source-fprvxtp8.js +0 -2
  66. package/bin/vm-hands/local-automation-5gkaj1mg.js +0 -2
  67. package/bin/vm-hands/local-capabilities-px6n9wdf.js +0 -2
  68. package/bin/vm-hands/local-desktop-users-ktbva6me.js +0 -2
  69. package/bin/vm-hands/local-display-mac-kbbrwa0y.js +0 -2
  70. package/bin/vm-hands/local-display-session-qqgjsa3g.js +0 -2
  71. package/bin/vm-hands/local-pty-session-bnhx083p.js +0 -2
  72. package/bin/vm-hands/package-bzy9agdv.js +0 -2
  73. package/bin/vm-hands/permissions-tj216d4z.js +0 -2
  74. package/bin/vm-hands/version-5crmvxxa.js +0 -2
  75. package/bin/vm-hands/vm-hands-entry-lite-qq1091m3.js +0 -344
  76. package/bin/vm-hands/vm-hands-entry-lite-sggk0bqc.js +0 -5
  77. package/bin/vm-hands/vm-hands-op-runner-m45mtphf.js +0 -2
  78. package/bin/vm-hands/worker-sandbox-bqwkytj2.js +0 -2
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{x as k,y as m,z as l}from"./vm-hands-entry-lite-6g65w75z.js";import{bd as v}from"./vm-hands-entry-lite-rnwjp0tk.js";import"./vm-hands-entry-lite-669hk342.js";import{ai as G}from"./vm-hands-entry-lite-5a0kyaxa.js";import{spawn as a}from"child_process";import{createHash as t}from"crypto";import{lstatSync as w,mkdirSync as s,readFileSync as i,statSync as e,writeFileSync as d}from"fs";var P="/run/reason-vm-hands",O="/run/reason-vm-hands/env",T="/home/runner/.reason/workspace",jj=/^https:\/\/[a-z0-9.-]+(?::\d{1,5})?$/,S="/sys/fs/cgroup/reason-srt",p="/usr/local/bin/ara-srt-exec",qj=65536,Jj=21600000;function Qj(Q,j="/run/ara-srt"){try{if((process.getuid?.()??-1)!==0)return;s(j,{recursive:!0,mode:448});let J=w(j);if(!J.isDirectory()||J.uid!==0||(J.mode&63)!==0){Q("srt_base_keyed_skipped",{reason:"socket_dir_unsafe"});return}d(`${j}/base-keyed`,`1
3
- `,{mode:420}),Q("srt_base_keyed",{})}catch{Q("srt_base_keyed_skipped",{reason:"error"})}}function R(Q,j){let J=(F)=>{return j("srt_warm_skipped",{reason:F}),Promise.resolve()};if(typeof Q.srt_base_settings!=="string")return J("no_settings");let Z=Buffer.from(Q.srt_base_settings,"base64");if(Z.length===0||Z.length>qj||Z.toString("base64")!==Q.srt_base_settings)return J("settings_invalid");try{let F=w(S);if(!F.isDirectory()||F.uid!==0||(F.mode&18)!==0)return J("cgroup_unsafe");for(let[H,g]of[[p,!1],["/usr/local/bin",!0]]){let Y=w(H);if((g?!Y.isDirectory():!Y.isFile())||Y.uid!==0||(Y.mode&18)!==0)return J("srt_exec_unsafe")}}catch{return J("cgroup_or_exec_missing")}if((process.getuid?.()??-1)!==0)return J("not_root");let X=performance.now(),z=t("sha256").update(Z).digest("hex"),W=`${P}/srt-base-settings.json`;try{d(W,Z,{mode:384,flag:"w"})}catch{return J("settings_write")}let L=a("/bin/sh",["-c",`echo $$ > ${S}/cgroup.procs || exit 125; exec "$@"`,"vm-hands-srt",p,"--settings",W,"--idle-ms",String(Jj),"--","/bin/true"],{cwd:"/",env:{PATH:"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"},stdio:"ignore"});return new Promise((F)=>{L.once("error",()=>{j("srt_warm_failed",{reason:"spawn"}),F()}),L.once("close",(H)=>{j(H===0?"srt_warm_done":"srt_warm_failed",{exit_code:H,warm_ms:Math.round(performance.now()-X),settings_sha256:z}),F()})})}var u=3000;function Lj(Q){if(!Q||typeof Q!=="object"||Array.isArray(Q))return null;let j=Q,J=j.layout,Z=j.device_key,X=j.credential;return typeof j.workspace_id==="string"&&Number.isSafeInteger(j.instance_generation)&&typeof j.api_origin==="string"&&jj.test(j.api_origin)&&typeof j.manifest_digest==="string"&&!!X&&typeof X.key_id==="string"&&Number.isSafeInteger(X.expires_at_ms)&&typeof X.signature==="string"&&!!J&&typeof J.session_root==="string"&&typeof J.alias==="string"&&Number.isSafeInteger(J.payload_uid)&&typeof J.kind==="string"&&!!Z&&typeof Z.pkcs8==="string"&&typeof Z.spki==="string"?j:null}function y(Q){s(Q,{recursive:!0,mode:448});let j=e(Q);if(!j.isDirectory()||(j.mode&63)!==0||j.uid!==(process.getuid?.()??-1))throw Error(`vm_hands_runtime_directory_unsafe: ${Q}`)}async function Zj(Q){let[{CLI_VERSION:j},J,Z,X]=await Promise.all([import("./version-5crmvxxa.js"),import("./hands-worker-source-fprvxtp8.js"),import("./network-contract-gb6gk8fg.js"),import("./device-workspace-pacdp5tv.js")]),{REASON_HANDS_PROTOCOL_VERSION:z}=await import("./reason-hands-protocol-469gmb0h.js");return{reason_runtime_version:j,bridge_version:j,protocol_version:v,execution_eligible:!0,instance_generation:Q.instance_generation,capabilities:{supported_operations:["hands.connect"],hands_worker_artifact_sha256:J.REASON_HANDS_WORKER_ARTIFACT_SHA256,hands_worker_entrypoint:J.REASON_HANDS_WORKER_ENTRYPOINT,hands_slots:1,max_payload_bytes:Z.LOCAL_OPERATION_MAX_BYTES,max_result_bytes:Z.LOCAL_OPERATION_MAX_BYTES,operation_constraints:{"hands.connect":{ready:!0,execution_mode:"host",transport:"wss_relay",worker:"ara_hands",slots:1,session_group:Z.HANDS_SESSION_GROUP,worker_version:J.REASON_HANDS_WORKER_VERSION,protocol_version:z,worker_artifact_sha256:J.REASON_HANDS_WORKER_ARTIFACT_SHA256,worker_entrypoint:J.REASON_HANDS_WORKER_ENTRYPOINT,policy_mode:"full_access",policy_version:1,workspace_base:X.REASON_WORKSPACE_BASE,workspace_layout:X.SESSION_WORKSPACE_LAYOUT,browser_state:"optional_headless",desktop:!1,max_session_ms:43200000,environment_delivery:Z.HANDS_ENVIRONMENT_DELIVERY,[Z.HANDS_ENVIRONMENT_AT_CLAIM_KEY]:Z.HANDS_ENVIRONMENT_AT_CLAIM,[Z.HANDS_CLOUD_ACCESS_KEY]:Z.HANDS_CLOUD_ACCESS,[Z.HANDS_LARGE_ENVIRONMENT_KEY]:Z.HANDS_LARGE_ENVIRONMENT,[Z.HANDS_CONFINEMENT_KEY]:Z.HANDS_CONFINEMENT,[Z.HANDS_JOBS_USER_KEY]:Z.HANDS_JOBS_USER,vm_hands:"v1"}}}}}var V=["fs.read","fs.write","fs.export","fs.import","exec.run","exec.full","process.list","ports.list","pty.start","jobs.control","automation.call.v1"],$j=new Set(["pty.start","jobs.control"]);function Xj(Q,j){let J=j([{id:"vm-hands",label:"workspace",path:T,pathFingerprint:"0".repeat(64),permissions:{read:!0,write:!0,execute:!0,discover_environment:!0,expose_mcp:!1}}],{worker:{executionMode:"unsandboxed",readiness:Object.fromEntries(V.map((z)=>[z,!0]))}}),Z=Q.capabilities,X={...Z.operation_constraints};for(let z of V)X[z]={...J.operation_constraints?.[z]??{},ready:!0,execution_mode:J.operation_constraints?.[z]?.execution_mode??"host"};return{...Q,capabilities:{...Z,supported_operations:["hands.connect",...V],operation_constraints:X}}}function zj(Q){for(let j of i("/etc/passwd","utf8").split(`
4
- `)){let J=j.split(":");if(J.length>=4&&Number(J[2])===Q&&/^\d+$/.test(J[3]??"")&&Number(J[3])>0)return Number(J[3])}throw Error("vm_hands_payload_account_unavailable")}function Fj(Q,j){let J=j.owner;if(!J||typeof J.organization_id!=="string"||typeof J.device_id!=="string"||typeof j.root_id!=="string")return null;return{version:4,apiOrigin:Q.api_origin,orgId:J.organization_id,deviceId:J.device_id,devicePublicKey:"",displayName:"vm-hands",registeredAt:new Date(0).toISOString(),handsSlots:1,roots:[{id:j.root_id,label:"workspace",path:T,pathFingerprint:"0".repeat(64),permissions:{read:!0,write:!0,execute:!0,discover_environment:!0,expose_mcp:!1}}]}}async function Mj(Q,j){y(P),y(O),Qj(j);let J=R(Q,j),Z=!1,X=async()=>{if(!await Promise.race([J.then(()=>!0),new Promise(($)=>setTimeout(()=>$(!1),u).unref?.())]))Z=!0,j("srt_warm_late",{wait_ms:u})},[{configureDesktopAccount:z},{configureWorkerSandbox:W}]=await Promise.all([import("./desktop-account-s4629ksd.js"),import("./worker-sandbox-bqwkytj2.js")]);W();try{z({value:String(Q.layout.payload_uid)})}catch{j("payload_account_unavailable"),await new Promise(()=>{setInterval(()=>{return},1073741824)})}let L=new AbortController;for(let q of["SIGTERM","SIGINT"])process.on(q,()=>L.abort());let F=new Map,H,g=new Promise((q)=>{H=q}),Y=g.then(()=>import("./vm-hands-executor-rt8r46bt.js")).then(({createVmHandsExecutor:q})=>{let $=q({init:Q,root:T,runtimeDirectory:P,apiOrigin:Q.api_origin,prespawn:!0,onSrtReset:()=>{Z=!1,J=R(Q,j)},srtWarmLate:()=>Z,forward:(B,K,N)=>F.get(B)?.(K,N)??Promise.reject(Error("vm_hands_not_bound")),log:(B,K)=>j(B,K)});return j("executor_loaded"),$}),A=(q)=>async(...$)=>(await Y)[q](...$),C=null;Y.then((q)=>{C=($)=>q.executorExited($)});let M={startExecutor:async(...q)=>{return await X(),A("startExecutor")(...q)},killAndVerifyPayload:A("killAndVerifyPayload"),killProbe:A("killProbe"),runProbe:async(...q)=>{return await X(),A("runProbe")(...q)},restatLayout:()=>{throw Error("replaced below")},installEnvironment:()=>{throw Error("replaced below")},executorExited:(q)=>C?C(q):new Promise(()=>{}),takeSrtFallbacks:()=>null};Y.then((q)=>{M.restatLayout=()=>q.restatLayout(),M.installEnvironment=($,B)=>q.installEnvironment($,B),M.freezeBind=($)=>q.freezeBind($),M.takeSrtFallbacks=()=>q.takeSrtFallbacks?.()??null});let c=await k(Q),o=new m(Q,c,M,{envRoot:O}),h=Zj(Q),b=null,n=Promise.all([h,import("./local-capabilities-px6n9wdf.js")]).then(([q,$])=>{b=Xj(q,$.capabilityInventoryForRoots),j("device_ops_loaded")}).catch((q)=>j("device_ops_unavailable",{error:q instanceof Error?q.name:"error"})),f=g.then(()=>import("./vm-hands-executor-rt8r46bt.js")).then(({createVmHandsOpRunners:q,vmHandsBindCgroup:$,VM_HANDS_PAYLOAD_CGROUP:B})=>q({payloadUid:Q.layout.payload_uid,payloadGid:zj(Q.layout.payload_uid),bindCgroup:(K)=>$(B,K),log:(K,N)=>j(K,N)})).catch(()=>null);f.then((q)=>q?.warm("person")),j("agent_ready"),await l({apiOrigin:Q.api_origin,agent:o,signal:L.signal,heartbeat:async()=>b??await h,executeOp:async({kind:q,claim:$,bindId:B,signal:K,emit:N})=>{let x=Fj(Q,$);if(!x)return{status:"failed",error_code:"vm_hands_bind_invalid"};let E={executionMode:"unsandboxed",runtimeDirectory:P,readiness:Object.fromEntries(V.map((U)=>[U,!0]))},_=(U)=>{let D=typeof U.kind==="string"?U.kind:"";if(D)N({kind:D,...U.data&&typeof U.data==="object"?{data:U.data}:{}})};if($.capability==="exec.full"&&q!=="person")return{status:"failed",error_code:"capability_not_granted"};if($.capability==="automation.call.v1"&&q!=="model")return{status:"failed",error_code:"capability_not_granted"};let r=$.capability==="pty.start"&&q==="person"&&!$.authority;if($j.has(String($.capability))&&!r){let{executeLocalOperation:U}=await import("./local-capabilities-px6n9wdf.js");return U(x,$,{worker:E,signal:K,emit:(D)=>_(D)})}let I=await f;if(!I)return{status:"failed",error_code:"vm_hands_payload_account_unavailable"};return I.run(q,{id:String($.attempt_id),claim:$,state:x,worker:E},_,K,B)},readyData:({launchId:q})=>({executor_launch_id:q}),log:(q,$)=>{if(q==="vm_hands.registered"||q==="vm_hands.reconnected")H();j(q,$)},onTurn:(q,$)=>{if($)F.set(q,$);else F.delete(q)}}),await(await Y).stop(),(await f)?.stop()}export{R as startBaseSrtServer,Mj as runVmHands,Lj as parseVmHandsInit,Zj as heartbeatBody,Qj as enableBaseKeyedSrt};
2
+ import{M as k,N as m,O as l}from"./vm-hands-entry-lite-3dx1yqhd.js";import{qd as v}from"./vm-hands-entry-lite-9k57wmkv.js";import"./vm-hands-entry-lite-mtp2h66e.js";import{qi as G}from"./vm-hands-entry-lite-px64jhhn.js";import{spawn as a}from"child_process";import{createHash as t}from"crypto";import{lstatSync as w,mkdirSync as s,readFileSync as i,statSync as e,writeFileSync as d}from"fs";var P="/run/reason-vm-hands",O="/run/reason-vm-hands/env",T="/home/runner/.reason/workspace",jj=/^https:\/\/[a-z0-9.-]+(?::\d{1,5})?$/,S="/sys/fs/cgroup/reason-srt",p="/usr/local/bin/ara-srt-exec",qj=65536,Jj=21600000;function Qj(Q,j="/run/ara-srt"){try{if((process.getuid?.()??-1)!==0)return;s(j,{recursive:!0,mode:448});let J=w(j);if(!J.isDirectory()||J.uid!==0||(J.mode&63)!==0){Q("srt_base_keyed_skipped",{reason:"socket_dir_unsafe"});return}d(`${j}/base-keyed`,`1
3
+ `,{mode:420}),Q("srt_base_keyed",{})}catch{Q("srt_base_keyed_skipped",{reason:"error"})}}function R(Q,j){let J=(F)=>{return j("srt_warm_skipped",{reason:F}),Promise.resolve()};if(typeof Q.srt_base_settings!=="string")return J("no_settings");let Z=Buffer.from(Q.srt_base_settings,"base64");if(Z.length===0||Z.length>qj||Z.toString("base64")!==Q.srt_base_settings)return J("settings_invalid");try{let F=w(S);if(!F.isDirectory()||F.uid!==0||(F.mode&18)!==0)return J("cgroup_unsafe");for(let[H,g]of[[p,!1],["/usr/local/bin",!0]]){let Y=w(H);if((g?!Y.isDirectory():!Y.isFile())||Y.uid!==0||(Y.mode&18)!==0)return J("srt_exec_unsafe")}}catch{return J("cgroup_or_exec_missing")}if((process.getuid?.()??-1)!==0)return J("not_root");let X=performance.now(),z=t("sha256").update(Z).digest("hex"),W=`${P}/srt-base-settings.json`;try{d(W,Z,{mode:384,flag:"w"})}catch{return J("settings_write")}let L=a("/bin/sh",["-c",`echo $$ > ${S}/cgroup.procs || exit 125; exec "$@"`,"vm-hands-srt",p,"--settings",W,"--idle-ms",String(Jj),"--","/bin/true"],{cwd:"/",env:{PATH:"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"},stdio:"ignore"});return new Promise((F)=>{L.once("error",()=>{j("srt_warm_failed",{reason:"spawn"}),F()}),L.once("close",(H)=>{j(H===0?"srt_warm_done":"srt_warm_failed",{exit_code:H,warm_ms:Math.round(performance.now()-X),settings_sha256:z}),F()})})}var u=3000;function Lj(Q){if(!Q||typeof Q!=="object"||Array.isArray(Q))return null;let j=Q,J=j.layout,Z=j.device_key,X=j.credential;return typeof j.workspace_id==="string"&&Number.isSafeInteger(j.instance_generation)&&typeof j.api_origin==="string"&&jj.test(j.api_origin)&&typeof j.manifest_digest==="string"&&!!X&&typeof X.key_id==="string"&&Number.isSafeInteger(X.expires_at_ms)&&typeof X.signature==="string"&&!!J&&typeof J.session_root==="string"&&typeof J.alias==="string"&&Number.isSafeInteger(J.payload_uid)&&typeof J.kind==="string"&&!!Z&&typeof Z.pkcs8==="string"&&typeof Z.spki==="string"?j:null}function y(Q){s(Q,{recursive:!0,mode:448});let j=e(Q);if(!j.isDirectory()||(j.mode&63)!==0||j.uid!==(process.getuid?.()??-1))throw Error(`vm_hands_runtime_directory_unsafe: ${Q}`)}async function Zj(Q){let[{CLI_VERSION:j},J,Z,X]=await Promise.all([import("./version-fx884bha.js"),import("./hands-worker-source-tc1snvve.js"),import("./network-contract-qxn4pg15.js"),import("./device-workspace-nqxczwd3.js")]),{REASON_HANDS_PROTOCOL_VERSION:z}=await import("./reason-hands-protocol-n14gyf7k.js");return{reason_runtime_version:j,bridge_version:j,protocol_version:v,execution_eligible:!0,instance_generation:Q.instance_generation,capabilities:{supported_operations:["hands.connect"],hands_worker_artifact_sha256:J.REASON_HANDS_WORKER_ARTIFACT_SHA256,hands_worker_entrypoint:J.REASON_HANDS_WORKER_ENTRYPOINT,hands_slots:1,max_payload_bytes:Z.LOCAL_OPERATION_MAX_BYTES,max_result_bytes:Z.LOCAL_OPERATION_MAX_BYTES,operation_constraints:{"hands.connect":{ready:!0,execution_mode:"host",transport:"wss_relay",worker:"ara_hands",slots:1,session_group:Z.HANDS_SESSION_GROUP,worker_version:J.REASON_HANDS_WORKER_VERSION,protocol_version:z,worker_artifact_sha256:J.REASON_HANDS_WORKER_ARTIFACT_SHA256,worker_entrypoint:J.REASON_HANDS_WORKER_ENTRYPOINT,policy_mode:"full_access",policy_version:1,workspace_base:X.REASON_WORKSPACE_BASE,workspace_layout:X.SESSION_WORKSPACE_LAYOUT,browser_state:"optional_headless",desktop:!1,max_session_ms:43200000,environment_delivery:Z.HANDS_ENVIRONMENT_DELIVERY,[Z.HANDS_ENVIRONMENT_AT_CLAIM_KEY]:Z.HANDS_ENVIRONMENT_AT_CLAIM,[Z.HANDS_CLOUD_ACCESS_KEY]:Z.HANDS_CLOUD_ACCESS,[Z.HANDS_LARGE_ENVIRONMENT_KEY]:Z.HANDS_LARGE_ENVIRONMENT,[Z.HANDS_CONFINEMENT_KEY]:Z.HANDS_CONFINEMENT,[Z.HANDS_JOBS_USER_KEY]:Z.HANDS_JOBS_USER,vm_hands:"v1"}}}}}var V=["fs.read","fs.write","fs.export","fs.import","exec.run","exec.full","process.list","ports.list","pty.start","jobs.control","automation.call.v1"],$j=new Set(["pty.start","jobs.control"]);function Xj(Q,j){let J=j([{id:"vm-hands",label:"workspace",path:T,pathFingerprint:"0".repeat(64),permissions:{read:!0,write:!0,execute:!0,discover_environment:!0,expose_mcp:!1}}],{worker:{executionMode:"unsandboxed",readiness:Object.fromEntries(V.map((z)=>[z,!0]))}}),Z=Q.capabilities,X={...Z.operation_constraints};for(let z of V)X[z]={...J.operation_constraints?.[z]??{},ready:!0,execution_mode:J.operation_constraints?.[z]?.execution_mode??"host"};return{...Q,capabilities:{...Z,supported_operations:["hands.connect",...V],operation_constraints:X}}}function zj(Q){for(let j of i("/etc/passwd","utf8").split(`
4
+ `)){let J=j.split(":");if(J.length>=4&&Number(J[2])===Q&&/^\d+$/.test(J[3]??"")&&Number(J[3])>0)return Number(J[3])}throw Error("vm_hands_payload_account_unavailable")}function Fj(Q,j){let J=j.owner;if(!J||typeof J.organization_id!=="string"||typeof J.device_id!=="string"||typeof j.root_id!=="string")return null;return{version:4,apiOrigin:Q.api_origin,orgId:J.organization_id,deviceId:J.device_id,devicePublicKey:"",displayName:"vm-hands",registeredAt:new Date(0).toISOString(),handsSlots:1,roots:[{id:j.root_id,label:"workspace",path:T,pathFingerprint:"0".repeat(64),permissions:{read:!0,write:!0,execute:!0,discover_environment:!0,expose_mcp:!1}}]}}async function Mj(Q,j){y(P),y(O),Qj(j);let J=R(Q,j),Z=!1,X=async()=>{if(!await Promise.race([J.then(()=>!0),new Promise(($)=>setTimeout(()=>$(!1),u).unref?.())]))Z=!0,j("srt_warm_late",{wait_ms:u})},[{configureDesktopAccount:z},{configureWorkerSandbox:W}]=await Promise.all([import("./desktop-account-a16gh9sj.js"),import("./worker-sandbox-1m0s1vnq.js")]);W();try{z({value:String(Q.layout.payload_uid)})}catch{j("payload_account_unavailable"),await new Promise(()=>{setInterval(()=>{return},1073741824)})}let L=new AbortController;for(let q of["SIGTERM","SIGINT"])process.on(q,()=>L.abort());let F=new Map,H,g=new Promise((q)=>{H=q}),Y=g.then(()=>import("./vm-hands-executor-05w9bb7k.js")).then(({createVmHandsExecutor:q})=>{let $=q({init:Q,root:T,runtimeDirectory:P,apiOrigin:Q.api_origin,prespawn:!0,onSrtReset:()=>{Z=!1,J=R(Q,j)},srtWarmLate:()=>Z,forward:(B,K,N)=>F.get(B)?.(K,N)??Promise.reject(Error("vm_hands_not_bound")),log:(B,K)=>j(B,K)});return j("executor_loaded"),$}),A=(q)=>async(...$)=>(await Y)[q](...$),C=null;Y.then((q)=>{C=($)=>q.executorExited($)});let M={startExecutor:async(...q)=>{return await X(),A("startExecutor")(...q)},killAndVerifyPayload:A("killAndVerifyPayload"),killProbe:A("killProbe"),runProbe:async(...q)=>{return await X(),A("runProbe")(...q)},restatLayout:()=>{throw Error("replaced below")},installEnvironment:()=>{throw Error("replaced below")},executorExited:(q)=>C?C(q):new Promise(()=>{}),takeSrtFallbacks:()=>null};Y.then((q)=>{M.restatLayout=()=>q.restatLayout(),M.installEnvironment=($,B)=>q.installEnvironment($,B),M.freezeBind=($)=>q.freezeBind($),M.takeSrtFallbacks=()=>q.takeSrtFallbacks?.()??null});let c=await k(Q),o=new m(Q,c,M,{envRoot:O}),h=Zj(Q),b=null,n=Promise.all([h,import("./local-capabilities-yhstjsc7.js")]).then(([q,$])=>{b=Xj(q,$.capabilityInventoryForRoots),j("device_ops_loaded")}).catch((q)=>j("device_ops_unavailable",{error:q instanceof Error?q.name:"error"})),f=g.then(()=>import("./vm-hands-executor-05w9bb7k.js")).then(({createVmHandsOpRunners:q,vmHandsBindCgroup:$,VM_HANDS_PAYLOAD_CGROUP:B})=>q({payloadUid:Q.layout.payload_uid,payloadGid:zj(Q.layout.payload_uid),bindCgroup:(K)=>$(B,K),log:(K,N)=>j(K,N)})).catch(()=>null);f.then((q)=>q?.warm("person")),j("agent_ready"),await l({apiOrigin:Q.api_origin,agent:o,signal:L.signal,heartbeat:async()=>b??await h,executeOp:async({kind:q,claim:$,bindId:B,signal:K,emit:N})=>{let x=Fj(Q,$);if(!x)return{status:"failed",error_code:"vm_hands_bind_invalid"};let E={executionMode:"unsandboxed",runtimeDirectory:P,readiness:Object.fromEntries(V.map((U)=>[U,!0]))},_=(U)=>{let D=typeof U.kind==="string"?U.kind:"";if(D)N({kind:D,...U.data&&typeof U.data==="object"?{data:U.data}:{}})};if($.capability==="exec.full"&&q!=="person")return{status:"failed",error_code:"capability_not_granted"};if($.capability==="automation.call.v1"&&q!=="model")return{status:"failed",error_code:"capability_not_granted"};let r=$.capability==="pty.start"&&q==="person"&&!$.authority;if($j.has(String($.capability))&&!r){let{executeLocalOperation:U}=await import("./local-capabilities-yhstjsc7.js");return U(x,$,{worker:E,signal:K,emit:(D)=>_(D)})}let I=await f;if(!I)return{status:"failed",error_code:"vm_hands_payload_account_unavailable"};return I.run(q,{id:String($.attempt_id),claim:$,state:x,worker:E},_,K,B)},readyData:({launchId:q})=>({executor_launch_id:q}),log:(q,$)=>{if(q==="vm_hands.registered"||q==="vm_hands.reconnected")H();j(q,$)},onTurn:(q,$)=>{if($)F.set(q,$);else F.delete(q)}}),await(await Y).stop(),(await f)?.stop()}export{R as startBaseSrtServer,Mj as runVmHands,Lj as parseVmHandsInit,Zj as heartbeatBody,Qj as enableBaseKeyedSrt};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{t as a}from"./vm-hands-entry-lite-hj6jjk24.js";import"./vm-hands-entry-lite-7kzy7rxj.js";import"./vm-hands-entry-lite-h01d2fbm.js";import"./vm-hands-entry-lite-t5h3g60g.js";import"./vm-hands-entry-lite-070nd0vy.js";import"./vm-hands-entry-lite-px64jhhn.js";export{a as configureWorkerSandbox};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reason-machines/cli-linux-arm64-musl",
3
- "version": "0.2.330",
3
+ "version": "0.2.331",
4
4
  "description": "Reason CLI native binary for linux-arm64-musl",
5
5
  "os": [
6
6
  "linux"
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{g as a,h as b,i as c,j as d,k as e,l as f,m as g,n as h,o as i,p as j,q as k,r as l,s as m}from"./vm-hands-entry-lite-qq1091m3.js";import"./vm-hands-entry-lite-pbnx8z9g.js";import"./vm-hands-entry-lite-ydjye6jz.js";import"./vm-hands-entry-lite-g5w3cema.js";import"./vm-hands-entry-lite-nj8bmc9y.js";import"./vm-hands-entry-lite-rd9vsaew.js";import"./vm-hands-entry-lite-n8gsyjq7.js";import"./vm-hands-entry-lite-9y8v419y.js";import"./vm-hands-entry-lite-abrbc7gf.js";import"./vm-hands-entry-lite-dj69r683.js";import"./vm-hands-entry-lite-rnwjp0tk.js";import"./vm-hands-entry-lite-669hk342.js";import"./vm-hands-entry-lite-j7ee0rr6.js";import"./vm-hands-entry-lite-ht03kzr3.js";import"./vm-hands-entry-lite-e5fatvff.js";import"./vm-hands-entry-lite-ngtfq7a3.js";import"./vm-hands-entry-lite-jz24p4jj.js";import"./vm-hands-entry-lite-tav4dt92.js";import"./vm-hands-entry-lite-sggk0bqc.js";import"./vm-hands-entry-lite-8afzattm.js";import"./vm-hands-entry-lite-djy0ww6h.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-dyqeaqzb.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{g as runDisconnectCli,f as runConnectCli,m as restartConnectionWhenIdle,l as restartConnection,h as logoutConnection,k as connectionUsesUserChrome,i as connectionReport,j as connectionForBrowserExtension,c as connectionDirectory,d as computerDisconnected,e as addConnectionFolder,b as DISCONNECT_HELP,a as CONNECT_HELP};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{kh as a,lh as b,mh as c,nh as d,oh as e}from"./vm-hands-entry-lite-djy0ww6h.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{b as passwdAccount,e as desktopHome,d as desktopAccount,c as configureDesktopAccount,a as DESKTOP_USER_ENV};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Db as a,Eb as b,Fb as c,Gb as d,Hb as e,Ib as f,Jb as g,Kb as h,Lb as i}from"./vm-hands-entry-lite-nj8bmc9y.js";import"./vm-hands-entry-lite-9y8v419y.js";import"./vm-hands-entry-lite-8afzattm.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{e as selectCloudChildPath,a as REASON_HANDS_WORKER_VERSION,h as REASON_HANDS_WORKER_SOURCE,b as REASON_HANDS_WORKER_ENTRYPOINT,i as REASON_HANDS_WORKER_ARTIFACT_SHA256,f as REASON_HANDS_MAC_PTY_MEMBER_SOURCE,g as REASON_HANDS_LINUX_PTY_PROBE_SOURCE,d as REASON_HANDS_CLOUD_CHILD_PATH_MACOS,c as REASON_HANDS_CLOUD_CHILD_PATH_LINUX};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Jc as a,Kc as b,Lc as c,Mc as d,Nc as e,Oc as f,Pc as g,Qc as h,Rc as i,Sc as j,Tc as k,Uc as l}from"./vm-hands-entry-lite-dj69r683.js";import"./vm-hands-entry-lite-rnwjp0tk.js";import"./vm-hands-entry-lite-669hk342.js";import"./vm-hands-entry-lite-j7ee0rr6.js";import"./vm-hands-entry-lite-ht03kzr3.js";import"./vm-hands-entry-lite-e5fatvff.js";import"./vm-hands-entry-lite-ngtfq7a3.js";import"./vm-hands-entry-lite-jz24p4jj.js";import"./vm-hands-entry-lite-tav4dt92.js";import"./vm-hands-entry-lite-sggk0bqc.js";import"./vm-hands-entry-lite-8afzattm.js";import"./vm-hands-entry-lite-djy0ww6h.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-dyqeaqzb.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{d as runRelayed,e as runMacComputerUse,l as runLocalAutomation,k as runAutomationCallLocally,b as parseAutomationPayload,g as localUserChromeProfiles,h as localUserChromeInstance,f as localUserChromeHost,j as localBrowserProfile,c as localAutomationAvailable,i as ensureLocalBrowser,a as AUTOMATION_CHUNK_BYTES};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{$ as l,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k,aa as m,ba as n,ca as o,da as p,ea as q,fa as r,ga as s,ha as t,ia as u}from"./vm-hands-entry-lite-ydjye6jz.js";import"./vm-hands-entry-lite-g5w3cema.js";import"./vm-hands-entry-lite-nj8bmc9y.js";import"./vm-hands-entry-lite-rd9vsaew.js";import"./vm-hands-entry-lite-n8gsyjq7.js";import{ac as b}from"./vm-hands-entry-lite-9y8v419y.js";import"./vm-hands-entry-lite-abrbc7gf.js";import"./vm-hands-entry-lite-dj69r683.js";import"./vm-hands-entry-lite-rnwjp0tk.js";import"./vm-hands-entry-lite-669hk342.js";import"./vm-hands-entry-lite-j7ee0rr6.js";import"./vm-hands-entry-lite-ht03kzr3.js";import"./vm-hands-entry-lite-e5fatvff.js";import"./vm-hands-entry-lite-ngtfq7a3.js";import"./vm-hands-entry-lite-jz24p4jj.js";import"./vm-hands-entry-lite-tav4dt92.js";import"./vm-hands-entry-lite-sggk0bqc.js";import"./vm-hands-entry-lite-8afzattm.js";import"./vm-hands-entry-lite-djy0ww6h.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-dyqeaqzb.js";import{Wh as a}from"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{g as spawnCaptured,f as sandboxProfile,e as safeEnvironment,k as runTransferCapability,i as runFileCapability,t as rebindLocalHandsControl,j as localGithubPreviewServerLaunch,b as isProtectedLocalPath,u as executeLocalOperation,m as enrolledWorkspaceRootFingerprint,q as enrolledRootPaths,p as enrolledHomeContainedRootFingerprints,n as enrolledAccountRootPath,o as enrolledAccountRootFingerprint,s as deliverLocalHandsEnvironment,h as defaultLocalCommandRunner,d as confinedExecutionShell,r as capabilityInventoryForRoots,c as SHORT_REQUEST_CAPABILITIES,a as LocalCapabilityError,l as LOCAL_CAPABILITY_REGISTRY};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Ph as a,Qh as b,Rh as c,Sh as d,Th as e,Uh as f,Vh as g}from"./vm-hands-entry-lite-dyqeaqzb.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{f as trackDesktopRun,c as releaseLocalDesktop,a as noteLocalDesktopUse,g as holdLocalDesktop,b as forgetLocalDesktopUse,e as DESKTOP_WAIT_MS,d as DESKTOP_IDLE_MS};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{nf as a,of as b,pf as c,qf as d,rf as e,sf as f,tf as g}from"./vm-hands-entry-lite-jz24p4jj.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{c as requestMacScreenAccess,d as parseMacWindowBounds,a as parseMacScreenStatus,e as openMacWindowBounds,g as openMacInput,b as macScreenStatus,f as MacInputTranslator};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Ae as f,Be as g,Ce as h,ve as a,we as b,xe as c,ye as d,ze as e}from"./vm-hands-entry-lite-j7ee0rr6.js";import"./vm-hands-entry-lite-ht03kzr3.js";import"./vm-hands-entry-lite-e5fatvff.js";import"./vm-hands-entry-lite-ngtfq7a3.js";import"./vm-hands-entry-lite-jz24p4jj.js";import"./vm-hands-entry-lite-tav4dt92.js";import"./vm-hands-entry-lite-sggk0bqc.js";import"./vm-hands-entry-lite-8afzattm.js";import"./vm-hands-entry-lite-djy0ww6h.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-dyqeaqzb.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{h as runLocalDisplayStream,f as privateDirectory,c as parseDisplayStreamPayload,e as localDisplayReady,d as localDisplayAvailable,g as ensureLinuxDesktop,a as LOCAL_DISPLAY_MAX_SESSION_MS,b as LINUX_WORKER_DISPLAY};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Af as g,Bf as h,Cf as i,Df as j,uf as a,vf as b,wf as c,xf as d,yf as e,zf as f}from"./vm-hands-entry-lite-tav4dt92.js";import"./vm-hands-entry-lite-sggk0bqc.js";import"./vm-hands-entry-lite-8afzattm.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{j as runLocalPtySession,e as resolvePtyWorkingDirectory,g as ptyRuntimeSupported,d as parsePtyStartPayload,h as defaultSpawnPty,f as defaultLoginShell,i as defaultConnect,a as LOCAL_PTY_MAX_SESSION_MS,c as LOCAL_PTY_MAX_SESSIONS,b as LOCAL_PTY_MAX_BUFFERED_OUTPUT_BYTES};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{A as a}from"./vm-hands-entry-lite-0yghpjef.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export default a();
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Ne as a,Oe as b,Pe as c,Qe as d,Re as e,Se as f,Te as g,Ue as h,Ve as i,We as j}from"./vm-hands-entry-lite-ht03kzr3.js";import"./vm-hands-entry-lite-e5fatvff.js";import"./vm-hands-entry-lite-ngtfq7a3.js";import"./vm-hands-entry-lite-jz24p4jj.js";import"./vm-hands-entry-lite-kbz9zfha.js";import"./vm-hands-entry-lite-n5ec0fjy.js";import"./vm-hands-entry-lite-40t7d4p5.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{j as runPermissionsCli,d as reasonIdentity,e as readMacPermissions,f as permissionsSummary,i as parsePermissionsArgs,c as fullDiskAccessTarget,g as formatMacPermissions,h as allowMacPermissions,a as PERMISSIONS_HELP,b as MAC_PERMISSION_IDS};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Xe as a,Ye as b,Ze as c,_e as d}from"./vm-hands-entry-lite-e5fatvff.js";import"./vm-hands-entry-lite-ngtfq7a3.js";import"./vm-hands-entry-lite-5a0kyaxa.js";export{c as compareCliVersions,d as cliAndAgentVersion,b as CLI_VERSION_PATTERN,a as CLI_VERSION};