openpond 0.0.60 → 0.0.61
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/{actions-command-BNVIILSL.js → actions-command-QVYIPEN5.js} +2 -2
- package/dist/chunks/{app-layer-RNQXXM6L.js → app-layer-GCNXR4F3.js} +5 -5
- package/dist/chunks/{app-server-runtime-7LGK37P6.js → app-server-runtime-737DBOSH.js} +8 -8
- package/dist/chunks/{apps-LV3CSMLT.js → apps-JB3POF6Z.js} +5 -5
- package/dist/chunks/{chunk-LMQ4MPQI.js → chunk-32R4GQD3.js} +51 -57
- package/dist/chunks/{chunk-AHILPQXV.js → chunk-5HMXXGWZ.js} +3 -3
- package/dist/chunks/{chunk-TOCZQEPW.js → chunk-6RMGHEFF.js} +1 -1
- package/dist/chunks/{chunk-I23UKEYS.js → chunk-B3WVCPXG.js} +46 -14
- package/dist/chunks/{chunk-XFZYNYRI.js → chunk-BQQS5RRI.js} +5903 -3813
- package/dist/chunks/{chunk-SKUS4NPW.js → chunk-IZ3XGRAG.js} +154 -5
- package/dist/chunks/{chunk-PVGJXCAK.js → chunk-L5JTI6LQ.js} +52 -52
- package/dist/chunks/{chunk-RC3N77IV.js → chunk-LBIVEX6V.js} +33 -33
- package/dist/chunks/{chunk-LDRWEAOB.js → chunk-NPEWMLRH.js} +1 -1
- package/dist/chunks/{chunk-NFNEENNR.js → chunk-OYWTQABY.js} +1 -1
- package/dist/chunks/{chunk-VG4H4TQG.js → chunk-TOMMZN6V.js} +1757 -55
- package/dist/chunks/{chunk-FHP7OMEI.js → chunk-XIUCBUUQ.js} +1 -1
- package/dist/chunks/{chunk-DXSHQ6TO.js → chunk-XSHMPOQV.js} +10 -5
- package/dist/chunks/{chunk-63N6442Q.js → chunk-YSVY4O42.js} +1 -1
- package/dist/chunks/{chunk-7QLVLGDM.js → chunk-ZAX7MLQJ.js} +1 -1
- package/dist/chunks/{chunk-2J3LG4U7.js → chunk-ZJPLJP2Q.js} +2 -2
- package/dist/chunks/{cli-DBZ7S6ZF.js → cli-MFFCFH3P.js} +7 -7
- package/dist/chunks/{core-commands-H2UC3LHG.js → core-commands-KCFU7U5Y.js} +6 -6
- package/dist/chunks/{desktop-test-TV64EY5A.js → desktop-test-FEQVX4N4.js} +5 -5
- package/dist/chunks/{extension-XMWCG6YG.js → extension-M4DH25KH.js} +16 -51
- package/dist/chunks/{help-NEYFMHWQ.js → help-ZUIE4EPY.js} +1 -1
- package/dist/chunks/{opchat-ZL5JJQ5L.js → opchat-7KRZIFFD.js} +5 -5
- package/dist/chunks/{organizations-4IEC35QB.js → organizations-ZWPFNM6K.js} +7 -7
- package/dist/chunks/{profile-EVASCDIN.js → profile-GF57OWI6.js} +6 -6
- package/dist/chunks/{project-agent-DMN64RZJ.js → project-agent-65MXZHGM.js} +6 -6
- package/dist/chunks/{sandbox-command-WKGVO32R.js → sandbox-command-WH2OQRHP.js} +6 -6
- package/dist/chunks/{sandbox-template-BJUS4KJM.js → sandbox-template-W5HU24TF.js} +7 -7
- package/dist/chunks/{src-E2UCLY54.js → src-O5QXOQ5H.js} +1221 -417
- package/dist/chunks/{src-KLQEJ6RO.js → src-YUIJKNIC.js} +4 -4
- package/dist/chunks/{teams-bot-HUXYJ6XA.js → teams-bot-5ATLXSHC.js} +5 -5
- package/dist/chunks/{workspaces-4OKABHI3.js → workspaces-4XJ3GXL4.js} +2 -2
- package/dist/cli.js +13 -13
- package/dist/index.js +10 -5
- package/dist/sandbox/sandbox-instance-client.d.ts +2 -1
- package/dist/sandbox/types/org-project-agent.d.ts +10 -1
- package/dist/web/assets/{AppDialog-CxLYXiI1.js → AppDialog-BvdkukM_.js} +1 -1
- package/dist/web/assets/{AppsView-CVTUkahv.js → AppsView-9h3-BQbk.js} +1 -1
- package/dist/web/assets/BrowserSidebar-C6WJ5wIu.js +1 -0
- package/dist/web/assets/CommandMenu-C7en9zgQ.js +1 -0
- package/dist/web/assets/CommunityView-CoqI6Dks.js +1 -0
- package/dist/web/assets/ComposerCreateImproveStrip-DMq6A2Ba.js +1 -0
- package/dist/web/assets/{GetStartedView-l9MUYMYH.js → GetStartedView-B-zgx1jI.js} +1 -1
- package/dist/web/assets/LabModelVersionDetailPage-CkNOBygO.js +1 -0
- package/dist/web/assets/LabSkillSidebar-CmRHuu78.js +1 -0
- package/dist/web/assets/LabsRoute-DLPZqEev.js +3 -0
- package/dist/web/assets/MainChatThread-CFGsODmc.js +2 -0
- package/dist/web/assets/MainPane-B2kcZpM0.js +6 -0
- package/dist/web/assets/MarkdownText-C4Ixpl-i.js +9 -0
- package/dist/web/assets/Messages-DmEk_BWS.js +10 -0
- package/dist/web/assets/NativeSkillSidebar-Cn824hrX.js +1 -0
- package/dist/web/assets/{NewProjectDialog-CiGPfI5s.js → NewProjectDialog-BFEDv4Ga.js} +1 -1
- package/dist/web/assets/OutputsPage-hfQyqQzx.js +1 -0
- package/dist/web/assets/RightChatPanelStack-CiPKX3Ea.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-CyoZsUCe.js +1 -0
- package/dist/web/assets/SettingsView-BZkrIOc0.css +1 -0
- package/dist/web/assets/SettingsView-DWWs9gel.js +6 -0
- package/dist/web/assets/TeamChatView-C4RWAO8c.js +3 -0
- package/dist/web/assets/{TerminalOverlay-Bb0RJR04.js → TerminalOverlay-CpsPuPIM.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-DMLpUVbJ.js +1 -0
- package/dist/web/assets/TrainingDraftPanel-gAhpwkYs.js +1 -0
- package/dist/web/assets/{UsageSettingsSection-Cdc_jGFX.js → UsageSettingsSection-WBtxLhBx.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-CUpwqvzZ.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-LIbOBT4f.js +32 -0
- package/dist/web/assets/{WorkspaceGitDialogs-CK6ahRty.js → WorkspaceGitDialogs-8y7rRSou.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-BQoN7jWa.js → WorkspaceMonacoEditor-BpHmWrCD.js} +3 -3
- package/dist/web/assets/{arrow-up-right-CzBZuWNj.js → arrow-up-right-3TbyK1ec.js} +1 -1
- package/dist/web/assets/{chevron-up-DW-qEVSP.js → chevron-up-C4tTuxXs.js} +1 -1
- package/dist/web/assets/{cloud-upload-CjLR-8-r.js → cloud-upload-ZGHLWEn3.js} +1 -1
- package/dist/web/assets/{cssMode-CQQJhS7v.js → cssMode-kfZCOm_r.js} +1 -1
- package/dist/web/assets/{folder-open-BpUcIJHn.js → folder-open-C4WG_lDr.js} +1 -1
- package/dist/web/assets/{folder-plus-8NHsIAxQ.js → folder-plus-CKRaDeR3.js} +1 -1
- package/dist/web/assets/{git-branch-DO3iP_fL.js → git-branch-yLi5tff8.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-BSWa2I3g.js → git-commit-horizontal-BPyGYak3.js} +1 -1
- package/dist/web/assets/{htmlMode-DaAKO9wk.js → htmlMode-DT--Et9k.js} +1 -1
- package/dist/web/assets/index--lwjVZXT.js +178 -0
- package/dist/web/assets/index-B_HvNtwl.css +1 -0
- package/dist/web/assets/index-C9-OtZl8.js +1 -0
- package/dist/web/assets/{info-DiEvrUda.js → info-CzzHwSUb.js} +1 -1
- package/dist/web/assets/{jsonMode-Biu1ZTZ7.js → jsonMode-CKg1GzqC.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-lwoDxGgl.js → lspLanguageFeatures-B76Yo6xo.js} +1 -1
- package/dist/web/assets/{monaco.contribution-DzHhgeLy.js → monaco.contribution-BRuQU-2A.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BqQSY5-t.js → monaco.contribution-CLpGfCSS.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Ic8LKME8.js → monaco.contribution-CS3H8RrD.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Ce2MS2Nv.js → monaco.contribution-DqeexNAI.js} +2 -2
- package/dist/web/assets/{play-D9F3t5Cx.js → play-EDFh3BPS.js} +1 -1
- package/dist/web/assets/{python-BhVCwr-K.js → python-De_Vr_hD.js} +1 -1
- package/dist/web/assets/{refresh-cw-DRN17xPU.js → refresh-cw-DRJJ-X1U.js} +1 -1
- package/dist/web/assets/{save-CDZwpzlG.js → save-BSxqIWP6.js} +1 -1
- package/dist/web/assets/{square-Cf_AXs4a.js → square-BV-Vgh5a.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-Bb_m9pXM.js → toggleHighContrast-1Suz4cxo.js} +1 -1
- package/dist/web/assets/{tsMode-BaWkaSHN.js → tsMode-DMyzpvFI.js} +1 -1
- package/dist/web/assets/{upload-Cef29aCP.js → upload-jVxCW0dO.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CAAqoZ0V.js → useLocalAgentSchedules-DNpnOBA8.js} +1 -1
- package/dist/web/assets/{wifi-off-C8cC22F6.js → wifi-off-IzGGiOX_.js} +1 -1
- package/dist/web/assets/{workers-GOdHtcZt.js → workers-Crdnk6Zy.js} +1 -1
- package/dist/web/assets/{yaml-jBIxwMeR.js → yaml-CF3tmjgW.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/BrowserSidebar-oHniLA05.js +0 -1
- package/dist/web/assets/CommandMenu-Db_5OiKs.js +0 -1
- package/dist/web/assets/CommunityView-HTwMEO-T.js +0 -1
- package/dist/web/assets/ComposerCreateImproveStrip-ER26yFe-.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-Dgf-DlJi.js +0 -1
- package/dist/web/assets/LabSkillSidebar-CyX8sVm1.js +0 -1
- package/dist/web/assets/LabsRoute-BC1ST9qT.js +0 -3
- package/dist/web/assets/MainChatThread-BfW92Rv1.js +0 -2
- package/dist/web/assets/MainPane-DlciH8yR.js +0 -6
- package/dist/web/assets/MarkdownText-CyOeCVjf.js +0 -9
- package/dist/web/assets/Messages-BDtEbIKv.js +0 -9
- package/dist/web/assets/NativeSkillSidebar-D0BlvEtE.js +0 -1
- package/dist/web/assets/OutputsPage-DNU2yD7q.js +0 -1
- package/dist/web/assets/RightChatPanelStack-Cs63fQwk.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-DMKHFbeE.js +0 -1
- package/dist/web/assets/SettingsView-C39BqlSI.css +0 -1
- package/dist/web/assets/SettingsView-L0g-g2fL.js +0 -6
- package/dist/web/assets/TeamChatView-CSVMTUAE.js +0 -3
- package/dist/web/assets/TrainingCreationPanel-VIWlpVV2.js +0 -1
- package/dist/web/assets/TrainingDraftPanel-MTYsR-Ry.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-BgIbxMMu.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-C97GqYn9.js +0 -32
- package/dist/web/assets/circle-alert-B_xROoPY.js +0 -1
- package/dist/web/assets/folder-git-2-ktXin28y.js +0 -1
- package/dist/web/assets/folder-tLv6TMN2.js +0 -1
- package/dist/web/assets/index-BtiK52K1.js +0 -1
- package/dist/web/assets/index-CE2hroF6.css +0 -1
- package/dist/web/assets/index-DHxBMQIJ.js +0 -174
- package/dist/web/assets/square-pen-ChJgNiDm.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./WorkspaceMonacoEditor-
|
|
1
|
+
import{l as e}from"./WorkspaceMonacoEditor-BpHmWrCD.js";import"./toggleHighContrast-1Suz4cxo.js";import"./index--lwjVZXT.js";const r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},l={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{r as conf,l as language};
|
package/dist/web/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png" />
|
|
8
8
|
<link rel="apple-touch-icon" href="./openpond-icon.png" />
|
|
9
9
|
<title>OpenPond App</title>
|
|
10
|
-
<script type="module" crossorigin src="./assets/index
|
|
11
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index--lwjVZXT.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="./assets/index-B_HvNtwl.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as c,bV as v,j as a,$ as f,X as k,P as j,A as g,b1 as C,bg as B}from"./index-DHxBMQIJ.js";import{A as y}from"./MarkdownText-CyOeCVjf.js";import{R as N}from"./refresh-cw-DRN17xPU.js";import{S as T}from"./square-Cf_AXs4a.js";const x=[];function P(r){const e=window.openpond?.browser,[b,l]=c.useState(()=>({conversationId:r,activeTabId:null,tabs:x}));c.useEffect(()=>{if(l({conversationId:r,activeTabId:null,tabs:x}),!e)return;let s=!1;e.getState({conversationId:r}).then(o=>{s||l(o)});const i=e.onState(o=>{o.conversationId===r&&l(o)});return()=>{s=!0,i()}},[e,r]);const u=c.useMemo(()=>b.tabs.find(s=>s.id===b.activeTabId)??null,[b.activeTabId,b.tabs]),t=c.useCallback(async(s,i={})=>{if(!e)return!1;const o=v(s,{explicitFile:i.explicitFile});return o?(i.newTab?await e.newTab({conversationId:r,url:o,explicitFile:i.explicitFile}):await e.open({conversationId:r,url:o,explicitFile:i.explicitFile}),!0):!1},[e,r]),n=u?{conversationId:r,tabId:u.id}:null;return{activeTab:u,available:!!e,bridge:e,state:b,back:()=>e&&n?e.back(n):Promise.resolve({ok:!1}),clearData:()=>e?e.clearData({conversationId:r}):Promise.resolve({ok:!1}),closeTab:s=>e?e.closeTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),forward:()=>e&&n?e.forward(n):Promise.resolve({ok:!1}),newTab:s=>e?e.newTab({conversationId:r,url:s}):Promise.resolve({ok:!1}),open:t,openExternal:()=>e&&n?e.openExternal(n):Promise.resolve({ok:!1}),reload:()=>e&&n?e.reload(n):Promise.resolve({ok:!1}),snapshot:(s={})=>e?e.snapshot({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),moveCursor:s=>e?e.moveCursor({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),click:s=>e?e.click({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),typeText:s=>e?e.typeText({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),key:s=>e?e.key({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),scroll:s=>e?e.scroll({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),selectTab:s=>e?e.selectTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),setBounds:s=>e?e.setBounds({conversationId:r,bounds:s}):Promise.resolve({ok:!1}),stop:()=>e&&n?e.stop(n):Promise.resolve({ok:!1})}}function R({activeTabId:r,tabs:e,onCloseTab:b,onNewTab:l,onSelectTab:u}){return a.jsxs("div",{className:"browser-tabs",role:"tablist","aria-label":"Browser tabs",children:[e.map(t=>a.jsxs("div",{className:`browser-tab ${t.id===r?"active":""}`,children:[a.jsx("span",{className:"browser-tab-favicon","aria-hidden":"true",children:t.faviconUrl?a.jsx("img",{alt:"",referrerPolicy:"no-referrer",src:t.faviconUrl}):a.jsx(f,{size:13})}),a.jsx("button",{type:"button",className:"browser-tab-main",role:"tab","aria-selected":t.id===r,title:t.url,onClick:()=>u(t.id),children:E(t)}),a.jsx("button",{type:"button",className:"browser-tab-close",title:"Close tab","aria-label":"Close tab",onClick:()=>b(t.id),children:a.jsx(k,{size:12})})]},t.id)),a.jsx("button",{type:"button",className:"browser-tab-add",title:"New tab","aria-label":"New tab",onClick:l,children:a.jsx(j,{size:14})})]})}function E(r){if(r.title?.trim())return r.title.trim();try{return new URL(r.url).host||r.url}catch{return r.url||"New tab"}}function z({activeTab:r,available:e,onBack:b,onClearData:l,onForward:u,onNavigate:t,onOpenExternal:n,onReload:s,onStop:i}){const[o,d]=c.useState(""),[p,m]=c.useState(!1);c.useEffect(()=>{d(r?.url??"")},[r?.url]);function h(w){w.preventDefault(),t(o)}return a.jsxs("div",{className:"browser-toolbar",children:[a.jsxs("div",{className:"browser-nav-actions",children:[a.jsx("button",{type:"button",title:"Back","aria-label":"Back",disabled:!r?.canGoBack,onClick:b,children:a.jsx(g,{size:15})}),a.jsx("button",{type:"button",title:"Forward","aria-label":"Forward",disabled:!r?.canGoForward,onClick:u,children:a.jsx(y,{size:15})}),a.jsx("button",{type:"button",title:r?.loading?"Stop":"Reload","aria-label":r?.loading?"Stop":"Reload",disabled:!r,onClick:r?.loading?i:s,children:r?.loading?a.jsx(T,{size:13}):a.jsx(N,{size:14})})]}),a.jsx("form",{className:"browser-address-form",onSubmit:h,children:a.jsx("input",{"aria-label":"Browser address",disabled:!e,placeholder:e?"Search or enter address":"Desktop browser unavailable",spellCheck:!1,value:o,onChange:w=>d(w.target.value)})}),a.jsxs("div",{className:"browser-panel-actions",children:[a.jsx("button",{type:"button",title:"Open external","aria-label":"Open external",disabled:!r,onClick:n,children:a.jsx(C,{size:14})}),a.jsxs("div",{className:"browser-menu-anchor",children:[a.jsx("button",{type:"button",title:"Browser actions","aria-label":"Browser actions",onClick:()=>m(w=>!w),children:a.jsx(B,{size:15})}),p&&a.jsx("div",{className:"browser-options-menu",role:"menu",children:a.jsx("button",{type:"button",role:"menuitem",onClick:()=>{m(!1),l()},children:"Clear Browser Data..."})})]})]})]})}function D({active:r,onBounds:e}){const b=c.useRef(null),l=c.useRef(null),u=c.useRef(null),t=c.useCallback(i=>{const o=i?`${i.x}:${i.y}:${i.width}:${i.height}`:"null";l.current!==o&&(l.current=o,e(i))},[e]),n=c.useCallback(()=>{const i=b.current;if(!r||!i){t(null);return}const o=i.getBoundingClientRect(),d=Math.max(0,Math.round(o.width)),p=Math.max(0,Math.round(o.height));if(d===0||p===0){t(null);return}t({x:Math.round(o.left),y:Math.round(o.top),width:d,height:p})},[r,t]),s=c.useCallback(()=>{u.current===null&&(u.current=window.requestAnimationFrame(()=>{u.current=null,n()}))},[n]);return c.useLayoutEffect(()=>{l.current=null,n();const i=b.current;if(!r||!i)return t(null),()=>t(null);const o=new ResizeObserver(s);return o.observe(i),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{u.current!==null&&(window.cancelAnimationFrame(u.current),u.current=null),o.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),t(null)}},[r,t,n,s]),a.jsx("div",{className:"browser-viewport",ref:b})}function A({conversationId:r,expanded:e,onResizeStart:b}){const l=P(r),u=c.useCallback(s=>{window.openpond?.browser?.setBounds({conversationId:r,bounds:s})},[r]),t=c.useCallback(s=>{l.open(s,{explicitFile:!0})},[l]),n=c.useCallback(()=>{window.confirm("Clear browser data for this conversation? Tabs, cookies, cache, and local storage for this conversation will be removed.")&&l.clearData()},[l]);return a.jsxs("aside",{className:`workspace-diff-panel browser-sidebar-panel ${e?"expanded":""}`,"aria-label":"Browser",children:[!e&&a.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize browser panel",onPointerDown:b}),a.jsx(R,{activeTabId:l.state.activeTabId,tabs:l.state.tabs,onCloseTab:s=>{l.closeTab(s)},onNewTab:()=>{l.newTab()},onSelectTab:s=>{l.selectTab(s)}}),a.jsx(z,{activeTab:l.activeTab,available:l.available,onBack:()=>{l.back()},onClearData:n,onForward:()=>{l.forward()},onNavigate:t,onOpenExternal:()=>{l.openExternal()},onReload:()=>{l.reload()},onStop:()=>{l.stop()}}),a.jsxs("div",{className:"browser-content",children:[l.available?l.state.tabs.length===0?a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Enter a URL to open a browser tab for this conversation."})]}):null:a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Desktop browser bridge unavailable."})]}),a.jsx(D,{active:l.available&&l.state.tabs.length>0,onBounds:u})]})]})}export{A as BrowserSidebar};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as j,j as e,an as g,ao as f,d as b,ap as k,aq as C,a0 as v,ar as P,as as M}from"./index-DHxBMQIJ.js";import{F as S}from"./folder-tLv6TMN2.js";import{S as w}from"./square-pen-ChJgNiDm.js";function R({open:s,query:r,projects:n,sessions:o,onQueryChange:t,onClose:d,onNewChat:x,onOpenProject:u,onOpenSession:m}){const c=r.trim().toLowerCase(),l=j.useMemo(()=>L(o,c,10),[c,o]),i=j.useMemo(()=>z(n,c,8),[c,n]);if(!s)return null;const N=()=>{const a=i[0];if(a){u(a);return}const p=l[0];p&&m(p)};return e.jsx("div",{className:"command-overlay",role:"presentation",onMouseDown:d,children:e.jsxs("section",{className:"command-menu",role:"dialog","aria-modal":"true","aria-label":"Search chats and projects",onMouseDown:a=>a.stopPropagation(),children:[e.jsxs("div",{className:"command-input-row",children:[e.jsx(g,{size:17}),e.jsx("input",{autoFocus:!0,value:r,onChange:a=>t(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),N()),a.key==="Escape"&&(a.preventDefault(),d())},placeholder:"Search chats and projects"}),e.jsx("kbd",{children:"Esc"})]}),e.jsxs("div",{className:"command-results",children:[e.jsxs("button",{className:"command-result command-create",onClick:x,children:[e.jsx(w,{size:15}),e.jsx("span",{children:"New local task"}),e.jsx("small",{children:"General"})]}),e.jsxs(h,{label:"Projects",children:[i.map(a=>e.jsxs("button",{className:"command-result",onClick:()=>u(a),children:[f(a)?e.jsx(b,{size:15}):e.jsx(S,{size:15}),e.jsx("span",{children:a.project.name}),e.jsx("small",{children:D(a)})]},a.project.id)),i.length===0&&e.jsx("div",{className:"command-empty",children:"No projects found"})]}),e.jsxs(h,{label:"Chats",children:[l.map(a=>e.jsxs("button",{className:"command-result",onClick:()=>m(a),children:[a.pinned?e.jsx(k,{size:15}):a.savedForLater?e.jsx(C,{size:15}):e.jsx(v,{size:15}),e.jsx("span",{children:a.title}),e.jsx("small",{children:a.appName??P(a.updatedAt)})]},a.id)),l.length===0&&e.jsx("div",{className:"command-empty",children:"No chats found"})]})]})]})})}function L(s,r,n){const o=[];for(const t of s)if((!r||`${t.title} ${t.appName??""}`.toLowerCase().includes(r))&&(o.push(t),o.length>=n))break;return o}function z(s,r,n){const o=[];for(const t of s)if((!r||$(t).toLowerCase().includes(r))&&(o.push(t),o.length>=n))break;return o}function $(s){return M(s)?`${s.project.name} ${s.project.path} ${s.project.workspacePath}`:`${s.project.name} ${s.project.sourceLabel??""} ${s.project.organizationName??""}`}function D(s){return f(s)?s.project.organizationName??"Cloud Project":s.project.linkedOpenPondApp?"OpenPond project":s.project.source==="git"?"Local Git":"Local folder"}function h({label:s,children:r}){return e.jsxs("div",{className:"command-group",children:[e.jsx("div",{className:"command-group-label",children:s}),r]})}export{R as CommandMenu};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as l,j as e,X as H,at as M,ca as O}from"./index-DHxBMQIJ.js";import{S as Z,W as ee,B as se,a as ne}from"./wifi-off-C8cC22F6.js";import{R as F}from"./refresh-cw-DRN17xPU.js";import{g as te,h as ie,i as ae,j as le,r as oe,k as re,R as ce}from"./MainPane-DlciH8yR.js";import{T as de,b as J}from"./MarkdownText-CyOeCVjf.js";import{S as me}from"./square-pen-ChJgNiDm.js";import"./cloud-upload-CjLR-8-r.js";import"./folder-tLv6TMN2.js";import"./arrow-up-right-CzBZuWNj.js";import"./square-Cf_AXs4a.js";import"./folder-open-BpUcIJHn.js";const ue=2e4,R=10,he=12*1024*1024,ye=new Set(["image/png","image/jpeg","image/webp","image/gif"]);function ge(s){const[n,m]=l.useState(""),[a,y]=l.useState(0),[c,u]=l.useState([]),[f,i]=l.useState(null),[b,h]=l.useState(!1),[p,C]=l.useState([]),[N,v]=l.useState(0),[o,I]=l.useState(null),k=l.useRef(null),E=l.useRef(null),D=l.useRef(c);D.current=c;const g=l.useMemo(()=>xe(n,a),[n,a]),S=g?`${g.start}:${g.end}:${g.query}`:null,T=g?.query??null,w=l.useMemo(()=>{if(!g)return[];const t=new Map;for(const d of[...s.members,...p])t.set(d.userId,d);const r=g.query.toLowerCase();return[...t.values()].filter(d=>`${d.handle??""} ${d.name??""}`.toLowerCase().includes(r)).slice(0,8)},[g,s.members,p]),B=!!(g&&S!==o&&w.length>0),L=!!(s.disabled||s.busy||b),U=!L&&(!!n.trim()||c.length>0);l.useEffect(()=>{if(T==null){C([]);return}let t=!0;const r=window.setTimeout(()=>{s.onSearchMembers(T).then(d=>{t&&C(d)},()=>{t&&C([])})},150);return()=>{t=!1,window.clearTimeout(r)}},[T,s.onSearchMembers]),l.useEffect(()=>{v(0)},[S]),l.useEffect(()=>()=>K(D.current),[]);async function $(t){if(t?.preventDefault(),!!U){i(null),h(!0);try{const r=await Promise.all(c.map(oe));if(!await s.onSend({body:n,mentionUserIds:fe(n,s.members),attachments:r,replyToMessageId:s.replyTo?.id??null}))return;K(c),m(""),y(0),u([]),s.onCancelReply()}catch(r){i(r instanceof Error?r.message:String(r))}finally{h(!1)}}}function V(t){if(B){if(t.key==="ArrowDown"){t.preventDefault(),v(r=>(r+1)%w.length);return}if(t.key==="ArrowUp"){t.preventDefault(),v(r=>(r-1+w.length)%w.length);return}if(t.key==="Enter"||t.key==="Tab"){t.preventDefault(),z(w[N]??w[0]);return}if(t.key==="Escape"){t.preventDefault(),I(S);return}}t.key!=="Enter"||t.shiftKey||t.nativeEvent.isComposing||(t.preventDefault(),$())}function G(t){if(!t)return;i(null);const r=Math.max(0,R-c.length);if(r===0){i(`You can attach up to ${R} images.`),A();return}const d=[...t],j=d.slice(0,r),P=j.find(x=>!ye.has(x.type)),q=j.find(x=>x.size<=0||x.size>he);if(P){i(`${P.name} is not a supported image type.`),A();return}if(q){i(`${q.name} must be smaller than 12 MB.`),A();return}const Q=j.map(x=>({id:re(),file:x,name:x.name,mediaType:x.type,sizeBytes:x.size,kind:"image",previewUrl:URL.createObjectURL(x)}));u(x=>[...x,...Q]),d.length>r&&i(`Only ${R} images can be attached to one message.`),A()}function W(t){u(r=>{const d=r.find(j=>j.id===t);return d?.previewUrl&&URL.revokeObjectURL(d.previewUrl),r.filter(j=>j.id!==t)})}function A(){k.current&&(k.current.value="")}function z(t){if(!g)return;const r=`@${X(t)} `,d=`${n.slice(0,g.start)}${r}${n.slice(g.end)}`,j=g.start+r.length;m(d),y(j),I(null),window.requestAnimationFrame(()=>E.current?.focusAtPromptIndex(j))}return e.jsxs("form",{className:`composer dock community-composer${c.length>0?" has-attachments":""}${f?" has-attachment-error":""}`,onSubmit:$,children:[s.replyTo?e.jsxs("div",{className:"community-composer-reply",children:[e.jsxs("span",{children:[e.jsx("strong",{children:"Replying to"}),s.replyTo.body.slice(0,100)||"message"]}),e.jsx("button",{type:"button","aria-label":"Cancel reply",onClick:s.onCancelReply,children:e.jsx(H,{size:13})})]}):null,B?e.jsx("div",{className:"community-mention-menu",role:"listbox","aria-label":"Community members",children:w.map((t,r)=>e.jsxs("button",{type:"button",role:"option","aria-selected":r===N,onMouseDown:d=>d.preventDefault(),onClick:()=>z(t),children:[e.jsx("strong",{children:t.name??t.handle??"Community member"}),t.handle?e.jsxs("small",{children:["@",t.handle]}):null]},t.userId))}):null,e.jsxs("div",{className:"composer-input-shell",children:[c.length>0?e.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:c.map(t=>e.jsx(te,{attachment:t,onRemove:()=>W(t.id)},t.id))}):null,f?e.jsx("div",{className:"composer-attachment-error",role:"status",children:f}):null,e.jsx("div",{className:"composer-textarea-frame",onClick:t=>{t.target===t.currentTarget&&E.current?.focusAtPromptIndex(a)},children:e.jsx(ie,{ref:E,disabled:L,onCursorChange:y,onKeyDown:V,onPromptChange:(t,r)=>{const d=t.slice(0,ue);m(d),y(Math.min(r,d.length))},onTokenPositionChange:()=>{},placeholder:s.disabled?"Accept the community rules to post":"Message community",prompt:n,token:null})}),e.jsxs("div",{className:"composer-primary-controls team-chat-composer-controls",children:[e.jsx("input",{ref:k,className:"composer-file-input",hidden:!0,type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",multiple:!0,onChange:t=>G(t.currentTarget.files)}),e.jsx("button",{type:"button",className:"composer-icon","aria-label":"Attach images",disabled:L||c.length>=R,onClick:()=>k.current?.click(),children:e.jsx(ae,{size:17})}),e.jsx("div",{className:"composer-spacer"}),e.jsx("button",{type:"submit",className:"send-button","aria-label":"Send message",disabled:!U,children:e.jsx(le,{size:17})})]})]})]})}function xe(s,n=s.length){const m=Math.max(0,Math.min(n,s.length)),a=/(?:^|\s)@([\w-]*)$/.exec(s.slice(0,m));return!a||a.index==null?null:{start:a.index+a[0].indexOf("@"),end:m,query:a[1]??""}}function fe(s,n){const m=new Set([...s.matchAll(/(?:^|\s)@([\w-]+)/g)].map(a=>a[1]?.toLowerCase()));return n.filter(a=>m.has(X(a).toLowerCase())).map(a=>a.userId)}function X(s){return s.handle??s.name?.replace(/[^\w-]/g,"")??s.userId}function K(s){for(const n of s)n.previewUrl&&URL.revokeObjectURL(n.previewUrl)}function be(s){const[n,m]=l.useState(!1),[a,y]=l.useState(s.message.body),c=s.message.refs.find(i=>i.refType==="message_reply"),u=c?s.messagesById.get(c.refId)??null:null,f=u?.authorUserId?s.membersById.get(u.authorUserId)??null:null;return e.jsxs("article",{className:`community-message${s.own?" own":""}`,id:`community-message-${s.message.id}`,children:[e.jsx("div",{className:"community-avatar",children:je(s.author?.name??s.author?.handle??"?")}),e.jsxs("div",{className:"community-message-content",children:[e.jsxs("header",{children:[e.jsx("strong",{children:s.author?.name??s.author?.handle??"Community member"}),e.jsx("time",{dateTime:s.message.createdAt,children:pe(s.message.createdAt)}),s.message.editedAt?e.jsx("span",{children:"edited"}):null,s.message.deletedAt?null:e.jsxs("div",{className:"community-message-actions",children:[e.jsx("button",{type:"button","aria-label":"Reply",onClick:()=>s.onReply(s.message),children:e.jsx(ce,{size:13})}),s.own?e.jsx("button",{type:"button","aria-label":"Edit",onClick:()=>m(!0),children:e.jsx(me,{size:13})}):null,s.own?e.jsx("button",{type:"button","aria-label":"Delete",onClick:()=>{s.onDelete(s.message.id)},children:e.jsx(de,{size:13})}):null]})]}),c?e.jsxs("button",{type:"button",className:"community-reply-quote",onClick:()=>document.getElementById(`community-message-${c.refId}`)?.scrollIntoView({behavior:"smooth",block:"center"}),children:[e.jsx("strong",{children:f?.name??"Community member"}),e.jsx("span",{children:u?.deletedAt?"Message deleted":u?.body??String(c.preview.body??"Earlier message")})]}):null,n?e.jsxs("form",{className:"community-message-edit",onSubmit:i=>{i.preventDefault(),s.onEdit(s.message.id,a).then(b=>{b&&m(!1)})},children:[e.jsx("textarea",{autoFocus:!0,value:a,onChange:i=>y(i.currentTarget.value)}),e.jsxs("div",{children:[e.jsx("button",{type:"button",onClick:()=>m(!1),children:"Cancel"}),e.jsx("button",{type:"submit",disabled:!a.trim(),children:"Save"})]})]}):s.message.deletedAt?e.jsx("div",{className:"community-message-deleted",children:"Message deleted"}):e.jsx(J,{content:s.message.body}),!s.message.deletedAt&&s.message.attachments.length>0?e.jsx("div",{className:"community-message-attachments",children:s.message.attachments.map(i=>s.attachmentsAccessible?e.jsxs("button",{type:"button",onClick:()=>{s.onDownloadAttachment(i.id)},children:[e.jsx("span",{children:i.name}),e.jsx("small",{children:_(i.sizeBytes)})]},i.id):e.jsxs("div",{className:"community-attachment-placeholder",children:[e.jsx("span",{children:i.name}),e.jsxs("small",{children:["Join to view · ",_(i.sizeBytes)]})]},i.id))}):null]})]})}function je(s){return s.split(/\s+/).slice(0,2).map(n=>n[0]?.toUpperCase()??"").join("")||"?"}function pe(s){const n=new Date(s);return Number.isNaN(n.getTime())?"":n.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function _(s){return s<1024?`${s} B`:s<1024*1024?`${Math.round(s/1024)} KB`:`${(s/1024/1024).toFixed(1)} MB`}function ve(s){const[n,m]=l.useState(!1),a=l.useRef(null),y=l.useRef(s.onClose);l.useEffect(()=>m(!1),[s.rules.id]),l.useEffect(()=>{y.current=s.onClose},[s.onClose]),l.useEffect(()=>{const u=document.activeElement instanceof HTMLElement?document.activeElement:null,f=a.current,i=()=>[...f?.querySelectorAll('button:not([disabled]), input:not([disabled]), [href], [tabindex]:not([tabindex="-1"])')??[]];i()[0]?.focus();const b=h=>{if(h.key==="Escape"){h.preventDefault(),y.current();return}if(h.key!=="Tab")return;const p=i();if(p.length===0){h.preventDefault(),f?.focus();return}const C=p[0],N=p.at(-1);h.shiftKey&&document.activeElement===C?(h.preventDefault(),N.focus()):!h.shiftKey&&document.activeElement===N&&(h.preventDefault(),C.focus())};return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b),u?.focus()}},[]);const c=s.mode!=="review";return e.jsx("div",{className:"community-dialog-backdrop",role:"presentation",onMouseDown:s.onClose,children:e.jsxs("section",{ref:a,className:"community-rules-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"community-rules-title",tabIndex:-1,onMouseDown:u=>u.stopPropagation(),children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsxs("small",{children:["Community rules · version ",s.rules.version]}),e.jsx("h2",{id:"community-rules-title",children:s.rules.title})]}),e.jsx("button",{type:"button","aria-label":"Close rules",onClick:s.onClose,children:e.jsx(H,{size:16})})]}),e.jsx("div",{className:"community-rules-body",children:e.jsx(J,{content:s.rules.bodyMarkdown})}),e.jsxs("footer",{children:[c?e.jsxs("label",{className:"community-rules-acceptance",children:[e.jsx("input",{type:"checkbox",checked:n,onChange:u=>m(u.currentTarget.checked)}),e.jsx("span",{children:"I have read and agree to follow these rules."})]}):e.jsx("span",{}),e.jsxs("div",{children:[e.jsx("button",{type:"button",className:"secondary",onClick:s.onClose,children:"Cancel"}),c?e.jsx("button",{type:"button",disabled:!n||s.busy,onClick:()=>{s.onAccept().then(u=>{u&&s.onClose()})},children:s.busy?"Saving…":s.mode==="join"?"Agree and join":"Accept updated rules"}):null]})]})]})})}function De({communities:s,chat:n,currentUserId:m}){M(s.discoveryError),M(s.previewError),M(s.membershipError?.message),M(n.channelsError,{prefix:"Channels"}),M(n.messagesError,{prefix:"Messages"}),M(n.actionError);const[a,y]=l.useState(null),[c,u]=l.useState(null),f=l.useRef(null),i=s.preview,b=i?.membership?.status==="active",h=!!i?.capabilities.requiresRulesAcceptance,p=l.useMemo(()=>new Map(n.members.map(o=>[o.userId,o])),[n.members]),C=l.useMemo(()=>new Map(n.messages.map(o=>[o.id,o])),[n.messages]),N=n.messages.at(-1)?.sequence??0;if(l.useEffect(()=>{const o=f.current;o&&(o.scrollTop=o.scrollHeight)},[n.selectedChannelId,N]),l.useEffect(()=>{u(null),h&&i?.currentRules&&y("reaccept")},[i?.currentRules,h]),!s.selectedSummary)return e.jsx("section",{className:"community-empty-page",children:e.jsxs("div",{className:"community-discovery-card",children:[e.jsx(O,{size:30}),e.jsx("h1",{children:"Discover communities"}),e.jsx("p",{children:s.discoveryLoading&&s.items.length===0?"Finding communities…":"Preview public conversations and join after accepting each community's rules."}),s.items.length>0?e.jsx("div",{className:"community-discovery-list",children:s.items.map(o=>e.jsxs("button",{type:"button",onClick:()=>s.selectCommunity(o.id),children:[e.jsx(Y,{name:o.displayName,imageUrl:o.imageUrl}),e.jsxs("span",{children:[e.jsx("strong",{children:o.displayName}),e.jsx("small",{children:o.description})]}),e.jsx("em",{children:o.membership?.status==="active"?"Joined":o.featuredAt?"Featured":`${o.memberCount.toLocaleString()} members`})]},o.id))}):s.discoveryLoading?null:e.jsx("div",{className:"community-state",children:"No public communities are available yet."}),e.jsxs("div",{className:"community-discovery-actions",children:[e.jsxs("button",{type:"button",onClick:()=>{s.refresh()},disabled:s.discoveryLoading,children:[e.jsx(F,{size:14})," Refresh"]}),s.nextCursor?e.jsx("button",{type:"button",className:"secondary",onClick:()=>{s.loadMore()},disabled:s.discoveryLoading,children:"Load more"}):null]})]})});if(!i&&s.previewLoading)return e.jsx("section",{className:"community-empty-page",children:e.jsxs("div",{className:"community-empty-card",children:[e.jsx("span",{className:"community-spinner"})," Loading community…"]})});if(!i)return e.jsx("section",{className:"community-empty-page",children:e.jsxs("div",{className:"community-empty-card",children:[e.jsx("h1",{children:s.selectedSummary.displayName}),e.jsx("div",{className:"community-state",children:"This community preview is unavailable."}),e.jsxs("button",{type:"button",onClick:()=>s.selectCommunity(s.selectedSummary.id),children:[e.jsx(F,{size:14})," Retry preview"]})]})});const v=i.currentRules;return e.jsxs("section",{className:"community-view",children:[e.jsxs("header",{className:"community-header",children:[e.jsxs("div",{className:"community-heading",children:[e.jsx(Y,{name:i.displayName,imageUrl:i.imageUrl}),e.jsxs("div",{children:[e.jsx("small",{children:i.displayName}),e.jsx("h1",{children:n.selectedChannel?`# ${n.selectedChannel.displayName}`:i.displayName}),e.jsx("p",{children:n.selectedChannel?.topic||i.description})]})]}),e.jsxs("div",{className:"community-header-actions",children:[e.jsxs("span",{className:"community-member-count",children:[e.jsx(O,{size:14})," ",i.memberCount.toLocaleString()]}),v?e.jsxs("button",{type:"button",className:"secondary",onClick:()=>y("review"),children:[e.jsx(Z,{size:14})," Rules"]}):null,b?e.jsx(Ce,{mode:i.membership?.notificationMode??"mentions",busy:s.membershipBusy,onMode:s.updateNotifications,onLeave:s.leave}):null]})]}),e.jsxs("div",{className:"community-chat-main conversation-surface-main",children:[e.jsxs("div",{className:"community-chat-notices",children:[b?h?e.jsxs("div",{className:"community-preview-banner warning",children:[e.jsxs("div",{children:[e.jsx("strong",{children:"The rules have changed"}),e.jsx("span",{children:"Accept the current rules to continue reading live updates and posting."})]}),e.jsx("button",{type:"button",disabled:!v||s.membershipBusy,onClick:()=>y("reaccept"),children:"Review updated rules"})]}):null:e.jsxs("div",{className:"community-preview-banner",children:[e.jsxs("div",{children:[e.jsxs("strong",{children:["Previewing ",i.displayName]}),e.jsx("span",{children:"Read the public conversation, then accept the rules to join and post."})]}),e.jsx("button",{type:"button",disabled:!v||s.membershipBusy,onClick:()=>y("join"),children:"Join community"})]}),n.realtimeError&&b&&!h?e.jsxs("div",{className:"community-realtime-state",children:[e.jsx(ee,{size:14}),e.jsx("span",{children:"Live updates are reconnecting. Loaded messages are still available."})]}):null,n.lostMembership?e.jsx("div",{className:"community-state error",children:"Your membership changed. Refresh the community before continuing."}):null,n.channelsError?e.jsx("button",{type:"button",className:"community-state",onClick:()=>{n.loadChannels()},children:"Retry loading channels"}):null]}),e.jsxs("div",{className:"community-message-pane conversation-message-scroll",ref:f,role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":n.messagesLoading,"aria-label":n.selectedChannel?`${i.displayName}, ${n.selectedChannel.displayName}`:i.displayName,tabIndex:0,children:[n.hasMoreBefore?e.jsx("button",{type:"button",className:"community-load-older",disabled:n.olderMessagesLoading,onClick:()=>{n.loadOlder()},children:n.olderMessagesLoading?"Loading…":"Load earlier messages"}):null,n.messagesLoading&&n.messages.length===0?e.jsx("div",{className:"community-message-state",children:"Loading messages…"}):null,n.messagesError?e.jsxs("div",{className:"community-message-state",children:["Messages are unavailable. ",e.jsx("button",{type:"button",onClick:()=>{n.loadMessages()},children:"Retry"})]}):null,!n.messagesLoading&&!n.messagesError&&n.messages.length===0?e.jsx("div",{className:"community-message-state",children:"No messages in this channel yet."}):null,n.messages.map(o=>e.jsx(be,{message:o,author:o.authorUserId?p.get(o.authorUserId)??null:null,own:o.authorUserId===m,attachmentsAccessible:!n.previewMode,membersById:p,messagesById:C,onReply:u,onEdit:n.editMessage,onDelete:n.deleteMessage,onDownloadAttachment:n.downloadAttachment},o.id))]}),b?e.jsxs("div",{className:"community-composer-wrap conversation-composer-shell",children:[n.failedSend?e.jsxs("div",{className:"community-failed-send",children:[e.jsx("span",{children:"Message not sent."}),e.jsx("button",{type:"button",disabled:n.sending,onClick:()=>{n.retrySend()},children:"Retry"}),e.jsx("button",{type:"button",onClick:n.dismissFailedSend,children:"Dismiss"})]}):null,e.jsx(ge,{members:n.members,replyTo:c,busy:n.sending,disabled:h||n.lostMembership||!n.selectedChannel||n.selectedChannel.postingPolicy==="admins"&&i.membership?.role==="member",onCancelReply:()=>u(null),onSearchMembers:n.searchMembers,onSend:n.sendMessage})]}):null]}),a&&v?e.jsx(ve,{rules:v,mode:a,busy:s.membershipBusy,onAccept:a==="join"?s.join:s.acceptRules,onClose:()=>y(null)}):null]})}function Ce(s){const[n,m]=l.useState(!1);return e.jsxs("div",{className:"community-membership-menu",children:[e.jsxs("button",{type:"button",className:"secondary","aria-expanded":n,onClick:()=>m(a=>!a),children:[s.mode==="none"?e.jsx(se,{size:14}):e.jsx(ne,{size:14})," Joined"]}),n?e.jsxs("div",{className:"community-membership-popover",children:[e.jsx("strong",{children:"Notifications"}),["mentions","all","none"].map(a=>e.jsxs("label",{children:[e.jsx("input",{type:"radio",name:"community-notifications",checked:s.mode===a,disabled:s.busy,onChange:()=>{s.onMode(a)}})," ",a==="mentions"?"Mentions":a==="all"?"All messages":"Nothing"]},a)),e.jsx("button",{type:"button",className:"danger",disabled:s.busy,onClick:()=>{window.confirm("Leave this community? You can join again later by accepting the current rules.")&&s.onLeave().then(a=>{a&&m(!1)})},children:"Leave community"})]}):null]})}function Y({name:s,imageUrl:n}){return n?e.jsx("img",{className:"community-icon",src:n,alt:""}):e.jsx("span",{className:"community-icon fallback",children:s.slice(0,2).toUpperCase()})}export{De as CommunityView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as v,j as e,cb as _,aL as A,F as x,X as j,b as y,bb as P}from"./index-DHxBMQIJ.js";import{C as w}from"./circle-alert-B_xROoPY.js";import{P as q}from"./MarkdownText-CyOeCVjf.js";import{P as C}from"./play-D9F3t5Cx.js";import{R as k}from"./refresh-cw-DRN17xPU.js";function L({runtime:s}){const[a,i]=v.useState(!1),[o,l]=v.useState(""),[n,u]=v.useState(null),t=s.run,h=t.plan,g=N(t),c={run:t},f=E(t.state),r=S(t),R=r?.git?.pullRequest??t.releaseOutcome.pullRequest;v.useEffect(()=>{i(!1),l(""),u(null)},[t.id,t.revision,t.state,h?.id,g?.id]);async function d(p,b){if(!(!b||n)){u(p);try{await b()}finally{u(null)}}}return e.jsxs("section",{className:`composer-create-strip ${f}`,"aria-label":"Create or improve status",children:[e.jsxs("div",{className:"composer-create-strip-heading",children:[f==="danger"?e.jsx(w,{size:15}):t.state==="awaiting_questions"?e.jsx(_,{size:15}):I(t.state)?e.jsx(A,{className:"composer-create-spin",size:15}):e.jsx(x,{size:15}),e.jsx("span",{children:z(t)}),e.jsx("small",{children:t.target.kind})]}),t.state==="awaiting_questions"&&g?e.jsxs("div",{className:"composer-create-question",children:[e.jsx("p",{children:g.prompt}),e.jsx("div",{className:"composer-create-options",children:g.options.map(p=>e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d(`answer:${p.id}`,()=>s.onAnswerQuestion?s.onAnswerQuestion(c,g.id,p.value):Promise.resolve())},children:[e.jsx("span",{children:n===`answer:${p.id}`?"Saving":p.label}),p.description?e.jsx("small",{children:p.description}):null]},p.id))})]}):t.state==="awaiting_plan_approval"&&h?e.jsxs("div",{className:"composer-create-plan-summary",children:[e.jsx("p",{children:h.summary}),e.jsx(m,{run:t}),a?e.jsxs("div",{className:"composer-create-revision",children:[e.jsx("textarea",{rows:2,value:o,placeholder:"Describe the plan revision",onChange:p=>l(p.currentTarget.value)}),e.jsxs("div",{children:[e.jsxs("button",{type:"button",disabled:!o.trim()||!!n,onClick:()=>{d("revise",()=>s.onRevise?s.onRevise(c,o):Promise.resolve())},children:[e.jsx(x,{size:13}),e.jsx("span",{children:n==="revise"?"Saving":"Save revision"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>i(!1),children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Close"})]})]})]}):e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("approve",()=>s.onApprove?s.onApprove(c):Promise.resolve())},children:[e.jsx(y,{size:13}),e.jsx("span",{children:n==="approve"?"Confirming":"Confirm plan"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>i(!0),children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Edit plan"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("cancel",()=>s.onCancel?s.onCancel(c):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="cancel"?"Cancelling":"Cancel"})]})]})]}):t.state==="paused"?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:"This work is paused. Resume it when you are ready to continue."}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("resume",()=>s.onResume?s.onResume(c):Promise.resolve())},children:[e.jsx(C,{size:13}),e.jsx("span",{children:n==="resume"?"Resuming":"Resume"})]})]}):t.state==="awaiting_promotion"&&r?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:T(t,r.id)}),e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n||!$(t,r.id),onClick:()=>{d("apply-candidate",()=>s.onApplyCandidate?s.onApplyCandidate(c,r.id):Promise.resolve())},children:[e.jsx(y,{size:13}),e.jsx("span",{children:n==="apply-candidate"?"Applying":"Apply update"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reject-candidate",()=>s.onRejectCandidate?s.onRejectCandidate(c,r.id):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="reject-candidate"?"Keeping current version":"Keep current version"})]})]})]}):t.state==="pull_request_open"&&r&&R?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:t.target.kind==="agent"?"An Agent update review is open. Finish or close it, then refresh its status.":"An external review is open. Merge or close it, then refresh its status."}),e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reconcile-pr",()=>s.onReconcilePullRequest?s.onReconcilePullRequest(c,r.id):Promise.resolve())},children:[e.jsx(k,{size:13}),e.jsx("span",{children:n==="reconcile-pr"?"Checking":"Refresh review"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reject-candidate",()=>s.onRejectCandidate?s.onRejectCandidate(c,r.id):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="reject-candidate"?"Closing":"Close review"})]})]})]}):t.state==="blocked"||t.state==="failed"||t.state==="cancelled"?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:t.blockedReason??"This work stopped before it was ready."}),t.state==="blocked"&&r?.git?.worktreePath&&["draft","checking"].includes(r.status)?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("resume",()=>s.onResume?s.onResume(c):Promise.resolve())},children:[e.jsx(C,{size:13}),e.jsx("span",{children:n==="resume"?"Continuing":"Continue update"})]}):t.state==="blocked"&&r?.git?.pullRequest?.state==="merged"?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reconcile-pr",()=>s.onReconcilePullRequest?s.onReconcilePullRequest(c,r.id):Promise.resolve())},children:[e.jsx(k,{size:13}),e.jsx("span",{children:n==="reconcile-pr"?"Checking":"Re-run verification"})]}):null]}):t.state==="released"||t.state==="rejected"||t.state==="ready_local"||t.state==="ready"||t.state==="published_hosted"?e.jsxs("div",{className:"composer-create-status-body composer-create-status-body-reveals",children:[e.jsx("p",{children:t.state==="released"?"The Agent update is saved and its Evals passed.":t.state==="rejected"?"The Agent update was not applied.":t.state==="published_hosted"?"Published to the hosted Profile.":"The Agent and its actions are ready to use."}),e.jsx("div",{className:"composer-create-hover-details",children:e.jsx(m,{run:t})})]}):e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:B(t)}),e.jsx(m,{run:t}),t.executionPolicy.pauseAllowed&&s.onPause?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("pause",()=>s.onPause?.(c)??Promise.resolve())},children:[e.jsx(q,{size:13}),e.jsx("span",{children:n==="pause"?"Pausing":"Pause"})]}):null]})]})}function N(s){return s.questions.find(a=>a.status==="pending"&&a.required)??s.questions.find(a=>a.status==="pending")??null}function m({run:s}){const a=s.plan,i=s.target.kind==="agent",o=i?null:s.sourceRefs[0]??a?.sourcePlan[0]?.path??null,l=s.checkRefs.length||a?.checks.length||0,n=i?0:a?.requirements.length??0,u=i?[]:[...s.sourceRefs,...s.checkRefs].slice(0,4),t=P(a?.metadata);return!o&&l===0&&n===0&&u.length===0&&!t?null:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"composer-create-facts",children:[t?e.jsx("span",{title:t.detail,children:t.label}):null,o?e.jsx("span",{title:o,children:o}):null,l?e.jsx("span",{children:i?`${l} Evals`:s.checkRefs.length?`${s.checkRefs.length} check refs`:`${l} checks`}):null,n?e.jsxs("span",{children:[n," setup rows"]}):null]}),u.length?e.jsx("ul",{className:"composer-create-refs","aria-label":"Source and check refs",children:u.map(h=>e.jsx("li",{children:e.jsx("code",{title:h,children:h})},h))}):null]})}function z(s){const a=s.target.kind==="agent";return s.state==="awaiting_questions"?"Question":s.state==="awaiting_plan_approval"?"Plan":s.state==="applying_source"?a?"Saving Agent":"Applying source":s.state==="running_checks"?"Running Evals":s.state==="evaluating"?a?"Checking Agent":"Evaluating":s.state==="awaiting_promotion"?a?"Update ready":"Candidate ready":s.state==="opening_pull_request"?"Opening review":s.state==="pull_request_open"?"Review open":s.state==="reconciling_release"?a?"Applying update":"Merging change":s.state==="released"?a?"Agent updated":"Released":s.state==="rejected"?a?"Current Agent kept":"Rejected":s.state==="paused"?"Paused":s.state==="ready"||s.state==="ready_local"?"Ready":s.state==="published_hosted"?"Published":s.state==="cancelled"?"Cancelled":s.state==="blocked"?"Blocked":s.state==="failed"?"Failed":s.operation==="improve"?"Improve":"Create"}function B(s){const a=s.state,i=s.target.kind==="agent";return a==="applying_source"?i?"Saving the approved Agent plan.":"Applying the approved source changes.":a==="running_checks"?i?"Running Evals against the Agent.":"Running checks against the candidate.":a==="evaluating"?i?"Checking the Agent's behavior.":"Evaluating the candidate against its Evals.":a==="opening_pull_request"?i?"Preparing the Agent update review.":"Opening the candidate review.":a==="reconciling_release"?"Applying the change and verifying the active Profile.":a==="pushing_hosted"?"Pushing the Profile source.":a==="running_hosted_checks"?i?"Running hosted Evals.":"Running hosted checks.":"Preparing the work."}function E(s){return["released","ready","ready_local","published_hosted"].includes(s)?"success":["rejected","blocked","failed","cancelled"].includes(s)?"danger":["awaiting_questions","awaiting_plan_approval","awaiting_promotion","pull_request_open","paused"].includes(s)?"warning":"info"}function I(s){return["planning","applying_source","running_checks","evaluating","opening_pull_request","reconciling_release","pushing_hosted","running_hosted_checks"].includes(s)}function S(s){return[...s.candidates].reverse().find(a=>a.target.kind==="agent")??null}function $(s,a){const i=s.evaluationReceipts.filter(o=>o.candidateId===a&&o.subject==="candidate");return i.length>0&&i.every(o=>o.status==="passed"&&o.publishGate!=="failed")}function T(s,a){const i=s.evaluationReceipts.find(n=>n.candidateId===a&&n.subject==="active"),o=s.evaluationReceipts.find(n=>n.candidateId===a&&n.subject==="candidate"),l=n=>n?.summaryCounts?`${n.summaryCounts.passed}/${n.summaryCounts.total}`:n?.status??"not run";return s.target.kind==="agent"?`Current Agent: ${l(i)} Evals passed. Updated Agent: ${l(o)} Evals passed.`:`Base Evals: ${l(i)} passed. Candidate Evals: ${l(o)} passed.`}export{L as ComposerCreateImproveStrip};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as y,j as e,at as je,n as fe,a as ve}from"./index-DHxBMQIJ.js";import{s as G,e as ye,b as ne,d as Z,f as pe}from"./training-model-data-V8276E5q.js";import{L as X,b as ee,a as ke,l as Ne,c as Te,d as Re,e as $e,m as Se,f as we,g as Me,h as Ce,E as le}from"./LabsRoute-BC1ST9qT.js";import"./cloud-upload-CjLR-8-r.js";import"./MainPane-DlciH8yR.js";import"./folder-tLv6TMN2.js";import"./arrow-up-right-CzBZuWNj.js";import"./MarkdownText-CyOeCVjf.js";import"./square-Cf_AXs4a.js";import"./folder-open-BpUcIJHn.js";import"./AppDialog-CxLYXiI1.js";import"./ComposerCreateImproveStrip-ER26yFe-.js";import"./circle-alert-B_xROoPY.js";import"./play-D9F3t5Cx.js";import"./refresh-cw-DRN17xPU.js";import"./square-pen-ChJgNiDm.js";/* empty css */import"./UsageSettingsSection-Cdc_jGFX.js";import"./index-BtiK52K1.js";function Le({receipts:a}){const[t,n]=y.useState(!1);if(!a.length)return e.jsx("div",{className:"training-run-placeholder",children:"No on-policy rollout receipts were recorded for this run."});const s=[...a].sort((l,o)=>o.updatedAt.localeCompare(l.updatedAt)),i=t?s:s.slice(0,24);return e.jsxs("div",{className:"training-rollout-receipts",children:[a.length>24?e.jsxs("div",{className:"training-rollout-receipt-controls",children:[e.jsx("span",{children:t?`Showing all ${a.length} receipts`:`Showing latest ${i.length} of ${a.length} receipts`}),e.jsx("button",{className:"training-text-button",type:"button",onClick:()=>n(l=>!l),children:t?"Show latest 24":`Show all ${a.length}`})]}):null,i.map(l=>e.jsxs("details",{children:[e.jsxs("summary",{children:[e.jsx("span",{children:Pe(l.providerTrace.rolloutId)}),e.jsx("strong",{children:l.status}),e.jsx("em",{children:l.reward.eligible&&l.reward.raw!=null?l.reward.raw.toFixed(3):l.failureClass??"not reward eligible"})]}),e.jsxs("dl",{className:"training-configuration-list",children:[e.jsx(C,{label:"Correlation",value:l.correlationId}),e.jsx(C,{label:"Task",value:l.taskId}),e.jsx(C,{label:"Policy",value:l.policy.modelId}),e.jsx(C,{label:"Checkpoint",value:l.policy.checkpointId??"Provider initial policy"}),e.jsx(C,{label:"Environment",value:`${l.environment.id}@${l.environment.version}`}),e.jsx(C,{label:"World",value:`${l.environment.worldId} · ${l.environment.worldHash}`}),e.jsx(C,{label:"Raw reward",value:l.reward.raw==null?"Not eligible":String(l.reward.raw)}),e.jsx(C,{label:"Components",value:JSON.stringify(l.reward.components)}),e.jsx(C,{label:"Outcome",value:l.verifier?.outcome??l.failureClass??"Pending"}),e.jsx(C,{label:"Trace",value:`${l.providerTrace.experimentId}/${l.providerTrace.rolloutId}`})]})]},l.id))]})}function C({label:a,value:t}){return e.jsxs("div",{children:[e.jsx("dt",{children:a}),e.jsx("dd",{children:t})]})}function Pe(a){return a.replace(/^lineage_/,"").slice(0,18)}function Ae({detail:a,loading:t}){if(t&&!a)return e.jsx("div",{className:"training-run-placeholder",children:"Loading evaluation results…"});const n=a?.evaluation;return n?e.jsxs("div",{className:"training-run-evaluation",children:[e.jsxs("div",{className:"training-metric-summary",children:[e.jsx(J,{label:"Base score",value:se(n.base.meanScore)}),e.jsx(J,{label:"Trained score",value:se(n.trained.meanScore)}),e.jsx(J,{label:"Score change",value:Ie(n.meanScoreDelta)}),e.jsx(J,{label:"Trained pass rate",value:Ee(n.trained.passRate)})]}),n.base.count===0?e.jsx("p",{className:"training-muted",children:"Base-model scoring was not imported for this earlier run. New runs retain both base and trained evaluations."}):null,n.trained.count>0&&n.trained.scoredCount===0?e.jsx("p",{className:"training-muted",children:"Outputs were captured, but the grader was unavailable, so this run has no evaluation score."}):null,e.jsx("div",{className:"training-table-wrap",children:e.jsxs("table",{className:"training-data-table training-evaluation-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Test example"}),e.jsx("th",{children:"Base"}),e.jsx("th",{children:"Trained"}),e.jsx("th",{children:"Result"})]})}),e.jsx("tbody",{children:n.examples.map(s=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsxs("details",{children:[e.jsx("summary",{children:s.taskId}),e.jsx(Fe,{input:s.input,baseOutput:s.baseOutput,trainedOutput:s.trainedOutput,baseGrade:s.baseGrade,trainedGrade:s.trainedGrade})]})}),e.jsx("td",{children:re(s.baseGrade)}),e.jsx("td",{children:re(s.trainedGrade)}),e.jsx("td",{children:Be(s.baseGrade,s.trainedGrade)})]},s.taskId))})]})})]}):e.jsx("div",{className:"training-run-placeholder",children:"No scored evaluation results are available for this run."})}function Fe({input:a,baseOutput:t,trainedOutput:n,baseGrade:s,trainedGrade:i}){const l=[...new Set([...s?.feedback??[],...i?.feedback??[]])];return e.jsxs("div",{className:"training-evaluation-output",children:[e.jsxs("div",{children:[e.jsx("span",{children:"Input"}),e.jsx("pre",{children:JSON.stringify(a,null,2)})]}),t?e.jsxs("div",{children:[e.jsx("span",{children:"Base output"}),e.jsx("pre",{children:JSON.stringify(t,null,2)})]}):null,n?e.jsxs("div",{children:[e.jsx("span",{children:"Trained output"}),e.jsx("pre",{children:JSON.stringify(n,null,2)})]}):null,l.length?e.jsxs("div",{children:[e.jsx("span",{children:"Grader feedback"}),e.jsx("p",{children:l.join(" ")})]}):null]})}function J({label:a,value:t}){return e.jsxs("div",{children:[e.jsx("span",{children:a}),e.jsx("strong",{children:t})]})}function se(a){return a==null?"Not recorded":a.toFixed(3)}function Ee(a){return a==null?"Not recorded":`${Math.round(a*100)}%`}function Ie(a){return a==null?"Not comparable":`${a>=0?"+":""}${a.toFixed(3)}`}function re(a){return a?.status==="unavailable"?"Unavailable":a?.score==null?"Not scored":a.score.toFixed(3)}function Be(a,t){if(!t)return"Not evaluated";if(t.status==="unavailable")return"Unavailable";if(!a||a.score==null||t.score==null)return t.passed?"Passed":"Failed";const n=t.score-a.score;return Math.abs(n)<5e-4?"No change":n>0?`Improved ${n.toFixed(3)}`:`Regressed ${Math.abs(n).toFixed(3)}`}const ie=[{key:"loss",label:"Loss",format:j},{key:"reward",label:"Reward",format:j},{key:"policyLoss",label:"Policy loss",format:j},{key:"advantageLoss",label:"Advantage loss",format:j},{key:"learningRate",label:"Learning rate",format:H},{key:"gradientNorm",label:"Gradient norm",format:j},{key:"meanTokenAccuracy",label:"Token accuracy",format:K},{key:"preferenceAccuracy",label:"Preference accuracy",format:K},{key:"preferenceMargin",label:"Preference margin",format:j},{key:"chosenReward",label:"Chosen reward",format:j},{key:"rejectedReward",label:"Rejected reward",format:j},{key:"chosenLogProbability",label:"Chosen log probability",format:j},{key:"rejectedLogProbability",label:"Rejected log probability",format:j},{key:"entropy",label:"Entropy",format:j},{key:"memoryBytes",label:"Memory",format:he}],oe=[{key:"meanReward",label:"Reward",format:j},{key:"meanReturn",label:"Return",format:j},{key:"learningRate",label:"Learning rate",format:H},{key:"policyLoss",label:"Policy loss",format:j},{key:"valueLoss",label:"Value loss",format:j},{key:"kl",label:"KL",format:j},{key:"entropy",label:"Entropy",format:j},{key:"policyClipFraction",label:"Policy clip fraction",format:K},{key:"valueClipFraction",label:"Value clip fraction",format:K},{key:"explainedVariance",label:"Explained variance",format:j}];function Ue({detail:a,loading:t,error:n}){je(n,{prefix:"Training metrics"});const s=y.useMemo(()=>_e(a?.stepMetrics??[]),[a?.stepMetrics]),i=y.useMemo(()=>ie.filter(r=>s.some(v=>v[r.key]!=null)),[s]),[l,o]=y.useState("loss"),c=i.find(r=>r.key===l)??i[0]??ie[0],f=s.flatMap(r=>r[c.key]==null?[]:[{step:r.step,value:r[c.key]}]),p=y.useMemo(()=>qe(a?.policyMetrics??[]),[a?.policyMetrics]),x=y.useMemo(()=>oe.filter(r=>p.some(v=>v[r.key]!=null)),[p]),[u,h]=y.useState("meanReward"),g=x.find(r=>r.key===u)??x[0]??oe[0],S=p.flatMap(r=>r[g.key]==null?[]:[{step:r.step,value:r[g.key]}]),P=p.flatMap(r=>r.meanReward==null?[]:[{step:r.step,value:r.meanReward}]),T=p.flatMap(r=>r.learningRate==null?[]:[{step:r.step,value:r.learningRate}]),k=y.useMemo(()=>Ve(a?.events??[]),[a?.events]),m=a?Oe(a):{};if(t&&!a)return e.jsx("div",{className:"training-run-placeholder",children:"Loading training metrics…"});if(n&&!a)return e.jsx("div",{className:"training-run-placeholder",children:"Training metrics are unavailable."});if(!a)return e.jsx("div",{className:"training-run-placeholder",children:"Select a training run to inspect its metrics."});if(p.length){if(p.some(v=>v.method==="grpo")||a.job.metadata.trainingMethod==="grpo")return e.jsx(ce,{learningRatePoints:T,rewardPoints:P,rolloutPoints:k});const r=p.at(-1);return e.jsxs("div",{className:"training-run-metrics",children:[e.jsxs("div",{className:"training-metric-summary",children:[e.jsx(L,{label:"Optimizer steps",value:r.step}),e.jsx(L,{label:"Latest reward",value:r.meanReward==null?null:j(r.meanReward)}),e.jsx(L,{label:"Policy loss",value:r.policyLoss==null?null:j(r.policyLoss)}),e.jsx(L,{label:"Rollouts",value:k.length||null}),e.jsx(L,{label:"Learning rate",value:r.learningRate==null?null:H(r.learningRate)}),e.jsx(L,{label:"Environment executions",value:r.environmentExecutions})]}),x.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"training-metric-tabs",role:"tablist","aria-label":"Policy metrics",children:x.map(v=>e.jsx("button",{className:v.key===g.key?"active":"",role:"tab",type:"button","aria-selected":v.key===g.key,onClick:()=>h(v.key),children:v.label},v.key))}),e.jsxs("div",{className:"training-metric-chart-grid",children:[k.length?e.jsx(z,{axisLabel:"Rollout",format:j,label:"Rollout reward",points:k}):null,e.jsx(z,{format:g.format,label:g.label,points:S})]})]}):null]})}const b=a.job.metadata.trainingMethod==="grpo",I=s.flatMap(r=>r.loss==null?[]:[r.loss]),A=s.flatMap(r=>r.learningRate==null?[]:[{step:r.step,value:r.learningRate}]),B=s.flatMap(r=>r.reward==null?[]:[{step:r.step,value:r.reward}]);if(b){const r=a.job.metadata.optimizerUpdatesObserved,v=typeof r=="number"&&Number.isFinite(r)?Math.max(0,r):null;return e.jsx(ce,{learningRatePoints:v==null?A:A.filter(F=>F.step<=v),rewardPoints:v==null?B:B.filter(F=>F.step<=v),rolloutPoints:k})}return e.jsxs("div",{className:"training-run-metrics",children:[e.jsxs("div",{className:"training-metric-summary",children:[e.jsx(L,{label:"Steps",value:m.steps??De(s)}),e.jsx(L,{label:"Final loss",value:m.trainLoss==null?I.at(-1)==null?null:j(I.at(-1)):j(m.trainLoss)}),e.jsx(L,{label:"Peak memory",value:Ge(a.stepMetrics)}),e.jsx(L,{label:"Adapter parameters",value:m.adapterParameterCount==null?null:m.adapterParameterCount.toLocaleString()})]}),i.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"training-metric-tabs",role:"tablist","aria-label":"Training metrics",children:i.map(r=>e.jsx("button",{type:"button",role:"tab","aria-selected":r.key===c.key,className:r.key===c.key?"active":"",onClick:()=>o(r.key),children:r.label},r.key))}),e.jsxs("div",{className:"training-metric-chart-grid",children:[e.jsx(z,{label:c.label,points:f,format:c.format}),c.key!=="learningRate"&&A.length?e.jsx(z,{label:"Learning rate",points:A,format:H}):null]})]}):e.jsx("div",{className:"training-run-placeholder",children:"This earlier run recorded its final result but not per-step Trainer logs."})]})}function ce({rewardPoints:a,rolloutPoints:t,learningRatePoints:n}){return e.jsx("div",{className:"training-run-metrics",children:e.jsxs("div",{className:"training-metric-chart-grid three",children:[e.jsx(z,{format:j,label:"Reward",points:a}),e.jsx(z,{axisLabel:"Rollout",format:j,label:"Rollout reward",points:t}),e.jsx(z,{format:H,label:"Learning rate",points:n})]})})}function z({label:a,points:t,format:n,axisLabel:s="Optimizer step"}){return e.jsxs("section",{className:"training-metric-chart-card",children:[e.jsxs("header",{children:[e.jsx("h4",{children:a}),e.jsxs("span",{children:[t.length," ",t.length===1?"point":"points"]})]}),t.length?e.jsx(ze,{axisLabel:s,format:n,label:a,points:t}):e.jsx("div",{className:"training-metric-chart-empty",children:"Not recorded"})]})}function ze({label:a,points:t,format:n,axisLabel:s}){const o={top:20,right:20,bottom:58,left:64},c=t.map(r=>r.value),f=Math.min(...c),p=Math.max(...c),x=p-f||Math.max(Math.abs(p)*.1,1e-9),u=f-x*.08,h=p+x*.08,g=t[0]?.step??0,S=t.at(-1)?.step??g+1,P=Math.max(1,S-g),T=760-o.right,k=r=>t.length===1?(o.left+T)/2:o.left+(r-g)/P*(760-o.left-o.right),m=r=>o.top+(h-r)/(h-u)*(270-o.top-o.bottom),b=t.map((r,v)=>`${v?"L":"M"}${k(r.step).toFixed(2)},${m(r.value).toFixed(2)}`).join(" "),I=270-o.bottom,A=t.length>1?`${b} L${k(S).toFixed(2)},${I} L${k(g).toFixed(2)},${I} Z`:"",B=s!=="Optimizer step"?s:a==="Learning rate"?"Update":"Step";return e.jsx("figure",{className:"training-line-chart","aria-label":`${a} by ${s.toLowerCase()}`,children:e.jsxs("svg",{viewBox:"0 0 760 270",role:"img","aria-labelledby":`metric-${a.replaceAll(" ","-")}`,children:[e.jsx("title",{id:`metric-${a.replaceAll(" ","-")}`,children:`${a} by ${s.toLowerCase()}`}),[0,.25,.5,.75,1].map(r=>{const v=o.top+r*(270-o.top-o.bottom),F=h-r*(h-u);return e.jsxs("g",{children:[e.jsx("line",{className:"training-chart-grid",x1:o.left,x2:760-o.right,y1:v,y2:v}),e.jsx("text",{className:"training-chart-label",x:o.left-10,y:v+4,textAnchor:"end",children:n(F)})]},r)}),e.jsx("line",{className:"training-chart-axis",x1:o.left,x2:760-o.right,y1:270-o.bottom,y2:270-o.bottom}),e.jsx("path",{className:"training-chart-area",d:A}),e.jsx("path",{className:"training-chart-line",d:b}),t.map(r=>e.jsx("circle",{className:"training-chart-point",cx:k(r.step),cy:m(r.value),r:t.length===1?"4.5":"3",children:e.jsx("title",{children:`${B} ${r.step}: ${n(r.value)}`})},`${r.step}-${r.value}`)),e.jsx("text",{className:"training-chart-label",x:k(g),y:236,textAnchor:"middle",children:g}),t.length>1?e.jsx("text",{className:"training-chart-label",x:T,y:236,textAnchor:"middle",children:S}):null,e.jsx("text",{className:"training-chart-label axis-title",x:(o.left+760-o.right)/2,y:261,textAnchor:"middle",children:s})]})})}function Ve(a){return a.flatMap(t=>{if(t.type!=="metric"||t.payload.metricKind!=="rollout_trajectory")return[];const n=de(t.payload.rolloutIndex),s=de(t.payload.reward);return n==null||s==null?[]:[{step:n,value:s}]})}function de(a){return typeof a=="number"&&Number.isFinite(a)?a:null}function L({label:a,value:t}){return e.jsxs("div",{children:[e.jsx("span",{children:a}),e.jsx("strong",{children:t??"Not recorded"})]})}function Oe(a){const t=[...a.events].reverse().find(n=>n.type==="metric"&&n.payload.metricKind!=="sft_step"&&(typeof n.payload.trainLoss=="number"||typeof n.payload.steps=="number"));return Object.fromEntries(Object.entries(t?.payload??{}).filter(n=>typeof n[1]=="number"))}function De(a){const t=a.at(-1);return t?`${t.step} of ${t.maxSteps}`:null}function _e(a){const t=new Map;for(const n of a)t.set(n.step,n);return[...t.values()].sort((n,s)=>n.step-s.step)}function qe(a){const t=new Map;for(const n of a)t.set(n.step,n);return[...t.values()].sort((n,s)=>n.step-s.step)}function Ge(a){const t=a.flatMap(n=>n.memoryBytes==null?[]:[n.memoryBytes]);return t.length?he(Math.max(...t)):null}function j(a){return new Intl.NumberFormat(void 0,{maximumFractionDigits:4}).format(a)}function H(a){return a===0?"0":a.toExponential(2)}function K(a){return`${(a*100).toFixed(1)}%`}function he(a){return`${(a/1024**3).toFixed(2)} GB`}const He=new Set(["queued","starting","running","cancelling","reconciling"]);function Je(a,t,n){const[s,i]=y.useState(null),[l,o]=y.useState(!1),[c,f]=y.useState(null),p=y.useCallback(async()=>{if(!a||!t)return null;o(!0);try{const x=await fe.trainingRunDetail(a,t);return i(x),f(null),x}catch(x){return f(x instanceof Error?x.message:String(x)),null}finally{o(!1)}},[a,t]);return y.useEffect(()=>{i(null),f(null),!(!a||!t)&&p()},[a,t,p]),y.useEffect(()=>{if(!a||!t||!n||!He.has(n))return;const x=window.setInterval(()=>{p()},2e3);return()=>window.clearInterval(x)},[a,t,n,p]),{detail:s,error:c,loading:l,refresh:p}}function We({title:a,status:t,statusValue:n,versionStatus:s,method:i,baseModel:l,taskset:o,compute:c,duration:f,output:p,reward:x,telemetry:u,evidence:h,configuration:g,children:S,failure:P,onOpenTaskset:T}){const k=u?.cost.providerReportedUsd??u?.cost.estimatedUsd??h?.cost.totalUsd??null;return e.jsxs("div",{className:"labs-model-run-summary",children:[e.jsx("section",{className:"labs-run-outcome-card",children:e.jsx("header",{children:e.jsxs("div",{children:[e.jsxs("div",{className:"labs-run-title-row",children:[e.jsx("h2",{children:a}),e.jsx(X,{label:t,value:n})]}),e.jsxs("p",{children:[Ye(i)," on ",l]})]})})}),S,e.jsxs("section",{className:"labs-run-summary-card",children:[e.jsx("header",{children:e.jsx("h3",{children:"Run setup"})}),e.jsxs("dl",{className:"labs-run-detail-list",children:[e.jsx(M,{label:"Training method",value:i}),e.jsx(M,{label:"Base model",value:l}),e.jsx(M,{label:"Compute",value:c}),e.jsx(M,{label:"Output",value:p}),s?e.jsx(M,{label:"Version status",value:s}):null,e.jsx(M,{label:"Duration",value:f}),e.jsx(M,{label:"Run cost",value:k===null?"Not reported":`$${k.toFixed(4)}`}),e.jsx(M,{label:"Final reward",value:x===null?"Not reported":x.toFixed(4)}),g.map(m=>e.jsx(M,{label:m.label,value:m.value},m.label)),u||h?e.jsxs(e.Fragment,{children:[e.jsx(D,{label:"GPU",value:Ke(u,h)}),e.jsx(D,{label:"Tokens",value:`${_(u?.usage.promptTokens??h?.usage.inputTokens??null)} prompt · ${_(u?.usage.generatedTokens??h?.usage.outputTokens??null)} generated`}),e.jsx(D,{label:"Trajectories",value:`${_(u?.usage.successfulTrajectories??h?.reward.eligibleTrajectoryCount??null)} succeeded · ${_(u?.usage.failedTrajectories??(h?h.reward.trajectoryCount-h.reward.eligibleTrajectoryCount:null))} failed`}),e.jsx(D,{label:"Optimizer updates",value:_(u?.usage.optimizerSteps??h?.progress.committedOptimizerSteps??null)}),e.jsx(D,{label:"GPU time",value:u?.usage.gpuSeconds==null?"Not reported":`${u.usage.gpuSeconds.toFixed(1)} seconds`})]}):e.jsx(M,{label:"Resource usage",value:"Not retained for this run"}),e.jsxs("div",{children:[e.jsx("dt",{children:"Taskset"}),e.jsx("dd",{children:T?e.jsxs("button",{className:"labs-run-taskset-link",type:"button",onClick:T,children:[e.jsx("span",{children:o}),e.jsx(ve,{"aria-hidden":"true",size:14})]}):o})]})]})]}),P?e.jsx("p",{className:"labs-training-error",children:P}):null]})}function M({label:a,value:t}){return e.jsxs("div",{children:[e.jsx("dt",{children:a}),e.jsx("dd",{children:t})]})}function D({label:a,value:t}){return e.jsx(M,{label:a,value:t})}function Ke(a,t){const n=a?.resource.gpuCount??t?.resource.gpuCount??null,s=a?.resource.gpuType??t?.resource.gpuType??null;return n===null&&s===null?"Not reported":`${n??"Unknown"} × ${s?Ze(s):"Unreported"}`}function _(a){return a===null?"Not reported":a.toLocaleString()}function Ye(a){return a==="RFT"?"Reinforcement fine-tuning":`${a} training`}function Ze(a){return a.split(" · ").map(t=>t.replaceAll("_"," ").replace(/\b[a-z]/g,n=>n.toUpperCase())).join(" · ")}function Qe({receipt:a,onOpenConversation:t}){return e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"labs-run-summary-card",children:[e.jsx("header",{children:e.jsx("h3",{children:"Inconclusive benchmark"})}),e.jsx("p",{className:"training-run-placeholder",children:a.reason}),e.jsxs("dl",{className:"labs-run-detail-list",children:[e.jsx(N,{label:"Held-out baseline tokens",value:a.usage.baseline.totalTokens.toLocaleString()}),e.jsx(N,{label:"Adaptation baseline tokens",value:a.usage.adaptation.totalTokens.toLocaleString()}),e.jsx(N,{label:"Refiner tokens",value:a.usage.refiner.totalTokens.toLocaleString()}),e.jsx(N,{label:"Grader tokens",value:a.usage.grader.totalTokens.toLocaleString()}),e.jsx(N,{label:"Observed / maximum spend",value:`$${a.budget.observedSpendUsd.toFixed(4)} / $${a.budget.maximumSpendUsd.toFixed(2)}`}),e.jsx(N,{label:"Harness candidate",value:a.stopReason==="candidate_harness_unchanged"?"Unchanged":"Lineage invalid"}),e.jsx(N,{label:"Completed attempts",value:a.attempts.length.toLocaleString()}),e.jsx(N,{label:"Candidate attempts",value:"Skipped"})]})]}),a.attempts.length?e.jsx(xe,{receipt:a,onOpenConversation:t}):null]})}function Xe({run:a}){const t=["baseline","adaptation","refiner","candidate_adaptation","candidate","comparison"],n={baseline:"Baseline",adaptation:"Adaptation",refiner:"Refiner",candidate_adaptation:"Sequential adaptation",candidate:"Candidate",comparison:"Comparison"},s=Math.max(0,t.indexOf(a.evaluationProgress?.stage??"baseline")),i=a.evaluationProgress?.completedAttempts??0,l=a.evaluationProgress?.totalAttempts??1;return e.jsxs("div",{className:"labs-benchmark-progress",children:[e.jsxs("header",{children:[e.jsx("h3",{children:"Benchmark progress"}),e.jsxs("strong",{children:[i," of ",l," attempts"]})]}),e.jsx("div",{className:"labs-benchmark-progress-track","aria-hidden":"true",children:e.jsx("span",{style:{width:`${Math.min(100,i/l*100)}%`}})}),e.jsx("ol",{children:t.map((o,c)=>e.jsxs("li",{className:c<s?"complete":c===s?"active":void 0,children:[e.jsx("span",{}),n[o]]},o))})]})}function ea({receipt:a}){const t=ee(a),n=t.pairs.filter(l=>l.cohort==="held_out"),s=t.pairs.filter(l=>l.cohort==="adaptation"),i=l=>l.length?l.reduce((o,c)=>o+c,0)/l.length:0;return e.jsxs("div",{className:"labs-benchmark-attempt-charts",children:[e.jsx(W,{title:"Held-out tokens by task",baseline:n.map(l=>l.baseline.totalTokens),candidate:n.map(l=>l.refined.totalTokens),format:l=>Math.round(l).toLocaleString()}),e.jsx(W,{title:"Adaptation tokens by task",baseline:s.map(l=>l.baseline.totalTokens),candidate:s.map(l=>l.refined.totalTokens),format:l=>Math.round(l).toLocaleString()}),e.jsx(W,{title:"Held-out quality by task",baseline:n.map(l=>l.baseline.score),candidate:n.map(l=>l.refined.score),format:l=>l.toFixed(2),summarize:i}),e.jsx(W,{title:"Adaptation quality by task",baseline:s.map(l=>l.baseline.score),candidate:s.map(l=>l.refined.score),format:l=>l.toFixed(2),summarize:i})]})}function aa({receipt:a,run:t,tasksetName:n,onOpenTaskset:s}){const i=ee(a),l=i.comparedTaskCount>0,o=i.passed,c=i.tokenDeltaPercent===null?"—":`${i.tokenDeltaPercent>0?"+":""}${i.tokenDeltaPercent.toFixed(2)}%`,f=p=>{const x=i.cohorts[p];return`${x.passedTaskCount}/${x.comparedTaskCount} passed`};return e.jsxs("section",{className:"labs-run-summary-card",children:[e.jsx("header",{children:e.jsx("h3",{children:"Token efficiency"})}),l?e.jsxs("div",{className:"labs-benchmark-efficiency-summary",children:[e.jsxs("strong",{children:[i.passedTaskCount," of ",i.comparedTaskCount," tasks passed"]}),e.jsxs("p",{children:["A task passes only when its refined token count is strictly lower than its own baseline. ",i.failedTaskCount," failed this token-efficiency test; aggregate usage changed by ",c,"."]})]}):e.jsx("p",{className:"training-run-placeholder",children:"Paired task-level token evidence is unavailable for this run."}),e.jsxs("dl",{className:"labs-run-detail-list",children:[e.jsx(N,{label:"Execution",value:G(t.status)}),e.jsx(N,{label:"Token-efficiency result",value:o?"Passed":"Failed"}),e.jsx(N,{label:"Efficiency passes",value:`${i.passedTaskCount}/${i.comparedTaskCount}`}),e.jsx(N,{label:"Efficiency failures",value:`${i.failedTaskCount}/${i.comparedTaskCount}`}),e.jsx(N,{label:"All-task foreground tokens",value:`${i.baselineTokens.toLocaleString()} → ${i.refinedTokens.toLocaleString()}`}),e.jsx(N,{label:"Aggregate token change",value:c}),e.jsx(N,{label:"Adaptation replay",value:f("adaptation")}),e.jsx(N,{label:"Held-out replay",value:f("held_out")}),e.jsx(N,{label:"Task quality",value:`${i.baselinePassedCount}/${i.comparedTaskCount} → ${i.refinedPassedCount}/${i.comparedTaskCount}`}),e.jsx(N,{label:"Result lineage",value:a.lineage.valid?"Valid":"Invalid"}),e.jsxs("div",{children:[e.jsx("dt",{children:"Taskset"}),e.jsx("dd",{children:s?e.jsx("button",{className:"labs-run-taskset-link",type:"button",onClick:s,children:n}):n})]})]})]})}function W({title:a,baseline:t,candidate:n,format:s,summarize:i=l=>l.reduce((o,c)=>o+c,0)}){const l=t.filter(u=>u!==null),o=n.filter(u=>u!==null),c=Math.max(1,...l,...o),f=Math.max(2,t.length,n.length),p=u=>{const h=[];let g=[];return u.forEach((S,P)=>{if(S===null){g.length&&h.push(g.join(" ")),g=[];return}const T=6+P/(f-1)*88,k=44-S/c*36;g.push(`${T},${k}`)}),g.length&&h.push(g.join(" ")),h},x=u=>u.flatMap((h,g)=>h===null?[]:[{x:6+g/(f-1)*88,y:44-h/c*36}]);return e.jsxs("section",{className:"labs-benchmark-line-chart",children:[e.jsxs("header",{children:[e.jsx("h4",{children:a}),e.jsxs("div",{children:[e.jsxs("span",{children:["Baseline ",s(i(l))]}),e.jsxs("span",{children:["Refined ",s(i(o))]})]})]}),e.jsxs("svg",{"aria-label":a,role:"img",viewBox:"0 0 100 50",preserveAspectRatio:"none",children:[e.jsx("line",{x1:"6",x2:"94",y1:"44",y2:"44"}),p(t).map((u,h)=>e.jsx("polyline",{className:"baseline",points:u},`baseline-${h}`)),p(n).map((u,h)=>e.jsx("polyline",{className:"candidate",points:u},`candidate-${h}`)),x(t).map((u,h)=>e.jsx("circle",{className:"baseline",cx:u.x,cy:u.y,r:"1"},`baseline-point-${h}`)),x(n).map((u,h)=>e.jsx("circle",{className:"candidate",cx:u.x,cy:u.y,r:"1"},`candidate-point-${h}`))]})]})}function xe({receipt:a,onOpenConversation:t}){const n=a.schemaVersion==="openpond.modelEvaluationReceipt.v1"?ke(a.attempts??[]):a.attempts??[];return e.jsxs("section",{className:"labs-run-summary-card",children:[e.jsx("header",{children:e.jsx("h3",{children:a.schemaVersion==="openpond.modelEvaluationReceipt.v1"?"Selected task results":"Completed attempts"})}),e.jsx("div",{className:"training-table-wrap",children:e.jsxs("table",{className:"training-data-table labs-benchmark-attempt-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Task"}),e.jsx("th",{children:"Phase"}),e.jsx("th",{children:"Result"}),e.jsx("th",{children:"Score"}),e.jsx("th",{children:"Tokens"}),e.jsx("th",{children:"Work chat"})]})}),e.jsx("tbody",{children:n.map(s=>e.jsxs("tr",{children:[e.jsx("td",{children:ta(s.taskId)}),e.jsx("td",{children:s.phase}),e.jsx("td",{children:e.jsx(X,{label:s.passed?"Passed":"Failed",value:s.passed?"succeeded":"failed"})}),e.jsx("td",{children:s.score===null?"—":s.score.toFixed(2)}),e.jsx("td",{children:s.totalTokens.toLocaleString()}),e.jsx("td",{children:s.sessionId?e.jsx("button",{className:"labs-run-taskset-link",type:"button",onClick:()=>t(s.sessionId),children:"Open chat"}):"Not retained"})]},`${s.phase}:${s.attemptId}`))})]})})]})}function ta(a){return a.replace(/^(?:adaptation|frozen)-/,"").replaceAll("-"," ").replace(/^./,t=>t.toUpperCase())}function N({label:a,value:t}){return e.jsxs("div",{children:[e.jsx("dt",{children:a}),e.jsx("dd",{children:t})]})}function Ca({connection:a,selectedEntryKey:t,workproduct:n,runs:s,training:i,onOpenDataset:l,onOpenConversation:o}){const[c,f]=y.useState("artifacts"),p=i.payload,x=y.useMemo(()=>Ne(n,s,p),[s,p,n]),u=y.useMemo(()=>Te(n,s,p),[s,p,n]),h=y.useMemo(()=>Re(n,p),[p,n]),g=y.useMemo(()=>$e(n,s,p),[s,p,n]),S=y.useMemo(()=>new Map(g.map(d=>[d.id,d])),[g]),T=y.useMemo(()=>Se(x,u),[x,u]).find(d=>d.key===t)??null,k=t.startsWith("model-run:")?t.slice(10):null,m=k?h.find(d=>d.id===k)??null:T?.job?h.find(d=>d.id===T.job?.metadata.modelRunId)??null:null,b=T?.job??(m?p?.jobs.find(d=>d.id===m.id||d.metadata.modelRunId===m.id)??null:null),I=y.useMemo(()=>we(x,u,h),[x,h,u]),A=I.findIndex(d=>d.key===t||b!==null&&d.job?.id===b.id||m!==null&&d.lifecycleRun?.id===m.id),B=A<0?null:I.length-A,r=T?.version??(m?.adapterArtifactLineageId?u.find(d=>d.lineage.id===m.adapterArtifactLineageId)??null:null),v=(m?p?.modelVersions.find(d=>d.id===m.modelVersionId)?.baseModel.modelId:null)??p?.modelVersions.filter(d=>d.modelId===n.id&&d.kind==="base_reference").sort((d,ge)=>ge.version-d.version)[0]?.baseModel.modelId??null,F=r?.lineage.frozenEvaluationArtifactId??null,ae=r?.lineage.managedServing??null,V=r?.plan??(b?S.get(b.planId)??null:null),U=r?.taskset??Me(p).find(d=>d.id===(m?.taskset.id??V?.tasksetId))??null,$=Je(a,b?.id??null,b?.status??null),te=b?p?.rolloutReceipts.filter(d=>d.jobId===b.id)??[]:[],w=$.detail?.managedEvidence??null,Y=[{id:"artifacts",label:"Artifacts"},...$.loading||$.detail?.evaluation||F||w?.evaluations.length?[{id:"evaluation",label:"Evaluation"}]:[],...te.length?[{id:"rollouts",label:"Rollouts"}]:[],...ae?[{id:"serving",label:"Serving"}]:[],...b?[{id:"activity",label:"Activity"}]:[]],E=Y.some(d=>d.id===c)?c:Y[0].id;return!T&&!m?e.jsx("div",{className:"labs-model-version-detail",children:e.jsx("div",{className:"training-run-placeholder",children:"This training attempt is no longer available."})}):m?.kind==="evaluation"?e.jsx(na,{run:m,runNumber:B,tasksetName:U?.name??"Unavailable",onOpenTaskset:U?()=>l(U.id):void 0,onOpenConversation:o}):e.jsxs("div",{className:"labs-model-version-detail",children:[e.jsx(We,{baseModel:la(V,v),compute:m?Z(m.destinationId??""):V?Z(V.destinationId):b?Z(b.destinationId):"Not recorded",duration:m?ne(m.startedAt,m.completedAt):b?ne(b.startedAt,b.completedAt):"Not recorded",failure:b?.error??m?.failure??null,configuration:sa(V),evidence:w,method:ye(m?.method??V?.recipe.method),output:r?`Version ${r.number}`:"No version created",reward:m?.reward?.raw??w?.reward.finalMean??null,status:m?G(m.status):b?G(b.status):"Imported",statusValue:m?.status??b?.status??"imported",taskset:U?.name??"Unavailable",telemetry:m?.receipt?.schemaVersion==="openpond.modelRunReceipt.v1"?m.receipt.telemetry:null,title:m||b?B?`Run ${B}`:"Run details":r?`Version ${r.number}`:"Run details",versionStatus:r?r.current?"Active":"Available":null,onOpenTaskset:U?()=>l(U.id):void 0,children:b?e.jsx(Ue,{detail:$.detail,error:$.error,loading:$.loading}):null}),e.jsxs("section",{className:"labs-run-detail-tabs",children:[e.jsx("div",{className:"training-detail-tabs",role:"tablist","aria-label":"Run details",children:Y.map(d=>e.jsx("button",{"aria-controls":`run-detail-panel-${d.id}`,"aria-selected":E===d.id,className:E===d.id?"active":void 0,id:`run-detail-tab-${d.id}`,role:"tab",type:"button",onClick:()=>f(d.id),children:d.label},d.id))}),e.jsxs("div",{"aria-labelledby":`run-detail-tab-${E}`,className:"labs-run-detail-tab-panel",id:`run-detail-panel-${E}`,role:"tabpanel",children:[E==="artifacts"?e.jsxs("dl",{className:"training-configuration-list",children:[e.jsx(R,{label:"Training attempt",value:b?.id??"Provider import"}),e.jsx(R,{label:"Taskset",value:U?.name??"Unavailable"}),e.jsx(R,{label:"Prepared data",value:b?.bundleHash??"Provider managed"}),e.jsx(R,{label:"Version ID",value:r?.lineage.id??"No version created"}),w?.checkpoint?e.jsxs(e.Fragment,{children:[e.jsx(R,{label:"Checkpoint",value:w.checkpoint.id}),e.jsx(R,{label:"Checkpoint size",value:w.checkpoint.sizeBytes==null?"Not reported":be(w.checkpoint.sizeBytes)}),e.jsx(R,{label:"Checkpoint hash",value:w.checkpoint.sha256??"Not reported"})]}):null,w?.canonicalPublication.state?e.jsx(R,{label:"Registry publication",value:Q(w.canonicalPublication.state)}):null]}):null,E==="evaluation"?e.jsxs("div",{className:"training-run-evaluation",children:[$.loading||$.detail?.evaluation?e.jsx(Ae,{detail:$.detail,loading:$.loading}):null,!$.detail?.evaluation&&w?.evaluations.length?e.jsx("dl",{className:"labs-inline-facts",children:w.evaluations.map(d=>e.jsx(R,{label:d.kind==="baseline"?"Baseline score":"Candidate score",value:d.score==null?"Not reported":d.score.toFixed(6)},`${d.kind}:${d.policyVersion}`))}):null,F?e.jsx("button",{className:"training-button secondary",type:"button",onClick:()=>{i.actions.downloadArtifact(F)},children:"Download evaluation receipt"}):null]}):null,E==="rollouts"?e.jsx(Le,{receipts:te}):null,E==="serving"?e.jsx(ra,{projection:ae}):null,E==="activity"&&b?e.jsx(ia,{error:b.error??$.error,events:$.detail?.events??[],loading:$.loading}):null]})]})]})}function na({run:a,runNumber:t,tasksetName:n,onOpenTaskset:s,onOpenConversation:i}){const l=a.receipt?.schemaVersion==="openpond.modelEvaluationReceipt.v1"?a.receipt:null,o=a.receipt?.schemaVersion==="openpond.modelEvaluationStopReceipt.v1"?a.receipt:null,c=l?Ce(l):null,f=l?ee(l):null;return e.jsxs("div",{className:"labs-model-version-detail labs-model-evaluation-detail",children:[e.jsx("section",{className:"labs-run-outcome-card",children:e.jsx("header",{children:e.jsxs("div",{children:[e.jsxs("div",{className:"labs-run-title-row",children:[e.jsx("h2",{children:t?`Run ${t}`:"Evaluation run"}),e.jsx(X,{label:l?f?.comparedTaskCount?`${f.passedTaskCount}/${f.comparedTaskCount} passed`:"No paired result":o?"Inconclusive":G(a.status),value:l?f?.comparedTaskCount&&f.passed?"succeeded":"neutral":o?.terminalClassification??a.status})]}),e.jsxs("p",{children:["Harness Refiner benchmark · ",n,l||o?` · execution ${G(a.status).toLowerCase()}`:""]})]})})}),l?e.jsxs(e.Fragment,{children:[e.jsx(le,{series:[{id:"baseline",label:"Held-out baseline",inputTokens:c.baseline.inputTokens,outputTokens:c.baseline.outputTokens,tokens:c.baseline.totalTokens,passRate:l.quality.baselinePassRate,costUsd:c.baseline.costUsd},{id:"candidate",label:"Held-out refined",inputTokens:c.candidate.inputTokens,outputTokens:c.candidate.outputTokens,tokens:c.candidate.totalTokens,passRate:l.quality.candidatePassRate,costUsd:c.candidate.costUsd}]}),e.jsx(le,{series:[{id:"adaptation-baseline",label:"Adaptation baseline",inputTokens:c.adaptation.inputTokens,outputTokens:c.adaptation.outputTokens,tokens:c.adaptation.totalTokens,passRate:l.quality.adaptationBaselinePassRate,costUsd:c.adaptation.costUsd},{id:"adaptation-candidate",label:"Adaptation replay",inputTokens:c.candidate_adaptation.inputTokens,outputTokens:c.candidate_adaptation.outputTokens,tokens:c.candidate_adaptation.totalTokens,passRate:l.quality.adaptationCandidatePassRate,costUsd:c.candidate_adaptation.costUsd}]}),(l.attempts??[]).length?e.jsx(ea,{receipt:l}):null,e.jsx(aa,{receipt:l,run:a,tasksetName:n,onOpenTaskset:s}),(l.attempts??[]).length?e.jsx(xe,{receipt:l,onOpenConversation:i}):null]}):o?e.jsx(Qe,{receipt:o,onOpenConversation:i}):e.jsx("section",{className:"labs-run-summary-card",children:a.failure?e.jsx("p",{className:"training-run-placeholder",children:a.failure}):e.jsx(Xe,{run:a})})]})}function la(a,t=null){if(!a)return t?ue(t):"Not recorded";const n=a.recipe.method==="sft"||a.recipe.method==="grpo"?a.recipe.baseModel:a.recipe.method==="dpo"?a.recipe.policyModel:a.recipe.method==="ppo"?a.recipe.policyOptimization.policyModel:null;return n?ue(n.id):"Not recorded"}function ue(a){return a.split("/").at(-1)??a}function sa(a){if(!a)return[];const t=a.recipe;return t.method==="grpo"?[{label:"LoRA rank",value:String(t.lora.rank)},{label:"Learning rate",value:me(t.optimizer.learningRate)},{label:"Optimizer steps",value:String(t.optimizer.maxSteps)},{label:"Rollouts per update",value:String(t.rollout.groupSize)},{label:"Rollout concurrency",value:String(t.rollout.concurrency)},{label:"Max output tokens",value:t.rollout.maxOutputTokens.toLocaleString()},{label:"Temperature",value:String(t.rollout.temperature)},{label:"Top P",value:String(t.rollout.topP)}]:t.method==="sft"||t.method==="dpo"?[{label:"LoRA rank",value:String(t.lora.rank)},{label:"Learning rate",value:me(t.optimizer.learningRate)},{label:"Optimizer steps",value:String(t.optimizer.maxSteps)}]:[]}function me(a){return a===0?"0":a.toExponential(2)}function be(a){const t=["B","KB","MB","GB","TB"];let n=a,s=0;for(;n>=1024&&s<t.length-1;)n/=1024,s+=1;return`${n.toFixed(s===0?0:2)} ${t[s]}`}function R({label:a,value:t}){return e.jsxs("div",{children:[e.jsx("dt",{children:a}),e.jsx("dd",{children:t})]})}function ra({projection:a}){return a?e.jsxs("dl",{className:"labs-inline-facts",children:[e.jsx(R,{label:"Admission",value:a.customerBindingAllowed?"Allowed":"Pending"}),e.jsx(R,{label:"Artifact",value:Q(a.canonicalArtifactState)}),e.jsx(R,{label:"Deployment",value:Q(a.canonicalDeploymentState)}),e.jsx(R,{label:"Base profile",value:a.baseProfileId??"Pending"}),e.jsx(R,{label:"Last synchronized",value:pe(a.lastSyncedAt)}),a.lastError?e.jsx(R,{label:"Synchronization",value:a.lastError}):null]}):null}function Q(a){return a?a.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase()):"Pending"}function ia({error:a,events:t,loading:n}){return n&&!t.length?e.jsx("div",{className:"training-run-placeholder",children:"Loading run events…"}):t.length?e.jsx("div",{className:"training-table-wrap",children:e.jsxs("table",{className:"training-data-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Time"}),e.jsx("th",{children:"Event"}),e.jsx("th",{children:"Details"})]})}),e.jsxs("tbody",{children:[t.map(s=>e.jsxs("tr",{children:[e.jsx("td",{children:pe(s.timestamp)}),e.jsx("td",{children:oa(s.type)}),e.jsx("td",{children:ca(s)})]},s.id)),a?e.jsxs("tr",{children:[e.jsx("td",{children:"Not available"}),e.jsx("td",{children:"Failure"}),e.jsx("td",{children:a})]}):null]})]})}):e.jsx("div",{className:"training-run-placeholder",children:a??"No normalized run events were recorded."})}function oa(a){return a.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase())}function ca(a){const t=a.payload,n=O(t.step),s=O(t.maxSteps);if(a.type==="start")return typeof t.device=="string"?`Worker started on ${t.device}.`:"Worker started.";if(a.type==="progress"&&n!=null)return s==null?`Step ${n}.`:`Step ${n} of ${s}.`;if(a.type==="metric"){const i=typeof t.metricKind=="string"?t.metricKind.replaceAll("_"," "):"metric",l=[q("loss",t.loss),q("reward",t.meanReward??t.reward),q("policy loss",t.policyLoss),q("value loss",t.valueLoss),q("preference accuracy",t.preferenceAccuracy,da)].filter(o=>!!o);return`${i}${n==null?"":` · step ${n}`}${l.length?` · ${l.join(" · ")}`:""}`}if(a.type==="checkpoint"){const i=O(t.policyVersion),l=O(t.sizeBytes),o=[i==null?null:`policy ${i}`,l==null?null:be(l),t.final===!0?"final":null].filter(c=>!!c);return o.length?`Checkpoint committed · ${o.join(" · ")}.`:"Checkpoint committed."}if(a.type==="complete"){const i=O(t.artifactCount);return i==null?"Worker completed.":`Worker completed with ${i} artifacts.`}return a.type==="failure"&&typeof t.message=="string"?t.message:Object.keys(t).length?JSON.stringify(t):"Recorded."}function q(a,t,n=s=>new Intl.NumberFormat(void 0,{maximumFractionDigits:4}).format(s)){const s=O(t);return s==null?null:`${a} ${n(s)}`}function O(a){return typeof a=="number"&&Number.isFinite(a)?a:null}function da(a){return`${(a*100).toFixed(1)}%`}export{Ca as LabModelVersionDetailPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as n,n as g,j as e,Z as z,X as y,aL as w,F as L}from"./index-DHxBMQIJ.js";import{M as F,F as C}from"./MarkdownText-CyOeCVjf.js";import{I as k}from"./MainPane-DlciH8yR.js";import"./cloud-upload-CjLR-8-r.js";import"./folder-tLv6TMN2.js";import"./arrow-up-right-CzBZuWNj.js";import"./square-Cf_AXs4a.js";import"./folder-open-BpUcIJHn.js";function H({connection:a,expanded:l,selection:s,onClose:j,onResizeStart:h,onToggleExpanded:v}){const c=`${s.scope}:${s.name}`,[o,N]=n.useState({selectionKey:c,path:s.files[0]??"SKILL.md"}),r=o.selectionKey===c&&s.files.includes(o.path)?o.path:s.files[0]??"SKILL.md",[d,u]=n.useState(null),[m,p]=n.useState(null),[S,x]=n.useState(!1);n.useEffect(()=>{if(!a){u(null),p("Connect to the local OpenPond server to load this skill source.");return}let i=!1;return x(!0),p(null),u(null),g.skillSourceFile(a,s.scope,s.name,r).then(t=>{i||u(t)}).catch(t=>{i||p(t instanceof Error?t.message:String(t))}).finally(()=>{i||x(!1)}),()=>{i=!0}},[a,r,s.name,s.scope]);const f=r.split("/").at(-1)??r;return e.jsxs("aside",{className:`workspace-diff-panel native-skill-sidebar lab-skill-sidebar ${l?"expanded":""}`,"aria-label":`Skill package source: ${s.name}`,children:[l?null:e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize skill source",onPointerDown:h}),e.jsxs("div",{className:"workspace-diff-topbar native-skill-sidebar-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Selected skill file",children:e.jsxs("button",{className:"workspace-diff-tab active",type:"button",role:"tab","aria-selected":!0,children:[e.jsx(b,{path:r}),e.jsx("span",{children:f})]})}),e.jsxs("div",{className:"workspace-diff-toolbar-actions",children:[e.jsx("button",{className:"diff-icon-button",type:"button",title:l?"Dock sidebar":"Expand sidebar","aria-label":l?"Dock sidebar":"Expand sidebar",onClick:v,children:l?e.jsx(F,{size:14}):e.jsx(z,{size:14})}),e.jsx("button",{className:"diff-icon-button",type:"button",title:"Close skill source","aria-label":"Close skill source",onClick:j,children:e.jsx(y,{size:14})})]})]}),e.jsxs("div",{className:"lab-skill-source-layout",children:[e.jsxs("nav",{className:"lab-skill-file-list","aria-label":`${s.name} package files`,children:[e.jsx("div",{className:"lab-skill-file-list-heading",children:"Package files"}),s.files.map(i=>e.jsxs("button",{"aria-current":i===r?"page":void 0,className:i===r?"active":void 0,type:"button",title:i,onClick:()=>N({selectionKey:c,path:i}),children:[e.jsx(b,{path:i}),e.jsx("span",{children:i})]},i))]}),e.jsxs("div",{className:"native-skill-sidebar-body lab-skill-source-body",children:[e.jsxs("header",{className:"native-skill-source-header",children:[e.jsxs("div",{className:"lab-skill-source-title-row",children:[e.jsx("h2",{children:s.name}),e.jsx("span",{children:$(s.scope)})]}),e.jsx("p",{children:s.description}),e.jsx("code",{children:s.packagePath})]}),S?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(w,{className:"spin",size:16})," Loading source…"]}):m?e.jsx("div",{className:"lab-skill-source-state error",children:m}):d?.isBinary?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(k,{size:18}),"Binary asset · ",B(d.byteSize)]}):e.jsx("pre",{className:"native-skill-markdown-source","aria-label":`${f} source`,children:e.jsx("code",{children:d?.content??""})})]})]})]})}function $(a){return a==="codex"?"Codex skill":a==="extension"?"GitHub extension":"OpenPond skill"}function b({path:a}){const l=a.split(".").at(-1)?.toLowerCase();return["avif","gif","jpeg","jpg","png","webp"].includes(l??"")?e.jsx(k,{size:14}):["md","txt","yaml","yml"].includes(l??"")?e.jsx(L,{size:14}):e.jsx(C,{size:14})}function B(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}export{H as LabSkillSidebar};
|