agent-relay-server 0.47.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/docs/openapi.json +29 -1
  2. package/package.json +1 -1
  3. package/public/assets/{activity-Dkzmef0Z.js → activity-B7rLbnPy.js} +2 -2
  4. package/public/assets/{activity-Dkzmef0Z.js.map → activity-B7rLbnPy.js.map} +1 -1
  5. package/public/assets/{agent-profiles-DQYHMAyu.js → agent-profiles-D_GQ78i3.js} +2 -2
  6. package/public/assets/{agent-profiles-DQYHMAyu.js.map → agent-profiles-D_GQ78i3.js.map} +1 -1
  7. package/public/assets/{agents-atr6HZ1e.js → agents-BVQGIUe8.js} +2 -2
  8. package/public/assets/{agents-atr6HZ1e.js.map → agents-BVQGIUe8.js.map} +1 -1
  9. package/public/assets/{analytics-azFfAy4R.js → analytics-BoGZ46xL.js} +2 -2
  10. package/public/assets/{analytics-azFfAy4R.js.map → analytics-BoGZ46xL.js.map} +1 -1
  11. package/public/assets/{andromeeda-TOIXRHPH.js → andromeeda-DedNvx3u.js} +1 -1
  12. package/public/assets/{andromeeda-TOIXRHPH.js.map → andromeeda-DedNvx3u.js.map} +1 -1
  13. package/public/assets/{angular-html-BayrRwsh.js → angular-html-BDsKlrFR.js} +2 -2
  14. package/public/assets/{angular-html-BayrRwsh.js.map → angular-html-BDsKlrFR.js.map} +1 -1
  15. package/public/assets/{angular-ts-BSsl-wTg.js → angular-ts-Dj0DuNAz.js} +2 -2
  16. package/public/assets/{angular-ts-BSsl-wTg.js.map → angular-ts-Dj0DuNAz.js.map} +1 -1
  17. package/public/assets/{astro-CMeXtmOY.js → astro-CWT8VbA8.js} +2 -2
  18. package/public/assets/{astro-CMeXtmOY.js.map → astro-CWT8VbA8.js.map} +1 -1
  19. package/public/assets/{aurora-x-COD2iFEK.js → aurora-x-BaB_RRL_.js} +1 -1
  20. package/public/assets/{aurora-x-COD2iFEK.js.map → aurora-x-BaB_RRL_.js.map} +1 -1
  21. package/public/assets/automation-DH0gqxI2.js +2 -0
  22. package/public/assets/{automation-Bk4umHIm.js.map → automation-DH0gqxI2.js.map} +1 -1
  23. package/public/assets/{ayu-dark-C26og0gq.js → ayu-dark-DNAy_9St.js} +1 -1
  24. package/public/assets/{ayu-dark-C26og0gq.js.map → ayu-dark-DNAy_9St.js.map} +1 -1
  25. package/public/assets/{ayu-light-CjU_OF-J.js → ayu-light-CPmuGcAc.js} +1 -1
  26. package/public/assets/{ayu-light-CjU_OF-J.js.map → ayu-light-CPmuGcAc.js.map} +1 -1
  27. package/public/assets/{ayu-mirage-mioaBxYY.js → ayu-mirage-Bl6FPCHF.js} +1 -1
  28. package/public/assets/{ayu-mirage-mioaBxYY.js.map → ayu-mirage-Bl6FPCHF.js.map} +1 -1
  29. package/public/assets/{badge-CFVr4fG9.js → badge-BR4bvEsy.js} +1 -1
  30. package/public/assets/{badge-CFVr4fG9.js.map → badge-BR4bvEsy.js.map} +1 -1
  31. package/public/assets/{blade-B4XscQpM.js → blade-Ba6j-i-7.js} +2 -2
  32. package/public/assets/{blade-B4XscQpM.js.map → blade-Ba6j-i-7.js.map} +1 -1
  33. package/public/assets/{branch-state-badge-DymObp8d.js → branch-state-badge-B8h3vcwK.js} +2 -2
  34. package/public/assets/{branch-state-badge-DymObp8d.js.map → branch-state-badge-B8h3vcwK.js.map} +1 -1
  35. package/public/assets/{bundle-web-C85e9Tgc.js → bundle-web-CXNb85wK.js} +4 -4
  36. package/public/assets/{bundle-web-C85e9Tgc.js.map → bundle-web-CXNb85wK.js.map} +1 -1
  37. package/public/assets/{button-BuTu0MHx.js → button-BwqJZS4O.js} +1 -1
  38. package/public/assets/{button-BuTu0MHx.js.map → button-BwqJZS4O.js.map} +1 -1
  39. package/public/assets/{c-ByxfEyyT.js → c-DMcYlaVJ.js} +1 -1
  40. package/public/assets/{c-ByxfEyyT.js.map → c-DMcYlaVJ.js.map} +1 -1
  41. package/public/assets/{card-C3ErQ372.js → card-C7JtSyuM.js} +1 -1
  42. package/public/assets/{card-C3ErQ372.js.map → card-C7JtSyuM.js.map} +1 -1
  43. package/public/assets/{catppuccin-frappe-Kqc2IrH6.js → catppuccin-frappe-CED1OCCz.js} +1 -1
  44. package/public/assets/{catppuccin-frappe-Kqc2IrH6.js.map → catppuccin-frappe-CED1OCCz.js.map} +1 -1
  45. package/public/assets/{catppuccin-latte-BE2tZ0v0.js → catppuccin-latte-C5iwPIMF.js} +1 -1
  46. package/public/assets/{catppuccin-latte-BE2tZ0v0.js.map → catppuccin-latte-C5iwPIMF.js.map} +1 -1
  47. package/public/assets/{catppuccin-macchiato-Crk2wQFW.js → catppuccin-macchiato-ZH42ATbn.js} +1 -1
  48. package/public/assets/{catppuccin-macchiato-Crk2wQFW.js.map → catppuccin-macchiato-ZH42ATbn.js.map} +1 -1
  49. package/public/assets/{catppuccin-mocha-E6G_9ebZ.js → catppuccin-mocha-BHvtuFhF.js} +1 -1
  50. package/public/assets/{catppuccin-mocha-E6G_9ebZ.js.map → catppuccin-mocha-BHvtuFhF.js.map} +1 -1
  51. package/public/assets/{channels-B_0wDy0s.js → channels-K5yks-NP.js} +2 -2
  52. package/public/assets/{channels-B_0wDy0s.js.map → channels-K5yks-NP.js.map} +1 -1
  53. package/public/assets/{chat-DxV4MyYF.js → chat-CAg1G_AE.js} +2 -2
  54. package/public/assets/{chat-DxV4MyYF.js.map → chat-CAg1G_AE.js.map} +1 -1
  55. package/public/assets/{coffee-ATZfkmsf.js → coffee-ahz2W4ez.js} +2 -2
  56. package/public/assets/{coffee-ATZfkmsf.js.map → coffee-ahz2W4ez.js.map} +1 -1
  57. package/public/assets/{connectors-DLqYF2_3.js → connectors-fy5L_B2T.js} +2 -2
  58. package/public/assets/{connectors-DLqYF2_3.js.map → connectors-fy5L_B2T.js.map} +1 -1
  59. package/public/assets/{copy-button-BOj6uOlU.js → copy-button-nbDhTE0M.js} +2 -2
  60. package/public/assets/{copy-button-BOj6uOlU.js.map → copy-button-nbDhTE0M.js.map} +1 -1
  61. package/public/assets/{cpp-BMZiIqTo.js → cpp-D6codUeh.js} +2 -2
  62. package/public/assets/{cpp-BMZiIqTo.js.map → cpp-D6codUeh.js.map} +1 -1
  63. package/public/assets/{css-pVoA-V-6.js → css-DqWVA79r.js} +1 -1
  64. package/public/assets/{css-pVoA-V-6.js.map → css-DqWVA79r.js.map} +1 -1
  65. package/public/assets/{csv-BSXvLGS5.js → csv-Dkqn3OZd.js} +1 -1
  66. package/public/assets/{csv-BSXvLGS5.js.map → csv-Dkqn3OZd.js.map} +1 -1
  67. package/public/assets/{dark-plus-D92FcoIb.js → dark-plus-Bhbx-RUU.js} +1 -1
  68. package/public/assets/{dark-plus-D92FcoIb.js.map → dark-plus-Bhbx-RUU.js.map} +1 -1
  69. package/public/assets/{display-ConJ9cJB.js → display-CXhnBwGf.js} +2 -2
  70. package/public/assets/display-CXhnBwGf.js.map +1 -0
  71. package/public/assets/dist-tX4uIBFU.js +2 -0
  72. package/public/assets/dist-tX4uIBFU.js.map +1 -0
  73. package/public/assets/{dracula-CLm43lMW.js → dracula-CFWRbQev.js} +1 -1
  74. package/public/assets/{dracula-CLm43lMW.js.map → dracula-CFWRbQev.js.map} +1 -1
  75. package/public/assets/{dracula-soft-BWF1hppd.js → dracula-soft-DgjJVcsb.js} +1 -1
  76. package/public/assets/{dracula-soft-BWF1hppd.js.map → dracula-soft-DgjJVcsb.js.map} +1 -1
  77. package/public/assets/{everforest-dark-T3FmZXFC.js → everforest-dark-BCF48HzC.js} +1 -1
  78. package/public/assets/{everforest-dark-T3FmZXFC.js.map → everforest-dark-BCF48HzC.js.map} +1 -1
  79. package/public/assets/{everforest-light-sVfJGMcT.js → everforest-light-QmYaRFne.js} +1 -1
  80. package/public/assets/{everforest-light-sVfJGMcT.js.map → everforest-light-QmYaRFne.js.map} +1 -1
  81. package/public/assets/{formatted-body-impl-LK0QcFLC.js → formatted-body-impl-Cq3BVd4_.js} +2 -2
  82. package/public/assets/{formatted-body-impl-LK0QcFLC.js.map → formatted-body-impl-Cq3BVd4_.js.map} +1 -1
  83. package/public/assets/{github-dark-DsObA6K_.js → github-dark-CUoBUDXH.js} +1 -1
  84. package/public/assets/{github-dark-DsObA6K_.js.map → github-dark-CUoBUDXH.js.map} +1 -1
  85. package/public/assets/{github-dark-default-BFXKIBjn.js → github-dark-default-xm9OU1Or.js} +1 -1
  86. package/public/assets/{github-dark-default-BFXKIBjn.js.map → github-dark-default-xm9OU1Or.js.map} +1 -1
  87. package/public/assets/{github-dark-dimmed-CA0i637b.js → github-dark-dimmed-DWnz-mHy.js} +1 -1
  88. package/public/assets/{github-dark-dimmed-CA0i637b.js.map → github-dark-dimmed-DWnz-mHy.js.map} +1 -1
  89. package/public/assets/{github-dark-high-contrast-Ca5xjJfx.js → github-dark-high-contrast-vOK_ibgU.js} +1 -1
  90. package/public/assets/{github-dark-high-contrast-Ca5xjJfx.js.map → github-dark-high-contrast-vOK_ibgU.js.map} +1 -1
  91. package/public/assets/{github-light-fLfNb4d8.js → github-light-CSF3E5Ti.js} +1 -1
  92. package/public/assets/{github-light-fLfNb4d8.js.map → github-light-CSF3E5Ti.js.map} +1 -1
  93. package/public/assets/{github-light-default-Dsv_97Kr.js → github-light-default-C01wYcDQ.js} +1 -1
  94. package/public/assets/{github-light-default-Dsv_97Kr.js.map → github-light-default-C01wYcDQ.js.map} +1 -1
  95. package/public/assets/{github-light-high-contrast-DTv2awN9.js → github-light-high-contrast-CKMMnFZg.js} +1 -1
  96. package/public/assets/{github-light-high-contrast-DTv2awN9.js.map → github-light-high-contrast-CKMMnFZg.js.map} +1 -1
  97. package/public/assets/{glsl-Bn23UELY.js → glsl-1QPrVesi.js} +2 -2
  98. package/public/assets/{glsl-Bn23UELY.js.map → glsl-1QPrVesi.js.map} +1 -1
  99. package/public/assets/{graphql-aueZA_Ef.js → graphql-CeRwileo.js} +2 -2
  100. package/public/assets/{graphql-aueZA_Ef.js.map → graphql-CeRwileo.js.map} +1 -1
  101. package/public/assets/{gruvbox-dark-hard-CD8QV-rj.js → gruvbox-dark-hard-DfDjG47E.js} +1 -1
  102. package/public/assets/{gruvbox-dark-hard-CD8QV-rj.js.map → gruvbox-dark-hard-DfDjG47E.js.map} +1 -1
  103. package/public/assets/{gruvbox-dark-medium-DWjrnm0G.js → gruvbox-dark-medium-BaAW7CWr.js} +1 -1
  104. package/public/assets/{gruvbox-dark-medium-DWjrnm0G.js.map → gruvbox-dark-medium-BaAW7CWr.js.map} +1 -1
  105. package/public/assets/{gruvbox-dark-soft-Dutnyk8h.js → gruvbox-dark-soft-BbwgAlEC.js} +1 -1
  106. package/public/assets/{gruvbox-dark-soft-Dutnyk8h.js.map → gruvbox-dark-soft-BbwgAlEC.js.map} +1 -1
  107. package/public/assets/{gruvbox-light-hard-DxOkDhYo.js → gruvbox-light-hard-GnBGwkrS.js} +1 -1
  108. package/public/assets/{gruvbox-light-hard-DxOkDhYo.js.map → gruvbox-light-hard-GnBGwkrS.js.map} +1 -1
  109. package/public/assets/{gruvbox-light-medium-TPSmjstG.js → gruvbox-light-medium-tlbreNy6.js} +1 -1
  110. package/public/assets/{gruvbox-light-medium-TPSmjstG.js.map → gruvbox-light-medium-tlbreNy6.js.map} +1 -1
  111. package/public/assets/{gruvbox-light-soft-Ds4EoYMY.js → gruvbox-light-soft-D2K4d_jB.js} +1 -1
  112. package/public/assets/{gruvbox-light-soft-Ds4EoYMY.js.map → gruvbox-light-soft-D2K4d_jB.js.map} +1 -1
  113. package/public/assets/{haml-I560b6sm.js → haml-CAFaQgkc.js} +2 -2
  114. package/public/assets/{haml-I560b6sm.js.map → haml-CAFaQgkc.js.map} +1 -1
  115. package/public/assets/{handlebars-DDaqkztc.js → handlebars-PzQcjzkd.js} +2 -2
  116. package/public/assets/{handlebars-DDaqkztc.js.map → handlebars-PzQcjzkd.js.map} +1 -1
  117. package/public/assets/{horizon-Btssz0LS.js → horizon-DIDc_X2h.js} +1 -1
  118. package/public/assets/{horizon-Btssz0LS.js.map → horizon-DIDc_X2h.js.map} +1 -1
  119. package/public/assets/{horizon-bright-Wt7Dv8FR.js → horizon-bright-BJPNCJjc.js} +1 -1
  120. package/public/assets/{horizon-bright-Wt7Dv8FR.js.map → horizon-bright-BJPNCJjc.js.map} +1 -1
  121. package/public/assets/{houston-BAzN2-5D.js → houston-OF5sQVBP.js} +1 -1
  122. package/public/assets/{houston-BAzN2-5D.js.map → houston-OF5sQVBP.js.map} +1 -1
  123. package/public/assets/{html-CWUNxVmc.js → html-CO8fGX9G.js} +2 -2
  124. package/public/assets/{html-CWUNxVmc.js.map → html-CO8fGX9G.js.map} +1 -1
  125. package/public/assets/{html-derivative-CZZaFvoZ.js → html-derivative-jkdQXb1I.js} +2 -2
  126. package/public/assets/{html-derivative-CZZaFvoZ.js.map → html-derivative-jkdQXb1I.js.map} +1 -1
  127. package/public/assets/{http-oB_MYwkH.js → http-awp31Uam.js} +2 -2
  128. package/public/assets/{http-oB_MYwkH.js.map → http-awp31Uam.js.map} +1 -1
  129. package/public/assets/{hurl-Dh_Bacst.js → hurl-CYLzH5tU.js} +2 -2
  130. package/public/assets/{hurl-Dh_Bacst.js.map → hurl-CYLzH5tU.js.map} +1 -1
  131. package/public/assets/{imba-CYU3KKfp.js → imba-DSmsmqxt.js} +1 -1
  132. package/public/assets/{imba-CYU3KKfp.js.map → imba-DSmsmqxt.js.map} +1 -1
  133. package/public/assets/index-DY-jpX4m.css +2 -0
  134. package/public/assets/index-DtubrNEq.js +21 -0
  135. package/public/assets/index-DtubrNEq.js.map +1 -0
  136. package/public/assets/{input-CawU8wfc.js → input-YoPXrp72.js} +1 -1
  137. package/public/assets/{input-CawU8wfc.js.map → input-YoPXrp72.js.map} +1 -1
  138. package/public/assets/insights-D9AWKTUT.js +2 -0
  139. package/public/assets/{insights-DZKCKL71.js.map → insights-D9AWKTUT.js.map} +1 -1
  140. package/public/assets/{integrations-CdeQuRSQ.js → integrations-Bg_JSXvm.js} +2 -2
  141. package/public/assets/{integrations-CdeQuRSQ.js.map → integrations-Bg_JSXvm.js.map} +1 -1
  142. package/public/assets/{java-W2nUDe85.js → java-DgkDOVUq.js} +1 -1
  143. package/public/assets/{java-W2nUDe85.js.map → java-DgkDOVUq.js.map} +1 -1
  144. package/public/assets/{javascript-DhhMt2AW.js → javascript-B_u1HgsA.js} +1 -1
  145. package/public/assets/{javascript-DhhMt2AW.js.map → javascript-B_u1HgsA.js.map} +1 -1
  146. package/public/assets/{jinja-BAB89wEM.js → jinja-2vqfsTaa.js} +2 -2
  147. package/public/assets/{jinja-BAB89wEM.js.map → jinja-2vqfsTaa.js.map} +1 -1
  148. package/public/assets/{jison-Be2VyOc7.js → jison-R_8Xl2fT.js} +2 -2
  149. package/public/assets/{jison-Be2VyOc7.js.map → jison-R_8Xl2fT.js.map} +1 -1
  150. package/public/assets/{json-BE_Kg3UN.js → json-gsp9Jz-Q.js} +1 -1
  151. package/public/assets/{json-BE_Kg3UN.js.map → json-gsp9Jz-Q.js.map} +1 -1
  152. package/public/assets/{json5-B1_eJGWL.js → json5-CyawKEQV.js} +1 -1
  153. package/public/assets/{json5-B1_eJGWL.js.map → json5-CyawKEQV.js.map} +1 -1
  154. package/public/assets/{jsonc-c9fYzzNa.js → jsonc-C5zIYKcF.js} +1 -1
  155. package/public/assets/{jsonc-c9fYzzNa.js.map → jsonc-C5zIYKcF.js.map} +1 -1
  156. package/public/assets/{jsonl-DxKnIZRN.js → jsonl-7Iqw6Ajc.js} +1 -1
  157. package/public/assets/{jsonl-DxKnIZRN.js.map → jsonl-7Iqw6Ajc.js.map} +1 -1
  158. package/public/assets/{jsx-DP4JsN7e.js → jsx-6UC0zwzb.js} +1 -1
  159. package/public/assets/{jsx-DP4JsN7e.js.map → jsx-6UC0zwzb.js.map} +1 -1
  160. package/public/assets/{julia-DIA2-AWD.js → julia-B68-s46l.js} +2 -2
  161. package/public/assets/{julia-DIA2-AWD.js.map → julia-B68-s46l.js.map} +1 -1
  162. package/public/assets/{kanagawa-dragon-D7ScO9qT.js → kanagawa-dragon-CXS-g1Gx.js} +1 -1
  163. package/public/assets/{kanagawa-dragon-D7ScO9qT.js.map → kanagawa-dragon-CXS-g1Gx.js.map} +1 -1
  164. package/public/assets/{kanagawa-lotus-BHmtJ61Q.js → kanagawa-lotus-8h3vn-GZ.js} +1 -1
  165. package/public/assets/{kanagawa-lotus-BHmtJ61Q.js.map → kanagawa-lotus-8h3vn-GZ.js.map} +1 -1
  166. package/public/assets/{kanagawa-wave-C8Lga2zE.js → kanagawa-wave-C0HtbWGq.js} +1 -1
  167. package/public/assets/{kanagawa-wave-C8Lga2zE.js.map → kanagawa-wave-C0HtbWGq.js.map} +1 -1
  168. package/public/assets/{laserwave-D4LCoVki.js → laserwave-CbYdyo81.js} +1 -1
  169. package/public/assets/{laserwave-D4LCoVki.js.map → laserwave-CbYdyo81.js.map} +1 -1
  170. package/public/assets/{less-C4-yvJVc.js → less-CfNrES-C.js} +1 -1
  171. package/public/assets/{less-C4-yvJVc.js.map → less-CfNrES-C.js.map} +1 -1
  172. package/public/assets/{lib-BmYG-YKF.js → lib-D8ccisdr.js} +2 -2
  173. package/public/assets/{lib-BmYG-YKF.js.map → lib-D8ccisdr.js.map} +1 -1
  174. package/public/assets/{lib-D3a84zdu.js → lib-VSpj1Yz-.js} +1 -1
  175. package/public/assets/{lib-D3a84zdu.js.map → lib-VSpj1Yz-.js.map} +1 -1
  176. package/public/assets/{light-plus-CKgUzHbZ.js → light-plus-D5ngymkI.js} +1 -1
  177. package/public/assets/{light-plus-CKgUzHbZ.js.map → light-plus-D5ngymkI.js.map} +1 -1
  178. package/public/assets/{maintenance-DbqSE_ps.js → maintenance-B4gOLu3O.js} +2 -2
  179. package/public/assets/{maintenance-DbqSE_ps.js.map → maintenance-B4gOLu3O.js.map} +1 -1
  180. package/public/assets/{managed-agents-BxhRiBVn.js → managed-agents-BiuAnZXF.js} +2 -2
  181. package/public/assets/{managed-agents-BxhRiBVn.js.map → managed-agents-BiuAnZXF.js.map} +1 -1
  182. package/public/assets/{markdown-BJXgi76t.js → markdown-DcNETIgQ.js} +1 -1
  183. package/public/assets/{markdown-BJXgi76t.js.map → markdown-DcNETIgQ.js.map} +1 -1
  184. package/public/assets/{markdown-preview-impl-Dz2Spmat.js → markdown-preview-impl-Dgt126-c.js} +2 -2
  185. package/public/assets/{markdown-preview-impl-Dz2Spmat.js.map → markdown-preview-impl-Dgt126-c.js.map} +1 -1
  186. package/public/assets/{marko-s78cde-R.js → marko-BknKj3Pf.js} +2 -2
  187. package/public/assets/{marko-s78cde-R.js.map → marko-BknKj3Pf.js.map} +1 -1
  188. package/public/assets/{material-theme-ZMpZUDuj.js → material-theme-Gg3xfPe0.js} +1 -1
  189. package/public/assets/{material-theme-ZMpZUDuj.js.map → material-theme-Gg3xfPe0.js.map} +1 -1
  190. package/public/assets/{material-theme-darker-BAQbewVz.js → material-theme-darker-BZuy5-S0.js} +1 -1
  191. package/public/assets/{material-theme-darker-BAQbewVz.js.map → material-theme-darker-BZuy5-S0.js.map} +1 -1
  192. package/public/assets/{material-theme-lighter-FyN5xGWf.js → material-theme-lighter-C5V_iqXU.js} +1 -1
  193. package/public/assets/{material-theme-lighter-FyN5xGWf.js.map → material-theme-lighter-C5V_iqXU.js.map} +1 -1
  194. package/public/assets/{material-theme-ocean-C-7FJG01.js → material-theme-ocean-Bm7qyAET.js} +1 -1
  195. package/public/assets/{material-theme-ocean-C-7FJG01.js.map → material-theme-ocean-Bm7qyAET.js.map} +1 -1
  196. package/public/assets/{material-theme-palenight-CTAI-sIL.js → material-theme-palenight--HkFOey5.js} +1 -1
  197. package/public/assets/{material-theme-palenight-CTAI-sIL.js.map → material-theme-palenight--HkFOey5.js.map} +1 -1
  198. package/public/assets/{mdc-D1B7fLQ0.js → mdc-DZz2DrXs.js} +2 -2
  199. package/public/assets/{mdc-D1B7fLQ0.js.map → mdc-DZz2DrXs.js.map} +1 -1
  200. package/public/assets/{mdx-DZlYR5iE.js → mdx-8jaRik-D.js} +1 -1
  201. package/public/assets/{mdx-DZlYR5iE.js.map → mdx-8jaRik-D.js.map} +1 -1
  202. package/public/assets/{memory-BTjUKTyA.js → memory-C9ugmii9.js} +2 -2
  203. package/public/assets/{memory-BTjUKTyA.js.map → memory-C9ugmii9.js.map} +1 -1
  204. package/public/assets/{messages-C8z05Y3O.js → messages-BTSGjXwT.js} +2 -2
  205. package/public/assets/{messages-C8z05Y3O.js.map → messages-BTSGjXwT.js.map} +1 -1
  206. package/public/assets/{min-dark-BZ3g8z3r.js → min-dark-BwzrQQKV.js} +1 -1
  207. package/public/assets/{min-dark-BZ3g8z3r.js.map → min-dark-BwzrQQKV.js.map} +1 -1
  208. package/public/assets/{min-light-BVOwCf2X.js → min-light-CuZnzJu2.js} +1 -1
  209. package/public/assets/{min-light-BVOwCf2X.js.map → min-light-CuZnzJu2.js.map} +1 -1
  210. package/public/assets/{monokai-BD0UwGu2.js → monokai-DQ6Z_SqG.js} +1 -1
  211. package/public/assets/{monokai-BD0UwGu2.js.map → monokai-DQ6Z_SqG.js.map} +1 -1
  212. package/public/assets/{night-owl-E_m7-w50.js → night-owl-CJ5iV153.js} +1 -1
  213. package/public/assets/{night-owl-E_m7-w50.js.map → night-owl-CJ5iV153.js.map} +1 -1
  214. package/public/assets/{night-owl-light-C4iZ6jhb.js → night-owl-light-C46RDt8C.js} +1 -1
  215. package/public/assets/{night-owl-light-C4iZ6jhb.js.map → night-owl-light-C46RDt8C.js.map} +1 -1
  216. package/public/assets/{nord-DjtS30mp.js → nord-DB8NWghW.js} +1 -1
  217. package/public/assets/{nord-DjtS30mp.js.map → nord-DB8NWghW.js.map} +1 -1
  218. package/public/assets/{one-dark-pro-XzudhQYY.js → one-dark-pro-Dkf7ad3J.js} +1 -1
  219. package/public/assets/{one-dark-pro-XzudhQYY.js.map → one-dark-pro-Dkf7ad3J.js.map} +1 -1
  220. package/public/assets/{one-light-D7oIost9.js → one-light-kl_9JE41.js} +1 -1
  221. package/public/assets/{one-light-D7oIost9.js.map → one-light-kl_9JE41.js.map} +1 -1
  222. package/public/assets/{orchestrators-DQqtYryc.js → orchestrators-BLbeF61k.js} +2 -2
  223. package/public/assets/{orchestrators-DQqtYryc.js.map → orchestrators-BLbeF61k.js.map} +1 -1
  224. package/public/assets/{overview-CGYu6qQr.js → overview-BXtry9lM.js} +2 -2
  225. package/public/assets/{overview-CGYu6qQr.js.map → overview-BXtry9lM.js.map} +1 -1
  226. package/public/assets/{pairs-BgqXzCto.js → pairs-lm0CpPLI.js} +2 -2
  227. package/public/assets/{pairs-BgqXzCto.js.map → pairs-lm0CpPLI.js.map} +1 -1
  228. package/public/assets/{php-jzPvT2nT.js → php-BzbyfbR-.js} +2 -2
  229. package/public/assets/{php-jzPvT2nT.js.map → php-BzbyfbR-.js.map} +1 -1
  230. package/public/assets/{plastic-CbbYdTlt.js → plastic-zJz-m3Rm.js} +1 -1
  231. package/public/assets/{plastic-CbbYdTlt.js.map → plastic-zJz-m3Rm.js.map} +1 -1
  232. package/public/assets/{poimandres-D_GVW1nv.js → poimandres-tJBwotov.js} +1 -1
  233. package/public/assets/{poimandres-D_GVW1nv.js.map → poimandres-tJBwotov.js.map} +1 -1
  234. package/public/assets/{postcss-C9pEROMA.js → postcss-BIneP_cF.js} +1 -1
  235. package/public/assets/{postcss-C9pEROMA.js.map → postcss-BIneP_cF.js.map} +1 -1
  236. package/public/assets/{pug-By7fl28s.js → pug-DA_d_Siw.js} +2 -2
  237. package/public/assets/{pug-By7fl28s.js.map → pug-DA_d_Siw.js.map} +1 -1
  238. package/public/assets/{python-B3yVAntA.js → python-BVsgiBse.js} +1 -1
  239. package/public/assets/{python-B3yVAntA.js.map → python-BVsgiBse.js.map} +1 -1
  240. package/public/assets/{r-Cj0FbcZN.js → r-Eveq-XaR.js} +1 -1
  241. package/public/assets/{r-Cj0FbcZN.js.map → r-Eveq-XaR.js.map} +1 -1
  242. package/public/assets/{red-mpYhQQnN.js → red-BibI5kCP.js} +1 -1
  243. package/public/assets/{red-mpYhQQnN.js.map → red-BibI5kCP.js.map} +1 -1
  244. package/public/assets/{regexp-CZO5qNCb.js → regexp-BfvBV9FB.js} +1 -1
  245. package/public/assets/{regexp-CZO5qNCb.js.map → regexp-BfvBV9FB.js.map} +1 -1
  246. package/public/assets/{rose-pine-BFFt2t6B.js → rose-pine-DvIcl7lT.js} +1 -1
  247. package/public/assets/{rose-pine-BFFt2t6B.js.map → rose-pine-DvIcl7lT.js.map} +1 -1
  248. package/public/assets/{rose-pine-dawn-D85FBDtp.js → rose-pine-dawn-BqS6xqEj.js} +1 -1
  249. package/public/assets/{rose-pine-dawn-D85FBDtp.js.map → rose-pine-dawn-BqS6xqEj.js.map} +1 -1
  250. package/public/assets/{rose-pine-moon-xbAMILS6.js → rose-pine-moon-BGbVQH-B.js} +1 -1
  251. package/public/assets/{rose-pine-moon-xbAMILS6.js.map → rose-pine-moon-BGbVQH-B.js.map} +1 -1
  252. package/public/assets/{sass-Cgtxkbc_.js → sass-BdjHl3zg.js} +1 -1
  253. package/public/assets/{sass-Cgtxkbc_.js.map → sass-BdjHl3zg.js.map} +1 -1
  254. package/public/assets/{scss-BmqDcfJ5.js → scss-BULQDDIU.js} +2 -2
  255. package/public/assets/{scss-BmqDcfJ5.js.map → scss-BULQDDIU.js.map} +1 -1
  256. package/public/assets/{security-BqfRVw-p.js → security-D_GiLWK-.js} +2 -2
  257. package/public/assets/{security-BqfRVw-p.js.map → security-D_GiLWK-.js.map} +1 -1
  258. package/public/assets/select-Dfy3f6py.js +2 -0
  259. package/public/assets/select-Dfy3f6py.js.map +1 -0
  260. package/public/assets/settings-BEHFzRj_.js +10 -0
  261. package/public/assets/settings-BEHFzRj_.js.map +1 -0
  262. package/public/assets/{shellscript-CCotFWp7.js → shellscript-C1qfRdhy.js} +1 -1
  263. package/public/assets/{shellscript-CCotFWp7.js.map → shellscript-C1qfRdhy.js.map} +1 -1
  264. package/public/assets/{slack-dark-DC1pzHlk.js → slack-dark-BLmwQRBe.js} +1 -1
  265. package/public/assets/{slack-dark-DC1pzHlk.js.map → slack-dark-BLmwQRBe.js.map} +1 -1
  266. package/public/assets/{slack-ochin-DzuCpDdy.js → slack-ochin-CRvGVzm3.js} +1 -1
  267. package/public/assets/{slack-ochin-DzuCpDdy.js.map → slack-ochin-CRvGVzm3.js.map} +1 -1
  268. package/public/assets/{snazzy-light-a1eNYevY.js → snazzy-light-SlUvEGGf.js} +1 -1
  269. package/public/assets/{snazzy-light-a1eNYevY.js.map → snazzy-light-SlUvEGGf.js.map} +1 -1
  270. package/public/assets/{solarized-dark-BOM_aOHg.js → solarized-dark-DbIwHRsR.js} +1 -1
  271. package/public/assets/{solarized-dark-BOM_aOHg.js.map → solarized-dark-DbIwHRsR.js.map} +1 -1
  272. package/public/assets/{solarized-light-pc9woDHa.js → solarized-light-CYdGXtLL.js} +1 -1
  273. package/public/assets/{solarized-light-pc9woDHa.js.map → solarized-light-CYdGXtLL.js.map} +1 -1
  274. package/public/assets/{sql-BRVJ7Db3.js → sql-CA1RHzsH.js} +1 -1
  275. package/public/assets/{sql-BRVJ7Db3.js.map → sql-CA1RHzsH.js.map} +1 -1
  276. package/public/assets/{store-B6qT5_de.js → store-qcA2XXVy.js} +2 -2
  277. package/public/assets/{store-B6qT5_de.js.map → store-qcA2XXVy.js.map} +1 -1
  278. package/public/assets/{stylus-D0f0is5z.js → stylus-BbeofjW2.js} +1 -1
  279. package/public/assets/{stylus-D0f0is5z.js.map → stylus-BbeofjW2.js.map} +1 -1
  280. package/public/assets/{svelte-BNHEoLRc.js → svelte-bnIQdxmO.js} +2 -2
  281. package/public/assets/{svelte-BNHEoLRc.js.map → svelte-bnIQdxmO.js.map} +1 -1
  282. package/public/assets/{synthwave-84-B6wFOt-G.js → synthwave-84-DGP9WYc0.js} +1 -1
  283. package/public/assets/{synthwave-84-B6wFOt-G.js.map → synthwave-84-DGP9WYc0.js.map} +1 -1
  284. package/public/assets/{tasks-DiZ_4TYW.js → tasks-D_awpUcE.js} +2 -2
  285. package/public/assets/{tasks-DiZ_4TYW.js.map → tasks-D_awpUcE.js.map} +1 -1
  286. package/public/assets/teams-C0INWuQC.js +2 -0
  287. package/public/assets/teams-C0INWuQC.js.map +1 -0
  288. package/public/assets/{terminal-viewer-impl-D3T1F77z.js → terminal-viewer-impl-DsxxgYft.js} +2 -2
  289. package/public/assets/{terminal-viewer-impl-D3T1F77z.js.map → terminal-viewer-impl-DsxxgYft.js.map} +1 -1
  290. package/public/assets/{tokyo-night-CdlRv-Oa.js → tokyo-night-B7UMNIj1.js} +1 -1
  291. package/public/assets/{tokyo-night-CdlRv-Oa.js.map → tokyo-night-B7UMNIj1.js.map} +1 -1
  292. package/public/assets/{ts-tags-i7eO9SLg.js → ts-tags-BRtdAecP.js} +2 -2
  293. package/public/assets/{ts-tags-i7eO9SLg.js.map → ts-tags-BRtdAecP.js.map} +1 -1
  294. package/public/assets/{tsx-BTTibUSH.js → tsx-BUodVN6v.js} +1 -1
  295. package/public/assets/{tsx-BTTibUSH.js.map → tsx-BUodVN6v.js.map} +1 -1
  296. package/public/assets/{typescript-DpFaB1ya.js → typescript-DqNmJejE.js} +1 -1
  297. package/public/assets/{typescript-DpFaB1ya.js.map → typescript-DqNmJejE.js.map} +1 -1
  298. package/public/assets/{use-keyboard-viewport-ihP7KLb9.js → use-keyboard-viewport-BY99X7eI.js} +1 -1
  299. package/public/assets/{use-keyboard-viewport-ihP7KLb9.js.map → use-keyboard-viewport-BY99X7eI.js.map} +1 -1
  300. package/public/assets/{vesper-DKdu8Hyo.js → vesper-DaqCNT42.js} +1 -1
  301. package/public/assets/{vesper-DKdu8Hyo.js.map → vesper-DaqCNT42.js.map} +1 -1
  302. package/public/assets/{vitesse-black-Be8WuqKU.js → vitesse-black-ClNY6UCb.js} +1 -1
  303. package/public/assets/{vitesse-black-Be8WuqKU.js.map → vitesse-black-ClNY6UCb.js.map} +1 -1
  304. package/public/assets/{vitesse-dark-ClMFyn4F.js → vitesse-dark-C8_hSmOi.js} +1 -1
  305. package/public/assets/{vitesse-dark-ClMFyn4F.js.map → vitesse-dark-C8_hSmOi.js.map} +1 -1
  306. package/public/assets/{vitesse-light-7vho7arZ.js → vitesse-light-BXxp78a7.js} +1 -1
  307. package/public/assets/{vitesse-light-7vho7arZ.js.map → vitesse-light-BXxp78a7.js.map} +1 -1
  308. package/public/assets/{vue-v9GvV0kN.js → vue-Dj6AvMUo.js} +2 -2
  309. package/public/assets/{vue-v9GvV0kN.js.map → vue-Dj6AvMUo.js.map} +1 -1
  310. package/public/assets/{vue-html-CdsVcCQg.js → vue-html-Bbzrp6BF.js} +2 -2
  311. package/public/assets/{vue-html-CdsVcCQg.js.map → vue-html-Bbzrp6BF.js.map} +1 -1
  312. package/public/assets/{vue-vine-N4EjXMTf.js → vue-vine-CzAmGrih.js} +2 -2
  313. package/public/assets/{vue-vine-N4EjXMTf.js.map → vue-vine-CzAmGrih.js.map} +1 -1
  314. package/public/assets/{wasm-LHfX4W14.js → wasm-jf5ULvTY.js} +1 -1
  315. package/public/assets/{wasm-LHfX4W14.js.map → wasm-jf5ULvTY.js.map} +1 -1
  316. package/public/assets/{wasm-DU4DF4l4.js → wasm-tO7wdIO0.js} +1 -1
  317. package/public/assets/{wasm-DU4DF4l4.js.map → wasm-tO7wdIO0.js.map} +1 -1
  318. package/public/assets/{wgsl-C5uU9e4j.js → wgsl-m1TdqKPy.js} +1 -1
  319. package/public/assets/{wgsl-C5uU9e4j.js.map → wgsl-m1TdqKPy.js.map} +1 -1
  320. package/public/assets/{wit-DzVUU5dg.js → wit-Cgq8vEAf.js} +1 -1
  321. package/public/assets/{wit-DzVUU5dg.js.map → wit-Cgq8vEAf.js.map} +1 -1
  322. package/public/assets/{work-queue-C1p2Hybt.js → work-queue-DniyVomK.js} +2 -2
  323. package/public/assets/{work-queue-C1p2Hybt.js.map → work-queue-DniyVomK.js.map} +1 -1
  324. package/public/assets/{workspaces-DqVr0uN7.js → workspaces-BRVqBWat.js} +2 -2
  325. package/public/assets/{workspaces-DqVr0uN7.js.map → workspaces-BRVqBWat.js.map} +1 -1
  326. package/public/assets/{xml-CqN01Zdp.js → xml-Ct93EBnJ.js} +2 -2
  327. package/public/assets/{xml-CqN01Zdp.js.map → xml-Ct93EBnJ.js.map} +1 -1
  328. package/public/assets/{yaml-DV9wFwNg.js → yaml-Bs2vd4Y_.js} +1 -1
  329. package/public/assets/{yaml-DV9wFwNg.js.map → yaml-Bs2vd4Y_.js.map} +1 -1
  330. package/public/index.html +10 -10
  331. package/src/db/teams.ts +7 -0
  332. package/src/routes/index.ts +2 -1
  333. package/src/routes/teams.ts +14 -1
  334. package/public/assets/automation-Bk4umHIm.js +0 -2
  335. package/public/assets/display-ConJ9cJB.js.map +0 -1
  336. package/public/assets/index-CT10XH5Y.js +0 -21
  337. package/public/assets/index-CT10XH5Y.js.map +0 -1
  338. package/public/assets/index-Ryvn1efN.css +0 -2
  339. package/public/assets/insights-DZKCKL71.js +0 -2
  340. package/public/assets/settings-63whklIq.js +0 -10
  341. package/public/assets/settings-63whklIq.js.map +0 -1
  342. package/public/assets/switch-Bp64beKV.js +0 -2
  343. package/public/assets/switch-Bp64beKV.js.map +0 -1
  344. /package/public/assets/{preload-helper-CDM1EFcn.js → preload-helper-CP_edrrL.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"automation-Bk4umHIm.js","names":[],"sources":["../../dashboard/src/components/views/automation.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, type ReactNode } from 'react'\nimport { useRelayStore, useNow } from '@/store'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Input } from '@/components/ui/input'\nimport { Label } from '@/components/ui/label'\nimport { Switch } from '@/components/ui/switch'\nimport { Textarea } from '@/components/ui/textarea'\nimport { fmtTime, timeAgo } from '@/lib/display'\nimport { LogViewer } from '@/components/shared/log-viewer'\nimport { PROVIDER_CATALOG } from 'agent-relay-sdk/provider-catalog'\nimport { CalendarClock, FileText, Pencil, Play, Plus, RotateCw, Save, Trash2 } from 'lucide-react'\nimport type {\n Agent,\n Automation,\n AutomationConcurrencyPolicy,\n AutomationRun,\n AutomationTargetPolicy,\n CreateAutomationInput,\n Orchestrator,\n SpawnApprovalMode,\n SpawnEffort,\n SpawnProvider,\n TaskSeverity,\n WorkspaceMode,\n} from '@/types'\n\nconst RUN_STATUS_COLORS: Record<string, string> = {\n scheduled: 'bg-blue-500/10 text-blue-400 border-blue-500/20',\n dispatching: 'bg-sky-500/10 text-sky-400 border-sky-500/20',\n waiting_agent: 'bg-yellow-500/10 text-yellow-400 border-yellow-500/20',\n running: 'bg-emerald-500/10 text-emerald-400 border-emerald-500/20',\n succeeded: 'bg-zinc-500/10 text-zinc-400 border-zinc-500/20',\n failed: 'bg-red-500/10 text-red-400 border-red-500/20',\n canceled: 'bg-zinc-500/10 text-zinc-400 border-zinc-500/20',\n timed_out: 'bg-red-500/10 text-red-400 border-red-500/20',\n}\n\nconst ACTIVE_RUN_STATUSES = new Set(['scheduled', 'dispatching', 'waiting_agent', 'running'])\n\nfunction runStatusLabel(run: AutomationRun): string {\n return run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true ? 'budget elapsed' : run.status\n}\n\nfunction runStatusClass(run: AutomationRun): string {\n if (run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true) return 'bg-zinc-500/10 text-zinc-400 border-zinc-500/20'\n return RUN_STATUS_COLORS[run.status] || ''\n}\n\nfunction runErrorText(run: AutomationRun): string | undefined {\n return run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true ? undefined : run.error\n}\n\nfunction isActiveRun(run: AutomationRun): boolean {\n return ACTIVE_RUN_STATUSES.has(run.status)\n}\n\nfunction num(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined\n}\n\nfunction str(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined\n}\n\nfunction duration(ms: number): string {\n const total = Math.max(0, Math.round(ms / 1000))\n const hours = Math.floor(total / 3600)\n const minutes = Math.floor((total % 3600) / 60)\n const seconds = total % 60\n if (hours) return `${hours}h ${minutes}m`\n if (minutes) return `${minutes}m ${seconds}s`\n return `${seconds}s`\n}\n\nfunction runDeadline(run: AutomationRun): number | undefined {\n return num(run.meta?.runtimeBudgetDeadlineAt) ?? num(run.result?.deadlineAt)\n}\n\nfunction elapsedText(run: AutomationRun, now: number): string {\n if (!run.startedAt) return '-'\n const end = run.finishedAt || (isActiveRun(run) ? now : run.updatedAt)\n return duration(Number(end) - Number(run.startedAt))\n}\n\nfunction remainingText(run: AutomationRun, now: number): string | undefined {\n const deadline = runDeadline(run)\n if (!deadline || !isActiveRun(run)) return undefined\n return duration(deadline - now)\n}\n\nfunction shutdownText(run: AutomationRun): string | undefined {\n if (run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true) return 'runtime budget elapsed'\n return run.error\n}\n\nfunction runLogTarget(run: AutomationRun, agents: Agent[], orchestrators: Orchestrator[]): { orchestratorId: string; session: string } | undefined {\n const agentId = run.targetAgentId || run.spawnedAgentId || str(run.meta?.runtimeAgentId)\n const agent = agentId ? agents.find((candidate) => candidate.id === agentId) : undefined\n const managed = agentId\n ? orchestrators.flatMap((orchestrator) => orchestrator.managedAgents.map((managedAgent) => ({ orchestrator, managedAgent })))\n .find(({ managedAgent }) => managedAgent.agentId === agentId)\n : undefined\n const session = str(run.meta?.terminalSession)\n || str(run.meta?.tmuxSession)\n || str(run.meta?.sessionName)\n || str(agent?.meta?.terminalSession)\n || str(agent?.meta?.tmuxSession)\n || str(agent?.meta?.sessionName)\n || managed?.managedAgent.terminalSession\n || managed?.managedAgent.tmuxSession\n || managed?.managedAgent.sessionName\n const orchestratorId = str(run.meta?.orchestratorId) || managed?.orchestrator.id || run.orchestratorId\n return session ? { orchestratorId, session } : undefined\n}\n\ntype TargetMode = 'existing_agent' | 'on_demand_agent'\n\ninterface AutomationForm {\n id?: string\n name: string\n description: string\n enabled: boolean\n schedule: string\n timezone: string\n orchestratorId: string\n targetMode: TargetMode\n provider: SpawnProvider\n model: string\n effort: string\n profile: string\n label: string\n tags: string\n capabilities: string\n ifNoMatch: 'fail' | 'spawn'\n cwd: string\n approvalMode: SpawnApprovalMode\n workspaceMode: WorkspaceMode\n keepAlive: boolean\n budgetMinutes: string\n warningMinutes: string\n warningMessage: string\n concurrencyPolicy: AutomationConcurrencyPolicy\n title: string\n body: string\n severity: TaskSeverity\n dedupeKey: string\n externalUrl: string\n}\n\nfunction blankForm(orchestratorId = ''): AutomationForm {\n return {\n name: '',\n description: '',\n enabled: true,\n schedule: '0 8 * * *',\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC',\n orchestratorId,\n targetMode: 'existing_agent',\n provider: 'codex',\n model: PROVIDER_CATALOG.codex.defaultModel || '',\n effort: '',\n profile: 'default-relay',\n label: '',\n tags: '',\n capabilities: '',\n ifNoMatch: 'fail',\n cwd: '',\n approvalMode: 'guarded',\n workspaceMode: 'inherit',\n keepAlive: false,\n budgetMinutes: '',\n warningMinutes: '',\n warningMessage: '',\n concurrencyPolicy: 'skip',\n title: '',\n body: '',\n severity: 'info',\n dedupeKey: '',\n externalUrl: '',\n }\n}\n\nfunction splitCsv(value: string): string[] | undefined {\n const items = value.split(',').map((item) => item.trim()).filter(Boolean)\n return items.length ? items : undefined\n}\n\nfunction automationToForm(automation: Automation): AutomationForm {\n const policy = automation.targetPolicy\n return {\n ...blankForm(automation.orchestratorId),\n id: automation.id,\n name: automation.name,\n description: automation.description || '',\n enabled: automation.enabled,\n schedule: automation.schedule,\n timezone: automation.timezone,\n orchestratorId: automation.orchestratorId,\n targetMode: policy.mode,\n provider: policy.mode === 'on_demand_agent' ? policy.provider : policy.selector.provider || 'codex',\n model: policy.mode === 'on_demand_agent' ? policy.model || PROVIDER_CATALOG[policy.provider].defaultModel || '' : '',\n effort: policy.mode === 'on_demand_agent' ? policy.effort || '' : '',\n profile: policy.mode === 'on_demand_agent' ? policy.profile || 'default-relay' : 'default-relay',\n label: policy.mode === 'existing_agent' ? policy.selector.label || '' : '',\n tags: policy.mode === 'existing_agent' ? (policy.selector.tags || []).join(', ') : '',\n capabilities: policy.mode === 'existing_agent' ? (policy.selector.capabilities || []).join(', ') : '',\n ifNoMatch: policy.mode === 'existing_agent' ? policy.ifNoMatch || 'fail' : 'fail',\n cwd: policy.mode === 'on_demand_agent' ? policy.cwd || '' : '',\n approvalMode: policy.mode === 'on_demand_agent' ? policy.approvalMode || 'guarded' : 'guarded',\n workspaceMode: policy.mode === 'on_demand_agent' ? policy.workspaceMode || 'inherit' : 'inherit',\n keepAlive: policy.mode === 'on_demand_agent' ? Boolean(policy.keepAlive) : false,\n budgetMinutes: policy.mode === 'on_demand_agent' && policy.runtimeBudget ? String(Math.round(policy.runtimeBudget.maxRuntimeMs / 60_000)) : '',\n warningMinutes: policy.mode === 'on_demand_agent' && policy.runtimeBudget?.warnAtMs !== undefined ? String(Math.round(policy.runtimeBudget.warnAtMs / 60_000)) : '',\n warningMessage: policy.mode === 'on_demand_agent' ? policy.runtimeBudget?.warningMessage || '' : '',\n concurrencyPolicy: automation.concurrencyPolicy,\n title: automation.taskTemplate.title,\n body: automation.taskTemplate.body,\n severity: automation.taskTemplate.severity || 'info',\n dedupeKey: automation.taskTemplate.dedupeKey || '',\n externalUrl: automation.taskTemplate.externalUrl || '',\n }\n}\n\nfunction formToInput(form: AutomationForm): CreateAutomationInput {\n const budgetMinutes = Number(form.budgetMinutes)\n const warningMinutes = Number(form.warningMinutes)\n const runtimeBudget = form.targetMode === 'on_demand_agent' && form.budgetMinutes.trim() && Number.isFinite(budgetMinutes)\n ? {\n maxRuntimeMs: Math.round(budgetMinutes * 60_000),\n warnAtMs: form.warningMinutes.trim() && Number.isFinite(warningMinutes) ? Math.round(warningMinutes * 60_000) : undefined,\n warningMessage: form.warningMessage.trim() || undefined,\n }\n : undefined\n const targetPolicy: AutomationTargetPolicy = form.targetMode === 'existing_agent'\n ? {\n mode: 'existing_agent',\n selector: {\n provider: form.provider || undefined,\n label: form.label.trim() || undefined,\n tags: splitCsv(form.tags),\n capabilities: splitCsv(form.capabilities),\n },\n ifNoMatch: form.ifNoMatch,\n }\n : {\n mode: 'on_demand_agent',\n provider: form.provider,\n model: form.model || undefined,\n effort: form.effort ? form.effort as SpawnEffort : undefined,\n profile: form.profile || undefined,\n cwd: form.cwd.trim() || undefined,\n approvalMode: form.approvalMode,\n workspaceMode: form.workspaceMode,\n keepAlive: form.keepAlive,\n runtimeBudget,\n }\n\n return {\n kind: 'scheduled_task',\n name: form.name.trim(),\n description: form.description.trim() || undefined,\n enabled: form.enabled,\n schedule: form.schedule.trim(),\n timezone: form.timezone.trim() || 'UTC',\n catchUpPolicy: 'skip',\n concurrencyPolicy: form.concurrencyPolicy,\n orchestratorId: form.orchestratorId,\n targetPolicy,\n taskTemplate: {\n title: form.title.trim(),\n body: form.body.trim(),\n severity: form.severity,\n dedupeKey: form.dedupeKey.trim() || undefined,\n externalUrl: form.externalUrl.trim() || undefined,\n },\n }\n}\n\nexport function AutomationView() {\n const now = useNow()\n const automations = useRelayStore((s) => s.automations)\n const automationRuns = useRelayStore((s) => s.automationRuns)\n const orchestrators = useRelayStore((s) => s.orchestrators)\n const agents = useRelayStore((s) => s.agents)\n const apiCall = useRelayStore((s) => s.apiCall)\n const showError = useRelayStore((s) => s.showError)\n const openConfirm = useRelayStore((s) => s.openConfirm)\n const fetchAutomations = useRelayStore((s) => s.fetchAutomations)\n const fetchAutomationRuns = useRelayStore((s) => s.fetchAutomationRuns)\n const fetchTasks = useRelayStore((s) => s.fetchTasks)\n const agentProfiles = useRelayStore((s) => s.agentProfiles)\n const [selectedId, setSelectedId] = useState<string>('')\n const [form, setForm] = useState<AutomationForm>(() => blankForm(orchestrators[0]?.id || ''))\n const [saving, setSaving] = useState(false)\n const [logRunId, setLogRunId] = useState<string | null>(null)\n\n const selected = automations.find((automation) => automation.id === selectedId)\n const onlineOrchestrators = orchestrators.filter((orchestrator) => orchestrator.status === 'online')\n const activeRuns = automationRuns.filter(isActiveRun)\n\n useEffect(() => {\n void Promise.all([fetchAutomations(), fetchAutomationRuns()])\n }, [])\n\n useEffect(() => {\n if (!form.orchestratorId && orchestrators[0]) {\n setForm((current) => ({ ...current, orchestratorId: orchestrators[0]!.id }))\n }\n }, [orchestrators])\n\n const runsByAutomation = useMemo(() => {\n const grouped = new Map<string, AutomationRun[]>()\n for (const run of automationRuns) {\n const list = grouped.get(run.automationId) || []\n list.push(run)\n grouped.set(run.automationId, list)\n }\n return grouped\n }, [automationRuns])\n\n function newAutomation() {\n setSelectedId('')\n setForm(blankForm(orchestrators[0]?.id || ''))\n }\n\n function editAutomation(automation: Automation) {\n setSelectedId(automation.id)\n setForm(automationToForm(automation))\n }\n\n async function saveAutomation() {\n setSaving(true)\n try {\n const input = formToInput(form)\n if (form.id) await apiCall('PATCH', '/automations/' + encodeURIComponent(form.id), input)\n else {\n const created = await apiCall<Automation>('POST', '/automations', input)\n setSelectedId(created.id)\n setForm(automationToForm(created))\n }\n await Promise.all([fetchAutomations(), fetchAutomationRuns()])\n } catch (e) {\n showError('Save Failed', (e as Error).message)\n } finally {\n setSaving(false)\n }\n }\n\n async function patchAutomation(automation: Automation, partial: Partial<Automation>) {\n try {\n await apiCall('PATCH', '/automations/' + encodeURIComponent(automation.id), partial)\n await fetchAutomations()\n } catch (e) {\n showError('Update Failed', (e as Error).message)\n }\n }\n\n async function runNow(automation: Automation) {\n try {\n await apiCall('POST', '/automations/' + encodeURIComponent(automation.id) + '/run')\n await Promise.all([fetchAutomationRuns(), fetchTasks()])\n } catch (e) {\n showError('Run Failed', (e as Error).message)\n }\n }\n\n function deleteAutomation(automation: Automation) {\n openConfirm('Delete Automation', `Delete automation \"${automation.name}\"?`, async () => {\n try {\n await apiCall('DELETE', '/automations/' + encodeURIComponent(automation.id))\n if (selectedId === automation.id) newAutomation()\n await Promise.all([fetchAutomations(), fetchAutomationRuns()])\n } catch (e) {\n showError('Delete Failed', (e as Error).message)\n }\n })\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <CalendarClock className=\"w-5 h-5 text-muted-foreground\" />\n <div>\n <h2 className=\"text-lg font-semibold\">Automation</h2>\n <p className=\"text-xs text-muted-foreground\">Scheduled tasks</p>\n </div>\n <div className=\"ml-auto flex flex-wrap items-center gap-2\">\n <Badge variant=\"outline\" className=\"text-xs\">{automations.length} schedules</Badge>\n <Badge variant=\"outline\" className=\"text-xs\">{activeRuns.length} running</Badge>\n <Button size=\"sm\" className=\"gap-1\" onClick={newAutomation}>\n <Plus className=\"w-3.5 h-3.5\" />\n New\n </Button>\n </div>\n </div>\n\n {activeRuns.length > 0 && (\n <ActiveRuns\n runs={activeRuns}\n automations={automations}\n agents={agents}\n orchestrators={orchestrators}\n now={now}\n logRunId={logRunId}\n onToggleLogs={(runId) => setLogRunId((current) => current === runId ? null : runId)}\n />\n )}\n\n <div className=\"grid gap-4 xl:grid-cols-[minmax(0,1fr)_420px]\">\n <div className=\"space-y-3\">\n {automations.length === 0 ? (\n <div className=\"py-16 text-center text-sm text-muted-foreground\">No automations</div>\n ) : automations.map((automation) => (\n <AutomationCard\n key={automation.id}\n automation={automation}\n runs={runsByAutomation.get(automation.id) || []}\n now={now}\n selected={selectedId === automation.id}\n onEdit={() => editAutomation(automation)}\n onRun={() => runNow(automation)}\n onToggle={() => patchAutomation(automation, { enabled: !automation.enabled })}\n onDelete={() => deleteAutomation(automation)}\n />\n ))}\n </div>\n\n <AutomationEditor\n form={form}\n agentProfiles={agentProfiles}\n selected={selected}\n saving={saving}\n orchestrators={onlineOrchestrators.length ? onlineOrchestrators : orchestrators}\n onChange={(patch) => setForm((current) => ({ ...current, ...patch }))}\n onSave={saveAutomation}\n />\n </div>\n\n <RunHistory\n runs={automationRuns}\n automations={automations}\n agents={agents}\n orchestrators={orchestrators}\n now={now}\n logRunId={logRunId}\n onToggleLogs={(runId) => setLogRunId((current) => current === runId ? null : runId)}\n />\n </div>\n )\n}\n\nfunction ActiveRuns({\n runs,\n automations,\n agents,\n orchestrators,\n now,\n logRunId,\n onToggleLogs,\n}: {\n runs: AutomationRun[]\n automations: Automation[]\n agents: Agent[]\n orchestrators: Orchestrator[]\n now: number\n logRunId: string | null\n onToggleLogs: (runId: string) => void\n}) {\n const names = new Map(automations.map((automation) => [automation.id, automation.name]))\n return (\n <div className=\"rounded-lg border border-border bg-card/40\">\n <div className=\"border-b border-border px-3 py-2 text-sm font-medium\">Active runs</div>\n <div className=\"divide-y divide-border\">\n {runs.map((run) => {\n const logTarget = runLogTarget(run, agents, orchestrators)\n const remaining = remainingText(run, now)\n return (\n <div key={run.id} className=\"space-y-3 px-3 py-3\">\n <div className=\"grid gap-3 text-xs md:grid-cols-[minmax(12rem,1fr)_7rem_7rem_7rem_8rem_auto] md:items-center\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-medium\">{names.get(run.automationId) || run.automationId.slice(0, 12)}</div>\n <div className=\"truncate font-mono text-muted-foreground\">{run.targetAgentId || run.spawnedAgentId || str(run.meta?.onDemandLabel) || '-'}</div>\n </div>\n <Badge variant=\"outline\" className={`border text-[10px] w-fit ${runStatusClass(run)}`}>{runStatusLabel(run)}</Badge>\n <div><span className=\"text-muted-foreground\">elapsed </span>{elapsedText(run, now)}</div>\n <div><span className=\"text-muted-foreground\">left </span>{remaining || '-'}</div>\n <div className=\"font-mono text-muted-foreground\">{run.taskId ? `task #${run.taskId}` : '-'}</div>\n {logTarget && (\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"h-7 gap-1 text-xs\" onClick={() => onToggleLogs(run.id)}>\n <FileText className=\"w-3 h-3\" />\n Logs\n </Button>\n )}\n </div>\n {logRunId === run.id && logTarget && <LogViewer orchestratorId={logTarget.orchestratorId} session={logTarget.session} />}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nfunction AutomationCard({\n automation,\n runs,\n now,\n selected,\n onEdit,\n onRun,\n onToggle,\n onDelete,\n}: {\n automation: Automation\n runs: AutomationRun[]\n now: number\n selected: boolean\n onEdit: () => void\n onRun: () => void\n onToggle: () => void\n onDelete: () => void\n}) {\n const latestRun = runs[0]\n const policy = automation.targetPolicy\n const target = policy.mode === 'existing_agent'\n ? [\n policy.selector.provider,\n policy.selector.label ? `label:${policy.selector.label}` : '',\n ...(policy.selector.tags || []).map((tag) => `tag:${tag}`),\n ...(policy.selector.capabilities || []).map((cap) => `cap:${cap}`),\n ].filter(Boolean).join(' ')\n : `${policy.provider} on demand`\n\n return (\n <Card className={`${selected ? 'ring-1 ring-primary/50' : ''} ${automation.enabled ? '' : 'opacity-60'}`}>\n <CardHeader className=\"px-4 py-3\">\n <div className=\"flex items-start gap-3\">\n <Switch checked={automation.enabled} onCheckedChange={onToggle} className=\"mt-0.5\" />\n <div className=\"min-w-0 flex-1\">\n <CardTitle className=\"text-sm truncate\">{automation.name}</CardTitle>\n <div className=\"mt-1 flex flex-wrap gap-1.5 text-xs text-muted-foreground\">\n <span className=\"font-mono\">{automation.schedule}</span>\n <span>{automation.timezone}</span>\n <span>{automation.orchestratorId}</span>\n <span className=\"truncate max-w-[28rem]\">{target}</span>\n </div>\n </div>\n <div className=\"flex gap-1\">\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Run now\" onClick={onRun}>\n <Play className=\"w-3.5 h-3.5\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Edit\" onClick={onEdit}>\n <Pencil className=\"w-3.5 h-3.5\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-red-400 hover:text-red-300\" title=\"Delete\" onClick={onDelete}>\n <Trash2 className=\"w-3.5 h-3.5\" />\n </Button>\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"px-4 pb-3 pt-0\">\n <div className=\"flex flex-wrap items-center gap-2 text-xs text-muted-foreground\">\n <span title={automation.nextRunAt ? fmtTime(automation.nextRunAt) : undefined}>\n next {automation.nextRunAt ? timeAgo(now, automation.nextRunAt) : 'disabled'}\n </span>\n {latestRun && (\n <Badge variant=\"outline\" className={`border text-[10px] ${runStatusClass(latestRun)}`}>\n {runStatusLabel(latestRun)}\n </Badge>\n )}\n {latestRun?.taskId && <span>task #{latestRun.taskId}</span>}\n {latestRun && runErrorText(latestRun) && <span className=\"text-red-400 truncate\">{runErrorText(latestRun)}</span>}\n </div>\n </CardContent>\n </Card>\n )\n}\n\nfunction AutomationEditor({\n form,\n selected,\n saving,\n orchestrators,\n agentProfiles,\n onChange,\n onSave,\n}: {\n form: AutomationForm\n selected?: Automation\n saving: boolean\n orchestrators: Array<{ id: string; hostname: string; providers: SpawnProvider[] }>\n agentProfiles: Array<{ name: string }>\n onChange: (patch: Partial<AutomationForm>) => void\n onSave: () => void\n}) {\n const selectedOrchestrator = orchestrators.find((orch) => orch.id === form.orchestratorId)\n const providers = selectedOrchestrator?.providers || []\n const models = PROVIDER_CATALOG[form.provider]?.models || []\n const selectedModel = models.find((model) => model.alias === form.model)\n const efforts = selectedModel?.efforts || []\n\n function selectOrchestrator(orchestratorId: string) {\n const orchestrator = orchestrators.find((orch) => orch.id === orchestratorId)\n const provider = orchestrator?.providers[0] || form.provider\n onChange({ orchestratorId, provider, model: PROVIDER_CATALOG[provider]?.defaultModel || '', effort: '' })\n }\n\n function selectProvider(provider: SpawnProvider) {\n onChange({ provider, model: PROVIDER_CATALOG[provider]?.defaultModel || '', effort: '' })\n }\n\n return (\n <div className=\"rounded-lg border border-border bg-card p-4 space-y-4 h-fit xl:sticky xl:top-4\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"text-sm font-semibold\">{selected ? 'Edit schedule' : 'New schedule'}</h3>\n <Badge variant={form.enabled ? 'default' : 'secondary'} className=\"ml-auto text-[10px]\">\n {form.enabled ? 'enabled' : 'disabled'}\n </Badge>\n </div>\n\n <div className=\"grid gap-3\">\n <Field label=\"Name\">\n <Input value={form.name} onChange={(e) => onChange({ name: e.target.value })} />\n </Field>\n <Field label=\"Description\">\n <Input value={form.description} onChange={(e) => onChange({ description: e.target.value })} />\n </Field>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Cron\">\n <Input value={form.schedule} onChange={(e) => onChange({ schedule: e.target.value })} className=\"font-mono\" />\n </Field>\n <Field label=\"Timezone\">\n <Input value={form.timezone} onChange={(e) => onChange({ timezone: e.target.value })} />\n </Field>\n </div>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Orchestrator\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.orchestratorId} onChange={(e) => selectOrchestrator(e.target.value)}>\n <option value=\"\">Select</option>\n {orchestrators.map((orch) => <option key={orch.id} value={orch.id}>{orch.hostname} ({orch.id})</option>)}\n </select>\n </Field>\n <Field label=\"Concurrency\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.concurrencyPolicy} onChange={(e) => onChange({ concurrencyPolicy: e.target.value as AutomationConcurrencyPolicy })}>\n <option value=\"skip\">skip</option>\n <option value=\"replace\">replace</option>\n <option value=\"queue\">queue</option>\n </select>\n </Field>\n </div>\n <label className=\"flex items-center justify-between rounded-md border border-border px-3 py-2\">\n <span className=\"text-sm\">Enabled</span>\n <Switch checked={form.enabled} onCheckedChange={(enabled) => onChange({ enabled })} />\n </label>\n </div>\n\n <div className=\"space-y-3\">\n <Label>Target</Label>\n <div className=\"grid grid-cols-2 gap-2\">\n <Button type=\"button\" variant={form.targetMode === 'existing_agent' ? 'default' : 'outline'} onClick={() => onChange({ targetMode: 'existing_agent' })}>\n Existing\n </Button>\n <Button type=\"button\" variant={form.targetMode === 'on_demand_agent' ? 'default' : 'outline'} onClick={() => onChange({ targetMode: 'on_demand_agent' })}>\n On demand\n </Button>\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Provider\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.provider} onChange={(e) => selectProvider(e.target.value as SpawnProvider)} disabled={!providers.length}>\n {!providers.length && <option value={form.provider}>No providers available</option>}\n {providers.map((provider) => <option key={provider} value={provider}>{provider}</option>)}\n </select>\n </Field>\n {form.targetMode === 'existing_agent' ? (\n <Field label=\"If no match\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.ifNoMatch} onChange={(e) => onChange({ ifNoMatch: e.target.value as 'fail' | 'spawn' })}>\n <option value=\"fail\">fail</option>\n <option value=\"spawn\">spawn</option>\n </select>\n </Field>\n ) : (\n <Field label=\"Approval\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.approvalMode} onChange={(e) => onChange({ approvalMode: e.target.value as SpawnApprovalMode })}>\n <option value=\"guarded\">guarded</option>\n <option value=\"read-only\">read-only</option>\n <option value=\"open\">open</option>\n </select>\n </Field>\n )}\n </div>\n\n {form.targetMode === 'on_demand_agent' && (\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Model\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.model} onChange={(e) => onChange({ model: e.target.value, effort: '' })}>\n {models.map((model) => <option key={model.alias} value={model.alias}>{model.label}</option>)}\n </select>\n </Field>\n <Field label=\"Effort\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.effort} onChange={(e) => onChange({ effort: e.target.value })} disabled={!efforts.length}>\n <option value=\"\">Default</option>\n {efforts.map((level) => <option key={level} value={level}>{level}</option>)}\n </select>\n </Field>\n <Field label=\"Agent profile\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.profile || 'default-relay'} onChange={(e) => onChange({ profile: e.target.value })}>\n {!agentProfiles.length && <option value=\"default-relay\">default-relay</option>}\n {agentProfiles.map((profile) => <option key={profile.name} value={profile.name}>{profile.name}</option>)}\n </select>\n </Field>\n <Field label=\"Workspace\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.workspaceMode} onChange={(e) => onChange({ workspaceMode: e.target.value as WorkspaceMode })}>\n <option value=\"inherit\">inherit (default → isolated worktree)</option>\n <option value=\"shared\">shared (run in the repo, commit to its branch)</option>\n <option value=\"isolated\">isolated (fresh git worktree per run)</option>\n </select>\n </Field>\n </div>\n )}\n\n {form.targetMode === 'existing_agent' ? (\n <div className=\"grid gap-3\">\n <Field label=\"Label\">\n <Input value={form.label} onChange={(e) => onChange({ label: e.target.value })} />\n </Field>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Tags\">\n <Input value={form.tags} onChange={(e) => onChange({ tags: e.target.value })} />\n </Field>\n <Field label=\"Capabilities\">\n <Input value={form.capabilities} onChange={(e) => onChange({ capabilities: e.target.value })} />\n </Field>\n </div>\n </div>\n ) : (\n <div className=\"grid gap-3\">\n <Field label=\"Cwd\">\n <Input value={form.cwd} onChange={(e) => onChange({ cwd: e.target.value })} />\n </Field>\n <label className=\"flex items-center justify-between rounded-md border border-border px-3 py-2\">\n <span className=\"text-sm\">Keep alive</span>\n <Switch checked={form.keepAlive} onCheckedChange={(keepAlive) => onChange({ keepAlive })} />\n </label>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Budget minutes\">\n <Input type=\"number\" min={1} step={1} value={form.budgetMinutes} onChange={(e) => onChange({ budgetMinutes: e.target.value })} />\n </Field>\n <Field label=\"Warning minute\">\n <Input type=\"number\" min={0} step={1} value={form.warningMinutes} onChange={(e) => onChange({ warningMinutes: e.target.value })} />\n </Field>\n </div>\n <Field label=\"Warning message\">\n <Textarea value={form.warningMessage} onChange={(e) => onChange({ warningMessage: e.target.value })} className=\"min-h-20\" />\n </Field>\n </div>\n )}\n </div>\n\n <div className=\"space-y-3\">\n <Label>Task</Label>\n <Field label=\"Title\">\n <Input value={form.title} onChange={(e) => onChange({ title: e.target.value })} />\n </Field>\n <Field label=\"Body\">\n <Textarea value={form.body} onChange={(e) => onChange({ body: e.target.value })} className=\"min-h-28\" />\n </Field>\n <div className=\"grid grid-cols-3 gap-3\">\n <Field label=\"Severity\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.severity} onChange={(e) => onChange({ severity: e.target.value as TaskSeverity })}>\n <option value=\"info\">info</option>\n <option value=\"warning\">warning</option>\n <option value=\"critical\">critical</option>\n </select>\n </Field>\n <Field label=\"Dedupe key\">\n <Input value={form.dedupeKey} onChange={(e) => onChange({ dedupeKey: e.target.value })} />\n </Field>\n <Field label=\"External URL\">\n <Input value={form.externalUrl} onChange={(e) => onChange({ externalUrl: e.target.value })} />\n </Field>\n </div>\n </div>\n\n <Button className=\"w-full gap-2\" onClick={onSave} disabled={saving || !form.name || !form.schedule || !form.orchestratorId || !form.title || !form.body}>\n {saving ? <RotateCw className=\"w-4 h-4 animate-spin\" /> : <Save className=\"w-4 h-4\" />}\n Save\n </Button>\n </div>\n )\n}\n\nfunction Field({ label, children }: { label: string; children: ReactNode }) {\n return (\n <div className=\"space-y-1.5\">\n <Label className=\"text-xs text-muted-foreground\">{label}</Label>\n {children}\n </div>\n )\n}\n\nfunction RunHistory({\n runs,\n automations,\n agents,\n orchestrators,\n now,\n logRunId,\n onToggleLogs,\n}: {\n runs: AutomationRun[]\n automations: Automation[]\n agents: Agent[]\n orchestrators: Orchestrator[]\n now: number\n logRunId: string | null\n onToggleLogs: (runId: string) => void\n}) {\n const names = new Map(automations.map((automation) => [automation.id, automation.name]))\n return (\n <div className=\"space-y-2\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"text-sm font-semibold\">Runs</h3>\n <Badge variant=\"secondary\" className=\"text-[10px]\">{runs.length}</Badge>\n </div>\n <div className=\"rounded-lg border border-border overflow-x-auto\">\n <div className=\"grid grid-cols-[minmax(10rem,1fr)_8rem_8rem_7rem_7rem_5rem] gap-3 bg-muted/30 px-3 py-2 text-xs text-muted-foreground\">\n <span>Automation</span>\n <span>Status</span>\n <span>Agent</span>\n <span>Runtime</span>\n <span>Updated</span>\n <span>Logs</span>\n </div>\n {runs.length === 0 ? (\n <div className=\"px-3 py-10 text-center text-sm text-muted-foreground\">No runs</div>\n ) : runs.slice(0, 80).map((run) => {\n const logTarget = runLogTarget(run, agents, orchestrators)\n const remaining = remainingText(run, now)\n const shutdown = shutdownText(run)\n return (\n <div key={run.id} className=\"border-t border-border\">\n <div className=\"grid grid-cols-[minmax(10rem,1fr)_8rem_8rem_7rem_7rem_5rem] gap-3 px-3 py-2 text-xs items-center\">\n <div className=\"min-w-0\">\n <div className=\"truncate\">{names.get(run.automationId) || run.automationId.slice(0, 12)}</div>\n <div className=\"truncate text-muted-foreground\">\n {run.taskId ? `task #${run.taskId}` : 'no task'}\n {remaining ? ` · ${remaining} left` : ''}\n {shutdown ? ` · ${shutdown}` : ''}\n </div>\n </div>\n <Badge variant=\"outline\" className={`border text-[10px] w-fit ${runStatusClass(run)}`}>{runStatusLabel(run)}</Badge>\n <span className=\"truncate font-mono text-muted-foreground\">{run.targetAgentId || run.spawnedAgentId || '-'}</span>\n <span className=\"text-muted-foreground\">{elapsedText(run, now)}</span>\n <span className=\"text-muted-foreground\" title={fmtTime(run.updatedAt)}>{timeAgo(now, run.updatedAt)}</span>\n {logTarget ? (\n <Button type=\"button\" size=\"sm\" variant=\"ghost\" className=\"h-7 w-7 p-0\" title=\"Open logs\" onClick={() => onToggleLogs(run.id)}>\n <FileText className=\"w-3.5 h-3.5\" />\n </Button>\n ) : <span className=\"text-muted-foreground\">-</span>}\n </div>\n {logRunId === run.id && logTarget && (\n <div className=\"border-t border-border px-3 py-3\">\n <LogViewer orchestratorId={logTarget.orchestratorId} session={logTarget.session} />\n </div>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"automation-DH0gqxI2.js","names":[],"sources":["../../dashboard/src/components/views/automation.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, type ReactNode } from 'react'\nimport { useRelayStore, useNow } from '@/store'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Input } from '@/components/ui/input'\nimport { Label } from '@/components/ui/label'\nimport { Switch } from '@/components/ui/switch'\nimport { Textarea } from '@/components/ui/textarea'\nimport { fmtTime, timeAgo } from '@/lib/display'\nimport { LogViewer } from '@/components/shared/log-viewer'\nimport { PROVIDER_CATALOG } from 'agent-relay-sdk/provider-catalog'\nimport { CalendarClock, FileText, Pencil, Play, Plus, RotateCw, Save, Trash2 } from 'lucide-react'\nimport type {\n Agent,\n Automation,\n AutomationConcurrencyPolicy,\n AutomationRun,\n AutomationTargetPolicy,\n CreateAutomationInput,\n Orchestrator,\n SpawnApprovalMode,\n SpawnEffort,\n SpawnProvider,\n TaskSeverity,\n WorkspaceMode,\n} from '@/types'\n\nconst RUN_STATUS_COLORS: Record<string, string> = {\n scheduled: 'bg-blue-500/10 text-blue-400 border-blue-500/20',\n dispatching: 'bg-sky-500/10 text-sky-400 border-sky-500/20',\n waiting_agent: 'bg-yellow-500/10 text-yellow-400 border-yellow-500/20',\n running: 'bg-emerald-500/10 text-emerald-400 border-emerald-500/20',\n succeeded: 'bg-zinc-500/10 text-zinc-400 border-zinc-500/20',\n failed: 'bg-red-500/10 text-red-400 border-red-500/20',\n canceled: 'bg-zinc-500/10 text-zinc-400 border-zinc-500/20',\n timed_out: 'bg-red-500/10 text-red-400 border-red-500/20',\n}\n\nconst ACTIVE_RUN_STATUSES = new Set(['scheduled', 'dispatching', 'waiting_agent', 'running'])\n\nfunction runStatusLabel(run: AutomationRun): string {\n return run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true ? 'budget elapsed' : run.status\n}\n\nfunction runStatusClass(run: AutomationRun): string {\n if (run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true) return 'bg-zinc-500/10 text-zinc-400 border-zinc-500/20'\n return RUN_STATUS_COLORS[run.status] || ''\n}\n\nfunction runErrorText(run: AutomationRun): string | undefined {\n return run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true ? undefined : run.error\n}\n\nfunction isActiveRun(run: AutomationRun): boolean {\n return ACTIVE_RUN_STATUSES.has(run.status)\n}\n\nfunction num(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined\n}\n\nfunction str(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined\n}\n\nfunction duration(ms: number): string {\n const total = Math.max(0, Math.round(ms / 1000))\n const hours = Math.floor(total / 3600)\n const minutes = Math.floor((total % 3600) / 60)\n const seconds = total % 60\n if (hours) return `${hours}h ${minutes}m`\n if (minutes) return `${minutes}m ${seconds}s`\n return `${seconds}s`\n}\n\nfunction runDeadline(run: AutomationRun): number | undefined {\n return num(run.meta?.runtimeBudgetDeadlineAt) ?? num(run.result?.deadlineAt)\n}\n\nfunction elapsedText(run: AutomationRun, now: number): string {\n if (!run.startedAt) return '-'\n const end = run.finishedAt || (isActiveRun(run) ? now : run.updatedAt)\n return duration(Number(end) - Number(run.startedAt))\n}\n\nfunction remainingText(run: AutomationRun, now: number): string | undefined {\n const deadline = runDeadline(run)\n if (!deadline || !isActiveRun(run)) return undefined\n return duration(deadline - now)\n}\n\nfunction shutdownText(run: AutomationRun): string | undefined {\n if (run.status === 'timed_out' && run.result?.runtimeBudgetElapsed === true) return 'runtime budget elapsed'\n return run.error\n}\n\nfunction runLogTarget(run: AutomationRun, agents: Agent[], orchestrators: Orchestrator[]): { orchestratorId: string; session: string } | undefined {\n const agentId = run.targetAgentId || run.spawnedAgentId || str(run.meta?.runtimeAgentId)\n const agent = agentId ? agents.find((candidate) => candidate.id === agentId) : undefined\n const managed = agentId\n ? orchestrators.flatMap((orchestrator) => orchestrator.managedAgents.map((managedAgent) => ({ orchestrator, managedAgent })))\n .find(({ managedAgent }) => managedAgent.agentId === agentId)\n : undefined\n const session = str(run.meta?.terminalSession)\n || str(run.meta?.tmuxSession)\n || str(run.meta?.sessionName)\n || str(agent?.meta?.terminalSession)\n || str(agent?.meta?.tmuxSession)\n || str(agent?.meta?.sessionName)\n || managed?.managedAgent.terminalSession\n || managed?.managedAgent.tmuxSession\n || managed?.managedAgent.sessionName\n const orchestratorId = str(run.meta?.orchestratorId) || managed?.orchestrator.id || run.orchestratorId\n return session ? { orchestratorId, session } : undefined\n}\n\ntype TargetMode = 'existing_agent' | 'on_demand_agent'\n\ninterface AutomationForm {\n id?: string\n name: string\n description: string\n enabled: boolean\n schedule: string\n timezone: string\n orchestratorId: string\n targetMode: TargetMode\n provider: SpawnProvider\n model: string\n effort: string\n profile: string\n label: string\n tags: string\n capabilities: string\n ifNoMatch: 'fail' | 'spawn'\n cwd: string\n approvalMode: SpawnApprovalMode\n workspaceMode: WorkspaceMode\n keepAlive: boolean\n budgetMinutes: string\n warningMinutes: string\n warningMessage: string\n concurrencyPolicy: AutomationConcurrencyPolicy\n title: string\n body: string\n severity: TaskSeverity\n dedupeKey: string\n externalUrl: string\n}\n\nfunction blankForm(orchestratorId = ''): AutomationForm {\n return {\n name: '',\n description: '',\n enabled: true,\n schedule: '0 8 * * *',\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC',\n orchestratorId,\n targetMode: 'existing_agent',\n provider: 'codex',\n model: PROVIDER_CATALOG.codex.defaultModel || '',\n effort: '',\n profile: 'default-relay',\n label: '',\n tags: '',\n capabilities: '',\n ifNoMatch: 'fail',\n cwd: '',\n approvalMode: 'guarded',\n workspaceMode: 'inherit',\n keepAlive: false,\n budgetMinutes: '',\n warningMinutes: '',\n warningMessage: '',\n concurrencyPolicy: 'skip',\n title: '',\n body: '',\n severity: 'info',\n dedupeKey: '',\n externalUrl: '',\n }\n}\n\nfunction splitCsv(value: string): string[] | undefined {\n const items = value.split(',').map((item) => item.trim()).filter(Boolean)\n return items.length ? items : undefined\n}\n\nfunction automationToForm(automation: Automation): AutomationForm {\n const policy = automation.targetPolicy\n return {\n ...blankForm(automation.orchestratorId),\n id: automation.id,\n name: automation.name,\n description: automation.description || '',\n enabled: automation.enabled,\n schedule: automation.schedule,\n timezone: automation.timezone,\n orchestratorId: automation.orchestratorId,\n targetMode: policy.mode,\n provider: policy.mode === 'on_demand_agent' ? policy.provider : policy.selector.provider || 'codex',\n model: policy.mode === 'on_demand_agent' ? policy.model || PROVIDER_CATALOG[policy.provider].defaultModel || '' : '',\n effort: policy.mode === 'on_demand_agent' ? policy.effort || '' : '',\n profile: policy.mode === 'on_demand_agent' ? policy.profile || 'default-relay' : 'default-relay',\n label: policy.mode === 'existing_agent' ? policy.selector.label || '' : '',\n tags: policy.mode === 'existing_agent' ? (policy.selector.tags || []).join(', ') : '',\n capabilities: policy.mode === 'existing_agent' ? (policy.selector.capabilities || []).join(', ') : '',\n ifNoMatch: policy.mode === 'existing_agent' ? policy.ifNoMatch || 'fail' : 'fail',\n cwd: policy.mode === 'on_demand_agent' ? policy.cwd || '' : '',\n approvalMode: policy.mode === 'on_demand_agent' ? policy.approvalMode || 'guarded' : 'guarded',\n workspaceMode: policy.mode === 'on_demand_agent' ? policy.workspaceMode || 'inherit' : 'inherit',\n keepAlive: policy.mode === 'on_demand_agent' ? Boolean(policy.keepAlive) : false,\n budgetMinutes: policy.mode === 'on_demand_agent' && policy.runtimeBudget ? String(Math.round(policy.runtimeBudget.maxRuntimeMs / 60_000)) : '',\n warningMinutes: policy.mode === 'on_demand_agent' && policy.runtimeBudget?.warnAtMs !== undefined ? String(Math.round(policy.runtimeBudget.warnAtMs / 60_000)) : '',\n warningMessage: policy.mode === 'on_demand_agent' ? policy.runtimeBudget?.warningMessage || '' : '',\n concurrencyPolicy: automation.concurrencyPolicy,\n title: automation.taskTemplate.title,\n body: automation.taskTemplate.body,\n severity: automation.taskTemplate.severity || 'info',\n dedupeKey: automation.taskTemplate.dedupeKey || '',\n externalUrl: automation.taskTemplate.externalUrl || '',\n }\n}\n\nfunction formToInput(form: AutomationForm): CreateAutomationInput {\n const budgetMinutes = Number(form.budgetMinutes)\n const warningMinutes = Number(form.warningMinutes)\n const runtimeBudget = form.targetMode === 'on_demand_agent' && form.budgetMinutes.trim() && Number.isFinite(budgetMinutes)\n ? {\n maxRuntimeMs: Math.round(budgetMinutes * 60_000),\n warnAtMs: form.warningMinutes.trim() && Number.isFinite(warningMinutes) ? Math.round(warningMinutes * 60_000) : undefined,\n warningMessage: form.warningMessage.trim() || undefined,\n }\n : undefined\n const targetPolicy: AutomationTargetPolicy = form.targetMode === 'existing_agent'\n ? {\n mode: 'existing_agent',\n selector: {\n provider: form.provider || undefined,\n label: form.label.trim() || undefined,\n tags: splitCsv(form.tags),\n capabilities: splitCsv(form.capabilities),\n },\n ifNoMatch: form.ifNoMatch,\n }\n : {\n mode: 'on_demand_agent',\n provider: form.provider,\n model: form.model || undefined,\n effort: form.effort ? form.effort as SpawnEffort : undefined,\n profile: form.profile || undefined,\n cwd: form.cwd.trim() || undefined,\n approvalMode: form.approvalMode,\n workspaceMode: form.workspaceMode,\n keepAlive: form.keepAlive,\n runtimeBudget,\n }\n\n return {\n kind: 'scheduled_task',\n name: form.name.trim(),\n description: form.description.trim() || undefined,\n enabled: form.enabled,\n schedule: form.schedule.trim(),\n timezone: form.timezone.trim() || 'UTC',\n catchUpPolicy: 'skip',\n concurrencyPolicy: form.concurrencyPolicy,\n orchestratorId: form.orchestratorId,\n targetPolicy,\n taskTemplate: {\n title: form.title.trim(),\n body: form.body.trim(),\n severity: form.severity,\n dedupeKey: form.dedupeKey.trim() || undefined,\n externalUrl: form.externalUrl.trim() || undefined,\n },\n }\n}\n\nexport function AutomationView() {\n const now = useNow()\n const automations = useRelayStore((s) => s.automations)\n const automationRuns = useRelayStore((s) => s.automationRuns)\n const orchestrators = useRelayStore((s) => s.orchestrators)\n const agents = useRelayStore((s) => s.agents)\n const apiCall = useRelayStore((s) => s.apiCall)\n const showError = useRelayStore((s) => s.showError)\n const openConfirm = useRelayStore((s) => s.openConfirm)\n const fetchAutomations = useRelayStore((s) => s.fetchAutomations)\n const fetchAutomationRuns = useRelayStore((s) => s.fetchAutomationRuns)\n const fetchTasks = useRelayStore((s) => s.fetchTasks)\n const agentProfiles = useRelayStore((s) => s.agentProfiles)\n const [selectedId, setSelectedId] = useState<string>('')\n const [form, setForm] = useState<AutomationForm>(() => blankForm(orchestrators[0]?.id || ''))\n const [saving, setSaving] = useState(false)\n const [logRunId, setLogRunId] = useState<string | null>(null)\n\n const selected = automations.find((automation) => automation.id === selectedId)\n const onlineOrchestrators = orchestrators.filter((orchestrator) => orchestrator.status === 'online')\n const activeRuns = automationRuns.filter(isActiveRun)\n\n useEffect(() => {\n void Promise.all([fetchAutomations(), fetchAutomationRuns()])\n }, [])\n\n useEffect(() => {\n if (!form.orchestratorId && orchestrators[0]) {\n setForm((current) => ({ ...current, orchestratorId: orchestrators[0]!.id }))\n }\n }, [orchestrators])\n\n const runsByAutomation = useMemo(() => {\n const grouped = new Map<string, AutomationRun[]>()\n for (const run of automationRuns) {\n const list = grouped.get(run.automationId) || []\n list.push(run)\n grouped.set(run.automationId, list)\n }\n return grouped\n }, [automationRuns])\n\n function newAutomation() {\n setSelectedId('')\n setForm(blankForm(orchestrators[0]?.id || ''))\n }\n\n function editAutomation(automation: Automation) {\n setSelectedId(automation.id)\n setForm(automationToForm(automation))\n }\n\n async function saveAutomation() {\n setSaving(true)\n try {\n const input = formToInput(form)\n if (form.id) await apiCall('PATCH', '/automations/' + encodeURIComponent(form.id), input)\n else {\n const created = await apiCall<Automation>('POST', '/automations', input)\n setSelectedId(created.id)\n setForm(automationToForm(created))\n }\n await Promise.all([fetchAutomations(), fetchAutomationRuns()])\n } catch (e) {\n showError('Save Failed', (e as Error).message)\n } finally {\n setSaving(false)\n }\n }\n\n async function patchAutomation(automation: Automation, partial: Partial<Automation>) {\n try {\n await apiCall('PATCH', '/automations/' + encodeURIComponent(automation.id), partial)\n await fetchAutomations()\n } catch (e) {\n showError('Update Failed', (e as Error).message)\n }\n }\n\n async function runNow(automation: Automation) {\n try {\n await apiCall('POST', '/automations/' + encodeURIComponent(automation.id) + '/run')\n await Promise.all([fetchAutomationRuns(), fetchTasks()])\n } catch (e) {\n showError('Run Failed', (e as Error).message)\n }\n }\n\n function deleteAutomation(automation: Automation) {\n openConfirm('Delete Automation', `Delete automation \"${automation.name}\"?`, async () => {\n try {\n await apiCall('DELETE', '/automations/' + encodeURIComponent(automation.id))\n if (selectedId === automation.id) newAutomation()\n await Promise.all([fetchAutomations(), fetchAutomationRuns()])\n } catch (e) {\n showError('Delete Failed', (e as Error).message)\n }\n })\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <CalendarClock className=\"w-5 h-5 text-muted-foreground\" />\n <div>\n <h2 className=\"text-lg font-semibold\">Automation</h2>\n <p className=\"text-xs text-muted-foreground\">Scheduled tasks</p>\n </div>\n <div className=\"ml-auto flex flex-wrap items-center gap-2\">\n <Badge variant=\"outline\" className=\"text-xs\">{automations.length} schedules</Badge>\n <Badge variant=\"outline\" className=\"text-xs\">{activeRuns.length} running</Badge>\n <Button size=\"sm\" className=\"gap-1\" onClick={newAutomation}>\n <Plus className=\"w-3.5 h-3.5\" />\n New\n </Button>\n </div>\n </div>\n\n {activeRuns.length > 0 && (\n <ActiveRuns\n runs={activeRuns}\n automations={automations}\n agents={agents}\n orchestrators={orchestrators}\n now={now}\n logRunId={logRunId}\n onToggleLogs={(runId) => setLogRunId((current) => current === runId ? null : runId)}\n />\n )}\n\n <div className=\"grid gap-4 xl:grid-cols-[minmax(0,1fr)_420px]\">\n <div className=\"space-y-3\">\n {automations.length === 0 ? (\n <div className=\"py-16 text-center text-sm text-muted-foreground\">No automations</div>\n ) : automations.map((automation) => (\n <AutomationCard\n key={automation.id}\n automation={automation}\n runs={runsByAutomation.get(automation.id) || []}\n now={now}\n selected={selectedId === automation.id}\n onEdit={() => editAutomation(automation)}\n onRun={() => runNow(automation)}\n onToggle={() => patchAutomation(automation, { enabled: !automation.enabled })}\n onDelete={() => deleteAutomation(automation)}\n />\n ))}\n </div>\n\n <AutomationEditor\n form={form}\n agentProfiles={agentProfiles}\n selected={selected}\n saving={saving}\n orchestrators={onlineOrchestrators.length ? onlineOrchestrators : orchestrators}\n onChange={(patch) => setForm((current) => ({ ...current, ...patch }))}\n onSave={saveAutomation}\n />\n </div>\n\n <RunHistory\n runs={automationRuns}\n automations={automations}\n agents={agents}\n orchestrators={orchestrators}\n now={now}\n logRunId={logRunId}\n onToggleLogs={(runId) => setLogRunId((current) => current === runId ? null : runId)}\n />\n </div>\n )\n}\n\nfunction ActiveRuns({\n runs,\n automations,\n agents,\n orchestrators,\n now,\n logRunId,\n onToggleLogs,\n}: {\n runs: AutomationRun[]\n automations: Automation[]\n agents: Agent[]\n orchestrators: Orchestrator[]\n now: number\n logRunId: string | null\n onToggleLogs: (runId: string) => void\n}) {\n const names = new Map(automations.map((automation) => [automation.id, automation.name]))\n return (\n <div className=\"rounded-lg border border-border bg-card/40\">\n <div className=\"border-b border-border px-3 py-2 text-sm font-medium\">Active runs</div>\n <div className=\"divide-y divide-border\">\n {runs.map((run) => {\n const logTarget = runLogTarget(run, agents, orchestrators)\n const remaining = remainingText(run, now)\n return (\n <div key={run.id} className=\"space-y-3 px-3 py-3\">\n <div className=\"grid gap-3 text-xs md:grid-cols-[minmax(12rem,1fr)_7rem_7rem_7rem_8rem_auto] md:items-center\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-medium\">{names.get(run.automationId) || run.automationId.slice(0, 12)}</div>\n <div className=\"truncate font-mono text-muted-foreground\">{run.targetAgentId || run.spawnedAgentId || str(run.meta?.onDemandLabel) || '-'}</div>\n </div>\n <Badge variant=\"outline\" className={`border text-[10px] w-fit ${runStatusClass(run)}`}>{runStatusLabel(run)}</Badge>\n <div><span className=\"text-muted-foreground\">elapsed </span>{elapsedText(run, now)}</div>\n <div><span className=\"text-muted-foreground\">left </span>{remaining || '-'}</div>\n <div className=\"font-mono text-muted-foreground\">{run.taskId ? `task #${run.taskId}` : '-'}</div>\n {logTarget && (\n <Button type=\"button\" size=\"sm\" variant=\"outline\" className=\"h-7 gap-1 text-xs\" onClick={() => onToggleLogs(run.id)}>\n <FileText className=\"w-3 h-3\" />\n Logs\n </Button>\n )}\n </div>\n {logRunId === run.id && logTarget && <LogViewer orchestratorId={logTarget.orchestratorId} session={logTarget.session} />}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nfunction AutomationCard({\n automation,\n runs,\n now,\n selected,\n onEdit,\n onRun,\n onToggle,\n onDelete,\n}: {\n automation: Automation\n runs: AutomationRun[]\n now: number\n selected: boolean\n onEdit: () => void\n onRun: () => void\n onToggle: () => void\n onDelete: () => void\n}) {\n const latestRun = runs[0]\n const policy = automation.targetPolicy\n const target = policy.mode === 'existing_agent'\n ? [\n policy.selector.provider,\n policy.selector.label ? `label:${policy.selector.label}` : '',\n ...(policy.selector.tags || []).map((tag) => `tag:${tag}`),\n ...(policy.selector.capabilities || []).map((cap) => `cap:${cap}`),\n ].filter(Boolean).join(' ')\n : `${policy.provider} on demand`\n\n return (\n <Card className={`${selected ? 'ring-1 ring-primary/50' : ''} ${automation.enabled ? '' : 'opacity-60'}`}>\n <CardHeader className=\"px-4 py-3\">\n <div className=\"flex items-start gap-3\">\n <Switch checked={automation.enabled} onCheckedChange={onToggle} className=\"mt-0.5\" />\n <div className=\"min-w-0 flex-1\">\n <CardTitle className=\"text-sm truncate\">{automation.name}</CardTitle>\n <div className=\"mt-1 flex flex-wrap gap-1.5 text-xs text-muted-foreground\">\n <span className=\"font-mono\">{automation.schedule}</span>\n <span>{automation.timezone}</span>\n <span>{automation.orchestratorId}</span>\n <span className=\"truncate max-w-[28rem]\">{target}</span>\n </div>\n </div>\n <div className=\"flex gap-1\">\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Run now\" onClick={onRun}>\n <Play className=\"w-3.5 h-3.5\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Edit\" onClick={onEdit}>\n <Pencil className=\"w-3.5 h-3.5\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-red-400 hover:text-red-300\" title=\"Delete\" onClick={onDelete}>\n <Trash2 className=\"w-3.5 h-3.5\" />\n </Button>\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"px-4 pb-3 pt-0\">\n <div className=\"flex flex-wrap items-center gap-2 text-xs text-muted-foreground\">\n <span title={automation.nextRunAt ? fmtTime(automation.nextRunAt) : undefined}>\n next {automation.nextRunAt ? timeAgo(now, automation.nextRunAt) : 'disabled'}\n </span>\n {latestRun && (\n <Badge variant=\"outline\" className={`border text-[10px] ${runStatusClass(latestRun)}`}>\n {runStatusLabel(latestRun)}\n </Badge>\n )}\n {latestRun?.taskId && <span>task #{latestRun.taskId}</span>}\n {latestRun && runErrorText(latestRun) && <span className=\"text-red-400 truncate\">{runErrorText(latestRun)}</span>}\n </div>\n </CardContent>\n </Card>\n )\n}\n\nfunction AutomationEditor({\n form,\n selected,\n saving,\n orchestrators,\n agentProfiles,\n onChange,\n onSave,\n}: {\n form: AutomationForm\n selected?: Automation\n saving: boolean\n orchestrators: Array<{ id: string; hostname: string; providers: SpawnProvider[] }>\n agentProfiles: Array<{ name: string }>\n onChange: (patch: Partial<AutomationForm>) => void\n onSave: () => void\n}) {\n const selectedOrchestrator = orchestrators.find((orch) => orch.id === form.orchestratorId)\n const providers = selectedOrchestrator?.providers || []\n const models = PROVIDER_CATALOG[form.provider]?.models || []\n const selectedModel = models.find((model) => model.alias === form.model)\n const efforts = selectedModel?.efforts || []\n\n function selectOrchestrator(orchestratorId: string) {\n const orchestrator = orchestrators.find((orch) => orch.id === orchestratorId)\n const provider = orchestrator?.providers[0] || form.provider\n onChange({ orchestratorId, provider, model: PROVIDER_CATALOG[provider]?.defaultModel || '', effort: '' })\n }\n\n function selectProvider(provider: SpawnProvider) {\n onChange({ provider, model: PROVIDER_CATALOG[provider]?.defaultModel || '', effort: '' })\n }\n\n return (\n <div className=\"rounded-lg border border-border bg-card p-4 space-y-4 h-fit xl:sticky xl:top-4\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"text-sm font-semibold\">{selected ? 'Edit schedule' : 'New schedule'}</h3>\n <Badge variant={form.enabled ? 'default' : 'secondary'} className=\"ml-auto text-[10px]\">\n {form.enabled ? 'enabled' : 'disabled'}\n </Badge>\n </div>\n\n <div className=\"grid gap-3\">\n <Field label=\"Name\">\n <Input value={form.name} onChange={(e) => onChange({ name: e.target.value })} />\n </Field>\n <Field label=\"Description\">\n <Input value={form.description} onChange={(e) => onChange({ description: e.target.value })} />\n </Field>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Cron\">\n <Input value={form.schedule} onChange={(e) => onChange({ schedule: e.target.value })} className=\"font-mono\" />\n </Field>\n <Field label=\"Timezone\">\n <Input value={form.timezone} onChange={(e) => onChange({ timezone: e.target.value })} />\n </Field>\n </div>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Orchestrator\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.orchestratorId} onChange={(e) => selectOrchestrator(e.target.value)}>\n <option value=\"\">Select</option>\n {orchestrators.map((orch) => <option key={orch.id} value={orch.id}>{orch.hostname} ({orch.id})</option>)}\n </select>\n </Field>\n <Field label=\"Concurrency\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.concurrencyPolicy} onChange={(e) => onChange({ concurrencyPolicy: e.target.value as AutomationConcurrencyPolicy })}>\n <option value=\"skip\">skip</option>\n <option value=\"replace\">replace</option>\n <option value=\"queue\">queue</option>\n </select>\n </Field>\n </div>\n <label className=\"flex items-center justify-between rounded-md border border-border px-3 py-2\">\n <span className=\"text-sm\">Enabled</span>\n <Switch checked={form.enabled} onCheckedChange={(enabled) => onChange({ enabled })} />\n </label>\n </div>\n\n <div className=\"space-y-3\">\n <Label>Target</Label>\n <div className=\"grid grid-cols-2 gap-2\">\n <Button type=\"button\" variant={form.targetMode === 'existing_agent' ? 'default' : 'outline'} onClick={() => onChange({ targetMode: 'existing_agent' })}>\n Existing\n </Button>\n <Button type=\"button\" variant={form.targetMode === 'on_demand_agent' ? 'default' : 'outline'} onClick={() => onChange({ targetMode: 'on_demand_agent' })}>\n On demand\n </Button>\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Provider\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.provider} onChange={(e) => selectProvider(e.target.value as SpawnProvider)} disabled={!providers.length}>\n {!providers.length && <option value={form.provider}>No providers available</option>}\n {providers.map((provider) => <option key={provider} value={provider}>{provider}</option>)}\n </select>\n </Field>\n {form.targetMode === 'existing_agent' ? (\n <Field label=\"If no match\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.ifNoMatch} onChange={(e) => onChange({ ifNoMatch: e.target.value as 'fail' | 'spawn' })}>\n <option value=\"fail\">fail</option>\n <option value=\"spawn\">spawn</option>\n </select>\n </Field>\n ) : (\n <Field label=\"Approval\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.approvalMode} onChange={(e) => onChange({ approvalMode: e.target.value as SpawnApprovalMode })}>\n <option value=\"guarded\">guarded</option>\n <option value=\"read-only\">read-only</option>\n <option value=\"open\">open</option>\n </select>\n </Field>\n )}\n </div>\n\n {form.targetMode === 'on_demand_agent' && (\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Model\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.model} onChange={(e) => onChange({ model: e.target.value, effort: '' })}>\n {models.map((model) => <option key={model.alias} value={model.alias}>{model.label}</option>)}\n </select>\n </Field>\n <Field label=\"Effort\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.effort} onChange={(e) => onChange({ effort: e.target.value })} disabled={!efforts.length}>\n <option value=\"\">Default</option>\n {efforts.map((level) => <option key={level} value={level}>{level}</option>)}\n </select>\n </Field>\n <Field label=\"Agent profile\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.profile || 'default-relay'} onChange={(e) => onChange({ profile: e.target.value })}>\n {!agentProfiles.length && <option value=\"default-relay\">default-relay</option>}\n {agentProfiles.map((profile) => <option key={profile.name} value={profile.name}>{profile.name}</option>)}\n </select>\n </Field>\n <Field label=\"Workspace\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.workspaceMode} onChange={(e) => onChange({ workspaceMode: e.target.value as WorkspaceMode })}>\n <option value=\"inherit\">inherit (default → isolated worktree)</option>\n <option value=\"shared\">shared (run in the repo, commit to its branch)</option>\n <option value=\"isolated\">isolated (fresh git worktree per run)</option>\n </select>\n </Field>\n </div>\n )}\n\n {form.targetMode === 'existing_agent' ? (\n <div className=\"grid gap-3\">\n <Field label=\"Label\">\n <Input value={form.label} onChange={(e) => onChange({ label: e.target.value })} />\n </Field>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Tags\">\n <Input value={form.tags} onChange={(e) => onChange({ tags: e.target.value })} />\n </Field>\n <Field label=\"Capabilities\">\n <Input value={form.capabilities} onChange={(e) => onChange({ capabilities: e.target.value })} />\n </Field>\n </div>\n </div>\n ) : (\n <div className=\"grid gap-3\">\n <Field label=\"Cwd\">\n <Input value={form.cwd} onChange={(e) => onChange({ cwd: e.target.value })} />\n </Field>\n <label className=\"flex items-center justify-between rounded-md border border-border px-3 py-2\">\n <span className=\"text-sm\">Keep alive</span>\n <Switch checked={form.keepAlive} onCheckedChange={(keepAlive) => onChange({ keepAlive })} />\n </label>\n <div className=\"grid grid-cols-2 gap-3\">\n <Field label=\"Budget minutes\">\n <Input type=\"number\" min={1} step={1} value={form.budgetMinutes} onChange={(e) => onChange({ budgetMinutes: e.target.value })} />\n </Field>\n <Field label=\"Warning minute\">\n <Input type=\"number\" min={0} step={1} value={form.warningMinutes} onChange={(e) => onChange({ warningMinutes: e.target.value })} />\n </Field>\n </div>\n <Field label=\"Warning message\">\n <Textarea value={form.warningMessage} onChange={(e) => onChange({ warningMessage: e.target.value })} className=\"min-h-20\" />\n </Field>\n </div>\n )}\n </div>\n\n <div className=\"space-y-3\">\n <Label>Task</Label>\n <Field label=\"Title\">\n <Input value={form.title} onChange={(e) => onChange({ title: e.target.value })} />\n </Field>\n <Field label=\"Body\">\n <Textarea value={form.body} onChange={(e) => onChange({ body: e.target.value })} className=\"min-h-28\" />\n </Field>\n <div className=\"grid grid-cols-3 gap-3\">\n <Field label=\"Severity\">\n <select className=\"h-9 w-full rounded-md border border-input bg-background px-3 text-sm\" value={form.severity} onChange={(e) => onChange({ severity: e.target.value as TaskSeverity })}>\n <option value=\"info\">info</option>\n <option value=\"warning\">warning</option>\n <option value=\"critical\">critical</option>\n </select>\n </Field>\n <Field label=\"Dedupe key\">\n <Input value={form.dedupeKey} onChange={(e) => onChange({ dedupeKey: e.target.value })} />\n </Field>\n <Field label=\"External URL\">\n <Input value={form.externalUrl} onChange={(e) => onChange({ externalUrl: e.target.value })} />\n </Field>\n </div>\n </div>\n\n <Button className=\"w-full gap-2\" onClick={onSave} disabled={saving || !form.name || !form.schedule || !form.orchestratorId || !form.title || !form.body}>\n {saving ? <RotateCw className=\"w-4 h-4 animate-spin\" /> : <Save className=\"w-4 h-4\" />}\n Save\n </Button>\n </div>\n )\n}\n\nfunction Field({ label, children }: { label: string; children: ReactNode }) {\n return (\n <div className=\"space-y-1.5\">\n <Label className=\"text-xs text-muted-foreground\">{label}</Label>\n {children}\n </div>\n )\n}\n\nfunction RunHistory({\n runs,\n automations,\n agents,\n orchestrators,\n now,\n logRunId,\n onToggleLogs,\n}: {\n runs: AutomationRun[]\n automations: Automation[]\n agents: Agent[]\n orchestrators: Orchestrator[]\n now: number\n logRunId: string | null\n onToggleLogs: (runId: string) => void\n}) {\n const names = new Map(automations.map((automation) => [automation.id, automation.name]))\n return (\n <div className=\"space-y-2\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"text-sm font-semibold\">Runs</h3>\n <Badge variant=\"secondary\" className=\"text-[10px]\">{runs.length}</Badge>\n </div>\n <div className=\"rounded-lg border border-border overflow-x-auto\">\n <div className=\"grid grid-cols-[minmax(10rem,1fr)_8rem_8rem_7rem_7rem_5rem] gap-3 bg-muted/30 px-3 py-2 text-xs text-muted-foreground\">\n <span>Automation</span>\n <span>Status</span>\n <span>Agent</span>\n <span>Runtime</span>\n <span>Updated</span>\n <span>Logs</span>\n </div>\n {runs.length === 0 ? (\n <div className=\"px-3 py-10 text-center text-sm text-muted-foreground\">No runs</div>\n ) : runs.slice(0, 80).map((run) => {\n const logTarget = runLogTarget(run, agents, orchestrators)\n const remaining = remainingText(run, now)\n const shutdown = shutdownText(run)\n return (\n <div key={run.id} className=\"border-t border-border\">\n <div className=\"grid grid-cols-[minmax(10rem,1fr)_8rem_8rem_7rem_7rem_5rem] gap-3 px-3 py-2 text-xs items-center\">\n <div className=\"min-w-0\">\n <div className=\"truncate\">{names.get(run.automationId) || run.automationId.slice(0, 12)}</div>\n <div className=\"truncate text-muted-foreground\">\n {run.taskId ? `task #${run.taskId}` : 'no task'}\n {remaining ? ` · ${remaining} left` : ''}\n {shutdown ? ` · ${shutdown}` : ''}\n </div>\n </div>\n <Badge variant=\"outline\" className={`border text-[10px] w-fit ${runStatusClass(run)}`}>{runStatusLabel(run)}</Badge>\n <span className=\"truncate font-mono text-muted-foreground\">{run.targetAgentId || run.spawnedAgentId || '-'}</span>\n <span className=\"text-muted-foreground\">{elapsedText(run, now)}</span>\n <span className=\"text-muted-foreground\" title={fmtTime(run.updatedAt)}>{timeAgo(now, run.updatedAt)}</span>\n {logTarget ? (\n <Button type=\"button\" size=\"sm\" variant=\"ghost\" className=\"h-7 w-7 p-0\" title=\"Open logs\" onClick={() => onToggleLogs(run.id)}>\n <FileText className=\"w-3.5 h-3.5\" />\n </Button>\n ) : <span className=\"text-muted-foreground\">-</span>}\n </div>\n {logRunId === run.id && logTarget && (\n <div className=\"border-t border-border px-3 py-3\">\n <LogViewer orchestratorId={logTarget.orchestratorId} session={logTarget.session} />\n </div>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  var e=Object.freeze(JSON.parse(`{"colors":{"actionBar.toggledBackground":"#47526640","activityBar.activeBorder":"#e6b450","activityBar.background":"#0d1017","activityBar.border":"#1b1f29","activityBar.foreground":"#5a6378cc","activityBar.inactiveForeground":"#5a637899","activityBarBadge.background":"#e6b450","activityBarBadge.foreground":"#765b24","activityBarTop.activeBorder":"#e6b450","activityBarTop.foreground":"#697184","badge.background":"#e6b45033","badge.foreground":"#e6b450","button.background":"#e6b450","button.border":"#765b241a","button.foreground":"#765b24","button.hoverBackground":"#deae4d","button.secondaryBackground":"#5a637833","button.secondaryForeground":"#bfbdb6","button.secondaryHoverBackground":"#5a637880","button.separator":"#765b244d","chat.checkpointSeparator":"#5a6673","chat.editedFileForeground":"#73b8ff","chat.requestBackground":"#0d1017","chat.requestBorder":"#47526640","chat.requestBubbleBackground":"#47526633","chat.requestBubbleHoverBackground":"#47526640","chat.slashCommandBackground":"#39bae633","chat.slashCommandForeground":"#39bae6","commandCenter.activeBackground":"#47526640","commandCenter.activeBorder":"#47526600","commandCenter.activeForeground":"#5a6378","commandCenter.background":"#10141c","commandCenter.border":"#1b1f29","commandCenter.foreground":"#5a6378","commandCenter.inactiveBorder":"#1b1f29","debugConsoleInputIcon.foreground":"#e6b450","debugExceptionWidget.background":"#141821","debugExceptionWidget.border":"#1b1f29","debugIcon.breakpointDisabledForeground":"#f2966880","debugIcon.breakpointForeground":"#f29668","debugToolBar.background":"#141821","descriptionForeground":"#5a6378","diffEditor.diagonalFill":"#1b1f29","diffEditor.insertedTextBackground":"#70bf561f","diffEditor.removedTextBackground":"#f26d781f","disabledForeground":"#5a637880","dropdown.background":"#141821","dropdown.border":"#1b1f29","dropdown.foreground":"#5a6378","editor.background":"#10141c","editor.findMatchBackground":"#4c4126","editor.findMatchHighlightBackground":"#4c412680","editor.foreground":"#bfbdb6","editor.inactiveSelectionBackground":"#80b5ff26","editor.lineHighlightBackground":"#161a24","editor.rangeHighlightBackground":"#4c412633","editor.selectionBackground":"#3388ff40","editor.selectionHighlightBackground":"#70bf5626","editor.selectionHighlightBorder":"#70bf5600","editor.snippetTabstopHighlightBackground":"#70bf5633","editor.wordHighlightBackground":"#73b8ff14","editor.wordHighlightBorder":"#73b8ff80","editor.wordHighlightStrongBackground":"#70bf5614","editor.wordHighlightStrongBorder":"#70bf5680","editorBracketMatch.background":"#5a63784d","editorBracketMatch.border":"#5a63784d","editorCodeLens.foreground":"#5a6673","editorCursor.foreground":"#e6b450","editorError.foreground":"#d95757","editorGroup.background":"#141821","editorGroup.border":"#1b1f29","editorGroupHeader.noTabsBackground":"#0d1017","editorGroupHeader.tabsBackground":"#0d1017","editorGroupHeader.tabsBorder":"#1b1f29","editorGutter.addedBackground":"#70bf56","editorGutter.deletedBackground":"#f26d78","editorGutter.modifiedBackground":"#73b8ff","editorHoverWidget.background":"#141821","editorHoverWidget.border":"#1b1f29","editorIndentGuide.activeBackground":"#5a6378a1","editorIndentGuide.background":"#5a637842","editorInlayHint.foreground":"#bfbdb680","editorLineNumber.activeForeground":"#5a6378","editorLineNumber.foreground":"#5a6378a6","editorLink.activeForeground":"#e6b450","editorMarkerNavigation.background":"#141821","editorOverviewRuler.addedForeground":"#70bf56","editorOverviewRuler.border":"#1b1f29","editorOverviewRuler.bracketMatchForeground":"#5a6378b3","editorOverviewRuler.deletedForeground":"#f26d78","editorOverviewRuler.errorForeground":"#d95757","editorOverviewRuler.findMatchForeground":"#4c4126","editorOverviewRuler.modifiedForeground":"#73b8ff","editorOverviewRuler.warningForeground":"#e6b450","editorOverviewRuler.wordHighlightForeground":"#73b8ff66","editorOverviewRuler.wordHighlightStrongForeground":"#70bf5666","editorRuler.foreground":"#5a637842","editorStickyScroll.border":"#1b1f29","editorStickyScroll.shadow":"#00000080","editorStickyScrollHover.background":"#47526633","editorSuggestWidget.background":"#141821","editorSuggestWidget.border":"#1b1f29","editorSuggestWidget.highlightForeground":"#e6b450","editorSuggestWidget.selectedBackground":"#47526640","editorWarning.foreground":"#e6b450","editorWhitespace.foreground":"#5a6378a6","editorWidget.background":"#141821","editorWidget.border":"#1b1f29","editorWidget.resizeBorder":"#141821","errorForeground":"#d95757","extensionButton.prominentBackground":"#e6b450","extensionButton.prominentForeground":"#765b24","extensionButton.prominentHoverBackground":"#e2b14f","focusBorder":"#e6b450","foreground":"#5a6378","gitDecoration.conflictingResourceForeground":"","gitDecoration.deletedResourceForeground":"#f26d78","gitDecoration.ignoredResourceForeground":"#5a637880","gitDecoration.modifiedResourceForeground":"#73b8ff","gitDecoration.submoduleResourceForeground":"#d2a6ff","gitDecoration.untrackedResourceForeground":"#70bf56","icon.foreground":"#5a6378","inlineChat.background":"#141821","inlineChat.border":"#1b1f29","inlineChat.foreground":"#bfbdb6","inlineChat.shadow":"#00000080","inlineChatDiff.inserted":"#70bf5633","inlineChatDiff.removed":"#f26d7833","inlineChatInput.background":"#10141c","inlineChatInput.border":"#1b1f29","inlineChatInput.focusBorder":"#e6b450b3","inlineChatInput.placeholderForeground":"#5a637880","inlineEdit.gutterIndicator.background":"#1b1f29","inlineEdit.gutterIndicator.primaryBackground":"#e6b4501a","inlineEdit.gutterIndicator.primaryBorder":"#e6b450","inlineEdit.gutterIndicator.primaryForeground":"#e6b450","inlineEdit.gutterIndicator.secondaryBackground":"#5a63781a","inlineEdit.gutterIndicator.secondaryBorder":"#5a637880","inlineEdit.gutterIndicator.secondaryForeground":"#5a6378","inlineEdit.gutterIndicator.successfulBackground":"#70bf561a","inlineEdit.gutterIndicator.successfulBorder":"#70bf56","inlineEdit.gutterIndicator.successfulForeground":"#70bf56","inlineEdit.modifiedBackground":"#70bf561a","inlineEdit.modifiedBorder":"#70bf5680","inlineEdit.modifiedChangedLineBackground":"#70bf5626","inlineEdit.modifiedChangedTextBackground":"#70bf5640","inlineEdit.originalBackground":"#f26d781a","inlineEdit.originalBorder":"#f26d7880","inlineEdit.originalChangedLineBackground":"#f26d7826","inlineEdit.originalChangedTextBackground":"#f26d7840","input.background":"#10141c","input.border":"#5a637833","input.foreground":"#bfbdb6","input.placeholderForeground":"#5a637880","inputOption.activeBackground":"#e6b4501a","inputOption.activeBorder":"#e6b45033","inputOption.activeForeground":"#e6b450","inputOption.hoverBackground":"#5a637833","inputValidation.errorBackground":"#10141c","inputValidation.errorBorder":"#d95757","inputValidation.infoBackground":"#0d1017","inputValidation.infoBorder":"#39bae6","inputValidation.warningBackground":"#0d1017","inputValidation.warningBorder":"#ffb454","keybindingLabel.background":"#5a63781a","keybindingLabel.border":"#bfbdb61a","keybindingLabel.bottomBorder":"#bfbdb61a","keybindingLabel.foreground":"#bfbdb6","list.activeSelectionBackground":"#47526640","list.activeSelectionForeground":"#bfbdb6","list.deemphasizedForeground":"#d95757","list.errorForeground":"#d95757","list.filterMatchBackground":"#43392180","list.filterMatchBorder":"#4c412680","list.focusBackground":"#47526640","list.focusForeground":"#bfbdb6","list.focusOutline":"#47526640","list.highlightForeground":"#e6b450","list.hoverBackground":"#47526640","list.inactiveSelectionBackground":"#47526633","list.inactiveSelectionForeground":"#5a6378","list.invalidItemForeground":"#5a63784d","listFilterWidget.background":"#141821","listFilterWidget.noMatchesOutline":"#d95757","listFilterWidget.outline":"#e6b450","menu.background":"#0f131a","menu.border":"#1b1f29","menu.foreground":"#5a6378","menu.selectionBackground":"#47526633","menu.selectionBorder":"#47526640","menu.separatorBackground":"#1b1f29","minimap.background":"#10141c","minimap.errorHighlight":"#d95757","minimap.findMatchHighlight":"#4c4126","minimap.selectionHighlight":"#3388ff40","minimapGutter.addedBackground":"#70bf56","minimapGutter.deletedBackground":"#f26d78","minimapGutter.modifiedBackground":"#73b8ff","multiDiffEditor.background":"#0d1017","multiDiffEditor.border":"#1b1f29","multiDiffEditor.headerBackground":"#141821","panel.background":"#0d1017","panel.border":"#1b1f29","panelStickyScroll.border":"#1b1f29","panelStickyScroll.shadow":"#00000080","panelTitle.activeBorder":"#e6b450","panelTitle.activeForeground":"#bfbdb6","panelTitle.inactiveForeground":"#5a6378","peekView.border":"#47526640","peekViewEditor.background":"#141821","peekViewEditor.matchHighlightBackground":"#4c412680","peekViewEditor.matchHighlightBorder":"#43392180","peekViewResult.background":"#141821","peekViewResult.fileForeground":"#bfbdb6","peekViewResult.lineForeground":"#5a6378","peekViewResult.matchHighlightBackground":"#4c412680","peekViewResult.selectionBackground":"#47526640","peekViewTitle.background":"#47526640","peekViewTitleDescription.foreground":"#5a6378","peekViewTitleLabel.foreground":"#bfbdb6","pickerGroup.border":"#1b1f29","pickerGroup.foreground":"#5a637880","profileBadge.background":"#e6b450","profileBadge.foreground":"#765b24","progressBar.background":"#e6b450","scrollbar.shadow":"#1b1f2900","scrollbarSlider.activeBackground":"#5a6378b3","scrollbarSlider.background":"#5a637866","scrollbarSlider.hoverBackground":"#5a637899","selection.background":"#3388ff40","settings.headerForeground":"#bfbdb6","settings.modifiedItemIndicator":"#73b8ff","sideBar.background":"#0d1017","sideBar.border":"#1b1f29","sideBarSectionHeader.background":"#0d1017","sideBarSectionHeader.border":"#1b1f29","sideBarSectionHeader.foreground":"#5a6378","sideBarStickyScroll.border":"#1b1f29","sideBarStickyScroll.shadow":"#00000080","sideBarTitle.foreground":"#5a6378","statusBar.background":"#0d1017","statusBar.border":"#1b1f29","statusBar.debuggingBackground":"#f29668","statusBar.debuggingForeground":"#10141c","statusBar.foreground":"#5a6378","statusBar.noFolderBackground":"#141821","statusBarItem.activeBackground":"#5a637833","statusBarItem.hoverBackground":"#5a637833","statusBarItem.prominentBackground":"#1b1f29","statusBarItem.prominentHoverBackground":"#00000030","statusBarItem.remoteBackground":"#e6b450","statusBarItem.remoteForeground":"#765b24","symbolIcon.arrayForeground":"#59c2ff","symbolIcon.booleanForeground":"#d2a6ff","symbolIcon.classForeground":"#59c2ff","symbolIcon.colorForeground":"#e6c08a","symbolIcon.constantForeground":"#d2a6ff","symbolIcon.constructorForeground":"#ffb454","symbolIcon.enumeratorForeground":"#59c2ff","symbolIcon.enumeratorMemberForeground":"#d2a6ff","symbolIcon.eventForeground":"#e6c08a","symbolIcon.fieldForeground":"#f07178","symbolIcon.fileForeground":"#5a6378","symbolIcon.folderForeground":"#5a6378","symbolIcon.functionForeground":"#ffb454","symbolIcon.interfaceForeground":"#59c2ff","symbolIcon.keyForeground":"#39bae6","symbolIcon.keywordForeground":"#ff8f40","symbolIcon.methodForeground":"#ffb454","symbolIcon.moduleForeground":"#aad94c","symbolIcon.namespaceForeground":"#aad94c","symbolIcon.nullForeground":"#d2a6ff","symbolIcon.numberForeground":"#d2a6ff","symbolIcon.objectForeground":"#59c2ff","symbolIcon.operatorForeground":"#f29668","symbolIcon.packageForeground":"#aad94c","symbolIcon.propertyForeground":"#f07178","symbolIcon.referenceForeground":"#59c2ff","symbolIcon.snippetForeground":"#e6c08a","symbolIcon.stringForeground":"#aad94c","symbolIcon.structForeground":"#59c2ff","symbolIcon.textForeground":"#bfbdb6","symbolIcon.typeParameterForeground":"#59c2ff","symbolIcon.unitForeground":"#d2a6ff","symbolIcon.variableForeground":"#bfbdb6","tab.activeBackground":"#10141c","tab.activeBorder":"#10141c","tab.activeBorderTop":"#e6b450","tab.activeForeground":"#bfbdb6","tab.border":"#1b1f29","tab.inactiveBackground":"#0d1017","tab.inactiveForeground":"#5a6378","tab.unfocusedActiveBorderTop":"#5a6378","tab.unfocusedActiveForeground":"#5a6378","tab.unfocusedInactiveForeground":"#5a6378","terminal.ansiBlack":"#1b1f29","terminal.ansiBlue":"#4fbfff","terminal.ansiBrightBlack":"#686868","terminal.ansiBrightBlue":"#59c2ff","terminal.ansiBrightCyan":"#95e6cb","terminal.ansiBrightGreen":"#aad94c","terminal.ansiBrightMagenta":"#d2a6ff","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#ffb454","terminal.ansiCyan":"#93e2c8","terminal.ansiGreen":"#70bf56","terminal.ansiMagenta":"#d0a1ff","terminal.ansiRed":"#f06b73","terminal.ansiWhite":"#c7c7c7","terminal.ansiYellow":"#fdb04c","terminal.background":"#0d1017","terminal.foreground":"#bfbdb6","terminalCommandGuide.foreground":"#5a63784d","terminalStickyScroll.border":"#1b1f29","terminalStickyScroll.shadow":"#00000080","terminalStickyScrollHover.background":"#47526633","textBlockQuote.background":"#141821","textLink.activeForeground":"#e6b450","textLink.foreground":"#e6b450","textPreformat.foreground":"#bfbdb6","titleBar.activeBackground":"#0d1017","titleBar.activeForeground":"#5a6378","titleBar.border":"#1b1f29","titleBar.inactiveBackground":"#0d1017","titleBar.inactiveForeground":"#5a6378b3","toolbar.hoverBackground":"#47526640","tree.indentGuidesStroke":"#5a6378a1","walkThrough.embeddedEditorBackground":"#141821","welcomePage.buttonBackground":"#e6b45066","welcomePage.progress.background":"#161a24","welcomePage.tileBackground":"#0d1017","welcomePage.tileShadow":"#00000080","widget.border":"#1b1f29","widget.shadow":"#00000080"},"displayName":"Ayu Dark","name":"ayu-dark","semanticHighlighting":true,"semanticTokenColors":{"class":"#59c2ff","class.defaultLibrary":"#39bae6","comment":"#5a6673","enum":"#59c2ff","enum.defaultLibrary":"#39bae6","enumMember":"#95e6cb","event":"#f29668","function":"#ffb454","interface":"#39bae6","interface.defaultLibrary":{"foreground":"#39bae6","italic":true},"keyword":"#ff8f40","macro":"#e6c08a","method":"#ffb454","number":"#d2a6ff","operator":"#f29668","regexp":"#95e6cb","string":"#aad94c","struct":"#59c2ff","struct.defaultLibrary":"#39bae6","type":"#59c2ff","type.defaultLibrary":"#39bae6"},"tokenColors":[{"settings":{"background":"#0d1017","foreground":"#bfbdb6"}},{"scope":["comment"],"settings":{"fontStyle":"italic","foreground":"#5a6673"}},{"scope":["string","constant.other.symbol"],"settings":{"foreground":"#aad94c"}},{"scope":["string.regexp","constant.character","constant.other"],"settings":{"foreground":"#95e6cb"}},{"scope":["constant.numeric"],"settings":{"foreground":"#d2a6ff"}},{"scope":["constant.language"],"settings":{"foreground":"#d2a6ff"}},{"scope":["variable","variable.parameter.function-call"],"settings":{"foreground":"#bfbdb6"}},{"scope":["variable.member"],"settings":{"foreground":"#f07178"}},{"scope":["variable.language"],"settings":{"fontStyle":"italic","foreground":"#39bae6"}},{"scope":["storage"],"settings":{"foreground":"#ff8f40"}},{"scope":["keyword"],"settings":{"foreground":"#ff8f40"}},{"scope":["keyword.operator"],"settings":{"foreground":"#f29668"}},{"scope":["punctuation.separator","punctuation.terminator"],"settings":{"foreground":"#bfbdb6b3"}},{"scope":["punctuation.section"],"settings":{"foreground":"#bfbdb6"}},{"scope":["punctuation.accessor"],"settings":{"foreground":"#f29668"}},{"scope":["punctuation.definition.template-expression"],"settings":{"foreground":"#ff8f40"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#ff8f40"}},{"scope":["meta.embedded"],"settings":{"foreground":"#bfbdb6"}},{"scope":["source.java storage.type","source.haskell storage.type","source.c storage.type"],"settings":{"foreground":"#59c2ff"}},{"scope":["entity.other.inherited-class"],"settings":{"foreground":"#39bae6"}},{"scope":["storage.type.function"],"settings":{"foreground":"#ff8f40"}},{"scope":["source.java storage.type.primitive"],"settings":{"foreground":"#39bae6"}},{"scope":["entity.name.function"],"settings":{"foreground":"#ffb454"}},{"scope":["variable.parameter","meta.parameter"],"settings":{"foreground":"#d2a6ff"}},{"scope":["variable.function","variable.annotation","meta.function-call.generic","support.function.go"],"settings":{"foreground":"#ffb454"}},{"scope":["support.function","support.macro"],"settings":{"foreground":"#f07178"}},{"scope":["entity.name.import","entity.name.package"],"settings":{"foreground":"#aad94c"}},{"scope":["entity.name"],"settings":{"foreground":"#59c2ff"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#39bae6"}},{"scope":["support.class.component"],"settings":{"foreground":"#59c2ff"}},{"scope":["punctuation.definition.tag.end","punctuation.definition.tag.begin","punctuation.definition.tag"],"settings":{"foreground":"#39bae680"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#ffb454"}},{"scope":["entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#95e6cb"}},{"scope":["support.constant"],"settings":{"fontStyle":"italic","foreground":"#f29668"}},{"scope":["support.type","support.class","source.go storage.type"],"settings":{"foreground":"#39bae6"}},{"scope":["meta.decorator variable.other","meta.decorator punctuation.decorator","storage.type.annotation","entity.name.function.decorator"],"settings":{"foreground":"#e6c08a"}},{"scope":["invalid"],"settings":{"foreground":"#d95757"}},{"scope":["meta.diff","meta.diff.header"],"settings":{"foreground":"#c594c5"}},{"scope":["source.ruby variable.other.readwrite"],"settings":{"foreground":"#ffb454"}},{"scope":["source.css entity.name.tag","source.sass entity.name.tag","source.scss entity.name.tag","source.less entity.name.tag","source.stylus entity.name.tag"],"settings":{"foreground":"#59c2ff"}},{"scope":["source.css support.type","source.sass support.type","source.scss support.type","source.less support.type","source.stylus support.type"],"settings":{"foreground":"#5a6673"}},{"scope":["support.type.property-name"],"settings":{"fontStyle":"normal","foreground":"#39bae6"}},{"scope":["constant.numeric.line-number.find-in-files - match"],"settings":{"foreground":"#5a6673"}},{"scope":["constant.numeric.line-number.match"],"settings":{"foreground":"#ff8f40"}},{"scope":["entity.name.filename.find-in-files"],"settings":{"foreground":"#aad94c"}},{"scope":["message.error"],"settings":{"foreground":"#d95757"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#aad94c"}},{"scope":["markup.underline.link","string.other.link"],"settings":{"foreground":"#39bae6"}},{"scope":["markup.italic","emphasis"],"settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":["markup.bold"],"settings":{"fontStyle":"bold","foreground":"#f07178"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.italic markup.bold","markup.bold markup.italic"],"settings":{"fontStyle":"bold italic"}},{"scope":["markup.raw"],"settings":{"background":"#bfbdb605"}},{"scope":["markup.raw.inline"],"settings":{"background":"#bfbdb60f"}},{"scope":["meta.separator"],"settings":{"background":"#bfbdb60f","fontStyle":"bold","foreground":"#5a6673"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#95e6cb"}},{"scope":["markup.list punctuation.definition.list.begin"],"settings":{"foreground":"#ffb454"}},{"scope":["markup.inserted"],"settings":{"foreground":"#70bf56"}},{"scope":["markup.changed"],"settings":{"foreground":"#73b8ff"}},{"scope":["markup.deleted"],"settings":{"foreground":"#f26d78"}},{"scope":["markup.strike"],"settings":{"foreground":"#e6c08a"}},{"scope":["markup.strong"],"settings":{"fontStyle":"bold"}},{"scope":["markup.table"],"settings":{"background":"#bfbdb60f","foreground":"#39bae6"}},{"scope":["text.html.markdown markup.inline.raw"],"settings":{"foreground":"#f29668"}},{"scope":["text.html.markdown meta.dummy.line-break"],"settings":{"background":"#5a6673","foreground":"#5a6673"}},{"scope":["punctuation.definition.markdown"],"settings":{"background":"#bfbdb6","foreground":"#5a6673"}}],"type":"dark"}`));export{e as default};
2
- //# sourceMappingURL=ayu-dark-C26og0gq.js.map
2
+ //# sourceMappingURL=ayu-dark-DNAy_9St.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ayu-dark-C26og0gq.js","names":[],"sources":["../../dashboard/node_modules/@shikijs/themes/dist/ayu-dark.mjs"],"sourcesContent":["/* Theme: ayu-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#47526640\\\",\\\"activityBar.activeBorder\\\":\\\"#e6b450\\\",\\\"activityBar.background\\\":\\\"#0d1017\\\",\\\"activityBar.border\\\":\\\"#1b1f29\\\",\\\"activityBar.foreground\\\":\\\"#5a6378cc\\\",\\\"activityBar.inactiveForeground\\\":\\\"#5a637899\\\",\\\"activityBarBadge.background\\\":\\\"#e6b450\\\",\\\"activityBarBadge.foreground\\\":\\\"#765b24\\\",\\\"activityBarTop.activeBorder\\\":\\\"#e6b450\\\",\\\"activityBarTop.foreground\\\":\\\"#697184\\\",\\\"badge.background\\\":\\\"#e6b45033\\\",\\\"badge.foreground\\\":\\\"#e6b450\\\",\\\"button.background\\\":\\\"#e6b450\\\",\\\"button.border\\\":\\\"#765b241a\\\",\\\"button.foreground\\\":\\\"#765b24\\\",\\\"button.hoverBackground\\\":\\\"#deae4d\\\",\\\"button.secondaryBackground\\\":\\\"#5a637833\\\",\\\"button.secondaryForeground\\\":\\\"#bfbdb6\\\",\\\"button.secondaryHoverBackground\\\":\\\"#5a637880\\\",\\\"button.separator\\\":\\\"#765b244d\\\",\\\"chat.checkpointSeparator\\\":\\\"#5a6673\\\",\\\"chat.editedFileForeground\\\":\\\"#73b8ff\\\",\\\"chat.requestBackground\\\":\\\"#0d1017\\\",\\\"chat.requestBorder\\\":\\\"#47526640\\\",\\\"chat.requestBubbleBackground\\\":\\\"#47526633\\\",\\\"chat.requestBubbleHoverBackground\\\":\\\"#47526640\\\",\\\"chat.slashCommandBackground\\\":\\\"#39bae633\\\",\\\"chat.slashCommandForeground\\\":\\\"#39bae6\\\",\\\"commandCenter.activeBackground\\\":\\\"#47526640\\\",\\\"commandCenter.activeBorder\\\":\\\"#47526600\\\",\\\"commandCenter.activeForeground\\\":\\\"#5a6378\\\",\\\"commandCenter.background\\\":\\\"#10141c\\\",\\\"commandCenter.border\\\":\\\"#1b1f29\\\",\\\"commandCenter.foreground\\\":\\\"#5a6378\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#1b1f29\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#e6b450\\\",\\\"debugExceptionWidget.background\\\":\\\"#141821\\\",\\\"debugExceptionWidget.border\\\":\\\"#1b1f29\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f2966880\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f29668\\\",\\\"debugToolBar.background\\\":\\\"#141821\\\",\\\"descriptionForeground\\\":\\\"#5a6378\\\",\\\"diffEditor.diagonalFill\\\":\\\"#1b1f29\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#70bf561f\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f26d781f\\\",\\\"disabledForeground\\\":\\\"#5a637880\\\",\\\"dropdown.background\\\":\\\"#141821\\\",\\\"dropdown.border\\\":\\\"#1b1f29\\\",\\\"dropdown.foreground\\\":\\\"#5a6378\\\",\\\"editor.background\\\":\\\"#10141c\\\",\\\"editor.findMatchBackground\\\":\\\"#4c4126\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#4c412680\\\",\\\"editor.foreground\\\":\\\"#bfbdb6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#80b5ff26\\\",\\\"editor.lineHighlightBackground\\\":\\\"#161a24\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#4c412633\\\",\\\"editor.selectionBackground\\\":\\\"#3388ff40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#70bf5626\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#70bf5600\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#70bf5633\\\",\\\"editor.wordHighlightBackground\\\":\\\"#73b8ff14\\\",\\\"editor.wordHighlightBorder\\\":\\\"#73b8ff80\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#70bf5614\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#70bf5680\\\",\\\"editorBracketMatch.background\\\":\\\"#5a63784d\\\",\\\"editorBracketMatch.border\\\":\\\"#5a63784d\\\",\\\"editorCodeLens.foreground\\\":\\\"#5a6673\\\",\\\"editorCursor.foreground\\\":\\\"#e6b450\\\",\\\"editorError.foreground\\\":\\\"#d95757\\\",\\\"editorGroup.background\\\":\\\"#141821\\\",\\\"editorGroup.border\\\":\\\"#1b1f29\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0d1017\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0d1017\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#1b1f29\\\",\\\"editorGutter.addedBackground\\\":\\\"#70bf56\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f26d78\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#73b8ff\\\",\\\"editorHoverWidget.background\\\":\\\"#141821\\\",\\\"editorHoverWidget.border\\\":\\\"#1b1f29\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#5a6378a1\\\",\\\"editorIndentGuide.background\\\":\\\"#5a637842\\\",\\\"editorInlayHint.foreground\\\":\\\"#bfbdb680\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#5a6378\\\",\\\"editorLineNumber.foreground\\\":\\\"#5a6378a6\\\",\\\"editorLink.activeForeground\\\":\\\"#e6b450\\\",\\\"editorMarkerNavigation.background\\\":\\\"#141821\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#70bf56\\\",\\\"editorOverviewRuler.border\\\":\\\"#1b1f29\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#5a6378b3\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#f26d78\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#d95757\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#4c4126\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#73b8ff\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#e6b450\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#73b8ff66\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#70bf5666\\\",\\\"editorRuler.foreground\\\":\\\"#5a637842\\\",\\\"editorStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"editorStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"editorStickyScrollHover.background\\\":\\\"#47526633\\\",\\\"editorSuggestWidget.background\\\":\\\"#141821\\\",\\\"editorSuggestWidget.border\\\":\\\"#1b1f29\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#e6b450\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#47526640\\\",\\\"editorWarning.foreground\\\":\\\"#e6b450\\\",\\\"editorWhitespace.foreground\\\":\\\"#5a6378a6\\\",\\\"editorWidget.background\\\":\\\"#141821\\\",\\\"editorWidget.border\\\":\\\"#1b1f29\\\",\\\"editorWidget.resizeBorder\\\":\\\"#141821\\\",\\\"errorForeground\\\":\\\"#d95757\\\",\\\"extensionButton.prominentBackground\\\":\\\"#e6b450\\\",\\\"extensionButton.prominentForeground\\\":\\\"#765b24\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#e2b14f\\\",\\\"focusBorder\\\":\\\"#e6b450\\\",\\\"foreground\\\":\\\"#5a6378\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f26d78\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#5a637880\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#73b8ff\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#d2a6ff\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#70bf56\\\",\\\"icon.foreground\\\":\\\"#5a6378\\\",\\\"inlineChat.background\\\":\\\"#141821\\\",\\\"inlineChat.border\\\":\\\"#1b1f29\\\",\\\"inlineChat.foreground\\\":\\\"#bfbdb6\\\",\\\"inlineChat.shadow\\\":\\\"#00000080\\\",\\\"inlineChatDiff.inserted\\\":\\\"#70bf5633\\\",\\\"inlineChatDiff.removed\\\":\\\"#f26d7833\\\",\\\"inlineChatInput.background\\\":\\\"#10141c\\\",\\\"inlineChatInput.border\\\":\\\"#1b1f29\\\",\\\"inlineChatInput.focusBorder\\\":\\\"#e6b450b3\\\",\\\"inlineChatInput.placeholderForeground\\\":\\\"#5a637880\\\",\\\"inlineEdit.gutterIndicator.background\\\":\\\"#1b1f29\\\",\\\"inlineEdit.gutterIndicator.primaryBackground\\\":\\\"#e6b4501a\\\",\\\"inlineEdit.gutterIndicator.primaryBorder\\\":\\\"#e6b450\\\",\\\"inlineEdit.gutterIndicator.primaryForeground\\\":\\\"#e6b450\\\",\\\"inlineEdit.gutterIndicator.secondaryBackground\\\":\\\"#5a63781a\\\",\\\"inlineEdit.gutterIndicator.secondaryBorder\\\":\\\"#5a637880\\\",\\\"inlineEdit.gutterIndicator.secondaryForeground\\\":\\\"#5a6378\\\",\\\"inlineEdit.gutterIndicator.successfulBackground\\\":\\\"#70bf561a\\\",\\\"inlineEdit.gutterIndicator.successfulBorder\\\":\\\"#70bf56\\\",\\\"inlineEdit.gutterIndicator.successfulForeground\\\":\\\"#70bf56\\\",\\\"inlineEdit.modifiedBackground\\\":\\\"#70bf561a\\\",\\\"inlineEdit.modifiedBorder\\\":\\\"#70bf5680\\\",\\\"inlineEdit.modifiedChangedLineBackground\\\":\\\"#70bf5626\\\",\\\"inlineEdit.modifiedChangedTextBackground\\\":\\\"#70bf5640\\\",\\\"inlineEdit.originalBackground\\\":\\\"#f26d781a\\\",\\\"inlineEdit.originalBorder\\\":\\\"#f26d7880\\\",\\\"inlineEdit.originalChangedLineBackground\\\":\\\"#f26d7826\\\",\\\"inlineEdit.originalChangedTextBackground\\\":\\\"#f26d7840\\\",\\\"input.background\\\":\\\"#10141c\\\",\\\"input.border\\\":\\\"#5a637833\\\",\\\"input.foreground\\\":\\\"#bfbdb6\\\",\\\"input.placeholderForeground\\\":\\\"#5a637880\\\",\\\"inputOption.activeBackground\\\":\\\"#e6b4501a\\\",\\\"inputOption.activeBorder\\\":\\\"#e6b45033\\\",\\\"inputOption.activeForeground\\\":\\\"#e6b450\\\",\\\"inputOption.hoverBackground\\\":\\\"#5a637833\\\",\\\"inputValidation.errorBackground\\\":\\\"#10141c\\\",\\\"inputValidation.errorBorder\\\":\\\"#d95757\\\",\\\"inputValidation.infoBackground\\\":\\\"#0d1017\\\",\\\"inputValidation.infoBorder\\\":\\\"#39bae6\\\",\\\"inputValidation.warningBackground\\\":\\\"#0d1017\\\",\\\"inputValidation.warningBorder\\\":\\\"#ffb454\\\",\\\"keybindingLabel.background\\\":\\\"#5a63781a\\\",\\\"keybindingLabel.border\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"list.activeSelectionBackground\\\":\\\"#47526640\\\",\\\"list.activeSelectionForeground\\\":\\\"#bfbdb6\\\",\\\"list.deemphasizedForeground\\\":\\\"#d95757\\\",\\\"list.errorForeground\\\":\\\"#d95757\\\",\\\"list.filterMatchBackground\\\":\\\"#43392180\\\",\\\"list.filterMatchBorder\\\":\\\"#4c412680\\\",\\\"list.focusBackground\\\":\\\"#47526640\\\",\\\"list.focusForeground\\\":\\\"#bfbdb6\\\",\\\"list.focusOutline\\\":\\\"#47526640\\\",\\\"list.highlightForeground\\\":\\\"#e6b450\\\",\\\"list.hoverBackground\\\":\\\"#47526640\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#47526633\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#5a6378\\\",\\\"list.invalidItemForeground\\\":\\\"#5a63784d\\\",\\\"listFilterWidget.background\\\":\\\"#141821\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d95757\\\",\\\"listFilterWidget.outline\\\":\\\"#e6b450\\\",\\\"menu.background\\\":\\\"#0f131a\\\",\\\"menu.border\\\":\\\"#1b1f29\\\",\\\"menu.foreground\\\":\\\"#5a6378\\\",\\\"menu.selectionBackground\\\":\\\"#47526633\\\",\\\"menu.selectionBorder\\\":\\\"#47526640\\\",\\\"menu.separatorBackground\\\":\\\"#1b1f29\\\",\\\"minimap.background\\\":\\\"#10141c\\\",\\\"minimap.errorHighlight\\\":\\\"#d95757\\\",\\\"minimap.findMatchHighlight\\\":\\\"#4c4126\\\",\\\"minimap.selectionHighlight\\\":\\\"#3388ff40\\\",\\\"minimapGutter.addedBackground\\\":\\\"#70bf56\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f26d78\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#73b8ff\\\",\\\"multiDiffEditor.background\\\":\\\"#0d1017\\\",\\\"multiDiffEditor.border\\\":\\\"#1b1f29\\\",\\\"multiDiffEditor.headerBackground\\\":\\\"#141821\\\",\\\"panel.background\\\":\\\"#0d1017\\\",\\\"panel.border\\\":\\\"#1b1f29\\\",\\\"panelStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"panelStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"panelTitle.activeBorder\\\":\\\"#e6b450\\\",\\\"panelTitle.activeForeground\\\":\\\"#bfbdb6\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#5a6378\\\",\\\"peekView.border\\\":\\\"#47526640\\\",\\\"peekViewEditor.background\\\":\\\"#141821\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#4c412680\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#43392180\\\",\\\"peekViewResult.background\\\":\\\"#141821\\\",\\\"peekViewResult.fileForeground\\\":\\\"#bfbdb6\\\",\\\"peekViewResult.lineForeground\\\":\\\"#5a6378\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#4c412680\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#47526640\\\",\\\"peekViewTitle.background\\\":\\\"#47526640\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#5a6378\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"pickerGroup.border\\\":\\\"#1b1f29\\\",\\\"pickerGroup.foreground\\\":\\\"#5a637880\\\",\\\"profileBadge.background\\\":\\\"#e6b450\\\",\\\"profileBadge.foreground\\\":\\\"#765b24\\\",\\\"progressBar.background\\\":\\\"#e6b450\\\",\\\"scrollbar.shadow\\\":\\\"#1b1f2900\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#5a6378b3\\\",\\\"scrollbarSlider.background\\\":\\\"#5a637866\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#5a637899\\\",\\\"selection.background\\\":\\\"#3388ff40\\\",\\\"settings.headerForeground\\\":\\\"#bfbdb6\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#73b8ff\\\",\\\"sideBar.background\\\":\\\"#0d1017\\\",\\\"sideBar.border\\\":\\\"#1b1f29\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0d1017\\\",\\\"sideBarSectionHeader.border\\\":\\\"#1b1f29\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#5a6378\\\",\\\"sideBarStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"sideBarStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"sideBarTitle.foreground\\\":\\\"#5a6378\\\",\\\"statusBar.background\\\":\\\"#0d1017\\\",\\\"statusBar.border\\\":\\\"#1b1f29\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f29668\\\",\\\"statusBar.debuggingForeground\\\":\\\"#10141c\\\",\\\"statusBar.foreground\\\":\\\"#5a6378\\\",\\\"statusBar.noFolderBackground\\\":\\\"#141821\\\",\\\"statusBarItem.activeBackground\\\":\\\"#5a637833\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#5a637833\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#1b1f29\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#00000030\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#e6b450\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#765b24\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.classForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.colorForeground\\\":\\\"#e6c08a\\\",\\\"symbolIcon.constantForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#ffb454\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#e6c08a\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#f07178\\\",\\\"symbolIcon.fileForeground\\\":\\\"#5a6378\\\",\\\"symbolIcon.folderForeground\\\":\\\"#5a6378\\\",\\\"symbolIcon.functionForeground\\\":\\\"#ffb454\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.keyForeground\\\":\\\"#39bae6\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ff8f40\\\",\\\"symbolIcon.methodForeground\\\":\\\"#ffb454\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.nullForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.numberForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.objectForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#f29668\\\",\\\"symbolIcon.packageForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#f07178\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#e6c08a\\\",\\\"symbolIcon.stringForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.structForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.textForeground\\\":\\\"#bfbdb6\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.variableForeground\\\":\\\"#bfbdb6\\\",\\\"tab.activeBackground\\\":\\\"#10141c\\\",\\\"tab.activeBorder\\\":\\\"#10141c\\\",\\\"tab.activeBorderTop\\\":\\\"#e6b450\\\",\\\"tab.activeForeground\\\":\\\"#bfbdb6\\\",\\\"tab.border\\\":\\\"#1b1f29\\\",\\\"tab.inactiveBackground\\\":\\\"#0d1017\\\",\\\"tab.inactiveForeground\\\":\\\"#5a6378\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#5a6378\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#5a6378\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#5a6378\\\",\\\"terminal.ansiBlack\\\":\\\"#1b1f29\\\",\\\"terminal.ansiBlue\\\":\\\"#4fbfff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#686868\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#59c2ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#95e6cb\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#aad94c\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a6ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffb454\\\",\\\"terminal.ansiCyan\\\":\\\"#93e2c8\\\",\\\"terminal.ansiGreen\\\":\\\"#70bf56\\\",\\\"terminal.ansiMagenta\\\":\\\"#d0a1ff\\\",\\\"terminal.ansiRed\\\":\\\"#f06b73\\\",\\\"terminal.ansiWhite\\\":\\\"#c7c7c7\\\",\\\"terminal.ansiYellow\\\":\\\"#fdb04c\\\",\\\"terminal.background\\\":\\\"#0d1017\\\",\\\"terminal.foreground\\\":\\\"#bfbdb6\\\",\\\"terminalCommandGuide.foreground\\\":\\\"#5a63784d\\\",\\\"terminalStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"terminalStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"terminalStickyScrollHover.background\\\":\\\"#47526633\\\",\\\"textBlockQuote.background\\\":\\\"#141821\\\",\\\"textLink.activeForeground\\\":\\\"#e6b450\\\",\\\"textLink.foreground\\\":\\\"#e6b450\\\",\\\"textPreformat.foreground\\\":\\\"#bfbdb6\\\",\\\"titleBar.activeBackground\\\":\\\"#0d1017\\\",\\\"titleBar.activeForeground\\\":\\\"#5a6378\\\",\\\"titleBar.border\\\":\\\"#1b1f29\\\",\\\"titleBar.inactiveBackground\\\":\\\"#0d1017\\\",\\\"titleBar.inactiveForeground\\\":\\\"#5a6378b3\\\",\\\"toolbar.hoverBackground\\\":\\\"#47526640\\\",\\\"tree.indentGuidesStroke\\\":\\\"#5a6378a1\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#141821\\\",\\\"welcomePage.buttonBackground\\\":\\\"#e6b45066\\\",\\\"welcomePage.progress.background\\\":\\\"#161a24\\\",\\\"welcomePage.tileBackground\\\":\\\"#0d1017\\\",\\\"welcomePage.tileShadow\\\":\\\"#00000080\\\",\\\"widget.border\\\":\\\"#1b1f29\\\",\\\"widget.shadow\\\":\\\"#00000080\\\"},\\\"displayName\\\":\\\"Ayu Dark\\\",\\\"name\\\":\\\"ayu-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class\\\":\\\"#59c2ff\\\",\\\"class.defaultLibrary\\\":\\\"#39bae6\\\",\\\"comment\\\":\\\"#5a6673\\\",\\\"enum\\\":\\\"#59c2ff\\\",\\\"enum.defaultLibrary\\\":\\\"#39bae6\\\",\\\"enumMember\\\":\\\"#95e6cb\\\",\\\"event\\\":\\\"#f29668\\\",\\\"function\\\":\\\"#ffb454\\\",\\\"interface\\\":\\\"#39bae6\\\",\\\"interface.defaultLibrary\\\":{\\\"foreground\\\":\\\"#39bae6\\\",\\\"italic\\\":true},\\\"keyword\\\":\\\"#ff8f40\\\",\\\"macro\\\":\\\"#e6c08a\\\",\\\"method\\\":\\\"#ffb454\\\",\\\"number\\\":\\\"#d2a6ff\\\",\\\"operator\\\":\\\"#f29668\\\",\\\"regexp\\\":\\\"#95e6cb\\\",\\\"string\\\":\\\"#aad94c\\\",\\\"struct\\\":\\\"#59c2ff\\\",\\\"struct.defaultLibrary\\\":\\\"#39bae6\\\",\\\"type\\\":\\\"#59c2ff\\\",\\\"type.defaultLibrary\\\":\\\"#39bae6\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#0d1017\\\",\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"variable.parameter.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"variable.member\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.separator\\\",\\\"punctuation.terminator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6b3\\\"}},{\\\"scope\\\":[\\\"punctuation.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"source.java storage.type\\\",\\\"source.haskell storage.type\\\",\\\"source.c storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage.type.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"source.java storage.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable.function\\\",\\\"variable.annotation\\\",\\\"meta.function-call.generic\\\",\\\"support.function.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"entity.name.import\\\",\\\"entity.name.package\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.end\\\",\\\"punctuation.definition.tag.begin\\\",\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae680\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\",\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other\\\",\\\"meta.decorator punctuation.decorator\\\",\\\"storage.type.annotation\\\",\\\"entity.name.function.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6c08a\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c594c5\\\"}},{\\\"scope\\\":[\\\"source.ruby variable.other.readwrite\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"source.css entity.name.tag\\\",\\\"source.sass entity.name.tag\\\",\\\"source.scss entity.name.tag\\\",\\\"source.less entity.name.tag\\\",\\\"source.stylus entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"source.css support.type\\\",\\\"source.sass support.type\\\",\\\"source.scss support.type\\\",\\\"source.less support.type\\\",\\\"source.stylus support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.find-in-files - match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"entity.name.filename.find-in-files\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"message.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\",\\\"emphasis\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.italic markup.bold\\\",\\\"markup.bold markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold italic\\\"}},{\\\"scope\\\":[\\\"markup.raw\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb605\\\"}},{\\\"scope\\\":[\\\"markup.raw.inline\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"markup.list punctuation.definition.list.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#70bf56\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73b8ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f26d78\\\"}},{\\\"scope\\\":[\\\"markup.strike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6c08a\\\"}},{\\\"scope\\\":[\\\"markup.strong\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"text.html.markdown meta.dummy.line-break\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#5a6673\\\",\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.markdown\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb6\\\",\\\"foreground\\\":\\\"#5a6673\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n"],"x_google_ignoreList":[0],"mappings":"AACA,IAAA,EAAe,OAAO,OAAO,KAAK,MAAM,wjnBAA4urB,CAAC"}
1
+ {"version":3,"file":"ayu-dark-DNAy_9St.js","names":[],"sources":["../../dashboard/node_modules/@shikijs/themes/dist/ayu-dark.mjs"],"sourcesContent":["/* Theme: ayu-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#47526640\\\",\\\"activityBar.activeBorder\\\":\\\"#e6b450\\\",\\\"activityBar.background\\\":\\\"#0d1017\\\",\\\"activityBar.border\\\":\\\"#1b1f29\\\",\\\"activityBar.foreground\\\":\\\"#5a6378cc\\\",\\\"activityBar.inactiveForeground\\\":\\\"#5a637899\\\",\\\"activityBarBadge.background\\\":\\\"#e6b450\\\",\\\"activityBarBadge.foreground\\\":\\\"#765b24\\\",\\\"activityBarTop.activeBorder\\\":\\\"#e6b450\\\",\\\"activityBarTop.foreground\\\":\\\"#697184\\\",\\\"badge.background\\\":\\\"#e6b45033\\\",\\\"badge.foreground\\\":\\\"#e6b450\\\",\\\"button.background\\\":\\\"#e6b450\\\",\\\"button.border\\\":\\\"#765b241a\\\",\\\"button.foreground\\\":\\\"#765b24\\\",\\\"button.hoverBackground\\\":\\\"#deae4d\\\",\\\"button.secondaryBackground\\\":\\\"#5a637833\\\",\\\"button.secondaryForeground\\\":\\\"#bfbdb6\\\",\\\"button.secondaryHoverBackground\\\":\\\"#5a637880\\\",\\\"button.separator\\\":\\\"#765b244d\\\",\\\"chat.checkpointSeparator\\\":\\\"#5a6673\\\",\\\"chat.editedFileForeground\\\":\\\"#73b8ff\\\",\\\"chat.requestBackground\\\":\\\"#0d1017\\\",\\\"chat.requestBorder\\\":\\\"#47526640\\\",\\\"chat.requestBubbleBackground\\\":\\\"#47526633\\\",\\\"chat.requestBubbleHoverBackground\\\":\\\"#47526640\\\",\\\"chat.slashCommandBackground\\\":\\\"#39bae633\\\",\\\"chat.slashCommandForeground\\\":\\\"#39bae6\\\",\\\"commandCenter.activeBackground\\\":\\\"#47526640\\\",\\\"commandCenter.activeBorder\\\":\\\"#47526600\\\",\\\"commandCenter.activeForeground\\\":\\\"#5a6378\\\",\\\"commandCenter.background\\\":\\\"#10141c\\\",\\\"commandCenter.border\\\":\\\"#1b1f29\\\",\\\"commandCenter.foreground\\\":\\\"#5a6378\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#1b1f29\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#e6b450\\\",\\\"debugExceptionWidget.background\\\":\\\"#141821\\\",\\\"debugExceptionWidget.border\\\":\\\"#1b1f29\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f2966880\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f29668\\\",\\\"debugToolBar.background\\\":\\\"#141821\\\",\\\"descriptionForeground\\\":\\\"#5a6378\\\",\\\"diffEditor.diagonalFill\\\":\\\"#1b1f29\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#70bf561f\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f26d781f\\\",\\\"disabledForeground\\\":\\\"#5a637880\\\",\\\"dropdown.background\\\":\\\"#141821\\\",\\\"dropdown.border\\\":\\\"#1b1f29\\\",\\\"dropdown.foreground\\\":\\\"#5a6378\\\",\\\"editor.background\\\":\\\"#10141c\\\",\\\"editor.findMatchBackground\\\":\\\"#4c4126\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#4c412680\\\",\\\"editor.foreground\\\":\\\"#bfbdb6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#80b5ff26\\\",\\\"editor.lineHighlightBackground\\\":\\\"#161a24\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#4c412633\\\",\\\"editor.selectionBackground\\\":\\\"#3388ff40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#70bf5626\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#70bf5600\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#70bf5633\\\",\\\"editor.wordHighlightBackground\\\":\\\"#73b8ff14\\\",\\\"editor.wordHighlightBorder\\\":\\\"#73b8ff80\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#70bf5614\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#70bf5680\\\",\\\"editorBracketMatch.background\\\":\\\"#5a63784d\\\",\\\"editorBracketMatch.border\\\":\\\"#5a63784d\\\",\\\"editorCodeLens.foreground\\\":\\\"#5a6673\\\",\\\"editorCursor.foreground\\\":\\\"#e6b450\\\",\\\"editorError.foreground\\\":\\\"#d95757\\\",\\\"editorGroup.background\\\":\\\"#141821\\\",\\\"editorGroup.border\\\":\\\"#1b1f29\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0d1017\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0d1017\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#1b1f29\\\",\\\"editorGutter.addedBackground\\\":\\\"#70bf56\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f26d78\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#73b8ff\\\",\\\"editorHoverWidget.background\\\":\\\"#141821\\\",\\\"editorHoverWidget.border\\\":\\\"#1b1f29\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#5a6378a1\\\",\\\"editorIndentGuide.background\\\":\\\"#5a637842\\\",\\\"editorInlayHint.foreground\\\":\\\"#bfbdb680\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#5a6378\\\",\\\"editorLineNumber.foreground\\\":\\\"#5a6378a6\\\",\\\"editorLink.activeForeground\\\":\\\"#e6b450\\\",\\\"editorMarkerNavigation.background\\\":\\\"#141821\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#70bf56\\\",\\\"editorOverviewRuler.border\\\":\\\"#1b1f29\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#5a6378b3\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#f26d78\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#d95757\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#4c4126\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#73b8ff\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#e6b450\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#73b8ff66\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#70bf5666\\\",\\\"editorRuler.foreground\\\":\\\"#5a637842\\\",\\\"editorStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"editorStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"editorStickyScrollHover.background\\\":\\\"#47526633\\\",\\\"editorSuggestWidget.background\\\":\\\"#141821\\\",\\\"editorSuggestWidget.border\\\":\\\"#1b1f29\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#e6b450\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#47526640\\\",\\\"editorWarning.foreground\\\":\\\"#e6b450\\\",\\\"editorWhitespace.foreground\\\":\\\"#5a6378a6\\\",\\\"editorWidget.background\\\":\\\"#141821\\\",\\\"editorWidget.border\\\":\\\"#1b1f29\\\",\\\"editorWidget.resizeBorder\\\":\\\"#141821\\\",\\\"errorForeground\\\":\\\"#d95757\\\",\\\"extensionButton.prominentBackground\\\":\\\"#e6b450\\\",\\\"extensionButton.prominentForeground\\\":\\\"#765b24\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#e2b14f\\\",\\\"focusBorder\\\":\\\"#e6b450\\\",\\\"foreground\\\":\\\"#5a6378\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f26d78\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#5a637880\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#73b8ff\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#d2a6ff\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#70bf56\\\",\\\"icon.foreground\\\":\\\"#5a6378\\\",\\\"inlineChat.background\\\":\\\"#141821\\\",\\\"inlineChat.border\\\":\\\"#1b1f29\\\",\\\"inlineChat.foreground\\\":\\\"#bfbdb6\\\",\\\"inlineChat.shadow\\\":\\\"#00000080\\\",\\\"inlineChatDiff.inserted\\\":\\\"#70bf5633\\\",\\\"inlineChatDiff.removed\\\":\\\"#f26d7833\\\",\\\"inlineChatInput.background\\\":\\\"#10141c\\\",\\\"inlineChatInput.border\\\":\\\"#1b1f29\\\",\\\"inlineChatInput.focusBorder\\\":\\\"#e6b450b3\\\",\\\"inlineChatInput.placeholderForeground\\\":\\\"#5a637880\\\",\\\"inlineEdit.gutterIndicator.background\\\":\\\"#1b1f29\\\",\\\"inlineEdit.gutterIndicator.primaryBackground\\\":\\\"#e6b4501a\\\",\\\"inlineEdit.gutterIndicator.primaryBorder\\\":\\\"#e6b450\\\",\\\"inlineEdit.gutterIndicator.primaryForeground\\\":\\\"#e6b450\\\",\\\"inlineEdit.gutterIndicator.secondaryBackground\\\":\\\"#5a63781a\\\",\\\"inlineEdit.gutterIndicator.secondaryBorder\\\":\\\"#5a637880\\\",\\\"inlineEdit.gutterIndicator.secondaryForeground\\\":\\\"#5a6378\\\",\\\"inlineEdit.gutterIndicator.successfulBackground\\\":\\\"#70bf561a\\\",\\\"inlineEdit.gutterIndicator.successfulBorder\\\":\\\"#70bf56\\\",\\\"inlineEdit.gutterIndicator.successfulForeground\\\":\\\"#70bf56\\\",\\\"inlineEdit.modifiedBackground\\\":\\\"#70bf561a\\\",\\\"inlineEdit.modifiedBorder\\\":\\\"#70bf5680\\\",\\\"inlineEdit.modifiedChangedLineBackground\\\":\\\"#70bf5626\\\",\\\"inlineEdit.modifiedChangedTextBackground\\\":\\\"#70bf5640\\\",\\\"inlineEdit.originalBackground\\\":\\\"#f26d781a\\\",\\\"inlineEdit.originalBorder\\\":\\\"#f26d7880\\\",\\\"inlineEdit.originalChangedLineBackground\\\":\\\"#f26d7826\\\",\\\"inlineEdit.originalChangedTextBackground\\\":\\\"#f26d7840\\\",\\\"input.background\\\":\\\"#10141c\\\",\\\"input.border\\\":\\\"#5a637833\\\",\\\"input.foreground\\\":\\\"#bfbdb6\\\",\\\"input.placeholderForeground\\\":\\\"#5a637880\\\",\\\"inputOption.activeBackground\\\":\\\"#e6b4501a\\\",\\\"inputOption.activeBorder\\\":\\\"#e6b45033\\\",\\\"inputOption.activeForeground\\\":\\\"#e6b450\\\",\\\"inputOption.hoverBackground\\\":\\\"#5a637833\\\",\\\"inputValidation.errorBackground\\\":\\\"#10141c\\\",\\\"inputValidation.errorBorder\\\":\\\"#d95757\\\",\\\"inputValidation.infoBackground\\\":\\\"#0d1017\\\",\\\"inputValidation.infoBorder\\\":\\\"#39bae6\\\",\\\"inputValidation.warningBackground\\\":\\\"#0d1017\\\",\\\"inputValidation.warningBorder\\\":\\\"#ffb454\\\",\\\"keybindingLabel.background\\\":\\\"#5a63781a\\\",\\\"keybindingLabel.border\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"list.activeSelectionBackground\\\":\\\"#47526640\\\",\\\"list.activeSelectionForeground\\\":\\\"#bfbdb6\\\",\\\"list.deemphasizedForeground\\\":\\\"#d95757\\\",\\\"list.errorForeground\\\":\\\"#d95757\\\",\\\"list.filterMatchBackground\\\":\\\"#43392180\\\",\\\"list.filterMatchBorder\\\":\\\"#4c412680\\\",\\\"list.focusBackground\\\":\\\"#47526640\\\",\\\"list.focusForeground\\\":\\\"#bfbdb6\\\",\\\"list.focusOutline\\\":\\\"#47526640\\\",\\\"list.highlightForeground\\\":\\\"#e6b450\\\",\\\"list.hoverBackground\\\":\\\"#47526640\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#47526633\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#5a6378\\\",\\\"list.invalidItemForeground\\\":\\\"#5a63784d\\\",\\\"listFilterWidget.background\\\":\\\"#141821\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d95757\\\",\\\"listFilterWidget.outline\\\":\\\"#e6b450\\\",\\\"menu.background\\\":\\\"#0f131a\\\",\\\"menu.border\\\":\\\"#1b1f29\\\",\\\"menu.foreground\\\":\\\"#5a6378\\\",\\\"menu.selectionBackground\\\":\\\"#47526633\\\",\\\"menu.selectionBorder\\\":\\\"#47526640\\\",\\\"menu.separatorBackground\\\":\\\"#1b1f29\\\",\\\"minimap.background\\\":\\\"#10141c\\\",\\\"minimap.errorHighlight\\\":\\\"#d95757\\\",\\\"minimap.findMatchHighlight\\\":\\\"#4c4126\\\",\\\"minimap.selectionHighlight\\\":\\\"#3388ff40\\\",\\\"minimapGutter.addedBackground\\\":\\\"#70bf56\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f26d78\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#73b8ff\\\",\\\"multiDiffEditor.background\\\":\\\"#0d1017\\\",\\\"multiDiffEditor.border\\\":\\\"#1b1f29\\\",\\\"multiDiffEditor.headerBackground\\\":\\\"#141821\\\",\\\"panel.background\\\":\\\"#0d1017\\\",\\\"panel.border\\\":\\\"#1b1f29\\\",\\\"panelStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"panelStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"panelTitle.activeBorder\\\":\\\"#e6b450\\\",\\\"panelTitle.activeForeground\\\":\\\"#bfbdb6\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#5a6378\\\",\\\"peekView.border\\\":\\\"#47526640\\\",\\\"peekViewEditor.background\\\":\\\"#141821\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#4c412680\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#43392180\\\",\\\"peekViewResult.background\\\":\\\"#141821\\\",\\\"peekViewResult.fileForeground\\\":\\\"#bfbdb6\\\",\\\"peekViewResult.lineForeground\\\":\\\"#5a6378\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#4c412680\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#47526640\\\",\\\"peekViewTitle.background\\\":\\\"#47526640\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#5a6378\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"pickerGroup.border\\\":\\\"#1b1f29\\\",\\\"pickerGroup.foreground\\\":\\\"#5a637880\\\",\\\"profileBadge.background\\\":\\\"#e6b450\\\",\\\"profileBadge.foreground\\\":\\\"#765b24\\\",\\\"progressBar.background\\\":\\\"#e6b450\\\",\\\"scrollbar.shadow\\\":\\\"#1b1f2900\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#5a6378b3\\\",\\\"scrollbarSlider.background\\\":\\\"#5a637866\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#5a637899\\\",\\\"selection.background\\\":\\\"#3388ff40\\\",\\\"settings.headerForeground\\\":\\\"#bfbdb6\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#73b8ff\\\",\\\"sideBar.background\\\":\\\"#0d1017\\\",\\\"sideBar.border\\\":\\\"#1b1f29\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0d1017\\\",\\\"sideBarSectionHeader.border\\\":\\\"#1b1f29\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#5a6378\\\",\\\"sideBarStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"sideBarStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"sideBarTitle.foreground\\\":\\\"#5a6378\\\",\\\"statusBar.background\\\":\\\"#0d1017\\\",\\\"statusBar.border\\\":\\\"#1b1f29\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f29668\\\",\\\"statusBar.debuggingForeground\\\":\\\"#10141c\\\",\\\"statusBar.foreground\\\":\\\"#5a6378\\\",\\\"statusBar.noFolderBackground\\\":\\\"#141821\\\",\\\"statusBarItem.activeBackground\\\":\\\"#5a637833\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#5a637833\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#1b1f29\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#00000030\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#e6b450\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#765b24\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.classForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.colorForeground\\\":\\\"#e6c08a\\\",\\\"symbolIcon.constantForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#ffb454\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#e6c08a\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#f07178\\\",\\\"symbolIcon.fileForeground\\\":\\\"#5a6378\\\",\\\"symbolIcon.folderForeground\\\":\\\"#5a6378\\\",\\\"symbolIcon.functionForeground\\\":\\\"#ffb454\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.keyForeground\\\":\\\"#39bae6\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ff8f40\\\",\\\"symbolIcon.methodForeground\\\":\\\"#ffb454\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.nullForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.numberForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.objectForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#f29668\\\",\\\"symbolIcon.packageForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#f07178\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#e6c08a\\\",\\\"symbolIcon.stringForeground\\\":\\\"#aad94c\\\",\\\"symbolIcon.structForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.textForeground\\\":\\\"#bfbdb6\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#59c2ff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#d2a6ff\\\",\\\"symbolIcon.variableForeground\\\":\\\"#bfbdb6\\\",\\\"tab.activeBackground\\\":\\\"#10141c\\\",\\\"tab.activeBorder\\\":\\\"#10141c\\\",\\\"tab.activeBorderTop\\\":\\\"#e6b450\\\",\\\"tab.activeForeground\\\":\\\"#bfbdb6\\\",\\\"tab.border\\\":\\\"#1b1f29\\\",\\\"tab.inactiveBackground\\\":\\\"#0d1017\\\",\\\"tab.inactiveForeground\\\":\\\"#5a6378\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#5a6378\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#5a6378\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#5a6378\\\",\\\"terminal.ansiBlack\\\":\\\"#1b1f29\\\",\\\"terminal.ansiBlue\\\":\\\"#4fbfff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#686868\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#59c2ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#95e6cb\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#aad94c\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a6ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffb454\\\",\\\"terminal.ansiCyan\\\":\\\"#93e2c8\\\",\\\"terminal.ansiGreen\\\":\\\"#70bf56\\\",\\\"terminal.ansiMagenta\\\":\\\"#d0a1ff\\\",\\\"terminal.ansiRed\\\":\\\"#f06b73\\\",\\\"terminal.ansiWhite\\\":\\\"#c7c7c7\\\",\\\"terminal.ansiYellow\\\":\\\"#fdb04c\\\",\\\"terminal.background\\\":\\\"#0d1017\\\",\\\"terminal.foreground\\\":\\\"#bfbdb6\\\",\\\"terminalCommandGuide.foreground\\\":\\\"#5a63784d\\\",\\\"terminalStickyScroll.border\\\":\\\"#1b1f29\\\",\\\"terminalStickyScroll.shadow\\\":\\\"#00000080\\\",\\\"terminalStickyScrollHover.background\\\":\\\"#47526633\\\",\\\"textBlockQuote.background\\\":\\\"#141821\\\",\\\"textLink.activeForeground\\\":\\\"#e6b450\\\",\\\"textLink.foreground\\\":\\\"#e6b450\\\",\\\"textPreformat.foreground\\\":\\\"#bfbdb6\\\",\\\"titleBar.activeBackground\\\":\\\"#0d1017\\\",\\\"titleBar.activeForeground\\\":\\\"#5a6378\\\",\\\"titleBar.border\\\":\\\"#1b1f29\\\",\\\"titleBar.inactiveBackground\\\":\\\"#0d1017\\\",\\\"titleBar.inactiveForeground\\\":\\\"#5a6378b3\\\",\\\"toolbar.hoverBackground\\\":\\\"#47526640\\\",\\\"tree.indentGuidesStroke\\\":\\\"#5a6378a1\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#141821\\\",\\\"welcomePage.buttonBackground\\\":\\\"#e6b45066\\\",\\\"welcomePage.progress.background\\\":\\\"#161a24\\\",\\\"welcomePage.tileBackground\\\":\\\"#0d1017\\\",\\\"welcomePage.tileShadow\\\":\\\"#00000080\\\",\\\"widget.border\\\":\\\"#1b1f29\\\",\\\"widget.shadow\\\":\\\"#00000080\\\"},\\\"displayName\\\":\\\"Ayu Dark\\\",\\\"name\\\":\\\"ayu-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class\\\":\\\"#59c2ff\\\",\\\"class.defaultLibrary\\\":\\\"#39bae6\\\",\\\"comment\\\":\\\"#5a6673\\\",\\\"enum\\\":\\\"#59c2ff\\\",\\\"enum.defaultLibrary\\\":\\\"#39bae6\\\",\\\"enumMember\\\":\\\"#95e6cb\\\",\\\"event\\\":\\\"#f29668\\\",\\\"function\\\":\\\"#ffb454\\\",\\\"interface\\\":\\\"#39bae6\\\",\\\"interface.defaultLibrary\\\":{\\\"foreground\\\":\\\"#39bae6\\\",\\\"italic\\\":true},\\\"keyword\\\":\\\"#ff8f40\\\",\\\"macro\\\":\\\"#e6c08a\\\",\\\"method\\\":\\\"#ffb454\\\",\\\"number\\\":\\\"#d2a6ff\\\",\\\"operator\\\":\\\"#f29668\\\",\\\"regexp\\\":\\\"#95e6cb\\\",\\\"string\\\":\\\"#aad94c\\\",\\\"struct\\\":\\\"#59c2ff\\\",\\\"struct.defaultLibrary\\\":\\\"#39bae6\\\",\\\"type\\\":\\\"#59c2ff\\\",\\\"type.defaultLibrary\\\":\\\"#39bae6\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#0d1017\\\",\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"variable.parameter.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"variable.member\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.separator\\\",\\\"punctuation.terminator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6b3\\\"}},{\\\"scope\\\":[\\\"punctuation.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"source.java storage.type\\\",\\\"source.haskell storage.type\\\",\\\"source.c storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage.type.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"source.java storage.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable.function\\\",\\\"variable.annotation\\\",\\\"meta.function-call.generic\\\",\\\"support.function.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"entity.name.import\\\",\\\"entity.name.package\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.end\\\",\\\"punctuation.definition.tag.begin\\\",\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae680\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\",\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other\\\",\\\"meta.decorator punctuation.decorator\\\",\\\"storage.type.annotation\\\",\\\"entity.name.function.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6c08a\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c594c5\\\"}},{\\\"scope\\\":[\\\"source.ruby variable.other.readwrite\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"source.css entity.name.tag\\\",\\\"source.sass entity.name.tag\\\",\\\"source.scss entity.name.tag\\\",\\\"source.less entity.name.tag\\\",\\\"source.stylus entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"source.css support.type\\\",\\\"source.sass support.type\\\",\\\"source.scss support.type\\\",\\\"source.less support.type\\\",\\\"source.stylus support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.find-in-files - match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"entity.name.filename.find-in-files\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"message.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\",\\\"emphasis\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.italic markup.bold\\\",\\\"markup.bold markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold italic\\\"}},{\\\"scope\\\":[\\\"markup.raw\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb605\\\"}},{\\\"scope\\\":[\\\"markup.raw.inline\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"markup.list punctuation.definition.list.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#70bf56\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73b8ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f26d78\\\"}},{\\\"scope\\\":[\\\"markup.strike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6c08a\\\"}},{\\\"scope\\\":[\\\"markup.strong\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"text.html.markdown meta.dummy.line-break\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#5a6673\\\",\\\"foreground\\\":\\\"#5a6673\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.markdown\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb6\\\",\\\"foreground\\\":\\\"#5a6673\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n"],"x_google_ignoreList":[0],"mappings":"AACA,IAAA,EAAe,OAAO,OAAO,KAAK,MAAM,wjnBAA4urB,CAAC"}