openpond 0.0.49 → 0.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/chunks/{app-layer-E2JWCA6D.js → app-layer-DCUTQ4TM.js} +2 -2
  2. package/dist/chunks/{app-server-runtime-OWEIHFEU.js → app-server-runtime-Q3IGU5YB.js} +6 -6
  3. package/dist/chunks/{apps-VQDIVGST.js → apps-JDRCDAPE.js} +2 -2
  4. package/dist/chunks/{chunk-7G472COA.js → chunk-35OYRVVH.js} +1491 -4
  5. package/dist/chunks/{chunk-3BR4ACFF.js → chunk-3PYU3XCS.js} +484 -201
  6. package/dist/chunks/{chunk-NR2N6JAC.js → chunk-CSN3DLWJ.js} +1 -1
  7. package/dist/chunks/{chunk-ZJBJQCQZ.js → chunk-EJURKADM.js} +4 -2
  8. package/dist/chunks/{chunk-NRLI3S72.js → chunk-IGSEFSMA.js} +187 -21
  9. package/dist/chunks/{chunk-UJV3UYLP.js → chunk-J4LLKY6E.js} +1 -1
  10. package/dist/chunks/{chunk-64LWPRGN.js → chunk-LYEXNSCO.js} +2 -2
  11. package/dist/chunks/{chunk-LRLDBKTI.js → chunk-PFNX5XOT.js} +1 -1
  12. package/dist/chunks/{chunk-QD4FR3O4.js → chunk-R4PRXXTC.js} +40 -35
  13. package/dist/chunks/{chunk-CNIMJPM5.js → chunk-UDTHREHB.js} +2231 -2125
  14. package/dist/chunks/{chunk-7M4HGT5X.js → chunk-V3HADQL5.js} +1 -1
  15. package/dist/chunks/{cli-T6TTMVSU.js → cli-2FTM4SXH.js} +5 -5
  16. package/dist/chunks/{core-commands-UW4XTGXK.js → core-commands-5BRR7TU4.js} +3 -3
  17. package/dist/chunks/{desktop-test-JTBPE7CH.js → desktop-test-EQ2BGZOM.js} +2 -2
  18. package/dist/chunks/{extension-VP7LMA32.js → extension-V3NZ7MU7.js} +305 -170
  19. package/dist/chunks/{help-OZNCHHO3.js → help-WJBMX37U.js} +1 -1
  20. package/dist/chunks/{opchat-RY3QU5UJ.js → opchat-W7DSKNNB.js} +2 -2
  21. package/dist/chunks/{organizations-GLKSXK3Q.js → organizations-RHOF5H4Z.js} +4 -4
  22. package/dist/chunks/{profile-JWUYJF23.js → profile-B62ZWPTQ.js} +3 -3
  23. package/dist/chunks/{project-agent-L4EB7QFO.js → project-agent-QA25HHDV.js} +2 -2
  24. package/dist/chunks/{sandbox-command-26255MSV.js → sandbox-command-JFEVPU4X.js} +2 -2
  25. package/dist/chunks/{sandbox-template-6UDA3AEY.js → sandbox-template-GEWTAWAR.js} +3 -3
  26. package/dist/chunks/{src-7S66FU4P.js → src-JOTV67WO.js} +4944 -3831
  27. package/dist/chunks/{src-GCZ2GMG3.js → src-P2BL3KCV.js} +3 -4
  28. package/dist/chunks/{teams-bot-PO3GOLWU.js → teams-bot-ODSMRNE4.js} +2 -2
  29. package/dist/chunks/{training-BR5A7SPU.js → training-5CPTZRVC.js} +81 -2
  30. package/dist/chunks/{workspaces-26IF6TQV.js → workspaces-7YHBJG5P.js} +2 -2
  31. package/dist/cli.js +13 -13
  32. package/dist/index.js +7 -5
  33. package/dist/profile/profile-git.d.ts +22 -0
  34. package/dist/skills/openpond-taskset-authoring/SKILL.md +9 -1
  35. package/dist/skills/openpond-taskset-authoring/artifact.json +10 -5
  36. package/dist/skills/openpond-taskset-authoring/references/benchmarking.md +26 -0
  37. package/dist/web/assets/{AppDialog-BTOxCNC5.js → AppDialog-DylZeiI-.js} +1 -1
  38. package/dist/web/assets/{AppsView-Cm5x09IS.js → AppsView-Bz6C0a1u.js} +1 -1
  39. package/dist/web/assets/{BrowserSidebar-CIPh5JIn.js → BrowserSidebar-xXFxZP2-.js} +1 -1
  40. package/dist/web/assets/CommandMenu-C9k5VdaR.js +1 -0
  41. package/dist/web/assets/CommunityView-DaIS0cHw.css +1 -0
  42. package/dist/web/assets/CommunityView-DcJlUNgd.js +1 -0
  43. package/dist/web/assets/{ComposerCreateImproveStrip-CW2QuI7r.js → ComposerCreateImproveStrip-Yt3irJVo.js} +1 -1
  44. package/dist/web/assets/{GetStartedView--CbCnzFQ.js → GetStartedView-BhD0Ij7c.js} +1 -1
  45. package/dist/web/assets/LabModelVersionDetailPage-B-OoSJYT.js +1 -0
  46. package/dist/web/assets/LabSkillSidebar-dqdSTmHG.js +1 -0
  47. package/dist/web/assets/LabsRoute-BMPI4vB8.js +3 -0
  48. package/dist/web/assets/LabsRoute-DDTgtCul.css +1 -0
  49. package/dist/web/assets/MainChatThread-B0ajKiNL.js +2 -0
  50. package/dist/web/assets/{MainPane-Bky_Rqcx.css → MainPane-BfVDe9f7.css} +1 -1
  51. package/dist/web/assets/MainPane-COs4xUGo.js +6 -0
  52. package/dist/web/assets/{MarkdownText-DTBS9xe7.js → MarkdownText-CzZ60aWs.js} +4 -4
  53. package/dist/web/assets/Messages-DGrK4iIj.js +9 -0
  54. package/dist/web/assets/{NativeSkillSidebar-DSoPD42b.js → NativeSkillSidebar-BkpgGLSO.js} +1 -1
  55. package/dist/web/assets/{NewProjectDialog-CmXg2GK7.js → NewProjectDialog-BOdCdNcG.js} +1 -1
  56. package/dist/web/assets/OutputsPage-CSBWIFdi.js +1 -0
  57. package/dist/web/assets/RightChatPanelStack-PZR6NYJj.js +1 -0
  58. package/dist/web/assets/ScheduledWorkPage-WXLnwju_.js +1 -0
  59. package/dist/web/assets/{SettingsView-CrXwXjZ1.css → SettingsView-C39BqlSI.css} +1 -1
  60. package/dist/web/assets/SettingsView-CQJoEx-y.js +6 -0
  61. package/dist/web/assets/{TeamChatView-CB_0oRid.js → TeamChatView-BRnuD-lV.js} +2 -2
  62. package/dist/web/assets/TeamChatView-Br3VdxhD.css +1 -0
  63. package/dist/web/assets/{TerminalOverlay-XhABQsCB.js → TerminalOverlay-B5m8j4_C.js} +1 -1
  64. package/dist/web/assets/{TrainingCreationPanel-ChsDr2GP.js → TrainingCreationPanel-CA1rt7XZ.js} +1 -1
  65. package/dist/web/assets/{TrainingDraftPanel-CDlpnno6.js → TrainingDraftPanel-C0p3GP1n.js} +1 -1
  66. package/dist/web/assets/{UsageSettingsSection-NbX7_3Uz.js → UsageSettingsSection-CpIKj4p-.js} +1 -1
  67. package/dist/web/assets/WorkspaceDiffPanel-BXk8mdZB.js +14 -0
  68. package/dist/web/assets/WorkspaceEnvironmentMenu-BO60uNVj.js +32 -0
  69. package/dist/web/assets/{WorkspaceGitDialogs-C0PMpVfj.js → WorkspaceGitDialogs-hWBfhgaP.js} +1 -1
  70. package/dist/web/assets/{WorkspaceMonacoEditor-6QNGzQUi.js → WorkspaceMonacoEditor-ULPyacH8.js} +3 -3
  71. package/dist/web/assets/{arrow-up-right-Cx2xjktp.js → arrow-up-right-CkfCgokz.js} +1 -1
  72. package/dist/web/assets/{chevron-up-UF_r7JHT.js → chevron-up-B5URpgIH.js} +1 -1
  73. package/dist/web/assets/{circle-alert-BUHAQ7Du.js → circle-alert-CAvjRdlQ.js} +1 -1
  74. package/dist/web/assets/{cloud-upload-Cc_ZQEAm.js → cloud-upload-DeQEwz1o.js} +1 -1
  75. package/dist/web/assets/{cssMode-CrigFsxI.js → cssMode-B4V5a3OX.js} +1 -1
  76. package/dist/web/assets/folder-DgS_U9Lq.js +1 -0
  77. package/dist/web/assets/folder-git-2-BTtbxKWf.js +1 -0
  78. package/dist/web/assets/{folder-open-D7a4t258.js → folder-open-CqjIkaDK.js} +1 -1
  79. package/dist/web/assets/{folder-plus-CmeHTj5W.js → folder-plus-CsS0KPW5.js} +1 -1
  80. package/dist/web/assets/{git-branch-CaVUghsI.js → git-branch-BN2ijBYt.js} +1 -1
  81. package/dist/web/assets/{git-commit-horizontal-oiDAVV_Y.js → git-commit-horizontal-CVsl4u1O.js} +1 -1
  82. package/dist/web/assets/{htmlMode-CLzM5GNi.js → htmlMode-DRksGWJA.js} +1 -1
  83. package/dist/web/assets/index-CE2hroF6.css +1 -0
  84. package/dist/web/assets/index-Cxq5q-6B.js +174 -0
  85. package/dist/web/assets/index-SKvMOpII.js +1 -0
  86. package/dist/web/assets/{info-dTkimobU.js → info-DwVXRQli.js} +1 -1
  87. package/dist/web/assets/{jsonMode-BBF67cOE.js → jsonMode-eJvgtAy-.js} +1 -1
  88. package/dist/web/assets/{lspLanguageFeatures-DHtN2nxz.js → lspLanguageFeatures-DCk7zUI-.js} +1 -1
  89. package/dist/web/assets/{monaco.contribution-DtM9AdPi.js → monaco.contribution-B02C5mDa.js} +2 -2
  90. package/dist/web/assets/{monaco.contribution-BClTZJd2.js → monaco.contribution-CPnN-lZN.js} +2 -2
  91. package/dist/web/assets/{monaco.contribution-riAIDf7J.js → monaco.contribution-DWVguH46.js} +2 -2
  92. package/dist/web/assets/{monaco.contribution-C_GWU01R.js → monaco.contribution-WGT1eYvk.js} +2 -2
  93. package/dist/web/assets/{play-CjWTsI9z.js → play-DGCzapdE.js} +1 -1
  94. package/dist/web/assets/{python-CvZQM_g2.js → python-DRPzruv8.js} +1 -1
  95. package/dist/web/assets/{refresh-cw-CeHT_tXT.js → refresh-cw-BKF4NhDI.js} +1 -1
  96. package/dist/web/assets/{save-CmJ92Odx.js → save-DQXtfx_4.js} +1 -1
  97. package/dist/web/assets/{square-B00f_944.js → square-Dp5eGICS.js} +1 -1
  98. package/dist/web/assets/square-pen-j-mZ_UkO.js +1 -0
  99. package/dist/web/assets/{toggleHighContrast-C6N52VOS.js → toggleHighContrast-wDmA5YPb.js} +1 -1
  100. package/dist/web/assets/{training-model-data-B7-1Bxil.js → training-model-data-V8276E5q.js} +1 -1
  101. package/dist/web/assets/{tsMode-CDIfvnHn.js → tsMode-DELTv39m.js} +1 -1
  102. package/dist/web/assets/{upload-DK0-5jXz.js → upload-_rNli8wK.js} +1 -1
  103. package/dist/web/assets/{useLocalAgentSchedules-BUkZjV9E.js → useLocalAgentSchedules-DRVUfTbv.js} +1 -1
  104. package/dist/web/assets/wifi-off-uKPwd8A7.js +1 -0
  105. package/dist/web/assets/{workers-BfcjsZ3C.js → workers-CXbluSB3.js} +1 -1
  106. package/dist/web/assets/{yaml-CNqgAihH.js → yaml-BMqi-3ui.js} +1 -1
  107. package/dist/web/index.html +2 -2
  108. package/docs/command-reference.md +6 -1
  109. package/package.json +1 -1
  110. package/dist/web/assets/CommandMenu-DdR82TLd.js +0 -1
  111. package/dist/web/assets/CommunityView-DSik4sd2.css +0 -1
  112. package/dist/web/assets/CommunityView-Dqu4cos1.js +0 -1
  113. package/dist/web/assets/LabModelVersionDetailPage-BPUvR5XP.js +0 -1
  114. package/dist/web/assets/LabSkillSidebar-CnuyFZ1G.js +0 -1
  115. package/dist/web/assets/LabsRoute-CYk2dzQp.js +0 -3
  116. package/dist/web/assets/LabsRoute-CoSPO4HR.css +0 -1
  117. package/dist/web/assets/MainChatThread-0Tc95p0t.js +0 -2
  118. package/dist/web/assets/MainPane-Bke4JEHC.js +0 -6
  119. package/dist/web/assets/Messages-Bae_sFx5.js +0 -9
  120. package/dist/web/assets/OutputsPage-XmIreC0M.js +0 -1
  121. package/dist/web/assets/RightChatPanelStack-BMOtbjus.js +0 -1
  122. package/dist/web/assets/ScheduledWorkPage-Cn5a9VLV.js +0 -1
  123. package/dist/web/assets/SettingsView-DXF8z3P2.js +0 -6
  124. package/dist/web/assets/TeamChatView-Cgxm-pKA.css +0 -1
  125. package/dist/web/assets/WorkspaceDiffPanel-jaJU08NH.js +0 -14
  126. package/dist/web/assets/WorkspaceEnvironmentMenu-D0nvQmmj.js +0 -32
  127. package/dist/web/assets/index-De6p2npi.js +0 -1
  128. package/dist/web/assets/index-UUM3pwfd.css +0 -1
  129. package/dist/web/assets/index-Ure41UF0.js +0 -178
  130. package/dist/web/assets/monitor-POfnZCWw.js +0 -1
  131. package/dist/web/assets/reply-BkH8nKWG.js +0 -1
  132. package/dist/web/assets/square-pen-LHr8bFfZ.js +0 -1
  133. package/dist/web/assets/wifi-off-BQGq-son.js +0 -1
@@ -1 +0,0 @@
1
- import{r as i,n as W,j as e,aN as A,aF as D,X as B,F as R}from"./index-Ure41UF0.js";import{s as M,r as z,C as K,F as X}from"./MarkdownText-DTBS9xe7.js";import{F as q,I as H,P as Y,a as V,b as G}from"./MainPane-Bke4JEHC.js";import{F as J}from"./folder-open-D7a4t258.js";import"./cloud-upload-Cc_ZQEAm.js";import"./square-pen-LHr8bFfZ.js";import"./arrow-up-right-Cx2xjktp.js";import"./square-B00f_944.js";const Q="application/vnd.openxmlformats-officedocument.wordprocessingml.document",Z="application/vnd.openxmlformats-officedocument.presentationml.presentation",tt="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";function x(t){const s=t.contentType.toLowerCase(),o=t.title.toLowerCase();return s===Q||o.endsWith(".docx")?{label:"Document",type:"document"}:s==="application/pdf"||o.endsWith(".pdf")?{label:"PDF",type:"pdf"}:s===Z||o.endsWith(".pptx")?{label:"Presentation",type:"presentation"}:s===tt||s==="text/csv"||s==="text/tab-separated-values"||o.endsWith(".xlsx")||o.endsWith(".csv")||o.endsWith(".tsv")?{label:"Table",type:"table"}:s==="text/html"||o.endsWith(".html")?{label:"HTML",type:"html"}:s==="application/json"||s==="text/markdown"||s==="text/plain"?{label:"Text",type:"text"}:s.startsWith("image/")?{label:"Image",type:"image"}:s.startsWith("audio/")?{label:"Audio",type:"audio"}:s.startsWith("video/")?{label:"Video",type:"video"}:{label:"File",type:"file"}}function et(t){return[...t].sort((s,o)=>P(o.createdAt)-P(s.createdAt)||o.revision-s.revision)}function P(t){const s=new Date(t).getTime();return Number.isNaN(s)?0:s}const st=15e3,h=new Map;function nt(t){const s=i.useMemo(()=>t?_(t):null,[t]),o=s?L(s):null,[a,r]=i.useState(o??[]),[j,f]=i.useState(!!t&&!o),[b,d]=i.useState(null);return i.useEffect(()=>{let p=!1;if(!t||!s){r([]),f(!1),d(null);return}const m=L(s);return r(m??[]),f(!m),d(null),ot(t).then(l=>{p||r(l)}).catch(l=>{p||d(rt(l))}).finally(()=>{p||f(!1)}),()=>{p=!0}},[s,t]),{error:b,loading:j,outputs:a}}function L(t){const s=h.get(t);return s&&s.refreshedAt>0?s.outputs:null}function ot(t){const s=_(t),o=h.get(s);if(o?.request)return o.request;if(o&&o.refreshedAt>0&&Date.now()-o.refreshedAt<st)return Promise.resolve(o.outputs);const a=W.workOutputs(t).then(r=>et(r.outputs)).then(r=>(h.set(s,{outputs:r,refreshedAt:Date.now(),request:null}),r)).catch(r=>{throw o?h.set(s,{...o,request:null}):h.delete(s),r});return h.set(s,{outputs:o?.outputs??[],refreshedAt:o?.refreshedAt??0,request:a}),a}function _(t){return`${t.serverUrl}\0${t.token}`}function rt(t){return t instanceof Error?t.message:"Could not load Work outputs."}const v="all",at=new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"});function gt({connection:t,onViewChat:s}){const{error:o,loading:a,outputs:r}=nt(t),[j,f]=i.useState(v),[b,d]=i.useState(null),[p,m]=i.useState(null),[l,T]=i.useState(null);i.useEffect(()=>()=>{l?.objectUrl&&URL.revokeObjectURL(l.objectUrl)},[l?.objectUrl]);const k=i.useMemo(()=>Array.from(new Set(r.map(n=>x(n).label))).sort((n,u)=>n.localeCompare(u)),[r]),y=k.includes(j)?j:v,w=i.useMemo(()=>y===v?r:r.filter(n=>x(n).label===y),[y,r]);async function I(n){if(!t)return;const u=S(n);m(u),d(null);try{const c=await W.workspaceTool(t,n.sourceTaskId,{action:"work_output_read",source:"ui_button",args:{outputId:n.id,revision:n.revision}});if(!c.ok)throw new Error(c.output);const F=pt(c.data),O=typeof F.contentsBase64=="string"?F.contentsBase64:"";if(!O)throw new Error("The output did not include file data.");const N=new File([dt(O)],n.title,{type:n.contentType}),U=x(n),E=U.type==="text"||U.type==="html";l?.objectUrl&&URL.revokeObjectURL(l.objectUrl),T({file:N,objectUrl:E?null:URL.createObjectURL(N),output:n,text:E?await N.text():null})}catch(c){d(ht(c))}finally{m(null)}}async function C(n){if(n.location.kind!=="local")return;const u=await M(n.location.path,n.title);!u.ok&&!u.canceled&&d("Could not save a copy of the Work output.")}return e.jsxs("section",{"aria-label":"Outputs",className:`outputs-view${l?" detail-open":""}`,children:[e.jsx("div",{className:"outputs-scroll",children:e.jsxs("div",{className:"outputs-content",children:[r.length>0?e.jsx("header",{className:"outputs-header",children:e.jsx("label",{className:"outputs-filter",children:e.jsxs("select",{"aria-label":"Filter outputs by file type",onChange:n=>f(n.target.value),value:y,children:[e.jsx("option",{value:v,children:"All file types"}),k.map(n=>e.jsx("option",{value:n,children:n},n))]})})}):null,o||b?e.jsx("p",{className:"outputs-error",children:b??o}):null,t?a&&r.length===0?e.jsxs("div",{className:"outputs-loading",role:"status",children:[e.jsx(A,{className:"outputs-spin",size:16}),e.jsx("span",{children:"Loading outputs"})]}):r.length===0?e.jsx(g,{children:"Files created in Work will appear here."}):w.length===0?e.jsx(g,{children:"No outputs match this file type."}):e.jsx("div",{className:"outputs-grid","data-testid":"desktop-output-cards",children:w.map(n=>{const u=x(n),c=S(n);return e.jsxs("article",{className:"output-card",children:[e.jsxs("button",{"aria-label":`Preview ${n.title}`,className:"output-card-main",disabled:p===c,onClick:()=>{I(n)},type:"button",children:[e.jsx("span",{className:"output-card-icon",children:e.jsx($,{type:u.type})}),e.jsxs("span",{className:"output-card-copy",children:[e.jsx("strong",{children:n.title}),e.jsxs("small",{children:[u.label," · ",ut(n.sizeBytes)]}),e.jsxs("small",{children:["Revision ",n.revision," ·"," ",e.jsx("time",{dateTime:n.createdAt,children:ct(n.createdAt)})]})]}),p===c?e.jsx(A,{className:"outputs-spin",size:15}):null]}),e.jsxs("div",{className:"output-card-actions",children:[n.location.kind==="local"?e.jsx("button",{"aria-label":`Download ${n.title}`,className:"output-download-button",onClick:()=>{C(n)},title:"Download",type:"button",children:e.jsx(D,{"aria-hidden":"true",size:14})}):null,e.jsx("button",{onClick:()=>s(n.sourceTaskId),type:"button",children:"View chat"})]})]},c)})}):e.jsx(g,{children:"Connect to the local OpenPond server to view outputs."})]})}),l?e.jsx(lt,{onClose:()=>T(null),onSave:()=>{C(l.output)},onViewChat:()=>s(l.output.sourceTaskId),preview:l}):null]})}function lt({onClose:t,onSave:s,onViewChat:o,preview:a}){const r=x(a.output);return e.jsxs("aside",{"aria-label":`${a.output.title} preview`,className:"output-detail",children:[e.jsxs("header",{className:"output-detail-header",children:[e.jsxs("div",{children:[e.jsx("h2",{children:a.output.title}),e.jsxs("p",{children:[r.label," · Revision ",a.output.revision]})]}),e.jsx("button",{"aria-label":"Close output preview",onClick:t,type:"button",children:e.jsx(B,{size:16})})]}),e.jsx("div",{className:"output-preview-surface",children:a.text!==null?r.type==="html"?e.jsx("iframe",{sandbox:"",srcDoc:a.text,title:a.output.title}):e.jsx("pre",{children:a.text}):r.type==="image"&&a.objectUrl?e.jsx("img",{alt:a.output.title,src:a.objectUrl}):r.type==="pdf"&&a.objectUrl?e.jsx("iframe",{src:a.objectUrl,title:a.output.title}):r.type==="audio"&&a.objectUrl?e.jsx("audio",{controls:!0,src:a.objectUrl}):r.type==="video"&&a.objectUrl?e.jsx("video",{controls:!0,src:a.objectUrl}):e.jsxs("div",{className:"output-native-preview",children:[e.jsx($,{type:r.type}),e.jsx("p",{children:"This file type uses its native application for detailed review."})]})}),e.jsxs("div",{className:"output-detail-actions",children:[a.output.location.kind==="local"?e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>{z(a.output.location.kind==="local"?a.output.location.path:"")},type:"button",children:[e.jsx(J,{size:14}),"Reveal"]}),e.jsx("button",{"aria-label":`Download ${a.output.title}`,className:"output-download-button",onClick:s,title:"Download",type:"button",children:e.jsx(D,{"aria-hidden":"true",size:14})})]}):null,e.jsx("button",{onClick:o,type:"button",children:"View chat"})]})]})}function $({type:t}){const s=it(t);return e.jsx(s,{"aria-hidden":"true",size:18})}function it(t){return t==="audio"?q:t==="html"||t==="text"?K:t==="image"?H:t==="presentation"?Y:t==="table"?V:t==="video"?G:t==="file"?X:R}function g({children:t}){return e.jsx("p",{className:"outputs-empty",children:t})}function S(t){return`${t.sourceTaskId}:${t.id}:${t.revision}`}function ut(t){return t<1e3?`${t} B`:t<1e6?`${(t/1e3).toFixed(1)} KB`:`${(t/1e6).toFixed(1)} MB`}function ct(t){const s=new Date(t);return Number.isNaN(s.getTime())?"Unknown date":at.format(s)}function dt(t){const s=window.atob(t),o=new ArrayBuffer(s.length),a=new Uint8Array(o);for(let r=0;r<s.length;r+=1)a[r]=s.charCodeAt(r);return o}function pt(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function ht(t){return t instanceof Error?t.message:"Could not load Work outputs."}export{gt as OutputsPage};
@@ -1 +0,0 @@
1
- import{r,an as ke,j as s,bW as ve,ab as we,ac as xe,ag as Re,ad as ye,X as je,P as Pe,a1 as Ae}from"./index-Ure41UF0.js";import{F as ue}from"./folder-open-D7a4t258.js";import{u as Ce,T as Te,M as Ie}from"./Messages-Bae_sFx5.js";import{s as Me,c as Ne,A as De,d as Ee}from"./MainPane-Bke4JEHC.js";import"./chevron-up-UF_r7JHT.js";import"./MarkdownText-DTBS9xe7.js";import"./arrow-up-right-Cx2xjktp.js";import"./git-branch-CaVUghsI.js";import"./circle-alert-BUHAQ7Du.js";import"./play-CjWTsI9z.js";import"./square-pen-LHr8bFfZ.js";import"./cloud-upload-Cc_ZQEAm.js";import"./square-B00f_944.js";function Se({panel:e,actionCatalog:w,createImproveActions:x,initialScrollState:p,codexPermissionMode:E,codexReasoningEffort:S,openPondCommandAccessMode:R,connection:y,connectedAppMentions:F,mentionApps:B,codexPersonalSkills:L,profileSkills:$,profileTarget:j,projectTarget:O,providerSettings:H,accountBaseUrl:q,billingOrganizationSlug:z,billingTeamId:K,showToast:V,workspaceTarget:W,onCodexPermissionModeChange:U,onCodexReasoningEffortChange:Q,onOpenPondCommandAccessModeChange:P,onModelChange:X,onOpenAttachmentInSidebar:_,onOpenFileInSidebar:G,onOpenProfileSettings:J,onOpenSession:Y,onProviderChange:Z,onProviderSetupOpen:ee,onPromptChange:te,onProfileTargetChange:se,onScrollStateChange:ie,onProjectTargetChange:oe,onResolveApproval:re,onShowBrowserPanel:A,onStop:ne,onSubmit:g,onWorkspaceTargetChange:ae}){const b=r.useRef(null),l=r.useRef(p?.stickyToBottom??!0),C=r.useRef(!1),k=e.running&&!e.pendingApproval&&Me(e.messages),ce=r.useMemo(()=>e.createImproveRun?{...x,run:e.createImproveRun}:null,[x,e.createImproveRun]),T=r.useMemo(()=>Ne(e.messages,{showThinkingIndicator:k}),[e.messages,k]),h=Ce(e.messages,e.sessionId??`draft:${e.id}`),u=e.messages.at(-1),de=[e.id,e.sessionId??"draft",T.length,u?.id??"",u?.content?.length??0,u?.timestamp??"",k?"thinking":""].join(":");r.useLayoutEffect(()=>{const i=b.current;if(i){if(!C.current){C.current=!0,i.scrollTop=p?.stickyToBottom?i.scrollHeight:p?.scrollTop??0;return}l.current&&(i.scrollTop=i.scrollHeight)}},[de,p]),r.useLayoutEffect(()=>{const i=b.current;if(!i||typeof MutationObserver>"u")return;l.current&&(i.scrollTop=i.scrollHeight);const c=new MutationObserver(()=>{l.current&&(i.scrollTop=i.scrollHeight)});return c.observe(i,{childList:!0,characterData:!0,subtree:!0}),()=>c.disconnect()},[e.id]);const I=r.useCallback((i,c)=>{const m=e.sessionId??`side-chat:${e.id}`;ke({conversationId:m,href:i,explicitFile:c?.explicitFile,newTab:c?.newTab}).then(a=>{a&&A()})},[A,e.id,e.sessionId]),M=r.useCallback(async(i,c)=>{const m=c.action==="answer"?c.text:"Dismiss this question";if(!await g([],null,null,{displayPrompt:m,promptOverride:m,turnMetadata:{userQuestionResolution:c}}))throw new Error("The question response could not be sent.")},[g]);return s.jsxs("section",{className:`right-chat-pane ${e.pendingApproval?"has-approval":""}`,id:`right-chat-panel-${e.id}`,role:"tabpanel","aria-labelledby":`right-chat-tab-${e.id}`,children:[s.jsx("div",{className:"chat-thread right-chat-thread",ref:b,onScroll:i=>{const c=i.currentTarget;l.current=c.scrollHeight-c.scrollTop-c.clientHeight<=72,ie({scrollTop:c.scrollTop,stickyToBottom:l.current})},children:T.map(i=>i.type==="thinking"?s.jsx(Te,{},i.id):s.jsx(Ie,{activeWorkspaceAppId:e.activeWorkspaceAppId,accountBaseUrl:q,billingOrganizationSlug:z,billingTeamId:K,connection:y,animateInitialContent:i.message.role==="assistant"&&h.has(i.message.id),message:i.message,onOpenBrowserLink:I,onOpenAttachmentInSidebar:_,onOpenFileInSidebar:G,onOpenProfileSettings:J,onResolveUserQuestion:M,onOpenSession:Y,userAttachmentDisplay:e.provider==="codex"?"compact":"full",workspaceRootPath:e.workspaceRootPath,showFooter:i.showFooter},i.id))}),s.jsxs("div",{className:`composer-stack dock right-chat-composer ${e.pendingApproval?"has-approval":""}`,children:[s.jsx(De,{approval:e.pendingApproval,onResolve:re}),s.jsx(Ee,{mode:"dock",prompt:e.prompt,mentionApps:B,connectedAppMentions:F,profileSkills:e.provider==="codex"?L:$,profileTarget:e.provider==="codex"?null:j,selectedMentionAppId:null,contextWindowStatus:e.contextWindowStatus,goalRuntime:e.goalRuntime,createImproveRuntime:ce,busy:e.running,running:e.running,submissionScopeKey:e.sessionId??e.id,steerAutoDispatchBlocked:e.steerAutoDispatchBlocked,steerAutoDispatchReady:e.steerAutoDispatchReady,showProjectFooter:!1,connection:y,providerSettings:H,provider:e.provider,model:e.model,projectTarget:O,actionCatalog:w,workspaceTarget:W,codexPermissionMode:E,codexReasoningEffort:S,openPondCommandAccessMode:e.provider==="codex"?R:e.session?.openPondCommandAccessMode??R,onProviderChange:Z,onProviderSetupOpen:ee,onProjectTargetChange:oe,onWorkspaceTargetChange:ae,onModelChange:X,onCodexPermissionModeChange:U,onCodexReasoningEffortChange:Q,onOpenPondCommandAccessModeChange:P,onPromptChange:te,onProfileTargetChange:se,onMentionAppSelect:void 0,showToast:V,onSubmit:g,onStop:ne})]})]})}function Xe({panels:e,actionCatalog:w=[],createImproveActions:x,busy:p,codexPermissionMode:E,codexReasoningEffort:S,openPondCommandAccessMode:R,connection:y,connectedAppMentions:F,mentionApps:B,codexPersonalSkills:L,profileSkills:$=[],profileLibrary:j={lastUsed:null,profiles:[]},extensionCatalog:O,projectTarget:H,providerSettings:q,accountBaseUrl:z,billingOrganizationSlug:K,billingTeamId:V,showToast:W,workspaceTarget:U,onAddChat:Q,onActivatePanel:P,onClosePanel:X,onCodexPermissionModeChange:_,onCodexReasoningEffortChange:G,onOpenPondCommandAccessModeChange:J,onModelChange:Y,onOpenAttachmentInSidebar:Z,onOpenFileInSidebar:ee,onOpenProfileSettings:te,onOpenSession:se,onProviderChange:ie,onProviderSetupOpen:oe,onPromptChange:re,onProfileTargetChange:A,onScrollStateChange:ne,onProjectTargetChange:g,onResolveApproval:ae,onResizeStart:b,onSelectFiles:l,onShowBrowserPanel:C,onStop:k,onSubmit:ce,onWorkspaceTargetChange:T}){const[h,u]=r.useState(!1),[de,I]=r.useState(()=>ve(e)?.id??null),M=r.useRef(null),i=r.useRef(new Map),c=r.useRef(new Set(e.map(t=>t.id))),m=r.useRef(new Map(e.map(t=>[t.id,t.activationVersion]))),a=e.find(t=>t.id===de)??e.at(-1)??null,fe=a?.session?.currentProfile??j.lastUsed,N=we(j,fe),he=N?xe(N,O):$,me=N?[...w.filter(t=>!Re(t)),...ye(N)]:w;r.useEffect(()=>{const t=c.current,d=m.current;let n=null,f=null;for(const o of e)t.has(o.id)||(n=o),t.has(o.id)&&o.activationVersion>(d.get(o.id)??0)&&(f=o);c.current=new Set(e.map(o=>o.id)),m.current=new Map(e.map(o=>[o.id,o.activationVersion])),I(o=>f?f.id:n?n.id:o&&e.some(D=>D.id===o)?o:e.at(-1)?.id??null)},[e]),r.useEffect(()=>{if(!h)return;function t(n){M.current?.contains(n.target)||u(!1)}function d(n){n.key==="Escape"&&u(!1)}return document.addEventListener("pointerdown",t),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",d)}},[h]);const v=r.useCallback((t,d=!1)=>{I(t),P(t),d&&window.requestAnimationFrame(()=>i.current.get(t)?.focus())},[P]),le=r.useCallback((t=!1)=>{l(),t&&window.requestAnimationFrame(()=>{document.getElementById("right-sidebar-files-tab")?.focus()})},[l]),pe=r.useCallback((t,d)=>{const n=e.findIndex(be=>be.id===d);if(n<0)return;const f=n+1;let o=null;if(t.key==="ArrowRight"&&(o=(f+1)%(e.length+1)),t.key==="ArrowLeft"&&(o=(f-1+e.length+1)%(e.length+1)),t.key==="Home"&&(o=0),t.key==="End"&&(o=e.length),o===null)return;if(t.preventDefault(),o===0){le(!0);return}const D=e[o-1];D&&v(D.id,!0)},[e,le,v]),ge=r.useCallback(t=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(t.key)||(t.preventDefault(),t.key==="Home"))return;const d=t.key==="ArrowLeft"||t.key==="End"?e.at(-1):e[0];d&&v(d.id,!0)},[e,v]);return s.jsxs("aside",{className:"workspace-diff-panel right-chat-panel-stack","aria-label":"Side chats",children:[s.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize side chat panel",onPointerDown:b}),s.jsx("div",{className:"workspace-diff-topbar right-chat-topbar",children:s.jsxs("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Right sidebar views",children:[s.jsxs("button",{type:"button",className:"workspace-diff-tab",role:"tab",id:"right-sidebar-files-tab","aria-controls":"right-sidebar-files-panel","aria-selected":!1,tabIndex:-1,onClick:()=>le(!1),onKeyDown:ge,children:[s.jsx(ue,{size:14}),s.jsx("span",{children:"Files"})]}),e.map(t=>{const d=t.id===a?.id;return s.jsxs("div",{className:`workspace-diff-tab right-chat-tab ${d?"active":""}`,children:[s.jsxs("button",{type:"button",className:"workspace-diff-tab-main",role:"tab",id:`right-chat-tab-${t.id}`,"aria-controls":`right-chat-panel-${t.id}`,"aria-selected":d,tabIndex:d?0:-1,title:t.title,ref:n=>{n?i.current.set(t.id,n):i.current.delete(t.id)},onClick:()=>v(t.id),onKeyDown:n=>pe(n,t.id),children:[t.running?s.jsx("span",{className:"right-chat-status-dot","aria-label":"Running"}):null,s.jsx("span",{children:t.title})]}),s.jsx("button",{type:"button",className:"workspace-diff-tab-close",title:`Close ${t.title}`,"aria-label":`Close ${t.title}`,onClick:n=>{n.stopPropagation(),X(t.id)},children:s.jsx(je,{size:12})})]},t.id)}),s.jsxs("div",{className:"workspace-diff-add-anchor",ref:M,children:[s.jsx("button",{type:"button",className:`workspace-diff-add-tab ${h?"active":""}`,title:"Add to right sidebar","aria-label":"Add to right sidebar","aria-haspopup":"menu","aria-expanded":h,onClick:()=>u(t=>!t),children:s.jsx(Pe,{size:15})}),h?s.jsxs("div",{className:"workspace-diff-add-menu right-chat-add-popover",role:"menu",children:[s.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{u(!1),Q()},children:[s.jsx(Ae,{size:13}),s.jsx("span",{children:"New task"})]}),s.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{u(!1),l()},children:[s.jsx(ue,{size:13}),s.jsx("span",{children:"Files"})]})]}):null]})]})}),s.jsx("div",{className:"right-chat-stack-body panes-1",children:a?s.jsx(Se,{busy:p,createImproveActions:x,codexPermissionMode:E,codexReasoningEffort:S,openPondCommandAccessMode:R,connection:y,connectedAppMentions:F,actionCatalog:me,mentionApps:B,codexPersonalSkills:L,profileSkills:he,profileTarget:null,panel:a,initialScrollState:{scrollTop:a.scrollTop,stickyToBottom:a.stickyToBottom},projectTarget:H,providerSettings:q,accountBaseUrl:z,billingOrganizationSlug:K,billingTeamId:V,showToast:W,workspaceTarget:U,onCodexPermissionModeChange:_,onCodexReasoningEffortChange:G,onOpenPondCommandAccessModeChange:t=>J(t,a.session),onModelChange:t=>Y(a.id,t),onOpenAttachmentInSidebar:Z,onOpenFileInSidebar:ee,onOpenProfileSettings:te,onOpenSession:se,onProviderChange:t=>ie(a.id,t),onProviderSetupOpen:oe,onPromptChange:t=>re(a.id,t),onProfileTargetChange:t=>A(a.sessionId,t),onScrollStateChange:t=>ne(a.id,t),onProjectTargetChange:g,onResolveApproval:ae,onShowBrowserPanel:C,onStop:()=>k(a.sessionId),onSubmit:(t,d,n,f)=>ce(a.id,t,d,n,f),onWorkspaceTargetChange:T},a.id):null})]})}export{Xe as RightChatPanelStack};
@@ -1 +0,0 @@
1
- import{r as h,n as C,j as e,aN as le,bT as ae,$ as ie,X as de,b3 as q,au as U,bU as re}from"./index-Ure41UF0.js";import{u as ce,R as K}from"./useLocalAgentSchedules-BUkZjV9E.js";import{M as oe,T as ue,P as B}from"./MarkdownText-DTBS9xe7.js";import{P as X}from"./play-CjWTsI9z.js";import{R as he}from"./refresh-cw-CeHT_tXT.js";import{S as me}from"./save-CmJ92Odx.js";const xe=3e4;function fe(s){const[n,t]=h.useState([]),[i,a]=h.useState([]),[d,p]=h.useState(null),[v,l]=h.useState(!1),[r,x]=h.useState(null),[N,f]=h.useState(()=>new Set);async function m(o,b){b&&l(!0);try{const j=await C.hostedSavedWork(o);t(j.definitions),a(j.runs),p(j.webBaseUrl??null),x(null)}catch(j){x(O(j))}finally{b&&l(!1)}}h.useEffect(()=>{if(!s){t([]),a([]),p(null),x(null),l(!1);return}let o=!1;const b=async k=>{if(!o){k&&l(!0);try{const S=await C.hostedSavedWork(s);if(o)return;t(S.definitions),a(S.runs),p(S.webBaseUrl??null),x(null)}catch(S){o||x(O(S))}finally{!o&&k&&l(!1)}}};b(!0);const j=window.setInterval(()=>{b(!1)},xe);return()=>{o=!0,window.clearInterval(j)}},[s]);async function y(){s&&await m(s,!0)}async function w(o){s&&(await C.createHostedSavedWork(s,o),await m(s,!1))}async function A(o,b){await R(o,async j=>{await C.updateHostedSavedWork(j,o,b)})}async function c(o){await R(o,async b=>{await C.deleteHostedSavedWork(b,o)})}async function P(o){await R(o,async b=>{await C.runHostedSavedWork(b,o,crypto.randomUUID())})}async function R(o,b){if(!(!s||N.has(o))){T(o,!0);try{await b(s),await m(s,!1)}catch(j){throw x(O(j)),j}finally{T(o,!1)}}}function T(o,b){f(j=>{const k=new Set(j);return b?k.add(o):k.delete(o),k})}return{create:w,definitions:n,error:r,loading:v,pendingScheduleIds:N,refresh:y,remove:c,run:P,runs:i,update:A,webBaseUrl:d}}function O(s){return s instanceof Error?s.message:String(s)}function $(s,n){if(!s)return"None";const t=new Date(s);if(!Number.isFinite(t.getTime()))return"None";try{return t.toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",...n?{timeZone:n,timeZoneName:"short"}:{}})}catch{return t.toLocaleString()}}function G(s){return M(s.replaceAll("_"," "))}function M(s){return s.replace(/^./,n=>n.toUpperCase())}function je({run:s}){const n=s.error||s.stderr||s.stdout;return e.jsxs("details",{className:"scheduled-run-row",children:[e.jsxs("summary",{children:[e.jsxs("span",{children:[e.jsx("strong",{children:G(s.status)}),e.jsx("small",{children:$(s.createdAt,null)})]}),e.jsx("span",{className:"scheduled-run-trigger",children:s.trigger==="manual"?"Manual":"Scheduled"})]}),n?e.jsx("pre",{children:n}):null]})}function pe({onOpen:s,run:n}){return e.jsxs("button",{className:"scheduled-run-row hosted",onClick:s,type:"button",children:[e.jsxs("span",{children:[e.jsx("strong",{children:G(n.status)}),e.jsx("small",{children:$(n.createdAt,null)})]}),e.jsxs("span",{className:"scheduled-run-trigger",children:[M(n.triggerKind)," ",e.jsx(q,{size:11})]}),n.deliveryError?e.jsx("p",{children:n.deliveryError}):null]})}function V({children:s,detailExpanded:n,label:t,onClose:i,onDetailResizeStart:a,onToggleDetailExpanded:d}){return e.jsxs("aside",{"aria-label":t,className:`workspace-diff-panel scheduled-detail${n?" expanded":""}`,children:[n?null:e.jsx("div",{"aria-label":"Resize schedule details","aria-orientation":"vertical",className:"workspace-diff-resize-handle",onPointerDown:a,role:"separator"}),e.jsxs("div",{className:"workspace-diff-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Schedule details",children:e.jsxs("button",{"aria-selected":"true",className:"workspace-diff-tab active",role:"tab",type:"button",children:[e.jsx(ae,{size:14}),e.jsx("span",{children:"Schedule"})]})}),e.jsxs("div",{className:"workspace-diff-toolbar-actions",children:[e.jsx("button",{"aria-label":n?"Dock schedule details":"Expand schedule details",className:"diff-icon-button",onClick:d,title:n?"Dock schedule details":"Expand schedule details",type:"button",children:n?e.jsx(oe,{size:14}):e.jsx(ie,{size:14})}),e.jsx("button",{"aria-label":"Close schedule details",className:"diff-icon-button",onClick:i,title:"Close schedule details",type:"button",children:e.jsx(de,{size:14})})]})]}),e.jsx("div",{className:"scheduled-detail-body",children:s})]})}function D({children:s,title:n}){return e.jsxs("section",{className:"scheduled-detail-section",children:[e.jsx("div",{className:"scheduled-detail-section-heading",children:e.jsx("h3",{children:n})}),s]})}function g({label:s,value:n}){return e.jsxs("div",{children:[e.jsx("dt",{children:s}),e.jsx("dd",{children:n})]})}function I({children:s}){return e.jsx("p",{className:"scheduled-empty",children:s})}function J({label:s}){return e.jsxs("div",{className:"scheduled-loading",role:"status",children:[e.jsx(le,{className:"scheduled-spin",size:16}),e.jsx("span",{children:s})]})}const be=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function Ie({connection:s,detailExpanded:n,onDetailResizeStart:t,onToggleDetailExpanded:i}){const a=fe(s),d=ce(s),[p,v]=h.useState("all"),[l,r]=h.useState(null),x=h.useMemo(()=>ge(a.definitions),[a.definitions]),N=h.useMemo(()=>ke(x,p),[p,x]),f=h.useMemo(()=>we(d.schedules,p),[p,d.schedules]),m=x.find(c=>L(c.schedule.id)===l)??null,y=d.schedules.find(c=>z(c.id)===l)??null,w=m?a.runs.filter(c=>c.scheduleId===m.schedule.id):[],A=h.useMemo(()=>Re(f,N),[f,N]);return U(a.error,{prefix:"Scheduled Work"}),U(d.error,{prefix:"Local schedules"}),h.useEffect(()=>{l&&!m&&!y&&r(null)},[m,y,l]),e.jsxs("section",{"aria-label":"Scheduled work",className:`scheduled-work-view${m||y?" detail-open":""}${n?" detail-expanded":""}`,children:[e.jsx("div",{className:"scheduled-work-scroll",children:e.jsxs("div",{className:"scheduled-work-content",children:[e.jsx("header",{className:"scheduled-work-header",children:e.jsxs("div",{className:"scheduled-work-header-actions",children:[e.jsx("button",{"aria-label":"Refresh schedules",className:"scheduled-icon-button",disabled:!s||a.loading||d.loading,onClick:()=>{Promise.all([a.refresh(),d.refresh()])},title:"Refresh schedules",type:"button",children:e.jsx(he,{className:a.loading||d.loading?"scheduled-spin":void 0,size:16})}),e.jsxs("label",{className:"scheduled-filter",title:"Filter schedules",children:[e.jsx(re,{"aria-hidden":"true",size:16}),e.jsxs("select",{"aria-label":"Schedule filter",onChange:c=>v(c.target.value),value:p,children:[e.jsx("option",{value:"active",children:"Active"}),e.jsx("option",{value:"paused",children:"Paused"}),e.jsx("option",{value:"all",children:"All"})]})]})]})}),e.jsx("section",{"aria-busy":a.loading||d.loading,className:"scheduled-list",children:s?(a.loading||d.loading)&&x.length===0&&d.schedules.length===0?e.jsx(J,{label:"Loading schedules"}):a.error&&d.error&&x.length===0&&d.schedules.length===0?e.jsx(I,{children:"Schedules are unavailable. Refresh to try again."}):A.length===0?e.jsx(I,{children:"Create a scheduled task here or ask for one in Work."}):e.jsx("div",{className:"scheduled-list-rows",children:A.map(c=>c.kind==="local"?e.jsx(ve,{onSelect:()=>r(z(c.schedule.id)),schedule:c.schedule,selected:l===z(c.schedule.id)},z(c.schedule.id)):e.jsx(ye,{onSelect:()=>r(L(c.row.schedule.id)),row:c.row,selected:l===L(c.row.schedule.id)},L(c.row.schedule.id)))}):e.jsx(I,{children:"Connect to OpenPond to view scheduled Work."})})]})}),m?e.jsx(Se,{onClose:()=>r(null),onDelete:async()=>{await a.remove(m.schedule.id),r(null)},onRun:()=>a.run(m.schedule.id),onSave:c=>a.update(m.schedule.id,c),onToggle:()=>a.update(m.schedule.id,{enabled:!m.schedule.enabled}),pending:a.pendingScheduleIds.has(m.schedule.id),row:m,runs:w,detailExpanded:n,onDetailResizeStart:t,onToggleDetailExpanded:i,webBaseUrl:a.webBaseUrl},`${m.schedule.id}:${m.definition.version}:${m.schedule.configurationVersion}`):y?e.jsx(Ne,{connection:s,onClose:()=>r(null),onRun:()=>d.run(y),onToggle:()=>d.toggle(y),pending:d.pendingScheduleIds.has(y.id),schedule:y,detailExpanded:n,onDetailResizeStart:t,onToggleDetailExpanded:i},y.id):null]})}function ve({onSelect:s,schedule:n,selected:t}){return e.jsxs("button",{"aria-current":t?"true":void 0,className:"scheduled-list-row",onClick:s,type:"button",children:[e.jsx("span",{className:`scheduled-status-dot ${n.enabled?"active":"paused"}`}),e.jsxs("span",{className:"scheduled-list-copy",children:[e.jsx("span",{className:"scheduled-list-title",children:e.jsx("strong",{children:n.scheduleName})}),e.jsx("span",{children:n.localProjectName}),e.jsxs("small",{children:[Y(n),n.nextRunAt?` · Next ${$(n.nextRunAt,n.timezone)}`:" · No next run"]})]})]})}function ye({onSelect:s,row:n,selected:t}){return e.jsxs("button",{"aria-current":t?"true":void 0,className:"scheduled-list-row",onClick:s,type:"button",children:[e.jsx("span",{className:`scheduled-status-dot ${n.schedule.enabled?"active":"paused"}`}),e.jsxs("span",{className:"scheduled-list-copy",children:[e.jsxs("span",{className:"scheduled-list-title",children:[e.jsx("strong",{children:n.definition.name}),e.jsx("small",{className:"scheduled-environment-badge hosted",children:"Hosted"})]}),e.jsx("span",{children:n.definition.prompt}),e.jsxs("small",{children:[Ce(n.schedule),n.schedule.nextRunAt?` · Next ${$(n.schedule.nextRunAt,n.schedule.timeZone)}`:" · No next run"]})]})]})}function Ne({connection:s,detailExpanded:n,onClose:t,onDetailResizeStart:i,onRun:a,onToggleDetailExpanded:d,onToggle:p,pending:v,schedule:l}){const r=De(s,l.id);return U(r.error,{prefix:"Local schedule runs"}),e.jsxs(V,{detailExpanded:n,label:`${l.scheduleName} details`,onClose:t,onDetailResizeStart:i,onToggleDetailExpanded:d,children:[e.jsx("div",{className:"scheduled-detail-header",children:e.jsxs("div",{children:[e.jsxs("div",{className:"scheduled-detail-title-row",children:[e.jsx("h2",{children:"Schedule details"}),e.jsx("span",{children:l.enabled?"Active":"Paused"})]}),e.jsx("p",{children:l.scheduleName})]})}),e.jsxs(D,{title:"Task",children:[e.jsxs("dl",{className:"scheduled-detail-fields",children:[e.jsx(g,{label:"Environment",value:"Local"}),e.jsx(g,{label:"Project",value:l.localProjectName}),e.jsx(g,{label:"Agent",value:l.agentName}),e.jsx(g,{label:"Action",value:l.targetAction})]}),e.jsx("pre",{className:"scheduled-prompt",children:Ae(l)})]}),e.jsxs(D,{title:"Schedule",children:[e.jsxs("dl",{className:"scheduled-detail-fields",children:[e.jsx(g,{label:"Cadence",value:Y(l)}),e.jsx(g,{label:"Expression",value:l.scheduleExpression}),e.jsx(g,{label:"Timezone",value:l.timezone??"Local time"}),e.jsx(g,{label:"Next run",value:$(l.nextRunAt,l.timezone)}),e.jsx(g,{label:"Last run",value:$(l.lastRunAt,l.timezone)})]}),l.lastError?e.jsx("p",{className:"scheduled-detail-error",children:l.lastError}):null]}),e.jsxs("div",{className:"scheduled-detail-actions",children:[e.jsxs("button",{disabled:v,onClick:()=>{a()},type:"button",children:[e.jsx(K,{size:15}),e.jsx("span",{children:"Run now"})]}),e.jsxs("button",{disabled:v,onClick:()=>{p()},type:"button",children:[l.enabled?e.jsx(B,{size:15}):e.jsx(X,{size:15}),e.jsx("span",{children:l.enabled?"Pause":"Resume"})]})]}),e.jsx(D,{title:"Runs",children:r.loading&&r.runs.length===0?e.jsx(J,{label:"Loading runs"}):r.runs.length===0?e.jsx("p",{className:"scheduled-no-runs",children:"No runs yet."}):e.jsx("div",{className:"scheduled-run-list",children:r.runs.map(x=>e.jsx(je,{run:x},x.id))})})]})}function Se({detailExpanded:s,onClose:n,onDelete:t,onDetailResizeStart:i,onRun:a,onSave:d,onToggleDetailExpanded:p,onToggle:v,pending:l,row:r,runs:x,webBaseUrl:N}){const f=$e(r.schedule),[m,y]=h.useState(r.definition.name),[w,A]=h.useState(r.definition.prompt),[c,P]=h.useState(f.kind),[R,T]=h.useState(f.timeZone),[o,b]=h.useState(f.startDate),[j,k]=h.useState(f.localTime),[S,ee]=h.useState(f.weekdays?.[0]??"monday"),[W,se]=h.useState(f.dayOfMonth??1),F=x[0]?.conversationId??null,Z=N?H(N,F):null,ne=m!==r.definition.name||w!==r.definition.prompt||c!==f.kind||R!==f.timeZone||o!==f.startDate||j!==f.localTime||S!==(f.weekdays?.[0]??"monday")||W!==(f.dayOfMonth??1);async function te(u){u.preventDefault(),await d({name:m,prompt:w,recurrence:{version:1,kind:c,timeZone:R,startDate:o,localTime:j,end:{kind:"never"},...c==="weekly"?{weekdays:[S]}:{},...c==="monthly"?{dayOfMonth:W}:{}}})}return e.jsx(V,{detailExpanded:s,label:`${r.definition.name} details`,onClose:n,onDetailResizeStart:i,onToggleDetailExpanded:p,children:e.jsxs("form",{onSubmit:te,children:[e.jsxs("div",{className:"scheduled-detail-header",children:[e.jsx("div",{children:e.jsxs("div",{className:"scheduled-detail-title-row",children:[e.jsx("h2",{children:"Schedule details"}),e.jsx("span",{children:r.schedule.enabled?"Active":"Paused"})]})}),e.jsx("div",{className:"scheduled-detail-header-controls",children:e.jsx("button",{"aria-label":"Delete schedule",className:"scheduled-icon-button",disabled:l,onClick:()=>{t()},title:"Delete schedule",type:"button",children:e.jsx(ue,{size:16})})})]}),e.jsxs(D,{title:"Task",children:[e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Name"}),e.jsx("input",{maxLength:180,onChange:u=>y(u.target.value),required:!0,value:m})]}),e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Prompt"}),e.jsx("textarea",{onChange:u=>A(u.target.value),required:!0,value:w})]})]}),e.jsxs(D,{title:"Schedule",children:[e.jsxs("div",{className:"scheduled-field-grid",children:[e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Repeat"}),e.jsxs("select",{onChange:u=>P(u.target.value),value:c,children:[e.jsx("option",{value:"once",children:"Once"}),e.jsx("option",{value:"daily",children:"Daily"}),e.jsx("option",{value:"weekdays",children:"Weekdays"}),e.jsx("option",{value:"weekly",children:"Weekly"}),e.jsx("option",{value:"monthly",children:"Monthly"})]})]}),c==="weekly"?e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Day"}),e.jsx("select",{onChange:u=>ee(u.target.value),value:S,children:be.map(u=>e.jsx("option",{value:u,children:M(u)},u))})]}):c==="monthly"?e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Day of month"}),e.jsx("input",{max:31,min:1,onChange:u=>se(Number(u.target.value)),type:"number",value:W})]}):null,e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Start date"}),e.jsx("input",{onChange:u=>b(u.target.value),required:!0,type:"date",value:o})]}),e.jsxs("label",{className:"scheduled-field",children:[e.jsx("span",{children:"Time"}),e.jsx("input",{onChange:u=>k(u.target.value),required:!0,type:"time",value:j})]}),e.jsxs("label",{className:"scheduled-field scheduled-field-wide",children:[e.jsx("span",{children:"Timezone"}),e.jsx("input",{onChange:u=>T(u.target.value),required:!0,value:R})]})]}),e.jsxs("p",{className:"scheduled-next-run",children:["Next run: ",$(r.schedule.nextRunAt,f.timeZone)]})]}),e.jsxs("div",{className:"scheduled-detail-actions",children:[ne?e.jsxs("button",{disabled:l,type:"submit",children:[e.jsx(me,{size:15}),e.jsx("span",{children:"Save"})]}):null,e.jsxs("button",{disabled:l,onClick:()=>{a()},type:"button",children:[e.jsx(K,{size:15}),e.jsx("span",{children:"Run now"})]}),e.jsxs("button",{disabled:l,onClick:()=>{v()},type:"button",children:[r.schedule.enabled?e.jsx(B,{size:15}):e.jsx(X,{size:15}),e.jsx("span",{children:r.schedule.enabled?"Pause":"Resume"})]})]}),e.jsxs("button",{className:"scheduled-open-chat",disabled:l||!Z,onClick:()=>{Z&&_(Z,F)},type:"button",children:[e.jsx("span",{children:"Open hosted chat"}),e.jsx(q,{size:14})]}),e.jsx(D,{title:"Runs",children:x.length===0?e.jsx("p",{className:"scheduled-no-runs",children:"No runs yet."}):e.jsx("div",{className:"scheduled-run-list",children:x.map(u=>e.jsx(pe,{onOpen:()=>{N&&_(H(N,u.conversationId),u.conversationId)},run:u},u.id))})})]})})}function ge(s){return s.flatMap(n=>n.schedules.map(t=>({definition:n,schedule:t})))}function ke(s,n){return s.filter(t=>n==="active"?t.schedule.enabled:n==="paused"?!t.schedule.enabled:!0).sort((t,i)=>E(t.schedule.nextRunAt)-E(i.schedule.nextRunAt)||t.definition.name.localeCompare(i.definition.name))}function we(s,n){return s.filter(t=>n==="active"?t.enabled:n==="paused"?!t.enabled:!0).sort((t,i)=>E(t.nextRunAt)-E(i.nextRunAt)||t.scheduleName.localeCompare(i.scheduleName))}function Re(s,n){return[...s.map(t=>({kind:"local",schedule:t})),...n.map(t=>({kind:"hosted",row:t}))].sort((t,i)=>{const a=E(t.kind==="local"?t.schedule.nextRunAt:t.row.schedule.nextRunAt),d=E(i.kind==="local"?i.schedule.nextRunAt:i.row.schedule.nextRunAt);if(a!==d)return a-d;const p=t.kind==="local"?t.schedule.scheduleName:t.row.definition.name,v=i.kind==="local"?i.schedule.scheduleName:i.row.definition.name;return p.localeCompare(v)})}function Ce(s){const n=s.recurrence;if(!n)return s.expression??"Manual";const t=Q(n.localTime);return n.kind==="once"?`Once on ${n.startDate} at ${t} · ${n.timeZone}`:n.kind==="weekdays"?`Weekdays at ${t} · ${n.timeZone}`:n.kind==="weekly"?`${n.weekdays?.map(M).join(", ")??"Weekly"} at ${t} · ${n.timeZone}`:n.kind==="monthly"?`Monthly on day ${n.dayOfMonth??1} at ${t} · ${n.timeZone}`:`Daily at ${t} · ${n.timeZone}`}function Y(s){const n=s.timezone?` · ${s.timezone}`:"";if(s.scheduleType==="rate")return`Every ${s.scheduleExpression}${n}`;const t=s.scheduleExpression.trim().split(/\s+/);if(t.length===5&&/^\d+$/.test(t[0])&&/^\d+$/.test(t[1])){const i=Q(`${t[1].padStart(2,"0")}:${t[0].padStart(2,"0")}`);if(t[2]==="*"&&t[3]==="*"&&t[4]==="*")return`Daily at ${i}${n}`;if(t[2]==="*"&&t[3]==="*"&&t[4]==="MON-FRI")return`Weekdays at ${i}${n}`}return`Cron ${s.scheduleExpression}${n}`}function $e(s){return s.recurrence??{version:1,kind:"daily",timeZone:s.timeZone||Te(),startDate:Ee(),localTime:"08:00",end:{kind:"never"}}}function Ae(s){const n=s.input.prompt;return typeof n=="string"&&n.trim()?n.trim():Object.keys(s.input).length>0?JSON.stringify(s.input,null,2):"No task input configured."}function De(s,n){const[t,i]=h.useState([]),[a,d]=h.useState(!1),[p,v]=h.useState(null);return h.useEffect(()=>{if(!s){i([]),d(!1),v(null);return}let l=!1;return d(!0),C.localAgentScheduleRuns(s,n,{limit:20}).then(r=>{l||(i(r.runs),v(null))}).catch(r=>{l||v(ze(r))}).finally(()=>{l||d(!1)}),()=>{l=!0}},[s,n]),{error:p,loading:a,runs:t}}function z(s){return`local:${s}`}function L(s){return`hosted:${s}`}function H(s,n){const t=new URL(s);return t.pathname=n?`/sandboxes/work/${encodeURIComponent(n)}`:"/sandboxes/work",t.search="",t.hash="",t.toString()}async function _(s,n){const t=window.openpond?.browser;t?.openExternal&&(await t.openExternal({conversationId:n??"hosted-scheduled-work",url:s})).ok||window.open(s,"_blank","noopener,noreferrer")}function Q(s){const[n="0",t="00"]=s.split(":");return new Date(2020,0,1,Number(n),Number(t)).toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}function E(s){if(!s)return Number.MAX_SAFE_INTEGER;const n=new Date(s).getTime();return Number.isFinite(n)?n:Number.MAX_SAFE_INTEGER}function Ee(){return new Date().toISOString().slice(0,10)}function Te(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}function ze(s){return s instanceof Error?s.message:String(s)}export{Ie as ScheduledWorkPage,Re as combineScheduleRows,we as filterAndSortLocalSchedules,ke as filterAndSortSchedules,$ as formatScheduledRunAt,H as hostedConversationUrl,Y as localScheduleCadence,Ce as scheduleCadence,ge as scheduledRows};