@reason-machines/cli-linux-x64 0.2.566 → 0.2.567

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 (123) hide show
  1. package/bin/reason +1 -1
  2. package/bin/vm-hands/agent-network-0sng03r6.js +2 -0
  3. package/bin/vm-hands/api-credentials-h4neeejt.js +2 -0
  4. package/bin/vm-hands/api-mr6xds10.js +2 -0
  5. package/bin/vm-hands/{ask-relay-gk4ks8mg.js → ask-relay-c0v30hh6.js} +2 -2
  6. package/bin/vm-hands/connect-cli-jc4m755k.js +2 -0
  7. package/bin/vm-hands/credentials-nfx99zxr.js +2 -0
  8. package/bin/vm-hands/custom-endpoint-device-5047vdn3.js +2 -0
  9. package/bin/vm-hands/desktop-account-d1g1m6yb.js +2 -0
  10. package/bin/vm-hands/desktop-components-7ngf8byq.js +2 -0
  11. package/bin/vm-hands/desktop-delegate-4hb0163k.js +2 -0
  12. package/bin/vm-hands/device-workspace-8941tdsy.js +2 -0
  13. package/bin/vm-hands/{fsevents-ezcg3e40.js → fsevents-e57jgcfe.js} +1 -1
  14. package/bin/vm-hands/hands-worker-source-8a4kh44t.js +2 -0
  15. package/bin/vm-hands/{index-w92ys6ra.js → index-y21r07rf.js} +8 -8
  16. package/bin/vm-hands/install-receipt-rckwjqmt.js +2 -0
  17. package/bin/vm-hands/local-automation-3mdhfw08.js +2 -0
  18. package/bin/vm-hands/local-capabilities-6e0gkrqq.js +2 -0
  19. package/bin/vm-hands/local-desktop-users-hkdfxqtj.js +2 -0
  20. package/bin/vm-hands/local-display-mac-gsh74khc.js +2 -0
  21. package/bin/vm-hands/local-display-session-r6s0wghh.js +2 -0
  22. package/bin/vm-hands/local-display-video-61peg1pj.js +2 -0
  23. package/bin/vm-hands/local-managed-process-p8xd7m5f.js +2 -0
  24. package/bin/vm-hands/local-pty-session-w0yhjdvz.js +2 -0
  25. package/bin/vm-hands/managed-runtime-4s8q8r7f.js +2 -0
  26. package/bin/vm-hands/{network-auto-update-qwds22kt.js → network-auto-update-wep7067g.js} +2 -2
  27. package/bin/vm-hands/network-contract-ht0psj5j.js +2 -0
  28. package/bin/vm-hands/{network-sign-in-kqdg70kc.js → network-sign-in-rdnerhpz.js} +2 -2
  29. package/bin/vm-hands/package-3rv6jngd.js +2 -0
  30. package/bin/vm-hands/permissions-mmg1gbdx.js +2 -0
  31. package/bin/vm-hands/reason-hands-protocol-9r62swp0.js +2 -0
  32. package/bin/vm-hands/serve-service-k3mpxpj6.js +2 -0
  33. package/bin/vm-hands/{status-q55nprve.js → status-2s3zjapg.js} +5 -5
  34. package/bin/vm-hands/version-41q9twfs.js +2 -0
  35. package/bin/vm-hands/{vm-hands-entry-lite-pg7nnyc6.js → vm-hands-entry-lite-04nx5y4f.js} +2 -2
  36. package/bin/vm-hands/{vm-hands-entry-lite-ezhfkjqr.js → vm-hands-entry-lite-07wr95rz.js} +3 -3
  37. package/bin/vm-hands/{vm-hands-entry-lite-33at6g06.js → vm-hands-entry-lite-0xfme8gg.js} +2 -2
  38. package/bin/vm-hands/{vm-hands-entry-lite-xfak34av.js → vm-hands-entry-lite-1as6h9ed.js} +4 -4
  39. package/bin/vm-hands/{vm-hands-entry-lite-gxf2r5en.js → vm-hands-entry-lite-1cdtev4n.js} +1 -1
  40. package/bin/vm-hands/{vm-hands-entry-lite-fn2805g8.js → vm-hands-entry-lite-1sy80ca9.js} +2 -2
  41. package/bin/vm-hands/{vm-hands-entry-lite-yg4dk99m.js → vm-hands-entry-lite-2927z566.js} +1 -1
  42. package/bin/vm-hands/{vm-hands-entry-lite-6adz91f3.js → vm-hands-entry-lite-298kzt93.js} +70 -70
  43. package/bin/vm-hands/{vm-hands-entry-lite-3q2ng4e9.js → vm-hands-entry-lite-3594pdj0.js} +2 -2
  44. package/bin/vm-hands/{vm-hands-entry-lite-rz1ep81m.js → vm-hands-entry-lite-3r063pb4.js} +2 -2
  45. package/bin/vm-hands/{vm-hands-entry-lite-2qfmabqn.js → vm-hands-entry-lite-4kb5rq3d.js} +3 -3
  46. package/bin/vm-hands/{vm-hands-entry-lite-5qrft0nw.js → vm-hands-entry-lite-6g9we34r.js} +3 -3
  47. package/bin/vm-hands/{vm-hands-entry-lite-s93f3pbv.js → vm-hands-entry-lite-732hnx41.js} +3 -3
  48. package/bin/vm-hands/vm-hands-entry-lite-7aeqbfc8.js +3 -0
  49. package/bin/vm-hands/{vm-hands-entry-lite-y0jtj8zz.js → vm-hands-entry-lite-8twdd0ff.js} +1 -1
  50. package/bin/vm-hands/{vm-hands-entry-lite-x6ybft9v.js → vm-hands-entry-lite-9gn7k5rp.js} +5 -5
  51. package/bin/vm-hands/{vm-hands-entry-lite-b2w5071h.js → vm-hands-entry-lite-ax2w9ywb.js} +3 -3
  52. package/bin/vm-hands/{vm-hands-entry-lite-2gxv7v1h.js → vm-hands-entry-lite-b3mfma12.js} +4 -4
  53. package/bin/vm-hands/{vm-hands-entry-lite-qjrgvdbj.js → vm-hands-entry-lite-bbjsnjct.js} +21 -21
  54. package/bin/vm-hands/{vm-hands-entry-lite-zp7chzcc.js → vm-hands-entry-lite-bc9zq8gx.js} +1 -1
  55. package/bin/vm-hands/{vm-hands-entry-lite-ngry8nkq.js → vm-hands-entry-lite-bqs4pkyb.js} +4 -4
  56. package/bin/vm-hands/{vm-hands-entry-lite-zpvr7wc6.js → vm-hands-entry-lite-bt6skt4h.js} +2 -2
  57. package/bin/vm-hands/{vm-hands-entry-lite-q62g6sx0.js → vm-hands-entry-lite-chve4vmh.js} +2 -2
  58. package/bin/vm-hands/{vm-hands-entry-lite-72h3t64b.js → vm-hands-entry-lite-crjaacc2.js} +2 -2
  59. package/bin/vm-hands/{vm-hands-entry-lite-fs6jbfp3.js → vm-hands-entry-lite-cy8yc9gb.js} +19 -19
  60. package/bin/vm-hands/{vm-hands-entry-lite-30z7wsqr.js → vm-hands-entry-lite-dfphra23.js} +3 -3
  61. package/bin/vm-hands/{vm-hands-entry-lite-a3gq377t.js → vm-hands-entry-lite-dh87ysh2.js} +2 -2
  62. package/bin/vm-hands/{vm-hands-entry-lite-994kah8n.js → vm-hands-entry-lite-dtw6cj95.js} +2 -2
  63. package/bin/vm-hands/{vm-hands-entry-lite-a8z57vry.js → vm-hands-entry-lite-dzdjwa06.js} +1 -1
  64. package/bin/vm-hands/{vm-hands-entry-lite-chq0qx9f.js → vm-hands-entry-lite-g0bpdyfz.js} +2 -2
  65. package/bin/vm-hands/{vm-hands-entry-lite-rxydyqke.js → vm-hands-entry-lite-h7f5a5mb.js} +2 -2
  66. package/bin/vm-hands/{vm-hands-entry-lite-13nx02p7.js → vm-hands-entry-lite-hh0kba1y.js} +4 -4
  67. package/bin/vm-hands/{vm-hands-entry-lite-fccn6s4j.js → vm-hands-entry-lite-hpe54h0b.js} +2 -2
  68. package/bin/vm-hands/{vm-hands-entry-lite-kbnxk71q.js → vm-hands-entry-lite-hpw27zfb.js} +2 -2
  69. package/bin/vm-hands/{vm-hands-entry-lite-284z7ct8.js → vm-hands-entry-lite-kankyeep.js} +2 -2
  70. package/bin/vm-hands/{vm-hands-entry-lite-9wp7ahwa.js → vm-hands-entry-lite-n5jyzccm.js} +4 -4
  71. package/bin/vm-hands/{vm-hands-entry-lite-88dxn9b5.js → vm-hands-entry-lite-peyr9y6z.js} +2 -2
  72. package/bin/vm-hands/{vm-hands-entry-lite-cmmb9k3g.js → vm-hands-entry-lite-r131db1f.js} +2 -2
  73. package/bin/vm-hands/{vm-hands-entry-lite-72084j3g.js → vm-hands-entry-lite-rmcdfbkk.js} +24 -24
  74. package/bin/vm-hands/{vm-hands-entry-lite-1b21avcs.js → vm-hands-entry-lite-sb1xtqxr.js} +2 -2
  75. package/bin/vm-hands/{vm-hands-entry-lite-b1vanmtv.js → vm-hands-entry-lite-sxnvhzy5.js} +4 -4
  76. package/bin/vm-hands/{vm-hands-entry-lite-cc8hwgxc.js → vm-hands-entry-lite-t2rhwchw.js} +3 -3
  77. package/bin/vm-hands/{vm-hands-entry-lite-sh4mqy93.js → vm-hands-entry-lite-t3k90kdn.js} +3 -3
  78. package/bin/vm-hands/{vm-hands-entry-lite-bkhc5mt4.js → vm-hands-entry-lite-tv5mcw97.js} +6 -6
  79. package/bin/vm-hands/{vm-hands-entry-lite-12ck5swp.js → vm-hands-entry-lite-tzv8s0e7.js} +1 -1
  80. package/bin/vm-hands/{vm-hands-entry-lite-50kqbrb7.js → vm-hands-entry-lite-vedb5r12.js} +4 -4
  81. package/bin/vm-hands/{vm-hands-entry-lite-jj7873n8.js → vm-hands-entry-lite-vha0pf8k.js} +2 -2
  82. package/bin/vm-hands/{vm-hands-entry-lite-fxptf351.js → vm-hands-entry-lite-vvhfaxpd.js} +5 -5
  83. package/bin/vm-hands/{vm-hands-entry-lite-3gc2bn5a.js → vm-hands-entry-lite-wtjqjvea.js} +2 -2
  84. package/bin/vm-hands/{vm-hands-entry-lite-p02vay5n.js → vm-hands-entry-lite-xd393rm3.js} +5 -5
  85. package/bin/vm-hands/{vm-hands-entry-lite-z65xva21.js → vm-hands-entry-lite-ys4jhf7n.js} +2 -2
  86. package/bin/vm-hands/{vm-hands-entry-lite-ttfqxjms.js → vm-hands-entry-lite-zaj1vnnd.js} +9 -9
  87. package/bin/vm-hands/vm-hands-entry-lite.js +2 -2
  88. package/bin/vm-hands/{vm-hands-executor-r6v6tzqj.js → vm-hands-executor-31ea40aw.js} +4 -4
  89. package/bin/vm-hands/{vm-hands-op-runner-wcbc42nw.js → vm-hands-op-runner-6r390v3d.js} +1 -1
  90. package/bin/vm-hands/{vm-hands-runtime-2t08ywa4.js → vm-hands-runtime-z9m50n9p.js} +3 -3
  91. package/bin/vm-hands/worker-preview-readiness-w4zy5g2p.js +2 -0
  92. package/bin/vm-hands/worker-sandbox-2trfs79b.js +2 -0
  93. package/package.json +1 -1
  94. package/bin/vm-hands/agent-network-pak3wvrv.js +0 -2
  95. package/bin/vm-hands/api-credentials-a433ykxs.js +0 -2
  96. package/bin/vm-hands/api-kex52g1d.js +0 -2
  97. package/bin/vm-hands/connect-cli-afdc1h11.js +0 -2
  98. package/bin/vm-hands/credentials-sk4sag42.js +0 -2
  99. package/bin/vm-hands/custom-endpoint-device-3jscber1.js +0 -2
  100. package/bin/vm-hands/desktop-account-xma0330a.js +0 -2
  101. package/bin/vm-hands/desktop-components-y89gpa6e.js +0 -2
  102. package/bin/vm-hands/desktop-delegate-tch2qzx0.js +0 -2
  103. package/bin/vm-hands/device-workspace-4bj43nxq.js +0 -2
  104. package/bin/vm-hands/hands-worker-source-8pe7yv0m.js +0 -2
  105. package/bin/vm-hands/install-receipt-68xxg7hn.js +0 -2
  106. package/bin/vm-hands/local-automation-1s7035zm.js +0 -2
  107. package/bin/vm-hands/local-capabilities-h1hxzrhn.js +0 -2
  108. package/bin/vm-hands/local-desktop-users-jpf0resr.js +0 -2
  109. package/bin/vm-hands/local-display-mac-h5yz0ydd.js +0 -2
  110. package/bin/vm-hands/local-display-session-0vw1x2k6.js +0 -2
  111. package/bin/vm-hands/local-display-video-k4bgptc7.js +0 -2
  112. package/bin/vm-hands/local-managed-process-b79p5wwv.js +0 -2
  113. package/bin/vm-hands/local-pty-session-tqn2xmph.js +0 -2
  114. package/bin/vm-hands/managed-runtime-9jfx2885.js +0 -2
  115. package/bin/vm-hands/network-contract-nkwcf4r9.js +0 -2
  116. package/bin/vm-hands/package-9w0mmxb5.js +0 -2
  117. package/bin/vm-hands/permissions-q9nfdxrh.js +0 -2
  118. package/bin/vm-hands/reason-hands-protocol-pck5har9.js +0 -2
  119. package/bin/vm-hands/serve-service-hcc0zvg8.js +0 -2
  120. package/bin/vm-hands/version-7q2ft41r.js +0 -2
  121. package/bin/vm-hands/vm-hands-entry-lite-997y1m1r.js +0 -3
  122. package/bin/vm-hands/worker-preview-readiness-h96yr4wf.js +0 -2
  123. package/bin/vm-hands/worker-sandbox-6kkhvryn.js +0 -2
@@ -0,0 +1,2 @@
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};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{hr,No,Lo,$o,Cl,Mo}from"./vm-hands-entry-lite-07wr95rz.js";import"./vm-hands-entry-lite-9gn7k5rp.js";import"./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-b3mfma12.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-vedb5r12.js";import"./vm-hands-entry-lite-t2rhwchw.js";import"./vm-hands-entry-lite-zaj1vnnd.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-ax2w9ywb.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.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-rmcdfbkk.js";import"./vm-hands-entry-lite-bqs4pkyb.js";import"./vm-hands-entry-lite-6g9we34r.js";import"./vm-hands-entry-lite-cy8yc9gb.js";import"./vm-hands-entry-lite-bbjsnjct.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-07wr95rz.js";import"./vm-hands-entry-lite-9gn7k5rp.js";import"./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-b3mfma12.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-vedb5r12.js";import"./vm-hands-entry-lite-t2rhwchw.js";import"./vm-hands-entry-lite-zaj1vnnd.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-ax2w9ywb.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.js";import"./vm-hands-entry-lite-tzv8s0e7.js";import"./vm-hands-entry-lite-hpw27zfb.js";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.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{qr,Dl,wa,ba,va}from"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-04nx5y4f.js";import"./vm-hands-entry-lite-h7f5a5mb.js";export{Dl as forgetLocalDesktopUse,va as holdLocalDesktop,qr as noteLocalDesktopUse,wa as releaseLocalDesktop,ba as trackDesktopRun};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Pr,Rr,hs,fs}from"./vm-hands-entry-lite-hh0kba1y.js";export{Pr as macScreenStatus,fs as openMacInput,hs as openMacWindowBounds,Rr as requestMacScreenAccess};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{dn,Bo,Te,jt,pn}from"./vm-hands-entry-lite-9gn7k5rp.js";import"./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-b3mfma12.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-vedb5r12.js";import"./vm-hands-entry-lite-t2rhwchw.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-ax2w9ywb.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.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-b3mfma12.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-vedb5r12.js";import"./vm-hands-entry-lite-t2rhwchw.js";import"./vm-hands-entry-lite-ax2w9ywb.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.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-6g9we34r.js";import"./vm-hands-entry-lite-cy8yc9gb.js";import"./vm-hands-entry-lite-bbjsnjct.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-1as6h9ed.js";import"./vm-hands-entry-lite-dh87ysh2.js";import"./vm-hands-entry-lite-bc9zq8gx.js";import"./vm-hands-entry-lite-t2rhwchw.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";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.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};
@@ -0,0 +1,2 @@
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};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Qc,Lt,bl,Yr,vl,Sl,Ze,El,kl,ie,xl,N,no}from"./vm-hands-entry-lite-n5jyzccm.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-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.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};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{R}from"./vm-hands-entry-lite-z65xva21.js";import{w}from"./vm-hands-entry-lite-33at6g06.js";import"./vm-hands-entry-lite-rxydyqke.js";import"./vm-hands-entry-lite-kbnxk71q.js";import{ot,We}from"./vm-hands-entry-lite-y0jtj8zz.js";import{ys}from"./vm-hands-entry-lite-72h3t64b.js";import"./vm-hands-entry-lite-bkhc5mt4.js";import"./vm-hands-entry-lite-9wp7ahwa.js";import"./vm-hands-entry-lite-xfak34av.js";import"./vm-hands-entry-lite-50kqbrb7.js";import"./vm-hands-entry-lite-13nx02p7.js";import"./vm-hands-entry-lite-b2w5071h.js";import"./vm-hands-entry-lite-cc8hwgxc.js";import"./vm-hands-entry-lite-cmmb9k3g.js";import"./vm-hands-entry-lite-2qfmabqn.js";import"./vm-hands-entry-lite-rz1ep81m.js";import"./vm-hands-entry-lite-a8z57vry.js";import"./vm-hands-entry-lite-ttfqxjms.js";import"./vm-hands-entry-lite-fs6jbfp3.js";import"./vm-hands-entry-lite-fxptf351.js";import"./vm-hands-entry-lite-gxf2r5en.js";import"./vm-hands-entry-lite-6adz91f3.js";import"./vm-hands-entry-lite-s93f3pbv.js";import"./vm-hands-entry-lite-ngry8nkq.js";import"./vm-hands-entry-lite-997y1m1r.js";import"./vm-hands-entry-lite-72084j3g.js";import"./vm-hands-entry-lite-zp7chzcc.js";import"./vm-hands-entry-lite-qjrgvdbj.js";import"./vm-hands-entry-lite-a3gq377t.js";import"./vm-hands-entry-lite-5qrft0nw.js";import"./vm-hands-entry-lite-sh4mqy93.js";import"./vm-hands-entry-lite-3q2ng4e9.js";import"./vm-hands-entry-lite-x6ybft9v.js";import"./vm-hands-entry-lite-chq0qx9f.js";import"./vm-hands-entry-lite-2gxv7v1h.js";import"./vm-hands-entry-lite-ezhfkjqr.js";import"./vm-hands-entry-lite-284z7ct8.js";import"./vm-hands-entry-lite-b1vanmtv.js";import"./vm-hands-entry-lite-yg4dk99m.js";import"./vm-hands-entry-lite-88dxn9b5.js";import"./vm-hands-entry-lite-12ck5swp.js";import{Me,Be}from"./vm-hands-entry-lite-pg7nnyc6.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??ys(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-pak3wvrv.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-pak3wvrv.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-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-crjaacc2.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-n5jyzccm.js";import"./vm-hands-entry-lite-1as6h9ed.js";import"./vm-hands-entry-lite-vedb5r12.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-ax2w9ywb.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-3r063pb4.js";import"./vm-hands-entry-lite-dzdjwa06.js";import"./vm-hands-entry-lite-zaj1vnnd.js";import"./vm-hands-entry-lite-cy8yc9gb.js";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.js";import"./vm-hands-entry-lite-298kzt93.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-rmcdfbkk.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-6g9we34r.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-3594pdj0.js";import"./vm-hands-entry-lite-9gn7k5rp.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-b3mfma12.js";import"./vm-hands-entry-lite-07wr95rz.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-0sng03r6.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-0sng03r6.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};
@@ -0,0 +1,2 @@
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};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import"./vm-hands-entry-lite-cmmb9k3g.js";import{Fe}from"./vm-hands-entry-lite-p02vay5n.js";import"./vm-hands-entry-lite-z65xva21.js";import"./vm-hands-entry-lite-33at6g06.js";import"./vm-hands-entry-lite-kbnxk71q.js";import{ve}from"./vm-hands-entry-lite-2qfmabqn.js";import"./vm-hands-entry-lite-rxydyqke.js";import{be}from"./vm-hands-entry-lite-rz1ep81m.js";import{Ir}from"./vm-hands-entry-lite-72h3t64b.js";import"./vm-hands-entry-lite-a8z57vry.js";import"./vm-hands-entry-lite-y0jtj8zz.js";import{Ea,ka,xa,Kr,Jr}from"./vm-hands-entry-lite-jj7873n8.js";import"./vm-hands-entry-lite-88dxn9b5.js";import"./vm-hands-entry-lite-12ck5swp.js";import"./vm-hands-entry-lite-pg7nnyc6.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=Ea(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))xa({...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
- `),!1}var S=300000,R=21600000;async function xe(r,e,t,o){let i=ka(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};
2
+ import"./vm-hands-entry-lite-r131db1f.js";import{Fe}from"./vm-hands-entry-lite-xd393rm3.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-3r063pb4.js";import{Ir}from"./vm-hands-entry-lite-crjaacc2.js";import"./vm-hands-entry-lite-dzdjwa06.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}'`)+`
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};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{lo}from"./vm-hands-entry-lite-wtjqjvea.js";export default lo();
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{sl,Ac,Rl,al,Tl}from"./vm-hands-entry-lite-ax2w9ywb.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.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};
@@ -0,0 +1,2 @@
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};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{ke,de,j,ze,is,kn,os,qe,Li,$i,ss,xn,Ie,as,Cn}from"./vm-hands-entry-lite-zaj1vnnd.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-tv5mcw97.js";import"./vm-hands-entry-lite-crjaacc2.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};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"./vm-hands-entry-lite-cmmb9k3g.js";import"./vm-hands-entry-lite-z65xva21.js";import{w,Ve,kc}from"./vm-hands-entry-lite-33at6g06.js";import"./vm-hands-entry-lite-kbnxk71q.js";import{Q}from"./vm-hands-entry-lite-2qfmabqn.js";import"./vm-hands-entry-lite-rxydyqke.js";import{me}from"./vm-hands-entry-lite-rz1ep81m.js";import{g}from"./vm-hands-entry-lite-72h3t64b.js";import{ir}from"./vm-hands-entry-lite-a8z57vry.js";import{mn,rt}from"./vm-hands-entry-lite-xfak34av.js";import{f,S,nr,Z,fe,Qi,eo}from"./vm-hands-entry-lite-6adz91f3.js";import"./vm-hands-entry-lite-fxptf351.js";import"./vm-hands-entry-lite-gxf2r5en.js";import"./vm-hands-entry-lite-72084j3g.js";import"./vm-hands-entry-lite-fs6jbfp3.js";import"./vm-hands-entry-lite-s93f3pbv.js";import"./vm-hands-entry-lite-ngry8nkq.js";import"./vm-hands-entry-lite-997y1m1r.js";import"./vm-hands-entry-lite-50kqbrb7.js";import"./vm-hands-entry-lite-13nx02p7.js";import"./vm-hands-entry-lite-bkhc5mt4.js";import"./vm-hands-entry-lite-b2w5071h.js";import"./vm-hands-entry-lite-cc8hwgxc.js";import"./vm-hands-entry-lite-9wp7ahwa.js";import{We}from"./vm-hands-entry-lite-y0jtj8zz.js";import"./vm-hands-entry-lite-ttfqxjms.js";import"./vm-hands-entry-lite-zp7chzcc.js";import"./vm-hands-entry-lite-qjrgvdbj.js";import"./vm-hands-entry-lite-a3gq377t.js";import"./vm-hands-entry-lite-5qrft0nw.js";import"./vm-hands-entry-lite-sh4mqy93.js";import"./vm-hands-entry-lite-3q2ng4e9.js";import"./vm-hands-entry-lite-x6ybft9v.js";import"./vm-hands-entry-lite-chq0qx9f.js";import"./vm-hands-entry-lite-2gxv7v1h.js";import"./vm-hands-entry-lite-ezhfkjqr.js";import"./vm-hands-entry-lite-284z7ct8.js";import"./vm-hands-entry-lite-b1vanmtv.js";import"./vm-hands-entry-lite-yg4dk99m.js";import"./vm-hands-entry-lite-88dxn9b5.js";import{s}from"./vm-hands-entry-lite-12ck5swp.js";import{t,o,d,n,c,i}from"./vm-hands-entry-lite-zpvr7wc6.js";import"./vm-hands-entry-lite-pg7nnyc6.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-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-3r063pb4.js";import{g}from"./vm-hands-entry-lite-crjaacc2.js";import{ir}from"./vm-hands-entry-lite-dzdjwa06.js";import{gn,rt}from"./vm-hands-entry-lite-1as6h9ed.js";import{f,S,nr,Z,fe,eo,to}from"./vm-hands-entry-lite-298kzt93.js";import"./vm-hands-entry-lite-vvhfaxpd.js";import"./vm-hands-entry-lite-1cdtev4n.js";import"./vm-hands-entry-lite-rmcdfbkk.js";import"./vm-hands-entry-lite-cy8yc9gb.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-vedb5r12.js";import"./vm-hands-entry-lite-hh0kba1y.js";import"./vm-hands-entry-lite-tv5mcw97.js";import"./vm-hands-entry-lite-ax2w9ywb.js";import"./vm-hands-entry-lite-t2rhwchw.js";import"./vm-hands-entry-lite-n5jyzccm.js";import{We}from"./vm-hands-entry-lite-8twdd0ff.js";import"./vm-hands-entry-lite-zaj1vnnd.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-6g9we34r.js";import"./vm-hands-entry-lite-t3k90kdn.js";import"./vm-hands-entry-lite-3594pdj0.js";import"./vm-hands-entry-lite-9gn7k5rp.js";import"./vm-hands-entry-lite-g0bpdyfz.js";import"./vm-hands-entry-lite-b3mfma12.js";import"./vm-hands-entry-lite-07wr95rz.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=`---
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
  ---
@@ -62,8 +62,8 @@ 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),_=mn(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 gn(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-qwds22kt.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??(()=>eo({channel:r.channel})))().catch(()=>null),I=null;try{if(B)I=(r.readConnectionMacState??(()=>gn(r.channel??w())))()}catch{}let y=B&&I?{...B,...I}:B,G=(()=>{try{return(r.readDisconnected??(()=>Qi(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(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-wep7067g.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}
@@ -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-q9nfdxrh.js"),{macScreenStatus:ke}=await import("./local-display-mac-h5yz0ydd.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-mmg1gbdx.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}
@@ -93,4 +93,4 @@ Background access
93
93
  `),!L.installation)a.stdout.write(`Not managed by the Reason installer
94
94
  `);else a.stdout.write(`Automatic updates: ${fn[L.installation.automatic_updates_by]}
95
95
  `);return 0}catch(m){return a.stderr.write(`Reason status: ${m instanceof Error?m.message:String(m)}
96
- `),1}finally{clearTimeout(l)}}export{gn as connectionMacState,it as runStatusCli};
96
+ `),1}finally{clearTimeout(l)}}export{mn as connectionMacState,it as runStatusCli};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{g,Ir,Hc,Il,bs}from"./vm-hands-entry-lite-crjaacc2.js";export{Ir as CLI_USER_AGENT,g as CLI_VERSION,Hc as CLI_VERSION_PATTERN,Il as compareCliVersions,bs as isCompiledRelease};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Un}from"./vm-hands-entry-lite-rxydyqke.js";import{Ot}from"./vm-hands-entry-lite-wnqqjsew.js";import{execFileSync as p}from"child_process";import{realpathSync as S,statSync as w}from"fs";import{tmpdir as P}from"os";import{createRequire as b}from"module";import{win32 as r}from"path";var h=["/bin/bash","/usr/bin/bash"],va="Git Bash was not found. Install Git for Windows (https://git-scm.com/download/win), then run `reason connect`.";function c(o){try{return w(o).isFile()}catch{return!1}}var i=(o)=>[r.join(o,"bin","bash.exe"),r.join(o,"usr","bin","bash.exe")];function g(o,e){let t=r.normalize(o).toLowerCase(),s=(e.SystemRoot??e.SYSTEMROOT??"C:\\Windows").toLowerCase();return t.startsWith(r.join(s,"system32").toLowerCase()+"\\")||t.startsWith(r.join(s,"sysnative").toLowerCase()+"\\")||t.includes("\\windowsapps\\")}function f(o=process.env,e=c){let t=[];for(let s of(o.PATH??o.Path??"").split(";"))if(s&&r.isAbsolute(s))t.push(r.join(s,"git.exe"));for(let s of[o.ProgramW6432,o.ProgramFiles,o["ProgramFiles(x86)"]])if(s)t.push(r.join(s,"Git","cmd","git.exe"));if(o.LOCALAPPDATA)t.push(r.join(o.LOCALAPPDATA,"Programs","Git","cmd","git.exe"));return t.find(e)??null}var a;function Zc(o=process.platform){if(o!=="win32")return"git";return a??=f(),a}function x(o){let e=process.platform==="win32"?f(o):"git";if(!e)return null;try{return p(e,["--exec-path"],{encoding:"utf8",timeout:5000,windowsHide:!0,stdio:["ignore","pipe","ignore"],env:o}).trim()||null}catch{return null}}function J(o=process.env,e=x,t=c){let s=[],l=e(o);if(l)s.push(...i(r.resolve(l,"..","..","..")));for(let n of[o.ProgramW6432,o.ProgramFiles,o["ProgramFiles(x86)"]])if(n)s.push(...i(r.join(n,"Git")));if(o.LOCALAPPDATA)s.push(...i(r.join(o.LOCALAPPDATA,"Programs","Git")));for(let n of(o.PATH??o.Path??"").split(";"))if(n&&r.isAbsolute(n))s.push(r.join(n,"bash.exe"));return s.find((n)=>!g(n,o)&&t(n))??null}var d;function Y(o=process.platform){if(o!=="win32")return h.find(c)??null;return d??=J(),d}function Ye(o=process.platform){let e=Y(o);if(!e)throw Error(o==="win32"?va:"bash_unavailable");return e}function Sa(o=process.platform){return S(o==="win32"?P():"/tmp")}function Tt(o=process.platform,e=process.env){if(o!=="win32")return"/usr/bin:/bin";let t=e.SystemRoot??e.SYSTEMROOT??"C:\\Windows";return[r.join(t,"System32"),t,r.join(t,"System32","Wbem"),r.join(t,"System32","WindowsPowerShell","v1.0")].join(";")}function B(o,e=process.platform){if(e!=="win32"||/[\\/]/.test(o))return o;let t=/\.exe$/i.test(o)?o:`${o}.exe`,s=Tt(e).split(";");return r.join(t.toLowerCase()==="powershell.exe"?s[3]:s[0],t)}function It(o=process.platform,e=process.env){if(o!=="win32")return{PATH:Tt(o)};let t=e.SystemRoot??e.SYSTEMROOT??"C:\\Windows";return{PATH:Tt(o,e),SystemRoot:t,WINDIR:t}}function Me(o=process.platform){return o==="win32"?{windowsHide:!0}:{detached:!0}}var u;function m(){if(u===void 0)u=Ot(Un)(b(import.meta.url));return u}function Dt(o,e=process.platform){let t=o.pid;if(e!=="win32"||t===void 0)return;let s=m();if(s?.track(t))o.once("close",()=>s.release(t))}function Be(o,e="SIGTERM",t=process.platform){if(t!=="win32"){process.kill(-o,e);return}if(e===0){process.kill(o,0);return}if(m()?.terminate(o))return;p(B("taskkill",t),["/PID",String(o),"/T","/F"],{stdio:"ignore",timeout:1e4,windowsHide:!0})}function G(o,e=63,t=process.platform){return t==="win32"||o.uid===process.getuid?.()&&(o.mode&e)===0}var y=/^(?:con|prn|aux|nul|com[0-9\u00b9\u00b2\u00b3]|lpt[0-9\u00b9\u00b2\u00b3]|conin\$|conout\$)(?:\..*)?$|:|[. ]$/i;function Yi(o){return o!=="."&&o!==".."&&y.test(o)}
3
- export{va,Zc,Y,Ye,Sa,Tt,B,It,Me,Dt,Be,G,Yi};
2
+ import{zn}from"./vm-hands-entry-lite-h7f5a5mb.js";import{Ot}from"./vm-hands-entry-lite-wnqqjsew.js";import{execFileSync as p}from"child_process";import{realpathSync as S,statSync as w}from"fs";import{tmpdir as P}from"os";import{createRequire as b}from"module";import{win32 as r}from"path";var h=["/bin/bash","/usr/bin/bash"],Sa="Git Bash was not found. Install Git for Windows (https://git-scm.com/download/win), then run `reason connect`.";function c(o){try{return w(o).isFile()}catch{return!1}}var i=(o)=>[r.join(o,"bin","bash.exe"),r.join(o,"usr","bin","bash.exe")];function g(o,e){let t=r.normalize(o).toLowerCase(),s=(e.SystemRoot??e.SYSTEMROOT??"C:\\Windows").toLowerCase();return t.startsWith(r.join(s,"system32").toLowerCase()+"\\")||t.startsWith(r.join(s,"sysnative").toLowerCase()+"\\")||t.includes("\\windowsapps\\")}function f(o=process.env,e=c){let t=[];for(let s of(o.PATH??o.Path??"").split(";"))if(s&&r.isAbsolute(s))t.push(r.join(s,"git.exe"));for(let s of[o.ProgramW6432,o.ProgramFiles,o["ProgramFiles(x86)"]])if(s)t.push(r.join(s,"Git","cmd","git.exe"));if(o.LOCALAPPDATA)t.push(r.join(o.LOCALAPPDATA,"Programs","Git","cmd","git.exe"));return t.find(e)??null}var a;function Zc(o=process.platform){if(o!=="win32")return"git";return a??=f(),a}function x(o){let e=process.platform==="win32"?f(o):"git";if(!e)return null;try{return p(e,["--exec-path"],{encoding:"utf8",timeout:5000,windowsHide:!0,stdio:["ignore","pipe","ignore"],env:o}).trim()||null}catch{return null}}function J(o=process.env,e=x,t=c){let s=[],l=e(o);if(l)s.push(...i(r.resolve(l,"..","..","..")));for(let n of[o.ProgramW6432,o.ProgramFiles,o["ProgramFiles(x86)"]])if(n)s.push(...i(r.join(n,"Git")));if(o.LOCALAPPDATA)s.push(...i(r.join(o.LOCALAPPDATA,"Programs","Git")));for(let n of(o.PATH??o.Path??"").split(";"))if(n&&r.isAbsolute(n))s.push(r.join(n,"bash.exe"));return s.find((n)=>!g(n,o)&&t(n))??null}var d;function Y(o=process.platform){if(o!=="win32")return h.find(c)??null;return d??=J(),d}function Ye(o=process.platform){let e=Y(o);if(!e)throw Error(o==="win32"?Sa:"bash_unavailable");return e}function Ea(o=process.platform){return S(o==="win32"?P():"/tmp")}function Tt(o=process.platform,e=process.env){if(o!=="win32")return"/usr/bin:/bin";let t=e.SystemRoot??e.SYSTEMROOT??"C:\\Windows";return[r.join(t,"System32"),t,r.join(t,"System32","Wbem"),r.join(t,"System32","WindowsPowerShell","v1.0")].join(";")}function B(o,e=process.platform){if(e!=="win32"||/[\\/]/.test(o))return o;let t=/\.exe$/i.test(o)?o:`${o}.exe`,s=Tt(e).split(";");return r.join(t.toLowerCase()==="powershell.exe"?s[3]:s[0],t)}function It(o=process.platform,e=process.env){if(o!=="win32")return{PATH:Tt(o)};let t=e.SystemRoot??e.SYSTEMROOT??"C:\\Windows";return{PATH:Tt(o,e),SystemRoot:t,WINDIR:t}}function Me(o=process.platform){return o==="win32"?{windowsHide:!0}:{detached:!0}}var u;function m(){if(u===void 0)u=Ot(zn)(b(import.meta.url));return u}function Dt(o,e=process.platform){let t=o.pid;if(e!=="win32"||t===void 0)return;let s=m();if(s?.track(t))o.once("close",()=>s.release(t))}function Be(o,e="SIGTERM",t=process.platform){if(t!=="win32"){process.kill(-o,e);return}if(e===0){process.kill(o,0);return}if(m()?.terminate(o))return;p(B("taskkill",t),["/PID",String(o),"/T","/F"],{stdio:"ignore",timeout:1e4,windowsHide:!0})}function G(o,e=63,t=process.platform){return t==="win32"||o.uid===process.getuid?.()&&(o.mode&e)===0}var y=/^(?:con|prn|aux|nul|com[0-9\u00b9\u00b2\u00b3]|lpt[0-9\u00b9\u00b2\u00b3]|conin\$|conout\$)(?:\..*)?$|:|[. ]$/i;function Zi(o){return o!=="."&&o!==".."&&y.test(o)}
3
+ export{Sa,Zc,Y,Ye,Ea,Tt,B,It,Me,Dt,Be,G,Zi};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Xt,yc,le,Sr,Er,A}from"./vm-hands-entry-lite-50kqbrb7.js";import{ue}from"./vm-hands-entry-lite-cc8hwgxc.js";import{Rr}from"./vm-hands-entry-lite-13nx02p7.js";import{Tr}from"./vm-hands-entry-lite-bkhc5mt4.js";import{Bi}from"./vm-hands-entry-lite-b2w5071h.js";import{Ue,wr,br,Yo}from"./vm-hands-entry-lite-chq0qx9f.js";import{Kt}from"./vm-hands-entry-lite-2gxv7v1h.js";import{qr,ba}from"./vm-hands-entry-lite-sh4mqy93.js";import{Te,jt}from"./vm-hands-entry-lite-x6ybft9v.js";import{de,ze}from"./vm-hands-entry-lite-ttfqxjms.js";import{$r}from"./vm-hands-entry-lite-fxptf351.js";import{s}from"./vm-hands-entry-lite-12ck5swp.js";import{B}from"./vm-hands-entry-lite-pg7nnyc6.js";import{r}from"./vm-hands-entry-lite-qy9xg6em.js";import{spawn as S,spawnSync as De}from"child_process";import{createHash as Le,randomUUID as re}from"crypto";import{closeSync as $e,copyFileSync as J,existsSync as C,fstatSync as Be,mkdirSync as z,openSync as We,readdirSync as N,readFileSync as W,readlinkSync as qe,renameSync as ne,rmSync as Fe,statSync as He,writeFileSync as Ge}from"fs";import{connect as je}from"net";import{tmpdir as P,userInfo as ie}from"os";import{basename as V,delimiter as Xe,dirname as M,join as m}from"path";var q=`import { spawn, execFileSync } from "node:child_process";
2
+ import{Xt,yc,le,Sr,Er,A}from"./vm-hands-entry-lite-vedb5r12.js";import{ue}from"./vm-hands-entry-lite-t2rhwchw.js";import{Rr}from"./vm-hands-entry-lite-hh0kba1y.js";import{Tr}from"./vm-hands-entry-lite-tv5mcw97.js";import{Fi}from"./vm-hands-entry-lite-ax2w9ywb.js";import{Ue,wr,br,Zo}from"./vm-hands-entry-lite-g0bpdyfz.js";import{Kt}from"./vm-hands-entry-lite-b3mfma12.js";import{qr,va}from"./vm-hands-entry-lite-t3k90kdn.js";import{Te,jt}from"./vm-hands-entry-lite-9gn7k5rp.js";import{de,ze}from"./vm-hands-entry-lite-zaj1vnnd.js";import{$r}from"./vm-hands-entry-lite-vvhfaxpd.js";import{s}from"./vm-hands-entry-lite-tzv8s0e7.js";import{B}from"./vm-hands-entry-lite-04nx5y4f.js";import{r}from"./vm-hands-entry-lite-qy9xg6em.js";import{spawn as S,spawnSync as De}from"child_process";import{createHash as Le,randomUUID as re}from"crypto";import{closeSync as $e,copyFileSync as J,existsSync as C,fstatSync as Be,mkdirSync as z,openSync as We,readdirSync as N,readFileSync as W,readlinkSync as qe,renameSync as ne,rmSync as Fe,statSync as He,writeFileSync as Ge}from"fs";import{connect as je}from"net";import{tmpdir as P,userInfo as ie}from"os";import{basename as V,delimiter as Xe,dirname as M,join as m}from"path";var q=`import { spawn, execFileSync } from "node:child_process";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import { readFileSync, readlinkSync, lstatSync, realpathSync, statSync, mkdtempSync, mkdirSync, chmodSync, writeFileSync, readdirSync, rmSync, openSync, readSync, closeSync, renameSync } from "node:fs";
5
5
  import { tmpdir } from "node:os";
@@ -950,5 +950,5 @@ if(process.env.REASON_CLOUD_GATEWAY_EXEC === "1") {
950
950
  process.stdout.write(JSON.stringify(cloudAutomationFailure(error))+"\\n");process.exitCode=1;
951
951
  }
952
952
  }
953
- `;import{execFile as be,spawn as Se}from"child_process";import{closeSync as xe,mkdirSync as ve,openSync as Ie}from"fs";import{dirname as R,join as Re}from"path";import{promisify as ke}from"util";var Oe=ke(be),F="x-apple.systempreferences:com.apple.preference.security",Ae={accessibility:`${F}?Privacy_Accessibility`,screen:`${F}?Privacy_ScreenCapture`},Ee=64,I=new Map;function k(e,o){let t=I.get(e);if(t?.has(o))return!1;if(!t){if(I.size>=Ee)I.delete(I.keys().next().value);t=new Set,I.set(e,t)}return t.add(o),!0}function Ce(){let e=s(),o=ze(de(e),process.env),t=Re(e,".local","share","reason","desktop-install.log");ve(R(t),{recursive:!0,mode:448});let n=Ie(t,"a",384);try{let i=Se(o,["desktop","install"],{detached:!0,stdio:["ignore",n,n],env:{...process.env,REASON_DESKTOP_BACKGROUND:"1"}});i.on("error",()=>{return}),i.unref()}finally{xe(n)}}var O={open:async(e,o)=>{await Oe("/usr/bin/open",e,{signal:o,timeout:1e4,maxBuffer:8192})},request:(e,o)=>Rr(e,o),tile:Bi,installDesktop:Ce},H=!1;async function G(e,o,t){try{await o.open(["-a","Google Chrome",e],t)}catch{t.throwIfAborted(),await o.open([e],t)}}async function X(e,o,t,n){if(await t.open([Ae[o]],n).catch(()=>{}),e[0]&&!n.aborted)t.tile(R(R(R(e[0]))),o)}async function Ne(e,o,t,n,i){for(let a of t){if(!k(e,`grant:${a}`))continue;i.throwIfAborted(),await n.request(o,a).catch(()=>null),await X(o,a,n,i)}}var Pe={name:"open_tab",description:"Open a web page in the user's own Chrome on this Mac. Reason cannot read, screenshot or click in that tab, and no tab_id is returned: browser control needs Reason's Chrome extension. An actual browser call opens its setup page.",inputSchema:{type:"object",properties:{url:{type:"string",description:"An http or https URL."}},required:["url"],additionalProperties:!1}};function j(e){return{code:0,stderr:"",stdout:Buffer.from(JSON.stringify({ok:!0,...e}))}}function Me(e){if(typeof e!=="string")return null;try{let o=new URL(e);return o.protocol==="https:"||o.protocol==="http:"?o.href:null}catch{return null}}async function K(e,o=O){let{call:t,runId:n,signal:i}=e;if(t.kind==="browser"){if(t.operation==="discover")return j({result:{tools:[Pe]}});if(t.operation!=="call")throw new r("automation_browser_setup_required","Browser control is not set up on this Mac yet. Request a browser operation or connect Chrome from Reason to set it up.")}if(e.desktopMissing&&!H){H=!0;try{o.installDesktop()}catch{}}if(t.kind==="computer"){if(e.identity.length>0&&k(n,"grant:probe")){let c=await o.request(e.identity).catch(()=>null),l=c?[...c.accessibility?[]:["accessibility"],...c.screen?[]:["screen"]]:[];for(let f of l)k(n,`grant:${f}`);for(let f of l)await X(e.identity,f,o,i)}throw new r("automation_computer_setup_required","Computer use is not set up on this Mac yet; Reason asked macOS for any missing permission.")}if(k(n,"page:chrome-extension"))await G(yc,o,i).catch(()=>{});let a=t.arguments,u=t.operation==="call"&&t.tool==="open_tab"&&a&&typeof a==="object"&&!Array.isArray(a)?Me(a.url):null;if(!u)throw new r("automation_browser_setup_required","Browser control is not set up on this Mac yet; Reason opened its Chrome Web Store page. open_tab still opens pages.");return await G(u,o,i),j({result:{content:[{type:"text",text:JSON.stringify({opened:u,browser:"the user's Chrome",controllable:!1,note:"Opened for the user to see. Reason cannot read or act in this tab until Reason's Chrome extension is added (its Chrome Web Store page is open)."})}]}})}async function Y(e,o=O){if(e.call.kind!=="computer"||e.call.operation!=="permission_status"||e.output.code!==0||e.identity.length===0)return e.output;let t;try{t=JSON.parse(e.output.stdout.toString("utf8"))}catch{return e.output}if(!t||typeof t!=="object"||Array.isArray(t))return e.output;let n=t.permissions;if(!n||typeof n!=="object")return e.output;let i=n,a=[...i.accessibility==="missing"?["accessibility"]:[],...i.screenRecording==="missing"?["screen"]:[]];if(a.length===0)return e.output;return await Ne(e.runId,e.identity,a,o,e.signal),{...e.output,stdout:Buffer.from(JSON.stringify({...t,requested:a}))}}var L=172032,Ke=18874368,Ye=8192,Je=65536,Ve=55000,Ze=60000,Qe=4,et=40000,tt=/^[0-9a-f-]{36}$/,Z=q,ot=re();function E(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}function T(){throw new r("invalid_automation_request","Reason automation request is malformed.")}function se(e){let o=Object.keys(e).sort().join(",");if(o==="call"||o==="browser,call"){let t=e.call,n=o==="browser,call";if(!E(t)||t.version!==1||t.kind!=="computer"&&t.kind!=="browser"||n&&(e.browser!==$r||t.kind!=="browser")||JSON.stringify(t).length>Je)T();return{call:t,userChrome:n}}if(o==="offset,output_id"){if(typeof e.output_id!=="string"||!tt.test(e.output_id)||!Number.isSafeInteger(e.offset)||e.offset<0)T();return{output_id:e.output_id,offset:e.offset}}return T()}function hr(e=process.platform,o=A){if(e==="darwin")return!0;return(e==="linux"||e==="win32")&&o()?.features.computer===!0}var rt="__computer-use";function Oo(e=A){return e()?.userChrome??{code:"user_chrome_browser_use_missing"}}function ae(e,o,t,n){return new Promise((i)=>{let a=S(e,o,{env:t,stdio:"ignore",windowsHide:!0}),u=setTimeout(()=>{a.kill("SIGKILL"),i(-1)},n);a.once("error",()=>{clearTimeout(u),i(-1)}),a.once("exit",(c)=>{clearTimeout(u),i(c??-1)})})}function nt(e,o,t,n){return new Promise((i)=>{let a=S(e,o,{env:t,stdio:["ignore","pipe","ignore"],windowsHide:!0}),u="";a.stdout.setEncoding("utf8").on("data",(l)=>{u+=l});let c=setTimeout(()=>{a.kill("SIGKILL"),i(null)},n);a.once("error",()=>{clearTimeout(c),i(null)}),a.once("close",(l)=>{clearTimeout(c),i(l===0?u:null)})})}function it(e){return x(e)?m(P(),"open-browser-use"):"/tmp/open-browser-use"}function x(e){return e.platform==="win32-x64"||e.platform==="win32-arm64"}var st=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,at=33554432;function ct(e,o){let t;try{t=e===null?null:JSON.parse(e)}catch{return null}let n=E(t)&&E(t.result)?t.result.metadata:null;if(!E(n)||n.extensionId!==o)return null;return typeof n.extensionInstanceId==="string"&&st.test(n.extensionInstanceId)?n.extensionInstanceId:null}async function ce(e,o,t){let n=t.storages.map((c)=>{try{return N(c).filter((l)=>l.endsWith(".log")||l.endsWith(".ldb")).map((l)=>m(c,l))}catch{return[]}}),i;try{i=n.some((c)=>c.length>0)?N(t.socketDir).filter((c)=>c.endsWith(".sock")):[]}catch{return[]}let a=[];for(let c of i){let l=m(t.socketDir,c),f=ct(await nt(e,["info","--socket",l,"--timeout","2s"],o,5000),t.extensionId);if(f)a.push({instance:f,socket:l})}let u=[];for(let[c,l]of(a.length>0?n:[]).entries())for(let f of l)try{if(He(f).size>at)continue;let p=W(f),d=a.find((g)=>p.includes(g.instance));if(d){u.push({storage:t.storages[c],...d});break}}catch{}return u}async function lt(e,o,t){return(await ce(e,o,t))[0]?.instance??null}function pe(e,o,t){return lt(e.nativeHost,o,{socketDir:it(e),extensionId:le,storages:[m(t,"browser-profile","Default","Local Extension Settings",le)]})}var Q=/^(Default|Profile ([0-9]+))$/;async function ut(e,o,t=s(),n=Sr){let i=m(t,"Library","Application Support","Google","Chrome"),a=[];try{a=N(i)}catch(p){if(p.code==="EPERM")throw new r("browser_use_chrome_access_denied","macOS blocked Reason from reading Chrome's profiles. Allow Full Disk Access for Reason on this Mac and try again.")}let u=(p)=>Number(Q.exec(p)?.[2]??-1),c=a.filter((p)=>Q.test(p)&&C(m(i,p,"Extensions",Xt))).sort((p,d)=>u(p)-u(d)),l=(p)=>m(i,p,"Local Extension Settings",Xt);return(await ce(e,o,{socketDir:n,extensionId:Xt,storages:c.map(l)})).map(({storage:p,instance:d,socket:g})=>({profile:c.find((h)=>l(h)===p),instance:d,socket:g}))}async function dt(e,o,t=s(),n=Sr){let i=(await ut(e,o,t,n))[0]?.instance;if(!i)throw new r("automation_user_chrome_not_connected","No Chrome profile on this Mac is connected to Reason. Open Chrome with the Reason extension, then try again.");return i}function ee(e){return new Promise((o)=>{let t=je({path:e}),n=(i)=>{t.destroy(),o(i)};t.setTimeout(1000,()=>n(!1)),t.once("error",()=>n(!1)),t.once("connect",()=>n(!0))})}async function me(e,o){let t=Date.now()+o;while(Date.now()<t){if(await e())return!0;await new Promise((n)=>setTimeout(n,200))}return!1}var D=new Map;function U(e,o){let t=D.get(e);if(!t)t=o().finally(()=>D.delete(e)),D.set(e,t);return t}async function pt(e,o){if(await ee(e))return;if(Fe(e,{force:!0}),await ae("dbus-daemon",["--session",`--address=unix:path=${e}`,"--fork"],o,1e4)!==0||!await me(()=>ee(e),5000))throw new r("automation_unavailable","Reason could not start the desktop session bus.");br("dbus-daemon",`--address=unix:path=${e}`)}async function te(e,o,t){let n=e.platform==="darwin-arm64"||x(e)?async()=>await pe(e,o,t)!==null:async()=>await ae(e.nativeHost,["info"],o,5000)===0;if(await n())return;let i=["--profile-directory=Default",`--load-extension=${e.extensionDir}`,"--no-first-run","--no-default-browser-check","--window-size=1280,800","about:blank"],a,u=null,c=0;if(e.platform==="darwin-arm64"){let d=m(t,"browser-profile");Te(d);let g=m(d,"NativeMessagingHosts");z(g,{recursive:!0,mode:448});let h=Er(e.platform).nativeHostManifests[0];J(h,m(g,V(h)));let _=e.browser.slice(0,e.browser.indexOf(".app/")+4),y=i.filter((v)=>v!=="about:blank").concat("--no-startup-window","--use-mock-keychain");a=S("/usr/bin/open",["-g","-n","-a",_,"--args",`--user-data-dir=${d}`,...y],{env:o,stdio:"ignore"})}else if(x(e)){let d=m(t,"browser-profile");Te(d),De(B("icacls"),[M(e.browser),"/grant","*S-1-15-2-1:(OI)(CI)(RX)","*S-1-15-2-2:(OI)(CI)(RX)"],{stdio:"ignore",windowsHide:!0,timeout:60000});let g=i.filter((h)=>h!=="about:blank").concat("--no-startup-window","--keep-alive-for-test");a=S(e.browser,[`--user-data-dir=${d}`,...g],{detached:!0,stdio:"ignore",env:o})}else{let d=m(o.HOME,".config","google-chrome"),g=m(d,"NativeMessagingHosts");z(g,{recursive:!0,mode:448});let h=Er(e.platform).nativeHostManifests[0];J(h,m(g,V(h)));let _=process.geteuid?.()===0?["--no-sandbox"]:[];u=m(t,"browser.log");let y=We(u,"a",384);c=Be(y).size,a=S(e.browser,[`--user-data-dir=${d}`,...i,..._,"--force-renderer-accessibility"],{detached:!0,stdio:["ignore",y,y],env:{...o,ACCESSIBILITY_ENABLED:"1"}}),$e(y),Ue(a.pid)}let l=!1,f=!1;a.once("error",()=>{l=!0}),a.once("exit",(d)=>{l||=d!==0,f=d===0}),a.unref();let p=!1;if(await me(async()=>l||(p=await n()),et),!p){if(u&&W(u).subarray(c).toString("utf8").includes("No usable sandbox"))throw new r("automation_browser_sandbox_unavailable","Chromium found no usable sandbox on this machine. Run the worker as a non-root user with unprivileged user namespaces enabled, or in a container with seccomp unconfined.");if(f)wr("browser");throw new r("automation_browser_unavailable","Reason could not connect the desktop browser.")}}async function No(e){await ge(e,!0)}function Lo(e){return fe(e,he(e))}function fe(e,o){return e.platform==="darwin-arm64"||x(e)?m(o,"browser-profile"):m(o,"home",".config","google-chrome")}function he(e){let o=m(e.root,"automation");if(!C(o)||!mt(e.automation))return e.automation;if(!ft(fe(e,o)))try{ne(o,e.automation)}catch{}return C(o)?o:e.automation}function mt(e){try{return N(e).length===0}catch(o){return o.code==="ENOENT"}}function ft(e){let o;try{o=qe(m(e,"SingletonLock"))}catch{return!1}let t=Number(o.slice(o.lastIndexOf("-")+1));if(!Number.isSafeInteger(t)||t<=0)return!0;try{return process.kill(t,0),!0}catch(n){return n.code==="EPERM"}}async function ge(e,o){qr({root:e.root,automation:e.automation,extensionDir:e.extensionDir});let t=he(e);Te(t);let n=ie().username,i={USER:n,LOGNAME:n,REASON_AUTOMATION_OCU:e.ocu,REASON_AUTOMATION_OBU:e.nativeHost};if(e.platform==="darwin-arm64"||x(e)){let p=x(e)?{...i,...ht(),HOME:s()}:{...i,HOME:s(),PATH:`${M(e.node)}:/usr/bin:/bin:/usr/sbin:/sbin`,REASON_AUTOMATION_OCU:process.execPath,REASON_AUTOMATION_OCU_SUBCOMMAND:rt};if(!o)return p;await U("browser",()=>te(e,p,t));let d=await pe(e,p,t);if(!d)throw new r("automation_browser_unavailable","Reason could not connect the desktop browser.");return{...p,REASON_AUTOMATION_OBU_INSTANCE:d,REASON_AUTOMATION_BACKGROUND_TABS:"1"}}let a=await jt(),u=m(t,"home"),c=m(t,"runtime");Te(u),Te(c);let l=m(t,"bus"),f={...i,HOME:u,PATH:`${M(e.node)}:/usr/bin:/bin`,DISPLAY:a.display,XAUTHORITY:a.xauthority,XDG_RUNTIME_DIR:c,DBUS_SESSION_BUS_ADDRESS:`unix:path=${l}`,...a.sound?{PULSE_SERVER:Kt(a.sound)}:{}};if(await U("bus",()=>pt(l,f)),o)await U("browser",()=>te(e,f,t));return f}function ht(){let e=process.env.SystemRoot??"C:\\Windows",o=Object.fromEntries(["SystemDrive","USERPROFILE","LOCALAPPDATA","APPDATA","ProgramData","ProgramFiles","PATHEXT","ComSpec","USERNAME","USERDOMAIN","COMPUTERNAME","NUMBER_OF_PROCESSORS","PROCESSOR_ARCHITECTURE","PSModuleAnalysisCachePath"].flatMap((n)=>process.env[n]?[[n,process.env[n]]]:[])),t=m(e,"System32");return{...o,SystemRoot:e,windir:e,TEMP:P(),TMP:P(),PATH:[t,m(t,"WindowsPowerShell","v1.0"),e].join(Xe)}}async function gt(e,o,t){let n=ie().username,i={USER:n,LOGNAME:n,HOME:s(),PATH:`${M(e.node)}:/usr/bin:/bin:/usr/sbin:/sbin`,REASON_AUTOMATION_OBU:o,REASON_AUTOMATION_BACKGROUND_TABS:"1"},a=await dt(o,i);return t.throwIfAborted(),{...i,REASON_AUTOMATION_OBU_INSTANCE:a}}function _t(e){if(process.platform!=="win32")return["--input-type=module","--eval",e];let o=m(P(),`reason-automation-${Le("sha256").update(e).digest("hex").slice(0,16)}.mjs`);if(!C(o)||W(o,"utf8")!==e){let t=`${o}.${process.pid}.tmp`;Ge(t,e,{mode:384}),ne(t,o)}return[o]}function _e(e,o,t,n){if(typeof Z!=="string")return Promise.reject(new r("automation_unavailable","This Reason build has no automation runtime."));let i=Z;return new Promise((a,u)=>{let c=S(e,_t(i),{env:{...o,REASON_CLOUD_GATEWAY_EXEC:"1",REASON_AUTOMATION_INLINE_RESULT:"1"},stdio:["pipe","pipe","pipe"],detached:process.platform!=="win32",windowsHide:!0}),l=[],f=0,p="",d=null,g=!1,h=(w)=>{if(d??=w,process.platform==="win32"&&c.pid){S(m(process.env.SystemRoot??"C:\\Windows","System32","taskkill.exe"),["/pid",String(c.pid),"/t","/f"],{stdio:"ignore",windowsHide:!0}).once("error",()=>c.kill("SIGKILL"));return}try{process.kill(-c.pid,"SIGKILL")}catch{c.kill("SIGKILL")}},_=(w)=>{if(g)return;g=!0,clearTimeout(y),n.removeEventListener("abort",v),w()},y=setTimeout(()=>h(new r("automation_timed_out","Reason automation did not finish in time.")),Ve),v=()=>h(new r("cancelled","Reason cancelled the automation call."));if(n.addEventListener("abort",v,{once:!0}),c.stdout.on("data",(w)=>{if(f+=w.byteLength,f>Ke)h(new r("automation_output_too_large","Reason automation output is too large."));else l.push(w)}),c.stderr.setEncoding("utf8").on("data",(w)=>{p=(p+w).slice(-Ye)}),c.stdin.on("error",()=>{}),c.once("error",()=>_(()=>u(d??new r("automation_unavailable","Reason could not start the automation runtime.")))),c.once("close",(w)=>_(()=>{if(d)u(d);else a({code:w??1,stdout:Buffer.concat(l),stderr:p})})),n.aborted)v();c.stdin.end(t)})}var b=new Map;function wt(e,o,t){for(let[i,a]of b)if(a.expiresAt<=t)b.delete(i);while(b.size>=Qe)b.delete(b.keys().next().value);let n=re();return b.set(n,{runId:e,bytes:o,expiresAt:t+Ze}),n}async function we(e,o,t,n={}){let i=await(n.environment??ge)(e,o.kind==="browser");return t.throwIfAborted(),await(n.runtime??_e)(e.node,i,JSON.stringify(o),t)}async function Cl(e,o){let t=se({call:e});if(!("call"in t))T();let n=A();if(!n?.features.computer||t.call.kind==="browser"&&!n.features.browser)throw new r("automation_unavailable","Run `reason desktop install` on this machine to enable computer and browser use.");return await we(n,t.call,o)}function oe(e,o,t){let n=e.stdout.byteLength>L?wt(o,e.stdout,t):void 0;return{code:e.code,stderr:e.stderr,instance_id:ot,output_bytes:e.stdout.byteLength,chunk:e.stdout.subarray(0,L).toString("base64"),...n?{output_id:n}:{}}}async function $o(e,o={}){let t=se(e.payload),n=(o.now??Date.now)();if("output_id"in t){let _=b.get(t.output_id);if(!_||_.runId!==e.runId||_.expiresAt<=n||t.offset>_.bytes.byteLength)throw new r("automation_output_unavailable","Reason automation output expired.");return{chunk:_.bytes.subarray(t.offset,t.offset+L).toString("base64")}}let i=(o.components??A)(),a=(o.platform??process.platform)==="darwin",u=a?(o.macIdentity??Tr)():[],c=o.macSetup??O,l=!i?.features.computer||t.call.kind==="browser"&&!t.userChrome&&!i.features.browser;if(a&&(l||u.length===0||t.call.kind==="browser"&&t.userChrome&&!e.userChrome))return oe(await K({runId:e.runId,call:t.call,identity:u,desktopMissing:l,signal:e.signal},c),e.runId,n);if(!i?.features.computer)throw new r("automation_unavailable","Run `reason desktop install` on this machine to enable computer and browser use.");let f=t.userChrome?e.userChrome:void 0;if(t.userChrome&&!f)throw new r("automation_user_chrome_unavailable","Your own Chrome is not enabled on this computer: run `reason desktop install` on this Mac (and `reason connect --user-chrome on` if you turned it off).");if(t.call.kind==="browser"&&!f&&!i.features.browser)throw new r("automation_browser_not_installed",!i.platform.startsWith("linux")?"Browser use is unavailable on this machine: re-run `reason desktop install`.":"Browser use is unavailable on this machine: install a non-snap Chromium at /usr/bin/chromium, then re-run `reason desktop install`.");e.signal.throwIfAborted();let p=t.call.kind==="browser"&&t.call.operation!=="record_start"&&t.call.operation!=="record_stop",d=await ba(e.runId,e.signal,o.now,p?"call":"run"),g="account"in o?o.account??null:ue(),h;try{if(f){let _=await(o.userChromeEnvironment??gt)(i,f,e.signal);e.signal.throwIfAborted(),h=await(o.runtime??_e)(i.node,_,JSON.stringify(t.call),e.signal)}else if(g)h=await(o.delegate??Yo)(g,t.call,e.signal);else h=await we(i,t.call,e.signal,o)}finally{d()}if(a)h=await Y({runId:e.runId,call:t.call,identity:u,output:h,signal:e.signal},c);return oe(h,e.runId,n)}
954
- export{hr,Oo,No,Lo,Cl,$o};
953
+ `;import{execFile as be,spawn as Se}from"child_process";import{closeSync as xe,mkdirSync as ve,openSync as Ie}from"fs";import{dirname as R,join as Re}from"path";import{promisify as ke}from"util";var Oe=ke(be),F="x-apple.systempreferences:com.apple.preference.security",Ae={accessibility:`${F}?Privacy_Accessibility`,screen:`${F}?Privacy_ScreenCapture`},Ee=64,I=new Map;function k(e,o){let t=I.get(e);if(t?.has(o))return!1;if(!t){if(I.size>=Ee)I.delete(I.keys().next().value);t=new Set,I.set(e,t)}return t.add(o),!0}function Ce(){let e=s(),o=ze(de(e),process.env),t=Re(e,".local","share","reason","desktop-install.log");ve(R(t),{recursive:!0,mode:448});let n=Ie(t,"a",384);try{let i=Se(o,["desktop","install"],{detached:!0,stdio:["ignore",n,n],env:{...process.env,REASON_DESKTOP_BACKGROUND:"1"}});i.on("error",()=>{return}),i.unref()}finally{xe(n)}}var O={open:async(e,o)=>{await Oe("/usr/bin/open",e,{signal:o,timeout:1e4,maxBuffer:8192})},request:(e,o)=>Rr(e,o),tile:Fi,installDesktop:Ce},H=!1;async function G(e,o,t){try{await o.open(["-a","Google Chrome",e],t)}catch{t.throwIfAborted(),await o.open([e],t)}}async function X(e,o,t,n){if(await t.open([Ae[o]],n).catch(()=>{}),e[0]&&!n.aborted)t.tile(R(R(R(e[0]))),o)}async function Ne(e,o,t,n,i){for(let a of t){if(!k(e,`grant:${a}`))continue;i.throwIfAborted(),await n.request(o,a).catch(()=>null),await X(o,a,n,i)}}var Pe={name:"open_tab",description:"Open a web page in the user's own Chrome on this Mac. Reason cannot read, screenshot or click in that tab, and no tab_id is returned: browser control needs Reason's Chrome extension. An actual browser call opens its setup page.",inputSchema:{type:"object",properties:{url:{type:"string",description:"An http or https URL."}},required:["url"],additionalProperties:!1}};function j(e){return{code:0,stderr:"",stdout:Buffer.from(JSON.stringify({ok:!0,...e}))}}function Me(e){if(typeof e!=="string")return null;try{let o=new URL(e);return o.protocol==="https:"||o.protocol==="http:"?o.href:null}catch{return null}}async function K(e,o=O){let{call:t,runId:n,signal:i}=e;if(t.kind==="browser"){if(t.operation==="discover")return j({result:{tools:[Pe]}});if(t.operation!=="call")throw new r("automation_browser_setup_required","Browser control is not set up on this Mac yet. Request a browser operation or connect Chrome from Reason to set it up.")}if(e.desktopMissing&&!H){H=!0;try{o.installDesktop()}catch{}}if(t.kind==="computer"){if(e.identity.length>0&&k(n,"grant:probe")){let c=await o.request(e.identity).catch(()=>null),l=c?[...c.accessibility?[]:["accessibility"],...c.screen?[]:["screen"]]:[];for(let f of l)k(n,`grant:${f}`);for(let f of l)await X(e.identity,f,o,i)}throw new r("automation_computer_setup_required","Computer use is not set up on this Mac yet; Reason asked macOS for any missing permission.")}if(k(n,"page:chrome-extension"))await G(yc,o,i).catch(()=>{});let a=t.arguments,u=t.operation==="call"&&t.tool==="open_tab"&&a&&typeof a==="object"&&!Array.isArray(a)?Me(a.url):null;if(!u)throw new r("automation_browser_setup_required","Browser control is not set up on this Mac yet; Reason opened its Chrome Web Store page. open_tab still opens pages.");return await G(u,o,i),j({result:{content:[{type:"text",text:JSON.stringify({opened:u,browser:"the user's Chrome",controllable:!1,note:"Opened for the user to see. Reason cannot read or act in this tab until Reason's Chrome extension is added (its Chrome Web Store page is open)."})}]}})}async function Y(e,o=O){if(e.call.kind!=="computer"||e.call.operation!=="permission_status"||e.output.code!==0||e.identity.length===0)return e.output;let t;try{t=JSON.parse(e.output.stdout.toString("utf8"))}catch{return e.output}if(!t||typeof t!=="object"||Array.isArray(t))return e.output;let n=t.permissions;if(!n||typeof n!=="object")return e.output;let i=n,a=[...i.accessibility==="missing"?["accessibility"]:[],...i.screenRecording==="missing"?["screen"]:[]];if(a.length===0)return e.output;return await Ne(e.runId,e.identity,a,o,e.signal),{...e.output,stdout:Buffer.from(JSON.stringify({...t,requested:a}))}}var L=172032,Ke=18874368,Ye=8192,Je=65536,Ve=55000,Ze=60000,Qe=4,et=40000,tt=/^[0-9a-f-]{36}$/,Z=q,ot=re();function E(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}function T(){throw new r("invalid_automation_request","Reason automation request is malformed.")}function se(e){let o=Object.keys(e).sort().join(",");if(o==="call"||o==="browser,call"){let t=e.call,n=o==="browser,call";if(!E(t)||t.version!==1||t.kind!=="computer"&&t.kind!=="browser"||n&&(e.browser!==$r||t.kind!=="browser")||JSON.stringify(t).length>Je)T();return{call:t,userChrome:n}}if(o==="offset,output_id"){if(typeof e.output_id!=="string"||!tt.test(e.output_id)||!Number.isSafeInteger(e.offset)||e.offset<0)T();return{output_id:e.output_id,offset:e.offset}}return T()}function hr(e=process.platform,o=A){if(e==="darwin")return!0;return(e==="linux"||e==="win32")&&o()?.features.computer===!0}var rt="__computer-use";function No(e=A){return e()?.userChrome??{code:"user_chrome_browser_use_missing"}}function ae(e,o,t,n){return new Promise((i)=>{let a=S(e,o,{env:t,stdio:"ignore",windowsHide:!0}),u=setTimeout(()=>{a.kill("SIGKILL"),i(-1)},n);a.once("error",()=>{clearTimeout(u),i(-1)}),a.once("exit",(c)=>{clearTimeout(u),i(c??-1)})})}function nt(e,o,t,n){return new Promise((i)=>{let a=S(e,o,{env:t,stdio:["ignore","pipe","ignore"],windowsHide:!0}),u="";a.stdout.setEncoding("utf8").on("data",(l)=>{u+=l});let c=setTimeout(()=>{a.kill("SIGKILL"),i(null)},n);a.once("error",()=>{clearTimeout(c),i(null)}),a.once("close",(l)=>{clearTimeout(c),i(l===0?u:null)})})}function it(e){return x(e)?m(P(),"open-browser-use"):"/tmp/open-browser-use"}function x(e){return e.platform==="win32-x64"||e.platform==="win32-arm64"}var st=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,at=33554432;function ct(e,o){let t;try{t=e===null?null:JSON.parse(e)}catch{return null}let n=E(t)&&E(t.result)?t.result.metadata:null;if(!E(n)||n.extensionId!==o)return null;return typeof n.extensionInstanceId==="string"&&st.test(n.extensionInstanceId)?n.extensionInstanceId:null}async function ce(e,o,t){let n=t.storages.map((c)=>{try{return N(c).filter((l)=>l.endsWith(".log")||l.endsWith(".ldb")).map((l)=>m(c,l))}catch{return[]}}),i;try{i=n.some((c)=>c.length>0)?N(t.socketDir).filter((c)=>c.endsWith(".sock")):[]}catch{return[]}let a=[];for(let c of i){let l=m(t.socketDir,c),f=ct(await nt(e,["info","--socket",l,"--timeout","2s"],o,5000),t.extensionId);if(f)a.push({instance:f,socket:l})}let u=[];for(let[c,l]of(a.length>0?n:[]).entries())for(let f of l)try{if(He(f).size>at)continue;let p=W(f),d=a.find((g)=>p.includes(g.instance));if(d){u.push({storage:t.storages[c],...d});break}}catch{}return u}async function lt(e,o,t){return(await ce(e,o,t))[0]?.instance??null}function pe(e,o,t){return lt(e.nativeHost,o,{socketDir:it(e),extensionId:le,storages:[m(t,"browser-profile","Default","Local Extension Settings",le)]})}var Q=/^(Default|Profile ([0-9]+))$/;async function ut(e,o,t=s(),n=Sr){let i=m(t,"Library","Application Support","Google","Chrome"),a=[];try{a=N(i)}catch(p){if(p.code==="EPERM")throw new r("browser_use_chrome_access_denied","macOS blocked Reason from reading Chrome's profiles. Allow Full Disk Access for Reason on this Mac and try again.")}let u=(p)=>Number(Q.exec(p)?.[2]??-1),c=a.filter((p)=>Q.test(p)&&C(m(i,p,"Extensions",Xt))).sort((p,d)=>u(p)-u(d)),l=(p)=>m(i,p,"Local Extension Settings",Xt);return(await ce(e,o,{socketDir:n,extensionId:Xt,storages:c.map(l)})).map(({storage:p,instance:d,socket:g})=>({profile:c.find((h)=>l(h)===p),instance:d,socket:g}))}async function dt(e,o,t=s(),n=Sr){let i=(await ut(e,o,t,n))[0]?.instance;if(!i)throw new r("automation_user_chrome_not_connected","No Chrome profile on this Mac is connected to Reason. Open Chrome with the Reason extension, then try again.");return i}function ee(e){return new Promise((o)=>{let t=je({path:e}),n=(i)=>{t.destroy(),o(i)};t.setTimeout(1000,()=>n(!1)),t.once("error",()=>n(!1)),t.once("connect",()=>n(!0))})}async function me(e,o){let t=Date.now()+o;while(Date.now()<t){if(await e())return!0;await new Promise((n)=>setTimeout(n,200))}return!1}var D=new Map;function U(e,o){let t=D.get(e);if(!t)t=o().finally(()=>D.delete(e)),D.set(e,t);return t}async function pt(e,o){if(await ee(e))return;if(Fe(e,{force:!0}),await ae("dbus-daemon",["--session",`--address=unix:path=${e}`,"--fork"],o,1e4)!==0||!await me(()=>ee(e),5000))throw new r("automation_unavailable","Reason could not start the desktop session bus.");br("dbus-daemon",`--address=unix:path=${e}`)}async function te(e,o,t){let n=e.platform==="darwin-arm64"||x(e)?async()=>await pe(e,o,t)!==null:async()=>await ae(e.nativeHost,["info"],o,5000)===0;if(await n())return;let i=["--profile-directory=Default",`--load-extension=${e.extensionDir}`,"--no-first-run","--no-default-browser-check","--window-size=1280,800","about:blank"],a,u=null,c=0;if(e.platform==="darwin-arm64"){let d=m(t,"browser-profile");Te(d);let g=m(d,"NativeMessagingHosts");z(g,{recursive:!0,mode:448});let h=Er(e.platform).nativeHostManifests[0];J(h,m(g,V(h)));let _=e.browser.slice(0,e.browser.indexOf(".app/")+4),y=i.filter((v)=>v!=="about:blank").concat("--no-startup-window","--use-mock-keychain");a=S("/usr/bin/open",["-g","-n","-a",_,"--args",`--user-data-dir=${d}`,...y],{env:o,stdio:"ignore"})}else if(x(e)){let d=m(t,"browser-profile");Te(d),De(B("icacls"),[M(e.browser),"/grant","*S-1-15-2-1:(OI)(CI)(RX)","*S-1-15-2-2:(OI)(CI)(RX)"],{stdio:"ignore",windowsHide:!0,timeout:60000});let g=i.filter((h)=>h!=="about:blank").concat("--no-startup-window","--keep-alive-for-test");a=S(e.browser,[`--user-data-dir=${d}`,...g],{detached:!0,stdio:"ignore",env:o})}else{let d=m(o.HOME,".config","google-chrome"),g=m(d,"NativeMessagingHosts");z(g,{recursive:!0,mode:448});let h=Er(e.platform).nativeHostManifests[0];J(h,m(g,V(h)));let _=process.geteuid?.()===0?["--no-sandbox"]:[];u=m(t,"browser.log");let y=We(u,"a",384);c=Be(y).size,a=S(e.browser,[`--user-data-dir=${d}`,...i,..._,"--force-renderer-accessibility"],{detached:!0,stdio:["ignore",y,y],env:{...o,ACCESSIBILITY_ENABLED:"1"}}),$e(y),Ue(a.pid)}let l=!1,f=!1;a.once("error",()=>{l=!0}),a.once("exit",(d)=>{l||=d!==0,f=d===0}),a.unref();let p=!1;if(await me(async()=>l||(p=await n()),et),!p){if(u&&W(u).subarray(c).toString("utf8").includes("No usable sandbox"))throw new r("automation_browser_sandbox_unavailable","Chromium found no usable sandbox on this machine. Run the worker as a non-root user with unprivileged user namespaces enabled, or in a container with seccomp unconfined.");if(f)wr("browser");throw new r("automation_browser_unavailable","Reason could not connect the desktop browser.")}}async function Lo(e){await ge(e,!0)}function $o(e){return fe(e,he(e))}function fe(e,o){return e.platform==="darwin-arm64"||x(e)?m(o,"browser-profile"):m(o,"home",".config","google-chrome")}function he(e){let o=m(e.root,"automation");if(!C(o)||!mt(e.automation))return e.automation;if(!ft(fe(e,o)))try{ne(o,e.automation)}catch{}return C(o)?o:e.automation}function mt(e){try{return N(e).length===0}catch(o){return o.code==="ENOENT"}}function ft(e){let o;try{o=qe(m(e,"SingletonLock"))}catch{return!1}let t=Number(o.slice(o.lastIndexOf("-")+1));if(!Number.isSafeInteger(t)||t<=0)return!0;try{return process.kill(t,0),!0}catch(n){return n.code==="EPERM"}}async function ge(e,o){qr({root:e.root,automation:e.automation,extensionDir:e.extensionDir});let t=he(e);Te(t);let n=ie().username,i={USER:n,LOGNAME:n,REASON_AUTOMATION_OCU:e.ocu,REASON_AUTOMATION_OBU:e.nativeHost};if(e.platform==="darwin-arm64"||x(e)){let p=x(e)?{...i,...ht(),HOME:s()}:{...i,HOME:s(),PATH:`${M(e.node)}:/usr/bin:/bin:/usr/sbin:/sbin`,REASON_AUTOMATION_OCU:process.execPath,REASON_AUTOMATION_OCU_SUBCOMMAND:rt};if(!o)return p;await U("browser",()=>te(e,p,t));let d=await pe(e,p,t);if(!d)throw new r("automation_browser_unavailable","Reason could not connect the desktop browser.");return{...p,REASON_AUTOMATION_OBU_INSTANCE:d,REASON_AUTOMATION_BACKGROUND_TABS:"1"}}let a=await jt(),u=m(t,"home"),c=m(t,"runtime");Te(u),Te(c);let l=m(t,"bus"),f={...i,HOME:u,PATH:`${M(e.node)}:/usr/bin:/bin`,DISPLAY:a.display,XAUTHORITY:a.xauthority,XDG_RUNTIME_DIR:c,DBUS_SESSION_BUS_ADDRESS:`unix:path=${l}`,...a.sound?{PULSE_SERVER:Kt(a.sound)}:{}};if(await U("bus",()=>pt(l,f)),o)await U("browser",()=>te(e,f,t));return f}function ht(){let e=process.env.SystemRoot??"C:\\Windows",o=Object.fromEntries(["SystemDrive","USERPROFILE","LOCALAPPDATA","APPDATA","ProgramData","ProgramFiles","PATHEXT","ComSpec","USERNAME","USERDOMAIN","COMPUTERNAME","NUMBER_OF_PROCESSORS","PROCESSOR_ARCHITECTURE","PSModuleAnalysisCachePath"].flatMap((n)=>process.env[n]?[[n,process.env[n]]]:[])),t=m(e,"System32");return{...o,SystemRoot:e,windir:e,TEMP:P(),TMP:P(),PATH:[t,m(t,"WindowsPowerShell","v1.0"),e].join(Xe)}}async function gt(e,o,t){let n=ie().username,i={USER:n,LOGNAME:n,HOME:s(),PATH:`${M(e.node)}:/usr/bin:/bin:/usr/sbin:/sbin`,REASON_AUTOMATION_OBU:o,REASON_AUTOMATION_BACKGROUND_TABS:"1"},a=await dt(o,i);return t.throwIfAborted(),{...i,REASON_AUTOMATION_OBU_INSTANCE:a}}function _t(e){if(process.platform!=="win32")return["--input-type=module","--eval",e];let o=m(P(),`reason-automation-${Le("sha256").update(e).digest("hex").slice(0,16)}.mjs`);if(!C(o)||W(o,"utf8")!==e){let t=`${o}.${process.pid}.tmp`;Ge(t,e,{mode:384}),ne(t,o)}return[o]}function _e(e,o,t,n){if(typeof Z!=="string")return Promise.reject(new r("automation_unavailable","This Reason build has no automation runtime."));let i=Z;return new Promise((a,u)=>{let c=S(e,_t(i),{env:{...o,REASON_CLOUD_GATEWAY_EXEC:"1",REASON_AUTOMATION_INLINE_RESULT:"1"},stdio:["pipe","pipe","pipe"],detached:process.platform!=="win32",windowsHide:!0}),l=[],f=0,p="",d=null,g=!1,h=(w)=>{if(d??=w,process.platform==="win32"&&c.pid){S(m(process.env.SystemRoot??"C:\\Windows","System32","taskkill.exe"),["/pid",String(c.pid),"/t","/f"],{stdio:"ignore",windowsHide:!0}).once("error",()=>c.kill("SIGKILL"));return}try{process.kill(-c.pid,"SIGKILL")}catch{c.kill("SIGKILL")}},_=(w)=>{if(g)return;g=!0,clearTimeout(y),n.removeEventListener("abort",v),w()},y=setTimeout(()=>h(new r("automation_timed_out","Reason automation did not finish in time.")),Ve),v=()=>h(new r("cancelled","Reason cancelled the automation call."));if(n.addEventListener("abort",v,{once:!0}),c.stdout.on("data",(w)=>{if(f+=w.byteLength,f>Ke)h(new r("automation_output_too_large","Reason automation output is too large."));else l.push(w)}),c.stderr.setEncoding("utf8").on("data",(w)=>{p=(p+w).slice(-Ye)}),c.stdin.on("error",()=>{}),c.once("error",()=>_(()=>u(d??new r("automation_unavailable","Reason could not start the automation runtime.")))),c.once("close",(w)=>_(()=>{if(d)u(d);else a({code:w??1,stdout:Buffer.concat(l),stderr:p})})),n.aborted)v();c.stdin.end(t)})}var b=new Map;function wt(e,o,t){for(let[i,a]of b)if(a.expiresAt<=t)b.delete(i);while(b.size>=Qe)b.delete(b.keys().next().value);let n=re();return b.set(n,{runId:e,bytes:o,expiresAt:t+Ze}),n}async function we(e,o,t,n={}){let i=await(n.environment??ge)(e,o.kind==="browser");return t.throwIfAborted(),await(n.runtime??_e)(e.node,i,JSON.stringify(o),t)}async function Cl(e,o){let t=se({call:e});if(!("call"in t))T();let n=A();if(!n?.features.computer||t.call.kind==="browser"&&!n.features.browser)throw new r("automation_unavailable","Run `reason desktop install` on this machine to enable computer and browser use.");return await we(n,t.call,o)}function oe(e,o,t){let n=e.stdout.byteLength>L?wt(o,e.stdout,t):void 0;return{code:e.code,stderr:e.stderr,instance_id:ot,output_bytes:e.stdout.byteLength,chunk:e.stdout.subarray(0,L).toString("base64"),...n?{output_id:n}:{}}}async function Mo(e,o={}){let t=se(e.payload),n=(o.now??Date.now)();if("output_id"in t){let _=b.get(t.output_id);if(!_||_.runId!==e.runId||_.expiresAt<=n||t.offset>_.bytes.byteLength)throw new r("automation_output_unavailable","Reason automation output expired.");return{chunk:_.bytes.subarray(t.offset,t.offset+L).toString("base64")}}let i=(o.components??A)(),a=(o.platform??process.platform)==="darwin",u=a?(o.macIdentity??Tr)():[],c=o.macSetup??O,l=!i?.features.computer||t.call.kind==="browser"&&!t.userChrome&&!i.features.browser;if(a&&(l||u.length===0||t.call.kind==="browser"&&t.userChrome&&!e.userChrome))return oe(await K({runId:e.runId,call:t.call,identity:u,desktopMissing:l,signal:e.signal},c),e.runId,n);if(!i?.features.computer)throw new r("automation_unavailable","Run `reason desktop install` on this machine to enable computer and browser use.");let f=t.userChrome?e.userChrome:void 0;if(t.userChrome&&!f)throw new r("automation_user_chrome_unavailable","Your own Chrome is not enabled on this computer: run `reason desktop install` on this Mac (and `reason connect --user-chrome on` if you turned it off).");if(t.call.kind==="browser"&&!f&&!i.features.browser)throw new r("automation_browser_not_installed",!i.platform.startsWith("linux")?"Browser use is unavailable on this machine: re-run `reason desktop install`.":"Browser use is unavailable on this machine: install a non-snap Chromium at /usr/bin/chromium, then re-run `reason desktop install`.");e.signal.throwIfAborted();let p=t.call.kind==="browser"&&t.call.operation!=="record_start"&&t.call.operation!=="record_stop",d=await va(e.runId,e.signal,o.now,p?"call":"run"),g="account"in o?o.account??null:ue(),h;try{if(f){let _=await(o.userChromeEnvironment??gt)(i,f,e.signal);e.signal.throwIfAborted(),h=await(o.runtime??_e)(i.node,_,JSON.stringify(t.call),e.signal)}else if(g)h=await(o.delegate??Zo)(g,t.call,e.signal);else h=await we(i,t.call,e.signal,o)}finally{d()}if(a)h=await Y({runId:e.runId,call:t.call,identity:u,output:h,signal:e.signal},c);return oe(h,e.runId,n)}
954
+ export{hr,No,Lo,$o,Cl,Mo};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{R}from"./vm-hands-entry-lite-z65xva21.js";import{basename as o}from"path";var xr=["production","staging"],s="https://api.reasonmachines.com",l="https://staging-api.reasonmachines.com";var r={production:{api:"https://api.reasonmachines.ai",app:"https://reasonmachines.ai"},staging:{api:"https://staging-api.reasonmachines.ai",app:"https://staging.reasonmachines.ai"}},p=new Set(["ara-staging","ara-staging.exe","reason-staging","reason-staging.exe"]);function w(n={}){let t=R(n.env??process.env,"REASON_CLI_CHANNEL")?.trim().toLowerCase();if(t){if(xr.includes(t))return t;throw Error(`Unknown Reason CLI channel: ${t}`)}let e=o(n.executablePath??process.execPath).toLowerCase();return p.has(e)?"staging":"production"}function Ve(n){return n==="staging"?l:s}function kc(n){return`${Ve(n)}/mcp/ara`}var i={production:["https://api.ara.so",r.production.api],staging:["https://api-staging.ara.so",r.staging.api]};function ye(n){let t;try{t=new URL(n).origin}catch{return n}let e=xr.find((a)=>i[a].includes(t));return e?Ve(e):t}function W(n,t){return n===t||ye(n)===ye(t)}function Cn(n,t){return xr.some((e)=>i[e].includes(n)&&t===Ve(e))}function An(n,t){try{let e=new URL(t);return!e.username&&!e.password&&(e.origin===Ve(n)||e.origin===r[n].api)}catch{return!1}}function Cr(n){try{let t=new URL(n).hostname.replace(/^\[|\]$/g,"").toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="::1"}catch{return!1}}
3
- export{xr,w,Ve,kc,ye,W,Cn,An,Cr};
2
+ import{R}from"./vm-hands-entry-lite-ys4jhf7n.js";import{basename as o}from"path";var xr=["production","staging"],s="https://api.reasonmachines.com",l="https://staging-api.reasonmachines.com";var r={production:{api:"https://api.reasonmachines.ai",app:"https://reasonmachines.ai"},staging:{api:"https://staging-api.reasonmachines.ai",app:"https://staging.reasonmachines.ai"}},p=new Set(["ara-staging","ara-staging.exe","reason-staging","reason-staging.exe"]);function w(n={}){let t=R(n.env??process.env,"REASON_CLI_CHANNEL")?.trim().toLowerCase();if(t){if(xr.includes(t))return t;throw Error(`Unknown Reason CLI channel: ${t}`)}let e=o(n.executablePath??process.execPath).toLowerCase();return p.has(e)?"staging":"production"}function Ve(n){return n==="staging"?l:s}function kc(n){return`${Ve(n)}/mcp/ara`}var i={production:["https://api.ara.so",r.production.api],staging:["https://api-staging.ara.so",r.staging.api]};function ye(n){let t;try{t=new URL(n).origin}catch{return n}let e=xr.find((a)=>i[a].includes(t));return e?Ve(e):t}function W(n,t){return n===t||ye(n)===ye(t)}function An(n,t){return xr.some((e)=>i[e].includes(n)&&t===Ve(e))}function Pn(n,t){try{let e=new URL(t);return!e.username&&!e.password&&(e.origin===Ve(n)||e.origin===r[n].api)}catch{return!1}}function Cr(n){try{let t=new URL(n).hostname.replace(/^\[|\]$/g,"").toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="::1"}catch{return!1}}
3
+ export{xr,w,Ve,kc,ye,W,An,Pn,Cr};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{w,Cn}from"./vm-hands-entry-lite-33at6g06.js";import{Sn}from"./vm-hands-entry-lite-1b21avcs.js";import{Mi,De,wt}from"./vm-hands-entry-lite-88dxn9b5.js";import{s}from"./vm-hands-entry-lite-12ck5swp.js";import{t,n,c,i}from"./vm-hands-entry-lite-zpvr7wc6.js";import{createHmac as Le,createPublicKey as we,randomBytes as Ae,randomUUID as G,verify as Pe}from"crypto";import{chmodSync as P,existsSync as H,mkdirSync as Ee,readFileSync as Re,realpathSync as xe,renameSync as Ne,statSync as Oe,unlinkSync as Ke,writeFileSync as Ce}from"fs";import{basename as Te,dirname as R,isAbsolute as J,join as h,resolve as Ue}from"path";var We=[Object.freeze({family:"ara",channel:"stable",applicationId:"so.ara.desktop"}),Object.freeze({family:"ara",channel:"staging",applicationId:"so.ara.desktop.staging"}),Object.freeze({family:"reason",channel:"stable",applicationId:"com.reasonmachines.desktop"}),Object.freeze({family:"reason",channel:"staging",applicationId:"com.reasonmachines.desktop.staging"})];var te="REASON_DESKTOP_RUNTIME",ne="REASON_DESKTOP_RUNTIME_CHANNEL",ie="REASON_DESKTOP_RUNTIME_INSTANCE_ID",re="REASON_DESKTOP_RUNTIME_WORKSPACE_SCOPE",it={[te]:"ARA_DESKTOP_RUNTIME",[ne]:"ARA_DESKTOP_RUNTIME_CHANNEL",[ie]:"ARA_DESKTOP_RUNTIME_INSTANCE_ID",[re]:"ARA_DESKTOP_RUNTIME_WORKSPACE_SCOPE"};function K(e){if(e===void 0)return;if(!/^[a-f0-9]{64}$/.test(e))throw Error("Invalid desktop workspace scope.");return e}import{chmodSync as S,existsSync as y,mkdirSync as I,readFileSync as C,realpathSync as oe,renameSync as se,unlinkSync as k,writeFileSync as D}from"fs";import{createPrivateKey as ce,createPublicKey as le,generateKeyPairSync as de,randomUUID as ue,sign as pe}from"crypto";import{createRequire as ge}from"module";import{homedir as fe,platform as M}from"os";import{dirname as ye,join as v}from"path";var T=1,ve=16384,_=65536,_e=128,be=128,j=65536;class a extends Error{code;nativeStatus;constructor(e,r){super(`Reason Device proof boundary failed (${e}).${r===void 0?"":` Native status: ${r}.`}`);this.code=e;this.nativeStatus=r;this.name="LocalCredentialBoundaryError"}}function V(e){if(e.code==="proof_key_read_failed"&&e.nativeStatus===-25300)return"proof_key_missing";switch(e.nativeStatus){case-25308:return"keychain_interaction_required";case-25293:return"keychain_access_denied";case-25291:return"keychain_unavailable";default:return e.code}}var L=null;function B(){if(!L)try{L=ge(import.meta.url)("bun:ffi")}catch{throw new a("native_boundary_unavailable")}return L}function me(e){if(typeof e!=="string")return null;try{let r=new URL(e);if(r.protocol!=="https:"&&r.hostname!=="127.0.0.1"&&r.hostname!=="localhost"&&r.hostname!=="[::1]"&&r.hostname!=="::1")return null;return r.origin}catch{return null}}function he(e){if(!e||typeof e!=="object"||Array.isArray(e))throw new a("invalid_credential_record");let r=e,o=me(r.apiOrigin);if(r.version!==T||!o||typeof r.orgId!=="string"||r.orgId.length<1||r.orgId.length>160||typeof r.deviceId!=="string"||r.deviceId.length<1||r.deviceId.length>160||typeof r.credential!=="string"||!/^(?:reason|ara)_dev_/.test(r.credential)||r.credential.length>4096)throw new a("invalid_credential_record");return{version:T,apiOrigin:o,orgId:r.orgId,deviceId:r.deviceId,credential:r.credential}}function hn(e=process.execPath){let r=e;try{r=oe(e)}catch{}return Sn(ye(r))}function p(e){return B().ptr(e)}function Ie(e){if(!y(e))throw new a("native_boundary_unavailable");let{dlopen:r,FFIType:o}=B();try{return r(e,{ara_device_configure_scope:{args:[o.ptr,o.u64],returns:o.i32},ara_device_key_load_public:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_key_create_fresh_public:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_key_sign:{args:[o.ptr,o.u64,o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_key_is_non_extractable:{args:[o.ptr],returns:o.i32},ara_device_key_delete:{args:[o.ptr],returns:o.i32},ara_device_binding_read:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_binding_create:{args:[o.ptr,o.u64],returns:o.i32},ara_device_binding_update:{args:[o.ptr,o.u64],returns:o.i32},ara_device_binding_delete:{args:[o.ptr],returns:o.i32},ara_device_keychain_read:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_keychain_delete:{args:[o.ptr],returns:o.i32}})}catch(l){if(l instanceof a)throw l;throw new a("native_boundary_unavailable")}}function U(e){return Buffer.from(e).toString("base64url")}function Ht(e){if(typeof e!=="string"||!/^[A-Za-z0-9_-]{87}$/.test(e))return!1;try{let r=Buffer.from(e,"base64url");return r.byteLength===65&&r[0]===4}catch{return!1}}function vi(e){if(e.byteLength<8||e.byteLength>72||e[0]!==48)return!1;let r=e[1];return r!==void 0&&r<128&&r+2===e.byteLength}class mt{libraryPath;runtimePlatform;workspaceScope;library=null;constructor(e=hn(),r=M(),o){this.libraryPath=e;this.runtimePlatform=r;this.workspaceScope=o;K(o)}symbols(){if(this.runtimePlatform!=="darwin")throw new a("unsupported_platform");this.library??=Ie(this.libraryPath);let e=new TextEncoder().encode(this.workspaceScope??""),r=this.library.symbols.ara_device_configure_scope(p(e.length?e:new Uint8Array(1)),BigInt(e.length));if(r!==0)throw new a("native_boundary_unavailable",r);return this.library.symbols}publicKey(e){let r=new Uint8Array(_e),o=new BigUint64Array(1),l=e==="load"?this.symbols().ara_device_key_load_public(p(r),BigInt(r.byteLength),p(o)):this.symbols().ara_device_key_create_fresh_public(p(r),BigInt(r.byteLength),p(o));if(l!==0)throw new a(e==="load"?"proof_key_read_failed":"proof_key_generation_failed",l);let d=Number(o[0]);if(!Number.isSafeInteger(d)||d!==65)throw new a("invalid_public_key");let u=U(r.subarray(0,d));if(!Ht(u))throw new a("invalid_public_key");return u}loadPublicKey(){return this.publicKey("load")}createFreshPublicKey(){return this.publicKey("create_fresh")}sign(e){if(e.byteLength<1||e.byteLength>j)throw new a("proof_sign_failed");let r=new Uint8Array(be),o=new BigUint64Array(1),l=this.symbols().ara_device_key_sign(p(e),BigInt(e.byteLength),p(r),BigInt(r.byteLength),p(o));if(l!==0)throw new a("proof_sign_failed",l);let d=Number(o[0]);if(!Number.isSafeInteger(d)||d<1||d>r.byteLength)throw new a("invalid_signature");let u=r.subarray(0,d);if(!vi(u))throw new a("invalid_signature");return U(u)}privateKeyIsNonExtractable(){let e=new Uint8Array(1),r=this.symbols().ara_device_key_is_non_extractable(p(e));if(r!==0||e[0]!==1)throw new a("proof_key_read_failed",r);return!0}deleteKey(){let e=new Uint8Array(1),r=this.symbols().ara_device_key_delete(p(e));if(r!==0)throw new a("proof_key_delete_failed",r);return e[0]===1}loadBinding(){let e=new Uint8Array(_),r=new BigUint64Array(1),o=this.symbols().ara_device_binding_read(p(e),BigInt(e.byteLength),p(r));if(o===1)return null;if(o!==0)throw new a("binding_read_failed",o);let l=Number(r[0]);if(!Number.isSafeInteger(l)||l<1||l>e.byteLength)throw new a("invalid_binding");return e.slice(0,l)}createBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");let r=this.symbols().ara_device_binding_create(p(e),BigInt(e.byteLength));if(r!==0)throw new a("binding_create_failed",r)}updateBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");let r=this.symbols().ara_device_binding_update(p(e),BigInt(e.byteLength));if(r!==0)throw new a("binding_update_failed",r)}deleteBinding(){let e=new Uint8Array(1),r=this.symbols().ara_device_binding_delete(p(e));if(r!==0)throw new a("binding_delete_failed",r);return e[0]===1}loadLegacyCredential(){let e=new Uint8Array(ve),r=new BigUint64Array(1),o=this.symbols().ara_device_keychain_read(p(e),BigInt(e.byteLength),p(r));if(o===1)return null;if(o!==0)throw new a("legacy_credential_read_failed",o);let l=Number(r[0]);if(!Number.isSafeInteger(l)||l<1||l>e.byteLength)throw new a("invalid_credential_record");try{let d=new TextDecoder("utf-8",{fatal:!0}).decode(e.subarray(0,l));return he(JSON.parse(d))}catch(d){if(d instanceof a)throw d;throw new a("invalid_credential_record")}}deleteLegacyCredential(){let e=new Uint8Array(1),r=this.symbols().ara_device_keychain_delete(p(e));if(r!==0)throw new a("legacy_credential_delete_failed",r);return e[0]===1}}function F(e){let r=e.export({format:"jwk"});if(r.crv!=="P-256"||typeof r.x!=="string"||typeof r.y!=="string")throw new a("invalid_public_key");let o=Buffer.from(r.x,"base64url"),l=Buffer.from(r.y,"base64url");if(o.byteLength!==32||l.byteLength!==32)throw new a("invalid_public_key");let d=Buffer.concat([Buffer.of(4),o,l]).toString("base64url");if(!Ht(d))throw new a("invalid_public_key");return d}function ke(){let e=process.env.XDG_CONFIG_HOME?.trim()||v(fe(),".config");De(e);let r=v(e,"ara");return Mi(r)?r:v(e,"reason")}class fn{directory;constructor(e=ke()){this.directory=e}keyPath(){return v(this.directory,"local-device.key")}bindingPath(){return v(this.directory,"local-device.binding")}loadPrivateKeyObject(){let e=this.keyPath();if(!y(e))throw new a("proof_key_read_failed");try{let r=C(e,"utf8");return ce({key:r,format:"pem"})}catch{throw new a("proof_key_read_failed")}}loadPublicKey(){let e=this.loadPrivateKeyObject(),r=le(e);return F(r)}createFreshPublicKey(){I(this.directory,{recursive:!0,mode:448});let{privateKey:e,publicKey:r}=de("ec",{namedCurve:"P-256"}),o=e.export({type:"pkcs8",format:"pem"}),l=this.keyPath();return D(l,o,{mode:384}),S(l,384),F(r)}sign(e){if(e.byteLength<1||e.byteLength>j)throw new a("proof_sign_failed");let r=this.loadPrivateKeyObject(),o;try{o=pe("sha256",e,r)}catch{throw new a("proof_sign_failed")}if(!vi(o))throw new a("invalid_signature");return o.toString("base64url")}privateKeyIsNonExtractable(){return!1}deleteKey(){let e=this.keyPath();if(!y(e))return!1;return k(e),!0}loadBinding(){let e=this.bindingPath();if(!y(e))return null;try{return new Uint8Array(C(e))}catch{return null}}createBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");I(this.directory,{recursive:!0,mode:448});let r=this.bindingPath();if(y(r))throw new a("binding_create_failed");D(r,e,{mode:384}),S(r,384)}updateBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");I(this.directory,{recursive:!0,mode:448});let r=this.bindingPath();if(!y(r))throw new a("binding_update_failed");let o=`${r}.${ue()}`;try{D(o,e,{mode:384,flag:"wx"}),S(o,384),se(o,r)}finally{if(y(o))k(o)}}deleteBinding(){let e=this.bindingPath();if(!y(e))return!1;return k(e),!0}loadLegacyCredential(){return null}deleteLegacyCredential(){return!1}}function A(){return M()==="darwin"?new mt:new fn}var b=t().min(1).max(160).regex(/^[A-Za-z0-9._:-]+$/),z=n({id:b,kind:i("permission_denied"),operation:c(["bash","read","write","edit"]),provenance:c(["sandbox_policy","os_permission_unknown"]),occurredAt:t().datetime(),expiresAt:t().datetime(),sessionId:b,deviceId:b,organizationId:b}).strict();var x=4;var m="macos-keychain-p256-v1",Y=1,Fe=`ARA-DEVICE-BINDING-V1
3
- `;function Me(e){return e===void 0||typeof e==="number"&&Number.isInteger(e)&&e>=1&&e<=4}function fr(e,r=Date.now()){let o=z.safeParse(e);if(!o.success)return!1;let l=o.data,d=typeof l.occurredAt==="string"?Date.parse(l.occurredAt):NaN,u=typeof l.expiresAt==="string"?Date.parse(l.expiresAt):NaN;return l.kind==="permission_denied"&&["bash","read","write","edit"].includes(l.operation)&&["sandbox_policy","os_permission_unknown"].includes(l.provenance)&&Number.isFinite(d)&&d<=r&&u>r&&u>d&&u-d<=600000}function mn(e,r,o=Date.now()){if(!e||!r||e.state!=="connected"||e.deviceId!==r.deviceId)return null;let l=Date.parse(e.lastHeartbeatAt??""),d=e.permissionRecovery;if(!(o-l>=0&&o-l<30000)||!fr(d,o)||d.deviceId!==r.deviceId||d.organizationId!==r.orgId)return null;try{process.kill(e.pid,0)}catch{return null}return d}function X(e={},r=s()){let o=w({env:{...process.env,...e}}),l=e.XDG_CONFIG_HOME?.trim()||h(r,".config");return wt(l,...o==="staging"?["staging"]:[])}function gt(e={},r=s()){return h(X(e,r),"local-device.json")}function mr(e={},r=s()){return h(X(e,r),"local-daemon.json")}function N(e,r){Ee(R(e),{recursive:!0,mode:448}),P(R(e),448);let o=`${e}.${process.pid}.${G()}.tmp`;try{Ce(o,`${JSON.stringify(r,null,2)}
4
- `,{mode:384,flag:"wx"}),P(o,384),Ne(o,e),P(e,384)}finally{if(H(o))Ke(o)}return e}function O(e){if(!H(e))return null;try{return JSON.parse(Re(e,"utf8"))}catch{return null}}function E(e,r,o){try{e.onCredentialLifecycle?.({event:r,...o?{reasonCode:o}:{}})}catch{}}function je(e){if(!Array.isArray(e))return null;let r=[];for(let o of e){if(!o||typeof o!=="object")return null;let l=o;if(typeof l.id!=="string"||typeof l.label!=="string"||typeof l.path!=="string"||typeof l.pathFingerprint!=="string"||!l.permissions||typeof l.permissions.read!=="boolean"||typeof l.permissions.write!=="boolean"||typeof l.permissions.execute!=="boolean"||typeof l.permissions.discover_environment!=="boolean"||typeof l.permissions.expose_mcp!=="boolean")return null;r.push({id:l.id,label:l.label,path:l.path,pathFingerprint:l.pathFingerprint,permissions:l.permissions})}return r}function W(e,r,o=[]){let l=Object.keys(e);return r.every((d)=>Object.hasOwn(e,d))&&l.every((d)=>r.includes(d)||o.includes(d))}function Ve(e){if(typeof e!=="string")return null;try{let r=new URL(e);if(r.protocol!=="https:"&&r.hostname!=="127.0.0.1"&&r.hostname!=="localhost")return null;return r.origin}catch{return null}}function Z(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let r=e,o=je(r.roots),l=Ve(r.apiOrigin);if(!l||typeof r.orgId!=="string"||typeof r.deviceId!=="string"||typeof r.displayName!=="string"||typeof r.registeredAt!=="string"||!Me(r.handsSlots)||r.worker!==void 0&&(!r.worker||!/^[a-f0-9]{64}$/.test(r.worker.configDigest)||!["persistent","ephemeral"].includes(r.worker.lifetime)||!Number.isFinite(Date.parse(r.worker.expiresAt)))||!o)return null;return{apiOrigin:l,orgId:r.orgId,deviceId:r.deviceId,displayName:r.displayName,registeredAt:r.registeredAt,...r.handsSlots!==void 0?{handsSlots:r.handsSlots}:{},...r.worker!==void 0?{worker:r.worker}:{},roots:o}}function Be(e){return{...e,credentialStorage:m}}function $e(e){return{version:x,apiOrigin:e.apiOrigin,orgId:e.orgId,deviceId:e.deviceId,devicePublicKey:e.devicePublicKey,displayName:e.displayName,registeredAt:e.registeredAt,...e.handsSlots!==void 0?{handsSlots:e.handsSlots}:{},...e.worker!==void 0?{worker:e.worker}:{},roots:e.roots.map((r)=>({id:r.id,label:r.label,path:r.path,pathFingerprint:r.pathFingerprint,permissions:{read:r.permissions.read,write:r.permissions.write,execute:r.permissions.execute,discover_environment:r.permissions.discover_environment,expose_mcp:r.permissions.expose_mcp}})),credentialStorage:m}}function q(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let r=e;if(!W(r,["version","apiOrigin","orgId","deviceId","devicePublicKey","displayName","registeredAt","roots","credentialStorage"],["handsSlots","worker"]))return null;let o=Z(r);if(!o||r.version!==x||r.credentialStorage!==m||!Ht(r.devicePublicKey))return null;return{version:x,...o,devicePublicKey:r.devicePublicKey,credentialStorage:m}}function Q(e){return new TextEncoder().encode(`${Fe}${JSON.stringify($e(e))}`)}function ze(e){let r=Buffer.from(e,"base64url");return we({format:"jwk",key:{kty:"EC",crv:"P-256",x:r.subarray(1,33).toString("base64url"),y:r.subarray(33,65).toString("base64url")}})}function Ge(e,r){let o={version:Y,state:e,signature:r.sign(Q(e))};return new TextEncoder().encode(JSON.stringify(o))}function ee(e){let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(e))}catch{throw new a("invalid_binding")}if(!r||typeof r!=="object"||Array.isArray(r))throw new a("invalid_binding");let o=r;if(!W(o,["version","state","signature"])||o.version!==Y||typeof o.signature!=="string"||!/^[A-Za-z0-9_-]{10,128}$/.test(o.signature))throw new a("invalid_binding");let l=q(o.state);if(!l)throw new a("invalid_binding");let d=!1;try{d=Pe("sha256",Q(l),ze(l.devicePublicKey),Buffer.from(o.signature,"base64url"))}catch{d=!1}if(!d)throw new a("invalid_binding");return l}function He(e){let{credentialStorage:r,...o}=e;return o}function Je(e){return e instanceof a?V(e):"credential_boundary_failed"}function Ut(e=gt(),r={}){let o=O(e),l=r.proofStore??r.credentialStore??A(),d=l.loadBinding();if(!d){if(o&&typeof o==="object"&&!Array.isArray(o)&&Ye(o))return null;if(o!==null)throw new a("invalid_binding");return null}let u=ee(d),g=l.loadPublicKey();if(l.privateKeyIsNonExtractable(),g!==u.devicePublicKey)throw new a("invalid_public_key");let f=q(o);if(r.repair!==!1&&(!f||JSON.stringify(f)!==JSON.stringify(u)))N(e,u);return He(u)}function Ye(e){let r=e,o=Z(e);if(!o)return null;if(r.version===2){if(typeof r.deviceCredential!=="string"||!/^(?:reason|ara)_dev_/.test(r.deviceCredential)||r.deviceCredential.length>4096)return null;return{state:o,credentialSource:"plaintext-v2"}}if(r.version!==3||r.credentialStorage!=="macos-keychain-v1"||"deviceCredential"in r)return null;return{state:o,credentialSource:"keychain-v3"}}function ae(e,r=gt(),o={}){let l=o.proofStore??o.credentialStore??A();E(o,"credential.store_started");try{if(!Ht(e.devicePublicKey)||l.loadPublicKey()!==e.devicePublicKey)throw new a("invalid_public_key");l.privateKeyIsNonExtractable();let d=Be(e),u=l.loadBinding();if(u){let f=ee(u);if(f.devicePublicKey!==e.devicePublicKey||f.orgId!==e.orgId||f.deviceId!==e.deviceId||f.apiOrigin!==e.apiOrigin&&!Cn(f.apiOrigin,e.apiOrigin))throw new a("invalid_binding")}let g=Ge(d,l);if(u)l.updateBinding(g);else l.createBinding(g);return N(r,d),E(o,"credential.store_completed"),r}catch(d){throw E(o,"credential.store_failed",Je(d)),d}}function rt(e=mr()){let r=O(e);if(!r||typeof r!=="object")return null;let o=r;if(o.version!==1||typeof o.pid!=="number"||!Number.isInteger(o.pid)||!["starting","connected","stopped","error"].includes(o.state??"")||typeof o.startedAt!=="string"||o.lastHeartbeatAt!==void 0&&typeof o.lastHeartbeatAt!=="string"||o.lastUsedAt!==void 0&&typeof o.lastUsedAt!=="string"||o.organizationId!==void 0&&typeof o.organizationId!=="string"||o.organizationName!==void 0&&typeof o.organizationName!=="string"||o.organizationSlug!==void 0&&typeof o.organizationSlug!=="string"||o.error!==void 0&&typeof o.error!=="string"||o.reconnectingSince!==void 0&&typeof o.reconnectingSince!=="string"||o.workspace!==void 0&&typeof o.workspace!=="string")return null;if(o.permissionRecovery!==void 0&&!fr(o.permissionRecovery))delete o.permissionRecovery;return o}function Si(e,r=mr()){return N(r,e)}var gr=1;function Xe(e=gt()){return h(R(e),"local-device.proxy.json")}function Se(e=Xe()){let r=O(e);if(!r||typeof r!=="object"||Array.isArray(r))return null;let o=r;if(o.version!==gr||typeof o.url!=="string"||o.url.length===0||o.caFile!==void 0&&(typeof o.caFile!=="string"||!J(o.caFile)))return null;return{version:gr,url:o.url,...o.caFile?{caFile:o.caFile}:{}}}function zt(e,r={read:!0,write:!1,execute:!1,discover_environment:!1,expose_mcp:!1},o=Ae(32)){let l=new Set,d=[];for(let u of e){let g=xe(J(u)?u:Ue(u));if(!Oe(g).isDirectory())throw Error(`Local execution root is not a directory: ${u}`);if(l.has(g))continue;l.add(g),d.push({id:G(),label:Te(g)||g,path:g,pathFingerprint:Le("sha256",o).update(g).digest("hex"),permissions:{...r}})}if(d.length===0)throw Error("At least one explicit local execution root is required.");return d}
5
- export{a,hn,Ht,vi,mt,fn,fr,mn,gt,mr,Ut,ae,rt,Si,gr,Se,zt};
2
+ import{w,An}from"./vm-hands-entry-lite-0xfme8gg.js";import{En}from"./vm-hands-entry-lite-sb1xtqxr.js";import{Bi,De,wt}from"./vm-hands-entry-lite-peyr9y6z.js";import{s}from"./vm-hands-entry-lite-tzv8s0e7.js";import{t,n,c,i}from"./vm-hands-entry-lite-bt6skt4h.js";import{createHmac as Le,createPublicKey as we,randomBytes as Ae,randomUUID as G,verify as Pe}from"crypto";import{chmodSync as P,existsSync as H,mkdirSync as Ee,readFileSync as Re,realpathSync as xe,renameSync as Ne,statSync as Oe,unlinkSync as Ke,writeFileSync as Ce}from"fs";import{basename as Te,dirname as R,isAbsolute as J,join as h,resolve as Ue}from"path";var We=[Object.freeze({family:"ara",channel:"stable",applicationId:"so.ara.desktop"}),Object.freeze({family:"ara",channel:"staging",applicationId:"so.ara.desktop.staging"}),Object.freeze({family:"reason",channel:"stable",applicationId:"com.reasonmachines.desktop"}),Object.freeze({family:"reason",channel:"staging",applicationId:"com.reasonmachines.desktop.staging"})];var te="REASON_DESKTOP_RUNTIME",ne="REASON_DESKTOP_RUNTIME_CHANNEL",ie="REASON_DESKTOP_RUNTIME_INSTANCE_ID",re="REASON_DESKTOP_RUNTIME_WORKSPACE_SCOPE",it={[te]:"ARA_DESKTOP_RUNTIME",[ne]:"ARA_DESKTOP_RUNTIME_CHANNEL",[ie]:"ARA_DESKTOP_RUNTIME_INSTANCE_ID",[re]:"ARA_DESKTOP_RUNTIME_WORKSPACE_SCOPE"};function K(e){if(e===void 0)return;if(!/^[a-f0-9]{64}$/.test(e))throw Error("Invalid desktop workspace scope.");return e}import{chmodSync as S,existsSync as y,mkdirSync as I,readFileSync as C,realpathSync as oe,renameSync as se,unlinkSync as k,writeFileSync as D}from"fs";import{createPrivateKey as ce,createPublicKey as le,generateKeyPairSync as de,randomUUID as ue,sign as pe}from"crypto";import{createRequire as ge}from"module";import{homedir as fe,platform as M}from"os";import{dirname as ye,join as v}from"path";var T=1,ve=16384,_=65536,_e=128,be=128,j=65536;class a extends Error{code;nativeStatus;constructor(e,r){super(`Reason Device proof boundary failed (${e}).${r===void 0?"":` Native status: ${r}.`}`);this.code=e;this.nativeStatus=r;this.name="LocalCredentialBoundaryError"}}function V(e){if(e.code==="proof_key_read_failed"&&e.nativeStatus===-25300)return"proof_key_missing";switch(e.nativeStatus){case-25308:return"keychain_interaction_required";case-25293:return"keychain_access_denied";case-25291:return"keychain_unavailable";default:return e.code}}var L=null;function B(){if(!L)try{L=ge(import.meta.url)("bun:ffi")}catch{throw new a("native_boundary_unavailable")}return L}function me(e){if(typeof e!=="string")return null;try{let r=new URL(e);if(r.protocol!=="https:"&&r.hostname!=="127.0.0.1"&&r.hostname!=="localhost"&&r.hostname!=="[::1]"&&r.hostname!=="::1")return null;return r.origin}catch{return null}}function he(e){if(!e||typeof e!=="object"||Array.isArray(e))throw new a("invalid_credential_record");let r=e,o=me(r.apiOrigin);if(r.version!==T||!o||typeof r.orgId!=="string"||r.orgId.length<1||r.orgId.length>160||typeof r.deviceId!=="string"||r.deviceId.length<1||r.deviceId.length>160||typeof r.credential!=="string"||!/^(?:reason|ara)_dev_/.test(r.credential)||r.credential.length>4096)throw new a("invalid_credential_record");return{version:T,apiOrigin:o,orgId:r.orgId,deviceId:r.deviceId,credential:r.credential}}function fn(e=process.execPath){let r=e;try{r=oe(e)}catch{}return En(ye(r))}function p(e){return B().ptr(e)}function Ie(e){if(!y(e))throw new a("native_boundary_unavailable");let{dlopen:r,FFIType:o}=B();try{return r(e,{ara_device_configure_scope:{args:[o.ptr,o.u64],returns:o.i32},ara_device_key_load_public:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_key_create_fresh_public:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_key_sign:{args:[o.ptr,o.u64,o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_key_is_non_extractable:{args:[o.ptr],returns:o.i32},ara_device_key_delete:{args:[o.ptr],returns:o.i32},ara_device_binding_read:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_binding_create:{args:[o.ptr,o.u64],returns:o.i32},ara_device_binding_update:{args:[o.ptr,o.u64],returns:o.i32},ara_device_binding_delete:{args:[o.ptr],returns:o.i32},ara_device_keychain_read:{args:[o.ptr,o.u64,o.ptr],returns:o.i32},ara_device_keychain_delete:{args:[o.ptr],returns:o.i32}})}catch(l){if(l instanceof a)throw l;throw new a("native_boundary_unavailable")}}function U(e){return Buffer.from(e).toString("base64url")}function Ht(e){if(typeof e!=="string"||!/^[A-Za-z0-9_-]{87}$/.test(e))return!1;try{let r=Buffer.from(e,"base64url");return r.byteLength===65&&r[0]===4}catch{return!1}}function Si(e){if(e.byteLength<8||e.byteLength>72||e[0]!==48)return!1;let r=e[1];return r!==void 0&&r<128&&r+2===e.byteLength}class mt{libraryPath;runtimePlatform;workspaceScope;library=null;constructor(e=fn(),r=M(),o){this.libraryPath=e;this.runtimePlatform=r;this.workspaceScope=o;K(o)}symbols(){if(this.runtimePlatform!=="darwin")throw new a("unsupported_platform");this.library??=Ie(this.libraryPath);let e=new TextEncoder().encode(this.workspaceScope??""),r=this.library.symbols.ara_device_configure_scope(p(e.length?e:new Uint8Array(1)),BigInt(e.length));if(r!==0)throw new a("native_boundary_unavailable",r);return this.library.symbols}publicKey(e){let r=new Uint8Array(_e),o=new BigUint64Array(1),l=e==="load"?this.symbols().ara_device_key_load_public(p(r),BigInt(r.byteLength),p(o)):this.symbols().ara_device_key_create_fresh_public(p(r),BigInt(r.byteLength),p(o));if(l!==0)throw new a(e==="load"?"proof_key_read_failed":"proof_key_generation_failed",l);let d=Number(o[0]);if(!Number.isSafeInteger(d)||d!==65)throw new a("invalid_public_key");let u=U(r.subarray(0,d));if(!Ht(u))throw new a("invalid_public_key");return u}loadPublicKey(){return this.publicKey("load")}createFreshPublicKey(){return this.publicKey("create_fresh")}sign(e){if(e.byteLength<1||e.byteLength>j)throw new a("proof_sign_failed");let r=new Uint8Array(be),o=new BigUint64Array(1),l=this.symbols().ara_device_key_sign(p(e),BigInt(e.byteLength),p(r),BigInt(r.byteLength),p(o));if(l!==0)throw new a("proof_sign_failed",l);let d=Number(o[0]);if(!Number.isSafeInteger(d)||d<1||d>r.byteLength)throw new a("invalid_signature");let u=r.subarray(0,d);if(!Si(u))throw new a("invalid_signature");return U(u)}privateKeyIsNonExtractable(){let e=new Uint8Array(1),r=this.symbols().ara_device_key_is_non_extractable(p(e));if(r!==0||e[0]!==1)throw new a("proof_key_read_failed",r);return!0}deleteKey(){let e=new Uint8Array(1),r=this.symbols().ara_device_key_delete(p(e));if(r!==0)throw new a("proof_key_delete_failed",r);return e[0]===1}loadBinding(){let e=new Uint8Array(_),r=new BigUint64Array(1),o=this.symbols().ara_device_binding_read(p(e),BigInt(e.byteLength),p(r));if(o===1)return null;if(o!==0)throw new a("binding_read_failed",o);let l=Number(r[0]);if(!Number.isSafeInteger(l)||l<1||l>e.byteLength)throw new a("invalid_binding");return e.slice(0,l)}createBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");let r=this.symbols().ara_device_binding_create(p(e),BigInt(e.byteLength));if(r!==0)throw new a("binding_create_failed",r)}updateBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");let r=this.symbols().ara_device_binding_update(p(e),BigInt(e.byteLength));if(r!==0)throw new a("binding_update_failed",r)}deleteBinding(){let e=new Uint8Array(1),r=this.symbols().ara_device_binding_delete(p(e));if(r!==0)throw new a("binding_delete_failed",r);return e[0]===1}loadLegacyCredential(){let e=new Uint8Array(ve),r=new BigUint64Array(1),o=this.symbols().ara_device_keychain_read(p(e),BigInt(e.byteLength),p(r));if(o===1)return null;if(o!==0)throw new a("legacy_credential_read_failed",o);let l=Number(r[0]);if(!Number.isSafeInteger(l)||l<1||l>e.byteLength)throw new a("invalid_credential_record");try{let d=new TextDecoder("utf-8",{fatal:!0}).decode(e.subarray(0,l));return he(JSON.parse(d))}catch(d){if(d instanceof a)throw d;throw new a("invalid_credential_record")}}deleteLegacyCredential(){let e=new Uint8Array(1),r=this.symbols().ara_device_keychain_delete(p(e));if(r!==0)throw new a("legacy_credential_delete_failed",r);return e[0]===1}}function F(e){let r=e.export({format:"jwk"});if(r.crv!=="P-256"||typeof r.x!=="string"||typeof r.y!=="string")throw new a("invalid_public_key");let o=Buffer.from(r.x,"base64url"),l=Buffer.from(r.y,"base64url");if(o.byteLength!==32||l.byteLength!==32)throw new a("invalid_public_key");let d=Buffer.concat([Buffer.of(4),o,l]).toString("base64url");if(!Ht(d))throw new a("invalid_public_key");return d}function ke(){let e=process.env.XDG_CONFIG_HOME?.trim()||v(fe(),".config");De(e);let r=v(e,"ara");return Bi(r)?r:v(e,"reason")}class mn{directory;constructor(e=ke()){this.directory=e}keyPath(){return v(this.directory,"local-device.key")}bindingPath(){return v(this.directory,"local-device.binding")}loadPrivateKeyObject(){let e=this.keyPath();if(!y(e))throw new a("proof_key_read_failed");try{let r=C(e,"utf8");return ce({key:r,format:"pem"})}catch{throw new a("proof_key_read_failed")}}loadPublicKey(){let e=this.loadPrivateKeyObject(),r=le(e);return F(r)}createFreshPublicKey(){I(this.directory,{recursive:!0,mode:448});let{privateKey:e,publicKey:r}=de("ec",{namedCurve:"P-256"}),o=e.export({type:"pkcs8",format:"pem"}),l=this.keyPath();return D(l,o,{mode:384}),S(l,384),F(r)}sign(e){if(e.byteLength<1||e.byteLength>j)throw new a("proof_sign_failed");let r=this.loadPrivateKeyObject(),o;try{o=pe("sha256",e,r)}catch{throw new a("proof_sign_failed")}if(!Si(o))throw new a("invalid_signature");return o.toString("base64url")}privateKeyIsNonExtractable(){return!1}deleteKey(){let e=this.keyPath();if(!y(e))return!1;return k(e),!0}loadBinding(){let e=this.bindingPath();if(!y(e))return null;try{return new Uint8Array(C(e))}catch{return null}}createBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");I(this.directory,{recursive:!0,mode:448});let r=this.bindingPath();if(y(r))throw new a("binding_create_failed");D(r,e,{mode:384}),S(r,384)}updateBinding(e){if(e.byteLength<1||e.byteLength>_)throw new a("invalid_binding");I(this.directory,{recursive:!0,mode:448});let r=this.bindingPath();if(!y(r))throw new a("binding_update_failed");let o=`${r}.${ue()}`;try{D(o,e,{mode:384,flag:"wx"}),S(o,384),se(o,r)}finally{if(y(o))k(o)}}deleteBinding(){let e=this.bindingPath();if(!y(e))return!1;return k(e),!0}loadLegacyCredential(){return null}deleteLegacyCredential(){return!1}}function A(){return M()==="darwin"?new mt:new mn}var b=t().min(1).max(160).regex(/^[A-Za-z0-9._:-]+$/),z=n({id:b,kind:i("permission_denied"),operation:c(["bash","read","write","edit"]),provenance:c(["sandbox_policy","os_permission_unknown"]),occurredAt:t().datetime(),expiresAt:t().datetime(),sessionId:b,deviceId:b,organizationId:b}).strict();var x=4;var m="macos-keychain-p256-v1",Y=1,Fe=`ARA-DEVICE-BINDING-V1
3
+ `;function Me(e){return e===void 0||typeof e==="number"&&Number.isInteger(e)&&e>=1&&e<=4}function fr(e,r=Date.now()){let o=z.safeParse(e);if(!o.success)return!1;let l=o.data,d=typeof l.occurredAt==="string"?Date.parse(l.occurredAt):NaN,u=typeof l.expiresAt==="string"?Date.parse(l.expiresAt):NaN;return l.kind==="permission_denied"&&["bash","read","write","edit"].includes(l.operation)&&["sandbox_policy","os_permission_unknown"].includes(l.provenance)&&Number.isFinite(d)&&d<=r&&u>r&&u>d&&u-d<=600000}function gn(e,r,o=Date.now()){if(!e||!r||e.state!=="connected"||e.deviceId!==r.deviceId)return null;let l=Date.parse(e.lastHeartbeatAt??""),d=e.permissionRecovery;if(!(o-l>=0&&o-l<30000)||!fr(d,o)||d.deviceId!==r.deviceId||d.organizationId!==r.orgId)return null;try{process.kill(e.pid,0)}catch{return null}return d}function X(e={},r=s()){let o=w({env:{...process.env,...e}}),l=e.XDG_CONFIG_HOME?.trim()||h(r,".config");return wt(l,...o==="staging"?["staging"]:[])}function gt(e={},r=s()){return h(X(e,r),"local-device.json")}function mr(e={},r=s()){return h(X(e,r),"local-daemon.json")}function N(e,r){Ee(R(e),{recursive:!0,mode:448}),P(R(e),448);let o=`${e}.${process.pid}.${G()}.tmp`;try{Ce(o,`${JSON.stringify(r,null,2)}
4
+ `,{mode:384,flag:"wx"}),P(o,384),Ne(o,e),P(e,384)}finally{if(H(o))Ke(o)}return e}function O(e){if(!H(e))return null;try{return JSON.parse(Re(e,"utf8"))}catch{return null}}function E(e,r,o){try{e.onCredentialLifecycle?.({event:r,...o?{reasonCode:o}:{}})}catch{}}function je(e){if(!Array.isArray(e))return null;let r=[];for(let o of e){if(!o||typeof o!=="object")return null;let l=o;if(typeof l.id!=="string"||typeof l.label!=="string"||typeof l.path!=="string"||typeof l.pathFingerprint!=="string"||!l.permissions||typeof l.permissions.read!=="boolean"||typeof l.permissions.write!=="boolean"||typeof l.permissions.execute!=="boolean"||typeof l.permissions.discover_environment!=="boolean"||typeof l.permissions.expose_mcp!=="boolean")return null;r.push({id:l.id,label:l.label,path:l.path,pathFingerprint:l.pathFingerprint,permissions:l.permissions})}return r}function W(e,r,o=[]){let l=Object.keys(e);return r.every((d)=>Object.hasOwn(e,d))&&l.every((d)=>r.includes(d)||o.includes(d))}function Ve(e){if(typeof e!=="string")return null;try{let r=new URL(e);if(r.protocol!=="https:"&&r.hostname!=="127.0.0.1"&&r.hostname!=="localhost")return null;return r.origin}catch{return null}}function Z(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let r=e,o=je(r.roots),l=Ve(r.apiOrigin);if(!l||typeof r.orgId!=="string"||typeof r.deviceId!=="string"||typeof r.displayName!=="string"||typeof r.registeredAt!=="string"||!Me(r.handsSlots)||r.worker!==void 0&&(!r.worker||!/^[a-f0-9]{64}$/.test(r.worker.configDigest)||!["persistent","ephemeral"].includes(r.worker.lifetime)||!Number.isFinite(Date.parse(r.worker.expiresAt)))||!o)return null;return{apiOrigin:l,orgId:r.orgId,deviceId:r.deviceId,displayName:r.displayName,registeredAt:r.registeredAt,...r.handsSlots!==void 0?{handsSlots:r.handsSlots}:{},...r.worker!==void 0?{worker:r.worker}:{},roots:o}}function Be(e){return{...e,credentialStorage:m}}function $e(e){return{version:x,apiOrigin:e.apiOrigin,orgId:e.orgId,deviceId:e.deviceId,devicePublicKey:e.devicePublicKey,displayName:e.displayName,registeredAt:e.registeredAt,...e.handsSlots!==void 0?{handsSlots:e.handsSlots}:{},...e.worker!==void 0?{worker:e.worker}:{},roots:e.roots.map((r)=>({id:r.id,label:r.label,path:r.path,pathFingerprint:r.pathFingerprint,permissions:{read:r.permissions.read,write:r.permissions.write,execute:r.permissions.execute,discover_environment:r.permissions.discover_environment,expose_mcp:r.permissions.expose_mcp}})),credentialStorage:m}}function q(e){if(!e||typeof e!=="object"||Array.isArray(e))return null;let r=e;if(!W(r,["version","apiOrigin","orgId","deviceId","devicePublicKey","displayName","registeredAt","roots","credentialStorage"],["handsSlots","worker"]))return null;let o=Z(r);if(!o||r.version!==x||r.credentialStorage!==m||!Ht(r.devicePublicKey))return null;return{version:x,...o,devicePublicKey:r.devicePublicKey,credentialStorage:m}}function Q(e){return new TextEncoder().encode(`${Fe}${JSON.stringify($e(e))}`)}function ze(e){let r=Buffer.from(e,"base64url");return we({format:"jwk",key:{kty:"EC",crv:"P-256",x:r.subarray(1,33).toString("base64url"),y:r.subarray(33,65).toString("base64url")}})}function Ge(e,r){let o={version:Y,state:e,signature:r.sign(Q(e))};return new TextEncoder().encode(JSON.stringify(o))}function ee(e){let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(e))}catch{throw new a("invalid_binding")}if(!r||typeof r!=="object"||Array.isArray(r))throw new a("invalid_binding");let o=r;if(!W(o,["version","state","signature"])||o.version!==Y||typeof o.signature!=="string"||!/^[A-Za-z0-9_-]{10,128}$/.test(o.signature))throw new a("invalid_binding");let l=q(o.state);if(!l)throw new a("invalid_binding");let d=!1;try{d=Pe("sha256",Q(l),ze(l.devicePublicKey),Buffer.from(o.signature,"base64url"))}catch{d=!1}if(!d)throw new a("invalid_binding");return l}function He(e){let{credentialStorage:r,...o}=e;return o}function Je(e){return e instanceof a?V(e):"credential_boundary_failed"}function Ut(e=gt(),r={}){let o=O(e),l=r.proofStore??r.credentialStore??A(),d=l.loadBinding();if(!d){if(o&&typeof o==="object"&&!Array.isArray(o)&&Ye(o))return null;if(o!==null)throw new a("invalid_binding");return null}let u=ee(d),g=l.loadPublicKey();if(l.privateKeyIsNonExtractable(),g!==u.devicePublicKey)throw new a("invalid_public_key");let f=q(o);if(r.repair!==!1&&(!f||JSON.stringify(f)!==JSON.stringify(u)))N(e,u);return He(u)}function Ye(e){let r=e,o=Z(e);if(!o)return null;if(r.version===2){if(typeof r.deviceCredential!=="string"||!/^(?:reason|ara)_dev_/.test(r.deviceCredential)||r.deviceCredential.length>4096)return null;return{state:o,credentialSource:"plaintext-v2"}}if(r.version!==3||r.credentialStorage!=="macos-keychain-v1"||"deviceCredential"in r)return null;return{state:o,credentialSource:"keychain-v3"}}function ae(e,r=gt(),o={}){let l=o.proofStore??o.credentialStore??A();E(o,"credential.store_started");try{if(!Ht(e.devicePublicKey)||l.loadPublicKey()!==e.devicePublicKey)throw new a("invalid_public_key");l.privateKeyIsNonExtractable();let d=Be(e),u=l.loadBinding();if(u){let f=ee(u);if(f.devicePublicKey!==e.devicePublicKey||f.orgId!==e.orgId||f.deviceId!==e.deviceId||f.apiOrigin!==e.apiOrigin&&!An(f.apiOrigin,e.apiOrigin))throw new a("invalid_binding")}let g=Ge(d,l);if(u)l.updateBinding(g);else l.createBinding(g);return N(r,d),E(o,"credential.store_completed"),r}catch(d){throw E(o,"credential.store_failed",Je(d)),d}}function rt(e=mr()){let r=O(e);if(!r||typeof r!=="object")return null;let o=r;if(o.version!==1||typeof o.pid!=="number"||!Number.isInteger(o.pid)||!["starting","connected","stopped","error"].includes(o.state??"")||typeof o.startedAt!=="string"||o.lastHeartbeatAt!==void 0&&typeof o.lastHeartbeatAt!=="string"||o.lastUsedAt!==void 0&&typeof o.lastUsedAt!=="string"||o.organizationId!==void 0&&typeof o.organizationId!=="string"||o.organizationName!==void 0&&typeof o.organizationName!=="string"||o.organizationSlug!==void 0&&typeof o.organizationSlug!=="string"||o.error!==void 0&&typeof o.error!=="string"||o.reconnectingSince!==void 0&&typeof o.reconnectingSince!=="string"||o.workspace!==void 0&&typeof o.workspace!=="string")return null;if(o.permissionRecovery!==void 0&&!fr(o.permissionRecovery))delete o.permissionRecovery;return o}function Ei(e,r=mr()){return N(r,e)}var gr=1;function Xe(e=gt()){return h(R(e),"local-device.proxy.json")}function Se(e=Xe()){let r=O(e);if(!r||typeof r!=="object"||Array.isArray(r))return null;let o=r;if(o.version!==gr||typeof o.url!=="string"||o.url.length===0||o.caFile!==void 0&&(typeof o.caFile!=="string"||!J(o.caFile)))return null;return{version:gr,url:o.url,...o.caFile?{caFile:o.caFile}:{}}}function zt(e,r={read:!0,write:!1,execute:!1,discover_environment:!1,expose_mcp:!1},o=Ae(32)){let l=new Set,d=[];for(let u of e){let g=xe(J(u)?u:Ue(u));if(!Oe(g).isDirectory())throw Error(`Local execution root is not a directory: ${u}`);if(l.has(g))continue;l.add(g),d.push({id:G(),label:Te(g)||g,path:g,pathFingerprint:Le("sha256",o).update(g).digest("hex"),permissions:{...r}})}if(d.length===0)throw Error("At least one explicit local execution root is required.");return d}
5
+ export{a,fn,Ht,Si,mt,mn,fr,gn,gt,mr,Ut,ae,rt,Ei,gr,Se,zt};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{t,o,n,we,$e,c,i}from"./vm-hands-entry-lite-zpvr7wc6.js";var rr="inference.custom.v1",Br=32768,Hn=67108864,Gi=16384,Fr=4194304,h=204800,jr=2*Fr+65536,da=600000,E=["content-type","anthropic-version","user-agent"],m=c(["openai-completions","openai-responses","anthropic-messages"]),f=new Set(E),C=$e(t(),t().max(2048)).refine((e)=>Object.keys(e).every((s)=>f.has(s))&&Object.values(e).every((s)=>!/[\r\n\0]/.test(s)),"Only non-secret custom endpoint request headers are permitted");function u(e){try{let s=new URL(e);return["http:","https:"].includes(s.protocol)&&!s.username&&!s.password&&!s.search&&!s.hash?s:null}catch{return null}}function Ki(e,s){let r=u(e.baseUrl),d=u(s.baseUrl),a=u(e.url);if(!r||!d||!a||e.method!=="POST"||s.execution!=="device")return!1;let l=(p)=>p.origin+p.pathname.replace(/\/+$/,"");if(l(r)!==l(d)||a.origin!==r.origin)return!1;let _=s.api==="openai-completions"?"/chat/completions":s.api==="openai-responses"?"/responses":"/v1/messages";return a.pathname===r.pathname.replace(/\/+$/,"")+_}var pa=n({baseUrl:t().max(2048),url:t().max(4096),method:i("POST"),body:t().refine((e)=>new TextEncoder().encode(e).byteLength<=Fr).optional(),headers:C,credentialOrganizationId:t().uuid(),accountKey:t().min(1).max(256).optional()}).strict().refine((e)=>m.options.some((s)=>Ki(e,{baseUrl:e.baseUrl,api:s,execution:"device"})),"Invalid custom endpoint inference URL"),D=n({status:o().int().min(200).max(599),statusText:t().max(256).refine((e)=>!/[\r\n\0]/.test(e)),headers:$e(t(),t().max(4096)).refine((e)=>Object.keys(e).every((s)=>["content-type","retry-after","x-request-id","request-id"].includes(s))&&Object.values(e).every((s)=>!/[\r\n\0]/.test(s)))}).strict(),y=we([n({eof:i(!0)}).strict(),n({eof:i(!1),data:t().max(Math.ceil(Br/3)*4).regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/).refine((e)=>e.length>0&&e.length*3/4-(e.endsWith("==")?2:e.endsWith("=")?1:0)<=Br)}).strict()]),x=n({bytes:o().int().min(0).max(Hn),chunks:o().int().min(0).max(Gi)}).strict(),ha=n({apiKey:t().min(1).max(16384).refine((e)=>!/[\r\n\0]/.test(e)),api:m}).strict(),S=["custom_endpoint_host_not_found","custom_endpoint_connection_failed","custom_endpoint_tls_failed","custom_endpoint_request_too_large","custom_endpoint_device_update_required"];function Hr(e){return typeof e==="string"&&S.includes(e)}var O="Ollama listens only on 127.0.0.1 unless it is started with OLLAMA_HOST=0.0.0.0.",T={custom_endpoint_host_not_found:"Your computer couldn't resolve your model server's hostname. Check the hostname in the Base URL, and that this computer is on the network or tailnet that resolves it.",custom_endpoint_connection_failed:`Your computer's connection to your model server was refused or timed out. Check that the server is running and listening on the Base URL's address and port. ${O}`,custom_endpoint_tls_failed:"Your computer couldn't make a secure (TLS) connection to your model server. Check the server's https certificate, or use an http:// Base URL for a server on your computer or private network.",custom_endpoint_request_too_large:`This conversation is too long for your computer to send to your model server: the request is over ${Fr/1024/1024} MB, the most it relays. Start a new session to continue, or choose another model.`,custom_endpoint_device_update_required:`Reason on your computer is too old to send this conversation to your model server: it relays requests of at most ${h/1024} KB. Update Reason on that computer (reason update), then send your message again.`,401:"Your model server refused the request (HTTP 401). Check the API key saved for it in Models.",403:"Your model server refused the request (HTTP 403). Ollama refuses requests addressed to a hostname other than localhost, such as a *.ts.net name from tailscale serve or funnel: restart it with OLLAMA_HOST=0.0.0.0, or use http://localhost:11434/v1 when it runs on the session's computer. For another server, check the API key and its access rules.",404:"Your model server answered HTTP 404 (not found). Check that the Base URL is the API root (for Ollama, http://localhost:11434/v1) and that each model ID is one the server lists."};var I=new Set(Object.values(T));export{rr,Br,Hn,Gi,Fr,jr,da,Ki,pa,ha,Hr};
2
+ import{t,o,n,we,$e,c,i}from"./vm-hands-entry-lite-bt6skt4h.js";var rr="inference.custom.v1",Br=32768,Un=67108864,Ki=16384,Fr=4194304,h=204800,jr=2*Fr+65536,pa=600000,E=["content-type","anthropic-version","user-agent"],m=c(["openai-completions","openai-responses","anthropic-messages"]),f=new Set(E),C=$e(t(),t().max(2048)).refine((e)=>Object.keys(e).every((s)=>f.has(s))&&Object.values(e).every((s)=>!/[\r\n\0]/.test(s)),"Only non-secret custom endpoint request headers are permitted");function u(e){try{let s=new URL(e);return["http:","https:"].includes(s.protocol)&&!s.username&&!s.password&&!s.search&&!s.hash?s:null}catch{return null}}function Ji(e,s){let r=u(e.baseUrl),d=u(s.baseUrl),a=u(e.url);if(!r||!d||!a||e.method!=="POST"||s.execution!=="device")return!1;let l=(p)=>p.origin+p.pathname.replace(/\/+$/,"");if(l(r)!==l(d)||a.origin!==r.origin)return!1;let _=s.api==="openai-completions"?"/chat/completions":s.api==="openai-responses"?"/responses":"/v1/messages";return a.pathname===r.pathname.replace(/\/+$/,"")+_}var ha=n({baseUrl:t().max(2048),url:t().max(4096),method:i("POST"),body:t().refine((e)=>new TextEncoder().encode(e).byteLength<=Fr).optional(),headers:C,credentialOrganizationId:t().uuid(),accountKey:t().min(1).max(256).optional()}).strict().refine((e)=>m.options.some((s)=>Ji(e,{baseUrl:e.baseUrl,api:s,execution:"device"})),"Invalid custom endpoint inference URL"),D=n({status:o().int().min(200).max(599),statusText:t().max(256).refine((e)=>!/[\r\n\0]/.test(e)),headers:$e(t(),t().max(4096)).refine((e)=>Object.keys(e).every((s)=>["content-type","retry-after","x-request-id","request-id"].includes(s))&&Object.values(e).every((s)=>!/[\r\n\0]/.test(s)))}).strict(),y=we([n({eof:i(!0)}).strict(),n({eof:i(!1),data:t().max(Math.ceil(Br/3)*4).regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/).refine((e)=>e.length>0&&e.length*3/4-(e.endsWith("==")?2:e.endsWith("=")?1:0)<=Br)}).strict()]),x=n({bytes:o().int().min(0).max(Un),chunks:o().int().min(0).max(Ki)}).strict(),fa=n({apiKey:t().min(1).max(16384).refine((e)=>!/[\r\n\0]/.test(e)),api:m}).strict(),S=["custom_endpoint_host_not_found","custom_endpoint_connection_failed","custom_endpoint_tls_failed","custom_endpoint_request_too_large","custom_endpoint_device_update_required"];function Hr(e){return typeof e==="string"&&S.includes(e)}var O="Ollama listens only on 127.0.0.1 unless it is started with OLLAMA_HOST=0.0.0.0.",T={custom_endpoint_host_not_found:"Your computer couldn't resolve your model server's hostname. Check the hostname in the Base URL, and that this computer is on the network or tailnet that resolves it.",custom_endpoint_connection_failed:`Your computer's connection to your model server was refused or timed out. Check that the server is running and listening on the Base URL's address and port. ${O}`,custom_endpoint_tls_failed:"Your computer couldn't make a secure (TLS) connection to your model server. Check the server's https certificate, or use an http:// Base URL for a server on your computer or private network.",custom_endpoint_request_too_large:`This conversation is too long for your computer to send to your model server: the request is over ${Fr/1024/1024} MB, the most it relays. Start a new session to continue, or choose another model.`,custom_endpoint_device_update_required:`Reason on your computer is too old to send this conversation to your model server: it relays requests of at most ${h/1024} KB. Update Reason on that computer (reason update), then send your message again.`,401:"Your model server refused the request (HTTP 401). Check the API key saved for it in Models.",403:"Your model server refused the request (HTTP 403). Ollama refuses requests addressed to a hostname other than localhost, such as a *.ts.net name from tailscale serve or funnel: restart it with OLLAMA_HOST=0.0.0.0, or use http://localhost:11434/v1 when it runs on the session's computer. For another server, check the API key and its access rules.",404:"Your model server answered HTTP 404 (not found). Check that the Base URL is the API root (for Ollama, http://localhost:11434/v1) and that each model ID is one the server lists."};var I=new Set(Object.values(T));export{rr,Br,Un,Ki,Fr,jr,pa,Ji,ha,fa,Hr};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- var l=Object.create;var{getPrototypeOf:m,defineProperty:h,getOwnPropertyNames:n}=Object;var k=Object.prototype.hasOwnProperty;function o(a){return this[a]}var p,q,_a=(a,b,c)=>{var d=a!=null&&typeof a==="object";if(d){var i=b?p??=new WeakMap:q??=new WeakMap,j=i.get(a);if(j)return j}c=a!=null?l(m(a)):{};let f=b||!a||!a.__esModule||!k.call(a,"default")?h(c,"default",{value:a,enumerable:!0}):c;if(a&&typeof a==="object"||typeof a==="function"){for(let g of n(a))if(!k.call(f,g))h(f,g,{get:o.bind(a,g),enumerable:!0})}if(d)i.set(a,f);return f};var lt=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var r=(a)=>a;function s(a,b){this[a]=r.bind(null,b)}var dl=(a,b)=>{for(var c in b)h(a,c,{get:b[c],enumerable:!0,configurable:!0,set:s.bind(b,c)})};var pl=(a,b,c)=>()=>{if(a)try{b=a(a=0)}catch(d){c=[d]}if(c)throw c[0];return b};var e=import.meta.require;
3
- export{_a,lt,dl,pl,e};
2
+ var l=Object.create;var{getPrototypeOf:m,defineProperty:h,getOwnPropertyNames:n}=Object;var k=Object.prototype.hasOwnProperty;function o(a){return this[a]}var p,q,ya=(a,b,c)=>{var d=a!=null&&typeof a==="object";if(d){var i=b?p??=new WeakMap:q??=new WeakMap,j=i.get(a);if(j)return j}c=a!=null?l(m(a)):{};let f=b||!a||!a.__esModule||!k.call(a,"default")?h(c,"default",{value:a,enumerable:!0}):c;if(a&&typeof a==="object"||typeof a==="function"){for(let g of n(a))if(!k.call(f,g))h(f,g,{get:o.bind(a,g),enumerable:!0})}if(d)i.set(a,f);return f};var lt=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var r=(a)=>a;function s(a,b){this[a]=r.bind(null,b)}var dl=(a,b)=>{for(var c in b)h(a,c,{get:b[c],enumerable:!0,configurable:!0,set:s.bind(b,c)})};var pl=(a,b,c)=>()=>{if(a)try{b=a(a=0)}catch(d){c=[d]}if(c)throw c[0];return b};var e=import.meta.require;
3
+ export{ya,lt,dl,pl,e};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{G}from"./vm-hands-entry-lite-pg7nnyc6.js";import{randomUUID as k}from"crypto";import{closeSync as E,constants as c,fstatSync as S,lstatSync as f,mkdirSync as s,openSync as g,readFileSync as p,realpathSync as l,renameSync as v,unlinkSync as O,writeFileSync as F}from"fs";import{dirname as a,resolve as w}from"path";var _=65536;function u(r){try{return f(r),!0}catch(o){if(o instanceof Error&&"code"in o&&o.code==="ENOENT")return!1;throw o}}function b(r,o=!1){if(!u(r)){if(!o)throw Error("worker_state_missing");d(r),s(r,{mode:448})}let e=f(r);if(!e.isDirectory()||e.isSymbolicLink()||!G(e)||l(r)!==w(r))throw Error("worker_state_directory_not_private_or_canonical")}function d(r){let o=a(r);if(!u(o))d(o),s(o,{mode:448});if(l(o)!==w(o))throw Error("worker_parent_not_canonical")}function m(r,o=_){let e=g(r,c.O_RDONLY|c.O_NOFOLLOW);try{let n=S(e);if(!n.isFile()||n.nlink!==1||!G(n)||n.size>o)throw Error("worker_file_not_private");return p(e,"utf8")}finally{E(e)}}function y(r,o,e=_){let n=JSON.stringify(o);if(n===void 0)throw Error("worker_file_invalid");let t=n+`
2
+ import{G}from"./vm-hands-entry-lite-04nx5y4f.js";import{randomUUID as k}from"crypto";import{closeSync as E,constants as c,fstatSync as S,lstatSync as f,mkdirSync as s,openSync as g,readFileSync as p,realpathSync as l,renameSync as v,unlinkSync as O,writeFileSync as F}from"fs";import{dirname as a,resolve as w}from"path";var _=65536;function u(r){try{return f(r),!0}catch(o){if(o instanceof Error&&"code"in o&&o.code==="ENOENT")return!1;throw o}}function b(r,o=!1){if(!u(r)){if(!o)throw Error("worker_state_missing");d(r),s(r,{mode:448})}let e=f(r);if(!e.isDirectory()||e.isSymbolicLink()||!G(e)||l(r)!==w(r))throw Error("worker_state_directory_not_private_or_canonical")}function d(r){let o=a(r);if(!u(o))d(o),s(o,{mode:448});if(l(o)!==w(o))throw Error("worker_parent_not_canonical")}function m(r,o=_){let e=g(r,c.O_RDONLY|c.O_NOFOLLOW);try{let n=S(e);if(!n.isFile()||n.nlink!==1||!G(n)||n.size>o)throw Error("worker_file_not_private");return p(e,"utf8")}finally{E(e)}}function y(r,o,e=_){let n=JSON.stringify(o);if(n===void 0)throw Error("worker_file_invalid");let t=n+`
3
3
  `;if(Buffer.byteLength(t,"utf8")>e)throw Error("worker_file_too_large");if(b(a(r)),u(r))m(r,e);let i=`${r}.${k()}`;try{F(i,t,{mode:384,flag:"wx"}),v(i,r)}finally{if(u(i))O(i)}}
4
4
  export{u,b,m,y};