@caspian2026/agent-sdk 0.0.9 → 0.0.11

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 (216) hide show
  1. package/dist/{chunk-jgvmjwnx.js → chunk-0ac6r0fw.js} +14 -14
  2. package/dist/{chunk-9957ffjc.js → chunk-0dm971mw.js} +2 -2
  3. package/dist/{chunk-0txtpamh.js → chunk-0f5anjkb.js} +6 -6
  4. package/dist/{chunk-c5zkrd7r.js → chunk-0k9sft0s.js} +15 -15
  5. package/dist/{chunk-04h360ha.js → chunk-0kgwksm1.js} +5 -5
  6. package/dist/{chunk-hg6fwhj1.js → chunk-1etzkkxs.js} +1 -1
  7. package/dist/{chunk-4myad919.js → chunk-1gz2wrhq.js} +14 -14
  8. package/dist/{chunk-ty1cyqr7.js → chunk-1pr4hr5x.js} +17 -17
  9. package/dist/{chunk-44t1xk05.js → chunk-1vhjn1j9.js} +14 -14
  10. package/dist/{chunk-1hqb50ne.js → chunk-1wr6ag3j.js} +2 -2
  11. package/dist/{chunk-vbtm9g57.js → chunk-24t2wjab.js} +1 -1
  12. package/dist/{chunk-vk3nb2xe.js → chunk-2589k4k0.js} +15 -15
  13. package/dist/{chunk-hqjdgc6c.js → chunk-28k13wc7.js} +2 -2
  14. package/dist/{chunk-hparkfvt.js → chunk-2cr43hzw.js} +22 -22
  15. package/dist/{chunk-2nrarbza.js → chunk-2sqhjnpn.js} +14 -14
  16. package/dist/{chunk-9z9teq7p.js → chunk-2tfe2zs1.js} +15 -15
  17. package/dist/{chunk-5tw3gj5z.js → chunk-2z9rak9s.js} +14 -14
  18. package/dist/{chunk-1gaw18rz.js → chunk-31bwdrm5.js} +15 -15
  19. package/dist/{chunk-x3jthbjq.js → chunk-38rkx4cj.js} +15 -15
  20. package/dist/{chunk-jjz3hs34.js → chunk-394djs3v.js} +23 -23
  21. package/dist/{chunk-thmtkfgj.js → chunk-3we6j8b4.js} +3 -3
  22. package/dist/{chunk-22mfb6bp.js → chunk-400r5gmq.js} +4 -4
  23. package/dist/{chunk-kxrrtr3p.js → chunk-4057dtxd.js} +1 -1
  24. package/dist/{chunk-dt3epnwj.js → chunk-41en0cc6.js} +4 -4
  25. package/dist/{chunk-rx4mcfg1.js → chunk-488spx13.js} +23 -23
  26. package/dist/{chunk-ttyfhx12.js → chunk-49bs7x5p.js} +68 -35
  27. package/dist/{chunk-b547q41s.js → chunk-4d0g9n3q.js} +15 -15
  28. package/dist/{chunk-thenr6b3.js → chunk-4fh25m1z.js} +6 -6
  29. package/dist/{chunk-y5wfy524.js → chunk-4hgxxzdw.js} +17 -17
  30. package/dist/{chunk-sh2v9ywv.js → chunk-4pj88fnc.js} +2 -2
  31. package/dist/{chunk-t1pygy19.js → chunk-4re879ja.js} +15 -15
  32. package/dist/{chunk-vw5jzpcm.js → chunk-50art2hr.js} +3 -3
  33. package/dist/{chunk-frwznxnf.js → chunk-5pqq0nym.js} +1 -1
  34. package/dist/{chunk-b6prbsae.js → chunk-6696fngv.js} +1 -1
  35. package/dist/{chunk-b89ese8r.js → chunk-66dk94r4.js} +14 -14
  36. package/dist/{chunk-hzbr9543.js → chunk-67808qek.js} +3 -3
  37. package/dist/{chunk-xcrzgyce.js → chunk-69841w77.js} +14 -14
  38. package/dist/{chunk-ay5fvc2r.js → chunk-6ebvysef.js} +15 -15
  39. package/dist/{chunk-tpk67mjc.js → chunk-6zsxtysq.js} +2 -2
  40. package/dist/{chunk-54wn2jdr.js → chunk-75qqeec8.js} +2 -2
  41. package/dist/{chunk-ecvy1ng2.js → chunk-765zdaq8.js} +16 -16
  42. package/dist/{chunk-jwwpfq76.js → chunk-7ce8wn1f.js} +16 -16
  43. package/dist/{chunk-zcgprbyy.js → chunk-7p2vw8qe.js} +11 -11
  44. package/dist/{chunk-t1s91wrk.js → chunk-7t5ymv2m.js} +1 -1
  45. package/dist/{chunk-3pzwd6qq.js → chunk-7tphrzjj.js} +1 -1
  46. package/dist/{chunk-hgmhngje.js → chunk-8c907cv9.js} +1 -1
  47. package/dist/{chunk-d8z7pyrb.js → chunk-8dzg4nr5.js} +15 -15
  48. package/dist/{chunk-qkp4ygnk.js → chunk-8hn2xqjz.js} +2 -2
  49. package/dist/{chunk-1kmwf4vn.js → chunk-8kmna3cc.js} +3 -3
  50. package/dist/{chunk-p9ny0p2a.js → chunk-8r5eevap.js} +8 -8
  51. package/dist/{chunk-1vp22nex.js → chunk-8vkv63c5.js} +1 -1
  52. package/dist/{chunk-1486qzk5.js → chunk-8w21adpe.js} +3 -3
  53. package/dist/{chunk-vajsk9ya.js → chunk-8w8d1k7b.js} +3 -3
  54. package/dist/{chunk-r6nnp8mj.js → chunk-90bqyqfd.js} +14 -14
  55. package/dist/{chunk-3e4r5pmc.js → chunk-942yq6xx.js} +1 -1
  56. package/dist/{chunk-35z2vxep.js → chunk-99ck62v1.js} +17 -17
  57. package/dist/{chunk-9w114071.js → chunk-9g29z3dv.js} +1 -1
  58. package/dist/{chunk-hg45r671.js → chunk-9nj016rn.js} +1 -1
  59. package/dist/{chunk-6cfcqjty.js → chunk-9nk34wee.js} +17 -17
  60. package/dist/{chunk-xhn4ptjn.js → chunk-9z45660r.js} +19 -19
  61. package/dist/{chunk-njw0haha.js → chunk-a3gq2vv4.js} +4 -4
  62. package/dist/{chunk-tf859h88.js → chunk-akqsq8bn.js} +2 -2
  63. package/dist/{chunk-rmpaj37q.js → chunk-aqq5qh2y.js} +15 -15
  64. package/dist/{chunk-ghwvqhx9.js → chunk-awdftfcf.js} +15 -15
  65. package/dist/{chunk-2y8x7xt7.js → chunk-b3nkagky.js} +2 -2
  66. package/dist/{chunk-vtmxgm1m.js → chunk-b8f5dz5b.js} +2 -2
  67. package/dist/{chunk-rygxwjtc.js → chunk-bayvqjm6.js} +15 -15
  68. package/dist/{chunk-1hqvvvrt.js → chunk-bgyb0z0p.js} +23 -23
  69. package/dist/{chunk-t3gmfcy7.js → chunk-bhabqhx1.js} +14 -14
  70. package/dist/{chunk-c6hsz5ey.js → chunk-bj85dnsy.js} +3 -3
  71. package/dist/{chunk-g597bz1j.js → chunk-bp4s0gry.js} +15 -15
  72. package/dist/{chunk-x2bnzvd6.js → chunk-brng9f4q.js} +14 -14
  73. package/dist/{chunk-3fn3ysvs.js → chunk-bvdzmdw4.js} +15 -15
  74. package/dist/{chunk-w3782jck.js → chunk-ca72efeb.js} +15 -15
  75. package/dist/{chunk-67wms97m.js → chunk-cdact4jj.js} +2 -2
  76. package/dist/{chunk-zqbnw3n2.js → chunk-cfyvkbe5.js} +20 -20
  77. package/dist/{chunk-zyjkg76f.js → chunk-cjca0q27.js} +3 -3
  78. package/dist/{chunk-wtpgjmjd.js → chunk-cs9aqzag.js} +15 -15
  79. package/dist/{chunk-7hrmxpha.js → chunk-cttezxcb.js} +18 -8
  80. package/dist/{chunk-w6mcmmt5.js → chunk-d2g976qe.js} +3 -3
  81. package/dist/{chunk-zxywawr7.js → chunk-d7ws01qk.js} +1 -1
  82. package/dist/{chunk-f4tdn7yr.js → chunk-dsqfe05n.js} +14 -14
  83. package/dist/{chunk-dz6zxh89.js → chunk-e82vbky2.js} +14 -14
  84. package/dist/{chunk-jtgyzqbq.js → chunk-eba0b85f.js} +1 -1
  85. package/dist/{chunk-5zcygjb2.js → chunk-eqnfk1g0.js} +14 -14
  86. package/dist/{chunk-trvc6jh7.js → chunk-erj5nc8b.js} +17 -17
  87. package/dist/{chunk-xtdm6ejq.js → chunk-eseq7djh.js} +1 -1
  88. package/dist/{chunk-7skyagc2.js → chunk-esrkw9v4.js} +2 -2
  89. package/dist/{chunk-hae34yd0.js → chunk-ewbvcf88.js} +3 -3
  90. package/dist/{chunk-q8hxwh48.js → chunk-ewhxddsa.js} +1 -1
  91. package/dist/{chunk-1nvcmzj1.js → chunk-ey1pg5v8.js} +25 -25
  92. package/dist/{chunk-v5g8nf5h.js → chunk-f1v8h236.js} +4 -4
  93. package/dist/{chunk-dexkgxt4.js → chunk-f70fwxds.js} +2 -2
  94. package/dist/{chunk-j0gke393.js → chunk-f73trmvk.js} +14 -14
  95. package/dist/{chunk-y32em34x.js → chunk-fcww10dt.js} +4 -4
  96. package/dist/{chunk-h4xfadhf.js → chunk-fhprmgf4.js} +1 -1
  97. package/dist/{chunk-xw99fqv1.js → chunk-fnf4av18.js} +3 -3
  98. package/dist/{chunk-frm7mphm.js → chunk-fy543pwf.js} +2 -2
  99. package/dist/{chunk-wa0xgm6m.js → chunk-fybanr7d.js} +2 -2
  100. package/dist/{chunk-2vbash3m.js → chunk-g5epkvz2.js} +1 -1
  101. package/dist/{chunk-ratnrv9v.js → chunk-g8183rkv.js} +2 -2
  102. package/dist/{chunk-ecbh4n6q.js → chunk-gbztsm42.js} +14 -14
  103. package/dist/{chunk-szzff973.js → chunk-ge57c9hg.js} +3 -3
  104. package/dist/{chunk-93vwm44t.js → chunk-ggq2y3tn.js} +91 -91
  105. package/dist/{chunk-42a0nyrq.js → chunk-gpzkzg7v.js} +15 -15
  106. package/dist/{chunk-dngfdsm9.js → chunk-gw1a82j8.js} +66 -66
  107. package/dist/{chunk-tj7v47cp.js → chunk-gw1g065z.js} +1 -1
  108. package/dist/{chunk-gzj94jgg.js → chunk-h4dnamt5.js} +14 -14
  109. package/dist/{chunk-xvk90wpt.js → chunk-h5mkzk0z.js} +1 -1
  110. package/dist/{chunk-5m3m7hr5.js → chunk-h7dm24cc.js} +4 -4
  111. package/dist/{chunk-wkt2q02c.js → chunk-hadww3nd.js} +1 -1
  112. package/dist/{chunk-fesvrjhd.js → chunk-hapvn84d.js} +3 -3
  113. package/dist/{chunk-wm1zm5xj.js → chunk-hekf5s9q.js} +2 -2
  114. package/dist/{chunk-0gpem3pk.js → chunk-hkgb5y9f.js} +14 -14
  115. package/dist/{chunk-azv68vk1.js → chunk-hzceftr4.js} +1 -1
  116. package/dist/{chunk-9wf3fc4t.js → chunk-j2x6fp25.js} +2 -2
  117. package/dist/{chunk-ssb4wba6.js → chunk-j30g8fd1.js} +3 -3
  118. package/dist/{chunk-jxp2j9t5.js → chunk-j3awswy3.js} +14 -14
  119. package/dist/{chunk-bjdknxqn.js → chunk-j513wqe9.js} +14 -14
  120. package/dist/{chunk-wg47eg7y.js → chunk-jkens34n.js} +14 -14
  121. package/dist/{chunk-ef2m4xyz.js → chunk-jperb6n2.js} +14 -14
  122. package/dist/{chunk-etbb3dss.js → chunk-jqmr6ag1.js} +17 -17
  123. package/dist/{chunk-xs7zsmzk.js → chunk-jx6k8msx.js} +14 -14
  124. package/dist/{chunk-t9eeyrkn.js → chunk-jyz65rfv.js} +15 -15
  125. package/dist/{chunk-sjpqw47t.js → chunk-k5mckm5f.js} +1 -1
  126. package/dist/{chunk-bf03a1w7.js → chunk-k9z36r5q.js} +16 -16
  127. package/dist/{chunk-ec6ga5ey.js → chunk-kamesdff.js} +19 -19
  128. package/dist/{chunk-wgd4n1q7.js → chunk-kj4m0j4n.js} +1 -1
  129. package/dist/{chunk-rpsqtvkx.js → chunk-m25yfqc3.js} +14 -14
  130. package/dist/{chunk-7cdy4aj6.js → chunk-mgpj5f7h.js} +65 -65
  131. package/dist/{chunk-ayx9aq2k.js → chunk-mmn62bh2.js} +15 -15
  132. package/dist/{chunk-rz94yg8c.js → chunk-mq94v5vn.js} +1 -1
  133. package/dist/{chunk-mewywsar.js → chunk-msvv7dpt.js} +14 -14
  134. package/dist/{chunk-r3ehjkj5.js → chunk-mtv83pq4.js} +25 -25
  135. package/dist/{chunk-h61d4awv.js → chunk-n36xjgtj.js} +16 -16
  136. package/dist/{chunk-q4f1g9y6.js → chunk-n9d0gg9z.js} +9 -9
  137. package/dist/{chunk-ckh4f9ry.js → chunk-na63s9wn.js} +3 -3
  138. package/dist/{chunk-v6hbqcmr.js → chunk-nebntwvd.js} +11 -11
  139. package/dist/{chunk-dj7d67ya.js → chunk-nj02kck4.js} +1 -1
  140. package/dist/{chunk-pddf0719.js → chunk-nv7vcqme.js} +17 -17
  141. package/dist/{chunk-vmp5rk8q.js → chunk-pbeee2kp.js} +2 -2
  142. package/dist/{chunk-q14wrksq.js → chunk-pcbm66ch.js} +16 -16
  143. package/dist/{chunk-72qa16xm.js → chunk-pe3n0w2t.js} +16 -16
  144. package/dist/{chunk-f4v7t54y.js → chunk-peh3mj19.js} +1 -1
  145. package/dist/{chunk-65q3hqkw.js → chunk-pepgckn4.js} +3 -3
  146. package/dist/{chunk-cay13mxk.js → chunk-pm67yj46.js} +3 -3
  147. package/dist/{chunk-35nft36d.js → chunk-pp8nrx40.js} +83 -83
  148. package/dist/{chunk-rfbbcx5s.js → chunk-pq5290db.js} +14 -14
  149. package/dist/{chunk-gkn3jgqn.js → chunk-pzp8fj0a.js} +25 -25
  150. package/dist/{chunk-2m32xn94.js → chunk-q1j8ebyf.js} +3 -3
  151. package/dist/{chunk-jj4zs4gr.js → chunk-q2fn2p7y.js} +14 -14
  152. package/dist/{chunk-4vtvwg7e.js → chunk-q347821k.js} +22 -22
  153. package/dist/{chunk-be77bcs8.js → chunk-qb88vpgy.js} +14 -14
  154. package/dist/{chunk-grqkx44z.js → chunk-qehbwde1.js} +15 -15
  155. package/dist/{chunk-qqs58ywv.js → chunk-qmmxwh8x.js} +2 -2
  156. package/dist/{chunk-jksf0ax9.js → chunk-qxmm3jbn.js} +14 -14
  157. package/dist/{chunk-ey0n4emm.js → chunk-qywk2c7m.js} +14 -14
  158. package/dist/{chunk-1efrnkxx.js → chunk-r0dpeqg0.js} +6 -6
  159. package/dist/{chunk-xffb3dsw.js → chunk-r0m970pk.js} +1 -1
  160. package/dist/{chunk-v4wba09w.js → chunk-r5bf0h0t.js} +14 -14
  161. package/dist/{chunk-1yfc1d48.js → chunk-r7xpsch7.js} +14 -14
  162. package/dist/{chunk-vyz3v0qx.js → chunk-rkvwts6v.js} +2 -2
  163. package/dist/{chunk-w3gnkyfc.js → chunk-rm4c8zd9.js} +16 -16
  164. package/dist/{chunk-qctsv1d7.js → chunk-rm9gb396.js} +1 -1
  165. package/dist/{chunk-s19b0bc7.js → chunk-s213xmp8.js} +14 -14
  166. package/dist/{chunk-rnxpvm3m.js → chunk-s3s0611n.js} +1 -1
  167. package/dist/{chunk-qxjhw1dt.js → chunk-scrk9jbt.js} +9 -9
  168. package/dist/{chunk-vmbht6ec.js → chunk-tgmettzd.js} +3 -3
  169. package/dist/{chunk-9byfzaeq.js → chunk-tj6hejny.js} +14 -14
  170. package/dist/{chunk-djfq8ws0.js → chunk-tn0xnp8a.js} +25 -25
  171. package/dist/{chunk-k8jpbz31.js → chunk-tpn6rh31.js} +4 -4
  172. package/dist/{chunk-rhvn1rqs.js → chunk-tq4vws6e.js} +2 -2
  173. package/dist/{chunk-ecv9kbtk.js → chunk-tzzzbb9d.js} +3 -3
  174. package/dist/{chunk-jwpp2bq2.js → chunk-v6fcbmqz.js} +51 -51
  175. package/dist/{chunk-mmhkcj7c.js → chunk-vc59jf3q.js} +22 -22
  176. package/dist/{chunk-jqfrz5g9.js → chunk-vdk9b74d.js} +5 -5
  177. package/dist/{chunk-g78fetxa.js → chunk-vf9c1649.js} +14 -14
  178. package/dist/{chunk-1nhnn2rg.js → chunk-vgk0nymz.js} +2 -2
  179. package/dist/{chunk-e7ag583m.js → chunk-vgzpbh28.js} +15 -15
  180. package/dist/{chunk-txgbs4hp.js → chunk-vhxrn87v.js} +16 -16
  181. package/dist/{chunk-7cje7scj.js → chunk-vnzgpyrz.js} +1 -1
  182. package/dist/{chunk-v0tgjdx0.js → chunk-vqh6cjfx.js} +2 -2
  183. package/dist/{chunk-r5nd93kc.js → chunk-vz3pa5n6.js} +1 -1
  184. package/dist/{chunk-3npsy4c4.js → chunk-w1h5z2sy.js} +14 -14
  185. package/dist/{chunk-msxggy37.js → chunk-w2vvxj1f.js} +4 -4
  186. package/dist/{chunk-2yxqz99n.js → chunk-w5zezk61.js} +1 -1
  187. package/dist/{chunk-5mrc0ps5.js → chunk-wahqac7c.js} +8 -8
  188. package/dist/{chunk-84cdy41j.js → chunk-wc0np2zw.js} +3 -3
  189. package/dist/{chunk-xgbd6ec5.js → chunk-wcpmtszh.js} +15 -15
  190. package/dist/{chunk-ev7h351p.js → chunk-wdzjtdye.js} +2 -2
  191. package/dist/{chunk-6hs0cptm.js → chunk-wmbpjx7v.js} +20 -20
  192. package/dist/{chunk-m70n19dz.js → chunk-wrsy4y58.js} +16 -16
  193. package/dist/{chunk-hb1gr101.js → chunk-wskkym13.js} +2 -2
  194. package/dist/{chunk-r7684mmh.js → chunk-wt6v1zbe.js} +1 -1
  195. package/dist/{chunk-hrhp26d7.js → chunk-wyj3wpjv.js} +22 -22
  196. package/dist/{chunk-pfarypfq.js → chunk-xdg2rpj3.js} +16 -16
  197. package/dist/{chunk-grqhgr2b.js → chunk-xemw9d52.js} +3 -3
  198. package/dist/{chunk-04pw5akr.js → chunk-xmdny0m1.js} +5 -5
  199. package/dist/{chunk-8jy18nx9.js → chunk-xv5a2xbe.js} +1 -1
  200. package/dist/{chunk-p791ydbm.js → chunk-xx709m24.js} +1 -1
  201. package/dist/{chunk-cr1dv2js.js → chunk-y024419t.js} +14 -14
  202. package/dist/{chunk-wxkrq9eb.js → chunk-y1ps26mz.js} +14 -14
  203. package/dist/{chunk-0v89r445.js → chunk-y2r5e6kv.js} +2 -2
  204. package/dist/{chunk-rn1s097c.js → chunk-y41svpxw.js} +14 -14
  205. package/dist/{chunk-1hx5g6qy.js → chunk-ygwcq4vd.js} +3 -3
  206. package/dist/{chunk-ya9dxex0.js → chunk-ykv414dd.js} +16 -16
  207. package/dist/{chunk-h3vyya5n.js → chunk-ynkzfhs1.js} +8 -8
  208. package/dist/{chunk-rjq5nf1c.js → chunk-yrqx3p9k.js} +2 -2
  209. package/dist/{chunk-8ckwc9k8.js → chunk-ys17e80d.js} +14 -14
  210. package/dist/{chunk-c4d52460.js → chunk-zbb7qd0v.js} +2 -2
  211. package/dist/{chunk-ftsdm7y7.js → chunk-zjxv5g2n.js} +22 -22
  212. package/dist/{chunk-j99ms5ep.js → chunk-zmwgp2sh.js} +1 -1
  213. package/dist/cli.js +5 -5
  214. package/dist/gateway/index.js +131 -27
  215. package/dist/gateway/worker.js +558 -112
  216. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -33,7 +33,7 @@ async function main() {
33
33
  if (false) {}
34
34
  if (process.argv[2] === "--claude-in-chrome-mcp") {
35
35
  profileCheckpoint("cli_claude_in_chrome_mcp_path");
36
- const { runClaudeInChromeMcpServer } = await import("./chunk-ay5fvc2r.js");
36
+ const { runClaudeInChromeMcpServer } = await import("./chunk-6ebvysef.js");
37
37
  await runClaudeInChromeMcpServer();
38
38
  return;
39
39
  } else if (process.argv[2] === "--chrome-native-host") {
@@ -43,7 +43,7 @@ async function main() {
43
43
  return;
44
44
  } else if (process.argv[2] === "--computer-use-mcp") {
45
45
  profileCheckpoint("cli_computer_use_mcp_path");
46
- const { runComputerUseMcpServer } = await import("./chunk-jqfrz5g9.js");
46
+ const { runComputerUseMcpServer } = await import("./chunk-vdk9b74d.js");
47
47
  await runComputerUseMcpServer();
48
48
  return;
49
49
  }
@@ -62,11 +62,11 @@ async function main() {
62
62
  const hasTmuxFlag = args.includes("--tmux") || args.includes("--tmux=classic");
63
63
  if (hasTmuxFlag && (args.includes("-w") || args.includes("--worktree") || args.some((a) => a.startsWith("--worktree=")))) {
64
64
  profileCheckpoint("cli_tmux_worktree_fast_path");
65
- const { enableConfigs } = await import("./chunk-rjq5nf1c.js");
65
+ const { enableConfigs } = await import("./chunk-yrqx3p9k.js");
66
66
  enableConfigs();
67
67
  const { isWorktreeModeEnabled } = await import("./chunk-pwwa7s62.js");
68
68
  if (isWorktreeModeEnabled()) {
69
- const { execIntoTmuxWorktree } = await import("./chunk-0gpem3pk.js");
69
+ const { execIntoTmuxWorktree } = await import("./chunk-hkgb5y9f.js");
70
70
  const result = await execIntoTmuxWorktree(args);
71
71
  if (result.handled) {
72
72
  return;
@@ -83,7 +83,7 @@ async function main() {
83
83
  const { startCapturingEarlyInput } = await import("./chunk-etdt1xz3.js");
84
84
  startCapturingEarlyInput();
85
85
  profileCheckpoint("cli_before_main_import");
86
- const { main: cliMain } = await import("./chunk-35nft36d.js");
86
+ const { main: cliMain } = await import("./chunk-pp8nrx40.js");
87
87
  profileCheckpoint("cli_after_main_import");
88
88
  await cliMain();
89
89
  profileCheckpoint("cli_after_main_complete");
@@ -22,7 +22,6 @@ function parseJsonRpc(line) {
22
22
 
23
23
  // src/entrypoints/gateway/sessionRouter.ts
24
24
  import { Worker } from "node:worker_threads";
25
- import { createHash } from "node:crypto";
26
25
  var DEFAULT_MAX_SESSIONS = 16;
27
26
  var DEFAULT_IDLE_TTL_MS = 10 * 60 * 1000;
28
27
  var IDLE_CHECK_INTERVAL_MS = 60 * 1000;
@@ -35,6 +34,8 @@ class SessionRouter {
35
34
  onWorkerMessage;
36
35
  onWorkerExit;
37
36
  idleTimer = null;
37
+ pendingReady = new Map;
38
+ pendingUpdate = new Map;
38
39
  constructor(options) {
39
40
  this.workerPath = options.workerPath;
40
41
  this.maxSessions = options.maxSessions ?? DEFAULT_MAX_SESSIONS;
@@ -47,12 +48,17 @@ class SessionRouter {
47
48
  }
48
49
  async create(sessionKey, config) {
49
50
  if (this.sessions.has(sessionKey)) {
50
- throw new Error(`Session already exists: ${sessionKey}`);
51
+ process.stderr.write(`[SessionRouter] Session already exists, destroying old: ${sessionKey}
52
+ `);
53
+ await this.destroy(sessionKey);
51
54
  }
52
55
  if (this.sessions.size >= this.maxSessions) {
56
+ process.stderr.write(`[SessionRouter] Max sessions reached, evicting LRU session
57
+ `);
53
58
  this.evictLRU();
54
59
  }
55
- const configHash = computeConfigHash(config);
60
+ process.stderr.write(`[SessionRouter] Creating worker for session: ${sessionKey}
61
+ `);
56
62
  const worker = new Worker(this.workerPath, {
57
63
  workerData: config
58
64
  });
@@ -60,26 +66,42 @@ class SessionRouter {
60
66
  sessionKey,
61
67
  worker,
62
68
  sessionId: null,
63
- configHash,
64
69
  lastActive: new Date,
65
- created: new Date
70
+ created: new Date,
71
+ destroyed: false
66
72
  };
67
73
  worker.on("message", (msg) => {
68
74
  if (msg.type === "ready") {
69
75
  entry.sessionId = msg.session_id;
76
+ this.pendingReady.get(sessionKey)?.resolve();
77
+ this.pendingReady.delete(sessionKey);
78
+ }
79
+ if (msg.type === "updated") {
80
+ this.pendingUpdate.get(sessionKey)?.resolve();
81
+ this.pendingUpdate.delete(sessionKey);
70
82
  }
71
83
  entry.lastActive = new Date;
72
84
  this.onWorkerMessage(sessionKey, msg);
73
85
  });
74
86
  worker.on("exit", (code) => {
75
87
  this.sessions.delete(sessionKey);
76
- this.onWorkerExit(sessionKey, code);
88
+ if (!entry.destroyed) {
89
+ process.stderr.write(`[SessionRouter] Worker exited unexpectedly for session: ${sessionKey}, code: ${code}
90
+ `);
91
+ this.onWorkerExit(sessionKey, code);
92
+ } else {
93
+ process.stderr.write(`[SessionRouter] Worker destroyed for session: ${sessionKey}, code: ${code}
94
+ `);
95
+ }
77
96
  });
78
97
  worker.on("error", (err) => {
98
+ const errMsg = err instanceof Error ? err.message : String(err);
99
+ process.stderr.write(`[SessionRouter] Worker thread error for session: ${sessionKey} - ${errMsg}
100
+ `);
79
101
  this.onWorkerMessage(sessionKey, {
80
102
  type: "error",
81
103
  session_key: sessionKey,
82
- error: `Worker thread error: ${err.message}`
104
+ error: `Worker thread error: ${errMsg}`
83
105
  });
84
106
  });
85
107
  this.sessions.set(sessionKey, entry);
@@ -90,9 +112,6 @@ class SessionRouter {
90
112
  has(sessionKey) {
91
113
  return this.sessions.has(sessionKey);
92
114
  }
93
- getConfigHash(sessionKey) {
94
- return this.sessions.get(sessionKey)?.configHash;
95
- }
96
115
  send(sessionKey, msg) {
97
116
  const entry = this.sessions.get(sessionKey);
98
117
  if (!entry)
@@ -104,14 +123,62 @@ class SessionRouter {
104
123
  const entry = this.sessions.get(sessionKey);
105
124
  if (!entry)
106
125
  return;
126
+ process.stderr.write(`[SessionRouter] Destroying worker for session: ${sessionKey}
127
+ `);
128
+ this.pendingReady.get(sessionKey)?.reject(new Error("Session destroyed"));
129
+ this.pendingReady.delete(sessionKey);
130
+ this.pendingUpdate.get(sessionKey)?.reject(new Error("Session destroyed"));
131
+ this.pendingUpdate.delete(sessionKey);
107
132
  this.sessions.delete(sessionKey);
133
+ entry.destroyed = true;
108
134
  entry.worker.postMessage({ type: "destroy" });
135
+ const exitPromise = new Promise((resolve) => {
136
+ entry.worker.once("exit", () => resolve());
137
+ });
138
+ const timeout = new Promise((resolve) => setTimeout(resolve, 2000));
139
+ await Promise.race([exitPromise, timeout]);
109
140
  await entry.worker.terminate();
110
141
  }
111
142
  async destroyAll() {
112
143
  const keys = [...this.sessions.keys()];
113
144
  await Promise.all(keys.map((k) => this.destroy(k)));
114
145
  }
146
+ waitForReady(sessionKey, timeoutMs = 30000) {
147
+ return new Promise((resolve, reject) => {
148
+ const timer = setTimeout(() => {
149
+ this.pendingReady.delete(sessionKey);
150
+ reject(new Error(`Session creation timed out after ${timeoutMs / 1000}s`));
151
+ }, timeoutMs);
152
+ this.pendingReady.set(sessionKey, {
153
+ resolve: () => {
154
+ clearTimeout(timer);
155
+ resolve();
156
+ },
157
+ reject: (err) => {
158
+ clearTimeout(timer);
159
+ reject(err);
160
+ }
161
+ });
162
+ });
163
+ }
164
+ waitForUpdate(sessionKey, timeoutMs = 15000) {
165
+ return new Promise((resolve, reject) => {
166
+ const timer = setTimeout(() => {
167
+ this.pendingUpdate.delete(sessionKey);
168
+ reject(new Error(`Session update timed out after ${timeoutMs / 1000}s`));
169
+ }, timeoutMs);
170
+ this.pendingUpdate.set(sessionKey, {
171
+ resolve: () => {
172
+ clearTimeout(timer);
173
+ resolve();
174
+ },
175
+ reject: (err) => {
176
+ clearTimeout(timer);
177
+ reject(err);
178
+ }
179
+ });
180
+ });
181
+ }
115
182
  get activeCount() {
116
183
  return this.sessions.size;
117
184
  }
@@ -128,10 +195,16 @@ class SessionRouter {
128
195
  const now = Date.now();
129
196
  const toEvict = [];
130
197
  for (const [key, entry] of this.sessions) {
198
+ if (this.pendingReady.has(key))
199
+ continue;
131
200
  if (now - entry.lastActive.getTime() > this.idleTtlMs) {
132
201
  toEvict.push(key);
133
202
  }
134
203
  }
204
+ if (toEvict.length > 0) {
205
+ process.stderr.write(`[SessionRouter] Evicting ${toEvict.length} idle session(s): ${toEvict.join(", ")}
206
+ `);
207
+ }
135
208
  for (const key of toEvict) {
136
209
  this.destroy(key).catch(() => {});
137
210
  }
@@ -140,29 +213,20 @@ class SessionRouter {
140
213
  let oldest = null;
141
214
  let oldestTime = Infinity;
142
215
  for (const [key, entry] of this.sessions) {
216
+ if (this.pendingReady.has(key))
217
+ continue;
143
218
  if (entry.lastActive.getTime() < oldestTime) {
144
219
  oldestTime = entry.lastActive.getTime();
145
220
  oldest = key;
146
221
  }
147
222
  }
148
223
  if (oldest) {
224
+ process.stderr.write(`[SessionRouter] Evicting LRU session: ${oldest}
225
+ `);
149
226
  this.destroy(oldest).catch(() => {});
150
227
  }
151
228
  }
152
229
  }
153
- function computeConfigHash(config) {
154
- const parts = [
155
- config.session.model ?? "",
156
- config.session.cwd ?? "",
157
- config.session.systemPrompt ?? "",
158
- config.session.appendSystemPrompt ?? "",
159
- config.session.permissionMode ?? "",
160
- config.permission.mode ?? "",
161
- ...(config.permission.allowed_tools ?? []).sort(),
162
- ...(config.permission.denied_tools ?? []).sort()
163
- ];
164
- return createHash("sha256").update(JSON.stringify(parts)).digest("hex").slice(0, 16);
165
- }
166
230
 
167
231
  // src/entrypoints/gateway/index.ts
168
232
  var __dirname2 = dirname(fileURLToPath(import.meta.url));
@@ -170,6 +234,7 @@ var WORKER_PATH = resolve(__dirname2, "worker.js");
170
234
  var outputBuffer = "";
171
235
  var drainResolve = null;
172
236
  var MAX_OUTPUT_BUFFER_SIZE = 10 * 1024 * 1024;
237
+ var lastWorkerErrors = new Map;
173
238
  function notify(msg) {
174
239
  let line;
175
240
  try {
@@ -205,15 +270,22 @@ var router = new SessionRouter({
205
270
  onWorkerMessage: (sessionKey, msg) => {
206
271
  switch (msg.type) {
207
272
  case "ready":
208
- notify({ method: "session.ready", params: { session_key: msg.session_key, session_id: msg.session_id } });
273
+ process.stderr.write(`[Gateway] Session ready: ${sessionKey}, sessionId: ${msg.session_id}
274
+ `);
275
+ notify({ method: "session.ready", params: { session_key: msg.session_key, session_id: msg.session_id, state_session_id: msg.state_session_id } });
209
276
  break;
210
277
  case "stream":
211
278
  notify({ method: "session.stream", params: { session_key: msg.session_key, data: msg.data } });
212
279
  break;
213
280
  case "complete":
281
+ process.stderr.write(`[Gateway] Session complete: ${sessionKey}, sessionId: ${msg.session_id}
282
+ `);
214
283
  notify({ method: "session.complete", params: { session_key: msg.session_key, session_id: msg.session_id } });
215
284
  break;
216
285
  case "error":
286
+ process.stderr.write(`[Gateway] Session error: ${sessionKey} - ${msg.error}
287
+ `);
288
+ lastWorkerErrors.set(sessionKey, msg.error);
217
289
  notify({ method: "session.error", params: { session_key: msg.session_key, error: msg.error } });
218
290
  break;
219
291
  case "permission_request":
@@ -229,21 +301,31 @@ var router = new SessionRouter({
229
301
  }
230
302
  });
231
303
  break;
304
+ case "updated":
305
+ process.stderr.write(`[Gateway] Session updated: ${sessionKey}
306
+ `);
307
+ break;
232
308
  }
233
309
  },
234
310
  onWorkerExit: (sessionKey, code) => {
235
- notify({ method: "session.error", params: { session_key: sessionKey, error: `Worker exited with code ${code}` } });
311
+ const lastError = lastWorkerErrors.get(sessionKey);
312
+ const enrichedError = lastError ? `Worker exited with code ${code}. Last error: ${lastError}` : `Worker exited with code ${code}`;
313
+ process.stderr.write(`[Gateway] Worker exited: ${sessionKey}, code: ${code}. Last error: ${lastError || "none"}
314
+ `);
315
+ notify({ method: "session.error", params: { session_key: sessionKey, error: enrichedError } });
316
+ lastWorkerErrors.delete(sessionKey);
236
317
  }
237
318
  });
238
319
  async function handleRequest(req) {
239
320
  switch (req.method) {
240
321
  case "session.create": {
241
- const { session_key, config, permission, env } = req.params;
322
+ const { session_key, config, permission, env, resume } = req.params;
242
323
  const workerConfig = {
243
324
  sessionKey: session_key,
244
325
  session: config,
245
326
  permission,
246
- env
327
+ env,
328
+ resume
247
329
  };
248
330
  try {
249
331
  await router.create(session_key, workerConfig);
@@ -284,6 +366,28 @@ async function handleRequest(req) {
284
366
  await router.destroy(session_key);
285
367
  break;
286
368
  }
369
+ case "session.update": {
370
+ const { session_key, config } = req.params;
371
+ if (!router.has(session_key)) {
372
+ notify({
373
+ method: "session.error",
374
+ params: { session_key, error: `Session not found: ${session_key}` }
375
+ });
376
+ break;
377
+ }
378
+ try {
379
+ const updatePromise = router.waitForUpdate(session_key);
380
+ router.send(session_key, { type: "update", config });
381
+ await updatePromise;
382
+ notify({ method: "session.updated", params: { session_key } });
383
+ } catch (err) {
384
+ notify({
385
+ method: "session.error",
386
+ params: { session_key, error: err instanceof Error ? err.message : String(err) }
387
+ });
388
+ }
389
+ break;
390
+ }
287
391
  case "session.permission_response": {
288
392
  const { session_key, request_id, result } = req.params;
289
393
  try {