@vellumai/web 0.11.1-staging.2 → 0.11.1

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 (113) hide show
  1. package/dist/assets/{access-C97H-xHb.js → access-BJiXpwUJ.js} +1 -1
  2. package/dist/assets/{account-page-Cflmw8J6.js → account-page-DP2HVinz.js} +1 -1
  3. package/dist/assets/{acp-run-detail-panel-BZ36-1N5.js → acp-run-detail-panel-C_M19m8P.js} +1 -1
  4. package/dist/assets/{activity-steps-panel-KMiSlUt3.js → activity-steps-panel-BsmwWzP1.js} +1 -1
  5. package/dist/assets/{add-credits-modal-Daz6j8gm.js → add-credits-modal-3Rsd1ZeS.js} +1 -1
  6. package/dist/assets/{ai-page-DPVi-dhB.js → ai-page-B9mJkV_p.js} +1 -1
  7. package/dist/assets/{app-card-JHbWefmm.js → app-card-DgDV-yMd.js} +1 -1
  8. package/dist/assets/{assistant-status-panel-CLMAEQ-v.js → assistant-status-panel-Bt_19-BI.js} +1 -1
  9. package/dist/assets/{auth-store-w_EmIQP7.js → auth-store-BwKMFgpK.js} +1 -1
  10. package/dist/assets/{background-task-actions-yrapeY1n.js → background-task-actions-DX0pUvY9.js} +1 -1
  11. package/dist/assets/{background-task-detail-panel-BV9Y227f.js → background-task-detail-panel-DqXuwo9q.js} +1 -1
  12. package/dist/assets/{billing-page-CmkTn62f.js → billing-page-CED96NEp.js} +1 -1
  13. package/dist/assets/{bookmarks-page-B2JvSaKf.js → bookmarks-page-Bk04EUIg.js} +1 -1
  14. package/dist/assets/{browser-CpgSNbEp.js → browser-Bses4IN3.js} +1 -1
  15. package/dist/assets/{build-state-DDUJ0MId.js → build-state-DPMhQpLB.js} +1 -1
  16. package/dist/assets/{channels-page-route-DAp7F6ed.js → channels-page-route-BooWFQMp.js} +1 -1
  17. package/dist/assets/{chat-markdown-message-B3Qo04ug.js → chat-markdown-message-f4cLJfax.js} +1 -1
  18. package/dist/assets/{checkout-continuation-DRPQwh5V.js → checkout-continuation-CcuqWhhp.js} +1 -1
  19. package/dist/assets/{checkout-page-B8CJoCWQ.js → checkout-page-BateK-Nf.js} +1 -1
  20. package/dist/assets/{client-identity-BSG341dO.js → client-identity-bdtPpHZK.js} +1 -1
  21. package/dist/assets/{command-palette-DH_ybPTY.js → command-palette-B3TVIQUH.js} +1 -1
  22. package/dist/assets/{command-palette-window-page-KoC7mrpM.js → command-palette-window-page-Bp9WplfA.js} +1 -1
  23. package/dist/assets/{contacts-page-route-BJBOnSQK.js → contacts-page-route--hTzWT8X.js} +1 -1
  24. package/dist/assets/{conversation-navigation-tj2ntPAn.js → conversation-navigation-D63NJmBl.js} +1 -1
  25. package/dist/assets/{conversation-queries-str0jfqv.js → conversation-queries-3taor2DZ.js} +1 -1
  26. package/dist/assets/{credentials-page-DFm5A_Dj.js → credentials-page-CYBmOQhl.js} +1 -1
  27. package/dist/assets/{debug-page-6DjAgWtl.js → debug-page-CHuby9yt.js} +1 -1
  28. package/dist/assets/{developer-page-dHmIDclp.js → developer-page-CUJqTs2_.js} +1 -1
  29. package/dist/assets/{diagnostics-BE1IgjfV.js → diagnostics-CLHyv7Xw.js} +1 -1
  30. package/dist/assets/{doctor-handoff-store-ClS6J-b-.js → doctor-handoff-store-DWNbuW3P.js} +1 -1
  31. package/dist/assets/{document-viewer-page-DJFR9XhM.js → document-viewer-page-_jndOS7P.js} +1 -1
  32. package/dist/assets/{emails-page-Ro1_IIiv.js → emails-page-Bqr8Buvt.js} +1 -1
  33. package/dist/assets/{first-run-scope-CZm4WhC7.js → first-run-scope-7wWjJ4Tn.js} +1 -1
  34. package/dist/assets/{funnel-events-BAmjKdwH.js → funnel-events-RT_kdQHK.js} +1 -1
  35. package/dist/assets/{general-page-BH3Zl4tV.js → general-page-DoAKoumC.js} +1 -1
  36. package/dist/assets/{handle-logout-C_CDLqjS.js → handle-logout-BTgnSSUm.js} +1 -1
  37. package/dist/assets/{haptics-agodX1nl.js → haptics-rJpeBta-.js} +1 -1
  38. package/dist/assets/{hatching-screen-CziT_eEj.js → hatching-screen-Q59qvj8_.js} +1 -1
  39. package/dist/assets/{home-page-route-BSHvc0DH.js → home-page-route-TPR5p3LW.js} +1 -1
  40. package/dist/assets/{hosting-screen-D6gwvyR3.js → hosting-screen-DRrmkmoO.js} +1 -1
  41. package/dist/assets/{index-D-NVGcvg.js → index-Ch9eoFem.js} +2 -2
  42. package/dist/assets/{ingest-DiiwFQfV.js → ingest-BbV11WbG.js} +1 -1
  43. package/dist/assets/{inspect-page-D0xZPslr.js → inspect-page-D_9E5ham.js} +1 -1
  44. package/dist/assets/{integrations-page-DuKFioaA.js → integrations-page-CnjTLjpf.js} +1 -1
  45. package/dist/assets/{library-detail-page-BmD8ODsN.js → library-detail-page-CKWN2cc7.js} +1 -1
  46. package/dist/assets/{library-page-B1_J428q.js → library-page-CuNX2WgS.js} +1 -1
  47. package/dist/assets/{local-runtime-upgrade-1CLFIVes.js → local-runtime-upgrade-JwVgn034.js} +1 -1
  48. package/dist/assets/{login-flow-BnCQjNXm.js → login-flow-llpmkEjN.js} +1 -1
  49. package/dist/assets/login-page-SG4TPVDu.js +1 -0
  50. package/dist/assets/{logout-page-BguUo424.js → logout-page-CBGk_cSN.js} +1 -1
  51. package/dist/assets/{logs-layout-BiZ4JakR.js → logs-layout-B4EPBuaC.js} +1 -1
  52. package/dist/assets/{memory-page-route-DwmCqWRb.js → memory-page-route-C8nIc6Mb.js} +1 -1
  53. package/dist/assets/{memory-router-playground-page-Bl-5j5de.js → memory-router-playground-page-ftfbkFhf.js} +1 -1
  54. package/dist/assets/{messages-BsXTJIIe.js → messages-BzNSqJQx.js} +1 -1
  55. package/dist/assets/{mobile-sidebar-drawer-Cp72bTDC.js → mobile-sidebar-drawer-BnxfQaDB.js} +1 -1
  56. package/dist/assets/native-anchor-BiuEQHcy.js +1 -0
  57. package/dist/assets/{native-biometric-CTR2Zi2w.js → native-biometric-B96mgKGP.js} +1 -1
  58. package/dist/assets/{navigation-resolver-CIICT6n9.js → navigation-resolver-Lxhf-tbn.js} +1 -1
  59. package/dist/assets/{notifications-page-CD8OVGKw.js → notifications-page-BAYd0t-0.js} +1 -1
  60. package/dist/assets/{open-workspace-file-DYklNHQ0.js → open-workspace-file-DucrTmt3.js} +2 -2
  61. package/dist/assets/{pairing-page-_kskNw0h.js → pairing-page-BRPUYbzJ.js} +1 -1
  62. package/dist/assets/{plans-page-D924rN93.js → plans-page-BxebYucs.js} +1 -1
  63. package/dist/assets/{platform-detection-BY5uzLL8.js → platform-detection-a_IB3-0w.js} +1 -1
  64. package/dist/assets/{platform-login-notice-DIS8PWXu.js → platform-login-notice-D-yQLWUo.js} +1 -1
  65. package/dist/assets/{platform-loopback-page-BTr35x9U.js → platform-loopback-page-DESnWJYO.js} +1 -1
  66. package/dist/assets/{privacy-page-BGXaPgBR.js → privacy-page-sZhcJ3uB.js} +1 -1
  67. package/dist/assets/{privacy-screen-znr9P7PH.js → privacy-screen-D2EBZTX8.js} +1 -1
  68. package/dist/assets/{provider-callback-page-Bn1Tp_ej.js → provider-callback-page-BZlfsT4J.js} +1 -1
  69. package/dist/assets/{provider-signup-page-C5z8x-YS.js → provider-signup-page-D5mOXHww.js} +1 -1
  70. package/dist/assets/{research-onboarding-route-DpC0dKBR.js → research-onboarding-route-ZOwRvfGs.js} +1 -1
  71. package/dist/assets/{retire-confirm-dialog-BFbPH66U.js → retire-confirm-dialog-m6ORm5Pq.js} +1 -1
  72. package/dist/assets/{review-terms-screen-W08isuCB.js → review-terms-screen-zzdu4AQi.js} +1 -1
  73. package/dist/assets/{risk-FjW-m05l.js → risk-uPLh5W5z.js} +1 -1
  74. package/dist/assets/{routes-DOTByxnJ.js → routes-BP00Ewbf.js} +5 -5
  75. package/dist/assets/{runtime-upgrade-banner-4PNA3XVR.js → runtime-upgrade-banner-yZYtWxoJ.js} +1 -1
  76. package/dist/assets/{schedules-page-BSr0-mjB.js → schedules-page-BQSGUmn5.js} +1 -1
  77. package/dist/assets/{select-assistant-screen-DAkhS0wl.js → select-assistant-screen-B5N_TUcG.js} +1 -1
  78. package/dist/assets/{session-corner-action-CqofVz_i.js → session-corner-action-vhb51vd3.js} +1 -1
  79. package/dist/assets/{settings-layout-DcuaK8qu.js → settings-layout-BtT0532M.js} +1 -1
  80. package/dist/assets/{share-feedback-modal-Dy0GRvA9.js → share-feedback-modal-DO6_oaZg.js} +1 -1
  81. package/dist/assets/{sidebar-tree-DrZXY5Iz.js → sidebar-tree-D6fHs4GK.js} +1 -1
  82. package/dist/assets/signup-page-DqfStkXZ.js +1 -0
  83. package/dist/assets/{site-favicon-CA7jaNnH.js → site-favicon-Dh1OTgFr.js} +1 -1
  84. package/dist/assets/{skill-detail-page-BCPN6NmR.js → skill-detail-page-SvM2JKKY.js} +1 -1
  85. package/dist/assets/{subagent-detail-panel-jOUXcDnl.js → subagent-detail-panel-jp0r0ZFk.js} +1 -1
  86. package/dist/assets/{subagent-store-C8qemfgn.js → subagent-store-DyKwOIj_.js} +1 -1
  87. package/dist/assets/{system-events-page-DEQyyquu.js → system-events-page-Cg0uMSMs.js} +1 -1
  88. package/dist/assets/{tool-detail-panel-86ruMQAQ.js → tool-detail-panel-CXcjfDGo.js} +1 -1
  89. package/dist/assets/{transcript-message-body-shared-CT5pk4wz.js → transcript-message-body-shared-woOFNF_q.js} +1 -1
  90. package/dist/assets/{upgrade-cancel-page-DmStvNCn.js → upgrade-cancel-page-D8is9-gw.js} +1 -1
  91. package/dist/assets/{upgrade-success-page-jOEtujYa.js → upgrade-success-page-3W1VuHqB.js} +1 -1
  92. package/dist/assets/{use-checkout-dismiss-refresh-BZXXQef1.js → use-checkout-dismiss-refresh-BkIzNk6B.js} +1 -1
  93. package/dist/assets/{use-command-palette-sections-DWCppiPf.js → use-command-palette-sections-CAmbyguu.js} +1 -1
  94. package/dist/assets/{use-edge-swipe-sMxDzAcb.js → use-edge-swipe-Gst62FjL.js} +1 -1
  95. package/dist/assets/{use-edge-swipe-back-Dbz1hC9g.js → use-edge-swipe-back-D12vbvly.js} +1 -1
  96. package/dist/assets/{use-ios-app-nudge-DiqQWH5O.js → use-ios-app-nudge-CrBEIZ8w.js} +1 -1
  97. package/dist/assets/{use-is-org-ready-BbqlQFXw.js → use-is-org-ready-zouQ5CN4.js} +1 -1
  98. package/dist/assets/{use-onboarding-login-xZhWGmky.js → use-onboarding-login-X8pB53cV.js} +1 -1
  99. package/dist/assets/{use-platform-assistant-id-BnFEQQeS.js → use-platform-assistant-id-CIoqMsyh.js} +1 -1
  100. package/dist/assets/{use-platform-gate-D9hR3R0n.js → use-platform-gate-CqEOGZtI.js} +1 -1
  101. package/dist/assets/use-return-to-short-circuit-B295pgoV.js +1 -0
  102. package/dist/assets/{use-sticky-profiles-GTUzoFP4.js → use-sticky-profiles-bdq2XW7H.js} +1 -1
  103. package/dist/assets/{use-subagent-card-data-Cu_-lx6d.js → use-subagent-card-data-B8JTa5rQ.js} +1 -1
  104. package/dist/assets/{voice-list-BMMz4e4M.js → voice-list-CCLkiF-c.js} +1 -1
  105. package/dist/assets/{voice-page-4AS-Fm6W.js → voice-page-Bvgm-7L8.js} +1 -1
  106. package/dist/assets/{welcome-screen-B-88csxO.js → welcome-screen-Cga6YuF9.js} +1 -1
  107. package/dist/assets/{workspace-page-b8SfI_28.js → workspace-page-BFJO59Ch.js} +1 -1
  108. package/dist/index.html +43 -43
  109. package/package.json +1 -1
  110. package/dist/assets/login-page-BnF7_s7c.js +0 -1
  111. package/dist/assets/native-anchor-BpfRwc60.js +0 -1
  112. package/dist/assets/signup-page-B6mmAQJU.js +0 -1
  113. package/dist/assets/use-return-to-short-circuit-B1mhvgIq.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{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,gt as o,ht as s,m as c,p as l,vt as u}from"./risk-FjW-m05l.js";import{t as d}from"./brain-BIzJCPA6.js";import{t as f}from"./check-sC49_hjU.js";import{t as p}from"./circle-check-CjGnAahM.js";import{t as m}from"./code-qafFA0_-.js";import{t as h}from"./file-text-BCsUYVEF.js";import{t as g}from"./globe-BDvXuPkw.js";import{t as _}from"./monitor-B5vtTCxm.js";import{t as ee}from"./sparkles-DC8kqYjt.js";import{t as te}from"./user-plus-CXMJ1x_5.js";import"./src-BAS7a2RG.js";import{t as v}from"./popover-BFL-uOLh.js";import{D as y,O as ne}from"./chat-BIJEFb5u.js";import{t as b}from"./misc-CAQM4FGM.js";import{t as re}from"./proxy-CNtrhN4q.js";import{t as ie}from"./AnimatePresence-D23js3-M.js";import{t as x}from"./use-reduced-motion-bjjt6x6d.js";import{t as S}from"./three-dot-indicator-CfjkCgEH.js";var C=e(t(),1),w=r();function T(e){let t=e.trimStart();if(!t.startsWith(`**`))return e;let n=t.indexOf(`**`,2);if(n===-1)return t.slice(2).trimStart();let r=t.slice(2,n).trim();return r.length>0?r:e}var ae=/^https?:\/\/\S+/,oe=/^URL:\s*(https?:\/\/\S+)/i,se=/^\[\d+\]\s*(https?:\/\/\S+)/;function E(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function ce(e){let t=e.trim();return oe.exec(t)?.[1]??se.exec(t)?.[1]??t}function le(e){return e.trim().replace(/^\d+\.\s+/,``)}function ue(e){let t=e.split(/\r?\n/),n=[],r=new Set,i=``;for(let e of t){let t=e.trim();if(!t){i=``;continue}let a=ce(t);if(ae.test(a)){r.has(a)||(r.add(a),n.push({title:i,url:a})),i=``;continue}/^Web search results for /i.test(t)||/^Sources:?$/i.test(t)||(i=le(t))}return n}function D(e){return!e||!e.trim()?[]:ue(e).map((e,t)=>{let n=E(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var de=5,fe=new Set([`web_search`,`web_fetch`]);function O(e){if(!Number.isFinite(e)||e<1e3)return`<1s`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);return n<60?`${n}m`:`${Math.round(n/60)}h`}function k(e){return fe.has(e.name)}function A(e){return e?`Searched the web`:`Searching the web`}function j(e){return{visible:e.slice(0,de),overflowResults:e.slice(de)}}function pe(e,t){let{visible:n,overflowResults:r}=j(e.results);return{kind:`web_search`,title:A(t),durationLabel:O(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:O(e.durationMs),text:`Reading ${t}`}}function he(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function ge(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function _e(e){let t=D(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=j(t);return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function ve(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:O(e.durationMs),errorMessage:e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`}}function M(){return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:0,results:[]}}function N(e,t){return t[e.id]??e.activityMetadata}function P(e){return!y(e)}function F(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function I(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function L(e,t){return e==null||t==null?null:Math.max(0,t-e)}function R(e,t){let n=L(e,t);return n==null?``:O(n)}function z(e){return R(e.startedAt??void 0,e.completedAt??void 0)}function ye(e){return!l(e)&&y(e)}function be(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:L(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:L(r,n.completedAt)}function xe(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:ye(e.toolCall))}function Se(e,t){let n=0,r=!1;for(let i of e){let e=be(i,t);e!=null&&(r=!0,n+=e)}return r?O(n):``}function Ce(e){let{title:t,activity:n}=c(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:I(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:z(e)}}function we(e){let{title:t,info:n,activity:r,iconName:i}=c(e);return{kind:`tool`,durationLabel:z(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:I(e)}}function Te(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(k(r)){let e=N(r,t),n=P(r);if(e?.webSearch&&F(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return A(n);if(r.name===`web_fetch`)return`Thinking`}else return c(r).title}return``}function Ee(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!k(r)){let{info:e,activity:t}=c(r);return t||e}let i=N(r,t),a=P(r);if(i?.webSearch){let e=i.webSearch;if(F(e,r))return e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`;if(e.results.length>0)return e.results[e.results.length-1].title;if(!a&&e.query)return`Searching ${e.query}`}if(i?.webFetch){let e=i.webFetch;return a?e.title??e.domain:`Reading ${e.domain}`}if(r.name===`web_search`){if(!a){let e=typeof r.input?.query==`string`?r.input.query.trim():``;return e?`Searching ${e}`:``}if(typeof r.result==`string`){let e=D(r.result);if(e.length>0){let t=e[e.length-1].title;if(t)return t}}}if(r.name===`web_fetch`){let e=typeof r.input?.url==`string`?r.input.url:``,t=e?E(e):``;if(t)return a?t:`Reading ${t}`}}return``}function De(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=N(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Oe(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function ke(e){return Oe(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function Ae(e,t){if(l(e))return null;if(!k(e))return we(e);let n=N(e,t),r=P(e);if(n?.webSearch){let t=n.webSearch;return F(t,e)?ve(t):pe(t,r)}return n?.webFetch?me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?_e(e.result)??M():M():e.name===`web_search`?he():ge()}function je(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:R(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Ae(n.toolCall,t);e&&(i.push(e),a=null)}let s=ke(r),c,u,d;a===null?(c=Te(r,t),u=Ee(r,t),d=`tool`):(c=`Thinking`,u=T(a),d=`thinking`);let f=De(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Se(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var Me=.44;function Ne(e,t){let n=[...e].sort((e,t)=>e.position-t.position),r=n[0]?.color??`white`,i=n[n.length-1]?.color??`white`,a=n.map(e=>{let t=(e.position-.5)*2*Me;return`${e.color} calc(50% + var(--gs-spread-mid) * ${t.toFixed(4)})`}).join(`, `);return[`linear-gradient(${t}deg`,`var(--gs-base) calc(50% - var(--gs-spread))`,`color-mix(in oklab, var(--gs-base) 42%, ${r}) calc(50% - var(--gs-spread-mid))`,a,`color-mix(in oklab, var(--gs-base) 42%, ${i}) calc(50% + var(--gs-spread-mid))`,`var(--gs-base) calc(50% + var(--gs-spread)))`].join(`, `)}function Pe(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var Fe=`var(--avatar-accent, var(--content-emphasised))`,Ie=`color-mix(in srgb, currentColor 45%, transparent)`,Le=1500,Re=106,B=6,V=48,H=.72,U=14,ze=96;function Be(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function W({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??Fe,s=(0,C.useMemo)(()=>Ne(Pe(o),Re),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!Be()){t.style.removeProperty(`background-image`),t.style.removeProperty(`background-color`),t.style.removeProperty(`-webkit-text-fill-color`);return}if(a||typeof t.animate!=`function`)return;let n=null,r=()=>{let r=t.getBoundingClientRect().width||ze,i=(Number.parseFloat(getComputedStyle(t).fontSize)||U)/U,a=Math.min(e.length*B*i,V*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*H}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:Le,easing:`linear`,iterations:1/0}),n.startTime=0};r();let o=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);return o?.observe(t),()=>{o?.disconnect(),n?.cancel()}},[e,a]);let c=Math.min(e.length*B,V);return(0,w.jsx)(`span`,{ref:i,className:n,style:{position:`relative`,display:`inline-block`,backgroundImage:s,backgroundRepeat:`repeat-x`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":Ie,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*H}px`},"data-testid":r,children:e})}var Ve=400;function He(e,t,n){let[r,i]=(0,C.useState)(e),a=(0,C.useRef)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(null);return(0,C.useEffect)(()=>{if(Object.is(r,e)){o.current=null;return}if(n){s.current&&=(clearTimeout(s.current),null),o.current=null,i(e),a.current=Date.now();return}o.current=e;let c=Date.now();a.current===null&&(a.current=c);let l=c-a.current,u=Math.max(0,t-l);return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{o.current!==null&&(i(o.current),a.current=Date.now(),o.current=null),s.current=null},u),()=>{s.current&&=(clearTimeout(s.current),null)}},[e,r,t,n]),r}function Ue({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=He((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),Ve,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,w.jsx)(ie,{initial:!1,mode:`popLayout`,children:(0,w.jsxs)(re.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,w.jsx)(`span`,{className:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):null,g?(0,w.jsxs)(w.Fragment,{children:[_?(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,w.jsx)(`span`,{className:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a&&typeof c.info==`string`?(0,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(i,{variant:_?`body-small-default`:`body-medium-default`,className:`ml-1 block min-w-0 flex-1 truncate text-left leading-[16px] ${_?`text-[var(--content-tertiary)]`:`text-[var(--content-emphasised)]`}`,children:a&&!_&&typeof c.info==`string`?(0,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var G={code:m,terminal:s,file:h,globe:g,pen:a,monitor:_,plug:o,sparkle:ee,"user-plus":te,bolt:u,brain:d};function We(e){if(e.kind===`thinking`)return`Thinking`;if(e.kind===`web_search`||e.kind===`web_search_error`)return`Searching the web`;if(e.kind===`tool_error`)return`Error`;let t=e.title;return t.startsWith(`Working`)?t:t===`Reading`||t===`Editing`||t.startsWith(`Running`)?`Working`:t===`Using a skill`?`Using a skill`:(t.startsWith(`Using `),t)}function Ge(e){if(!e||e===`<1s`)return 0;let t=/^(\d+)(s|m|h)$/.exec(e);if(!t)return 0;let n=Number(t[1]);switch(t[2]){case`h`:return n*36e5;case`m`:return n*6e4;default:return n*1e3}}function Ke(e){let t=null;for(let n of e)(n.kind===`tool`||n.kind===`thinking`)&&n.startedAt!=null&&(t=t==null?n.startedAt:Math.min(t,n.startedAt));return t}function qe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function Je({durationLabel:e,startedAt:t}){let r=(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,w.jsx)(n,{content:`Started at ${qe(t)}`,side:`top`,align:`end`,children:(0,w.jsx)(`span`,{className:`cursor-default`,children:r})})}function K(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?O(t):``}function q(e){if(e.length===0)return`running`;for(let t of e){if(t.kind===`tool`){if(t.status===`running`)return`running`;continue}if(t.kind===`web_search`&&t.title===`Searching the web`)return`running`}return`completed`}function J(e){let t=[];for(let n of e){let e=We(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function Ye({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=J(e),i=[],a=0;for(let e of r)i.push(a),a+=e.steps.length;let o=(e,n)=>e.steps.map((e,r)=>{let i=et(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(nt,{step:e})},i)});return n?(0,w.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,w.jsx)(Xe,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,w.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=q(e.steps),a=i[t];return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,w.jsx)(tt,{label:e.label,durationLabel:n,status:r}),(0,w.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function Xe({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=q(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,w.jsx)(Ze,{}),(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(Qe,{status:o,isThinking:s}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,w.jsx)(Je,{durationLabel:a,startedAt:Ke(e.steps)}):null]}),(0,w.jsx)(`div`,{className:b(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function Ze({className:e}){return(0,w.jsx)(`div`,{"aria-hidden":!0,className:b(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function Qe({status:e,isThinking:t}){return t?(0,w.jsx)(d,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`thinking`,className:`h-[14px] w-[14px] shrink-0 text-[var(--content-secondary)]`}):(0,w.jsx)($e,{status:e,testId:`phase-header-status-icon`})}function $e({status:e,testId:t}){return e===`completed`?(0,w.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":t,className:`shrink-0`})}function et(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function tt({label:e,durationLabel:t,status:n}){return(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,w.jsx)(f,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`completed`,className:`h-[14px] w-[14px] text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function Y(e){switch(e.kind){case`thinking`:return!0;case`tool`:return e.info.length>0;case`tool_error`:case`web_search_error`:case`web_search`:return!0}}function nt({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:T(e.text)})});if(e.kind===`tool`){let t=G[e.iconName]??u;return Y(e)?(0,w.jsxs)(Z,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.errorMessage})}):(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.title})})}function X({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,w.jsx)(`div`,{"data-testid":`phase-step-pill`,className:`inline-flex min-w-0 max-w-full items-center gap-1 self-start rounded-full border border-[var(--border-element)] bg-transparent px-2 py-1 text-[var(--content-default)]`,children:e})}var Q=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,rt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,it=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function at({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,C.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,children:a?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function ot({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,w.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${rt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${it}`,children:[(0,w.jsx)(at,{faviconUrl:n,domain:r,label:e}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:e})]})}function $(e){if(e.variant===`web`)return(0,w.jsx)(ot,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:o}=e,s=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:it,c=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(G[t]??u,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,w.jsx)(`button`,{type:`button`,"data-testid":`tool-step-pill`,"data-active":a?``:void 0,"aria-pressed":a,"aria-label":o??`View details: ${n}`,onClick:r,className:`${Q} ${rt} max-w-full hover:bg-[var(--surface-active)] ${s}`,children:c}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${s}`,children:c})}function st(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function ct({item:e}){let[t,n]=(0,C.useState)(!1),r=!!e.faviconUrl&&!t;return(0,w.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-[var(--radius-md)] px-2 py-1.5 hover:bg-[var(--surface-hover)]`,children:[(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-[14px] w-[14px] shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)] bg-[var(--surface-overlay)]`,children:r?(0,w.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:st(e)})}),(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function lt({results:e}){return(0,w.jsxs)(v.Root,{children:[(0,w.jsx)(v.Trigger,{asChild:!0,children:(0,w.jsx)(`button`,{type:`button`,"data-testid":`web-search-overflow-chip`,className:`inline-flex min-h-[26px] cursor-pointer items-center rounded-[var(--radius-pill)] bg-[var(--surface-base)] px-[10px] py-[6px] outline-none hover:bg-[var(--surface-hover)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,w.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,w.jsx)(v.Content,{align:`start`,side:`bottom`,className:`flex max-h-[260px] w-[280px] flex-col gap-0.5 overflow-y-auto`,children:e.map(e=>(0,w.jsx)(ct,{item:e},e.rank))})]})}function ut({message:e}){return(0,w.jsx)(`div`,{"data-testid":`web-search-error-chip`,className:`inline-flex items-center gap-1 rounded-[var(--radius-pill)] border border-[var(--border-element)] bg-transparent px-[10px] py-[6px]`,children:(0,w.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function dt({step:e}){let t=e.overflowResults??[];return(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,w.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(lt,{results:t}):null]})}function ft({step:e}){return(0,w.jsx)(ut,{message:e.errorMessage})}function pt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:b(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{D as C,E as S,fe as _,nt as a,xe as b,Ze as c,q as d,et as f,W as g,Ue as h,$ as i,Qe as l,K as m,ft as n,G as o,Y as p,dt as r,Ye as s,pt as t,J as u,je as v,T as w,Ce as x,O as y};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{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,gt as o,ht as s,m as c,p as l,vt as u}from"./risk-uPLh5W5z.js";import{t as d}from"./brain-BIzJCPA6.js";import{t as f}from"./check-sC49_hjU.js";import{t as p}from"./circle-check-CjGnAahM.js";import{t as m}from"./code-qafFA0_-.js";import{t as h}from"./file-text-BCsUYVEF.js";import{t as g}from"./globe-BDvXuPkw.js";import{t as _}from"./monitor-B5vtTCxm.js";import{t as ee}from"./sparkles-DC8kqYjt.js";import{t as te}from"./user-plus-CXMJ1x_5.js";import"./src-BAS7a2RG.js";import{t as v}from"./popover-BFL-uOLh.js";import{D as y,O as ne}from"./chat-BIJEFb5u.js";import{t as b}from"./misc-CAQM4FGM.js";import{t as re}from"./proxy-CNtrhN4q.js";import{t as ie}from"./AnimatePresence-D23js3-M.js";import{t as x}from"./use-reduced-motion-bjjt6x6d.js";import{t as S}from"./three-dot-indicator-CfjkCgEH.js";var C=e(t(),1),w=r();function T(e){let t=e.trimStart();if(!t.startsWith(`**`))return e;let n=t.indexOf(`**`,2);if(n===-1)return t.slice(2).trimStart();let r=t.slice(2,n).trim();return r.length>0?r:e}var ae=/^https?:\/\/\S+/,oe=/^URL:\s*(https?:\/\/\S+)/i,se=/^\[\d+\]\s*(https?:\/\/\S+)/;function E(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function ce(e){let t=e.trim();return oe.exec(t)?.[1]??se.exec(t)?.[1]??t}function le(e){return e.trim().replace(/^\d+\.\s+/,``)}function ue(e){let t=e.split(/\r?\n/),n=[],r=new Set,i=``;for(let e of t){let t=e.trim();if(!t){i=``;continue}let a=ce(t);if(ae.test(a)){r.has(a)||(r.add(a),n.push({title:i,url:a})),i=``;continue}/^Web search results for /i.test(t)||/^Sources:?$/i.test(t)||(i=le(t))}return n}function D(e){return!e||!e.trim()?[]:ue(e).map((e,t)=>{let n=E(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var de=5,fe=new Set([`web_search`,`web_fetch`]);function O(e){if(!Number.isFinite(e)||e<1e3)return`<1s`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);return n<60?`${n}m`:`${Math.round(n/60)}h`}function k(e){return fe.has(e.name)}function A(e){return e?`Searched the web`:`Searching the web`}function j(e){return{visible:e.slice(0,de),overflowResults:e.slice(de)}}function pe(e,t){let{visible:n,overflowResults:r}=j(e.results);return{kind:`web_search`,title:A(t),durationLabel:O(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:O(e.durationMs),text:`Reading ${t}`}}function he(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function ge(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function _e(e){let t=D(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=j(t);return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function ve(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:O(e.durationMs),errorMessage:e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`}}function M(){return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:0,results:[]}}function N(e,t){return t[e.id]??e.activityMetadata}function P(e){return!y(e)}function F(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function I(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function L(e,t){return e==null||t==null?null:Math.max(0,t-e)}function R(e,t){let n=L(e,t);return n==null?``:O(n)}function z(e){return R(e.startedAt??void 0,e.completedAt??void 0)}function ye(e){return!l(e)&&y(e)}function be(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:L(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:L(r,n.completedAt)}function xe(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:ye(e.toolCall))}function Se(e,t){let n=0,r=!1;for(let i of e){let e=be(i,t);e!=null&&(r=!0,n+=e)}return r?O(n):``}function Ce(e){let{title:t,activity:n}=c(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:I(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:z(e)}}function we(e){let{title:t,info:n,activity:r,iconName:i}=c(e);return{kind:`tool`,durationLabel:z(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:I(e)}}function Te(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(k(r)){let e=N(r,t),n=P(r);if(e?.webSearch&&F(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return A(n);if(r.name===`web_fetch`)return`Thinking`}else return c(r).title}return``}function Ee(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!k(r)){let{info:e,activity:t}=c(r);return t||e}let i=N(r,t),a=P(r);if(i?.webSearch){let e=i.webSearch;if(F(e,r))return e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`;if(e.results.length>0)return e.results[e.results.length-1].title;if(!a&&e.query)return`Searching ${e.query}`}if(i?.webFetch){let e=i.webFetch;return a?e.title??e.domain:`Reading ${e.domain}`}if(r.name===`web_search`){if(!a){let e=typeof r.input?.query==`string`?r.input.query.trim():``;return e?`Searching ${e}`:``}if(typeof r.result==`string`){let e=D(r.result);if(e.length>0){let t=e[e.length-1].title;if(t)return t}}}if(r.name===`web_fetch`){let e=typeof r.input?.url==`string`?r.input.url:``,t=e?E(e):``;if(t)return a?t:`Reading ${t}`}}return``}function De(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=N(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Oe(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function ke(e){return Oe(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function Ae(e,t){if(l(e))return null;if(!k(e))return we(e);let n=N(e,t),r=P(e);if(n?.webSearch){let t=n.webSearch;return F(t,e)?ve(t):pe(t,r)}return n?.webFetch?me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?_e(e.result)??M():M():e.name===`web_search`?he():ge()}function je(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:R(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Ae(n.toolCall,t);e&&(i.push(e),a=null)}let s=ke(r),c,u,d;a===null?(c=Te(r,t),u=Ee(r,t),d=`tool`):(c=`Thinking`,u=T(a),d=`thinking`);let f=De(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Se(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var Me=.44;function Ne(e,t){let n=[...e].sort((e,t)=>e.position-t.position),r=n[0]?.color??`white`,i=n[n.length-1]?.color??`white`,a=n.map(e=>{let t=(e.position-.5)*2*Me;return`${e.color} calc(50% + var(--gs-spread-mid) * ${t.toFixed(4)})`}).join(`, `);return[`linear-gradient(${t}deg`,`var(--gs-base) calc(50% - var(--gs-spread))`,`color-mix(in oklab, var(--gs-base) 42%, ${r}) calc(50% - var(--gs-spread-mid))`,a,`color-mix(in oklab, var(--gs-base) 42%, ${i}) calc(50% + var(--gs-spread-mid))`,`var(--gs-base) calc(50% + var(--gs-spread)))`].join(`, `)}function Pe(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var Fe=`var(--avatar-accent, var(--content-emphasised))`,Ie=`color-mix(in srgb, currentColor 45%, transparent)`,Le=1500,Re=106,B=6,V=48,H=.72,U=14,ze=96;function Be(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function W({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??Fe,s=(0,C.useMemo)(()=>Ne(Pe(o),Re),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!Be()){t.style.removeProperty(`background-image`),t.style.removeProperty(`background-color`),t.style.removeProperty(`-webkit-text-fill-color`);return}if(a||typeof t.animate!=`function`)return;let n=null,r=()=>{let r=t.getBoundingClientRect().width||ze,i=(Number.parseFloat(getComputedStyle(t).fontSize)||U)/U,a=Math.min(e.length*B*i,V*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*H}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:Le,easing:`linear`,iterations:1/0}),n.startTime=0};r();let o=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);return o?.observe(t),()=>{o?.disconnect(),n?.cancel()}},[e,a]);let c=Math.min(e.length*B,V);return(0,w.jsx)(`span`,{ref:i,className:n,style:{position:`relative`,display:`inline-block`,backgroundImage:s,backgroundRepeat:`repeat-x`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":Ie,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*H}px`},"data-testid":r,children:e})}var Ve=400;function He(e,t,n){let[r,i]=(0,C.useState)(e),a=(0,C.useRef)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(null);return(0,C.useEffect)(()=>{if(Object.is(r,e)){o.current=null;return}if(n){s.current&&=(clearTimeout(s.current),null),o.current=null,i(e),a.current=Date.now();return}o.current=e;let c=Date.now();a.current===null&&(a.current=c);let l=c-a.current,u=Math.max(0,t-l);return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{o.current!==null&&(i(o.current),a.current=Date.now(),o.current=null),s.current=null},u),()=>{s.current&&=(clearTimeout(s.current),null)}},[e,r,t,n]),r}function Ue({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=He((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),Ve,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,w.jsx)(ie,{initial:!1,mode:`popLayout`,children:(0,w.jsxs)(re.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,w.jsx)(`span`,{className:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):null,g?(0,w.jsxs)(w.Fragment,{children:[_?(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,w.jsx)(`span`,{className:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a&&typeof c.info==`string`?(0,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(i,{variant:_?`body-small-default`:`body-medium-default`,className:`ml-1 block min-w-0 flex-1 truncate text-left leading-[16px] ${_?`text-[var(--content-tertiary)]`:`text-[var(--content-emphasised)]`}`,children:a&&!_&&typeof c.info==`string`?(0,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var G={code:m,terminal:s,file:h,globe:g,pen:a,monitor:_,plug:o,sparkle:ee,"user-plus":te,bolt:u,brain:d};function We(e){if(e.kind===`thinking`)return`Thinking`;if(e.kind===`web_search`||e.kind===`web_search_error`)return`Searching the web`;if(e.kind===`tool_error`)return`Error`;let t=e.title;return t.startsWith(`Working`)?t:t===`Reading`||t===`Editing`||t.startsWith(`Running`)?`Working`:t===`Using a skill`?`Using a skill`:(t.startsWith(`Using `),t)}function Ge(e){if(!e||e===`<1s`)return 0;let t=/^(\d+)(s|m|h)$/.exec(e);if(!t)return 0;let n=Number(t[1]);switch(t[2]){case`h`:return n*36e5;case`m`:return n*6e4;default:return n*1e3}}function Ke(e){let t=null;for(let n of e)(n.kind===`tool`||n.kind===`thinking`)&&n.startedAt!=null&&(t=t==null?n.startedAt:Math.min(t,n.startedAt));return t}function qe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function Je({durationLabel:e,startedAt:t}){let r=(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,w.jsx)(n,{content:`Started at ${qe(t)}`,side:`top`,align:`end`,children:(0,w.jsx)(`span`,{className:`cursor-default`,children:r})})}function K(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?O(t):``}function q(e){if(e.length===0)return`running`;for(let t of e){if(t.kind===`tool`){if(t.status===`running`)return`running`;continue}if(t.kind===`web_search`&&t.title===`Searching the web`)return`running`}return`completed`}function J(e){let t=[];for(let n of e){let e=We(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function Ye({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=J(e),i=[],a=0;for(let e of r)i.push(a),a+=e.steps.length;let o=(e,n)=>e.steps.map((e,r)=>{let i=et(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(nt,{step:e})},i)});return n?(0,w.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,w.jsx)(Xe,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,w.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=q(e.steps),a=i[t];return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,w.jsx)(tt,{label:e.label,durationLabel:n,status:r}),(0,w.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function Xe({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=q(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,w.jsx)(Ze,{}),(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(Qe,{status:o,isThinking:s}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,w.jsx)(Je,{durationLabel:a,startedAt:Ke(e.steps)}):null]}),(0,w.jsx)(`div`,{className:b(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function Ze({className:e}){return(0,w.jsx)(`div`,{"aria-hidden":!0,className:b(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function Qe({status:e,isThinking:t}){return t?(0,w.jsx)(d,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`thinking`,className:`h-[14px] w-[14px] shrink-0 text-[var(--content-secondary)]`}):(0,w.jsx)($e,{status:e,testId:`phase-header-status-icon`})}function $e({status:e,testId:t}){return e===`completed`?(0,w.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":t,className:`shrink-0`})}function et(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function tt({label:e,durationLabel:t,status:n}){return(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,w.jsx)(f,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`completed`,className:`h-[14px] w-[14px] text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function Y(e){switch(e.kind){case`thinking`:return!0;case`tool`:return e.info.length>0;case`tool_error`:case`web_search_error`:case`web_search`:return!0}}function nt({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:T(e.text)})});if(e.kind===`tool`){let t=G[e.iconName]??u;return Y(e)?(0,w.jsxs)(Z,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.errorMessage})}):(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.title})})}function X({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,w.jsx)(`div`,{"data-testid":`phase-step-pill`,className:`inline-flex min-w-0 max-w-full items-center gap-1 self-start rounded-full border border-[var(--border-element)] bg-transparent px-2 py-1 text-[var(--content-default)]`,children:e})}var Q=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,rt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,it=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function at({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,C.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,children:a?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function ot({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,w.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${rt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${it}`,children:[(0,w.jsx)(at,{faviconUrl:n,domain:r,label:e}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:e})]})}function $(e){if(e.variant===`web`)return(0,w.jsx)(ot,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:o}=e,s=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:it,c=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(G[t]??u,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,w.jsx)(`button`,{type:`button`,"data-testid":`tool-step-pill`,"data-active":a?``:void 0,"aria-pressed":a,"aria-label":o??`View details: ${n}`,onClick:r,className:`${Q} ${rt} max-w-full hover:bg-[var(--surface-active)] ${s}`,children:c}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${s}`,children:c})}function st(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function ct({item:e}){let[t,n]=(0,C.useState)(!1),r=!!e.faviconUrl&&!t;return(0,w.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-[var(--radius-md)] px-2 py-1.5 hover:bg-[var(--surface-hover)]`,children:[(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-[14px] w-[14px] shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)] bg-[var(--surface-overlay)]`,children:r?(0,w.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:st(e)})}),(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function lt({results:e}){return(0,w.jsxs)(v.Root,{children:[(0,w.jsx)(v.Trigger,{asChild:!0,children:(0,w.jsx)(`button`,{type:`button`,"data-testid":`web-search-overflow-chip`,className:`inline-flex min-h-[26px] cursor-pointer items-center rounded-[var(--radius-pill)] bg-[var(--surface-base)] px-[10px] py-[6px] outline-none hover:bg-[var(--surface-hover)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,w.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,w.jsx)(v.Content,{align:`start`,side:`bottom`,className:`flex max-h-[260px] w-[280px] flex-col gap-0.5 overflow-y-auto`,children:e.map(e=>(0,w.jsx)(ct,{item:e},e.rank))})]})}function ut({message:e}){return(0,w.jsx)(`div`,{"data-testid":`web-search-error-chip`,className:`inline-flex items-center gap-1 rounded-[var(--radius-pill)] border border-[var(--border-element)] bg-transparent px-[10px] py-[6px]`,children:(0,w.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function dt({step:e}){let t=e.overflowResults??[];return(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,w.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(lt,{results:t}):null]})}function ft({step:e}){return(0,w.jsx)(ut,{message:e.errorMessage})}function pt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:b(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{D as C,E as S,fe as _,nt as a,xe as b,Ze as c,q as d,et as f,W as g,Ue as h,$ as i,Qe as l,K as m,ft as n,G as o,Y as p,dt as r,Ye as s,pt as t,J as u,je as v,T as w,Ce as x,O as y};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-FWzaVb8P.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,t as i}from"./button-Dy5001j6.js";import{f as a,l as o,n 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"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-DRIctGVs.js";import{t as p}from"./createLucideIcon-CAM1RhH8.js";import{t as m}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as h}from"./arrow-left-C2ylPLHq.js";import{a as g,n as _,o as v,r as y,t as b}from"./use-skill-actions-BLHTDn21.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./menu-CKZtG-s_.js";import{t as C}from"./code-qafFA0_-.js";import{t as w}from"./external-link-CAce-RVu.js";import{t as T}from"./eye-DTyDWiqu.js";import{t as E}from"./file-text-BCsUYVEF.js";import{t as D}from"./folder-g06qTW2O.js";import{t as O}from"./loader-circle-BzJ2kz3F.js";import{t as k}from"./trash-2-De6X8YiM.js";import{t as A}from"./triangle-alert--e3n47gm.js";import{M as j}from"./src-BAS7a2RG.js";import{n as M,t as N}from"./file-markdown-DBLxtb0M.js";import{d as P}from"./routes-GmNvdtLW.js";import{St as F,un as I,wt as L}from"./react-query.gen-0mspArBl.js";import{n as ee}from"./use-is-mobile-Cx2xnNUx.js";import{t as te}from"./open-workspace-file-DYklNHQ0.js";import{t as R}from"./use-active-assistant-id-CjvzlL4t.js";import{n as z,t as B}from"./use-skill-detail-files-BVBb8uoK.js";import{n as V,r as ne,t as H}from"./skills-BL4RgwAd.js";import{t as U}from"./use-edge-swipe-back-Dbz1hC9g.js";import{i as W,n as G,r as K,t as q}from"./file-editor-DcH2Os5o.js";var J=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Y=e(n(),1),X=d();function re({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=y(t),u=V(t),{fileEntries:d,setSelectedPath:p,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:C,isContentLoading:w}=B(e,t.id);return(0,X.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,X.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,X.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,X.jsx)(v,{skill:t,className:`h-8 w-8 text-3xl`}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,X.jsx)(z,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,X.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,X.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,X.jsx)(m,{"aria-hidden":!0}),children:`Install`}):(0,X.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(k,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,X.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:x?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,X.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=_===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,X.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,X.jsx)(D,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,X.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:w?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(ie,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:S,isBinary:C,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function ie({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let u=l(),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(``),h=`skills/${n}/${a}`,g=I({onSuccess:()=>{f(!1),m(``),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),a===`SKILL.md`&&H(u,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),_=d&&p!==(o??``),v=(0,Y.useCallback)(()=>{!_||g.isPending||g.mutate({path:{assistant_id:e},body:{path:h,content:p,encoding:`utf8`}})},[_,g,e,h,p]),y=(0,Y.useCallback)(()=>{f(!0),m(o??``),g.reset()},[o,g]),b=(0,Y.useCallback)(()=>{f(!1),m(``),g.reset()},[g]);if(s)return(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(o===null)return(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let x=c?(0,X.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,X.jsx)(w,{"aria-hidden":!0}),onClick:()=>void te(h),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return M(r,void 0)&&!d?(0,X.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,X.jsx)(q,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:y,extraActions:x}),(0,X.jsx)(N,{content:o})]})}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,X.jsx)(q,{content:d?p:o,fileName:r,showEdit:c,isEditing:d,onToggleEdit:()=>d?b():y(),extraActions:x}),d?(0,X.jsx)(K,{value:p,onChange:m,onSave:v}):(0,X.jsx)(W,{content:o,readOnly:!c,onStartEdit:y})]}),d&&(0,X.jsx)(G,{isDirty:_,isSaving:g.isPending,error:g.isError?`Save failed`:null,onSave:v,onDiscard:b})]})}var ae=e(r(),1);function oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):M(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(N,{content:t})}):(0,X.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function se({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=y(t),d=V(t),{fileEntries:p,setSelectedPath:m,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:w,isContentLoading:E}=B(e,t.id),[D,k]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{k(`preview`)},[_]);let[A,N]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{N(document.getElementById(`viewport-overlays`))},[]);let P=b?M(b.name,void 0):!1,F=P?D:`raw`,I=(0,X.jsxs)(`div`,{ref:c,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,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,X.jsx)(ce,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(v,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,X.jsx)(z,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`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,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(Z,{fileEntries:p,activePath:_,activeName:b?.name??null,onSelect:m}),(0,X.jsx)(j,{iconOnly:!0,ariaLabel:`File view mode`,value:F,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(T,{"aria-hidden":!0}),disabled:!P},{value:`raw`,label:`Source`,icon:(0,X.jsx)(C,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:x||E?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(oe,{fileName:b.name,content:S,isBinary:w,viewMode:F}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ae.createPortal)(I,A):I}function ce({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function le(e){return(e??``).endsWith(`/directory`)}function Z({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(S.Root,{children:[(0,X.jsx)(S.Trigger,{children:(0,X.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=le(e.mimeType);return(0,X.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(D,{}):(0,X.jsx)(E,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Q(){return(0,X.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,X.jsx)(E,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function ue(){return(0,X.jsx)(_,{icon:A,iconColor:`var(--system-danger)`,title:`Failed to load skills`,subtitle:`Something went wrong. Try refreshing the page.`})}function $(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function de(){let e=R(),{skillId:t}=a(),n=c(),r=o(),{pathname:l}=r,d=ee(),f=(0,Y.useRef)(null),p=r.state,m=typeof p?.listSearch==`string`?p.listSearch:``,g=u({...L({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),v=(0,Y.useCallback)(()=>{n(`${P.superpowers}${m}`,{replace:!0})},[n,m]);U({containerRef:f,onBack:v,enabled:d,navKey:l});let{handleInstall:y,handleRemove:x,isInstallingSkill:S,isRemovingSkill:C,skillPendingRemoval:w,confirmRemove:T,cancelRemove:E}=b(e,{onRemoved:v}),D=g.data,O=(0,Y.useMemo)(()=>D?.find(e=>e.id===t)??null,[D,t]),k=u({...F({path:{assistant_id:e,id:t??``}}),enabled:!!t&&O?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,X.jsx)(s,{to:P.superpowers,replace:!0});if(g.isLoading)return(0,X.jsx)($,{});if(g.isError&&!O)return(0,X.jsx)(ue,{});if(!O&&g.isFetching)return(0,X.jsx)($,{});if(!O)return(0,X.jsx)(_,{icon:J,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,X.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,X.jsx)(h,{"aria-hidden":!0}),onClick:v,children:`Back to My Superpowers`})});let A={assistantId:e,skill:O,onBack:v,onInstall:()=>y(O),onRemove:()=>x(O),isInstalling:S(O),isRemoving:C(O),sourceConversationId:k.data??void 0};return(0,X.jsxs)(X.Fragment,{children:[d?(0,X.jsx)(se,{...A,swipeContainerRef:f}):(0,X.jsx)(re,{...A}),(0,X.jsx)(ne,{skillName:w?.name??null,onConfirm:T,onCancel:E})]})}export{de as SkillDetailPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-FWzaVb8P.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,t as i}from"./button-Dy5001j6.js";import{f as a,l as o,n 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"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-DRIctGVs.js";import{t as p}from"./createLucideIcon-CAM1RhH8.js";import{t as m}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as h}from"./arrow-left-C2ylPLHq.js";import{a as g,n as _,o as v,r as y,t as b}from"./use-skill-actions-BLHTDn21.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./menu-CKZtG-s_.js";import{t as C}from"./code-qafFA0_-.js";import{t as w}from"./external-link-CAce-RVu.js";import{t as T}from"./eye-DTyDWiqu.js";import{t as E}from"./file-text-BCsUYVEF.js";import{t as D}from"./folder-g06qTW2O.js";import{t as O}from"./loader-circle-BzJ2kz3F.js";import{t as k}from"./trash-2-De6X8YiM.js";import{t as A}from"./triangle-alert--e3n47gm.js";import{M as j}from"./src-BAS7a2RG.js";import{n as M,t as N}from"./file-markdown-DBLxtb0M.js";import{d as P}from"./routes-GmNvdtLW.js";import{St as F,un as I,wt as L}from"./react-query.gen-0mspArBl.js";import{n as ee}from"./use-is-mobile-Cx2xnNUx.js";import{t as te}from"./open-workspace-file-DucrTmt3.js";import{t as R}from"./use-active-assistant-id-CjvzlL4t.js";import{n as z,t as B}from"./use-skill-detail-files-BVBb8uoK.js";import{n as V,r as ne,t as H}from"./skills-BL4RgwAd.js";import{t as U}from"./use-edge-swipe-back-D12vbvly.js";import{i as W,n as G,r as K,t as q}from"./file-editor-DcH2Os5o.js";var J=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Y=e(n(),1),X=d();function re({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=y(t),u=V(t),{fileEntries:d,setSelectedPath:p,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:C,isContentLoading:w}=B(e,t.id);return(0,X.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,X.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,X.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,X.jsx)(v,{skill:t,className:`h-8 w-8 text-3xl`}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,X.jsx)(z,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,X.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,X.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,X.jsx)(m,{"aria-hidden":!0}),children:`Install`}):(0,X.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(k,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,X.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:x?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,X.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=_===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,X.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,X.jsx)(D,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,X.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:w?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(ie,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:S,isBinary:C,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function ie({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let u=l(),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(``),h=`skills/${n}/${a}`,g=I({onSuccess:()=>{f(!1),m(``),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),a===`SKILL.md`&&H(u,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),_=d&&p!==(o??``),v=(0,Y.useCallback)(()=>{!_||g.isPending||g.mutate({path:{assistant_id:e},body:{path:h,content:p,encoding:`utf8`}})},[_,g,e,h,p]),y=(0,Y.useCallback)(()=>{f(!0),m(o??``),g.reset()},[o,g]),b=(0,Y.useCallback)(()=>{f(!1),m(``),g.reset()},[g]);if(s)return(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(o===null)return(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let x=c?(0,X.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,X.jsx)(w,{"aria-hidden":!0}),onClick:()=>void te(h),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return M(r,void 0)&&!d?(0,X.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,X.jsx)(q,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:y,extraActions:x}),(0,X.jsx)(N,{content:o})]})}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,X.jsx)(q,{content:d?p:o,fileName:r,showEdit:c,isEditing:d,onToggleEdit:()=>d?b():y(),extraActions:x}),d?(0,X.jsx)(K,{value:p,onChange:m,onSave:v}):(0,X.jsx)(W,{content:o,readOnly:!c,onStartEdit:y})]}),d&&(0,X.jsx)(G,{isDirty:_,isSaving:g.isPending,error:g.isError?`Save failed`:null,onSave:v,onDiscard:b})]})}var ae=e(r(),1);function oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):M(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(N,{content:t})}):(0,X.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function se({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=y(t),d=V(t),{fileEntries:p,setSelectedPath:m,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:w,isContentLoading:E}=B(e,t.id),[D,k]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{k(`preview`)},[_]);let[A,N]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{N(document.getElementById(`viewport-overlays`))},[]);let P=b?M(b.name,void 0):!1,F=P?D:`raw`,I=(0,X.jsxs)(`div`,{ref:c,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,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,X.jsx)(ce,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(v,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,X.jsx)(z,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`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,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(Z,{fileEntries:p,activePath:_,activeName:b?.name??null,onSelect:m}),(0,X.jsx)(j,{iconOnly:!0,ariaLabel:`File view mode`,value:F,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(T,{"aria-hidden":!0}),disabled:!P},{value:`raw`,label:`Source`,icon:(0,X.jsx)(C,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:x||E?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(oe,{fileName:b.name,content:S,isBinary:w,viewMode:F}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ae.createPortal)(I,A):I}function ce({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function le(e){return(e??``).endsWith(`/directory`)}function Z({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(S.Root,{children:[(0,X.jsx)(S.Trigger,{children:(0,X.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=le(e.mimeType);return(0,X.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(D,{}):(0,X.jsx)(E,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Q(){return(0,X.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,X.jsx)(E,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function ue(){return(0,X.jsx)(_,{icon:A,iconColor:`var(--system-danger)`,title:`Failed to load skills`,subtitle:`Something went wrong. Try refreshing the page.`})}function $(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function de(){let e=R(),{skillId:t}=a(),n=c(),r=o(),{pathname:l}=r,d=ee(),f=(0,Y.useRef)(null),p=r.state,m=typeof p?.listSearch==`string`?p.listSearch:``,g=u({...L({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),v=(0,Y.useCallback)(()=>{n(`${P.superpowers}${m}`,{replace:!0})},[n,m]);U({containerRef:f,onBack:v,enabled:d,navKey:l});let{handleInstall:y,handleRemove:x,isInstallingSkill:S,isRemovingSkill:C,skillPendingRemoval:w,confirmRemove:T,cancelRemove:E}=b(e,{onRemoved:v}),D=g.data,O=(0,Y.useMemo)(()=>D?.find(e=>e.id===t)??null,[D,t]),k=u({...F({path:{assistant_id:e,id:t??``}}),enabled:!!t&&O?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,X.jsx)(s,{to:P.superpowers,replace:!0});if(g.isLoading)return(0,X.jsx)($,{});if(g.isError&&!O)return(0,X.jsx)(ue,{});if(!O&&g.isFetching)return(0,X.jsx)($,{});if(!O)return(0,X.jsx)(_,{icon:J,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,X.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,X.jsx)(h,{"aria-hidden":!0}),onClick:v,children:`Back to My Superpowers`})});let A={assistantId:e,skill:O,onBack:v,onInstall:()=>y(O),onRemove:()=>x(O),isInstalling:S(O),isRemoving:C(O),sourceConversationId:k.data??void 0};return(0,X.jsxs)(X.Fragment,{children:[d?(0,X.jsx)(se,{...A,swipeContainerRef:f}):(0,X.jsx)(re,{...A}),(0,X.jsx)(ne,{skillName:w?.name??null,onConfirm:T,onCancel:E})]})}export{de as SkillDetailPage};
@@ -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-Bh_5sIPp.js";import{t as o}from"./arrow-left-C2ylPLHq.js";import{n as s,r as c,t as l}from"./metric-card-B-Tt9p-1.js";import{h as u,vt as d}from"./risk-FjW-m05l.js";import{t as f}from"./brain-BIzJCPA6.js";import{t as p}from"./chevron-down-B5A-0g8A.js";import{t as m}from"./chevron-right-HU6H84S0.js";import{t as h}from"./globe-BDvXuPkw.js";import{t as g}from"./x-DuBvjmAE.js";import"./src-BAS7a2RG.js";import{t as _}from"./chat-markdown-message-B3Qo04ug.js";import{c as v,i as y,l as b,o as x}from"./subagent-store-C8qemfgn.js";import{t as S}from"./misc-CAQM4FGM.js";import{t as C}from"./proxy-CNtrhN4q.js";import{t as w}from"./AnimatePresence-D23js3-M.js";import{t as T}from"./use-reduced-motion-bjjt6x6d.js";import{t as E}from"./three-dot-indicator-CfjkCgEH.js";import{t as D}from"./avatar-renderer-3EVhZ7TB.js";import{n as O}from"./use-bundled-avatar-components-IQw2k8-g.js";import{t as k}from"./avatar-subagent-BpXST4nO.js";import{i as A,r as j,t as M}from"./use-subagent-card-data-Cu_-lx6d.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 ee,w as q}from"./site-favicon-CA7jaNnH.js";import{t as te}from"./status-badge-pill-ZNNoKV1T.js";import{CodeBlock as J,ToolDetailBody as ne}from"./tool-detail-panel-86ruMQAQ.js";import{t as re}from"./detail-panel-stop-button-DgKaA6yz.js";var Y=e(t(),1),X=r();function ie({status:e}){return(0,X.jsx)(te,{color:v(e),label:b(e)})}function ae(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?L(n,t):``}`}function oe(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 se(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function ce(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 le(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return q(n.text)}}function Z(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 ue({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,Y.useState)(new Set),s=n??a,c=(0,Y.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,Y.useMemo)(()=>ee(e),[e]);return l.length===0?null:(0,X.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ae(e,n),a=n===l.length-1;return(0,X.jsx)(de,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var de=(0,Y.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?ce(e):void 0,v=m>=2,y=e.steps.some(e=>W(e)||!!s&&!!Z(e)),b=u===`running`?``:V(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),x=u===`running`?oe(e):void 0,E=u===`running`&&!g?se(x,e.label):``,D=g&&(u===`running`||!!_),O=_??e.label,k=p&&d,A=k?le(e)??e.label:void 0,j=u===`running`||D||k||!!b,M=`${m} step${m===1?``:`s`}`;return(0,X.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,X.jsx)(F,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,X.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,X.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,X.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,X.jsx)(B,{status:d?`running`:u,isThinking:p&&!d}),(0,X.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),j&&(0,X.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),D?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(h,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(R,{currentStepTitle:``,currentStepInfo:O})]}):k?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(R,{currentStepTitle:``,currentStepInfo:A??e.label})]}):u===`running`?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(R,{currentStepTitle:``,currentStepInfo:E})]}):b?(0,X.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${b}`}):null,y&&v&&(0,X.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,X.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:M})})]}),(0,X.jsx)(w,{initial:!1,children:y&&r&&(0,X.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,X.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=s?Z(e):void 0;if(n&&s){if(e.kind===`tool`)return(0,X.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,X.jsx)(z,{variant:`tool`,iconName:`brain`,label:q(e.text),ariaLabel:`View reasoning`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search`)return(0,X.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,X.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,X.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,X.jsx)(G,{step:e})]},L(e,t)):e.kind===`web_search_error`?(0,X.jsx)(H,{step:e},L(e,t)):(0,X.jsx)(P,{step:e},L(e,t))})})},`phase-steps`)})]})}),fe=`
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-Bh_5sIPp.js";import{t as o}from"./arrow-left-C2ylPLHq.js";import{n as s,r as c,t as l}from"./metric-card-B-Tt9p-1.js";import{h as u,vt as d}from"./risk-uPLh5W5z.js";import{t as f}from"./brain-BIzJCPA6.js";import{t as p}from"./chevron-down-B5A-0g8A.js";import{t as m}from"./chevron-right-HU6H84S0.js";import{t as h}from"./globe-BDvXuPkw.js";import{t as g}from"./x-DuBvjmAE.js";import"./src-BAS7a2RG.js";import{t as _}from"./chat-markdown-message-f4cLJfax.js";import{c as v,i as y,l as b,o as x}from"./subagent-store-DyKwOIj_.js";import{t as S}from"./misc-CAQM4FGM.js";import{t as C}from"./proxy-CNtrhN4q.js";import{t as w}from"./AnimatePresence-D23js3-M.js";import{t as T}from"./use-reduced-motion-bjjt6x6d.js";import{t as E}from"./three-dot-indicator-CfjkCgEH.js";import{t as D}from"./avatar-renderer-3EVhZ7TB.js";import{n as O}from"./use-bundled-avatar-components-IQw2k8-g.js";import{t as k}from"./avatar-subagent-BpXST4nO.js";import{i as A,r as j,t as M}from"./use-subagent-card-data-B8JTa5rQ.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 ee,w as q}from"./site-favicon-Dh1OTgFr.js";import{t as te}from"./status-badge-pill-ZNNoKV1T.js";import{CodeBlock as J,ToolDetailBody as ne}from"./tool-detail-panel-CXcjfDGo.js";import{t as re}from"./detail-panel-stop-button-DgKaA6yz.js";var Y=e(t(),1),X=r();function ie({status:e}){return(0,X.jsx)(te,{color:v(e),label:b(e)})}function ae(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?L(n,t):``}`}function oe(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 se(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function ce(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 le(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return q(n.text)}}function Z(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 ue({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,Y.useState)(new Set),s=n??a,c=(0,Y.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,Y.useMemo)(()=>ee(e),[e]);return l.length===0?null:(0,X.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ae(e,n),a=n===l.length-1;return(0,X.jsx)(de,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var de=(0,Y.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?ce(e):void 0,v=m>=2,y=e.steps.some(e=>W(e)||!!s&&!!Z(e)),b=u===`running`?``:V(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),x=u===`running`?oe(e):void 0,E=u===`running`&&!g?se(x,e.label):``,D=g&&(u===`running`||!!_),O=_??e.label,k=p&&d,A=k?le(e)??e.label:void 0,j=u===`running`||D||k||!!b,M=`${m} step${m===1?``:`s`}`;return(0,X.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,X.jsx)(F,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,X.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,X.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,X.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,X.jsx)(B,{status:d?`running`:u,isThinking:p&&!d}),(0,X.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),j&&(0,X.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),D?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(h,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(R,{currentStepTitle:``,currentStepInfo:O})]}):k?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(R,{currentStepTitle:``,currentStepInfo:A??e.label})]}):u===`running`?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(R,{currentStepTitle:``,currentStepInfo:E})]}):b?(0,X.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${b}`}):null,y&&v&&(0,X.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,X.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:M})})]}),(0,X.jsx)(w,{initial:!1,children:y&&r&&(0,X.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,X.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=s?Z(e):void 0;if(n&&s){if(e.kind===`tool`)return(0,X.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,X.jsx)(z,{variant:`tool`,iconName:`brain`,label:q(e.text),ariaLabel:`View reasoning`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search`)return(0,X.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,X.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,X.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,X.jsx)(G,{step:e})]},L(e,t)):e.kind===`web_search_error`?(0,X.jsx)(H,{step:e},L(e,t)):(0,X.jsx)(P,{step:e},L(e,t))})})},`phase-steps`)})]})}),fe=`
2
2
  Content:
3
3
  `;function pe(e){return N(e)||e}function Q(e,t){let n=e??``,r=n.indexOf(fe),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=pe(e),r=t?/^\s*2\d\d/.test(t):!1;return(0,X.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,X.jsx)(K,{domain:n,title:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`span`,className:`truncate text-[var(--content-default)]`,children:n}),(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,className:`truncate text-[var(--content-tertiary)]`,children:e})]}),t&&(0,X.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,Y.useState)(!1),r=typeof e.input?.url==`string`?e.input.url:void 0,a=(0,Y.useMemo)(()=>Q(e.result??``,r),[e.result,r]);return e.status===`error`?(0,X.jsx)(J,{text:e.result??`Fetch failed.`}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[a.url&&(0,X.jsx)(me,{url:a.url,status:a.status}),a.notices.length>0&&(0,X.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,X.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:e},t))}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:t?`Raw result`:`Content`}),e.result&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`cursor-pointer text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,X.jsx)(i,{variant:`label-small-default`,as:`span`,children:t?`View extracted`:`View raw`})})]}),t?(0,X.jsx)(J,{text:e.result??``}):a.content?(0,X.jsx)(_,{content:a.content}):(0,X.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,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[t?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:`Query`}),(0,X.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`break-words leading-relaxed text-[var(--content-default)]`,children:`"${t}"`})]}):null,(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.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,X.jsx)(G,{step:{kind:`web_search`,title:`Searched the web`,durationLabel:``,linkCount:n.length,results:n}}):(0,X.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,Y.useRef)(null);return t.current??=_e(),t.current.project(e)}function ye(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:u(e.toolName,e.input).iconName}function be({detail:e}){return e.status===`running`?(0,X.jsx)(E,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,X.jsx)(U[ye(e)]??d,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function xe({entry:e,onClose:t,onStop:r,onRequestDetail:u}){let d=x(e.status),f=T(),h=O(),v=(0,Y.useMemo)(()=>k(e.subagentId),[e.subagentId]),{steps:b}=j(e.events),S=ve(e.events),[w,E]=(0,Y.useState)(null),A=(0,Y.useRef)(S);A.current=S;let M=(0,Y.useCallback)(e=>{A.current.has(e)&&E(e)},[]),[N,P]=(0,Y.useState)(new Set),[F,I]=(0,Y.useState)(!1),[L,R]=(0,Y.useState)(!1),z=(0,Y.useRef)(null),[B,V]=(0,Y.useState)(e.subagentId);B!==e.subagentId&&(V(e.subagentId),I(!1),R(!1),E(null),P(new Set)),(0,Y.useLayoutEffect)(()=>{if(F)return;let e=z.current;e&&R(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,F]);let H=y(e);(0,Y.useEffect)(()=>{u&&H&&e.events.length===0&&u(e.subagentId)},[e.subagentId,H,e.events.length,u]);let U=w?S.get(w):void 0,W=(0,Y.useCallback)(()=>E(null),[]),G=U?U.activity||U.title:``,K=U?G:e.label;return(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[U&&(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:W,title:e.label,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,children:e.label})}),(0,X.jsx)(m,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,title:G,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:G})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[U&&(0,X.jsx)(n,{variant:`outlined`,iconOnly:(0,X.jsx)(o,{}),onClick:W,"aria-label":`Back to timeline`,tooltip:`Back`,className:`shrink-0 rounded-lg`}),U?(0,X.jsx)(be,{detail:U}):h?(0,X.jsx)(D,{components:h,bodyShapeId:v.bodyShape,eyeStyleId:v.eyeStyle,colorId:v.color,size:32}):(0,X.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,X.jsx)(i,{variant:`title-medium`,title:K,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:K}),(0,X.jsx)(ie,{status:e.status}),(0,X.jsx)(`span`,{className:`flex-1`}),d&&r&&(0,X.jsx)(re,{onStop:()=>r(e.subagentId),ariaLabel:`Stop subagent`}),(0,X.jsx)(n,{variant:`outlined`,iconOnly:(0,X.jsx)(g,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:(0,X.jsx)(C.div,{initial:{opacity:0},animate:{opacity:1},transition:f?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:U?(0,X.jsx)(X.Fragment,{children:U.kind===`thinking`?(0,X.jsx)(_,{content:U.thinkingText??``,hardLineBreaks:!0}):U.kind===`web_search`&&U.status!==`error`?(0,X.jsx)(ge,{detail:U}):U.toolName===`web_fetch`?(0,X.jsx)(he,{detail:U}):(0,X.jsx)(ne,{detail:U})}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,X.jsx)(l,{icon:(0,X.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,X.jsx)(l,{icon:(0,X.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,X.jsxs)(`div`,{className:`mb-5`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,X.jsx)(i,{ref:z,variant:`body-medium-lighter`,as:`p`,tabIndex:F?0:void 0,role:F?`region`:void 0,"aria-label":F?`Objective`:void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${F?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),L&&(0,X.jsxs)(`button`,{type:`button`,onClick:()=>I(e=>!e),className:`mt-1.5 flex cursor-pointer items-center gap-1 text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(i,{variant:`label-small-default`,children:F?`Show less`:`Show more`}),(0,X.jsx)(p,{className:`h-3.5 w-3.5 transition-transform ${F?`rotate-180`:``}`,"aria-hidden":!0})]}),(0,X.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),e.events.length>0?(0,X.jsx)(ue,{steps:b,expandedKeys:N,onExpandedKeysChange:P,onStepDetailClick:M,isRunning:d},e.subagentId):(0,X.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`})]})]})},U?`detail`:`list`)})]})}export{xe as SubagentDetailPanel};
@@ -1,3 +1,3 @@
1
- import{t as e}from"./capture-error-FWzaVb8P.js";import{n as t,t as n}from"./create-selectors-B-P03-8K.js";import{b as r,m as i}from"./api-DDKNgE8n.js";import{n as a}from"./resolved-assistants-store-8HQDfxZh.js";import{i as o,n as s}from"./utils-C-YNXdkX.js";import{Cr as c,Sr as l,wr as u}from"./sdk.gen-BySz4QYj.js";import{a as d}from"./diagnostics-BE1IgjfV.js";import{t as f}from"./conversation-store-C0tvFESx.js";import{t as p}from"./by-tool-use-id-index-DcsiqOhc.js";function m(e){return e===`running`||e===`pending`||e===`awaiting_input`}function h(e,t){return m(e)||!m(t)}function g(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`aborted`:case`interrupted`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function _(e){switch(e){case`pending`:return`Pending`;case`running`:return`Running`;case`awaiting_input`:return`Awaiting Input`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`aborted`:return`Aborted`;case`interrupted`:return`Interrupted`;default:return`Unknown`}}var v=`0.10.0`;function y(){return s(v)}function b(){return o(v)}async function x(t,n,r){try{let{data:a,response:o}=await c({path:{assistant_id:t,id:n},query:{conversationId:r},throwOnError:!1});if(!o||!o.ok||!a)return null;let s=i.safeParse(a);return s.success?s.data:(e(s.error,{context:`fetchSubagentDetail`}),null)}catch(t){return e(t,{context:`fetchSubagentDetail`}),null}}function S(e){let t=0,n=[];for(let r of e){let e;switch(r.type){case`text`:case`assistant_text_delta`:e=`text`;break;case`tool_use`:case`tool_use_start`:e=`tool_call`;break;case`tool_result`:e=`tool_result`;break;case`error`:e=`error`;break;default:continue}let i=r.content;if(e===`text`&&i===``)continue;let a=n[n.length-1];if(e===`text`&&a&&a.type===`text`){a.content+=`
1
+ import{t as e}from"./capture-error-FWzaVb8P.js";import{n as t,t as n}from"./create-selectors-B-P03-8K.js";import{b as r,m as i}from"./api-DDKNgE8n.js";import{n as a}from"./resolved-assistants-store-8HQDfxZh.js";import{i as o,n as s}from"./utils-C-YNXdkX.js";import{Cr as c,Sr as l,wr as u}from"./sdk.gen-BySz4QYj.js";import{a as d}from"./diagnostics-CLHyv7Xw.js";import{t as f}from"./conversation-store-C0tvFESx.js";import{t as p}from"./by-tool-use-id-index-DcsiqOhc.js";function m(e){return e===`running`||e===`pending`||e===`awaiting_input`}function h(e,t){return m(e)||!m(t)}function g(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`aborted`:case`interrupted`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function _(e){switch(e){case`pending`:return`Pending`;case`running`:return`Running`;case`awaiting_input`:return`Awaiting Input`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`aborted`:return`Aborted`;case`interrupted`:return`Interrupted`;default:return`Unknown`}}var v=`0.10.0`;function y(){return s(v)}function b(){return o(v)}async function x(t,n,r){try{let{data:a,response:o}=await c({path:{assistant_id:t,id:n},query:{conversationId:r},throwOnError:!1});if(!o||!o.ok||!a)return null;let s=i.safeParse(a);return s.success?s.data:(e(s.error,{context:`fetchSubagentDetail`}),null)}catch(t){return e(t,{context:`fetchSubagentDetail`}),null}}function S(e){let t=0,n=[];for(let r of e){let e;switch(r.type){case`text`:case`assistant_text_delta`:e=`text`;break;case`tool_use`:case`tool_use_start`:e=`tool_call`;break;case`tool_result`:e=`tool_result`;break;case`error`:e=`error`;break;default:continue}let i=r.content;if(e===`text`&&i===``)continue;let a=n[n.length-1];if(e===`text`&&a&&a.type===`text`){a.content+=`
2
2
 
3
3
  `+i;continue}n.push({id:`detail-${++t}`,type:e,content:i,toolName:r.toolName,isError:r.isError,toolUseId:r.toolUseId,input:r.input,timestamp:Date.now()})}return n}var C=`0.11.1`;function w(){return s(C)}function T(e){if(e.conversationId)return e.conversationId;if(e.parentConversationId&&w())return e.parentConversationId}function E(e){return T(e)!==void 0}var D=[],O={byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map};function k(e){let t=[];return e.parentMessageStableId&&t.push(e.parentMessageStableId),e.parentMessageId&&e.parentMessageId!==e.parentMessageStableId&&t.push(e.parentMessageId),t}function A(e,t){let n=k(t);if(n.length===0)return e;let r=new Map(e);for(let e of n){let n=[...r.get(e)??[],t];n.sort((e,t)=>e.spawnedAt-t.spawnedAt),r.set(e,n)}return r}function j(e,t,n,r){let i=new Map(e),a=i.get(t);a&&i.set(t,a.map(e=>r.get(e.subagentId)??e));let o=[...i.get(n)??[]];for(let e of r.values()){let t=o.findIndex(t=>t.subagentId===e.subagentId);t===-1?o.push(e):o[t]=e}return o.sort((e,t)=>e.spawnedAt-t.spawnedAt),i.set(n,o),i}function M(e,t,n,r){let i=e[t];return!i||i[n]===r?null:{...e,[t]:{...i,[n]:r}}}function N(e){if(e.isError)return`error`;switch(e.type){case`assistant_text_delta`:case`message_complete`:return`text`;case`tool_use_start`:return`tool_call`;case`tool_result`:return`tool_result`;default:return`text`}}var P=[`command`,`file_path`,`path`,`query`,`url`,`pattern`,`glob`];function F(e){for(let t of P){let n=e[t];if(typeof n==`string`)return n.length>120?n.slice(0,117)+`...`:n}return``}function I(e){let t=e.activityMetadata?.webSearch?.query;return typeof t==`string`&&t.length>0?t:void 0}var L=0;function R(){return`te-${++L}`}var z=new Map,B=0,V=5e3,H=new Map;function U(e){H.set(e,Date.now())}function W(e){let t=H.get(e)??0;return Date.now()-t<V?!1:(U(e),!0)}function G(e,t,n,r,i){let a=e.byId[t];if(a){h(a.status,r)&&e.changeStatus({subagentId:t,status:r,error:n.error,inputTokens:n.usage?.inputTokens,outputTokens:n.usage?.outputTokens,totalCost:n.usage?.estimatedCost}),e.backfillIdentity({subagentId:t,label:n.label,objective:n.objective,parentToolUseId:n.parentToolUseId}),n.conversationId&&e.setConversationId(t,n.conversationId),e.setParentConversationId(t,i);return}e.ensureEntry({subagentId:t,timestamp:Date.now(),status:r,label:n.label,objective:n.objective,isFork:n.isFork,error:n.error,conversationId:n.conversationId,parentConversationId:i,parentToolUseId:n.parentToolUseId,inputTokens:n.usage?.inputTokens,outputTokens:n.usage?.outputTokens,totalCost:n.usage?.estimatedCost})}async function K(t,n,i){let a=B,o=Object.values(t().byId).filter(e=>e.parentConversationId===i&&m(e.status)).map(e=>e.subagentId),s;try{let{data:e,response:t}=await u({path:{assistant_id:n},query:{parentConversationId:i},throwOnError:!1});if(!t?.ok||!e?.subagents)return;s=e.subagents}catch(t){e(t,{context:`reconcileFromDaemon`,bestEffort:!0});return}if(a!==B)return;for(let[e,n]of Object.entries(s)){let a=r.safeParse(n.status);a.success&&G(t(),e,n,a.data,i)}let{byId:c,changeStatus:l}=t();for(let e of o){let t=c[e];!t||t.parentConversationId!==i||!m(t.status)||Object.hasOwn(s,e)||l({subagentId:e,status:`interrupted`})}}var q=t()((e,t)=>({...O,spawnSubagent:n=>{let{byId:r,orderedIds:i}=t();if(r[n.subagentId])return;let a={subagentId:n.subagentId,label:n.label,objective:n.objective,status:n.status??`pending`,isFork:n.isFork??!1,error:n.error,inputTokens:n.inputTokens??0,outputTokens:n.outputTokens??0,totalCost:n.totalCost??0,spawnedAt:n.timestamp,events:[],conversationId:n.conversationId,parentConversationId:n.parentConversationId,parentMessageStableId:n.parentMessageStableId,parentMessageId:n.parentMessageId,parentToolUseId:n.parentToolUseId},o={...r,[n.subagentId]:a},s=p(t().byToolUseId,n.parentToolUseId,n.subagentId);e({byId:o,orderedIds:[...i,n.subagentId],byParent:A(t().byParent,a),byToolUseId:s}),!m(a.status)&&(n.inputTokens!=null||n.outputTokens!=null||n.totalCost!=null)&&t().terminalUsageIds.add(n.subagentId)},ensureEntry:n=>{if(t().byId[n.subagentId])return;let r=n.parentConversationId??f.getState().activeConversationId??void 0,i=n.status??`running`;if(t().spawnSubagent({subagentId:n.subagentId,label:n.label??``,objective:n.objective??``,status:i,isFork:n.isFork,error:n.error,conversationId:n.conversationId,parentConversationId:r,timestamp:n.timestamp,parentToolUseId:n.parentToolUseId,inputTokens:n.inputTokens,outputTokens:n.outputTokens,totalCost:n.totalCost}),!m(i)||!E({conversationId:n.conversationId,parentConversationId:r}))return;let{byId:a}=t(),o=a[n.subagentId];o&&e({byId:{...a,[n.subagentId]:{...o,hydrationPending:!0}}})},changeStatus:n=>{let{byId:r}=t(),i=r[n.subagentId];i&&(e({byId:{...r,[n.subagentId]:{...i,status:n.status,error:n.error??i.error,inputTokens:n.inputTokens||i.inputTokens,outputTokens:n.outputTokens||i.outputTokens,totalCost:n.totalCost||i.totalCost}}}),!m(n.status)&&(n.inputTokens!=null||n.outputTokens!=null||n.totalCost!=null)&&t().terminalUsageIds.add(n.subagentId))},receiveEvent:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i||i.hydrationPending)return;let a=N(n.event),o;if(o=n.event.type===`tool_use_start`&&n.event.input?F(n.event.input):n.event.content??n.event.text??n.event.result??``,a===`text`&&n.event.type===`assistant_text_delta`){let t=i.events[i.events.length-1];if(t&&t.type===`text`){let a=[...i.events];a[a.length-1]={...t,content:t.content+o},e({byId:{...r,[n.subagentId]:{...i,events:a}}});return}if(!o)return}if(n.event.type===`message_complete`)return;let s={id:R(),type:a,content:o,toolName:n.event.toolName,isError:n.event.isError,timestamp:n.timestamp,toolUseId:n.event.toolUseId,input:n.event.type===`tool_use_start`?n.event.input:void 0,result:n.event.type===`tool_result`?n.event.result??n.event.content??n.event.text:void 0,searchQuery:I(n.event)};e({byId:{...r,[n.subagentId]:{...i,events:[...i.events,s]}}})},loadDetail:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i)return;let a=i.parentToolUseId??n.parentToolUseId,o=a&&!i.parentToolUseId?p(t().byToolUseId,a,n.subagentId):t().byToolUseId,s=n.conversationId&&n.conversationId!==i.parentConversationId?n.conversationId:i.conversationId,c=n.status&&h(i.status,n.status)?n.status:i.status;e({byId:{...r,[n.subagentId]:{...i,conversationId:s,label:i.label||(n.label??``),parentToolUseId:a,status:c,objective:n.objective??i.objective,inputTokens:n.inputTokens??i.inputTokens,outputTokens:n.outputTokens??i.outputTokens,totalCost:n.totalCost??i.totalCost,events:n.events.length>0&&i.events.length===0?n.events:i.events,hydrationPending:!1}},byToolUseId:o})},backfillIdentity:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i)return;let a=i.label||(n.label??``),o=i.objective||(n.objective??``),s=i.parentToolUseId??n.parentToolUseId;a===i.label&&o===i.objective&&s===i.parentToolUseId||e({byId:{...r,[n.subagentId]:{...i,label:a,objective:o,parentToolUseId:s}},byToolUseId:p(t().byToolUseId,s,n.subagentId)})},attachParentMessage:(n,r)=>{let{byId:i}=t(),a=i[n];if(!a||a.parentMessageId)return;let o={...a,parentMessageId:r};e({byId:{...i,[n]:o},byParent:j(t().byParent,a.parentMessageStableId??r,r,new Map([[n,o]]))})},setConversationId:(n,r)=>{let i=M(t().byId,n,`conversationId`,r);i&&e({byId:i})},setParentConversationId:(n,r)=>{let i=M(t().byId,n,`parentConversationId`,r);i&&e({byId:i})},reanchorToMessage:({stableId:n,messageId:r})=>{if(n===r)return;let{byId:i}=t(),a=new Map;for(let e of Object.values(i))e.parentMessageStableId===n&&e.parentMessageId!==r&&a.set(e.subagentId,{...e,parentMessageId:r});if(a.size===0)return;let o={...i};for(let[e,t]of a)o[e]=t;e({byId:o,byParent:j(t().byParent,n,r,a)})},updateUsage:n=>{let{byId:r,terminalUsageIds:i}=t();if(i.has(n.subagentId))return;let a=r[n.subagentId];a&&e({byId:{...r,[n.subagentId]:{...a,inputTokens:a.inputTokens+n.inputTokens,outputTokens:a.outputTokens+n.outputTokens,totalCost:a.totalCost+n.estimatedCost}}})},fetchDetailIfNeeded:async(n,r)=>{let{byId:i,fetchedAt:a}=t(),o=i[r];if(!o)return;let s=T(o);if(!s||o.events.length>0)return;let c=a.get(r);if(c!==void 0&&c>=o.spawnedAt)return;let l=new Map(a);l.set(r,o.spawnedAt),e({fetchedAt:l});let u=await x(n,r,s),d=M(t().byId,r,`detailSettled`,!0);d&&e({byId:d});let f=()=>{let n=new Map(t().fetchedAt);n.delete(r),e({fetchedAt:n})};if(!u){f();let n=t().byId[r];n?.hydrationPending&&e({byId:{...t().byId,[r]:{...n,hydrationPending:!1}}});return}let p=S(u.events);p.length===0&&f(),t().loadDetail({subagentId:r,status:u.status,objective:u.objective,inputTokens:u.usage?.inputTokens,outputTokens:u.usage?.outputTokens,totalCost:u.usage?.estimatedCost,events:p,label:u.label,parentToolUseId:u.parentToolUseId,conversationId:u.conversationId})},fetchGroupDetail:e=>{let n=a.getState().activeAssistantId;if(n)for(let r of e)t().fetchDetailIfNeeded(n,r)},reconcileFromDaemon:(e,n,r=`mount`)=>{if(!y())return Promise.resolve();let i=z.get(n);if(i)return i;if(r===`reopen`)U(n);else if(!W(n))return Promise.resolve();d(`subagent_reconcile_kick`,{trigger:r});let a=K(t,e,n).finally(()=>{z.get(n)===a&&z.delete(n)});return z.set(n,a),a},abortSubagent:async e=>{let t=a.getState().activeAssistantId,n=f.getState().activeConversationId;if(!(!t||!n))try{await l({path:{assistant_id:t,id:e},body:{conversationId:n},throwOnError:!0})}catch{}},reset:()=>{H.clear(),B++,z.clear(),e({byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map})}})),J=n(q);function Y(e){let t=a.getState().activeAssistantId,n=e??f.getState().activeConversationId;!t||!n||q.getState().reconcileFromDaemon(t,n,`unknown_id`)}export{b as a,g as c,E as i,_ as l,Y as n,m as o,J as r,h as s,D as t};
@@ -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-B5A-0g8A.js";import{t as o}from"./circle-check-big-DSsDH5_6.js";import{t as s}from"./circle-x-17dBxF06.js";import{t as c}from"./clock-BYTc0Ds9.js";import{t as l}from"./loader-circle-BzJ2kz3F.js";import{t as u}from"./triangle-alert--e3n47gm.js";import{t as d}from"./notice-DCp7WO3L.js";import"./src-BAS7a2RG.js";import{t as f}from"./tag-D8NAGb0r.js";import{d as p}from"./routes-GmNvdtLW.js";import{i as m,t as h}from"./use-platform-gate-D9hR3R0n.js";import{M as g}from"./react-query.gen-BVTEjHsw.js";import{t as _}from"./platform-login-notice-DIS8PWXu.js";import{t as v}from"./use-active-assistant-id-CjvzlL4t.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-B5A-0g8A.js";import{t as o}from"./circle-check-big-DSsDH5_6.js";import{t as s}from"./circle-x-17dBxF06.js";import{t as c}from"./clock-BYTc0Ds9.js";import{t as l}from"./loader-circle-BzJ2kz3F.js";import{t as u}from"./triangle-alert--e3n47gm.js";import{t as d}from"./notice-DCp7WO3L.js";import"./src-BAS7a2RG.js";import{t as f}from"./tag-D8NAGb0r.js";import{d as p}from"./routes-GmNvdtLW.js";import{i as m,t as h}from"./use-platform-gate-CqEOGZtI.js";import{M as g}from"./react-query.gen-BVTEjHsw.js";import{t as _}from"./platform-login-notice-D-yQLWUo.js";import{t as v}from"./use-active-assistant-id-CjvzlL4t.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,2 +1,2 @@
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{H as i,S as a,_t as o,a as s,b as c,gt as l,h as u,ht as d,i as f,l as p,vt as m}from"./risk-FjW-m05l.js";import{t as h}from"./brain-BIzJCPA6.js";import{t as g}from"./check-sC49_hjU.js";import{t as _}from"./code-qafFA0_-.js";import{o as v}from"./list-row-BYrmPIC4.js";import{t as y}from"./file-text-BCsUYVEF.js";import{t as b}from"./globe-BDvXuPkw.js";import{t as x}from"./monitor-B5vtTCxm.js";import{t as S}from"./sparkles-DC8kqYjt.js";import{t as C}from"./user-plus-CXMJ1x_5.js";import"./src-BAS7a2RG.js";import{t as w}from"./chat-markdown-message-B3Qo04ug.js";import{D as T}from"./chat-BIJEFb5u.js";import{t as E}from"./misc-CAQM4FGM.js";import{t as D}from"./copy-to-clipboard-DaTa8Tbi.js";import{t as O}from"./detail-shell-D9L3L7AM.js";var k=e(t(),1),A=n();function j({level:e,className:t,onClick:n}){if(!e)return null;let{bg:i,text:a,label:o}=f(e),s=E(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,i,t);return n?(0,A.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:E(s,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})}):(0,A.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:s,children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})})}function M(e,t,n){let r=a();return(0,k.useMemo)(()=>{if(!e||t==null)return null;let a=r.find(t=>i(t).includes(e));if(!a)return null;let o=p(a.contentBlocks??[],{splitInlineThinking:a.role!==`user`})[t];if(!o||o.type!==`activity`)return null;let s=o.items.flatMap(e=>e.type===`thinking`&&e.thinking?[e.thinking]:[]);return n==null?s.join(`
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{H as i,S as a,_t as o,a as s,b as c,gt as l,h as u,ht as d,i as f,l as p,vt as m}from"./risk-uPLh5W5z.js";import{t as h}from"./brain-BIzJCPA6.js";import{t as g}from"./check-sC49_hjU.js";import{t as _}from"./code-qafFA0_-.js";import{o as v}from"./list-row-BYrmPIC4.js";import{t as y}from"./file-text-BCsUYVEF.js";import{t as b}from"./globe-BDvXuPkw.js";import{t as x}from"./monitor-B5vtTCxm.js";import{t as S}from"./sparkles-DC8kqYjt.js";import{t as C}from"./user-plus-CXMJ1x_5.js";import"./src-BAS7a2RG.js";import{t as w}from"./chat-markdown-message-f4cLJfax.js";import{D as T}from"./chat-BIJEFb5u.js";import{t as E}from"./misc-CAQM4FGM.js";import{t as D}from"./copy-to-clipboard-DaTa8Tbi.js";import{t as O}from"./detail-shell-D9L3L7AM.js";var k=e(t(),1),A=n();function j({level:e,className:t,onClick:n}){if(!e)return null;let{bg:i,text:a,label:o}=f(e),s=E(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,i,t);return n?(0,A.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:E(s,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})}):(0,A.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:s,children:(0,A.jsx)(r,{variant:`label-medium-default`,className:a,children:o})})}function M(e,t,n){let r=a();return(0,k.useMemo)(()=>{if(!e||t==null)return null;let a=r.find(t=>i(t).includes(e));if(!a)return null;let o=p(a.contentBlocks??[],{splitInlineThinking:a.role!==`user`})[t];if(!o||o.type!==`activity`)return null;let s=o.items.flatMap(e=>e.type===`thinking`&&e.thinking?[e.thinking]:[]);return n==null?s.join(`
2
2
  `):s[n]??null},[r,e,t,n])}function N(e){let t=a();return(0,k.useMemo)(()=>{if(!e)return null;for(let n of t){let t=n.toolCalls?.find(t=>t.id===e);if(t)return t}return null},[t,e])}var P={code:_,terminal:d,file:y,globe:b,pen:o,monitor:x,plug:l,sparkle:S,"user-plus":C,bolt:m,brain:h},F=1500;function I({text:e}){let[t,n]=(0,k.useState)(!1),r=(0,k.useRef)(null);return(0,k.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,A.jsxs)(`button`,{type:`button`,onClick:()=>{D(e,{errorMessage:`Couldn't copy.`,onCopied:()=>{n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),F)}})},"aria-label":t?`Copied`:`Copy`,className:`absolute right-2 top-2 flex items-center gap-1 rounded p-1 text-label-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,children:[t?(0,A.jsx)(g,{className:`h-3.5 w-3.5`}):(0,A.jsx)(v,{className:`h-3.5 w-3.5`}),t?`Copied`:null]})}function L({text:e}){return(0,A.jsxs)(`div`,{className:`relative`,children:[(0,A.jsx)(`pre`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 font-mono text-xs whitespace-pre-wrap break-words text-[var(--content-default)]`,children:e}),(0,A.jsx)(I,{text:e})]})}function R({children:e,className:t=`mb-1.5`}){return(0,A.jsx)(r,{variant:`label-small-default`,as:`div`,className:`uppercase tracking-wider text-[var(--content-tertiary)] ${t}`,children:e})}function z({detail:e,onClose:t}){let n=M(e.messageId,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,A.jsx)(O,{Glyph:h,title:e.title,closeLabel:`Close tool details`,onClose:t,children:(0,A.jsx)(w,{content:n??e.thinkingText??``,hardLineBreaks:!0})})}function B({detail:e}){let t=N(e.toolCallId),n=t?.result??e.result,i=t?.streamedOutput??e.streamedOutput,a=n!==void 0&&n!==``,o=t?T(t):e.status===`running`,l=!!i,u=JSON.stringify(e.input,null,2),d=t?.riskLevel??e.riskLevel,f=s(d);return(0,A.jsxs)(A.Fragment,{children:[d&&(0,A.jsxs)(`div`,{className:`mb-5`,children:[(0,A.jsx)(R,{children:`Risk Level`}),(0,A.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,A.jsx)(j,{level:d}),f&&(0,A.jsx)(r,{variant:`body-small-default`,as:`p`,className:`mt-1.5 text-[var(--content-secondary)]`,children:f})]})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(r,{variant:`body-medium-default`,as:`div`,className:`text-[var(--content-default)]`,children:c(e.toolName)}),e.activity&&(0,A.jsx)(r,{variant:`body-small-default`,as:`p`,className:`mt-0.5 text-[var(--content-secondary)]`,children:e.activity}),(0,A.jsx)(`div`,{className:`mt-2`,children:(0,A.jsx)(L,{text:u})})]}),(a||o)&&(0,A.jsxs)(`div`,{className:`mt-5`,children:[(0,A.jsx)(R,{children:`Output`}),a?(0,A.jsx)(L,{text:n}):l?(0,A.jsx)(L,{text:i}):(0,A.jsx)(r,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Running…`})]})]})}function V({detail:e,onClose:t}){if(e.kind===`thinking`)return(0,A.jsx)(z,{detail:e,onClose:t});let{iconName:n}=u(e.toolName,e.input);return(0,A.jsx)(O,{Glyph:P[n]??m,title:e.activity||e.title,closeLabel:`Close tool details`,onClose:t,children:(0,A.jsx)(B,{detail:e})})}export{L as CodeBlock,R as SectionLabel,B as ToolDetailBody,V as ToolDetailPanel,M as t};
@@ -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{t as r}from"./preload-helper-Cv2QeVDK.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./createLucideIcon-CAM1RhH8.js";import{_ as c,d as l,f as u,g as d,m as f,n as p,ot as m,p as h,r as g,s as _,t as v,u as y,v as b,w as x,x as S,y as C}from"./risk-FjW-m05l.js";import{t as w}from"./brain-BIzJCPA6.js";import{t as T}from"./chevron-down-B5A-0g8A.js";import{t as E}from"./chevron-right-HU6H84S0.js";import{t as D}from"./chevron-up-2Qqarz0p.js";import{t as O}from"./circle-alert-DVCpoZrc.js";import{t as k}from"./circle-check-CjGnAahM.js";import{t as A}from"./circle-x-17dBxF06.js";import{t as j}from"./file-plus-Dq2xo7Ic.js";import{t as M}from"./file-text-BCsUYVEF.js";import{t as N}from"./globe-BDvXuPkw.js";import{t as P}from"./loader-circle-BzJ2kz3F.js";import{t as ee}from"./pencil-CLJIvYKH.js";import{t as F}from"./search-DA3TmTuR.js";import{t as I}from"./terminal-Cs_TREv-.js";import{t as te}from"./triangle-alert--e3n47gm.js";import{t as L}from"./wrench-tjOqvzJ2.js";import{t as ne}from"./x-DuBvjmAE.js";import"./src-BAS7a2RG.js";import{n as re,r as R,t as ie}from"./viewer-store--hIQLNm5.js";import{t as ae}from"./subagent-store-C8qemfgn.js";import{D as oe,O as se}from"./chat-BIJEFb5u.js";import{t as z}from"./misc-CAQM4FGM.js";import{t as B}from"./proxy-CNtrhN4q.js";import{t as V}from"./AnimatePresence-D23js3-M.js";import{t as H}from"./use-reduced-motion-bjjt6x6d.js";import{t as ce}from"./copy-to-clipboard-DaTa8Tbi.js";import"./three-dot-indicator-CfjkCgEH.js";import{b as le,g as U,h as ue,n as de,r as fe,t as pe,v as me,x as he}from"./site-favicon-CA7jaNnH.js";var W=s(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),G=s(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),K=s(`compass`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]),q=e(t(),1),J=i(),ge=`a, button, [role="button"], input, textarea, select`;function _e(e){return!!e?.closest(ge)}function ve(e,t){let n=(e&&e.length>0?e:t).charAt(0);return n?n.toUpperCase():``}function ye({faviconUrl:e,title:t,domain:n,className:r}){let[i,s]=(0,q.useState)(!1);(0,q.useEffect)(()=>{s(!1)},[e]);let c=!!e&&!i,l=ve(n,t);return(0,J.jsxs)(`span`,{className:a(`inline-flex items-center gap-1 px-[10px] py-[6px]`,`rounded-[var(--radius-pill)] bg-[var(--surface-base)] max-w-full`,r),children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,className:a(`inline-flex items-center justify-center`,`h-[14px] w-[14px] rounded-[var(--radius-sm)] overflow-hidden shrink-0`,`bg-[var(--surface-overlay)]`),children:c?(0,J.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>s(!0)}):(0,J.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:l})}),(0,J.jsx)(o,{variant:`body-small-default`,className:`truncate max-w-[200px] text-[var(--content-default)]`,children:t})]})}function be({items:e,minDwellMs:t=500}){let n=H(),[r,i]=(0,q.useState)(0),a=Math.max(e.length-1,0);if((0,q.useEffect)(()=>{if(r>=a)return;let e=setTimeout(()=>i(e=>Math.min(e+1,a)),t);return()=>clearTimeout(e)},[r,a,t]),e.length===0)return null;let o=n?{duration:0}:{duration:.35,ease:[.16,1,.3,1]},s=n?{opacity:0}:{y:-28,opacity:0},c=n?{opacity:1}:{y:0,opacity:1},l=n?{opacity:0}:{y:28,opacity:0};if(e.length===1){let t=e[0];return(0,J.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,J.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,J.jsx)(ye,{faviconUrl:t.faviconUrl,title:t.title,domain:t.domain})})})}let u=Math.min(r,a),d=e[u],f=`${u}:${d.domain??``}:${d.title}`;return(0,J.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,J.jsx)(V,{initial:!1,mode:`popLayout`,children:(0,J.jsx)(B.div,{initial:s,animate:c,exit:l,transition:o,className:`absolute inset-0 flex items-center`,children:(0,J.jsx)(ye,{faviconUrl:d.faviconUrl,title:d.title,domain:d.domain})},f)})})}function xe(e){let t=R.use.toggleToolDetail(),n=R.use.activeToolDetail(),r=e.variant===`web`?e.carouselItems:void 0,i=(0,q.useMemo)(()=>r&&r.length>0?(0,J.jsx)(be,{items:r}):null,[r]);if(e.variant===`web`){let{info:t,carouselItems:n,state:r,step:a,expanded:o,onExpandChange:s}=e,c=r===`error`,l=n.at(-1),u=o?D:T;return(0,J.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,J.jsxs)(`button`,{type:`button`,"data-testid":`inline-web-link`,"aria-expanded":o,"aria-label":`Web Search`,onClick:()=>s(!o),className:z(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,c&&`text-[var(--system-negative-strong)]`),children:[(0,J.jsx)(`span`,{className:z(`inline-flex shrink-0 items-center text-[var(--content-tertiary)]`,c&&`text-[var(--system-negative-strong)]`),children:(0,J.jsx)(N,{className:`size-4 shrink-0`,"aria-hidden":!0})}),r===`loading`?(0,J.jsx)(U,{"data-testid":`inline-web-loading`,className:`shrink-0`,children:`Web Search`}):(0,J.jsx)(`span`,{className:`shrink-0`,children:`Web Search`}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`,children:`|`}),r===`loading`&&i?(0,J.jsx)(`span`,{className:`inline-flex w-[220px] min-w-0 items-center`,children:i}):l&&(l.faviconUrl||l.domain||l.title)?(0,J.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,J.jsx)(pe,{faviconUrl:l.faviconUrl,domain:l.domain,title:t,className:`shrink-0`}),(0,J.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t})]}):(0,J.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t}),(0,J.jsx)(u,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),o&&a!=null?(0,J.jsx)(`div`,{className:`pl-6`,children:a.kind===`web_search_error`?(0,J.jsx)(de,{step:a}):(0,J.jsx)(fe,{step:a})}):null]})}let a;if(e.variant===`thinking`){let{content:r,isStreaming:i=!1,messageId:o,groupIndex:s}=e;if(!r&&!i)return null;a={dataTestId:`thought-process-link`,ariaLabel:`View thinking`,label:`Thinking`,shimmerLabel:i,tone:`default`,active:n?.kind===`thinking`&&re(n,{messageId:o,thinkingGroupIndex:s,thinkingText:r}),onClick:()=>t({kind:`thinking`,toolCallId:``,toolName:``,title:`Thought process`,activity:``,input:{},status:`completed`,thinkingText:r,messageId:o,thinkingGroupIndex:s})}}else{let{toolCall:r}=e,{activity:i,info:o,title:s}=f(r),c=i||o||s,l=!!r.isError||r.confirmationDecision===`denied`||r.confirmationDecision===`timed_out`;a={dataTestId:`inline-tool-link`,ariaLabel:`View details: ${c}`,label:c,tone:l?`error`:`default`,active:n!=null&&n.kind!==`thinking`&&n.toolCallId===r.id,onClick:()=>t(he(r))}}let o=a.tone===`error`;return(0,J.jsxs)(`button`,{type:`button`,"data-testid":a.dataTestId,"data-active":a.active?`true`:`false`,"aria-label":a.ariaLabel,onClick:a.onClick,className:z(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,a.active?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,o&&`text-[var(--system-negative-strong)]`),children:[(0,J.jsx)(`span`,{className:`min-w-0 max-w-[min(520px,calc(100vw-8rem))] truncate`,children:a.shimmerLabel?(0,J.jsx)(U,{"data-testid":`thought-process-loading`,children:a.label}):a.label}),(0,J.jsx)(E,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]})}function Se({size:e=8}){return(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`busy-indicator inline-block shrink-0 rounded-full`,style:{width:e,height:e,backgroundColor:`var(--primary-base)`}})}function Ce(e){if(e===void 0)return;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`,second:`2-digit`});return r?`Started ${i}`:`Started ${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i}`}function we(e){return e<60?`${e.toFixed(1)}s`:`${Math.floor(e/60)}m ${Math.floor(e%60)}s`}function Y(e){let t=Math.floor(e);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Te(e,t,n,r=`step`){let[i,a]=(0,q.useState)(Date.now);if((0,q.useEffect)(()=>{if(e===void 0||t)return;let n=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(n)},[e,t]),e===void 0)return null;if(r===`step`)return t?n===void 0?null:we((n-e)/1e3):Y(Math.max(0,i-e)/1e3);if(t&&n!==void 0){let t=(n-e)/1e3;return t<5?null:Y(t)}if(!t){let t=(i-e)/1e3;return t<5?null:Y(t)}return null}var Ee={terminal:(0,J.jsx)(I,{className:`h-3.5 w-3.5`}),"file-text":(0,J.jsx)(M,{className:`h-3.5 w-3.5`}),"file-plus":(0,J.jsx)(j,{className:`h-3.5 w-3.5`}),pencil:(0,J.jsx)(ee,{className:`h-3.5 w-3.5`}),search:(0,J.jsx)(F,{className:`h-3.5 w-3.5`}),globe:(0,J.jsx)(N,{className:`h-3.5 w-3.5`}),compass:(0,J.jsx)(K,{className:`h-3.5 w-3.5`}),camera:(0,J.jsx)(W,{className:`h-3.5 w-3.5`}),wrench:(0,J.jsx)(L,{className:`h-3.5 w-3.5`})};function De(e,t=``){return Ee[b(e,t)]??(0,J.jsx)(L,{className:`h-3.5 w-3.5`})}function Oe({isRunning:e,isError:t}){return e?(0,J.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center`,children:(0,J.jsx)(Se,{size:6})}):t?(0,J.jsx)(A,{className:`h-4 w-4 text-[var(--system-negative-strong)] shrink-0`}):(0,J.jsx)(k,{className:`h-4 w-4 text-[var(--system-positive-strong)] shrink-0`})}function ke({toolCall:e,isSubmitting:t,onSubmit:r,onAllowAndCreateRule:i}){let[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),l=(0,q.useRef)(null);(0,q.useEffect)(()=>{if(!s)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s]);let u=e.pendingConfirmation;if(!u)return null;let f=!!u.input,p=(u.allowlistOptions?.length??0)>0,m=e.input?.activity??e.input?.reason,h=typeof m==`string`&&m.trim()||u.title||C(e.name,d(e.name,e.input)),g=u.description||u.riskReason||null;return(0,J.jsxs)(`div`,{"data-testid":`inline-confirmation-card`,className:`flex w-full flex-col gap-4 rounded-xl bg-[var(--surface-overlay)] p-3`,children:[(0,J.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[12px] font-medium text-[var(--content-secondary)]`,children:[(0,J.jsx)(`span`,{className:`shrink-0 whitespace-nowrap`,children:`Confirmation required`}),h?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:h})]}):null]}),g&&(0,J.jsx)(`p`,{className:`w-full text-body-medium-default text-[var(--content-default)]`,children:g})]}),(0,J.jsxs)(`div`,{className:`flex items-start gap-2`,children:[p&&i?(0,J.jsxs)(`div`,{ref:l,className:`relative flex`,children:[(0,J.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),className:`rounded-r-none`,children:[t&&(0,J.jsx)(P,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-5 w-px self-center bg-[var(--content-inset)] opacity-20`}),(0,J.jsx)(n,{variant:`primary`,disabled:t,onClick:()=>c(e=>!e),className:`rounded-l-none px-1.5`,"aria-label":`More allow options`,"aria-haspopup":`menu`,"aria-expanded":s,children:(0,J.jsx)(T,{className:`h-3.5 w-3.5`})}),s&&(0,J.jsx)(`div`,{className:`absolute left-0 top-full z-10 mt-1 min-w-[180px] rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] py-1 shadow-lg`,children:(0,J.jsx)(`button`,{type:`button`,onClick:()=>{c(!1),i()},className:`flex w-full items-center px-3 py-2 text-body-small-default text-[var(--content-default)] transition-colors hover:bg-[var(--ghost-hover)]`,children:`Allow & Create Rule`})})]}):(0,J.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),children:[t&&(0,J.jsx)(P,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,J.jsx)(n,{variant:`danger`,disabled:t,onClick:()=>r?.(`deny`),children:`Deny`})]}),f&&(0,J.jsxs)(`div`,{className:`flex w-full flex-col gap-3`,children:[(0,J.jsx)(`div`,{className:`h-px w-full bg-[var(--border-base)]`}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),className:`flex items-center gap-1 self-start text-[11px] font-medium text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?`Hide Details`:`Show Details`,(0,J.jsx)(T,{className:`size-2.5 transition-transform ${a?`rotate-180`:``}`})]}),a&&u.input&&(0,J.jsx)(`div`,{className:`max-h-[220px] overflow-y-auto rounded bg-[var(--surface-base)] p-2`,children:(0,J.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-secondary)]`,children:JSON.stringify(u.input,null,2)})})]})]})}function Ae({toolCall:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,embedded:i=!1}){let a=x(t=>t.expandedToolCallIds.has(e.id)),o=(0,q.useCallback)(t=>{x.getState().setExpandedToolCallId(e.id,t)},[e.id]),[s,l]=(0,q.useState)(!1),u=!!e.isError,f=!u&&e.result===void 0&&e.completedAt==null,m=!!e.pendingConfirmation,h=se(e),y=Te(h,!f,e.completedAt),b=Ce(h),S=Te(e.startedAt,!f,e.completedAt),w=d(e.name,e.input),O=e.input?.activity??e.input?.reason,k=(typeof O==`string`&&O.trim()?O.trim():null)??(f?c(e.name,w):C(e.name,w)),A=m||!f&&(e.result!==void 0||Object.keys(e.input).length>0),j=(0,q.useRef)(!1);(0,q.useEffect)(()=>{let t=j.current;j.current=!!e.pendingConfirmation,e.pendingConfirmation&&!t&&o(!0)},[e.pendingConfirmation,o]);let M=(0,q.useCallback)(async t=>{if(n){l(!0);try{await n(t,e)}finally{l(!1)}}},[n,e]),N=(0,q.useCallback)(async()=>{if(r){l(!0);try{await r(e)}finally{l(!1)}}},[r,e]),P=(0,q.useCallback)(()=>{e.result!==void 0&&ce(e.result,{successMessage:`Output copied to clipboard.`,errorMessage:`Couldn't copy the output.`})},[e.result]),ee=f?`Running 1 step`:u?`Failed 1 step`:`Completed 1 step`,F=(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 py-2 ${i?`pl-6 pr-3 text-body-small-default`:``}`,children:[(0,J.jsx)(Oe,{isRunning:f,isError:u}),!i&&De(e.name,w),(0,J.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-secondary)]`,children:k}),e.riskLevel&&!f&&!m&&(()=>{let{displayLevel:n,inherentRisk:r}=v(e.approvalReason,e.riskLevel),a=g(n),o=n===`workspace`,s=!o&&!_(e.approvalMode,e.riskLevel,e.riskThreshold)?p(e.approvalReason):null,c;return c=o?`Workspace · Inherent risk: ${r?r.charAt(0).toUpperCase()+r.slice(1):`Unknown`}`:s?`${a.label} ${s}`:a.label,(0,J.jsxs)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),t?.({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input,allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[],matchedTrustRuleId:e.matchedTrustRuleId})},className:`${i?``:`ml-auto `}max-w-[45%] shrink-0 truncate rounded-full px-2 py-0.5 text-[11px] font-medium leading-tight ${a.bg} ${a.text} ${a.border??``} ${t?`cursor-pointer hover:opacity-80`:`cursor-default`}`,title:c,children:[(0,J.jsx)(`span`,{className:`sm:hidden`,children:a.label}),(0,J.jsx)(`span`,{className:`hidden sm:inline`,children:o?a.label:c})]})})(),i&&(0,J.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[y&&(0,J.jsx)(`span`,{className:`text-label-small-default`,title:b,children:y}),A&&(a?(0,J.jsx)(T,{className:`h-3.5 w-3.5`}):(0,J.jsx)(E,{className:`h-3.5 w-3.5`}))]})]}),I=(0,J.jsxs)(J.Fragment,{children:[m&&(0,J.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:M,onAllowAndCreateRule:N}),!m&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`mt-2.5`,children:[(0,J.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Technical Details`}),(0,J.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:`Tool Name`}),(0,J.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:e.name.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}),b&&(0,J.jsx)(`div`,{className:`mt-0.5 text-[var(--content-tertiary)]`,children:b}),S&&(0,J.jsxs)(`div`,{className:`mt-0.5`,children:[(0,J.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:`Tool latency:`}),` `,(0,J.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:S})]}),Object.entries(e.input).map(([e,t])=>(0,J.jsxs)(`div`,{className:`mt-0.5`,children:[(0,J.jsxs)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,J.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),e.result!==void 0&&(0,J.jsxs)(`div`,{className:`mt-3`,children:[(0,J.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Output`}),(0,J.jsxs)(`div`,{className:`relative rounded-md border p-3 ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[(0,J.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-body-small-default max-h-60 overflow-y-auto pr-8 ${u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:e.result.length>2e3?e.result.slice(0,2e3)+`...`:e.result}),(0,J.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),P()},className:`absolute right-2 top-2 rounded p-1 text-[var(--content-tertiary)] hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,title:`Copy output`,children:(0,J.jsx)(G,{className:`h-4 w-4`})})]})]})]})]});return i?(0,J.jsxs)(`div`,{className:`w-full`,children:[(0,J.jsx)(`div`,{role:`button`,tabIndex:A?0:void 0,onClick:()=>{A&&o(!a)},onKeyDown:e=>{A&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(!a))},className:`w-full ${A?`cursor-pointer`:`cursor-default`}`,children:F}),a&&A&&(m?(0,J.jsx)(`div`,{className:`px-3 pt-1 pb-2`,children:(0,J.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:M,onAllowAndCreateRule:N})}):(0,J.jsx)(`div`,{className:`pl-6 pr-3 pb-2 text-label-medium-default`,children:I}))]}):(0,J.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{A&&o(!a)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-body-medium-default transition-colors ${u?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${A?`cursor-pointer hover:bg-[var(--surface-active)]`:`cursor-default`} ${a?`rounded-b-none`:``}`,children:[(0,J.jsx)(Oe,{isRunning:f,isError:u}),(0,J.jsx)(`span`,{className:u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`,children:ee}),(0,J.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[y&&(0,J.jsx)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,title:b,children:y}),A&&(a?(0,J.jsx)(D,{className:`h-4 w-4`}):(0,J.jsx)(T,{className:`h-4 w-4`}))]})]}),a&&A&&(0,J.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 text-label-medium-default ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[F,I]})]})}function je({state:e,testId:t}){switch(e){case`loading`:return null;case`complete`:return(0,J.jsx)(k,{"data-testid":t,"aria-hidden":`true`,"data-state":`complete`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`});case`warning`:return(0,J.jsx)(te,{"data-testid":t,"aria-hidden":`true`,"data-state":`warning`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-mid-strong)]`});default:return(0,J.jsx)(O,{"data-testid":t,"aria-hidden":`true`,"data-state":e,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-negative-strong)]`})}}function Me({state:e,leadingIcon:t,currentStepTitle:r,currentStepInfo:i,headerAnimationKey:a,hideStatusIndicator:s=!1,headerActive:c=!1,stepCount:l,defaultExpanded:u=!1,expanded:d,onExpandChange:f,disableExpand:p=!1,bare:m=!1,children:h,"data-testid":g=`tool-progress-card-shell`,statusIndicatorTestId:_=`tool-progress-card-status-indicator`,headerActionSlot:v,onHeaderClick:y,headerAriaLabel:b}){let[x,S]=(0,q.useState)(u),C=d!==void 0,w=C?d:x,T=H(),E=()=>{if(y){y();return}if(p)return;let e=!w;C||S(e),f?.(e)},D=T?{duration:0}:{duration:.25,ease:[.16,1,.3,1]};return(0,J.jsxs)(`div`,{"data-testid":g,className:m?`flex w-full flex-col`:`flex w-full flex-col rounded-[var(--radius-lg)] border-b border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(()=>{let u=(0,J.jsxs)(`span`,{className:m?`flex min-w-0 items-center gap-1`:`flex min-w-0 flex-1 items-center gap-1`,children:[s||e===`loading`?null:(0,J.jsx)(V,{mode:`wait`,initial:!1,children:(0,J.jsx)(B.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:T?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`inline-flex shrink-0`,children:(0,J.jsx)(je,{state:e,testId:_})},e)}),t?(0,J.jsx)(`span`,{className:`mx-1 flex shrink-0 items-center`,children:t}):null,(0,J.jsx)(ue,{currentStepTitle:r,currentStepInfo:i,animationKey:a,bypassDwell:e!==`loading`,shimmer:e===`loading`,inline:m})]}),d=l&&!l.startsWith(`0 `)&&!l.startsWith(`1 `)?(0,J.jsx)(`span`,{"data-testid":`tool-progress-card-step-count-pill`,className:`flex shrink-0 items-center rounded-[var(--radius-pill)] bg-[var(--surface-overlay)] px-[6px] py-[4px]`,children:(0,J.jsx)(o,{variant:`body-small-default`,className:`text-[var(--content-emphasised)]`,children:l})}):null,f={variant:`ghost`,size:`compact`,"aria-expanded":y?void 0:w,"aria-label":b??(w?`Collapse steps`:`Expand steps`),onClick:E,disabled:!y&&p};return v?(0,J.jsxs)(`div`,{className:`flex w-full items-center`,children:[(0,J.jsx)(n,{...f,className:`h-auto min-w-0 flex-1 justify-start gap-2 p-3 ${w?`rounded-tl-[var(--radius-lg)] rounded-b-none`:`rounded-l-[var(--radius-lg)]`}`,children:u}),(0,J.jsxs)(`div`,{"data-testid":`tool-progress-card-action-slot`,className:`flex shrink-0 items-center gap-2 pr-3`,children:[v,d]})]}):(0,J.jsxs)(n,{...f,className:m?`h-auto w-fit min-w-0 max-w-[calc(100%+0.375rem)] justify-start gap-2 rounded-md border-0 px-1.5 py-1.5 -ml-1.5 hover:bg-[var(--surface-hover)]${w||c?` bg-[var(--surface-hover)]`:``}`:`h-auto w-full min-w-0 justify-between gap-2 p-3 ${w?`rounded-t-[var(--radius-lg)] rounded-b-none`:`rounded-[var(--radius-lg)]`}`,children:[u,d]})})(),(0,J.jsx)(V,{initial:!1,children:w&&h!=null?(0,J.jsx)(B.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:D,className:`overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[m?null:(0,J.jsx)(`div`,{className:`h-px w-full bg-[var(--surface-base)]`}),h]})},`expanded-body`):null})]})}function Ne(e){let[t,n]=(0,q.useState)(()=>Date.now());return(0,q.useEffect)(()=>{if(!e)return;n(Date.now());let t=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(t)},[e]),e?t:void 0}function Pe(e){return me(e,m.use.liveWebActivity(),Ne(le(e)))}var Fe=80;function Ie(e){return e.map(e=>({kind:`toolCall`,toolCall:e}))}function Le(e){let t=0,n=0;for(let r of e)r.kind!==`thinking`&&(t+=1,(r.kind===`tool_error`||r.kind===`web_search_error`||r.kind===`tool`&&(r.status===`error`||r.status===`denied`))&&(n+=1));return{total:t,failed:n}}function Re(e,t){if(e===`loading`||e===`complete`)return e;let{total:n,failed:r}=Le(t);return r>0&&r<n?`warning`:`error`}function ze(e,t,n){if(e===`loading`)return t&&t!==`<1s`?`Working for ${t}`:`Working`;if(t)return`Worked for ${t}`;switch(e){case`warning`:return`${n} ${n===1?`tool`:`tools`} failed`;case`error`:case`denied`:return`Failed`;default:return`Completed`}}function Be(e){let{toolCalls:t}=e,n=t.some(e=>!!e.pendingConfirmation),r=(0,q.useMemo)(()=>e.items??Ie(t),[e.items,t]),i=Pe(r),a=Ue(t[0]?.id??null);return n?(0,J.jsx)(Ge,{...e}):i.steps.length===0?null:t.length===1&&t[0].name===`web_search`?(0,J.jsx)(Ve,{toolCalls:t,cardData:i,expanded:a.value,onExpandChange:a.onChange}):(0,J.jsx)(He,{...e,cardData:i,effectiveItems:r})}function Ve({toolCalls:e,cardData:t,expanded:n,onExpandChange:r}){let i=e.some(e=>oe(e))?`loading`:t.state===`error`||t.state===`denied`?`error`:`complete`,a=t.steps.find(e=>e.kind===`web_search`||e.kind===`web_search_error`)??null;return(0,J.jsx)(xe,{variant:`web`,info:t.currentStepInfo,carouselItems:t.carouselItems,state:i,step:a,expanded:n,onExpandChange:r})}function He({toolCalls:e,cardData:t,effectiveItems:n,onOpenRuleEditor:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a,messageId:s,groupIndex:c}){let l=R.use.toggleActivitySteps(),u=R.use.mainView(),d=R.use.activeActivitySteps(),f=Re(t.state,t.steps),p=(0,q.useMemo)(()=>({messageId:s,groupIndex:c,items:n,toolCalls:e}),[s,c,n,e]),m=u===`activity-steps`&&d!=null&&ie(d,p),h=(0,q.useMemo)(()=>t.currentStepKind===`thinking`?(0,J.jsxs)(`span`,{className:`flex w-full min-w-0 items-center gap-1`,children:[(0,J.jsx)(w,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,J.jsx)(o,{variant:`body-small-default`,className:`min-w-0 flex-1 truncate text-left leading-[16px] text-[var(--content-tertiary)]`,children:S(t.currentStepInfo,Fe)})]}):t.currentStepInfo,[t.currentStepKind,t.currentStepInfo]),g=i&&r?e.filter(e=>i.has(e.id)):[];return(0,J.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,J.jsx)(Me,{bare:!0,hideStatusIndicator:!0,state:f,currentStepTitle:t.currentStepTitle,currentStepInfo:h,stepCount:t.stepCount,onHeaderClick:()=>l(p),headerAriaLabel:`View steps`,headerActive:m}),g.map(e=>(0,J.jsx)(We,{toolCall:e,onOpenRuleEditor:r,onDismiss:a},e.id))]})}function Ue(e){return{value:x(t=>e==null?void 0:t.expandedCardIds.get(e))??!1,onChange:(0,q.useCallback)(t=>{e!=null&&x.getState().setExpandedCardId(e,t)},[e])}}function We({toolCall:e,onOpenRuleEditor:t,onDismiss:n}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-1 pl-6 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(`span`,{children:`This command wasn't recognized.`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>t({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input??{},allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[]}),className:`font-medium text-[var(--content-default)] underline underline-offset-2 hover:text-[var(--content-secondary)]`,children:`Create a rule`}),(0,J.jsx)(`span`,{children:`to classify it for next time.`}),n&&(0,J.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>n(e.id),className:`ml-1 text-[var(--content-disabled)] hover:text-[var(--content-tertiary)]`,children:(0,J.jsx)(ne,{className:`h-3.5 w-3.5`})})]})}function Ge({toolCalls:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a}){return(0,J.jsx)(`div`,{className:`my-1 w-full`,children:(0,J.jsx)(`div`,{className:`space-y-0 rounded-lg bg-[var(--surface-overlay)]`,children:e.map(e=>(0,J.jsxs)(q.Fragment,{children:[(0,J.jsx)(Ae,{toolCall:e,onOpenRuleEditor:t,embedded:!0,...e.pendingConfirmation?{onConfirmationSubmit:n,onAllowAndCreateRule:r}:{}}),i?.has(e.id)&&t&&(0,J.jsx)(We,{toolCall:e,onOpenRuleEditor:t,onDismiss:a})]},e.id))})})}var Ke=/:([\w+-]+)$/,qe=[],Je=()=>qe,X=null,Z=null,Q=null;function Ye(){return X&&Z?Promise.resolve():Q||(Q=r(()=>import(`./emoji-catalog-data-5pJaL_3N.js`).then(e=>{X=e.searchEmoji;let t=new Map(e.EMOJI_CATALOG.map(e=>[e.shortcode,e.emoji]));Z=e=>t.get(e)}),[]),Q)}function Xe(){let[e,t]=(0,q.useState)(()=>X??Je);return(0,q.useEffect)(()=>{if(X)return;let e=!1;return Ye().then(()=>{!e&&X&&t(()=>X)}),()=>{e=!0}},[]),e}var Ze=()=>void 0;function Qe(){let[e,t]=(0,q.useState)(()=>Z??Ze);return(0,q.useEffect)(()=>{if(Z)return;let e=!1;return Ye().then(()=>{!e&&Z&&t(()=>Z)}),()=>{e=!0}},[]),e}function $e(e){if(h(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return typeof t.subagentId==`string`?t.subagentId:void 0}catch{return}}function et(e,t){return e.size===0?ae:e.get(t.id)??ae}function tt(e,t,n,r){let i=e.filter(h);if(i.length===0)return[];let a=[];for(let e of i){let i=n.get(e.id);if(i&&!r.has(i)){a.push(i),r.add(i);continue}let o=$e(e);if(o){a.push(o),r.add(o);continue}let s=t.find(e=>!r.has(e.subagentId));s&&(a.push(s.subagentId),r.add(s.subagentId))}return a}function nt(e){if(!u(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.runId==`string`?t.runId:null}catch{return null}}function rt(e,t){return u(e)?t.get(e.id)??nt(e):null}function it(e,t,n){let r=[];for(let i of e){if(!u(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=nt(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function at(e,t){let n=new Set;for(let r of e){let e=rt(r,t.byToolUseId);if(e!==null){if(t.byId[e]!==void 0){n.add(e);continue}t.notFoundRunIds.has(e)||t.hydrationFailedRunIds.has(e)||n.add(e)}}return n}function ot(e){if(!y(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.acpSessionId==`string`?t.acpSessionId:null}catch{return null}}function st(e){if(l(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return t.backgrounded===!0&&typeof t.id==`string`?t.id:void 0}catch{return}}function ct(e,t){let n=[];for(let r of e){if(!l(r))continue;let e=st(r);e&&!t.has(e)&&(n.push(e),t.add(e))}return n}function lt(e,t){return y(e)?t.get(e.id)??ot(e):null}function ut(e,t,n){let r=[];for(let i of e){if(!y(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=ot(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function dt(e,t){return e===`assistant`?$(t)??`Assistant`:`User`}function $(...e){for(let t of e){let e=t?.trim();if(e)return e}}function ft(e,t){if(!e.slackMessage)return null;let n=e.slackMessage.sender;return $(n?.displayName,n?.name,n?.username,n?.externalUserId)??dt(e.role,t)}function pt(e){return _e(e)}function mt({message:e,assistantDisplayName:t}){let n=ft(e,t);return n?(0,J.jsx)(`div`,{"data-testid":`slack-message-attribution`,className:`inline-flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:(0,J.jsx)(`span`,{children:n})}):null}function ht({message:e}){let t=Qe(),n=e.slackMessage?.reaction;if(!n)return null;let r=t(n.emoji)??`:${n.emoji}:`,i=n.actorDisplayName??e.slackMessage?.sender?.displayName??e.slackMessage?.sender?.name,a=n.op===`added`?`reacted`:`removed reaction`;return(0,J.jsxs)(`div`,{"data-testid":`slack-reaction-line`,className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(`span`,{className:`text-base`,children:r}),i&&(0,J.jsx)(`span`,{children:i}),(0,J.jsx)(`span`,{children:a})]})}export{K as C,_e as S,W as T,Le as _,st as a,Se as b,ut as c,it as d,rt as f,ze as g,Be as h,at as i,ct as l,Xe as m,ht as n,pt as o,Ke as p,lt as r,et as s,mt as t,tt as u,Re as v,G as w,xe as x,Pe as y};
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"./preload-helper-Cv2QeVDK.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./createLucideIcon-CAM1RhH8.js";import{_ as c,d as l,f as u,g as d,m as f,n as p,ot as m,p as h,r as g,s as _,t as v,u as y,v as b,w as x,x as S,y as C}from"./risk-uPLh5W5z.js";import{t as w}from"./brain-BIzJCPA6.js";import{t as T}from"./chevron-down-B5A-0g8A.js";import{t as E}from"./chevron-right-HU6H84S0.js";import{t as D}from"./chevron-up-2Qqarz0p.js";import{t as O}from"./circle-alert-DVCpoZrc.js";import{t as k}from"./circle-check-CjGnAahM.js";import{t as A}from"./circle-x-17dBxF06.js";import{t as j}from"./file-plus-Dq2xo7Ic.js";import{t as M}from"./file-text-BCsUYVEF.js";import{t as N}from"./globe-BDvXuPkw.js";import{t as P}from"./loader-circle-BzJ2kz3F.js";import{t as ee}from"./pencil-CLJIvYKH.js";import{t as F}from"./search-DA3TmTuR.js";import{t as I}from"./terminal-Cs_TREv-.js";import{t as te}from"./triangle-alert--e3n47gm.js";import{t as L}from"./wrench-tjOqvzJ2.js";import{t as ne}from"./x-DuBvjmAE.js";import"./src-BAS7a2RG.js";import{n as re,r as R,t as ie}from"./viewer-store--hIQLNm5.js";import{t as ae}from"./subagent-store-DyKwOIj_.js";import{D as oe,O as se}from"./chat-BIJEFb5u.js";import{t as z}from"./misc-CAQM4FGM.js";import{t as B}from"./proxy-CNtrhN4q.js";import{t as V}from"./AnimatePresence-D23js3-M.js";import{t as H}from"./use-reduced-motion-bjjt6x6d.js";import{t as ce}from"./copy-to-clipboard-DaTa8Tbi.js";import"./three-dot-indicator-CfjkCgEH.js";import{b as le,g as U,h as ue,n as de,r as fe,t as pe,v as me,x as he}from"./site-favicon-Dh1OTgFr.js";var W=s(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),G=s(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),K=s(`compass`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]),q=e(t(),1),J=i(),ge=`a, button, [role="button"], input, textarea, select`;function _e(e){return!!e?.closest(ge)}function ve(e,t){let n=(e&&e.length>0?e:t).charAt(0);return n?n.toUpperCase():``}function ye({faviconUrl:e,title:t,domain:n,className:r}){let[i,s]=(0,q.useState)(!1);(0,q.useEffect)(()=>{s(!1)},[e]);let c=!!e&&!i,l=ve(n,t);return(0,J.jsxs)(`span`,{className:a(`inline-flex items-center gap-1 px-[10px] py-[6px]`,`rounded-[var(--radius-pill)] bg-[var(--surface-base)] max-w-full`,r),children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,className:a(`inline-flex items-center justify-center`,`h-[14px] w-[14px] rounded-[var(--radius-sm)] overflow-hidden shrink-0`,`bg-[var(--surface-overlay)]`),children:c?(0,J.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>s(!0)}):(0,J.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:l})}),(0,J.jsx)(o,{variant:`body-small-default`,className:`truncate max-w-[200px] text-[var(--content-default)]`,children:t})]})}function be({items:e,minDwellMs:t=500}){let n=H(),[r,i]=(0,q.useState)(0),a=Math.max(e.length-1,0);if((0,q.useEffect)(()=>{if(r>=a)return;let e=setTimeout(()=>i(e=>Math.min(e+1,a)),t);return()=>clearTimeout(e)},[r,a,t]),e.length===0)return null;let o=n?{duration:0}:{duration:.35,ease:[.16,1,.3,1]},s=n?{opacity:0}:{y:-28,opacity:0},c=n?{opacity:1}:{y:0,opacity:1},l=n?{opacity:0}:{y:28,opacity:0};if(e.length===1){let t=e[0];return(0,J.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,J.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,J.jsx)(ye,{faviconUrl:t.faviconUrl,title:t.title,domain:t.domain})})})}let u=Math.min(r,a),d=e[u],f=`${u}:${d.domain??``}:${d.title}`;return(0,J.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,J.jsx)(V,{initial:!1,mode:`popLayout`,children:(0,J.jsx)(B.div,{initial:s,animate:c,exit:l,transition:o,className:`absolute inset-0 flex items-center`,children:(0,J.jsx)(ye,{faviconUrl:d.faviconUrl,title:d.title,domain:d.domain})},f)})})}function xe(e){let t=R.use.toggleToolDetail(),n=R.use.activeToolDetail(),r=e.variant===`web`?e.carouselItems:void 0,i=(0,q.useMemo)(()=>r&&r.length>0?(0,J.jsx)(be,{items:r}):null,[r]);if(e.variant===`web`){let{info:t,carouselItems:n,state:r,step:a,expanded:o,onExpandChange:s}=e,c=r===`error`,l=n.at(-1),u=o?D:T;return(0,J.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,J.jsxs)(`button`,{type:`button`,"data-testid":`inline-web-link`,"aria-expanded":o,"aria-label":`Web Search`,onClick:()=>s(!o),className:z(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,c&&`text-[var(--system-negative-strong)]`),children:[(0,J.jsx)(`span`,{className:z(`inline-flex shrink-0 items-center text-[var(--content-tertiary)]`,c&&`text-[var(--system-negative-strong)]`),children:(0,J.jsx)(N,{className:`size-4 shrink-0`,"aria-hidden":!0})}),r===`loading`?(0,J.jsx)(U,{"data-testid":`inline-web-loading`,className:`shrink-0`,children:`Web Search`}):(0,J.jsx)(`span`,{className:`shrink-0`,children:`Web Search`}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`,children:`|`}),r===`loading`&&i?(0,J.jsx)(`span`,{className:`inline-flex w-[220px] min-w-0 items-center`,children:i}):l&&(l.faviconUrl||l.domain||l.title)?(0,J.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,J.jsx)(pe,{faviconUrl:l.faviconUrl,domain:l.domain,title:t,className:`shrink-0`}),(0,J.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t})]}):(0,J.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t}),(0,J.jsx)(u,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),o&&a!=null?(0,J.jsx)(`div`,{className:`pl-6`,children:a.kind===`web_search_error`?(0,J.jsx)(de,{step:a}):(0,J.jsx)(fe,{step:a})}):null]})}let a;if(e.variant===`thinking`){let{content:r,isStreaming:i=!1,messageId:o,groupIndex:s}=e;if(!r&&!i)return null;a={dataTestId:`thought-process-link`,ariaLabel:`View thinking`,label:`Thinking`,shimmerLabel:i,tone:`default`,active:n?.kind===`thinking`&&re(n,{messageId:o,thinkingGroupIndex:s,thinkingText:r}),onClick:()=>t({kind:`thinking`,toolCallId:``,toolName:``,title:`Thought process`,activity:``,input:{},status:`completed`,thinkingText:r,messageId:o,thinkingGroupIndex:s})}}else{let{toolCall:r}=e,{activity:i,info:o,title:s}=f(r),c=i||o||s,l=!!r.isError||r.confirmationDecision===`denied`||r.confirmationDecision===`timed_out`;a={dataTestId:`inline-tool-link`,ariaLabel:`View details: ${c}`,label:c,tone:l?`error`:`default`,active:n!=null&&n.kind!==`thinking`&&n.toolCallId===r.id,onClick:()=>t(he(r))}}let o=a.tone===`error`;return(0,J.jsxs)(`button`,{type:`button`,"data-testid":a.dataTestId,"data-active":a.active?`true`:`false`,"aria-label":a.ariaLabel,onClick:a.onClick,className:z(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,a.active?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,o&&`text-[var(--system-negative-strong)]`),children:[(0,J.jsx)(`span`,{className:`min-w-0 max-w-[min(520px,calc(100vw-8rem))] truncate`,children:a.shimmerLabel?(0,J.jsx)(U,{"data-testid":`thought-process-loading`,children:a.label}):a.label}),(0,J.jsx)(E,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]})}function Se({size:e=8}){return(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`busy-indicator inline-block shrink-0 rounded-full`,style:{width:e,height:e,backgroundColor:`var(--primary-base)`}})}function Ce(e){if(e===void 0)return;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`,second:`2-digit`});return r?`Started ${i}`:`Started ${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i}`}function we(e){return e<60?`${e.toFixed(1)}s`:`${Math.floor(e/60)}m ${Math.floor(e%60)}s`}function Y(e){let t=Math.floor(e);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Te(e,t,n,r=`step`){let[i,a]=(0,q.useState)(Date.now);if((0,q.useEffect)(()=>{if(e===void 0||t)return;let n=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(n)},[e,t]),e===void 0)return null;if(r===`step`)return t?n===void 0?null:we((n-e)/1e3):Y(Math.max(0,i-e)/1e3);if(t&&n!==void 0){let t=(n-e)/1e3;return t<5?null:Y(t)}if(!t){let t=(i-e)/1e3;return t<5?null:Y(t)}return null}var Ee={terminal:(0,J.jsx)(I,{className:`h-3.5 w-3.5`}),"file-text":(0,J.jsx)(M,{className:`h-3.5 w-3.5`}),"file-plus":(0,J.jsx)(j,{className:`h-3.5 w-3.5`}),pencil:(0,J.jsx)(ee,{className:`h-3.5 w-3.5`}),search:(0,J.jsx)(F,{className:`h-3.5 w-3.5`}),globe:(0,J.jsx)(N,{className:`h-3.5 w-3.5`}),compass:(0,J.jsx)(K,{className:`h-3.5 w-3.5`}),camera:(0,J.jsx)(W,{className:`h-3.5 w-3.5`}),wrench:(0,J.jsx)(L,{className:`h-3.5 w-3.5`})};function De(e,t=``){return Ee[b(e,t)]??(0,J.jsx)(L,{className:`h-3.5 w-3.5`})}function Oe({isRunning:e,isError:t}){return e?(0,J.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center`,children:(0,J.jsx)(Se,{size:6})}):t?(0,J.jsx)(A,{className:`h-4 w-4 text-[var(--system-negative-strong)] shrink-0`}):(0,J.jsx)(k,{className:`h-4 w-4 text-[var(--system-positive-strong)] shrink-0`})}function ke({toolCall:e,isSubmitting:t,onSubmit:r,onAllowAndCreateRule:i}){let[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),l=(0,q.useRef)(null);(0,q.useEffect)(()=>{if(!s)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s]);let u=e.pendingConfirmation;if(!u)return null;let f=!!u.input,p=(u.allowlistOptions?.length??0)>0,m=e.input?.activity??e.input?.reason,h=typeof m==`string`&&m.trim()||u.title||C(e.name,d(e.name,e.input)),g=u.description||u.riskReason||null;return(0,J.jsxs)(`div`,{"data-testid":`inline-confirmation-card`,className:`flex w-full flex-col gap-4 rounded-xl bg-[var(--surface-overlay)] p-3`,children:[(0,J.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[12px] font-medium text-[var(--content-secondary)]`,children:[(0,J.jsx)(`span`,{className:`shrink-0 whitespace-nowrap`,children:`Confirmation required`}),h?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,J.jsx)(`span`,{className:`min-w-0 truncate`,children:h})]}):null]}),g&&(0,J.jsx)(`p`,{className:`w-full text-body-medium-default text-[var(--content-default)]`,children:g})]}),(0,J.jsxs)(`div`,{className:`flex items-start gap-2`,children:[p&&i?(0,J.jsxs)(`div`,{ref:l,className:`relative flex`,children:[(0,J.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),className:`rounded-r-none`,children:[t&&(0,J.jsx)(P,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-5 w-px self-center bg-[var(--content-inset)] opacity-20`}),(0,J.jsx)(n,{variant:`primary`,disabled:t,onClick:()=>c(e=>!e),className:`rounded-l-none px-1.5`,"aria-label":`More allow options`,"aria-haspopup":`menu`,"aria-expanded":s,children:(0,J.jsx)(T,{className:`h-3.5 w-3.5`})}),s&&(0,J.jsx)(`div`,{className:`absolute left-0 top-full z-10 mt-1 min-w-[180px] rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] py-1 shadow-lg`,children:(0,J.jsx)(`button`,{type:`button`,onClick:()=>{c(!1),i()},className:`flex w-full items-center px-3 py-2 text-body-small-default text-[var(--content-default)] transition-colors hover:bg-[var(--ghost-hover)]`,children:`Allow & Create Rule`})})]}):(0,J.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),children:[t&&(0,J.jsx)(P,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,J.jsx)(n,{variant:`danger`,disabled:t,onClick:()=>r?.(`deny`),children:`Deny`})]}),f&&(0,J.jsxs)(`div`,{className:`flex w-full flex-col gap-3`,children:[(0,J.jsx)(`div`,{className:`h-px w-full bg-[var(--border-base)]`}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),className:`flex items-center gap-1 self-start text-[11px] font-medium text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?`Hide Details`:`Show Details`,(0,J.jsx)(T,{className:`size-2.5 transition-transform ${a?`rotate-180`:``}`})]}),a&&u.input&&(0,J.jsx)(`div`,{className:`max-h-[220px] overflow-y-auto rounded bg-[var(--surface-base)] p-2`,children:(0,J.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-secondary)]`,children:JSON.stringify(u.input,null,2)})})]})]})}function Ae({toolCall:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,embedded:i=!1}){let a=x(t=>t.expandedToolCallIds.has(e.id)),o=(0,q.useCallback)(t=>{x.getState().setExpandedToolCallId(e.id,t)},[e.id]),[s,l]=(0,q.useState)(!1),u=!!e.isError,f=!u&&e.result===void 0&&e.completedAt==null,m=!!e.pendingConfirmation,h=se(e),y=Te(h,!f,e.completedAt),b=Ce(h),S=Te(e.startedAt,!f,e.completedAt),w=d(e.name,e.input),O=e.input?.activity??e.input?.reason,k=(typeof O==`string`&&O.trim()?O.trim():null)??(f?c(e.name,w):C(e.name,w)),A=m||!f&&(e.result!==void 0||Object.keys(e.input).length>0),j=(0,q.useRef)(!1);(0,q.useEffect)(()=>{let t=j.current;j.current=!!e.pendingConfirmation,e.pendingConfirmation&&!t&&o(!0)},[e.pendingConfirmation,o]);let M=(0,q.useCallback)(async t=>{if(n){l(!0);try{await n(t,e)}finally{l(!1)}}},[n,e]),N=(0,q.useCallback)(async()=>{if(r){l(!0);try{await r(e)}finally{l(!1)}}},[r,e]),P=(0,q.useCallback)(()=>{e.result!==void 0&&ce(e.result,{successMessage:`Output copied to clipboard.`,errorMessage:`Couldn't copy the output.`})},[e.result]),ee=f?`Running 1 step`:u?`Failed 1 step`:`Completed 1 step`,F=(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 py-2 ${i?`pl-6 pr-3 text-body-small-default`:``}`,children:[(0,J.jsx)(Oe,{isRunning:f,isError:u}),!i&&De(e.name,w),(0,J.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-secondary)]`,children:k}),e.riskLevel&&!f&&!m&&(()=>{let{displayLevel:n,inherentRisk:r}=v(e.approvalReason,e.riskLevel),a=g(n),o=n===`workspace`,s=!o&&!_(e.approvalMode,e.riskLevel,e.riskThreshold)?p(e.approvalReason):null,c;return c=o?`Workspace · Inherent risk: ${r?r.charAt(0).toUpperCase()+r.slice(1):`Unknown`}`:s?`${a.label} ${s}`:a.label,(0,J.jsxs)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),t?.({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input,allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[],matchedTrustRuleId:e.matchedTrustRuleId})},className:`${i?``:`ml-auto `}max-w-[45%] shrink-0 truncate rounded-full px-2 py-0.5 text-[11px] font-medium leading-tight ${a.bg} ${a.text} ${a.border??``} ${t?`cursor-pointer hover:opacity-80`:`cursor-default`}`,title:c,children:[(0,J.jsx)(`span`,{className:`sm:hidden`,children:a.label}),(0,J.jsx)(`span`,{className:`hidden sm:inline`,children:o?a.label:c})]})})(),i&&(0,J.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[y&&(0,J.jsx)(`span`,{className:`text-label-small-default`,title:b,children:y}),A&&(a?(0,J.jsx)(T,{className:`h-3.5 w-3.5`}):(0,J.jsx)(E,{className:`h-3.5 w-3.5`}))]})]}),I=(0,J.jsxs)(J.Fragment,{children:[m&&(0,J.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:M,onAllowAndCreateRule:N}),!m&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`mt-2.5`,children:[(0,J.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Technical Details`}),(0,J.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:`Tool Name`}),(0,J.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:e.name.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}),b&&(0,J.jsx)(`div`,{className:`mt-0.5 text-[var(--content-tertiary)]`,children:b}),S&&(0,J.jsxs)(`div`,{className:`mt-0.5`,children:[(0,J.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:`Tool latency:`}),` `,(0,J.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:S})]}),Object.entries(e.input).map(([e,t])=>(0,J.jsxs)(`div`,{className:`mt-0.5`,children:[(0,J.jsxs)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,J.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),e.result!==void 0&&(0,J.jsxs)(`div`,{className:`mt-3`,children:[(0,J.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Output`}),(0,J.jsxs)(`div`,{className:`relative rounded-md border p-3 ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[(0,J.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-body-small-default max-h-60 overflow-y-auto pr-8 ${u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:e.result.length>2e3?e.result.slice(0,2e3)+`...`:e.result}),(0,J.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),P()},className:`absolute right-2 top-2 rounded p-1 text-[var(--content-tertiary)] hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,title:`Copy output`,children:(0,J.jsx)(G,{className:`h-4 w-4`})})]})]})]})]});return i?(0,J.jsxs)(`div`,{className:`w-full`,children:[(0,J.jsx)(`div`,{role:`button`,tabIndex:A?0:void 0,onClick:()=>{A&&o(!a)},onKeyDown:e=>{A&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(!a))},className:`w-full ${A?`cursor-pointer`:`cursor-default`}`,children:F}),a&&A&&(m?(0,J.jsx)(`div`,{className:`px-3 pt-1 pb-2`,children:(0,J.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:M,onAllowAndCreateRule:N})}):(0,J.jsx)(`div`,{className:`pl-6 pr-3 pb-2 text-label-medium-default`,children:I}))]}):(0,J.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{A&&o(!a)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-body-medium-default transition-colors ${u?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${A?`cursor-pointer hover:bg-[var(--surface-active)]`:`cursor-default`} ${a?`rounded-b-none`:``}`,children:[(0,J.jsx)(Oe,{isRunning:f,isError:u}),(0,J.jsx)(`span`,{className:u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`,children:ee}),(0,J.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[y&&(0,J.jsx)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,title:b,children:y}),A&&(a?(0,J.jsx)(D,{className:`h-4 w-4`}):(0,J.jsx)(T,{className:`h-4 w-4`}))]})]}),a&&A&&(0,J.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 text-label-medium-default ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[F,I]})]})}function je({state:e,testId:t}){switch(e){case`loading`:return null;case`complete`:return(0,J.jsx)(k,{"data-testid":t,"aria-hidden":`true`,"data-state":`complete`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`});case`warning`:return(0,J.jsx)(te,{"data-testid":t,"aria-hidden":`true`,"data-state":`warning`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-mid-strong)]`});default:return(0,J.jsx)(O,{"data-testid":t,"aria-hidden":`true`,"data-state":e,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-negative-strong)]`})}}function Me({state:e,leadingIcon:t,currentStepTitle:r,currentStepInfo:i,headerAnimationKey:a,hideStatusIndicator:s=!1,headerActive:c=!1,stepCount:l,defaultExpanded:u=!1,expanded:d,onExpandChange:f,disableExpand:p=!1,bare:m=!1,children:h,"data-testid":g=`tool-progress-card-shell`,statusIndicatorTestId:_=`tool-progress-card-status-indicator`,headerActionSlot:v,onHeaderClick:y,headerAriaLabel:b}){let[x,S]=(0,q.useState)(u),C=d!==void 0,w=C?d:x,T=H(),E=()=>{if(y){y();return}if(p)return;let e=!w;C||S(e),f?.(e)},D=T?{duration:0}:{duration:.25,ease:[.16,1,.3,1]};return(0,J.jsxs)(`div`,{"data-testid":g,className:m?`flex w-full flex-col`:`flex w-full flex-col rounded-[var(--radius-lg)] border-b border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(()=>{let u=(0,J.jsxs)(`span`,{className:m?`flex min-w-0 items-center gap-1`:`flex min-w-0 flex-1 items-center gap-1`,children:[s||e===`loading`?null:(0,J.jsx)(V,{mode:`wait`,initial:!1,children:(0,J.jsx)(B.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:T?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`inline-flex shrink-0`,children:(0,J.jsx)(je,{state:e,testId:_})},e)}),t?(0,J.jsx)(`span`,{className:`mx-1 flex shrink-0 items-center`,children:t}):null,(0,J.jsx)(ue,{currentStepTitle:r,currentStepInfo:i,animationKey:a,bypassDwell:e!==`loading`,shimmer:e===`loading`,inline:m})]}),d=l&&!l.startsWith(`0 `)&&!l.startsWith(`1 `)?(0,J.jsx)(`span`,{"data-testid":`tool-progress-card-step-count-pill`,className:`flex shrink-0 items-center rounded-[var(--radius-pill)] bg-[var(--surface-overlay)] px-[6px] py-[4px]`,children:(0,J.jsx)(o,{variant:`body-small-default`,className:`text-[var(--content-emphasised)]`,children:l})}):null,f={variant:`ghost`,size:`compact`,"aria-expanded":y?void 0:w,"aria-label":b??(w?`Collapse steps`:`Expand steps`),onClick:E,disabled:!y&&p};return v?(0,J.jsxs)(`div`,{className:`flex w-full items-center`,children:[(0,J.jsx)(n,{...f,className:`h-auto min-w-0 flex-1 justify-start gap-2 p-3 ${w?`rounded-tl-[var(--radius-lg)] rounded-b-none`:`rounded-l-[var(--radius-lg)]`}`,children:u}),(0,J.jsxs)(`div`,{"data-testid":`tool-progress-card-action-slot`,className:`flex shrink-0 items-center gap-2 pr-3`,children:[v,d]})]}):(0,J.jsxs)(n,{...f,className:m?`h-auto w-fit min-w-0 max-w-[calc(100%+0.375rem)] justify-start gap-2 rounded-md border-0 px-1.5 py-1.5 -ml-1.5 hover:bg-[var(--surface-hover)]${w||c?` bg-[var(--surface-hover)]`:``}`:`h-auto w-full min-w-0 justify-between gap-2 p-3 ${w?`rounded-t-[var(--radius-lg)] rounded-b-none`:`rounded-[var(--radius-lg)]`}`,children:[u,d]})})(),(0,J.jsx)(V,{initial:!1,children:w&&h!=null?(0,J.jsx)(B.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:D,className:`overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[m?null:(0,J.jsx)(`div`,{className:`h-px w-full bg-[var(--surface-base)]`}),h]})},`expanded-body`):null})]})}function Ne(e){let[t,n]=(0,q.useState)(()=>Date.now());return(0,q.useEffect)(()=>{if(!e)return;n(Date.now());let t=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(t)},[e]),e?t:void 0}function Pe(e){return me(e,m.use.liveWebActivity(),Ne(le(e)))}var Fe=80;function Ie(e){return e.map(e=>({kind:`toolCall`,toolCall:e}))}function Le(e){let t=0,n=0;for(let r of e)r.kind!==`thinking`&&(t+=1,(r.kind===`tool_error`||r.kind===`web_search_error`||r.kind===`tool`&&(r.status===`error`||r.status===`denied`))&&(n+=1));return{total:t,failed:n}}function Re(e,t){if(e===`loading`||e===`complete`)return e;let{total:n,failed:r}=Le(t);return r>0&&r<n?`warning`:`error`}function ze(e,t,n){if(e===`loading`)return t&&t!==`<1s`?`Working for ${t}`:`Working`;if(t)return`Worked for ${t}`;switch(e){case`warning`:return`${n} ${n===1?`tool`:`tools`} failed`;case`error`:case`denied`:return`Failed`;default:return`Completed`}}function Be(e){let{toolCalls:t}=e,n=t.some(e=>!!e.pendingConfirmation),r=(0,q.useMemo)(()=>e.items??Ie(t),[e.items,t]),i=Pe(r),a=Ue(t[0]?.id??null);return n?(0,J.jsx)(Ge,{...e}):i.steps.length===0?null:t.length===1&&t[0].name===`web_search`?(0,J.jsx)(Ve,{toolCalls:t,cardData:i,expanded:a.value,onExpandChange:a.onChange}):(0,J.jsx)(He,{...e,cardData:i,effectiveItems:r})}function Ve({toolCalls:e,cardData:t,expanded:n,onExpandChange:r}){let i=e.some(e=>oe(e))?`loading`:t.state===`error`||t.state===`denied`?`error`:`complete`,a=t.steps.find(e=>e.kind===`web_search`||e.kind===`web_search_error`)??null;return(0,J.jsx)(xe,{variant:`web`,info:t.currentStepInfo,carouselItems:t.carouselItems,state:i,step:a,expanded:n,onExpandChange:r})}function He({toolCalls:e,cardData:t,effectiveItems:n,onOpenRuleEditor:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a,messageId:s,groupIndex:c}){let l=R.use.toggleActivitySteps(),u=R.use.mainView(),d=R.use.activeActivitySteps(),f=Re(t.state,t.steps),p=(0,q.useMemo)(()=>({messageId:s,groupIndex:c,items:n,toolCalls:e}),[s,c,n,e]),m=u===`activity-steps`&&d!=null&&ie(d,p),h=(0,q.useMemo)(()=>t.currentStepKind===`thinking`?(0,J.jsxs)(`span`,{className:`flex w-full min-w-0 items-center gap-1`,children:[(0,J.jsx)(w,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,J.jsx)(o,{variant:`body-small-default`,className:`min-w-0 flex-1 truncate text-left leading-[16px] text-[var(--content-tertiary)]`,children:S(t.currentStepInfo,Fe)})]}):t.currentStepInfo,[t.currentStepKind,t.currentStepInfo]),g=i&&r?e.filter(e=>i.has(e.id)):[];return(0,J.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,J.jsx)(Me,{bare:!0,hideStatusIndicator:!0,state:f,currentStepTitle:t.currentStepTitle,currentStepInfo:h,stepCount:t.stepCount,onHeaderClick:()=>l(p),headerAriaLabel:`View steps`,headerActive:m}),g.map(e=>(0,J.jsx)(We,{toolCall:e,onOpenRuleEditor:r,onDismiss:a},e.id))]})}function Ue(e){return{value:x(t=>e==null?void 0:t.expandedCardIds.get(e))??!1,onChange:(0,q.useCallback)(t=>{e!=null&&x.getState().setExpandedCardId(e,t)},[e])}}function We({toolCall:e,onOpenRuleEditor:t,onDismiss:n}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-1 pl-6 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(`span`,{children:`This command wasn't recognized.`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>t({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input??{},allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[]}),className:`font-medium text-[var(--content-default)] underline underline-offset-2 hover:text-[var(--content-secondary)]`,children:`Create a rule`}),(0,J.jsx)(`span`,{children:`to classify it for next time.`}),n&&(0,J.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>n(e.id),className:`ml-1 text-[var(--content-disabled)] hover:text-[var(--content-tertiary)]`,children:(0,J.jsx)(ne,{className:`h-3.5 w-3.5`})})]})}function Ge({toolCalls:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a}){return(0,J.jsx)(`div`,{className:`my-1 w-full`,children:(0,J.jsx)(`div`,{className:`space-y-0 rounded-lg bg-[var(--surface-overlay)]`,children:e.map(e=>(0,J.jsxs)(q.Fragment,{children:[(0,J.jsx)(Ae,{toolCall:e,onOpenRuleEditor:t,embedded:!0,...e.pendingConfirmation?{onConfirmationSubmit:n,onAllowAndCreateRule:r}:{}}),i?.has(e.id)&&t&&(0,J.jsx)(We,{toolCall:e,onOpenRuleEditor:t,onDismiss:a})]},e.id))})})}var Ke=/:([\w+-]+)$/,qe=[],Je=()=>qe,X=null,Z=null,Q=null;function Ye(){return X&&Z?Promise.resolve():Q||(Q=r(()=>import(`./emoji-catalog-data-5pJaL_3N.js`).then(e=>{X=e.searchEmoji;let t=new Map(e.EMOJI_CATALOG.map(e=>[e.shortcode,e.emoji]));Z=e=>t.get(e)}),[]),Q)}function Xe(){let[e,t]=(0,q.useState)(()=>X??Je);return(0,q.useEffect)(()=>{if(X)return;let e=!1;return Ye().then(()=>{!e&&X&&t(()=>X)}),()=>{e=!0}},[]),e}var Ze=()=>void 0;function Qe(){let[e,t]=(0,q.useState)(()=>Z??Ze);return(0,q.useEffect)(()=>{if(Z)return;let e=!1;return Ye().then(()=>{!e&&Z&&t(()=>Z)}),()=>{e=!0}},[]),e}function $e(e){if(h(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return typeof t.subagentId==`string`?t.subagentId:void 0}catch{return}}function et(e,t){return e.size===0?ae:e.get(t.id)??ae}function tt(e,t,n,r){let i=e.filter(h);if(i.length===0)return[];let a=[];for(let e of i){let i=n.get(e.id);if(i&&!r.has(i)){a.push(i),r.add(i);continue}let o=$e(e);if(o){a.push(o),r.add(o);continue}let s=t.find(e=>!r.has(e.subagentId));s&&(a.push(s.subagentId),r.add(s.subagentId))}return a}function nt(e){if(!u(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.runId==`string`?t.runId:null}catch{return null}}function rt(e,t){return u(e)?t.get(e.id)??nt(e):null}function it(e,t,n){let r=[];for(let i of e){if(!u(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=nt(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function at(e,t){let n=new Set;for(let r of e){let e=rt(r,t.byToolUseId);if(e!==null){if(t.byId[e]!==void 0){n.add(e);continue}t.notFoundRunIds.has(e)||t.hydrationFailedRunIds.has(e)||n.add(e)}}return n}function ot(e){if(!y(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.acpSessionId==`string`?t.acpSessionId:null}catch{return null}}function st(e){if(l(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return t.backgrounded===!0&&typeof t.id==`string`?t.id:void 0}catch{return}}function ct(e,t){let n=[];for(let r of e){if(!l(r))continue;let e=st(r);e&&!t.has(e)&&(n.push(e),t.add(e))}return n}function lt(e,t){return y(e)?t.get(e.id)??ot(e):null}function ut(e,t,n){let r=[];for(let i of e){if(!y(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=ot(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function dt(e,t){return e===`assistant`?$(t)??`Assistant`:`User`}function $(...e){for(let t of e){let e=t?.trim();if(e)return e}}function ft(e,t){if(!e.slackMessage)return null;let n=e.slackMessage.sender;return $(n?.displayName,n?.name,n?.username,n?.externalUserId)??dt(e.role,t)}function pt(e){return _e(e)}function mt({message:e,assistantDisplayName:t}){let n=ft(e,t);return n?(0,J.jsx)(`div`,{"data-testid":`slack-message-attribution`,className:`inline-flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:(0,J.jsx)(`span`,{children:n})}):null}function ht({message:e}){let t=Qe(),n=e.slackMessage?.reaction;if(!n)return null;let r=t(n.emoji)??`:${n.emoji}:`,i=n.actorDisplayName??e.slackMessage?.sender?.displayName??e.slackMessage?.sender?.name,a=n.op===`added`?`reacted`:`removed reaction`;return(0,J.jsxs)(`div`,{"data-testid":`slack-reaction-line`,className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(`span`,{className:`text-base`,children:r}),i&&(0,J.jsx)(`span`,{children:i}),(0,J.jsx)(`span`,{children:a})]})}export{K as C,_e as S,W as T,Le as _,st as a,Se as b,ut as c,it as d,rt as f,ze as g,Be as h,at as i,ct as l,Xe as m,ht as n,pt as o,Ke as p,lt as r,et as s,mt as t,tt as u,Re as v,G as w,xe as x,Pe as y};
@@ -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{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./card-DRIctGVs.js";import{t as c}from"./notice-DCp7WO3L.js";import{n as l}from"./toast-DR7D7Uma.js";import{d as u}from"./routes-GmNvdtLW.js";import{i as d,r as f,t as p}from"./use-platform-gate-D9hR3R0n.js";import{t as m}from"./platform-login-notice-DIS8PWXu.js";var h=e(t(),1),g=a();function _(){let e=d({platformHostedOnly:!0}),t=p(),a=f(),_=i();return(0,h.useEffect)(()=>{t&&(l.info(`Upgrade canceled. No changes to your plan.`,{id:`pro-upgrade-cancel`}),_(u.settings.usageBilling,{replace:!0}))},[_,t]),e===`gated`?(0,g.jsx)(r,{replace:!0,to:u.settings.general}):e===`disabled`?(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsx)(m,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!t&&!a?(0,g.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,g.jsx)(c,{tone:`warning`,children:`Billing isn't available for the current assistant state.`}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsx)(n,{variant:`primary`,onClick:()=>_(u.settings.usageBilling,{replace:!0}),children:`Return to billing`})})]}):(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsxs)(s,{padding:`lg`,children:[(0,g.jsx)(o,{as:`h1`,variant:`title-large`,children:`Upgrade canceled`}),(0,g.jsx)(o,{as:`p`,variant:`body-medium-default`,className:`mt-2`,children:`Returning you to billing settings…`})]})})}export{_ as UpgradeCancelPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./card-DRIctGVs.js";import{t as c}from"./notice-DCp7WO3L.js";import{n as l}from"./toast-DR7D7Uma.js";import{d as u}from"./routes-GmNvdtLW.js";import{i as d,r as f,t as p}from"./use-platform-gate-CqEOGZtI.js";import{t as m}from"./platform-login-notice-D-yQLWUo.js";var h=e(t(),1),g=a();function _(){let e=d({platformHostedOnly:!0}),t=p(),a=f(),_=i();return(0,h.useEffect)(()=>{t&&(l.info(`Upgrade canceled. No changes to your plan.`,{id:`pro-upgrade-cancel`}),_(u.settings.usageBilling,{replace:!0}))},[_,t]),e===`gated`?(0,g.jsx)(r,{replace:!0,to:u.settings.general}):e===`disabled`?(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsx)(m,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!t&&!a?(0,g.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,g.jsx)(c,{tone:`warning`,children:`Billing isn't available for the current assistant state.`}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsx)(n,{variant:`primary`,onClick:()=>_(u.settings.usageBilling,{replace:!0}),children:`Return to billing`})})]}):(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsxs)(s,{padding:`lg`,children:[(0,g.jsx)(o,{as:`h1`,variant:`title-large`,children:`Upgrade canceled`}),(0,g.jsx)(o,{as:`p`,variant:`body-medium-default`,className:`mt-2`,children:`Returning you to billing settings…`})]})})}export{_ as UpgradeCancelPage};
@@ -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{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./card-DRIctGVs.js";import{t as u}from"./circle-alert-DVCpoZrc.js";import{t as d}from"./circle-check-CjGnAahM.js";import{t as f}from"./loader-circle-BzJ2kz3F.js";import{t as p}from"./notice-DCp7WO3L.js";import{d as m}from"./routes-GmNvdtLW.js";import{i as h,r as g,t as _}from"./use-platform-gate-D9hR3R0n.js";import{lt as v,ut as y}from"./react-query.gen-BVTEjHsw.js";import{t as b}from"./platform-login-notice-DIS8PWXu.js";var x=e(t(),1),S=s(),C=1e3,w=1e4,T=2500;function E(){let e=h({platformHostedOnly:!0}),t=_(),s=g(),c=e===`full`&&t,u=i(),d=a(),[f,E]=(0,x.useState)(!1);(0,x.useEffect)(()=>{d.invalidateQueries({queryKey:y()})},[d]);let{data:j,isError:M}=o({...v(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||f?!1:C,refetchIntervalInBackground:!1}),N=c?j:void 0,P=c?M:!1;(0,x.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>E(!0),w);return()=>clearTimeout(e)},[c]);let F=N?.plan_id===`pro`;(0,x.useEffect)(()=>{if(!F)return;let e=setTimeout(()=>{u(m.settings.usageBilling,{replace:!0})},T);return()=>clearTimeout(e)},[F,u]);let I=()=>u(m.settings.usageBilling,{replace:!0});return e===`gated`?(0,S.jsx)(r,{replace:!0,to:m.settings.general}):e===`disabled`?(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsx)(b,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!c&&!s?(0,S.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,S.jsx)(p,{tone:`warning`,children:`We can't confirm your upgrade for the current assistant. Return to billing to retry.`}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(n,{variant:`primary`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]}):(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsxs)(l,{padding:`lg`,children:[F?(0,S.jsx)(O,{}):P?(0,S.jsx)(A,{}):f?(0,S.jsx)(k,{}):(0,S.jsx)(D,{}),(F||P||f)&&(0,S.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,S.jsx)(n,{variant:F||P?`primary`:`outlined`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]})})}function D(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(f,{className:`h-6 w-6 animate-spin text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Finalizing your upgrade…`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Stripe is confirming your subscription. This usually takes a few seconds.`})]})}function O(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(d,{className:`h-8 w-8 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Welcome to Pro`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Your Pro plan is active. You'll be redirected back to billing in a moment.`})]})}function k(){return(0,S.jsx)(p,{tone:`warning`,children:`We're processing your upgrade — refresh in a moment to see your new plan.`})}function A(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(u,{className:`h-8 w-8 text-[var(--system-negative-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`We hit a problem checking your subscription. Your upgrade may still be processing — return to billing to refresh.`})]})}export{E as UpgradeSuccessPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./card-DRIctGVs.js";import{t as u}from"./circle-alert-DVCpoZrc.js";import{t as d}from"./circle-check-CjGnAahM.js";import{t as f}from"./loader-circle-BzJ2kz3F.js";import{t as p}from"./notice-DCp7WO3L.js";import{d as m}from"./routes-GmNvdtLW.js";import{i as h,r as g,t as _}from"./use-platform-gate-CqEOGZtI.js";import{lt as v,ut as y}from"./react-query.gen-BVTEjHsw.js";import{t as b}from"./platform-login-notice-D-yQLWUo.js";var x=e(t(),1),S=s(),C=1e3,w=1e4,T=2500;function E(){let e=h({platformHostedOnly:!0}),t=_(),s=g(),c=e===`full`&&t,u=i(),d=a(),[f,E]=(0,x.useState)(!1);(0,x.useEffect)(()=>{d.invalidateQueries({queryKey:y()})},[d]);let{data:j,isError:M}=o({...v(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||f?!1:C,refetchIntervalInBackground:!1}),N=c?j:void 0,P=c?M:!1;(0,x.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>E(!0),w);return()=>clearTimeout(e)},[c]);let F=N?.plan_id===`pro`;(0,x.useEffect)(()=>{if(!F)return;let e=setTimeout(()=>{u(m.settings.usageBilling,{replace:!0})},T);return()=>clearTimeout(e)},[F,u]);let I=()=>u(m.settings.usageBilling,{replace:!0});return e===`gated`?(0,S.jsx)(r,{replace:!0,to:m.settings.general}):e===`disabled`?(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsx)(b,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!c&&!s?(0,S.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,S.jsx)(p,{tone:`warning`,children:`We can't confirm your upgrade for the current assistant. Return to billing to retry.`}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(n,{variant:`primary`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]}):(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsxs)(l,{padding:`lg`,children:[F?(0,S.jsx)(O,{}):P?(0,S.jsx)(A,{}):f?(0,S.jsx)(k,{}):(0,S.jsx)(D,{}),(F||P||f)&&(0,S.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,S.jsx)(n,{variant:F||P?`primary`:`outlined`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]})})}function D(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(f,{className:`h-6 w-6 animate-spin text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Finalizing your upgrade…`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Stripe is confirming your subscription. This usually takes a few seconds.`})]})}function O(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(d,{className:`h-8 w-8 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Welcome to Pro`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Your Pro plan is active. You'll be redirected back to billing in a moment.`})]})}function k(){return(0,S.jsx)(p,{tone:`warning`,children:`We're processing your upgrade — refresh in a moment to see your new plan.`})}function A(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(u,{className:`h-8 w-8 text-[var(--system-negative-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`We hit a problem checking your subscription. Your upgrade may still be processing — return to billing to refresh.`})]})}export{E as UpgradeSuccessPage};