openpond 0.0.69 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{app-layer-EXXOWJ5H.js → app-layer-XEYHFJHI.js} +2 -2
- package/dist/chunks/{app-server-runtime-7FBQBE3C.js → app-server-runtime-Y6MW4XCG.js} +7 -6
- package/dist/chunks/{apps-RZSDOFAG.js → apps-GSXUDK6V.js} +2 -2
- package/dist/chunks/{chunk-SFMNGWNO.js → chunk-2JABRRNR.js} +1 -1
- package/dist/chunks/{chunk-MMRJNSWY.js → chunk-6G6MDZLM.js} +1096 -120
- package/dist/chunks/{chunk-NPNIL6SQ.js → chunk-AN2EYCN3.js} +1 -1
- package/dist/chunks/{chunk-F36ZVO6U.js → chunk-CNTM26OW.js} +1 -1
- package/dist/chunks/{chunk-FEOLMLYU.js → chunk-EFET7LB7.js} +21 -2
- package/dist/chunks/{training-5CPTZRVC.js → chunk-J7PYGDRY.js} +251 -16
- package/dist/chunks/{chunk-Y57RTLVV.js → chunk-N3TGCM7J.js} +93 -35
- package/dist/chunks/{chunk-BLFIIAWZ.js → chunk-NTK22KJD.js} +68 -21
- package/dist/chunks/{chunk-QTN6HXOR.js → chunk-P6JLLWMI.js} +2 -2
- package/dist/chunks/chunk-R3C3MNSI.js +140 -0
- package/dist/chunks/{chunk-7C4OIFOC.js → chunk-TGM5IPYO.js} +31 -3
- package/dist/chunks/{chunk-OOM2PHBE.js → chunk-TZWAUV2L.js} +1130 -226
- package/dist/chunks/{cli-HIXVXM72.js → cli-L5VPOV6I.js} +6 -5
- package/dist/chunks/continual-FYDKLCO7.js +803 -0
- package/dist/chunks/{core-commands-34SVH6ZQ.js → core-commands-MAN3CSJQ.js} +3 -3
- package/dist/chunks/{desktop-test-66DPBNJX.js → desktop-test-OE5SST2W.js} +2 -2
- package/dist/chunks/{extension-ZMRHCDO3.js → extension-J3CIEDP4.js} +968 -19
- package/dist/chunks/{help-COHCZEP2.js → help-JNGJJFU5.js} +1 -1
- package/dist/chunks/{opchat-2PGW2GNN.js → opchat-6HEQJFLL.js} +2 -2
- package/dist/chunks/{organizations-NZ4OY56V.js → organizations-MWAPNOCK.js} +5 -4
- package/dist/chunks/{profile-GEMTRPUG.js → profile-P7HMONTZ.js} +2 -2
- package/dist/chunks/{project-agent-NX6YBGWC.js → project-agent-2RAK7GAZ.js} +2 -2
- package/dist/chunks/{sandbox-command-UEY53OJO.js → sandbox-command-G22CPFNK.js} +2 -2
- package/dist/chunks/{sandbox-template-YKYRB645.js → sandbox-template-S4WRUWJ6.js} +3 -3
- package/dist/chunks/{src-IXYDKOBI.js → src-A6O6ZGIL.js} +15899 -8010
- package/dist/chunks/{src-LKJBD5AM.js → src-BKBZ7WLO.js} +4 -3
- package/dist/chunks/taskset-BMI7KOWP.js +66 -0
- package/dist/chunks/{teams-bot-K6KZHZJV.js → teams-bot-5VBYEN7M.js} +2 -2
- package/dist/chunks/training-UPVSGDTB.js +17 -0
- package/dist/chunks/{workspaces-WXM72UZF.js → workspaces-XM5BY3MO.js} +4 -2
- package/dist/cli.js +13 -13
- package/dist/web/assets/App-DfiCmBv6.js +173 -0
- package/dist/web/assets/{AppDialog-DX-xs3KA.js → AppDialog-CSXu5wRu.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-CYVj_ITT.js → AppTerminalPanel-y2bVL2RV.js} +2 -2
- package/dist/web/assets/{AppsView-ByjyGog7.js → AppsView-Bs9pwD2H.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BDwtMAZl.js → BrowserSidebar-CUgT5V1m.js} +1 -1
- package/dist/web/assets/{CartesianChart-Dv6jJfPR.js → CartesianChart-DA85hfrP.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-CC5AIhMh.js → CollaborationTabs-B8mlPhM3.js} +1 -1
- package/dist/web/assets/{CommandMenu-Ct0Sx7yP.js → CommandMenu-EwUGCeC_.js} +1 -1
- package/dist/web/assets/{CommunityView-C_zVE0jg.js → CommunityView-IHNq-YJz.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CNn4OywM.js → ComposerCreateImproveStrip-qOL2zA26.js} +1 -1
- package/dist/web/assets/{GetStartedView-DRFpHDLd.js → GetStartedView-C2ypO0v7.js} +1 -1
- package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/web/assets/LabModelVersionDetailPage-BK0eoUlW.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-B9jY4AgE.js → LabSkillSidebar-CRPb4qBn.js} +1 -1
- package/dist/web/assets/LabsRoute-Bw-HD6QC.js +2 -0
- package/dist/web/assets/LabsRoute-CGFgymTX.css +1 -0
- package/dist/web/assets/MainChatThread-Cu6_UnNE.js +2 -0
- package/dist/web/assets/MainPane-k1iII9e9.js +8 -0
- package/dist/web/assets/MarkdownText-N60tvLug.js +268 -0
- package/dist/web/assets/Messages-CYQFLElK.js +10 -0
- package/dist/web/assets/{NativeSkillSidebar-DjebFRoi.js → NativeSkillSidebar-zbx7WmOk.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-C-bJxHxY.js → NewExperienceSwitcher-B0zev5Sx.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cx8QcZm7.js → NewProjectDialog-lZlzrp-R.js} +1 -1
- package/dist/web/assets/{OutputsPage-Y9HM-SHX.js → OutputsPage-B4zYYUT5.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BBr58yKT.js → ProjectsPage-97wgc84s.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-I2znDCc7.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-Dx-1elSI.js → RightSidebarHomePanel-BUcWVJi-.js} +1 -1
- package/dist/web/assets/ScheduledWorkPage-Bp-t0eVj.js +1 -0
- package/dist/web/assets/SettingsView-C1xyn1Y4.js +6 -0
- package/dist/web/assets/{TeamChatView-Bkyhu40R.js → TeamChatView-Fj5_yjVE.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CaCkZDzO.js → TerminalOverlay-D2WBeJvp.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-Vvi41WNT.js → TrainingCreationPanel-dYW_dh3M.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-C2C3hffI.js → TrainingDraftPanel-zeJWmmW6.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-DpPBd-ra.js → UsageSettingsSection-B6SBqYuB.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-BwbWKpOZ.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-D_zKOW4K.js → WorkspaceDiffPanel-D9Kp0vFw.js} +6 -6
- package/dist/web/assets/WorkspaceEnvironmentMenu-D-3YGp06.js +32 -0
- package/dist/web/assets/WorkspaceGitDialogs-BUbzUN4m.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor--GOVrHFp.js → WorkspaceMonacoEditor-CXPY7bBI.js} +3 -3
- package/dist/web/assets/{arrow-up-right-BRZWXpqJ.js → arrow-up-right-C7VWgGQP.js} +1 -1
- package/dist/web/assets/{chat-file-links-CgFHK89C.js → chat-file-links-CqfMdhHQ.js} +1 -1
- package/dist/web/assets/chevron-up-DD9Tei-Q.js +1 -0
- package/dist/web/assets/{clipboard-dPd_3lpG.js → clipboard-B-8k7mlT.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOwvN4hp.js → cloud-upload-CUVFzURz.js} +1 -1
- package/dist/web/assets/{cssMode-BM4j9M0D.js → cssMode-DYvfmqoL.js} +1 -1
- package/dist/web/assets/{folder-open-DavjPCw4.js → folder-open-CnbcQIy8.js} +1 -1
- package/dist/web/assets/{folder-plus-Dyqast6G.js → folder-plus-BOaLAKy4.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-s3X0cQlz.js → git-commit-horizontal-DQeHsooT.js} +1 -1
- package/dist/web/assets/{htmlMode-Nlx7ckXa.js → htmlMode-BXEI-BVY.js} +1 -1
- package/dist/web/assets/index-CGMb_VXm.css +1 -0
- package/dist/web/assets/{index-5-B6FIuE.js → index-D-VK8mST.js} +1 -1
- package/dist/web/assets/index-D-WCyNdJ.js +1 -0
- package/dist/web/assets/{info-CVvrNOHr.js → info-DtzDuGLn.js} +1 -1
- package/dist/web/assets/{jsonMode-B7monA6g.js → jsonMode-Dosjh_hK.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-CcJ9GDtK.js → lspLanguageFeatures-BNe-6FJA.js} +1 -1
- package/dist/web/assets/{minimize-2-O1DnznGK.js → minimize-2-DnxKN5oK.js} +1 -1
- package/dist/web/assets/{monaco.contribution-QOOCizYq.js → monaco.contribution-CfF-ajhi.js} +2 -2
- package/dist/web/assets/{monaco.contribution-2PozfA9g.js → monaco.contribution-CnkROzNv.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BSJ2jQTi.js → monaco.contribution-Dyns81H2.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BMAF2bmO.js → monaco.contribution-ytyanGyj.js} +2 -2
- package/dist/web/assets/{play-BpCc5ZbR.js → play-B3o6IAQd.js} +1 -1
- package/dist/web/assets/{python-BK41iew-.js → python-B7zZ_9Z_.js} +1 -1
- package/dist/web/assets/{refresh-cw-Csoy1ev1.js → refresh-cw-DSJZXa8S.js} +1 -1
- package/dist/web/assets/{save-Dbztj0W7.js → save-iC-AXHN6.js} +1 -1
- package/dist/web/assets/square-B2roZTxf.js +1 -0
- package/dist/web/assets/{toggleHighContrast-DrmwDpyz.js → toggleHighContrast-CjlV4YHK.js} +1 -1
- package/dist/web/assets/{training-daZlCtKV.css → training-eg6uFi3M.css} +1 -1
- package/dist/web/assets/{tsMode-CFgCMr7d.js → tsMode-XmKmSq0B.js} +1 -1
- package/dist/web/assets/{upload-C5nhiSMq.js → upload-BgHXNjfJ.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-LAsobERb.js → useLocalAgentSchedules-CVJz0AMr.js} +1 -1
- package/dist/web/assets/{wifi-off-BHxh2UbA.js → wifi-off-CneL8bDZ.js} +1 -1
- package/dist/web/assets/{workers-FKb-NyBI.js → workers-CT7VYBR5.js} +1 -1
- package/dist/web/assets/{yaml-C5DbF9S6.js → yaml-CF8jchCz.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +58 -2
- package/package.json +3 -1
- package/dist/web/assets/App-BF9L0JUv.js +0 -171
- package/dist/web/assets/LabModelVersionDetailPage-BzF-IVXQ.js +0 -1
- package/dist/web/assets/LabsRoute-CS_orT9s.css +0 -1
- package/dist/web/assets/LabsRoute-Di1Zs4gZ.js +0 -2
- package/dist/web/assets/MainChatThread-8VzlD8Hi.js +0 -2
- package/dist/web/assets/MainPane-StAOFINE.js +0 -6
- package/dist/web/assets/MarkdownText-B8D_ftSJ.js +0 -9
- package/dist/web/assets/Messages-TY62tiDp.js +0 -10
- package/dist/web/assets/RightChatPanelStack-DzUbDKwp.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-BuXw_W8b.js +0 -1
- package/dist/web/assets/SettingsView-DB_zPHYY.js +0 -6
- package/dist/web/assets/WorkSidebarPanel-CeWGboTh.js +0 -1
- package/dist/web/assets/WorkspaceEnvironmentMenu-BTz9FISP.js +0 -32
- package/dist/web/assets/WorkspaceGitDialogs-BnBRUYpS.js +0 -1
- package/dist/web/assets/activity-DA5DNQwD.js +0 -1
- package/dist/web/assets/chevron-up-DSv2auz_.js +0 -1
- package/dist/web/assets/git-branch-zKnZdQiX.js +0 -1
- package/dist/web/assets/index-CQ3CPVHZ.css +0 -1
- package/dist/web/assets/index-CuoGlf-W.js +0 -1
- package/dist/web/assets/square-ju7fWa0W.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{j as t,r as o}from"./index-
|
|
1
|
+
import{j as t,r as o}from"./index-D-VK8mST.js";/* empty css */import{cj as X,X as R,ck as le,cl as Y,ai as re,am as E,o as ce,ap as de,ar as me,cm as ue,cn as ge,co as he,ay as fe,cp as xe,cq as ve}from"./App-DfiCmBv6.js";import{R as L,g as U}from"./MainPane-k1iII9e9.js";import{M as N}from"./MarkdownText-N60tvLug.js";import{T as ye,B as T}from"./chat-file-links-CqfMdhHQ.js";import{R as G}from"./refresh-cw-DSJZXa8S.js";import{r as Ce}from"./index-D-WCyNdJ.js";import"./cloud-upload-CUVFzURz.js";import"./arrow-up-right-C7VWgGQP.js";import"./square-B2roZTxf.js";import"./desktop-files-BQj1J-ob.js";function be(e,l){const s=new Set(Array.from(e.matchAll(/(?:^|\s)@([a-zA-Z0-9_-]+)/g),n=>(n[1]??"").toLowerCase()));return l.filter(n=>{const c=n.handle?.toLowerCase(),r=n.name.toLowerCase().replace(/[^a-z0-9_-]+/g,"-");return c&&s.has(c)||s.has(r)}).map(n=>n.userId)}function je(e){return t.jsxs("div",{className:"team-chat-composer-reply",role:"status",children:[t.jsx(L,{size:15,"aria-hidden":"true"}),t.jsxs("button",{type:"button",className:"team-chat-composer-reply-target","aria-label":`Jump to message from ${e.authorLabel}`,onClick:e.onJump,children:[t.jsxs("strong",{children:["Replying to ",e.authorLabel]}),t.jsx("span",{children:X(e.target)})]}),t.jsx("button",{type:"button",className:"team-chat-icon-button","aria-label":"Cancel reply","data-tooltip":"Cancel reply",onClick:e.onCancel,children:t.jsx(R,{size:14})})]})}function we(e){return t.jsxs("button",{type:"button",className:"team-chat-message-reply-quote","aria-label":`Jump to replied message from ${e.authorLabel}`,onClick:e.onJump,children:[t.jsx("strong",{children:e.authorLabel}),t.jsx("span",{children:X(e.target)})]})}function Te(e){const l=o.useRef(null);if(o.useEffect(()=>{if(!e.menu)return;l.current?.focus();const n=()=>e.onClose(),c=r=>{r.key==="Escape"&&n()};return window.addEventListener("click",n),window.addEventListener("blur",n),window.addEventListener("keydown",c),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("click",n),window.removeEventListener("blur",n),window.removeEventListener("keydown",c),window.removeEventListener("scroll",n,!0)}},[e.menu,e.onClose]),!e.menu||typeof document>"u")return null;const s=t.jsx("div",{className:"team-chat-message-context-menu",role:"menu","aria-label":"Message actions",style:{left:e.menu.x,top:e.menu.y},onClick:n=>n.stopPropagation(),children:t.jsxs("button",{ref:l,type:"button",role:"menuitem",onClick:()=>{e.onReply(e.menu.message),e.onClose()},children:[t.jsx(L,{size:14}),"Reply"]})});return Ce.createPortal(s,document.body)}function Me(e){const c=e.clientX||e.fallbackX,r=e.clientY||e.fallbackY;return{x:Math.max(8,Math.min(c,e.viewportWidth-150-8)),y:Math.max(8,Math.min(r,e.viewportHeight-42-8))}}function V(e){return`team-chat-message-${encodeURIComponent(e)}`}function Re(e){const[l,s]=o.useState(!1),[n,c]=o.useState(e.message.body),r=e.message.refs.find(a=>a.refType==="hosted_ai_thread"),m=e.message.refs.find(a=>a.refType==="agent_run"),y=typeof r?.preview.status=="string"?r.preview.status:null,h=typeof e.message.metadata.deliveryStatus=="string"?e.message.metadata.deliveryStatus:null,b=typeof e.message.metadata.uploadProgress=="string"?e.message.metadata.uploadProgress:null,d=!e.message.deletedAt&&!h,g=le(e.message,e.messagesById),C=g?Y(g,e.membersById):null;return t.jsxs("article",{id:V(e.message.id),className:`team-chat-message${e.own?" own":""}`,tabIndex:-1,onContextMenu:a=>{if(!d)return;a.preventDefault();const x=a.currentTarget.getBoundingClientRect();e.onOpenReplyMenu(e.message,{clientX:a.clientX,clientY:a.clientY,fallbackX:x.right-12,fallbackY:x.top+24})},children:[t.jsx(Ie,{member:e.author}),t.jsxs("div",{className:"team-chat-message-content",children:[t.jsxs("header",{children:[t.jsx("strong",{children:e.author?.name??"Team member"}),t.jsx("time",{children:Se(e.message.createdAt)}),e.message.editedAt?t.jsx("span",{children:"edited"}):null,h==="sending"?t.jsx("span",{children:"sending"}):null,h==="sending"&&b?t.jsxs("span",{children:["uploaded ",b]}):null,h==="failed"?t.jsx("span",{className:"failed",children:"not sent"}):null,h==="failed"?t.jsxs("div",{className:"team-chat-message-actions visible",children:[t.jsx("button",{type:"button","data-tooltip":"Retry message","aria-label":"Retry message",onClick:()=>{e.onRetry(e.message)},children:t.jsx(G,{size:13})}),t.jsx("button",{type:"button","data-tooltip":"Remove failed message","aria-label":"Remove failed message",onClick:()=>e.onDismissFailed(e.message),children:t.jsx(R,{size:13})})]}):d||e.own&&!e.message.deletedAt?t.jsxs("div",{className:"team-chat-message-actions",children:[d?t.jsx("button",{type:"button","data-tooltip":"Reply","aria-label":"Reply to message",onClick:()=>e.onReply(e.message),children:t.jsx(L,{size:13})}):null,e.own&&!r?t.jsx("button",{type:"button","data-tooltip":"Edit message","aria-label":"Edit message",onClick:()=>s(!0),children:t.jsx(re,{size:13})}):null,e.own?t.jsx("button",{type:"button","data-tooltip":"Delete message","aria-label":"Delete message",onClick:()=>{e.onDelete(e.message)},children:t.jsx(ye,{size:13})}):null]}):null]}),g&&C?t.jsx(we,{authorLabel:C,target:g,onJump:()=>e.onJumpToMessage(g.id)}):null,l?t.jsxs("form",{className:"team-chat-message-edit",onSubmit:a=>{a.preventDefault(),e.onEdit(e.message,n).then(x=>{x&&s(!1)})},children:[t.jsx("textarea",{autoFocus:!0,value:n,onChange:a=>c(a.currentTarget.value),onKeyDown:a=>{a.key==="Escape"&&(a.preventDefault(),s(!1),c(e.message.body))}}),t.jsxs("div",{children:[t.jsx("button",{type:"button",onClick:()=>s(!1),children:"Cancel"}),t.jsx("button",{type:"submit",disabled:!n.trim(),children:"Save"})]})]}):t.jsx("div",{className:e.message.deletedAt?"deleted":"",children:e.message.deletedAt?"Message deleted":e.message.body}),!e.message.deletedAt&&e.message.attachments.length>0?t.jsx(Ae,{message:e.message,connection:e.connection}):null,r?t.jsxs("button",{type:"button",className:"team-chat-thread-link",onClick:()=>{e.onOpenAiThread(r.refId)},children:[t.jsx(E,{size:14}),t.jsx("span",{children:"Thread"}),y&&y!=="completed"?t.jsx("small",{children:K(y)}):null,t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null,m?t.jsxs("button",{type:"button",className:"team-chat-thread-link",onClick:()=>{e.onOpenAgentConversation(m.refId)},children:[t.jsx(T,{size:14}),t.jsx("span",{children:"Agent run"}),t.jsx("small",{children:K(String(m.preview.status??"queued"))}),t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null]})]})}function Ae(e){const l=new Map(Array.isArray(e.message.metadata.localAttachmentPreviews)?e.message.metadata.localAttachmentPreviews.flatMap(s=>{if(!s||typeof s!="object")return[];const n=s;return typeof n.id=="string"&&typeof n.url=="string"?[[n.id,n.url]]:[]}):[]);return t.jsx("div",{className:"team-chat-message-images",children:e.message.attachments.map(s=>t.jsx(Pe,{attachmentId:s.id,alt:s.name,teamId:e.message.teamId,connection:e.connection,localUrl:l.get(s.clientAttachmentId)??null},s.id))})}function Pe(e){const[l,s]=o.useState(e.localUrl),[n,c]=o.useState(!1),r=o.useRef(0);async function m(){if(!e.connection||e.localUrl){e.localUrl||c(!0);return}c(!1);try{const y=await ce.teamChatAttachmentDownload(e.connection,e.teamId,e.attachmentId);s(y.url)}catch{s(null),c(!0)}}return o.useEffect(()=>{s(e.localUrl),c(!1),r.current=0,e.localUrl||m()},[e.attachmentId,e.connection,e.localUrl,e.teamId]),l?t.jsx("a",{href:l,target:"_blank",rel:"noreferrer","aria-label":`Open ${e.alt}`,children:t.jsx("img",{src:l,alt:e.alt,loading:"lazy",onError:()=>{if(!e.localUrl&&r.current<1){r.current+=1,m();return}s(null),c(!0)}})}):n?t.jsx("button",{type:"button",className:"team-chat-message-image-retry","aria-label":`Retry ${e.alt}`,"data-tooltip":"Retry image",onClick:()=>{r.current=0,e.localUrl?(c(!1),s(e.localUrl)):m()},children:t.jsx(G,{size:18})}):t.jsx("div",{className:"team-chat-message-image-loading",role:"status","aria-label":`Loading ${e.alt}`})}function K(e){return e==="pending"?"Starting":e==="running"?"Responding":e==="failed"?"Failed":e==="interrupted"?"Interrupted":e==="cancelled"?"Cancelled":e}function Ie({member:e}){if(e?.image)return t.jsx("img",{className:"team-chat-avatar",src:e.image,alt:""});const l=(e?.name??"T").split(/\s+/).slice(0,2).map(s=>s[0]?.toUpperCase()??"").join("");return t.jsx("span",{className:"team-chat-avatar fallback",children:l})}function Se(e){const l=new Date(e);return Number.isFinite(l.getTime())?l.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):""}const z={value:"none",label:"No project",detail:"Team conversation",options:[],busy:!1},D={value:"local",label:"Local",detail:"Local execution",options:[],action:{value:"local",label:"Local",detail:"Local execution",disabled:!1},busy:!1},Q=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"]);function ke(e,l){return!l||e===l?e:e?`${l}
|
|
2
2
|
|
|
3
|
-
${e}`:l}function We(){return t.jsx("section",{className:"team-chat-view team-chat-pro-view","aria-label":"Team Chat",children:t.jsxs("div",{className:"team-chat-pro-content",children:[t.jsx("span",{className:"team-chat-pro-icon","aria-hidden":"true",children:t.jsx(E,{size:22})}),t.jsx("h1",{children:"Team Chat"}),t.jsx("p",{children:"Team Chat is available with Pro mode."}),t.jsx("small",{children:"Create or join a Pro team to chat with teammates, coordinate work, and share agents."})]})})}function Je(e){de(e.error);const[l,s]=o.useState(""),[n,c]=o.useState(!1),[r,m]=o.useState(null),[C,h]=o.useState(null),[b,d]=o.useState(0),g=o.useRef(null),y=o.useRef(!0),a=o.useRef(e.detail?.thread.id??null);a.current=e.detail?.thread.id??null;const{confirmAction:x,confirmDialog:O,resolveConfirmDialog:A}=me(),P=o.useMemo(()=>new Map(e.members.map(i=>[i.userId,i])),[e.members]),B=o.useMemo(()=>new Map((e.detail?.messages??[]).map(i=>[i.id,i])),[e.detail?.messages]),Z=e.detail?.thread.id??null,q=r?.threadId===Z?B.get(r.message.id)??r.message:null,M=q?.deletedAt?null:q,j=M?ue(M):null,$=j?Y(j,P):null,p=e.detail?ge(e.detail.thread,e.currentUserId):"Team",I=Q.has(e.provider)?e.provider:"codex",_=I===e.provider?e.model:"gpt-5.6-sol",ee=o.useMemo(()=>he({hostedActions:e.agents,profile:e.profile,teamId:e.teamId}),[e.agents,e.profile,e.teamId]),te=e.detail?.messages.at(-1)?.sequence??0;o.useEffect(()=>{if(!y.current)return;const i=g.current;i&&(i.scrollTop=i.scrollHeight)},[te,e.detail?.thread.id]);const F=o.useCallback(i=>{i.deletedAt||i.id.startsWith("pending:")||typeof i.metadata.deliveryStatus=="string"||(m({threadId:i.threadId,message:i}),c(!1),h(null),d(f=>f+1))},[]),ne=o.useCallback(()=>h(null),[]),ae=o.useCallback((i,f)=>{const v=Me({...f,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h({message:i,...v})},[]),W=o.useCallback(i=>{const f=document.getElementById(V(i));f&&(f.scrollIntoView({behavior:"smooth",block:"center"}),f.focus({preventScroll:!0}))},[]);async function se(i=[],f=null){if(i.some(u=>u.kind!=="image"||!["image/png","image/jpeg","image/webp","image/gif"].includes(u.mediaType)))return e.showToast("Team chat supports PNG, JPEG, WebP, and GIF images.","error"),!1;let v=f;if(M&&v)return e.showToast("Remove the agent action before replying to a message.","error"),!1;if(xe(v)){const u=ve(v);if(!u)throw new Error("The selected profile agent is missing its profile id.");if(!await x({title:`Publish ${v.label??v.name??"agent"} to Team?`,body:`This will upload the committed agent source to ${e.teamName??"this Team"}, create its hosted runtime, and then send your message.`,confirmLabel:"Publish and send",tone:"default"}))return!1;v=await e.onPublishProfileAgent(u)}const S=v?.approvalPolicy?.risk;let J=null;if(v?.approvalPolicy?.required&&S&&S!=="read"){const u=S==="destructive";if(!await x({title:u?"Approve destructive action?":"Approve external write?",body:`${v.label??v.name??"This agent action"} will use the workspace connection to ${u?"perform a destructive operation":"write external data"}. Approve this run only?`,confirmLabel:u?"Approve destructive action":"Approve write",tone:u?"danger":"default"}))return!1;J=crypto.randomUUID()}const k=l,oe=e.detail?.thread.id??null,w=M,H=()=>{a.current===oe&&(s(u=>ke(u,k)),w&&m(u=>u??{threadId:w.threadId,message:w}))};s(""),w&&m(null);try{const u=await e.onSendMessage({body:k,useModel:n,providerId:I,modelId:_,mentionUserIds:be(k,e.members),attachments:i,replyToMessage:w,selectedActionKey:v?.id??null,approvalId:J});return u?n&&c(!1):H(),u}catch(u){throw H(),u}}return t.jsxs("section",{className:"team-chat-view",children:[t.jsxs("div",{className:"team-chat-main conversation-surface-main",children:[t.jsxs("div",{className:"team-chat-messages conversation-message-scroll",role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":e.loading,"aria-label":p,tabIndex:0,ref:g,onScroll:i=>{const f=i.currentTarget;y.current=f.scrollHeight-f.scrollTop-f.clientHeight<72},children:[e.detail?.hasMoreBefore?t.jsx("button",{type:"button",className:"team-chat-load-older",disabled:e.loading,onClick:()=>{e.onLoadMoreMessages()},children:e.loading?"Loading...":"Load older messages"}):null,e.loading&&!e.detail?t.jsx("div",{className:"team-chat-empty",children:"Loading messages..."}):e.detail?.messages.length?e.detail.messages.map(i=>t.jsx(Re,{message:i,author:i.authorUserId?P.get(i.authorUserId)??null:null,own:i.authorUserId===e.currentUserId,onOpenAiThread:e.onOpenAiThread,onOpenAgentConversation:e.onOpenAgentConversation,onEdit:e.onEditMessage,onDelete:e.onDeleteMessage,onRetry:e.onRetryMessage,onDismissFailed:e.onDismissFailedMessage,membersById:P,messagesById:B,onReply:F,onOpenReplyMenu:ae,onJumpToMessage:W,connection:e.connection},i.id)):t.jsx("div",{className:"team-chat-empty",children:"No messages yet"})]}),t.jsxs("div",{className:"team-chat-composer-shell conversation-composer-shell",children:[j&&$?t.jsx(je,{authorLabel:$,target:j,onCancel:()=>m(null),onJump:()=>W(j.id)}):null,t.jsx(U,{mode:"dock",surface:"team",teamUseModel:n,teamUseModelLocked:!!j,teamMentionMembers:e.members.filter(i=>i.userId!==e.currentUserId),actionCatalog:ee,onTeamUseModelChange:c,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy,running:!1,focusRequestId:b,submissionScopeKey:`team:${e.detail?.thread.id??"none"}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:I,model:_,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(i,f)=>se(i??[],f??null),onStop:()=>!1})]})]}),t.jsx(Te,{menu:C,onClose:ne,onReply:F}),t.jsx(fe,{state:O,onResolve:A})]})}function He(e){const[l,s]=o.useState(""),n=e.agentConversation,c=o.useRef(null),r=o.useRef(null),m=o.useRef(null),C=n.messages.at(-1)?.sequence??0,h=["pending","queued","running"].includes(n.run.status);o.useEffect(()=>{const d=c.current;d&&(d.scrollTop=d.scrollHeight)},[C,n.run.status]),o.useEffect(()=>{r.current?.focus();const d=g=>{g.key==="Escape"&&(g.preventDefault(),e.onCloseAgentConversation())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[e.onCloseAgentConversation]);async function b(d){const g=m.current??crypto.randomUUID();m.current=g;const y=await e.onSendAgentTurn({body:d??l,clientRequestId:g});return y&&(m.current=null,s("")),y}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":`${n.agent.name} run`,children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize agent run panel",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(T,{size:15}),t.jsx("strong",{children:n.agent.name}),t.jsx("span",{children:n.run.status})]}),t.jsx("button",{ref:r,type:"button",className:"team-chat-icon-button","aria-label":"Close agent run",onClick:e.onCloseAgentConversation,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:c,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(d=>t.jsxs("article",{className:`team-ai-message ${d.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[d.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:d.role==="user"?"Team member":n.agent.name})]}),t.jsx(N,{connection:e.connection,content:d.body})]},d.id)),n.messages.length===0?t.jsx("div",{className:"team-chat-empty",children:"The agent run is starting."}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(U,{mode:"dock",surface:"team",teamUseModel:!1,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy||h,running:h,interruptRunningTurnBeforeSteer:!1,submissionScopeKey:`team-agent:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:e.provider,model:e.model,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:d=>{m.current=null,s(d)},showToast:e.showToast,onSubmit:async(d,g,y,a)=>b(a?.promptOverride),onStop:()=>!1})})]})}function Ke(e){const[l,s]=o.useState(""),n=e.aiThread,c=new Map(e.members.map(a=>[a.userId,a])),r=n.turns.at(-1)??null,m=o.useRef(null),C=n.messages.at(-1)?.sequence??0,h=o.useRef(null),b=Q.has(e.provider)?e.provider:"codex",d=b===e.provider?e.model:"gpt-5.6-sol",g=!!(n.activeTurn&&(n.activeTurn.status==="pending"||n.activeTurn.status==="running"));o.useEffect(()=>{const a=m.current;a&&(a.scrollTop=a.scrollHeight)},[C,n.activeTurn?.partialBody]),o.useEffect(()=>{h.current?.focus();const a=x=>{x.key==="Escape"&&(x.preventDefault(),e.onCloseAiThread())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.onCloseAiThread]);async function y(a){const x=await e.onSendAiTurn({body:a??l,providerId:b,modelId:d});return x&&s(""),x}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":"AI thread",children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-label":"Resize AI thread panel","aria-orientation":"vertical",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(E,{size:15}),t.jsx("strong",{children:"AI thread"}),t.jsxs("span",{children:[n.messages.length," messages"]})]}),t.jsx("button",{ref:h,type:"button",className:"team-chat-icon-button","data-tooltip":"Close thread","aria-label":"Close thread",onClick:e.onCloseAiThread,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:m,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(a=>t.jsxs("article",{className:`team-ai-message ${a.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[a.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:a.role==="assistant"?"Model":a.createdByUserId?c.get(a.createdByUserId)?.name??"Team member":"Team member"})]}),t.jsx(N,{connection:e.connection,content:a.body})]},a.id)),n.activeTurn?.partialBody?t.jsxs("article",{className:"team-ai-message assistant streaming",children:[t.jsxs("div",{className:"team-ai-message-author",children:[t.jsx(T,{size:14}),t.jsx("strong",{children:"Model"}),t.jsx("span",{children:n.activeTurn.status})]}),t.jsx(N,{connection:e.connection,content:n.activeTurn.partialBody})]}):n.activeTurn?t.jsx("div",{className:"team-ai-running",children:n.activeTurn.status==="pending"?"Starting model...":"Model is responding..."}):r&&["failed","interrupted","cancelled"].includes(r.status)?t.jsx("div",{className:`team-ai-turn-state ${r.status}`,children:r.status==="failed"?"Model response failed":r.status==="interrupted"?"Model response was interrupted":"Model response was cancelled"}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(U,{mode:"dock",surface:"team",teamUseModel:!0,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:g,running:g,submissionScopeKey:`team-ai:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:b,model:d,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(a,x,O,A)=>y(A?.promptOverride),onStop:e.onStopAiTurn})})]})}export{He as TeamAgentConversationPanel,Ke as TeamAiThreadPanel,We as TeamChatProView,Je as TeamChatView,ke as restoreFailedTeamChatPrompt};
|
|
3
|
+
${e}`:l}function We(){return t.jsx("section",{className:"team-chat-view team-chat-pro-view","aria-label":"Team Chat",children:t.jsxs("div",{className:"team-chat-pro-content",children:[t.jsx("span",{className:"team-chat-pro-icon","aria-hidden":"true",children:t.jsx(E,{size:22})}),t.jsx("h1",{children:"Team Chat"}),t.jsx("p",{children:"Team Chat is available with Pro mode."}),t.jsx("small",{children:"Create or join a Pro team to chat with teammates, coordinate work, and share agents."})]})})}function Je(e){de(e.error);const[l,s]=o.useState(""),[n,c]=o.useState(!1),[r,m]=o.useState(null),[y,h]=o.useState(null),[b,d]=o.useState(0),g=o.useRef(null),C=o.useRef(!0),a=o.useRef(e.detail?.thread.id??null);a.current=e.detail?.thread.id??null;const{confirmAction:x,confirmDialog:O,resolveConfirmDialog:A}=me(),P=o.useMemo(()=>new Map(e.members.map(i=>[i.userId,i])),[e.members]),q=o.useMemo(()=>new Map((e.detail?.messages??[]).map(i=>[i.id,i])),[e.detail?.messages]),Z=e.detail?.thread.id??null,B=r?.threadId===Z?q.get(r.message.id)??r.message:null,M=B?.deletedAt?null:B,j=M?ue(M):null,$=j?Y(j,P):null,p=e.detail?ge(e.detail.thread,e.currentUserId):"Team",I=Q.has(e.provider)?e.provider:"codex",_=I===e.provider?e.model:"gpt-5.6-sol",ee=o.useMemo(()=>he({hostedActions:e.agents,profile:e.profile,teamId:e.teamId}),[e.agents,e.profile,e.teamId]),te=e.detail?.messages.at(-1)?.sequence??0;o.useEffect(()=>{if(!C.current)return;const i=g.current;i&&(i.scrollTop=i.scrollHeight)},[te,e.detail?.thread.id]);const F=o.useCallback(i=>{i.deletedAt||i.id.startsWith("pending:")||typeof i.metadata.deliveryStatus=="string"||(m({threadId:i.threadId,message:i}),c(!1),h(null),d(f=>f+1))},[]),ne=o.useCallback(()=>h(null),[]),ae=o.useCallback((i,f)=>{const v=Me({...f,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h({message:i,...v})},[]),W=o.useCallback(i=>{const f=document.getElementById(V(i));f&&(f.scrollIntoView({behavior:"smooth",block:"center"}),f.focus({preventScroll:!0}))},[]);async function se(i=[],f=null){if(i.some(u=>u.kind!=="image"||!["image/png","image/jpeg","image/webp","image/gif"].includes(u.mediaType)))return e.showToast("Team chat supports PNG, JPEG, WebP, and GIF images.","error"),!1;let v=f;if(M&&v)return e.showToast("Remove the agent action before replying to a message.","error"),!1;if(xe(v)){const u=ve(v);if(!u)throw new Error("The selected profile agent is missing its profile id.");if(!await x({title:`Publish ${v.label??v.name??"agent"} to Team?`,body:`This will upload the committed agent source to ${e.teamName??"this Team"}, create its hosted runtime, and then send your message.`,confirmLabel:"Publish and send",tone:"default"}))return!1;v=await e.onPublishProfileAgent(u)}const S=v?.approvalPolicy?.risk;let J=null;if(v?.approvalPolicy?.required&&S&&S!=="read"){const u=S==="destructive";if(!await x({title:u?"Approve destructive action?":"Approve external write?",body:`${v.label??v.name??"This agent action"} will use the workspace connection to ${u?"perform a destructive operation":"write external data"}. Approve this run only?`,confirmLabel:u?"Approve destructive action":"Approve write",tone:u?"danger":"default"}))return!1;J=crypto.randomUUID()}const k=l,oe=e.detail?.thread.id??null,w=M,H=()=>{a.current===oe&&(s(u=>ke(u,k)),w&&m(u=>u??{threadId:w.threadId,message:w}))};s(""),w&&m(null);try{const u=await e.onSendMessage({body:k,useModel:n,providerId:I,modelId:_,mentionUserIds:be(k,e.members),attachments:i,replyToMessage:w,selectedActionKey:v?.id??null,approvalId:J});return u?n&&c(!1):H(),u}catch(u){throw H(),u}}return t.jsxs("section",{className:"team-chat-view",children:[t.jsxs("div",{className:"team-chat-main conversation-surface-main",children:[t.jsxs("div",{className:"team-chat-messages conversation-message-scroll",role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":e.loading,"aria-label":p,tabIndex:0,ref:g,onScroll:i=>{const f=i.currentTarget;C.current=f.scrollHeight-f.scrollTop-f.clientHeight<72},children:[e.detail?.hasMoreBefore?t.jsx("button",{type:"button",className:"team-chat-load-older",disabled:e.loading,onClick:()=>{e.onLoadMoreMessages()},children:e.loading?"Loading...":"Load older messages"}):null,e.loading&&!e.detail?t.jsx("div",{className:"team-chat-empty",children:"Loading messages..."}):e.detail?.messages.length?e.detail.messages.map(i=>t.jsx(Re,{message:i,author:i.authorUserId?P.get(i.authorUserId)??null:null,own:i.authorUserId===e.currentUserId,onOpenAiThread:e.onOpenAiThread,onOpenAgentConversation:e.onOpenAgentConversation,onEdit:e.onEditMessage,onDelete:e.onDeleteMessage,onRetry:e.onRetryMessage,onDismissFailed:e.onDismissFailedMessage,membersById:P,messagesById:q,onReply:F,onOpenReplyMenu:ae,onJumpToMessage:W,connection:e.connection},i.id)):t.jsx("div",{className:"team-chat-empty",children:"No messages yet"})]}),t.jsxs("div",{className:"team-chat-composer-shell conversation-composer-shell",children:[j&&$?t.jsx(je,{authorLabel:$,target:j,onCancel:()=>m(null),onJump:()=>W(j.id)}):null,t.jsx(U,{mode:"dock",surface:"team",teamUseModel:n,teamUseModelLocked:!!j,teamMentionMembers:e.members.filter(i=>i.userId!==e.currentUserId),actionCatalog:ee,onTeamUseModelChange:c,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy,running:!1,focusRequestId:b,submissionScopeKey:`team:${e.detail?.thread.id??"none"}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:I,model:_,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(i,f)=>se(i??[],f??null),onStop:()=>!1})]})]}),t.jsx(Te,{menu:y,onClose:ne,onReply:F}),t.jsx(fe,{state:O,onResolve:A})]})}function He(e){const[l,s]=o.useState(""),n=e.agentConversation,c=o.useRef(null),r=o.useRef(null),m=o.useRef(null),y=n.messages.at(-1)?.sequence??0,h=["pending","queued","running"].includes(n.run.status);o.useEffect(()=>{const d=c.current;d&&(d.scrollTop=d.scrollHeight)},[y,n.run.status]),o.useEffect(()=>{r.current?.focus();const d=g=>{g.key==="Escape"&&(g.preventDefault(),e.onCloseAgentConversation())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[e.onCloseAgentConversation]);async function b(d){const g=m.current??crypto.randomUUID();m.current=g;const C=await e.onSendAgentTurn({body:d??l,clientRequestId:g});return C&&(m.current=null,s("")),C}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":`${n.agent.name} run`,children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize agent run panel",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(T,{size:15}),t.jsx("strong",{children:n.agent.name}),t.jsx("span",{children:n.run.status})]}),t.jsx("button",{ref:r,type:"button",className:"team-chat-icon-button","aria-label":"Close agent run",onClick:e.onCloseAgentConversation,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:c,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(d=>t.jsxs("article",{className:`team-ai-message ${d.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[d.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:d.role==="user"?"Team member":n.agent.name})]}),t.jsx(N,{connection:e.connection,content:d.body})]},d.id)),n.messages.length===0?t.jsx("div",{className:"team-chat-empty",children:"The agent run is starting."}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(U,{mode:"dock",surface:"team",teamUseModel:!1,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy||h,running:h,interruptRunningTurnBeforeSteer:!1,submissionScopeKey:`team-agent:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:e.provider,model:e.model,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:d=>{m.current=null,s(d)},showToast:e.showToast,onSubmit:async(d,g,C,a)=>b(a?.promptOverride),onStop:()=>!1})})]})}function Ke(e){const[l,s]=o.useState(""),n=e.aiThread,c=new Map(e.members.map(a=>[a.userId,a])),r=n.turns.at(-1)??null,m=o.useRef(null),y=n.messages.at(-1)?.sequence??0,h=o.useRef(null),b=Q.has(e.provider)?e.provider:"codex",d=b===e.provider?e.model:"gpt-5.6-sol",g=!!(n.activeTurn&&(n.activeTurn.status==="pending"||n.activeTurn.status==="running"));o.useEffect(()=>{const a=m.current;a&&(a.scrollTop=a.scrollHeight)},[y,n.activeTurn?.partialBody]),o.useEffect(()=>{h.current?.focus();const a=x=>{x.key==="Escape"&&(x.preventDefault(),e.onCloseAiThread())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.onCloseAiThread]);async function C(a){const x=await e.onSendAiTurn({body:a??l,providerId:b,modelId:d});return x&&s(""),x}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":"AI thread",children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-label":"Resize AI thread panel","aria-orientation":"vertical",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(E,{size:15}),t.jsx("strong",{children:"AI thread"}),t.jsxs("span",{children:[n.messages.length," messages"]})]}),t.jsx("button",{ref:h,type:"button",className:"team-chat-icon-button","data-tooltip":"Close thread","aria-label":"Close thread",onClick:e.onCloseAiThread,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:m,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(a=>t.jsxs("article",{className:`team-ai-message ${a.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[a.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:a.role==="assistant"?"Model":a.createdByUserId?c.get(a.createdByUserId)?.name??"Team member":"Team member"})]}),t.jsx(N,{connection:e.connection,content:a.body})]},a.id)),n.activeTurn?.partialBody?t.jsxs("article",{className:"team-ai-message assistant streaming",children:[t.jsxs("div",{className:"team-ai-message-author",children:[t.jsx(T,{size:14}),t.jsx("strong",{children:"Model"}),t.jsx("span",{children:n.activeTurn.status})]}),t.jsx(N,{connection:e.connection,content:n.activeTurn.partialBody})]}):n.activeTurn?t.jsx("div",{className:"team-ai-running",children:n.activeTurn.status==="pending"?"Starting model...":"Model is responding..."}):r&&["failed","interrupted","cancelled"].includes(r.status)?t.jsx("div",{className:`team-ai-turn-state ${r.status}`,children:r.status==="failed"?"Model response failed":r.status==="interrupted"?"Model response was interrupted":"Model response was cancelled"}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(U,{mode:"dock",surface:"team",teamUseModel:!0,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:g,running:g,submissionScopeKey:`team-ai:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:b,model:d,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(a,x,O,A)=>C(A?.promptOverride),onStop:e.onStopAiTurn})})]})}export{He as TeamAgentConversationPanel,Ke as TeamAiThreadPanel,We as TeamChatProView,Je as TeamChatView,ke as restoreFailedTeamChatPrompt};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as I,j as G}from"./index-5-B6FIuE.js";import{am as Jr,ci as hs,cj as Zr,ck as cs,cl as Qr,cm as en,cn as tn,X as sn,C as rn}from"./App-BF9L0JUv.js";import{P as ds}from"./chat-file-links-CgFHK89C.js";var nn=2,on=1,an=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,h=o.right+o.left,a=s-l,d=r-h-t;return{cols:Math.max(nn,Math.floor(d/e.css.cell.width)),rows:Math.max(on,Math.floor(a/e.css.cell.height))}}};var ar=Object.defineProperty,ln=Object.getOwnPropertyDescriptor,hn=(e,t)=>{for(var i in t)ar(e,i,{get:t[i],enumerable:!0})},Z=(e,t,i,s)=>{for(var r=s>1?void 0:s?ln(t,i):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(s?o(t,i,r):o(r))||r);return s&&r&&ar(t,i,r),r},k=(e,t)=>(i,s)=>t(i,s,e),us="Terminal input",pi={get:()=>us,set:e=>us=e},_s="Too much output to announce, navigate to rows manually to read",gi={get:()=>_s,set:e=>_s=e};function cn(e){return e.replace(/\r?\n/g,"\r")}function dn(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function un(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function _n(e,t,i,s){if(e.stopPropagation(),e.clipboardData){let r=e.clipboardData.getData("text/plain");lr(r,t,i,s)}}function lr(e,t,i,s){e=cn(e),e=dn(e,i.decPrivateModes.bracketedPasteMode&&s.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(e,!0),t.value=""}function hr(e,t,i){let s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function fs(e,t,i,s,r){hr(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}function Xe(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Zt(e,t=0,i=e.length){let s="";for(let r=t;r<i;++r){let n=e[r];n>65535?(n-=65536,s+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):s+=String.fromCharCode(n)}return s}var fn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){let n=e.charCodeAt(r++);56320<=n&&n<=57343?t[s++]=(this._interim-55296)*1024+n-56320+65536:(t[s++]=this._interim,t[s++]=n),this._interim=0}for(let n=r;n<i;++n){let o=e.charCodeAt(n);if(55296<=o&&o<=56319){if(++n>=i)return this._interim=o,s;let l=e.charCodeAt(n);56320<=l&&l<=57343?t[s++]=(o-55296)*1024+l-56320+65536:(t[s++]=o,t[s++]=l);continue}o!==65279&&(t[s++]=o)}return s}},pn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r,n,o,l,h=0,a=0;if(this.interim[0]){let u=!1,f=this.interim[0];f&=(f&224)===192?31:(f&240)===224?15:7;let _=0,v;for(;(v=this.interim[++_]&63)&&_<4;)f<<=6,f|=v;let y=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=y-_;for(;a<R;){if(a>=i)return 0;if(v=e[a++],(v&192)!==128){a--,u=!0;break}else this.interim[_++]=v,f<<=6,f|=v&63}u||(y===2?f<128?a--:t[s++]=f:y===3?f<2048||f>=55296&&f<=57343||f===65279||(t[s++]=f):f<65536||f>1114111||(t[s++]=f)),this.interim.fill(0)}let d=i-4,c=a;for(;c<i;){for(;c<d&&!((r=e[c])&128)&&!((n=e[c+1])&128)&&!((o=e[c+2])&128)&&!((l=e[c+3])&128);)t[s++]=r,t[s++]=n,t[s++]=o,t[s++]=l,c+=4;if(r=e[c++],r<128)t[s++]=r;else if((r&224)===192){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(h=(r&31)<<6|n&63,h<128){c--;continue}t[s++]=h}else if((r&240)===224){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(h=(r&15)<<12|(n&63)<<6|o&63,h<2048||h>=55296&&h<=57343||h===65279)continue;t[s++]=h}else if((r&248)===240){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,this.interim[2]=o,s;if(l=e[c++],(l&192)!==128){c--;continue}if(h=(r&7)<<18|(n&63)<<12|(o&63)<<6|l&63,h<65536||h>1114111)continue;t[s++]=h}}return s}},cr="",Ge=" ",Mt=class dr{constructor(){this.fg=0,this.bg=0,this.extended=new Vt}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new dr;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Vt=class ur{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new ur(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Le=class _r extends Mt{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Vt,this.combinedData=""}static fromCharData(t){let i=new _r;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xe(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=t[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ps="di$target",vi="di$dependencies",ii=new Map;function gn(e){return e[vi]||[]}function ce(e){if(ii.has(e))return ii.get(e);let t=function(i,s,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");vn(t,i,r)};return t._id=e,ii.set(e,t),t}function vn(e,t,i){t[ps]===t?t[vi].push({id:e,index:i}):(t[vi]=[{id:e,index:i}],t[ps]=t)}var me=ce("BufferService"),fr=ce("CoreMouseService"),ot=ce("CoreService"),mn=ce("CharsetService"),Zi=ce("InstantiationService"),pr=ce("LogService"),Se=ce("OptionsService"),gr=ce("OscLinkService"),Sn=ce("UnicodeService"),Lt=ce("DecorationService"),mi=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){let i=this._bufferService.buffer.lines.get(e-1);if(!i){t(void 0);return}let s=[],r=this._optionsService.rawOptions.linkHandler,n=new Le,o=i.getTrimmedLength(),l=-1,h=-1,a=!1;for(let d=0;d<o;d++)if(!(h===-1&&!i.hasContent(d))){if(i.loadCell(d,n),n.hasExtendedAttrs()&&n.extended.urlId)if(h===-1){h=d,l=n.extended.urlId;continue}else a=n.extended.urlId!==l;else h!==-1&&(a=!0);if(a||h!==-1&&d===o-1){let c=this._oscLinkService.getLinkData(l)?.uri;if(c){let u={start:{x:h+1,y:e},end:{x:d+(!a&&d===o-1?1:0),y:e}},f=!1;if(!r?.allowNonHttpProtocols)try{let _=new URL(c);["http:","https:"].includes(_.protocol)||(f=!0)}catch{f=!0}f||s.push({text:c,range:u,activate:(_,v)=>r?r.activate(_,v,u):wn(_,v),hover:(_,v)=>r?.hover?.(_,v,u),leave:(_,v)=>r?.leave?.(_,v,u)})}a=!1,n.hasExtendedAttrs()&&n.extended.urlId?(h=d,l=n.extended.urlId):(h=-1,l=-1)}}t(s)}};mi=Z([k(0,me),k(1,Se),k(2,gr)],mi);function wn(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
1
|
+
import{r as I,j as G}from"./index-D-VK8mST.js";import{ap as Jr,cs as hs,ct as Zr,cu as cs,cv as Qr,cw as en,cx as tn,X as sn,C as rn}from"./App-DfiCmBv6.js";import{P as ds}from"./chat-file-links-CqfMdhHQ.js";var nn=2,on=1,an=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,h=o.right+o.left,a=s-l,d=r-h-t;return{cols:Math.max(nn,Math.floor(d/e.css.cell.width)),rows:Math.max(on,Math.floor(a/e.css.cell.height))}}};var ar=Object.defineProperty,ln=Object.getOwnPropertyDescriptor,hn=(e,t)=>{for(var i in t)ar(e,i,{get:t[i],enumerable:!0})},Z=(e,t,i,s)=>{for(var r=s>1?void 0:s?ln(t,i):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(s?o(t,i,r):o(r))||r);return s&&r&&ar(t,i,r),r},k=(e,t)=>(i,s)=>t(i,s,e),us="Terminal input",pi={get:()=>us,set:e=>us=e},_s="Too much output to announce, navigate to rows manually to read",gi={get:()=>_s,set:e=>_s=e};function cn(e){return e.replace(/\r?\n/g,"\r")}function dn(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function un(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function _n(e,t,i,s){if(e.stopPropagation(),e.clipboardData){let r=e.clipboardData.getData("text/plain");lr(r,t,i,s)}}function lr(e,t,i,s){e=cn(e),e=dn(e,i.decPrivateModes.bracketedPasteMode&&s.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(e,!0),t.value=""}function hr(e,t,i){let s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function fs(e,t,i,s,r){hr(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}function Xe(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Zt(e,t=0,i=e.length){let s="";for(let r=t;r<i;++r){let n=e[r];n>65535?(n-=65536,s+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):s+=String.fromCharCode(n)}return s}var fn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){let n=e.charCodeAt(r++);56320<=n&&n<=57343?t[s++]=(this._interim-55296)*1024+n-56320+65536:(t[s++]=this._interim,t[s++]=n),this._interim=0}for(let n=r;n<i;++n){let o=e.charCodeAt(n);if(55296<=o&&o<=56319){if(++n>=i)return this._interim=o,s;let l=e.charCodeAt(n);56320<=l&&l<=57343?t[s++]=(o-55296)*1024+l-56320+65536:(t[s++]=o,t[s++]=l);continue}o!==65279&&(t[s++]=o)}return s}},pn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r,n,o,l,h=0,a=0;if(this.interim[0]){let u=!1,f=this.interim[0];f&=(f&224)===192?31:(f&240)===224?15:7;let _=0,v;for(;(v=this.interim[++_]&63)&&_<4;)f<<=6,f|=v;let y=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=y-_;for(;a<R;){if(a>=i)return 0;if(v=e[a++],(v&192)!==128){a--,u=!0;break}else this.interim[_++]=v,f<<=6,f|=v&63}u||(y===2?f<128?a--:t[s++]=f:y===3?f<2048||f>=55296&&f<=57343||f===65279||(t[s++]=f):f<65536||f>1114111||(t[s++]=f)),this.interim.fill(0)}let d=i-4,c=a;for(;c<i;){for(;c<d&&!((r=e[c])&128)&&!((n=e[c+1])&128)&&!((o=e[c+2])&128)&&!((l=e[c+3])&128);)t[s++]=r,t[s++]=n,t[s++]=o,t[s++]=l,c+=4;if(r=e[c++],r<128)t[s++]=r;else if((r&224)===192){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(h=(r&31)<<6|n&63,h<128){c--;continue}t[s++]=h}else if((r&240)===224){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(h=(r&15)<<12|(n&63)<<6|o&63,h<2048||h>=55296&&h<=57343||h===65279)continue;t[s++]=h}else if((r&248)===240){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,this.interim[2]=o,s;if(l=e[c++],(l&192)!==128){c--;continue}if(h=(r&7)<<18|(n&63)<<12|(o&63)<<6|l&63,h<65536||h>1114111)continue;t[s++]=h}}return s}},cr="",Ge=" ",Mt=class dr{constructor(){this.fg=0,this.bg=0,this.extended=new Vt}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new dr;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Vt=class ur{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new ur(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Le=class _r extends Mt{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Vt,this.combinedData=""}static fromCharData(t){let i=new _r;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xe(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=t[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ps="di$target",vi="di$dependencies",ii=new Map;function gn(e){return e[vi]||[]}function ce(e){if(ii.has(e))return ii.get(e);let t=function(i,s,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");vn(t,i,r)};return t._id=e,ii.set(e,t),t}function vn(e,t,i){t[ps]===t?t[vi].push({id:e,index:i}):(t[vi]=[{id:e,index:i}],t[ps]=t)}var me=ce("BufferService"),fr=ce("CoreMouseService"),ot=ce("CoreService"),mn=ce("CharsetService"),Zi=ce("InstantiationService"),pr=ce("LogService"),Se=ce("OptionsService"),gr=ce("OscLinkService"),Sn=ce("UnicodeService"),Lt=ce("DecorationService"),mi=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){let i=this._bufferService.buffer.lines.get(e-1);if(!i){t(void 0);return}let s=[],r=this._optionsService.rawOptions.linkHandler,n=new Le,o=i.getTrimmedLength(),l=-1,h=-1,a=!1;for(let d=0;d<o;d++)if(!(h===-1&&!i.hasContent(d))){if(i.loadCell(d,n),n.hasExtendedAttrs()&&n.extended.urlId)if(h===-1){h=d,l=n.extended.urlId;continue}else a=n.extended.urlId!==l;else h!==-1&&(a=!0);if(a||h!==-1&&d===o-1){let c=this._oscLinkService.getLinkData(l)?.uri;if(c){let u={start:{x:h+1,y:e},end:{x:d+(!a&&d===o-1?1:0),y:e}},f=!1;if(!r?.allowNonHttpProtocols)try{let _=new URL(c);["http:","https:"].includes(_.protocol)||(f=!0)}catch{f=!0}f||s.push({text:c,range:u,activate:(_,v)=>r?r.activate(_,v,u):wn(_,v),hover:(_,v)=>r?.hover?.(_,v,u),leave:(_,v)=>r?.leave?.(_,v,u)})}a=!1,n.hasExtendedAttrs()&&n.extended.urlId?(h=d,l=n.extended.urlId):(h=-1,l=-1)}}t(s)}};mi=Z([k(0,me),k(1,Se),k(2,gr)],mi);function wn(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
2
2
|
|
|
3
3
|
WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var Qt=ce("CharSizeService"),Ke=ce("CoreBrowserService"),Qi=ce("MouseService"),Ue=ce("RenderService"),bn=ce("SelectionService"),vr=ce("CharacterJoinerService"),ut=ce("ThemeService"),mr=ce("LinkProviderService"),yn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?gs.isErrorNoTelemetry(e)?new gs(e.message+`
|
|
4
4
|
|
package/dist/web/assets/{TrainingCreationPanel-Vvi41WNT.js → TrainingCreationPanel-dYW_dh3M.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as h,j as e}from"./index-
|
|
1
|
+
import{r as h,j as e}from"./index-D-VK8mST.js";import{aK as f,aB as b,i as d,d as x,X as j}from"./App-DfiCmBv6.js";/* empty css */function C({creation:s,training:r,compact:i=!1,onOpenTraining:t}){const[o,g]=h.useState(""),[c,u]=h.useState(""),n=s.state,a=!!r.busyAction;return h.useEffect(()=>{g(""),u("")},[s.id,n]),e.jsxs("section",{className:i?`composer-create-strip ${k(n)} training-create-strip`:"training-approval","aria-label":"Training task status",children:[i?e.jsxs("div",{className:"composer-create-strip-heading",children:[n==="planning"||n==="materializing"||n==="validating"?e.jsx(f,{className:"composer-create-spin",size:15}):n==="failed"?e.jsx(b,{size:15}):e.jsx(d,{size:15}),e.jsx("span",{children:v(n)}),e.jsx("small",{children:"training"})]}):null,n==="awaiting_disclosure_approval"?e.jsxs("div",{className:i?"composer-create-plan-summary":"training-creation-content",children:[i?null:e.jsx("strong",{children:"Review selected evidence with the authoring model?"}),e.jsxs("p",{children:["Approve sends excerpts from ",s.request.sourceIds.length," explicitly selected source",s.request.sourceIds.length===1?"":"s"," to ",s.request.analysisModel?.providerId,"/",s.request.analysisModel?.modelId," so it can propose a Taskset and grader. This does not start training."]}),e.jsxs("div",{className:i?"composer-create-actions":"training-inline-actions",children:[e.jsxs("button",{className:i?void 0:"training-button",disabled:a,onClick:()=>{r.actions.approveDisclosure(s.id,!0)},children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Approve evidence"})]}),e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:()=>{r.actions.approveDisclosure(s.id,!1)},children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Decline"})]}),i&&t?e.jsxs("button",{disabled:a,onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Open Training"})]}):null]})]}):n==="awaiting_materialization_approval"&&s.proposal?e.jsxs("div",{className:i?"composer-create-plan-summary":"training-creation-content",children:[i?null:e.jsx("strong",{children:s.proposal.name}),e.jsx("p",{children:s.proposal.objective}),e.jsxs("div",{className:"training-creation-plan-facts",children:[e.jsx("span",{children:s.proposal.taskKind.replaceAll("_"," ")}),e.jsxs("span",{children:[s.proposal.proposedGraders.length," grader",s.proposal.proposedGraders.length===1?"":"s"]}),e.jsx("span",{children:s.proposal.proposedMethod.replaceAll("_"," ")})]}),s.request.mode==="customize"?e.jsxs("div",{className:"training-question-answer",children:[e.jsx("input",{value:c,onChange:l=>u(l.target.value),placeholder:"Revise tasks, graders, fixtures, or policy"}),e.jsx("button",{className:i?void 0:"training-button secondary",disabled:!c.trim()||a,onClick:async()=>{const l=c;u(""),await r.actions.chatCreation(s.id,l)},children:"Revise"})]}):null,e.jsxs("div",{className:i?"composer-create-actions":"training-inline-actions",children:[e.jsxs("button",{className:i?void 0:"training-button",disabled:a,onClick:()=>{r.actions.materialize(s.id,!0)},children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Materialize Taskset"})]}),t?e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Review details"})]}):null,e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:()=>{r.actions.materialize(s.id,!1)},children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Cancel"})]})]})]}):n==="awaiting_questions"?e.jsx("div",{className:i?"composer-create-question":"training-creation-content",children:(()=>{const l=s.blockingQuestions.find(p=>!p.answer);return l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:l.prompt}),e.jsxs("div",{className:"training-question-answer",children:[e.jsx("input",{value:o,onChange:p=>g(p.target.value)}),e.jsx("button",{className:i?void 0:"training-button",disabled:!o.trim()||a,onClick:()=>{r.actions.answerQuestions(s.id,{[l.id]:o})},children:"Continue"})]})]}):null})()}):e.jsxs("div",{className:i?"composer-create-status-body":"training-creation-content",children:[e.jsx("p",{children:m(s)}),i&&t?e.jsx("div",{className:"composer-create-actions",children:e.jsxs("button",{onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Open Training"})]})}):null]})]})}function T({creation:s}){return e.jsxs("section",{className:"chat-create-receipt","aria-label":"Training status",children:[e.jsxs("div",{className:"chat-create-receipt-heading",children:[e.jsx(d,{size:14}),e.jsx("span",{children:v(s.state)}),e.jsx("small",{children:"training"})]}),e.jsx("p",{children:s.request.objective??m(s)}),e.jsxs("div",{className:"chat-create-receipt-facts",children:[e.jsxs("span",{children:[s.request.sourceIds.length," selected source",s.request.sourceIds.length===1?"":"s"]}),e.jsx("span",{children:s.request.mode==="customize"?"guided plan":"fast draft"})]})]})}function v(s){return s==="awaiting_disclosure_approval"?"Training evidence review":s==="awaiting_materialization_approval"?"Training plan ready":s==="awaiting_questions"?"Training question":s==="materializing"?"Materializing Taskset":s==="ready"?"Taskset ready":s==="failed"?"Training plan failed":s==="cancelled"?"Training plan cancelled":"Preparing training plan"}function m(s){return s.blockedReason?s.blockedReason:s.state==="ready"?"The reviewed Taskset was materialized. Training still requires a separate approval.":s.state==="cancelled"?"Taskset creation was cancelled.":s.state==="planning"?"The authoring model is proposing tasks, graders, fixtures, and policy boundaries.":`Task Creator is ${s.state.replaceAll("_"," ")}.`}function k(s){return s==="ready"?"success":s==="failed"||s==="cancelled"?"danger":s==="awaiting_disclosure_approval"||s==="awaiting_materialization_approval"||s==="awaiting_questions"?"warning":"info"}export{C as TrainingCreationPanel,T as TrainingStatusReceipt};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s}from"./index-
|
|
1
|
+
import{j as s}from"./index-D-VK8mST.js";import{aQ as p,b8 as j}from"./App-DfiCmBv6.js";import{M as x}from"./minimize-2-DnxKN5oK.js";/* empty css */function k({training:r,sessionId:t,expanded:i,onOpenTraining:d,onResizeStart:o,onToggleExpanded:l}){const n=r.payload?.sources.filter(e=>e.sessionId===t)??[],c=new Set(n.map(e=>e.id)),a=r.payload?.creations.find(e=>e.request.sourceIds.some(h=>c.has(h)))??null;return s.jsxs("aside",{className:`workspace-diff-panel training-draft-panel ${i?"expanded":""}`,"aria-label":"Training task draft",children:[i?null:s.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize task draft",onPointerDown:o}),s.jsxs("div",{className:"workspace-diff-topbar",children:[s.jsx("div",{className:"workspace-diff-tabs",children:s.jsxs("button",{type:"button",className:"workspace-diff-tab active",children:[s.jsx(p,{size:14}),s.jsx("span",{children:"Task draft"})]})}),s.jsx("div",{className:"workspace-diff-toolbar-actions",children:s.jsx("button",{className:"diff-icon-button",type:"button",onClick:l,"aria-label":i?"Dock task draft":"Expand task draft",children:i?s.jsx(x,{size:14}):s.jsx(j,{size:14})})})]}),s.jsxs("div",{className:"training-draft-body",children:[s.jsx("span",{className:"training-eyebrow",children:"Selected chat"}),s.jsx("h2",{children:n[0]?.title??"Not added to training"}),s.jsxs("dl",{className:"training-definition",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"Sources"}),s.jsx("dd",{children:n.length})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Status"}),s.jsx("dd",{children:a?.state.replaceAll("_"," ")??"No draft"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Method"}),s.jsx("dd",{children:a?.proposal?.proposedMethod??"Pending"})]})]}),a?.proposal?s.jsxs(s.Fragment,{children:[s.jsx("h3",{children:a.proposal.name}),s.jsx("p",{children:a.proposal.objective})]}):s.jsxs("p",{children:["Add this chat with the sidebar action or run ",s.jsx("code",{children:"/train"}),"."]}),a?.blockedReason?s.jsx("p",{className:"training-draft-warning",children:a.blockedReason}):null,s.jsx("button",{className:"training-button secondary",type:"button",onClick:d,children:"Open Training"})]})]})}export{k as TrainingDraftPanel};
|
package/dist/web/assets/{UsageSettingsSection-DpPBd-ra.js → UsageSettingsSection-B6SBqYuB.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{r as f,j as l}from"./index-
|
|
1
|
+
import{r as f,j as l}from"./index-D-VK8mST.js";import{aK as kt,b5 as ia,ap as la,o as Te}from"./App-DfiCmBv6.js";import{A as oa}from"./arrow-up-right-C7VWgGQP.js";import{w as sa,c as me,s as ca,i as le,a as _e,u as jt,r as Fe,b as ze,S as ua,d as oe,e as da,p as At,f as ma,g as fa,h as va,j as ha,k as pa,l as ue,m as ga,n as nt,o as ya,q as ba,t as xa,v as ka,x as ja,y as je,z as $e,A as Le,B as Aa,C as Pt,R as Pa,D as Sa,E as z,F as Ia,G as Ta,H as ne,I as wa,J,K as Q,L as St,M as It,N as Tt,O as Oa,P as Ca,Q as rt,T as Na,U as it,V as Ma,W as pe,X as Ue,Y as Ea,Z as wt,_ as Da,$ as $a,a0 as La,a1 as We,a2 as $,a3 as Ot,a4 as Ba,a5 as Ra,a6 as qa,a7 as Ka,a8 as _a,a9 as Fa,aa as Ct,ab as za,ac as Ua,ad as Wa,ae as lt,af as Nt,ag as Ha,ah as Ga,ai as Va,aj as Ya,ak as Xa,al as Za,am as Ja,an as Qa,ao as ot,ap as en,aq as tn,ar as an,as as nn,at as rn,au as ln,av as on}from"./CartesianChart-DA85hfrP.js";import{r as sn}from"./index-D-WCyNdJ.js";const Mt=Math.cos,ge=Math.sin,R=Math.sqrt,ye=Math.PI,Ae=2*ye,He={draw(e,t){const a=R(t/ye);e.moveTo(a,0),e.arc(0,0,a,0,Ae)}},cn={draw(e,t){const a=R(t/5)/2;e.moveTo(-3*a,-a),e.lineTo(-a,-a),e.lineTo(-a,-3*a),e.lineTo(a,-3*a),e.lineTo(a,-a),e.lineTo(3*a,-a),e.lineTo(3*a,a),e.lineTo(a,a),e.lineTo(a,3*a),e.lineTo(-a,3*a),e.lineTo(-a,a),e.lineTo(-3*a,a),e.closePath()}},Et=R(1/3),un=Et*2,dn={draw(e,t){const a=R(t/un),n=a*Et;e.moveTo(0,-a),e.lineTo(n,0),e.lineTo(0,a),e.lineTo(-n,0),e.closePath()}},mn={draw(e,t){const a=R(t),n=-a/2;e.rect(n,n,a,a)}},fn=.8908130915292852,Dt=ge(ye/10)/ge(7*ye/10),vn=ge(Ae/10)*Dt,hn=-Mt(Ae/10)*Dt,pn={draw(e,t){const a=R(t*fn),n=vn*a,r=hn*a;e.moveTo(0,-a),e.lineTo(n,r);for(let i=1;i<5;++i){const o=Ae*i/5,u=Mt(o),d=ge(o);e.lineTo(d*a,-u*a),e.lineTo(u*n-d*r,d*n+u*r)}e.closePath()}},we=R(3),gn={draw(e,t){const a=-R(t/(we*3));e.moveTo(0,a*2),e.lineTo(-we*a,-a),e.lineTo(we*a,-a),e.closePath()}},N=-.5,M=R(3)/2,Be=1/R(12),yn=(Be/2+1)*3,bn={draw(e,t){const a=R(t/yn),n=a/2,r=a*Be,i=n,o=a*Be+a,u=-i,d=o;e.moveTo(n,r),e.lineTo(i,o),e.lineTo(u,d),e.lineTo(N*n-M*r,M*n+N*r),e.lineTo(N*i-M*o,M*i+N*o),e.lineTo(N*u-M*d,M*u+N*d),e.lineTo(N*n+M*r,N*r-M*n),e.lineTo(N*i+M*o,N*o-M*i),e.lineTo(N*u+M*d,N*d-M*u),e.closePath()}};function xn(e,t){let a=null,n=sa(r);e=typeof e=="function"?e:me(e||He),t=typeof t=="function"?t:me(t===void 0?64:+t);function r(){let i;if(a||(a=i=n()),e.apply(this,arguments).draw(a,+t.apply(this,arguments)),i)return a=null,i+""||null}return r.type=function(i){return arguments.length?(e=typeof i=="function"?i:me(i),r):e},r.size=function(i){return arguments.length?(t=typeof i=="function"?i:me(+i),r):t},r.context=function(i){return arguments.length?(a=i??null,r):a},r}var kn=["type","size","sizeType"];function Re(){return Re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Re.apply(null,arguments)}function st(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function ct(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?st(Object(a),!0).forEach(function(n){jn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):st(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function jn(e,t,a){return(t=An(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function An(e){var t=Pn(e,"string");return typeof t=="symbol"?t:t+""}function Pn(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sn(e,t){if(e==null)return{};var a,n,r=In(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function In(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var $t={symbolCircle:He,symbolCross:cn,symbolDiamond:dn,symbolSquare:mn,symbolStar:pn,symbolTriangle:gn,symbolWye:bn},Tn=Math.PI/180,wn=e=>{var t="symbol".concat(jt(e));return $t[t]||He},On=(e,t,a)=>{if(t==="area")return e;switch(a){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*Tn;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},Cn=(e,t)=>{$t["symbol".concat(jt(e))]=t},Lt=e=>{var t=e.type,a=t===void 0?"circle":t,n=e.size,r=n===void 0?64:n,i=e.sizeType,o=i===void 0?"area":i,u=Sn(e,kn),d=ct(ct({},u),{},{type:a,size:r,sizeType:o}),s="circle";typeof a=="string"&&(s=a);var c=()=>{var b=wn(s),p=xn().type(b).size(On(r,o,s)),x=p();if(x!==null)return x},m=d.className,v=d.cx,y=d.cy,h=ca(d);return le(v)&&le(y)&&le(r)?f.createElement("path",Re({},h,{className:_e("recharts-symbols",m),transform:"translate(".concat(v,", ").concat(y,")"),d:c()})):null};Lt.registerSymbol=Cn;function be(){return be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},be.apply(null,arguments)}function ut(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function Bt(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?ut(Object(a),!0).forEach(function(n){Nn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ut(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Nn(e,t,a){return(t=Mn(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Mn(e){var t=En(e,"string");return typeof t=="symbol"?t:t+""}function En(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var E=32,Dn={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function $n(e){if(typeof e=="object"&&e!==null&&"strokeDasharray"in e)return String(e.strokeDasharray)}function Ln(e){var t=e.data,a=e.iconType,n=e.inactiveColor,r=E/2,i=E/6,o=E/3,u=t.inactive?n:t.color,d=a??t.type;if(d==="none")return null;if(d==="plainline")return f.createElement("line",{strokeWidth:4,fill:"none",stroke:u,strokeDasharray:$n(t.payload),x1:0,y1:r,x2:E,y2:r,className:"recharts-legend-icon"});if(d==="line")return f.createElement("path",{strokeWidth:4,fill:"none",stroke:u,d:"M0,".concat(r,"h").concat(o,`
|
|
2
2
|
A`).concat(i,",").concat(i,",0,1,1,").concat(2*o,",").concat(r,`
|
|
3
3
|
H`).concat(E,"M").concat(2*o,",").concat(r,`
|
|
4
4
|
A`).concat(i,",").concat(i,",0,1,1,").concat(o,",").concat(r),className:"recharts-legend-icon"});if(d==="rect")return f.createElement("path",{stroke:"none",fill:u,d:"M0,".concat(E/8,"h").concat(E,"v").concat(E*3/4,"h").concat(-E,"z"),className:"recharts-legend-icon"});if(f.isValidElement(t.legendIcon)){var s=Bt({},t);return delete s.legendIcon,f.cloneElement(t.legendIcon,s)}return f.createElement(Lt,{fill:u,cx:r,cy:r,size:E,sizeType:"diameter",type:d})}function Bn(e){var t=e.payload,a=e.iconSize,n=e.layout,r=e.formatter,i=e.inactiveColor,o=e.iconType,u=e.labelStyle,d={x:0,y:0,width:E,height:E},s={display:n==="horizontal"?"inline-block":"block",marginRight:10},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((m,v)=>{var y=m.formatter||r,h=_e({"recharts-legend-item":!0,["legend-item-".concat(v)]:!0,inactive:m.inactive});if(m.type==="none")return null;var b=typeof u=="object"?Bt({},u):{};b.color=m.inactive?i:b.color||m.color;var p=y?y(m.value,m,v):m.value;return f.createElement("li",be({className:h,style:s,key:"legend-item-".concat(v)},ze(e,m,v)),f.createElement(ua,{width:a,height:a,viewBox:d,style:c,"aria-label":m.value==null?"legend icon":"".concat(m.value," legend icon")},f.createElement(Ln,{data:m,iconType:o,inactiveColor:i})),f.createElement("span",{className:"recharts-legend-item-text",style:b},p))})}var Rn=e=>{var t=Fe(e,Dn),a=t.payload,n=t.layout,r=t.align;if(!a||!a.length)return null;var i={padding:0,margin:0,textAlign:n==="horizontal"?r:"left"};return f.createElement("ul",{className:"recharts-default-legend",style:i},f.createElement(Bn,be({},t,{payload:a})))};function qn(){return oe(da)}var Kn=["contextPayload"];function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},qe.apply(null,arguments)}function _n(e,t){return Wn(e)||Un(e,t)||zn(e,t)||Fn()}function Fn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
5
5
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zn(e,t){if(e){if(typeof e=="string")return dt(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?dt(e,t):void 0}}function dt(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function Un(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,r,i,o,u=[],d=!0,s=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(d=(n=i.call(a)).done)&&(u.push(n.value),u.length!==t);d=!0);}catch(c){s=!0,r=c}finally{try{if(!d&&a.return!=null&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw r}}return u}}function Wn(e){if(Array.isArray(e))return e}function mt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function ee(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?mt(Object(a),!0).forEach(function(n){Hn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):mt(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Hn(e,t,a){return(t=Gn(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Gn(e){var t=Vn(e,"string");return typeof t=="symbol"?t:t+""}function Vn(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Yn(e,t){if(e==null)return{};var a,n,r=Xn(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Xn(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}function Zn(e){return e.value}function Jn(e){var t=e.contextPayload,a=Yn(e,Kn),n=ya(t,e.payloadUniqBy,Zn),r=ee(ee({},a),{},{payload:n});return f.isValidElement(e.content)?f.cloneElement(e.content,r):typeof e.content=="function"?f.createElement(e.content,r):f.createElement(Rn,r)}function Qn(e,t,a,n,r,i){var o=t.layout,u=t.align,d=t.verticalAlign,s,c;return(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))&&(u==="center"&&o==="vertical"?s={left:((n||0)-i.width)/2}:s=u==="right"?{right:a&&a.right||0}:{left:a&&a.left||0}),(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))&&(d==="middle"?c={top:((r||0)-i.height)/2}:c=d==="bottom"?{bottom:a&&a.bottom||0}:{top:a&&a.top||0}),ee(ee({},s),c)}function er(e){var t=e.align,a=e.layout,n=e.verticalAlign,r=e.itemSorter,i=ue();return f.useLayoutEffect(()=>{i(ga({align:t,layout:a,verticalAlign:n,itemSorter:r}))},[i,t,a,n,r]),null}function tr(e){var t=e.width,a=e.height,n=ue();return f.useLayoutEffect(()=>{n(nt({width:t,height:a}))},[n,t,a]),f.useLayoutEffect(()=>()=>{n(nt({width:0,height:0}))},[n]),null}function ar(e,t,a,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:a||n}:null}var nr={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"horizontal",verticalAlign:"bottom"};function rr(e){var t=Fe(e,nr),a=qn(),n=ma(),r=fa(),i=t.width,o=t.height,u=t.wrapperStyle,d=t.portal,s=va([a]),c=_n(s,2),m=c[0],v=c[1],y=ha(),h=pa();if(y==null||h==null)return null;var b=y-(r?.left||0)-(r?.right||0),p=ar(t.layout,o,i,b),x=d?u:ee(ee({position:"absolute",width:p?.width||i||"auto",height:p?.height||o||"auto"},Qn(u,t,r,y,h,m)),u),j=d??n;if(j==null||a==null)return null;var A=f.createElement("div",{className:"recharts-legend-wrapper",style:x,ref:v},f.createElement(er,{layout:t.layout,align:t.align,verticalAlign:t.verticalAlign,itemSorter:t.itemSorter}),!d&&f.createElement(tr,{width:m.width,height:m.height}),f.createElement(Jn,qe({},t,p,{margin:r,chartWidth:y,chartHeight:h,contextPayload:a})));return sn.createPortal(A,j)}var Rt=f.memo(rr,At);Rt.displayName="Legend";var qt=e=>null;qt.displayName="Cell";var Kt=(e,t,a)=>{var n=ue();return(r,i)=>o=>{e?.(r,i,o),n(ba({activeIndex:String(i),activeDataKey:t,activeCoordinate:r.tooltipPosition,activeGraphicalItemId:a}))}},_t=e=>{var t=ue();return(a,n)=>r=>{e?.(a,n,r),t(xa())}},Ft=(e,t,a)=>{var n=ue();return(r,i)=>o=>{e?.(r,i,o),n(ka({activeIndex:String(i),activeDataKey:t,activeCoordinate:r.tooltipPosition,activeGraphicalItemId:a}))}};function ir(e,t){return cr(e)||sr(e,t)||or(e,t)||lr()}function lr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
6
6
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function or(e,t){if(e){if(typeof e=="string")return ft(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?ft(e,t):void 0}}function ft(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function sr(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,r,i,o,u=[],d=!0,s=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(d=(n=i.call(a)).done)&&(u.push(n.value),u.length!==t);d=!0);}catch(c){s=!0,r=c}finally{try{if(!d&&a.return!=null&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw r}}return u}}function cr(e){if(Array.isArray(e))return e}var vt=(e,t,a)=>{var n=a??e;if(!je(n))return $e(n,t,0)},ur=(e,t,a)=>{var n={},r=e.filter(ja),i=e.filter(s=>s.stackId==null),o=r.reduce((s,c)=>{var m=s[c.stackId];return m==null&&(m=[]),m.push(c),s[c.stackId]=m,s},n),u=Object.entries(o).map(s=>{var c,m=ir(s,2),v=m[0],y=m[1],h=y.map(p=>p.dataKey),b=vt(t,a,(c=y[0])===null||c===void 0?void 0:c.barSize);return{stackId:v,dataKeys:h,barSize:b}}),d=i.map(s=>{var c=[s.dataKey].filter(v=>v!=null),m=vt(t,a,s.barSize);return{stackId:void 0,dataKeys:c,barSize:m}});return[...u,...d]};function ht(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function fe(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?ht(Object(a),!0).forEach(function(n){dr(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ht(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function dr(e,t,a){return(t=mr(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function mr(e){var t=fr(e,"string");return typeof t=="symbol"?t:t+""}function fr(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vr(e,t,a,n,r){var i,o=n.length;if(!(o<1)){var u=$e(e,a,0,!0),d,s=[];if(Le((i=n[0])===null||i===void 0?void 0:i.barSize)){var c=!1,m=a/o,v=n.reduce((j,A)=>j+(A.barSize||0),0);v+=(o-1)*u,v>=a&&(v-=(o-1)*u,u=0),v>=a&&m>0&&(c=!0,m*=.9,v=o*m);var y=Math.round((a-v)/2),h={offset:y-u,size:0};d=n.reduce((j,A)=>{var k,S={stackId:A.stackId,dataKeys:A.dataKeys,position:{offset:h.offset+h.size+u,size:c?m:(k=A.barSize)!==null&&k!==void 0?k:0}},w=[...j,S];return h=S.position,w},s)}else{var b=$e(t,a,0,!0);a-2*b-(o-1)*u<=0&&(u=0);var p=(a-2*b-(o-1)*u)/o;p>1&&(p=Math.round(p));var x=Le(r)?Math.min(p,r):p;d=n.reduce((j,A,k)=>[...j,{stackId:A.stackId,dataKeys:A.dataKeys,position:{offset:b+(p+u)*k+(p-x)/2,size:x}}],s)}return d}}var hr=(e,t,a,n,r,i,o)=>{var u=je(o)?t:o,d=vr(a,n,r!==i?r:i,e,u);return r!==i&&d!=null&&(d=d.map(s=>fe(fe({},s),{},{position:fe(fe({},s.position),{},{offset:s.position.offset-r/2})}))),d},pr=(e,t)=>{var a=Aa(t);if(!(!e||a==null||t==null)){var n=t.stackId;if(n!=null){var r=e[n];if(r){var i=r.stackedData;if(i)return i.find(o=>o.key===a)}}}},gr=(e,t)=>{if(!(e==null||t==null)){var a=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(a!=null)return a.position}};function yr(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&Le(e.zIndex)?e.zIndex:t}function V(e,t){var a,n;return(a=(n=e.graphicalItems.cartesianItems.find(r=>r.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&a!==void 0?a:Pt}function Y(e,t){var a,n;return(a=(n=e.graphicalItems.cartesianItems.find(r=>r.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&a!==void 0?a:Pt}var br="Invariant failed";function xr(e,t){throw new Error(br)}var kr=["option"];function jr(e,t){if(e==null)return{};var a,n,r=Ar(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ar(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var Ge=Pa;function Ve(e){var t=e.option,a=jr(e,kr);return f.createElement(Sa,{option:t,DefaultShape:Ge,shapeProps:a,activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"})}var Pr=function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(le(t))return t;var i=le(n)||je(n);return i?t(n,r):(i||xr(),a)}},Sr=(e,t,a)=>a,Ir=(e,t)=>t,de=z([It,Ir],(e,t)=>e.filter(a=>a.type==="bar").find(a=>a.id===t)),Tr=z([de],e=>e?.maxBarSize),wr=(e,t,a,n)=>n,Or=z([ne,It,V,Y,Sr],(e,t,a,n,r)=>t.filter(i=>e==="horizontal"?i.xAxisId===a:i.yAxisId===n).filter(i=>i.isPanorama===r).filter(i=>i.hide===!1).filter(i=>i.type==="bar")),Cr=(e,t,a)=>{var n=ne(e),r=V(e,t),i=Y(e,t);if(!(r==null||i==null))return n==="horizontal"?rt(e,"yAxis",i,a):rt(e,"xAxis",r,a)},Nr=(e,t)=>{var a=ne(e),n=V(e,t),r=Y(e,t);if(!(n==null||r==null))return a==="horizontal"?it(e,"xAxis",n):it(e,"yAxis",r)},Mr=z([Or,Na,Nr],ur),Er=(e,t,a)=>{var n,r,i=de(e,t);if(i==null)return 0;var o=V(e,t),u=Y(e,t);if(o==null||u==null)return 0;var d=ne(e),s=Tt(e),c=i.maxBarSize,m=je(c)?s:c,v,y;return d==="horizontal"?(v=J(e,"xAxis",o,a),y=Q(e,"xAxis",o,a)):(v=J(e,"yAxis",u,a),y=Q(e,"yAxis",u,a)),(n=(r=St(v,y,!0))!==null&&r!==void 0?r:m)!==null&&n!==void 0?n:0},zt=(e,t,a)=>{var n=ne(e),r=V(e,t),i=Y(e,t);if(!(r==null||i==null)){var o,u;return n==="horizontal"?(o=J(e,"xAxis",r,a),u=Q(e,"xAxis",r,a)):(o=J(e,"yAxis",i,a),u=Q(e,"yAxis",i,a)),St(o,u)}},Dr=z([Mr,Tt,Oa,Ca,Er,zt,Tr],hr),$r=(e,t,a)=>{var n=V(e,t);if(n!=null)return J(e,"xAxis",n,a)},Lr=(e,t,a)=>{var n=Y(e,t);if(n!=null)return J(e,"yAxis",n,a)},Br=(e,t,a)=>{var n=V(e,t);if(n!=null)return Q(e,"xAxis",n,a)},Rr=(e,t,a)=>{var n=Y(e,t);if(n!=null)return Q(e,"yAxis",n,a)},qr=z([Dr,de],gr),Kr=z([Cr,de],pr),_r=z([Ia,Ta,$r,Lr,Br,Rr,qr,ne,wa,zt,Kr,de,wr],(e,t,a,n,r,i,o,u,d,s,c,m,v)=>{var y=d.chartData,h=d.dataStartIndex,b=d.dataEndIndex;if(!(m==null||o==null||t==null||u!=="horizontal"&&u!=="vertical"||a==null||n==null||r==null||i==null||s==null)){var p=m.data,x;if(p!=null&&p.length>0?x=p:x=y?.slice(h,b+1),x!=null)return xi({layout:u,barSettings:m,pos:o,parentViewBox:t,bandSize:s,xAxis:a,yAxis:n,xAxisTicks:r,yAxisTicks:i,stackedData:c,displayedData:x,offset:e,cells:v,dataStartIndex:h})}}),Fr=["index"];function Ke(){return Ke=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Ke.apply(null,arguments)}function zr(e,t){if(e==null)return{};var a,n,r=Ur(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ur(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var Ut=f.createContext(void 0),Wr=e=>{var t=f.useContext(Ut);if(t!=null)return t.stackId;if(e!=null)return Ma(e)},Hr=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Gr=e=>{var t=f.useContext(Ut);if(t!=null){var a=t.stackId;return"url(#".concat(Hr(a,e),")")}},Wt=e=>{var t=e.index,a=zr(e,Fr),n=Gr(t);return f.createElement(pe,Ke({className:"recharts-bar-stack-layer",clipPath:n},a))},Vr=["onMouseEnter","onMouseLeave","onClick"],Yr=["value","background","tooltipPosition"],Xr=["id"],Zr=["onMouseEnter","onClick","onMouseLeave"];function pt(e,t){return ti(e)||ei(e,t)||Qr(e,t)||Jr()}function Jr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
7
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qr(e,t){if(e){if(typeof e=="string")return gt(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?gt(e,t):void 0}}function gt(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function ei(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,r,i,o,u=[],d=!0,s=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(d=(n=i.call(a)).done)&&(u.push(n.value),u.length!==t);d=!0);}catch(c){s=!0,r=c}finally{try{if(!d&&a.return!=null&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw r}}return u}}function ti(e){if(Array.isArray(e))return e}function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},F.apply(null,arguments)}function yt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function I(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?yt(Object(a),!0).forEach(function(n){ai(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):yt(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function ai(e,t,a){return(t=ni(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function ni(e){var t=ri(e,"string");return typeof t=="symbol"?t:t+""}function ri(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function xe(e,t){if(e==null)return{};var a,n,r=ii(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function ii(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var li=e=>{var t=e.dataKey,a=e.name,n=e.fill,r=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:r,color:n,value:Ot(a,t),payload:e}]},oi=f.memo(e=>{var t=e.dataKey,a=e.stroke,n=e.strokeWidth,r=e.fill,i=e.name,o=e.hide,u=e.unit,d=e.formatter,s=e.tooltipType,c=e.id,m={dataDefinedOnItem:void 0,getPosition:Ra,settings:{stroke:a,strokeWidth:n,fill:r,dataKey:t,nameKey:void 0,name:Ot(i,t),hide:o,type:s,color:r,unit:u,formatter:d,graphicalItemId:c}};return f.createElement(Ba,{tooltipEntrySettings:m})});function si(e){var t=oe(Nt),a=e.data,n=e.dataKey,r=e.background,i=e.allOtherBarProps,o=i.onMouseEnter,u=i.onMouseLeave,d=i.onClick,s=xe(i,Vr),c=Kt(o,n,i.id),m=_t(u),v=Ft(d,n,i.id);if(!r||a==null)return null;var y=Ha(r);return f.createElement(We,{zIndex:yr(r,Ue.barBackground)},a.map((h,b)=>{h.value;var p=h.background;h.tooltipPosition;var x=xe(h,Yr);if(!p)return null;var j=c(h,h.originalDataIndex),A=m(h,h.originalDataIndex),k=v(h,h.originalDataIndex),S=I(I(I(I(I({option:r,isActive:String(h.originalDataIndex)===t},x),{},{fill:"#eee"},p),y),ze(s,h,b)),{},{onMouseEnter:j,onMouseLeave:A,onClick:k,dataKey:n,index:b,className:"recharts-bar-background-rectangle"});return f.createElement(Ve,F({key:"background-bar-".concat(b)},S))}))}function ci(e){var t=e.showLabels,a=e.children,n=e.rects,r=n?.map(i=>{var o={x:i.x,y:i.y,width:i.width,lowerWidth:i.width,upperWidth:i.width,height:i.height};return I(I({},o),{},{value:i.value,payload:i.payload,parentViewBox:i.parentViewBox,viewBox:o,fill:i.fill})});return f.createElement(Xa,{value:t?r:void 0},a)}function ui(e){var t=e.shape,a=e.activeBar,n=e.baseProps,r=e.entry,i=e.index,o=e.dataKey,u=oe(Nt),d=oe(Ja),s=a&&String(r.originalDataIndex)===u&&(d==null||o===d),c=f.useState(!1),m=pt(c,2),v=m[0],y=m[1],h=f.useState(!1),b=pt(h,2),p=b[0],x=b[1];f.useEffect(()=>{var T;return s?(y(!0),T=requestAnimationFrame(()=>{x(!0)})):x(!1),()=>{cancelAnimationFrame(T)}},[s]);var j=f.useCallback(()=>{s||y(!1)},[s]),A=s&&p,k=s||v,S;s?a===!0?S=t:S=a:S=t;var w=f.createElement(Ve,F({},n,{name:String(n.name)},r,{isActive:A,option:S,index:i,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:j}));return k?f.createElement(We,{zIndex:Ue.activeBar},f.createElement(Wt,{index:r.originalDataIndex},w)):w}function di(e){var t=e.shape,a=e.baseProps,n=e.entry,r=e.index,i=e.dataKey;return f.createElement(Ve,F({},a,{name:String(a.name)},n,{isActive:!1,option:t,index:r,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function mi(e){var t,a=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,o=e.isEntrance,u=(t=Za(n))!==null&&t!==void 0?t:{},d=u.id,s=xe(u,Xr),c=n.shape,m=n.dataKey,v=n.activeBar,y=n.onMouseEnter,h=n.onClick,b=n.onMouseLeave,p=xe(n,Zr),x=Kt(y,m,d),j=_t(b),A=Ft(h,m,d);return a?f.createElement(f.Fragment,null,a.map((k,S)=>f.createElement(Wt,F({index:k.originalDataIndex,key:"rectangle-".concat(k?.x,"-").concat(k?.y,"-").concat(k?.value,"-").concat(S),className:"recharts-bar-rectangle"},ze(p,k,S),{onMouseEnter:x(k,k.originalDataIndex),onMouseLeave:j(k,k.originalDataIndex),onClick:A(k,k.originalDataIndex)}),v?f.createElement(ui,{shape:c,activeBar:v,baseProps:s,entry:k,index:S,dataKey:m,animationElapsedTime:r,isAnimating:i,isEntrance:o}):f.createElement(di,{shape:c,baseProps:s,entry:k,index:S,dataKey:m,animationElapsedTime:r,isAnimating:i,isEntrance:o})))):null}var fi=(e,t,a)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return a==="horizontal"?[I(I({},n.prev),{},{height:$(n.prev.height,0,t),y:$(n.prev.y,n.prev.y+n.prev.height,t)})]:[I(I({},n.prev),{},{width:$(n.prev.width,0,t)})];if(n.status==="matched")return[I(I({},n.next),{},{x:$(n.prev.x,n.next.x,t),y:$(n.prev.y,n.next.y,t),width:$(n.prev.width,n.next.width,t),height:$(n.prev.height,n.next.height,t)})];var r=n.next;return a==="horizontal"?[I(I({},r),{},{height:$(0,r.height,t),y:$(r.stackedBarStart,r.y,t)})]:[I(I({},r),{},{width:$(0,r.width,t),x:$(r.stackedBarStart,r.x,t)})]});function vi(e){var t=e.props,a=e.previousRectanglesRef,n=t.data,r=t.isAnimationActive,i=t.animationBegin,o=t.animationDuration,u=t.animationEasing,d=t.animationInterpolateFn,s=t.layout,c=Ga(t.onAnimationStart,t.onAnimationEnd),m=c.isAnimating,v=c.handleAnimationStart,y=c.handleAnimationEnd;return f.createElement(ci,{showLabels:!m,rects:n},f.createElement(Va,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:a,isAnimationActive:r,animationBegin:i,animationDuration:o,animationEasing:u,onAnimationStart:v,onAnimationEnd:y,animationInterpolateFn:d,animationMatchBy:t.animationMatchBy,layout:s},(h,b,p)=>f.createElement(pe,null,f.createElement(mi,{props:t,data:h,animationElapsedTime:b,isAnimating:m||b<1,isEntrance:p}))),f.createElement(Ya,{label:t.label}),t.children)}function hi(e){var t=f.useRef(null);return f.createElement(vi,{previousRectanglesRef:t,props:e})}var Ht=0,pi=(e,t)=>{var a=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:a,errorVal:Ct(e,t)}};class gi extends f.PureComponent{render(){var t=this.props,a=t.hide,n=t.data,r=t.dataKey,i=t.className,o=t.xAxisId,u=t.yAxisId,d=t.needClip,s=t.background,c=t.id;if(a||n==null)return null;var m=_e("recharts-bar",i),v=c;return f.createElement(pe,{className:m,id:c},d&&f.createElement("defs",null,f.createElement(za,{clipPathId:v,xAxisId:o,yAxisId:u})),f.createElement(pe,{className:"recharts-bar-rectangles",clipPath:d?"url(#clipPath-".concat(v,")"):void 0},f.createElement(si,{data:n,dataKey:r,background:s,allOtherBarProps:this.props}),f.createElement(hi,this.props)))}}var yi={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:fi,animationMatchBy:Ea,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:Ht,shape:Ge,xAxisId:0,yAxisId:0,zIndex:Ue.bar};function bi(e){var t=e.xAxisId,a=e.yAxisId,n=e.hide,r=e.legendType,i=e.minPointSize,o=e.activeBar,u=e.animationBegin,d=e.animationDuration,s=e.animationEasing,c=e.isAnimationActive,m=qa(t,a),v=m.needClip,y=Ka(),h=wt(),b=_a(e.children,qt),p=oe(A=>_r(A,e.id,h,b));if(y!=="vertical"&&y!=="horizontal")return null;var x,j=p?.[0];return j==null||j.height==null||j.width==null?x=0:x=y==="vertical"?j.height/2:j.width/2,f.createElement(Fa,{xAxisId:t,yAxisId:a,data:p,dataPointFormatter:pi,errorBarOffset:x},f.createElement(gi,F({},e,{layout:y,needClip:v,data:p,xAxisId:t,yAxisId:a,hide:n,legendType:r,minPointSize:i,activeBar:o,animationBegin:u,animationDuration:d,animationEasing:s,isAnimationActive:c})))}function xi(e){var t=e.layout,a=e.barSettings,n=a.dataKey,r=a.minPointSize,i=a.hasCustomShape,o=e.pos,u=e.bandSize,d=e.xAxis,s=e.yAxis,c=e.xAxisTicks,m=e.yAxisTicks,v=e.stackedData,y=e.displayedData,h=e.offset,b=e.cells,p=e.parentViewBox,x=e.dataStartIndex,j=t==="horizontal"?s:d,A=v?j.scale.domain():null,k=Ua({numericAxis:j}),S=j.scale.map(k);return y.map((w,T)=>{var g,D,q,O,P,X;if(v){var W=v[T+x];if(W==null)return null;g=Wa(W,A)}else g=Ct(w,n),Array.isArray(g)||(g=[k,g]);var C=Pr(r,Ht)(g[1],T);if(t==="horizontal"){var re,Se=s.scale.map(g[0]),ie=s.scale.map(g[1]);if(Se==null||ie==null)return null;D=lt({axis:d,ticks:c,bandSize:u,offset:o.offset,entry:w,index:T}),q=(re=ie??Se)!==null&&re!==void 0?re:void 0,O=o.size;var et=Se-ie;if(P=Qa(et)?0:et,X={x:D,y:h.top,width:O,height:h.height},Math.abs(C)>0&&Math.abs(P)<Math.abs(C)){var tt=ot(P||C)*(Math.abs(C)-Math.abs(P));q-=tt,P+=tt}}else{var Ie=d.scale.map(g[0]),at=d.scale.map(g[1]);if(Ie==null||at==null)return null;if(D=Ie,q=lt({axis:s,ticks:m,bandSize:u,offset:o.offset,entry:w,index:T}),O=at-Ie,P=o.size,X={x:h.left,y:q,width:h.width,height:P},Math.abs(C)>0&&Math.abs(O)<Math.abs(C)){var na=ot(O||C)*(Math.abs(C)-Math.abs(O));O+=na}}if(D==null||q==null||O==null||P==null||!i&&(O===0||P===0))return null;var ra=I(I({},w),{},{stackedBarStart:S,x:D,y:q,width:O,height:P,value:v?g:g[1],payload:w,background:X,tooltipPosition:{x:D+O/2,y:q+P/2},parentViewBox:p,originalDataIndex:T},b&&b[T]&&b[T].props);return ra}).filter(Boolean)}function ki(e){var t=Fe(e,yi),a=Wr(t.stackId),n=wt();return f.createElement(Da,{id:t.id,type:"bar"},r=>f.createElement(f.Fragment,null,f.createElement($a,{legendPayload:li(t)}),f.createElement(oi,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:r}),f.createElement(La,{type:"bar",id:r,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:a,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==Ge}),f.createElement(We,{zIndex:t.zIndex},f.createElement(bi,F({},t,{id:r})))))}var Gt=f.memo(ki,At);Gt.displayName="Bar";var ji=["axis","item"],Ai=f.forwardRef((e,t)=>f.createElement(en,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:ji,tooltipPayloadSearcher:tn,categoricalChartProps:e,ref:t}));const Oe=["#67b7ff","#9b82ff","#ea74ca","#ff8b78","#f6bd5c","#55d6ad","#49c6e5","#7f9cff","#c879ff","#8bd35f"],Vt=new Intl.NumberFormat("en-US"),Pi=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}),H=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}),Si=new Intl.DateTimeFormat("en-US",{month:"short"});function Ii({account:e,summary:t,loading:a,range:n}){const[r,i]=f.useState("daily"),o=f.useMemo(()=>Mi(t?.daily??[],t?.range.to??t?.generatedAt),[t]),u=f.useMemo(()=>Bi(t?.models??[],t?.daily??[]),[t]),d=f.useMemo(()=>new Map(u.map(p=>[p.key,p.color])),[u]),s=qi(e),c=t?.totals??null,m=Ye(t?.models??[])[0]??null,v=c?.requests?c.completedRequests/c.requests:0,y=c&&c.promptTokens!==null&&c.completionTokens!==null?c.completionTokens/Math.max(1,c.promptTokens+c.completionTokens):null,h=[{label:n==="all"?"Lifetime tokens":"Tokens in range",value:c?G(c.totalTokens):a?"Loading":"0"},{label:"Peak day",value:c?G(c.peakDailyTokens):a?"Loading":"0"},{label:"Longest request",value:c?_i(c.longestRequestMs):a?"Loading":"—"},{label:"Current streak",value:c?bt(c.currentStreakDays):a?"Loading":"0 days"},{label:"Longest streak",value:c?bt(c.longestStreakDays):a?"Loading":"0 days"}],b=[{label:"Most used model",value:m?.model??"No model activity"},{label:"Successful requests",value:ve(v)},{label:"Active days",value:te(c?.activeDays??0)},{label:"Total requests",value:te(c?.requests??0)},{label:"Completion share",value:y===null?"Not reported":ve(y)},{label:"Prompt cache reuse",value:c?.cacheHitRate===null||c?.cacheHitRate===void 0?"Not reported":ve(c.cacheHitRate)},{label:"Cache telemetry",value:c&&c.promptTokens!==null?ve(c.cacheTelemetryCoverage):"Not reported"}];return l.jsxs("div",{className:"usage-activity-overview",children:[l.jsxs("header",{className:"usage-profile-header",children:[l.jsx("div",{className:"usage-profile-avatar","aria-hidden":"true",children:s.image?l.jsx("img",{src:s.image,alt:""}):l.jsx("span",{children:s.initial})}),l.jsxs("div",{className:"usage-profile-copy",children:[l.jsx("h1",{children:s.name}),l.jsxs("div",{className:"usage-profile-meta",children:[l.jsx("span",{children:s.handle}),s.badge?l.jsx("span",{className:"usage-profile-badge",children:s.badge}):null]})]})]}),l.jsx("div",{className:"usage-hero-metrics","aria-label":"Activity summary",children:h.map(p=>l.jsxs("div",{className:"usage-hero-metric",children:[l.jsx("strong",{children:p.value}),l.jsx("span",{children:p.label})]},p.label))}),l.jsxs("section",{className:"usage-activity-section","aria-labelledby":"usage-activity-title",children:[l.jsxs("div",{className:"usage-section-heading",children:[l.jsxs("div",{children:[l.jsx("h2",{id:"usage-activity-title",children:"Token activity"}),l.jsx("span",{children:Ki(t,n)})]}),l.jsx("div",{className:"usage-activity-mode",role:"group","aria-label":"Activity display",children:["daily","weekly","cumulative"].map(p=>l.jsx("button",{type:"button",className:r===p?"active":"",onClick:()=>i(p),children:Yt(p)},p))})]}),a&&!t?l.jsxs("div",{className:"usage-activity-loading",children:[l.jsx(kt,{className:"settings-spin",size:16}),l.jsx("span",{children:"Loading activity"})]}):l.jsx(Ti,{calendar:o,colorByModel:d,mode:r,modelColors:u})]}),l.jsxs("div",{className:"usage-insight-grid",children:[l.jsxs("section",{className:"usage-insight-section","aria-labelledby":"usage-summary-title",children:[l.jsx("h2",{id:"usage-summary-title",children:"Activity summary"}),l.jsx("div",{className:"usage-insight-list",children:b.map(p=>l.jsxs("div",{className:"usage-insight-row",children:[l.jsx("span",{children:p.label}),l.jsx("strong",{title:p.value,children:p.value})]},p.label))})]}),l.jsx(Ni,{colorByModel:d,rows:t?.models??[],totalTokens:c?.totalTokens??0})]})]})}function B(e,t){return JSON.stringify([e,t])}function Ti({calendar:e,colorByModel:t,mode:a,modelColors:n}){const[r,i]=f.useState(null),o=f.useRef(null),[u,d]=f.useState(e.length);f.useEffect(()=>{if(a!=="daily")return;const m=o.current;if(!m)return;const v=()=>{const h=Math.max(e.length,Math.ceil((m.clientWidth+4)/14));d(b=>b===h?b:h)};v();const y=new ResizeObserver(v);return y.observe(m),()=>y.disconnect()},[e.length,a]);const s=f.useMemo(()=>a==="daily"?Ei(e,u):e,[e,u,a]),c=s.map((m,v)=>{const y=K(m.firstDate),h=v>0?K(s[v-1].firstDate):null;return!h||h.getMonth()!==y.getMonth()?Si.format(y):""});return l.jsxs("div",{className:"usage-activity-visualization",ref:o,children:[a==="daily"&&r&&!r.day.future?l.jsx(wi,{colorByModel:t,day:r.day,left:r.left,top:r.top}):null,l.jsx("div",{className:"usage-activity-scroll",children:l.jsxs("div",{className:"usage-activity-canvas",style:{"--usage-week-count":s.length,"--usage-canvas-width":`${Math.max(10,s.length*14-4)}px`},children:[a==="daily"?l.jsx("div",{className:"usage-heatmap",role:"grid","aria-label":"Daily token activity since July",children:s.flatMap(m=>m.days.map(v=>{const y=Li(v.models,t);return l.jsx("span",{"aria-label":$i(v),className:`usage-activity-cell ${v.future?"future":""} ${v.totalTokens>0?"has-activity":""}`,"data-level":Di(v.totalTokens,s),"data-model-count":v.models.length,onBlur:()=>i(null),onFocus:h=>{const b=Ce(v,h.currentTarget);b&&i(b)},onKeyDown:h=>{if(h.key!=="Enter"&&h.key!==" ")return;const b=Ce(v,h.currentTarget);b&&i(b)},onMouseEnter:h=>{const b=Ce(v,h.currentTarget);b&&i(b)},onMouseLeave:()=>i(null),role:"gridcell",style:y?{"--usage-cell-gradient":y}:void 0,tabIndex:v.future?void 0:-1},v.date)}))}):l.jsx(Ci,{calendar:s,cumulative:a==="cumulative"}),l.jsx("div",{className:"usage-activity-months","aria-hidden":"true",children:c.map((m,v)=>l.jsx("span",{children:m},`${s[v].firstDate}:${m}`))}),l.jsx("div",{className:"usage-activity-year","aria-hidden":"true",children:s.length?K(s[0].firstDate).getFullYear():""})]})}),n.length?l.jsx(Oi,{models:n}):null]})}function wi({colorByModel:e,day:t,left:a,top:n}){return l.jsxs("div",{className:"usage-day-tooltip",role:"status",style:{"--usage-tooltip-left":`${a}px`,"--usage-tooltip-top":`${n}px`},children:[l.jsx("strong",{children:H.format(K(t.date))}),l.jsx("span",{children:t.totalTokens>0?`${G(t.totalTokens)} tokens · ${te(t.requests)} ${t.requests===1?"request":"requests"}`:"No recorded usage"}),t.models.length?l.jsx("div",{className:"usage-day-tooltip-models",children:t.models.map(r=>l.jsxs("div",{children:[l.jsx("i",{"aria-hidden":"true",style:{background:e.get(B(r.provider,r.model)),color:e.get(B(r.provider,r.model))}}),l.jsx("small",{title:`${Xe(r.provider)} · ${r.model}`,children:r.model}),l.jsx("em",{children:G(r.totalTokens)})]},B(r.provider,r.model)))}):null]})}function Oi({models:e}){return l.jsx("div",{className:"usage-model-legend","aria-label":"Model colors",children:e.map(t=>l.jsxs("span",{title:`${Xe(t.provider)} · ${t.model}`,children:[l.jsx("i",{"aria-hidden":"true",style:{background:t.color}}),t.model]},t.key))})}function Ci({calendar:e,cumulative:t}){let a=0;const n=e.map(i=>(a+=i.totalTokens,t?a:i.totalTokens)),r=Math.max(1,...n);return l.jsx("div",{className:`usage-activity-bars ${t?"cumulative":""}`,role:"img","aria-label":t?"Cumulative token activity by week":"Weekly token activity",children:n.map((i,o)=>l.jsx("span",{"aria-hidden":"true",style:{height:`${Math.max(i>0?5:2,i/r*100)}%`},title:`${Ri(e[o])}: ${G(i)}${t?" cumulative":""}`},e[o].firstDate))})}function Ni({colorByModel:e,rows:t,totalTokens:a}){const n=Ye(t);return l.jsxs("section",{className:"usage-insight-section","aria-labelledby":"usage-model-mix-title",children:[l.jsx("h2",{id:"usage-model-mix-title",children:"Model activity"}),n.length?l.jsx("div",{className:"usage-model-mix",children:n.map(r=>{const i=(r.totalTokens??0)/Math.max(1,a),o=e.get(B(r.provider,r.model))??ke(0);return l.jsxs("div",{className:"usage-model-mix-row",children:[l.jsx("div",{className:"usage-model-mix-icon","aria-hidden":"true",style:{background:o}}),l.jsxs("div",{className:"usage-model-mix-copy",children:[l.jsx("strong",{title:r.model,children:r.model}),l.jsxs("span",{children:[Xe(r.provider)," · ",te(r.requests)," requests"]}),l.jsx("i",{style:{"--usage-model-color":o,"--usage-model-share":`${Math.min(100,i*100)}%`}})]}),l.jsx("span",{children:G(r.totalTokens)})]},B(r.provider,r.model))})}):l.jsxs("div",{className:"usage-model-mix-empty",children:[l.jsx(oa,{size:16}),l.jsx("span",{children:"No model activity yet"})]})]})}function Mi(e,t){const a=t?new Date(t):new Date,n=Number.isNaN(a.getTime())?new Date:a,r=new Date(n.getFullYear(),6,1),i=Z(Fi(n),6-n.getDay()),o=Math.max(1,Math.ceil((i.getTime()-r.getTime()+1)/(10080*60*1e3))),u=new Map(e.map(s=>[s.date,s])),d=[];for(let s=0;s<o;s+=1){const c=[];for(let m=0;m<7;m+=1){const v=Z(r,s*7+m),y=Xt(v),h=u.get(y);c.push({date:y,future:v>n,models:h?.models??[],requests:h?.requests??0,totalTokens:h?.totalTokens??0})}d.push({days:c,firstDate:c[0].date,totalTokens:c.reduce((m,v)=>m+v.totalTokens,0)})}return d}function Ei(e,t){if(e.length>=t)return e;const a=[...e];let n=Z(K(e.at(-1).firstDate),7);for(;a.length<t;){const r=Array.from({length:7},(i,o)=>{const u=Z(n,o);return{date:Xt(u),future:!0,models:[],requests:0,totalTokens:0}});a.push({days:r,firstDate:r[0].date,totalTokens:0}),n=Z(n,7)}return a}function Di(e,t){if(e<=0)return 0;const a=t.flatMap(i=>i.days.map(o=>o.totalTokens)).filter(i=>i>0),n=Math.max(1,...a),r=e/n;return r>=.75?5:r>=.5?4:r>=.25?3:r>=.1?2:1}function $i(e){const t=K(e.date);return e.future?H.format(t):`${H.format(t)}: ${G(e.totalTokens)} tokens across ${te(e.requests)} requests`}function Ce(e,t){const a=t.closest(".usage-activity-visualization");if(!a)return null;const n=t.getBoundingClientRect(),r=a.getBoundingClientRect(),i=Math.min(125,Math.max(0,(r.width-16)/2)),o=n.left-r.left+n.width/2;return{day:e,left:Math.min(Math.max(o,i),Math.max(i,r.width-i)),top:n.top-r.top}}function Li(e,t){const a=e.filter(o=>o.totalTokens>0).sort((o,u)=>u.totalTokens-o.totalTokens);if(!a.length)return null;if(a.length===1){const o=t.get(B(a[0].provider,a[0].model))??ke(0);return`linear-gradient(135deg, ${o}, ${o})`}const n=a.reduce((o,u)=>o+u.totalTokens,0);let r=0;return`linear-gradient(135deg, ${a.map((o,u)=>{const d=t.get(B(o.provider,o.model))??ke(u),s=r+o.totalTokens/Math.max(1,n)*50;return r+=o.totalTokens/Math.max(1,n)*100,`${d} ${Math.round(s)}%`}).join(", ")})`}function Bi(e,t){const a=Ye(e),n=new Set(a.map(r=>B(r.provider,r.model)));for(const r of t)for(const i of r.models){const o=B(i.provider,i.model);n.has(o)||(n.add(o),a.push({provider:i.provider,model:i.model,route:"unknown",requests:i.requests,promptTokens:null,cacheTelemetryRequests:0,cacheHitRequests:0,cachedPromptTokens:null,uncachedPromptTokens:null,cacheWritePromptTokens:null,cacheHitRate:null,cacheRequestHitRate:null,cacheTelemetryCoverage:0,completionTokens:null,totalTokens:i.totalTokens,averageLatencyMs:null,p95LatencyMs:null,averageFirstTokenMs:null,p95FirstTokenMs:null,failures:0,failureRate:0,firstSeenAt:r.date,lastSeenAt:r.date}))}return a.map((r,i)=>({color:ke(i),key:B(r.provider,r.model),model:r.model,provider:r.provider}))}function ke(e){return e<Oe.length?Oe[e]:`hsl(${Math.round((205+(e-Oe.length)*137.508)%360)} 76% 68%)`}function Ri(e){const t=K(e.firstDate),a=Z(t,6);return`${H.format(t)} – ${H.format(a)}`}function Ye(e){const t=new Map;for(const a of e){const n=B(a.provider,a.model),r=t.get(n);if(!r){t.set(n,{...a});continue}r.requests+=a.requests,r.promptTokens=Me(r.promptTokens,a.promptTokens),r.completionTokens=Me(r.completionTokens,a.completionTokens),r.totalTokens=Me(r.totalTokens,a.totalTokens),r.failures+=a.failures,r.failureRate=r.requests>0?r.failures/r.requests:0,r.firstSeenAt=r.firstSeenAt<a.firstSeenAt?r.firstSeenAt:a.firstSeenAt,r.lastSeenAt=r.lastSeenAt>a.lastSeenAt?r.lastSeenAt:a.lastSeenAt}return[...t.values()].sort((a,n)=>(n.totalTokens??-1)-(a.totalTokens??-1)||n.requests-a.requests||a.model.localeCompare(n.model))}function qi(e){const t=e?.accounts.find(o=>o.isActive)??null,a=Ne(e?.profile?.name,t?.displayLabel,e?.label,e?.profile?.handle,"Your activity"),n=Ne(e?.profile?.handle,t?.handle,e?.activeProfile?.handle),r=n?`@${n.replace(/^@/,"")}`:"Local OpenPond usage",i=e?.products.find(o=>o.isActive)?.name??null;return{name:a,handle:r,badge:i,image:Ne(e?.profile?.image,e?.avatarUrl,t?.avatarUrl),initial:a.slice(0,1).toUpperCase()}}function Ki(e,t){if(t!=="all")return`${t==="7d"?"Last 7 days":t==="30d"?"Last 30 days":"Last 90 days"} · days outside this filter stay empty`;if(!e||e.totals.requests===0)return"Last 12 months · days without recorded usage stay empty";const a=e.daily[0]?.date,n=e.daily.at(-1)?.date;if(!a||!n)return"Last 12 months";const r=H.format(K(a)),i=H.format(K(n));return a===n?`Last 12 months · stored activity on ${r}`:`Last 12 months · stored activity ${r} – ${i}`}function Xe(e){return e==="openai"?"OpenAI":e==="anthropic"?"Anthropic":e==="google"?"Google":e==="openpond"?"OpenPond":e==="openrouter"?"OpenRouter":e==="codex"?"Codex":Yt(e.replaceAll("_"," "))}function Ne(...e){for(const t of e){const a=t?.trim();if(a)return a}return null}function Me(e,t){return e===null&&t===null?null:(e??0)+(t??0)}function G(e){return e===null?"Not reported":e>=1e4?Pi.format(e):Vt.format(e)}function te(e){return Vt.format(e)}function ve(e){return`${Math.round(e*100)}%`}function bt(e){return`${te(e)} ${e===1?"day":"days"}`}function _i(e){if(e===null)return"Not reported";const t=Math.round(e/1e3);if(t<60)return`${t}s`;const a=Math.floor(t/3600),n=Math.floor(t%3600/60);return a>0?`${a}h ${n}m`:`${n}m ${t%60}s`}function Yt(e){return e.replace(/\b\w/g,t=>t.toUpperCase())}function Fi(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function Z(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function Xt(e){return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")}function K(e){const[t,a,n]=e.split("-").map(Number);return new Date(t,a-1,n)}const Ze=new Intl.NumberFormat("en-US"),Zt=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}),zi=new Intl.NumberFormat("en-US",{maximumFractionDigits:1}),Ui=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}),Wi=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function L(e){return Ze.format(e)}function Hi(e){return Zt.format(e)}function U(e){return e===null?"missing":e>=1e4?Zt.format(e):Ze.format(e)}function se(e){return e===null?"missing":e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}s`:`${Ze.format(Math.round(e))}ms`}function ae(e){return`${zi.format(e*100)}%`}function Jt(e){return e===null?"not reported":ae(e)}function Gi(e){if(e.cacheTelemetrySource===null)return"not reported";if(e.cachedPromptTokens===null||e.uncachedPromptTokens===null)return"reported";const t=e.cachedPromptTokens+e.uncachedPromptTokens;return t>0?ae(e.cachedPromptTokens/t):"0%"}function Vi(e){const t=new Date(`${e}T00:00:00`);return Number.isNaN(t.getTime())?e:Ui.format(t)}function Qt(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:Wi.format(t)}function ea(e){if(typeof e=="number")return e;if(typeof e=="string"){const t=Number(e);return Number.isFinite(t)?t:0}return 0}function Je(e){return{openai:"OpenAI",anthropic:"Anthropic",google:"Google",openpond:"OpenPond",openrouter:"OpenRouter",codex:"Codex"}[e]??Pe(e)}function Qe(e){return e==="openpond_hosted"?"OpenPond hosted":e==="local_byok"?"Local BYOK":e==="codex_app_server"?"Codex app server":"Unknown"}function Yi(e){return e==="provider_usage"?"Provider usage":e==="codex_context_usage"?"Codex context":e==="missing"?"Missing":Pe(e)}function ta(e){return Pe(e)}function Xi(e){return e?{composer_selection:"Composer selection",prompt_parse:"Prompt parse",server_parser:"Server parser",model_tool:"Model tool"}[e]??Pe(e):"Unknown source"}function Zi(e){return{foreground:"Foreground",tool_loop:"Tool loop",compaction:"Compaction",subagent:"Subagent",refiner:"Refiner"}[e]??"Other"}function Ji(e){return{chat_turn:"Chat turn",tool_loop:"Tool loop",slash_command:"Slash command",create_improve_planner:"Create/Improve planner",harness_refiner:"Harness Refiner",context_compaction:"Compaction",subagent:"Subagent",codex_context:"Codex context"}[e]??"Other"}function Qi(e){return e.attribution.commandName?e.attribution.commandName:e.sessionId?aa(e.sessionId):"None"}function Pe(e){return e.split("_").filter(Boolean).map(t=>`${t.slice(0,1).toUpperCase()}${t.slice(1)}`).join(" ")}function aa(e){return e.length<=14?e:`${e.slice(0,8)}...${e.slice(-4)}`}const el=[{value:"7d",label:"7 days"},{value:"30d",label:"30 days"},{value:"90d",label:"90 days"},{value:"all",label:"All time"}],tl=[{value:"all",label:"All calls"},{value:"user_facing",label:"User-facing"},{value:"background",label:"Background"},{value:"system",label:"System"}],al=[{value:"all",label:"All statuses"},{value:"started",label:"Started"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"interrupted",label:"Interrupted"},{value:"missing",label:"Missing usage"}],Ee=8,he=["#5b8def","#41b883","#f2a65a","#d66ba0","#8f7ee7","#4fb6c2","#d6c15c","#9b9b9b"];function Al({account:e=null,connection:t,enabled:a,modelFocused:n=!1,onError:r,onOpenSourceSession:i}){const[o,u]=f.useState("all"),[d,s]=f.useState("all"),[c,m]=f.useState("all"),[v,y]=f.useState("all"),[h,b]=f.useState("all"),[p,x]=f.useState(null),[j,A]=f.useState(null),[k,S]=f.useState(null),[w,T]=f.useState(!1),[g,D]=f.useState(null);f.useEffect(()=>{if(!a)return;if(!t){x(null),A(null),S(null),T(!1),D("Usage data is unavailable");return}let P=!1;T(!0),D(null);const X={range:o,visibility:d,status:c};return Promise.all([Te.usage(t,{...X,provider:n&&v!=="all"?v:null,model:n&&h!=="all"?h:null}),Te.usageRecords(t,{...X,provider:n&&v!=="all"?v:null,model:n&&h!=="all"?h:null,limit:100}),n?Te.usage(t,{range:o}):Promise.resolve(null)]).then(([W,C,re])=>{P||(x(W),S(C),A(re),D(null),r(null))}).catch(W=>{if(P)return;const C=W instanceof Error?W.message:"Failed to load usage";D(C),r(C)}).finally(()=>{P||T(!1)}),()=>{P=!0}},[t,a,h,n,r,v,o,c,d]);const q=f.useMemo(()=>[...new Set((j?.models??[]).map(P=>P.provider))].sort(),[j]),O=f.useMemo(()=>[...new Set((j?.models??[]).filter(P=>v==="all"||P.provider===v).map(P=>P.model))].sort(),[j,v]);return l.jsx(nl,{account:e,summary:p,recordsResponse:k,loading:w,error:g,range:o,visibility:d,status:c,onRangeChange:u,onVisibilityChange:s,onStatusChange:m,provider:n?v:void 0,model:n?h:void 0,providerOptions:n?q:void 0,modelOptions:n?O:void 0,onProviderChange:n?P=>{y(P),b("all")}:void 0,onModelChange:n?b:void 0,onOpenSourceSession:i,modelFocused:n})}function nl({account:e=null,summary:t,recordsResponse:a,loading:n,error:r,range:i,visibility:o,status:u,onRangeChange:d,onVisibilityChange:s,onStatusChange:c,provider:m,model:v,providerOptions:y,modelOptions:h,onProviderChange:b,onModelChange:p,onOpenSourceSession:x,modelFocused:j=!1}){ia(r);const A=f.useMemo(()=>pl(t?.daily??[]),[t]),k=f.useMemo(()=>xt(sl,x,g=>g.sessionId,"Open thread"),[x]),S=f.useMemo(()=>xt(vl,x,g=>g.sessionId,"Open request source"),[x]),w=a?.records??[],T=!!(t&&t.totals.requests>0);return l.jsxs("section",{className:"account-settings usage-settings",children:[l.jsx(Ii,{account:e,summary:t,loading:n,range:i}),l.jsx("div",{className:"usage-details-title",children:l.jsxs("div",{children:[l.jsx("h2",{children:j?"Model usage":"Detailed usage"}),l.jsx("span",{children:j?"Inspect model requests, tokens, prompt-cache reuse, providers, and latency.":"Inspect cache reuse, latency, routes, threads, workflows, and individual requests."})]})}),l.jsxs("div",{className:"usage-toolbar",children:[l.jsx("div",{className:"usage-range-control",role:"group","aria-label":"Usage range",children:el.map(g=>l.jsx("button",{type:"button",className:i===g.value?"active":"",disabled:!d,onClick:()=>d?.(g.value),children:g.label},g.value))}),l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Visibility"}),l.jsx("select",{value:o,disabled:!s,onChange:g=>s?.(g.target.value),children:tl.map(g=>l.jsx("option",{value:g.value,children:g.label},g.value))})]}),l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Status"}),l.jsx("select",{value:u,disabled:!c,onChange:g=>c?.(g.target.value),children:al.map(g=>l.jsx("option",{value:g.value,children:g.label},g.value))})]}),m!==void 0?l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Provider"}),l.jsxs("select",{"aria-label":"Filter usage by provider",value:m,disabled:!b,onChange:g=>b?.(g.target.value),children:[l.jsx("option",{value:"all",children:"All providers"}),(y??[]).map(g=>l.jsx("option",{value:g,children:Je(g)},g))]})]}):null,v!==void 0?l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Model"}),l.jsxs("select",{"aria-label":"Filter usage by model",value:v,disabled:!p,onChange:g=>p?.(g.target.value),children:[l.jsx("option",{value:"all",children:"All models"}),(h??[]).map(g=>l.jsx("option",{value:g,children:g},g))]})]}):null]}),l.jsx(rl,{title:"Daily tokens",children:l.jsx(il,{chart:A,loading:n&&!t})}),t&&!T?l.jsxs("div",{className:"account-list usage-empty-state",children:[l.jsx("strong",{children:"No usage records"}),l.jsx("span",{children:"Calls will appear after the next model request."})]}):null,l.jsx(_,{title:"Models",rows:t?.models??[],rowKey:g=>`${g.provider}:${g.model}:${g.route}`,emptyLabel:"No model usage",columns:ol}),j?null:l.jsxs(l.Fragment,{children:[l.jsx(_,{title:"Threads",rows:t?.threads??[],rowKey:g=>g.sessionId,emptyLabel:"No thread usage",columns:k,pageSize:10}),l.jsx(_,{title:"Slash commands",rows:t?.commands??[],rowKey:g=>`${g.commandName}:${g.commandSource??"unknown"}`,emptyLabel:"No command usage",columns:cl}),l.jsxs("div",{className:"usage-breakdown-grid",children:[l.jsx(_,{title:"Cache cohorts",rows:t?.cohorts??[],rowKey:g=>g.cohort,emptyLabel:"No cache cohorts",columns:fl,compact:!0}),l.jsx(_,{title:"Routes",rows:t?.routes??[],rowKey:g=>g.route,emptyLabel:"No route usage",columns:ul,compact:!0}),l.jsx(_,{title:"Statuses",rows:t?.statuses??[],rowKey:g=>g.status,emptyLabel:"No status usage",columns:dl,compact:!0}),l.jsx(_,{title:"Sources",rows:t?.sources??[],rowKey:g=>g.source,emptyLabel:"No source usage",columns:ml,compact:!0})]})]}),l.jsx(_,{title:"Requests",rows:w,rowKey:g=>g.id,emptyLabel:"No requests",columns:S,footer:a?.hasMore?`Showing ${w.length} recent requests`:null})]})}function xt(e,t,a,n){return t?[...e,{key:"open-source",label:"Open",align:"end",render:r=>{const i=a(r);return i?l.jsx(hl,{label:n,sessionId:i,onOpenSourceSession:t}):l.jsx("span",{"aria-hidden":"true"})}}]:e}function rl({title:e,children:t}){return l.jsxs("div",{className:"account-list usage-panel",children:[l.jsx("div",{className:"account-list-heading",children:l.jsx("span",{children:e})}),t]})}function il({chart:e,loading:t}){return t?l.jsxs("div",{className:"usage-chart-empty",children:[l.jsx(kt,{className:"settings-spin",size:16}),l.jsx("span",{children:"Loading usage"})]}):e.rows.length===0||e.series.length===0?l.jsx("div",{className:"usage-chart-empty",children:"No daily tokens"}):l.jsx("div",{className:"usage-chart-frame",children:l.jsx(an,{width:"100%",height:"100%",children:l.jsxs(Ai,{data:e.rows,margin:{top:18,right:10,bottom:2,left:-8},children:[l.jsx(nn,{stroke:"rgba(255, 255, 255, 0.06)",vertical:!1}),l.jsx(rn,{dataKey:"label",axisLine:!1,tickLine:!1,tick:{fill:"#9b9b9b",fontSize:11}}),l.jsx(ln,{axisLine:!1,tickLine:!1,tick:{fill:"#9b9b9b",fontSize:11},tickFormatter:a=>Hi(Number(a))}),l.jsx(on,{content:l.jsx(ll,{}),cursor:{fill:"rgba(255, 255, 255, 0.04)"}}),l.jsx(Rt,{iconType:"square",wrapperStyle:{color:"#c8c8c8",fontSize:11,paddingTop:8}}),e.series.map(a=>l.jsx(Gt,{dataKey:a.dataKey,name:a.label,stackId:"tokens",fill:a.color,radius:[3,3,0,0],isAnimationActive:!1},a.dataKey))]})})})}function ll({active:e,payload:t,label:a}){if(!e||!t?.length)return null;const n=t.map(r=>({color:r.color??"#9b9b9b",name:r.name??"Model",value:ea(r.value)})).filter(r=>r.value>0);return n.length===0?null:l.jsxs("div",{className:"usage-chart-tooltip",children:[l.jsx("strong",{children:a}),n.map(r=>l.jsxs("div",{children:[l.jsx("span",{style:{backgroundColor:r.color}}),l.jsx("small",{children:r.name}),l.jsx("em",{children:U(r.value)})]},r.name))]})}function _({title:e,rows:t,rowKey:a,columns:n,emptyLabel:r,footer:i,compact:o=!1,pageSize:u}){const[d,s]=f.useState(0),c=u?Math.max(1,Math.ceil(t.length/u)):1,m=Math.min(d,c-1),v=u?t.slice(m*u,m*u+u):t,y=m*(u??t.length)+1,h=Math.min(t.length,y+(u??t.length)-1);return f.useEffect(()=>{d!==m&&s(m)},[m,d]),l.jsxs("div",{className:`account-list usage-table-panel ${o?"compact":""}`,children:[l.jsxs("div",{className:"account-list-heading",children:[l.jsx("span",{children:e}),l.jsx("small",{children:t.length?L(t.length):""})]}),t.length===0?l.jsx("div",{className:"usage-table-empty",children:r}):l.jsxs("div",{className:"usage-table-scroll",children:[l.jsxs("table",{className:"usage-table",children:[l.jsx("thead",{children:l.jsx("tr",{children:n.map(b=>l.jsx("th",{className:b.align==="end"?"align-end":void 0,children:b.label},b.key))})}),l.jsx("tbody",{children:v.map((b,p)=>l.jsx("tr",{children:n.map(x=>l.jsx("td",{className:x.align==="end"?"align-end":void 0,children:x.render(b)},x.key))},a(b,p)))})]}),i||u?l.jsxs("div",{className:"usage-table-footer",children:[i?l.jsx("span",{children:i}):null,u&&t.length?l.jsxs("span",{children:["Showing ",L(y),"–",L(h)," of ",L(t.length)]}):null,u&&c>1?l.jsxs("nav",{className:"usage-table-pagination","aria-label":`${e} pages`,children:[l.jsx("button",{type:"button",disabled:m===0,onClick:()=>s(b=>Math.max(0,b-1)),children:"Previous"}),l.jsxs("span",{children:["Page ",m+1," of ",c]}),l.jsx("button",{type:"button",disabled:m===c-1,onClick:()=>s(b=>Math.min(c-1,b+1)),children:"Next"})]}):null]}):null]})]})}const ol=[{key:"model",label:"Model",render:e=>l.jsx(ce,{title:e.model,detail:`${Je(e.provider)} / ${Qe(e.route)}`})},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"cache",label:"Cache reuse",align:"end",render:e=>Jt(e.cacheHitRate)},{key:"coverage",label:"Cache data",align:"end",render:e=>ae(e.cacheTelemetryCoverage)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"latency",label:"p95 latency",align:"end",render:e=>se(e.p95LatencyMs)},{key:"first-token",label:"First token",align:"end",render:e=>se(e.p95FirstTokenMs)},{key:"failure-rate",label:"Failure rate",align:"end",render:e=>ae(e.failureRate)}],sl=[{key:"thread",label:"Thread",render:e=>l.jsx(ce,{title:e.title??"Untitled thread",detail:aa(e.sessionId)})},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"latency",label:"p95 latency",align:"end",render:e=>se(e.p95LatencyMs)},{key:"last-seen",label:"Last seen",align:"end",render:e=>Qt(e.lastSeenAt)}],cl=[{key:"command",label:"Command",render:e=>l.jsx(ce,{title:e.commandName,detail:Xi(e.commandSource)})},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"latency",label:"p95 latency",align:"end",render:e=>se(e.p95LatencyMs)},{key:"failure-rate",label:"Failure rate",align:"end",render:e=>ae(e.failureRate)}],ul=[{key:"route",label:"Route",render:e=>Qe(e.route)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)}],dl=[{key:"status",label:"Status",render:e=>ta(e.status)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)}],ml=[{key:"source",label:"Source",render:e=>Yi(e.source)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)}],fl=[{key:"cohort",label:"Cohort",render:e=>Zi(e.cohort)},{key:"cache",label:"Cache reuse",align:"end",render:e=>Jt(e.cacheHitRate)},{key:"coverage",label:"Cache data",align:"end",render:e=>ae(e.cacheTelemetryCoverage)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)}],vl=[{key:"started",label:"Started",render:e=>Qt(e.startedAt)},{key:"model",label:"Model",render:e=>l.jsx(ce,{title:e.model,detail:Je(e.provider)})},{key:"route",label:"Route",render:e=>l.jsx(ce,{title:Qe(e.route),detail:ta(e.status)})},{key:"kind",label:"Kind",render:e=>Ji(e.requestKind)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"cache",label:"Cache",align:"end",render:e=>Gi(e)},{key:"latency",label:"Latency",align:"end",render:e=>se(e.durationMs)},{key:"context",label:"Context",render:e=>Qi(e)}];function ce({title:e,detail:t}){return l.jsxs("span",{className:"usage-primary-cell",children:[l.jsx("strong",{children:e}),l.jsx("small",{children:t})]})}function hl({label:e,sessionId:t,onOpenSourceSession:a}){return l.jsx("button",{type:"button",className:"settings-icon-button ghost usage-source-action",title:e,"aria-label":e,onClick:()=>a(t),children:l.jsx(la,{size:14})})}function pl(e){const t=new Map;for(const s of e)for(const c of s.models){const m=De(c.provider,c.model),v=t.get(m)??{provider:c.provider,model:c.model,totalTokens:0,requests:0};v.totalTokens+=c.totalTokens,v.requests+=c.requests,t.set(m,v)}const a=[...t.values()].sort((s,c)=>c.totalTokens-s.totalTokens||c.requests-s.requests||s.model.localeCompare(c.model)),n=a.length>Ee?Ee-1:Ee,r=a.slice(0,n),i=new Map,o=r.map((s,c)=>{const m=`model${c}`;return i.set(De(s.provider,s.model),m),{dataKey:m,label:s.model,color:he[c%he.length]}}),u=a.length>r.length;return u&&o.push({dataKey:"otherModels",label:"Other models",color:he[Math.min(o.length,he.length-1)]}),{rows:e.map(s=>{const c={date:s.date,label:Vi(s.date),requests:s.requests,totalTokens:s.totalTokens};for(const v of o)c[v.dataKey]=0;let m=0;for(const v of s.models){const y=i.get(De(v.provider,v.model));y?c[y]=ea(c[y])+v.totalTokens:m+=v.totalTokens}return u&&(c.otherModels=m),c}),series:o}}function De(e,t){return`${e}\0${t}`}export{nl as UsageSettingsContent,Al as UsageSettingsSection};
|
|
7
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qr(e,t){if(e){if(typeof e=="string")return gt(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?gt(e,t):void 0}}function gt(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function ei(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,r,i,o,u=[],d=!0,s=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(d=(n=i.call(a)).done)&&(u.push(n.value),u.length!==t);d=!0);}catch(c){s=!0,r=c}finally{try{if(!d&&a.return!=null&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw r}}return u}}function ti(e){if(Array.isArray(e))return e}function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},F.apply(null,arguments)}function yt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function I(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?yt(Object(a),!0).forEach(function(n){ai(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):yt(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function ai(e,t,a){return(t=ni(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function ni(e){var t=ri(e,"string");return typeof t=="symbol"?t:t+""}function ri(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function xe(e,t){if(e==null)return{};var a,n,r=ii(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function ii(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var li=e=>{var t=e.dataKey,a=e.name,n=e.fill,r=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:r,color:n,value:Ot(a,t),payload:e}]},oi=f.memo(e=>{var t=e.dataKey,a=e.stroke,n=e.strokeWidth,r=e.fill,i=e.name,o=e.hide,u=e.unit,d=e.formatter,s=e.tooltipType,c=e.id,m={dataDefinedOnItem:void 0,getPosition:Ra,settings:{stroke:a,strokeWidth:n,fill:r,dataKey:t,nameKey:void 0,name:Ot(i,t),hide:o,type:s,color:r,unit:u,formatter:d,graphicalItemId:c}};return f.createElement(Ba,{tooltipEntrySettings:m})});function si(e){var t=oe(Nt),a=e.data,n=e.dataKey,r=e.background,i=e.allOtherBarProps,o=i.onMouseEnter,u=i.onMouseLeave,d=i.onClick,s=xe(i,Vr),c=Kt(o,n,i.id),m=_t(u),v=Ft(d,n,i.id);if(!r||a==null)return null;var y=Ha(r);return f.createElement(We,{zIndex:yr(r,Ue.barBackground)},a.map((h,b)=>{h.value;var p=h.background;h.tooltipPosition;var x=xe(h,Yr);if(!p)return null;var j=c(h,h.originalDataIndex),A=m(h,h.originalDataIndex),k=v(h,h.originalDataIndex),S=I(I(I(I(I({option:r,isActive:String(h.originalDataIndex)===t},x),{},{fill:"#eee"},p),y),ze(s,h,b)),{},{onMouseEnter:j,onMouseLeave:A,onClick:k,dataKey:n,index:b,className:"recharts-bar-background-rectangle"});return f.createElement(Ve,F({key:"background-bar-".concat(b)},S))}))}function ci(e){var t=e.showLabels,a=e.children,n=e.rects,r=n?.map(i=>{var o={x:i.x,y:i.y,width:i.width,lowerWidth:i.width,upperWidth:i.width,height:i.height};return I(I({},o),{},{value:i.value,payload:i.payload,parentViewBox:i.parentViewBox,viewBox:o,fill:i.fill})});return f.createElement(Xa,{value:t?r:void 0},a)}function ui(e){var t=e.shape,a=e.activeBar,n=e.baseProps,r=e.entry,i=e.index,o=e.dataKey,u=oe(Nt),d=oe(Ja),s=a&&String(r.originalDataIndex)===u&&(d==null||o===d),c=f.useState(!1),m=pt(c,2),v=m[0],y=m[1],h=f.useState(!1),b=pt(h,2),p=b[0],x=b[1];f.useEffect(()=>{var T;return s?(y(!0),T=requestAnimationFrame(()=>{x(!0)})):x(!1),()=>{cancelAnimationFrame(T)}},[s]);var j=f.useCallback(()=>{s||y(!1)},[s]),A=s&&p,k=s||v,S;s?a===!0?S=t:S=a:S=t;var w=f.createElement(Ve,F({},n,{name:String(n.name)},r,{isActive:A,option:S,index:i,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:j}));return k?f.createElement(We,{zIndex:Ue.activeBar},f.createElement(Wt,{index:r.originalDataIndex},w)):w}function di(e){var t=e.shape,a=e.baseProps,n=e.entry,r=e.index,i=e.dataKey;return f.createElement(Ve,F({},a,{name:String(a.name)},n,{isActive:!1,option:t,index:r,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function mi(e){var t,a=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,o=e.isEntrance,u=(t=Za(n))!==null&&t!==void 0?t:{},d=u.id,s=xe(u,Xr),c=n.shape,m=n.dataKey,v=n.activeBar,y=n.onMouseEnter,h=n.onClick,b=n.onMouseLeave,p=xe(n,Zr),x=Kt(y,m,d),j=_t(b),A=Ft(h,m,d);return a?f.createElement(f.Fragment,null,a.map((k,S)=>f.createElement(Wt,F({index:k.originalDataIndex,key:"rectangle-".concat(k?.x,"-").concat(k?.y,"-").concat(k?.value,"-").concat(S),className:"recharts-bar-rectangle"},ze(p,k,S),{onMouseEnter:x(k,k.originalDataIndex),onMouseLeave:j(k,k.originalDataIndex),onClick:A(k,k.originalDataIndex)}),v?f.createElement(ui,{shape:c,activeBar:v,baseProps:s,entry:k,index:S,dataKey:m,animationElapsedTime:r,isAnimating:i,isEntrance:o}):f.createElement(di,{shape:c,baseProps:s,entry:k,index:S,dataKey:m,animationElapsedTime:r,isAnimating:i,isEntrance:o})))):null}var fi=(e,t,a)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return a==="horizontal"?[I(I({},n.prev),{},{height:$(n.prev.height,0,t),y:$(n.prev.y,n.prev.y+n.prev.height,t)})]:[I(I({},n.prev),{},{width:$(n.prev.width,0,t)})];if(n.status==="matched")return[I(I({},n.next),{},{x:$(n.prev.x,n.next.x,t),y:$(n.prev.y,n.next.y,t),width:$(n.prev.width,n.next.width,t),height:$(n.prev.height,n.next.height,t)})];var r=n.next;return a==="horizontal"?[I(I({},r),{},{height:$(0,r.height,t),y:$(r.stackedBarStart,r.y,t)})]:[I(I({},r),{},{width:$(0,r.width,t),x:$(r.stackedBarStart,r.x,t)})]});function vi(e){var t=e.props,a=e.previousRectanglesRef,n=t.data,r=t.isAnimationActive,i=t.animationBegin,o=t.animationDuration,u=t.animationEasing,d=t.animationInterpolateFn,s=t.layout,c=Ga(t.onAnimationStart,t.onAnimationEnd),m=c.isAnimating,v=c.handleAnimationStart,y=c.handleAnimationEnd;return f.createElement(ci,{showLabels:!m,rects:n},f.createElement(Va,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:a,isAnimationActive:r,animationBegin:i,animationDuration:o,animationEasing:u,onAnimationStart:v,onAnimationEnd:y,animationInterpolateFn:d,animationMatchBy:t.animationMatchBy,layout:s},(h,b,p)=>f.createElement(pe,null,f.createElement(mi,{props:t,data:h,animationElapsedTime:b,isAnimating:m||b<1,isEntrance:p}))),f.createElement(Ya,{label:t.label}),t.children)}function hi(e){var t=f.useRef(null);return f.createElement(vi,{previousRectanglesRef:t,props:e})}var Ht=0,pi=(e,t)=>{var a=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:a,errorVal:Ct(e,t)}};class gi extends f.PureComponent{render(){var t=this.props,a=t.hide,n=t.data,r=t.dataKey,i=t.className,o=t.xAxisId,u=t.yAxisId,d=t.needClip,s=t.background,c=t.id;if(a||n==null)return null;var m=_e("recharts-bar",i),v=c;return f.createElement(pe,{className:m,id:c},d&&f.createElement("defs",null,f.createElement(za,{clipPathId:v,xAxisId:o,yAxisId:u})),f.createElement(pe,{className:"recharts-bar-rectangles",clipPath:d?"url(#clipPath-".concat(v,")"):void 0},f.createElement(si,{data:n,dataKey:r,background:s,allOtherBarProps:this.props}),f.createElement(hi,this.props)))}}var yi={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:fi,animationMatchBy:Ea,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:Ht,shape:Ge,xAxisId:0,yAxisId:0,zIndex:Ue.bar};function bi(e){var t=e.xAxisId,a=e.yAxisId,n=e.hide,r=e.legendType,i=e.minPointSize,o=e.activeBar,u=e.animationBegin,d=e.animationDuration,s=e.animationEasing,c=e.isAnimationActive,m=qa(t,a),v=m.needClip,y=Ka(),h=wt(),b=_a(e.children,qt),p=oe(A=>_r(A,e.id,h,b));if(y!=="vertical"&&y!=="horizontal")return null;var x,j=p?.[0];return j==null||j.height==null||j.width==null?x=0:x=y==="vertical"?j.height/2:j.width/2,f.createElement(Fa,{xAxisId:t,yAxisId:a,data:p,dataPointFormatter:pi,errorBarOffset:x},f.createElement(gi,F({},e,{layout:y,needClip:v,data:p,xAxisId:t,yAxisId:a,hide:n,legendType:r,minPointSize:i,activeBar:o,animationBegin:u,animationDuration:d,animationEasing:s,isAnimationActive:c})))}function xi(e){var t=e.layout,a=e.barSettings,n=a.dataKey,r=a.minPointSize,i=a.hasCustomShape,o=e.pos,u=e.bandSize,d=e.xAxis,s=e.yAxis,c=e.xAxisTicks,m=e.yAxisTicks,v=e.stackedData,y=e.displayedData,h=e.offset,b=e.cells,p=e.parentViewBox,x=e.dataStartIndex,j=t==="horizontal"?s:d,A=v?j.scale.domain():null,k=Ua({numericAxis:j}),S=j.scale.map(k);return y.map((w,T)=>{var g,D,q,O,P,X;if(v){var W=v[T+x];if(W==null)return null;g=Wa(W,A)}else g=Ct(w,n),Array.isArray(g)||(g=[k,g]);var C=Pr(r,Ht)(g[1],T);if(t==="horizontal"){var re,Se=s.scale.map(g[0]),ie=s.scale.map(g[1]);if(Se==null||ie==null)return null;D=lt({axis:d,ticks:c,bandSize:u,offset:o.offset,entry:w,index:T}),q=(re=ie??Se)!==null&&re!==void 0?re:void 0,O=o.size;var et=Se-ie;if(P=Qa(et)?0:et,X={x:D,y:h.top,width:O,height:h.height},Math.abs(C)>0&&Math.abs(P)<Math.abs(C)){var tt=ot(P||C)*(Math.abs(C)-Math.abs(P));q-=tt,P+=tt}}else{var Ie=d.scale.map(g[0]),at=d.scale.map(g[1]);if(Ie==null||at==null)return null;if(D=Ie,q=lt({axis:s,ticks:m,bandSize:u,offset:o.offset,entry:w,index:T}),O=at-Ie,P=o.size,X={x:h.left,y:q,width:h.width,height:P},Math.abs(C)>0&&Math.abs(O)<Math.abs(C)){var na=ot(O||C)*(Math.abs(C)-Math.abs(O));O+=na}}if(D==null||q==null||O==null||P==null||!i&&(O===0||P===0))return null;var ra=I(I({},w),{},{stackedBarStart:S,x:D,y:q,width:O,height:P,value:v?g:g[1],payload:w,background:X,tooltipPosition:{x:D+O/2,y:q+P/2},parentViewBox:p,originalDataIndex:T},b&&b[T]&&b[T].props);return ra}).filter(Boolean)}function ki(e){var t=Fe(e,yi),a=Wr(t.stackId),n=wt();return f.createElement(Da,{id:t.id,type:"bar"},r=>f.createElement(f.Fragment,null,f.createElement($a,{legendPayload:li(t)}),f.createElement(oi,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:r}),f.createElement(La,{type:"bar",id:r,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:a,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==Ge}),f.createElement(We,{zIndex:t.zIndex},f.createElement(bi,F({},t,{id:r})))))}var Gt=f.memo(ki,At);Gt.displayName="Bar";var ji=["axis","item"],Ai=f.forwardRef((e,t)=>f.createElement(en,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:ji,tooltipPayloadSearcher:tn,categoricalChartProps:e,ref:t}));const Oe=["#67b7ff","#9b82ff","#ea74ca","#ff8b78","#f6bd5c","#55d6ad","#49c6e5","#7f9cff","#c879ff","#8bd35f"],Vt=new Intl.NumberFormat("en-US"),Pi=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}),H=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}),Si=new Intl.DateTimeFormat("en-US",{month:"short"});function Ii({account:e,summary:t,loading:a,range:n}){const[r,i]=f.useState("daily"),o=f.useMemo(()=>Mi(t?.daily??[],t?.range.to??t?.generatedAt),[t]),u=f.useMemo(()=>Bi(t?.models??[],t?.daily??[]),[t]),d=f.useMemo(()=>new Map(u.map(p=>[p.key,p.color])),[u]),s=qi(e),c=t?.totals??null,m=Ye(t?.models??[])[0]??null,v=c?.requests?c.completedRequests/c.requests:0,y=c&&c.promptTokens!==null&&c.completionTokens!==null?c.completionTokens/Math.max(1,c.promptTokens+c.completionTokens):null,h=[{label:n==="all"?"Lifetime tokens":"Tokens in range",value:c?G(c.totalTokens):a?"Loading":"0"},{label:"Peak day",value:c?G(c.peakDailyTokens):a?"Loading":"0"},{label:"Longest request",value:c?_i(c.longestRequestMs):a?"Loading":"—"},{label:"Current streak",value:c?bt(c.currentStreakDays):a?"Loading":"0 days"},{label:"Longest streak",value:c?bt(c.longestStreakDays):a?"Loading":"0 days"}],b=[{label:"Most used model",value:m?.model??"No model activity"},{label:"Successful requests",value:ve(v)},{label:"Active days",value:te(c?.activeDays??0)},{label:"Total requests",value:te(c?.requests??0)},{label:"Completion share",value:y===null?"Not reported":ve(y)},{label:"Prompt cache reuse",value:c?.cacheHitRate===null||c?.cacheHitRate===void 0?"Not reported":ve(c.cacheHitRate)},{label:"Cache telemetry",value:c&&c.promptTokens!==null?ve(c.cacheTelemetryCoverage):"Not reported"}];return l.jsxs("div",{className:"usage-activity-overview",children:[l.jsxs("header",{className:"usage-profile-header",children:[l.jsx("div",{className:"usage-profile-avatar","aria-hidden":"true",children:s.image?l.jsx("img",{src:s.image,alt:""}):l.jsx("span",{children:s.initial})}),l.jsxs("div",{className:"usage-profile-copy",children:[l.jsx("h1",{children:s.name}),l.jsxs("div",{className:"usage-profile-meta",children:[l.jsx("span",{children:s.handle}),s.badge?l.jsx("span",{className:"usage-profile-badge",children:s.badge}):null]})]})]}),l.jsx("div",{className:"usage-hero-metrics","aria-label":"Activity summary",children:h.map(p=>l.jsxs("div",{className:"usage-hero-metric",children:[l.jsx("strong",{children:p.value}),l.jsx("span",{children:p.label})]},p.label))}),l.jsxs("section",{className:"usage-activity-section","aria-labelledby":"usage-activity-title",children:[l.jsxs("div",{className:"usage-section-heading",children:[l.jsxs("div",{children:[l.jsx("h2",{id:"usage-activity-title",children:"Token activity"}),l.jsx("span",{children:Ki(t,n)})]}),l.jsx("div",{className:"usage-activity-mode",role:"group","aria-label":"Activity display",children:["daily","weekly","cumulative"].map(p=>l.jsx("button",{type:"button",className:r===p?"active":"",onClick:()=>i(p),children:Yt(p)},p))})]}),a&&!t?l.jsxs("div",{className:"usage-activity-loading",children:[l.jsx(kt,{className:"settings-spin",size:16}),l.jsx("span",{children:"Loading activity"})]}):l.jsx(Ti,{calendar:o,colorByModel:d,mode:r,modelColors:u})]}),l.jsxs("div",{className:"usage-insight-grid",children:[l.jsxs("section",{className:"usage-insight-section","aria-labelledby":"usage-summary-title",children:[l.jsx("h2",{id:"usage-summary-title",children:"Activity summary"}),l.jsx("div",{className:"usage-insight-list",children:b.map(p=>l.jsxs("div",{className:"usage-insight-row",children:[l.jsx("span",{children:p.label}),l.jsx("strong",{title:p.value,children:p.value})]},p.label))})]}),l.jsx(Ni,{colorByModel:d,rows:t?.models??[],totalTokens:c?.totalTokens??0})]})]})}function B(e,t){return JSON.stringify([e,t])}function Ti({calendar:e,colorByModel:t,mode:a,modelColors:n}){const[r,i]=f.useState(null),o=f.useRef(null),[u,d]=f.useState(e.length);f.useEffect(()=>{if(a!=="daily")return;const m=o.current;if(!m)return;const v=()=>{const h=Math.max(e.length,Math.ceil((m.clientWidth+4)/14));d(b=>b===h?b:h)};v();const y=new ResizeObserver(v);return y.observe(m),()=>y.disconnect()},[e.length,a]);const s=f.useMemo(()=>a==="daily"?Ei(e,u):e,[e,u,a]),c=s.map((m,v)=>{const y=K(m.firstDate),h=v>0?K(s[v-1].firstDate):null;return!h||h.getMonth()!==y.getMonth()?Si.format(y):""});return l.jsxs("div",{className:"usage-activity-visualization",ref:o,children:[a==="daily"&&r&&!r.day.future?l.jsx(wi,{colorByModel:t,day:r.day,left:r.left,top:r.top}):null,l.jsx("div",{className:"usage-activity-scroll",children:l.jsxs("div",{className:"usage-activity-canvas",style:{"--usage-week-count":s.length,"--usage-canvas-width":`${Math.max(10,s.length*14-4)}px`},children:[a==="daily"?l.jsx("div",{className:"usage-heatmap",role:"grid","aria-label":"Daily token activity since July",children:s.flatMap(m=>m.days.map(v=>{const y=Li(v.models,t);return l.jsx("span",{"aria-label":$i(v),className:`usage-activity-cell ${v.future?"future":""} ${v.totalTokens>0?"has-activity":""}`,"data-level":Di(v.totalTokens,s),"data-model-count":v.models.length,onBlur:()=>i(null),onFocus:h=>{const b=Ce(v,h.currentTarget);b&&i(b)},onKeyDown:h=>{if(h.key!=="Enter"&&h.key!==" ")return;const b=Ce(v,h.currentTarget);b&&i(b)},onMouseEnter:h=>{const b=Ce(v,h.currentTarget);b&&i(b)},onMouseLeave:()=>i(null),role:"gridcell",style:y?{"--usage-cell-gradient":y}:void 0,tabIndex:v.future?void 0:-1},v.date)}))}):l.jsx(Ci,{calendar:s,cumulative:a==="cumulative"}),l.jsx("div",{className:"usage-activity-months","aria-hidden":"true",children:c.map((m,v)=>l.jsx("span",{children:m},`${s[v].firstDate}:${m}`))}),l.jsx("div",{className:"usage-activity-year","aria-hidden":"true",children:s.length?K(s[0].firstDate).getFullYear():""})]})}),n.length?l.jsx(Oi,{models:n}):null]})}function wi({colorByModel:e,day:t,left:a,top:n}){return l.jsxs("div",{className:"usage-day-tooltip",role:"status",style:{"--usage-tooltip-left":`${a}px`,"--usage-tooltip-top":`${n}px`},children:[l.jsx("strong",{children:H.format(K(t.date))}),l.jsx("span",{children:t.totalTokens>0?`${G(t.totalTokens)} tokens · ${te(t.requests)} ${t.requests===1?"request":"requests"}`:"No recorded usage"}),t.models.length?l.jsx("div",{className:"usage-day-tooltip-models",children:t.models.map(r=>l.jsxs("div",{children:[l.jsx("i",{"aria-hidden":"true",style:{background:e.get(B(r.provider,r.model)),color:e.get(B(r.provider,r.model))}}),l.jsx("small",{title:`${Xe(r.provider)} · ${r.model}`,children:r.model}),l.jsx("em",{children:G(r.totalTokens)})]},B(r.provider,r.model)))}):null]})}function Oi({models:e}){return l.jsx("div",{className:"usage-model-legend","aria-label":"Model colors",children:e.map(t=>l.jsxs("span",{title:`${Xe(t.provider)} · ${t.model}`,children:[l.jsx("i",{"aria-hidden":"true",style:{background:t.color}}),t.model]},t.key))})}function Ci({calendar:e,cumulative:t}){let a=0;const n=e.map(i=>(a+=i.totalTokens,t?a:i.totalTokens)),r=Math.max(1,...n);return l.jsx("div",{className:`usage-activity-bars ${t?"cumulative":""}`,role:"img","aria-label":t?"Cumulative token activity by week":"Weekly token activity",children:n.map((i,o)=>l.jsx("span",{"aria-hidden":"true",style:{height:`${Math.max(i>0?5:2,i/r*100)}%`},title:`${Ri(e[o])}: ${G(i)}${t?" cumulative":""}`},e[o].firstDate))})}function Ni({colorByModel:e,rows:t,totalTokens:a}){const n=Ye(t);return l.jsxs("section",{className:"usage-insight-section","aria-labelledby":"usage-model-mix-title",children:[l.jsx("h2",{id:"usage-model-mix-title",children:"Model activity"}),n.length?l.jsx("div",{className:"usage-model-mix",children:n.map(r=>{const i=(r.totalTokens??0)/Math.max(1,a),o=e.get(B(r.provider,r.model))??ke(0);return l.jsxs("div",{className:"usage-model-mix-row",children:[l.jsx("div",{className:"usage-model-mix-icon","aria-hidden":"true",style:{background:o}}),l.jsxs("div",{className:"usage-model-mix-copy",children:[l.jsx("strong",{title:r.model,children:r.model}),l.jsxs("span",{children:[Xe(r.provider)," · ",te(r.requests)," requests"]}),l.jsx("i",{style:{"--usage-model-color":o,"--usage-model-share":`${Math.min(100,i*100)}%`}})]}),l.jsx("span",{children:G(r.totalTokens)})]},B(r.provider,r.model))})}):l.jsxs("div",{className:"usage-model-mix-empty",children:[l.jsx(ia,{size:16}),l.jsx("span",{children:"No model activity yet"})]})]})}function Mi(e,t){const a=t?new Date(t):new Date,n=Number.isNaN(a.getTime())?new Date:a,r=new Date(n.getFullYear(),6,1),i=Z(Fi(n),6-n.getDay()),o=Math.max(1,Math.ceil((i.getTime()-r.getTime()+1)/(10080*60*1e3))),u=new Map(e.map(s=>[s.date,s])),d=[];for(let s=0;s<o;s+=1){const c=[];for(let m=0;m<7;m+=1){const v=Z(r,s*7+m),y=Xt(v),h=u.get(y);c.push({date:y,future:v>n,models:h?.models??[],requests:h?.requests??0,totalTokens:h?.totalTokens??0})}d.push({days:c,firstDate:c[0].date,totalTokens:c.reduce((m,v)=>m+v.totalTokens,0)})}return d}function Ei(e,t){if(e.length>=t)return e;const a=[...e];let n=Z(K(e.at(-1).firstDate),7);for(;a.length<t;){const r=Array.from({length:7},(i,o)=>{const u=Z(n,o);return{date:Xt(u),future:!0,models:[],requests:0,totalTokens:0}});a.push({days:r,firstDate:r[0].date,totalTokens:0}),n=Z(n,7)}return a}function Di(e,t){if(e<=0)return 0;const a=t.flatMap(i=>i.days.map(o=>o.totalTokens)).filter(i=>i>0),n=Math.max(1,...a),r=e/n;return r>=.75?5:r>=.5?4:r>=.25?3:r>=.1?2:1}function $i(e){const t=K(e.date);return e.future?H.format(t):`${H.format(t)}: ${G(e.totalTokens)} tokens across ${te(e.requests)} requests`}function Ce(e,t){const a=t.closest(".usage-activity-visualization");if(!a)return null;const n=t.getBoundingClientRect(),r=a.getBoundingClientRect(),i=Math.min(125,Math.max(0,(r.width-16)/2)),o=n.left-r.left+n.width/2;return{day:e,left:Math.min(Math.max(o,i),Math.max(i,r.width-i)),top:n.top-r.top}}function Li(e,t){const a=e.filter(o=>o.totalTokens>0).sort((o,u)=>u.totalTokens-o.totalTokens);if(!a.length)return null;if(a.length===1){const o=t.get(B(a[0].provider,a[0].model))??ke(0);return`linear-gradient(135deg, ${o}, ${o})`}const n=a.reduce((o,u)=>o+u.totalTokens,0);let r=0;return`linear-gradient(135deg, ${a.map((o,u)=>{const d=t.get(B(o.provider,o.model))??ke(u),s=r+o.totalTokens/Math.max(1,n)*50;return r+=o.totalTokens/Math.max(1,n)*100,`${d} ${Math.round(s)}%`}).join(", ")})`}function Bi(e,t){const a=Ye(e),n=new Set(a.map(r=>B(r.provider,r.model)));for(const r of t)for(const i of r.models){const o=B(i.provider,i.model);n.has(o)||(n.add(o),a.push({provider:i.provider,model:i.model,route:"unknown",requests:i.requests,promptTokens:null,cacheTelemetryRequests:0,cacheHitRequests:0,cachedPromptTokens:null,uncachedPromptTokens:null,cacheWritePromptTokens:null,cacheHitRate:null,cacheRequestHitRate:null,cacheTelemetryCoverage:0,completionTokens:null,totalTokens:i.totalTokens,averageLatencyMs:null,p95LatencyMs:null,averageFirstTokenMs:null,p95FirstTokenMs:null,failures:0,failureRate:0,firstSeenAt:r.date,lastSeenAt:r.date}))}return a.map((r,i)=>({color:ke(i),key:B(r.provider,r.model),model:r.model,provider:r.provider}))}function ke(e){return e<Oe.length?Oe[e]:`hsl(${Math.round((205+(e-Oe.length)*137.508)%360)} 76% 68%)`}function Ri(e){const t=K(e.firstDate),a=Z(t,6);return`${H.format(t)} – ${H.format(a)}`}function Ye(e){const t=new Map;for(const a of e){const n=B(a.provider,a.model),r=t.get(n);if(!r){t.set(n,{...a});continue}r.requests+=a.requests,r.promptTokens=Me(r.promptTokens,a.promptTokens),r.completionTokens=Me(r.completionTokens,a.completionTokens),r.totalTokens=Me(r.totalTokens,a.totalTokens),r.failures+=a.failures,r.failureRate=r.requests>0?r.failures/r.requests:0,r.firstSeenAt=r.firstSeenAt<a.firstSeenAt?r.firstSeenAt:a.firstSeenAt,r.lastSeenAt=r.lastSeenAt>a.lastSeenAt?r.lastSeenAt:a.lastSeenAt}return[...t.values()].sort((a,n)=>(n.totalTokens??-1)-(a.totalTokens??-1)||n.requests-a.requests||a.model.localeCompare(n.model))}function qi(e){const t=e?.accounts.find(o=>o.isActive)??null,a=Ne(e?.profile?.name,t?.displayLabel,e?.label,e?.profile?.handle,"Your activity"),n=Ne(e?.profile?.handle,t?.handle,e?.activeProfile?.handle),r=n?`@${n.replace(/^@/,"")}`:"Local OpenPond usage",i=e?.products.find(o=>o.isActive)?.name??null;return{name:a,handle:r,badge:i,image:Ne(e?.profile?.image,e?.avatarUrl,t?.avatarUrl),initial:a.slice(0,1).toUpperCase()}}function Ki(e,t){if(t!=="all")return`${t==="7d"?"Last 7 days":t==="30d"?"Last 30 days":"Last 90 days"} · days outside this filter stay empty`;if(!e||e.totals.requests===0)return"Last 12 months · days without recorded usage stay empty";const a=e.daily[0]?.date,n=e.daily.at(-1)?.date;if(!a||!n)return"Last 12 months";const r=H.format(K(a)),i=H.format(K(n));return a===n?`Last 12 months · stored activity on ${r}`:`Last 12 months · stored activity ${r} – ${i}`}function Xe(e){return e==="openai"?"OpenAI":e==="anthropic"?"Anthropic":e==="google"?"Google":e==="openpond"?"OpenPond":e==="openrouter"?"OpenRouter":e==="codex"?"Codex":Yt(e.replaceAll("_"," "))}function Ne(...e){for(const t of e){const a=t?.trim();if(a)return a}return null}function Me(e,t){return e===null&&t===null?null:(e??0)+(t??0)}function G(e){return e===null?"Not reported":e>=1e4?Pi.format(e):Vt.format(e)}function te(e){return Vt.format(e)}function ve(e){return`${Math.round(e*100)}%`}function bt(e){return`${te(e)} ${e===1?"day":"days"}`}function _i(e){if(e===null)return"Not reported";const t=Math.round(e/1e3);if(t<60)return`${t}s`;const a=Math.floor(t/3600),n=Math.floor(t%3600/60);return a>0?`${a}h ${n}m`:`${n}m ${t%60}s`}function Yt(e){return e.replace(/\b\w/g,t=>t.toUpperCase())}function Fi(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function Z(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function Xt(e){return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")}function K(e){const[t,a,n]=e.split("-").map(Number);return new Date(t,a-1,n)}const Ze=new Intl.NumberFormat("en-US"),Zt=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}),zi=new Intl.NumberFormat("en-US",{maximumFractionDigits:1}),Ui=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}),Wi=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function L(e){return Ze.format(e)}function Hi(e){return Zt.format(e)}function U(e){return e===null?"missing":e>=1e4?Zt.format(e):Ze.format(e)}function se(e){return e===null?"missing":e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}s`:`${Ze.format(Math.round(e))}ms`}function ae(e){return`${zi.format(e*100)}%`}function Jt(e){return e===null?"not reported":ae(e)}function Gi(e){if(e.cacheTelemetrySource===null)return"not reported";if(e.cachedPromptTokens===null||e.uncachedPromptTokens===null)return"reported";const t=e.cachedPromptTokens+e.uncachedPromptTokens;return t>0?ae(e.cachedPromptTokens/t):"0%"}function Vi(e){const t=new Date(`${e}T00:00:00`);return Number.isNaN(t.getTime())?e:Ui.format(t)}function Qt(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:Wi.format(t)}function ea(e){if(typeof e=="number")return e;if(typeof e=="string"){const t=Number(e);return Number.isFinite(t)?t:0}return 0}function Je(e){return{openai:"OpenAI",anthropic:"Anthropic",google:"Google",openpond:"OpenPond",openrouter:"OpenRouter",codex:"Codex"}[e]??Pe(e)}function Qe(e){return e==="openpond_hosted"?"OpenPond hosted":e==="local_byok"?"Local BYOK":e==="codex_app_server"?"Codex app server":"Unknown"}function Yi(e){return e==="provider_usage"?"Provider usage":e==="codex_context_usage"?"Codex context":e==="missing"?"Missing":Pe(e)}function ta(e){return Pe(e)}function Xi(e){return e?{composer_selection:"Composer selection",prompt_parse:"Prompt parse",server_parser:"Server parser",model_tool:"Model tool"}[e]??Pe(e):"Unknown source"}function Zi(e){return{foreground:"Foreground",tool_loop:"Tool loop",compaction:"Compaction",subagent:"Subagent",refiner:"Refiner"}[e]??"Other"}function Ji(e){return{chat_turn:"Chat turn",tool_loop:"Tool loop",slash_command:"Slash command",create_improve_planner:"Create/Improve planner",harness_refiner:"Harness Refiner",context_compaction:"Compaction",subagent:"Subagent",codex_context:"Codex context"}[e]??"Other"}function Qi(e){return e.attribution.commandName?e.attribution.commandName:e.sessionId?aa(e.sessionId):"None"}function Pe(e){return e.split("_").filter(Boolean).map(t=>`${t.slice(0,1).toUpperCase()}${t.slice(1)}`).join(" ")}function aa(e){return e.length<=14?e:`${e.slice(0,8)}...${e.slice(-4)}`}const el=[{value:"7d",label:"7 days"},{value:"30d",label:"30 days"},{value:"90d",label:"90 days"},{value:"all",label:"All time"}],tl=[{value:"all",label:"All calls"},{value:"user_facing",label:"User-facing"},{value:"background",label:"Background"},{value:"system",label:"System"}],al=[{value:"all",label:"All statuses"},{value:"started",label:"Started"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"interrupted",label:"Interrupted"},{value:"missing",label:"Missing usage"}],Ee=8,he=["#5b8def","#41b883","#f2a65a","#d66ba0","#8f7ee7","#4fb6c2","#d6c15c","#9b9b9b"];function jl({account:e=null,connection:t,enabled:a,modelFocused:n=!1,onError:r,onOpenSourceSession:i}){const[o,u]=f.useState("all"),[d,s]=f.useState("all"),[c,m]=f.useState("all"),[v,y]=f.useState("all"),[h,b]=f.useState("all"),[p,x]=f.useState(null),[j,A]=f.useState(null),[k,S]=f.useState(null),[w,T]=f.useState(!1),[g,D]=f.useState(null);f.useEffect(()=>{if(!a)return;if(!t){x(null),A(null),S(null),T(!1),D("Usage data is unavailable");return}let P=!1;T(!0),D(null);const X={range:o,visibility:d,status:c};return Promise.all([Te.usage(t,{...X,provider:n&&v!=="all"?v:null,model:n&&h!=="all"?h:null}),Te.usageRecords(t,{...X,provider:n&&v!=="all"?v:null,model:n&&h!=="all"?h:null,limit:100}),n?Te.usage(t,{range:o}):Promise.resolve(null)]).then(([W,C,re])=>{P||(x(W),S(C),A(re),D(null),r(null))}).catch(W=>{if(P)return;const C=W instanceof Error?W.message:"Failed to load usage";D(C),r(C)}).finally(()=>{P||T(!1)}),()=>{P=!0}},[t,a,h,n,r,v,o,c,d]);const q=f.useMemo(()=>[...new Set((j?.models??[]).map(P=>P.provider))].sort(),[j]),O=f.useMemo(()=>[...new Set((j?.models??[]).filter(P=>v==="all"||P.provider===v).map(P=>P.model))].sort(),[j,v]);return l.jsx(nl,{account:e,summary:p,recordsResponse:k,loading:w,error:g,range:o,visibility:d,status:c,onRangeChange:u,onVisibilityChange:s,onStatusChange:m,provider:n?v:void 0,model:n?h:void 0,providerOptions:n?q:void 0,modelOptions:n?O:void 0,onProviderChange:n?P=>{y(P),b("all")}:void 0,onModelChange:n?b:void 0,onOpenSourceSession:i,modelFocused:n})}function nl({account:e=null,summary:t,recordsResponse:a,loading:n,error:r,range:i,visibility:o,status:u,onRangeChange:d,onVisibilityChange:s,onStatusChange:c,provider:m,model:v,providerOptions:y,modelOptions:h,onProviderChange:b,onModelChange:p,onOpenSourceSession:x,modelFocused:j=!1}){la(r);const A=f.useMemo(()=>pl(t?.daily??[]),[t]),k=f.useMemo(()=>xt(sl,x,g=>g.sessionId,"Open thread"),[x]),S=f.useMemo(()=>xt(vl,x,g=>g.sessionId,"Open request source"),[x]),w=a?.records??[],T=!!(t&&t.totals.requests>0);return l.jsxs("section",{className:"account-settings usage-settings",children:[l.jsx(Ii,{account:e,summary:t,loading:n,range:i}),l.jsx("div",{className:"usage-details-title",children:l.jsxs("div",{children:[l.jsx("h2",{children:j?"Model usage":"Detailed usage"}),l.jsx("span",{children:j?"Inspect model requests, tokens, prompt-cache reuse, providers, and latency.":"Inspect cache reuse, latency, routes, threads, workflows, and individual requests."})]})}),l.jsxs("div",{className:"usage-toolbar",children:[l.jsx("div",{className:"usage-range-control",role:"group","aria-label":"Usage range",children:el.map(g=>l.jsx("button",{type:"button",className:i===g.value?"active":"",disabled:!d,onClick:()=>d?.(g.value),children:g.label},g.value))}),l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Visibility"}),l.jsx("select",{value:o,disabled:!s,onChange:g=>s?.(g.target.value),children:tl.map(g=>l.jsx("option",{value:g.value,children:g.label},g.value))})]}),l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Status"}),l.jsx("select",{value:u,disabled:!c,onChange:g=>c?.(g.target.value),children:al.map(g=>l.jsx("option",{value:g.value,children:g.label},g.value))})]}),m!==void 0?l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Provider"}),l.jsxs("select",{"aria-label":"Filter usage by provider",value:m,disabled:!b,onChange:g=>b?.(g.target.value),children:[l.jsx("option",{value:"all",children:"All providers"}),(y??[]).map(g=>l.jsx("option",{value:g,children:Je(g)},g))]})]}):null,v!==void 0?l.jsxs("label",{className:"usage-filter-control",children:[l.jsx("span",{children:"Model"}),l.jsxs("select",{"aria-label":"Filter usage by model",value:v,disabled:!p,onChange:g=>p?.(g.target.value),children:[l.jsx("option",{value:"all",children:"All models"}),(h??[]).map(g=>l.jsx("option",{value:g,children:g},g))]})]}):null]}),l.jsx(rl,{title:"Daily tokens",children:l.jsx(il,{chart:A,loading:n&&!t})}),t&&!T?l.jsxs("div",{className:"account-list usage-empty-state",children:[l.jsx("strong",{children:"No usage records"}),l.jsx("span",{children:"Calls will appear after the next model request."})]}):null,l.jsx(_,{title:"Models",rows:t?.models??[],rowKey:g=>`${g.provider}:${g.model}:${g.route}`,emptyLabel:"No model usage",columns:ol}),j?null:l.jsxs(l.Fragment,{children:[l.jsx(_,{title:"Threads",rows:t?.threads??[],rowKey:g=>g.sessionId,emptyLabel:"No thread usage",columns:k,pageSize:10}),l.jsx(_,{title:"Slash commands",rows:t?.commands??[],rowKey:g=>`${g.commandName}:${g.commandSource??"unknown"}`,emptyLabel:"No command usage",columns:cl}),l.jsxs("div",{className:"usage-breakdown-grid",children:[l.jsx(_,{title:"Cache cohorts",rows:t?.cohorts??[],rowKey:g=>g.cohort,emptyLabel:"No cache cohorts",columns:fl,compact:!0}),l.jsx(_,{title:"Routes",rows:t?.routes??[],rowKey:g=>g.route,emptyLabel:"No route usage",columns:ul,compact:!0}),l.jsx(_,{title:"Statuses",rows:t?.statuses??[],rowKey:g=>g.status,emptyLabel:"No status usage",columns:dl,compact:!0}),l.jsx(_,{title:"Sources",rows:t?.sources??[],rowKey:g=>g.source,emptyLabel:"No source usage",columns:ml,compact:!0})]})]}),l.jsx(_,{title:"Requests",rows:w,rowKey:g=>g.id,emptyLabel:"No requests",columns:S,footer:a?.hasMore?`Showing ${w.length} recent requests`:null})]})}function xt(e,t,a,n){return t?[...e,{key:"open-source",label:"Open",align:"end",render:r=>{const i=a(r);return i?l.jsx(hl,{label:n,sessionId:i,onOpenSourceSession:t}):l.jsx("span",{"aria-hidden":"true"})}}]:e}function rl({title:e,children:t}){return l.jsxs("div",{className:"account-list usage-panel",children:[l.jsx("div",{className:"account-list-heading",children:l.jsx("span",{children:e})}),t]})}function il({chart:e,loading:t}){return t?l.jsxs("div",{className:"usage-chart-empty",children:[l.jsx(kt,{className:"settings-spin",size:16}),l.jsx("span",{children:"Loading usage"})]}):e.rows.length===0||e.series.length===0?l.jsx("div",{className:"usage-chart-empty",children:"No daily tokens"}):l.jsx("div",{className:"usage-chart-frame",children:l.jsx(an,{width:"100%",height:"100%",children:l.jsxs(Ai,{data:e.rows,margin:{top:18,right:10,bottom:2,left:-8},children:[l.jsx(nn,{stroke:"rgba(255, 255, 255, 0.06)",vertical:!1}),l.jsx(rn,{dataKey:"label",axisLine:!1,tickLine:!1,tick:{fill:"#9b9b9b",fontSize:11}}),l.jsx(ln,{axisLine:!1,tickLine:!1,tick:{fill:"#9b9b9b",fontSize:11},tickFormatter:a=>Hi(Number(a))}),l.jsx(on,{content:l.jsx(ll,{}),cursor:{fill:"rgba(255, 255, 255, 0.04)"}}),l.jsx(Rt,{iconType:"square",wrapperStyle:{color:"#c8c8c8",fontSize:11,paddingTop:8}}),e.series.map(a=>l.jsx(Gt,{dataKey:a.dataKey,name:a.label,stackId:"tokens",fill:a.color,radius:[3,3,0,0],isAnimationActive:!1},a.dataKey))]})})})}function ll({active:e,payload:t,label:a}){if(!e||!t?.length)return null;const n=t.map(r=>({color:r.color??"#9b9b9b",name:r.name??"Model",value:ea(r.value)})).filter(r=>r.value>0);return n.length===0?null:l.jsxs("div",{className:"usage-chart-tooltip",children:[l.jsx("strong",{children:a}),n.map(r=>l.jsxs("div",{children:[l.jsx("span",{style:{backgroundColor:r.color}}),l.jsx("small",{children:r.name}),l.jsx("em",{children:U(r.value)})]},r.name))]})}function _({title:e,rows:t,rowKey:a,columns:n,emptyLabel:r,footer:i,compact:o=!1,pageSize:u}){const[d,s]=f.useState(0),c=u?Math.max(1,Math.ceil(t.length/u)):1,m=Math.min(d,c-1),v=u?t.slice(m*u,m*u+u):t,y=m*(u??t.length)+1,h=Math.min(t.length,y+(u??t.length)-1);return f.useEffect(()=>{d!==m&&s(m)},[m,d]),l.jsxs("div",{className:`account-list usage-table-panel ${o?"compact":""}`,children:[l.jsxs("div",{className:"account-list-heading",children:[l.jsx("span",{children:e}),l.jsx("small",{children:t.length?L(t.length):""})]}),t.length===0?l.jsx("div",{className:"usage-table-empty",children:r}):l.jsxs("div",{className:"usage-table-scroll",children:[l.jsxs("table",{className:"usage-table",children:[l.jsx("thead",{children:l.jsx("tr",{children:n.map(b=>l.jsx("th",{className:b.align==="end"?"align-end":void 0,children:b.label},b.key))})}),l.jsx("tbody",{children:v.map((b,p)=>l.jsx("tr",{children:n.map(x=>l.jsx("td",{className:x.align==="end"?"align-end":void 0,children:x.render(b)},x.key))},a(b,p)))})]}),i||u?l.jsxs("div",{className:"usage-table-footer",children:[i?l.jsx("span",{children:i}):null,u&&t.length?l.jsxs("span",{children:["Showing ",L(y),"–",L(h)," of ",L(t.length)]}):null,u&&c>1?l.jsxs("nav",{className:"usage-table-pagination","aria-label":`${e} pages`,children:[l.jsx("button",{type:"button",disabled:m===0,onClick:()=>s(b=>Math.max(0,b-1)),children:"Previous"}),l.jsxs("span",{children:["Page ",m+1," of ",c]}),l.jsx("button",{type:"button",disabled:m===c-1,onClick:()=>s(b=>Math.min(c-1,b+1)),children:"Next"})]}):null]}):null]})]})}const ol=[{key:"model",label:"Model",render:e=>l.jsx(ce,{title:e.model,detail:`${Je(e.provider)} / ${Qe(e.route)}`})},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"cache",label:"Cache reuse",align:"end",render:e=>Jt(e.cacheHitRate)},{key:"coverage",label:"Cache data",align:"end",render:e=>ae(e.cacheTelemetryCoverage)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"latency",label:"p95 latency",align:"end",render:e=>se(e.p95LatencyMs)},{key:"first-token",label:"First token",align:"end",render:e=>se(e.p95FirstTokenMs)},{key:"failure-rate",label:"Failure rate",align:"end",render:e=>ae(e.failureRate)}],sl=[{key:"thread",label:"Thread",render:e=>l.jsx(ce,{title:e.title??"Untitled thread",detail:aa(e.sessionId)})},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"latency",label:"p95 latency",align:"end",render:e=>se(e.p95LatencyMs)},{key:"last-seen",label:"Last seen",align:"end",render:e=>Qt(e.lastSeenAt)}],cl=[{key:"command",label:"Command",render:e=>l.jsx(ce,{title:e.commandName,detail:Xi(e.commandSource)})},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"latency",label:"p95 latency",align:"end",render:e=>se(e.p95LatencyMs)},{key:"failure-rate",label:"Failure rate",align:"end",render:e=>ae(e.failureRate)}],ul=[{key:"route",label:"Route",render:e=>Qe(e.route)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)}],dl=[{key:"status",label:"Status",render:e=>ta(e.status)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)}],ml=[{key:"source",label:"Source",render:e=>Yi(e.source)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)}],fl=[{key:"cohort",label:"Cohort",render:e=>Zi(e.cohort)},{key:"cache",label:"Cache reuse",align:"end",render:e=>Jt(e.cacheHitRate)},{key:"coverage",label:"Cache data",align:"end",render:e=>ae(e.cacheTelemetryCoverage)},{key:"requests",label:"Requests",align:"end",render:e=>L(e.requests)}],vl=[{key:"started",label:"Started",render:e=>Qt(e.startedAt)},{key:"model",label:"Model",render:e=>l.jsx(ce,{title:e.model,detail:Je(e.provider)})},{key:"route",label:"Route",render:e=>l.jsx(ce,{title:Qe(e.route),detail:ta(e.status)})},{key:"kind",label:"Kind",render:e=>Ji(e.requestKind)},{key:"tokens",label:"Tokens",align:"end",render:e=>U(e.totalTokens)},{key:"cache",label:"Cache",align:"end",render:e=>Gi(e)},{key:"latency",label:"Latency",align:"end",render:e=>se(e.durationMs)},{key:"context",label:"Context",render:e=>Qi(e)}];function ce({title:e,detail:t}){return l.jsxs("span",{className:"usage-primary-cell",children:[l.jsx("strong",{children:e}),l.jsx("small",{children:t})]})}function hl({label:e,sessionId:t,onOpenSourceSession:a}){return l.jsx("button",{type:"button",className:"settings-icon-button ghost usage-source-action",title:e,"aria-label":e,onClick:()=>a(t),children:l.jsx(oa,{size:14})})}function pl(e){const t=new Map;for(const s of e)for(const c of s.models){const m=De(c.provider,c.model),v=t.get(m)??{provider:c.provider,model:c.model,totalTokens:0,requests:0};v.totalTokens+=c.totalTokens,v.requests+=c.requests,t.set(m,v)}const a=[...t.values()].sort((s,c)=>c.totalTokens-s.totalTokens||c.requests-s.requests||s.model.localeCompare(c.model)),n=a.length>Ee?Ee-1:Ee,r=a.slice(0,n),i=new Map,o=r.map((s,c)=>{const m=`model${c}`;return i.set(De(s.provider,s.model),m),{dataKey:m,label:s.model,color:he[c%he.length]}}),u=a.length>r.length;return u&&o.push({dataKey:"otherModels",label:"Other models",color:he[Math.min(o.length,he.length-1)]}),{rows:e.map(s=>{const c={date:s.date,label:Vi(s.date),requests:s.requests,totalTokens:s.totalTokens};for(const v of o)c[v.dataKey]=0;let m=0;for(const v of s.models){const y=i.get(De(v.provider,v.model));y?c[y]=ea(c[y])+v.totalTokens:m+=v.totalTokens}return u&&(c.otherModels=m),c}),series:o}}function De(e,t){return`${e}\0${t}`}export{nl as UsageSettingsContent,jl as UsageSettingsSection};
|