@recombine-ai/bosun 0.3.11 → 0.4.0

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 (434) hide show
  1. package/build/client/_app/immutable/assets/0.B5gApcUL.css +1 -0
  2. package/build/client/_app/immutable/assets/0.B5gApcUL.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.B5gApcUL.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/8B3OPwlB.js +1 -0
  5. package/build/client/_app/immutable/chunks/8B3OPwlB.js.br +2 -0
  6. package/build/client/_app/immutable/chunks/8B3OPwlB.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/B3ux6SZZ.js +1 -0
  8. package/build/client/_app/immutable/chunks/B3ux6SZZ.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/B3ux6SZZ.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/B5-6Ezv3.js +1 -0
  11. package/build/client/_app/immutable/chunks/B5-6Ezv3.js.br +2 -0
  12. package/build/client/_app/immutable/chunks/B5-6Ezv3.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/BA8mqPb-.js +1 -0
  14. package/build/client/_app/immutable/chunks/BA8mqPb-.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BA8mqPb-.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BCG4zvjp.js +2 -0
  17. package/build/client/_app/immutable/chunks/BCG4zvjp.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BCG4zvjp.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{oeB0PCTX.js → BMYSavKM.js} +1 -1
  20. package/build/client/_app/immutable/chunks/BMYSavKM.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/BMYSavKM.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{TO5ESkEd.js → BY8d35y9.js} +1 -1
  23. package/build/client/_app/immutable/chunks/BY8d35y9.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/BY8d35y9.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{CFwu9ET3.js → BdZ7JhAm.js} +1 -1
  26. package/build/client/_app/immutable/chunks/BdZ7JhAm.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BdZ7JhAm.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{BWo2H__f.js → BmadykGs.js} +3 -3
  29. package/build/client/_app/immutable/chunks/BmadykGs.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/BmadykGs.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/Bmb8cHfR.js +1 -0
  32. package/build/client/_app/immutable/chunks/Bmb8cHfR.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/Bmb8cHfR.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/Bx2X1niE.js +1 -0
  35. package/build/client/_app/immutable/chunks/Bx2X1niE.js.br +2 -0
  36. package/build/client/_app/immutable/chunks/Bx2X1niE.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/C-xhOnoy.js +1 -0
  38. package/build/client/_app/immutable/chunks/C-xhOnoy.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/C-xhOnoy.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/C1FmrZbK.js +1 -0
  41. package/build/client/_app/immutable/chunks/C1FmrZbK.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/C1FmrZbK.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/{Bdb5tyDH.js → C4mbwMvt.js} +1 -1
  44. package/build/client/_app/immutable/chunks/C4mbwMvt.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/C4mbwMvt.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/C5HWpeo9.js +1 -0
  47. package/build/client/_app/immutable/chunks/C5HWpeo9.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/C5HWpeo9.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/{CdzpH-Ca.js → CAFoob5N.js} +1 -1
  50. package/build/client/_app/immutable/chunks/CAFoob5N.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/CAFoob5N.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/{Bk1rEq7o.js → CGinwM47.js} +1 -1
  53. package/build/client/_app/immutable/chunks/CGinwM47.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/CGinwM47.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CI-reiW2.js +1 -0
  56. package/build/client/_app/immutable/chunks/CI-reiW2.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CI-reiW2.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/C_ZSt1CI.js +2 -0
  59. package/build/client/_app/immutable/chunks/C_ZSt1CI.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/C_ZSt1CI.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{CVHvdSBf.js → CfbYRn5k.js} +1 -1
  62. package/build/client/_app/immutable/chunks/CfbYRn5k.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/{CVHvdSBf.js.gz → CfbYRn5k.js.gz} +0 -0
  64. package/build/client/_app/immutable/chunks/{CNMNmz2q.js → CrxwEwqu.js} +1 -1
  65. package/build/client/_app/immutable/chunks/CrxwEwqu.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/CrxwEwqu.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/CsYbWoTD.js +8 -0
  68. package/build/client/_app/immutable/chunks/CsYbWoTD.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/CsYbWoTD.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/{CIIE25ox.js → CwmAWymP.js} +1 -1
  71. package/build/client/_app/immutable/chunks/CwmAWymP.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CwmAWymP.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/CxPv-oiS.js +1 -0
  74. package/build/client/_app/immutable/chunks/CxPv-oiS.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/CxPv-oiS.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{DOatwnEt.js → DDMPVpvs.js} +1 -1
  77. package/build/client/_app/immutable/chunks/DDMPVpvs.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/DDMPVpvs.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/DGa-EyU2.js +1 -0
  80. package/build/client/_app/immutable/chunks/DGa-EyU2.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/DGa-EyU2.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/{BfHUxT3G.js → DLQqXQ6R.js} +7 -7
  83. package/build/client/_app/immutable/chunks/DLQqXQ6R.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/DLQqXQ6R.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/DQA6NP5y.js +2 -0
  86. package/build/client/_app/immutable/chunks/DQA6NP5y.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/DQA6NP5y.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/{HPBQctDD.js → DRIMs3uA.js} +1 -1
  89. package/build/client/_app/immutable/chunks/DRIMs3uA.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/DRIMs3uA.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/{ByQey8Oa.js → DUeN9t8P.js} +1 -1
  92. package/build/client/_app/immutable/chunks/DUeN9t8P.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/DUeN9t8P.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/{KDW88ZZa.js → DWH0347h.js} +1 -1
  95. package/build/client/_app/immutable/chunks/DWH0347h.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/DWH0347h.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/{BnxfhlSj.js → DZxMt77D.js} +1 -1
  98. package/build/client/_app/immutable/chunks/DZxMt77D.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/DZxMt77D.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/DaR1ExPh.js +1 -0
  101. package/build/client/_app/immutable/chunks/DaR1ExPh.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/DaR1ExPh.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/{rtsVMmSs.js → DjDhNM9l.js} +1 -1
  104. package/build/client/_app/immutable/chunks/DjDhNM9l.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/DjDhNM9l.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/Dl6q6wVH.js +1 -0
  107. package/build/client/_app/immutable/chunks/Dl6q6wVH.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/Dl6q6wVH.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/JA_7cQFn.js +1 -0
  110. package/build/client/_app/immutable/chunks/JA_7cQFn.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/JA_7cQFn.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/{BqROrg0C.js → OMeqFb0I.js} +1 -1
  113. package/build/client/_app/immutable/chunks/OMeqFb0I.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/OMeqFb0I.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/WMLo4l1V.js +4 -0
  116. package/build/client/_app/immutable/chunks/WMLo4l1V.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/WMLo4l1V.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/{Ct9HfpvA.js → ZGfwyPNq.js} +1 -1
  119. package/build/client/_app/immutable/chunks/ZGfwyPNq.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/ZGfwyPNq.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/{DSfxalyG.js → bynEV6cE.js} +1 -1
  122. package/build/client/_app/immutable/chunks/bynEV6cE.js.br +0 -0
  123. package/build/client/_app/immutable/chunks/bynEV6cE.js.gz +0 -0
  124. package/build/client/_app/immutable/chunks/i_HX2z3K.js +1 -0
  125. package/build/client/_app/immutable/chunks/i_HX2z3K.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/i_HX2z3K.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/{yWz0pZR0.js → wDFujNbC.js} +1 -1
  128. package/build/client/_app/immutable/chunks/wDFujNbC.js.br +0 -0
  129. package/build/client/_app/immutable/chunks/wDFujNbC.js.gz +0 -0
  130. package/build/client/_app/immutable/chunks/{CZPhtqrs.js → wtOMB7ao.js} +3 -3
  131. package/build/client/_app/immutable/chunks/wtOMB7ao.js.br +0 -0
  132. package/build/client/_app/immutable/chunks/wtOMB7ao.js.gz +0 -0
  133. package/build/client/_app/immutable/entry/app.DQ_2_Lfy.js +2 -0
  134. package/build/client/_app/immutable/entry/app.DQ_2_Lfy.js.br +0 -0
  135. package/build/client/_app/immutable/entry/app.DQ_2_Lfy.js.gz +0 -0
  136. package/build/client/_app/immutable/entry/start.DvKwzZNe.js +1 -0
  137. package/build/client/_app/immutable/entry/start.DvKwzZNe.js.br +2 -0
  138. package/build/client/_app/immutable/entry/start.DvKwzZNe.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{0.BAD72yj-.js → 0.CgivU_tm.js} +1 -1
  140. package/build/client/_app/immutable/nodes/0.CgivU_tm.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/0.CgivU_tm.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/1.DP8kLfpI.js +1 -0
  143. package/build/client/_app/immutable/nodes/1.DP8kLfpI.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/1.DP8kLfpI.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/{13.DaAF9e8t.js → 14.zP-B7lEl.js} +1 -1
  146. package/build/client/_app/immutable/nodes/14.zP-B7lEl.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/14.zP-B7lEl.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/{14.CIH3gHti.js → 15.B2GzYnI3.js} +3 -3
  149. package/build/client/_app/immutable/nodes/15.B2GzYnI3.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/15.B2GzYnI3.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/2.Bhgshf0y.js +35 -0
  152. package/build/client/_app/immutable/nodes/2.Bhgshf0y.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/2.Bhgshf0y.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/3.0QEF0Tq5.js +1 -0
  155. package/build/client/_app/immutable/nodes/3.0QEF0Tq5.js.br +0 -0
  156. package/build/client/_app/immutable/nodes/3.0QEF0Tq5.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/4.DBO0gLSr.js +1 -0
  158. package/build/client/_app/immutable/nodes/4.DBO0gLSr.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/4.DBO0gLSr.js.gz +0 -0
  160. package/build/client/_app/immutable/nodes/{5.DB-2_mc1.js → 5.CZiuS-IZ.js} +1 -1
  161. package/build/client/_app/immutable/nodes/5.CZiuS-IZ.js.br +0 -0
  162. package/build/client/_app/immutable/nodes/5.CZiuS-IZ.js.gz +0 -0
  163. package/build/client/_app/immutable/nodes/6.CkeP1yO3.js +1 -0
  164. package/build/client/_app/immutable/nodes/6.CkeP1yO3.js.br +0 -0
  165. package/build/client/_app/immutable/nodes/6.CkeP1yO3.js.gz +0 -0
  166. package/build/client/_app/immutable/nodes/7.CB2Z5SOz.js +2 -0
  167. package/build/client/_app/immutable/nodes/7.CB2Z5SOz.js.br +0 -0
  168. package/build/client/_app/immutable/nodes/7.CB2Z5SOz.js.gz +0 -0
  169. package/build/client/_app/immutable/nodes/{7.jI3Ps4Fx.js → 8.BAhMFXe7.js} +2 -2
  170. package/build/client/_app/immutable/nodes/8.BAhMFXe7.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/8.BAhMFXe7.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/9.D7VQfn4o.js +6 -0
  173. package/build/client/_app/immutable/nodes/9.D7VQfn4o.js.br +0 -0
  174. package/build/client/_app/immutable/nodes/9.D7VQfn4o.js.gz +0 -0
  175. package/build/client/_app/version.json +1 -1
  176. package/build/client/_app/version.json.br +0 -0
  177. package/build/client/_app/version.json.gz +0 -0
  178. package/build/server/chunks/0-bATz_nPm.js +9 -0
  179. package/build/server/chunks/0-bATz_nPm.js.map +1 -0
  180. package/build/server/chunks/1-B8t1doqY.js +9 -0
  181. package/build/server/chunks/1-B8t1doqY.js.map +1 -0
  182. package/build/server/chunks/{9-W6XYayeK.js → 10-DZjMDIvS.js} +3 -3
  183. package/build/server/chunks/10-DZjMDIvS.js.map +1 -0
  184. package/build/server/chunks/{10-C7WLHR92.js → 11-D6F4I8KX.js} +3 -3
  185. package/build/server/chunks/{10-C7WLHR92.js.map → 11-D6F4I8KX.js.map} +1 -1
  186. package/build/server/chunks/{11-CPYwUx-7.js → 12-2vbUmx0n.js} +3 -3
  187. package/build/server/chunks/{11-CPYwUx-7.js.map → 12-2vbUmx0n.js.map} +1 -1
  188. package/build/server/chunks/{12-C5OSs5Op.js → 13-11CHqz2G.js} +3 -3
  189. package/build/server/chunks/{12-C5OSs5Op.js.map → 13-11CHqz2G.js.map} +1 -1
  190. package/build/server/chunks/{13-DPcsc1p-.js → 14-C4iOZL2L.js} +3 -3
  191. package/build/server/chunks/14-C4iOZL2L.js.map +1 -0
  192. package/build/server/chunks/15-BrQMoggr.js +9 -0
  193. package/build/server/chunks/15-BrQMoggr.js.map +1 -0
  194. package/build/server/chunks/2-B0R4hYal.js +9 -0
  195. package/build/server/chunks/2-B0R4hYal.js.map +1 -0
  196. package/build/server/chunks/3-DV-OHzXy.js +9 -0
  197. package/build/server/chunks/3-DV-OHzXy.js.map +1 -0
  198. package/build/server/chunks/4-ClIdwABM.js +9 -0
  199. package/build/server/chunks/4-ClIdwABM.js.map +1 -0
  200. package/build/server/chunks/5-BznYQ30T.js +9 -0
  201. package/build/server/chunks/5-BznYQ30T.js.map +1 -0
  202. package/build/server/chunks/{6-uS_X9B0s.js → 6-B6C38HXu.js} +7 -3
  203. package/build/server/chunks/6-B6C38HXu.js.map +1 -0
  204. package/build/server/chunks/7-BgYWIBj-.js +9 -0
  205. package/build/server/chunks/7-BgYWIBj-.js.map +1 -0
  206. package/build/server/chunks/8-NaJ61xSe.js +9 -0
  207. package/build/server/chunks/8-NaJ61xSe.js.map +1 -0
  208. package/build/server/chunks/9-oaBsE2zR.js +9 -0
  209. package/build/server/chunks/9-oaBsE2zR.js.map +1 -0
  210. package/build/server/chunks/{ChatStepTrace-B5HQ8Zv3.js → ChatStepTrace-BIghWRaw.js} +3 -59
  211. package/build/server/chunks/ChatStepTrace-BIghWRaw.js.map +1 -0
  212. package/build/server/chunks/Dropdown-Bz9eHilg.js +61 -0
  213. package/build/server/chunks/Dropdown-Bz9eHilg.js.map +1 -0
  214. package/build/server/chunks/{_layout.svelte-Svi5xbzP.js → _layout.svelte-B6NfHVfy.js} +2 -2
  215. package/build/server/chunks/{_layout.svelte-Svi5xbzP.js.map → _layout.svelte-B6NfHVfy.js.map} +1 -1
  216. package/build/server/chunks/{_layout.svelte-u9Ivvyk-.js → _layout.svelte-BKnunWZl.js} +131 -16
  217. package/build/server/chunks/_layout.svelte-BKnunWZl.js.map +1 -0
  218. package/build/server/chunks/{_layout.svelte-h89mGXIj.js → _layout.svelte-WXSvPGRU.js} +2 -2
  219. package/build/server/chunks/{_layout.svelte-h89mGXIj.js.map → _layout.svelte-WXSvPGRU.js.map} +1 -1
  220. package/build/server/chunks/{_page.svelte-CnjXZO9K.js → _page.svelte-CLBi-ypL.js} +2 -2
  221. package/build/server/chunks/{_page.svelte-CnjXZO9K.js.map → _page.svelte-CLBi-ypL.js.map} +1 -1
  222. package/build/server/chunks/{_page.svelte-Hg-ZSzf1.js → _page.svelte-CLiLwJTq.js} +4 -3
  223. package/build/server/chunks/_page.svelte-CLiLwJTq.js.map +1 -0
  224. package/build/server/chunks/{_page.svelte-CC26hDwf.js → _page.svelte-CdczF37D.js} +3 -2
  225. package/build/server/chunks/_page.svelte-CdczF37D.js.map +1 -0
  226. package/build/server/chunks/_page.svelte-Ck9Utnoc.js +60 -0
  227. package/build/server/chunks/_page.svelte-Ck9Utnoc.js.map +1 -0
  228. package/build/server/chunks/{_page.svelte-Dl3GoTy1.js → _page.svelte-DBrprjQP.js} +5 -4
  229. package/build/server/chunks/_page.svelte-DBrprjQP.js.map +1 -0
  230. package/build/server/chunks/{error.svelte-zyW9aOoU.js → error.svelte-DP2oBSvv.js} +2 -2
  231. package/build/server/chunks/{error.svelte-zyW9aOoU.js.map → error.svelte-DP2oBSvv.js.map} +1 -1
  232. package/build/server/chunks/{index3-DeV2OWZf.js → index3-CpMl6FwG.js} +7 -2
  233. package/build/server/chunks/index3-CpMl6FwG.js.map +1 -0
  234. package/build/server/index.js +1 -1
  235. package/build/server/index.js.map +1 -1
  236. package/build/server/manifest.js +32 -24
  237. package/build/server/manifest.js.map +1 -1
  238. package/package.json +1 -1
  239. package/src/backend/lib/get-agent-factories.ts +13 -2
  240. package/src/backend/lib/get-root-path.ts +30 -5
  241. package/src/backend/lib/import-nonce.ts +10 -0
  242. package/src/backend/region/router.ts +67 -0
  243. package/src/backend/roleplay/agents.ts +52 -10
  244. package/src/backend/roleplay/old-server.ts +4 -1
  245. package/src/backend/roleplay/router.ts +1 -0
  246. package/src/backend/server.ts +3 -1
  247. package/src/backend/tests/academy.ts +37 -24
  248. package/src/backend/tests/emulate-agents.ts +20 -1
  249. package/src/backend/tests/router.ts +220 -38
  250. package/build/client/_app/immutable/assets/0.DsZUjxNX.css +0 -1
  251. package/build/client/_app/immutable/assets/0.DsZUjxNX.css.br +0 -0
  252. package/build/client/_app/immutable/assets/0.DsZUjxNX.css.gz +0 -0
  253. package/build/client/_app/immutable/chunks/B7MYxXp9.js +0 -1
  254. package/build/client/_app/immutable/chunks/B7MYxXp9.js.br +0 -0
  255. package/build/client/_app/immutable/chunks/B7MYxXp9.js.gz +0 -0
  256. package/build/client/_app/immutable/chunks/BTlUd_Lo.js +0 -8
  257. package/build/client/_app/immutable/chunks/BTlUd_Lo.js.br +0 -0
  258. package/build/client/_app/immutable/chunks/BTlUd_Lo.js.gz +0 -0
  259. package/build/client/_app/immutable/chunks/BVDwc-2z.js +0 -1
  260. package/build/client/_app/immutable/chunks/BVDwc-2z.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/BVDwc-2z.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/BWo2H__f.js.br +0 -0
  263. package/build/client/_app/immutable/chunks/BWo2H__f.js.gz +0 -0
  264. package/build/client/_app/immutable/chunks/BXkrt826.js +0 -1
  265. package/build/client/_app/immutable/chunks/BXkrt826.js.br +0 -0
  266. package/build/client/_app/immutable/chunks/BXkrt826.js.gz +0 -0
  267. package/build/client/_app/immutable/chunks/Bdb5tyDH.js.br +0 -0
  268. package/build/client/_app/immutable/chunks/Bdb5tyDH.js.gz +0 -0
  269. package/build/client/_app/immutable/chunks/BfHUxT3G.js.br +0 -0
  270. package/build/client/_app/immutable/chunks/BfHUxT3G.js.gz +0 -0
  271. package/build/client/_app/immutable/chunks/Bk1rEq7o.js.br +0 -0
  272. package/build/client/_app/immutable/chunks/Bk1rEq7o.js.gz +0 -0
  273. package/build/client/_app/immutable/chunks/BkclRFLx.js +0 -3
  274. package/build/client/_app/immutable/chunks/BkclRFLx.js.br +0 -0
  275. package/build/client/_app/immutable/chunks/BkclRFLx.js.gz +0 -0
  276. package/build/client/_app/immutable/chunks/BnxfhlSj.js.br +0 -0
  277. package/build/client/_app/immutable/chunks/BnxfhlSj.js.gz +0 -0
  278. package/build/client/_app/immutable/chunks/BqROrg0C.js.br +0 -0
  279. package/build/client/_app/immutable/chunks/BqROrg0C.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/ByQey8Oa.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/ByQey8Oa.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/CFwu9ET3.js.br +0 -0
  283. package/build/client/_app/immutable/chunks/CFwu9ET3.js.gz +0 -0
  284. package/build/client/_app/immutable/chunks/CIIE25ox.js.br +0 -0
  285. package/build/client/_app/immutable/chunks/CIIE25ox.js.gz +0 -0
  286. package/build/client/_app/immutable/chunks/CNMNmz2q.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/CNMNmz2q.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/CNvyTQrC.js +0 -1
  289. package/build/client/_app/immutable/chunks/CNvyTQrC.js.br +0 -2
  290. package/build/client/_app/immutable/chunks/CNvyTQrC.js.gz +0 -0
  291. package/build/client/_app/immutable/chunks/CULdW9tk.js +0 -1
  292. package/build/client/_app/immutable/chunks/CULdW9tk.js.br +0 -0
  293. package/build/client/_app/immutable/chunks/CULdW9tk.js.gz +0 -0
  294. package/build/client/_app/immutable/chunks/CVHvdSBf.js.br +0 -0
  295. package/build/client/_app/immutable/chunks/CYiRxJxs.js +0 -1
  296. package/build/client/_app/immutable/chunks/CYiRxJxs.js.br +0 -0
  297. package/build/client/_app/immutable/chunks/CYiRxJxs.js.gz +0 -0
  298. package/build/client/_app/immutable/chunks/CZPhtqrs.js.br +0 -0
  299. package/build/client/_app/immutable/chunks/CZPhtqrs.js.gz +0 -0
  300. package/build/client/_app/immutable/chunks/CdzpH-Ca.js.br +0 -0
  301. package/build/client/_app/immutable/chunks/CdzpH-Ca.js.gz +0 -0
  302. package/build/client/_app/immutable/chunks/Cf8q8_nj.js +0 -1
  303. package/build/client/_app/immutable/chunks/Cf8q8_nj.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/Cf8q8_nj.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/Cg3F7Z11.js +0 -1
  306. package/build/client/_app/immutable/chunks/Cg3F7Z11.js.br +0 -0
  307. package/build/client/_app/immutable/chunks/Cg3F7Z11.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/CpSIcnXs.js +0 -1
  309. package/build/client/_app/immutable/chunks/CpSIcnXs.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/CpSIcnXs.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/Ct9HfpvA.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/Ct9HfpvA.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/DJPBfZIx.js +0 -1
  314. package/build/client/_app/immutable/chunks/DJPBfZIx.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/DJPBfZIx.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/DOatwnEt.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/DOatwnEt.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/DQqJYxgt.js +0 -1
  319. package/build/client/_app/immutable/chunks/DQqJYxgt.js.br +0 -0
  320. package/build/client/_app/immutable/chunks/DQqJYxgt.js.gz +0 -0
  321. package/build/client/_app/immutable/chunks/DSfxalyG.js.br +0 -0
  322. package/build/client/_app/immutable/chunks/DSfxalyG.js.gz +0 -0
  323. package/build/client/_app/immutable/chunks/DujX6kBV.js +0 -2
  324. package/build/client/_app/immutable/chunks/DujX6kBV.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/DujX6kBV.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/Dvy68CmD.js +0 -4
  327. package/build/client/_app/immutable/chunks/Dvy68CmD.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/Dvy68CmD.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/HPBQctDD.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/HPBQctDD.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/Jaf1TUfw.js +0 -1
  332. package/build/client/_app/immutable/chunks/Jaf1TUfw.js.br +0 -2
  333. package/build/client/_app/immutable/chunks/Jaf1TUfw.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/KDW88ZZa.js.br +0 -0
  335. package/build/client/_app/immutable/chunks/KDW88ZZa.js.gz +0 -0
  336. package/build/client/_app/immutable/chunks/TO5ESkEd.js.br +0 -0
  337. package/build/client/_app/immutable/chunks/TO5ESkEd.js.gz +0 -0
  338. package/build/client/_app/immutable/chunks/axPa8Xqj.js +0 -1
  339. package/build/client/_app/immutable/chunks/axPa8Xqj.js.br +0 -0
  340. package/build/client/_app/immutable/chunks/axPa8Xqj.js.gz +0 -0
  341. package/build/client/_app/immutable/chunks/oeB0PCTX.js.br +0 -0
  342. package/build/client/_app/immutable/chunks/oeB0PCTX.js.gz +0 -0
  343. package/build/client/_app/immutable/chunks/rtsVMmSs.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/rtsVMmSs.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/yWz0pZR0.js.br +0 -0
  346. package/build/client/_app/immutable/chunks/yWz0pZR0.js.gz +0 -0
  347. package/build/client/_app/immutable/entry/app.CGapw5JN.js +0 -2
  348. package/build/client/_app/immutable/entry/app.CGapw5JN.js.br +0 -0
  349. package/build/client/_app/immutable/entry/app.CGapw5JN.js.gz +0 -0
  350. package/build/client/_app/immutable/entry/start.-cXTjTEG.js +0 -1
  351. package/build/client/_app/immutable/entry/start.-cXTjTEG.js.br +0 -2
  352. package/build/client/_app/immutable/entry/start.-cXTjTEG.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/0.BAD72yj-.js.br +0 -0
  354. package/build/client/_app/immutable/nodes/0.BAD72yj-.js.gz +0 -0
  355. package/build/client/_app/immutable/nodes/1.Poqrp7zI.js +0 -1
  356. package/build/client/_app/immutable/nodes/1.Poqrp7zI.js.br +0 -0
  357. package/build/client/_app/immutable/nodes/1.Poqrp7zI.js.gz +0 -0
  358. package/build/client/_app/immutable/nodes/13.DaAF9e8t.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/13.DaAF9e8t.js.gz +0 -0
  360. package/build/client/_app/immutable/nodes/14.CIH3gHti.js.br +0 -0
  361. package/build/client/_app/immutable/nodes/14.CIH3gHti.js.gz +0 -0
  362. package/build/client/_app/immutable/nodes/2.BmMuB33m.js +0 -35
  363. package/build/client/_app/immutable/nodes/2.BmMuB33m.js.br +0 -0
  364. package/build/client/_app/immutable/nodes/2.BmMuB33m.js.gz +0 -0
  365. package/build/client/_app/immutable/nodes/3.CQPkSYE9.js +0 -1
  366. package/build/client/_app/immutable/nodes/3.CQPkSYE9.js.br +0 -0
  367. package/build/client/_app/immutable/nodes/3.CQPkSYE9.js.gz +0 -0
  368. package/build/client/_app/immutable/nodes/4.DylMSvDw.js +0 -1
  369. package/build/client/_app/immutable/nodes/4.DylMSvDw.js.br +0 -0
  370. package/build/client/_app/immutable/nodes/4.DylMSvDw.js.gz +0 -0
  371. package/build/client/_app/immutable/nodes/5.DB-2_mc1.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/5.DB-2_mc1.js.gz +0 -0
  373. package/build/client/_app/immutable/nodes/6.CPYhLc46.js +0 -1
  374. package/build/client/_app/immutable/nodes/6.CPYhLc46.js.br +0 -4
  375. package/build/client/_app/immutable/nodes/6.CPYhLc46.js.gz +0 -0
  376. package/build/client/_app/immutable/nodes/7.jI3Ps4Fx.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/7.jI3Ps4Fx.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/8.DhQWMEsP.js +0 -6
  379. package/build/client/_app/immutable/nodes/8.DhQWMEsP.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/8.DhQWMEsP.js.gz +0 -0
  381. package/build/server/chunks/0-DBqZOMqX.js +0 -9
  382. package/build/server/chunks/0-DBqZOMqX.js.map +0 -1
  383. package/build/server/chunks/1-DtNOOYEc.js +0 -9
  384. package/build/server/chunks/1-DtNOOYEc.js.map +0 -1
  385. package/build/server/chunks/13-DPcsc1p-.js.map +0 -1
  386. package/build/server/chunks/14-BB5_NucR.js +0 -9
  387. package/build/server/chunks/14-BB5_NucR.js.map +0 -1
  388. package/build/server/chunks/2-DKkz3BEe.js +0 -9
  389. package/build/server/chunks/2-DKkz3BEe.js.map +0 -1
  390. package/build/server/chunks/3-CYDXg-UU.js +0 -9
  391. package/build/server/chunks/3-CYDXg-UU.js.map +0 -1
  392. package/build/server/chunks/4-BML64sIA.js +0 -9
  393. package/build/server/chunks/4-BML64sIA.js.map +0 -1
  394. package/build/server/chunks/5-BRYDEr7f.js +0 -9
  395. package/build/server/chunks/5-BRYDEr7f.js.map +0 -1
  396. package/build/server/chunks/6-uS_X9B0s.js.map +0 -1
  397. package/build/server/chunks/7-gY8iwkKY.js +0 -9
  398. package/build/server/chunks/7-gY8iwkKY.js.map +0 -1
  399. package/build/server/chunks/8-CddjGDu2.js +0 -9
  400. package/build/server/chunks/8-CddjGDu2.js.map +0 -1
  401. package/build/server/chunks/9-W6XYayeK.js.map +0 -1
  402. package/build/server/chunks/ChatStepTrace-B5HQ8Zv3.js.map +0 -1
  403. package/build/server/chunks/_layout.svelte-u9Ivvyk-.js.map +0 -1
  404. package/build/server/chunks/_page.svelte-CC26hDwf.js.map +0 -1
  405. package/build/server/chunks/_page.svelte-Dl3GoTy1.js.map +0 -1
  406. package/build/server/chunks/_page.svelte-Hg-ZSzf1.js.map +0 -1
  407. package/build/server/chunks/index3-DeV2OWZf.js.map +0 -1
  408. /package/build/client/_app/immutable/assets/{14.C5apk4jm.css → 15.C5apk4jm.css} +0 -0
  409. /package/build/client/_app/immutable/assets/{14.C5apk4jm.css.br → 15.C5apk4jm.css.br} +0 -0
  410. /package/build/client/_app/immutable/assets/{14.C5apk4jm.css.gz → 15.C5apk4jm.css.gz} +0 -0
  411. /package/build/client/_app/immutable/assets/{7.DlSPCZj0.css → 8.DlSPCZj0.css} +0 -0
  412. /package/build/client/_app/immutable/assets/{7.DlSPCZj0.css.br → 8.DlSPCZj0.css.br} +0 -0
  413. /package/build/client/_app/immutable/assets/{7.DlSPCZj0.css.gz → 8.DlSPCZj0.css.gz} +0 -0
  414. /package/build/client/_app/immutable/assets/{8.BX46PfEJ.css → 9.BX46PfEJ.css} +0 -0
  415. /package/build/client/_app/immutable/assets/{8.BX46PfEJ.css.br → 9.BX46PfEJ.css.br} +0 -0
  416. /package/build/client/_app/immutable/assets/{8.BX46PfEJ.css.gz → 9.BX46PfEJ.css.gz} +0 -0
  417. /package/build/client/_app/immutable/assets/{bosun-theme.tn0RQdqM.css → Modal.tn0RQdqM.css} +0 -0
  418. /package/build/client/_app/immutable/assets/{bosun-theme.tn0RQdqM.css.br → Modal.tn0RQdqM.css.br} +0 -0
  419. /package/build/client/_app/immutable/assets/{bosun-theme.tn0RQdqM.css.gz → Modal.tn0RQdqM.css.gz} +0 -0
  420. /package/build/client/_app/immutable/assets/{ChatStepTrace.NFJFjHv0.css → chat-content.NFJFjHv0.css} +0 -0
  421. /package/build/client/_app/immutable/assets/{ChatStepTrace.NFJFjHv0.css.br → chat-content.NFJFjHv0.css.br} +0 -0
  422. /package/build/client/_app/immutable/assets/{ChatStepTrace.NFJFjHv0.css.gz → chat-content.NFJFjHv0.css.gz} +0 -0
  423. /package/build/client/_app/immutable/nodes/{9.BVI-eEdV.js → 10.BVI-eEdV.js} +0 -0
  424. /package/build/client/_app/immutable/nodes/{9.BVI-eEdV.js.br → 10.BVI-eEdV.js.br} +0 -0
  425. /package/build/client/_app/immutable/nodes/{9.BVI-eEdV.js.gz → 10.BVI-eEdV.js.gz} +0 -0
  426. /package/build/client/_app/immutable/nodes/{10.BHSGZYEC.js → 11.BHSGZYEC.js} +0 -0
  427. /package/build/client/_app/immutable/nodes/{10.BHSGZYEC.js.br → 11.BHSGZYEC.js.br} +0 -0
  428. /package/build/client/_app/immutable/nodes/{10.BHSGZYEC.js.gz → 11.BHSGZYEC.js.gz} +0 -0
  429. /package/build/client/_app/immutable/nodes/{11.CZ_7M4AF.js → 12.CZ_7M4AF.js} +0 -0
  430. /package/build/client/_app/immutable/nodes/{11.CZ_7M4AF.js.br → 12.CZ_7M4AF.js.br} +0 -0
  431. /package/build/client/_app/immutable/nodes/{11.CZ_7M4AF.js.gz → 12.CZ_7M4AF.js.gz} +0 -0
  432. /package/build/client/_app/immutable/nodes/{12.DRr2l3NZ.js → 13.DRr2l3NZ.js} +0 -0
  433. /package/build/client/_app/immutable/nodes/{12.DRr2l3NZ.js.br → 13.DRr2l3NZ.js.br} +0 -0
  434. /package/build/client/_app/immutable/nodes/{12.DRr2l3NZ.js.gz → 13.DRr2l3NZ.js.gz} +0 -0
@@ -10,23 +10,24 @@ return {
10
10
  assets: new Set(["favicon.png","fonts/DarkerGrotesque-Black.ttf","fonts/DarkerGrotesque-Bold.ttf","fonts/DarkerGrotesque-Light.ttf","fonts/DarkerGrotesque-Medium.ttf","fonts/DarkerGrotesque-Regular.ttf","fonts/DarkerGrotesque-SemiBold.ttf","fonts.css","recombine.svg","telescope-icon.svg","ui/arrow_tests.svg","ui/paperclip.svg","ui/send.svg"]),
11
11
  mimeTypes: {".png":"image/png",".ttf":"font/ttf",".css":"text/css",".svg":"image/svg+xml"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.-cXTjTEG.js",app:"_app/immutable/entry/app.CGapw5JN.js",imports:["_app/immutable/entry/start.-cXTjTEG.js","_app/immutable/chunks/B7MYxXp9.js","_app/immutable/chunks/DujX6kBV.js","_app/immutable/chunks/CVHvdSBf.js","_app/immutable/chunks/BUApaBEI.js","_app/immutable/entry/app.CGapw5JN.js","_app/immutable/chunks/CpSIcnXs.js","_app/immutable/chunks/CVHvdSBf.js","_app/immutable/chunks/DujX6kBV.js","_app/immutable/chunks/CWj6FrbW.js","_app/immutable/chunks/BXkrt826.js","_app/immutable/chunks/DQqJYxgt.js","_app/immutable/chunks/yWz0pZR0.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},
13
+ client: {start:"_app/immutable/entry/start.DvKwzZNe.js",app:"_app/immutable/entry/app.DQ_2_Lfy.js",imports:["_app/immutable/entry/start.DvKwzZNe.js","_app/immutable/chunks/C5HWpeo9.js","_app/immutable/chunks/DQA6NP5y.js","_app/immutable/chunks/CfbYRn5k.js","_app/immutable/chunks/BUApaBEI.js","_app/immutable/chunks/C-xhOnoy.js","_app/immutable/entry/app.DQ_2_Lfy.js","_app/immutable/chunks/C1FmrZbK.js","_app/immutable/chunks/CfbYRn5k.js","_app/immutable/chunks/DQA6NP5y.js","_app/immutable/chunks/CWj6FrbW.js","_app/immutable/chunks/Dl6q6wVH.js","_app/immutable/chunks/DaR1ExPh.js","_app/immutable/chunks/Bx2X1niE.js","_app/immutable/chunks/wDFujNbC.js","_app/immutable/chunks/C-xhOnoy.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},
14
14
  nodes: [
15
- __memo(() => import('./chunks/0-DBqZOMqX.js')),
16
- __memo(() => import('./chunks/1-DtNOOYEc.js')),
17
- __memo(() => import('./chunks/2-DKkz3BEe.js')),
18
- __memo(() => import('./chunks/3-CYDXg-UU.js')),
19
- __memo(() => import('./chunks/4-BML64sIA.js')),
20
- __memo(() => import('./chunks/5-BRYDEr7f.js')),
21
- __memo(() => import('./chunks/6-uS_X9B0s.js')),
22
- __memo(() => import('./chunks/7-gY8iwkKY.js')),
23
- __memo(() => import('./chunks/8-CddjGDu2.js')),
24
- __memo(() => import('./chunks/9-W6XYayeK.js')),
25
- __memo(() => import('./chunks/10-C7WLHR92.js')),
26
- __memo(() => import('./chunks/11-CPYwUx-7.js')),
27
- __memo(() => import('./chunks/12-C5OSs5Op.js')),
28
- __memo(() => import('./chunks/13-DPcsc1p-.js')),
29
- __memo(() => import('./chunks/14-BB5_NucR.js'))
15
+ __memo(() => import('./chunks/0-bATz_nPm.js')),
16
+ __memo(() => import('./chunks/1-B8t1doqY.js')),
17
+ __memo(() => import('./chunks/2-B0R4hYal.js')),
18
+ __memo(() => import('./chunks/3-DV-OHzXy.js')),
19
+ __memo(() => import('./chunks/4-ClIdwABM.js')),
20
+ __memo(() => import('./chunks/5-BznYQ30T.js')),
21
+ __memo(() => import('./chunks/6-B6C38HXu.js')),
22
+ __memo(() => import('./chunks/7-BgYWIBj-.js')),
23
+ __memo(() => import('./chunks/8-NaJ61xSe.js')),
24
+ __memo(() => import('./chunks/9-oaBsE2zR.js')),
25
+ __memo(() => import('./chunks/10-DZjMDIvS.js')),
26
+ __memo(() => import('./chunks/11-D6F4I8KX.js')),
27
+ __memo(() => import('./chunks/12-2vbUmx0n.js')),
28
+ __memo(() => import('./chunks/13-11CHqz2G.js')),
29
+ __memo(() => import('./chunks/14-C4iOZL2L.js')),
30
+ __memo(() => import('./chunks/15-BrQMoggr.js'))
30
31
  ],
31
32
  remotes: {
32
33
 
@@ -53,46 +54,53 @@ return {
53
54
  page: { layouts: [0,2,], errors: [1,,], leaf: 6 },
54
55
  endpoint: null
55
56
  },
57
+ {
58
+ id: "/edit/[agent]/configure",
59
+ pattern: /^\/edit\/([^/]+?)\/configure\/?$/,
60
+ params: [{"name":"agent","optional":false,"rest":false,"chained":false}],
61
+ page: { layouts: [0,2,], errors: [1,,], leaf: 7 },
62
+ endpoint: null
63
+ },
56
64
  {
57
65
  id: "/edit/[agent]/roleplay",
58
66
  pattern: /^\/edit\/([^/]+?)\/roleplay\/?$/,
59
67
  params: [{"name":"agent","optional":false,"rest":false,"chained":false}],
60
- page: { layouts: [0,2,], errors: [1,,], leaf: 7 },
68
+ page: { layouts: [0,2,], errors: [1,,], leaf: 8 },
61
69
  endpoint: null
62
70
  },
63
71
  {
64
72
  id: "/edit/[agent]/tests",
65
73
  pattern: /^\/edit\/([^/]+?)\/tests\/?$/,
66
74
  params: [{"name":"agent","optional":false,"rest":false,"chained":false}],
67
- page: { layouts: [0,2,], errors: [1,,], leaf: 8 },
75
+ page: { layouts: [0,2,], errors: [1,,], leaf: 9 },
68
76
  endpoint: null
69
77
  },
70
78
  {
71
79
  id: "/roleplay",
72
80
  pattern: /^\/roleplay\/?$/,
73
81
  params: [],
74
- page: { layouts: [0,], errors: [1,], leaf: 9 },
82
+ page: { layouts: [0,], errors: [1,], leaf: 10 },
75
83
  endpoint: null
76
84
  },
77
85
  {
78
86
  id: "/tests",
79
87
  pattern: /^\/tests\/?$/,
80
88
  params: [],
81
- page: { layouts: [0,], errors: [1,], leaf: 10 },
89
+ page: { layouts: [0,], errors: [1,], leaf: 11 },
82
90
  endpoint: null
83
91
  },
84
92
  {
85
93
  id: "/tests/[agent]",
86
94
  pattern: /^\/tests\/([^/]+?)\/?$/,
87
95
  params: [{"name":"agent","optional":false,"rest":false,"chained":false}],
88
- page: { layouts: [0,], errors: [1,], leaf: 11 },
96
+ page: { layouts: [0,], errors: [1,], leaf: 12 },
89
97
  endpoint: null
90
98
  },
91
99
  {
92
100
  id: "/traces",
93
101
  pattern: /^\/traces\/?$/,
94
102
  params: [],
95
- page: { layouts: [0,], errors: [1,], leaf: 12 },
103
+ page: { layouts: [0,], errors: [1,], leaf: 13 },
96
104
  endpoint: null
97
105
  },
98
106
  {
@@ -113,14 +121,14 @@ return {
113
121
  id: "/traces/conversations",
114
122
  pattern: /^\/traces\/conversations\/?$/,
115
123
  params: [],
116
- page: { layouts: [0,3,], errors: [1,,], leaf: 13 },
124
+ page: { layouts: [0,3,], errors: [1,,], leaf: 14 },
117
125
  endpoint: null
118
126
  },
119
127
  {
120
128
  id: "/traces/conversations/[conversationId]/traces",
121
129
  pattern: /^\/traces\/conversations\/([^/]+?)\/traces\/?$/,
122
130
  params: [{"name":"conversationId","optional":false,"rest":false,"chained":false}],
123
- page: { layouts: [0,3,], errors: [1,,], leaf: 14 },
131
+ page: { layouts: [0,3,], errors: [1,,], leaf: 15 },
124
132
  endpoint: null
125
133
  }
126
134
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.png\",\"fonts/DarkerGrotesque-Black.ttf\",\"fonts/DarkerGrotesque-Bold.ttf\",\"fonts/DarkerGrotesque-Light.ttf\",\"fonts/DarkerGrotesque-Medium.ttf\",\"fonts/DarkerGrotesque-Regular.ttf\",\"fonts/DarkerGrotesque-SemiBold.ttf\",\"fonts.css\",\"recombine.svg\",\"telescope-icon.svg\",\"ui/arrow_tests.svg\",\"ui/paperclip.svg\",\"ui/send.svg\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".ttf\":\"font/ttf\",\".css\":\"text/css\",\".svg\":\"image/svg+xml\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.-cXTjTEG.js\",app:\"_app/immutable/entry/app.CGapw5JN.js\",imports:[\"_app/immutable/entry/start.-cXTjTEG.js\",\"_app/immutable/chunks/B7MYxXp9.js\",\"_app/immutable/chunks/DujX6kBV.js\",\"_app/immutable/chunks/CVHvdSBf.js\",\"_app/immutable/chunks/BUApaBEI.js\",\"_app/immutable/entry/app.CGapw5JN.js\",\"_app/immutable/chunks/CpSIcnXs.js\",\"_app/immutable/chunks/CVHvdSBf.js\",\"_app/immutable/chunks/DujX6kBV.js\",\"_app/immutable/chunks/CWj6FrbW.js\",\"_app/immutable/chunks/BXkrt826.js\",\"_app/immutable/chunks/DQqJYxgt.js\",\"_app/immutable/chunks/yWz0pZR0.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js')),\n\t\t\t__memo(() => import('./nodes/14.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit\",\n\t\t\t\tpattern: /^\\/edit\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/roleplay\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/roleplay\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/tests\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/tests\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/roleplay\",\n\t\t\t\tpattern: /^\\/roleplay\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests\",\n\t\t\t\tpattern: /^\\/tests\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests/[agent]\",\n\t\t\t\tpattern: /^\\/tests\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces\",\n\t\t\t\tpattern: /^\\/traces\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/proxy/[...path]\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/proxy(?:\\/([^]*))?\\/?$/,\n\t\t\t\tparams: [{\"name\":\"path\",\"optional\":false,\"rest\":true,\"chained\":true}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/proxy/_...path_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/sources\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/sources\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/sources/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,3,], errors: [1,,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]/traces\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/traces\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,], errors: [1,,], leaf: 14 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.png\",\"fonts/DarkerGrotesque-Black.ttf\",\"fonts/DarkerGrotesque-Bold.ttf\",\"fonts/DarkerGrotesque-Light.ttf\",\"fonts/DarkerGrotesque-Medium.ttf\",\"fonts/DarkerGrotesque-Regular.ttf\",\"fonts/DarkerGrotesque-SemiBold.ttf\",\"fonts.css\",\"recombine.svg\",\"telescope-icon.svg\",\"ui/arrow_tests.svg\",\"ui/paperclip.svg\",\"ui/send.svg\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".ttf\":\"font/ttf\",\".css\":\"text/css\",\".svg\":\"image/svg+xml\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.DvKwzZNe.js\",app:\"_app/immutable/entry/app.DQ_2_Lfy.js\",imports:[\"_app/immutable/entry/start.DvKwzZNe.js\",\"_app/immutable/chunks/C5HWpeo9.js\",\"_app/immutable/chunks/DQA6NP5y.js\",\"_app/immutable/chunks/CfbYRn5k.js\",\"_app/immutable/chunks/BUApaBEI.js\",\"_app/immutable/chunks/C-xhOnoy.js\",\"_app/immutable/entry/app.DQ_2_Lfy.js\",\"_app/immutable/chunks/C1FmrZbK.js\",\"_app/immutable/chunks/CfbYRn5k.js\",\"_app/immutable/chunks/DQA6NP5y.js\",\"_app/immutable/chunks/CWj6FrbW.js\",\"_app/immutable/chunks/Dl6q6wVH.js\",\"_app/immutable/chunks/DaR1ExPh.js\",\"_app/immutable/chunks/Bx2X1niE.js\",\"_app/immutable/chunks/wDFujNbC.js\",\"_app/immutable/chunks/C-xhOnoy.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js')),\n\t\t\t__memo(() => import('./nodes/14.js')),\n\t\t\t__memo(() => import('./nodes/15.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit\",\n\t\t\t\tpattern: /^\\/edit\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/configure\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/configure\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/roleplay\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/roleplay\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/tests\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/tests\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/roleplay\",\n\t\t\t\tpattern: /^\\/roleplay\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests\",\n\t\t\t\tpattern: /^\\/tests\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests/[agent]\",\n\t\t\t\tpattern: /^\\/tests\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces\",\n\t\t\t\tpattern: /^\\/traces\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/proxy/[...path]\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/proxy(?:\\/([^]*))?\\/?$/,\n\t\t\t\tparams: [{\"name\":\"path\",\"optional\":false,\"rest\":true,\"chained\":true}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/proxy/_...path_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/sources\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/sources\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/sources/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,3,], errors: [1,,], leaf: 14 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]/traces\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/traces\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,], errors: [1,,], leaf: 15 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@recombine-ai/bosun",
3
3
  "author": "recombine.ai",
4
- "version": "0.3.11",
4
+ "version": "0.4.0",
5
5
  "license": "EULA",
6
6
  "bin": {
7
7
  "bosun": "./bin/bosun.js"
@@ -7,8 +7,19 @@ export interface Project {
7
7
  basePath: string
8
8
  }
9
9
 
10
- export async function getAgentFactories(agentsModule: string) {
11
- const modUrl = pathToFileURL(agentsModule).href
10
+ export async function getAgentFactories(agentsModule: string, importNonce?: number) {
11
+ const baseUrl = pathToFileURL(agentsModule).href
12
+ // IMPORTANT: The project's module graph (including `region-config.json`) is cached by the module loader.
13
+ // When Bosun edits `region-config.json`, we bump an "import nonce" and re-import the project entrypoint
14
+ // with a cache-busting query string so the updated JSON is picked up without restarting Bosun.
15
+ const modUrl =
16
+ typeof importNonce === 'number'
17
+ ? (() => {
18
+ const u = new URL(baseUrl)
19
+ u.searchParams.set('bosunImportNonce', String(importNonce))
20
+ return u.href
21
+ })()
22
+ : baseUrl
12
23
 
13
24
  let mod: any
14
25
  try {
@@ -5,11 +5,7 @@ import fs from 'node:fs'
5
5
  // TODO Drop this when all agents have bosun root
6
6
  const legacyPath = 'src/bosun/workflows.ts'
7
7
 
8
- /**
9
- * @returns full path to the file with agents factories
10
- */
11
- export async function getRootPath() {
12
- const warnings = []
8
+ async function resolveProjectPackageJsonPath(warnings: string[]): Promise<string> {
13
9
  let projectRoot: string | undefined
14
10
  if (process.env.BOSUN_NPX_RUN === 'true') {
15
11
  if (fs.existsSync(path.join(process.cwd(), 'package.json'))) {
@@ -23,9 +19,38 @@ export async function getRootPath() {
23
19
  const projectFiles = await glob(`projects/*/package.json`, { absolute: true })
24
20
  projectRoot = projectFiles[0]
25
21
  }
22
+
26
23
  if (!projectRoot) {
27
24
  throw new Error('Cannot find project root directory or package.json in it.')
28
25
  }
26
+
27
+ return projectRoot
28
+ }
29
+
30
+ export async function getProjectPackageJsonPath(): Promise<string> {
31
+ const warnings: string[] = []
32
+ const projectRoot = await resolveProjectPackageJsonPath(warnings)
33
+ if (warnings.length) {
34
+ printWarnings(warnings)
35
+ }
36
+ return projectRoot
37
+ }
38
+
39
+ export async function getProjectDir(): Promise<string> {
40
+ return path.dirname(await getProjectPackageJsonPath())
41
+ }
42
+
43
+ export async function getProjectPackageJson(): Promise<any> {
44
+ const pkgPath = await getProjectPackageJsonPath()
45
+ return JSON.parse(fs.readFileSync(pkgPath, 'utf-8'))
46
+ }
47
+
48
+ /**
49
+ * @returns full path to the file with agents factories
50
+ */
51
+ export async function getRootPath() {
52
+ const warnings: string[] = []
53
+ const projectRoot = await resolveProjectPackageJsonPath(warnings)
29
54
  const pkg = JSON.parse(fs.readFileSync(projectRoot, 'utf-8'))
30
55
  let bosunRoot: string | undefined = pkg?.bosun?.root
31
56
  if (!bosunRoot) {
@@ -0,0 +1,10 @@
1
+ let importNonce = 0
2
+
3
+ export function getImportNonce(): number {
4
+ return importNonce
5
+ }
6
+
7
+ export function bumpImportNonce(): number {
8
+ importNonce += 1
9
+ return importNonce
10
+ }
@@ -0,0 +1,67 @@
1
+ import type { TRPCRootObject } from '@trpc/server/unstable-core-do-not-import'
2
+ import { z } from 'zod'
3
+ import { access, mkdir, readFile, writeFile } from 'node:fs/promises'
4
+ import path from 'node:path'
5
+
6
+ import { bumpImportNonce } from '../lib/import-nonce'
7
+ import { getProjectDir, getProjectPackageJson } from '../lib/get-root-path'
8
+ import type { TrpcContext } from '../lib/trpc-context'
9
+
10
+ const DEFAULT_REGION_CONFIG_PATH = 'src/region-config.json'
11
+
12
+ async function resolveRegionConfigPath(): Promise<string> {
13
+ const projectDir = await getProjectDir()
14
+ const pkg = await getProjectPackageJson()
15
+ const configured = pkg?.bosun?.regionConfigPath
16
+ const rel = typeof configured === 'string' && configured.trim() ? configured.trim() : null
17
+ return path.resolve(projectDir, rel ?? DEFAULT_REGION_CONFIG_PATH)
18
+ }
19
+
20
+ async function fileExists(p: string): Promise<boolean> {
21
+ try {
22
+ await access(p)
23
+ return true
24
+ } catch {
25
+ return false
26
+ }
27
+ }
28
+
29
+ export function createRegionConfigRouter(t: TRPCRootObject<TrpcContext, any, any>) {
30
+ return t.router({
31
+ meta: t.procedure.input(z.object({ agent: z.string() })).query(async ({ input }) => {
32
+ const configPath = await resolveRegionConfigPath()
33
+ if (!(await fileExists(configPath))) return null
34
+
35
+ const raw = await readFile(configPath, 'utf-8')
36
+ const parsed = JSON.parse(raw) as any
37
+
38
+ const devConfig = parsed?.config?.development?.[input.agent]
39
+ const agentStrings = parsed?.strings?.[input.agent]
40
+
41
+ const configRegions = devConfig && typeof devConfig === 'object' ? Object.keys(devConfig) : []
42
+ const stringRegions =
43
+ agentStrings && typeof agentStrings === 'object' ? Object.keys(agentStrings) : []
44
+
45
+ const availableRegions = configRegions.filter((r) => stringRegions.includes(r))
46
+ const defaultRegion = typeof parsed?.defaultRegion === 'string' ? parsed.defaultRegion : null
47
+
48
+ return {
49
+ defaultRegion,
50
+ availableRegions
51
+ }
52
+ }),
53
+ get: t.procedure.query(async () => {
54
+ const configPath = await resolveRegionConfigPath()
55
+ return await readFile(configPath, 'utf-8')
56
+ }),
57
+ save: t.procedure.input(z.object({ text: z.string() })).mutation(async ({ input }) => {
58
+ const configPath = await resolveRegionConfigPath()
59
+ await mkdir(path.dirname(configPath), { recursive: true })
60
+ await writeFile(configPath, input.text, 'utf-8')
61
+
62
+ // Bump import nonce so subsequent imports of the project's module graph are cache-busted.
63
+ const importNonce = bumpImportNonce()
64
+ return { importNonce }
65
+ })
66
+ })
67
+ }
@@ -22,6 +22,7 @@ import type { MessageDispatcher } from './message-dispatcher'
22
22
  import { createScheduler, type BosunScheduler } from './scheduler'
23
23
  import { createStepRegistry } from './step-registry'
24
24
  import { getAgentFactories } from '../lib/get-agent-factories'
25
+ import { getImportNonce } from '../lib/import-nonce'
25
26
  import { getRootPath } from '../lib/get-root-path'
26
27
 
27
28
  interface MessageEntry {
@@ -83,46 +84,78 @@ export function createAgents(
83
84
  const agents: Record<string, AgentWithState> = {}
84
85
  let basePath = ''
85
86
  let currentAgent = ''
87
+ let currentRegion: string | null = null
88
+ let lastLoadedImportNonce: number | null = null
89
+
90
+ function getAgentCacheKey(agentId: string, region: string | null): string {
91
+ // Region-scoped agent instances let Bosun switch regions without mixing roleplay state.
92
+ // This mirrors the `<agent>.<region>.*` file naming convention used for tests/config.
93
+ return region ? `${agentId}.${region}` : agentId
94
+ }
86
95
 
87
96
  async function getCurrentAgent() {
88
97
  if (!currentAgent) {
89
98
  currentAgent = Object.keys(factories)[0]
90
99
  }
91
100
 
92
- let agent = agents[currentAgent]
101
+ const cacheKey = getAgentCacheKey(currentAgent, currentRegion)
102
+
103
+ let agent = agents[cacheKey]
93
104
  if (!agent) {
94
105
  const factory = factories[currentAgent]
95
106
  if (!factory) {
96
107
  throw new Error(`Agent not found ${currentAgent}`)
97
108
  }
98
109
 
99
- const loadedStates = await statePersistence.load(currentAgent)
100
- agentStates[currentAgent] = loadedStates
110
+ const loadedStates = await statePersistence.load(cacheKey)
111
+ agentStates[cacheKey] = loadedStates
101
112
  agent = await loadAgent({
102
113
  ...dispatcher,
103
- agentId: currentAgent,
114
+ agentId: cacheKey,
115
+ region: currentRegion,
104
116
  contextPersistence,
105
117
  statePersistence,
106
118
  factory,
107
119
  basePath
108
120
  })
109
- agents[currentAgent] = agent
121
+ agents[cacheKey] = agent
110
122
  }
111
123
  return agent
112
124
  }
113
125
 
114
- return {
126
+ const api = {
115
127
  load: async () => {
116
128
  const rootPath = await getRootPath()
117
- const loaded = await getAgentFactories(rootPath)
129
+ const importNonce = getImportNonce()
130
+ const loaded = await getAgentFactories(rootPath, importNonce)
131
+
132
+ if (lastLoadedImportNonce !== null && importNonce !== lastLoadedImportNonce) {
133
+ // Import nonce changed (e.g. `region-config.json` edited): drop cached agent instances
134
+ // so newly imported factories/config take effect without restarting Bosun.
135
+ for (const key of Object.keys(agents)) delete agents[key]
136
+ for (const key of Object.keys(agentStates)) delete agentStates[key]
137
+ }
138
+ lastLoadedImportNonce = importNonce
118
139
  basePath = loaded.basePath
119
140
  factories = loaded.factories
120
141
  console.log(`createAgents, load; loaded agents: ${Object.keys(factories)}`)
121
142
  await dispatcher.sendLoaded(Object.keys(factories))
122
143
  },
123
- select: async (agentId: string, stateId?: string | null) => {
144
+ reload: async () => {
145
+ await api.load()
146
+ const agentId = currentAgent || Object.keys(factories)[0]
147
+ if (!agentId) return
148
+
149
+ // Force a fresh agent instance so updated factories/config take effect immediately.
150
+ const cacheKey = getAgentCacheKey(agentId, currentRegion)
151
+ delete agents[cacheKey]
152
+ delete agentStates[cacheKey]
153
+ await api.select(agentId, null, currentRegion)
154
+ },
155
+ select: async (agentId: string, stateId?: string | null, region?: string | null) => {
124
156
  console.log('createAgents, select; agents: ', Object.keys(agents), 'selected: ', agentId)
125
157
  currentAgent = agentId
158
+ currentRegion = region || null
126
159
  const agent = await getCurrentAgent()
127
160
 
128
161
  dispatcher.sendAgentSelected({
@@ -145,7 +178,7 @@ export function createAgents(
145
178
  dispatcher.sendContext(context, promptContext)
146
179
  }
147
180
 
148
- const states = agentStates[agentId] || []
181
+ const states = agentStates[getAgentCacheKey(agentId, currentRegion)] || []
149
182
  let isInitialLoad = false
150
183
  if (stateId === undefined && states.length > 0) {
151
184
  stateId = states[states.length - 1].id
@@ -177,6 +210,8 @@ export function createAgents(
177
210
  await (await getCurrentAgent()).handleMessage(message)
178
211
  }
179
212
  }
213
+
214
+ return api
180
215
  }
181
216
 
182
217
  type Public<T> = { [P in keyof T]: T[P] }
@@ -184,6 +219,7 @@ interface LoadProps extends Public<MessageDispatcher> {
184
219
  agentId: string
185
220
  basePath: string
186
221
  factory: TestAgentFactory
222
+ region?: string | null
187
223
  contextPersistence: ContextPersistence
188
224
  statePersistence: StatePersistence
189
225
  }
@@ -195,6 +231,10 @@ async function loadAgent(props: LoadProps) {
195
231
  let scheduler: BosunScheduler | null = null
196
232
  let agent: TestAgent | null = null
197
233
  const ctx = createContext({})
234
+ if (props.region) {
235
+ const current = (ctx.get() as Record<string, unknown> | null | undefined) || {}
236
+ ctx.set({ ...current, recombineRegion: props.region })
237
+ }
198
238
  ctx.subscribe((context) => {
199
239
  console.log('------ context updated --------')
200
240
  const promptContext = ctx.getPromptContextMapper()(context)
@@ -318,7 +358,9 @@ async function loadAgent(props: LoadProps) {
318
358
  // if saved context is not empty, let's replace context in ctx with it.
319
359
  const savedContext = await props.contextPersistence.load('default')
320
360
  if (savedContext && Object.keys(savedContext).length > 0) {
321
- ctx.set(savedContext)
361
+ ctx.set(props.region ? { ...savedContext, recombineRegion: props.region } : savedContext)
362
+ } else if (ctx.get()) {
363
+ await props.contextPersistence.save('default', ctx.get())
322
364
  }
323
365
 
324
366
  async function saveStates(states: AgentState[]) {
@@ -20,7 +20,10 @@ export async function oldServer(ws: WebSocket) {
20
20
  case 'app-events':
21
21
  switch (msg.event.type) {
22
22
  case 'select-agent':
23
- await agents.select(msg.event.agent, msg.event.state)
23
+ await agents.select(msg.event.agent, msg.event.state, msg.event.region)
24
+ break
25
+ case 'reload-project':
26
+ await agents.reload()
24
27
  break
25
28
  case 'context-updated':
26
29
  agents.updateContext(msg.event.context)
@@ -91,6 +91,7 @@ export function createRolePlayRouter(t: TRPCRootObject<TrpcContext, any, any>) {
91
91
  }),
92
92
  context: t.procedure.input(z.object({ agentId: z.string() })).query(async ({ input }) => {
93
93
  const savedContext = await fsContextPersistence.load('default')
94
+ if (!savedContext) return {}
94
95
  let mapper = promptMappersCache.get(input.agentId)
95
96
  if (mapper) {
96
97
  return mapper(savedContext)
@@ -5,6 +5,7 @@ import { createHTTPServer } from '@trpc/server/adapters/standalone'
5
5
  import { oldServer } from './roleplay/old-server'
6
6
  import { createRolePlayRouter } from './roleplay/router'
7
7
  import { createTestsRouter } from './tests/router'
8
+ import { createRegionConfigRouter } from './region/router'
8
9
  import { createContext, type TrpcContext } from './lib/trpc-context'
9
10
  import { cors } from './lib/middleware/cors'
10
11
 
@@ -22,7 +23,8 @@ const t = initTRPC.context<TrpcContext>().create()
22
23
 
23
24
  const appRouter = t.router({
24
25
  agents: createRolePlayRouter(t),
25
- tests: createTestsRouter(t)
26
+ tests: createTestsRouter(t),
27
+ regionConfig: createRegionConfigRouter(t)
26
28
  })
27
29
 
28
30
  export type AppRouter = typeof appRouter