@reason-machines/cli-linux-arm64 0.2.568 → 0.2.570

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 (76) hide show
  1. package/bin/reason +1 -1
  2. package/bin/vm-hands/agent-network-nswyx8m2.js +2 -0
  3. package/bin/vm-hands/{api-credentials-ntpwt7rg.js → api-credentials-kp2sjeds.js} +1 -1
  4. package/bin/vm-hands/api-h2pwjbr1.js +2 -0
  5. package/bin/vm-hands/{ask-relay-hfa5kzxn.js → ask-relay-eqv9sq9m.js} +2 -2
  6. package/bin/vm-hands/connect-cli-gc79h47t.js +2 -0
  7. package/bin/vm-hands/{credentials-nfx99zxr.js → credentials-gwh93z0q.js} +1 -1
  8. package/bin/vm-hands/{custom-endpoint-device-5047vdn3.js → custom-endpoint-device-fdemgypq.js} +1 -1
  9. package/bin/vm-hands/desktop-account-15zym6ze.js +2 -0
  10. package/bin/vm-hands/desktop-components-py12mt6g.js +2 -0
  11. package/bin/vm-hands/{hands-worker-source-8a4kh44t.js → hands-worker-source-vd87swg4.js} +1 -1
  12. package/bin/vm-hands/{install-receipt-rckwjqmt.js → install-receipt-7hvy0181.js} +1 -1
  13. package/bin/vm-hands/local-automation-bt51qn3g.js +2 -0
  14. package/bin/vm-hands/local-capabilities-q9jvmztz.js +2 -0
  15. package/bin/vm-hands/local-display-session-j807vr40.js +2 -0
  16. package/bin/vm-hands/local-display-video-3b5qegyk.js +2 -0
  17. package/bin/vm-hands/local-managed-process-48t1899b.js +2 -0
  18. package/bin/vm-hands/{local-pty-session-w0yhjdvz.js → local-pty-session-bk7pp5nb.js} +1 -1
  19. package/bin/vm-hands/{managed-runtime-e4cj6r2s.js → managed-runtime-v7fz5zzh.js} +1 -1
  20. package/bin/vm-hands/{network-auto-update-8f2745gk.js → network-auto-update-1pfqzgd6.js} +2 -2
  21. package/bin/vm-hands/{network-contract-ht0psj5j.js → network-contract-8fjtkgma.js} +1 -1
  22. package/bin/vm-hands/{network-sign-in-s00679q9.js → network-sign-in-xdx20n1p.js} +1 -1
  23. package/bin/vm-hands/{permissions-74rj58e1.js → permissions-19yptfxx.js} +1 -1
  24. package/bin/vm-hands/{reason-hands-protocol-9r62swp0.js → reason-hands-protocol-yga8dh1m.js} +1 -1
  25. package/bin/vm-hands/{serve-service-19s965ze.js → serve-service-1sp5n0cm.js} +1 -1
  26. package/bin/vm-hands/{status-099b2ec1.js → status-pbv2pezp.js} +6 -6
  27. package/bin/vm-hands/{version-avq09c5d.js → version-w7r1n5k3.js} +1 -1
  28. package/bin/vm-hands/{vm-hands-entry-lite-ksfd234v.js → vm-hands-entry-lite-10fwwbwj.js} +1 -1
  29. package/bin/vm-hands/{vm-hands-entry-lite-bbjsnjct.js → vm-hands-entry-lite-13pzgnj9.js} +1 -1
  30. package/bin/vm-hands/{vm-hands-entry-lite-fp3gaa2c.js → vm-hands-entry-lite-43ja1g10.js} +1 -1
  31. package/bin/vm-hands/{vm-hands-entry-lite-8s5n4wps.js → vm-hands-entry-lite-4x9p79j4.js} +1 -1
  32. package/bin/vm-hands/{vm-hands-entry-lite-vvhfaxpd.js → vm-hands-entry-lite-6dkjbe2b.js} +3 -3
  33. package/bin/vm-hands/{vm-hands-entry-lite-ezkb7f6j.js → vm-hands-entry-lite-7pj0tvht.js} +8 -8
  34. package/bin/vm-hands/{vm-hands-entry-lite-mktndd2r.js → vm-hands-entry-lite-7x2dnf35.js} +14 -14
  35. package/bin/vm-hands/{vm-hands-entry-lite-jm9jpj77.js → vm-hands-entry-lite-7z05qb3m.js} +11 -11
  36. package/bin/vm-hands/{vm-hands-entry-lite-bcz4qpp6.js → vm-hands-entry-lite-92qqzeas.js} +2 -2
  37. package/bin/vm-hands/{vm-hands-entry-lite-0xfme8gg.js → vm-hands-entry-lite-a4fn6ye1.js} +2 -2
  38. package/bin/vm-hands/vm-hands-entry-lite-a8pm6cqb.js +10 -0
  39. package/bin/vm-hands/{vm-hands-entry-lite-7jmt3q38.js → vm-hands-entry-lite-asyv9pk8.js} +2 -2
  40. package/bin/vm-hands/{vm-hands-entry-lite-t2rhwchw.js → vm-hands-entry-lite-cg84jcgd.js} +2 -2
  41. package/bin/vm-hands/{vm-hands-entry-lite-7aeqbfc8.js → vm-hands-entry-lite-ck130wm6.js} +2 -2
  42. package/bin/vm-hands/{vm-hands-entry-lite-vha0pf8k.js → vm-hands-entry-lite-ea3cts1t.js} +1 -1
  43. package/bin/vm-hands/{vm-hands-entry-lite-bt6skt4h.js → vm-hands-entry-lite-ef0ergar.js} +3 -3
  44. package/bin/vm-hands/{vm-hands-entry-lite-9meg54bs.js → vm-hands-entry-lite-epzkdacr.js} +4 -4
  45. package/bin/vm-hands/{vm-hands-entry-lite-3594pdj0.js → vm-hands-entry-lite-f6np7g11.js} +1 -1
  46. package/bin/vm-hands/{vm-hands-entry-lite-dhn0fs5e.js → vm-hands-entry-lite-g4e21m1g.js} +2 -2
  47. package/bin/vm-hands/{vm-hands-entry-lite-4kb5rq3d.js → vm-hands-entry-lite-hnsdwskm.js} +3 -3
  48. package/bin/vm-hands/{vm-hands-entry-lite-rpf4t8r4.js → vm-hands-entry-lite-m4zkvq9s.js} +15 -15
  49. package/bin/vm-hands/{vm-hands-entry-lite-kzygj0q8.js → vm-hands-entry-lite-mayj6bpv.js} +2 -2
  50. package/bin/vm-hands/{vm-hands-entry-lite-mzw2vcah.js → vm-hands-entry-lite-mkha0rqp.js} +96 -96
  51. package/bin/vm-hands/{vm-hands-entry-lite-1cdtev4n.js → vm-hands-entry-lite-pnx4zgd6.js} +1 -1
  52. package/bin/vm-hands/{vm-hands-entry-lite-bc9zq8gx.js → vm-hands-entry-lite-sk4qxvzq.js} +1 -1
  53. package/bin/vm-hands/{vm-hands-entry-lite-1as6h9ed.js → vm-hands-entry-lite-ttemn34n.js} +4 -4
  54. package/bin/vm-hands/{vm-hands-entry-lite-y2vqwds4.js → vm-hands-entry-lite-vgwm0t9m.js} +2 -2
  55. package/bin/vm-hands/{vm-hands-entry-lite-h5x725z8.js → vm-hands-entry-lite-w4vnk4tg.js} +6 -6
  56. package/bin/vm-hands/{vm-hands-entry-lite-8twdd0ff.js → vm-hands-entry-lite-yqzy5wp8.js} +1 -1
  57. package/bin/vm-hands/{vm-hands-entry-lite-2qh3rat2.js → vm-hands-entry-lite-ysmjfpef.js} +1 -1
  58. package/bin/vm-hands/{vm-hands-entry-lite-r131db1f.js → vm-hands-entry-lite-zhxpfb3n.js} +1 -1
  59. package/bin/vm-hands/{vm-hands-entry-lite-n9277v11.js → vm-hands-entry-lite-zm0707rq.js} +1 -1
  60. package/bin/vm-hands/vm-hands-entry-lite.js +2 -2
  61. package/bin/vm-hands/{vm-hands-executor-xd8v5v0e.js → vm-hands-executor-e75we703.js} +1 -1
  62. package/bin/vm-hands/{vm-hands-op-runner-nr4ncs4p.js → vm-hands-op-runner-86zndw34.js} +1 -1
  63. package/bin/vm-hands/{vm-hands-runtime-qvy5s122.js → vm-hands-runtime-ad8q3cjr.js} +3 -3
  64. package/bin/vm-hands/{worker-sandbox-2trfs79b.js → worker-sandbox-6aepsk73.js} +1 -1
  65. package/package.json +1 -1
  66. package/bin/vm-hands/agent-network-dw7yrrwt.js +0 -2
  67. package/bin/vm-hands/api-xvjq0bka.js +0 -2
  68. package/bin/vm-hands/connect-cli-2ja7aj4w.js +0 -2
  69. package/bin/vm-hands/desktop-account-d1g1m6yb.js +0 -2
  70. package/bin/vm-hands/desktop-components-577haqrs.js +0 -2
  71. package/bin/vm-hands/local-automation-fxdb4ynz.js +0 -2
  72. package/bin/vm-hands/local-capabilities-8fgrfpj4.js +0 -2
  73. package/bin/vm-hands/local-display-session-8b2hx1k6.js +0 -2
  74. package/bin/vm-hands/local-display-video-511qjgmq.js +0 -2
  75. package/bin/vm-hands/local-managed-process-h0fypn67.js +0 -2
  76. package/bin/vm-hands/vm-hands-entry-lite-rd7bm9we.js +0 -10
package/bin/reason CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/bin/reason
3
3
  size: 90294568 bytes
4
- sha256: e6a993abd056fcb66cf8d641f2160a760236698c5b390c39d9b2a55f9438a0b2
4
+ sha256: 605145f33a2bfcdceb01ef42a7d93f007dd24582e341a94ebbac571efa9a4313
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{ne,fl,ml,Xr,Qi,Nt}from"./vm-hands-entry-lite-a8pm6cqb.js";import"./vm-hands-entry-lite-zhxpfb3n.js";export{Nt as AgentNetwork,ne as AgentNetworkUnavailable,Xr as DaemonRefusal,ml as installedEngineVersion,fl as refreshEngine,Qi as sessionForgotten};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ut,el,Vn,ir}from"./vm-hands-entry-lite-8s5n4wps.js";import"./vm-hands-entry-lite-dhn0fs5e.js";import"./vm-hands-entry-lite-r131db1f.js";import"./vm-hands-entry-lite-4kb5rq3d.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-n9277v11.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{ut as apiOriginFromEnvironment,Vn as environmentApiKey,el as explicitApiOrigin,ir as resolveApiCredentials};
2
+ import{ut,el,Vn,ir}from"./vm-hands-entry-lite-4x9p79j4.js";import"./vm-hands-entry-lite-g4e21m1g.js";import"./vm-hands-entry-lite-zhxpfb3n.js";import"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{ut as apiOriginFromEnvironment,Vn as environmentApiKey,el as explicitApiOrigin,ir as resolveApiCredentials};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{C,io,ge}from"./vm-hands-entry-lite-g4e21m1g.js";import"./vm-hands-entry-lite-zhxpfb3n.js";import"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{C as ApiError,ge as ReasonApi,io as createMachineEnrollmentTicketWithToken};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Gn}from"./vm-hands-entry-lite-r131db1f.js";import{Fe,Qi,Nt}from"./vm-hands-entry-lite-rd7bm9we.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-0xfme8gg.js";import{g}from"./vm-hands-entry-lite-n9277v11.js";import{Kr}from"./vm-hands-entry-lite-vha0pf8k.js";import{createHash as q}from"crypto";import{existsSync as C,mkdirSync as K,readFileSync as x,rmSync as B,writeFileSync as H}from"fs";import{homedir as z}from"os";import{dirname as S,join as J}from"path";import{existsSync as G,mkdirSync as de,rmSync as he,writeFileSync as ue}from"fs";import{dirname as fe,join as Y}from"path";var U=(e)=>Y(e,".reason","do-not-track");function W(e){let t=e.DO_NOT_TRACK?.trim().toLowerCase();if(!t)return null;return t!=="0"&&t!=="false"}function N(e,t){return W(e)===!0||G(U(t))}var D=86400000,Q=60000,M=300000,X=300000,Z=5,j=5,ee=300,te=900000,E=21600000,ne=60000,y=(e)=>J(e,".reason","ask-relay.json"),m=(e)=>J(e,".reason","ask-relay-refused.json");async function w(){let{loadCredentials:e}=await import("./credentials-nfx99zxr.js"),t=e();return t?[t.apiOrigin,t.orgId,t.clientId].join("\x00"):""}var I=(e)=>q("sha256").update(e).digest("hex");function O(e){try{let t=JSON.parse(x(m(e),"utf8"));return typeof t.login==="string"&&typeof t.refusals==="number"&&typeof t.until==="number"?{login:t.login,refusals:t.refusals,until:t.until}:null}catch{return null}}function _(e,t){try{if(!t){B(m(e),{force:!0});return}if(!C(S(m(e))))K(S(m(e)),{recursive:!0});H(m(e),`${JSON.stringify(t)}
2
+ import{Gn}from"./vm-hands-entry-lite-zhxpfb3n.js";import{Fe,Qi,Nt}from"./vm-hands-entry-lite-a8pm6cqb.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import{g}from"./vm-hands-entry-lite-zm0707rq.js";import{Kr}from"./vm-hands-entry-lite-ea3cts1t.js";import{createHash as q}from"crypto";import{existsSync as C,mkdirSync as K,readFileSync as x,rmSync as B,writeFileSync as H}from"fs";import{homedir as z}from"os";import{dirname as S,join as J}from"path";import{existsSync as G,mkdirSync as de,rmSync as he,writeFileSync as ue}from"fs";import{dirname as fe,join as Y}from"path";var U=(e)=>Y(e,".reason","do-not-track");function W(e){let t=e.DO_NOT_TRACK?.trim().toLowerCase();if(!t)return null;return t!=="0"&&t!=="false"}function N(e,t){return W(e)===!0||G(U(t))}var D=86400000,Q=60000,M=300000,X=300000,Z=5,j=5,ee=300,te=900000,E=21600000,ne=60000,y=(e)=>J(e,".reason","ask-relay.json"),m=(e)=>J(e,".reason","ask-relay-refused.json");async function w(){let{loadCredentials:e}=await import("./credentials-gwh93z0q.js"),t=e();return t?[t.apiOrigin,t.orgId,t.clientId].join("\x00"):""}var I=(e)=>q("sha256").update(e).digest("hex");function O(e){try{let t=JSON.parse(x(m(e),"utf8"));return typeof t.login==="string"&&typeof t.refusals==="number"&&typeof t.until==="number"?{login:t.login,refusals:t.refusals,until:t.until}:null}catch{return null}}function _(e,t){try{if(!t){B(m(e),{force:!0});return}if(!C(S(m(e))))K(S(m(e)),{recursive:!0});H(m(e),`${JSON.stringify(t)}
3
3
  `,{mode:384})}catch{}}var se=300000,ie=8,re=300000,d=(e)=>`${e.agent}:${e.name}`;function p(e){try{let t=JSON.parse(x(y(e),"utf8"));return{sessions:Array.isArray(t.sessions)?t.sessions.filter((s)=>typeof s?.name==="string"&&typeof s.agent==="string"&&typeof s.usedAt==="number"):[],hosted:Array.isArray(t.hosted)?t.hosted.filter((s)=>typeof s?.name==="string"&&typeof s.agent==="string"&&typeof s.at==="number"):[]}}catch{return{sessions:[],hosted:[]}}}function P(e,t){try{if(!C(S(y(e))))K(S(y(e)),{recursive:!0});H(y(e),`${JSON.stringify(t)}
4
4
  `,{mode:384})}catch{}}var h=(e,t)=>new Promise((s)=>{if(t.aborted)return s();let n=setTimeout(i,e);n.unref?.();function i(){clearTimeout(n),t.removeEventListener("abort",i),s()}t.addEventListener("abort",i,{once:!0})});function T(e){let t=e?.status;return typeof t==="number"?t:null}var L=60000;function ae(e){return{address:e.address.slice(0,300),state:e.state.slice(0,40),note:e.note.slice(0,500)}}function oe(e){let t=Number.isFinite(e.sentAt)&&Math.abs(e.sentAt)<8640000000000000?e.sentAt:Date.now();return{id:e.id.slice(0,100),from:e.from.slice(0,300),from_agent:e.fromAgent?.slice(0,100)??null,to:e.to.slice(0,300),reply_to:e.replyTo?.slice(0,100)??null,sent_at:t,body:e.body.length>L?`${e.body.slice(0,L)}
5
- [cut: the answer was ${e.body.length} characters]`:e.body}}class V{network;api;home;signal;log;team;sessions=new Map;readers=new Set;hosted=new Map;addresses=new Map;reclaimed=new Map;reportSoon=!1;constructor(e,t,s,n,i,r){this.network=e;this.api=t;this.home=s;this.signal=n;this.log=i;this.team=r}async run(){let e=Date.now()-D,t=p(this.home);for(let l of t.hosted)if(Date.now()-l.at<=M)this.hosted.set(d(l),l);for(let l of[...t.sessions.filter((u)=>u.usedAt>e),...this.hosted.values()])this.read(l);let s=0,n=0,i=-1/0,r=-1/0,a=-1/0,o=O(this.home);if(o)if(o.login===I(await w()))n=o.refusals,await this.untilSignedInAgain(Math.min(E,o.until-Date.now()));else _(this.home,null);while(!this.signal.aborted){let l=await this.network.team().catch(()=>null);if(!l){await h(60000,this.signal);continue}if(this.team!==null&&l.name!==this.team)return;if(this.team===null&&Date.now()-r>=re)r=Date.now(),this.sendLink();let u,F=new Date(Date.now()+86400000).toISOString().slice(0,10),v=Date.now()-i>=se&&!N(process.env,this.home)?l.messageCounts?.filter((c)=>c.day<=F).slice(-ie):void 0,R=this.reportSoon||Date.now()-a>=Q;this.reportSoon=!1;try{let c=await this.api.claimAgentNetworkRelayJob({machine:l.machine,person:l.person,...this.onNetwork(l),version:g,wait_seconds:Gn,...v?.length?{message_counts:v,...l.endpoint?{endpoint:l.endpoint}:{}}:{},...R?{hosted:this.hostedReport()}:{}},AbortSignal.any([this.signal,AbortSignal.timeout((Gn+20)*1000)]));if(v?.length)i=Date.now();if(R)a=Date.now();if(c.hosted)this.carryHosted(c.hosted);if(s=0,n>0)_(this.home,null);if(n=0,c.retry_after_seconds)await h(c.retry_after_seconds*1000,this.signal);u=c.job}catch(c){if(this.signal.aborted)return;let f=T(c);if(f===401){let A=I(await w()),b=O(this.home);n=Math.max(n,b?.login===A?b.refusals:0)+1;let k=Math.min(E,te*2**Math.min(n-1,10));_(this.home,{login:A,refusals:n,until:Date.now()+k}),await this.untilSignedInAgain(k);continue}if(f===403){await h(900000,this.signal);continue}if(f===404||f===405){await h(120000,this.signal);continue}s+=1,await h(Math.min(60000,1000*2**Math.min(s,6)),this.signal);continue}if(u)this.carry(u)}}linkSends={sent:null,refused:null};async sendLink(){try{let{sendTeamLink:e}=await import("./network-sign-in-s00679q9.js");this.linkSends=await e(this.network,this.linkSends,this.home,this.api)}catch{}}onNetwork(e){return{team:e.name,...e.teamId?{team_id:e.teamId}:{},...this.team===null?{workspace:!1}:{}}}async untilSignedInAgain(e){let t=await w(),s=Date.now()+e;while(!this.signal.aborted&&Date.now()<s)if(await h(Math.min(ne,Math.max(0,s-Date.now())),this.signal),await w()!==t)return}async carry(e){let t;try{t=e.kind==="who"?{who:await this.who(e)}:{sent:await this.send(e)}}catch(s){t={error:s instanceof Error?s.message:String(s)}}for(let s=1;;s+=1)try{if(await this.api.completeAgentNetworkRelayJob(e.id,t),e.kind==="send")this.log(Fe(`relayed a message to ${e.to} from ${"sent"in t?t.sent.from:e.from_name}`),"relayed");return}catch(n){if(s>=4||this.signal.aborted){this.log(Fe(`couldn't report a relayed call: ${n instanceof Error?n.message:String(n)}`));return}await h(s*1000,this.signal)}}async who(e){let t=e.all===!0,s=await this.network.snapshot({all:t});return{all:t,team:s.team,sessions:s.sessions.map((n)=>({address:n.address,person:n.person,machine:n.machine,agent:n.agent,repo:n.repo,branch:n.branch,status:n.status,since:n.since,doing:n.doing,worker:n.worker,...n.tier?{tier:n.tier.slice(0,10)}:{}})),machines:s.machines.map((n)=>({person:n.person,machine:n.machine,online:n.online}))}}hostedReport(){return[...this.hosted.values()].filter((e)=>this.wanted(e)).slice(0,50).map((e)=>{let t=this.addresses.get(d(e));return{name:e.name,...t?{address:t}:{}}})}carryHosted(e){let t=Date.now(),s=new Map(e.map((n)=>[d(n),{name:n.name,agent:n.agent,at:t}]));for(let[n,i]of this.hosted){if(s.has(n))continue;this.hosted.delete(n),this.letGo(i)}for(let[n,i]of s){if(this.hosted.has(n))this.sessions.get(n)?.then((r)=>r.idle()).catch(()=>{});this.hosted.set(n,i),this.read(i)}P(this.home,{...p(this.home),hosted:[...this.hosted.values()]})}letGo(e){if(this.wanted(e))return;let t=d(e),s=this.sessions.get(t);this.sessions.delete(t),this.addresses.delete(t),this.reclaimed.delete(t),s?.then(async(n)=>{for(let i=0;i<j;i+=1){let r=await n.next(Z).catch(()=>[]);if(r.length===0||!await this.handOver(e,n,r,!0).then(()=>!0,()=>!1))break}if(!this.sessions.has(t))await n.end()}).catch(()=>{})}async reclaim(e,t){let s=d(e);if(!this.hosted.has(s)||t.address.slice(t.address.indexOf("/")+1)===e.name)return;if(Date.now()-(this.reclaimed.get(s)??-1/0)<X)return;if(this.reclaimed.set(s,Date.now()),!await t.rename(e.name).then(()=>!0,()=>!1))return;this.addresses.set(s,t.address),this.reportSoon=!0}wanted(e){let t=this.hosted.get(d(e));if(t&&Date.now()-t.at<=M)return!0;let s=p(this.home).sessions.find((n)=>n.name===e.name&&n.agent===e.agent)?.usedAt??0;return Date.now()-s<=D}async send(e){let t={name:e.from_name,agent:e.from_agent},{session:s,result:n}=await this.withSession(t,(i)=>i.send(e.to,e.body,e.reply_to,{notify:e.notify===!0}));return this.remember(t),this.read(t),{ids:n.ids,recipients:n.recipients,from:s.address,deliveries:n.deliveries.slice(0,500).map(ae)}}async withSession(e,t,s=()=>!0){let n=this.session(e),i=await n;try{return{session:i,result:await t(i)}}catch(r){if(!Qi(r)||!s())throw r;let a=d(e);if(this.sessions.get(a)===n)this.sessions.delete(a);let o=await this.session(e);return{session:o,result:await t(o)}}}session(e){let t=d(e),s=this.sessions.get(t);if(!s)s=this.network.session(e.name,{agent:e.agent}).then(async(n)=>(this.addresses.set(t,n.address),await n.idle(`personal agent (${e.agent}), through Reason`).catch(()=>{}),n)),s.catch(()=>this.sessions.delete(t)),this.sessions.set(t,s);return s}remember(e){let t=p(this.home),s=t.sessions.filter((n)=>n.name!==e.name||n.agent!==e.agent);P(this.home,{...t,sessions:[...s,{...e,usedAt:Date.now()}].slice(-50)})}async handOver(e,t,s,n){let i=await this.network.team();if(!i)throw Error("not on a team");let r=n?{session:e.name,machine:i.machine}:{};await this.api.recordAgentNetworkRelayReplies({messages:s.map(oe),...this.onNetwork(i),...r}).catch((a)=>{let o=T(a);if(o===null||o>=500||o===429||o===401)throw a;this.log(`dropped ${s.length} answer(s) the server refused (HTTP ${o})`)}),await t.ack(s.map((a)=>a.id))}read(e){let t=d(e);if(this.readers.has(t))return;this.readers.add(t),(async()=>{let s=0;try{while(!this.signal.aborted&&this.wanted(e))try{let n=this.hosted.has(t),{session:i,result:r}=await this.withSession(e,async(a)=>(await this.reclaim(e,a),await a.next(ee)),()=>this.wanted(e));if(r.length===0)continue;await this.handOver(e,i,r,n||this.hosted.has(t)),s=0}catch{if(this.signal.aborted)return;s+=1,await h(Math.min(60000,1000*2**Math.min(s,6)),this.signal)}}finally{if(this.readers.delete(t),!this.signal.aborted&&this.hosted.has(t)&&!this.wanted(e))this.hosted.delete(t),this.letGo(e)}})()}}async function le(e){await new V(e.network,e.api,e.home??z(),e.signal,e.log??(()=>{}),e.team).run()}async function De(e,t=()=>{}){let s="";while(!e.aborted){try{let n=Nt.openInstalled();if(n)try{let[{resolveApiCredentials:i},{ReasonApi:r}]=await Promise.all([import("./api-credentials-ntpwt7rg.js"),import("./api-xvjq0bka.js")]),a=await i({});if(a&&a.credentialKind!=="api_key"){let o=Kr(),l=o&&a.orgId.toLowerCase()===o.orgId.toLowerCase()?o.team:null;await le({network:n,api:new r(a),team:l,signal:e,log:t})}}finally{n.close()}s=""}catch(n){let i=Fe(`agent network relay: ${n instanceof Error?n.message:String(n)}`);if(i!==s)t(i);s=i}await h(300000,e)}}export{De as runBackgroundAskRelay};
5
+ [cut: the answer was ${e.body.length} characters]`:e.body}}class V{network;api;home;signal;log;team;sessions=new Map;readers=new Set;hosted=new Map;addresses=new Map;reclaimed=new Map;reportSoon=!1;constructor(e,t,s,n,i,r){this.network=e;this.api=t;this.home=s;this.signal=n;this.log=i;this.team=r}async run(){let e=Date.now()-D,t=p(this.home);for(let l of t.hosted)if(Date.now()-l.at<=M)this.hosted.set(d(l),l);for(let l of[...t.sessions.filter((u)=>u.usedAt>e),...this.hosted.values()])this.read(l);let s=0,n=0,i=-1/0,r=-1/0,a=-1/0,o=O(this.home);if(o)if(o.login===I(await w()))n=o.refusals,await this.untilSignedInAgain(Math.min(E,o.until-Date.now()));else _(this.home,null);while(!this.signal.aborted){let l=await this.network.team().catch(()=>null);if(!l){await h(60000,this.signal);continue}if(this.team!==null&&l.name!==this.team)return;if(this.team===null&&Date.now()-r>=re)r=Date.now(),this.sendLink();let u,F=new Date(Date.now()+86400000).toISOString().slice(0,10),v=Date.now()-i>=se&&!N(process.env,this.home)?l.messageCounts?.filter((c)=>c.day<=F).slice(-ie):void 0,R=this.reportSoon||Date.now()-a>=Q;this.reportSoon=!1;try{let c=await this.api.claimAgentNetworkRelayJob({machine:l.machine,person:l.person,...this.onNetwork(l),version:g,wait_seconds:Gn,...v?.length?{message_counts:v,...l.endpoint?{endpoint:l.endpoint}:{}}:{},...R?{hosted:this.hostedReport()}:{}},AbortSignal.any([this.signal,AbortSignal.timeout((Gn+20)*1000)]));if(v?.length)i=Date.now();if(R)a=Date.now();if(c.hosted)this.carryHosted(c.hosted);if(s=0,n>0)_(this.home,null);if(n=0,c.retry_after_seconds)await h(c.retry_after_seconds*1000,this.signal);u=c.job}catch(c){if(this.signal.aborted)return;let f=T(c);if(f===401){let A=I(await w()),b=O(this.home);n=Math.max(n,b?.login===A?b.refusals:0)+1;let k=Math.min(E,te*2**Math.min(n-1,10));_(this.home,{login:A,refusals:n,until:Date.now()+k}),await this.untilSignedInAgain(k);continue}if(f===403){await h(900000,this.signal);continue}if(f===404||f===405){await h(120000,this.signal);continue}s+=1,await h(Math.min(60000,1000*2**Math.min(s,6)),this.signal);continue}if(u)this.carry(u)}}linkSends={sent:null,refused:null};async sendLink(){try{let{sendTeamLink:e}=await import("./network-sign-in-xdx20n1p.js");this.linkSends=await e(this.network,this.linkSends,this.home,this.api)}catch{}}onNetwork(e){return{team:e.name,...e.teamId?{team_id:e.teamId}:{},...this.team===null?{workspace:!1}:{}}}async untilSignedInAgain(e){let t=await w(),s=Date.now()+e;while(!this.signal.aborted&&Date.now()<s)if(await h(Math.min(ne,Math.max(0,s-Date.now())),this.signal),await w()!==t)return}async carry(e){let t;try{t=e.kind==="who"?{who:await this.who(e)}:{sent:await this.send(e)}}catch(s){t={error:s instanceof Error?s.message:String(s)}}for(let s=1;;s+=1)try{if(await this.api.completeAgentNetworkRelayJob(e.id,t),e.kind==="send")this.log(Fe(`relayed a message to ${e.to} from ${"sent"in t?t.sent.from:e.from_name}`),"relayed");return}catch(n){if(s>=4||this.signal.aborted){this.log(Fe(`couldn't report a relayed call: ${n instanceof Error?n.message:String(n)}`));return}await h(s*1000,this.signal)}}async who(e){let t=e.all===!0,s=await this.network.snapshot({all:t});return{all:t,team:s.team,sessions:s.sessions.map((n)=>({address:n.address,person:n.person,machine:n.machine,agent:n.agent,repo:n.repo,branch:n.branch,status:n.status,since:n.since,doing:n.doing,worker:n.worker,...n.tier?{tier:n.tier.slice(0,10)}:{}})),machines:s.machines.map((n)=>({person:n.person,machine:n.machine,online:n.online}))}}hostedReport(){return[...this.hosted.values()].filter((e)=>this.wanted(e)).slice(0,50).map((e)=>{let t=this.addresses.get(d(e));return{name:e.name,...t?{address:t}:{}}})}carryHosted(e){let t=Date.now(),s=new Map(e.map((n)=>[d(n),{name:n.name,agent:n.agent,at:t}]));for(let[n,i]of this.hosted){if(s.has(n))continue;this.hosted.delete(n),this.letGo(i)}for(let[n,i]of s){if(this.hosted.has(n))this.sessions.get(n)?.then((r)=>r.idle()).catch(()=>{});this.hosted.set(n,i),this.read(i)}P(this.home,{...p(this.home),hosted:[...this.hosted.values()]})}letGo(e){if(this.wanted(e))return;let t=d(e),s=this.sessions.get(t);this.sessions.delete(t),this.addresses.delete(t),this.reclaimed.delete(t),s?.then(async(n)=>{for(let i=0;i<j;i+=1){let r=await n.next(Z).catch(()=>[]);if(r.length===0||!await this.handOver(e,n,r,!0).then(()=>!0,()=>!1))break}if(!this.sessions.has(t))await n.end()}).catch(()=>{})}async reclaim(e,t){let s=d(e);if(!this.hosted.has(s)||t.address.slice(t.address.indexOf("/")+1)===e.name)return;if(Date.now()-(this.reclaimed.get(s)??-1/0)<X)return;if(this.reclaimed.set(s,Date.now()),!await t.rename(e.name).then(()=>!0,()=>!1))return;this.addresses.set(s,t.address),this.reportSoon=!0}wanted(e){let t=this.hosted.get(d(e));if(t&&Date.now()-t.at<=M)return!0;let s=p(this.home).sessions.find((n)=>n.name===e.name&&n.agent===e.agent)?.usedAt??0;return Date.now()-s<=D}async send(e){let t={name:e.from_name,agent:e.from_agent},{session:s,result:n}=await this.withSession(t,(i)=>i.send(e.to,e.body,e.reply_to,{notify:e.notify===!0}));return this.remember(t),this.read(t),{ids:n.ids,recipients:n.recipients,from:s.address,deliveries:n.deliveries.slice(0,500).map(ae)}}async withSession(e,t,s=()=>!0){let n=this.session(e),i=await n;try{return{session:i,result:await t(i)}}catch(r){if(!Qi(r)||!s())throw r;let a=d(e);if(this.sessions.get(a)===n)this.sessions.delete(a);let o=await this.session(e);return{session:o,result:await t(o)}}}session(e){let t=d(e),s=this.sessions.get(t);if(!s)s=this.network.session(e.name,{agent:e.agent}).then(async(n)=>(this.addresses.set(t,n.address),await n.idle(`personal agent (${e.agent}), through Reason`).catch(()=>{}),n)),s.catch(()=>this.sessions.delete(t)),this.sessions.set(t,s);return s}remember(e){let t=p(this.home),s=t.sessions.filter((n)=>n.name!==e.name||n.agent!==e.agent);P(this.home,{...t,sessions:[...s,{...e,usedAt:Date.now()}].slice(-50)})}async handOver(e,t,s,n){let i=await this.network.team();if(!i)throw Error("not on a team");let r=n?{session:e.name,machine:i.machine}:{};await this.api.recordAgentNetworkRelayReplies({messages:s.map(oe),...this.onNetwork(i),...r}).catch((a)=>{let o=T(a);if(o===null||o>=500||o===429||o===401)throw a;this.log(`dropped ${s.length} answer(s) the server refused (HTTP ${o})`)}),await t.ack(s.map((a)=>a.id))}read(e){let t=d(e);if(this.readers.has(t))return;this.readers.add(t),(async()=>{let s=0;try{while(!this.signal.aborted&&this.wanted(e))try{let n=this.hosted.has(t),{session:i,result:r}=await this.withSession(e,async(a)=>(await this.reclaim(e,a),await a.next(ee)),()=>this.wanted(e));if(r.length===0)continue;await this.handOver(e,i,r,n||this.hosted.has(t)),s=0}catch{if(this.signal.aborted)return;s+=1,await h(Math.min(60000,1000*2**Math.min(s,6)),this.signal)}}finally{if(this.readers.delete(t),!this.signal.aborted&&this.hosted.has(t)&&!this.wanted(e))this.hosted.delete(t),this.letGo(e)}})()}}async function le(e){await new V(e.network,e.api,e.home??z(),e.signal,e.log??(()=>{}),e.team).run()}async function De(e,t=()=>{}){let s="";while(!e.aborted){try{let n=Nt.openInstalled();if(n)try{let[{resolveApiCredentials:i},{ReasonApi:r}]=await Promise.all([import("./api-credentials-kp2sjeds.js"),import("./api-h2pwjbr1.js")]),a=await i({});if(a&&a.credentialKind!=="api_key"){let o=Kr(),l=o&&a.orgId.toLowerCase()===o.orgId.toLowerCase()?o.team:null;await le({network:n,api:new r(a),team:l,signal:e,log:t})}}finally{n.close()}s=""}catch(n){let i=Fe(`agent network relay: ${n instanceof Error?n.message:String(n)}`);if(i!==s)t(i);s=i}await h(300000,e)}}export{De as runBackgroundAskRelay};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{me,eo,gl,_l,to,yl,wl}from"./vm-hands-entry-lite-mkha0rqp.js";import"./vm-hands-entry-lite-kankyeep.js";import"./vm-hands-entry-lite-ck130wm6.js";import"./vm-hands-entry-lite-w4vnk4tg.js";import"./vm-hands-entry-lite-4x9p79j4.js";import"./vm-hands-entry-lite-g4e21m1g.js";import"./vm-hands-entry-lite-zhxpfb3n.js";import"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-m4zkvq9s.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-asyv9pk8.js";import"./vm-hands-entry-lite-7x2dnf35.js";import"./vm-hands-entry-lite-13pzgnj9.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-mayj6bpv.js";import"./vm-hands-entry-lite-7z05qb3m.js";import"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-7pj0tvht.js";import"./vm-hands-entry-lite-yqzy5wp8.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{eo as computerDisconnected,me as connectionDirectory,to as connectionReport,yl as restartConnection,wl as restartConnectionWhenIdle,gl as runConnectCli,_l as runDisconnectCli};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Q,so,ve,ao}from"./vm-hands-entry-lite-4kb5rq3d.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{Q as credentialsPath,ao as deleteCredentials,ve as loadCredentials,so as saveCredentials};
2
+ import{Q,so,Se,ao}from"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{Q as credentialsPath,ao as deleteCredentials,Se as loadCredentials,so as saveCredentials};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{rr,Br,Un,Ki,Fr,jr,pa,Ji,ha,fa,Hr}from"./vm-hands-entry-lite-1cdtev4n.js";export{rr as CUSTOM_ENDPOINT_DEVICE_CAPABILITY,Br as CUSTOM_ENDPOINT_DEVICE_CHUNK_BYTES,Fr as CUSTOM_ENDPOINT_DEVICE_MAX_BODY_BYTES,Ki as CUSTOM_ENDPOINT_DEVICE_MAX_CHUNKS,jr as CUSTOM_ENDPOINT_DEVICE_MAX_PAYLOAD_BYTES,Un as CUSTOM_ENDPOINT_DEVICE_MAX_RESPONSE_BYTES,pa as CUSTOM_ENDPOINT_DEVICE_TIMEOUT_MS,fa as CustomEndpointDeviceCredentialSchema,ha as CustomEndpointDeviceRequestSchema,Ji as customEndpointRequestMatchesConfig,Hr as isCustomEndpointDeviceFailureCode};
2
+ import{rr,Br,Un,Ki,Fr,jr,pa,Ji,ha,fa,Hr}from"./vm-hands-entry-lite-pnx4zgd6.js";export{rr as CUSTOM_ENDPOINT_DEVICE_CAPABILITY,Br as CUSTOM_ENDPOINT_DEVICE_CHUNK_BYTES,Fr as CUSTOM_ENDPOINT_DEVICE_MAX_BODY_BYTES,Ki as CUSTOM_ENDPOINT_DEVICE_MAX_CHUNKS,jr as CUSTOM_ENDPOINT_DEVICE_MAX_PAYLOAD_BYTES,Un as CUSTOM_ENDPOINT_DEVICE_MAX_RESPONSE_BYTES,pa as CUSTOM_ENDPOINT_DEVICE_TIMEOUT_MS,fa as CustomEndpointDeviceCredentialSchema,ha as CustomEndpointDeviceRequestSchema,Ji as customEndpointRequestMatchesConfig,Hr as isCustomEndpointDeviceFailureCode};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{kr,de,ns}from"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{kr as configureDesktopAccount,de as desktopAccount,ns as desktopHome};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Sr,Er,A,Qo,es,ts,rs}from"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{Sr as USER_CHROME_SOCKET_DIR,Er as desktopPaths,rs as desktopProfileAction,Qo as desktopVideoIdentity,es as downloadVerified,ts as keepDesktopMinimal,A as readDesktopComponents};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{U,H,nl,T,To}from"./vm-hands-entry-lite-bbjsnjct.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-bc9zq8gx.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{T as REASON_HANDS_WORKER_ARTIFACT_SHA256,H as REASON_HANDS_WORKER_ENTRYPOINT,nl as REASON_HANDS_WORKER_SOURCE,To as REASON_HANDS_WORKER_STARTUP_REFUSALS,U as REASON_HANDS_WORKER_VERSION};
2
+ import{U,H,nl,T,To}from"./vm-hands-entry-lite-13pzgnj9.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{T as REASON_HANDS_WORKER_ARTIFACT_SHA256,H as REASON_HANDS_WORKER_ENTRYPOINT,nl as REASON_HANDS_WORKER_SOURCE,To as REASON_HANDS_WORKER_STARTUP_REFUSALS,U as REASON_HANDS_WORKER_VERSION};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ol,ot,vc,Pl,cs,Mi,We}from"./vm-hands-entry-lite-8twdd0ff.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{ol as FUTURE_DEVICE_CONSENT_SCOPE,Pl as INSTALLER_WORKER_EXECUTABLES,ot as installationReceiptPath,vc as installerLauncherNames,Mi as installerReasonAlias,cs as installerReceiptLauncher,We as loadInstallationReceipt};
2
+ import{ol,ot,vc,Pl,cs,Mi,We}from"./vm-hands-entry-lite-yqzy5wp8.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{ol as FUTURE_DEVICE_CONSENT_SCOPE,Pl as INSTALLER_WORKER_EXECUTABLES,ot as installationReceiptPath,vc as installerLauncherNames,Mi as installerReasonAlias,cs as installerReceiptLauncher,We as loadInstallationReceipt};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{hr,No,Lo,$o,Cl,Mo}from"./vm-hands-entry-lite-mayj6bpv.js";import"./vm-hands-entry-lite-7z05qb3m.js";import"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-7pj0tvht.js";import"./vm-hands-entry-lite-yqzy5wp8.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{Lo as ensureLocalBrowser,hr as localAutomationAvailable,$o as localBrowserProfile,No as localUserChromeHost,Cl as runAutomationCallLocally,Mo as runLocalAutomation};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Qr,en,fo,Kn,tl,rl,Jn,mo,go,_o,Xn}from"./vm-hands-entry-lite-m4zkvq9s.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-asyv9pk8.js";import"./vm-hands-entry-lite-7x2dnf35.js";import"./vm-hands-entry-lite-13pzgnj9.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-mayj6bpv.js";import"./vm-hands-entry-lite-7z05qb3m.js";import"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-7pj0tvht.js";import"./vm-hands-entry-lite-yqzy5wp8.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import{r}from"./vm-hands-entry-lite-qy9xg6em.js";export{r as LocalCapabilityError,Qr as SHORT_REQUEST_CAPABILITIES,mo as capabilityInventoryForRoots,en as confinedExecutionShell,Kn as defaultLocalCommandRunner,go as deliverLocalHandsEnvironment,Jn as enrolledRootPaths,Xn as executeLocalOperation,_o as rebindLocalHandsControl,tl as runFileCapability,rl as runTransferCapability,fo as spawnCaptured};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{dn,Bo,Te,jt,pn}from"./vm-hands-entry-lite-7z05qb3m.js";import"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{jt as ensureLinuxDesktop,dn as localDisplayAvailable,Bo as localDisplayReady,Te as privateDirectory,pn as runLocalDisplayStream};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Ko,Jo,Xo,Yo,Jt}from"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{Ko as MAC_SCREEN,Jo as WINDOWS_SCREEN,Xo as createDisplayVideoLane,Jt as localDisplayVideoAvailable,Yo as simulatorVideoFfmpeg};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{lr,ei,bo,ti}from"./vm-hands-entry-lite-asyv9pk8.js";import"./vm-hands-entry-lite-7x2dnf35.js";import"./vm-hands-entry-lite-13pzgnj9.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{lr as ManagedProcessStoppedError,bo as controlManagedDeviceProcess,ti as retireManagedDeviceProcess,ei as runManagedDeviceProcess};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{wi,hn,bi,il,Fo,vi,jo}from"./vm-hands-entry-lite-3594pdj0.js";import"./vm-hands-entry-lite-1as6h9ed.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-bc9zq8gx.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{hn as LOCAL_PTY_MAX_BUFFERED_OUTPUT_BYTES,bi as LOCAL_PTY_MAX_SESSIONS,wi as LOCAL_PTY_MAX_SESSION_MS,vi as defaultConnect,il as defaultLoginShell,Fo as ptyRuntimeSupported,jo as runLocalPtySession};
2
+ import{wi,hn,bi,il,Fo,vi,jo}from"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{hn as LOCAL_PTY_MAX_BUFFERED_OUTPUT_BYTES,bi as LOCAL_PTY_MAX_SESSIONS,wi as LOCAL_PTY_MAX_SESSION_MS,vi as defaultConnect,il as defaultLoginShell,Fo as ptyRuntimeSupported,jo as runLocalPtySession};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Qc,Lt,bl,Yr,vl,Sl,Ze,El,kl,ie,xl,N,no}from"./vm-hands-entry-lite-h5x725z8.js";import"./vm-hands-entry-lite-2927z566.js";import{vn,Oi}from"./vm-hands-entry-lite-sb1xtqxr.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-2qh3rat2.js";import"./vm-hands-entry-lite-n9277v11.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{Qc as MANAGED_RUNTIME_MANIFEST_URL,vn as MANAGED_RUNTIME_MAX_MANIFEST_BYTES,ie as acquireManagedRuntimeDirectoryLock,xl as acquireManagedRuntimeLock,Ze as currentManagedRuntimeVersion,Yr as fetchManagedRuntimeBytes,no as flushManagedRuntimeLifecycleEvents,Sl as installManagedRuntimeLauncher,El as isManagedRuntimeVersionExecutable,bl as legacyManagedRuntimePaths,kl as managedRuntimeExecutableVersion,Lt as managedRuntimePaths,Oi as parseAndVerifyManagedRuntimeManifest,N as recordManagedRuntimeLifecycle,vl as updateManagedRuntime};
2
+ import{Qc,Lt,bl,Yr,vl,Sl,Ze,El,kl,oe,xl,N,no}from"./vm-hands-entry-lite-w4vnk4tg.js";import"./vm-hands-entry-lite-2927z566.js";import{vn,Oi}from"./vm-hands-entry-lite-sb1xtqxr.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{Qc as MANAGED_RUNTIME_MANIFEST_URL,vn as MANAGED_RUNTIME_MAX_MANIFEST_BYTES,oe as acquireManagedRuntimeDirectoryLock,xl as acquireManagedRuntimeLock,Ze as currentManagedRuntimeVersion,Yr as fetchManagedRuntimeBytes,no as flushManagedRuntimeLifecycleEvents,Sl as installManagedRuntimeLauncher,El as isManagedRuntimeVersionExecutable,bl as legacyManagedRuntimePaths,kl as managedRuntimeExecutableVersion,Lt as managedRuntimePaths,Oi as parseAndVerifyManagedRuntimeManifest,N as recordManagedRuntimeLifecycle,vl as updateManagedRuntime};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{R}from"./vm-hands-entry-lite-ys4jhf7n.js";import{w}from"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import"./vm-hands-entry-lite-hpw27zfb.js";import{ot,We}from"./vm-hands-entry-lite-8twdd0ff.js";import{bs}from"./vm-hands-entry-lite-n9277v11.js";import"./vm-hands-entry-lite-2qh3rat2.js";import"./vm-hands-entry-lite-h5x725z8.js";import"./vm-hands-entry-lite-1as6h9ed.js";import"./vm-hands-entry-lite-9meg54bs.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-bcz4qpp6.js";import"./vm-hands-entry-lite-t2rhwchw.js";import"./vm-hands-entry-lite-r131db1f.js";import"./vm-hands-entry-lite-4kb5rq3d.js";import"./vm-hands-entry-lite-dhn0fs5e.js";import"./vm-hands-entry-lite-8s5n4wps.js";import"./vm-hands-entry-lite-ezkb7f6j.js";import"./vm-hands-entry-lite-mktndd2r.js";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.js";import"./vm-hands-entry-lite-mzw2vcah.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-7aeqbfc8.js";import"./vm-hands-entry-lite-rpf4t8r4.js";import"./vm-hands-entry-lite-bc9zq8gx.js";import"./vm-hands-entry-lite-bbjsnjct.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-7jmt3q38.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-3594pdj0.js";import"./vm-hands-entry-lite-jm9jpj77.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-ksfd234v.js";import"./vm-hands-entry-lite-kzygj0q8.js";import"./vm-hands-entry-lite-kankyeep.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import{Me,Be}from"./vm-hands-entry-lite-04nx5y4f.js";import{spawn as I}from"child_process";import{randomUUID as A}from"crypto";import{closeSync as M,existsSync as T,mkdirSync as y,openSync as N,readFileSync as U,renameSync as O,rmSync as V,writeFileSync as F}from"fs";import{homedir as u}from"os";import{dirname as p,join as h}from"path";var L=["curl","npm","bun","brew"];function x(e){return L.includes(e)}function v(e,n=process.env){let r=R(n,"REASON_INSTALL_METHOD");if(x(r))return r;let t=e.replaceAll("\\","/").toLowerCase();if(t.includes("/.bun/install/global/"))return"bun";if(t.includes("/node_modules/"))return"npm";if(t.includes("/cellar/")||t.includes("/homebrew/"))return"brew";return"curl"}var f=86400000,_=7200000,W=900000,q=900000,J=30000,B=3600000,j=43200000,G="network-update-check.json",K="automatic-updates-declined.json",H="network-update.log";function g(e,n){return p(ot(e,n))}function S(e=process.env,n=u()){return T(h(g(e,n),K))}function b(e){if(!e||e.channel!=="production"||e.install_method!=="curl")return"no_receipt";return e.background_mode==="cli_only"?null:"background_updater"}function Y(e={}){let n=e.env??process.env,r=e.home??u(),t=e.executablePath??process.execPath;if(!(e.compiled??bs(e.main)))return"source_checkout";if(w({env:n,executablePath:t})!=="production")return"not_production";if(v(t,n)!=="curl")return"package_manager";let o=e.receipt===void 0?We(ot(n,r)):e.receipt,s=b(o);if(s)return s;if(S(n,r))return"declined";return"eligible"}async function jt(e,n=process.env,r=u()){if(e.background_mode!=="cli_only")return"background_updater";if(S(n,r))return"declined";if(b(e)!==null)return"none";let{installedEngineVersion:t}=await import("./agent-network-dw7yrrwt.js");return t(r)===null?"none":"reason_network"}function X(e){try{let n=JSON.parse(U(e,"utf8"));return n?.schema_version===1&&typeof n.next_at==="string"&&Number.isFinite(Date.parse(n.next_at))?n:null}catch{return null}}function z(e,n){y(p(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${A()}.tmp`;try{F(r,`${JSON.stringify(n)}
3
- `,{mode:384,flag:"wx"}),O(r,e)}finally{V(r,{force:!0})}}function Q(e={}){let n=h(g(e.env??process.env,e.home??u()),G),r=(e.now??new Date).getTime(),t=()=>{let i=(e.random??Math.random)();return Number.isFinite(i)?Math.min(Math.max(i,0),1):0},o=(i)=>z(n,{schema_version:1,next_at:new Date(i).toISOString()}),s=X(n),c=s?Date.parse(s.next_at):NaN;if(!s||c>r+f+_)return o(r+Math.floor(t()*f)),!1;if(r<c)return!1;return o(r+f+Math.round((t()*2-1)*_)),!0}function Z(e,n={}){let r=n.platform??process.platform,t=n.kill??Be,o=(c)=>{try{t(e,c,r)}catch{}};if(o("SIGTERM"),r==="win32")return;setTimeout(()=>o("SIGKILL"),n.graceMs??J).unref?.()}function ee(e={}){let n=e.env??process.env,r=e.platform??process.platform,t=h(g(n,e.home??u()),H);y(p(t),{recursive:!0,mode:448});let o=N(t,"w",384);return new Promise((s)=>{let c=!1,i=(d)=>{if(c)return;c=!0,clearTimeout(a),s(d)},l=I(e.executablePath??process.execPath,["update","--quiet"],{env:n,stdio:["ignore",o,o],windowsHide:!0,...Me(r)});M(o);let a=setTimeout(()=>{if(l.pid)Z(l.pid,{platform:r,...e.killGraceMs===void 0?{}:{graceMs:e.killGraceMs},...e.kill?{kill:e.kill}:{}});i(124)},e.timeoutMs??q);a.unref?.(),l.once("error",()=>i(127)),l.once("exit",(d,m)=>i(m?128:d??1))})}function te(e,n){return new Promise((r)=>{if(n.aborted)return r();let t=setTimeout(r,e);n.addEventListener("abort",()=>{clearTimeout(t),r()},{once:!0})})}function ne(e,n=()=>new Date){let r=-1/0,t="";return(o)=>{let s=n().getTime();if(s-r<B||o===t&&s-r<j)return;r=s,t=o,e(o)}}async function Gt(e,n,r,t={}){let o=t.env??process.env,s=t.home??u(),c=t.sleep??te,i=t.now??(()=>new Date);if(o.REASON_NETWORK_NO_UPDATE||o.TINCAN_NO_UPDATE)return;let l=ne(n,i);try{let a=t.refreshEngine??(async(m)=>(await import("./agent-network-dw7yrrwt.js")).refreshEngine({home:s,env:o,beforeRestart:m})),d=()=>l("moved the network engine to this release's pin; its daemon restarts on it");if(await a(d)){d();return}}catch(a){l(`couldn't move the network engine to this release's pin: ${a instanceof Error?a.message:String(a)}`)}while(!e.aborted){try{if(Y({env:o,home:s,...t.executablePath?{executablePath:t.executablePath}:{},...t.compiled===void 0?{}:{compiled:t.compiled}})==="eligible"&&Q({env:o,home:s,now:i(),...t.random?{random:t.random}:{}})){let d=await(t.update??(()=>ee({env:o,home:s,...t.executablePath?{executablePath:t.executablePath}:{}})))();if(d===0)await r();else l(`reason update failed (exit ${d}); the next try is in about a day`)}}catch(a){l(`automatic update: ${a instanceof Error?a.message:String(a)}`)}await c(t.tickMs??W,e)}}export{jt as automaticUpdatesFor,Gt as keepNetworkComputerCurrent};
2
+ import{R}from"./vm-hands-entry-lite-ys4jhf7n.js";import{w}from"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import"./vm-hands-entry-lite-hpw27zfb.js";import{ot,We}from"./vm-hands-entry-lite-yqzy5wp8.js";import{bs}from"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-w4vnk4tg.js";import"./vm-hands-entry-lite-ttemn34n.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-zhxpfb3n.js";import"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-g4e21m1g.js";import"./vm-hands-entry-lite-4x9p79j4.js";import"./vm-hands-entry-lite-7pj0tvht.js";import"./vm-hands-entry-lite-7x2dnf35.js";import"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";import"./vm-hands-entry-lite-mkha0rqp.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-ck130wm6.js";import"./vm-hands-entry-lite-m4zkvq9s.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-13pzgnj9.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-asyv9pk8.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-7z05qb3m.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-mayj6bpv.js";import"./vm-hands-entry-lite-kankyeep.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import{Me,Be}from"./vm-hands-entry-lite-04nx5y4f.js";import{spawn as I}from"child_process";import{randomUUID as A}from"crypto";import{closeSync as M,existsSync as T,mkdirSync as y,openSync as N,readFileSync as U,renameSync as O,rmSync as V,writeFileSync as F}from"fs";import{homedir as u}from"os";import{dirname as p,join as h}from"path";var L=["curl","npm","bun","brew"];function x(e){return L.includes(e)}function v(e,n=process.env){let r=R(n,"REASON_INSTALL_METHOD");if(x(r))return r;let t=e.replaceAll("\\","/").toLowerCase();if(t.includes("/.bun/install/global/"))return"bun";if(t.includes("/node_modules/"))return"npm";if(t.includes("/cellar/")||t.includes("/homebrew/"))return"brew";return"curl"}var f=86400000,_=7200000,W=900000,q=900000,J=30000,B=3600000,j=43200000,G="network-update-check.json",K="automatic-updates-declined.json",H="network-update.log";function g(e,n){return p(ot(e,n))}function S(e=process.env,n=u()){return T(h(g(e,n),K))}function b(e){if(!e||e.channel!=="production"||e.install_method!=="curl")return"no_receipt";return e.background_mode==="cli_only"?null:"background_updater"}function Y(e={}){let n=e.env??process.env,r=e.home??u(),t=e.executablePath??process.execPath;if(!(e.compiled??bs(e.main)))return"source_checkout";if(w({env:n,executablePath:t})!=="production")return"not_production";if(v(t,n)!=="curl")return"package_manager";let o=e.receipt===void 0?We(ot(n,r)):e.receipt,s=b(o);if(s)return s;if(S(n,r))return"declined";return"eligible"}async function jt(e,n=process.env,r=u()){if(e.background_mode!=="cli_only")return"background_updater";if(S(n,r))return"declined";if(b(e)!==null)return"none";let{installedEngineVersion:t}=await import("./agent-network-nswyx8m2.js");return t(r)===null?"none":"reason_network"}function X(e){try{let n=JSON.parse(U(e,"utf8"));return n?.schema_version===1&&typeof n.next_at==="string"&&Number.isFinite(Date.parse(n.next_at))?n:null}catch{return null}}function z(e,n){y(p(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${A()}.tmp`;try{F(r,`${JSON.stringify(n)}
3
+ `,{mode:384,flag:"wx"}),O(r,e)}finally{V(r,{force:!0})}}function Q(e={}){let n=h(g(e.env??process.env,e.home??u()),G),r=(e.now??new Date).getTime(),t=()=>{let i=(e.random??Math.random)();return Number.isFinite(i)?Math.min(Math.max(i,0),1):0},o=(i)=>z(n,{schema_version:1,next_at:new Date(i).toISOString()}),s=X(n),c=s?Date.parse(s.next_at):NaN;if(!s||c>r+f+_)return o(r+Math.floor(t()*f)),!1;if(r<c)return!1;return o(r+f+Math.round((t()*2-1)*_)),!0}function Z(e,n={}){let r=n.platform??process.platform,t=n.kill??Be,o=(c)=>{try{t(e,c,r)}catch{}};if(o("SIGTERM"),r==="win32")return;setTimeout(()=>o("SIGKILL"),n.graceMs??J).unref?.()}function ee(e={}){let n=e.env??process.env,r=e.platform??process.platform,t=h(g(n,e.home??u()),H);y(p(t),{recursive:!0,mode:448});let o=N(t,"w",384);return new Promise((s)=>{let c=!1,i=(d)=>{if(c)return;c=!0,clearTimeout(a),s(d)},l=I(e.executablePath??process.execPath,["update","--quiet"],{env:n,stdio:["ignore",o,o],windowsHide:!0,...Me(r)});M(o);let a=setTimeout(()=>{if(l.pid)Z(l.pid,{platform:r,...e.killGraceMs===void 0?{}:{graceMs:e.killGraceMs},...e.kill?{kill:e.kill}:{}});i(124)},e.timeoutMs??q);a.unref?.(),l.once("error",()=>i(127)),l.once("exit",(d,m)=>i(m?128:d??1))})}function te(e,n){return new Promise((r)=>{if(n.aborted)return r();let t=setTimeout(r,e);n.addEventListener("abort",()=>{clearTimeout(t),r()},{once:!0})})}function ne(e,n=()=>new Date){let r=-1/0,t="";return(o)=>{let s=n().getTime();if(s-r<B||o===t&&s-r<j)return;r=s,t=o,e(o)}}async function Gt(e,n,r,t={}){let o=t.env??process.env,s=t.home??u(),c=t.sleep??te,i=t.now??(()=>new Date);if(o.REASON_NETWORK_NO_UPDATE||o.TINCAN_NO_UPDATE)return;let l=ne(n,i);try{let a=t.refreshEngine??(async(m)=>(await import("./agent-network-nswyx8m2.js")).refreshEngine({home:s,env:o,beforeRestart:m})),d=()=>l("moved the network engine to this release's pin; its daemon restarts on it");if(await a(d)){d();return}}catch(a){l(`couldn't move the network engine to this release's pin: ${a instanceof Error?a.message:String(a)}`)}while(!e.aborted){try{if(Y({env:o,home:s,...t.executablePath?{executablePath:t.executablePath}:{},...t.compiled===void 0?{}:{compiled:t.compiled}})==="eligible"&&Q({env:o,home:s,now:i(),...t.random?{random:t.random}:{}})){let d=await(t.update??(()=>ee({env:o,home:s,...t.executablePath?{executablePath:t.executablePath}:{}})))();if(d===0)await r();else l(`reason update failed (exit ${d}); the next try is in about a day`)}}catch(a){l(`automatic update: ${a instanceof Error?a.message:String(a)}`)}await c(t.tickMs??W,e)}}export{jt as automaticUpdatesFor,Gt as keepNetworkComputerCurrent};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{er,Xe,Ss,Es,M,At,ks,jn,xs,Lr,Cs,As,Ps,Rs,Ts,Is,Ds,Os,Ns,Ls,$s,Ms,Bs,Fs,js,Hs,ct,Le,Pt,xe,Us,zs,qs,pe,Ws,Vs,Gs,Ks,Js,$r,Xs,Ys,tr,Mr,Zs,Gi,Qs,ea,ta,Hn,ra,na,ia,oa,sa,aa,ca,la,ua,da}from"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.js";export{Xs as AUTOMATION_CLOUD_SESSIONS,$r as AUTOMATION_USER_CHROME,$s as HANDS_CLOUD_ACCESS,Ms as HANDS_CLOUD_ACCESS_KEY,ct as HANDS_CONFINEMENT,Le as HANDS_CONFINEMENT_KEY,Rs as HANDS_ENVIRONMENT_AT_CLAIM,Ts as HANDS_ENVIRONMENT_AT_CLAIM_KEY,xs as HANDS_ENVIRONMENT_DELIVERY,Lr as HANDS_ENVIRONMENT_DELIVER_CONTROL,Bs as HANDS_HEADLESS_BROWSER,Fs as HANDS_HEADLESS_BROWSER_KEY,Us as HANDS_JOBS_USER,zs as HANDS_JOBS_USER_KEY,js as HANDS_LARGE_ENVIRONMENT,Hs as HANDS_LARGE_ENVIRONMENT_KEY,Pt as HANDS_MODEL_JOBS_EGRESS,xe as HANDS_MODEL_JOBS_EGRESS_KEY,Os as HANDS_REBIND,Ls as HANDS_REBIND_CONTROL,Ns as HANDS_REBIND_KEY,Ws as HANDS_SESSION_CAP_KEY,Vs as HANDS_SESSION_CAP_NONE,qs as HANDS_SESSION_GROUP,pe as HANDS_SESSION_GROUP_KEY,Is as HANDS_WORKSPACE_CHECK,Ds as HANDS_WORKSPACE_CHECK_KEY,Ks as JOBS_START_WAIT,Js as JOBS_START_WAIT_KEY,Xe as LOCAL_OPERATION_MAX_BYTES,er as LOCAL_RUNTIME_PROTOCOL_VERSION,M as LOCAL_RUNTIME_ROUTES,jn as LOCAL_RUNTIME_SESSION_CLAIM_WAIT_MAX_MS,At as LOCAL_RUNTIME_SESSION_PATH,tr as LOCAL_RUNTIME_WORKER_STARTUP_MAX_MS,Ss as RELAY_HOST_ALIAS_HEADER,Es as RELAY_HOST_ALIAS_VERSION,Ps as VM_HANDS_UNBIND_UNVERIFIED_EVENT,Cs as VM_HANDS_WORKSPACE_DEFERRED_KEY,As as VM_HANDS_WORKSPACE_GRANT_CONTROL,Gs as WORKER_PREVIEW_CARRIED_JOBS,Ys as WORKER_STARTUP_TIMING_STAGES,Mr as buildLocalRuntimeDeviceProofBytes,ks as localRuntimeSessionRoutable,ia as parseLocalRuntimeDisconnectResponse,ea as parseLocalRuntimeEnrollmentResponse,Zs as parseLocalRuntimeErrorEnvelope,Hn as parseLocalRuntimeFirstHeartbeat,ta as parseLocalRuntimeHeartbeatResponse,na as parseLocalRuntimeIdentityResponse,sa as parseLocalRuntimeLifecycleResponse,oa as parseLocalRuntimeLocalSubscriptionResponse,aa as parseLocalRuntimeOperationClaim,da as parseLocalRuntimeOperationCompletionResponse,ua as parseLocalRuntimeOperationEnvironmentResponse,la as parseLocalRuntimeOperationEventsResponse,ca as parseLocalRuntimeOperationHeartbeatResponse,Gi as parseLocalRuntimeProofChallenge,Qs as parseLocalRuntimeRegistrationResponse,ra as parseLocalRuntimeRootsSyncResponse};
2
+ import{er,Xe,Ss,Es,M,At,ks,jn,xs,Lr,Cs,As,Ps,Rs,Ts,Is,Ds,Os,Ns,Ls,$s,Ms,Bs,Fs,js,Hs,ct,Le,Pt,Ce,Us,zs,qs,he,Ws,Vs,Gs,Ks,Js,$r,Xs,Ys,tr,Mr,Zs,Gi,Qs,ea,ta,Hn,ra,na,ia,oa,sa,aa,ca,la,ua,da}from"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";export{Xs as AUTOMATION_CLOUD_SESSIONS,$r as AUTOMATION_USER_CHROME,$s as HANDS_CLOUD_ACCESS,Ms as HANDS_CLOUD_ACCESS_KEY,ct as HANDS_CONFINEMENT,Le as HANDS_CONFINEMENT_KEY,Rs as HANDS_ENVIRONMENT_AT_CLAIM,Ts as HANDS_ENVIRONMENT_AT_CLAIM_KEY,xs as HANDS_ENVIRONMENT_DELIVERY,Lr as HANDS_ENVIRONMENT_DELIVER_CONTROL,Bs as HANDS_HEADLESS_BROWSER,Fs as HANDS_HEADLESS_BROWSER_KEY,Us as HANDS_JOBS_USER,zs as HANDS_JOBS_USER_KEY,js as HANDS_LARGE_ENVIRONMENT,Hs as HANDS_LARGE_ENVIRONMENT_KEY,Pt as HANDS_MODEL_JOBS_EGRESS,Ce as HANDS_MODEL_JOBS_EGRESS_KEY,Os as HANDS_REBIND,Ls as HANDS_REBIND_CONTROL,Ns as HANDS_REBIND_KEY,Ws as HANDS_SESSION_CAP_KEY,Vs as HANDS_SESSION_CAP_NONE,qs as HANDS_SESSION_GROUP,he as HANDS_SESSION_GROUP_KEY,Is as HANDS_WORKSPACE_CHECK,Ds as HANDS_WORKSPACE_CHECK_KEY,Ks as JOBS_START_WAIT,Js as JOBS_START_WAIT_KEY,Xe as LOCAL_OPERATION_MAX_BYTES,er as LOCAL_RUNTIME_PROTOCOL_VERSION,M as LOCAL_RUNTIME_ROUTES,jn as LOCAL_RUNTIME_SESSION_CLAIM_WAIT_MAX_MS,At as LOCAL_RUNTIME_SESSION_PATH,tr as LOCAL_RUNTIME_WORKER_STARTUP_MAX_MS,Ss as RELAY_HOST_ALIAS_HEADER,Es as RELAY_HOST_ALIAS_VERSION,Ps as VM_HANDS_UNBIND_UNVERIFIED_EVENT,Cs as VM_HANDS_WORKSPACE_DEFERRED_KEY,As as VM_HANDS_WORKSPACE_GRANT_CONTROL,Gs as WORKER_PREVIEW_CARRIED_JOBS,Ys as WORKER_STARTUP_TIMING_STAGES,Mr as buildLocalRuntimeDeviceProofBytes,ks as localRuntimeSessionRoutable,ia as parseLocalRuntimeDisconnectResponse,ea as parseLocalRuntimeEnrollmentResponse,Zs as parseLocalRuntimeErrorEnvelope,Hn as parseLocalRuntimeFirstHeartbeat,ta as parseLocalRuntimeHeartbeatResponse,na as parseLocalRuntimeIdentityResponse,sa as parseLocalRuntimeLifecycleResponse,oa as parseLocalRuntimeLocalSubscriptionResponse,aa as parseLocalRuntimeOperationClaim,da as parseLocalRuntimeOperationCompletionResponse,ua as parseLocalRuntimeOperationEnvironmentResponse,la as parseLocalRuntimeOperationEventsResponse,ca as parseLocalRuntimeOperationHeartbeatResponse,Gi as parseLocalRuntimeProofChallenge,Qs as parseLocalRuntimeRegistrationResponse,ra as parseLocalRuntimeRootsSyncResponse};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import"./vm-hands-entry-lite-r131db1f.js";import{Fe}from"./vm-hands-entry-lite-rd7bm9we.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-hpw27zfb.js";import{ve}from"./vm-hands-entry-lite-4kb5rq3d.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import{be}from"./vm-hands-entry-lite-dhn0fs5e.js";import{Ir}from"./vm-hands-entry-lite-n9277v11.js";import"./vm-hands-entry-lite-8s5n4wps.js";import"./vm-hands-entry-lite-8twdd0ff.js";import{ka,xa,Ca,Kr,Jr}from"./vm-hands-entry-lite-vha0pf8k.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-04nx5y4f.js";import{createHash as k}from"crypto";var _={start:"/network/auth/start",poll:"/network/auth/poll",key:"/network/auth/key",teams:"/v3/network/teams",leave:"/v3/network/teams/leave",proof:"/v3/network/proof"};async function I(r,e,t={}){let o=AbortSignal.timeout(t.timeoutMs??30000),i=await fetch(r,{method:"POST",redirect:"error",signal:t.signal?AbortSignal.any([t.signal,o]):o,headers:{"content-type":"application/json","user-agent":Ir,...t.token?{authorization:`Bearer ${t.token}`}:{}},body:JSON.stringify(e)}),n=await i.json().catch(()=>({}));return{status:i.status,body:n&&typeof n==="object"?n:{}}}var u=(r)=>k("sha256").update(r).digest("hex");async function b(r,e,t,o,i=!1){let n={team_id:t.teamId,team_name:t.teamName,link:o,...i?{own_copy:!0}:{}},s=await I(`${r}${_.teams}`,n,{token:e}).catch(()=>null);return s!==null&&s.status>=200&&s.status<300}async function v(r,e,t,o,i={}){let n=Jr(t);if(!n||!i.ownCopy&&e.registered===u(n.secret))return!0;let s=ka(i.home),a=ve(s)?await be({path:s}).catch(()=>null):null,c=(await r.team())?.name??e.team;if(a&&await b(a.apiOrigin,a.accessToken,{teamId:n.teamId,teamName:c},t,i.ownCopy)){if(!i.ownCopy&&e.registered!==u(n.secret))Ca({...e,registered:u(n.secret)},i.home);return!0}return o?.stderr.write(T(`Your Reason account still lists ${Fe(c)}'s old link; signing in for this network refreshes it: reason network join '${t}'`)+`
2
+ import"./vm-hands-entry-lite-zhxpfb3n.js";import{Fe}from"./vm-hands-entry-lite-a8pm6cqb.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-hpw27zfb.js";import{Se}from"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import{ve}from"./vm-hands-entry-lite-g4e21m1g.js";import{Ir}from"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-4x9p79j4.js";import"./vm-hands-entry-lite-yqzy5wp8.js";import{ka,xa,Ca,Kr,Jr}from"./vm-hands-entry-lite-ea3cts1t.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-04nx5y4f.js";import{createHash as k}from"crypto";var _={start:"/network/auth/start",poll:"/network/auth/poll",key:"/network/auth/key",teams:"/v3/network/teams",leave:"/v3/network/teams/leave",proof:"/v3/network/proof"};async function I(r,e,t={}){let o=AbortSignal.timeout(t.timeoutMs??30000),i=await fetch(r,{method:"POST",redirect:"error",signal:t.signal?AbortSignal.any([t.signal,o]):o,headers:{"content-type":"application/json","user-agent":Ir,...t.token?{authorization:`Bearer ${t.token}`}:{}},body:JSON.stringify(e)}),n=await i.json().catch(()=>({}));return{status:i.status,body:n&&typeof n==="object"?n:{}}}var u=(r)=>k("sha256").update(r).digest("hex");async function b(r,e,t,o,i=!1){let n={team_id:t.teamId,team_name:t.teamName,link:o,...i?{own_copy:!0}:{}},s=await I(`${r}${_.teams}`,n,{token:e}).catch(()=>null);return s!==null&&s.status>=200&&s.status<300}async function v(r,e,t,o,i={}){let n=Jr(t);if(!n||!i.ownCopy&&e.registered===u(n.secret))return!0;let s=ka(i.home),a=Se(s)?await ve({path:s}).catch(()=>null):null,c=(await r.team())?.name??e.team;if(a&&await b(a.apiOrigin,a.accessToken,{teamId:n.teamId,teamName:c},t,i.ownCopy)){if(!i.ownCopy&&e.registered!==u(n.secret))Ca({...e,registered:u(n.secret)},i.home);return!0}return o?.stderr.write(T(`Your Reason account still lists ${Fe(c)}'s old link; signing in for this network refreshes it: reason network join '${t}'`)+`
3
3
  `),!1}var S=300000,R=21600000;async function xe(r,e,t,o){let i=xa(t),n=o?await r.team():null;if(i&&(!o||i.team===n?.name)){let{url:l}=await r.link(),d=Jr(l);if(!d||u(d.secret)===e.sent)return e;return await v(r,i,l,null,{ownCopy:!0,...t?{home:t}:{}})?{...e,sent:u(d.secret)}:e}if(!o||!n?.teamId||Kr(t)?.team===n.name)return e;let{url:s}=await r.link(),a=Jr(s);if(!a||a.teamId!==n.teamId.toLowerCase())return e;let c=u(a.secret);if(c===e.sent||e.refused?.link===c&&Date.now()<e.refused.until)return e;if(await(async()=>{let l=await o.agentNetwork();if(l.team===n.name||l.link&&Jr(l.link)?.teamId===a.teamId)return!1;return await o.registerNetworkTeam({team_id:a.teamId,team_name:n.name,link:s,own_copy:!0}),!0})().catch(()=>!1))return{sent:c,refused:null};let g=e.refused?.link===c?e.refused.tries+1:1;return{...e,refused:{link:c,tries:g,until:Date.now()+Math.min(R,S*2**Math.min(g-1,10))}}}var T=(r)=>process.stdout.isTTY?`\x1B[2m${r}\x1B[22m`:r;export{xe as sendTeamLink};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{sl,Ac,Rl,al,Tl}from"./vm-hands-entry-lite-bcz4qpp6.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-2qh3rat2.js";import"./vm-hands-entry-lite-n9277v11.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{al as allowMacPermissions,Rl as permissionsSummary,Ac as readMacPermissions,sl as reasonIdentity,Tl as runPermissionsCli};
2
+ import{sl,Ac,Rl,al,Tl}from"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{al as allowMacPermissions,Rl as permissionsSummary,Ac as readMacPermissions,sl as reasonIdentity,Tl as runPermissionsCli};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{F,ki,xi,Ho,_r,Uo,Ci,qt,_t,zo,Wt,yn,He,Vt,qo,yt,wn,Ai,bn,Pi,Wo,nt,Ee,ce,it,Ri,Ti,Vo}from"./vm-hands-entry-lite-bc9zq8gx.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{Pi as REASON_HANDS_CLOSE_CODES,Wt as REASON_HANDS_JOB_CONTROL_MAX_FRAME_BYTES,Ci as REASON_HANDS_JOB_MAX_INPUT_CHARS,qt as REASON_HANDS_JOB_MAX_OUTPUT_CHARS,_t as REASON_HANDS_JOB_MAX_OUTPUT_CHUNKS,zo as REASON_HANDS_JOB_MAX_RECORDS,Uo as REASON_HANDS_MAX_ERROR_CHARS,ki as REASON_HANDS_MAX_FRAME_BYTES,xi as REASON_HANDS_MAX_INPUT_CHARS,_r as REASON_HANDS_MAX_OUTPUT_CHARS,Ho as REASON_HANDS_MAX_STRUCTURED_INPUT_CHARS,F as REASON_HANDS_PROTOCOL_VERSION,Ai as REASON_HANDS_PTY_ANCHOR_EXIT_MS,bn as REASON_HANDS_PTY_CLEANUP_RECEIPT_MS,wn as REASON_HANDS_PTY_CLEANUP_SWEEP_MS,yt as REASON_HANDS_PTY_MAX_DIMENSION,He as REASON_HANDS_PTY_MAX_INPUT_BYTES,Vt as REASON_HANDS_PTY_MAX_OUTPUT_BYTES,qo as REASON_HANDS_PTY_MAX_PENDING_INPUT_BYTES,yn as REASON_HANDS_PTY_PROTOCOL_VERSION,Wo as REASON_HANDS_WORKSPACE_BEFORE_MAX_OUTPUT_CHARS,Ee as isReasonHandsGeneration,it as isReasonHandsPtyJobId,nt as isReasonHandsRequestId,ce as isReasonHandsUuid,Ri as parseReasonHandsJobRequest,Ti as parseReasonHandsJobResult,Vo as parseReasonHandsPtyReceipt};
2
+ import{F,ki,xi,Ho,_r,Uo,Ci,qt,_t,zo,Wt,yn,He,Vt,qo,yt,wn,Ai,bn,Pi,Wo,nt,ke,le,it,Ri,Ti,Vo}from"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-hpw27zfb.js";export{Pi as REASON_HANDS_CLOSE_CODES,Wt as REASON_HANDS_JOB_CONTROL_MAX_FRAME_BYTES,Ci as REASON_HANDS_JOB_MAX_INPUT_CHARS,qt as REASON_HANDS_JOB_MAX_OUTPUT_CHARS,_t as REASON_HANDS_JOB_MAX_OUTPUT_CHUNKS,zo as REASON_HANDS_JOB_MAX_RECORDS,Uo as REASON_HANDS_MAX_ERROR_CHARS,ki as REASON_HANDS_MAX_FRAME_BYTES,xi as REASON_HANDS_MAX_INPUT_CHARS,_r as REASON_HANDS_MAX_OUTPUT_CHARS,Ho as REASON_HANDS_MAX_STRUCTURED_INPUT_CHARS,F as REASON_HANDS_PROTOCOL_VERSION,Ai as REASON_HANDS_PTY_ANCHOR_EXIT_MS,bn as REASON_HANDS_PTY_CLEANUP_RECEIPT_MS,wn as REASON_HANDS_PTY_CLEANUP_SWEEP_MS,yt as REASON_HANDS_PTY_MAX_DIMENSION,He as REASON_HANDS_PTY_MAX_INPUT_BYTES,Vt as REASON_HANDS_PTY_MAX_OUTPUT_BYTES,qo as REASON_HANDS_PTY_MAX_PENDING_INPUT_BYTES,yn as REASON_HANDS_PTY_PROTOCOL_VERSION,Wo as REASON_HANDS_WORKSPACE_BEFORE_MAX_OUTPUT_CHARS,ke as isReasonHandsGeneration,it as isReasonHandsPtyJobId,nt as isReasonHandsRequestId,le as isReasonHandsUuid,Ri as parseReasonHandsJobRequest,Ti as parseReasonHandsJobResult,Vo as parseReasonHandsPtyReceipt};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ke,de,j,ze,is,kn,os,qe,Li,$i,ss,xn,Ie,as,Cn}from"./vm-hands-entry-lite-ezkb7f6j.js";import"./vm-hands-entry-lite-8twdd0ff.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-2qh3rat2.js";import"./vm-hands-entry-lite-n9277v11.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{ke as WORKER_SERVICE_ENV,j as WorkerServiceError,kn as connectServiceLabel,de as defaultWorkerServiceHost,xn as installWorkerService,qe as installedWorkerService,os as isConnectServiceLabel,Cn as removeWorkerService,Ie as restartWorkerService,as as retargetWorkerServiceLogs,Li as retireLegacyWorkerService,ss as workerServiceDefinitionCurrent,ze as workerServiceLauncher,$i as workerServiceProcessRunning,is as workerServiceRetargetPending};
2
+ import{xe,pe,j,ze,is,kn,os,qe,Li,$i,ss,xn,Ie,as,Cn}from"./vm-hands-entry-lite-7pj0tvht.js";import"./vm-hands-entry-lite-yqzy5wp8.js";import"./vm-hands-entry-lite-peyr9y6z.js";import"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-zm0707rq.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{xe as WORKER_SERVICE_ENV,j as WorkerServiceError,kn as connectServiceLabel,pe as defaultWorkerServiceHost,xn as installWorkerService,qe as installedWorkerService,os as isConnectServiceLabel,Cn as removeWorkerService,Ie as restartWorkerService,as as retargetWorkerServiceLogs,Li as retireLegacyWorkerService,ss as workerServiceDefinitionCurrent,ze as workerServiceLauncher,$i as workerServiceProcessRunning,is as workerServiceRetargetPending};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"./vm-hands-entry-lite-r131db1f.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import{w,Ve,kc}from"./vm-hands-entry-lite-0xfme8gg.js";import"./vm-hands-entry-lite-hpw27zfb.js";import{Q}from"./vm-hands-entry-lite-4kb5rq3d.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import{me}from"./vm-hands-entry-lite-dhn0fs5e.js";import{g}from"./vm-hands-entry-lite-n9277v11.js";import{ir}from"./vm-hands-entry-lite-8s5n4wps.js";import{gn,rt}from"./vm-hands-entry-lite-1as6h9ed.js";import{f,S,nr,Z,fe,eo,to}from"./vm-hands-entry-lite-mzw2vcah.js";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.js";import"./vm-hands-entry-lite-rpf4t8r4.js";import"./vm-hands-entry-lite-mktndd2r.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-7aeqbfc8.js";import"./vm-hands-entry-lite-9meg54bs.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-2qh3rat2.js";import"./vm-hands-entry-lite-bcz4qpp6.js";import"./vm-hands-entry-lite-t2rhwchw.js";import"./vm-hands-entry-lite-h5x725z8.js";import{We}from"./vm-hands-entry-lite-8twdd0ff.js";import"./vm-hands-entry-lite-ezkb7f6j.js";import"./vm-hands-entry-lite-bc9zq8gx.js";import"./vm-hands-entry-lite-bbjsnjct.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-7jmt3q38.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-3594pdj0.js";import"./vm-hands-entry-lite-jm9jpj77.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-ksfd234v.js";import"./vm-hands-entry-lite-kzygj0q8.js";import"./vm-hands-entry-lite-kankyeep.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-peyr9y6z.js";import{s}from"./vm-hands-entry-lite-tzv8s0e7.js";import{t,o,d,n,c,i}from"./vm-hands-entry-lite-bt6skt4h.js";import"./vm-hands-entry-lite-04nx5y4f.js";import{createHash as Ye,randomBytes as Qe}from"crypto";import{readFileSync as Ze,realpathSync as ye,renameSync as en,unlinkSync as nn,writeFileSync as tn}from"fs";import{dirname as rn,join as we}from"path";import{spawnSync as xe}from"child_process";import{accessSync as $e,constants as Ue,existsSync as J,mkdirSync as Le,readFileSync as Te,renameSync as Ee,writeFileSync as Oe}from"fs";import{homedir as De}from"os";import{delimiter as Ne,dirname as Fe,join as D}from"path";import{existsSync as Me,readFileSync as Ae}from"fs";import{join as Pe}from"path";var Ie=`---
2
+ import"./vm-hands-entry-lite-zhxpfb3n.js";import"./vm-hands-entry-lite-ys4jhf7n.js";import{w,Ve,kc}from"./vm-hands-entry-lite-a4fn6ye1.js";import"./vm-hands-entry-lite-hpw27zfb.js";import{Q}from"./vm-hands-entry-lite-hnsdwskm.js";import"./vm-hands-entry-lite-h7f5a5mb.js";import{ge}from"./vm-hands-entry-lite-g4e21m1g.js";import{g}from"./vm-hands-entry-lite-zm0707rq.js";import{ir}from"./vm-hands-entry-lite-4x9p79j4.js";import{gn,rt}from"./vm-hands-entry-lite-ttemn34n.js";import{f,S,nr,Z,me,eo,to}from"./vm-hands-entry-lite-mkha0rqp.js";import"./vm-hands-entry-lite-6dkjbe2b.js";import"./vm-hands-entry-lite-pnx4zgd6.js";import"./vm-hands-entry-lite-m4zkvq9s.js";import"./vm-hands-entry-lite-7x2dnf35.js";import"./vm-hands-entry-lite-732hnx41.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-ck130wm6.js";import"./vm-hands-entry-lite-epzkdacr.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ysmjfpef.js";import"./vm-hands-entry-lite-92qqzeas.js";import"./vm-hands-entry-lite-cg84jcgd.js";import"./vm-hands-entry-lite-w4vnk4tg.js";import{We}from"./vm-hands-entry-lite-yqzy5wp8.js";import"./vm-hands-entry-lite-7pj0tvht.js";import"./vm-hands-entry-lite-sk4qxvzq.js";import"./vm-hands-entry-lite-13pzgnj9.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-asyv9pk8.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-f6np7g11.js";import"./vm-hands-entry-lite-7z05qb3m.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-10fwwbwj.js";import"./vm-hands-entry-lite-mayj6bpv.js";import"./vm-hands-entry-lite-kankyeep.js";import"./vm-hands-entry-lite-sxnvhzy5.js";import"./vm-hands-entry-lite-2927z566.js";import"./vm-hands-entry-lite-peyr9y6z.js";import{s}from"./vm-hands-entry-lite-tzv8s0e7.js";import{t,o,d,n,c,i}from"./vm-hands-entry-lite-ef0ergar.js";import"./vm-hands-entry-lite-04nx5y4f.js";import{createHash as Ye,randomBytes as Qe}from"crypto";import{readFileSync as Ze,realpathSync as ye,renameSync as en,unlinkSync as nn,writeFileSync as tn}from"fs";import{dirname as rn,join as we}from"path";import{spawnSync as xe}from"child_process";import{accessSync as $e,constants as Ue,existsSync as J,mkdirSync as Le,readFileSync as Te,renameSync as Ee,writeFileSync as Oe}from"fs";import{homedir as De}from"os";import{delimiter as Ne,dirname as Fe,join as D}from"path";import{existsSync as Me,readFileSync as Ae}from"fs";import{join as Pe}from"path";var Ie=`---
3
3
  name: reason
4
4
  description: Integrate software with Reason's public REST API using a scoped API key. Use for API clients, CI, service integrations, or cloud coding-session automation.
5
5
  ---
@@ -52,7 +52,7 @@ Usage:
52
52
  reason mcp uninstall Remove only this machine's registrations of the earlier, retired server
53
53
 
54
54
  Plugins for Claude Code and Codex: ${Ke}
55
- `;function le(e){if(!e.available)return"not detected";if(e.installed||e.legacyInstallations.length>0)return"retired configuration";return"not installed"}function qe(e,r){let a=r.toLowerCase();if(e==="codex")return a.includes("codex");if(e==="claude")return a.includes("claude");return a.includes("cursor")}function ue(e,r){return(r.mcp_connections??[]).filter((u)=>qe(e.id,u.client_name)).flatMap((u)=>u.last_used_at?[u.last_used_at]:[]).sort().at(-1)??null}function de(e,r=new Date){if(!e)return"never";let a=Date.parse(e);if(!Number.isFinite(a))return"never";let u=Math.max(0,Math.floor((r.getTime()-a)/1000));if(u<45)return"just now";let l=Math.floor(u/60);if(l<60)return`${l} ${l===1?"minute":"minutes"} ago`;let m=Math.floor(l/60);if(m<24)return`${m} ${m===1?"hour":"hours"} ago`;let R=Math.floor(m/24);return`${R} ${R===1?"day":"days"} ago`}function pe(e){let r=e.name?.trim(),a=e.email?.trim();if(r&&a)return`${r} (${a})`;return r||a||e.id||"Reason user"}function ge(e){let r=e.name?.trim(),a=e.slug?.trim();if(r&&a)return`${r} (${a})`;return r||a||e.id}var Xe=c(["granted","not_granted","unknown"]),he=n({status:Xe,checkedAt:o().finite(),executablePath:t().min(1)});var on=`Reason status
55
+ `;function le(e){if(!e.available)return"not detected";if(e.installed||e.legacyInstallations.length>0)return"retired configuration";return"not installed"}function qe(e,r){let a=r.toLowerCase();if(e==="codex")return a.includes("codex");if(e==="claude")return a.includes("claude");return a.includes("cursor")}function ue(e,r){return(r.mcp_connections??[]).filter((u)=>qe(e.id,u.client_name)).flatMap((u)=>u.last_used_at?[u.last_used_at]:[]).sort().at(-1)??null}function de(e,r=new Date){if(!e)return"never";let a=Date.parse(e);if(!Number.isFinite(a))return"never";let u=Math.max(0,Math.floor((r.getTime()-a)/1000));if(u<45)return"just now";let l=Math.floor(u/60);if(l<60)return`${l} ${l===1?"minute":"minutes"} ago`;let m=Math.floor(l/60);if(m<24)return`${m} ${m===1?"hour":"hours"} ago`;let R=Math.floor(m/24);return`${R} ${R===1?"day":"days"} ago`}function pe(e){let r=e.name?.trim(),a=e.email?.trim();if(r&&a)return`${r} (${a})`;return r||a||e.id||"Reason user"}function fe(e){let r=e.name?.trim(),a=e.slug?.trim();if(r&&a)return`${r} (${a})`;return r||a||e.id}var Xe=c(["granted","not_granted","unknown"]),he=n({status:Xe,checkedAt:o().finite(),executablePath:t().min(1)});var on=`Reason status
56
56
 
57
57
  Usage:
58
58
  reason status [--json]
@@ -62,14 +62,14 @@ computer's connection (\`reason connect\`) and the workspaces it serves, any
62
62
  retired MCP configuration that can be cleaned up, and automatic updates.
63
63
  `,sn=5000,an=300000,cn=n({version:i(1),key:t(),at:o(),self:n({principal_type:t(),user_id:t().optional(),user_name:t().nullish(),email:t().nullish(),org_id:t(),organization_name:t().nullish(),organization_slug:t().nullish(),mcp_connections:d(n({client_id:t(),client_name:t(),last_used_at:t().nullable()})).optional()})}),Re=(e)=>`${e.apiOrigin}
64
64
  ${Ye("sha256").update(e.accessToken).digest("hex")}`;function ln(e,r,a){try{let u=cn.safeParse(JSON.parse(Ze(e,"utf8")));if(!u.success||u.data.key!==Re(r))return null;let l=a-u.data.at;return l>=0&&l<an?u.data.self:null}catch{return null}}function un(e,r,a,u){let l=`${e}.${process.pid}.${Qe(6).toString("hex")}.tmp`;try{let m={version:1,key:Re(r),at:u,self:a};tn(l,`${JSON.stringify(m)}
65
- `,{mode:384,flag:"wx"}),en(l,e)}catch{try{nn(l)}catch{}}}var dn=30000;function pn(e,r=Date.now(),a=null){let u=rt(e),l=(()=>{if(u?.state!=="connected"&&u?.state!=="starting")return!1;try{return process.kill(u.pid,0),!0}catch{return!1}})(),m=l&&u?.state==="connected",R=(k)=>m&&r-k>=0&&r-k<dn,v=he.safeParse(u?.fullDiskAccess),_=gn(u,a,r);return{..._?{permission_recovery:_}:{},full_disk_access:v.success&&R(v.data.checkedAt)?v.data.status:"unknown",keep_awake:{enabled:nr(e)==="battery_and_ac",holding:u?.idleSleepHold===!0&&R(Date.parse(u.lastHeartbeatAt??""))},executable:l&&v.success?v.data.executablePath:null}}function mn(e=w()){if(process.platform!=="darwin")return null;let r=Z(we(fe(ye(s()),e),"worker.json"));return r?pn(f(r).daemon,Date.now(),S(r)):null}var fn={background_updater:"enabled",reason_network:"enabled, daily by Reason Network",declined:"disabled (installed with --background-mode cli_only)",none:"disabled"},Ce={connected:"connected",starting:"starting",reconnecting:"reconnecting",stopping:"stopping",not_running:"not running",removed:"removed from Reason (run `reason connect` to connect it again)"};async function it(e,r={}){let a=r.io??{stdout:process.stdout,stderr:process.stderr};if(e.includes("--help")||e.includes("-h"))return a.stdout.write(on),0;if(e.some((m)=>m!=="--json"))return a.stderr.write(`Usage: reason status [--json]
66
- `),1;let u=new AbortController,l=setTimeout(()=>u.abort(Error("timed out reading the account")),sn);try{let m=r.now?.()??new Date,R=performance.now(),v=R,_=()=>{let p=performance.now(),P=Math.round(p-v);return v=p,P},k=null,N=(p)=>(k=p instanceof Error?p.message:String(p),null),b=await ir(r,u.signal).catch(N),q=_(),C=b?.credentialKind==="api_key",M=b&&!C?we(rn(Q(r.env??process.env)),"status-account.json"):null,x=b&&M&&e.includes("--json")?ln(M,b,m.getTime()):null,h=x??(b?await(r.getSelf??((p,P)=>new me(p).self(P)))(b,u.signal).catch(N):null);if(b&&h&&!x&&M)un(M,b,h,m.getTime());let W=_(),F=r.manager??new K,j=e.includes("--json")?[]:F.statuses(),U=(r.loadReceipt??We)(),z=U?await(r.automaticUpdates??(async(p)=>p.background_mode==="cli_only"?(await import("./network-auto-update-8f2745gk.js")).automaticUpdatesFor(p,r.env??process.env,r.home):"background_updater"))(U).catch(()=>U.background_mode==="cli_only"?"none":"background_updater"):null,B=await(r.readConnection??(()=>to({channel:r.channel})))().catch(()=>null),I=null;try{if(B)I=(r.readConnectionMacState??(()=>mn(r.channel??w())))()}catch{}let y=B&&I?{...B,...I}:B,G=(()=>{try{return(r.readDisconnected??(()=>eo(ye(s()),r.channel??w())))()}catch{return!1}})(),_e=_(),ne=h?{id:h.org_id,name:h.organization_name??null,slug:h.organization_slug??null}:null,T=h?{id:h.user_id??null,name:(C?h.service_user_name:h.user_name)??null,email:h.email??null,credential:C?"api_key":"login"}:null,X=r.channel??w(),L={version:g,channel:X,api_origin:b?.apiOrigin??Ve(X),account:T,account_error:k,organization:ne,mcp:j.map((p)=>({client:p.id,label:p.label,status:le(p),installed_at:p.installed?F.installationPath(p.id):null,last_used_at:h?ue(p,h):null})),connection:y,disconnected:G,installation:U&&z?{background_mode:U.background_mode,automatic_updates:z==="background_updater"||z==="reason_network",automatic_updates_by:z,future_device_consent:U.device_consent?.decision??"disabled"}:null,timings_ms:{process:Math.round(R),credentials:q,account:W,local:_e,total:Math.round(performance.now()-R)}};if(e.includes("--json"))return a.stdout.write(`${JSON.stringify(L,null,2)}
65
+ `,{mode:384,flag:"wx"}),en(l,e)}catch{try{nn(l)}catch{}}}var dn=30000;function pn(e,r=Date.now(),a=null){let u=rt(e),l=(()=>{if(u?.state!=="connected"&&u?.state!=="starting")return!1;try{return process.kill(u.pid,0),!0}catch{return!1}})(),m=l&&u?.state==="connected",R=(k)=>m&&r-k>=0&&r-k<dn,v=he.safeParse(u?.fullDiskAccess),_=gn(u,a,r);return{..._?{permission_recovery:_}:{},full_disk_access:v.success&&R(v.data.checkedAt)?v.data.status:"unknown",keep_awake:{enabled:nr(e)==="battery_and_ac",holding:u?.idleSleepHold===!0&&R(Date.parse(u.lastHeartbeatAt??""))},executable:l&&v.success?v.data.executablePath:null}}function mn(e=w()){if(process.platform!=="darwin")return null;let r=Z(we(me(ye(s()),e),"worker.json"));return r?pn(f(r).daemon,Date.now(),S(r)):null}var fn={background_updater:"enabled",reason_network:"enabled, daily by Reason Network",declined:"disabled (installed with --background-mode cli_only)",none:"disabled"},Ce={connected:"connected",starting:"starting",reconnecting:"reconnecting",stopping:"stopping",not_running:"not running",removed:"removed from Reason (run `reason connect` to connect it again)"};async function it(e,r={}){let a=r.io??{stdout:process.stdout,stderr:process.stderr};if(e.includes("--help")||e.includes("-h"))return a.stdout.write(on),0;if(e.some((m)=>m!=="--json"))return a.stderr.write(`Usage: reason status [--json]
66
+ `),1;let u=new AbortController,l=setTimeout(()=>u.abort(Error("timed out reading the account")),sn);try{let m=r.now?.()??new Date,R=performance.now(),v=R,_=()=>{let p=performance.now(),P=Math.round(p-v);return v=p,P},k=null,N=(p)=>(k=p instanceof Error?p.message:String(p),null),b=await ir(r,u.signal).catch(N),q=_(),C=b?.credentialKind==="api_key",M=b&&!C?we(rn(Q(r.env??process.env)),"status-account.json"):null,x=b&&M&&e.includes("--json")?ln(M,b,m.getTime()):null,h=x??(b?await(r.getSelf??((p,P)=>new ge(p).self(P)))(b,u.signal).catch(N):null);if(b&&h&&!x&&M)un(M,b,h,m.getTime());let W=_(),F=r.manager??new K,j=e.includes("--json")?[]:F.statuses(),U=(r.loadReceipt??We)(),z=U?await(r.automaticUpdates??(async(p)=>p.background_mode==="cli_only"?(await import("./network-auto-update-1pfqzgd6.js")).automaticUpdatesFor(p,r.env??process.env,r.home):"background_updater"))(U).catch(()=>U.background_mode==="cli_only"?"none":"background_updater"):null,B=await(r.readConnection??(()=>to({channel:r.channel})))().catch(()=>null),I=null;try{if(B)I=(r.readConnectionMacState??(()=>mn(r.channel??w())))()}catch{}let y=B&&I?{...B,...I}:B,G=(()=>{try{return(r.readDisconnected??(()=>eo(ye(s()),r.channel??w())))()}catch{return!1}})(),_e=_(),ne=h?{id:h.org_id,name:h.organization_name??null,slug:h.organization_slug??null}:null,T=h?{id:h.user_id??null,name:(C?h.service_user_name:h.user_name)??null,email:h.email??null,credential:C?"api_key":"login"}:null,X=r.channel??w(),L={version:g,channel:X,api_origin:b?.apiOrigin??Ve(X),account:T,account_error:k,organization:ne,mcp:j.map((p)=>({client:p.id,label:p.label,status:le(p),installed_at:p.installed?F.installationPath(p.id):null,last_used_at:h?ue(p,h):null})),connection:y,disconnected:G,installation:U&&z?{background_mode:U.background_mode,automatic_updates:z==="background_updater"||z==="reason_network",automatic_updates_by:z,future_device_consent:U.device_consent?.decision??"disabled"}:null,timings_ms:{process:Math.round(R),credentials:q,account:W,local:_e,total:Math.round(performance.now()-R)}};if(e.includes("--json"))return a.stdout.write(`${JSON.stringify(L,null,2)}
67
67
  `),0;if(X==="staging")a.stdout.write(`Reason ${g} \xB7 channel: STAGING
68
68
  `),a.stdout.write(`API: ${L.api_origin}
69
69
  `);else a.stdout.write(`Reason ${g}
70
70
  `);if(T)a.stdout.write(C?`Account: API key (REASON_API_KEY)${T.name?`: ${T.name}`:""}
71
71
  `:`Account: ${pe(T)}
72
- `),a.stdout.write(`Organization: ${ge(ne)}
72
+ `),a.stdout.write(`Organization: ${fe(ne)}
73
73
  `);else if(k)a.stdout.write(`Account: unavailable (${k})
74
74
  `);else a.stdout.write(`Account: signed out
75
75
  `),a.stdout.write(`Organization: none
@@ -79,7 +79,7 @@ This computer
79
79
  `),y.version)a.stdout.write(`Version: ${y.version}${y.version===g?"":` (${g} is installed; \`reason connect\` restarts it on that)`}
80
80
  `);if(a.stdout.write(`Folder: ${y.folder}
81
81
  `),a.stdout.write(`Sessions: ${y.sessions_running===null?"":`${y.sessions_running} running, `}${y.sessions_max===null?"every Session you start":y.sessions_max===1?"one at a time":`up to ${y.sessions_max} at once`}
82
- `),I){let p=I,P=await(r.readPermissionsSummary??(async()=>{let{permissionsSummary:Se,readMacPermissions:ve,reasonIdentity:be}=await import("./permissions-74rj58e1.js"),{macScreenStatus:ke}=await import("./local-display-mac-gsh74khc.js");return Se(await ve({identity:()=>be(),grants:ke,worker:async()=>p}))}))().catch(()=>null);if(P)a.stdout.write(`${P}
82
+ `),I){let p=I,P=await(r.readPermissionsSummary??(async()=>{let{permissionsSummary:Se,readMacPermissions:ve,reasonIdentity:be}=await import("./permissions-19yptfxx.js"),{macScreenStatus:ke}=await import("./local-display-mac-gsh74khc.js");return Se(await ve({identity:()=>be(),grants:ke,worker:async()=>p}))}))().catch(()=>null);if(P)a.stdout.write(`${P}
83
83
  `);a.stdout.write(`Keep awake: ${I.keep_awake.enabled?"on":"off"}${I.keep_awake.holding?" (holding)":""}
84
84
  `)}if(y.service)a.stdout.write(`Logs: ${y.service.logs}
85
85
  `);for(let p of y.workspaces??[]){let P=p.state==="removed"?"removed from that workspace":p.blocked?"offline (this computer is outside that workspace's allowed networks)":p.device_id?Ce[p.state]:"connecting";a.stdout.write(`Also in workspace ${p.name??p.organization_id}${p.account?" (another Reason account's)":""}: ${P}
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{g,Ir,Hc,Il,bs}from"./vm-hands-entry-lite-n9277v11.js";export{Ir as CLI_USER_AGENT,g as CLI_VERSION,Hc as CLI_VERSION_PATTERN,Il as compareCliVersions,bs as isCompiledRelease};
2
+ import{g,Ir,Hc,Il,bs}from"./vm-hands-entry-lite-zm0707rq.js";export{Ir as CLI_USER_AGENT,g as CLI_VERSION,Hc as CLI_VERSION_PATTERN,Il as compareCliVersions,bs as isCompiledRelease};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{D,On,ps,Pr,hs,fs}from"./vm-hands-entry-lite-hh0kba1y.js";import{wc,bc,A,Qo}from"./vm-hands-entry-lite-9meg54bs.js";import{Ue}from"./vm-hands-entry-lite-g0bpdyfz.js";import{r}from"./vm-hands-entry-lite-qy9xg6em.js";import{execFile as xt,spawn as _e}from"child_process";import{existsSync as vt}from"fs";import{connect as Et}from"net";function dt(){let e=new Set,t=null,s=(n)=>({holder:t?.viewer??null,you:t===n,same_user:Boolean(t?.viewer&&n.viewer&&t.viewer.user_id===n.viewer.user_id)}),i=()=>{for(let n of e)n.notify(s(n))};return{join(n){return e.add(n),n.notify(s(n)),()=>{if(!e.delete(n))return;if(t!==n)return;t=null,i()}},claim(n){if(t===n||!e.has(n))return;t=n,i()}}}var Ce=dt();import{spawn as pt}from"child_process";import{existsSync as ft}from"fs";import{connect as mt}from"net";import{join as j}from"path";var ze="reason_desktop",N={sampleRate:48000,channels:2,codec:"opus"},ht=5000,yt=107,gt=262144,Go=(e)=>j(e,"native"),Kt=(e)=>`unix:${e}`;function he(e,t=1000){if(!ft(e))return Promise.resolve(!1);return new Promise((s)=>{let i=mt({path:e}),n=(l)=>{i.destroy(),s(l)};i.setTimeout(t,()=>n(!1)),i.once("error",()=>n(!1)),i.once("close",()=>n(!1)),i.once("connect",()=>n(!0))})}async function _c(e,t){if(!t)return null;let s=Go(e);if(Buffer.byteLength(s)>yt||/["'\\\s]/.test(s))return null;try{if(await he(s))return s;let i=pt(t,["--daemonize=no","--system=no","--use-pid-file=no","--exit-idle-time=-1","--disallow-exit=yes","--realtime=no","--high-priority=no","--disallow-module-loading=yes","--log-level=warning",`--log-target=file:${j(e,"pulseaudio.log")}`,"-n",`--load=module-native-protocol-unix socket="${s}" auth-anonymous=1 auth-cookie-enabled=0`,`--load=module-null-sink sink_name=${ze} rate=${N.sampleRate} channels=${N.channels} sink_properties=device.description=Reason_desktop`],{detached:!0,stdio:"ignore",env:{HOME:e,PATH:"/usr/bin:/bin",XDG_RUNTIME_DIR:e,PULSE_RUNTIME_PATH:j(e,"runtime"),PULSE_STATE_PATH:j(e,"state")}});Ue(i.pid);let n=!1;i.once("error",()=>{n=!0}),i.once("exit",()=>{n=!0}),i.unref();let l=Date.now()+ht;while(Date.now()<l){if(await he(s))return s;if(n)return await he(s)?s:null;await new Promise((c)=>setTimeout(c,50))}if(!n)i.kill("SIGKILL");return null}catch{return null}}function Oe(){let{sampleRate:e,channels:t}=N;return["-hide_banner","-loglevel","error","-nostdin","-fflags","nobuffer","-f","pulse","-sample_rate",String(e),"-channels",String(t),"-fragment_size",String(e*t*2/50),"-i",`${ze}.monitor`,"-vn","-ac",String(t),"-ar",String(e),"-c:a","libopus","-b:a","64k","-application","lowdelay","-frame_duration","20","-flush_packets","1","-page_duration","20000","-f","ogg","pipe:1"]}var bt=[79,103,103,83],wt=Buffer.from("OpusHead"),_t=Buffer.from("OpusTags"),Be=(e,t)=>e.byteLength>=t.byteLength&&t.every((s,i)=>e[i]===s);class ye extends Error{constructor(e){super(e);this.name="OggProtocolError"}}class ge{buffer=new Uint8Array(0);partial=[];partialBytes=0;push(e){let t=new Uint8Array(this.buffer.byteLength+e.byteLength);t.set(this.buffer),t.set(e,this.buffer.byteLength);let s=[],i=0;while(t.byteLength-i>=27){if(bt.some((b,f)=>t[i+f]!==b)||t[i+4]!==0)throw new ye("invalid_page");let n=(t[i+5]&1)!==0,l=t[i+26];if(t.byteLength-i<27+l)break;let c=t.subarray(i+27,i+27+l),h=c.reduce((b,f)=>b+f,0),g=27+l+h;if(t.byteLength-i<g)break;if(!n&&this.partialBytes>0)this.resetPartial();let m=n&&this.partialBytes===0,p=i+27+l,w=p;for(let b of c){if(p+=b,b===255)continue;if(this.appendPartial(t.subarray(w,p),m),w=p,!m){let f=this.takePartial();if(f.byteLength>0&&!Be(f,wt)&&!Be(f,_t))s.push(f)}m=!1,this.resetPartial()}if(w<p)this.appendPartial(t.subarray(w,p),m);i+=g}return this.buffer=t.slice(i),s}appendPartial(e,t){if(t||e.byteLength===0)return;if(this.partialBytes+=e.byteLength,this.partialBytes>gt)throw new ye("packet_too_large");this.partial.push(e.slice())}takePartial(){if(this.partial.length===1)return this.partial[0];let e=new Uint8Array(this.partialBytes),t=0;for(let s of this.partial)e.set(s,t),t+=s.byteLength;return e}resetPartial(){this.partial=[],this.partialBytes=0}}import{spawn as kt}from"child_process";var Ve=1048576,St=String.raw`
2
+ import{D,On,ps,Pr,hs,fs}from"./vm-hands-entry-lite-hh0kba1y.js";import{wc,bc,A,Qo}from"./vm-hands-entry-lite-epzkdacr.js";import{Ue}from"./vm-hands-entry-lite-g0bpdyfz.js";import{r}from"./vm-hands-entry-lite-qy9xg6em.js";import{execFile as xt,spawn as _e}from"child_process";import{existsSync as vt}from"fs";import{connect as Et}from"net";function dt(){let e=new Set,t=null,s=(n)=>({holder:t?.viewer??null,you:t===n,same_user:Boolean(t?.viewer&&n.viewer&&t.viewer.user_id===n.viewer.user_id)}),i=()=>{for(let n of e)n.notify(s(n))};return{join(n){return e.add(n),n.notify(s(n)),()=>{if(!e.delete(n))return;if(t!==n)return;t=null,i()}},claim(n){if(t===n||!e.has(n))return;t=n,i()}}}var Ce=dt();import{spawn as pt}from"child_process";import{existsSync as ft}from"fs";import{connect as mt}from"net";import{join as j}from"path";var ze="reason_desktop",N={sampleRate:48000,channels:2,codec:"opus"},ht=5000,yt=107,gt=262144,Go=(e)=>j(e,"native"),Kt=(e)=>`unix:${e}`;function he(e,t=1000){if(!ft(e))return Promise.resolve(!1);return new Promise((s)=>{let i=mt({path:e}),n=(l)=>{i.destroy(),s(l)};i.setTimeout(t,()=>n(!1)),i.once("error",()=>n(!1)),i.once("close",()=>n(!1)),i.once("connect",()=>n(!0))})}async function _c(e,t){if(!t)return null;let s=Go(e);if(Buffer.byteLength(s)>yt||/["'\\\s]/.test(s))return null;try{if(await he(s))return s;let i=pt(t,["--daemonize=no","--system=no","--use-pid-file=no","--exit-idle-time=-1","--disallow-exit=yes","--realtime=no","--high-priority=no","--disallow-module-loading=yes","--log-level=warning",`--log-target=file:${j(e,"pulseaudio.log")}`,"-n",`--load=module-native-protocol-unix socket="${s}" auth-anonymous=1 auth-cookie-enabled=0`,`--load=module-null-sink sink_name=${ze} rate=${N.sampleRate} channels=${N.channels} sink_properties=device.description=Reason_desktop`],{detached:!0,stdio:"ignore",env:{HOME:e,PATH:"/usr/bin:/bin",XDG_RUNTIME_DIR:e,PULSE_RUNTIME_PATH:j(e,"runtime"),PULSE_STATE_PATH:j(e,"state")}});Ue(i.pid);let n=!1;i.once("error",()=>{n=!0}),i.once("exit",()=>{n=!0}),i.unref();let l=Date.now()+ht;while(Date.now()<l){if(await he(s))return s;if(n)return await he(s)?s:null;await new Promise((c)=>setTimeout(c,50))}if(!n)i.kill("SIGKILL");return null}catch{return null}}function Oe(){let{sampleRate:e,channels:t}=N;return["-hide_banner","-loglevel","error","-nostdin","-fflags","nobuffer","-f","pulse","-sample_rate",String(e),"-channels",String(t),"-fragment_size",String(e*t*2/50),"-i",`${ze}.monitor`,"-vn","-ac",String(t),"-ar",String(e),"-c:a","libopus","-b:a","64k","-application","lowdelay","-frame_duration","20","-flush_packets","1","-page_duration","20000","-f","ogg","pipe:1"]}var bt=[79,103,103,83],wt=Buffer.from("OpusHead"),_t=Buffer.from("OpusTags"),Be=(e,t)=>e.byteLength>=t.byteLength&&t.every((s,i)=>e[i]===s);class ye extends Error{constructor(e){super(e);this.name="OggProtocolError"}}class ge{buffer=new Uint8Array(0);partial=[];partialBytes=0;push(e){let t=new Uint8Array(this.buffer.byteLength+e.byteLength);t.set(this.buffer),t.set(e,this.buffer.byteLength);let s=[],i=0;while(t.byteLength-i>=27){if(bt.some((b,f)=>t[i+f]!==b)||t[i+4]!==0)throw new ye("invalid_page");let n=(t[i+5]&1)!==0,l=t[i+26];if(t.byteLength-i<27+l)break;let c=t.subarray(i+27,i+27+l),h=c.reduce((b,f)=>b+f,0),g=27+l+h;if(t.byteLength-i<g)break;if(!n&&this.partialBytes>0)this.resetPartial();let m=n&&this.partialBytes===0,p=i+27+l,w=p;for(let b of c){if(p+=b,b===255)continue;if(this.appendPartial(t.subarray(w,p),m),w=p,!m){let f=this.takePartial();if(f.byteLength>0&&!Be(f,wt)&&!Be(f,_t))s.push(f)}m=!1,this.resetPartial()}if(w<p)this.appendPartial(t.subarray(w,p),m);i+=g}return this.buffer=t.slice(i),s}appendPartial(e,t){if(t||e.byteLength===0)return;if(this.partialBytes+=e.byteLength,this.partialBytes>gt)throw new ye("packet_too_large");this.partial.push(e.slice())}takePartial(){if(this.partial.length===1)return this.partial[0];let e=new Uint8Array(this.partialBytes),t=0;for(let s of this.partial)e.set(s,t),t+=s.byteLength;return e}resetPartial(){this.partial=[],this.partialBytes=0}}import{spawn as kt}from"child_process";var Ve=1048576,St=String.raw`
3
3
  import gi, json, os, sys
4
4
  gi.require_version("Gtk", "3.0")
5
5
  from gi.repository import Gtk, Gdk, GLib
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{zi,qi,Wi,Bn}from"./vm-hands-entry-lite-hpw27zfb.js";import{hc,fc,F,ki,xi,Ho,_r,Uo,Ci,qt,_t,zo,Wt,He,Vt,yt,wn,Ai,Pi,Wo}from"./vm-hands-entry-lite-bc9zq8gx.js";import{zn}from"./vm-hands-entry-lite-h7f5a5mb.js";import{_n}from"./vm-hands-entry-lite-dh87ysh2.js";import{vt}from"./vm-hands-entry-lite-hpe54h0b.js";var r=["cgroup_membership_read_failed","cgroup_v2_membership_absent","cgroup_scope_invalid","cgroup_root_unavailable","cgroup_directory_unavailable","cgroup_limit_read_failed","cgroup_events_read_failed","cgroup_current_read_failed","cgroup_stat_read_failed","boot_id_read_failed","boot_id_invalid","guest_meminfo_read_failed","guest_vmstat_read_failed","memory_counter_invalid","memory_field_missing","memory_capacity_invalid"];var o=String.raw`(function(fs, path) {
2
+ import{zi,qi,Wi,Bn}from"./vm-hands-entry-lite-hpw27zfb.js";import{hc,fc,F,ki,xi,Ho,_r,Uo,Ci,qt,_t,zo,Wt,He,Vt,yt,wn,Ai,Pi,Wo}from"./vm-hands-entry-lite-sk4qxvzq.js";import{zn}from"./vm-hands-entry-lite-h7f5a5mb.js";import{_n}from"./vm-hands-entry-lite-dh87ysh2.js";import{vt}from"./vm-hands-entry-lite-hpe54h0b.js";var r=["cgroup_membership_read_failed","cgroup_v2_membership_absent","cgroup_scope_invalid","cgroup_root_unavailable","cgroup_directory_unavailable","cgroup_limit_read_failed","cgroup_events_read_failed","cgroup_current_read_failed","cgroup_stat_read_failed","boot_id_read_failed","boot_id_invalid","guest_meminfo_read_failed","guest_vmstat_read_failed","memory_counter_invalid","memory_field_missing","memory_capacity_invalid"];var o=String.raw`(function(fs, path) {
3
3
  const fail = (message, reasonCode) => { throw Object.assign(Error(message), {reasonCode}); };
4
4
  const read = (p, reasonCode, trim=true) => { try { const text=fs.readFileSync(p, "utf8"); return trim?text.trim():text; }
5
5
  catch { fail("memory_read", reasonCode); } };
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- var Mn={name:"github-native-engineer-device-worker-production",version:"0.2.568",private:!0,type:"module",engines:{node:">=22",bun:">=1.3.0"},workspaces:["../../packages/runtime-distribution"],dependencies:{"@agentclientprotocol/sdk":"1.9.0","@anthropic-ai/sandbox-runtime":"^0.0.80","@earendil-works/pi-tui":"1.0.0","@reason/runtime-distribution":"workspace:*",diff:"8.0.4","open-browser-use-sdk":"0.1.42","playwright-core":"1.60.0",toml:"5.0.1",zod:"^4.4.3"},overrides:{"@hono/node-server":"^1.19.15","@earendil-works/pi-agent-core":"1.0.0","@earendil-works/pi-ai":"1.0.0","@earendil-works/pi-coding-agent":"1.0.0","@earendil-works/chord":"1.0.0","@earendil-works/pi-codemode":"1.0.0","@earendil-works/pi-mcp":"1.0.0","@earendil-works/pi-telemetry":"1.0.0","@earendil-works/pi-tui":"1.0.0","brace-expansion":"2.1.7",axios:"^1.20.0","basic-ftp":"^6.2.1","@grpc/grpc-js":"^1.14.5",browserslist:"^4.28.8","engine.io":"^6.6.7","fast-uri":"^3.1.8",hono:"^4.13.7","ip-address":"^10.7.4",nanoid:"^3.3.18",dompurify:"^3.4.17",postcss:"^8.5.23",qs:"^6.16.0","shell-quote":"^1.11.0","socket.io-parser":"^4.2.7",tmp:"^0.2.7",toml:"^5.0.1",undici:"^8.10.2",ws:"^8.21.0","js-yaml":"^4.3.2","@modelcontextprotocol/sdk":"^1.31.0","proxy-addr":"^2.0.8","source-map-js":"^1.2.2"}};
2
+ var Mn={name:"github-native-engineer-device-worker-production",version:"0.2.570",private:!0,type:"module",engines:{node:">=22",bun:">=1.3.0"},workspaces:["../../packages/runtime-distribution"],dependencies:{"@agentclientprotocol/sdk":"1.9.0","@anthropic-ai/sandbox-runtime":"^0.0.80","@earendil-works/pi-tui":"1.0.0","@reason/runtime-distribution":"workspace:*",diff:"8.0.4","open-browser-use-sdk":"0.1.42","playwright-core":"1.60.0",toml:"5.0.1",zod:"^4.4.3"},overrides:{"@hono/node-server":"^1.19.15","@earendil-works/pi-agent-core":"1.0.0","@earendil-works/pi-ai":"1.0.0","@earendil-works/pi-coding-agent":"1.0.0","@earendil-works/chord":"1.0.0","@earendil-works/pi-codemode":"1.0.0","@earendil-works/pi-mcp":"1.0.0","@earendil-works/pi-telemetry":"1.0.0","@earendil-works/pi-tui":"1.0.0","brace-expansion":"2.1.7",axios:"^1.20.0","basic-ftp":"^6.2.1","@grpc/grpc-js":"^1.14.5",browserslist:"^4.28.8","engine.io":"^6.6.7","fast-uri":"^3.1.8",hono:"^4.13.7","ip-address":"^10.7.4",nanoid:"^3.3.18",dompurify:"^3.4.17",postcss:"^8.5.23",qs:"^6.16.0","shell-quote":"^1.11.0","socket.io-parser":"^4.2.7",tmp:"^0.2.7",toml:"^5.0.1",undici:"^8.10.2",ws:"^8.21.0","js-yaml":"^4.3.2","@modelcontextprotocol/sdk":"^1.31.0","proxy-addr":"^2.0.8","source-map-js":"^1.2.2"}};
3
3
  export{Mn};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{R}from"./vm-hands-entry-lite-ys4jhf7n.js";import{w,Ve}from"./vm-hands-entry-lite-0xfme8gg.js";import{be,C}from"./vm-hands-entry-lite-dhn0fs5e.js";import{q}from"./vm-hands-entry-lite-a6ss0ges.js";function ut(e,i){let t=R(e,"REASON_API_URL")?.trim();if(!t)return Ve(i);let n=new URL(t);if(n.protocol!=="https:"&&!(n.protocol==="http:"&&["127.0.0.1","localhost","::1"].includes(n.hostname)))throw Error("REASON_API_URL must use HTTPS (HTTP is allowed only for loopback development).");return n.origin}function el(e){return R(e,"REASON_API_URL")?.trim()?ut(e,"production"):void 0}function Vn(e){return R(e,"REASON_API_KEY")?.trim()||void 0}async function ir(e,i){let t=e.env??process.env,n=Vn(t);if(!n)return(e.getCredentials??be)({apiOrigin:el(t),signal:i});let a=ut(t,e.channel??w({env:t})),o=await(e.fetchImpl??fetch)(a+"/v3/self",{redirect:"error",headers:{authorization:"Bearer "+n,accept:"application/json"},signal:i}),p=await o.json().catch(()=>({})),r=q(p)?p:{};if(!o.ok){let s=typeof r.detail==="string"?r.detail:typeof r.message==="string"?r.message:"API key authentication failed ("+o.status+")";throw new C(o.status,typeof r.error==="string"?r.error:"api_key_auth_failed",s)}if(typeof r.org_id!=="string"||!r.org_id)throw Error("The API key in the environment did not resolve to a Workspace.");let l=Array.isArray(r.scopes)?r.scopes.filter((s)=>typeof s==="string"):[];return{credentialKind:"api_key",apiOrigin:a,accessToken:n,orgId:r.org_id,clientId:"api-key",refreshToken:"",expiresAt:"",scopes:l}}export{ut,el,Vn,ir};
2
+ import{R}from"./vm-hands-entry-lite-ys4jhf7n.js";import{w,Ve}from"./vm-hands-entry-lite-a4fn6ye1.js";import{ve,C}from"./vm-hands-entry-lite-g4e21m1g.js";import{q}from"./vm-hands-entry-lite-a6ss0ges.js";function ut(e,i){let t=R(e,"REASON_API_URL")?.trim();if(!t)return Ve(i);let n=new URL(t);if(n.protocol!=="https:"&&!(n.protocol==="http:"&&["127.0.0.1","localhost","::1"].includes(n.hostname)))throw Error("REASON_API_URL must use HTTPS (HTTP is allowed only for loopback development).");return n.origin}function el(e){return R(e,"REASON_API_URL")?.trim()?ut(e,"production"):void 0}function Vn(e){return R(e,"REASON_API_KEY")?.trim()||void 0}async function ir(e,i){let t=e.env??process.env,n=Vn(t);if(!n)return(e.getCredentials??ve)({apiOrigin:el(t),signal:i});let a=ut(t,e.channel??w({env:t})),o=await(e.fetchImpl??fetch)(a+"/v3/self",{redirect:"error",headers:{authorization:"Bearer "+n,accept:"application/json"},signal:i}),p=await o.json().catch(()=>({})),r=q(p)?p:{};if(!o.ok){let s=typeof r.detail==="string"?r.detail:typeof r.message==="string"?r.message:"API key authentication failed ("+o.status+")";throw new C(o.status,typeof r.error==="string"?r.error:"api_key_auth_failed",s)}if(typeof r.org_id!=="string"||!r.org_id)throw Error("The API key in the environment did not resolve to a Workspace.");let l=Array.isArray(r.scopes)?r.scopes.filter((s)=>typeof s==="string"):[];return{credentialKind:"api_key",apiOrigin:a,accessToken:n,orgId:r.org_id,clientId:"api-key",refreshToken:"",expiresAt:"",scopes:l}}export{ut,el,Vn,ir};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{rr,jr}from"./vm-hands-entry-lite-1cdtev4n.js";import{t,Ur,V,o,_,d,h,P,$e,c,i}from"./vm-hands-entry-lite-bt6skt4h.js";var w=t().max(201).regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/).refine((e)=>e.split("/").every((n)=>n!=="."&&n!=="..")),b=t().min(1).max(255).regex(/^[A-Za-z0-9_][A-Za-z0-9_./-]*$/).refine((e)=>!e.includes("..")&&!e.includes("//")&&!e.endsWith("/")&&!e.endsWith(".lock")),L=t().regex(/^[a-f0-9]{40}$/),O=o().int().positive(),I=t().min(1).max(256),T=t().max(60000),y={version:i(1),repoFullName:w},A=d(t().max(1024).regex(/^(?:Co-authored-by: [^<>\r\n\x00]+ <[^<>\s]+@[^<>\s]+>|Reason-Contributor-ID: rc_[a-f0-9]{32})$/)).max(1000),j=h({expectedTrailers:A,missingFromHead:A}),G=P("action",[h({action:i("edit"),title:I.optional(),body:T.optional(),base:b.optional()}),h({action:c(["ready","draft","close"])}),h({action:i("metadata"),field:c(["reviewer","assignee","label"]),change:c(["add","remove"]),value:t().min(1).max(100).refine((e)=>!/[\r\n\0]/.test(e))})]),Ct=P("kind",[h({...y,kind:i("read"),path:t().min(1).max(2048),accept:c(["application/vnd.github+json","application/vnd.github.full+json","application/vnd.github.v3.diff"]).optional()}),h({...y,kind:i("pr_review_context"),number:O,after:t().min(1).max(1024).optional()}),h({...y,kind:i("prepare"),branch:b,baseSha:L,defaultBranch:b,diagnosticsVersion:i(1).optional()}),h({...y,kind:i("publish"),branch:b,defaultBranch:b,baseSha:L,remoteHeadSha:L.nullable(),contributorTrailers:A.optional()}),h({...y,kind:i("pr_create"),head:b,base:b,title:I,body:T,draft:_()}),h({...y,kind:i("pr_mutation"),number:O,mutation:G}),h({...y,kind:i("pr_merge"),number:O,expectedHeadSha:L,expectedBaseRef:b,method:c(["merge","squash","rebase"]),commitBody:t().max(65536).optional()})]),z=["local_device_gh_prepare_setup","local_device_gh_prepare_metadata","local_device_gh_prepare_private_init","local_device_gh_prepare_fetch","local_device_gh_prepare_base_mismatch","local_device_gh_prepare_checkout_validation","local_device_gh_prepare_checkout_init","local_device_gh_prepare_materialization"];function B(e){return z.some((n)=>n===e)}class Fn extends Error{code;constructor(e){super(e);this.code=e}}function vs(e,n,r){let p=Ct.safeParse(e);return n==="failed"&&p.success&&p.data.kind==="prepare"&&p.data.diagnosticsVersion===1&&B(r)}var Or=245760,Vc=P("kind",[h({kind:i("pr_review_context"),body:t().max(Or)}),h({kind:i("prepare"),headSha:L}),h({kind:i("read"),status:o().int().min(200).max(599),headers:$e(t(),t().max(8192)).refine((e)=>Object.keys(e).every((n)=>n==="link"||n==="content-type")),body:t().max(Or)}),h({kind:i("publish"),headSha:L,scannedObjectCount:o().int().min(0).max(5000),attribution:j.optional()}),h({kind:i("pr_create"),url:t().max(1024).regex(/^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/pull\/[1-9][0-9]*$/)}),h({kind:i("pr_mutation"),number:O,applied:i(!0)}),h({kind:i("pr_merge"),number:O,merged:i(!0)})]).refine((e)=>new TextEncoder().encode(JSON.stringify(e)).byteLength<=Or,"local_device_gh_result_too_large"),F=h({source:c(["agent","human"]),operationId:V()}),Je=h({version:i(1),userId:Ur(),deviceId:Ur(),rootId:Ur(),runId:Ur(),merge:F.optional(),contributorRefresh:Ur().optional(),repoFullName:w.nullable(),rootRevision:t().regex(/^[1-9][0-9]*$/),readOnly:_(),generation:o().int().positive().nullable(),fenceId:Ur().nullable()}).refine((e)=>e.generation===null===(e.fenceId===null));function v(e){return/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(e)&&e.split("/").every((n)=>n!=="."&&n!=="..")}function Gc(e,n,r={},p="read"){if(v(e)&&(n==="/search/issues"||n.startsWith("/search/issues?")))return Y(e,n,r);if(!v(e)||!n.startsWith(`/repos/${e}/`)&&n!==`/repos/${e}`)throw Error("local_device_gh_repository_mismatch");if(/[\\#\u0000-\u001f]/.test(n)||/%(?:2e|5c|00)/i.test(n))throw Error("local_device_gh_path_denied");let m=new URL(n,"https://api.github.com");if(m.pathname!==n.split("?")[0]||m.username||m.password)throw Error("local_device_gh_path_denied");let R;try{R=decodeURIComponent(m.pathname.slice(`/repos/${e}`.length))}catch{throw Error("local_device_gh_path_denied")}if(R.includes("%")||R.split("/").some((s)=>s==="."||s===".."))throw Error("local_device_gh_path_denied");if((r.method??"GET").toUpperCase()!=="GET"||r.body!=null)throw Error("local_device_gh_mutation_not_admitted");if(![/^$/,/^\/commits$/,/^\/pulls$/,/^\/pulls\/[1-9][0-9]*(?:\/(?:commits|files|reviews|comments))?$/,/^\/issues\/[1-9][0-9]*(?:\/comments)?$/,/^\/issues\/comments\/[1-9][0-9]*\/reactions$/,/^\/commits\/[A-Za-z0-9_./-]+(?:\/(?:check-runs|status))?$/,/^\/check-runs\/[1-9][0-9]*(?:\/annotations)?$/,/^\/branches\/[A-Za-z0-9_./-]+$/,/^\/git\/ref\/heads\/[A-Za-z0-9_./-]+$/,/^\/compare\/[A-Za-z0-9_./-]+\.\.\.[A-Za-z0-9_./-]+$/].some((s)=>s.test(R)))throw Error("local_device_gh_path_denied");if(m.searchParams.forEach((s,f)=>{if(f==="per_page"&&/^[1-9][0-9]*$/.test(s)&&Number(s)<=100)return;if(f==="page"&&/^[1-9][0-9]*$/.test(s)&&Number(s)<=100)return;if(R==="/pulls"&&f==="state"&&["open","closed","all"].includes(s))return;if(R==="/pulls"&&f==="sort"&&s==="updated")return;if(R==="/pulls"&&f==="direction"&&s==="desc")return;if(R==="/pulls"&&["head","base"].includes(f)&&/^[A-Za-z0-9_./:-]{1,255}$/.test(s))return;throw Error("local_device_gh_query_denied")}),r.headers)new Headers(r.headers).forEach((f,q)=>{if(q!=="accept"||!["application/vnd.github+json","application/vnd.github.full+json","application/vnd.github.v3.diff"].includes(f))throw Error("local_device_gh_header_denied")})}function Y(e,n,r){if(/[\\#\u0000-\u001f]/.test(n))throw Error("local_device_gh_path_denied");let p=new URL(n,"https://api.github.com");if(p.pathname!=="/search/issues"||p.username||p.password)throw Error("local_device_gh_path_denied");if((r.method??"GET").toUpperCase()!=="GET"||r.body!=null)throw Error("local_device_gh_mutation_not_admitted");let m=null;p.searchParams.forEach((g,s)=>{if(s==="q"&&m===null){m=g;return}if(s==="per_page"&&/^[1-9][0-9]*$/.test(g)&&Number(g)<=100)return;if(s==="page"&&/^[1-9][0-9]*$/.test(g)&&Number(g)<=100)return;throw Error("local_device_gh_query_denied")});let R=`repo:${e.toLowerCase()} `,x=m?.toLowerCase()??"";if(x.length>512||!(x+" ").startsWith(R)||/(?:^|\s)(?:repo|org|user):/.test(x.slice(R.length)))throw Error("local_device_gh_query_denied");if(r.headers)new Headers(r.headers).forEach((g,s)=>{if(s!=="accept"||g!=="application/vnd.github+json")throw Error("local_device_gh_header_denied")})}var Kc=`query PullRequestReviewContext($owner: String!, $repo: String!, $number: Int!, $after: String) {
2
+ import{rr,jr}from"./vm-hands-entry-lite-pnx4zgd6.js";import{t,Ur,V,o,_,d,h,P,$e,c,i}from"./vm-hands-entry-lite-ef0ergar.js";var w=t().max(201).regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/).refine((e)=>e.split("/").every((n)=>n!=="."&&n!=="..")),b=t().min(1).max(255).regex(/^[A-Za-z0-9_][A-Za-z0-9_./-]*$/).refine((e)=>!e.includes("..")&&!e.includes("//")&&!e.endsWith("/")&&!e.endsWith(".lock")),L=t().regex(/^[a-f0-9]{40}$/),O=o().int().positive(),I=t().min(1).max(256),T=t().max(60000),y={version:i(1),repoFullName:w},A=d(t().max(1024).regex(/^(?:Co-authored-by: [^<>\r\n\x00]+ <[^<>\s]+@[^<>\s]+>|Reason-Contributor-ID: rc_[a-f0-9]{32})$/)).max(1000),j=h({expectedTrailers:A,missingFromHead:A}),G=P("action",[h({action:i("edit"),title:I.optional(),body:T.optional(),base:b.optional()}),h({action:c(["ready","draft","close"])}),h({action:i("metadata"),field:c(["reviewer","assignee","label"]),change:c(["add","remove"]),value:t().min(1).max(100).refine((e)=>!/[\r\n\0]/.test(e))})]),Ct=P("kind",[h({...y,kind:i("read"),path:t().min(1).max(2048),accept:c(["application/vnd.github+json","application/vnd.github.full+json","application/vnd.github.v3.diff"]).optional()}),h({...y,kind:i("pr_review_context"),number:O,after:t().min(1).max(1024).optional()}),h({...y,kind:i("prepare"),branch:b,baseSha:L,defaultBranch:b,diagnosticsVersion:i(1).optional()}),h({...y,kind:i("publish"),branch:b,defaultBranch:b,baseSha:L,remoteHeadSha:L.nullable(),contributorTrailers:A.optional()}),h({...y,kind:i("pr_create"),head:b,base:b,title:I,body:T,draft:_()}),h({...y,kind:i("pr_mutation"),number:O,mutation:G}),h({...y,kind:i("pr_merge"),number:O,expectedHeadSha:L,expectedBaseRef:b,method:c(["merge","squash","rebase"]),commitBody:t().max(65536).optional()})]),z=["local_device_gh_prepare_setup","local_device_gh_prepare_metadata","local_device_gh_prepare_private_init","local_device_gh_prepare_fetch","local_device_gh_prepare_base_mismatch","local_device_gh_prepare_checkout_validation","local_device_gh_prepare_checkout_init","local_device_gh_prepare_materialization"];function B(e){return z.some((n)=>n===e)}class Fn extends Error{code;constructor(e){super(e);this.code=e}}function vs(e,n,r){let p=Ct.safeParse(e);return n==="failed"&&p.success&&p.data.kind==="prepare"&&p.data.diagnosticsVersion===1&&B(r)}var Or=245760,Vc=P("kind",[h({kind:i("pr_review_context"),body:t().max(Or)}),h({kind:i("prepare"),headSha:L}),h({kind:i("read"),status:o().int().min(200).max(599),headers:$e(t(),t().max(8192)).refine((e)=>Object.keys(e).every((n)=>n==="link"||n==="content-type")),body:t().max(Or)}),h({kind:i("publish"),headSha:L,scannedObjectCount:o().int().min(0).max(5000),attribution:j.optional()}),h({kind:i("pr_create"),url:t().max(1024).regex(/^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/pull\/[1-9][0-9]*$/)}),h({kind:i("pr_mutation"),number:O,applied:i(!0)}),h({kind:i("pr_merge"),number:O,merged:i(!0)})]).refine((e)=>new TextEncoder().encode(JSON.stringify(e)).byteLength<=Or,"local_device_gh_result_too_large"),F=h({source:c(["agent","human"]),operationId:V()}),Je=h({version:i(1),userId:Ur(),deviceId:Ur(),rootId:Ur(),runId:Ur(),merge:F.optional(),contributorRefresh:Ur().optional(),repoFullName:w.nullable(),rootRevision:t().regex(/^[1-9][0-9]*$/),readOnly:_(),generation:o().int().positive().nullable(),fenceId:Ur().nullable()}).refine((e)=>e.generation===null===(e.fenceId===null));function v(e){return/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(e)&&e.split("/").every((n)=>n!=="."&&n!=="..")}function Gc(e,n,r={},p="read"){if(v(e)&&(n==="/search/issues"||n.startsWith("/search/issues?")))return Y(e,n,r);if(!v(e)||!n.startsWith(`/repos/${e}/`)&&n!==`/repos/${e}`)throw Error("local_device_gh_repository_mismatch");if(/[\\#\u0000-\u001f]/.test(n)||/%(?:2e|5c|00)/i.test(n))throw Error("local_device_gh_path_denied");let m=new URL(n,"https://api.github.com");if(m.pathname!==n.split("?")[0]||m.username||m.password)throw Error("local_device_gh_path_denied");let R;try{R=decodeURIComponent(m.pathname.slice(`/repos/${e}`.length))}catch{throw Error("local_device_gh_path_denied")}if(R.includes("%")||R.split("/").some((s)=>s==="."||s===".."))throw Error("local_device_gh_path_denied");if((r.method??"GET").toUpperCase()!=="GET"||r.body!=null)throw Error("local_device_gh_mutation_not_admitted");if(![/^$/,/^\/commits$/,/^\/pulls$/,/^\/pulls\/[1-9][0-9]*(?:\/(?:commits|files|reviews|comments))?$/,/^\/issues\/[1-9][0-9]*(?:\/comments)?$/,/^\/issues\/comments\/[1-9][0-9]*\/reactions$/,/^\/commits\/[A-Za-z0-9_./-]+(?:\/(?:check-runs|status))?$/,/^\/check-runs\/[1-9][0-9]*(?:\/annotations)?$/,/^\/branches\/[A-Za-z0-9_./-]+$/,/^\/git\/ref\/heads\/[A-Za-z0-9_./-]+$/,/^\/compare\/[A-Za-z0-9_./-]+\.\.\.[A-Za-z0-9_./-]+$/].some((s)=>s.test(R)))throw Error("local_device_gh_path_denied");if(m.searchParams.forEach((s,f)=>{if(f==="per_page"&&/^[1-9][0-9]*$/.test(s)&&Number(s)<=100)return;if(f==="page"&&/^[1-9][0-9]*$/.test(s)&&Number(s)<=100)return;if(R==="/pulls"&&f==="state"&&["open","closed","all"].includes(s))return;if(R==="/pulls"&&f==="sort"&&s==="updated")return;if(R==="/pulls"&&f==="direction"&&s==="desc")return;if(R==="/pulls"&&["head","base"].includes(f)&&/^[A-Za-z0-9_./:-]{1,255}$/.test(s))return;throw Error("local_device_gh_query_denied")}),r.headers)new Headers(r.headers).forEach((f,q)=>{if(q!=="accept"||!["application/vnd.github+json","application/vnd.github.full+json","application/vnd.github.v3.diff"].includes(f))throw Error("local_device_gh_header_denied")})}function Y(e,n,r){if(/[\\#\u0000-\u001f]/.test(n))throw Error("local_device_gh_path_denied");let p=new URL(n,"https://api.github.com");if(p.pathname!=="/search/issues"||p.username||p.password)throw Error("local_device_gh_path_denied");if((r.method??"GET").toUpperCase()!=="GET"||r.body!=null)throw Error("local_device_gh_mutation_not_admitted");let m=null;p.searchParams.forEach((g,s)=>{if(s==="q"&&m===null){m=g;return}if(s==="per_page"&&/^[1-9][0-9]*$/.test(g)&&Number(g)<=100)return;if(s==="page"&&/^[1-9][0-9]*$/.test(g)&&Number(g)<=100)return;throw Error("local_device_gh_query_denied")});let R=`repo:${e.toLowerCase()} `,x=m?.toLowerCase()??"";if(x.length>512||!(x+" ").startsWith(R)||/(?:^|\s)(?:repo|org|user):/.test(x.slice(R.length)))throw Error("local_device_gh_query_denied");if(r.headers)new Headers(r.headers).forEach((g,s)=>{if(s!=="accept"||g!=="application/vnd.github+json")throw Error("local_device_gh_header_denied")})}var Kc=`query PullRequestReviewContext($owner: String!, $repo: String!, $number: Int!, $after: String) {
3
3
  repository(owner: $owner, name: $repo) {
4
4
  nameWithOwner
5
5
  pullRequest(number: $number) {
@@ -34,9 +34,9 @@ import{rr,jr}from"./vm-hands-entry-lite-1cdtev4n.js";import{t,Ur,V,o,_,d,h,P,$e,
34
34
  }
35
35
  }
36
36
  }
37
- }`;function Qt(e){return e.kind==="read"||e.kind==="pr_review_context"}var Nr=["inspect_project","fs.read","fs.write","fs.search","fs.watch","fs.upload","fs.export","fs.import","fs.download","exec.run","exec.full","process.run.v1","process.full.v1","pty.start","pty.input","pty.resize","pty.close","git.run","process.list","process.signal","ports.list","tunnel.open","tunnel.close","env.discover","setup.run","mcp.discover","mcp.start","mcp.proxy","browser.snapshot","browser.navigate","browser.act","computer.snapshot","computer.act","computer.use","browser.use","browser.recording.v1","browser.pr-proof.v1","hands.connect","jobs.control","environment.install","github.local.v1","inference.ollama.v1","inference.custom.v1","delegate.devin.copy.v1","delegate.cursor.copy.v1","display.stream.v1","automation.call.v1","preview.serve.v1","workspace.setup.v1","simulator.call.v1","simulator.stream.v1"];var er=2,N="/app/local-runtime",Xe=262144,Ss="x-reason-relay-host-alias",Es="v1";function l(e,n){return{path:`${N}${e}`,routerPath:e,auth:n}}function E(e,n){return{...l(e,"device_proof"),forOperation(r){return l(`/operations/${encodeURIComponent(r)}${n}`,"device_proof")}}}var M={register:l("/register","registration_bearer"),enroll:l("/enroll","none"),authChallenge:l("/auth/challenge","none"),identity:l("/identity","device_proof"),heartbeat:l("/heartbeat","device_proof"),rootsSync:l("/roots/sync","device_proof"),disconnect:l("/disconnect","device_proof"),lifecycle:l("/lifecycle","device_proof"),localSubscription:l("/local-subscription","device_proof"),ownerWorkspaces:l("/owner-workspaces","device_proof"),ownerWorkspaceEnrollment:l("/owner-workspaces/enrollment","device_proof"),sessionWorktrees:l("/session-worktrees","device_proof"),operationClaim:l("/operations/claim","device_proof"),operationHeartbeat:E("/operations/:operationId/heartbeat","/heartbeat"),operationEvents:E("/operations/:operationId/events","/events"),operationComplete:E("/operations/:operationId/complete","/complete"),operationEnvironment:E("/operations/:operationId/environment","/environment"),operationEnvironmentAck:E("/operations/:operationId/environment-ack","/environment-ack"),operationCustomEndpointCredential:E("/operations/:operationId/custom-endpoint-credential","/custom-endpoint-credential")},At=`${N}/session`;var J=[/^\/app\/local-runtime\/heartbeat$/,/^\/app\/local-runtime\/operations\/claim$/,/^\/app\/local-runtime\/operations\/[0-9a-fA-F-]{36}\/(?:heartbeat|events|complete|environment|environment-ack)$/];function ks(e){return J.some((n)=>n.test(e))}var jn=60000;var xs="hands_control_v1",Lr="environment.deliver",Cs="vm_hands_workspace_deferred",As="vm_hands.workspace_grant",Ps="hands.unbind_unverified",Rs="claim_v1",Ts="environment_at_claim",Is="ready_v1",Ds="workspace_check",Os="rebind_v1",Ns="resident_rebind",Ls="hands.rebind",$s="snapshot_v1",Ms="cloud_access",Bs="playwright_v1",Fs="headless_browser",js="v1",Hs="job_env_large_values",ct="srt_root_v1",Le="hands_confinement",Pt="gid_v1",xe="model_jobs_egress",Us="setpriv_v1",zs="jobs_user",qs="spawning_attempt_v1",pe="hands_session_group";var Ws="session_cap",Vs="none",Gs="same_launch_v1",Ks="exit_v1",Js="start_wait",$r="user_chrome",Xs="cloud_sessions";function C(e){if(!a(e)||Object.keys(e).length!==5||e.version!==1)return!1;let n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return["boot_generation","recording_operation_id","recording_attempt_id"].every((r)=>typeof e[r]==="string"&&n.test(e[r]))&&typeof e.root_version==="string"&&/^[0-9]{1,20}(?:\.[0-9]{1,6})?$/.test(e.root_version)}function S(e){if(!a(e)||Object.keys(e).length!==6)return!1;let n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return typeof e.device_id==="string"&&n.test(e.device_id)&&(e.binding==="workspace_source"||e.binding==="mcp_control")&&Number.isSafeInteger(e.target_revision)&&Number(e.target_revision)>=0&&Number.isSafeInteger(e.root_grant_revision)&&Number(e.root_grant_revision)>0&&Number.isSafeInteger(e.target_generation)&&Number(e.target_generation)>0&&typeof e.target_fence_id==="string"&&n.test(e.target_fence_id)}var Ys=["lock_acquired","enrollment_started","enrollment_completed","readiness_started","readiness_completed","inventory_completed","control_ready"],tr=86400000;var W=["production","staging"];function k(e){if(!a(e)||Object.keys(e).length!==3)return!1;let n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return["organization_id","user_id","device_id"].every((r)=>Object.hasOwn(e,r)&&typeof e[r]==="string"&&n.test(e[r])&&e[r]!=="00000000-0000-0000-0000-000000000000")}var K="DEVICE-PROOF-V2";function Mr(e,n=K){let r=e.method.toUpperCase();if(!/^[A-Z]+$/.test(r)||!e.pathAndQuery.startsWith(`${N}/`)||e.pathAndQuery.includes(`
37
+ }`;function Qt(e){return e.kind==="read"||e.kind==="pr_review_context"}var Nr=["inspect_project","fs.read","fs.write","fs.search","fs.watch","fs.upload","fs.export","fs.import","fs.download","exec.run","exec.full","process.run.v1","process.full.v1","pty.start","pty.input","pty.resize","pty.close","git.run","process.list","process.signal","ports.list","tunnel.open","tunnel.close","env.discover","setup.run","mcp.discover","mcp.start","mcp.proxy","browser.snapshot","browser.navigate","browser.act","computer.snapshot","computer.act","computer.use","browser.use","browser.recording.v1","browser.pr-proof.v1","hands.connect","jobs.control","environment.install","github.local.v1","inference.ollama.v1","inference.custom.v1","delegate.devin.copy.v1","delegate.cursor.copy.v1","display.stream.v1","automation.call.v1","preview.serve.v1","workspace.setup.v1","simulator.call.v1","simulator.stream.v1"];var er=2,N="/app/local-runtime",Xe=262144,Ss="x-reason-relay-host-alias",Es="v1";function l(e,n){return{path:`${N}${e}`,routerPath:e,auth:n}}function E(e,n){return{...l(e,"device_proof"),forOperation(r){return l(`/operations/${encodeURIComponent(r)}${n}`,"device_proof")}}}var M={register:l("/register","registration_bearer"),enroll:l("/enroll","none"),authChallenge:l("/auth/challenge","none"),identity:l("/identity","device_proof"),heartbeat:l("/heartbeat","device_proof"),rootsSync:l("/roots/sync","device_proof"),disconnect:l("/disconnect","device_proof"),lifecycle:l("/lifecycle","device_proof"),localSubscription:l("/local-subscription","device_proof"),ownerWorkspaces:l("/owner-workspaces","device_proof"),ownerWorkspaceEnrollment:l("/owner-workspaces/enrollment","device_proof"),sessionWorktrees:l("/session-worktrees","device_proof"),operationClaim:l("/operations/claim","device_proof"),operationHeartbeat:E("/operations/:operationId/heartbeat","/heartbeat"),operationEvents:E("/operations/:operationId/events","/events"),operationComplete:E("/operations/:operationId/complete","/complete"),operationEnvironment:E("/operations/:operationId/environment","/environment"),operationEnvironmentAck:E("/operations/:operationId/environment-ack","/environment-ack"),operationCustomEndpointCredential:E("/operations/:operationId/custom-endpoint-credential","/custom-endpoint-credential")},At=`${N}/session`;var J=[/^\/app\/local-runtime\/heartbeat$/,/^\/app\/local-runtime\/operations\/claim$/,/^\/app\/local-runtime\/operations\/[0-9a-fA-F-]{36}\/(?:heartbeat|events|complete|environment|environment-ack)$/];function ks(e){return J.some((n)=>n.test(e))}var jn=60000;var xs="hands_control_v1",Lr="environment.deliver",Cs="vm_hands_workspace_deferred",As="vm_hands.workspace_grant",Ps="hands.unbind_unverified",Rs="claim_v1",Ts="environment_at_claim",Is="ready_v1",Ds="workspace_check",Os="rebind_v1",Ns="resident_rebind",Ls="hands.rebind",$s="snapshot_v1",Ms="cloud_access",Bs="playwright_v1",Fs="headless_browser",js="v1",Hs="job_env_large_values",ct="srt_root_v1",Le="hands_confinement",Pt="gid_v1",Ce="model_jobs_egress",Us="setpriv_v1",zs="jobs_user",qs="spawning_attempt_v1",he="hands_session_group";var Ws="session_cap",Vs="none",Gs="same_launch_v1",Ks="exit_v1",Js="start_wait",$r="user_chrome",Xs="cloud_sessions";function C(e){if(!a(e)||Object.keys(e).length!==5||e.version!==1)return!1;let n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return["boot_generation","recording_operation_id","recording_attempt_id"].every((r)=>typeof e[r]==="string"&&n.test(e[r]))&&typeof e.root_version==="string"&&/^[0-9]{1,20}(?:\.[0-9]{1,6})?$/.test(e.root_version)}function S(e){if(!a(e)||Object.keys(e).length!==6)return!1;let n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return typeof e.device_id==="string"&&n.test(e.device_id)&&(e.binding==="workspace_source"||e.binding==="mcp_control")&&Number.isSafeInteger(e.target_revision)&&Number(e.target_revision)>=0&&Number.isSafeInteger(e.root_grant_revision)&&Number(e.root_grant_revision)>0&&Number.isSafeInteger(e.target_generation)&&Number(e.target_generation)>0&&typeof e.target_fence_id==="string"&&n.test(e.target_fence_id)}var Ys=["lock_acquired","enrollment_started","enrollment_completed","readiness_started","readiness_completed","inventory_completed","control_ready"],tr=86400000;var W=["production","staging"];function k(e){if(!a(e)||Object.keys(e).length!==3)return!1;let n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return["organization_id","user_id","device_id"].every((r)=>Object.hasOwn(e,r)&&typeof e[r]==="string"&&n.test(e[r])&&e[r]!=="00000000-0000-0000-0000-000000000000")}var K="DEVICE-PROOF-V2";function Mr(e,n=K){let r=e.method.toUpperCase();if(!/^[A-Z]+$/.test(r)||!e.pathAndQuery.startsWith(`${N}/`)||e.pathAndQuery.includes(`
38
38
  `)||!/^[0-9]{1,20}$/.test(e.timestamp)||!/^[A-Za-z0-9_-]{22,43}$/.test(e.nonce)||e.challenge.length<16||e.challenge.length>1024||e.challenge.includes(`
39
39
  `)||!/^[a-f0-9]{64}$/.test(e.bodySha256))throw Error("Invalid Reason Device proof input.");return Buffer.from([n,r,e.pathAndQuery,e.timestamp,e.nonce,e.challenge,e.bodySha256].join(`
40
40
  `),"utf8")}function a(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}function Z(e,n){return typeof e==="string"&&n.some((r)=>r===e)}function D(e){return a(e)&&typeof e.id==="string"&&typeof e.label==="string"&&typeof e.path_fingerprint==="string"}function X(e){return a(e)&&Number.isInteger(e.seq)&&Number(e.seq)>=0&&typeof e.kind==="string"&&/^[A-Za-z0-9._:-]{1,64}$/.test(e.kind)&&a(e.payload)}function u(e){throw Error(e)}function Zs(e,n){let r=a(e)?e:{},p=typeof r.error==="string"?r.error:`http_${n}`,m=typeof r.detail==="string"?r.detail:typeof r.message==="string"?r.message:`Reason Device request failed (${n})`;return{code:p,message:m}}function Gi(e){if(!a(e)||typeof e.challenge!=="string"||e.challenge.length<16||e.challenge.length>1024||e.challenge.includes(`
41
41
  `)||typeof e.expires_at!=="string"||!Number.isFinite(Date.parse(e.expires_at)))u("Reason returned an invalid Device proof challenge.");return{challenge:e.challenge,expires_at:e.expires_at}}function H(e,n){if(!a(e)||typeof e.device_id!=="string"||e.auth_scheme!=="p256"||e.organization_id!==void 0&&typeof e.organization_id!=="string"||e.protocol_version!==er||!Array.isArray(e.roots)||!e.roots.every(D)||n&&typeof e.organization_id!=="string"||e.device_credential!==void 0)u(n?"Reason returned an invalid Device enrollment.":"Reason returned an invalid Device registration.");return{...{device_id:e.device_id,...typeof e.organization_id==="string"?{organization_id:e.organization_id}:{},protocol_version:er,roots:e.roots},auth_scheme:"p256"}}function Qs(e){return H(e,!1)}function ea(e){let n=H(e,!0);if(typeof n.organization_id!=="string")return u("Reason returned an invalid Device enrollment.");return{...n,organization_id:n.organization_id}}function ta(e){if(!a(e)||typeof e.server_time!=="string"||typeof e.drain!=="boolean")return u("Reason returned an invalid Device heartbeat.");return{server_time:e.server_time,drain:e.drain,...U(e),...typeof e.update_policy==="string"||e.update_policy===null?{update_policy:e.update_policy}:{},...typeof e.supported_protocol_version==="number"?{supported_protocol_version:e.supported_protocol_version}:{},...ee(e.latest_cli_versions),...e.hands_prespawn===!0?{hands_prespawn:!0}:{}}}var Q=["account_root_metadata_supported","workspace_root_metadata_supported","account_root_path_supported","home_contained_roots_supported","root_paths_supported","startup_supported"];function U(e){return Object.fromEntries(Q.filter((n)=>e[n]===!0).map((n)=>[n,!0]))}function Hn(e){if(!a(e))return;try{return{...Gi(e),...U(e)}}catch{return}}function ee(e){if(!a(e))return{};let n={};for(let r of W){let p=e[r];if(typeof p==="string"&&/^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$/.test(p))n[r]=p}return Object.keys(n).length>0?{latest_cli_versions:n}:{}}function ra(e){if(!a(e)||!Array.isArray(e.roots)||!e.roots.every(D))return u("Reason returned an invalid Device root sync.");return{roots:e.roots}}function na(e){if(!a(e)||e.user_id!==void 0&&typeof e.user_id!=="string"||typeof e.organization_id!=="string"||typeof e.organization_name!=="string"||typeof e.organization_slug!=="string")return u("Reason returned an invalid Device identity.");return{...typeof e.user_id==="string"?{user_id:e.user_id}:{},organization_id:e.organization_id,organization_name:e.organization_name,organization_slug:e.organization_slug}}function ia(e){if(!a(e)||e.disconnected!==!0)return u("Reason did not disconnect this Device.");let n=e.sessions_moved;return typeof n==="number"&&Number.isSafeInteger(n)&&n>=0?{disconnected:!0,sessions_moved:n}:{disconnected:!0}}function oa(e){if(a(e)&&e.ok===!0&&typeof e.expires==="number")return{ok:!0,expires:e.expires};if(a(e)&&e.ok===!1&&typeof e.error==="string")return{ok:!1,error:e.error};return u("Reason did not answer the local login hand-over.")}function sa(e){if(!a(e)||e.accepted!==!0)return u("Reason did not accept the Device lifecycle event.");return{accepted:!0}}function te(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function aa(e,n=Nr){if(!a(e)||typeof e.operation_id!=="string"||typeof e.attempt_id!=="string"||typeof e.attempt_token!=="string"||!/^(?:reason|ara)_attempt_/.test(e.attempt_token)||typeof e.lease_until!=="string"||typeof e.run_id!=="string"||typeof e.root_id!=="string"||e.owner!==void 0&&!k(e.owner)||!Z(e.capability,n)||!a(e.payload)||e.protocol_version!==er||te(e.payload)>(e.capability===rr?jr:Xe)||e.authority!==void 0&&!S(e.authority)||e.local_github_authority!==void 0&&!Je.safeParse(e.local_github_authority).success||e.capability==="github.local.v1"&&!Je.safeParse(e.local_github_authority).success||e.recording_authority!==void 0&&!C(e.recording_authority)||e.capability==="browser.recording.v1"&&(!C(e.recording_authority)||!k(e.owner))||e.capability!=="browser.recording.v1"&&e.recording_authority!==void 0)return u("Reason returned an invalid Device operation claim.");let r={operation_id:e.operation_id,attempt_id:e.attempt_id,attempt_token:e.attempt_token,lease_until:e.lease_until,run_id:e.run_id,root_id:e.root_id,capability:e.capability,payload:e.payload,...S(e.authority)?{authority:e.authority}:{},...C(e.recording_authority)?{recording_authority:Object.freeze({...e.recording_authority})}:{},...e.local_github_authority!==void 0?{local_github_authority:Je.parse(e.local_github_authority)}:{},...e.capability==="hands.connect"&&a(e.environment)&&a(e.environment.payload)&&S(e.environment.authority)?{environment:{payload:e.environment.payload,authority:e.environment.authority}}:{},protocol_version:er};if(e.owner!==void 0)r.owner=Object.freeze({...e.owner});return r}function ca(e){if(!a(e)||typeof e.lease_until!=="string"||!Array.isArray(e.controls)||!e.controls.every(X)||!Number.isInteger(e.next_control_seq)||Number(e.next_control_seq)<0)return u("Reason returned an invalid Device operation heartbeat.");return{lease_until:e.lease_until,controls:e.controls,next_control_seq:Number(e.next_control_seq)}}function la(e){if(!a(e)||!Number.isInteger(e.next_event_seq)||Number(e.next_event_seq)<0||typeof e.duplicate!=="boolean"||!Number.isInteger(e.accepted_count)||Number(e.accepted_count)<0)return u("Reason returned an invalid Device operation event result.");return{next_event_seq:Number(e.next_event_seq),duplicate:e.duplicate,accepted_count:Number(e.accepted_count)}}function ua(e){if(!a(e)||!a(e.payload)||!S(e.authority))return u("Reason returned an invalid Device environment delivery.");return{payload:e.payload,authority:e.authority}}function oe(e){return e==="succeeded"||e==="failed"||e==="cancelled"||e==="expired"}function da(e){if(!a(e)||!oe(e.status)||typeof e.idempotent!=="boolean")return u("Reason returned an invalid Device operation completion.");return{status:e.status,idempotent:e.idempotent}}
42
- export{Ct,Fn,vs,Or,Vc,Je,Gc,Kc,Qt,Nr,er,Xe,Ss,Es,M,At,ks,jn,xs,Lr,Cs,As,Ps,Rs,Ts,Is,Ds,Os,Ns,Ls,$s,Ms,Bs,Fs,js,Hs,ct,Le,Pt,xe,Us,zs,qs,pe,Ws,Vs,Gs,Ks,Js,$r,Xs,Ys,tr,Mr,Zs,Gi,Qs,ea,ta,Hn,ra,na,ia,oa,sa,aa,ca,la,ua,da};
42
+ export{Ct,Fn,vs,Or,Vc,Je,Gc,Kc,Qt,Nr,er,Xe,Ss,Es,M,At,ks,jn,xs,Lr,Cs,As,Ps,Rs,Ts,Is,Ds,Os,Ns,Ls,$s,Ms,Bs,Fs,js,Hs,ct,Le,Pt,Ce,Us,zs,qs,he,Ws,Vs,Gs,Ks,Js,$r,Xs,Ys,tr,Mr,Zs,Gi,Qs,ea,ta,Hn,ra,na,ia,oa,sa,aa,ca,la,ua,da};