@vellumai/web 0.11.2-staging.2 → 0.11.2

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 (159) hide show
  1. package/dist/assets/{Combination-CWTYp834.js → Combination-TPH8qx8I.js} +1 -1
  2. package/dist/assets/{access-CVnesk0m.js → access-PKx6h0AJ.js} +1 -1
  3. package/dist/assets/{account-page-mMG1nL1O.js → account-page-DucijMvM.js} +1 -1
  4. package/dist/assets/{account-shell-BmH96-Ie.js → account-shell-BBDh-DzD.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-SN6NIuW5.js → acp-run-detail-panel-DJ6moBbf.js} +1 -1
  6. package/dist/assets/{activity-steps-panel-bduSS8_d.js → activity-steps-panel-C95hN_fd.js} +1 -1
  7. package/dist/assets/{add-credential-modal-4zzd0MPK.js → add-credential-modal-BbvTHJmF.js} +1 -1
  8. package/dist/assets/{add-credits-modal-DNYP2NMD.js → add-credits-modal-C5d63VSi.js} +1 -1
  9. package/dist/assets/{ai-page-BMqECtJX.js → ai-page-CbNTYziv.js} +1 -1
  10. package/dist/assets/{api-key-screen-tqtaQUVf.js → api-key-screen-B5zgGiwa.js} +1 -1
  11. package/dist/assets/{app-card-BJigGog3.js → app-card-CxO44OqN.js} +1 -1
  12. package/dist/assets/{assistant-feature-flag-store-BvLDPeej.js → assistant-feature-flag-store-BojuHxUH.js} +1 -1
  13. package/dist/assets/{assistant-status-panel-DyjhJvK6.js → assistant-status-panel-ZdWgKADH.js} +1 -1
  14. package/dist/assets/{background-task-detail-panel-DCtBOnvF.js → background-task-detail-panel-BvgkgKs6.js} +1 -1
  15. package/dist/assets/{billing-page-TF_LgX6K.js → billing-page-CSxWbmCW.js} +2 -2
  16. package/dist/assets/{bookmarks-page-Brvj5Jf6.js → bookmarks-page-hFDlAWts.js} +1 -1
  17. package/dist/assets/{button-Dy5001j6.js → button-BwFudwM5.js} +1 -1
  18. package/dist/assets/{channels-page-route-8vJJE2LN.js → channels-page-route-Cxn_zS-J.js} +1 -1
  19. package/dist/assets/{chat-markdown-message-B7qvlO44.js → chat-markdown-message-BZZsrGyj.js} +1 -1
  20. package/dist/assets/{checkbox-PU47Djxg.js → checkbox-fzrjTRTI.js} +1 -1
  21. package/dist/assets/{checkout-page-MpIPAAgf.js → checkout-page-lDrK4V11.js} +1 -1
  22. package/dist/assets/{command-palette-Bd1GTwZQ.js → command-palette-Bzsl-t3p.js} +1 -1
  23. package/dist/assets/{command-palette-window-page-CoweYsZl.js → command-palette-window-page-DjfAe-7N.js} +1 -1
  24. package/dist/assets/{community-page-BWMwSeEZ.js → community-page-CktLEQl7.js} +1 -1
  25. package/dist/assets/{confirm-dialog-j9o2h3xs.js → confirm-dialog-B7WBNDbT.js} +1 -1
  26. package/dist/assets/{connect-page-BxSNhZ8N.js → connect-page-hrIJuX_v.js} +1 -1
  27. package/dist/assets/{consent-controls-Bs63UL5k.js → consent-controls-HYcVhQZ2.js} +1 -1
  28. package/dist/assets/{contacts-page-route-BOpVOsYK.js → contacts-page-route-CX57wU3L.js} +1 -1
  29. package/dist/assets/{conversation-navigation-Bf3cDRKh.js → conversation-navigation-CIHBMx2t.js} +1 -1
  30. package/dist/assets/{copy-to-clipboard-DgY-nZpm.js → copy-to-clipboard-Y0mxY68V.js} +1 -1
  31. package/dist/assets/{credential-entry-page-CreYYbwf.js → credential-entry-page-DQOv-Jyx.js} +1 -1
  32. package/dist/assets/credentials-page-C0eeGia5.js +1 -0
  33. package/dist/assets/{csv-preview-cEf_PW-P.js → csv-preview-C4T5JLx3.js} +1 -1
  34. package/dist/assets/{debug-page-DfPZPo6D.js → debug-page-DzXHo3zM.js} +2 -2
  35. package/dist/assets/{deploy-dialogs-CuaO05wL.js → deploy-dialogs-DQGwptOi.js} +1 -1
  36. package/dist/assets/{deploy-store-BDIOP-i9.js → deploy-store-BJh0AR_u.js} +1 -1
  37. package/dist/assets/{detail-card-BElAV1cp.js → detail-card-Br_T-73R.js} +1 -1
  38. package/dist/assets/{detail-drawer-Cd_EQJkJ.js → detail-drawer-Cbj_q7o7.js} +1 -1
  39. package/dist/assets/{detail-panel-stop-button-Bhew_kym.js → detail-panel-stop-button-DN2NrxEh.js} +1 -1
  40. package/dist/assets/{detail-shell-BjqibXNX.js → detail-shell-BuJMM-9z.js} +1 -1
  41. package/dist/assets/{developer-page-DwBmhm09.js → developer-page-Cj9JWAsX.js} +1 -1
  42. package/dist/assets/{dist-EanpjdWC.js → dist-B5IUaBWa.js} +1 -1
  43. package/dist/assets/{dist-C68qFSny.js → dist-BrrL0-_M.js} +1 -1
  44. package/dist/assets/dist-DWcXIgDR.js +1 -0
  45. package/dist/assets/{document-viewer-container-iB63ww7P.js → document-viewer-container-CPc9KTln.js} +2 -2
  46. package/dist/assets/{document-viewer-page-CA1ParJ6.js → document-viewer-page-BqJvQQmH.js} +1 -1
  47. package/dist/assets/{dropdown-B3FHWc_n.js → dropdown-CJVkL1Yp.js} +1 -1
  48. package/dist/assets/{emails-page-Bo0Bwem2.js → emails-page-DwQ-FnOD.js} +1 -1
  49. package/dist/assets/{file-editor-BfJR0ScX.js → file-editor-BigdI9HF.js} +1 -1
  50. package/dist/assets/{file-markdown-DnVLY_b_.js → file-markdown-eU8RUJQZ.js} +1 -1
  51. package/dist/assets/{first-run-scope-CPJpXaWU.js → first-run-scope-DqdWmMO-.js} +1 -1
  52. package/dist/assets/{general-page-BXeIQDGi.js → general-page-uFG7UTqR.js} +1 -1
  53. package/dist/assets/hatching-screen-CWZvcZVI.js +1 -0
  54. package/dist/assets/{home-page-route-BPht0PNp.js → home-page-route-zQaUf7gb.js} +1 -1
  55. package/dist/assets/{hosting-screen-DxtyBx0I.js → hosting-screen-lGuLVQVG.js} +1 -1
  56. package/dist/assets/{identity-page-route-DgmrXhhV.js → identity-page-route-C64OsL5_.js} +1 -1
  57. package/dist/assets/index-Cn_k9u0x.css +2 -0
  58. package/dist/assets/{index-CPeIfypI.js → index-D-1mlWsA.js} +1 -1
  59. package/dist/assets/{input-tXUFa7Eo.js → input-CgGeKtja.js} +1 -1
  60. package/dist/assets/{inspect-page-C8aLJOd6.js → inspect-page-DdXP831Q.js} +1 -1
  61. package/dist/assets/integrations-page-DmQCd8GV.js +1 -0
  62. package/dist/assets/{intelligence-layout-BRC0qkZ7.js → intelligence-layout-IptAIgHy.js} +1 -1
  63. package/dist/assets/{library-detail-page-gC4yIWnV.js → library-detail-page-Ddel5wXb.js} +1 -1
  64. package/dist/assets/{library-page-B10gnbXU.js → library-page-B4k0PNa8.js} +1 -1
  65. package/dist/assets/{login-page-CbWRbJDE.js → login-page-CRIed3qa.js} +1 -1
  66. package/dist/assets/{logout-page-DCyzi0V6.js → logout-page-Ne05SAbm.js} +1 -1
  67. package/dist/assets/{logs-layout-CYkqau4S.js → logs-layout-BN5HA58-.js} +1 -1
  68. package/dist/assets/{memory-page-route-j_3602nh.js → memory-page-route-Mz8GlpcX.js} +1 -1
  69. package/dist/assets/{memory-router-playground-page-x5X662qi.js → memory-router-playground-page-CeIkpuOW.js} +1 -1
  70. package/dist/assets/{menu-wESJw6y3.js → menu-Cfi4A3sw.js} +1 -1
  71. package/dist/assets/{message-files-panel-C8JokH6e.js → message-files-panel-C8sWLQ58.js} +1 -1
  72. package/dist/assets/{messages-Dyp1xUqz.js → messages-BTSYvzWZ.js} +1 -1
  73. package/dist/assets/{metric-card-DpZFp8-q.js → metric-card-CczTqF_s.js} +1 -1
  74. package/dist/assets/{mobile-sidebar-drawer-BwCIAm23.js → mobile-sidebar-drawer-CSAugzxJ.js} +1 -1
  75. package/dist/assets/{modal-xr_vw1ZO.js → modal-DagTZ8xj.js} +1 -1
  76. package/dist/assets/mutation-error-Cp0Jaqnt.js +1 -0
  77. package/dist/assets/{not-found-Bh7ZsdAo.js → not-found-C1zvwDkh.js} +1 -1
  78. package/dist/assets/{notifications-page-BA2BW5y6.js → notifications-page-BzoWNM1e.js} +1 -1
  79. package/dist/assets/{onboarding-layout-iPzXbZk1.js → onboarding-layout-CNKJRWfe.js} +1 -1
  80. package/dist/assets/{open-workspace-file-CivxJWcw.js → open-workspace-file-DAlt8chN.js} +2 -2
  81. package/dist/assets/{page-shell-ZNQR4ZTn.js → page-shell-Dx-efyAO.js} +1 -1
  82. package/dist/assets/pairing-page-BqjYohpZ.js +1 -0
  83. package/dist/assets/{panel-item-CJh95P_q.js → panel-item-5YQ3jbso.js} +1 -1
  84. package/dist/assets/{personality-page-Bz_rNBSs.js → personality-page-CB98MeIQ.js} +1 -1
  85. package/dist/assets/{plans-page-BfyCgy38.js → plans-page-BcR_kjJL.js} +1 -1
  86. package/dist/assets/{platform-login-notice-DFmjUE9q.js → platform-login-notice-DvWjpI2S.js} +1 -1
  87. package/dist/assets/popover-CBYgK7Wt.js +1 -0
  88. package/dist/assets/{preview-error-BrLE2D3A.js → preview-error-DzUxX6Jy.js} +1 -1
  89. package/dist/assets/{privacy-page-BhEGh78C.js → privacy-page-B9zfD9a-.js} +1 -1
  90. package/dist/assets/{privacy-screen-CWVCI_KU.js → privacy-screen-Btqk8OjG.js} +1 -1
  91. package/dist/assets/{provider-callback-page-DP5cKqPE.js → provider-callback-page-Jul4gNdZ.js} +1 -1
  92. package/dist/assets/provider-key-BZOwvE14.js +1 -0
  93. package/dist/assets/{provider-signup-page-BjiiJWS_.js → provider-signup-page-C47ij2Um.js} +1 -1
  94. package/dist/assets/{research-mock-page-CGkqkXHp.js → research-mock-page-DthnGXhi.js} +1 -1
  95. package/dist/assets/{research-onboarding-route-DZF-B2Rk.js → research-onboarding-route-Cql_2-1F.js} +1 -1
  96. package/dist/assets/{research-results-view-BFZFPpev.js → research-results-view-BYpW36E0.js} +1 -1
  97. package/dist/assets/{retire-confirm-dialog-8xlq4bkx.js → retire-confirm-dialog-PvFzzHrQ.js} +1 -1
  98. package/dist/assets/{review-terms-screen-C5BAI3Rx.js → review-terms-screen-BpE_z8HY.js} +1 -1
  99. package/dist/assets/routes-DRAnvlxS.js +23 -0
  100. package/dist/assets/{runtime-upgrade-banner-DjFuJawk.js → runtime-upgrade-banner-Blp8EyfL.js} +1 -1
  101. package/dist/assets/{schedules-page-3ZE1nR6I.js → schedules-page-D6KPJIUP.js} +1 -1
  102. package/dist/assets/{select-assistant-screen-D4WHHv61.js → select-assistant-screen-DH6QRKdk.js} +1 -1
  103. package/dist/assets/{settings-divider-BkLQFMlW.js → settings-divider-COV4-sHz.js} +1 -1
  104. package/dist/assets/{settings-layout-BmOglXDq.js → settings-layout-CyMD8Ey7.js} +1 -1
  105. package/dist/assets/{share-feedback-modal-Rwuho_1S.js → share-feedback-modal-NfuDPoEg.js} +1 -1
  106. package/dist/assets/{sidebar-tree-Dxx5qLMQ.js → sidebar-tree-DTcPYrOG.js} +1 -1
  107. package/dist/assets/{site-favicon-CDH0mg6Q.js → site-favicon-DkjZF9mC.js} +1 -1
  108. package/dist/assets/{skill-detail-page-DswXTTyb.js → skill-detail-page-CzCcXCkp.js} +1 -1
  109. package/dist/assets/{skill-detail-panel-DhQFBAFF.js → skill-detail-panel-B1Kxa3zf.js} +1 -1
  110. package/dist/assets/{skills-CbF2uKXV.js → skills-CrZ3GlyK.js} +1 -1
  111. package/dist/assets/{slack-setup-wizard-DPzdheN0.js → slack-setup-wizard-CeBY_rKV.js} +1 -1
  112. package/dist/assets/src-CwGlaCIx.js +293 -0
  113. package/dist/assets/{start-screen-CSxaBn88.js → start-screen-wyemTUjV.js} +1 -1
  114. package/dist/assets/{subagent-detail-panel-CidisBCf.js → subagent-detail-panel-C3II8umu.js} +1 -1
  115. package/dist/assets/{superpowers-page-BouZK3P4.js → superpowers-page-DmIZ_ed4.js} +1 -1
  116. package/dist/assets/{system-events-page-BrvTNeiN.js → system-events-page-DAbap4FJ.js} +1 -1
  117. package/dist/assets/{tag-gOOX7fbA.js → tag-G0ELn_cq.js} +1 -1
  118. package/dist/assets/{text-preview-DwgKh8PW.js → text-preview-DLiOtb-y.js} +1 -1
  119. package/dist/assets/{theme-stage-page-LIhQbqRQ.js → theme-stage-page-Dt0ShS5G.js} +1 -1
  120. package/dist/assets/{tiptap-document-editor-BvGaiGeN.js → tiptap-document-editor-LwU6S_hn.js} +2 -2
  121. package/dist/assets/{toast-BtFgiPe3.js → toast-BHjG1kP8.js} +1 -1
  122. package/dist/assets/{tool-detail-panel-B2CIRZkB.js → tool-detail-panel-tFQRRPbP.js} +1 -1
  123. package/dist/assets/{transcript-message-body-shared-BfKwS5qD.js → transcript-message-body-shared-DdXeU1D-.js} +1 -1
  124. package/dist/assets/{upgrade-cancel-page-DjeqfvTa.js → upgrade-cancel-page-isK2Rvv6.js} +1 -1
  125. package/dist/assets/{upgrade-success-page-B4TCn340.js → upgrade-success-page-B7ZaoDsy.js} +1 -1
  126. package/dist/assets/{use-assistant-identity-details-D-7oN9gr.js → use-assistant-identity-details-BLHiMTpS.js} +1 -1
  127. package/dist/assets/{use-attachment-preview-CQjpDfsc.js → use-attachment-preview-TAzqhvwh.js} +1 -1
  128. package/dist/assets/{use-attachment-squares-8Hx-p8ls.js → use-attachment-squares-Cnn6a6er.js} +1 -1
  129. package/dist/assets/{use-bookmarks-DO9wmU-2.js → use-bookmarks-BKYsQrf9.js} +1 -1
  130. package/dist/assets/{use-checkout-dismiss-refresh-CV_H4uEB.js → use-checkout-dismiss-refresh-ChquCG4n.js} +1 -1
  131. package/dist/assets/{use-edit-app-Bd1eXXFq.js → use-edit-app-LCywIVb9.js} +1 -1
  132. package/dist/assets/{use-invite-link-dialog-TNGI1l4g.js → use-invite-link-dialog-CnOeFYBH.js} +1 -1
  133. package/dist/assets/{use-ios-app-nudge-CadXZRJC.js → use-ios-app-nudge-9Qqz96FD.js} +1 -1
  134. package/dist/assets/{use-skill-actions-B_tz3CI7.js → use-skill-actions-Ik0rj4or.js} +1 -1
  135. package/dist/assets/{use-sticky-profiles-D5TVHOgw.js → use-sticky-profiles-BwaZUy6p.js} +1 -1
  136. package/dist/assets/{use-subagent-card-data-bjGydvhR.js → use-subagent-card-data-1nEhEj8_.js} +1 -1
  137. package/dist/assets/{use-transcript-message-by-id-BgyP3Ki5.js → use-transcript-message-by-id-RhDDYgbY.js} +1 -1
  138. package/dist/assets/{use-transcript-messages-C2uwkjKL.js → use-transcript-messages-C5t358ZW.js} +1 -1
  139. package/dist/assets/{utils-3IBGVjNS.js → utils-B6xfBCpN.js} +1 -1
  140. package/dist/assets/{viewer-store-DbIS4l8d.js → viewer-store-DxLOGAkL.js} +1 -1
  141. package/dist/assets/{voice-list-D26Lzbpv.js → voice-list-DP4_zhJe.js} +1 -1
  142. package/dist/assets/{voice-page-CQ2Vp8p4.js → voice-page-Bn0QH4eT.js} +1 -1
  143. package/dist/assets/{voice-providers-note-Ck7hNTfp.js → voice-providers-note-F4pLO3zK.js} +1 -1
  144. package/dist/assets/{welcome-screen-CdsjDVfi.js → welcome-screen-B6BjQt9n.js} +1 -1
  145. package/dist/assets/{workflow-detail-panel-CsRhUrbM.js → workflow-detail-panel-H3N7Md_X.js} +1 -1
  146. package/dist/assets/{workspace-page-CFuSxp5s.js → workspace-page-B4sn6pzo.js} +1 -1
  147. package/dist/index.html +55 -55
  148. package/package.json +1 -1
  149. package/dist/assets/credentials-page-DBLT8nUI.js +0 -1
  150. package/dist/assets/dist-BDdp8zqz.js +0 -1
  151. package/dist/assets/hatching-screen-BUpSlvBy.js +0 -1
  152. package/dist/assets/index-C7_04HXM.css +0 -2
  153. package/dist/assets/integrations-page-Bp2Q81Qt.js +0 -1
  154. package/dist/assets/mutation-error-YLfUU5XL.js +0 -1
  155. package/dist/assets/pairing-page-P5ghxF0M.js +0 -1
  156. package/dist/assets/popover-B-3isZCV.js +0 -1
  157. package/dist/assets/provider-key-CgC-RLmR.js +0 -1
  158. package/dist/assets/routes-uGHUgv4F.js +0 -23
  159. package/dist/assets/src-Da9g8qsW.js +0 -293
@@ -1 +1 @@
1
- import{t as e}from"./button-Dy5001j6.js";import{u as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{d as r}from"./routes-DrfnNoYS.js";import{t as i}from"./onboarding-layout-iPzXbZk1.js";var a=n();function o(){let n=t();return(0,a.jsx)(i,{children:(0,a.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center px-6 pb-40 text-[var(--content-default)]`,children:(0,a.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,a.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Welcome to Vellum`}),(0,a.jsx)(`p`,{className:`mt-3 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Your own personal intelligence is just a step away.`}),(0,a.jsx)(`div`,{className:`mt-10 flex w-full max-w-sm flex-col`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,a.jsx)(e,{variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>void n(r.onboarding.privacy),children:`Create your assistant`})})]})})})}export{o as StartScreen};
1
+ import{t as e}from"./button-BwFudwM5.js";import{u as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{d as r}from"./routes-DrfnNoYS.js";import{t as i}from"./onboarding-layout-CNKJRWfe.js";var a=n();function o(){let n=t();return(0,a.jsx)(i,{children:(0,a.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center px-6 pb-40 text-[var(--content-default)]`,children:(0,a.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,a.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Welcome to Vellum`}),(0,a.jsx)(`p`,{className:`mt-3 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Your own personal intelligence is just a step away.`}),(0,a.jsx)(`div`,{className:`mt-10 flex w-full max-w-sm flex-col`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,a.jsx)(e,{variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>void n(r.onboarding.privacy),children:`Create your assistant`})})]})})})}export{o as StartScreen};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./arrow-down-to-line-DMGjBlMw.js";import{t as o}from"./arrow-left-W84B6oJL.js";import{n as s,r as c,t as l}from"./metric-card-DpZFp8-q.js";import{T as u,c as d}from"./message-content-B6_GZQl9.js";import{t as f}from"./brain-CN4zzNgU.js";import{t as p}from"./chevron-down-BNidRDh1.js";import{t as m}from"./chevron-right-CANAtgGn.js";import"./src-Da9g8qsW.js";import{t as h}from"./globe-CdLn4IX7.js";import{t as g}from"./chat-markdown-message-B7qvlO44.js";import{t as _}from"./x-D4O9yIS7.js";import{c as v,i as y,l as b,o as x}from"./subagent-store-DibRR9Ij.js";import{t as S}from"./misc-BBsGq1IU.js";import{t as C}from"./proxy-DrtKRLtr.js";import{t as w}from"./AnimatePresence-CHo6D7IH.js";import{t as T}from"./use-reduced-motion-fR0m_opJ.js";import{t as E}from"./three-dot-indicator-CeTxs9-J.js";import{t as D}from"./avatar-renderer-TpNgmnU1.js";import{n as O}from"./use-bundled-avatar-components-BcyasJwu.js";import{t as k}from"./avatar-subagent-tkmKhEWI.js";import{i as A,r as j,t as M}from"./use-subagent-card-data-bjGydvhR.js";import{S as N,a as P,c as F,d as I,f as L,h as R,i as z,l as B,m as V,n as H,o as U,p as W,r as G,t as K,u as q,w as J}from"./site-favicon-CDH0mg6Q.js";import{t as ee}from"./status-badge-pill-CFoeNqKo.js";import{CodeBlock as Y,ToolDetailBody as te}from"./tool-detail-panel-B2CIRZkB.js";import{t as ne}from"./detail-panel-stop-button-Bhew_kym.js";var X=e(t(),1),Z=r();function re({status:e}){return(0,Z.jsx)(ee,{color:v(e),label:b(e)})}function ie(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?L(n,t):``}`}function ae(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`tool`&&n.status===`running`||n.kind===`web_search`&&n.title===`Searching the web`)return n}}function oe(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function se(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`web_search`&&n.query)return n.query}}function ce(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return J(n.text)}}function Q(e){if(e.kind===`tool`)return e.toolCallId||void 0;if(e.kind===`thinking`||e.kind===`web_search`||e.kind===`web_search_error`)return e.detailKey}function le({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,X.useState)(new Set),s=n??a,c=(0,X.useCallback)(e=>{let t=t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n};if(r){r(t);return}o(t)},[r]),l=(0,X.useMemo)(()=>q(e),[e]);return l.length===0?null:(0,Z.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ie(e,n),a=n===l.length-1;return(0,Z.jsx)(ue,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var ue=(0,X.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:o,onStepDetailClick:s}){let c=T(),l=I(e.steps),u=l===`running`&&!n?`completed`:l,d=u===`running`||n,p=e.steps[0]?.kind===`thinking`,m=e.steps.length,g=e.label===`Searching the web`,_=g?se(e):void 0,v=m>=2,y=e.steps.some(e=>W(e)||!!s&&!!Q(e)),b=u===`running`?``:V(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),x=u===`running`?ae(e):void 0,E=u===`running`&&!g?oe(x,e.label):``,D=g&&(u===`running`||!!_),O=_??e.label,k=p&&d,A=k?ce(e)??e.label:void 0,j=u===`running`||D||k||!!b,M=`${m} step${m===1?``:`s`}`;return(0,Z.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:S(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,Z.jsx)(F,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!y,onClick:y?()=>o(a):void 0,className:S(`flex h-[22px] w-full items-center gap-2 text-left`,y&&`cursor-pointer`),children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,Z.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,Z.jsx)(B,{status:d?`running`:u,isThinking:p&&!d}),(0,Z.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),j&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),D?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(h,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:O})]}):k?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:A??e.label})]}):u===`running`?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:E})]}):b?(0,Z.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${b}`}):null,y&&v&&(0,Z.jsx)(`span`,{"data-testid":`subagent-phase-step-count`,className:`ml-auto inline-flex shrink-0 items-center self-stretch whitespace-nowrap rounded-full bg-[var(--surface-base)] px-2`,children:(0,Z.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:M})})]}),(0,Z.jsx)(w,{initial:!1,children:y&&r&&(0,Z.jsx)(C.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:c?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,Z.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=s?Q(e):void 0;if(n&&s){if(e.kind===`tool`)return(0,Z.jsx)(z,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:`View tool details`,onClick:()=>s(n)},L(e,t));if(e.kind===`thinking`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`brain`,label:J(e.text),ariaLabel:`View reasoning`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:`View search details`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search_error`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:`View search error`,onClick:()=>s(n)},L(e,t))}return e.kind===`web_search`?(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,Z.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,Z.jsx)(G,{step:e})]},L(e,t)):e.kind===`web_search_error`?(0,Z.jsx)(H,{step:e},L(e,t)):(0,Z.jsx)(P,{step:e},L(e,t))})})},`phase-steps`)})]})}),de=`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./arrow-down-to-line-DMGjBlMw.js";import{t as o}from"./arrow-left-W84B6oJL.js";import{n as s,r as c,t as l}from"./metric-card-CczTqF_s.js";import{T as u,c as d}from"./message-content-B6_GZQl9.js";import{t as f}from"./brain-CN4zzNgU.js";import{t as p}from"./chevron-down-BNidRDh1.js";import{t as m}from"./chevron-right-CANAtgGn.js";import"./src-CwGlaCIx.js";import{t as h}from"./globe-CdLn4IX7.js";import{t as g}from"./chat-markdown-message-BZZsrGyj.js";import{t as _}from"./x-D4O9yIS7.js";import{c as v,i as y,l as b,o as x}from"./subagent-store-DibRR9Ij.js";import{t as S}from"./misc-BBsGq1IU.js";import{t as C}from"./proxy-DrtKRLtr.js";import{t as w}from"./AnimatePresence-CHo6D7IH.js";import{t as T}from"./use-reduced-motion-fR0m_opJ.js";import{t as E}from"./three-dot-indicator-CeTxs9-J.js";import{t as D}from"./avatar-renderer-TpNgmnU1.js";import{n as O}from"./use-bundled-avatar-components-BcyasJwu.js";import{t as k}from"./avatar-subagent-tkmKhEWI.js";import{i as A,r as j,t as M}from"./use-subagent-card-data-1nEhEj8_.js";import{S as N,a as P,c as F,d as I,f as L,h as R,i as z,l as B,m as V,n as H,o as U,p as W,r as G,t as K,u as q,w as J}from"./site-favicon-DkjZF9mC.js";import{t as ee}from"./status-badge-pill-CFoeNqKo.js";import{CodeBlock as Y,ToolDetailBody as te}from"./tool-detail-panel-tFQRRPbP.js";import{t as ne}from"./detail-panel-stop-button-DN2NrxEh.js";var X=e(t(),1),Z=r();function re({status:e}){return(0,Z.jsx)(ee,{color:v(e),label:b(e)})}function ie(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?L(n,t):``}`}function ae(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`tool`&&n.status===`running`||n.kind===`web_search`&&n.title===`Searching the web`)return n}}function oe(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function se(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`web_search`&&n.query)return n.query}}function ce(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return J(n.text)}}function Q(e){if(e.kind===`tool`)return e.toolCallId||void 0;if(e.kind===`thinking`||e.kind===`web_search`||e.kind===`web_search_error`)return e.detailKey}function le({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,X.useState)(new Set),s=n??a,c=(0,X.useCallback)(e=>{let t=t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n};if(r){r(t);return}o(t)},[r]),l=(0,X.useMemo)(()=>q(e),[e]);return l.length===0?null:(0,Z.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ie(e,n),a=n===l.length-1;return(0,Z.jsx)(ue,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var ue=(0,X.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:o,onStepDetailClick:s}){let c=T(),l=I(e.steps),u=l===`running`&&!n?`completed`:l,d=u===`running`||n,p=e.steps[0]?.kind===`thinking`,m=e.steps.length,g=e.label===`Searching the web`,_=g?se(e):void 0,v=m>=2,y=e.steps.some(e=>W(e)||!!s&&!!Q(e)),b=u===`running`?``:V(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),x=u===`running`?ae(e):void 0,E=u===`running`&&!g?oe(x,e.label):``,D=g&&(u===`running`||!!_),O=_??e.label,k=p&&d,A=k?ce(e)??e.label:void 0,j=u===`running`||D||k||!!b,M=`${m} step${m===1?``:`s`}`;return(0,Z.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:S(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,Z.jsx)(F,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!y,onClick:y?()=>o(a):void 0,className:S(`flex h-[22px] w-full items-center gap-2 text-left`,y&&`cursor-pointer`),children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,Z.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,Z.jsx)(B,{status:d?`running`:u,isThinking:p&&!d}),(0,Z.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),j&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),D?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(h,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:O})]}):k?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:A??e.label})]}):u===`running`?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:E})]}):b?(0,Z.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${b}`}):null,y&&v&&(0,Z.jsx)(`span`,{"data-testid":`subagent-phase-step-count`,className:`ml-auto inline-flex shrink-0 items-center self-stretch whitespace-nowrap rounded-full bg-[var(--surface-base)] px-2`,children:(0,Z.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:M})})]}),(0,Z.jsx)(w,{initial:!1,children:y&&r&&(0,Z.jsx)(C.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:c?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,Z.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=s?Q(e):void 0;if(n&&s){if(e.kind===`tool`)return(0,Z.jsx)(z,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:`View tool details`,onClick:()=>s(n)},L(e,t));if(e.kind===`thinking`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`brain`,label:J(e.text),ariaLabel:`View reasoning`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:`View search details`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search_error`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:`View search error`,onClick:()=>s(n)},L(e,t))}return e.kind===`web_search`?(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,Z.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,Z.jsx)(G,{step:e})]},L(e,t)):e.kind===`web_search_error`?(0,Z.jsx)(H,{step:e},L(e,t)):(0,Z.jsx)(P,{step:e},L(e,t))})})},`phase-steps`)})]})}),de=`
2
2
  Content:
3
3
  `;function fe(e){return N(e)||e}function pe(e,t){let n=e??``,r=n.indexOf(de),i=r>=0?n.slice(0,r):``,a=r>=0?n.slice(r+10):n,o=e=>{let t=i.match(RegExp(`^${e}:[ \\t]*(.+)$`,`m`));return t?t[1].trim():null},s=[],c=i.indexOf(`Notices:`);if(c>=0)for(let e of i.slice(c).split(`
4
4
  `)){let t=e.match(/^\s*-\s+(.*)$/);t&&t[1].trim()&&s.push(t[1].trim())}a=a.trim();let l=null,u=a.match(/^<external_content\b([^>]*)>\s*/);if(u){let e=u[1].match(/origin="([^"]+)"/);e&&(l=e[1]),a=a.slice(u[0].length).replace(/\s*<\/external_content>\s*$/,``)}return{url:o(`Final URL`)||o(`Requested URL`)||l||t||null,status:o(`Status`),notices:s,content:a.trim()}}function me({url:e,status:t}){let n=fe(e),r=t?/^\s*2\d\d/.test(t):!1;return(0,Z.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,Z.jsx)(K,{domain:n,title:n}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`span`,className:`truncate text-[var(--content-default)]`,children:n}),(0,Z.jsx)(i,{variant:`body-small-default`,as:`span`,className:`truncate text-[var(--content-tertiary)]`,children:e})]}),t&&(0,Z.jsx)(`span`,{className:`shrink-0 rounded-[6px] px-2 py-0.5 text-body-small-emphasised ${r?`text-[var(--system-positive-strong)]`:`text-[var(--content-tertiary)]`}`,children:t})]})}function he({detail:e}){let[t,n]=(0,X.useState)(!1),r=typeof e.input?.url==`string`?e.input.url:void 0,a=(0,X.useMemo)(()=>pe(e.result??``,r),[e.result,r]);return e.status===`error`?(0,Z.jsx)(Y,{text:e.result??`Fetch failed.`}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[a.url&&(0,Z.jsx)(me,{url:a.url,status:a.status}),a.notices.length>0&&(0,Z.jsx)(`div`,{className:`flex flex-col gap-1 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:a.notices.map((e,t)=>(0,Z.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:e},t))}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:t?`Raw result`:`Content`}),e.result&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`cursor-pointer text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,Z.jsx)(i,{variant:`label-small-default`,as:`span`,children:t?`View extracted`:`View raw`})})]}),t?(0,Z.jsx)(Y,{text:e.result??``}):a.content?(0,Z.jsx)(g,{content:a.content}):(0,Z.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e.status===`running`?`Fetching…`:`No content extracted.`})]})]})}function ge({detail:e}){let t=e.searchQuery??``,n=e.searchResults??[];return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[t?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:`Query`}),(0,Z.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`break-words leading-relaxed text-[var(--content-default)]`,children:`"${t}"`})]}):null,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:n.length>0?`Sources (${n.length})`:`Sources`}),n.length>0?(0,Z.jsx)(G,{step:{kind:`web_search`,title:`Searched the web`,durationLabel:``,linkCount:n.length,results:n}}):(0,Z.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`No sources found.`})]})]})}function $(e){return new Map(e.map(e=>[e.toolCallId,e]))}function _e(e=M){let t=null,n=[],r=[],i=new Map;function a(a){let o=[],s=[];for(let t of a)e(o,s,t);return t=a,n=o,r=s,i=$(n),i}function o(o){let s=A(t,o);switch(s.kind){case`identity`:return i;case`first`:return a(o);case`append`:{let a=o.length,c=n.slice(),l=r.slice();for(let t=s.from;t<a;t++)e(c,l,o[t]);return t=o,n=c,r=l,i=$(n),i}case`mutate-last`:{let a=o.length,s=n.slice(),c=r.slice(),l=s[s.length-1];return l&&l.kind===`thinking`&&l.toolCallId===o[a-1].id&&(s.pop(),c.pop()),e(s,c,o[a-1]),t=o,n=s,r=c,i=$(n),i}case`fallback`:return a(o)}}return{project:o}}function ve(e){let t=(0,X.useRef)(null);return t.current??=_e(),t.current.project(e)}function ye(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:d(e.toolName,e.input).iconName}function be({detail:e}){return e.status===`running`?(0,Z.jsx)(E,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,Z.jsx)(U[ye(e)]??u,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function xe({entry:e,onClose:t,onStop:r,onRequestDetail:u,assistantId:d}){let f=x(e.status),h=T(),v=O(),b=(0,X.useMemo)(()=>k(e.subagentId),[e.subagentId]),{steps:S}=j(e.events),w=ve(e.events),[E,A]=(0,X.useState)(null),M=(0,X.useRef)(w);M.current=w;let N=(0,X.useCallback)(e=>{M.current.has(e)&&A(e)},[]),[P,F]=(0,X.useState)(new Set),[I,L]=(0,X.useState)(!1),[R,z]=(0,X.useState)(!1),B=(0,X.useRef)(null),[V,H]=(0,X.useState)(e.subagentId);V!==e.subagentId&&(H(e.subagentId),L(!1),z(!1),A(null),F(new Set)),(0,X.useLayoutEffect)(()=>{if(I)return;let e=B.current;e&&z(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,I]);let U=y(e);(0,X.useEffect)(()=>{u&&U&&e.events.length===0&&u(e.subagentId)},[e.subagentId,U,e.events.length,u]);let W=E?w.get(E):void 0,G=(0,X.useCallback)(()=>A(null),[]),K=W?W.activity||W.title:``,q=W?K:e.label;return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[W&&(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,Z.jsx)(n,{variant:`link`,onClick:G,title:e.label,className:`inline-flex min-w-0 shrink border-0 text-left text-[color:var(--content-default)]`,children:(0,Z.jsx)(i,{variant:`body-small-default`,as:`span`,className:`min-w-0 truncate`,children:e.label})}),(0,Z.jsx)(m,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,Z.jsx)(i,{variant:`body-small-default`,as:`span`,title:K,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:K})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[W&&(0,Z.jsx)(n,{variant:`outlined`,iconOnly:(0,Z.jsx)(o,{}),onClick:G,"aria-label":`Back to timeline`,tooltip:`Back`,className:`shrink-0 rounded-lg`}),W?(0,Z.jsx)(be,{detail:W}):v?(0,Z.jsx)(D,{components:v,bodyShapeId:b.bodyShape,eyeStyleId:b.eyeStyle,colorId:b.color,size:32}):(0,Z.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,Z.jsx)(i,{variant:`title-medium`,title:q,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:q}),(0,Z.jsx)(re,{status:e.status}),(0,Z.jsx)(`span`,{className:`flex-1`}),f&&r&&(0,Z.jsx)(ne,{onStop:()=>r(e.subagentId),ariaLabel:`Stop subagent`}),(0,Z.jsx)(n,{variant:`outlined`,iconOnly:(0,Z.jsx)(_,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:(0,Z.jsx)(C.div,{initial:{opacity:0},animate:{opacity:1},transition:h?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:W?(0,Z.jsx)(Z.Fragment,{children:W.kind===`thinking`?(0,Z.jsx)(g,{content:W.thinkingText??``,hardLineBreaks:!0,assistantId:d}):W.kind===`web_search`&&W.status!==`error`?(0,Z.jsx)(ge,{detail:W}):W.toolName===`web_fetch`?(0,Z.jsx)(he,{detail:W}):(0,Z.jsx)(te,{detail:W})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,Z.jsx)(l,{icon:(0,Z.jsx)(a,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>s(Math.round(e)),label:`Input`}),(0,Z.jsx)(l,{icon:(0,Z.jsx)(c,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>s(Math.round(e)),label:`Output`})]}),e.objective&&(0,Z.jsxs)(`div`,{className:`mb-5`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,Z.jsx)(i,{ref:B,variant:`body-medium-lighter`,as:`p`,tabIndex:I?0:void 0,role:I?`region`:void 0,"aria-label":I?`Objective`:void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${I?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),R&&(0,Z.jsx)(n,{variant:`link`,onClick:()=>L(e=>!e),"aria-expanded":I,rightIcon:(0,Z.jsx)(p,{className:`h-3.5 w-3.5 transition-transform ${I?`rotate-180`:``}`,"aria-hidden":!0}),className:`mt-1.5 inline-flex gap-1 border-0 text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)] hover:no-underline`,children:(0,Z.jsx)(i,{variant:`label-small-default`,children:I?`Show less`:`Show more`})}),(0,Z.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),e.events.length>0?(0,Z.jsx)(le,{steps:S,expandedKeys:P,onExpandedKeysChange:F,onStepDetailClick:N,isRunning:f},e.subagentId):(0,Z.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`})]})]})},W?`detail`:`list`)})]})}export{xe as SubagentDetailPanel};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{s as t,t as n}from"./local-settings-Bx7FsNo5.js";import{t as r}from"./react-BFJW0bSv.js";import{F as i,t as a}from"./button-Dy5001j6.js";import{l as o,m as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./card-DRIctGVs.js";import{t as m}from"./createLucideIcon-CAM1RhH8.js";import{t as h}from"./arrow-down-to-line-DMGjBlMw.js";import{t as g}from"./arrow-left-W84B6oJL.js";import{a as _,i as v,n as y,o as b,r as x,s as S,t as ee}from"./use-skill-actions-B_tz3CI7.js";import{t as C}from"./brain-CN4zzNgU.js";import{t as w}from"./calendar-qrPKlf1H.js";import{t as T}from"./check-Dt2rQhdg.js";import{i as E,n as te,r as ne,t as re}from"./invalidate-plugin-queries-B0OpJSUW.js";import{t as D}from"./circle-check-big-DtV6IJuh.js";import{t as ie}from"./cloud-off-BFACQbO0.js";import{t as ae}from"./code-D6SOwRrI.js";import"./src-Da9g8qsW.js";import{t as oe}from"./download-Cnb8zZrK.js";import{t as O}from"./external-link-GPGZ1LGU.js";import{t as k}from"./globe-CdLn4IX7.js";import{t as se}from"./hard-drive-sI2ZzmqM.js";import{t as A}from"./heart-DFD4eqW-.js";import{t as j}from"./layout-grid-Ct4RT2Ea.js";import{t as ce}from"./link-2-DhyrrFaE.js";import{t as M}from"./loader-circle-DWWXcfTQ.js";import{t as le}from"./mail-DyUf40pu.js";import{t as ue}from"./message-circle-ByXBaIaq.js";import{t as de}from"./mic-BZZo0R22.js";import{t as fe}from"./puzzle-4NgH5snP.js";import{t as pe}from"./search-DL-2uX3K.js";import{t as me}from"./settings-6_RIT4kT.js";import{t as he}from"./sparkles-DfEFn3Bh.js";import{t as N}from"./terminal-BucMVaPU.js";import{t as ge}from"./trash-2-DfVRfykB.js";import{t as P}from"./triangle-alert-D6bAGtMw.js";import{t as _e}from"./user-DHC7OLPE.js";import{t as ve}from"./x-D4O9yIS7.js";import{n as F,t as ye}from"./installed-plugins-query-3ACToZeY.js";import{t as I}from"./tag-gOOX7fbA.js";import{t as L}from"./popover-B-3isZCV.js";import{t as be}from"./input-tXUFa7Eo.js";import{t as xe}from"./toggle-BEPV0rQM.js";import{n as R,t as Se}from"./panel-item-CJh95P_q.js";import{n as z}from"./toast-BtFgiPe3.js";import{t as Ce}from"./confirm-dialog-j9o2h3xs.js";import{t as we}from"./file-markdown-DnVLY_b_.js";import{t as Te}from"./assistant-identity-store-B51BX78j.js";import{i as B}from"./utils-DtVy-_pB.js";import{Bn as Ee,Gn as De,Hn as Oe,zn as ke}from"./sdk.gen-CjtCuSlS.js";import{d as Ae}from"./routes-DrfnNoYS.js";import{Ct as je,at as Me,cn as Ne,lt as V,on as Pe,sn as Fe,st as H,ut as Ie,wt as Le}from"./react-query.gen-C7om930f.js";import{n as Re}from"./use-is-mobile-MmHo-OM6.js";import{t as U}from"./misc-BBsGq1IU.js";import{t as ze}from"./plugins-surface-C_pFzsVo.js";import{t as Be}from"./use-active-assistant-id-JLsAfn3e.js";import{n as Ve,r as He}from"./skills-CbF2uKXV.js";var Ue=m(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),W=e(r(),1),G=f(),We={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function K({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,G.jsx)(`span`,{className:U(`flex shrink-0 items-center justify-center`,We[r],i),children:c?(0,G.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var Ge=e=>`Remove "${e}" from this assistant?`,Ke=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,qe=`Upgrade anyway`,Je=`Failed to install plugin. Please try again.`,Ye=`Failed to remove plugin. Please try again.`,Xe=`Failed to upgrade plugin. Please try again.`,Ze=`Failed to update plugin. Please try again.`;function Qe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function $e(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function et(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function tt(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function nt(e){return e?e.slice(0,7):`unknown`}function q({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,G.jsx)(`dl`,{className:U(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,G.jsxs)(`div`,{className:`contents`,children:[(0,G.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,G.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,G.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,G.jsx)(O,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function rt({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${nt(t?.local?.commit??null)} → ${nt(t?.remote?.commit??null)}`:void 0;return(0,G.jsxs)(G.Fragment,{children:[v?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,G.jsx)(xe,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(oe,{"aria-hidden":!0}),children:(0,G.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,G.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(E,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Ce,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Ce,{open:g,title:`Upgrade plugin`,message:Ke(e.name),confirmLabel:qe,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function it(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function J(){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,G.jsx)(P,{className:`h-6 w-6`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function at({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Je:t?Ye:n?Xe:null;return r?(0,G.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,G.jsx)(P,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:k}:{label:`Local`,icon:se};return(0,G.jsx)(I,{tone:`neutral`,leftIcon:(0,W.createElement)(n.icon),className:t,children:n.label})}function Y({onClick:e,isUpgrading:t=!1}={}){let n=(0,G.jsx)(I,{tone:`warning`,leftIcon:(0,W.createElement)(t?M:E,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var st=300*1e3;function X({assistantId:e,name:t,enabled:n=!0}){return u({...H({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:st,retry:!1})}function ct(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function lt(e,t,n){let r=l(),i=n?.onRemoved,a=u({...Me({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=X({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,W.useCallback)(()=>re(r,e,t),[e,t,r]),c=Ne({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Pe({onSuccess:()=>{s(),i?.()}}),f=Fe({onSuccess:e=>{s(),z.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${nt(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{c.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:c.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:c.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ct(o)}}var ut=`0.10.5`;function dt(){return B(ut)}function Z(e,t,n,r){let i=dt(),{data:a}=u({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await Oe({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function ft(e){let t=l(),n={queryKey:V({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=d({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?Ee({path:{assistant_id:e,name:t},throwOnError:!1}):ke({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),z.error(Ze)},onSettled:(n,r,i)=>{re(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function pt({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),C=Z(e,t,o?.hasIcon,o?.iconVersion);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,G.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,G.jsx)(Q,{name:t,plugin:o,externalHint:r,iconSrc:C,drift:s,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t})]}),(v||y||b)&&(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(we,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Q({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,G.jsx)(ot,{external:h}):null,_?(0,G.jsx)(Y,{}):null]}),t?.description?(0,G.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,G.jsx)(rt,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var mt=e(i(),1);function ht({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{w(document.getElementById(`viewport-overlays`))},[]);let T=o?.source?.kind===`github`,E=o?T:r,te=s?.status===`update-available`,ne=o?.name??t,re=Z(e,t,o?.hasIcon,o?.iconVersion),D=(0,G.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(a,{variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:ne}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,G.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:E,icon:o?.icon??void 0,iconSrc:re,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:ne})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[te?(0,G.jsx)(Y,{}):null,o?(0,G.jsx)(ot,{external:T}):null]})]}),o?.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,G.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,G.jsx)(rt,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,G.jsx)(p.Root,{asChild:!0,noPadding:!0,children:(0,G.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(we,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return C?(0,mt.createPortal)(D,C):D}function gt({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,f=n?.status===`update-available`,m=t.enabled!==void 0,g=t.enabled===!1,_=Z(e,t.name,t.hasIcon,t.iconVersion);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(K,{size:`sm`,external:t.external,icon:t.icon,iconSrc:_,className:g?`opacity-50`:void 0}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:g?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,(0,G.jsx)(I,{tone:`neutral`,leftIcon:(0,G.jsx)(fe,{"aria-hidden":!0}),children:`Plugin`}),f?(0,G.jsx)(Y,{onClick:s,isUpgrading:u}):null]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,G.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,G.jsx)(I,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:le,calendar:w,"message-circle":ue,globe:k,zap:F,code:ae,mic:de,"shopping-cart":te,palette:ne,heart:A,settings:me,"link-2":ce};function vt(e){return _t[e]}function yt({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,G.jsx)(bt,{icon:j,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??j,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function bt({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,G.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}function xt({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=x(e),c=Ve(e);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(b,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(_,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var St=[{value:`all`,label:`All`,icon:j},{value:`installed`,label:`Installed`,icon:D},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:F},{value:`plugins`,label:`Plugins`,icon:fe}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:k},{value:`skillssh`,label:`skills.sh`,icon:N},{value:`custom`,label:`Custom`,icon:_e},{value:`assistant-memory`,label:`Assistant's Memory`,icon:C}];function Tt({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(be,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(pe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(M,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(Et,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d})]})}function Et(e){let t=Re(),[n,r]=(0,W.useState)(!1),i=(0,G.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(Ue,{"aria-hidden":!0}),"aria-label":`Filter superpowers`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});if(t)return(0,G.jsx)(Dt,{...e,open:n,onOpenChange:r,trigger:i});let o=t=>{e.onFilterChange(t),r(!1)};return(0,G.jsxs)(L.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(L.Trigger,{asChild:!0,children:i}),(0,G.jsx)(L.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(kt,{label:`Status`,options:St,selected:e.filter,onSelect:o}),e.pluginsSupported&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Type`,options:Ct,selected:e.filter,onSelect:o})]}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Source`,options:wt,selected:e.filter,onSelect:o})]})})]})}function Dt({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginsSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(R.Root,{open:u,onOpenChange:d,children:[(0,G.jsx)(R.Trigger,{asChild:!0,children:f}),(0,G.jsxs)(R.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(R.Header,{children:(0,G.jsx)(R.Title,{children:`Filters`})}),(0,G.jsxs)(R.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(Ot,{label:`Status`,children:St.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),l&&(0,G.jsx)(Ot,{label:`Type`,children:Ct.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(Ot,{label:`Source`,children:wt.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(Ot,{label:`Categories`,children:[(0,G.jsx)($,{icon:j,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??j,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,G.jsx)(R.Footer,{children:(0,G.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Ot({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(Se,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(T,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function kt({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(D,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}var At=300*1e3,jt=[],Mt=[];async function Nt(e,t,n){let r=await De({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function Pt(e,t){let[n,r]=(0,W.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,W.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function Ft(e,t=null,n=!0){let r=t??void 0,i=u({queryKey:V({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({...ye(e),enabled:!!e&&n&&t!==null}),o=u({...Ie({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&n,staleTime:At}),s=(0,W.useMemo)(()=>{let e=t===null?i.data?.plugins:a.data?.plugins??i.data?.plugins;return new Set((e??jt).map(e=>e.name))},[t,a.data?.plugins,i.data?.plugins]),c=(0,W.useMemo)(()=>{let e=i.data?.plugins??jt,n=o.data?.matches??Mt;return et(Qe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!s.has(e.name))))},[i.data?.plugins,o.data?.matches,t,s]),d=t===null?i.data:a.data,f=Pt(e,d?.categoryCounts!==void 0),p=Pt(e,(d?.plugins??jt).some(e=>e.enabled!==void 0)),m=l(),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{if(h.current===e||!o.isSuccess)return;let t=d?.plugins;if(!t?.length)return;let n=new Map((o.data?.matches??Mt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(h.current=e,m.invalidateQueries({queryKey:V({path:{assistant_id:e},query:{q:void 0}})}))},[e,o.isSuccess,o.data?.matches,d?.plugins,m]),{items:c,isLoading:i.isLoading,catalogLoading:o.isLoading,isError:i.isError,isFetching:i.isFetching||o.isFetching,catalogError:o.isError,categorySupported:f,pluginToggleSupported:p,installedCategoryCounts:d?.categoryCounts,installedPlugins:d?.plugins??jt,installedTotal:d?.totalCount,catalogMatches:o.data?.matches??Mt,unfilteredInstalledNames:s}}function It(e){return u({...je({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}var Lt=new Set([`all`,`installed`,`available`,`skills`,`plugins`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function Rt(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Vt(t)?t:`all`,category:n||null}}function zt(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Bt(n,`q`,t.q.trim()||null),t.filter!==void 0&&Bt(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Bt(n,`category`,t.category),n}function Bt(e,t,n){n===null?e.delete(t):e.set(t,n)}function Vt(e){return e!==null&&Lt.has(e)}function Ht(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ut(e){return e!==`plugins`}function Wt(e){return e===`all`||e===`installed`||e===`available`||e===`plugins`}function Gt(e){switch(e){case`installed`:return`installed`;case`available`:return`available`;default:return`all`}}function Kt(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var qt=300,Jt=`vellum:superpowers:tipDismissed`;function Yt(e){return[...e].sort((e,t)=>e.installed===t.installed?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):e.installed?-1:1)}function Xt({assistantId:e}){let r=c(),i=o(),a=l(),d=Re(),f=Te.use.version(),p=ze(),[m,h]=s(),{q:g,filter:_,category:y}=(0,W.useMemo)(()=>Rt(m),[m]),b=m.get(`plugin`),x=(0,W.useCallback)(e=>{h(t=>zt(t,e),{replace:!0})},[h]),S=m.get(`success`),C=(0,W.useRef)(!1);(0,W.useEffect)(()=>{S!==`true`||C.current||(C.current=!0,b&&z.success(`Installed ${b}`),h(e=>{let t=new URLSearchParams(e);return t.delete(`success`),t},{replace:!0}))},[S,b,h]);let[w,T]=(0,W.useState)(g),E=Kt(w.trim(),qt),te=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==te.current&&(te.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(te.current=E,x({q:E}))},[E,g,w,x]);let ne=(0,W.useCallback)(e=>x({filter:e}),[x]),D=(0,W.useCallback)(e=>x({category:e}),[x]),[ie,ae]=(0,W.useState)(()=>n(Jt,!1)),oe=(0,W.useCallback)(()=>{ae(!0),t(Jt,!0)},[]),O=!p&&_===`plugins`?`all`:_,k=Ut(O),se=p&&Wt(O),A=Gt(O),{handleInstall:j,handleRemove:ce,isInstallingSkill:M,isRemovingSkill:le,skillPendingRemoval:ue,confirmRemove:de,cancelRemove:fe}=ee(e),{data:pe=[]}=It(e),{origin:me,kind:he}=(0,W.useMemo)(()=>Ht(O),[O]),N=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k}),ge=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k&&y!==null}),{items:P,isLoading:_e,catalogLoading:ve,isError:F,isFetching:ye,catalogError:I,categorySupported:L,installedCategoryCounts:be,installedPlugins:xe,installedTotal:R,catalogMatches:Se,unfilteredInstalledNames:we}=Ft(e,y,p),B=se&&(y===null||L),Ee=(0,W.useCallback)(t=>re(a,e,t),[e,a]),[De,Oe]=(0,W.useState)(null),[ke,je]=(0,W.useState)(null),[Me,V]=(0,W.useState)(null),[H,Ie]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),Ve=Ne({onMutate:e=>Oe(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{Oe(null),Ee(n.body.name)}}),Ue=Pe({onMutate:e=>je(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{je(null),Ee(n.path.name)}}),We=Fe({onMutate:e=>V(e.path.name),onSuccess:(e,t)=>z.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${nt(e.toCommit)}`),onError:()=>z.error(Xe),onSettled:(e,t,n)=>{V(null),Ee(n.path.name)}}),K=(0,W.useCallback)(e=>h(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[h]),Ze=(0,W.useCallback)(()=>h(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[h]),Qe=(0,W.useCallback)(t=>{Ve.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,Ve]),et=(0,W.useCallback)(()=>{H&&(Ue.mutate({path:{assistant_id:e,name:H.name}}),Ie(null))},[e,H,Ue]),q=(0,W.useCallback)(t=>{We.mutate({path:{assistant_id:e,name:t},body:{}})},[e,We]),rt=(0,W.useCallback)(()=>{U&&(q(U.name),Be(null))},[U,q]),it=(0,W.useCallback)((e,t)=>{if(ct(t)){Be(e);return}q(e.name)},[q]),J=(0,W.useMemo)(()=>k?N.data?.skills??[]:[],[k,N.data?.skills]),at=(0,W.useMemo)(()=>B?tt(P,A).filter(e=>$e(e,E)):[],[B,P,A,E]),ot=(0,W.useMemo)(()=>Yt([...J.map(e=>({type:`skill`,key:`skill:${e.id}`,name:e.name,installed:v(e),skill:e})),...at.map(e=>({type:`plugin`,key:`plugin:${e.name}`,name:e.name,installed:e.status===`installed`,item:e}))]),[J,at]),Y=y===null?N.data:ge.data,st=Zt(k,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(se&&L,be,xe,R,Se,we,A),{counts:lt,totalCount:ut}=(0,W.useMemo)(()=>{let e={...st.counts};for(let[t,n]of Object.entries(X.counts))e[t]=(e[t]??0)+n;return{counts:e,totalCount:st.totalCount+X.totalCount}},[st,X]),dt=k&&N.isLoading,Z=k&&N.isError,ft=B&&_e,Q=B&&F,mt=(Z||!k)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(k&&N.isFetching||B&&ye&&!_e),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=P.find(e=>e.name===b),n={assistantId:e,name:b,externalHint:t?.external,enabled:t?.enabled,onBack:Ze};return d?(0,G.jsx)(ht,{...n}):(0,G.jsx)(pt,{...n})}let St=(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:_t?(0,G.jsx)(nn,{}):mt?(0,G.jsx)(rn,{}):ot.length===0?B&&ve&&A!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:O,category:y}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:ot.map(t=>(0,G.jsx)(`li`,{children:t.type===`skill`?(0,G.jsx)(xt,{skill:t.skill,onSelect:()=>r(Ae.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>j(t.skill),onRemove:()=>ce(t.skill),isInstalling:M(t.skill),isRemoving:le(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>Ie(t.item),onUpgrade:e=>it(t.item,e),isRemoving:ke===t.item.name,isUpgrading:Me===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:De===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ie&&(0,G.jsx)(en,{onDismiss:oe}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:O,onFilterChange:ne,isSearching:vt,categories:pe,category:y,onCategoryChange:D,counts:lt,totalCount:ut,showCounts:!bt,pluginsSupported:p}),!_t&&!mt&&Z?(0,G.jsx)(tn,{text:`Skills are temporarily unavailable. Plugins are still listed below.`}):null,!_t&&!mt&&Q?(0,G.jsx)(tn,{text:`Plugins are temporarily unavailable. Skills are still listed below.`}):null,B&&I&&!ft&&!Q?(0,G.jsx)(tn,{text:`Plugin catalog browsing is temporarily unavailable. Installed plugins are still listed below.`}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(yt,{ariaLabel:`Superpower categories`,selected:y,onSelect:D,counts:lt,totalCount:ut,showCounts:!bt,categories:pe})}),St]}),(0,G.jsx)(He,{skillName:ue?.name??null,onConfirm:de,onCancel:fe}),(0,G.jsx)(Ce,{open:H!==null,title:`Remove plugin`,message:H?Ge(H.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>Ie(null)}),(0,G.jsx)(Ce,{open:U!==null,title:`Upgrade plugin`,message:U?Ke(U.name):``,confirmLabel:qe,destructive:!0,onConfirm:rt,onCancel:()=>Be(null)})]})}function Zt(e,t,n,r){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};if(n&&Object.keys(n).length>0)return{counts:n,totalCount:r??t.length};let i={};for(let e of t){let t=e.category??`system`;i[t]=(i[t]??0)+1}return{counts:i,totalCount:r??t.length}},[e,t,n,r])}function Qt(e,t,n,r,i,a,o){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};let s={},c=o!==`available`,l=o===`all`||o===`available`;if(c)if(t&&Object.keys(t).length>0)Object.assign(s,t);else for(let e of n){let t=e.category??`system`;s[t]=(s[t]??0)+1}let u=0;if(l)for(let e of i){if(a.has(e.name))continue;let t=e.category??`system`;s[t]=(s[t]??0)+1,u+=1}let d=r??n.length;return{counts:s,totalCount:(c?d:0)+u}},[e,t,n,r,i,a,o])}function $t({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=X({assistantId:e,name:t.name}).data;return(0,G.jsx)(gt,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function en({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(he,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`Create a new custom skill by describing what you want in chat, or install plugins to extend your assistant.`}),(0,G.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(ve,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function tn({text:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(ie,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`flex-1`,children:e})]})}function nn(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function rn(){return(0,G.jsx)(p.Root,{children:(0,G.jsxs)(p.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,G.jsx)(P,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load superpowers`}),(0,G.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function an({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=on(e,t);return(0,G.jsx)(y,{icon:i,title:n,subtitle:r})}function on(e,t){if(t)return{title:`Nothing in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:j};switch(e){case`installed`:return{title:`No Superpowers Installed`,subtitle:`Ask your assistant in chat to search for and install new skills and plugins.`,Icon:F};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:D};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:F};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:fe};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:F};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:F};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:F};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:F};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:F};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ie}}}function sn(){return(0,G.jsx)(Xt,{assistantId:Be()})}export{sn as SuperpowersPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{s as t,t as n}from"./local-settings-Bx7FsNo5.js";import{t as r}from"./react-BFJW0bSv.js";import{W as i,t as a}from"./button-BwFudwM5.js";import{l as o,m as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./card-DRIctGVs.js";import{t as m}from"./createLucideIcon-CAM1RhH8.js";import{t as h}from"./arrow-down-to-line-DMGjBlMw.js";import{t as g}from"./arrow-left-W84B6oJL.js";import{a as _,i as v,n as y,o as b,r as x,s as S,t as ee}from"./use-skill-actions-Ik0rj4or.js";import{t as C}from"./brain-CN4zzNgU.js";import{t as w}from"./calendar-qrPKlf1H.js";import{t as T}from"./check-Dt2rQhdg.js";import{i as E,n as te,r as ne,t as re}from"./invalidate-plugin-queries-B0OpJSUW.js";import{t as D}from"./circle-check-big-DtV6IJuh.js";import{t as ie}from"./cloud-off-BFACQbO0.js";import{t as ae}from"./code-D6SOwRrI.js";import"./src-CwGlaCIx.js";import{t as oe}from"./download-Cnb8zZrK.js";import{t as O}from"./external-link-GPGZ1LGU.js";import{t as k}from"./globe-CdLn4IX7.js";import{t as se}from"./hard-drive-sI2ZzmqM.js";import{t as A}from"./heart-DFD4eqW-.js";import{t as j}from"./layout-grid-Ct4RT2Ea.js";import{t as ce}from"./link-2-DhyrrFaE.js";import{t as M}from"./loader-circle-DWWXcfTQ.js";import{t as le}from"./mail-DyUf40pu.js";import{t as ue}from"./message-circle-ByXBaIaq.js";import{t as de}from"./mic-BZZo0R22.js";import{t as fe}from"./puzzle-4NgH5snP.js";import{t as pe}from"./search-DL-2uX3K.js";import{t as me}from"./settings-6_RIT4kT.js";import{t as he}from"./sparkles-DfEFn3Bh.js";import{t as N}from"./terminal-BucMVaPU.js";import{t as ge}from"./trash-2-DfVRfykB.js";import{t as P}from"./triangle-alert-D6bAGtMw.js";import{t as _e}from"./user-DHC7OLPE.js";import{t as ve}from"./x-D4O9yIS7.js";import{n as F,t as ye}from"./installed-plugins-query-3ACToZeY.js";import{t as I}from"./tag-G0ELn_cq.js";import{t as L}from"./popover-CBYgK7Wt.js";import{t as be}from"./input-CgGeKtja.js";import{t as xe}from"./toggle-BEPV0rQM.js";import{n as R,t as Se}from"./panel-item-5YQ3jbso.js";import{n as z}from"./toast-BHjG1kP8.js";import{t as Ce}from"./confirm-dialog-B7WBNDbT.js";import{t as we}from"./file-markdown-eU8RUJQZ.js";import{t as Te}from"./assistant-identity-store-B51BX78j.js";import{i as B}from"./utils-DtVy-_pB.js";import{Bn as Ee,Gn as De,Hn as Oe,zn as ke}from"./sdk.gen-CjtCuSlS.js";import{d as Ae}from"./routes-DrfnNoYS.js";import{Ct as je,at as Me,cn as Ne,lt as V,on as Pe,sn as Fe,st as H,ut as Ie,wt as Le}from"./react-query.gen-C7om930f.js";import{n as Re}from"./use-is-mobile-MmHo-OM6.js";import{t as U}from"./misc-BBsGq1IU.js";import{t as ze}from"./plugins-surface-C_pFzsVo.js";import{t as Be}from"./use-active-assistant-id-JLsAfn3e.js";import{n as Ve,r as He}from"./skills-CrZ3GlyK.js";var Ue=m(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),W=e(r(),1),G=f(),We={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function K({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,G.jsx)(`span`,{className:U(`flex shrink-0 items-center justify-center`,We[r],i),children:c?(0,G.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var Ge=e=>`Remove "${e}" from this assistant?`,Ke=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,qe=`Upgrade anyway`,Je=`Failed to install plugin. Please try again.`,Ye=`Failed to remove plugin. Please try again.`,Xe=`Failed to upgrade plugin. Please try again.`,Ze=`Failed to update plugin. Please try again.`;function Qe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function $e(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function et(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function tt(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function nt(e){return e?e.slice(0,7):`unknown`}function q({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,G.jsx)(`dl`,{className:U(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,G.jsxs)(`div`,{className:`contents`,children:[(0,G.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,G.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,G.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,G.jsx)(O,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function rt({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${nt(t?.local?.commit??null)} → ${nt(t?.remote?.commit??null)}`:void 0;return(0,G.jsxs)(G.Fragment,{children:[v?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,G.jsx)(xe,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(oe,{"aria-hidden":!0}),children:(0,G.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,G.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(E,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Ce,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Ce,{open:g,title:`Upgrade plugin`,message:Ke(e.name),confirmLabel:qe,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function it(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function J(){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,G.jsx)(P,{className:`h-6 w-6`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function at({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Je:t?Ye:n?Xe:null;return r?(0,G.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,G.jsx)(P,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:k}:{label:`Local`,icon:se};return(0,G.jsx)(I,{tone:`neutral`,leftIcon:(0,W.createElement)(n.icon),className:t,children:n.label})}function Y({onClick:e,isUpgrading:t=!1}={}){let n=(0,G.jsx)(I,{tone:`warning`,leftIcon:(0,W.createElement)(t?M:E,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var st=300*1e3;function X({assistantId:e,name:t,enabled:n=!0}){return u({...H({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:st,retry:!1})}function ct(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function lt(e,t,n){let r=l(),i=n?.onRemoved,a=u({...Me({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=X({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,W.useCallback)(()=>re(r,e,t),[e,t,r]),c=Ne({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Pe({onSuccess:()=>{s(),i?.()}}),f=Fe({onSuccess:e=>{s(),z.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${nt(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{c.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:c.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:c.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ct(o)}}var ut=`0.10.5`;function dt(){return B(ut)}function Z(e,t,n,r){let i=dt(),{data:a}=u({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await Oe({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function ft(e){let t=l(),n={queryKey:V({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=d({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?Ee({path:{assistant_id:e,name:t},throwOnError:!1}):ke({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),z.error(Ze)},onSettled:(n,r,i)=>{re(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function pt({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),C=Z(e,t,o?.hasIcon,o?.iconVersion);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,G.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,G.jsx)(Q,{name:t,plugin:o,externalHint:r,iconSrc:C,drift:s,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t})]}),(v||y||b)&&(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(we,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Q({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,G.jsx)(ot,{external:h}):null,_?(0,G.jsx)(Y,{}):null]}),t?.description?(0,G.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,G.jsx)(rt,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var mt=e(i(),1);function ht({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{w(document.getElementById(`viewport-overlays`))},[]);let T=o?.source?.kind===`github`,E=o?T:r,te=s?.status===`update-available`,ne=o?.name??t,re=Z(e,t,o?.hasIcon,o?.iconVersion),D=(0,G.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(a,{variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:ne}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,G.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:E,icon:o?.icon??void 0,iconSrc:re,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:ne})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[te?(0,G.jsx)(Y,{}):null,o?(0,G.jsx)(ot,{external:T}):null]})]}),o?.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,G.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,G.jsx)(rt,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,G.jsx)(p.Root,{asChild:!0,noPadding:!0,children:(0,G.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(we,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return C?(0,mt.createPortal)(D,C):D}function gt({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,f=n?.status===`update-available`,m=t.enabled!==void 0,g=t.enabled===!1,_=Z(e,t.name,t.hasIcon,t.iconVersion);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(K,{size:`sm`,external:t.external,icon:t.icon,iconSrc:_,className:g?`opacity-50`:void 0}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:g?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,(0,G.jsx)(I,{tone:`neutral`,leftIcon:(0,G.jsx)(fe,{"aria-hidden":!0}),children:`Plugin`}),f?(0,G.jsx)(Y,{onClick:s,isUpgrading:u}):null]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,G.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,G.jsx)(I,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:le,calendar:w,"message-circle":ue,globe:k,zap:F,code:ae,mic:de,"shopping-cart":te,palette:ne,heart:A,settings:me,"link-2":ce};function vt(e){return _t[e]}function yt({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,G.jsx)(bt,{icon:j,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??j,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function bt({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,G.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}function xt({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=x(e),c=Ve(e);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(b,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(_,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var St=[{value:`all`,label:`All`,icon:j},{value:`installed`,label:`Installed`,icon:D},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:F},{value:`plugins`,label:`Plugins`,icon:fe}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:k},{value:`skillssh`,label:`skills.sh`,icon:N},{value:`custom`,label:`Custom`,icon:_e},{value:`assistant-memory`,label:`Assistant's Memory`,icon:C}];function Tt({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(be,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(pe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(M,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(Et,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d})]})}function Et(e){let t=Re(),[n,r]=(0,W.useState)(!1),i=(0,G.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(Ue,{"aria-hidden":!0}),"aria-label":`Filter superpowers`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});if(t)return(0,G.jsx)(Dt,{...e,open:n,onOpenChange:r,trigger:i});let o=t=>{e.onFilterChange(t),r(!1)};return(0,G.jsxs)(L.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(L.Trigger,{asChild:!0,children:i}),(0,G.jsx)(L.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(kt,{label:`Status`,options:St,selected:e.filter,onSelect:o}),e.pluginsSupported&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Type`,options:Ct,selected:e.filter,onSelect:o})]}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Source`,options:wt,selected:e.filter,onSelect:o})]})})]})}function Dt({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginsSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(R.Root,{open:u,onOpenChange:d,children:[(0,G.jsx)(R.Trigger,{asChild:!0,children:f}),(0,G.jsxs)(R.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(R.Header,{children:(0,G.jsx)(R.Title,{children:`Filters`})}),(0,G.jsxs)(R.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(Ot,{label:`Status`,children:St.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),l&&(0,G.jsx)(Ot,{label:`Type`,children:Ct.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(Ot,{label:`Source`,children:wt.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(Ot,{label:`Categories`,children:[(0,G.jsx)($,{icon:j,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??j,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,G.jsx)(R.Footer,{children:(0,G.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Ot({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(Se,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(T,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function kt({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(D,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}var At=300*1e3,jt=[],Mt=[];async function Nt(e,t,n){let r=await De({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function Pt(e,t){let[n,r]=(0,W.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,W.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function Ft(e,t=null,n=!0){let r=t??void 0,i=u({queryKey:V({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({...ye(e),enabled:!!e&&n&&t!==null}),o=u({...Ie({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&n,staleTime:At}),s=(0,W.useMemo)(()=>{let e=t===null?i.data?.plugins:a.data?.plugins??i.data?.plugins;return new Set((e??jt).map(e=>e.name))},[t,a.data?.plugins,i.data?.plugins]),c=(0,W.useMemo)(()=>{let e=i.data?.plugins??jt,n=o.data?.matches??Mt;return et(Qe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!s.has(e.name))))},[i.data?.plugins,o.data?.matches,t,s]),d=t===null?i.data:a.data,f=Pt(e,d?.categoryCounts!==void 0),p=Pt(e,(d?.plugins??jt).some(e=>e.enabled!==void 0)),m=l(),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{if(h.current===e||!o.isSuccess)return;let t=d?.plugins;if(!t?.length)return;let n=new Map((o.data?.matches??Mt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(h.current=e,m.invalidateQueries({queryKey:V({path:{assistant_id:e},query:{q:void 0}})}))},[e,o.isSuccess,o.data?.matches,d?.plugins,m]),{items:c,isLoading:i.isLoading,catalogLoading:o.isLoading,isError:i.isError,isFetching:i.isFetching||o.isFetching,catalogError:o.isError,categorySupported:f,pluginToggleSupported:p,installedCategoryCounts:d?.categoryCounts,installedPlugins:d?.plugins??jt,installedTotal:d?.totalCount,catalogMatches:o.data?.matches??Mt,unfilteredInstalledNames:s}}function It(e){return u({...je({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}var Lt=new Set([`all`,`installed`,`available`,`skills`,`plugins`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function Rt(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Vt(t)?t:`all`,category:n||null}}function zt(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Bt(n,`q`,t.q.trim()||null),t.filter!==void 0&&Bt(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Bt(n,`category`,t.category),n}function Bt(e,t,n){n===null?e.delete(t):e.set(t,n)}function Vt(e){return e!==null&&Lt.has(e)}function Ht(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ut(e){return e!==`plugins`}function Wt(e){return e===`all`||e===`installed`||e===`available`||e===`plugins`}function Gt(e){switch(e){case`installed`:return`installed`;case`available`:return`available`;default:return`all`}}function Kt(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var qt=300,Jt=`vellum:superpowers:tipDismissed`;function Yt(e){return[...e].sort((e,t)=>e.installed===t.installed?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):e.installed?-1:1)}function Xt({assistantId:e}){let r=c(),i=o(),a=l(),d=Re(),f=Te.use.version(),p=ze(),[m,h]=s(),{q:g,filter:_,category:y}=(0,W.useMemo)(()=>Rt(m),[m]),b=m.get(`plugin`),x=(0,W.useCallback)(e=>{h(t=>zt(t,e),{replace:!0})},[h]),S=m.get(`success`),C=(0,W.useRef)(!1);(0,W.useEffect)(()=>{S!==`true`||C.current||(C.current=!0,b&&z.success(`Installed ${b}`),h(e=>{let t=new URLSearchParams(e);return t.delete(`success`),t},{replace:!0}))},[S,b,h]);let[w,T]=(0,W.useState)(g),E=Kt(w.trim(),qt),te=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==te.current&&(te.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(te.current=E,x({q:E}))},[E,g,w,x]);let ne=(0,W.useCallback)(e=>x({filter:e}),[x]),D=(0,W.useCallback)(e=>x({category:e}),[x]),[ie,ae]=(0,W.useState)(()=>n(Jt,!1)),oe=(0,W.useCallback)(()=>{ae(!0),t(Jt,!0)},[]),O=!p&&_===`plugins`?`all`:_,k=Ut(O),se=p&&Wt(O),A=Gt(O),{handleInstall:j,handleRemove:ce,isInstallingSkill:M,isRemovingSkill:le,skillPendingRemoval:ue,confirmRemove:de,cancelRemove:fe}=ee(e),{data:pe=[]}=It(e),{origin:me,kind:he}=(0,W.useMemo)(()=>Ht(O),[O]),N=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k}),ge=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k&&y!==null}),{items:P,isLoading:_e,catalogLoading:ve,isError:F,isFetching:ye,catalogError:I,categorySupported:L,installedCategoryCounts:be,installedPlugins:xe,installedTotal:R,catalogMatches:Se,unfilteredInstalledNames:we}=Ft(e,y,p),B=se&&(y===null||L),Ee=(0,W.useCallback)(t=>re(a,e,t),[e,a]),[De,Oe]=(0,W.useState)(null),[ke,je]=(0,W.useState)(null),[Me,V]=(0,W.useState)(null),[H,Ie]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),Ve=Ne({onMutate:e=>Oe(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{Oe(null),Ee(n.body.name)}}),Ue=Pe({onMutate:e=>je(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{je(null),Ee(n.path.name)}}),We=Fe({onMutate:e=>V(e.path.name),onSuccess:(e,t)=>z.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${nt(e.toCommit)}`),onError:()=>z.error(Xe),onSettled:(e,t,n)=>{V(null),Ee(n.path.name)}}),K=(0,W.useCallback)(e=>h(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[h]),Ze=(0,W.useCallback)(()=>h(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[h]),Qe=(0,W.useCallback)(t=>{Ve.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,Ve]),et=(0,W.useCallback)(()=>{H&&(Ue.mutate({path:{assistant_id:e,name:H.name}}),Ie(null))},[e,H,Ue]),q=(0,W.useCallback)(t=>{We.mutate({path:{assistant_id:e,name:t},body:{}})},[e,We]),rt=(0,W.useCallback)(()=>{U&&(q(U.name),Be(null))},[U,q]),it=(0,W.useCallback)((e,t)=>{if(ct(t)){Be(e);return}q(e.name)},[q]),J=(0,W.useMemo)(()=>k?N.data?.skills??[]:[],[k,N.data?.skills]),at=(0,W.useMemo)(()=>B?tt(P,A).filter(e=>$e(e,E)):[],[B,P,A,E]),ot=(0,W.useMemo)(()=>Yt([...J.map(e=>({type:`skill`,key:`skill:${e.id}`,name:e.name,installed:v(e),skill:e})),...at.map(e=>({type:`plugin`,key:`plugin:${e.name}`,name:e.name,installed:e.status===`installed`,item:e}))]),[J,at]),Y=y===null?N.data:ge.data,st=Zt(k,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(se&&L,be,xe,R,Se,we,A),{counts:lt,totalCount:ut}=(0,W.useMemo)(()=>{let e={...st.counts};for(let[t,n]of Object.entries(X.counts))e[t]=(e[t]??0)+n;return{counts:e,totalCount:st.totalCount+X.totalCount}},[st,X]),dt=k&&N.isLoading,Z=k&&N.isError,ft=B&&_e,Q=B&&F,mt=(Z||!k)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(k&&N.isFetching||B&&ye&&!_e),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=P.find(e=>e.name===b),n={assistantId:e,name:b,externalHint:t?.external,enabled:t?.enabled,onBack:Ze};return d?(0,G.jsx)(ht,{...n}):(0,G.jsx)(pt,{...n})}let St=(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:_t?(0,G.jsx)(nn,{}):mt?(0,G.jsx)(rn,{}):ot.length===0?B&&ve&&A!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:O,category:y}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:ot.map(t=>(0,G.jsx)(`li`,{children:t.type===`skill`?(0,G.jsx)(xt,{skill:t.skill,onSelect:()=>r(Ae.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>j(t.skill),onRemove:()=>ce(t.skill),isInstalling:M(t.skill),isRemoving:le(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>Ie(t.item),onUpgrade:e=>it(t.item,e),isRemoving:ke===t.item.name,isUpgrading:Me===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:De===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ie&&(0,G.jsx)(en,{onDismiss:oe}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:O,onFilterChange:ne,isSearching:vt,categories:pe,category:y,onCategoryChange:D,counts:lt,totalCount:ut,showCounts:!bt,pluginsSupported:p}),!_t&&!mt&&Z?(0,G.jsx)(tn,{text:`Skills are temporarily unavailable. Plugins are still listed below.`}):null,!_t&&!mt&&Q?(0,G.jsx)(tn,{text:`Plugins are temporarily unavailable. Skills are still listed below.`}):null,B&&I&&!ft&&!Q?(0,G.jsx)(tn,{text:`Plugin catalog browsing is temporarily unavailable. Installed plugins are still listed below.`}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(yt,{ariaLabel:`Superpower categories`,selected:y,onSelect:D,counts:lt,totalCount:ut,showCounts:!bt,categories:pe})}),St]}),(0,G.jsx)(He,{skillName:ue?.name??null,onConfirm:de,onCancel:fe}),(0,G.jsx)(Ce,{open:H!==null,title:`Remove plugin`,message:H?Ge(H.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>Ie(null)}),(0,G.jsx)(Ce,{open:U!==null,title:`Upgrade plugin`,message:U?Ke(U.name):``,confirmLabel:qe,destructive:!0,onConfirm:rt,onCancel:()=>Be(null)})]})}function Zt(e,t,n,r){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};if(n&&Object.keys(n).length>0)return{counts:n,totalCount:r??t.length};let i={};for(let e of t){let t=e.category??`system`;i[t]=(i[t]??0)+1}return{counts:i,totalCount:r??t.length}},[e,t,n,r])}function Qt(e,t,n,r,i,a,o){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};let s={},c=o!==`available`,l=o===`all`||o===`available`;if(c)if(t&&Object.keys(t).length>0)Object.assign(s,t);else for(let e of n){let t=e.category??`system`;s[t]=(s[t]??0)+1}let u=0;if(l)for(let e of i){if(a.has(e.name))continue;let t=e.category??`system`;s[t]=(s[t]??0)+1,u+=1}let d=r??n.length;return{counts:s,totalCount:(c?d:0)+u}},[e,t,n,r,i,a,o])}function $t({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=X({assistantId:e,name:t.name}).data;return(0,G.jsx)(gt,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function en({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(he,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`Create a new custom skill by describing what you want in chat, or install plugins to extend your assistant.`}),(0,G.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(ve,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function tn({text:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(ie,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`flex-1`,children:e})]})}function nn(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function rn(){return(0,G.jsx)(p.Root,{children:(0,G.jsxs)(p.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,G.jsx)(P,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load superpowers`}),(0,G.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function an({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=on(e,t);return(0,G.jsx)(y,{icon:i,title:n,subtitle:r})}function on(e,t){if(t)return{title:`Nothing in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:j};switch(e){case`installed`:return{title:`No Superpowers Installed`,subtitle:`Ask your assistant in chat to search for and install new skills and plugins.`,Icon:F};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:D};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:F};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:fe};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:F};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:F};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:F};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:F};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:F};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ie}}}function sn(){return(0,G.jsx)(Xt,{assistantId:Be()})}export{sn as SuperpowersPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useInfiniteQuery-Dk8q0n49.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./chevron-down-BNidRDh1.js";import{t as o}from"./circle-check-big-DtV6IJuh.js";import{t as s}from"./circle-x-DTjJzoQl.js";import{t as c}from"./clock-DeynsyYL.js";import"./src-Da9g8qsW.js";import{t as l}from"./loader-circle-DWWXcfTQ.js";import{t as u}from"./triangle-alert-D6bAGtMw.js";import{t as d}from"./notice-Dslxs3H6.js";import{t as f}from"./tag-gOOX7fbA.js";import{d as p}from"./routes-DrfnNoYS.js";import{i as m,t as h}from"./use-platform-gate-C5bNA5Pn.js";import{M as g}from"./react-query.gen-BtYBixpk.js";import{t as _}from"./platform-login-notice-DFmjUE9q.js";import{t as v}from"./use-active-assistant-id-JLsAfn3e.js";var y=e(t(),1),b=i();function x(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function S(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function C(e){return e===`succeeded`}function w(e){return e===`failed`}function T(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function E(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function D(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&E(t)?`warning`:`neutral`;default:return`neutral`}}function O({type:e,event:t}){return(0,b.jsx)(f,{tone:D(e,t),children:x(e)})}function k({status:e}){let t=S(e);return C(e)?(0,b.jsx)(f,{tone:`positive`,leftIcon:(0,b.jsx)(o,{}),children:t}):w(e)?(0,b.jsx)(f,{tone:`negative`,leftIcon:(0,b.jsx)(s,{}),children:t}):(0,b.jsx)(f,{tone:`neutral`,children:t})}function A({event:e}){let[t,n]=(0,y.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,b.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,b.jsx)(O,{type:e.type,event:e}),(0,b.jsx)(k,{status:e.event_status}),E(e)&&(0,b.jsx)(f,{tone:`warning`,leftIcon:(0,b.jsx)(u,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,b.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(c,{className:`h-3 w-3`}),(0,b.jsx)(`span`,{children:T(e.occurred_at)})]})]}),r&&(0,b.jsxs)(`div`,{className:`mt-2`,children:[(0,b.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(a,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,b.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function j({assistantId:e}){let{data:t,isLoading:n,isError:i,isFetchingNextPage:a,hasNextPage:o,fetchNextPage:s}=r({...g({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),c=t?.pages.flatMap(e=>e.results)??[];return(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):i?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):c.length===0?(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,b.jsxs)(`div`,{className:`space-y-2`,children:[c.map(e=>(0,b.jsx)(A,{event:e},e.id)),o&&(0,b.jsx)(`div`,{className:`pt-2 text-center`,children:(0,b.jsx)(`button`,{type:`button`,onClick:()=>s(),disabled:a,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function M(){let e=m({platformHostedOnly:!0}),t=h(),r=v();return e===`gated`?(0,b.jsx)(n,{replace:!0,to:p.logs.root}):e===`disabled`?(0,b.jsx)(_,{children:`Log in to the Vellum platform to view system events.`}):t?(0,b.jsx)(j,{assistantId:r}):(0,b.jsx)(d,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{M as SystemEventsPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useInfiniteQuery-Dk8q0n49.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./chevron-down-BNidRDh1.js";import{t as o}from"./circle-check-big-DtV6IJuh.js";import{t as s}from"./circle-x-DTjJzoQl.js";import{t as c}from"./clock-DeynsyYL.js";import"./src-CwGlaCIx.js";import{t as l}from"./loader-circle-DWWXcfTQ.js";import{t as u}from"./triangle-alert-D6bAGtMw.js";import{t as d}from"./notice-Dslxs3H6.js";import{t as f}from"./tag-G0ELn_cq.js";import{d as p}from"./routes-DrfnNoYS.js";import{i as m,t as h}from"./use-platform-gate-C5bNA5Pn.js";import{M as g}from"./react-query.gen-BtYBixpk.js";import{t as _}from"./platform-login-notice-DvWjpI2S.js";import{t as v}from"./use-active-assistant-id-JLsAfn3e.js";var y=e(t(),1),b=i();function x(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function S(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function C(e){return e===`succeeded`}function w(e){return e===`failed`}function T(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function E(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function D(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&E(t)?`warning`:`neutral`;default:return`neutral`}}function O({type:e,event:t}){return(0,b.jsx)(f,{tone:D(e,t),children:x(e)})}function k({status:e}){let t=S(e);return C(e)?(0,b.jsx)(f,{tone:`positive`,leftIcon:(0,b.jsx)(o,{}),children:t}):w(e)?(0,b.jsx)(f,{tone:`negative`,leftIcon:(0,b.jsx)(s,{}),children:t}):(0,b.jsx)(f,{tone:`neutral`,children:t})}function A({event:e}){let[t,n]=(0,y.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,b.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,b.jsx)(O,{type:e.type,event:e}),(0,b.jsx)(k,{status:e.event_status}),E(e)&&(0,b.jsx)(f,{tone:`warning`,leftIcon:(0,b.jsx)(u,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,b.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(c,{className:`h-3 w-3`}),(0,b.jsx)(`span`,{children:T(e.occurred_at)})]})]}),r&&(0,b.jsxs)(`div`,{className:`mt-2`,children:[(0,b.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(a,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,b.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function j({assistantId:e}){let{data:t,isLoading:n,isError:i,isFetchingNextPage:a,hasNextPage:o,fetchNextPage:s}=r({...g({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),c=t?.pages.flatMap(e=>e.results)??[];return(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):i?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):c.length===0?(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,b.jsxs)(`div`,{className:`space-y-2`,children:[c.map(e=>(0,b.jsx)(A,{event:e},e.id)),o&&(0,b.jsx)(`div`,{className:`pt-2 text-center`,children:(0,b.jsx)(`button`,{type:`button`,onClick:()=>s(),disabled:a,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function M(){let e=m({platformHostedOnly:!0}),t=h(),r=v();return e===`gated`?(0,b.jsx)(n,{replace:!0,to:p.logs.root}):e===`disabled`?(0,b.jsx)(_,{children:`Log in to the Vellum platform to view system events.`}):t?(0,b.jsx)(j,{assistantId:r}):(0,b.jsx)(d,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{M as SystemEventsPage};
@@ -1 +1 @@
1
- import{P as e}from"./button-Dy5001j6.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./cn-CJf7MmLX.js";import{t as r}from"./x-D4O9yIS7.js";var i=t(),a=e([`inline-flex items-center gap-1 h-6 px-2 py-1 rounded-[6px] whitespace-nowrap select-none`,`text-body-small-emphasised leading-none`,`text-[color:var(--content-default)]`].join(` `),{variants:{tone:{positive:`bg-[var(--system-positive-weak)]`,negative:`bg-[var(--system-negative-weak)]`,warning:`bg-[var(--system-mid-weak)]`,info:`bg-[var(--system-info-weak)]`,neutral:`bg-[var(--tag-bg-neutral)]`}},defaultVariants:{tone:`neutral`}}),o={positive:`var(--system-positive-strong)`,negative:`var(--system-negative-strong)`,warning:`var(--system-mid-strong)`,info:`var(--system-info-strong)`,neutral:`var(--content-secondary)`},s={width:12,height:12,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`};function c({tone:e=`neutral`,leftIcon:t,rightIcon:c,onRemove:l,removeLabel:u=`Remove`,className:d,children:f,ref:p,...m}){let h=o[e];return(0,i.jsxs)(`span`,{...m,ref:p,"data-slot":`tag`,className:n(a({tone:e}),d),children:[t==null?null:(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:h},children:t}),f,c!=null&&l==null?(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:`var(--content-secondary)`},children:c}):null,l==null?null:(0,i.jsx)(`button`,{type:`button`,"aria-label":u,onClick:e=>{e.stopPropagation(),l(e)},className:n(`inline-flex items-center justify-center rounded-full`,`h-3.5 w-3.5 -mr-0.5 cursor-pointer`,`text-[color:var(--content-secondary)]`,`transition-colors duration-150`,`hover:bg-[color-mix(in_srgb,currentColor_15%,transparent)]`,`keyboard-focus:outline-none keyboard-focus:ring-2`,`keyboard-focus:ring-[var(--ring)]`),children:(0,i.jsx)(r,{style:s,"aria-hidden":`true`})})]})}export{c as t};
1
+ import{U as e}from"./button-BwFudwM5.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./cn-CJf7MmLX.js";import{t as r}from"./x-D4O9yIS7.js";var i=t(),a=e([`inline-flex items-center gap-1 h-6 px-2 py-1 rounded-[6px] whitespace-nowrap select-none`,`text-body-small-emphasised leading-none`,`text-[color:var(--content-default)]`].join(` `),{variants:{tone:{positive:`bg-[var(--system-positive-weak)]`,negative:`bg-[var(--system-negative-weak)]`,warning:`bg-[var(--system-mid-weak)]`,info:`bg-[var(--system-info-weak)]`,neutral:`bg-[var(--tag-bg-neutral)]`}},defaultVariants:{tone:`neutral`}}),o={positive:`var(--system-positive-strong)`,negative:`var(--system-negative-strong)`,warning:`var(--system-mid-strong)`,info:`var(--system-info-strong)`,neutral:`var(--content-secondary)`},s={width:12,height:12,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`};function c({tone:e=`neutral`,leftIcon:t,rightIcon:c,onRemove:l,removeLabel:u=`Remove`,className:d,children:f,ref:p,...m}){let h=o[e];return(0,i.jsxs)(`span`,{...m,ref:p,"data-slot":`tag`,className:n(a({tone:e}),d),children:[t==null?null:(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:h},children:t}),f,c!=null&&l==null?(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:`var(--content-secondary)`},children:c}):null,l==null?null:(0,i.jsx)(`button`,{type:`button`,"aria-label":u,onClick:e=>{e.stopPropagation(),l(e)},className:n(`inline-flex items-center justify-center rounded-full`,`h-3.5 w-3.5 -mr-0.5 cursor-pointer`,`text-[color:var(--content-secondary)]`,`transition-colors duration-150`,`hover:bg-[color-mix(in_srgb,currentColor_15%,transparent)]`,`keyboard-focus:outline-none keyboard-focus:ring-2`,`keyboard-focus:ring-[var(--ring)]`),children:(0,i.jsx)(r,{style:s,"aria-hidden":`true`})})]})}export{c as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./typography-DEI9Ra9z.js";import"./src-Da9g8qsW.js";import{t as i}from"./preview-error-BrLE2D3A.js";import{t as a}from"./preview-skeleton-Biw3dosM.js";var o=e(t(),1),s=n(),c=2*1024*1024,l=`Showing the first 2 MB`;function u(e){return e.length<=c?{text:e,truncated:!1}:{text:e.slice(0,c),truncated:!0}}function d({blob:e,filename:t}){let[n,c]=(0,o.useState)(null),[d,f]=(0,o.useState)(!1);(0,o.useEffect)(()=>{let t=!1;return c(null),f(!1),e.text().then(e=>{t||c(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,o.useMemo)(()=>n===null?null:u(n),[n]);return d?(0,s.jsx)(i,{filename:t}):p===null?(0,s.jsx)(a,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-default)]`,children:p.text}),p.truncated&&(0,s.jsx)(r,{as:`p`,variant:`label-small-default`,className:`border-t border-[var(--border-element)] pt-2 text-[var(--content-tertiary)]`,children:l})]})}export{d as TextPreview};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./typography-DEI9Ra9z.js";import"./src-CwGlaCIx.js";import{t as i}from"./preview-error-DzUxX6Jy.js";import{t as a}from"./preview-skeleton-Biw3dosM.js";var o=e(t(),1),s=n(),c=2*1024*1024,l=`Showing the first 2 MB`;function u(e){return e.length<=c?{text:e,truncated:!1}:{text:e.slice(0,c),truncated:!0}}function d({blob:e,filename:t}){let[n,c]=(0,o.useState)(null),[d,f]=(0,o.useState)(!1);(0,o.useEffect)(()=>{let t=!1;return c(null),f(!1),e.text().then(e=>{t||c(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,o.useMemo)(()=>n===null?null:u(n),[n]);return d?(0,s.jsx)(i,{filename:t}):p===null?(0,s.jsx)(a,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-default)]`,children:p.text}),p.truncated&&(0,s.jsx)(r,{as:`p`,variant:`label-small-default`,className:`border-t border-[var(--border-element)] pt-2 text-[var(--content-tertiary)]`,children:l})]})}export{d as TextPreview};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{f as r,m as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import"./src-Da9g8qsW.js";import{n as s,t as c}from"./input-tXUFa7Eo.js";import{t as l}from"./use-app-theme-yiZ38i4_.js";import{t as u}from"./workspace-theme-tokens-dJKcMIdP.js";var d=e(t(),1),f=a(),p=`__THEME_STAGE_READY__`;function m(e){return e===`chat`?`chat`:`sampler`}function h(e){if(e)try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))return;let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return}}var g=`w-[720px]`;function _({children:e}){return(0,f.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-[var(--content-tertiary)]`,children:e})}function v(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,f.jsx)(_,{children:`Text`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-default)]`,children:`Primary text — the main reading surface of the app.`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-secondary)]`,children:`Secondary text — supporting copy and descriptions.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-tertiary)]`,children:`Tertiary text — captions, labels, and placeholders.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-quiet)]`,children:`Quiet text — metadata and timestamps.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-faint)]`,children:`Faint text — the last legible step of the ramp.`})]})}function y(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Buttons`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(n,{children:`Primary`}),(0,f.jsx)(n,{variant:`outlined`,children:`Secondary`}),(0,f.jsx)(n,{disabled:!0,children:`Disabled`})]})]})}function b(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Accent`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md bg-[var(--primary-base)] px-4 py-2 text-sm font-medium text-[var(--content-inset)]`,children:`Accent fill`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-active)] px-4 py-2 text-sm text-[var(--content-default)]`,children:`Active border`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-hover)]`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-active)]`})]})]})}function x(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Surfaces and borders`}),(0,f.jsx)(o,{elevated:!0,children:(0,f.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`Raised card`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-secondary)]`,children:`Elevated surfaces sit above panels and the page background.`}),(0,f.jsx)(`div`,{className:`border-t border-[var(--border-subtle)] pt-2 text-sm text-[var(--content-tertiary)]`,children:`Subtle divider above this line.`})]})}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Overlay surface`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-active)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Active surface`})]})]})}function S(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Inputs`}),(0,f.jsx)(c,{fullWidth:!0,placeholder:`A placeholder in an empty field`,readOnly:!0}),(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:2,value:`Text someone has already typed into a field.`})]})}function C({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-end`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-end`,children:(0,f.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--user-bubble-bg,var(--surface-lift))] px-4 py-3 text-[var(--user-bubble-text,var(--content-default))] flex flex-col gap-2`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px]`,children:e})})})})}function w({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-start`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-start`,children:(0,f.jsx)(`div`,{className:`w-full text-[var(--content-default)]`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px] w-full`,children:e})})})})}function T(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,f.jsx)(_,{children:`Messages`}),(0,f.jsx)(C,{children:`A message from the user, in its bubble.`}),(0,f.jsx)(w,{children:`A reply from the assistant, rendered full-width on the page surface.`})]})}function E(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-sampler`,className:`${g} flex min-h-[1080px] flex-col gap-6 bg-[var(--background)] p-8`,children:[(0,f.jsx)(`div`,{className:`text-lg font-semibold text-[var(--content-default)]`,children:`Theme sampler`}),(0,f.jsx)(v,{}),(0,f.jsx)(b,{}),(0,f.jsx)(y,{}),(0,f.jsx)(x,{}),(0,f.jsx)(S,{}),(0,f.jsx)(T,{})]})}function D(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-chat`,className:`${g} flex h-[760px] flex-col bg-[var(--background)]`,children:[(0,f.jsx)(`div`,{className:`flex items-center border-b border-[var(--border-base)] bg-[var(--surface-overlay)] px-5 py-3`,children:(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`New conversation`})}),(0,f.jsxs)(`div`,{className:`flex flex-1 flex-col justify-end gap-4 overflow-hidden px-5 py-4`,children:[(0,f.jsx)(C,{children:`Can you summarize the quarterly report before tomorrow's meeting?`}),(0,f.jsx)(w,{children:`Done — the summary is ready. Revenue grew steadily, the two flagged risks from last quarter are resolved, and I pulled the three charts worth showing into a separate page.`}),(0,f.jsx)(C,{children:`Perfect. Send it to the team in the morning.`}),(0,f.jsx)(w,{children:`Scheduled for 9am. I'll include the charts and a one-paragraph version for anyone skimming on their phone.`})]}),(0,f.jsxs)(`div`,{className:`flex items-end gap-2 border-t border-[var(--border-base)] px-5 py-4`,children:[(0,f.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:1,placeholder:`Message your assistant`})}),(0,f.jsx)(n,{children:`Send`})]})]})}function O(){let e=r(),[t]=i(),n=m(e.view),a=t.get(`tokens`),o=(0,d.useMemo)(()=>h(a),[a]);return l(),(0,d.useEffect)(()=>(u(o),()=>{u(void 0)}),[o]),(0,d.useEffect)(()=>{let e=!1;return document.title=`theme-stage`,(document.fonts?.ready??Promise.resolve()).then(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{e||(document.title=p)})})}),()=>{e=!0}},[n,o]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`style`,{children:`* { transition: none !important; animation: none !important; caret-color: transparent !important; } html, body { background: var(--background); }`}),n===`chat`?(0,f.jsx)(D,{}):(0,f.jsx)(E,{})]})}export{O as ThemeStagePage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BwFudwM5.js";import{f as r,m as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import"./src-CwGlaCIx.js";import{n as s,t as c}from"./input-CgGeKtja.js";import{t as l}from"./use-app-theme-yiZ38i4_.js";import{t as u}from"./workspace-theme-tokens-dJKcMIdP.js";var d=e(t(),1),f=a(),p=`__THEME_STAGE_READY__`;function m(e){return e===`chat`?`chat`:`sampler`}function h(e){if(e)try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))return;let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return}}var g=`w-[720px]`;function _({children:e}){return(0,f.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-[var(--content-tertiary)]`,children:e})}function v(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,f.jsx)(_,{children:`Text`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-default)]`,children:`Primary text — the main reading surface of the app.`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-secondary)]`,children:`Secondary text — supporting copy and descriptions.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-tertiary)]`,children:`Tertiary text — captions, labels, and placeholders.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-quiet)]`,children:`Quiet text — metadata and timestamps.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-faint)]`,children:`Faint text — the last legible step of the ramp.`})]})}function y(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Buttons`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(n,{children:`Primary`}),(0,f.jsx)(n,{variant:`outlined`,children:`Secondary`}),(0,f.jsx)(n,{disabled:!0,children:`Disabled`})]})]})}function b(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Accent`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md bg-[var(--primary-base)] px-4 py-2 text-sm font-medium text-[var(--content-inset)]`,children:`Accent fill`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-active)] px-4 py-2 text-sm text-[var(--content-default)]`,children:`Active border`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-hover)]`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-active)]`})]})]})}function x(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Surfaces and borders`}),(0,f.jsx)(o,{elevated:!0,children:(0,f.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`Raised card`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-secondary)]`,children:`Elevated surfaces sit above panels and the page background.`}),(0,f.jsx)(`div`,{className:`border-t border-[var(--border-subtle)] pt-2 text-sm text-[var(--content-tertiary)]`,children:`Subtle divider above this line.`})]})}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Overlay surface`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-active)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Active surface`})]})]})}function S(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Inputs`}),(0,f.jsx)(c,{fullWidth:!0,placeholder:`A placeholder in an empty field`,readOnly:!0}),(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:2,value:`Text someone has already typed into a field.`})]})}function C({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-end`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-end`,children:(0,f.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--user-bubble-bg,var(--surface-lift))] px-4 py-3 text-[var(--user-bubble-text,var(--content-default))] flex flex-col gap-2`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px]`,children:e})})})})}function w({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-start`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-start`,children:(0,f.jsx)(`div`,{className:`w-full text-[var(--content-default)]`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px] w-full`,children:e})})})})}function T(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,f.jsx)(_,{children:`Messages`}),(0,f.jsx)(C,{children:`A message from the user, in its bubble.`}),(0,f.jsx)(w,{children:`A reply from the assistant, rendered full-width on the page surface.`})]})}function E(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-sampler`,className:`${g} flex min-h-[1080px] flex-col gap-6 bg-[var(--background)] p-8`,children:[(0,f.jsx)(`div`,{className:`text-lg font-semibold text-[var(--content-default)]`,children:`Theme sampler`}),(0,f.jsx)(v,{}),(0,f.jsx)(b,{}),(0,f.jsx)(y,{}),(0,f.jsx)(x,{}),(0,f.jsx)(S,{}),(0,f.jsx)(T,{})]})}function D(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-chat`,className:`${g} flex h-[760px] flex-col bg-[var(--background)]`,children:[(0,f.jsx)(`div`,{className:`flex items-center border-b border-[var(--border-base)] bg-[var(--surface-overlay)] px-5 py-3`,children:(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`New conversation`})}),(0,f.jsxs)(`div`,{className:`flex flex-1 flex-col justify-end gap-4 overflow-hidden px-5 py-4`,children:[(0,f.jsx)(C,{children:`Can you summarize the quarterly report before tomorrow's meeting?`}),(0,f.jsx)(w,{children:`Done — the summary is ready. Revenue grew steadily, the two flagged risks from last quarter are resolved, and I pulled the three charts worth showing into a separate page.`}),(0,f.jsx)(C,{children:`Perfect. Send it to the team in the morning.`}),(0,f.jsx)(w,{children:`Scheduled for 9am. I'll include the charts and a one-paragraph version for anyone skimming on their phone.`})]}),(0,f.jsxs)(`div`,{className:`flex items-end gap-2 border-t border-[var(--border-base)] px-5 py-4`,children:[(0,f.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:1,placeholder:`Message your assistant`})}),(0,f.jsx)(n,{children:`Send`})]})]})}function O(){let e=r(),[t]=i(),n=m(e.view),a=t.get(`tokens`),o=(0,d.useMemo)(()=>h(a),[a]);return l(),(0,d.useEffect)(()=>(u(o),()=>{u(void 0)}),[o]),(0,d.useEffect)(()=>{let e=!1;return document.title=`theme-stage`,(document.fonts?.ready??Promise.resolve()).then(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{e||(document.title=p)})})}),()=>{e=!0}},[n,o]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`style`,{children:`* { transition: none !important; animation: none !important; caret-color: transparent !important; } html, body { background: var(--background); }`}),n===`chat`?(0,f.jsx)(D,{}):(0,f.jsx)(E,{})]})}export{O as ThemeStagePage};