@anvia/studio 0.8.1 → 1.0.0-rc.10

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 (99) hide show
  1. package/README.md +69 -19
  2. package/dist/index.d.ts +179 -116
  3. package/dist/index.js +1683 -1487
  4. package/dist/index.js.map +1 -1
  5. package/dist/ui/assets/ArrowClockwise.es-CSEY3Qr6.js +2 -0
  6. package/dist/ui/assets/{ArrowClockwise.es-CSN-gjxO.js.map → ArrowClockwise.es-CSEY3Qr6.js.map} +1 -1
  7. package/dist/ui/assets/CaretDown.es-BHAPbv1R.js +2 -0
  8. package/dist/ui/assets/CaretDown.es-BHAPbv1R.js.map +1 -0
  9. package/dist/ui/assets/Check.es-BLChmggz.js +2 -0
  10. package/dist/ui/assets/Check.es-BLChmggz.js.map +1 -0
  11. package/dist/ui/assets/Wrench.es-BL6BmNv7.js +4 -0
  12. package/dist/ui/assets/Wrench.es-BL6BmNv7.js.map +1 -0
  13. package/dist/ui/assets/agents-page-DQqt45If.js +2 -0
  14. package/dist/ui/assets/agents-page-DQqt45If.js.map +1 -0
  15. package/dist/ui/assets/{badge-RJJoRC4P.js → badge-CcajoiAt.js} +1 -1
  16. package/dist/ui/assets/{badge-RJJoRC4P.js.map → badge-CcajoiAt.js.map} +1 -1
  17. package/dist/ui/assets/button-07gzSO47.js +2 -0
  18. package/dist/ui/assets/button-07gzSO47.js.map +1 -0
  19. package/dist/ui/assets/chunk-QGX73TSQ-D9QAGlAY.js +65 -0
  20. package/dist/ui/assets/chunk-QGX73TSQ-D9QAGlAY.js.map +1 -0
  21. package/dist/ui/assets/dialog-CNNQ3hoF.js +2 -0
  22. package/dist/ui/assets/dialog-CNNQ3hoF.js.map +1 -0
  23. package/dist/ui/assets/dist-CqMdRzwk.js +2 -0
  24. package/dist/ui/assets/dist-CqMdRzwk.js.map +1 -0
  25. package/dist/ui/assets/dist-DWqJwN1i.js +2 -0
  26. package/dist/ui/assets/dist-DWqJwN1i.js.map +1 -0
  27. package/dist/ui/assets/es2015-DsZq7PFO.js +42 -0
  28. package/dist/ui/assets/es2015-DsZq7PFO.js.map +1 -0
  29. package/dist/ui/assets/icon-CqkMSRbt.js +2 -0
  30. package/dist/ui/assets/icon-CqkMSRbt.js.map +1 -0
  31. package/dist/ui/assets/index-BdhE3teo.js +12 -0
  32. package/dist/ui/assets/index-BdhE3teo.js.map +1 -0
  33. package/dist/ui/assets/index-CFbK-pX6.css +2 -0
  34. package/dist/ui/assets/{input-BOUv3rgO.js → input-BiI6gsxA.js} +1 -1
  35. package/dist/ui/assets/{input-BOUv3rgO.js.map → input-BiI6gsxA.js.map} +1 -1
  36. package/dist/ui/assets/knowledge-model-S51n2rKh.js +2 -0
  37. package/dist/ui/assets/knowledge-model-S51n2rKh.js.map +1 -0
  38. package/dist/ui/assets/knowledge-page-DZeLh92t.js +2 -0
  39. package/dist/ui/assets/{knowledge-page-Cot_uYcE.js.map → knowledge-page-DZeLh92t.js.map} +1 -1
  40. package/dist/ui/assets/mcps-page-CDPMO2x9.js +2 -0
  41. package/dist/ui/assets/{mcps-page-BSO6ork4.js.map → mcps-page-CDPMO2x9.js.map} +1 -1
  42. package/dist/ui/assets/memory-page-D3UhjpTb.js +4 -0
  43. package/dist/ui/assets/memory-page-D3UhjpTb.js.map +1 -0
  44. package/dist/ui/assets/pipelines-page-BP8R6NI7.js +8 -0
  45. package/dist/ui/assets/pipelines-page-BP8R6NI7.js.map +1 -0
  46. package/dist/ui/assets/{renderers-B8gvjR2u.js → renderers-DHMEAblV.js} +3 -3
  47. package/dist/ui/assets/{renderers-B8gvjR2u.js.map → renderers-DHMEAblV.js.map} +1 -1
  48. package/dist/ui/assets/request-7oUPS8zY.js +4 -0
  49. package/dist/ui/assets/request-7oUPS8zY.js.map +1 -0
  50. package/dist/ui/assets/rfb-DiW3PDuT.js +6 -0
  51. package/dist/ui/assets/rfb-DiW3PDuT.js.map +1 -0
  52. package/dist/ui/assets/sandboxes-page-C6kokYwc.js +2 -0
  53. package/dist/ui/assets/sandboxes-page-C6kokYwc.js.map +1 -0
  54. package/dist/ui/assets/select-BOYfrfck.js +2 -0
  55. package/dist/ui/assets/select-BOYfrfck.js.map +1 -0
  56. package/dist/ui/assets/sessions-page-ClXzRM9K.js +2 -0
  57. package/dist/ui/assets/{sessions-page-CSN2vSKZ.js.map → sessions-page-ClXzRM9K.js.map} +1 -1
  58. package/dist/ui/assets/status-page-eA8uRLZQ.js +2 -0
  59. package/dist/ui/assets/{status-page-CgRNt0wi.js.map → status-page-eA8uRLZQ.js.map} +1 -1
  60. package/dist/ui/assets/studio-CeTsQ4gf.js +2 -0
  61. package/dist/ui/assets/studio-CeTsQ4gf.js.map +1 -0
  62. package/dist/ui/assets/textarea-DESKg_ZK.js +2 -0
  63. package/dist/ui/assets/textarea-DESKg_ZK.js.map +1 -0
  64. package/dist/ui/assets/tool-runner-D3-SlGqQ.js +2 -0
  65. package/dist/ui/assets/{tool-runner-BZN-PZJU.js.map → tool-runner-D3-SlGqQ.js.map} +1 -1
  66. package/dist/ui/assets/tools-page-D3gnQf1_.js +2 -0
  67. package/dist/ui/assets/{tools-page-DRv7aklU.js.map → tools-page-D3gnQf1_.js.map} +1 -1
  68. package/dist/ui/assets/trace-browser-D93H7Xxs.js +10 -0
  69. package/dist/ui/assets/trace-browser-D93H7Xxs.js.map +1 -0
  70. package/dist/ui/assets/transcript-item-BmjdZLbS.js +3 -0
  71. package/dist/ui/assets/transcript-item-BmjdZLbS.js.map +1 -0
  72. package/dist/ui/assets/with-selector-CRZWaZzC.js +2 -0
  73. package/dist/ui/assets/with-selector-CRZWaZzC.js.map +1 -0
  74. package/dist/ui/index.html +19 -3
  75. package/package.json +16 -11
  76. package/dist/ui/assets/ArrowClockwise.es-CSN-gjxO.js +0 -2
  77. package/dist/ui/assets/agents-page-CkNSbqAj.js +0 -2
  78. package/dist/ui/assets/agents-page-CkNSbqAj.js.map +0 -1
  79. package/dist/ui/assets/chunk-ADH7NNCS-DM6fsnDI.js +0 -2
  80. package/dist/ui/assets/chunk-ADH7NNCS-DM6fsnDI.js.map +0 -1
  81. package/dist/ui/assets/index-Bh7RLPBw.js +0 -56
  82. package/dist/ui/assets/index-Bh7RLPBw.js.map +0 -1
  83. package/dist/ui/assets/index-D-CbFx6c.css +0 -1
  84. package/dist/ui/assets/knowledge-page-Cot_uYcE.js +0 -2
  85. package/dist/ui/assets/mcps-page-BSO6ork4.js +0 -2
  86. package/dist/ui/assets/memory-page-CG84G--r.js +0 -4
  87. package/dist/ui/assets/memory-page-CG84G--r.js.map +0 -1
  88. package/dist/ui/assets/pipelines-page-Hbf5ffUH.js +0 -8
  89. package/dist/ui/assets/pipelines-page-Hbf5ffUH.js.map +0 -1
  90. package/dist/ui/assets/sandboxes-page-D910dyFO.js +0 -2
  91. package/dist/ui/assets/sandboxes-page-D910dyFO.js.map +0 -1
  92. package/dist/ui/assets/sessions-page-CSN2vSKZ.js +0 -2
  93. package/dist/ui/assets/status-page-CgRNt0wi.js +0 -2
  94. package/dist/ui/assets/tool-runner-BZN-PZJU.js +0 -2
  95. package/dist/ui/assets/tools-page-DRv7aklU.js +0 -2
  96. package/dist/ui/assets/trace-browser-B07coNNE.js +0 -10
  97. package/dist/ui/assets/trace-browser-B07coNNE.js.map +0 -1
  98. package/dist/ui/assets/transcript-item-ZNkQEaCw.js +0 -3
  99. package/dist/ui/assets/transcript-item-ZNkQEaCw.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{i as e,r as t,s as n,t as r}from"./utils-C9GMruoG.js";import{t as i}from"./ArrowClockwise.es-CSN-gjxO.js";import{F as a,K as o,S as s,W as c,X as ee,a as l,c as u,i as d,n as f,o as p,s as m}from"./index-Bh7RLPBw.js";var h=n(e(),1),g=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M228,144v64a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V144a12,12,0,0,1,24,0v52H204V144a12,12,0,0,1,24,0Zm-108.49,8.49a12,12,0,0,0,17,0l40-40a12,12,0,0,0-17-17L140,115V32a12,12,0,0,0-24,0v83L96.49,95.51a12,12,0,0,0-17,17Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,48V208H40V48A16,16,0,0,1,56,32H200A16,16,0,0,1,216,48Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,168,96H136V32a8,8,0,0,0-16,0V96H88a8,8,0,0,0-5.66,13.66Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M222,144v64a6,6,0,0,1-6,6H40a6,6,0,0,1-6-6V144a6,6,0,0,1,12,0v58H210V144a6,6,0,0,1,12,0Zm-98.24,4.24a6,6,0,0,0,8.48,0l40-40a6,6,0,0,0-8.48-8.48L134,129.51V32a6,6,0,0,0-12,0v97.51L92.24,99.76a6,6,0,0,0-8.48,8.48Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M220,144v64a4,4,0,0,1-4,4H40a4,4,0,0,1-4-4V144a4,4,0,0,1,8,0v60H212V144a4,4,0,0,1,8,0Zm-94.83,2.83a4,4,0,0,0,5.66,0l40-40a4,4,0,1,0-5.66-5.66L132,134.34V32a4,4,0,0,0-8,0V134.34L90.83,101.17a4,4,0,0,0-5.66,5.66Z`}))]]),_=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216.49,79.52l-56-56A12,12,0,0,0,152,20H56A20,20,0,0,0,36,40V216a20,20,0,0,0,20,20H200a20,20,0,0,0,20-20V88A12,12,0,0,0,216.49,79.52ZM160,57l23,23H160ZM60,212V44h76V92a12,12,0,0,0,12,12h48V212Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,88H152V32Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM152,88V44l44,44Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M212.24,83.76l-56-56A6,6,0,0,0,152,26H56A14,14,0,0,0,42,40V216a14,14,0,0,0,14,14H200a14,14,0,0,0,14-14V88A6,6,0,0,0,212.24,83.76ZM158,46.48,193.52,82H158ZM200,218H56a2,2,0,0,1-2-2V40a2,2,0,0,1,2-2h90V88a6,6,0,0,0,6,6h50V216A2,2,0,0,1,200,218Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40V216a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM200,220H56a4,4,0,0,1-4-4V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216A4,4,0,0,1,200,220Z`}))]]),v=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M248.23,112.31A20,20,0,0,0,232,104H220V88a20,20,0,0,0-20-20H132L105.34,48a20.12,20.12,0,0,0-12-4H40A20,20,0,0,0,20,64V208a12,12,0,0,0,12,12H211.1a12,12,0,0,0,11.33-8l28.49-81.47.06-.17A20,20,0,0,0,248.23,112.31ZM92,68l28.8,21.6A12,12,0,0,0,128,92h68v12H69.77a20,20,0,0,0-18.94,13.58L44,137.15V68ZM202.59,196H48.89l23.72-68H226.37Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,88v24H69.77a8,8,0,0,0-7.59,5.47L32,208V64a8,8,0,0,1,8-8H93.33a8,8,0,0,1,4.8,1.6L128,80h72A8,8,0,0,1,208,88Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M245,110.64A16,16,0,0,0,232,104H216V88a16,16,0,0,0-16-16H130.67L102.94,51.2a16.14,16.14,0,0,0-9.6-3.2H40A16,16,0,0,0,24,64V208a8,8,0,0,0,8,8H211.1a8,8,0,0,0,7.59-5.47l28.49-85.47A16.05,16.05,0,0,0,245,110.64ZM93.34,64,123.2,86.4A8,8,0,0,0,128,88h72v16H69.77a16,16,0,0,0-15.18,10.94L40,158.7V64Zm112,136H43.1l26.67-80H232Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M245,110.64A16,16,0,0,0,232,104H216V88a16,16,0,0,0-16-16H130.67L102.94,51.2a16.14,16.14,0,0,0-9.6-3.2H40A16,16,0,0,0,24,64V208h0a8,8,0,0,0,8,8H211.1a8,8,0,0,0,7.59-5.47l28.49-85.47A16.05,16.05,0,0,0,245,110.64ZM93.34,64,123.2,86.4A8,8,0,0,0,128,88h72v16H69.77a16,16,0,0,0-15.18,10.94L40,158.7V64Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M243.36,111.81A14,14,0,0,0,232,106H214V88a14,14,0,0,0-14-14H130L101.74,52.8a14.06,14.06,0,0,0-8.4-2.8H40A14,14,0,0,0,26,64V208a6,6,0,0,0,6,6H211.1a6,6,0,0,0,5.69-4.1l28.49-85.47A14,14,0,0,0,243.36,111.81ZM40,62H93.34a2,2,0,0,1,1.2.4L124.4,84.8A6,6,0,0,0,128,86h72a2,2,0,0,1,2,2v18H69.77a14,14,0,0,0-13.28,9.57L38,171V64A2,2,0,0,1,40,62Zm193.9,58.63L206.78,202H40.33l27.54-82.63a2,2,0,0,1,1.9-1.37H232a2,2,0,0,1,1.9,2.63Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M245,110.64A16,16,0,0,0,232,104H216V88a16,16,0,0,0-16-16H130.67L102.94,51.2a16.14,16.14,0,0,0-9.6-3.2H40A16,16,0,0,0,24,64V208h0a8,8,0,0,0,8,8H211.1a8,8,0,0,0,7.59-5.47l28.49-85.47A16.05,16.05,0,0,0,245,110.64ZM93.34,64,123.2,86.4A8,8,0,0,0,128,88h72v16H69.77a16,16,0,0,0-15.18,10.94L40,158.7V64Zm112,136H43.1l26.67-80H232Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M241.72,113a11.88,11.88,0,0,0-9.73-5H212V88a12,12,0,0,0-12-12H129.33l-28.8-21.6a12.05,12.05,0,0,0-7.2-2.4H40A12,12,0,0,0,28,64V208a4,4,0,0,0,4,4H211.09a4,4,0,0,0,3.79-2.74l28.49-85.47A11.86,11.86,0,0,0,241.72,113ZM40,60H93.33a4,4,0,0,1,2.4.8L125.6,83.2a4,4,0,0,0,2.4.8h72a4,4,0,0,1,4,4v20H69.76a12,12,0,0,0-11.38,8.21L36,183.35V64A4,4,0,0,1,40,60Zm195.78,61.26L208.2,204H37.55L66,118.74A4,4,0,0,1,69.76,116H232a4,4,0,0,1,3.79,5.26Z`}))]]),y=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M72.5,150.63,100.79,128,72.5,105.37a12,12,0,1,1,15-18.74l40,32a12,12,0,0,1,0,18.74l-40,32a12,12,0,0,1-15-18.74ZM144,172h32a12,12,0,0,0,0-24H144a12,12,0,0,0,0,24ZM236,56V200a20,20,0,0,1-20,20H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V196H212Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-91,94.25-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32a8,8,0,0,1,0,12.5ZM176,168H136a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M126,128a6,6,0,0,1-2.25,4.69l-40,32a6,6,0,0,1-7.5-9.38L110.4,128,76.25,100.69a6,6,0,1,1,7.5-9.38l40,32A6,6,0,0,1,126,128Zm50,26H136a6,6,0,0,0,0,12h40a6,6,0,0,0,0-12Zm54-98V200a14,14,0,0,1-14,14H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V200a2,2,0,0,0,2,2H216a2,2,0,0,0,2-2Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M122.5,124.88a4,4,0,0,1,0,6.24l-40,32a4,4,0,0,1-5-6.24L113.6,128,77.5,99.12a4,4,0,0,1,5-6.24ZM176,156H136a4,4,0,0,0,0,8h40a4,4,0,0,0,0-8ZM228,56V200a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H216a4,4,0,0,0,4-4Z`}))]]),b=h.forwardRef((e,t)=>h.createElement(c,{ref:t,...e,weights:g}));b.displayName=`DownloadSimpleIcon`;var x=b,S=h.forwardRef((e,t)=>h.createElement(c,{ref:t,...e,weights:_}));S.displayName=`FileIcon`;var C=S,w=h.forwardRef((e,t)=>h.createElement(c,{ref:t,...e,weights:v}));w.displayName=`FolderOpenIcon`;var T=w,E=h.forwardRef((e,t)=>h.createElement(c,{ref:t,...e,weights:y}));E.displayName=`TerminalWindowIcon`;var D=E,O=t(),k=1024*1024,A=new Set(`css.csv.env.gitignore.graphql.html.ini.java.js.json.jsx.log.md.mdx.mjs.py.rb.rs.sh.sql.svg.toml.ts.tsx.txt.xml.yaml.yml`.split(`.`)),j=new Map([[`gif`,`image/gif`],[`jpeg`,`image/jpeg`],[`jpg`,`image/jpeg`],[`png`,`image/png`],[`webp`,`image/webp`]]);function M(e){let[t,n]=(0,h.useState)([]),[r,c]=(0,h.useState)(`idle`),[u,m]=(0,h.useState)(0),[g,_]=(0,h.useState)(`.`),[v,y]=(0,h.useState)([]),[b,x]=(0,h.useState)(`idle`),[S,C]=(0,h.useState)(),[w,T]=(0,h.useState)([]),[E,D]=(0,h.useState)([]),[M,P]=(0,h.useState)(`idle`),[I,R]=(0,h.useState)(``),[z,B]=(0,h.useState)(),[H,G]=(0,h.useState)(``),K=(0,h.useRef)(void 0),q=e.initialSandboxRef??t[0]?.ref??``,J=t.find(e=>e.ref===q),Y=J?.ref,X=J?.capabilities.ports??!1,Z=J?.capabilities.processes??!1,Q=(0,h.useCallback)(t=>{let n=ee(t);G(n),e.onError(n)},[e.onError]);(0,h.useEffect)(()=>{if(!e.enabled){n([]);return}let t=new AbortController;return c(`loading`),G(``),V(`/sandboxes`,`Sandboxes`,t.signal,u===0?`default`:`reload`).then(e=>n(e.sandboxes)).catch(e=>{t.signal.aborted||Q(e)}).finally(()=>{t.signal.aborted||c(`idle`)}),()=>t.abort()},[e.enabled,u,Q]),(0,h.useEffect)(()=>{e.initialSandboxRef===void 0&&t[0]!==void 0&&e.onSelectSandbox(t[0].ref)},[e.initialSandboxRef,e.onSelectSandbox,t]),(0,h.useEffect)(()=>(_(`.`),y([]),C(void 0),T([]),D([]),R(``),B(void 0),()=>K.current?.abort()),[q]),(0,h.useEffect)(()=>{if(Y===void 0)return;let e=new AbortController;x(`loading`);let t=new URLSearchParams({path:g});return V(`/sandboxes/${encodeURIComponent(Y)}/files?${t}`,`Sandbox files`,e.signal,u===0?`default`:`reload`).then(e=>y(e.entries)).catch(t=>{e.signal.aborted||(y([]),Q(t))}).finally(()=>{e.signal.aborted||x(`idle`)}),()=>e.abort()},[g,u,Q,Y]),(0,h.useEffect)(()=>{if(Y===void 0)return;let e=new AbortController;P(`loading`);let t=`/sandboxes/${encodeURIComponent(Y)}`,n=[];return X?n.push(V(`${t}/ports`,`Sandbox ports`,e.signal,u===0?`default`:`reload`).then(e=>T(e.ports))):T([]),Z?n.push(V(`${t}/processes`,`Sandbox processes`,e.signal,u===0?`default`:`reload`).then(e=>{D(e.processes),R(t=>e.processes.some(e=>e.id===t)?t:``)})):(D([]),R(``)),Promise.all(n).catch(t=>{e.signal.aborted||Q(t)}).finally(()=>{e.signal.aborted||P(`idle`)}),()=>e.abort()},[u,Q,Y,X,Z]),(0,h.useEffect)(()=>{if(Y===void 0||I.length===0){B(void 0);return}let e=new AbortController;return V(`${`/sandboxes/${encodeURIComponent(Y)}/processes`}/${encodeURIComponent(I)}/logs`,`Process logs`,e.signal,u===0?`default`:`reload`).then(B).catch(t=>{e.signal.aborted||Q(t)}),()=>e.abort()},[u,Q,I,Y]),(0,h.useEffect)(()=>()=>{S?.kind===`image`&&URL.revokeObjectURL(S.url)},[S]);let $=(0,h.useCallback)(()=>{K.current?.abort(),K.current=void 0,C(void 0)},[]),re=(0,h.useCallback)(async e=>{if(K.current?.abort(),K.current=void 0,Y===void 0)return;if((e.size??0)>k){C({kind:`large`,file:e});return}let t=W(e.path),n=j.get(t);if(!A.has(t)&&n===void 0){C({kind:`binary`,file:e});return}C({kind:`loading`,file:e}),G(``);let r=new AbortController;K.current=r;try{let t=await fetch(U(Y,e.path),{signal:r.signal});if(!t.ok)throw Error(await o(t,`Sandbox file`));let i=await t.arrayBuffer();if(i.byteLength>k){C({kind:`large`,file:e});return}if(n!==void 0){C({kind:`image`,file:e,url:URL.createObjectURL(new Blob([i],{type:n}))});return}try{C({kind:`text`,file:e,text:new TextDecoder(`utf-8`,{fatal:!0}).decode(i)})}catch{C({kind:`binary`,file:e})}}catch(t){if(r.signal.aborted)return;Q(t),C({kind:`binary`,file:e})}finally{K.current===r&&(K.current=void 0)}},[Q,Y]);return e.enabled?(0,O.jsxs)(p,{className:`grid-rows-[auto_minmax(0,1fr)]`,"aria-label":`Sandboxes`,children:[(0,O.jsx)(l,{title:`Sandboxes`,description:`Read-only files, published ports, and managed processes discovered from agent tools.`,action:(0,O.jsxs)(a,{disabled:r===`loading`,size:`sm`,type:`button`,variant:`secondary`,onClick:()=>m(e=>e+1),children:[(0,O.jsx)(s,{icon:i,"aria-hidden":`true`}),`Refresh`]})}),(0,O.jsx)(d,{className:`grid grid-rows-[minmax(0,1fr)] overflow-hidden`,children:t.length===0?(0,O.jsx)(f,{className:`h-full`,title:r===`loading`?`Loading sandboxes`:`No live sandboxes detected`,text:r===`loading`?`Reading live sandbox workspaces.`:`Studio discovers sessions automatically from tools returned by createSandboxTools(session).`}):(0,O.jsxs)(`div`,{className:`grid min-h-0 min-w-0 grid-cols-[250px_minmax(300px,0.8fr)_minmax(400px,1.2fr)] gap-3 overflow-hidden`,children:[(0,O.jsx)(N,{sandboxes:t,selectedRef:q,onSelect:e.onSelectSandbox}),(0,O.jsx)(te,{currentPath:g,files:v,loading:b===`loading`,onOpenDirectory:e=>{$(),_(e)},onOpenFile:e=>void re(e),onSelectPath:e=>{$(),_(e)}}),(0,O.jsx)(`div`,{className:`grid min-h-0 gap-3 overflow-y-auto pr-1`,children:J===void 0?(0,O.jsx)(f,{title:`Sandbox unavailable`,text:`The requested live sandbox is not registered by this Studio runtime.`}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(ne,{sandbox:J,error:H}),(0,O.jsx)(F,{preview:S,sandboxRef:J.ref}),(0,O.jsx)(L,{loading:M===`loading`,logs:z,ports:w,processes:E,selectedProcessId:I,supportsPorts:J.capabilities.ports,supportsProcesses:J.capabilities.processes,onSelectProcess:R})]})})]})})]}):(0,O.jsxs)(p,{className:`grid-rows-[auto_minmax(0,1fr)]`,"aria-label":`Sandboxes`,children:[(0,O.jsx)(l,{title:`Sandboxes`,description:`Read-only files, published ports, and managed processes discovered from agent tools.`}),(0,O.jsx)(d,{className:`overflow-auto`,children:(0,O.jsx)(f,{title:`No sandbox workspaces`,text:`Add tools created by createSandboxTools(session) to an agent to inspect its live workspace here.`})})]})}function N(e){return(0,O.jsxs)(u,{className:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)]`,children:[(0,O.jsxs)(`div`,{className:`border-b border-border/70 px-4 py-3`,children:[(0,O.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Workspaces`}),(0,O.jsxs)(`p`,{className:`m-0 mt-1 text-xs text-muted-foreground`,children:[e.sandboxes.length,` live `,e.sandboxes.length===1?`session`:`sessions`]})]}),(0,O.jsx)(`div`,{className:`min-h-0 overflow-y-auto p-2`,children:e.sandboxes.map(t=>(0,O.jsxs)(a,{className:r(`mb-1 grid h-auto min-h-16 w-full justify-stretch gap-1 rounded-lg px-3 py-2.5 text-left`,t.ref===e.selectedRef&&`border-border bg-accent text-foreground`),type:`button`,variant:`ghost`,onClick:()=>e.onSelect(t.ref),children:[(0,O.jsxs)(`span`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,O.jsx)(`strong`,{className:`truncate text-sm font-semibold text-foreground`,children:t.id}),(0,O.jsx)(m,{className:`shrink-0 px-1.5 py-0.5 text-[10px]`,children:t.provider})]}),(0,O.jsx)(`span`,{className:`truncate font-mono text-[11px] font-normal text-muted-foreground`,children:t.workdir})]},t.ref))})]})}function te(e){let t=(0,h.useMemo)(()=>H(e.currentPath),[e.currentPath]);return(0,O.jsxs)(u,{className:`grid min-h-0 grid-rows-[auto_auto_minmax(0,1fr)]`,children:[(0,O.jsxs)(`div`,{className:`border-b border-border/70 px-4 py-3`,children:[(0,O.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Files`}),(0,O.jsx)(`p`,{className:`m-0 mt-1 text-xs text-muted-foreground`,children:`One level at a time`})]}),(0,O.jsx)(`div`,{className:`flex min-h-10 items-center gap-1 overflow-x-auto border-b border-border/70 px-3 py-1.5`,children:t.map((t,n)=>(0,O.jsxs)(`span`,{className:`flex items-center gap-1`,children:[n>0?(0,O.jsx)(`span`,{className:`text-muted-foreground/60`,children:`/`}):null,(0,O.jsx)(a,{className:`h-7 min-h-7 px-2 font-mono text-xs`,size:`sm`,type:`button`,variant:`ghost`,onClick:()=>e.onSelectPath(t.path),children:t.label})]},t.path))}),(0,O.jsxs)(`div`,{className:`min-h-0 overflow-y-auto p-2`,children:[e.loading?(0,O.jsx)(f,{size:`compact`,title:`Loading workspace`,text:`Reading files from the selected sandbox.`}):null,!e.loading&&e.files.length===0?(0,O.jsx)(f,{size:`compact`,title:`Empty directory`,text:`This directory does not contain any files.`}):null,e.files.map(t=>(0,O.jsxs)(a,{className:`mb-0.5 grid h-10 min-h-10 w-full grid-cols-[18px_minmax(0,1fr)_auto] justify-stretch gap-2 rounded-md px-2.5 text-left text-xs font-medium`,type:`button`,variant:`ghost`,onClick:()=>t.type===`directory`?e.onOpenDirectory(t.path):e.onOpenFile(t),children:[(0,O.jsx)(s,{className:`text-muted-foreground`,icon:t.type===`directory`?T:C,"aria-hidden":`true`}),(0,O.jsx)(`span`,{className:`truncate text-foreground`,children:G(t.path)}),(0,O.jsx)(`span`,{className:`font-mono text-[10px] font-normal text-muted-foreground`,children:t.type===`file`?K(t.size):t.type})]},t.path))]})]})}function ne(e){return(0,O.jsxs)(u,{className:`p-4`,children:[(0,O.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Active sandbox`}),(0,O.jsx)(`h2`,{className:`m-0 mt-1 truncate text-lg font-semibold text-foreground`,children:e.sandbox.id}),(0,O.jsx)(`p`,{className:`m-0 mt-1 truncate font-mono text-xs text-muted-foreground`,children:e.sandbox.workdir})]}),(0,O.jsx)(m,{children:e.sandbox.provider})]}),(0,O.jsxs)(`div`,{className:`mt-4 grid grid-cols-2 gap-3 text-xs`,children:[(0,O.jsx)(P,{label:`Agents`,values:e.sandbox.agentIds}),(0,O.jsx)(P,{label:`Sandbox tools`,values:e.sandbox.toolNames})]}),e.error.length>0?(0,O.jsx)(`p`,{className:`m-0 mt-3 rounded-lg border border-destructive/25 bg-destructive/5 px-3 py-2 text-xs leading-5 text-destructive`,children:e.error}):null]})}function P(e){return(0,O.jsxs)(`div`,{className:`rounded-lg border border-border/70 bg-background/45 p-3`,children:[(0,O.jsx)(`span`,{className:`font-semibold uppercase tracking-[0.12em] text-muted-foreground`,children:e.label}),(0,O.jsx)(`p`,{className:`m-0 mt-1 break-words font-mono leading-5 text-foreground`,children:e.values.join(`, `)||`-`})]})}function F(e){let t=e.preview?.file;return(0,O.jsxs)(u,{className:`grid min-h-64 grid-rows-[auto_minmax(0,1fr)]`,children:[(0,O.jsxs)(`div`,{className:`flex min-h-12 items-center justify-between gap-3 border-b border-border/70 px-4 py-2`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Preview`}),(0,O.jsx)(`p`,{className:`m-0 mt-0.5 truncate font-mono text-[11px] text-muted-foreground`,children:t?.path??`Select a file`})]}),t===void 0?null:(0,O.jsx)(a,{asChild:!0,size:`sm`,variant:`secondary`,children:(0,O.jsxs)(`a`,{href:U(e.sandboxRef,t.path,!0),children:[(0,O.jsx)(s,{icon:x,"aria-hidden":`true`}),`Download`]})})]}),(0,O.jsxs)(`div`,{className:`grid min-h-0 place-items-center overflow-auto`,children:[e.preview===void 0?(0,O.jsx)(f,{className:`h-full rounded-none`,size:`compact`,title:`No file selected`,text:`Choose a regular file to inspect its contents.`}):null,e.preview?.kind===`loading`?(0,O.jsx)(f,{className:`h-full rounded-none`,size:`compact`,title:`Loading preview`,text:`Reading the selected file.`}):null,e.preview?.kind===`text`?(0,O.jsx)(`pre`,{className:`m-0 h-full min-h-48 w-full overflow-auto whitespace-pre-wrap break-words rounded-lg border border-border/70 bg-card/60 p-4 font-mono text-xs leading-5 text-foreground`,children:e.preview.text}):null,e.preview?.kind===`image`?(0,O.jsx)(`img`,{className:`max-h-96 max-w-full rounded-lg border border-border/70 object-contain`,src:e.preview.url,alt:G(e.preview.file.path)}):null,e.preview?.kind===`binary`?(0,O.jsx)(I,{text:`This file type is download-only and will not be rendered in Studio.`}):null,e.preview?.kind===`large`?(0,O.jsx)(I,{text:`This file is larger than the 1 MiB inline preview limit.`}):null]})]})}function I(e){return(0,O.jsxs)(`div`,{className:`grid max-w-sm justify-items-center gap-2 text-center`,children:[(0,O.jsx)(s,{className:`h-6 w-6 text-muted-foreground`,icon:C,"aria-hidden":`true`}),(0,O.jsx)(`p`,{className:`m-0 text-xs leading-5 text-muted-foreground`,children:e.text})]})}function L(e){return(0,O.jsxs)(u,{className:`p-4`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Runtime`}),(0,O.jsx)(`p`,{className:`m-0 mt-1 text-xs text-muted-foreground`,children:`Published ports and managed processes`})]}),e.loading?(0,O.jsx)(m,{children:`Refreshing`}):null]}),(0,O.jsxs)(`div`,{className:`mt-4 grid gap-4`,children:[(0,O.jsx)(R,{title:`Ports`,children:e.supportsPorts?e.ports.length===0?(0,O.jsx)(z,{text:`No ports are published.`}):(0,O.jsx)(`div`,{className:`grid gap-1`,children:e.ports.map(e=>(0,O.jsxs)(`div`,{className:`grid grid-cols-[90px_minmax(0,1fr)] gap-3 rounded-md border border-border/60 px-3 py-2 font-mono text-xs`,children:[(0,O.jsxs)(`span`,{className:`text-foreground`,children:[e.containerPort,`/`,e.protocol]}),(0,O.jsxs)(`span`,{className:`truncate text-muted-foreground`,children:[e.host,`:`,e.hostPort]})]},`${e.containerPort}:${e.hostPort}`))}):(0,O.jsx)(z,{text:`Published ports are not supported by this sandbox.`})}),(0,O.jsx)(R,{title:`Processes`,children:e.supportsProcesses?e.processes.length===0?(0,O.jsx)(z,{text:`No managed processes are recorded.`}):(0,O.jsx)(`div`,{className:`grid gap-1`,children:e.processes.map(t=>(0,O.jsxs)(a,{className:r(`grid h-auto min-h-11 w-full grid-cols-[minmax(0,1fr)_auto] justify-stretch gap-3 rounded-md px-3 py-2 text-left`,t.id===e.selectedProcessId&&`border-border bg-accent text-foreground`),type:`button`,variant:`ghost`,onClick:()=>e.onSelectProcess(t.id),children:[(0,O.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,O.jsx)(s,{className:`text-muted-foreground`,icon:D,"aria-hidden":`true`}),(0,O.jsx)(`span`,{className:`truncate font-mono text-xs text-foreground`,children:[t.command,...t.args].join(` `)})]}),(0,O.jsx)(m,{className:`px-1.5 py-0.5 text-[10px]`,children:t.status})]},t.id))}):(0,O.jsx)(z,{text:`Managed processes are not supported by this sandbox.`})}),e.selectedProcessId.length>0?(0,O.jsx)(R,{title:`Process logs`,children:e.logs===void 0?(0,O.jsx)(z,{text:`Loading the latest bounded output.`}):(0,O.jsxs)(`div`,{className:`grid gap-2`,children:[(0,O.jsx)(B,{label:`stdout`,text:e.logs.stdout,truncated:e.logs.stdoutTruncated}),(0,O.jsx)(B,{label:`stderr`,text:e.logs.stderr,truncated:e.logs.stderrTruncated})]})}):null]})]})}function R(e){return(0,O.jsxs)(`section`,{className:`grid gap-2`,children:[(0,O.jsx)(`h3`,{className:`m-0 text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground`,children:e.title}),e.children]})}function z(e){return(0,O.jsx)(`p`,{className:`m-0 rounded-md border border-dashed border-border/70 px-3 py-2 text-xs leading-5 text-muted-foreground`,children:e.text})}function B(e){return(0,O.jsxs)(`div`,{className:`overflow-hidden rounded-md border border-border/70 bg-background/55`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/60 px-3 py-1.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,O.jsx)(`span`,{children:e.label}),e.truncated?(0,O.jsx)(`span`,{children:`truncated`}):null]}),(0,O.jsx)(`pre`,{className:`m-0 max-h-48 overflow-auto whitespace-pre-wrap break-words p-3 font-mono text-[11px] leading-5 text-foreground`,children:e.text||`No output`})]})}async function V(e,t,n,r=`default`){let i=await fetch(e,{cache:r,signal:n});if(!i.ok)throw Error(await o(i,t));return await i.json()}function H(e){let t=e===`.`?[]:e.split(`/`).filter(Boolean),n=[{label:`/`,path:`.`}];for(let e=0;e<t.length;e+=1)n.push({label:t[e]??``,path:t.slice(0,e+1).join(`/`)});return n}function U(e,t,n=!1){let r=new URLSearchParams({path:t});return n&&r.set(`download`,`1`),`/sandboxes/${encodeURIComponent(e)}/files/content?${r}`}function W(e){let t=G(e).toLowerCase(),n=t.lastIndexOf(`.`);return n<0?t:t.slice(n+1)}function G(e){return e.split(`/`).at(-1)??e}function K(e){return e===void 0?`-`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:`${(e/(1024*1024)).toFixed(1)} MiB`}export{M as SandboxesPage};
2
- //# sourceMappingURL=sandboxes-page-D910dyFO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandboxes-page-D910dyFO.js","names":["e","e","e","e","r","t","a","i","e","t","a","a","i"],"sources":["../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/defs/DownloadSimple.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/defs/File.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/defs/FolderOpen.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/defs/TerminalWindow.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/csr/DownloadSimple.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/csr/File.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/csr/FolderOpen.es.js","../../../../../node_modules/.pnpm/@phosphor-icons+react@2.1.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@phosphor-icons/react/dist/csr/TerminalWindow.es.js","../../../src/ui/app/modules/sandboxes/sandboxes-page.tsx"],"sourcesContent":["import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,144v64a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V144a12,12,0,0,1,24,0v52H204V144a12,12,0,0,1,24,0Zm-108.49,8.49a12,12,0,0,0,17,0l40-40a12,12,0,0,0-17-17L140,115V32a12,12,0,0,0-24,0v83L96.49,95.51a12,12,0,0,0-17,17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M216,48V208H40V48A16,16,0,0,1,56,32H200A16,16,0,0,1,216,48Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,168,96H136V32a8,8,0,0,0-16,0V96H88a8,8,0,0,0-5.66,13.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,144v64a6,6,0,0,1-6,6H40a6,6,0,0,1-6-6V144a6,6,0,0,1,12,0v58H210V144a6,6,0,0,1,12,0Zm-98.24,4.24a6,6,0,0,0,8.48,0l40-40a6,6,0,0,0-8.48-8.48L134,129.51V32a6,6,0,0,0-12,0v97.51L92.24,99.76a6,6,0,0,0-8.48,8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,144v64a4,4,0,0,1-4,4H40a4,4,0,0,1-4-4V144a4,4,0,0,1,8,0v60H212V144a4,4,0,0,1,8,0Zm-94.83,2.83a4,4,0,0,0,5.66,0l40-40a4,4,0,1,0-5.66-5.66L132,134.34V32a4,4,0,0,0-8,0V134.34L90.83,101.17a4,4,0,0,0-5.66,5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M216.49,79.52l-56-56A12,12,0,0,0,152,20H56A20,20,0,0,0,36,40V216a20,20,0,0,0,20,20H200a20,20,0,0,0,20-20V88A12,12,0,0,0,216.49,79.52ZM160,57l23,23H160ZM60,212V44h76V92a12,12,0,0,0,12,12h48V212Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,88H152V32Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM152,88V44l44,44Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M212.24,83.76l-56-56A6,6,0,0,0,152,26H56A14,14,0,0,0,42,40V216a14,14,0,0,0,14,14H200a14,14,0,0,0,14-14V88A6,6,0,0,0,212.24,83.76ZM158,46.48,193.52,82H158ZM200,218H56a2,2,0,0,1-2-2V40a2,2,0,0,1,2-2h90V88a6,6,0,0,0,6,6h50V216A2,2,0,0,1,200,218Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40V216a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM200,220H56a4,4,0,0,1-4-4V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216A4,4,0,0,1,200,220Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M248.23,112.31A20,20,0,0,0,232,104H220V88a20,20,0,0,0-20-20H132L105.34,48a20.12,20.12,0,0,0-12-4H40A20,20,0,0,0,20,64V208a12,12,0,0,0,12,12H211.1a12,12,0,0,0,11.33-8l28.49-81.47.06-.17A20,20,0,0,0,248.23,112.31ZM92,68l28.8,21.6A12,12,0,0,0,128,92h68v12H69.77a20,20,0,0,0-18.94,13.58L44,137.15V68ZM202.59,196H48.89l23.72-68H226.37Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M208,88v24H69.77a8,8,0,0,0-7.59,5.47L32,208V64a8,8,0,0,1,8-8H93.33a8,8,0,0,1,4.8,1.6L128,80h72A8,8,0,0,1,208,88Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M245,110.64A16,16,0,0,0,232,104H216V88a16,16,0,0,0-16-16H130.67L102.94,51.2a16.14,16.14,0,0,0-9.6-3.2H40A16,16,0,0,0,24,64V208a8,8,0,0,0,8,8H211.1a8,8,0,0,0,7.59-5.47l28.49-85.47A16.05,16.05,0,0,0,245,110.64ZM93.34,64,123.2,86.4A8,8,0,0,0,128,88h72v16H69.77a16,16,0,0,0-15.18,10.94L40,158.7V64Zm112,136H43.1l26.67-80H232Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M245,110.64A16,16,0,0,0,232,104H216V88a16,16,0,0,0-16-16H130.67L102.94,51.2a16.14,16.14,0,0,0-9.6-3.2H40A16,16,0,0,0,24,64V208h0a8,8,0,0,0,8,8H211.1a8,8,0,0,0,7.59-5.47l28.49-85.47A16.05,16.05,0,0,0,245,110.64ZM93.34,64,123.2,86.4A8,8,0,0,0,128,88h72v16H69.77a16,16,0,0,0-15.18,10.94L40,158.7V64Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.36,111.81A14,14,0,0,0,232,106H214V88a14,14,0,0,0-14-14H130L101.74,52.8a14.06,14.06,0,0,0-8.4-2.8H40A14,14,0,0,0,26,64V208a6,6,0,0,0,6,6H211.1a6,6,0,0,0,5.69-4.1l28.49-85.47A14,14,0,0,0,243.36,111.81ZM40,62H93.34a2,2,0,0,1,1.2.4L124.4,84.8A6,6,0,0,0,128,86h72a2,2,0,0,1,2,2v18H69.77a14,14,0,0,0-13.28,9.57L38,171V64A2,2,0,0,1,40,62Zm193.9,58.63L206.78,202H40.33l27.54-82.63a2,2,0,0,1,1.9-1.37H232a2,2,0,0,1,1.9,2.63Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M245,110.64A16,16,0,0,0,232,104H216V88a16,16,0,0,0-16-16H130.67L102.94,51.2a16.14,16.14,0,0,0-9.6-3.2H40A16,16,0,0,0,24,64V208h0a8,8,0,0,0,8,8H211.1a8,8,0,0,0,7.59-5.47l28.49-85.47A16.05,16.05,0,0,0,245,110.64ZM93.34,64,123.2,86.4A8,8,0,0,0,128,88h72v16H69.77a16,16,0,0,0-15.18,10.94L40,158.7V64Zm112,136H43.1l26.67-80H232Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M241.72,113a11.88,11.88,0,0,0-9.73-5H212V88a12,12,0,0,0-12-12H129.33l-28.8-21.6a12.05,12.05,0,0,0-7.2-2.4H40A12,12,0,0,0,28,64V208a4,4,0,0,0,4,4H211.09a4,4,0,0,0,3.79-2.74l28.49-85.47A11.86,11.86,0,0,0,241.72,113ZM40,60H93.33a4,4,0,0,1,2.4.8L125.6,83.2a4,4,0,0,0,2.4.8h72a4,4,0,0,1,4,4v20H69.76a12,12,0,0,0-11.38,8.21L36,183.35V64A4,4,0,0,1,40,60Zm195.78,61.26L208.2,204H37.55L66,118.74A4,4,0,0,1,69.76,116H232a4,4,0,0,1,3.79,5.26Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M72.5,150.63,100.79,128,72.5,105.37a12,12,0,1,1,15-18.74l40,32a12,12,0,0,1,0,18.74l-40,32a12,12,0,0,1-15-18.74ZM144,172h32a12,12,0,0,0,0-24H144a12,12,0,0,0,0,24ZM236,56V200a20,20,0,0,1-20,20H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V196H212Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-91,94.25-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32a8,8,0,0,1,0,12.5ZM176,168H136a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M126,128a6,6,0,0,1-2.25,4.69l-40,32a6,6,0,0,1-7.5-9.38L110.4,128,76.25,100.69a6,6,0,1,1,7.5-9.38l40,32A6,6,0,0,1,126,128Zm50,26H136a6,6,0,0,0,0,12h40a6,6,0,0,0,0-12Zm54-98V200a14,14,0,0,1-14,14H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V200a2,2,0,0,0,2,2H216a2,2,0,0,0,2-2Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M122.5,124.88a4,4,0,0,1,0,6.24l-40,32a4,4,0,0,1-5-6.24L113.6,128,77.5,99.12a4,4,0,0,1,5-6.24ZM176,156H136a4,4,0,0,0,0,8h40a4,4,0,0,0,0-8ZM228,56V200a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H216a4,4,0,0,0,4-4Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as o from \"react\";\nimport r from \"../lib/IconBase.es.js\";\nimport t from \"../defs/DownloadSimple.es.js\";\nconst e = o.forwardRef((a, m) => /* @__PURE__ */ o.createElement(r, { ref: m, ...a, weights: t }));\ne.displayName = \"DownloadSimpleIcon\";\nconst l = e;\nexport {\n l as DownloadSimple,\n e as DownloadSimpleIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/File.es.js\";\nconst o = e.forwardRef((r, t) => /* @__PURE__ */ e.createElement(a, { ref: t, ...r, weights: i }));\no.displayName = \"FileIcon\";\nconst s = o;\nexport {\n s as File,\n o as FileIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/FolderOpen.es.js\";\nconst e = o.forwardRef((r, n) => /* @__PURE__ */ o.createElement(t, { ref: n, ...r, weights: a }));\ne.displayName = \"FolderOpenIcon\";\nconst m = e;\nexport {\n e as FolderNotchOpenIcon,\n m as FolderOpen,\n e as FolderOpenIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/TerminalWindow.es.js\";\nconst e = o.forwardRef((r, n) => /* @__PURE__ */ o.createElement(a, { ref: n, ...r, weights: i }));\ne.displayName = \"TerminalWindowIcon\";\nconst c = e;\nexport {\n c as TerminalWindow,\n e as TerminalWindowIcon\n};\n","import {\n ArrowClockwise,\n DownloadSimple,\n File,\n FolderOpen,\n TerminalWindow,\n} from \"@phosphor-icons/react\";\nimport { type ReactNode, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport type {\n StudioSandboxesSummary,\n StudioSandboxFileEntry,\n StudioSandboxFilesResponse,\n StudioSandboxPort,\n StudioSandboxPortsResponse,\n StudioSandboxProcess,\n StudioSandboxProcessesResponse,\n StudioSandboxProcessLogsResponse,\n StudioSandboxSummary,\n} from \"../../../../types\";\nimport { responseErrorMessage } from \"../../app-errors\";\nimport { Button } from \"../../components/ui/button\";\nimport { StudioIcon } from \"../../components/ui/icon\";\nimport {\n StudioEmptyState,\n StudioPageContent,\n StudioPageHeader,\n StudioPageShell,\n StudioStatusBadge,\n StudioSurface,\n} from \"../../components/ui/studio\";\nimport { cn } from \"../../lib/utils\";\nimport { errorMessage } from \"../shared/format\";\n\nconst maxInlinePreviewBytes = 1024 * 1024;\nconst textExtensions = new Set([\n \"css\",\n \"csv\",\n \"env\",\n \"gitignore\",\n \"graphql\",\n \"html\",\n \"ini\",\n \"java\",\n \"js\",\n \"json\",\n \"jsx\",\n \"log\",\n \"md\",\n \"mdx\",\n \"mjs\",\n \"py\",\n \"rb\",\n \"rs\",\n \"sh\",\n \"sql\",\n \"svg\",\n \"toml\",\n \"ts\",\n \"tsx\",\n \"txt\",\n \"xml\",\n \"yaml\",\n \"yml\",\n]);\nconst imageTypes = new Map([\n [\"gif\", \"image/gif\"],\n [\"jpeg\", \"image/jpeg\"],\n [\"jpg\", \"image/jpeg\"],\n [\"png\", \"image/png\"],\n [\"webp\", \"image/webp\"],\n]);\n\ntype LoadState = \"idle\" | \"loading\";\ntype FilePreview =\n | { kind: \"binary\" | \"large\"; file: StudioSandboxFileEntry }\n | { kind: \"image\"; file: StudioSandboxFileEntry; url: string }\n | { kind: \"loading\"; file: StudioSandboxFileEntry }\n | { kind: \"text\"; file: StudioSandboxFileEntry; text: string };\n\nexport function SandboxesPage(props: {\n enabled: boolean;\n initialSandboxRef?: string;\n onError: (message: string) => void;\n onSelectSandbox: (sandboxRef: string) => void;\n}) {\n const [sandboxes, setSandboxes] = useState<StudioSandboxSummary[]>([]);\n const [summaryLoadState, setSummaryLoadState] = useState<LoadState>(\"idle\");\n const [refreshSequence, setRefreshSequence] = useState(0);\n const [currentPath, setCurrentPath] = useState(\".\");\n const [files, setFiles] = useState<StudioSandboxFileEntry[]>([]);\n const [fileLoadState, setFileLoadState] = useState<LoadState>(\"idle\");\n const [preview, setPreview] = useState<FilePreview | undefined>();\n const [ports, setPorts] = useState<StudioSandboxPort[]>([]);\n const [processes, setProcesses] = useState<StudioSandboxProcess[]>([]);\n const [runtimeLoadState, setRuntimeLoadState] = useState<LoadState>(\"idle\");\n const [selectedProcessId, setSelectedProcessId] = useState(\"\");\n const [processLogs, setProcessLogs] = useState<StudioSandboxProcessLogsResponse | undefined>();\n const [localError, setLocalError] = useState(\"\");\n const previewRequest = useRef<AbortController | undefined>(undefined);\n\n const selectedRef = props.initialSandboxRef ?? sandboxes[0]?.ref ?? \"\";\n const selectedSandbox = sandboxes.find((sandbox) => sandbox.ref === selectedRef);\n const selectedSandboxRef = selectedSandbox?.ref;\n const supportsPorts = selectedSandbox?.capabilities.ports ?? false;\n const supportsProcesses = selectedSandbox?.capabilities.processes ?? false;\n\n const reportError = useCallback(\n (error: unknown) => {\n const message = errorMessage(error);\n setLocalError(message);\n props.onError(message);\n },\n [props.onError],\n );\n\n useEffect(() => {\n if (!props.enabled) {\n setSandboxes([]);\n return;\n }\n const controller = new AbortController();\n setSummaryLoadState(\"loading\");\n setLocalError(\"\");\n void requestJson<StudioSandboxesSummary>(\n \"/sandboxes\",\n \"Sandboxes\",\n controller.signal,\n refreshSequence === 0 ? \"default\" : \"reload\",\n )\n .then((summary) => setSandboxes(summary.sandboxes))\n .catch((error: unknown) => {\n if (!controller.signal.aborted) reportError(error);\n })\n .finally(() => {\n if (!controller.signal.aborted) setSummaryLoadState(\"idle\");\n });\n return () => controller.abort();\n }, [props.enabled, refreshSequence, reportError]);\n\n useEffect(() => {\n if (props.initialSandboxRef === undefined && sandboxes[0] !== undefined) {\n props.onSelectSandbox(sandboxes[0].ref);\n }\n }, [props.initialSandboxRef, props.onSelectSandbox, sandboxes]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: changing the route selection must reset sandbox-local view state.\n useEffect(() => {\n setCurrentPath(\".\");\n setFiles([]);\n setPreview(undefined);\n setPorts([]);\n setProcesses([]);\n setSelectedProcessId(\"\");\n setProcessLogs(undefined);\n return () => previewRequest.current?.abort();\n }, [selectedRef]);\n\n useEffect(() => {\n if (selectedSandboxRef === undefined) {\n return;\n }\n const controller = new AbortController();\n setFileLoadState(\"loading\");\n const params = new URLSearchParams({ path: currentPath });\n void requestJson<StudioSandboxFilesResponse>(\n `/sandboxes/${encodeURIComponent(selectedSandboxRef)}/files?${params}`,\n \"Sandbox files\",\n controller.signal,\n refreshSequence === 0 ? \"default\" : \"reload\",\n )\n .then((response) => setFiles(response.entries))\n .catch((error: unknown) => {\n if (!controller.signal.aborted) {\n setFiles([]);\n reportError(error);\n }\n })\n .finally(() => {\n if (!controller.signal.aborted) setFileLoadState(\"idle\");\n });\n return () => controller.abort();\n }, [currentPath, refreshSequence, reportError, selectedSandboxRef]);\n\n useEffect(() => {\n if (selectedSandboxRef === undefined) {\n return;\n }\n const controller = new AbortController();\n setRuntimeLoadState(\"loading\");\n const base = `/sandboxes/${encodeURIComponent(selectedSandboxRef)}`;\n const requests: Promise<void>[] = [];\n if (supportsPorts) {\n requests.push(\n requestJson<StudioSandboxPortsResponse>(\n `${base}/ports`,\n \"Sandbox ports\",\n controller.signal,\n refreshSequence === 0 ? \"default\" : \"reload\",\n ).then((response) => setPorts(response.ports)),\n );\n } else {\n setPorts([]);\n }\n if (supportsProcesses) {\n requests.push(\n requestJson<StudioSandboxProcessesResponse>(\n `${base}/processes`,\n \"Sandbox processes\",\n controller.signal,\n refreshSequence === 0 ? \"default\" : \"reload\",\n ).then((response) => {\n setProcesses(response.processes);\n setSelectedProcessId((current) =>\n response.processes.some((process) => process.id === current) ? current : \"\",\n );\n }),\n );\n } else {\n setProcesses([]);\n setSelectedProcessId(\"\");\n }\n void Promise.all(requests)\n .catch((error: unknown) => {\n if (!controller.signal.aborted) reportError(error);\n })\n .finally(() => {\n if (!controller.signal.aborted) setRuntimeLoadState(\"idle\");\n });\n return () => controller.abort();\n }, [refreshSequence, reportError, selectedSandboxRef, supportsPorts, supportsProcesses]);\n\n useEffect(() => {\n if (selectedSandboxRef === undefined || selectedProcessId.length === 0) {\n setProcessLogs(undefined);\n return;\n }\n const controller = new AbortController();\n const base = `/sandboxes/${encodeURIComponent(selectedSandboxRef)}/processes`;\n void requestJson<StudioSandboxProcessLogsResponse>(\n `${base}/${encodeURIComponent(selectedProcessId)}/logs`,\n \"Process logs\",\n controller.signal,\n refreshSequence === 0 ? \"default\" : \"reload\",\n )\n .then(setProcessLogs)\n .catch((error: unknown) => {\n if (!controller.signal.aborted) reportError(error);\n });\n return () => controller.abort();\n }, [refreshSequence, reportError, selectedProcessId, selectedSandboxRef]);\n\n useEffect(\n () => () => {\n if (preview?.kind === \"image\") URL.revokeObjectURL(preview.url);\n },\n [preview],\n );\n\n const clearPreview = useCallback(() => {\n previewRequest.current?.abort();\n previewRequest.current = undefined;\n setPreview(undefined);\n }, []);\n\n const openFile = useCallback(\n async (file: StudioSandboxFileEntry) => {\n previewRequest.current?.abort();\n previewRequest.current = undefined;\n if (selectedSandboxRef === undefined) {\n return;\n }\n if ((file.size ?? 0) > maxInlinePreviewBytes) {\n setPreview({ kind: \"large\", file });\n return;\n }\n const extension = fileExtension(file.path);\n const imageType = imageTypes.get(extension);\n if (!textExtensions.has(extension) && imageType === undefined) {\n setPreview({ kind: \"binary\", file });\n return;\n }\n\n setPreview({ kind: \"loading\", file });\n setLocalError(\"\");\n const controller = new AbortController();\n previewRequest.current = controller;\n try {\n const response = await fetch(fileContentUrl(selectedSandboxRef, file.path), {\n signal: controller.signal,\n });\n if (!response.ok) {\n throw new Error(await responseErrorMessage(response, \"Sandbox file\"));\n }\n const bytes = await response.arrayBuffer();\n if (bytes.byteLength > maxInlinePreviewBytes) {\n setPreview({ kind: \"large\", file });\n return;\n }\n if (imageType !== undefined) {\n const url = URL.createObjectURL(new Blob([bytes], { type: imageType }));\n setPreview({ kind: \"image\", file, url });\n return;\n }\n try {\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n setPreview({ kind: \"text\", file, text });\n } catch {\n setPreview({ kind: \"binary\", file });\n }\n } catch (error) {\n if (controller.signal.aborted) return;\n reportError(error);\n setPreview({ kind: \"binary\", file });\n } finally {\n if (previewRequest.current === controller) previewRequest.current = undefined;\n }\n },\n [reportError, selectedSandboxRef],\n );\n\n if (!props.enabled) {\n return (\n <StudioPageShell className=\"grid-rows-[auto_minmax(0,1fr)]\" aria-label=\"Sandboxes\">\n <StudioPageHeader\n title=\"Sandboxes\"\n description=\"Read-only files, published ports, and managed processes discovered from agent tools.\"\n />\n <StudioPageContent className=\"overflow-auto\">\n <StudioEmptyState\n title=\"No sandbox workspaces\"\n text=\"Add tools created by createSandboxTools(session) to an agent to inspect its live workspace here.\"\n />\n </StudioPageContent>\n </StudioPageShell>\n );\n }\n\n return (\n <StudioPageShell className=\"grid-rows-[auto_minmax(0,1fr)]\" aria-label=\"Sandboxes\">\n <StudioPageHeader\n title=\"Sandboxes\"\n description=\"Read-only files, published ports, and managed processes discovered from agent tools.\"\n action={\n <Button\n disabled={summaryLoadState === \"loading\"}\n size=\"sm\"\n type=\"button\"\n variant=\"secondary\"\n onClick={() => setRefreshSequence((current) => current + 1)}\n >\n <StudioIcon icon={ArrowClockwise} aria-hidden=\"true\" />\n Refresh\n </Button>\n }\n />\n\n <StudioPageContent className=\"grid grid-rows-[minmax(0,1fr)] overflow-hidden\">\n {sandboxes.length === 0 ? (\n <StudioEmptyState\n className=\"h-full\"\n title={\n summaryLoadState === \"loading\" ? \"Loading sandboxes\" : \"No live sandboxes detected\"\n }\n text={\n summaryLoadState === \"loading\"\n ? \"Reading live sandbox workspaces.\"\n : \"Studio discovers sessions automatically from tools returned by createSandboxTools(session).\"\n }\n />\n ) : (\n <div className=\"grid min-h-0 min-w-0 grid-cols-[250px_minmax(300px,0.8fr)_minmax(400px,1.2fr)] gap-3 overflow-hidden\">\n <SandboxRail\n sandboxes={sandboxes}\n selectedRef={selectedRef}\n onSelect={props.onSelectSandbox}\n />\n <FileBrowser\n currentPath={currentPath}\n files={files}\n loading={fileLoadState === \"loading\"}\n onOpenDirectory={(filePath) => {\n clearPreview();\n setCurrentPath(filePath);\n }}\n onOpenFile={(file) => void openFile(file)}\n onSelectPath={(filePath) => {\n clearPreview();\n setCurrentPath(filePath);\n }}\n />\n <div className=\"grid min-h-0 gap-3 overflow-y-auto pr-1\">\n {selectedSandbox === undefined ? (\n <StudioEmptyState\n title=\"Sandbox unavailable\"\n text=\"The requested live sandbox is not registered by this Studio runtime.\"\n />\n ) : (\n <>\n <SandboxOverview sandbox={selectedSandbox} error={localError} />\n <FilePreviewPanel preview={preview} sandboxRef={selectedSandbox.ref} />\n <RuntimePanel\n loading={runtimeLoadState === \"loading\"}\n logs={processLogs}\n ports={ports}\n processes={processes}\n selectedProcessId={selectedProcessId}\n supportsPorts={selectedSandbox.capabilities.ports}\n supportsProcesses={selectedSandbox.capabilities.processes}\n onSelectProcess={setSelectedProcessId}\n />\n </>\n )}\n </div>\n </div>\n )}\n </StudioPageContent>\n </StudioPageShell>\n );\n}\n\nfunction SandboxRail(props: {\n sandboxes: StudioSandboxSummary[];\n selectedRef: string;\n onSelect: (sandboxRef: string) => void;\n}) {\n return (\n <StudioSurface className=\"grid min-h-0 grid-rows-[auto_minmax(0,1fr)]\">\n <div className=\"border-b border-border/70 px-4 py-3\">\n <span className=\"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">\n Workspaces\n </span>\n <p className=\"m-0 mt-1 text-xs text-muted-foreground\">\n {props.sandboxes.length} live {props.sandboxes.length === 1 ? \"session\" : \"sessions\"}\n </p>\n </div>\n <div className=\"min-h-0 overflow-y-auto p-2\">\n {props.sandboxes.map((sandbox) => (\n <Button\n className={cn(\n \"mb-1 grid h-auto min-h-16 w-full justify-stretch gap-1 rounded-lg px-3 py-2.5 text-left\",\n sandbox.ref === props.selectedRef && \"border-border bg-accent text-foreground\",\n )}\n key={sandbox.ref}\n type=\"button\"\n variant=\"ghost\"\n onClick={() => props.onSelect(sandbox.ref)}\n >\n <span className=\"flex min-w-0 items-center justify-between gap-2\">\n <strong className=\"truncate text-sm font-semibold text-foreground\">\n {sandbox.id}\n </strong>\n <StudioStatusBadge className=\"shrink-0 px-1.5 py-0.5 text-[10px]\">\n {sandbox.provider}\n </StudioStatusBadge>\n </span>\n <span className=\"truncate font-mono text-[11px] font-normal text-muted-foreground\">\n {sandbox.workdir}\n </span>\n </Button>\n ))}\n </div>\n </StudioSurface>\n );\n}\n\nfunction FileBrowser(props: {\n currentPath: string;\n files: StudioSandboxFileEntry[];\n loading: boolean;\n onOpenDirectory: (path: string) => void;\n onOpenFile: (file: StudioSandboxFileEntry) => void;\n onSelectPath: (path: string) => void;\n}) {\n const breadcrumbs = useMemo(() => sandboxBreadcrumbs(props.currentPath), [props.currentPath]);\n return (\n <StudioSurface className=\"grid min-h-0 grid-rows-[auto_auto_minmax(0,1fr)]\">\n <div className=\"border-b border-border/70 px-4 py-3\">\n <span className=\"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">\n Files\n </span>\n <p className=\"m-0 mt-1 text-xs text-muted-foreground\">One level at a time</p>\n </div>\n <div className=\"flex min-h-10 items-center gap-1 overflow-x-auto border-b border-border/70 px-3 py-1.5\">\n {breadcrumbs.map((breadcrumb, index) => (\n <span className=\"flex items-center gap-1\" key={breadcrumb.path}>\n {index > 0 ? <span className=\"text-muted-foreground/60\">/</span> : null}\n <Button\n className=\"h-7 min-h-7 px-2 font-mono text-xs\"\n size=\"sm\"\n type=\"button\"\n variant=\"ghost\"\n onClick={() => props.onSelectPath(breadcrumb.path)}\n >\n {breadcrumb.label}\n </Button>\n </span>\n ))}\n </div>\n <div className=\"min-h-0 overflow-y-auto p-2\">\n {props.loading ? (\n <StudioEmptyState\n size=\"compact\"\n title=\"Loading workspace\"\n text=\"Reading files from the selected sandbox.\"\n />\n ) : null}\n {!props.loading && props.files.length === 0 ? (\n <StudioEmptyState\n size=\"compact\"\n title=\"Empty directory\"\n text=\"This directory does not contain any files.\"\n />\n ) : null}\n {props.files.map((file) => (\n <Button\n className=\"mb-0.5 grid h-10 min-h-10 w-full grid-cols-[18px_minmax(0,1fr)_auto] justify-stretch gap-2 rounded-md px-2.5 text-left text-xs font-medium\"\n key={file.path}\n type=\"button\"\n variant=\"ghost\"\n onClick={() =>\n file.type === \"directory\" ? props.onOpenDirectory(file.path) : props.onOpenFile(file)\n }\n >\n <StudioIcon\n className=\"text-muted-foreground\"\n icon={file.type === \"directory\" ? FolderOpen : File}\n aria-hidden=\"true\"\n />\n <span className=\"truncate text-foreground\">{basename(file.path)}</span>\n <span className=\"font-mono text-[10px] font-normal text-muted-foreground\">\n {file.type === \"file\" ? formatBytes(file.size) : file.type}\n </span>\n </Button>\n ))}\n </div>\n </StudioSurface>\n );\n}\n\nfunction SandboxOverview(props: { sandbox: StudioSandboxSummary; error: string }) {\n return (\n <StudioSurface className=\"p-4\">\n <div className=\"flex flex-wrap items-start justify-between gap-3\">\n <div className=\"min-w-0\">\n <span className=\"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">\n Active sandbox\n </span>\n <h2 className=\"m-0 mt-1 truncate text-lg font-semibold text-foreground\">\n {props.sandbox.id}\n </h2>\n <p className=\"m-0 mt-1 truncate font-mono text-xs text-muted-foreground\">\n {props.sandbox.workdir}\n </p>\n </div>\n <StudioStatusBadge>{props.sandbox.provider}</StudioStatusBadge>\n </div>\n <div className=\"mt-4 grid grid-cols-2 gap-3 text-xs\">\n <MetadataList label=\"Agents\" values={props.sandbox.agentIds} />\n <MetadataList label=\"Sandbox tools\" values={props.sandbox.toolNames} />\n </div>\n {props.error.length > 0 ? (\n <p className=\"m-0 mt-3 rounded-lg border border-destructive/25 bg-destructive/5 px-3 py-2 text-xs leading-5 text-destructive\">\n {props.error}\n </p>\n ) : null}\n </StudioSurface>\n );\n}\n\nfunction MetadataList(props: { label: string; values: string[] }) {\n return (\n <div className=\"rounded-lg border border-border/70 bg-background/45 p-3\">\n <span className=\"font-semibold uppercase tracking-[0.12em] text-muted-foreground\">\n {props.label}\n </span>\n <p className=\"m-0 mt-1 break-words font-mono leading-5 text-foreground\">\n {props.values.join(\", \") || \"-\"}\n </p>\n </div>\n );\n}\n\nfunction FilePreviewPanel(props: { preview: FilePreview | undefined; sandboxRef: string }) {\n const file = props.preview?.file;\n return (\n <StudioSurface className=\"grid min-h-64 grid-rows-[auto_minmax(0,1fr)]\">\n <div className=\"flex min-h-12 items-center justify-between gap-3 border-b border-border/70 px-4 py-2\">\n <div className=\"min-w-0\">\n <span className=\"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">\n Preview\n </span>\n <p className=\"m-0 mt-0.5 truncate font-mono text-[11px] text-muted-foreground\">\n {file?.path ?? \"Select a file\"}\n </p>\n </div>\n {file !== undefined ? (\n <Button asChild size=\"sm\" variant=\"secondary\">\n <a href={fileContentUrl(props.sandboxRef, file.path, true)}>\n <StudioIcon icon={DownloadSimple} aria-hidden=\"true\" />\n Download\n </a>\n </Button>\n ) : null}\n </div>\n <div className=\"grid min-h-0 place-items-center overflow-auto\">\n {props.preview === undefined ? (\n <StudioEmptyState\n className=\"h-full rounded-none\"\n size=\"compact\"\n title=\"No file selected\"\n text=\"Choose a regular file to inspect its contents.\"\n />\n ) : null}\n {props.preview?.kind === \"loading\" ? (\n <StudioEmptyState\n className=\"h-full rounded-none\"\n size=\"compact\"\n title=\"Loading preview\"\n text=\"Reading the selected file.\"\n />\n ) : null}\n {props.preview?.kind === \"text\" ? (\n <pre className=\"m-0 h-full min-h-48 w-full overflow-auto whitespace-pre-wrap break-words rounded-lg border border-border/70 bg-card/60 p-4 font-mono text-xs leading-5 text-foreground\">\n {props.preview.text}\n </pre>\n ) : null}\n {props.preview?.kind === \"image\" ? (\n <img\n className=\"max-h-96 max-w-full rounded-lg border border-border/70 object-contain\"\n src={props.preview.url}\n alt={basename(props.preview.file.path)}\n />\n ) : null}\n {props.preview?.kind === \"binary\" ? (\n <PreviewNotice text=\"This file type is download-only and will not be rendered in Studio.\" />\n ) : null}\n {props.preview?.kind === \"large\" ? (\n <PreviewNotice text=\"This file is larger than the 1 MiB inline preview limit.\" />\n ) : null}\n </div>\n </StudioSurface>\n );\n}\n\nfunction PreviewNotice(props: { text: string }) {\n return (\n <div className=\"grid max-w-sm justify-items-center gap-2 text-center\">\n <StudioIcon className=\"h-6 w-6 text-muted-foreground\" icon={File} aria-hidden=\"true\" />\n <p className=\"m-0 text-xs leading-5 text-muted-foreground\">{props.text}</p>\n </div>\n );\n}\n\nfunction RuntimePanel(props: {\n loading: boolean;\n logs: StudioSandboxProcessLogsResponse | undefined;\n ports: StudioSandboxPort[];\n processes: StudioSandboxProcess[];\n selectedProcessId: string;\n supportsPorts: boolean;\n supportsProcesses: boolean;\n onSelectProcess: (processId: string) => void;\n}) {\n return (\n <StudioSurface className=\"p-4\">\n <div className=\"flex items-center justify-between gap-3\">\n <div>\n <span className=\"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">\n Runtime\n </span>\n <p className=\"m-0 mt-1 text-xs text-muted-foreground\">\n Published ports and managed processes\n </p>\n </div>\n {props.loading ? <StudioStatusBadge>Refreshing</StudioStatusBadge> : null}\n </div>\n\n <div className=\"mt-4 grid gap-4\">\n <RuntimeSection title=\"Ports\">\n {!props.supportsPorts ? (\n <RuntimeEmpty text=\"Published ports are not supported by this sandbox.\" />\n ) : props.ports.length === 0 ? (\n <RuntimeEmpty text=\"No ports are published.\" />\n ) : (\n <div className=\"grid gap-1\">\n {props.ports.map((port) => (\n <div\n className=\"grid grid-cols-[90px_minmax(0,1fr)] gap-3 rounded-md border border-border/60 px-3 py-2 font-mono text-xs\"\n key={`${port.containerPort}:${port.hostPort}`}\n >\n <span className=\"text-foreground\">\n {port.containerPort}/{port.protocol}\n </span>\n <span className=\"truncate text-muted-foreground\">\n {port.host}:{port.hostPort}\n </span>\n </div>\n ))}\n </div>\n )}\n </RuntimeSection>\n\n <RuntimeSection title=\"Processes\">\n {!props.supportsProcesses ? (\n <RuntimeEmpty text=\"Managed processes are not supported by this sandbox.\" />\n ) : props.processes.length === 0 ? (\n <RuntimeEmpty text=\"No managed processes are recorded.\" />\n ) : (\n <div className=\"grid gap-1\">\n {props.processes.map((process) => (\n <Button\n className={cn(\n \"grid h-auto min-h-11 w-full grid-cols-[minmax(0,1fr)_auto] justify-stretch gap-3 rounded-md px-3 py-2 text-left\",\n process.id === props.selectedProcessId &&\n \"border-border bg-accent text-foreground\",\n )}\n key={process.id}\n type=\"button\"\n variant=\"ghost\"\n onClick={() => props.onSelectProcess(process.id)}\n >\n <span className=\"flex min-w-0 items-center gap-2\">\n <StudioIcon\n className=\"text-muted-foreground\"\n icon={TerminalWindow}\n aria-hidden=\"true\"\n />\n <span className=\"truncate font-mono text-xs text-foreground\">\n {[process.command, ...process.args].join(\" \")}\n </span>\n </span>\n <StudioStatusBadge className=\"px-1.5 py-0.5 text-[10px]\">\n {process.status}\n </StudioStatusBadge>\n </Button>\n ))}\n </div>\n )}\n </RuntimeSection>\n\n {props.selectedProcessId.length > 0 ? (\n <RuntimeSection title=\"Process logs\">\n {props.logs === undefined ? (\n <RuntimeEmpty text=\"Loading the latest bounded output.\" />\n ) : (\n <div className=\"grid gap-2\">\n <LogBlock\n label=\"stdout\"\n text={props.logs.stdout}\n truncated={props.logs.stdoutTruncated}\n />\n <LogBlock\n label=\"stderr\"\n text={props.logs.stderr}\n truncated={props.logs.stderrTruncated}\n />\n </div>\n )}\n </RuntimeSection>\n ) : null}\n </div>\n </StudioSurface>\n );\n}\n\nfunction RuntimeSection(props: { title: string; children: ReactNode }) {\n return (\n <section className=\"grid gap-2\">\n <h3 className=\"m-0 text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground\">\n {props.title}\n </h3>\n {props.children}\n </section>\n );\n}\n\nfunction RuntimeEmpty(props: { text: string }) {\n return (\n <p className=\"m-0 rounded-md border border-dashed border-border/70 px-3 py-2 text-xs leading-5 text-muted-foreground\">\n {props.text}\n </p>\n );\n}\n\nfunction LogBlock(props: { label: string; text: string; truncated: boolean }) {\n return (\n <div className=\"overflow-hidden rounded-md border border-border/70 bg-background/55\">\n <div className=\"flex items-center justify-between border-b border-border/60 px-3 py-1.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground\">\n <span>{props.label}</span>\n {props.truncated ? <span>truncated</span> : null}\n </div>\n <pre className=\"m-0 max-h-48 overflow-auto whitespace-pre-wrap break-words p-3 font-mono text-[11px] leading-5 text-foreground\">\n {props.text || \"No output\"}\n </pre>\n </div>\n );\n}\n\nasync function requestJson<T>(\n url: string,\n label: string,\n signal: AbortSignal,\n cache: RequestCache = \"default\",\n): Promise<T> {\n const response = await fetch(url, { cache, signal });\n if (!response.ok) {\n throw new Error(await responseErrorMessage(response, label));\n }\n return (await response.json()) as T;\n}\n\nfunction sandboxBreadcrumbs(filePath: string): Array<{ label: string; path: string }> {\n const segments = filePath === \".\" ? [] : filePath.split(\"/\").filter(Boolean);\n const breadcrumbs = [{ label: \"/\", path: \".\" }];\n for (let index = 0; index < segments.length; index += 1) {\n breadcrumbs.push({\n label: segments[index] ?? \"\",\n path: segments.slice(0, index + 1).join(\"/\"),\n });\n }\n return breadcrumbs;\n}\n\nfunction fileContentUrl(sandboxRef: string, filePath: string, download = false): string {\n const params = new URLSearchParams({ path: filePath });\n if (download) params.set(\"download\", \"1\");\n return `/sandboxes/${encodeURIComponent(sandboxRef)}/files/content?${params}`;\n}\n\nfunction fileExtension(filePath: string): string {\n const name = basename(filePath).toLowerCase();\n const dot = name.lastIndexOf(\".\");\n return dot < 0 ? name : name.slice(dot + 1);\n}\n\nfunction basename(filePath: string): string {\n return filePath.split(\"/\").at(-1) ?? filePath;\n}\n\nfunction formatBytes(size: number | undefined): string {\n if (size === undefined) return \"-\";\n if (size < 1024) return `${size} B`;\n if (size < 1024 * 1024) return `${(size / 1024).toFixed(1)} KiB`;\n return `${(size / (1024 * 1024)).toFixed(1)} MiB`;\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7],"mappings":"+OACMA,EAAoB,IAAI,IAAI,CAChC,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,2NAA4N,CAAC,CAAC,CAC9T,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAClE,OACA,CACE,EAAG,8DACH,QAAS,MACV,CACF,CAAkB,EAAE,cAAc,OAAQ,CAAE,EAAG,4NAA6N,CAAC,CAAC,CAChR,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,mMAAoM,CAAC,CAAC,CACtS,CACD,CACE,QACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,sNAAuN,CAAC,CAAC,CACzT,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,4NAA6N,CAAC,CAAC,CAC/T,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,qNAAsN,CAAC,CAAC,CACxT,CACF,CAAC,CC/BI,EAAoB,IAAI,IAAI,CAChC,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,oMAAqM,CAAC,CAAC,CACvS,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,kBAAmB,QAAS,MAAO,CAAC,CAAkB,EAAE,cAAc,OAAQ,CAAE,EAAG,uMAAwM,CAAC,CAAC,CAC7X,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,qJAAsJ,CAAC,CAAC,CACxP,CACD,CACE,QACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,qPAAsP,CAAC,CAAC,CACxV,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,uMAAwM,CAAC,CAAC,CAC1S,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,qPAAsP,CAAC,CAAC,CACxV,CACF,CAAC,CCzBIC,EAAoB,IAAI,IAAI,CAChC,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,6UAA8U,CAAC,CAAC,CAChb,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAClE,OACA,CACE,EAAG,mHACH,QAAS,MACV,CACF,CAAkB,EAAE,cAAc,OAAQ,CAAE,EAAG,oUAAqU,CAAC,CAAC,CACxX,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,2SAA4S,CAAC,CAAC,CAC9Y,CACD,CACE,QACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,uaAAwa,CAAC,CAAC,CAC1gB,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,sUAAuU,CAAC,CAAC,CACza,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,kbAAmb,CAAC,CAAC,CACrhB,CACF,CAAC,CC/BIC,EAAoB,IAAI,IAAI,CAChC,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,qRAAsR,CAAC,CAAC,CACxX,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAClE,OACA,CACE,EAAG,oFACH,QAAS,MACV,CACF,CAAkB,EAAE,cAAc,OAAQ,CAAE,EAAG,sRAAuR,CAAC,CAAC,CAC1U,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,iPAAkP,CAAC,CAAC,CACpV,CACD,CACE,QACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,gVAAiV,CAAC,CAAC,CACnb,CACD,CACE,UACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,sRAAuR,CAAC,CAAC,CACzX,CACD,CACE,OACgB,EAAE,cAAA,EAAgB,SAAU,KAAsB,EAAE,cAAc,OAAQ,CAAE,EAAG,oTAAqT,CAAC,CAAC,CACvZ,CACF,CAAC,CC7BIC,EAAAA,EAAM,YAAY,EAAG,IAAsB,EAAE,cAAcC,EAAG,CAAE,IAAK,EAAG,GAAG,EAAG,QAASC,EAAG,CAAC,CAAC,CAClG,EAAE,YAAc,qBAChB,IAAM,EAAIF,ECFJ,EAAA,EAAM,YAAY,EAAG,IAAsB,EAAE,cAAcG,EAAG,CAAE,IAAK,EAAG,GAAG,EAAG,QAASC,EAAG,CAAC,CAAC,CAClG,EAAE,YAAc,WAChB,IAAM,EAAI,ECFJC,EAAAA,EAAM,YAAY,EAAG,IAAsB,EAAE,cAAcC,EAAG,CAAE,IAAK,EAAG,GAAG,EAAG,QAASC,EAAG,CAAC,CAAC,CAClG,EAAE,YAAc,iBAChB,IAAM,EAAIF,ECFJ,EAAA,EAAM,YAAY,EAAG,IAAsB,EAAE,cAAcG,EAAG,CAAE,IAAK,EAAG,GAAG,EAAG,QAASC,EAAG,CAAC,CAAC,CAClG,EAAE,YAAc,qBAChB,IAAM,EAAI,QC4BJ,EAAwB,KAAO,KAC/B,EAAiB,IAAI,IAAI,oIA6B9B,CAAC,CACI,EAAa,IAAI,IAAI,CACzB,CAAC,MAAO,YAAY,CACpB,CAAC,OAAQ,aAAa,CACtB,CAAC,MAAO,aAAa,CACrB,CAAC,MAAO,YAAY,CACpB,CAAC,OAAQ,aAAa,CACvB,CAAC,CASF,SAAgB,EAAc,EAK3B,CACD,GAAM,CAAC,EAAW,IAAA,EAAA,EAAA,UAAiD,EAAE,CAAC,CAChE,CAAC,EAAkB,IAAA,EAAA,EAAA,UAA2C,OAAO,CACrE,CAAC,EAAiB,IAAA,EAAA,EAAA,UAA+B,EAAE,CACnD,CAAC,EAAa,IAAA,EAAA,EAAA,UAA2B,IAAI,CAC7C,CAAC,EAAO,IAAA,EAAA,EAAA,UAA+C,EAAE,CAAC,CAC1D,CAAC,EAAe,IAAA,EAAA,EAAA,UAAwC,OAAO,CAC/D,CAAC,EAAS,IAAA,EAAA,EAAA,WAAiD,CAC3D,CAAC,EAAO,IAAA,EAAA,EAAA,UAA0C,EAAE,CAAC,CACrD,CAAC,EAAW,IAAA,EAAA,EAAA,UAAiD,EAAE,CAAC,CAChE,CAAC,EAAkB,IAAA,EAAA,EAAA,UAA2C,OAAO,CACrE,CAAC,EAAmB,IAAA,EAAA,EAAA,UAAiC,GAAG,CACxD,CAAC,EAAa,IAAA,EAAA,EAAA,WAA0E,CACxF,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,GAAG,CAC1C,GAAA,EAAA,EAAA,QAAqD,IAAA,GAAU,CAE/D,EAAc,EAAM,mBAAqB,EAAU,IAAI,KAAO,GAC9D,EAAkB,EAAU,KAAM,GAAY,EAAQ,MAAQ,EAAY,CAC1E,EAAqB,GAAiB,IACtC,EAAgB,GAAiB,aAAa,OAAS,GACvD,EAAoB,GAAiB,aAAa,WAAa,GAE/D,GAAA,EAAA,EAAA,aACH,GAAmB,CAClB,IAAM,EAAU,GAAa,EAAM,CACnC,EAAc,EAAQ,CACtB,EAAM,QAAQ,EAAQ,EAExB,CAAC,EAAM,QAAQ,CAChB,EAED,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EAAM,QAAS,CAClB,EAAa,EAAE,CAAC,CAChB,OAEF,IAAM,EAAa,IAAI,gBAgBvB,OAfA,EAAoB,UAAU,CAC9B,EAAc,GAAG,CACZ,EACH,aACA,YACA,EAAW,OACX,IAAoB,EAAI,UAAY,SACrC,CACE,KAAM,GAAY,EAAa,EAAQ,UAAU,CAAC,CAClD,MAAO,GAAmB,CACpB,EAAW,OAAO,SAAS,EAAY,EAAM,EAClD,CACD,YAAc,CACR,EAAW,OAAO,SAAS,EAAoB,OAAO,EAC3D,KACS,EAAW,OAAO,EAC9B,CAAC,EAAM,QAAS,EAAiB,EAAY,CAAC,EAEjD,EAAA,EAAA,eAAgB,CACV,EAAM,oBAAsB,IAAA,IAAa,EAAU,KAAO,IAAA,IAC5D,EAAM,gBAAgB,EAAU,GAAG,IAAI,EAExC,CAAC,EAAM,kBAAmB,EAAM,gBAAiB,EAAU,CAAC,EAG/D,EAAA,EAAA,gBACE,EAAe,IAAI,CACnB,EAAS,EAAE,CAAC,CACZ,EAAW,IAAA,GAAU,CACrB,EAAS,EAAE,CAAC,CACZ,EAAa,EAAE,CAAC,CAChB,EAAqB,GAAG,CACxB,EAAe,IAAA,GAAU,KACZ,EAAe,SAAS,OAAO,EAC3C,CAAC,EAAY,CAAC,EAEjB,EAAA,EAAA,eAAgB,CACd,GAAI,IAAuB,IAAA,GACzB,OAEF,IAAM,EAAa,IAAI,gBACvB,EAAiB,UAAU,CAC3B,IAAM,EAAS,IAAI,gBAAgB,CAAE,KAAM,EAAa,CAAC,CAiBzD,OAhBK,EACH,cAAc,mBAAmB,EAAmB,CAAC,SAAS,IAC9D,gBACA,EAAW,OACX,IAAoB,EAAI,UAAY,SACrC,CACE,KAAM,GAAa,EAAS,EAAS,QAAQ,CAAC,CAC9C,MAAO,GAAmB,CACpB,EAAW,OAAO,UACrB,EAAS,EAAE,CAAC,CACZ,EAAY,EAAM,GAEpB,CACD,YAAc,CACR,EAAW,OAAO,SAAS,EAAiB,OAAO,EACxD,KACS,EAAW,OAAO,EAC9B,CAAC,EAAa,EAAiB,EAAa,EAAmB,CAAC,EAEnE,EAAA,EAAA,eAAgB,CACd,GAAI,IAAuB,IAAA,GACzB,OAEF,IAAM,EAAa,IAAI,gBACvB,EAAoB,UAAU,CAC9B,IAAM,EAAO,cAAc,mBAAmB,EAAmB,GAC3D,EAA4B,EAAE,CAsCpC,OArCI,EACF,EAAS,KACP,EACE,GAAG,EAAK,QACR,gBACA,EAAW,OACX,IAAoB,EAAI,UAAY,SACrC,CAAC,KAAM,GAAa,EAAS,EAAS,MAAM,CAAC,CAC/C,CAED,EAAS,EAAE,CAAC,CAEV,EACF,EAAS,KACP,EACE,GAAG,EAAK,YACR,oBACA,EAAW,OACX,IAAoB,EAAI,UAAY,SACrC,CAAC,KAAM,GAAa,CACnB,EAAa,EAAS,UAAU,CAChC,EAAsB,GACpB,EAAS,UAAU,KAAM,GAAY,EAAQ,KAAO,EAAQ,CAAG,EAAU,GAC1E,EACD,CACH,EAED,EAAa,EAAE,CAAC,CAChB,EAAqB,GAAG,EAErB,QAAQ,IAAI,EAAS,CACvB,MAAO,GAAmB,CACpB,EAAW,OAAO,SAAS,EAAY,EAAM,EAClD,CACD,YAAc,CACR,EAAW,OAAO,SAAS,EAAoB,OAAO,EAC3D,KACS,EAAW,OAAO,EAC9B,CAAC,EAAiB,EAAa,EAAoB,EAAe,EAAkB,CAAC,EAExF,EAAA,EAAA,eAAgB,CACd,GAAI,IAAuB,IAAA,IAAa,EAAkB,SAAW,EAAG,CACtE,EAAe,IAAA,GAAU,CACzB,OAEF,IAAM,EAAa,IAAI,gBAYvB,OAVK,EACH,GAAG,cAFsB,mBAAmB,EAAmB,CAAC,YAExD,GAAG,mBAAmB,EAAkB,CAAC,OACjD,eACA,EAAW,OACX,IAAoB,EAAI,UAAY,SACrC,CACE,KAAK,EAAe,CACpB,MAAO,GAAmB,CACpB,EAAW,OAAO,SAAS,EAAY,EAAM,EAClD,KACS,EAAW,OAAO,EAC9B,CAAC,EAAiB,EAAa,EAAmB,EAAmB,CAAC,EAEzE,EAAA,EAAA,mBACc,CACN,GAAS,OAAS,SAAS,IAAI,gBAAgB,EAAQ,IAAI,EAEjE,CAAC,EAAQ,CACV,CAED,IAAM,GAAA,EAAA,EAAA,iBAAiC,CACrC,EAAe,SAAS,OAAO,CAC/B,EAAe,QAAU,IAAA,GACzB,EAAW,IAAA,GAAU,EACpB,EAAE,CAAC,CAEA,IAAA,EAAA,EAAA,aACJ,KAAO,IAAiC,CAGtC,GAFA,EAAe,SAAS,OAAO,CAC/B,EAAe,QAAU,IAAA,GACrB,IAAuB,IAAA,GACzB,OAEF,IAAK,EAAK,MAAQ,GAAK,EAAuB,CAC5C,EAAW,CAAE,KAAM,QAAS,OAAM,CAAC,CACnC,OAEF,IAAM,EAAY,EAAc,EAAK,KAAK,CACpC,EAAY,EAAW,IAAI,EAAU,CAC3C,GAAI,CAAC,EAAe,IAAI,EAAU,EAAI,IAAc,IAAA,GAAW,CAC7D,EAAW,CAAE,KAAM,SAAU,OAAM,CAAC,CACpC,OAGF,EAAW,CAAE,KAAM,UAAW,OAAM,CAAC,CACrC,EAAc,GAAG,CACjB,IAAM,EAAa,IAAI,gBACvB,EAAe,QAAU,EACzB,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,EAAe,EAAoB,EAAK,KAAK,CAAE,CAC1E,OAAQ,EAAW,OACpB,CAAC,CACF,GAAI,CAAC,EAAS,GACZ,MAAU,MAAM,MAAM,EAAqB,EAAU,eAAe,CAAC,CAEvE,IAAM,EAAQ,MAAM,EAAS,aAAa,CAC1C,GAAI,EAAM,WAAa,EAAuB,CAC5C,EAAW,CAAE,KAAM,QAAS,OAAM,CAAC,CACnC,OAEF,GAAI,IAAc,IAAA,GAAW,CAE3B,EAAW,CAAE,KAAM,QAAS,OAAM,IADtB,IAAI,gBAAgB,IAAI,KAAK,CAAC,EAAM,CAAE,CAAE,KAAM,EAAW,CAAC,CACpC,CAAK,CAAC,CACxC,OAEF,GAAI,CAEF,EAAW,CAAE,KAAM,OAAQ,OAAM,KADpB,IAAI,YAAY,QAAS,CAAE,MAAO,GAAM,CAAC,CAAC,OAAO,EAC7B,CAAM,CAAC,MAClC,CACN,EAAW,CAAE,KAAM,SAAU,OAAM,CAAC,QAE/B,EAAO,CACd,GAAI,EAAW,OAAO,QAAS,OAC/B,EAAY,EAAM,CAClB,EAAW,CAAE,KAAM,SAAU,OAAM,CAAC,QAC5B,CACJ,EAAe,UAAY,IAAY,EAAe,QAAU,IAAA,MAGxE,CAAC,EAAa,EAAmB,CAClC,CAmBD,OAjBK,EAAM,SAkBT,EAAA,EAAA,MAAC,EAAD,CAAiB,UAAU,iCAAiC,aAAW,qBAAvE,EACE,EAAA,EAAA,KAAC,EAAD,CACE,MAAM,YACN,YAAY,uFACZ,QACE,EAAA,EAAA,MAAC,EAAD,CACE,SAAU,IAAqB,UAC/B,KAAK,KACL,KAAK,SACL,QAAQ,YACR,YAAe,EAAoB,GAAY,EAAU,EAAE,UAL7D,EAOE,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAgB,cAAY,OAAS,CAAA,CAAA,UAEhD,GAEX,CAAA,EAEF,EAAA,EAAA,KAAC,EAAD,CAAmB,UAAU,0DAC1B,EAAU,SAAW,GACpB,EAAA,EAAA,KAAC,EAAD,CACE,UAAU,SACV,MACE,IAAqB,UAAY,oBAAsB,6BAEzD,KACE,IAAqB,UACjB,mCACA,8FAEN,CAAA,EAEF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gHAAf,EACE,EAAA,EAAA,KAAC,EAAD,CACa,YACE,cACb,SAAU,EAAM,gBAChB,CAAA,EACF,EAAA,EAAA,KAAC,GAAD,CACe,cACN,QACP,QAAS,IAAkB,UAC3B,gBAAkB,GAAa,CAC7B,GAAc,CACd,EAAe,EAAS,EAE1B,WAAa,GAAS,KAAK,GAAS,EAAK,CACzC,aAAe,GAAa,CAC1B,GAAc,CACd,EAAe,EAAS,EAE1B,CAAA,EACF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mDACZ,IAAoB,IAAA,IACnB,EAAA,EAAA,KAAC,EAAD,CACE,MAAM,sBACN,KAAK,uEACL,CAAA,EAEF,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,GAAD,CAAiB,QAAS,EAAiB,MAAO,EAAc,CAAA,EAChE,EAAA,EAAA,KAAC,EAAD,CAA2B,UAAS,WAAY,EAAgB,IAAO,CAAA,EACvE,EAAA,EAAA,KAAC,EAAD,CACE,QAAS,IAAqB,UAC9B,KAAM,EACC,QACI,YACQ,oBACnB,cAAe,EAAgB,aAAa,MAC5C,kBAAmB,EAAgB,aAAa,UAChD,gBAAiB,EACjB,CAAA,CACD,CAAA,CAAA,CAED,CAAA,CACF,GAEU,CAAA,CACJ,IA9FhB,EAAA,EAAA,MAAC,EAAD,CAAiB,UAAU,iCAAiC,aAAW,qBAAvE,EACE,EAAA,EAAA,KAAC,EAAD,CACE,MAAM,YACN,YAAY,uFACZ,CAAA,EACF,EAAA,EAAA,KAAC,EAAD,CAAmB,UAAU,0BAC3B,EAAA,EAAA,KAAC,EAAD,CACE,MAAM,wBACN,KAAK,mGACL,CAAA,CACgB,CAAA,CACJ,GAuFxB,SAAS,EAAY,EAIlB,CACD,OACE,EAAA,EAAA,MAAC,EAAD,CAAe,UAAU,uDAAzB,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+CAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mFAA0E,aAEnF,CAAA,EACP,EAAA,EAAA,MAAC,IAAD,CAAG,UAAU,kDAAb,CACG,EAAM,UAAU,OAAO,SAAO,EAAM,UAAU,SAAW,EAAI,UAAY,WACxE,GACA,IACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,uCACZ,EAAM,UAAU,IAAK,IACpB,EAAA,EAAA,MAAC,EAAD,CACE,UAAW,EACT,0FACA,EAAQ,MAAQ,EAAM,aAAe,0CACtC,CAED,KAAK,SACL,QAAQ,QACR,YAAe,EAAM,SAAS,EAAQ,IAAI,UAR5C,EAUE,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,2DAAhB,EACE,EAAA,EAAA,KAAC,SAAD,CAAQ,UAAU,0DACf,EAAQ,GACF,CAAA,EACT,EAAA,EAAA,KAAC,EAAD,CAAmB,UAAU,8CAC1B,EAAQ,SACS,CAAA,CACf,IACP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,4EACb,EAAQ,QACJ,CAAA,CACA,EAhBF,EAAQ,IAgBN,CACT,CACE,CAAA,CACQ,GAIpB,SAAS,GAAY,EAOlB,CACD,IAAM,GAAA,EAAA,EAAA,aAA4B,EAAmB,EAAM,YAAY,CAAE,CAAC,EAAM,YAAY,CAAC,CAC7F,OACE,EAAA,EAAA,MAAC,EAAD,CAAe,UAAU,4DAAzB,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+CAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mFAA0E,QAEnF,CAAA,EACP,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,kDAAyC,sBAAuB,CAAA,CACzE,IACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kGACZ,EAAY,KAAK,EAAY,KAC5B,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,mCAAhB,CACG,EAAQ,GAAI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oCAA2B,IAAQ,CAAA,CAAG,MACnE,EAAA,EAAA,KAAC,EAAD,CACE,UAAU,qCACV,KAAK,KACL,KAAK,SACL,QAAQ,QACR,YAAe,EAAM,aAAa,EAAW,KAAK,UAEjD,EAAW,MACL,CAAA,CACJ,EAXwC,EAAW,KAWnD,CACP,CACE,CAAA,EACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,uCAAf,CACG,EAAM,SACL,EAAA,EAAA,KAAC,EAAD,CACE,KAAK,UACL,MAAM,oBACN,KAAK,2CACL,CAAA,CACA,KACH,CAAC,EAAM,SAAW,EAAM,MAAM,SAAW,GACxC,EAAA,EAAA,KAAC,EAAD,CACE,KAAK,UACL,MAAM,kBACN,KAAK,6CACL,CAAA,CACA,KACH,EAAM,MAAM,IAAK,IAChB,EAAA,EAAA,MAAC,EAAD,CACE,UAAU,6IAEV,KAAK,SACL,QAAQ,QACR,YACE,EAAK,OAAS,YAAc,EAAM,gBAAgB,EAAK,KAAK,CAAG,EAAM,WAAW,EAAK,UANzF,EASE,EAAA,EAAA,KAAC,EAAD,CACE,UAAU,wBACV,KAAM,EAAK,OAAS,YAAc,EAAa,EAC/C,cAAY,OACZ,CAAA,EACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oCAA4B,EAAS,EAAK,KAAK,CAAQ,CAAA,EACvE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mEACb,EAAK,OAAS,OAAS,EAAY,EAAK,KAAK,CAAG,EAAK,KACjD,CAAA,CACA,EAhBF,EAAK,KAgBH,CACT,CACE,GACQ,GAIpB,SAAS,GAAgB,EAAyD,CAChF,OACE,EAAA,EAAA,MAAC,EAAD,CAAe,UAAU,eAAzB,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4DAAf,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mBAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mFAA0E,iBAEnF,CAAA,EACP,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,mEACX,EAAM,QAAQ,GACZ,CAAA,EACL,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,qEACV,EAAM,QAAQ,QACb,CAAA,CACA,IACN,EAAA,EAAA,KAAC,EAAD,CAAA,SAAoB,EAAM,QAAQ,SAA6B,CAAA,CAC3D,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+CAAf,EACE,EAAA,EAAA,KAAC,EAAD,CAAc,MAAM,SAAS,OAAQ,EAAM,QAAQ,SAAY,CAAA,EAC/D,EAAA,EAAA,KAAC,EAAD,CAAc,MAAM,gBAAgB,OAAQ,EAAM,QAAQ,UAAa,CAAA,CACnE,GACL,EAAM,MAAM,OAAS,GACpB,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,0HACV,EAAM,MACL,CAAA,CACF,KACU,GAIpB,SAAS,EAAa,EAA4C,CAChE,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mEAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,2EACb,EAAM,MACF,CAAA,EACP,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,oEACV,EAAM,OAAO,KAAK,KAAK,EAAI,IAC1B,CAAA,CACA,GAIV,SAAS,EAAiB,EAAiE,CACzF,IAAM,EAAO,EAAM,SAAS,KAC5B,OACE,EAAA,EAAA,MAAC,EAAD,CAAe,UAAU,wDAAzB,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gGAAf,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mBAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mFAA0E,UAEnF,CAAA,EACP,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,2EACV,GAAM,MAAQ,gBACb,CAAA,CACA,GACL,IAAS,IAAA,GAON,MANF,EAAA,EAAA,KAAC,EAAD,CAAQ,QAAA,GAAQ,KAAK,KAAK,QAAQ,sBAChC,EAAA,EAAA,MAAC,IAAD,CAAG,KAAM,EAAe,EAAM,WAAY,EAAK,KAAM,GAAK,UAA1D,EACE,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAgB,cAAY,OAAS,CAAA,CAAA,WAErD,GACG,CAAA,CAEP,IACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,yDAAf,CACG,EAAM,UAAY,IAAA,IACjB,EAAA,EAAA,KAAC,EAAD,CACE,UAAU,sBACV,KAAK,UACL,MAAM,mBACN,KAAK,iDACL,CAAA,CACA,KACH,EAAM,SAAS,OAAS,WACvB,EAAA,EAAA,KAAC,EAAD,CACE,UAAU,sBACV,KAAK,UACL,MAAM,kBACN,KAAK,6BACL,CAAA,CACA,KACH,EAAM,SAAS,OAAS,QACvB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,kLACZ,EAAM,QAAQ,KACX,CAAA,CACJ,KACH,EAAM,SAAS,OAAS,SACvB,EAAA,EAAA,KAAC,MAAD,CACE,UAAU,wEACV,IAAK,EAAM,QAAQ,IACnB,IAAK,EAAS,EAAM,QAAQ,KAAK,KAAK,CACtC,CAAA,CACA,KACH,EAAM,SAAS,OAAS,UACvB,EAAA,EAAA,KAAC,EAAD,CAAe,KAAK,sEAAwE,CAAA,CAC1F,KACH,EAAM,SAAS,OAAS,SACvB,EAAA,EAAA,KAAC,EAAD,CAAe,KAAK,2DAA6D,CAAA,CAC/E,KACA,GACQ,GAIpB,SAAS,EAAc,EAAyB,CAC9C,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gEAAf,EACE,EAAA,EAAA,KAAC,EAAD,CAAY,UAAU,gCAAgC,KAAM,EAAM,cAAY,OAAS,CAAA,EACvF,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,uDAA+C,EAAM,KAAS,CAAA,CACvE,GAIV,SAAS,EAAa,EASnB,CACD,OACE,EAAA,EAAA,MAAC,EAAD,CAAe,UAAU,eAAzB,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mDAAf,EACE,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mFAA0E,UAEnF,CAAA,EACP,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,kDAAyC,wCAElD,CAAA,CACA,CAAA,CAAA,CACL,EAAM,SAAU,EAAA,EAAA,KAAC,EAAD,CAAA,SAAmB,aAA8B,CAAA,CAAG,KACjE,IAEN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2BAAf,EACE,EAAA,EAAA,KAAC,EAAD,CAAgB,MAAM,iBAClB,EAAM,cAEJ,EAAM,MAAM,SAAW,GACzB,EAAA,EAAA,KAAC,EAAD,CAAc,KAAK,0BAA4B,CAAA,EAE/C,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sBACZ,EAAM,MAAM,IAAK,IAChB,EAAA,EAAA,MAAC,MAAD,CACE,UAAU,oHADZ,EAIE,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,2BAAhB,CACG,EAAK,cAAc,IAAE,EAAK,SACtB,IACP,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,0CAAhB,CACG,EAAK,KAAK,IAAE,EAAK,SACb,GACH,EARC,GAAG,EAAK,cAAc,GAAG,EAAK,WAQ/B,CACN,CACE,CAAA,EAlBN,EAAA,EAAA,KAAC,EAAD,CAAc,KAAK,qDAAuD,CAAA,CAoB7D,CAAA,EAEjB,EAAA,EAAA,KAAC,EAAD,CAAgB,MAAM,qBAClB,EAAM,kBAEJ,EAAM,UAAU,SAAW,GAC7B,EAAA,EAAA,KAAC,EAAD,CAAc,KAAK,qCAAuC,CAAA,EAE1D,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sBACZ,EAAM,UAAU,IAAK,IACpB,EAAA,EAAA,MAAC,EAAD,CACE,UAAW,EACT,kHACA,EAAQ,KAAO,EAAM,mBACnB,0CACH,CAED,KAAK,SACL,QAAQ,QACR,YAAe,EAAM,gBAAgB,EAAQ,GAAG,UATlD,EAWE,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,2CAAhB,EACE,EAAA,EAAA,KAAC,EAAD,CACE,UAAU,wBACV,KAAM,EACN,cAAY,OACZ,CAAA,EACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sDACb,CAAC,EAAQ,QAAS,GAAG,EAAQ,KAAK,CAAC,KAAK,IAAI,CACxC,CAAA,CACF,IACP,EAAA,EAAA,KAAC,EAAD,CAAmB,UAAU,qCAC1B,EAAQ,OACS,CAAA,CACb,EAlBF,EAAQ,GAkBN,CACT,CACE,CAAA,EAhCN,EAAA,EAAA,KAAC,EAAD,CAAc,KAAK,uDAAyD,CAAA,CAkC/D,CAAA,CAEhB,EAAM,kBAAkB,OAAS,GAChC,EAAA,EAAA,KAAC,EAAD,CAAgB,MAAM,wBACnB,EAAM,OAAS,IAAA,IACd,EAAA,EAAA,KAAC,EAAD,CAAc,KAAK,qCAAuC,CAAA,EAE1D,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAf,EACE,EAAA,EAAA,KAAC,EAAD,CACE,MAAM,SACN,KAAM,EAAM,KAAK,OACjB,UAAW,EAAM,KAAK,gBACtB,CAAA,EACF,EAAA,EAAA,KAAC,EAAD,CACE,MAAM,SACN,KAAM,EAAM,KAAK,OACjB,UAAW,EAAM,KAAK,gBACtB,CAAA,CACE,GAEO,CAAA,CACf,KACA,GACQ,GAIpB,SAAS,EAAe,EAA+C,CACrE,OACE,EAAA,EAAA,MAAC,UAAD,CAAS,UAAU,sBAAnB,EACE,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,uFACX,EAAM,MACJ,CAAA,CACJ,EAAM,SACC,GAId,SAAS,EAAa,EAAyB,CAC7C,OACE,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,kHACV,EAAM,KACL,CAAA,CAIR,SAAS,EAAS,EAA4D,CAC5E,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+EAAf,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+JAAf,EACE,EAAA,EAAA,KAAC,OAAD,CAAA,SAAO,EAAM,MAAa,CAAA,CACzB,EAAM,WAAY,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,YAAgB,CAAA,CAAG,KACxC,IACN,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,0HACZ,EAAM,MAAQ,YACX,CAAA,CACF,GAIV,eAAe,EACb,EACA,EACA,EACA,EAAsB,UACV,CACZ,IAAM,EAAW,MAAM,MAAM,EAAK,CAAE,QAAO,SAAQ,CAAC,CACpD,GAAI,CAAC,EAAS,GACZ,MAAU,MAAM,MAAM,EAAqB,EAAU,EAAM,CAAC,CAE9D,OAAQ,MAAM,EAAS,MAAM,CAG/B,SAAS,EAAmB,EAA0D,CACpF,IAAM,EAAW,IAAa,IAAM,EAAE,CAAG,EAAS,MAAM,IAAI,CAAC,OAAO,QAAQ,CACtE,EAAc,CAAC,CAAE,MAAO,IAAK,KAAM,IAAK,CAAC,CAC/C,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAS,OAAQ,GAAS,EACpD,EAAY,KAAK,CACf,MAAO,EAAS,IAAU,GAC1B,KAAM,EAAS,MAAM,EAAG,EAAQ,EAAE,CAAC,KAAK,IAAI,CAC7C,CAAC,CAEJ,OAAO,EAGT,SAAS,EAAe,EAAoB,EAAkB,EAAW,GAAe,CACtF,IAAM,EAAS,IAAI,gBAAgB,CAAE,KAAM,EAAU,CAAC,CAEtD,OADI,GAAU,EAAO,IAAI,WAAY,IAAI,CAClC,cAAc,mBAAmB,EAAW,CAAC,iBAAiB,IAGvE,SAAS,EAAc,EAA0B,CAC/C,IAAM,EAAO,EAAS,EAAS,CAAC,aAAa,CACvC,EAAM,EAAK,YAAY,IAAI,CACjC,OAAO,EAAM,EAAI,EAAO,EAAK,MAAM,EAAM,EAAE,CAG7C,SAAS,EAAS,EAA0B,CAC1C,OAAO,EAAS,MAAM,IAAI,CAAC,GAAG,GAAG,EAAI,EAGvC,SAAS,EAAY,EAAkC,CAIrD,OAHI,IAAS,IAAA,GAAkB,IAC3B,EAAO,KAAa,GAAG,EAAK,IAC5B,EAAO,KAAO,KAAa,IAAI,EAAO,MAAM,QAAQ,EAAE,CAAC,MACpD,IAAI,GAAQ,KAAO,OAAO,QAAQ,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- import{i as e,r as t,s as n,t as r}from"./utils-C9GMruoG.js";import{C as i,D as a,E as o,F as s,O as c,Q as l,S as u,T as d,W as f,c as p,n as m,o as h,q as g,w as _,z as v}from"./index-Bh7RLPBw.js";var y=n(e(),1),b=new Map([[`bold`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z`}))],[`duotone`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z`,opacity:`0.2`}),y.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`fill`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z`}))],[`light`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z`}))],[`regular`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`thin`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z`}))]]),x=y.forwardRef((e,t)=>y.createElement(f,{ref:t,...e,weights:b}));x.displayName=`TrashIcon`;var S=x,C=t();function w(e){return e.sessionsEnabled?e.sessions.length===0?(0,C.jsx)(h,{"aria-label":`Sessions`,children:(0,C.jsx)(m,{title:e.sessionLoadState===`loading`?`Loading sessions`:`No sessions`,text:e.sessionLoadState===`loading`?`Reading saved Studio sessions.`:`Start a chat to create a Studio session.`})}):(0,C.jsx)(h,{className:`overflow-auto pb-6 pr-6`,"aria-label":`Sessions`,children:(0,C.jsxs)(p,{className:`h-full min-w-225`,children:[(0,C.jsxs)(`div`,{className:`sticky top-0 z-10 grid min-h-11 grid-cols-[minmax(220px,1.3fr)_180px_120px_120px_72px] items-center gap-4 border-b bg-background/95 px-4 text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground backdrop-blur`,children:[(0,C.jsx)(`span`,{children:`Session`}),(0,C.jsx)(`span`,{children:`Agent`}),(0,C.jsx)(`span`,{children:`Messages`}),(0,C.jsx)(`span`,{children:`Updated`}),(0,C.jsx)(`span`,{className:`sr-only`,children:`Actions`})]}),e.sessions.map(t=>(0,C.jsxs)(`div`,{className:r(`grid min-h-14 w-full min-w-0 grid-cols-[minmax(220px,1.3fr)_180px_120px_120px_72px] items-center gap-4 border-b px-4 text-left text-muted-foreground transition duration-200 hover:bg-accent/80 hover:text-accent-foreground`,t.id===e.selectedSessionId&&`bg-muted/45 text-foreground`),children:[(0,C.jsxs)(s,{className:`col-span-4 grid h-full min-h-14 min-w-0 grid-cols-[minmax(220px,1.3fr)_180px_120px_120px] items-center justify-start gap-4 border-0 bg-transparent p-0 text-left text-inherit shadow-none hover:bg-transparent hover:text-inherit`,type:`button`,variant:`ghost`,onClick:()=>e.onOpenSession(t.id),children:[(0,C.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,C.jsx)(`strong`,{className:`min-w-0 truncate text-sm font-medium text-foreground`,children:t.title??`Untitled chat`}),(0,C.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-muted-foreground`,children:t.id})]}),(0,C.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:g(e.agents,t.agentId)}),(0,C.jsxs)(`span`,{className:`text-xs font-medium tabular-nums text-muted-foreground`,children:[t.messageCount,` messages`]}),(0,C.jsx)(`time`,{className:`text-xs font-medium text-muted-foreground`,children:l(t.updatedAt)})]}),(0,C.jsxs)(`span`,{className:`flex items-center justify-end gap-1`,children:[(0,C.jsx)(s,{"aria-label":`View tracing for ${t.title??`Untitled chat`}`,className:`h-7 min-h-7 w-7 border-0 bg-transparent p-0 text-muted-foreground opacity-80 hover:bg-transparent hover:text-foreground hover:opacity-100 [&_svg]:h-3.5 [&_svg]:w-3.5`,size:`icon`,type:`button`,variant:`ghost`,onClick:n=>{n.stopPropagation(),e.onViewSessionTracing(t.id)},children:(0,C.jsx)(u,{icon:v,"aria-hidden":`true`})}),(0,C.jsx)(s,{"aria-label":`Delete ${t.title??`Untitled chat`}`,className:`h-7 min-h-7 w-7 border-0 bg-transparent p-0 text-muted-foreground opacity-80 hover:bg-transparent hover:text-destructive hover:opacity-100 [&_svg]:h-3.5 [&_svg]:w-3.5`,size:`icon`,type:`button`,variant:`ghost`,onClick:n=>{n.stopPropagation(),e.onDeleteSession(t)},children:(0,C.jsx)(u,{icon:S,"aria-hidden":`true`})})]})]},t.id))]})}):(0,C.jsx)(h,{"aria-label":`Sessions`,children:(0,C.jsx)(m,{className:`h-full`,title:`Sessions unavailable`,text:`This Studio runtime does not expose saved sessions.`})})}function T(e){let t=e.session?.title??`Untitled chat`;return(0,C.jsx)(i,{open:e.session!==void 0,onOpenChange:e.onOpenChange,children:(0,C.jsxs)(_,{children:[(0,C.jsxs)(a,{children:[(0,C.jsx)(c,{children:`Delete session`}),(0,C.jsxs)(d,{children:[`Delete "`,t,`" and its traces. This cannot be undone.`]})]}),(0,C.jsxs)(o,{children:[(0,C.jsx)(s,{type:`button`,variant:`ghost`,onClick:()=>e.onOpenChange(!1),children:`Cancel`}),(0,C.jsx)(s,{type:`button`,variant:`destructive`,onClick:()=>{e.session!==void 0&&e.onConfirm(e.session)},children:`Delete`})]})]})})}export{T as DeleteSessionDialog,w as SessionsPage};
2
- //# sourceMappingURL=sessions-page-CSN2vSKZ.js.map
@@ -1,2 +0,0 @@
1
- import{i as e,r as t,s as n}from"./utils-C9GMruoG.js";import{F as r,Q as i,a,i as o,n as s,o as c,r as l}from"./index-Bh7RLPBw.js";import{t as u}from"./badge-RJJoRC4P.js";import{t as d}from"./renderers-B8gvjR2u.js";var f=n(e(),1),p=t();function m(e){let[t,n]=(0,f.useState)(),[i,u]=(0,f.useState)(!1),[d,m]=(0,f.useState)(``),g=(0,f.useCallback)(async()=>{if(!e.enabled){n(void 0);return}u(!0),m(``);try{let e=await fetch(`/status`);if(!e.ok)throw Error(`Status failed with HTTP ${e.status}`);n(await e.json())}catch(e){m(e instanceof Error?e.message:String(e)),n(void 0)}finally{u(!1)}},[e.enabled]);return(0,f.useEffect)(()=>{g()},[g]),(0,p.jsxs)(c,{className:`grid-rows-[auto_minmax(0,1fr)]`,"aria-label":`Status`,children:[(0,p.jsx)(a,{title:`Status`,description:`Runtime health, storage adapters, feature capabilities, and current record counts.`,action:(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-wrap justify-end gap-2 max-sm:justify-start`,children:[(0,p.jsx)(l,{label:`agents`,value:t?.counts.agents??0}),(0,p.jsx)(l,{label:`sessions`,value:t?.counts.sessions??`-`}),(0,p.jsx)(l,{label:`traces`,value:t?.counts.traces??`-`}),(0,p.jsx)(r,{className:`h-8 min-h-8 rounded-md px-3 text-xs`,type:`button`,variant:`secondary`,disabled:i,onClick:()=>void g(),children:`Refresh`})]})}),(0,p.jsx)(o,{className:`overflow-auto`,children:e.enabled?i&&t===void 0?(0,p.jsx)(s,{title:`Loading status`,text:`Reading runtime status.`}):d.length>0?(0,p.jsx)(s,{title:`Status error`,text:d}):t===void 0?null:(0,p.jsx)(h,{summary:t}):(0,p.jsx)(s,{title:`Status unavailable`,text:`This Studio runtime did not expose status.`})})]})}function h(e){let t=Object.entries(e.summary.capabilities).filter(([,e])=>e?.enabled===!0).length;return(0,p.jsxs)(`div`,{className:`grid h-full min-h-0 gap-5 border-t border-border/80 pt-4`,children:[(0,p.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[minmax(280px,0.58fr)_minmax(0,1.42fr)]`,children:[(0,p.jsx)(g,{summary:e.summary,enabledCapabilityCount:t}),(0,p.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-2`,children:[(0,p.jsx)(_,{storage:e.summary.storage}),(0,p.jsx)(v,{counts:e.summary.counts})]})]}),(0,p.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[minmax(0,1.05fr)_minmax(0,0.95fr)]`,children:[(0,p.jsx)(y,{capabilities:e.summary.capabilities}),(0,p.jsx)(b,{summary:e.summary})]})]})}function g(e){return(0,p.jsxs)(`section`,{className:`grid content-start gap-5 border-b border-border/80 pb-5 xl:border-b-0 xl:border-r xl:pb-0 xl:pr-5`,children:[(0,p.jsxs)(`div`,{className:`grid gap-3`,children:[(0,p.jsx)(S,{children:`runtime`}),(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,p.jsx)(u,{className:`border-border/80 bg-muted/45 text-foreground`,children:`online`}),(0,p.jsxs)(u,{className:`border-border/80 bg-background/45 text-muted-foreground`,children:[e.enabledCapabilityCount,` capabilities`]})]})]}),(0,p.jsxs)(`div`,{className:`grid border-y border-border/80`,children:[(0,p.jsx)(C,{label:`id`,value:e.summary.runner.id}),(0,p.jsx)(C,{label:`name`,value:e.summary.runner.name??`-`}),(0,p.jsx)(C,{label:`version`,value:e.summary.runner.version??`-`}),(0,p.jsx)(C,{label:`generated`,value:`${i(e.summary.generatedAt)} / ${e.summary.generatedAt}`})]})]})}function _(e){let t=Object.entries(e.storage);return(0,p.jsxs)(`section`,{className:`grid content-start gap-3`,children:[(0,p.jsx)(x,{title:`storage`,value:`${t.length} adapters`}),t.length===0?(0,p.jsx)(T,{text:`No storage adapters reported.`}):(0,p.jsx)(`div`,{className:`grid border-y border-border/80`,children:t.map(([e,t])=>(0,p.jsx)(w,{label:E(e),value:t??`-`,tone:t===void 0?`muted`:`normal`},e))})]})}function v(e){let t=Object.entries(e.counts).filter(e=>typeof e[1]==`number`);return(0,p.jsxs)(`section`,{className:`grid content-start gap-3`,children:[(0,p.jsx)(x,{title:`records`,value:`${t.length} counters`}),(0,p.jsx)(`div`,{className:`grid border-y border-border/80`,children:t.map(([e,t])=>(0,p.jsx)(w,{label:E(e),value:t},e))})]})}function y(e){let t=Object.entries(e.capabilities);return(0,p.jsxs)(`section`,{className:`grid content-start gap-3`,children:[(0,p.jsx)(x,{title:`capabilities`,value:`${t.length} reported`}),t.length===0?(0,p.jsx)(T,{text:`No capabilities reported.`}):(0,p.jsx)(`div`,{className:`grid border-y border-border/80 sm:grid-cols-2 sm:divide-x sm:divide-border/80`,children:t.map(([e,n],r)=>(0,p.jsxs)(`div`,{className:[`grid min-w-0 gap-1 border-b border-border/70 px-3 py-3`,r>=t.length-(t.length%2==0?2:1)?`sm:border-b-0`:``].join(` `),children:[(0,p.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,p.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold text-foreground`,children:E(e)}),(0,p.jsx)(`span`,{className:n?.enabled?`text-xs font-medium text-foreground`:`text-xs font-medium text-muted-foreground`,children:n?.enabled?`enabled`:`disabled`})]}),n?.reason===void 0?null:(0,p.jsx)(`p`,{className:`m-0 text-xs leading-5 text-muted-foreground`,children:n.reason})]},e))})]})}function b(e){return(0,p.jsxs)(`section`,{className:`grid min-w-0 content-start gap-3`,children:[(0,p.jsx)(x,{title:`raw summary`,value:`JSON`}),(0,p.jsxs)(`details`,{className:`group grid min-w-0 overflow-hidden border-y border-border/80`,open:!0,children:[(0,p.jsxs)(`summary`,{className:`flex min-h-11 cursor-pointer list-none items-center justify-between gap-3 bg-muted/10 px-3 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground marker:hidden`,children:[`Payload`,(0,p.jsx)(`span`,{className:`font-medium normal-case tracking-normal group-open:hidden`,children:`Show`}),(0,p.jsx)(`span`,{className:`hidden font-medium normal-case tracking-normal group-open:inline`,children:`Hide`})]}),(0,p.jsx)(`div`,{className:`min-w-0 overflow-x-auto border-t border-border/70`,children:(0,p.jsx)(`pre`,{className:`m-0 max-h-[28rem] min-w-max p-4 text-xs leading-5 text-foreground`,children:(0,p.jsx)(`code`,{children:(0,p.jsx)(d,{text:JSON.stringify(e.summary,null,2)})})})})]})]})}function x(e){return(0,p.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,p.jsx)(S,{children:e.title}),(0,p.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:e.value})]})}function S(e){return(0,p.jsx)(`h2`,{className:`m-0 text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground`,children:e.children})}function C(e){return(0,p.jsxs)(`div`,{className:`grid min-w-0 gap-1 border-b border-border/70 px-3 py-3 first:pt-3 last:border-b-0`,children:[(0,p.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:e.label}),(0,p.jsx)(`span`,{className:`min-w-0 truncate text-sm text-foreground`,title:String(e.value),children:e.value})]})}function w(e){return(0,p.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(120px,0.5fr)_minmax(0,1fr)] gap-3 border-b border-border/70 px-3 py-3 last:border-b-0`,children:[(0,p.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-muted-foreground`,children:e.label}),(0,p.jsx)(`span`,{className:[`min-w-0 truncate text-right text-sm font-semibold tabular-nums`,e.tone===`muted`?`text-muted-foreground`:`text-foreground`].join(` `),title:String(e.value),children:e.value})]})}function T(e){return(0,p.jsx)(`div`,{className:`border-y border-dashed border-border/80 px-3 py-8 text-center text-sm text-muted-foreground`,children:e.text})}function E(e){return e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).toLowerCase()}export{m as StatusPage};
2
- //# sourceMappingURL=status-page-CgRNt0wi.js.map
@@ -1,2 +0,0 @@
1
- import{i as e,r as t,s as n}from"./utils-C9GMruoG.js";import{F as r,at as i,d as a,f as o,m as s,p as c,rt as l,t as u,u as d}from"./index-Bh7RLPBw.js";import{t as f}from"./badge-RJJoRC4P.js";import{t as ee}from"./renderers-B8gvjR2u.js";import{t as p}from"./input-BOUv3rgO.js";var m=n(e(),1),h=t();function g(e){let[t,n]=(0,m.useState)(`form`),r=(0,m.useMemo)(()=>T(e.schema),[e.schema]),a=(0,m.useMemo)(()=>F(e.value),[e.value]),o=e.disabled===!0,s=r.length>0,c=s?t:`json`,l=a.ok&&i(a.value)?a.value:void 0;function u(t,n){let r=l??{};e.onChange(z(P(r,t,n)))}function d(t,n){let r=l??{},i=N(r,t);Array.isArray(i)&&e.onChange(z(P(r,t,i.filter((e,t)=>t!==n))))}return(0,h.jsxs)(`div`,{className:`grid min-w-0 gap-3`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,h.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Arguments`}),s?(0,h.jsxs)(`div`,{className:`inline-grid h-8 grid-cols-2 overflow-hidden rounded-md border border-border/80 bg-background/45 p-0.5`,children:[(0,h.jsx)(_,{active:c===`form`,onClick:()=>n(`form`),children:`Form`}),(0,h.jsx)(_,{active:c===`json`,onClick:()=>n(`json`),children:`JSON`})]}):(0,h.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:`JSON`})]}),c===`json`||l===void 0?(0,h.jsx)(v,{disabled:o,error:a.ok?``:a.error,value:e.value,onChange:e.onChange}):(0,h.jsx)(`div`,{className:`grid gap-3`,children:r.map(e=>(0,h.jsx)(y,{disabled:o,field:e,path:[e.name],rootValue:l,onChange:u,onRemoveArrayItem:d},e.name))})]})}function _(e){return(0,h.jsx)(`button`,{className:e.active?`rounded-[5px] bg-muted/55 px-3 text-xs font-semibold text-foreground`:`rounded-[5px] px-3 text-xs font-medium text-muted-foreground transition hover:text-foreground`,type:`button`,onClick:e.onClick,children:e.children})}function v(e){return(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[(0,h.jsx)(u,{className:`min-h-36 resize-y rounded-md border-border bg-background/45 p-3 text-xs leading-5`,disabled:e.disabled,value:e.value,spellCheck:!1,onChange:t=>e.onChange(t.target.value)}),e.error.length===0?null:(0,h.jsx)(`div`,{className:`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs leading-5 text-destructive`,children:e.error})]})}function y(e){let t=N(e.rootValue,e.path),n=k(e.field.schema,e.field.name),r=A(e.field.schema),i=E(e.field.schema);if(i===`object`){let i=T(e.field.schema);return(0,h.jsxs)(`fieldset`,{className:`grid min-w-0 gap-3 border-b border-border/70 pb-3 last:border-b-0`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,h.jsx)(`legend`,{className:`min-w-0 truncate text-sm font-semibold text-foreground`,children:n}),e.field.required?(0,h.jsx)(S,{}):null]}),r===void 0?null:(0,h.jsx)(`p`,{className:`m-0 text-xs leading-5 text-muted-foreground`,children:r}),i.length===0?(0,h.jsx)(w,{disabled:e.disabled,path:e.path,value:t,onChange:e.onChange}):(0,h.jsx)(`div`,{className:`grid gap-3 border-l border-border/70 pl-3`,children:i.map(t=>(0,h.jsx)(y,{disabled:e.disabled,field:t,path:[...e.path,t.name],rootValue:e.rootValue,onChange:e.onChange,onRemoveArrayItem:e.onRemoveArrayItem},t.name))})]})}return i===`array`?(0,h.jsx)(b,{description:r,disabled:e.disabled,field:e.field,label:n,path:e.path,rootValue:e.rootValue,value:t,onChange:e.onChange,onRemoveArrayItem:e.onRemoveArrayItem}):(0,h.jsxs)(`div`,{className:`grid min-w-0 gap-2 border-b border-border/70 pb-3 last:border-b-0`,children:[(0,h.jsx)(x,{label:n,required:e.field.required}),r===void 0?null:(0,h.jsx)(`p`,{className:`m-0 text-xs leading-5 text-muted-foreground`,children:r}),(0,h.jsx)(te,{disabled:e.disabled,path:e.path,required:e.field.required,schema:e.field.schema,value:t,onChange:e.onChange})]})}function b(e){let t=D(e.field.schema),n=Array.isArray(e.value)?e.value:[],i=n.map((t,n)=>({index:n,key:`${H(e.path)}:${n}:${V(t)}`}));return(0,h.jsxs)(`div`,{className:`grid min-w-0 gap-3 border-b border-border/70 pb-3 last:border-b-0`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,h.jsx)(x,{label:e.label,required:e.field.required}),t===void 0?null:(0,h.jsx)(r,{className:`h-8 min-h-8 rounded-md px-3 text-xs`,disabled:e.disabled,type:`button`,variant:`secondary`,onClick:()=>e.onChange(e.path,[...n,M(t)]),children:`Add`})]}),e.description===void 0?null:(0,h.jsx)(`p`,{className:`m-0 text-xs leading-5 text-muted-foreground`,children:e.description}),t===void 0?(0,h.jsx)(w,{disabled:e.disabled,path:e.path,value:e.value,onChange:e.onChange}):n.length===0?(0,h.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 px-3 py-2 text-xs text-muted-foreground`,children:`Empty array`}):(0,h.jsx)(`div`,{className:`grid gap-3 border-l border-border/70 pl-3`,children:i.map(n=>(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,h.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:[`Item `,n.index+1]}),(0,h.jsx)(r,{className:`h-7 min-h-7 rounded-md px-2 text-xs`,disabled:e.disabled,type:`button`,variant:`ghost`,onClick:()=>e.onRemoveArrayItem(e.path,n.index),children:`Remove`})]}),(0,h.jsx)(y,{disabled:e.disabled,field:{name:String(n.index+1),required:!0,schema:t},path:[...e.path,n.index],rootValue:e.rootValue,onChange:e.onChange,onRemoveArrayItem:e.onRemoveArrayItem})]},n.key))})]})}function x(e){return(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold text-foreground`,children:e.label}),e.required?(0,h.jsx)(S,{}):null]})}function S(){return(0,h.jsx)(`span`,{className:`rounded-md bg-muted/35 px-2 py-0.5 text-[11px] font-medium text-muted-foreground`,children:`required`})}function te(e){let t=O(e.schema);if(t.length>0){let n=t.findIndex(t=>B(t,e.value)),i=t.map((e,t)=>({label:V(e),value:String(t),key:`${t}:${V(e)}`}));return(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,h.jsxs)(d,{value:n===-1?``:String(n),disabled:e.disabled,onValueChange:n=>e.onChange(e.path,t[Number(n)]),children:[(0,h.jsx)(c,{className:`h-9 min-h-9 rounded-md border-border bg-background/45 text-sm`,children:(0,h.jsx)(s,{placeholder:`Select value`})}),(0,h.jsx)(a,{children:i.map(e=>(0,h.jsx)(o,{value:e.value,children:e.label},e.key))})]}),n===-1||e.required?null:(0,h.jsx)(r,{className:`h-9 min-h-9 rounded-md px-3 text-xs`,disabled:e.disabled,type:`button`,variant:`ghost`,onClick:()=>e.onChange(e.path,void 0),children:`Clear`})]})}let n=E(e.schema);return n===`boolean`?(0,h.jsxs)(`label`,{className:`flex min-h-9 w-fit cursor-pointer items-center gap-2 rounded-md border border-border/70 bg-background/45 px-3 text-sm text-foreground`,children:[(0,h.jsx)(`input`,{checked:e.value===!0,disabled:e.disabled,type:`checkbox`,className:`h-4 w-4 accent-foreground`,onChange:t=>e.onChange(e.path,t.target.checked)}),`Enabled`]}):n===`number`||n===`integer`?(0,h.jsx)(C,{disabled:e.disabled,path:e.path,schema:e.schema,type:n,value:e.value,onChange:e.onChange}):n===`string`?(0,h.jsx)(p,{className:`h-9 rounded-md border-border bg-background/45 text-sm`,disabled:e.disabled,type:`text`,value:typeof e.value==`string`?e.value:``,placeholder:j(e.schema),onChange:t=>{let n=t.target.value;e.onChange(e.path,n.length===0&&!e.required?void 0:n)}}):(0,h.jsx)(w,{disabled:e.disabled,path:e.path,value:e.value,onChange:e.onChange})}function C(e){let t=typeof e.value==`number`?String(e.value):``,[n,r]=(0,m.useState)(t);return(0,m.useEffect)(()=>{r(t)},[t]),(0,h.jsx)(p,{className:`h-9 rounded-md border-border bg-background/45 text-sm`,disabled:e.disabled,inputMode:e.type===`integer`?`numeric`:`decimal`,type:`text`,value:n,placeholder:j(e.schema),onBlur:()=>{if(n.trim().length===0){r(``);return}let i=I(n,e.type);r(i.ok?String(i.value):t)},onChange:t=>{let n=t.target.value;if(r(n),n.trim().length===0){e.onChange(e.path,void 0);return}let i=I(n,e.type);i.ok&&e.onChange(e.path,i.value)}})}function w(e){let t=(0,m.useMemo)(()=>R(e.value),[e.value]),[n,r]=(0,m.useState)(t),i=(0,m.useMemo)(()=>F(n),[n]);return(0,m.useEffect)(()=>{r(t)},[t]),(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[(0,h.jsx)(u,{className:`min-h-24 resize-y rounded-md border-border bg-background/45 p-3 text-xs leading-5`,disabled:e.disabled,value:n,spellCheck:!1,onChange:t=>{let n=t.target.value;if(r(n),n.trim().length===0){e.onChange(e.path,void 0);return}let i=F(n);i.ok&&e.onChange(e.path,i.value)}}),i.ok||n.trim().length===0?null:(0,h.jsx)(`div`,{className:`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs leading-5 text-destructive`,children:i.error})]})}function T(e){if(!i(e))return[];let t=e.properties;if(!i(t))return[];let n=ne(e);return Object.entries(t).map(([e,t])=>({name:e,required:n.has(e),schema:i(t)?t:{}}))}function ne(e){let t=e.required;return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}function E(e){let t=e.type;if(typeof t==`string`)return t;if(Array.isArray(t)){let e=t.find(e=>typeof e==`string`&&e!==`null`);if(e!==void 0)return e}return O(e).length>0?`enum`:i(e.properties)?`object`:e.items===void 0?`unknown`:`array`}function D(e){return i(e.items)?e.items:void 0}function O(e){return Array.isArray(e.enum)?e.enum:[]}function k(e,t){return typeof e.title==`string`&&e.title.length>0?e.title:U(t)}function A(e){return typeof e.description==`string`&&e.description.length>0?e.description:void 0}function j(e){return Object.hasOwn(e,`default`)?V(e.default):void 0}function M(e){if(Object.hasOwn(e,`default`))return e.default;let t=O(e);if(t.length>0)return t[0];let n=E(e);return n===`boolean`?!1:n===`integer`||n===`number`?0:n===`array`?[]:n===`object`?{}:n===`string`?``:null}function N(e,t){let n=e;for(let e of t){if(typeof e==`number`){if(!Array.isArray(n))return;n=n[e];continue}if(!i(n))return;n=n[e]}return n}function P(e,t,n){if(t.length===0)return n;let[r,...a]=t,o=Array.isArray(e)?[...e]:i(e)?{...e}:{};if(a.length===0)return n===void 0?(Array.isArray(o)&&typeof r==`number`?o.splice(r,1):!Array.isArray(o)&&typeof r==`string`&&delete o[r],o):((Array.isArray(o)&&typeof r==`number`||!Array.isArray(o)&&typeof r==`string`)&&(o[r]=n),o);let s=P(Array.isArray(o)&&typeof r==`number`||!Array.isArray(o)&&typeof r==`string`?o[r]:void 0,a,n);return(Array.isArray(o)&&typeof r==`number`||!Array.isArray(o)&&typeof r==`string`)&&(o[r]=s),o}function F(e){if(e.trim().length===0)return{ok:!0,value:void 0};try{return{ok:!0,value:JSON.parse(e)}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}function I(e,t){let n=e.trim();if(n.length===0||L(n))return{ok:!1};let r=Number(n);return!Number.isFinite(r)||t===`integer`&&!Number.isInteger(r)?{ok:!1}:{ok:!0,value:r}}function L(e){return e===`-`||e===`+`||e===`.`||e===`-.`||e===`+.`||/^[+-]?\d+\.$/.test(e)||/[eE][+-]?$/.test(e)}function R(e){return e===void 0?``:z(e)}function z(e){return JSON.stringify(e,null,2)}function B(e,t){return JSON.stringify(e)===JSON.stringify(t)}function V(e){return typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):e===null?`null`:JSON.stringify(e)}function H(e){return e.join(`.`)}function U(e){return e.replace(/[_-]+/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/\b\w/g,e=>e.toUpperCase())}function W(e){let t=e.selectedTool===void 0?0:$(e.selectedTool.parameters);return(0,h.jsxs)(`section`,{className:`grid gap-4 border-t border-border/80 pt-4 xl:grid-cols-[minmax(260px,0.42fr)_minmax(0,1fr)]`,children:[(0,h.jsxs)(`div`,{className:`grid content-start gap-3`,children:[(0,h.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,h.jsx)(`h2`,{className:`m-0 text-base font-semibold text-foreground`,children:`Runner`}),e.selectedTool===void 0?(0,h.jsx)(`p`,{className:`m-0 text-sm leading-6 text-muted-foreground`,children:`No tool selected`}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{className:`m-0 break-all text-sm font-semibold leading-6 text-foreground`,children:e.selectedTool.name}),(0,h.jsx)(`p`,{className:`m-0 max-w-[62ch] text-sm leading-6 text-muted-foreground`,children:e.selectedTool.description})]})]}),e.selectedTool===void 0?null:(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-wrap gap-2`,children:[(0,h.jsx)(f,{className:X(e.selectedTool),children:Z(e.selectedTool)}),(0,h.jsxs)(f,{className:J(e.selectedTool.approval.required),children:[`approval `,e.selectedTool.approval.required?`required`:`none`]}),(0,h.jsxs)(q,{children:[t,` `,t===1?`field`:`fields`]})]}),e.selectedTool?.approval.reason===void 0?null:(0,h.jsx)(`p`,{className:`m-0 border-l border-border/80 pl-3 text-xs leading-5 text-muted-foreground`,children:e.selectedTool.approval.reason})]}),(0,h.jsxs)(`div`,{className:`grid min-w-0 gap-3`,children:[(0,h.jsx)(g,{disabled:e.selectedTool===void 0,schema:e.selectedTool?.parameters,value:e.argsText,onChange:e.onArgsTextChange}),(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,h.jsx)(`span`,{className:`min-w-0 truncate text-xs text-muted-foreground`,children:`Arguments must be valid JSON.`}),(0,h.jsx)(r,{className:`h-8 min-h-8 rounded-md px-4 text-xs`,type:`button`,disabled:e.runState===`running`||e.selectedTool===void 0,onClick:e.onRun,children:e.runState===`running`?`Running`:`Run`})]}),e.runError.length>0?(0,h.jsx)(`div`,{className:`rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs leading-5 text-destructive`,children:e.runError}):null,e.selectedTool===void 0?null:(0,h.jsxs)(`details`,{className:`group border-t border-border/70 pt-3`,children:[(0,h.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground marker:hidden`,children:[`Parameter schema`,(0,h.jsx)(`span`,{className:`font-medium normal-case tracking-normal`,children:Q(e.selectedTool.parameters)})]}),(0,h.jsx)(`div`,{className:`mt-3`,children:(0,h.jsx)(K,{value:e.selectedTool.parameters,title:`JSON schema`})})]}),e.runResponse===void 0?null:(0,h.jsx)(G,{response:e.runResponse})]})]})}function G(e){let t=Object.hasOwn(e.response,`result`),n=t?e.response.result:e.response.error,r=t?`Tool result`:`Tool error`;return(0,h.jsxs)(`div`,{className:`grid gap-3`,children:[(0,h.jsx)(K,{value:ae(n),title:r}),(0,h.jsxs)(`details`,{className:`group border-t border-border/70 pt-3`,children:[(0,h.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground marker:hidden`,children:[`Raw run response`,(0,h.jsxs)(`span`,{className:`font-medium normal-case tracking-normal`,children:[e.response.status,` / `,e.response.durationMs,`ms`]})]}),(0,h.jsx)(`div`,{className:`mt-3`,children:(0,h.jsx)(K,{value:e.response,title:`Studio envelope`})})]})]})}function K(e){return(0,h.jsxs)(`section`,{className:`grid min-w-0 content-start overflow-hidden rounded-lg bg-background/45`,children:[(0,h.jsxs)(`div`,{className:`flex min-h-9 items-center justify-between gap-3 bg-muted/20 px-4`,children:[(0,h.jsx)(`span`,{className:` text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:e.title}),(0,h.jsx)(`span`,{className:` text-xs text-muted-foreground`,children:Q(e.value)})]}),(0,h.jsx)(`div`,{className:`min-w-0 overflow-x-auto`,children:(0,h.jsx)(`pre`,{className:`m-0 max-h-96 min-w-max p-4 text-xs leading-5 text-foreground`,children:(0,h.jsx)(`code`,{children:(0,h.jsx)(ee,{text:oe(e.value)})})})})]})}function q(e){return(0,h.jsx)(`span`,{className:`inline-flex min-h-7 items-center rounded-md bg-muted/25 px-2.5 text-xs font-medium text-muted-foreground`,children:e.children})}function J(e){return e?`border-border/80 bg-muted/35 text-foreground`:`border-transparent bg-transparent text-muted-foreground/60`}function Y(e){return e===`dynamic`?`border-border/80 bg-muted/45 text-foreground`:`border-border/80 bg-muted/55 text-muted-foreground`}function X(e){return e.mcpServerName===void 0?Y(e.source):`border-border/80 bg-muted/35 text-foreground`}function Z(e){return e.mcpServerName===void 0?e.source:`MCP / ${e.mcpServerName}`}function Q(e){if(typeof e!=`object`||!e||Array.isArray(e))return`value`;let t=e.type;return typeof t==`string`?t:`object`}function $(e){if(typeof e!=`object`||!e||Array.isArray(e))return 0;let t=e.properties;return typeof t==`object`&&t&&!Array.isArray(t)?Object.keys(t).length:0}function re(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ie(e){if(i(e)&&!(typeof e.agentId!=`string`||e.agentId.length===0)&&!(typeof e.toolName!=`string`||e.toolName.length===0)&&!(e.status!==`success`&&e.status!==`error`)&&!(typeof e.durationMs!=`number`||!Number.isFinite(e.durationMs))&&!(typeof e.startedAt!=`string`||typeof e.endedAt!=`string`)&&Array.isArray(e.events))return e}function ae(e){if(typeof e!=`string`)return e;let t=l(e);return t.kind===`json`?t.value:e}function oe(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}export{re as a,$ as c,Z as d,J as i,Q as l,q as n,X as o,W as r,ie as s,K as t,Y as u};
2
- //# sourceMappingURL=tool-runner-BZN-PZJU.js.map
@@ -1,2 +0,0 @@
1
- import{i as e,r as t,s as n}from"./utils-C9GMruoG.js";import{F as r,a as i,d as a,f as o,i as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./index-Bh7RLPBw.js";import{t as m}from"./badge-RJJoRC4P.js";import{a as h,c as g,d as _,i as v,l as y,n as b,o as x,r as S,s as C}from"./tool-runner-BZN-PZJU.js";var w=n(e(),1),T=t();function E(e){let t=e.agents.find(t=>t.id===e.selectedAgentId)??e.agents[0],n=e.summary?.tools??[],[r,m]=(0,w.useState)(``),[g,_]=(0,w.useState)(`{}`),[v,y]=(0,w.useState)(`idle`),[b,x]=(0,w.useState)(),[E,O]=(0,w.useState)(``),k=(0,w.useMemo)(()=>n.find(e=>e.name===r)??n[0],[r,n]),A=t===void 0||k===void 0?``:`${t.id}:${k.name}`,M=(0,w.useRef)(A),N=(0,w.useRef)(0),P=j(n);(0,w.useEffect)(()=>{if(n.length===0){m(``);return}n.some(e=>e.name===r)||m(n[0]?.name??``)},[r,n]),(0,w.useEffect)(()=>{M.current!==A&&(M.current=A,N.current+=1,y(`idle`),O(``),x(void 0))},[A]);async function F(){if(t===void 0||k===void 0)return;let e;try{e=JSON.parse(g)}catch(e){O(e instanceof Error?e.message:String(e)),x(void 0);return}y(`running`),O(``),x(void 0);let n=A,r=N.current+1;N.current=r;let i=()=>N.current===r&&M.current===n;try{let n=await fetch(`/agents/${encodeURIComponent(t.id)}/tools/${encodeURIComponent(k.name)}/runs`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({args:e})}),r=await n.json();if(!i())return;let a=C(r);if(a===void 0){O(`Unexpected Studio tool run response: ${h(r)}`);return}x(a),(!n.ok||a.status===`error`)&&O(h(a.error??a))}catch(e){i()&&O(e instanceof Error?e.message:String(e))}finally{i()&&y(`idle`)}}return(0,T.jsxs)(u,{className:`grid-rows-[auto_minmax(0,1fr)]`,"aria-label":`Tools`,children:[(0,T.jsx)(i,{title:`Tools`,description:`Tool definitions registered on Studio agents, including approval policy and input schema.`,action:(0,T.jsxs)(`div`,{className:`flex min-w-0 flex-wrap justify-end gap-2 max-sm:justify-start`,children:[(0,T.jsx)(f,{label:`tools`,value:P.total}),(0,T.jsx)(f,{label:`mcp`,value:P.mcp}),(0,T.jsx)(f,{label:`static`,value:P.static}),(0,T.jsx)(f,{label:`dynamic`,value:P.dynamic}),(0,T.jsx)(f,{label:`approvals`,value:P.approvals}),e.agents.length>1?(0,T.jsxs)(p,{value:t?.id??``,onValueChange:e.onSelectAgent,children:[(0,T.jsx)(d,{className:`h-8 min-h-8 w-64 rounded-md border-border text-xs max-sm:w-full`,children:(0,T.jsx)(c,{placeholder:`Agent`})}),(0,T.jsx)(a,{align:`end`,children:e.agents.map(e=>(0,T.jsx)(o,{value:e.id,children:e.name??e.id},e.id))})]}):null]})}),(0,T.jsx)(s,{className:`overflow-auto`,children:e.enabled?e.loading?(0,T.jsx)(l,{title:`Loading tools`,text:`Reading registered tool metadata.`}):n.length===0?(0,T.jsx)(l,{title:`No tools`,text:`The selected agent has no registered tools.`}):(0,T.jsxs)(`div`,{className:`grid w-full gap-5`,children:[(0,T.jsx)(D,{selectedToolName:k?.name??``,tools:n,onSelectTool:m}),(0,T.jsx)(S,{argsText:g,runError:E,runResponse:b,runState:v,selectedTool:k,onArgsTextChange:_,onRun:()=>void F()})]}):(0,T.jsx)(l,{title:`Tools unavailable`,text:`No registered Studio agent exposes static or dynamic tools.`})})]})}function D(e){return(0,T.jsx)(`div`,{className:`min-w-[1040px]`,children:(0,T.jsxs)(`table`,{className:`w-full border-separate border-spacing-0 text-left`,children:[(0,T.jsx)(`thead`,{className:`sticky top-0 z-10 bg-background/95 backdrop-blur`,children:(0,T.jsxs)(`tr`,{children:[(0,T.jsx)(k,{children:`Tool`}),(0,T.jsx)(k,{children:`Origin`}),(0,T.jsx)(k,{children:`Schema`}),(0,T.jsx)(k,{children:`Approval`}),(0,T.jsx)(k,{children:`Run`})]})}),(0,T.jsx)(`tbody`,{children:e.tools.map(t=>(0,T.jsx)(O,{active:e.selectedToolName===t.name,tool:t,onSelectTool:e.onSelectTool},`${t.source}:${t.name}`))})]})})}function O(e){let t=g(e.tool.parameters);return(0,T.jsxs)(`tr`,{children:[(0,T.jsx)(A,{children:(0,T.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,children:[(0,T.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,T.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold text-foreground`,children:e.tool.name}),e.active?(0,T.jsx)(m,{className:M,children:`selected`}):null]}),(0,T.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-muted-foreground`,children:e.tool.agentId}),(0,T.jsx)(`p`,{className:`m-0 max-w-[64ch] truncate text-sm leading-6 text-muted-foreground`,children:e.tool.description})]})}),(0,T.jsx)(A,{children:(0,T.jsx)(m,{className:x(e.tool),children:_(e.tool)})}),(0,T.jsx)(A,{children:(0,T.jsxs)(`div`,{className:`flex min-w-0 flex-wrap gap-2`,children:[(0,T.jsx)(b,{children:y(e.tool.parameters)}),(0,T.jsxs)(b,{children:[t,` `,t===1?`field`:`fields`]})]})}),(0,T.jsx)(A,{children:(0,T.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,children:[(0,T.jsx)(m,{className:v(e.tool.approval.required),children:e.tool.approval.required?`required`:`none`}),e.tool.approval.reason===void 0?null:(0,T.jsx)(`span`,{className:`max-w-[280px] truncate text-xs leading-5 text-muted-foreground`,title:e.tool.approval.reason,children:e.tool.approval.reason})]})}),(0,T.jsx)(A,{children:(0,T.jsx)(r,{className:`h-8 min-h-8 rounded-md px-3 text-xs`,type:`button`,variant:e.active?`secondary`:`ghost`,onClick:()=>e.onSelectTool(e.tool.name),children:e.active?`Selected`:`Use`})})]})}function k(e){return(0,T.jsx)(`th`,{className:`border-b border-border/80 py-2.5 pr-5 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground first:pl-0`,children:e.children})}function A(e){return(0,T.jsx)(`td`,{className:`border-b border-border/70 py-3.5 pr-5 align-top first:pl-0`,children:e.children})}function j(e){return e.reduce((e,t)=>(e.total+=1,t.source===`dynamic`?e.dynamic+=1:e.static+=1,t.mcpServerName!==void 0&&(e.mcp+=1),t.approval.required&&(e.approvals+=1),e),{approvals:0,dynamic:0,mcp:0,static:0,total:0})}var M=`border-border/80 bg-muted/45 text-foreground`;export{E as ToolsPage};
2
- //# sourceMappingURL=tools-page-DRv7aklU.js.map
@@ -1,10 +0,0 @@
1
- import{i as e,r as t,s as n,t as r}from"./utils-C9GMruoG.js";import{$ as i,A as a,F as o,G as s,H as c,I as l,L as u,M as d,N as f,P as p,R as m,S as h,U as g,V as _,W as v,Y as y,Z as b,at as x,et as S,g as C,h as w,it as T,j as E,k as D,n as O,nt as k,tt as A}from"./index-Bh7RLPBw.js";import{t as ee}from"./badge-RJJoRC4P.js";import{t as te}from"./input-BOUv3rgO.js";var j=n(e(),1),ne=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),re=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M236,144a68.07,68.07,0,0,1-68,68H80a12,12,0,0,1,0-24h88a44,44,0,0,0,0-88H61l27.52,27.51a12,12,0,0,1-17,17l-48-48a12,12,0,0,1,0-17l48-48a12,12,0,1,1,17,17L61,76H168A68.08,68.08,0,0,1,236,144Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M80,40v96L32,88Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M168,80H88V40a8,8,0,0,0-13.66-5.66l-48,48a8,8,0,0,0,0,11.32l48,48A8,8,0,0,0,88,136V96h80a48,48,0,0,1,0,96H80a8,8,0,0,0,0,16h88a64,64,0,0,0,0-128ZM72,116.69,43.31,88,72,59.31Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232,144a64.07,64.07,0,0,1-64,64H80a8,8,0,0,1,0-16h88a48,48,0,0,0,0-96H88v40a8,8,0,0,1-13.66,5.66l-48-48a8,8,0,0,1,0-11.32l48-48A8,8,0,0,1,88,40V80h80A64.07,64.07,0,0,1,232,144Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M230,144a62.07,62.07,0,0,1-62,62H80a6,6,0,0,1,0-12h88a50,50,0,0,0,0-100H46.49l37.75,37.76a6,6,0,1,1-8.48,8.48l-48-48a6,6,0,0,1,0-8.48l48-48a6,6,0,0,1,8.48,8.48L46.49,82H168A62.07,62.07,0,0,1,230,144Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232,144a64.07,64.07,0,0,1-64,64H80a8,8,0,0,1,0-16h88a48,48,0,0,0,0-96H51.31l34.35,34.34a8,8,0,0,1-11.32,11.32l-48-48a8,8,0,0,1,0-11.32l48-48A8,8,0,0,1,85.66,45.66L51.31,80H168A64.07,64.07,0,0,1,232,144Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,144a60.07,60.07,0,0,1-60,60H80a4,4,0,0,1,0-8h88a52,52,0,0,0,0-104H41.66l41.17,41.17a4,4,0,0,1-5.66,5.66l-48-48a4,4,0,0,1,0-5.66l48-48a4,4,0,0,1,5.66,5.66L41.66,84H168A60.07,60.07,0,0,1,228,144Z`}))]]),ie=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM104.49,56.48,116,45V88a12,12,0,0,0,24,0V45l11.51,11.51a12,12,0,0,0,17-17l-32-32a12,12,0,0,0-17,0l-32,32a12,12,0,0,0,17,17Zm47,143L140,211V168a12,12,0,0,0-24,0v43l-11.51-11.52a12,12,0,0,0-17,17l32,32a12,12,0,0,0,17,0l32-32a12,12,0,0,0-17-17Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,32V224a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V32A16,16,0,0,1,56,16H200A16,16,0,0,1,216,32Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM101.66,53.66,120,35.31V96a8,8,0,0,0,16,0V35.31l18.34,18.35a8,8,0,0,0,11.32-11.32l-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32Zm52.68,148.68L136,220.69V160a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M88.61,51.06a8,8,0,0,1,1.73-8.72l32-32a8,8,0,0,1,11.32,0l32,32A8,8,0,0,1,160,56H136V96a8,8,0,0,1-16,0V56H96A8,8,0,0,1,88.61,51.06ZM216,120H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-56,80H136V160a8,8,0,0,0-16,0v40H96a8,8,0,0,0-5.66,13.66l32,32a8,8,0,0,0,11.32,0l32-32A8,8,0,0,0,160,200Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,128ZM100.24,52.24,122,30.49V96a6,6,0,0,0,12,0V30.49l21.76,21.75a6,6,0,0,0,8.48-8.48l-32-32a6,6,0,0,0-8.48,0l-32,32a6,6,0,0,0,8.48,8.48Zm55.52,151.52L134,225.51V160a6,6,0,0,0-12,0v65.51l-21.76-21.75a6,6,0,0,0-8.48,8.48l32,32a6,6,0,0,0,8.48,0l32-32a6,6,0,0,0-8.48-8.48Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM101.66,53.66,120,35.31V96a8,8,0,0,0,16,0V35.31l18.34,18.35a8,8,0,0,0,11.32-11.32l-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32Zm52.68,148.68L136,220.69V160a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,128ZM98.83,50.83,124,25.66V96a4,4,0,0,0,8,0V25.66l25.17,25.17a4,4,0,1,0,5.66-5.66l-32-32a4,4,0,0,0-5.66,0l-32,32a4,4,0,0,0,5.66,5.66Zm58.34,154.34L132,230.34V160a4,4,0,0,0-8,0v70.34L98.83,205.17a4,4,0,0,0-5.66,5.66l32,32a4,4,0,0,0,5.66,0l32-32a4,4,0,0,0-5.66-5.66Z`}))]]),ae=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M54.8,119.49A35.06,35.06,0,0,1,49.05,128a35.06,35.06,0,0,1,5.75,8.51C60,147.24,60,159.83,60,172c0,25.94,1.84,32,20,32a12,12,0,0,1,0,24c-19.14,0-32.2-6.9-38.8-20.51C36,196.76,36,184.17,36,172c0-25.94-1.84-32-20-32a12,12,0,0,1,0-24c18.16,0,20-6.06,20-32,0-12.17,0-24.76,5.2-35.49C47.8,34.9,60.86,28,80,28a12,12,0,0,1,0,24c-18.16,0-20,6.06-20,32C60,96.17,60,108.76,54.8,119.49ZM240,116c-18.16,0-20-6.06-20-32,0-12.17,0-24.76-5.2-35.49C208.2,34.9,195.14,28,176,28a12,12,0,0,0,0,24c18.16,0,20,6.06,20,32,0,12.17,0,24.76,5.2,35.49A35.06,35.06,0,0,0,207,128a35.06,35.06,0,0,0-5.75,8.51C196,147.24,196,159.83,196,172c0,25.94-1.84,32-20,32a12,12,0,0,0,0,24c19.14,0,32.2-6.9,38.8-20.51C220,196.76,220,184.17,220,172c0-25.94,1.84-32,20-32a12,12,0,0,0,0-24Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M240,128c-64,0,0,88-64,88H80c-64,0,0-88-64-88,64,0,0-88,64-88h96C240,40,176,128,240,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM88,155.84c.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16c-31.27,0-31.72-22.43-32-35.84C71.71,141.9,71.59,136,56,136a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16C72.28,86.43,72.73,64,104,64a8,8,0,0,1,0,16c-15.59,0-15.71,5.9-16,20.16-.17,8.31-.41,20.09-8,27.84C87.59,135.75,87.83,147.53,88,155.84ZM200,136c-15.59,0-15.71,5.9-16,20.16-.28,13.41-.73,35.84-32,35.84a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16.17-8.31.41-20.09,8-27.84-7.6-7.75-7.84-19.53-8-27.84C167.71,85.9,167.59,80,152,80a8,8,0,0,1,0-16c31.27,0,31.72,22.43,32,35.84.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M39.91,128a27.68,27.68,0,0,1,9.49,11.13C54,148.62,54,160.51,54,172c0,24.27,1.21,38,26,38a6,6,0,0,1,0,12c-16.88,0-27.81-5.6-33.4-17.13C42,195.38,42,183.49,42,172c0-24.27-1.21-38-26-38a6,6,0,0,1,0-12c24.79,0,26-13.73,26-38,0-11.49,0-23.38,4.6-32.87C52.19,39.6,63.12,34,80,34a6,6,0,0,1,0,12C55.21,46,54,59.73,54,84c0,11.49,0,23.38-4.6,32.87A27.68,27.68,0,0,1,39.91,128ZM240,122c-24.79,0-26-13.73-26-38,0-11.49,0-23.38-4.6-32.87C203.81,39.6,192.88,34,176,34a6,6,0,0,0,0,12c24.79,0,26,13.73,26,38,0,11.49,0,23.38,4.6,32.87A27.68,27.68,0,0,0,216.09,128a27.68,27.68,0,0,0-9.49,11.13C202,148.62,202,160.51,202,172c0,24.27-1.21,38-26,38a6,6,0,0,0,0,12c16.88,0,27.81-5.6,33.4-17.13,4.6-9.49,4.6-21.38,4.6-32.87,0-24.27,1.21-38,26-38a6,6,0,0,0,0-12Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M35.89,128C52,136.23,52,155.64,52,172c0,24.8,1.35,40,28,40a4,4,0,0,1,0,8c-36,0-36-26.61-36-48,0-24.8-1.35-40-28-40a4,4,0,0,1,0-8c26.65,0,28-15.2,28-40,0-21.39,0-48,36-48a4,4,0,0,1,0,8C53.35,44,52,59.2,52,84,52,100.36,52,119.77,35.89,128ZM240,124c-26.65,0-28-15.2-28-40,0-21.39,0-48-36-48a4,4,0,0,0,0,8c26.65,0,28,15.2,28,40,0,16.36,0,35.77,16.11,44C204,136.23,204,155.64,204,172c0,24.8-1.35,40-28,40a4,4,0,0,0,0,8c36,0,36-26.61,36-48,0-24.8,1.35-40,28-40a4,4,0,0,0,0-8Z`}))]]),oe=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M176,128,96,208V48Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z`}))]]),se=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm68-84a12,12,0,0,1-12,12H128a12,12,0,0,1-12-12V72a12,12,0,0,1,24,0v44h44A12,12,0,0,1,196,128Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm56,112H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm62-90a6,6,0,0,1-6,6H128a6,6,0,0,1-6-6V72a6,6,0,0,1,12,0v50h50A6,6,0,0,1,190,128Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm60-92a4,4,0,0,1-4,4H128a4,4,0,0,1-4-4V72a4,4,0,0,1,8,0v52h52A4,4,0,0,1,188,128Z`}))]]),ce=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,40a8,8,0,1,1,8-8A8,8,0,0,1,128,136Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M152,128a24,24,0,1,1-24-24A24,24,0,0,1,152,128Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M156,128a28,28,0,1,1-28-28A28,28,0,0,1,156,128Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,98a30,30,0,1,0,30,30A30,30,0,0,0,128,98Zm0,48a18,18,0,1,1,18-18A18,18,0,0,1,128,146Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,100a28,28,0,1,0,28,28A28,28,0,0,0,128,100Zm0,48a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z`}))]]),le=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z`}))]]),ue=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z`}))]]),de=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M199,125.31l-49.88-18.39L130.69,57a19.92,19.92,0,0,0-37.38,0L74.92,106.92,25,125.31a19.92,19.92,0,0,0,0,37.38l49.88,18.39L93.31,231a19.92,19.92,0,0,0,37.38,0l18.39-49.88L199,162.69a19.92,19.92,0,0,0,0-37.38Zm-63.38,35.16a12,12,0,0,0-7.11,7.11L112,212.28l-16.47-44.7a12,12,0,0,0-7.11-7.11L43.72,144l44.7-16.47a12,12,0,0,0,7.11-7.11L112,75.72l16.47,44.7a12,12,0,0,0,7.11,7.11L180.28,144ZM140,40a12,12,0,0,1,12-12h12V16a12,12,0,0,1,24,0V28h12a12,12,0,0,1,0,24H188V64a12,12,0,0,1-24,0V52H152A12,12,0,0,1,140,40ZM252,88a12,12,0,0,1-12,12h-4v4a12,12,0,0,1-24,0v-4h-4a12,12,0,0,1,0-24h4V72a12,12,0,0,1,24,0v4h4A12,12,0,0,1,252,88Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M194.82,151.43l-55.09,20.3-20.3,55.09a7.92,7.92,0,0,1-14.86,0l-20.3-55.09-55.09-20.3a7.92,7.92,0,0,1,0-14.86l55.09-20.3,20.3-55.09a7.92,7.92,0,0,1,14.86,0l20.3,55.09,55.09,20.3A7.92,7.92,0,0,1,194.82,151.43Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M208,144a15.78,15.78,0,0,1-10.42,14.94L146,178l-19,51.62a15.92,15.92,0,0,1-29.88,0L78,178l-51.62-19a15.92,15.92,0,0,1,0-29.88L78,110l19-51.62a15.92,15.92,0,0,1,29.88,0L146,110l51.62,19A15.78,15.78,0,0,1,208,144ZM152,48h16V64a8,8,0,0,0,16,0V48h16a8,8,0,0,0,0-16H184V16a8,8,0,0,0-16,0V32H152a8,8,0,0,0,0,16Zm88,32h-8V72a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0V96h8a8,8,0,0,0,0-16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M196.89,130.94,144.4,111.6,125.06,59.11a13.92,13.92,0,0,0-26.12,0L79.6,111.6,27.11,130.94a13.92,13.92,0,0,0,0,26.12L79.6,176.4l19.34,52.49a13.92,13.92,0,0,0,26.12,0L144.4,176.4l52.49-19.34a13.92,13.92,0,0,0,0-26.12Zm-4.15,14.86-55.08,20.3a6,6,0,0,0-3.56,3.56l-20.3,55.08a1.92,1.92,0,0,1-3.6,0L89.9,169.66a6,6,0,0,0-3.56-3.56L31.26,145.8a1.92,1.92,0,0,1,0-3.6l55.08-20.3a6,6,0,0,0,3.56-3.56l20.3-55.08a1.92,1.92,0,0,1,3.6,0l20.3,55.08a6,6,0,0,0,3.56,3.56l55.08,20.3a1.92,1.92,0,0,1,0,3.6ZM146,40a6,6,0,0,1,6-6h18V16a6,6,0,0,1,12,0V34h18a6,6,0,0,1,0,12H182V64a6,6,0,0,1-12,0V46H152A6,6,0,0,1,146,40ZM246,88a6,6,0,0,1-6,6H230v10a6,6,0,0,1-12,0V94H208a6,6,0,0,1,0-12h10V72a6,6,0,0,1,12,0V82h10A6,6,0,0,1,246,88Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M196.2,132.81l-53.36-19.65L123.19,59.8a11.93,11.93,0,0,0-22.38,0L81.16,113.16,27.8,132.81a11.93,11.93,0,0,0,0,22.38l53.36,19.65,19.65,53.36a11.93,11.93,0,0,0,22.38,0l19.65-53.36,53.36-19.65a11.93,11.93,0,0,0,0-22.38Zm-2.77,14.87L138.35,168a4,4,0,0,0-2.37,2.37l-20.3,55.08a3.92,3.92,0,0,1-7.36,0L88,170.35A4,4,0,0,0,85.65,168l-55.08-20.3a3.92,3.92,0,0,1,0-7.36L85.65,120A4,4,0,0,0,88,117.65l20.3-55.08a3.92,3.92,0,0,1,7.36,0L136,117.65a4,4,0,0,0,2.37,2.37l55.08,20.3a3.92,3.92,0,0,1,0,7.36ZM148,40a4,4,0,0,1,4-4h20V16a4,4,0,0,1,8,0V36h20a4,4,0,0,1,0,8H180V64a4,4,0,0,1-8,0V44H152A4,4,0,0,1,148,40Zm96,48a4,4,0,0,1-4,4H228v12a4,4,0,0,1-8,0V92H208a4,4,0,0,1,0-8h12V72a4,4,0,0,1,8,0V84h12A4,4,0,0,1,244,88Z`}))]]),fe=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,44a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,44Zm0,168a72,72,0,1,1,72-72A72.08,72.08,0,0,1,128,212ZM164.49,99.51a12,12,0,0,1,0,17l-28,28a12,12,0,0,1-17-17l28-28A12,12,0,0,1,164.49,99.51ZM92,16A12,12,0,0,1,104,4h48a12,12,0,0,1,0,24H104A12,12,0,0,1,92,16Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M216,136a88,88,0,1,1-88-88A88,88,0,0,1,216,136Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm45.66,61.66-40,40a8,8,0,0,1-11.32-11.32l40-40a8,8,0,0,1,11.32,11.32ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,42a94,94,0,1,0,94,94A94.11,94.11,0,0,0,128,42Zm0,176a82,82,0,1,1,82-82A82.1,82.1,0,0,1,128,218ZM172.24,91.76a6,6,0,0,1,0,8.48l-40,40a6,6,0,1,1-8.48-8.48l40-40A6,6,0,0,1,172.24,91.76ZM98,16a6,6,0,0,1,6-6h48a6,6,0,0,1,0,12H104A6,6,0,0,1,98,16Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M128,44a92,92,0,1,0,92,92A92.1,92.1,0,0,0,128,44Zm0,176a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,220ZM170.83,93.17a4,4,0,0,1,0,5.66l-40,40a4,4,0,1,1-5.66-5.66l40-40A4,4,0,0,1,170.83,93.17ZM100,16a4,4,0,0,1,4-4h48a4,4,0,0,1,0,8H104A4,4,0,0,1,100,16Z`}))]]),pe=new Map([[`bold`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M160,116h48a20,20,0,0,0,20-20V48a20,20,0,0,0-20-20H160a20,20,0,0,0-20,20V60H128a28,28,0,0,0-28,28v28H76v-4A20,20,0,0,0,56,92H24A20,20,0,0,0,4,112v32a20,20,0,0,0,20,20H56a20,20,0,0,0,20-20v-4h24v28a28,28,0,0,0,28,28h12v12a20,20,0,0,0,20,20h48a20,20,0,0,0,20-20V160a20,20,0,0,0-20-20H160a20,20,0,0,0-20,20v12H128a4,4,0,0,1-4-4V88a4,4,0,0,1,4-4h12V96A20,20,0,0,0,160,116ZM52,140H28V116H52Zm112,24h40v40H164Zm0-112h40V92H164Z`}))],[`duotone`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M64,112v32a8,8,0,0,1-8,8H24a8,8,0,0,1-8-8V112a8,8,0,0,1,8-8H56A8,8,0,0,1,64,112ZM208,40H160a8,8,0,0,0-8,8V96a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V48A8,8,0,0,0,208,40Zm0,112H160a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V160A8,8,0,0,0,208,152Z`,opacity:`0.2`}),j.createElement(`path`,{d:`M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z`}))],[`fill`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M144,96V80H128a8,8,0,0,0-8,8v80a8,8,0,0,0,8,8h16V160a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16v48a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V192H128a24,24,0,0,1-24-24V136H72v8a16,16,0,0,1-16,16H24A16,16,0,0,1,8,144V112A16,16,0,0,1,24,96H56a16,16,0,0,1,16,16v8h32V88a24,24,0,0,1,24-24h16V48a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16V96a16,16,0,0,1-16,16H160A16,16,0,0,1,144,96Z`}))],[`light`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M160,110h48a14,14,0,0,0,14-14V48a14,14,0,0,0-14-14H160a14,14,0,0,0-14,14V66H128a22,22,0,0,0-22,22v34H70V112A14,14,0,0,0,56,98H24a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14H56a14,14,0,0,0,14-14V134h36v34a22,22,0,0,0,22,22h18v18a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V160a14,14,0,0,0-14-14H160a14,14,0,0,0-14,14v18H128a10,10,0,0,1-10-10V88a10,10,0,0,1,10-10h18V96A14,14,0,0,0,160,110ZM58,144a2,2,0,0,1-2,2H24a2,2,0,0,1-2-2V112a2,2,0,0,1,2-2H56a2,2,0,0,1,2,2Zm100,16a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2v48a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2Zm0-112a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2V96a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2Z`}))],[`regular`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z`}))],[`thin`,j.createElement(j.Fragment,null,j.createElement(`path`,{d:`M160,108h48a12,12,0,0,0,12-12V48a12,12,0,0,0-12-12H160a12,12,0,0,0-12,12V68H128a20,20,0,0,0-20,20v36H68V112a12,12,0,0,0-12-12H24a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12H56a12,12,0,0,0,12-12V132h40v36a20,20,0,0,0,20,20h20v20a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V160a12,12,0,0,0-12-12H160a12,12,0,0,0-12,12v20H128a12,12,0,0,1-12-12V88a12,12,0,0,1,12-12h20V96A12,12,0,0,0,160,108ZM60,144a4,4,0,0,1-4,4H24a4,4,0,0,1-4-4V112a4,4,0,0,1,4-4H56a4,4,0,0,1,4,4Zm96,16a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4v48a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4Zm0-112a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V96a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4Z`}))]]),me=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:ne}));me.displayName=`ArrowLeftIcon`;var he=me,ge=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:re}));ge.displayName=`ArrowUUpLeftIcon`;var _e=ge,ve=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:ie}));ve.displayName=`ArrowsOutLineVerticalIcon`;var ye=ve,be=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:ae}));be.displayName=`BracketsCurlyIcon`;var xe=be,Se=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:oe}));Se.displayName=`CaretRightIcon`;var Ce=Se,we=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:se}));we.displayName=`ClockIcon`;var Te=we,Ee=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:ce}));Ee.displayName=`DotOutlineIcon`;var De=Ee,Oe=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:le}));Oe.displayName=`GearIcon`;var ke=Oe,Ae=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:ue}));Ae.displayName=`MagnifyingGlassIcon`;var je=Ae,Me=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:de}));Me.displayName=`SparkleIcon`;var Ne=Me,Pe=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:fe}));Pe.displayName=`TimerIcon`;var Fe=Pe,Ie=j.forwardRef((e,t)=>j.createElement(v,{ref:t,...e,weights:pe}));Ie.displayName=`TreeStructureIcon`;var Le=Ie,M=t();function Re(e){try{return JSON.stringify(e,null,2)??`undefined`}catch{return String(e)}}function ze(e){return(0,M.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-muted/20 p-4 font-mono text-xs leading-5 text-foreground`,children:(0,M.jsx)(He,{depth:0,path:`$`,value:e.value})})}var Be=16,Ve=20;function He(e){return Ge(e.value)?(0,M.jsx)(Ue,{arrayIndex:e.arrayIndex,depth:e.depth,path:e.path,propertyKey:e.propertyKey,trailingComma:e.trailingComma,value:e.value}):(0,M.jsxs)(`div`,{className:`min-w-max whitespace-pre`,style:{paddingLeft:`${N(e.depth)}px`},children:[(0,M.jsx)(P,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),(0,M.jsx)(We,{value:e.value}),e.trailingComma?(0,M.jsx)(`span`,{className:`text-foreground`,children:`,`}):null]})}function Ue(e){let[t,n]=(0,j.useState)(e.depth===0),r=Array.isArray(e.value)?e.value:void 0,i=r===void 0?Object.entries(e.value):r.map((e,t)=>[String(t),e]),a=r===void 0?`{`:`[`,o=r===void 0?`}`:`]`,s=r===void 0?`{…}`:`[…]`;return i.length===0?(0,M.jsxs)(`div`,{className:`min-w-max whitespace-pre`,style:{paddingLeft:`${N(e.depth)}px`},children:[(0,M.jsx)(P,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),(0,M.jsxs)(`span`,{className:`text-foreground`,children:[a,o,e.trailingComma?`,`:``]})]}):(0,M.jsxs)(`div`,{className:`grid min-w-max`,children:[(0,M.jsxs)(`button`,{"aria-expanded":t,className:`grid min-w-max grid-cols-[16px_auto] items-center gap-1 rounded-lg py-0.5 pr-2 text-left transition duration-200 hover:bg-accent/45 hover:text-accent-foreground`,onClick:()=>n(e=>!e),style:{paddingLeft:`${e.depth*Be}px`},type:`button`,children:[(0,M.jsx)(`span`,{className:`grid h-4 w-4 place-items-center text-muted-foreground [&_svg]:h-3 [&_svg]:w-3`,children:t?(0,M.jsx)(h,{icon:c,"aria-hidden":`true`}):(0,M.jsx)(h,{icon:Ce,"aria-hidden":`true`})}),(0,M.jsxs)(`span`,{className:`whitespace-pre`,children:[(0,M.jsx)(P,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),t?(0,M.jsx)(`span`,{className:`text-foreground`,children:a}):(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:s}),!t&&e.trailingComma?(0,M.jsx)(`span`,{className:`text-foreground`,children:`,`}):null]})]}),t?(0,M.jsxs)(M.Fragment,{children:[i.map(([t,n],a)=>(0,M.jsx)(He,{arrayIndex:r===void 0?void 0:Number(t),depth:e.depth+1,path:`${e.path}.${t}`,propertyKey:r===void 0?t:void 0,trailingComma:a<i.length-1,value:n},`${e.path}.${t}`)),(0,M.jsxs)(`div`,{className:`min-w-max whitespace-pre text-foreground`,style:{paddingLeft:`${N(e.depth)}px`},children:[o,e.trailingComma?`,`:``]})]}):null]})}function N(e){return e*Be+Ve}function P(e){return e.propertyKey===void 0?e.arrayIndex===void 0?null:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`span`,{className:`text-muted-foreground`,children:[`[`,e.arrayIndex,`]`]}),(0,M.jsx)(`span`,{className:`text-foreground`,children:` `})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:JSON.stringify(e.propertyKey)}),(0,M.jsx)(`span`,{className:`text-foreground`,children:`: `})]})}function We(e){return typeof e.value==`string`?(0,M.jsx)(`span`,{className:`text-emerald-700 dark:text-emerald-400`,children:JSON.stringify(e.value)}):typeof e.value==`number`?(0,M.jsx)(`span`,{className:`text-amber-700 dark:text-amber-400`,children:String(e.value)}):typeof e.value==`boolean`?(0,M.jsx)(`span`,{className:`text-violet-700 dark:text-violet-400`,children:String(e.value)}):e.value===null?(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`null`}):e.value===void 0?(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`undefined`}):(0,M.jsx)(`span`,{className:`text-foreground`,children:Re(e.value)})}function Ge(e){return Array.isArray(e)||x(e)}function Ke(e){return e.label===`Message Id`}function qe(e){let t=`h-3.5 w-3.5 shrink-0`;switch(e.label){case`System prompt`:return(0,M.jsx)(h,{icon:ke,"aria-hidden":`true`,className:t});case`Prompt`:return(0,M.jsx)(h,{icon:_,"aria-hidden":`true`,className:t});case`Output`:case`Assistant output`:return(0,M.jsx)(h,{icon:_e,"aria-hidden":`true`,className:t});default:return null}}function Je(e,t){if(e===`Output`){let e=Ye(t);if(e.length>0)return e}let n=F(t,e);if(n.length>0)return n;if(!x(t))return[{label:e,text:$e(t)}];let r=[];for(let[e,n]of Object.entries(t)){let t=F(n,e);if(t.length>0){r.push(...t);continue}r.push({label:L(e),text:$e(n)})}return r.length>0?r:[{label:e,text:`Empty object`}]}function Ye(e){if(!x(e))return[];let t=[],n=F(e.choice,`choice`);return t.push(...n),typeof e.messageId==`string`&&e.messageId.length>0&&t.push({label:`Message Id`,text:e.messageId}),t}function F(e,t){if(typeof e==`string`&&t===void 0)return[{label:`Value`,text:e}];if(Array.isArray(e))return t===`chatHistory`?Xe(e):t===`history`?Ze(e):e.map((e,n)=>({label:I(e,n,t),text:s(e)||i(e)})).filter(e=>e.text.length>0);if(!x(e))return[];let n=Array.isArray(e.chatHistory)?e.chatHistory:void 0;if(n!==void 0){let t=Qe(e);return t.push(...F(n,`chatHistory`)),t}if(Array.isArray(e.prompt))return F(e.prompt,`prompt`);let r=[];r.push(...Qe(e));let a=Array.isArray(e.history)?e.history:[];a.length>0&&r.push(...F(a,`history`));let o=s(e.prompt);return o.length>0&&r.push({label:a.length>0?`Current prompt`:`Prompt`,text:o}),r}function Xe(e){let t=e.map((e,t)=>({label:I(e,t,`chatHistory`),text:s(e)||i(e)})).filter(e=>e.text.length>0),n=t.at(-1),r=t.slice(0,-1),a=[];return r.length>0&&a.push({label:`Conversation history (${r.length})`,text:r.map((e,t)=>`${t+1}. ${e.label}\n${e.text}`).join(`
2
-
3
- `)}),n!==void 0&&a.push({label:r.length>0?`Current prompt`:`Prompt`,text:n.text}),a}function Ze(e){let t=e.map((e,t)=>({label:I(e,t,`history`),text:s(e)||i(e)})).filter(e=>e.text.length>0);return t.length===0?[]:[{label:`Conversation history (${t.length})`,text:t.map((e,t)=>`${t+1}. ${e.label}\n${e.text}`).join(`
4
-
5
- `)}]}function I(e,t,n){if(x(e)){let t=typeof e.type==`string`?e.type:void 0;if(n===`choice`){if(t===`text`)return`Assistant output`;if(t===`reasoning`)return`Reasoning`}if(t===`reasoning`)return`Reasoning`;if(typeof e.role==`string`)return L(e.role);if(t!==void 0)return L(t)}return`${n===void 0?`Item`:`${L(n)} item`} ${t+1}`}function L(e){return e.replace(/[_-]+/g,` `).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).trim().replace(/\b\w/g,e=>e.toUpperCase())}function Qe(e){let t=e.instructions;return typeof t!=`string`||t.trim().length===0?[]:[{label:`System prompt`,text:t}]}function $e(e){if(e===void 0)return`undefined`;if(e===null)return`null`;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e,null,2)}catch{return String(e)}}function et(e){let t=new Map;for(let n of e.observations){let e=Number.isFinite(n.turn)?n.turn:t.size+1;t.set(e,[...t.get(e)??[],n])}return[...t.entries()].sort(([e],[t])=>e-t).map(([e,t])=>({turn:e,observations:t,durationMs:t.reduce((e,t)=>e+(t.durationMs??0),0)}))}function tt(e){let t=new Map;for(let n of e)t.set(n.id,{observation:n,children:[]});let n=[];for(let r of e){let e=t.get(r.id);if(e===void 0)continue;let i=r.parentObservationId,a=i===void 0?void 0:t.get(i);a===void 0?n.push(e):a.children.push(e)}return n}function nt(e,t,n){if(n===`agent`)return{title:`agent.run`,tone:`agent`,status:e.status,startedAt:A(e.startedAt),durationMs:e.durationMs,firstDeltaMs:B(e.observations),usage:k(e.usage),input:e.input,output:e.output,error:e.error,metadata:rt(e)};if(n.startsWith(`turn:`)){let r=Number(n.slice(5)),i=t.find(e=>e.turn===r);return{title:`turn.${Number.isFinite(r)?r:1}`,tone:`turn`,status:dt(i?.observations??[]),startedAt:A(i?.observations[0]?.startedAt??e.startedAt),durationMs:i?.durationMs,firstDeltaMs:B(i?.observations??[]),usage:gt(i?.observations??[]),input:i?.observations[0]?.input,output:i?.observations.at(-1)?.output,metadata:it(r,i?.observations??[])}}if(n.startsWith(`observation:`)){let t=n.slice(12),r=e.observations.find(e=>e.id===t);if(r!==void 0)return{title:z(r),tone:r.kind,status:r.status,startedAt:A(r.startedAt),durationMs:r.durationMs,firstDeltaMs:pt(r.metadata),usage:ht(r),input:r.input,output:r.output,error:r.error,metadata:at(r)}}return{title:e.name??`Agent`,tone:`trace`,status:e.status,startedAt:A(e.startedAt),durationMs:e.durationMs,firstDeltaMs:B(e.observations),usage:k(e.usage),input:e.input,output:e.output,error:e.error,metadata:rt(e)}}function rt(e){let t=x(e.metadata)?e.metadata:{},n=R({status:e.status,traceId:e.trace?.traceId??e.id,observationId:e.trace?.observationId,sessionId:e.sessionId,observationCount:e.observationCount,messageCount:ft(t.messages),startedAt:e.startedAt,endedAt:e.endedAt,durationMs:e.durationMs});return R({...t,status:e.status,traceId:e.trace?.traceId??e.id,observationId:e.trace?.observationId,sessionId:e.sessionId,observationCount:e.observationCount,messageCount:ft(t.messages),startedAt:e.startedAt,endedAt:e.endedAt,durationMs:e.durationMs,trace:x(t.trace)?t.trace:n})}function it(e,t){return R({turn:e,observationCount:t.length,generationCount:t.filter(e=>e.kind===`generation`).length,toolCount:t.filter(e=>e.kind===`tool`).length,agentCount:t.filter(e=>e.kind===`agent`).length,firstDeltaMs:B(t),status:dt(t),startedAt:t[0]?.startedAt,endedAt:t.at(-1)?.endedAt})}function at(e){let t=R({...x(e.metadata)?e.metadata:{},status:e.status,kind:e.kind,turn:e.turn,parentObservationId:e.parentObservationId??null,startedAt:e.startedAt,endedAt:e.endedAt??null,durationMs:e.durationMs});return R({...t,trace:x(t.trace)?t.trace:R({status:e.status,kind:e.kind,turn:e.turn,parentObservationId:e.parentObservationId??null,startedAt:e.startedAt,endedAt:e.endedAt??null,durationMs:e.durationMs}),modelInfo:x(t.modelInfo)?t.modelInfo:ot(t),modelCall:x(t.modelCall)?t.modelCall:st(t),response:x(t.response)?t.response:ct(t),tools:x(t.tools)?t.tools:lt(t),timing:x(t.timing)?t.timing:ut(t)})}function ot(e){let t=R({provider:e.provider,model:e.model,requestedModel:e.requestedModel,defaultModel:e.defaultModel});return Object.keys(t).length===0?void 0:t}function st(e){let t=R({messageCount:e.historyCount,documentCount:e.documentCount,toolCount:e.toolCount,toolNames:e.toolNames,temperature:e.temperature,maxTokens:e.maxTokens,toolChoice:e.toolChoice,hasOutputSchema:e.hasOutputSchema,additionalParamKeys:e.additionalParamKeys}),n=R({request:Object.keys(t).length===0?void 0:t,providerRequest:e.providerRequest});return Object.keys(n).length===0?void 0:n}function ct(e){let t=R({messageId:e.messageId,usage:e.usage,providerResponse:e.providerResponse});return Object.keys(t).length===0?void 0:t}function lt(e){let t=R({count:e.toolCount,names:e.toolNames,toolChoice:e.toolChoice,internalCallId:e.internalCallId,toolCallId:e.toolCallId,skipped:e.skipped,description:e.toolDescription,parameterKeys:e.parameterKeys,requiredParameterKeys:e.requiredParameterKeys,approvalRequired:e.approvalRequired,mcpServerName:e.mcpServerName,argumentBytes:e.argumentBytes,resultBytes:e.resultBytes});return Object.keys(t).length===0?void 0:t}function ut(e){let t=R({firstDeltaMs:e.firstDeltaMs,durationMs:e.durationMs,startedAt:e.startedAt,endedAt:e.endedAt});return Object.keys(t).length===0?void 0:t}function dt(e){return e.length===0?`empty`:e.some(e=>e.status===`error`)?`error`:e.some(e=>e.status===`running`)?`running`:`success`}function ft(e){return Array.isArray(e)?e.length:void 0}function R(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function z(e){return e.kind===`agent`?e.name:e.kind===`tool`?`tool.${e.name}`:e.name}function B(e){for(let t of e){let e=pt(t.metadata);if(e!==void 0)return e}}function pt(e){if(!(!x(e)||typeof e.firstDeltaMs!=`number`))return e.firstDeltaMs}function V(e){switch(e.tone){case`trace`:return(0,M.jsx)(h,{icon:De,"aria-hidden":`true`});case`agent`:return(0,M.jsx)(h,{icon:m,"aria-hidden":`true`});case`turn`:return(0,M.jsx)(h,{icon:m,"aria-hidden":`true`});case`generation`:return(0,M.jsx)(h,{icon:Ne,"aria-hidden":`true`});case`tool`:return(0,M.jsx)(h,{icon:u,"aria-hidden":`true`});default:return(0,M.jsx)(h,{icon:De,"aria-hidden":`true`})}}function mt(e){switch(e){case`trace`:return`bg-foreground text-background`;case`agent`:return`bg-violet-600 text-white`;case`turn`:return`bg-violet-600 text-white`;case`generation`:return`bg-blue-600 text-white`;case`tool`:return`bg-amber-600 text-white`;default:return`bg-muted text-muted-foreground`}}function ht(e){return!x(e.output)||!x(e.output.usage)?``:_t(e.output.usage)}function gt(e){return e.map(ht).filter(e=>e.length>0).join(` + `)}function _t(e){let t=typeof e.inputTokens==`number`?e.inputTokens:0,n=typeof e.outputTokens==`number`?e.outputTokens:0,r=typeof e.totalTokens==`number`?e.totalTokens:t+n;return r===0?``:`${t} -> ${n} (Σ ${r})`}function vt({className:e,...t}){return(0,M.jsx)(`div`,{className:r(`flex flex-col gap-4 overflow-hidden rounded-xl border border-border bg-card py-4 text-base text-card-foreground`,e),...t})}var yt=Object.defineProperty,H=(e,t)=>yt(e,`name`,{value:t,configurable:!0});function bt(e,t){return j.useReducer((e,n)=>t[e][n]??e,e)}H(bt,`useStateMachine`);var xt=`ScrollArea`,[St,Ct]=f(xt),[wt,U]=St(xt),Tt=j.forwardRef(H(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=j.useState(null),[u,d]=j.useState(null),[f,p]=j.useState(null),[m,h]=j.useState(null),[g,_]=j.useState(null),[v,y]=j.useState(0),[b,x]=j.useState(0),[S,C]=j.useState(!1),[T,D]=j.useState(!1),O=l(t,c),k=w(i);return(0,M.jsx)(wt,{scope:n,type:r,dir:k,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:T,onScrollbarYEnabledChange:D,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,M.jsx)(E.div,{dir:k,...o,ref:O,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})},`ScrollArea`)),Et=`ScrollAreaViewport`,Dt=j.forwardRef(H(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=U(Et,n),s=l(t,j.useRef(null),o.onViewportChange);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Ot,{nonce:i}),(0,M.jsx)(E.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,M.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),Ot=j.memo(H(function({nonce:e}){return(0,M.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),W=`ScrollAreaScrollbar`,kt=j.forwardRef(H(function(e,t){let{forceMount:n,...r}=e,i=U(W,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return j.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,M.jsx)(At,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,M.jsx)(jt,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,M.jsx)(Mt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,M.jsx)(Nt,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),At=j.forwardRef(H(function(e,t){let{forceMount:n,...r}=e,i=U(W,e.__scopeScrollArea),[a,o]=j.useState(!1);return j.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=H(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=H(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,M.jsx)(D,{present:n||a,children:(0,M.jsx)(Mt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),jt=j.forwardRef(H(function(e,t){let{forceMount:n,...r}=e,i=U(W,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=J(()=>c(`SCROLL_END`),100),[s,c]=bt(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return j.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),j.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=H(()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,M.jsx)(D,{present:n||s!==`hidden`,children:(0,M.jsx)(Nt,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:p(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:p(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),Mt=j.forwardRef(H(function(e,t){let n=U(W,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=j.useState(!1),s=e.orientation===`horizontal`,c=J(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Y(n.viewport,c),Y(n.content,c),(0,M.jsx)(D,{present:r||a,children:(0,M.jsx)(Nt,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),Nt=j.forwardRef(H(function(e,t){let{orientation:n=`vertical`,...r}=e,i=U(W,e.__scopeScrollArea),a=j.useRef(null),o=j.useRef(0),[s,c]=j.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Gt(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:H(e=>a.current=e,`onThumbChange`),onThumbPointerUp:H(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:H(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Kt(e,o.current,s,t)}return H(d,`getScrollPosition`),n===`horizontal`?(0,M.jsx)(Pt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=qt(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,M.jsx)(Ft,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=qt(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),Pt=j.forwardRef(H(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=U(W,e.__scopeScrollArea),[o,s]=j.useState(),c=j.useRef(null),u=l(t,c,a.onScrollbarXChange);return j.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,M.jsx)(Rt,{"data-orientation":`horizontal`,...i,ref:u,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":K(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Jt(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:G(o.paddingLeft),paddingEnd:G(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),Ft=j.forwardRef(H(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=U(W,e.__scopeScrollArea),[o,s]=j.useState(),c=j.useRef(null),u=l(t,c,a.onScrollbarYChange);return j.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,M.jsx)(Rt,{"data-orientation":`vertical`,...i,ref:u,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":K(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Jt(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:G(o.paddingTop),paddingEnd:G(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[It,Lt]=St(W),Rt=j.forwardRef(H(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:o,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:u,onDragScroll:d,onWheelScroll:f,onResize:m,...h}=e,g=U(W,n),[_,v]=j.useState(null),y=l(t,v),b=j.useRef(null),x=j.useRef(``),S=g.viewport,C=r.content-r.viewport,w=a(f),T=a(u),D=J(m,10);function O(e){b.current&&d({x:e.clientX-b.current.left,y:e.clientY-b.current.top})}return H(O,`handleDragScroll`),j.useEffect(()=>{let e=H(e=>{let t=e.target;_?.contains(t)&&w(e,C)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[S,_,C,w]),j.useEffect(T,[r,T]),Y(_,D),Y(g.content,D),(0,M.jsx)(It,{scope:n,scrollbar:_,hasThumb:i,onThumbChange:a(o),onThumbPointerUp:a(s),onThumbPositionChange:T,onThumbPointerDown:a(c),children:(0,M.jsx)(E.div,{...h,ref:y,style:{position:`absolute`,...h.style},onPointerDown:p(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),b.current=_.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,g.viewport&&(g.viewport.style.scrollBehavior=`auto`),O(e))}),onPointerMove:p(e.onPointerMove,O),onPointerUp:p(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=x.current,g.viewport&&(g.viewport.style.scrollBehavior=``),b.current=null})})})},`ScrollAreaScrollbarImpl`)),zt=`ScrollAreaThumb`,Bt=j.forwardRef(H(function(e,t){let{forceMount:n,...r}=e,i=Lt(zt,e.__scopeScrollArea);return(0,M.jsx)(D,{present:n||i.hasThumb,children:(0,M.jsx)(Vt,{ref:t,...r})})},`ScrollAreaThumb`)),Vt=j.forwardRef(H(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=U(zt,n),o=Lt(zt,n),{onThumbPositionChange:s}=o,c=l(t,o.onThumbChange),u=j.useRef(void 0),d=J(()=>{u.current&&=(u.current(),void 0)},100);return j.useEffect(()=>{let e=a.viewport;if(e){let t=H(()=>{d(),u.current||(u.current=Yt(e,s),s())},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,d,s]),(0,M.jsx)(E.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:p(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:p(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Ht=`ScrollAreaCorner`,Ut=j.forwardRef(H(function(e,t){let n=U(Ht,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,M.jsx)(Wt,{...e,ref:t}):null},`ScrollAreaCorner`)),Wt=j.forwardRef(H(function(e,t){let{__scopeScrollArea:n,...r}=e,i=U(Ht,n),[a,o]=j.useState(0),[s,c]=j.useState(0),l=!!(a&&s),{onCornerWidthChange:u,onCornerHeightChange:d}=i;return Y(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Y(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),j.useEffect(()=>()=>{u(0),d(0)},[u,d]),l?(0,M.jsx)(E.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function G(e){return e?parseInt(e,10):0}H(G,`toInt`);function Gt(e,t){let n=e/t;return isNaN(n)?0:n}H(Gt,`getThumbRatio`);function K(e){let t=Gt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}H(K,`getThumbSize`);function Kt(e,t,n,r=`ltr`){let i=K(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return q([c,l],d)(e)}H(Kt,`getScrollPositionFromPointer`);function qt(e,t,n=`ltr`){let r=K(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=C(e,n===`ltr`?[0,o]:[o*-1,0]);return q([0,o],[0,s])(c)}H(qt,`getThumbOffsetFromScroll`);function q(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}H(q,`linearScale`);function Jt(e,t){return e>0&&e<t}H(Jt,`isScrollingWithinScrollbarBounds`);var Yt=H((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return H((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function J(e,t){let n=a(e),r=j.useRef(0);return j.useEffect(()=>()=>window.clearTimeout(r.current),[]),j.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}H(J,`useDebounceCallback`);function Y(e,t){let n=a(t);d(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}H(Y,`useResizeObserver`);var Xt=Tt,Zt=Dt,Qt=Ut;function $t({className:e,children:t,...n}){return(0,M.jsxs)(Xt,{className:r(`relative overflow-hidden`,e),...n,children:[(0,M.jsx)(Zt,{className:`h-full w-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:ring-3 focus-visible:ring-ring/50`,children:t}),(0,M.jsx)(en,{}),(0,M.jsx)(Qt,{})]})}function en({className:e,orientation:t=`vertical`,...n}){return(0,M.jsx)(kt,{orientation:t,className:r(`flex touch-none select-none transition-colors`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,e),...n,children:(0,M.jsx)(Bt,{className:`relative flex-1 rounded-full bg-border`})})}function tn(e){if(!e.tracesEnabled)return(0,M.jsx)(O,{className:`h-full`,title:`Tracing unavailable`,text:`This Studio runtime does not expose traces.`});let t=e.selectedTraceId.length===0?void 0:e.traces.find(t=>t.id===e.selectedTraceId),n=t===void 0||e.traceSessionDetailId!==t.sessionId?[]:e.traces.filter(e=>e.sessionId===t.sessionId);return(0,M.jsx)(`section`,{className:`grid h-full min-h-0 w-full content-stretch`,"aria-label":`Tracing`,children:e.selectedTraceId.length===0?(0,M.jsx)(nn,{agents:e.agents,traces:e.traces,traceLoadState:e.traceLoadState,onSelectTrace:e.onSelectTrace}):(0,M.jsx)(rn,{selectedTrace:t,selectedSessionTraces:n,selectedTraceId:e.selectedTraceId,traceLoadState:e.traceLoadState,onBack:()=>e.onSelectTrace(``),onShowSessionTraces:e.onShowSessionTraces})})}function nn(e){return e.traces.length===0?(0,M.jsx)(O,{title:e.traceLoadState===`loading`?`Loading traces`:`No traces found`,text:e.traceLoadState===`loading`?`Reading runtime trace records.`:`Run an agent to populate the tracing timeline.`}):(0,M.jsx)(vt,{className:`min-h-0 overflow-hidden rounded-none border-0 bg-background p-0`,"aria-label":`Traces`,children:(0,M.jsx)($t,{className:`h-full min-h-0`,children:(0,M.jsxs)(`div`,{className:`grid min-w-280`,children:[(0,M.jsxs)(`div`,{className:`sticky top-0 z-10 grid min-h-11 grid-cols-[minmax(220px,1.3fr)_150px_120px_120px_120px_120px_110px_90px] items-center gap-4 border-b bg-background/95 px-4 text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground backdrop-blur`,children:[(0,M.jsx)(`span`,{children:`Trace`}),(0,M.jsx)(`span`,{children:`Session`}),(0,M.jsx)(`span`,{children:`Agent`}),(0,M.jsx)(`span`,{children:`Status`}),(0,M.jsx)(`span`,{children:`Started`}),(0,M.jsx)(`span`,{children:`Duration`}),(0,M.jsx)(`span`,{children:`First delta`}),(0,M.jsx)(`span`,{children:`Events`})]}),e.traces.map(t=>(0,M.jsxs)(o,{className:`grid h-auto min-h-14 w-full grid-cols-[minmax(220px,1.3fr)_150px_120px_120px_120px_120px_110px_90px] items-center justify-start gap-4 whitespace-normal rounded-none border-0 border-b bg-transparent px-4 py-2.5 text-left text-muted-foreground shadow-none transition duration-200 hover:bg-accent/70 hover:text-accent-foreground`,type:`button`,variant:`ghost`,onClick:()=>e.onSelectTrace(t.id),children:[(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-muted-foreground`,children:t.id}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:t.sessionId}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:T(e.agents,t)}),(0,M.jsx)(on,{status:t.status}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:S(t.startedAt)}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:y(b(t.durationMs))}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:y(b(B(t.observations)))}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium tabular-nums`,children:t.observationCount})]},t.id))]})})})}function rn(e){let t=e.selectedTrace?.observations[0]?.kind??`trace`;return(0,M.jsxs)(`div`,{className:`grid h-full min-h-0 min-w-0 grid-rows-[auto_minmax(0,1fr)] overflow-hidden bg-background`,children:[(0,M.jsxs)(`header`,{className:`shrink-0 border-b bg-background px-4 py-3`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,M.jsx)(o,{"aria-label":`Back to traces`,className:`mt-0.5 text-muted-foreground hover:text-foreground`,size:`icon`,type:`button`,variant:`ghost`,onClick:e.onBack,children:(0,M.jsx)(h,{icon:he,"aria-hidden":`true`})}),(0,M.jsx)(`span`,{className:r(`grid size-9 shrink-0 place-items-center rounded-lg [&_svg]:size-4`,mt(t)),children:(0,M.jsx)(V,{tone:t})}),(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(`h1`,{className:`truncate text-lg font-semibold tracking-tight`,children:an(e.selectedTrace)}),e.selectedTrace?(0,M.jsx)(on,{status:e.selectedTrace.status}):null]}),(0,M.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-xs text-muted-foreground`,children:e.selectedTrace===void 0?e.traceLoadState===`loading`?`Loading trace`:`Trace not found`:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{children:S(e.selectedTrace.startedAt)}),(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,M.jsx)(`span`,{className:`font-mono`,title:e.selectedTraceId,children:e.selectedTraceId})]})})]})]}),e.selectedTrace?(0,M.jsxs)(`dl`,{className:`mt-3 grid grid-cols-2 gap-x-6 gap-y-3 border-t pt-3 sm:grid-cols-4`,children:[(0,M.jsx)(X,{label:`Duration`,value:b(e.selectedTrace.durationMs)}),(0,M.jsx)(X,{label:`Spans`,value:String(e.selectedTrace.observationCount)}),(0,M.jsx)(X,{label:`Tokens`,value:y(k(e.selectedTrace.usage))}),(0,M.jsx)(X,{label:`Session`,value:e.selectedTrace.sessionId,mono:!0})]}):null]}),(0,M.jsx)(`div`,{className:`min-h-0 min-w-0 overflow-hidden`,children:e.selectedTrace===void 0?(0,M.jsx)(O,{className:`h-full rounded-none`,title:e.traceLoadState===`loading`?`Loading trace`:`Trace not found`,text:e.traceLoadState===`loading`?`Reading the selected trace.`:`The selected trace is not available in this Studio runtime.`}):(0,M.jsx)(sn,{traces:e.selectedSessionTraces.length>0?e.selectedSessionTraces:[e.selectedTrace],onShowSessionTraces:e.onShowSessionTraces})})]})}function an(e){return e?.name?e.name:x(e?.metadata)&&typeof e.metadata.agentName==`string`?e.metadata.agentName:`Trace detail`}function X(e){return(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,M.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,M.jsx)(`dd`,{className:r(`truncate text-sm font-medium tabular-nums`,e.mono&&`font-mono`),children:e.value})]})}function on({status:e}){return(0,M.jsx)(ee,{className:r(`border-0 capitalize`,e===`success`&&`bg-emerald-200 text-emerald-950 dark:bg-emerald-300 dark:text-emerald-950`,e===`error`&&`bg-rose-200 text-rose-950 dark:bg-rose-300 dark:text-rose-950`,e===`running`&&`bg-amber-200 text-amber-950 dark:bg-amber-300 dark:text-amber-950`,e!==`success`&&e!==`error`&&e!==`running`&&`bg-slate-200 text-slate-900 dark:bg-slate-300 dark:text-slate-950`),children:e})}function sn(e){let t=(0,j.useMemo)(()=>[...e.traces].sort((e,t)=>Date.parse(e.startedAt)-Date.parse(t.startedAt)),[e.traces]),n=t[0]?.id??``,[r,i]=(0,j.useState)(n),[a,s]=(0,j.useState)(`agent`),[c,l]=(0,j.useState)(()=>new Set),[u,d]=(0,j.useState)(``);(0,j.useEffect)(()=>{i(n),s(`agent`)},[n]);let f=t.find(e=>e.id===r)??t[0],p=f===void 0?[]:et(f),m=(e,t)=>{i(e),s(t)},g=u.trim().toLowerCase(),_=g.length===0?[]:t.flatMap(e=>e.observations.filter(e=>[e.name,e.kind,e.id].some(e=>e.toLowerCase().includes(g))).map(t=>({trace:e,observation:t}))),v=t.map(e=>`${e.id}:agent`),y=v.length>0&&v.every(e=>c.has(e)),x=e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return f===void 0?(0,M.jsx)(O,{className:`h-full rounded-none`,title:`No trace selected`,text:`Choose a trace to inspect its spans and metadata.`}):(0,M.jsx)(`section`,{className:`grid h-full min-h-0 w-full content-stretch overflow-hidden bg-background`,"aria-label":`Traces`,children:(0,M.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-[minmax(280px,36%)_minmax(420px,64%)] overflow-hidden max-md:grid-cols-1`,children:[(0,M.jsxs)(`nav`,{className:`flex h-full min-h-0 flex-col border-r bg-background max-md:max-h-80 max-md:border-b max-md:border-r-0`,"aria-label":`Trace timeline`,children:[(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-b p-1.5`,children:[(0,M.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,M.jsx)(h,{icon:je,"aria-hidden":`true`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,M.jsx)(te,{"aria-label":`Search spans`,className:`h-8 border-0 bg-transparent pl-7 shadow-none focus-visible:ring-1`,placeholder:`Search spans`,value:u,onChange:e=>d(e.target.value)})]}),(0,M.jsx)(o,{"aria-label":y?`Expand all spans`:`Collapse all spans`,className:`size-8`,size:`icon`,title:y?`Expand all`:`Collapse all`,variant:`ghost`,onClick:()=>l(y?new Set:new Set(v)),children:(0,M.jsx)(h,{icon:y?ye:Le,"aria-hidden":`true`})})]}),(0,M.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain px-2 py-1`,children:g.length>0?_.length>0?_.map(({trace:e,observation:t})=>(0,M.jsx)(Z,{active:f.id===e.id&&a===`observation:${t.id}`,ancestorLevels:[],hasChildren:!1,isLastSibling:!0,level:0,tone:t.kind,title:z(t),subtitle:b(t.durationMs),onSelect:()=>m(e.id,`observation:${t.id}`)},`${e.id}:${t.id}`)):(0,M.jsxs)(`div`,{className:`grid place-items-center gap-1 p-6 text-center`,children:[(0,M.jsx)(`span`,{className:`text-sm font-medium`,children:`No matching spans`}),(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Search by name, kind, or ID.`})]}):t.map(e=>{let n=f.id===e.id,r=et(e),i=`${e.id}:agent`,o=c.has(i);return(0,M.jsxs)(`div`,{className:`contents`,children:[(0,M.jsx)(Z,{active:n&&a===`agent`,ancestorLevels:[],hasChildren:r.length>0,isLastSibling:!0,level:0,tone:`agent`,title:t.length>1?e.name??`agent.run`:`agent.run`,subtitle:b(e.durationMs),collapsed:o,onSelect:()=>m(e.id,`agent`),onToggle:()=>x(i)}),o?null:r.map(t=>{let i=`${e.id}:turn:${t.turn}`,o=c.has(i);return(0,M.jsxs)(`div`,{className:`contents`,children:[(0,M.jsx)(Z,{active:n&&a===`turn:${t.turn}`,ancestorLevels:[],hasChildren:t.observations.length>0,isLastSibling:t.turn===r.at(-1)?.turn,level:1,tone:`turn`,title:`turn.${t.turn}`,subtitle:b(t.durationMs),collapsed:o,onSelect:()=>m(e.id,`turn:${t.turn}`),onToggle:()=>x(i)}),o?null:(0,M.jsx)(ln,{activeKey:a,collapsed:c,isLastTurn:t.turn===r.at(-1)?.turn,observations:t.observations,onSelect:t=>m(e.id,`observation:${t}`),onToggle:x,traceActive:n})]},i)})]},e.id)})})]}),(0,M.jsx)(dn,{trace:f,turns:p,activeKey:a,onShowSessionTraces:e.onShowSessionTraces})]})})}function Z(e){return(0,M.jsxs)(`div`,{className:r(`group flex min-w-0 items-stretch text-muted-foreground hover:bg-muted/60`,e.active&&`bg-muted text-foreground`),children:[(0,M.jsxs)(`button`,{"aria-current":e.active?`true`:void 0,className:`flex min-w-0 flex-1 items-stretch text-left`,type:`button`,onClick:e.onSelect,children:[(0,M.jsx)(cn,{ancestorLevels:e.ancestorLevels,hasChildren:e.hasChildren,isLastSibling:e.isLastSibling,level:e.level,tone:e.tone}),(0,M.jsxs)(`span`,{className:`grid min-w-0 flex-1 content-center py-1.5 pr-2`,children:[(0,M.jsx)(`span`,{className:`truncate text-xs font-medium text-current`,title:e.title,children:e.title}),(0,M.jsx)(`span`,{className:`flex flex-wrap gap-x-2 text-[10px] text-muted-foreground`,children:e.subtitle})]})]}),e.hasChildren&&e.onToggle?(0,M.jsx)(`button`,{"aria-expanded":!e.collapsed,"aria-label":e.collapsed?`Expand ${e.title}`:`Collapse ${e.title}`,className:`m-1 grid size-7 shrink-0 place-items-center rounded-md hover:bg-background`,type:`button`,onClick:e.onToggle,children:(0,M.jsx)(h,{icon:Ce,"aria-hidden":`true`,className:r(`size-3.5 transition-transform`,!e.collapsed&&`rotate-90`)})}):null]})}function cn(e){let t=e.level*20;return(0,M.jsxs)(`span`,{className:`relative shrink-0`,"data-tree-depth":e.level,style:{width:`${(e.level+1)*20+4}px`},children:[e.ancestorLevels.map(e=>(0,M.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-border`,"data-tree-line":`ancestor`,style:{left:`${e*20+10}px`}},`ancestor-line-${e}`)),e.level>0?e.isLastSibling?(0,M.jsx)(`span`,{className:`absolute top-0 h-1/2 rounded-bl-sm border-b border-l border-border`,"data-tree-line":`elbow`,style:{left:`${(e.level-1)*20+10}px`,width:`20px`}}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-border`,"data-tree-line":`sibling-continuation`,style:{left:`${(e.level-1)*20+10}px`}}),(0,M.jsx)(`span`,{className:`absolute top-1/2 h-px bg-border`,"data-tree-line":`elbow`,style:{left:`${(e.level-1)*20+10}px`,width:`20px`}})]}):null,e.hasChildren?(0,M.jsx)(`span`,{className:`absolute bottom-0 w-px bg-border`,"data-tree-line":`children`,style:{left:`${t+10}px`,top:`calc(50% + 0.5rem)`}}):null,(0,M.jsx)(`span`,{className:r(`absolute top-1/2 grid size-4 -translate-y-1/2 place-items-center rounded-sm [&_svg]:size-2.5`,mt(e.tone)),style:{left:`${t+2}px`},children:(0,M.jsx)(V,{tone:e.tone})})]})}function ln(e){let t=tt(e.observations);return(0,M.jsx)(M.Fragment,{children:t.map((n,r)=>(0,M.jsx)(un,{activeKey:e.activeKey,ancestorLevels:e.isLastTurn?[]:[0],collapsed:e.collapsed,isLastSibling:r===t.length-1,level:2,node:n,onSelect:e.onSelect,onToggle:e.onToggle,traceActive:e.traceActive},n.observation.id))})}function un(e){let t=ht(e.node.observation),n=`observation:${e.node.observation.id}`,r=e.collapsed.has(n),i=e.isLastSibling?e.ancestorLevels:[...e.ancestorLevels,e.level];return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Z,{active:e.traceActive&&e.activeKey===`observation:${e.node.observation.id}`,ancestorLevels:e.ancestorLevels,hasChildren:e.node.children.length>0,isLastSibling:e.isLastSibling,level:e.level,tone:e.node.observation.kind,title:z(e.node.observation),subtitle:t.length>0?`${b(e.node.observation.durationMs)} · ${t}`:b(e.node.observation.durationMs),collapsed:r,onSelect:()=>e.onSelect(e.node.observation.id),onToggle:()=>e.onToggle(n)}),r?null:e.node.children.map((t,n)=>(0,M.jsx)(un,{activeKey:e.activeKey,ancestorLevels:i,collapsed:e.collapsed,isLastSibling:n===e.node.children.length-1,level:e.level+1,node:t,onSelect:e.onSelect,onToggle:e.onToggle,traceActive:e.traceActive},t.observation.id))]})}function dn(e){let t=nt(e.trace,e.turns,e.activeKey),[n,i]=(0,j.useState)(`formatted`);return(0,M.jsxs)(`section`,{className:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] overflow-hidden bg-background`,"aria-label":`Trace detail`,children:[(0,M.jsx)(`header`,{className:`shrink-0 border-b px-4 py-4 md:px-6`,children:(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,M.jsx)(`span`,{className:r(`grid size-9 shrink-0 place-items-center rounded-lg [&_svg]:size-4`,mt(t.tone)),children:(0,M.jsx)(V,{tone:t.tone})}),(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(`h2`,{className:`m-0 min-w-0 truncate text-xl font-semibold tracking-tight`,children:t.title}),(0,M.jsx)(on,{status:t.status})]}),(0,M.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:t.startedAt})]})]}),(0,M.jsx)(fn,{value:n,onChange:i})]}),(0,M.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,M.jsx)(Q,{icon:(0,M.jsx)(h,{icon:Te,"aria-hidden":`true`}),label:`Duration`,value:b(t.durationMs)}),t.firstDeltaMs===void 0?null:(0,M.jsx)(Q,{icon:(0,M.jsx)(h,{icon:Fe,"aria-hidden":`true`}),label:`First delta`,value:b(t.firstDeltaMs)}),t.usage.length===0?null:(0,M.jsx)(Q,{icon:(0,M.jsx)(h,{icon:xe,"aria-hidden":`true`}),label:`Usage`,value:t.usage}),(0,M.jsxs)(`button`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-muted/20 px-2.5 py-1.5 text-xs hover:bg-muted/60`,type:`button`,onClick:()=>e.onShowSessionTraces(e.trace.sessionId),children:[(0,M.jsx)(h,{icon:g,"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`Session`}),(0,M.jsx)(`span`,{className:`max-w-44 truncate font-mono font-medium`,children:e.trace.sessionId})]})]})]})}),(0,M.jsx)(`div`,{className:`min-w-0 overflow-auto`,children:(0,M.jsxs)(`div`,{className:`grid min-w-0 content-start gap-6 p-6`,children:[t.input===void 0?null:(0,M.jsx)($,{title:`Input`,value:t.input,view:n}),t.output===void 0?null:(0,M.jsx)($,{title:`Output`,value:t.output,tone:`success`,view:n}),t.error===void 0?null:(0,M.jsx)($,{title:`Error`,value:t.error,tone:`error`,view:n}),(0,M.jsx)($,{title:`Metadata`,value:t.metadata,view:n})]})})]})}function Q(e){return(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-muted/20 px-2.5 py-1.5 text-xs`,children:[(0,M.jsx)(`span`,{className:`text-muted-foreground [&_svg]:size-3.5`,children:e.icon}),(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,M.jsx)(`span`,{className:`max-w-44 truncate font-mono font-medium`,children:e.value})]})}function fn(e){return(0,M.jsx)(`fieldset`,{className:`flex h-8 items-center rounded-md border bg-muted/50 p-0.5`,"aria-label":`Payload view`,children:[`formatted`,`json`].map(t=>(0,M.jsx)(`button`,{"aria-pressed":e.value===t,className:r(`h-6 rounded px-2 text-xs font-medium text-muted-foreground`,e.value===t&&`bg-background text-foreground shadow-sm`),type:`button`,onClick:()=>e.onChange(t),children:t===`formatted`?`Formatted`:`JSON`},t))})}function $(e){let t=Je(e.title,e.value);return(0,M.jsxs)(`section`,{className:`grid min-w-0 gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(`h3`,{className:`m-0 text-sm font-semibold`,children:e.title}),(0,M.jsx)(`span`,{className:`h-px flex-1 bg-border`,"aria-hidden":`true`})]}),e.view===`json`?(0,M.jsx)(ze,{value:e.value}):(0,M.jsx)(`div`,{className:`grid min-w-0 gap-2`,children:t.map(t=>(0,M.jsxs)(`article`,{className:r(`grid min-w-0 gap-2 rounded-lg border bg-muted/10 px-4 py-3`,e.compact&&`grid-cols-[150px_minmax(0,1fr)] items-start gap-4 max-lg:grid-cols-1`),children:[(0,M.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[(0,M.jsx)(qe,{label:t.label}),t.label]}),(0,M.jsx)(pn,{compact:e.compact,item:t,tone:e.tone})]},`${t.label}-${t.text}`))})]})}function pn(e){let t=mn(e.item);return t.length>0?(0,M.jsx)(`div`,{className:`grid min-w-0 gap-5`,children:t.map(e=>(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,M.jsx)(`span`,{className:` text-xs font-semibold tabular-nums text-muted-foreground`,children:e.index}),(0,M.jsx)(ee,{className:r(`px-1.5 py-0.5`,e.role===`User`&&`border-border/80 bg-muted-foreground/15 text-muted-foreground`,e.role===`Assistant`&&`border-border/80 bg-foreground/15 text-foreground`,e.role===`Tool`&&`border-destructive/40 bg-destructive/15 text-destructive`),children:e.role})]}),(0,M.jsx)(`p`,{className:`m-0 whitespace-pre-wrap text-sm leading-6 text-foreground [overflow-wrap:anywhere]`,children:e.text})]},`${e.index}-${e.role}-${e.text}`))}):(0,M.jsx)(`p`,{className:r(`m-0 whitespace-pre-wrap text-sm leading-6 text-foreground [overflow-wrap:anywhere]`,e.tone===`success`&&!Ke(e.item)&&`text-foreground`,e.tone===`error`&&`text-destructive`),children:e.item.text})}function mn(e){return e.label.startsWith(`Conversation history`)?e.text.split(`
6
-
7
- `).flatMap(e=>{let[t,...n]=e.split(`
8
- `),r=/^(\d+)\.\s+(.+)$/.exec(t??``);return r===null?[]:[{index:r[1]??``,role:r[2]??`Message`,text:n.join(`
9
- `)}]}):[]}export{tn as TraceBrowser};
10
- //# sourceMappingURL=trace-browser-B07coNNE.js.map