@recombine-ai/bosun 0.13.0 → 0.15.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 (224) hide show
  1. package/bin/bosun.js +7 -0
  2. package/build/client/_app/immutable/assets/0.b0jhAoSC.css +1 -0
  3. package/build/client/_app/immutable/assets/0.b0jhAoSC.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.b0jhAoSC.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/BTX1tKMW.js +1 -0
  6. package/build/client/_app/immutable/chunks/BTX1tKMW.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BTX1tKMW.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/BVxLHCs8.js +1 -0
  9. package/build/client/_app/immutable/chunks/BVxLHCs8.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BVxLHCs8.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{De8YgKS3.js → ChVBNPUb.js} +1 -1
  12. package/build/client/_app/immutable/chunks/ChVBNPUb.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/ChVBNPUb.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/E9rdsnHb.js +1 -0
  15. package/build/client/_app/immutable/chunks/E9rdsnHb.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/E9rdsnHb.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Z1_c4us_.js +3 -0
  18. package/build/client/_app/immutable/chunks/Z1_c4us_.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Z1_c4us_.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{Bj8jfBTi.js → lmnC3bvv.js} +1 -1
  21. package/build/client/_app/immutable/chunks/lmnC3bvv.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/lmnC3bvv.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/{app.DK_wVDeR.js → app.BY5DP2K_.js} +2 -2
  24. package/build/client/_app/immutable/entry/app.BY5DP2K_.js.br +0 -0
  25. package/build/client/_app/immutable/entry/app.BY5DP2K_.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/start.BeIIwvvV.js +1 -0
  27. package/build/client/_app/immutable/entry/start.BeIIwvvV.js.br +0 -0
  28. package/build/client/_app/immutable/entry/start.BeIIwvvV.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{0.5fEbn14Q.js → 0.Cao0LJwW.js} +1 -1
  30. package/build/client/_app/immutable/nodes/0.Cao0LJwW.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/0.Cao0LJwW.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{1.CJrSN8zL.js → 1.Kjgu6yxL.js} +1 -1
  33. package/build/client/_app/immutable/nodes/1.Kjgu6yxL.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/1.Kjgu6yxL.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{10.SZwTlOEA.js → 10.yW2mHq85.js} +1 -1
  36. package/build/client/_app/immutable/nodes/10.yW2mHq85.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/10.yW2mHq85.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{17.D-KFl7Vk.js → 17.COHkD98p.js} +3 -3
  39. package/build/client/_app/immutable/nodes/17.COHkD98p.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/17.COHkD98p.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/18.DQVit7Md.js +11 -0
  42. package/build/client/_app/immutable/nodes/18.DQVit7Md.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/18.DQVit7Md.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/2.DVwYttKv.js +35 -0
  45. package/build/client/_app/immutable/nodes/2.DVwYttKv.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/2.DVwYttKv.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{3.B1RGTOJ8.js → 3.BhmyTb3R.js} +1 -1
  48. package/build/client/_app/immutable/nodes/3.BhmyTb3R.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/3.BhmyTb3R.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{4.D2jcIUpD.js → 4.CxATX0ci.js} +1 -1
  51. package/build/client/_app/immutable/nodes/4.CxATX0ci.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/4.CxATX0ci.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{5.CUyCIyRd.js → 5.Dal1qxB1.js} +1 -1
  54. package/build/client/_app/immutable/nodes/5.Dal1qxB1.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/5.Dal1qxB1.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{6.B8HsGA2V.js → 6.iAOxBhJw.js} +1 -1
  57. package/build/client/_app/immutable/nodes/6.iAOxBhJw.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/6.iAOxBhJw.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/{8.jY56-_OU.js → 8.DFhKu3dp.js} +1 -1
  60. package/build/client/_app/immutable/nodes/8.DFhKu3dp.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/8.DFhKu3dp.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/9.DRIEv5m9.js +2 -0
  63. package/build/client/_app/immutable/nodes/9.DRIEv5m9.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/9.DRIEv5m9.js.gz +0 -0
  65. package/build/client/_app/version.json +1 -1
  66. package/build/client/_app/version.json.br +0 -0
  67. package/build/client/_app/version.json.gz +0 -0
  68. package/build/server/chunks/{0-4QCErf9j.js → 0-CIzAMtA3.js} +3 -3
  69. package/build/server/chunks/{0-4QCErf9j.js.map → 0-CIzAMtA3.js.map} +1 -1
  70. package/build/server/chunks/{1-Dsjy8Hzc.js → 1-D1heuNbf.js} +2 -2
  71. package/build/server/chunks/{1-Dsjy8Hzc.js.map → 1-D1heuNbf.js.map} +1 -1
  72. package/build/server/chunks/{10-8061c8ui.js → 10-CjLtjXyZ.js} +2 -2
  73. package/build/server/chunks/{10-8061c8ui.js.map → 10-CjLtjXyZ.js.map} +1 -1
  74. package/build/server/chunks/{17-3_5wsIEX.js → 17-DklEmmOx.js} +4 -4
  75. package/build/server/chunks/{17-3_5wsIEX.js.map → 17-DklEmmOx.js.map} +1 -1
  76. package/build/server/chunks/{18-D73Mw140.js → 18-BJS-eRcz.js} +4 -4
  77. package/build/server/chunks/18-BJS-eRcz.js.map +1 -0
  78. package/build/server/chunks/{2-DM0VjzFi.js → 2-DCrAVYXs.js} +4 -4
  79. package/build/server/chunks/2-DCrAVYXs.js.map +1 -0
  80. package/build/server/chunks/{3-B3zlFGkL.js → 3-BpTqa4DU.js} +2 -2
  81. package/build/server/chunks/{3-B3zlFGkL.js.map → 3-BpTqa4DU.js.map} +1 -1
  82. package/build/server/chunks/{4-tESdMZpI.js → 4-B7GjwQzI.js} +2 -2
  83. package/build/server/chunks/{4-tESdMZpI.js.map → 4-B7GjwQzI.js.map} +1 -1
  84. package/build/server/chunks/{5-BJMTlq4U.js → 5-XjS__bcp.js} +2 -2
  85. package/build/server/chunks/{5-BJMTlq4U.js.map → 5-XjS__bcp.js.map} +1 -1
  86. package/build/server/chunks/{6-CDK2Aia6.js → 6-DWkWptmB.js} +2 -2
  87. package/build/server/chunks/{6-CDK2Aia6.js.map → 6-DWkWptmB.js.map} +1 -1
  88. package/build/server/chunks/{8-BJbDytoU.js → 8-_swAx6gL.js} +2 -2
  89. package/build/server/chunks/{8-BJbDytoU.js.map → 8-_swAx6gL.js.map} +1 -1
  90. package/build/server/chunks/{9-BNfIeSqk.js → 9-NEe24O4u.js} +4 -4
  91. package/build/server/chunks/9-NEe24O4u.js.map +1 -0
  92. package/build/server/chunks/{ChatStepTrace-DQL3qlna.js → ChatStepTrace-CX2Zolmp.js} +21 -8
  93. package/build/server/chunks/ChatStepTrace-CX2Zolmp.js.map +1 -0
  94. package/build/server/chunks/{_layout.svelte-DK7yl8vI.js → _layout.svelte-PtdpfgwJ.js} +66 -4
  95. package/build/server/chunks/_layout.svelte-PtdpfgwJ.js.map +1 -0
  96. package/build/server/chunks/{_page.svelte-ZWNBigwS.js → _page.svelte-C3gizoSD.js} +7 -4
  97. package/build/server/chunks/_page.svelte-C3gizoSD.js.map +1 -0
  98. package/build/server/chunks/{_page.svelte-D6bSXGHX.js → _page.svelte-CoCBnE2l.js} +8 -5
  99. package/build/server/chunks/_page.svelte-CoCBnE2l.js.map +1 -0
  100. package/build/server/chunks/{_page.svelte-ej3vdYeF.js → _page.svelte-DZvcjON6.js} +3 -2
  101. package/build/server/chunks/_page.svelte-DZvcjON6.js.map +1 -0
  102. package/build/server/chunks/steps-DzZCg39h.js +8 -0
  103. package/build/server/chunks/steps-DzZCg39h.js.map +1 -0
  104. package/build/server/index.js +1 -1
  105. package/build/server/index.js.map +1 -1
  106. package/build/server/manifest.js +13 -13
  107. package/build/server/manifest.js.map +1 -1
  108. package/package.json +4 -4
  109. package/src/backend/lib/backend-restart.ts +15 -0
  110. package/src/backend/roleplay/router.ts +42 -5
  111. package/src/backend/roleplay/schema-file.spec.ts +38 -0
  112. package/src/backend/roleplay/schema-file.ts +33 -0
  113. package/src/backend/tests/academy.ts +4 -2
  114. package/src/backend/tests/analyze.ts +2 -1
  115. package/src/backend/tests/emulate-agents.ts +13 -21
  116. package/src/backend/tests/pii-sanitized-test-drafts.spec.ts +162 -0
  117. package/src/backend/tests/pii-sanitized-test-drafts.ts +106 -0
  118. package/src/backend/tests/pii-sanitizer.spec.ts +145 -0
  119. package/src/backend/tests/pii-sanitizer.ts +171 -0
  120. package/src/backend/tests/router.ts +37 -0
  121. package/src/lib/agent-catalog.ts +4 -0
  122. package/src/lib/agents-context.ts +8 -0
  123. package/src/lib/api-telescope/client.ts +174 -0
  124. package/src/lib/api-telescope/index.ts +4 -0
  125. package/src/lib/api-telescope/latency-timeline-view-state.spec.ts +25 -0
  126. package/src/lib/api-telescope/latency-timeline-view-state.ts +86 -0
  127. package/src/lib/api-telescope/latency.ts +252 -0
  128. package/src/lib/api-telescope/source-selection.ts +20 -0
  129. package/src/lib/api-telescope/sources.server.ts +94 -0
  130. package/src/lib/api-telescope/types.ts +143 -0
  131. package/src/lib/components/Button.svelte +62 -0
  132. package/src/lib/components/CollapseExpand.svelte +425 -0
  133. package/src/lib/components/CopyTracesDropdown.svelte +118 -0
  134. package/src/lib/components/Dialog.svelte +69 -0
  135. package/src/lib/components/Dropdown.svelte +111 -0
  136. package/src/lib/components/History.svelte +174 -0
  137. package/src/lib/components/Icon.svelte +94 -0
  138. package/src/lib/components/Input.svelte +43 -0
  139. package/src/lib/components/Link.svelte +45 -0
  140. package/src/lib/components/Modal.svelte +45 -0
  141. package/src/lib/components/Panel.svelte +12 -0
  142. package/src/lib/components/PopoverModal.svelte +34 -0
  143. package/src/lib/components/Popper.svelte +109 -0
  144. package/src/lib/components/Tab.svelte +91 -0
  145. package/src/lib/components/Tabs.svelte +140 -0
  146. package/src/lib/components/agent-colors.ts +70 -0
  147. package/src/lib/dom/text-selection.ts +97 -0
  148. package/src/lib/edit/edit-vm.spec.ts +115 -0
  149. package/src/lib/edit/edit-vm.ts +169 -0
  150. package/src/lib/edit/edit-workspace-context.ts +56 -0
  151. package/src/lib/edit/highlight-styles.spec.ts +14 -0
  152. package/src/lib/edit/prompt-highlighter.spec.ts +80 -0
  153. package/src/lib/edit/prompt-highlighter.ts +155 -0
  154. package/src/lib/edit/quote-matching.ts +97 -0
  155. package/src/lib/monaco/bosun-theme.ts +125 -0
  156. package/src/lib/monaco/font.ts +2 -0
  157. package/src/lib/monaco-workers.ts +28 -0
  158. package/src/lib/steps.ts +19 -0
  159. package/src/lib/tests/pii-sanitized-test-draft.ts +50 -0
  160. package/src/lib/trpc-client.ts +16 -0
  161. package/src/lib/ws-client.ts +144 -0
  162. package/src/lib/ws-message.ts +150 -0
  163. package/build/client/_app/immutable/assets/0.B-Br6U4N.css +0 -1
  164. package/build/client/_app/immutable/assets/0.B-Br6U4N.css.br +0 -0
  165. package/build/client/_app/immutable/assets/0.B-Br6U4N.css.gz +0 -0
  166. package/build/client/_app/immutable/chunks/BOuo-4gP.js +0 -1
  167. package/build/client/_app/immutable/chunks/BOuo-4gP.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/BOuo-4gP.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/Bj8jfBTi.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/Bj8jfBTi.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/CX0Ekq8t.js +0 -1
  172. package/build/client/_app/immutable/chunks/CX0Ekq8t.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/CX0Ekq8t.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/Cyj62X2W.js +0 -2
  175. package/build/client/_app/immutable/chunks/Cyj62X2W.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/Cyj62X2W.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/DSDSeO7L.js +0 -1
  178. package/build/client/_app/immutable/chunks/DSDSeO7L.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/DSDSeO7L.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/De8YgKS3.js.br +0 -1
  181. package/build/client/_app/immutable/chunks/De8YgKS3.js.gz +0 -0
  182. package/build/client/_app/immutable/entry/app.DK_wVDeR.js.br +0 -0
  183. package/build/client/_app/immutable/entry/app.DK_wVDeR.js.gz +0 -0
  184. package/build/client/_app/immutable/entry/start.xQy-2aGo.js +0 -1
  185. package/build/client/_app/immutable/entry/start.xQy-2aGo.js.br +0 -2
  186. package/build/client/_app/immutable/entry/start.xQy-2aGo.js.gz +0 -0
  187. package/build/client/_app/immutable/nodes/0.5fEbn14Q.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/0.5fEbn14Q.js.gz +0 -0
  189. package/build/client/_app/immutable/nodes/1.CJrSN8zL.js.br +0 -0
  190. package/build/client/_app/immutable/nodes/1.CJrSN8zL.js.gz +0 -0
  191. package/build/client/_app/immutable/nodes/10.SZwTlOEA.js.br +0 -0
  192. package/build/client/_app/immutable/nodes/10.SZwTlOEA.js.gz +0 -0
  193. package/build/client/_app/immutable/nodes/17.D-KFl7Vk.js.br +0 -0
  194. package/build/client/_app/immutable/nodes/17.D-KFl7Vk.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/18.DqRdJY9A.js +0 -11
  196. package/build/client/_app/immutable/nodes/18.DqRdJY9A.js.br +0 -0
  197. package/build/client/_app/immutable/nodes/18.DqRdJY9A.js.gz +0 -0
  198. package/build/client/_app/immutable/nodes/2.B3Uuk25v.js +0 -35
  199. package/build/client/_app/immutable/nodes/2.B3Uuk25v.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/2.B3Uuk25v.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/3.B1RGTOJ8.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/3.B1RGTOJ8.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/4.D2jcIUpD.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/4.D2jcIUpD.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/5.CUyCIyRd.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/5.CUyCIyRd.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/6.B8HsGA2V.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/6.B8HsGA2V.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/8.jY56-_OU.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/8.jY56-_OU.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/9.v5dX6L9n.js +0 -2
  212. package/build/client/_app/immutable/nodes/9.v5dX6L9n.js.br +0 -0
  213. package/build/client/_app/immutable/nodes/9.v5dX6L9n.js.gz +0 -0
  214. package/build/server/chunks/18-D73Mw140.js.map +0 -1
  215. package/build/server/chunks/2-DM0VjzFi.js.map +0 -1
  216. package/build/server/chunks/9-BNfIeSqk.js.map +0 -1
  217. package/build/server/chunks/ChatStepTrace-DQL3qlna.js.map +0 -1
  218. package/build/server/chunks/_layout.svelte-DK7yl8vI.js.map +0 -1
  219. package/build/server/chunks/_page.svelte-D6bSXGHX.js.map +0 -1
  220. package/build/server/chunks/_page.svelte-ZWNBigwS.js.map +0 -1
  221. package/build/server/chunks/_page.svelte-ej3vdYeF.js.map +0 -1
  222. /package/build/client/_app/immutable/assets/{Popper.CLTyHc88.css → steps.CLTyHc88.css} +0 -0
  223. /package/build/client/_app/immutable/assets/{Popper.CLTyHc88.css.br → steps.CLTyHc88.css.br} +0 -0
  224. /package/build/client/_app/immutable/assets/{Popper.CLTyHc88.css.gz → steps.CLTyHc88.css.gz} +0 -0
@@ -1 +0,0 @@
1
- var ae=t=>{throw TypeError(t)};var Ke=(t,e,n)=>e.has(t)||ae("Cannot "+n);var b=(t,e,n)=>(Ke(t,e,"read from private field"),n?n.call(t):e.get(t)),A=(t,e,n)=>e.has(t)?ae("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{T as wt,bw as Me,h as Fe,w as P,j as T,y as I}from"./CxLomzuE.js";import{w as Mt}from"./uLGP0py1.js";import{b as Ge,H as Ft,S as Gt,R as Ht}from"./OA8UcISh.js";import{o as oe}from"./C39ai1md.js";const He="1785244186734";var ge;const U=((ge=globalThis.__sveltekit_1o7y843)==null?void 0:ge.base)??"";var me;const We=((me=globalThis.__sveltekit_1o7y843)==null?void 0:me.assets)??U??"";new URL("sveltekit-internal://");function Ye(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function ze(t){return t.split("%25").map(decodeURI).join("%25")}function Je(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Ct({href:t}){return t.split("#")[0]}function Xe(t,e,n,a=!1){const r=new URL(t);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(o,s){if(s==="get"||s==="getAll"||s==="has")return(c,...u)=>(n(c),o[s](c,...u));e();const l=Reflect.get(o,s);return typeof l=="function"?l.bind(o):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];a&&i.push("hash");for(const o of i)Object.defineProperty(r,o,{get(){return e(),t[o]},enumerable:!0,configurable:!0});return r}const Qe=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,Ze=/^\/\((?:[^)]+)\)$/;function tn(t){const e=[];return{pattern:t==="/"||Ze.test(t)?/^\/$/:new RegExp(`^${nn(t).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return e.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return jt(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return jt(String.fromCharCode(...l.slice(2).split("-").map(f=>parseInt(f,16))));const u=Qe.exec(l),[,g,_,d,p]=u;return e.push({name:d,matcher:p,optional:!!g,rest:!!_,chained:_?c===1&&o[0]==="":!1}),_?"([^]*?)":g?"([^/]*)?":"([^/]+?)"}return jt(l)}).join("")}).join("")}/?$`),params:e}}function en(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function nn(t){return t.slice(1).split("/").filter(en)}function rn(t,e,n){const a={},r=t.slice(1),i=r.filter(s=>s!==void 0);let o=0;for(let s=0;s<e.length;s+=1){const l=e[s];let c=r[s-o];if(l.chained&&l.rest&&o&&(c=r.slice(s-o,s+1).filter(u=>u).join("/"),o=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const u=e[s+1],g=r[s+1];u&&!u.rest&&u.optional&&g&&l.chained&&(o=0),!u&&!g&&Object.keys(a).length===i.length&&(o=0);continue}if(l.optional&&l.chained){o++;continue}return}if(!o)return a}function jt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function $(){}function an(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}const on=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&Q.delete(Wt(t)),on(t,e));const Q=new Map;function sn(t,e){const n=Wt(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);a.getAttribute("data-b64")!==null&&(r=Ge(r));const s=a.getAttribute("data-ttl");return s&&Q.set(n,{body:r,init:i,ttl:1e3*Number(s)}),Promise.resolve(new Response(r,i))}return window.fetch(t,e)}function ln(t,e,n){if(Q.size>0){const a=Wt(t,n),r=Q.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);Q.delete(a)}}return window.fetch(e,n)}function Wt(t,e){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const r=[];e.headers&&r.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&r.push(e.body),a+=`[data-hash="${an(...r)}"]`}return a}function cn({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([s,[l,c,u]])=>{const{pattern:g,params:_}=tn(s),d={id:s,exec:p=>{const f=g.exec(p);if(f)return rn(f,_,a)},errors:[1,...u||[]].map(p=>t[p]),layouts:[0,...c||[]].map(o),leaf:i(l)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function i(s){const l=s<0;return l&&(s=~s),[l,t[s]]}function o(s){return s===void 0?s:[r.has(s),t[s]]}}function ye(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function se(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}const be="sveltekit:snapshot",ke="sveltekit:scroll",Yt="sveltekit:states",Se="sveltekit:pageurl",B="sveltekit:history",W="sveltekit:navigation",V={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Re=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Re];const fn=new Set([...Re]);[...fn];function un(t){return t.filter(e=>e!=null)}function mt(t,e){return t+"/"+e}function zt(t){return t instanceof Ft||t instanceof Gt?t.status:500}function dn(t){return t instanceof Gt?t.text:"Internal Error"}const ie={spanContext(){return hn},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},hn={traceId:"",spanId:"",traceFlags:0},pn=Fe??(t=>t()),gn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const D=ye(ke)??{},tt=ye(be)??{},N={url:he({}),page:he({}),navigating:Mt(null),updated:On()};function Jt(t){D[t]=K()}function mn(t,e){let n=t+1;for(;D[n];)delete D[n],n+=1;for(n=e+1;tt[n];)delete tt[n],n+=1}function et(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise($)}async function Ee(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(U||"/");t&&await t.update()}}let Xt,qt,vt,O,Vt,S;const yt=[],bt=[];let v=null;function kt(){var t;(t=v==null?void 0:v.fork)==null||t.then(e=>e==null?void 0:e.discard()),v=null,G={element:void 0,href:void 0}}const _t=new Map,xe=new Set,_n=new Set,Z=new Set;let w={branch:[],error:null,url:null},Le=!1,St=!1,le=!0,nt=!1,X=!1,Ue=!1,Qt=!1,Zt,k,L,j;const Rt=new Set,ce=new Map,fe=new Map;async function Vn(t,e,n){var i,o,s,l;if(globalThis.__sveltekit_1o7y843.data){const{q:c={},p:u={},l:g={},f:_={}}=globalThis.__sveltekit_1o7y843.data;for(const d in c)c[d];for(const d in g)g[d];for(const d in _)_[d];for(const d in u)u[d]}document.URL!==location.href&&(location.href=location.href),S=t,await((o=(i=t.hooks).init)==null?void 0:o.call(i)),Xt=cn(t),O=document.documentElement,Vt=e,qt=t.nodes[0],vt=t.nodes[1],qt(),vt(),k=(s=history.state)==null?void 0:s[B],L=(l=history.state)==null?void 0:l[W],k||(k=L=Date.now(),history.replaceState({...history.state,[B]:k,[W]:L},""));const a=D[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await An(Vt,n)):(await H({type:"enter",url:Tt(S.hash?In(new URL(location.href)):location.href),replace_state:!0}),r()),Un()}function wn(){yt.length=0,Qt=!1}function Ae(t){bt.some(e=>e==null?void 0:e.snapshot)&&(tt[t]=bt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Pe(t){var e;(e=tt[t])==null||e.forEach((n,a)=>{var r,i;(i=(r=bt[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ue(){Jt(k),se(ke,D),Ae(L),se(be,tt)}async function Te(t,e,n,a){let r,i;e.invalidateAll&&kt(),await H({type:"goto",url:Tt(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{var o;if(e.invalidateAll){Qt=!0,r=new Set;for(const[s,l]of ce)for(const[c,u]of l)(o=u.resource)==null||o.reset(),r.add(mt(s,c));i=new Set;for(const[s,l]of fe)for(const c of l.keys())i.add(mt(s,c))}e.invalidate&&e.invalidate.forEach(Ln)}}),e.invalidateAll&&wt().then(wt).then(()=>{for(const[o,s]of ce)for(const[l,{resource:c}]of s)r!=null&&r.has(mt(o,l))&&c.start();for(const[o,s]of fe)for(const[l,{resource:c}]of s)i!=null&&i.has(mt(o,l))&&c.reconnect()})}async function vn(t){if(t.id!==(v==null?void 0:v.id)){kt();const e={};Rt.add(e),v={id:t.id,token:e,promise:$e({...t,preload:e}).then(n=>(Rt.delete(e),n.type==="loaded"&&n.state.error&&kt(),n)),fork:null}}return v.promise}async function Nt(t){var n;const e=(n=await Ut(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(a=>a[1]()))}async function Ie(t,e,n){var r;const a={params:w.params,route:{id:((r=w.route)==null?void 0:r.id)??null},url:new URL(location.href)};if(w={...t.state,nav:a},Be(t.props.page),Zt=new S.root({target:e,props:{...t.props,stores:N,components:bt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Pe(L),n){const i={from:null,to:{...a,scroll:D[k]??K()},willUnload:!1,type:"enter",complete:Promise.resolve()};Z.forEach(o=>o(i))}St=!0}async function Et({url:t,params:e,branch:n,errors:a,status:r,error:i,route:o,form:s}){let l="never";if(U&&(t.pathname===U||t.pathname===U+"/"))l="always";else for(const p of n)(p==null?void 0:p.slash)!==void 0&&(l=p.slash);t.pathname=Ye(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:i,route:o},props:{constructors:un(n).map(p=>p.node.component),page:At(R)}};s!==void 0&&(c.props.form=s);let u={},g=!R,_=0;for(let p=0;p<Math.max(n.length,w.branch.length);p+=1){const f=n[p],h=w.branch[p];(f==null?void 0:f.data)!==(h==null?void 0:h.data)&&(g=!0),f&&(u={...u,...f.data},g&&(c.props[`data_${_}`]=u),_+=1)}return(!w.url||t.href!==w.url.href||w.error!==i||s!==void 0&&s!==R.form||g)&&(c.props.page={error:i,params:e,route:{id:(o==null?void 0:o.id)??null},state:{},status:r,url:new URL(t),form:s??null,data:g?u:R.data}),c}async function te({loader:t,parent:e,url:n,params:a,route:r,server_data_node:i}){var u,g,_;let o=null,s=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();if((u=c.universal)!=null&&u.load){let d=function(...f){for(const h of f){const{href:m}=new URL(h,n);l.dependencies.add(m)}};const p={tracing:{enabled:!1,root:ie,current:ie},route:new Proxy(r,{get:(f,h)=>(s&&(l.route=!0),f[h])}),params:new Proxy(a,{get:(f,h)=>(s&&l.params.add(h),f[h])}),data:(i==null?void 0:i.data)??null,url:Xe(n,()=>{s&&(l.url=!0)},f=>{s&&l.search_params.add(f)},S.hash),async fetch(f,h){f instanceof Request&&(h={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f==null?void 0:f.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...h});const{resolved:m,promise:y}=Oe(f,h,n);return s&&d(m.href),y},setHeaders:$,depends:d,parent(){return s&&(l.parent=!0),e()},untrack(f){s=!1;try{return f()}finally{s=!0}}};o=await c.universal.load.call(null,p)??null}return{node:c,loader:t,server:i,universal:(g=c.universal)!=null&&g.load?{type:"data",data:o,uses:l}:null,data:o??(i==null?void 0:i.data)??null,slash:((_=c.universal)==null?void 0:_.trailingSlash)??(i==null?void 0:i.slash)}}function Oe(t,e,n){let a=t instanceof Request?t.url:t;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=St?ln(a,r.href,e):sn(a,e);return{resolved:r,promise:i}}function yn(t,e,n,a,r,i){if(Qt)return!0;if(!r)return!1;if(r.parent&&t||r.route&&e||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(i[o]!==w.params[o])return!0;for(const o of r.dependencies)if(yt.some(s=>s(new URL(o))))return!0;return!1}function ee(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function bn(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),i=e.searchParams.getAll(a);r.every(o=>i.includes(o))&&i.every(o=>r.includes(o))&&n.delete(a)}return n}function kn({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:At(R),constructors:[]}}}async function $e({id:t,invalidating:e,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===t)return Rt.delete(v.token),v.promise;const{errors:o,layouts:s,leaf:l}=r,c=[...s,l];o.forEach(h=>h==null?void 0:h().catch($)),c.forEach(h=>h==null?void 0:h[1]().catch($));const u=w.url?t!==xt(w.url):!1,g=w.route?r.id!==w.route.id:!1,_=bn(w.url,n);let d=!1;const p=c.map(async(h,m)=>{var C;if(!h)return;const y=w.branch[m];return h[1]===(y==null?void 0:y.loader)&&!yn(d,g,u,_,(C=y.universal)==null?void 0:C.uses,a)?y:(d=!0,te({loader:h[1],url:n,params:a,route:r,parent:async()=>{var gt;const q={};for(let M=0;M<m;M+=1)Object.assign(q,(gt=await p[M])==null?void 0:gt.data);return q},server_data_node:ee(h[0]?{type:"skip"}:null,h[0]?y==null?void 0:y.server:void 0)}))});for(const h of p)h.catch($);const f=[];for(let h=0;h<c.length;h+=1)if(c[h])try{f.push(await p[h])}catch(m){if(m instanceof Ht)return{type:"redirect",location:m.location};if(Rt.has(i))return kn({error:await rt(m,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let y=zt(m),x;if(m instanceof Ft)x=m.body;else{if(await N.updated.check())return await Ee(),await et(n);x=await rt(m,{params:a,url:n,route:{id:r.id}})}const C=await Sn(h,f,o);return C?Et({url:n,params:a,branch:f.slice(0,C.idx).concat(C.node),errors:o,status:y,error:x,route:r}):await je(n,{id:r.id},x,y)}else f.push(void 0);return Et({url:n,params:a,branch:f,errors:o,status:200,error:null,route:r,form:e?void 0:null})}async function Sn(t,e,n){for(;t--;)if(n[t]){let a=t;for(;!e[a];)a-=1;try{return{idx:a+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function ne({status:t,error:e,url:n,route:a}){const r={};let i=null;try{const o=await te({loader:qt,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:ee(i)}),s={node:await vt(),loader:vt,universal:null,server:null,data:null};return Et({url:n,params:r,branch:[o,s],status:t,error:e,errors:[],route:null})}catch(o){if(o instanceof Ht)return Te(new URL(o.location,location.href),{},0);throw o}}async function Rn(t){const e=t.href;if(_t.has(e))return _t.get(e);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(t),fetch:async(i,o)=>Oe(i,o,t).promise})??t;if(typeof r=="string"){const i=new URL(t);S.hash?i.hash=r:i.pathname=r,r=i}return r})();_t.set(e,a),n=await a}catch{_t.delete(e);return}return n}async function Ut(t,e){if(t&&!It(t,U,S.hash)){const n=await Rn(t);if(!n)return;const a=En(n);for(const r of Xt){const i=r.exec(a);if(i)return{id:xt(t),invalidating:e,route:r,params:Je(i),url:t}}}}function En(t){return ze(S.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(U.length))||"/"}function xt(t){return(S.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Ce({url:t,type:e,intent:n,delta:a,event:r,scroll:i}){let o=!1;const s=re(w,n,t,e,i??null);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const l={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return nt||xe.forEach(c=>c(l)),o?null:s}async function H({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o={},redirect_count:s=0,nav_token:l={},accept:c=$,block:u=$,event:g}){var M;const _=j;j=l;const d=await Ut(e,!1),p=t==="enter"?re(w,d,e,t):Ce({url:e,type:t,delta:n==null?void 0:n.delta,intent:d,scroll:n==null?void 0:n.scroll,event:g});if(!p){u(),j===l&&(j=_);return}const f=k,h=L;c(),nt=!0,St&&p.navigation.type!=="enter"&&N.navigating.set(at.current=p.navigation);let m=d&&await $e(d);if(!m){if(It(e,U,S.hash))return await et(e,i);m=await je(e,{id:null},await rt(new Gt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,i)}if(e=(d==null?void 0:d.url)||e,j!==l)return p.reject(new Error("navigation aborted")),!1;if(m.type==="redirect"){if(s<20){await H({type:t,url:new URL(m.location,e),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o,redirect_count:s+1,nav_token:l}),p.fulfil(void 0);return}m=await ne({status:500,error:await rt(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else m.props.page.status>=400&&await N.updated.check()&&(await Ee(),await et(e,i));if(wn(),Jt(f),Ae(h),m.props.page.url.pathname!==e.pathname&&(e.pathname=m.props.page.url.pathname),o=n?n.state:o,!n){const E=i?0:1,Y={[B]:k+=E,[W]:L+=E,[Yt]:o};(i?history.replaceState:history.pushState).call(history,Y,"",e),i||mn(k,L)}const y=d&&(v==null?void 0:v.id)===d.id?v.fork:null;v!=null&&v.fork&&!y?kt():(v=null,G={element:void 0,href:void 0}),m.props.page.state=o;let x;if(St){const E=(await Promise.all(Array.from(_n,z=>z(p.navigation)))).filter(z=>typeof z=="function");if(E.length>0){let z=function(){E.forEach($t=>{Z.delete($t)})};E.push(z),E.forEach($t=>{Z.add($t)})}const Y=p.navigation.to;w={...m.state,nav:{params:Y.params,route:Y.route,url:Y.url}},m.props.page&&(m.props.page.url=e);const Ot=y&&await y;Ot?x=Ot.commit():(J=null,Zt.$set(m.props),J&&Object.assign(m.props.page,J),Be(m.props.page),x=(M=Me)==null?void 0:M()),Ue=!0}else await Ie(m,Vt,!1);const{activeElement:C}=document;if(await x,await wt(),await wt(),j!==l)return p.reject(new Error("navigation aborted")),!1;m.props.page&&J&&Object.assign(m.props.page,J);let q=null;if(le){const E=n?n.scroll:r?K():null;E?scrollTo(E.x,E.y):(q=e.hash&&document.getElementById(Ne(e)))?q.scrollIntoView():scrollTo(0,0)}const gt=document.activeElement!==C&&document.activeElement!==document.body;!a&&!gt&&Tn(e,!q),le=!0,nt=!1,t==="popstate"&&Pe(L),p.fulfil(void 0),p.navigation.to&&(p.navigation.to.scroll=K()),Z.forEach(E=>E(p.navigation)),N.navigating.set(at.current=null)}async function je(t,e,n,a,r){return t.origin===Pt&&t.pathname===location.pathname&&!Le?await ne({status:a,error:n,url:t,route:e}):await et(t,r)}let G={element:void 0,href:void 0};function xn(){let t,e;O.addEventListener("mousemove",o=>{const s=o.target;clearTimeout(t),t=setTimeout(()=>{r(s,V.hover)},20)});function n(o){o.defaultPrevented||r(o.composedPath()[0],V.tap)}O.addEventListener("mousedown",n),O.addEventListener("touchstart",n,{passive:!0});const a=new IntersectionObserver(o=>{for(const s of o)s.isIntersecting&&(Nt(new URL(s.target.href)),a.unobserve(s.target))},{threshold:0});async function r(o,s){const l=qe(o,O),c=l===G.element&&(l==null?void 0:l.href)===G.href&&s>=e;if(!l||c)return;const{url:u,external:g,download:_}=Kt(l,U,S.hash);if(g||_)return;const d=Lt(l),p=u&&xt(w.url)===xt(u);if(!(d.reload||p))if(s<=d.preload_data){G={element:l,href:l.href},e=V.tap;const f=await Ut(u,!1);if(!f)return;vn(f)}else s<=d.preload_code&&(G={element:l,href:l.href},e=s,Nt(u))}function i(){a.disconnect();for(const o of O.querySelectorAll("a")){const{url:s,external:l,download:c}=Kt(o,U,S.hash);if(l||c)continue;const u=Lt(o);u.reload||(u.preload_code===V.viewport&&a.observe(o),u.preload_code===V.eager&&Nt(s))}}Z.add(i),i()}function rt(t,e){if(t instanceof Ft)return t.body;const n=zt(t),a=dn(t);return S.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function Bn(t,e={}){return t=new URL(Tt(t)),t.origin!==Pt?Promise.reject(new Error("goto: invalid URL")):Te(t,e,0)}function Ln(t){if(typeof t=="function")yt.push(t);else{const{href:e}=new URL(t,location.href);yt.push(n=>n.href===e)}}function Kn(t,e){const n={[B]:k,[W]:L,[Se]:R.url.href,[Yt]:e};history.replaceState(n,"",Tt(t)),R.state=e,Zt.$set({page:pn(()=>At(R))})}function Un(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ue(),!nt){const r=re(w,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};xe.forEach(o=>o(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ue()}),(e=navigator.connection)!=null&&e.saveData||xn(),O.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=qe(n.composedPath()[0],O);if(!a)return;const{url:r,external:i,target:o,download:s}=Kt(a,U,S.hash);if(!r)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const l=Lt(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[u,g]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),_=u===Ct(location);if(i||l.reload&&(!_||!g)){Ce({url:r,type:"link",event:n})?nt=!0:n.preventDefault();return}if(g!==void 0&&_){const[,d]=w.url.href.split("#");if(d===g){if(n.preventDefault(),g===""||g==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const p=a.ownerDocument.getElementById(decodeURIComponent(g));p&&(p.scrollIntoView(),p.focus())}return}if(X=!0,Jt(k),t(r),!l.replace_state)return;X=!1}n.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),await H({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),O.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const s=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(It(s,U,!1))return;const l=n.target,c=Lt(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const u=new FormData(l,r);s.search=new URLSearchParams(u).toString(),H({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Bt){if((a=n.state)!=null&&a[B]){const r=n.state[B];if(j={},r===k)return;const i=D[r],o=n.state[Yt]??{},s=new URL(n.state[Se]??location.href),l=n.state[W],c=w.url?Ct(location)===Ct(w.url):!1;if(l===L&&(Ue||c)){o!==R.state&&(R.state=o),t(s),D[k]=K(),i&&scrollTo(i.x,i.y),k=r;return}const g=r-k;await H({type:"popstate",url:s,popped:{state:o,scroll:i,delta:g},accept:()=>{k=r,L=l},block:()=>{history.go(-g)},nav_token:j,event:n})}else if(!X){const r=new URL(location.href);t(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{X&&(X=!1,history.replaceState({...history.state,[B]:++k,[W]:L},"",location.href))});for(const n of document.querySelectorAll("link"))gn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&N.navigating.set(at.current=null)});function t(n){w.url=R.url=n,N.page.set(At(R)),N.page.notify()}}async function An(t,{status:e=200,error:n,node_ids:a,params:r,route:i,server_route:o,data:s,form:l}){Le=!0;const c=new URL(location.href);let u;({params:r={},route:i={id:null}}=await Ut(c,!1)||{}),u=Xt.find(({id:d})=>d===i.id);let g,_=!0;try{const d=a.map(async(f,h)=>{const m=s[h];return m!=null&&m.uses&&(m.uses=Pn(m.uses)),te({loader:S.nodes[f],url:c,params:r,route:i,parent:async()=>{const y={};for(let x=0;x<h;x+=1)Object.assign(y,(await d[x]).data);return y},server_data_node:ee(m)})}),p=await Promise.all(d);if(u){const f=u.layouts;for(let h=0;h<f.length;h++)f[h]||p.splice(h,0,void 0)}g=await Et({url:c,params:r,branch:p,status:e,error:n,errors:u==null?void 0:u.errors,form:l,route:u??null})}catch(d){if(d instanceof Ht){await et(new URL(d.location,location.href));return}g=await ne({status:zt(d),error:await rt(d,{url:c,params:r,route:i}),url:c,route:i}),t.textContent="",_=!1}g.props.page&&(g.props.page.state={}),await Ie(g,t,_)}function Pn(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let Bt=!1;function Tn(t,e=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=Ne(t);if(a&&document.getElementById(a)){const{x:i,y:o}=K();setTimeout(()=>{const s=history.state;Bt=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(s,"",t),e&&scrollTo(i,o),Bt=!1})}else{const i=document.body,o=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),o!==null?i.setAttribute("tabindex",o):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let o=0;o<r.rangeCount;o+=1)i.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===i.length){for(let o=0;o<r.rangeCount;o+=1){const s=i[o],l=r.getRangeAt(o);if(s.commonAncestorContainer!==l.commonAncestorContainer||s.startContainer!==l.startContainer||s.endContainer!==l.endContainer||s.startOffset!==l.startOffset||s.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function re(t,e,n,a,r=null){var c,u;let i,o;const s=new Promise((g,_)=>{i=g,o=_});return s.catch($),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:K()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((u=e==null?void 0:e.route)==null?void 0:u.id)??null},url:n,scroll:r},willUnload:!e,type:a,complete:s},fulfil:i,reject:o}}function At(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function In(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Ne(t){let e;if(S.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}const Pt=location.origin;function Tt(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function K(){return{x:pageXOffset,y:pageYOffset}}function F(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const de={...V,"":V.hover};function De(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function qe(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=De(t)}}function Kt(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";a.hash=`#${s}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,i=!a||!!r||It(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(a==null?void 0:a.origin)===Pt&&t.hasAttribute("download");return{url:a,external:i,target:r,download:o}}function Lt(t){let e=null,n=null,a=null,r=null,i=null,o=null,s=t;for(;s&&s!==document.documentElement;)a===null&&(a=F(s,"preload-code")),r===null&&(r=F(s,"preload-data")),e===null&&(e=F(s,"keepfocus")),n===null&&(n=F(s,"noscroll")),i===null&&(i=F(s,"reload")),o===null&&(o=F(s,"replacestate")),s=De(s);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:de[a??"off"],preload_data:de[r??"off"],keepfocus:l(e),noscroll:l(n),reload:l(i),replace_state:l(o)}}function he(t){const e=Mt(t);let n=!0;function a(){n=!0,e.update(o=>o)}function r(o){n=!1,e.set(o)}function i(o){let s;return e.subscribe(l=>{(s===void 0||n&&l!==s)&&o(s=l)})}return{notify:a,set:r,subscribe:i}}const Ve={v:$};function On(){const{set:t,subscribe:e}=Mt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${We}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==He;return o&&(t(!0),Ve.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:a}}function It(t,e,n){return t.origin!==Pt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Mn(t){}let R,at,Dt;const $n=oe.toString().includes("$$")||/function \w+\(\) \{\}/.test(oe.toString()),pe="a:";var ot,st,it,lt,ct,ft,ut,dt,_e,ht,we,pt,ve;$n?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(pe)},at={current:null},Dt={current:!1}):(R=new(_e=class{constructor(){A(this,ot,P({}));A(this,st,P(null));A(this,it,P(null));A(this,lt,P({}));A(this,ct,P({id:null}));A(this,ft,P({}));A(this,ut,P(-1));A(this,dt,P(new URL(pe)))}get data(){return T(b(this,ot))}set data(e){I(b(this,ot),e)}get form(){return T(b(this,st))}set form(e){I(b(this,st),e)}get error(){return T(b(this,it))}set error(e){I(b(this,it),e)}get params(){return T(b(this,lt))}set params(e){I(b(this,lt),e)}get route(){return T(b(this,ct))}set route(e){I(b(this,ct),e)}get state(){return T(b(this,ft))}set state(e){I(b(this,ft),e)}get status(){return T(b(this,ut))}set status(e){I(b(this,ut),e)}get url(){return T(b(this,dt))}set url(e){I(b(this,dt),e)}},ot=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,ut=new WeakMap,dt=new WeakMap,_e),at=new(we=class{constructor(){A(this,ht,P(null))}get current(){return T(b(this,ht))}set current(e){I(b(this,ht),e)}},ht=new WeakMap,we),Dt=new(ve=class{constructor(){A(this,pt,P(!1))}get current(){return T(b(this,pt))}set current(e){I(b(this,pt),e)}},pt=new WeakMap,ve),Ve.v=()=>Dt.current=!0);function Be(t){Object.assign(R,t)}export{Vn as a,Bn as g,Mn as l,R as p,Kn as r,N as s};
@@ -1 +0,0 @@
1
- 8@�׺*OHa�M���gT����(s�"ܞ���h1��Ӕ��ˬ��ڂ_P&���E�l����-�G�_�U=���|�V�̃q��i��u���5�0�( &���!4�q�X@�x@��2e|�dl�q���*O��@A]��I�U�fy
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/DSDSeO7L.js";export{o as load_css,r as start};
@@ -1,2 +0,0 @@
1
- )�import{l as o,a as r}from"../chunks/DSDSeO7L.js";export{o as load_css,r as start};
2
- 
@@ -1,11 +0,0 @@
1
- import{a as c,t as W,f as x,d as he,c as Gt,b as se,e as De}from"../chunks/Ca197UDq.js";import"../chunks/BNifnXkO.js";import{o as Ue,a as ze}from"../chunks/C39ai1md.js";import{p as le,d as We,j as t,y as f,c as _,f as dt,s as L,n as kt,r as m,a as ce,w as Qt,o as xt,t as z,k as ut,h as d,_ as Z,a4 as B,bf as zt,bg as Ke,e as qe,$ as Be,T as He,bh as de}from"../chunks/CxLomzuE.js";import{s as G}from"../chunks/DJriQKD9.js";import{p as X,a as Ve,s as Ye}from"../chunks/CPXdAKdv.js";import{i as P}from"../chunks/Buo-57fF.js";import{e as ie,i as fe}from"../chunks/BJTwdUYr.js";import{h as Ge}from"../chunks/iAhzu4tv.js";import{c as Qe}from"../chunks/D-B5X35l.js";import{b as Xe}from"../chunks/BLu86SbA.js";import{i as xe}from"../chunks/BI42X8h_.js";import{s as Ze}from"../chunks/DSDSeO7L.js";import{g as pe,T as tr}from"../chunks/JcG4w2gF.js";import{b as er,f as rr}from"../chunks/T0seCQS_.js";import{B as gt}from"../chunks/CVlsAO8k.js";import{D as ar}from"../chunks/Bj8jfBTi.js";import{I as nr,h as ve}from"../chunks/07xNIa59.js";import{M as me}from"../chunks/CyvQWZoe.js";import{m as or}from"../chunks/ddC1NP9R.js";import{C as sr,a as ir,b as lr,f as ge,c as ye}from"../chunks/Cyj62X2W.js";import{s as Ft}from"../chunks/CAjPRvNs.js";import{g as cr,c as _e}from"../chunks/CaHl3dME.js";const ur=()=>{const rt=Ze;return{page:{subscribe:rt.page.subscribe},navigating:{subscribe:rt.navigating.subscribe},updated:rt.updated}},dr={subscribe(rt){return ur().page.subscribe(rt)}};var fr=x("<!> <!>",1),pr=x('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!></div>'),vr=x("<div><!> <!></div>");function mr(rt,N){le(N,!0);let S=X(N,"disabled",3,!1),bt=X(N,"dropdownId",3,"copy-traces-dropdown"),F=Qt(!1),ot=Qt(null),at=Qt(null),st=Qt(null);We(()=>{S()&&t(F)&&f(F,!1)});async function yt(U){try{const E=U==="with-prompts"?N.getWithPromptsText():N.getWithoutPromptsText();await navigator.clipboard.writeText(E),f(at,U,!0),t(st)&&clearTimeout(t(st)),f(st,window.setTimeout(()=>{f(at,null),f(st,null)},2e3),!0)}catch(E){console.error("Failed to copy traces",E)}}var ft=vr(),p=_(ft);gt(p,{variant:"secondary",size:"small",get disabled(){return S()},get"aria-expanded"(){return t(F)},"aria-haspopup":"listbox",get"aria-controls"(){return bt()},onclick:U=>{U.stopPropagation(),f(F,!t(F))},class:"flex items-center gap-1",get el(){return t(ot)},set el(U){f(ot,U,!0)},children:(U,E)=>{var h=fr(),$=dt(h);{var _t=C=>{var tt=W("Copied traces (without prompts)");c(C,tt)},M=C=>{var tt=W("Copied traces (with prompts)");c(C,tt)},it=C=>{var tt=W("Copy traces");c(C,tt)};P($,C=>{t(at)==="without-prompts"?C(_t):t(at)==="with-prompts"?C(M,1):C(it,-1)})}var K=L($,2);{let C=kt(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(t(F)?"rotate-180":""));nr(K,{name:"chevron-down",get class(){return t(C)}})}c(U,h)},$$slots:{default:!0}});var Tt=L(p,2);ar(Tt,{get id(){return bt()},get open(){return t(F)},onClose:()=>f(F,!1),get anchorEl(){return t(ot)},placement:"bottom-end",offset:[0,1],children:E=>{var h=pr(),$=_(h);gt($,{variant:"ghost",size:"small",role:"option",onclick:M=>{M.stopPropagation(),f(F,!1),yt("without-prompts")},class:"w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(M,it)=>{xt();var K=W("Without prompts");c(M,K)},$$slots:{default:!0}});var _t=L($,2);gt(_t,{variant:"ghost",size:"small",role:"option",onclick:M=>{M.stopPropagation(),f(F,!1),yt("with-prompts")},class:"w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(M,it)=>{xt();var K=W("With prompts");c(M,K)},$$slots:{default:!0}}),m(h),c(E,h)},$$slots:{default:!0}}),m(ft),c(rt,ft),ce()}var gr=x("<div> </div>"),yr=x('<div class="mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200"> </div>'),_r=x("<div><!> <!> <!></div>"),hr=x("<div><div><div> </div> <div><!> <!></div> <!></div></div>"),xr=x('<div class="space-y-3"></div>'),br=x('<div class="whitespace-pre-wrap break-words"><!></div>'),Tr=x('<button class="inline-flex text-sm text-rc-green-200 hover:text-rc-green-100"> </button>'),wr=x('<div><span class="whitespace-pre-wrap break-words"><!></span> <!></div>');function Sr(rt,N){le(N,!1);let S=X(N,"value",8,""),bt=X(N,"limit",8,200),F=X(N,"maxLines",8,null),ot=X(N,"className",8,""),at=X(N,"collapsedLabel",8,"...more"),st=X(N,"initiallyExpanded",8,!1),yt=X(N,"stopPropagation",8,!0),ft=X(N,"expanded",28,st),p=X(N,"treatPlainText",8,!1),Tt=X(N,"highlightPrompt",8,!1);function U(s){return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function E(s){const l=h(s);let n=U(l);const u=[];return n=n.replace(/(\{+[\s\S]*?\}+)/g,g=>{const y=u.length;return u.push(g),`__CURLY${y}__`}),n=n.replace(/^(\s*#.*)$/gm,'<span class="prompt-heading">$1</span>'),n=n.replace(/(&lt;[^&]*?&gt;)/g,'<span class="mtk8">$1</span>'),n=n.replace(/^(\s*)(\d+)([.)])(\s+)/gm,(g,y,w,O,lt)=>`${y}<span class="mtk8">${w}${O}</span>${lt}`),u.forEach((g,y)=>{const w=`<span class="mtk5">${g}</span>`;n=n.replace(`__CURLY${y}__`,w)}),n=n.replace(/\n/g,"<br/>"),n}function h(s){let l=s.replace(/\r\n/g,`
2
- `);return l=l.replace(/\\n/g,`
3
- `),l}function $(s){try{if(Array.isArray(s)){const l=s.map(n=>(n==null?void 0:n.text)??(n==null?void 0:n.content)??JSON.stringify(n)).join(" ");return h(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const n=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(" ");return h(n)}return h(s)}catch{return h(s)}return h(JSON.stringify(s))}catch{return h(String(s??""))}}function _t(s){try{if(Array.isArray(s)){const l=s.map(n=>(n==null?void 0:n.text)??(n==null?void 0:n.content)??JSON.stringify(n)).join(`
4
- `);return h(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const n=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(`
5
- `);return h(n)}return h(s)}catch{return h(s)}return h(JSON.stringify(s,null,2))}catch{return h(String(s??""))}}function M(s){const n=h(s).split(/\n+/).map(w=>w.trim()).filter(w=>w.length>0),u=[];let g,y="";for(const w of n){const O=w.match(/^(user|assistant|system|customer|caller|tool|model|agent)\s*[:\-]\s*(.*)$/i);O?(y&&u.push({text:y,role:g}),g=O[1].toLowerCase(),y=O[2]??""):y?y+=`
6
- `+w:y=w}return y&&u.push({text:y,role:g}),u}function it(s){try{let l=s;if(typeof s=="string")try{l=JSON.parse(s)}catch{return p()?M(s):[]}if(!Array.isArray(l))if(Array.isArray(l==null?void 0:l.messages))l=l.messages;else return[];return l.map(n=>{let u;return(n==null?void 0:n.text)!=null?u=String(n.text):(n==null?void 0:n.content)!=null?Array.isArray(n.content)?u=n.content.map(g=>{var y;return typeof g=="string"?g:typeof(g==null?void 0:g.text)=="string"?g.text:typeof((y=g==null?void 0:g.text)==null?void 0:y.value)=="string"?g.text.value:JSON.stringify(g)}).join(" "):typeof n.content=="string"?u=n.content:u=JSON.stringify(n.content):typeof n=="string"?u=n:u=JSON.stringify(n),{text:h(u),role:n==null?void 0:n.role,time:n==null?void 0:n.time,duration:n==null?void 0:n.duration}}).filter(n=>n.text&&String(n.text).trim().length>0)}catch{return[]}}const K=()=>$(S()),C=()=>_t(S()),tt=()=>K().split(`
7
- `),Nt=()=>it(S()),T=()=>Nt().length>0,At=()=>F()!=null?tt().length>F():K().length>bt(),wt=()=>{const s=K();return At()?F()!=null?tt().slice(0,F()).join(`
8
- `):s.slice(0,bt()):s};function St(s){if(!s)return null;try{const l=new Date(s);return Number.isNaN(l.getTime())?s:l.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return s}}function Mt(s){if(s==null||!Number.isFinite(s))return null;const l=Number(s),n=Math.floor(l),u=Math.floor(n/60),g=n%60,y=String(u).padStart(2,"0"),w=String(g).padStart(2,"0");return`${y}:${w}`}function Dt(s){if(!s)return"Assistant";const l=s.trim();return l?l.charAt(0).toUpperCase()+l.slice(1):"Assistant"}function H(s){const l=(s==null?void 0:s.toLowerCase())??"";return l==="user"||l==="customer"||l==="caller"}function pt(s){const l=[];return{main:s.replace(/<([^>]+)>/g,(u,g)=>{const y=String(g).trim();return y&&l.push(y),""}).trim(),system:l}}function vt(s){yt()&&s.stopPropagation(),ft(!ft())}function $t(s){yt()&&s.stopPropagation()}xe();var ht=Gt(),Wt=dt(ht);{var Kt=s=>{var l=Gt(),n=dt(l);{var u=w=>{var O=xr();ie(O,5,()=>d(Nt),fe,(lt,b)=>{const k=Z(()=>(t(b),d(()=>H(t(b).role)))),R=Z(()=>(t(b),d(()=>(t(b).role??"").toLowerCase()==="system"))),V=Z(()=>(t(b),d(()=>pt(t(b).text)))),ct=Z(()=>(t(b),d(()=>St(t(b).time)))),It=Z(()=>(t(b),d(()=>Mt(t(b).duration))));var Et=hr(),Ut=_(Et),Ot=_(Ut),Xt=_(Ot,!0);m(Ot);var Lt=L(Ot,2),Bt=_(Lt);{var Ht=Y=>{var q=gr(),et=_(q,!0);m(q),z(()=>G(et,(ut(t(V)),d(()=>t(V).main)))),c(Y,q)};P(Bt,Y=>{ut(t(V)),d(()=>t(V).main)&&Y(Ht)})}var Zt=L(Bt,2);ie(Zt,1,()=>(ut(t(V)),d(()=>t(V).system)),fe,(Y,q)=>{var et=yr(),Pt=_(et);m(et),z(()=>G(Pt,`<${t(q)??""}>`)),c(Y,et)}),m(Lt);var te=L(Lt,2);{var Vt=Y=>{var q=_r(),et=_(q);{var Pt=Q=>{var mt=W();z(()=>G(mt,t(ct))),c(Q,mt)};P(et,Q=>{t(ct)&&Q(Pt)})}var Rt=L(et,2);{var ee=Q=>{var mt=W("·");c(Q,mt)};P(Rt,Q=>{t(ct)&&t(It)&&Q(ee)})}var re=L(Rt,2);{var ae=Q=>{var mt=W();z(()=>G(mt,t(It))),c(Q,mt)};P(re,Q=>{t(It)&&Q(ae)})}m(q),z(()=>Ft(q,1,`mt-1 text-xs text-rc-gray-300 ${t(k)?"text-right":"text-left"}`)),c(Y,q)};P(te,Y=>{(t(ct)||t(It))&&Y(Vt)})}m(Ut),m(Et),z(Y=>{Ft(Et,1,`flex ${t(k)?"justify-end":"justify-start"}`),Ft(Ut,1,`max-w-[70%] break-words rounded-md px-3 py-2 text-sm shadow-sm ${t(k)?"bg-rc-gray-600 text-rc-gray-100":"bg-rc-gray-700 text-rc-gray-100"}`),Ft(Ot,1,`my-1 text-xs font-semibold uppercase ${t(R)?"text-rc-blue "+(t(k)?"text-right":"text-left"):"text-rc-green-200 "+(t(k)?"text-right":"text-left")}`),G(Xt,Y),Ft(Lt,1,`whitespace-pre-wrap break-words py-1 text-sm ${t(k)?"text-justify":"text-left"} ${t(R)?"italic text-rc-gray-200":""}`)},[()=>(t(b),d(()=>Dt(t(b).role)))]),c(lt,Et)}),m(O),c(w,O)},g=kt(()=>d(T)),y=w=>{var O=br(),lt=_(O);{var b=R=>{var V=Gt(),ct=dt(V);ve(ct,()=>d(()=>E(C()))),c(R,V)},k=R=>{var V=W();z(ct=>G(V,ct),[()=>d(C)]),c(R,V)};P(lt,R=>{Tt()?R(b):R(k,-1)})}m(O),c(w,O)};P(n,w=>{t(g)?w(u):w(y,-1)})}c(s,l)},qt=s=>{var l=wr(),n=_(l),u=_(n);{var g=b=>{var k=Gt(),R=dt(k);ve(R,()=>d(()=>E(wt()))),c(b,k)},y=b=>{var k=W();z(R=>G(k,R),[()=>d(wt)]),c(b,k)};P(u,b=>{Tt()?b(g):b(y,-1)})}m(n);var w=L(n,2);{var O=b=>{var k=Tr(),R=_(k,!0);m(k),z(()=>G(R,at())),se("click",k,vt),c(b,k)},lt=kt(()=>d(At));P(w,b=>{t(lt)&&b(O)})}m(l),z(()=>Ft(l,1,`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${ot()}`)),se("click",l,$t),c(s,l)};P(Wt,s=>{ft()?s(Kt):s(qt,-1)})}c(rt,ht),ce()}he(["click"]);var $r=x('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),Lr=x('<div class="flex flex-wrap items-center gap-2"><!> <!> <!></div>'),Pr=x('<div class="mt-2 text-sm text-rc-gray-400">Loading call details…</div>'),Cr=x('<div class="mt-2 text-sm text-rc-gray-300"> </div>'),kr=x('<div class="py-8 text-center text-rc-gray-300">No conversation selected</div>'),Nr=x('<div class="py-8 text-center text-rc-gray-200">Loading traces...</div>'),Ar=x('<div class="z-50 py-8 text-center text-red-400"> </div>'),Ir=x('<div class="py-8 text-center text-rc-gray-300">No traces found</div>'),Er=x('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-900/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>'),Or=x('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-red-500 bg-red-950/30 px-3 py-1 text-xs font-semibold text-red-200"> </div></div>'),Rr=x("<!> <!> <!>",1),Jr=x("<div></div>"),jr=x('<audio class="w-full" controls=""></audio> <div class="mt-3 break-all text-sm text-rc-gray-300"> </div>',1),Fr=x("<!> <!>",1),Mr=x('<div class="rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2"><!></div>'),Dr=x('<div class="flex w-full items-center justify-end gap-5"><!> <!></div>'),Ur=x('<div class="flex h-full w-full flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><h2 class="text-lg font-semibold text-rc-gray-100">Traces <!></h2> <!></div> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll p-4"><!></div></div> <!> <!>',1);function da(rt,N){le(N,!1);const S=()=>Ve(dr,"$page",bt),[bt,F]=Ye();let ot=X(N,"useMock",8,!1);const at=cr(),st=pe()??"",yt=S().params.conversationId??"",ft=_e(yt,ot()?"__mock__":st),p=at.traces.get(ft),Tt=!!(p!=null&&p.tracesLoaded)&&!(p!=null&&p.hasMoreTraces),U=new tr(fetch);U.setSourceId(st||void 0);let E=B((p==null?void 0:p.traces)??[]),h=B((p==null?void 0:p.latencyTraces)??[]),$=B([]),_t=B(new Map),M=B(!1),it=Tt,K=B((p==null?void 0:p.tracesError)??null),C=B(Tt?yt:null),tt=(p==null?void 0:p.lastTraceId)??null,Nt=(p==null?void 0:p.hasMoreTraces)??!1,T=B((p==null?void 0:p.conversation)??null),At=B(!1),wt=(p==null?void 0:p.conversationLoaded)??!1,St=B((p==null?void 0:p.conversationError)??null),Mt=B(""),Dt=B(null),H=B(null),pt=B(!1),vt=B(!1),$t=0,ht=0;const Wt=new WeakMap;let Kt=0;function qt(e){const r=pe()??st;return _e(e,ot()?"__mock__":r)}function s(e=t(C)){var o,i;if(!e)return;const r=qt(e),a=at.traces.get(r);at.traces.set(r,{traces:t(E),latencyTraces:t(h),tracesLoaded:it,tracesError:t(K),lastTraceId:tt,hasMoreTraces:Nt,conversation:t(T),conversationLoaded:wt,conversationError:t(St),scrollTop:(a==null?void 0:a.scrollTop)??((o=t(H))==null?void 0:o.scrollTop)??0,scrollLeft:(a==null?void 0:a.scrollLeft)??((i=t(H))==null?void 0:i.scrollLeft)??0})}async function l(e){e&&(await He(),t(H)&&(de(H,t(H).scrollTop=e.scrollTop),de(H,t(H).scrollLeft=e.scrollLeft)))}function n(){if(!t(C)||!t(H))return;const e=at.traces.get(qt(t(C)));if(!e){s();return}e.scrollTop=t(H).scrollTop,e.scrollLeft=t(H).scrollLeft}function u(e){if(typeof e!="string")return null;const r=e.trim();return r||null}function g(e){return`${Math.round(e)} ms`}function y(e){const r=u(e==null?void 0:e.traceId);if(r)return r;const a=Wt.get(e);if(a)return a;Kt+=1;const o=`synthetic-${e.traceType}-${e.createdAt}-${Kt}`;return Wt.set(e,o),o}function w(e){const r=new Set;return e.filter(a=>{const o=u(a==null?void 0:a.traceId);return o?r.has(o)?!1:(r.add(o),!0):!0})}function O(e){return e?t(E):t(E).map(r=>{if(r.traceType!=="STEP")return r;const{receivedPrompt:a,renderedPrompt:o,...i}=r;return i})}function lt(e){return e&&typeof e.renderedPrompt=="string"?e.renderedPrompt:null}function b(e,r){for(let a=r-1;a>=0;a--){const o=e[a];if(o.traceType!=="STEP")continue;const i=o;if(i.name==="main"&&lt(i))return i}for(let a=r-1;a>=0;a--){const o=e[a];if(o.traceType!=="STEP")continue;const i=o;if(i.name==="prewarm"&&lt(i))return i}return null}function k(e){return!!(e!=null&&e.audioUrl&&String(e.audioUrl).trim())}function R(e){const r=e==null?void 0:e.transcript;return typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!1}function V(e){const r=e==null?void 0:e.transcript;return r?typeof r=="string"?r:Array.isArray(r)?r.map(a=>{const o=typeof(a==null?void 0:a.time)=="string"?a.time:"",i=typeof(a==null?void 0:a.role)=="string"?a.role:"",v=typeof(a==null?void 0:a.text)=="string"?a.text:"",A=[o,i].filter(Boolean).join(" • ");return A?`${A}
9
- ${v}`:v}).join(`
10
-
11
- `):"":""}async function ct(){try{await navigator.clipboard.writeText(V(t(T)))}catch(e){console.error("Failed to copy transcript",e)}}async function It(){var e;try{const r=(e=t(T))==null?void 0:e.audioUrl;if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error("Failed to copy recording URL",r)}}function Et(e){return e.traceType!=="CONVERSATIONAL"?!1:e.eventName==="received-message"||e.eventName==="llm-handler-stream-requested"||e.eventName==="finished-main-streaming-step"||e.eventName==="sent-message"||e.eventName==="transfer-requested"||e.eventName==="hangup-requested"}function Ut(e,r){const a=new Map;for(const o of er(r)){if(!o.isHigh)continue;const i=rr(e,o);if(!i)continue;const v=y(i),A=a.get(v);(!A||o.durationMs>A.durationMs)&&a.set(v,{id:o.id,durationMs:o.durationMs})}return a}function Ot(e){return t(_t).get(y(e))??null}const Xt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Lt(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const a=r.getFullYear(),o=String(r.getMonth()+1).padStart(2,"0"),i=String(r.getDate()).padStart(2,"0");return`${a}-${o}-${i}`}function Bt(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const a=r.getDate(),o=Xt[r.getMonth()],i=r.getFullYear();return`${a} ${o} ${i}`}async function Ht(e){const r=++ht;f(At,!0),wt=!1,f(St,null),f(T,null);try{if(ot())return;const a=await U.getConversation(e);if(r!==ht)return;f(T,a),wt=!0}catch(a){if(r!==ht)return;f(St,a.message),f(T,null)}finally{if(r!==ht)return;f(At,!1),s(e)}}async function Zt(e){const r=[];let a;const o=new Set;for(;;){const i=await U.getLatencyTraces(e,500,a);if(r.push(...i.items??[]),a=i.lastTraceId,!a)break;if(o.has(a))throw new Error("Telescope latency pagination repeated a cursor");o.add(a)}return r}async function te(e){const r=[];let a;const o=new Set;for(;;){const i=await U.getTraces(e,100,a);r.push(...i.items??[]);const v=i.lastTraceId;if(!v)break;if(o.has(v))throw new Error("Telescope trace pagination repeated a cursor");o.add(v),a=v}return r}async function Vt(e){if(!e||e===t(C))return;const r=++$t;f(C,e),f(M,!0),it=!1,f(K,null),tt=null,Nt=!1,f(h,[]),f(pt,!1),f(vt,!1),Ht(e);try{let a=[],o=[];if(ot())a=(await or.fetchTraces(e)).items??[];else{const[i,v]=await Promise.all([te(e),Zt(e).catch(A=>(console.error("Failed to load latency traces for chat warnings:",A),[]))]);a=i,o=v}if(r!==$t)return;tt=null,Nt=!1,f(h,o),f(E,w(a).slice().sort((i,v)=>i.createdAt-v.createdAt)),it=!0}catch(a){if(r!==$t)return;f(K,a.message),f(E,[]),console.error("Failed to load traces:",a)}finally{if(r!==$t)return;f(M,!1),s(e)}}Ue(()=>{const e=S().params.conversationId;e&&(it?wt||Ht(e):Vt(e),l(p))}),ze(()=>{s(),$t+=1,ht+=1}),zt(()=>t(E),()=>{f($,t(E).filter(e=>e.traceType==="API_CALL"||e.traceType==="STEP"||Et(e)))}),zt(()=>(t($),t(h)),()=>{f(_t,Ut(t($),t(h)))}),zt(()=>(S(),t(T)),()=>{var e;f(Mt,u(S().url.searchParams.get("agent"))??u((e=t(T))==null?void 0:e.agentId)??"")}),zt(()=>S(),()=>{f(Dt,u(S().url.searchParams.get("region")))}),zt(()=>(S(),t(C)),()=>{const e=S().params.conversationId;e&&e!==t(C)&&Vt(e)}),Ke(),xe();var Y=Ur();Ge("1uatba4",e=>{qe(()=>{Be.title="Bosun: Telescope"})});var q=dt(Y),et=_(q),Pt=_(et),Rt=_(Pt),ee=L(_(Rt));{var re=e=>{var r=$r(),a=L(dt(r),2),o=_(a,!0);m(a),z(()=>G(o,(S(),d(()=>S().params.conversationId)))),c(e,r)};P(ee,e=>{S(),d(()=>S().params.conversationId)&&e(re)})}m(Rt);var ae=L(Rt,2);{var Q=e=>{var r=Lr(),a=_(r);{var o=I=>{gt(I,{variant:"secondary",size:"small",onclick:()=>f(pt,!0),children:(Jt,ne)=>{xt();var jt=W("Recording");c(Jt,jt)},$$slots:{default:!0}})},i=kt(()=>(t(T),d(()=>k(t(T)))));P(a,I=>{t(i)&&I(o)})}var v=L(a,2);{var A=I=>{gt(I,{variant:"secondary",size:"small",onclick:()=>f(vt,!0),children:(Jt,ne)=>{xt();var jt=W("Transcript");c(Jt,jt)},$$slots:{default:!0}})},J=kt(()=>(t(T),d(()=>R(t(T)))));P(v,I=>{t(J)&&I(A)})}var j=L(v,2);{let I=Z(()=>(t(E),t(M),d(()=>!t(E).length||t(M))));mr(j,{get disabled(){return t(I)},getWithPromptsText:()=>JSON.stringify(O(!0),null,2),getWithoutPromptsText:()=>JSON.stringify(O(!1),null,2)})}m(r),c(e,r)};P(ae,e=>{S(),d(()=>S().params.conversationId)&&e(Q)})}m(Pt);var mt=L(Pt,2);{var be=e=>{var r=Pr();c(e,r)},Te=e=>{var r=Cr(),a=_(r);m(r),z(()=>G(a,`Call details unavailable: ${t(St)??""}`)),c(e,r)};P(mt,e=>{t(At)?e(be):t(St)&&e(Te,1)})}m(et);var Yt=L(et,2),we=_(Yt);{var Se=e=>{var r=kr();c(e,r)},$e=e=>{var r=Nr();c(e,r)},Le=e=>{var r=Ar(),a=_(r);m(r),z(()=>G(a,`Error: ${t(K)??""}`)),c(e,r)},Pe=e=>{var r=Ir();c(e,r)},Ce=e=>{var r=Jr();ie(r,7,()=>t($),a=>y(a),(a,o,i)=>{const v=Z(()=>(t(o),d(()=>Lt(t(o).createdAt)))),A=Z(()=>(ut(t(i)),t($),d(()=>t(i)>0?Lt(t($)[t(i)-1].createdAt):null))),J=Z(()=>(t(o),d(()=>Bt(t(o).createdAt)))),j=Z(()=>(t(o),d(()=>Ot(t(o)))));var I=Rr(),Jt=dt(I);{var ne=D=>{var nt=Er(),Ct=_(nt),oe=_(Ct,!0);m(Ct),m(nt),z(()=>G(oe,t(J))),c(D,nt)};P(Jt,D=>{t(v)&&t(J)&&t(v)!==t(A)&&D(ne)})}var jt=L(Jt,2);{var Oe=D=>{sr(D,{get trace(){return t(o)}})},Re=D=>{{let nt=Z(()=>(ut(ge),t($),ut(t(i)),d(()=>ge(t($),t(i))))),Ct=Z(()=>(t(o),t($),ut(t(i)),d(()=>t(o).name==="main"?b(t($),t(i)):null)));ir(D,{get trace(){return t(o)},get agentId(){return t(Mt)},get region(){return t(Dt)},get fallbackConversation(){return t(nt)},get compareTrace(){return t(Ct)}})}},Je=D=>{{let nt=Z(()=>(ut(ye),t($),ut(t(i)),d(()=>ye(t($),t(i)))));lr(D,{get trace(){return t(o)},context:null,get agentId(){return t(Mt)},get region(){return t(Dt)},get testSourceStep(){return t(nt)},get testEntries(){return t($)},requireTestSourceStep:!0})}};P(jt,D=>{t(o),d(()=>t(o).traceType==="API_CALL")?D(Oe):(t(o),d(()=>t(o).traceType==="STEP")?D(Re,1):D(Je,-1))})}var je=L(jt,2);{var Fe=D=>{var nt=Or(),Ct=_(nt),oe=_(Ct);m(Ct),m(nt),z(Me=>G(oe,`High response latency: ${Me??""}`),[()=>(ut(t(j)),d(()=>g(t(j).durationMs)))]),c(D,nt)};P(je,D=>{t(j)&&D(Fe)})}c(a,I)}),m(r),c(e,r)};P(we,e=>{S(),d(()=>!S().params.conversationId)?e(Se):t(M)?e($e,1):t(K)?e(Le,2):(t($),d(()=>!t($).length)?e(Pe,3):e(Ce,-1))})}m(Yt),Xe(Yt,e=>f(H,e),()=>t(H)),m(q);var ue=L(q,2);{var ke=e=>{me(e,{title:"Recording",class:"!max-w-3xl",get open(){return t(pt)},set open(o){f(pt,o)},children:o=>{var i=jr(),v=dt(i),A=L(v,2),J=_(A,!0);m(A),z(()=>{Qe(v,"src",(t(T),d(()=>{var j;return(j=t(T))==null?void 0:j.audioUrl}))),G(J,(t(T),d(()=>{var j;return(j=t(T))==null?void 0:j.audioUrl})))}),c(o,i)},footer:o=>{var i=Fr(),v=dt(i);gt(v,{variant:"secondary",size:"small",onclick:It,children:(J,j)=>{xt();var I=W("Copy URL");c(J,I)},$$slots:{default:!0}});var A=L(v,2);gt(A,{variant:"secondary",size:"small",onclick:()=>f(pt,!1),children:(J,j)=>{xt();var I=W("Close");c(J,I)},$$slots:{default:!0}}),c(o,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Ne=kt(()=>(t(pt),t(T),d(()=>t(pt)&&k(t(T)))));P(ue,e=>{t(Ne)&&e(ke)})}var Ae=L(ue,2);{var Ie=e=>{me(e,{title:"Transcript",class:"!max-w-4xl",get open(){return t(vt)},set open(o){f(vt,o)},children:o=>{var i=Mr(),v=_(i);{var A=J=>{Sr(J,{get value(){return t(T),d(()=>t(T).transcript)},limit:500,expanded:!0})};P(v,J=>{t(T),d(()=>{var j;return typeof((j=t(T))==null?void 0:j.transcript)=="string"})&&J(A)})}m(i),c(o,i)},footer:o=>{var i=Dr(),v=_(i);gt(v,{onclick:ct,children:(J,j)=>{xt();var I=W("Copy transcript");c(J,I)},$$slots:{default:!0}});var A=L(v,2);gt(A,{variant:"secondary",onclick:()=>f(vt,!1),children:(J,j)=>{xt();var I=W("Close");c(J,I)},$$slots:{default:!0}}),m(i),c(o,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Ee=kt(()=>(t(vt),t(T),d(()=>t(vt)&&R(t(T)))));P(Ae,e=>{t(Ee)&&e(Ie)})}se("click",q,e=>e.stopPropagation()),De("scroll",Yt,n),c(rt,Y),ce(),F()}he(["click"]);export{da as component};